[qgis] 01/01: Imported Upstream version 2.18.2+dfsg

Bas Couwenberg sebastic at debian.org
Fri Dec 16 15:08:16 UTC 2016


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

sebastic pushed a commit to branch upstream
in repository qgis.

commit 28d6e620b1627ff04e3aeb4504846b3d90b4249c
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Fri Dec 16 16:02:56 2016 +0100

    Imported Upstream version 2.18.2+dfsg
---
 CMakeLists.txt                                     |     2 +-
 ChangeLog                                          |   211 +
 debian/changelog                                   |    10 +-
 doc/TRANSLATORS                                    |    76 +-
 i18n/qgis_de.ts                                    | 11493 +++++-----
 python/core/qgsexpression.sip                      |    52 +-
 python/core/qgsexpressionfieldbuffer.sip           |     2 +-
 python/core/qgsvectorfilewriter.sip                |    37 +-
 python/core/qgsvectorlayercache.sip                |     4 +-
 .../plugins/processing/algs/gdal/ogr2ogrbuffer.py  |     5 +-
 .../algs/grass7/description/v.buffer.distance.txt  |     4 +-
 .../processing/algs/saga/SagaAlgorithmProvider.py  |     4 +-
 python/plugins/processing/algs/saga/SagaUtils.py   |     7 +-
 .../plugins/processing/gui/AlgorithmDialogBase.py  |     1 -
 python/plugins/processing/gui/AlgorithmExecutor.py |     5 +-
 python/plugins/processing/gui/ConfigDialog.py      |    53 +-
 .../plugins/processing/modeler/ModelerAlgorithm.py |     5 +-
 python/plugins/processing/tools/dataobjects.py     |     3 +-
 src/app/CMakeLists.txt                             |    13 +-
 src/app/dwg/libdxfrw/CMakeLists.txt                |    82 +
 src/app/dwg/libdxfrw/drw_base.h                    |   542 +
 src/app/dwg/libdxfrw/drw_classes.cpp               |   139 +
 src/app/dwg/libdxfrw/drw_classes.h                 |    65 +
 src/app/dwg/libdxfrw/drw_entities.cpp              |  3876 ++++
 src/app/dwg/libdxfrw/drw_entities.h                |  1681 ++
 src/app/dwg/libdxfrw/drw_header.cpp                |  2761 +++
 src/app/dwg/libdxfrw/drw_header.h                  |   115 +
 src/app/dwg/libdxfrw/drw_interface.h               |   178 +
 src/app/dwg/libdxfrw/drw_objects.cpp               |  1478 ++
 src/app/dwg/libdxfrw/drw_objects.h                 |   779 +
 src/app/dwg/libdxfrw/intern/drw_cptable932.h       |  7815 +++++++
 src/app/dwg/libdxfrw/intern/drw_cptable936.h       | 21946 +++++++++++++++++++
 src/app/dwg/libdxfrw/intern/drw_cptable949.h       | 17202 +++++++++++++++
 src/app/dwg/libdxfrw/intern/drw_cptable950.h       | 13657 ++++++++++++
 src/app/dwg/libdxfrw/intern/drw_cptables.h         |  1340 ++
 src/app/dwg/libdxfrw/intern/drw_dbg.cpp            |   207 +
 src/app/dwg/libdxfrw/intern/drw_dbg.h              |    61 +
 src/app/dwg/libdxfrw/intern/drw_textcodec.cpp      |   675 +
 src/app/dwg/libdxfrw/intern/drw_textcodec.h        |   100 +
 src/app/dwg/libdxfrw/intern/dwgbuffer.cpp          |  1060 +
 src/app/dwg/libdxfrw/intern/dwgbuffer.h            |   161 +
 src/app/dwg/libdxfrw/intern/dwgreader.cpp          |  1584 ++
 src/app/dwg/libdxfrw/intern/dwgreader.h            |   223 +
 src/app/dwg/libdxfrw/intern/dwgreader15.cpp        |   231 +
 src/app/dwg/libdxfrw/intern/dwgreader15.h          |    50 +
 src/app/dwg/libdxfrw/intern/dwgreader18.cpp        |   825 +
 src/app/dwg/libdxfrw/intern/dwgreader18.h          |   109 +
 src/app/dwg/libdxfrw/intern/dwgreader21.cpp        |   657 +
 src/app/dwg/libdxfrw/intern/dwgreader21.h          |    70 +
 src/app/dwg/libdxfrw/intern/dwgreader24.cpp        |    46 +
 src/app/dwg/libdxfrw/intern/dwgreader24.h          |    60 +
 src/app/dwg/libdxfrw/intern/dwgreader27.cpp        |    47 +
 src/app/dwg/libdxfrw/intern/dwgreader27.h          |    59 +
 src/app/dwg/libdxfrw/intern/dwgutil.cpp            |   794 +
 src/app/dwg/libdxfrw/intern/dwgutil.h              |   104 +
 src/app/dwg/libdxfrw/intern/dxfreader.cpp          |   312 +
 src/app/dwg/libdxfrw/intern/dxfreader.h            |   112 +
 src/app/dwg/libdxfrw/intern/dxfwriter.cpp          |   286 +
 src/app/dwg/libdxfrw/intern/dxfwriter.h            |    72 +
 src/app/dwg/libdxfrw/intern/rscodec.cpp            |   464 +
 src/app/dwg/libdxfrw/intern/rscodec.h              |    70 +
 src/app/dwg/libdxfrw/libdwgr.cpp                   |   377 +
 src/app/dwg/libdxfrw/libdwgr.h                     |    52 +
 src/app/dwg/libdxfrw/libdxfrw.cpp                  |  3401 +++
 src/app/dwg/libdxfrw/libdxfrw.dox                  |   288 +
 src/app/dwg/libdxfrw/libdxfrw.h                    |   148 +
 src/app/dwg/qgsdwgimportdialog.cpp                 |   502 +
 src/app/dwg/qgsdwgimportdialog.h                   |    52 +
 src/app/dwg/qgsdwgimporter.cpp                     |  2706 +++
 src/app/dwg/qgsdwgimporter.h                       |   202 +
 src/app/qgisapp.cpp                                |     9 +
 src/app/qgisapp.h                                  |     2 +
 src/app/qgscustomization.cpp                       |     2 +-
 src/core/dxf/qgsdxfexport.cpp                      |     8 +
 src/core/geometry/qgsgeos.cpp                      |     1 +
 src/core/qgsexpression.h                           |    18 +-
 src/core/qgsmaplayer.cpp                           |     2 +
 src/core/qgsofflineediting.cpp                     |     6 +-
 src/core/qgsvectorfilewriter.h                     |    14 +-
 src/core/qgsvectorlayercache.h                     |     4 +-
 .../symbology-ng/qgspointdisplacementrenderer.cpp  |     7 +
 .../symbology-ng/qgspointdisplacementrenderer.h    |     4 +
 src/gui/qgisgui.h                                  |     8 +-
 src/gui/qgsfiledownloader.cpp                      |    14 +-
 src/gui/qgsfiledownloader.h                        |     2 -
 src/gui/raster/qgspalettedrendererwidget.cpp       |     8 +
 src/gui/raster/qgspalettedrendererwidget.h         |     1 +
 src/plugins/grass/qtermwidget/CharacterColor.h     |    13 +-
 src/providers/oracle/qgsoracleconn.cpp             |    36 +-
 src/providers/oracle/qgsoracleconn.h               |     2 +
 .../virtual/qgsvirtuallayersqlitemodule.cpp        |    10 +-
 src/server/qgsconfigparserutils.cpp                |    12 +-
 src/server/qgsserverprojectparser.cpp              |     2 +-
 src/server/qgswmsserver.cpp                        |   130 +-
 src/server/qgswmsserver.h                          |     6 +-
 src/ui/qgisapp.ui                                  |     6 +
 src/ui/qgsdwgimportbase.ui                         |   291 +
 tests/src/gui/testqgsfiledownloader.cpp            |    12 +-
 tests/src/python/test_qgsfiledownloader.py         |    14 +-
 tests/src/python/test_qgsserver.py                 |   130 +
 tests/src/python/test_qgsserver_accesscontrol.py   |    32 +-
 .../WMS_GetLegendGraphic_BBox.png                  |   Bin 0 -> 839 bytes
 .../WMS_GetLegendGraphic_BBox2.png                 |   Bin 0 -> 601 bytes
 .../WMS_GetLegendGraphic_Basic.png                 |   Bin 0 -> 601 bytes
 .../WMS_GetLegendGraphic_BoxSpace.png              |   Bin 0 -> 3938 bytes
 .../WMS_GetLegendGraphic_IconLabelSpace.png        |   Bin 0 -> 783 bytes
 .../WMS_GetLegendGraphic_SymbolSize.png            |   Bin 0 -> 1248 bytes
 .../WMS_GetLegendGraphic_SymbolSpace.png           |   Bin 0 -> 968 bytes
 tests/testdata/dwg/entities.dwg                    |   Bin 0 -> 81918 bytes
 tests/testdata/qgis_server/getcapabilities.txt     |     4 +-
 .../qgis_server/getcapabilities_inspire.txt        |     4 +-
 tests/testdata/qgis_server/getprojectsettings.txt  |     4 +-
 tests/testdata/qgis_server/wfs_getcapabilities.txt |     2 +-
 113 files changed, 97144 insertions(+), 5486 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0bfeac2..82bf17e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
 SET(CPACK_PACKAGE_VERSION_MAJOR "2")
 SET(CPACK_PACKAGE_VERSION_MINOR "18")
-SET(CPACK_PACKAGE_VERSION_PATCH "1")
+SET(CPACK_PACKAGE_VERSION_PATCH "2")
 SET(COMPLETE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
 SET(RELEASE_NAME "Las Palmas")
 IF (POLICY CMP0048) # in CMake 3.0.0+
diff --git a/ChangeLog b/ChangeLog
index 27d022b..630b6d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,214 @@
+Juergen E. Fischer <jef at norbit.de>	2016-12-15
+
+    indentation fix
+
+Juergen E. Fischer <jef at norbit.de>	2016-12-15
+
+    german translation update
+
+Juergen E. Fischer <jef at norbit.de>	2016-12-15
+
+    dwg import: make curves optional (enabled by default, disabled completely with GDAL 1)
+
+Juergen E. Fischer <jef at norbit.de>	2016-12-14
+
+    [FEATURE] DWG import into geopackage using libdxfrw
+
+Juergen E. Fischer <jef at norbit.de>	2016-12-14
+
+    dxf export: fix crash, when curve geometry can't be segmentized
+
+    (cherry picked from commit 159ad683fe3a413dcdeba91079d3c7fa629fa580)
+
+Alessandro Pasotti <apasotti at boundlessgeo.com>	2016-12-14
+
+    [BACKPORT][BUGFIX] Fixed a crash on bad network protocol
+
+     ( from f48f90ead )
+
+rldhont <rldhont at gmail.com>	2016-12-13
+
+    Fix WMS 1.3. compliance: distort image if width/height ratio of bbox is different to WIDTH/HEIGHT of requested image
+
+    Not decrease but increase image
+
+Merge: e5127c9 3e4a19e
+rldhont <rldhont at gmail.com>	2016-12-12
+
+    Merge pull request #3858 from rldhont/fix-getLegendGraphics-bbox
+
+    fix getLegendGraphics when BBox parameter is used
+
+Blottiere Paul <blottiere.paul at gmail.com>	2016-12-09
+
+    fix getLegendGraphics when BBox parameter is used
+
+volaya <volayaf at gmail.com>	2016-12-12
+
+    [processing] config dialog: only save menu configuration if needed
+
+volaya <volayaf at gmail.com>	2016-12-08
+
+    [processing] fixes for SAGA folder configuration
+
+    This tries to address some problem with previously set SAGA paths, by always showing the SAGA path config value, and by trying to ruin a built in copy of SAGA if the current SAGA folder is wrong (as it usually happens when updating QGIS)
+
+volaya <volayaf at gmail.com>	2016-12-08
+
+    [processing] do not replace lt and gt symbols in log window
+
+Merge: febc819 f6cd843
+Alessandro Pasotti <elpaso at itopen.it>	2016-12-12
+
+    Merge pull request #3856 from rldhont/backport-218-wms-130-compliance
+
+    Backport 218 wms 130 compliance
+
+rldhont <rldhont at gmail.com>	2016-12-12
+
+    Adapt WFS capabilties in server test for WMS 1.3.0 compliance
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-12-01
+
+    Fix access control tests such that bbox width/height ration matches image width/height
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-12-01
+
+    Adapt expected capabilities / project settings response in server test for WMS 1.3.0 compliance
+
+rldhont <rldhont at gmail.com>	2016-12-12
+
+    Fix typo
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-12-09
+
+    Backward support for parameters 'MTVER' and 'capabilities' from WMS 1.0.0 is required for WMS 1.1.1
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-12-01
+
+    Indentation
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-12-01
+
+    WMS server: parse bounding box only if the BBOX parameter is really there
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    WMS 1.3 compliance: Each OnlineResource URL intended for HTTP Get requests in the capabilities document is a URL prefix
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    Exception format is XML, not capabilities format
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    WMS 1.3. compliance: distort image if width/height ratio of bbox is different to WIDTH/HEIGHT of requested image
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    WMS 1.3.0 compliance: If a layer bounding box is there, it is not allowed to be empty (also if a layer has only one point)
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    WMS 1.3.0 compliance: throw exception if bbox is empty
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    Fix typo
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    WMS 1.3.0 compliance: exception format must be advertized as 'XML', not 'text/xml'
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    WMS 1.3.0 compliance: CRS:84  needs to be supported
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    WMS 1.3.0 compliance: support BGCOLOR parameter
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    WMS 1.3.0 compliance: throw exception if feature info point is not within the WIDTH/HEIGHT parameters
+
+Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2016-11-29
+
+    WMS 1.3.0 compliance: use the reserved word 'None' if no fees
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2016-12-09
+
+    use qt4 signal/slot syntax
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2016-12-08
+
+    fix #15947 style dock is not refreshed when map layer style changes
+
+nirvn <nirvn.asia at gmail.com>	2016-12-08
+
+    [style dock] emit widgetChanged() when raster palette labels updated
+
+Matthias Kuhn <matthias at opengis.ch>	2016-12-07
+
+    [offlineediting] Fix only synchronize selected features option
+
+    Fix #15830
+
+Juergen E. Fischer <jef at norbit.de>	2016-12-06
+
+    qtermwidget: fix misleading indention warnings
+
+Juergen E. Fischer <jef at norbit.de>	2016-12-03
+
+    oracle provider: skip retrying unavailable connections for 30s
+
+volaya <volayaf at gmail.com>	2016-12-05
+
+    [processing] fixed wrong parameter type definition in buffer algs
+
+Alexander Bruy <alexander.bruy at gmail.com>	2016-12-02
+
+    fix loading of models containing user-defined scripts
+
+Hugo Mercier <hugo.mercier at oslandia.com>	2016-12-02
+
+    Fix indentation
+
+Hugo Mercier <hugo.mercier at oslandia.com>	2016-12-02
+
+    [virtual] Fix xFilter for null value comparisons
+
+rldhont <rldhont at gmail.com>	2016-11-30
+
+    [BUGFIX] Filter Legend By Map Content doesn't maintain point displacement legend
+
+    Fixed #11572
+    Manually cherry-picked 4d71cf968c4608359514637ceabcf4f3dcfb09ce
+
+borys <info at borysjurgiel.pl>	2016-11-29
+
+    [bugfix] Fix broken docks customization. Fixes #8055
+
+volaya <volayaf at gmail.com>	2016-11-27
+
+    [processing] fixed file extension when exporting layer
+
+    fixes #15898
+
+volaya <volayaf at gmail.com>	2016-07-21
+
+    [processing] use SilentProgress by default if no progress object is passed
+
+Juergen E. Fischer <jef at norbit.de>	2016-11-26
+
+    * replace constexpr (fixes pre-c++11 windows build)
+    * fix "added in 3.0" annotation
+    * sip syncs
+
+Juergen E. Fischer <jef at norbit.de>	2016-11-25
+
+    Release of 2.18.1
+
 Nyall Dawson <nyall.dawson at gmail.com>	2016-11-23
 
     Speed up inserting features into memory layers by ~65%
diff --git a/debian/changelog b/debian/changelog
index 391f0ac..839caf3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,14 @@
-qgis (2.18.1) UNRELEASED; urgency=medium
+qgis (2.18.2) UNRELEASED; urgency=medium
+
+  * Release of 2.18.2
+
+ -- Jürgen E. Fischer <jef at norbit.de>  Fri, 16 Dec 2016 13:00:14 +0100
+
+qgis (2.18.1) unstable; urgency=medium
 
   * Release of 2.18.1
 
- -- Jürgen E. Fischer <jef at norbit.de>  Fri, 25 Nov 2016 14:13:12 +0100
+ -- Jürgen E. Fischer <jef at norbit.de>  Fri, 16 Dec 2016 13:00:13 +0100
 
 qgis (2.18.0) unstable; urgency=medium
 
diff --git a/doc/TRANSLATORS b/doc/TRANSLATORS
index 59a8b68..7d010fb 100644
--- a/doc/TRANSLATORS
+++ b/doc/TRANSLATORS
@@ -1,40 +1,40 @@
 <style>table {font-size:80%;}th {text-align:left; }.bartodo{ background-color:red;width:100px;height:20px;}.bardone{ background-color:green;width:80px;height:20px;font-size:80%;text-align:center;padding-top:4px;height:16px;color:white;}</style><table><tr><th colspan="2" style="width:250px;">Language</th><th>Finished %</th><th>Translators</th></tr>
 
-<tr><td><img src="qrc:/images/flags/de.png"></td><td>German</td><td><div title="finished:18426 unfinished:0 untranslated:0" class="bartodo"><div class="bardone" style="width:100px">100.0</div></div></td><td>Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho</td></tr>
-<tr><td><img src="qrc:/images/flags/sv.png"></td><td>Swedish</td><td><div title="finished:18107 unfinished:186 untranslated:133" class="bartodo"><div class="bardone" style="width:98px">98.8</div></div></td><td>Victor Axbom, Lars Luthman, Magnus Homann, Klas Karlsson, Isabelle J Wigren, Daniel Rosander, Anders Ekwall, Magnus Nilsson, Jonas Svensson, Christian Brinkenberg</td></tr>
-<tr><td><img src="qrc:/images/flags/eu.png"></td><td>Basque</td><td><div title="finished:18107 unfinished:185 untranslated:134" class="bartodo"><div class="bardone" style="width:98px">98.8</div></div></td><td>Asier Sarasua Garmendia, Irantzu Alvarez</td></tr>
-<tr><td><img src="qrc:/images/flags/gl.png"></td><td>Galician</td><td><div title="finished:18106 unfinished:183 untranslated:137" class="bartodo"><div class="bardone" style="width:98px">98.8</div></div></td><td>Xan Vieiro</td></tr>
-<tr><td><img src="qrc:/images/flags/nl.png"></td><td>Dutch</td><td><div title="finished:18102 unfinished:188 untranslated:136" class="bartodo"><div class="bardone" style="width:98px">98.8</div></div></td><td>Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk, Diethard Jansen, Willem Hoffmans, Dick Groskamp</td></tr>
-<tr><td><img src="qrc:/images/flags/pt_BR.png"></td><td>Portuguese (Brazil)</td><td><div title="finished:18107 unfinished:177 untranslated:142" class="bartodo"><div class="bardone" style="width:98px">98.7</div></div></td><td>Sidney Schaberle Goveia, Arthur Nanni, Marcelo Soares Souza, Narcélio de Sá Pereira Filho, Leônidas Descovi Filho, Felipe Sodré Barros </td></tr>
-<tr><td><img src="qrc:/images/flags/ro.png"></td><td>Romanian</td><td><div title="finished:18107 unfinished:177 untranslated:142" class="bartodo"><div class="bardone" style="width:98px">98.7</div></div></td><td>Sorin Călinică, Tudor Bărăscu, Georgiana Ioanovici, Alex Bădescu, Lonut Losifescu-Enescu, Bogdan Pacurar</td></tr>
-<tr><td><img src="qrc:/images/flags/fr.png"></td><td>French</td><td><div title="finished:18081 unfinished:180 untranslated:165" class="bartodo"><div class="bardone" style="width:98px">98.6</div></div></td><td>Arnaud Morvan, Augustin Roche, DelazJ, Didier Vanden Berghe, Dofabien, etrimaille, Jean-Roc Morreale, Jérémy Garniaux, Loïc Buscoz, Lsam, Marc-André Saia, Marie Silvestre, Mathieu Bossaert, Mathieu Lattes, Mayeul Kauffmann, Médéric Ribreux, Mehdi Semchaoui, Michael Douchin, Nicolas  [...]
-<tr><td><img src="qrc:/images/flags/bs.png"></td><td>Bosnian</td><td><div title="finished:17960 unfinished:188 untranslated:278" class="bartodo"><div class="bardone" style="width:97px">98.0</div></div></td><td>Almir Karabegovic</td></tr>
-<tr><td><img src="qrc:/images/flags/da.png"></td><td>Danish</td><td><div title="finished:17761 unfinished:142 untranslated:523" class="bartodo"><div class="bardone" style="width:96px">96.8</div></div></td><td>Jacob Overgaard Madsen, Bo Victor Thomsen</td></tr>
-<tr><td><img src="qrc:/images/flags/es.png"></td><td>Spanish</td><td><div title="finished:17654 unfinished:111 untranslated:661" class="bartodo"><div class="bardone" style="width:96px">96.1</div></div></td><td>Carlos Dávila, Javier César Aldariz, Gabriela Awad, Edwin Amado, Mayeul Kauffmann, Diana Galindo</td></tr>
-<tr><td><img src="qrc:/images/flags/ja.png"></td><td>Japanese</td><td><div title="finished:17243 unfinished:189 untranslated:994" class="bartodo"><div class="bardone" style="width:94px">94.1</div></div></td><td>BABA Yoshihiko, Yoichi Kayama, Minoru Akagi, Takayuki Nuimura, Takayuki Mizutani, Norihiro Yamate</td></tr>
-<tr><td><img src="qrc:/images/flags/hu.png"></td><td>Hungarian</td><td><div title="finished:16533 unfinished:124 untranslated:1769" class="bartodo"><div class="bardone" style="width:90px">90.1</div></div></td><td>Zoltan Siki</td></tr>
-<tr><td><img src="qrc:/images/flags/vi.png"></td><td>Vietnamese</td><td><div title="finished:16500 unfinished:76 untranslated:1850" class="bartodo"><div class="bardone" style="width:89px">89.8</div></div></td><td>Phùng Văn Doanh, Bùi Hữu Mạnh, Nguyễn Văn Thanh, Nguyễn Hữu Phúc, Cao Minh Tu</td></tr>
-<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese simplified</td><td><div title="finished:16105 unfinished:82 untranslated:2239" class="bartodo"><div class="bardone" style="width:87px">87.6</div></div></td><td>Calvin Ngei, Lisashen</td></tr>
-<tr><td><img src="qrc:/images/flags/pt_PT.png"></td><td>Portuguese (Portugal)</td><td><div title="finished:15518 unfinished:75 untranslated:2833" class="bartodo"><div class="bardone" style="width:84px">84.4</div></div></td><td>Giovanni Manghi, Joana Simões, Duarte Carreira, Alexandre Neto, Pedro Pereira, Pedro Palheiro, Nelson Silva, Ricardo Sena, Leandro Infantini, João Gaspar</td></tr>
-<tr><td><img src="qrc:/images/flags/ru.png"></td><td>Russian</td><td><div title="finished:15446 unfinished:139 untranslated:2841" class="bartodo"><div class="bardone" style="width:84px">84.2</div></div></td><td>Alexander Bruy, Artem Popov</td></tr>
-<tr><td><img src="qrc:/images/flags/pl.png"></td><td>Polish</td><td><div title="finished:14724 unfinished:75 untranslated:3627" class="bartodo"><div class="bardone" style="width:80px">80.1</div></div></td><td>Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Łoskot, Tomasz Paul, Andrzej Świąder, Radosław Pasiok, Michał Kułach, Ewelina Krawczak, Michał Smoczyk, Jakub Bobrowski</td></tr>
-<tr><td><img src="qrc:/images/flags/cs.png"></td><td>Czech</td><td><div title="finished:14653 unfinished:112 untranslated:3661" class="bartodo"><div class="bardone" style="width:79px">79.8</div></div></td><td>Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček</td></tr>
-<tr><td><img src="qrc:/images/flags/nb.png"></td><td>Norwegian Bokmal</td><td><div title="finished:14559 unfinished:114 untranslated:3753" class="bartodo"><div class="bardone" style="width:79px">79.3</div></div></td><td>James Stott, Maléne Peterson</td></tr>
-<tr><td><img src="qrc:/images/flags/fi.png"></td><td>Finnish</td><td><div title="finished:14040 unfinished:334 untranslated:4052" class="bartodo"><div class="bardone" style="width:77px">77.1</div></div></td><td>Kari Mikkonen, Matti Mäntynen</td></tr>
-<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese traditional</td><td><div title="finished:14061 unfinished:139 untranslated:4226" class="bartodo"><div class="bardone" style="width:76px">76.7</div></div></td><td>Calvin Ngei, Zhang Jun, Richard Xie</td></tr>
-<tr><td><img src="qrc:/images/flags/it.png"></td><td>Italian</td><td><div title="finished:14004 unfinished:129 untranslated:4293" class="bartodo"><div class="bardone" style="width:76px">76.4</div></div></td><td>Roberto Angeletti, Michele Beneventi, Marco Braida, Stefano Campus, Luca Casagrande, Paolo Cavallini, Giuliano Curti, Luca Delucchi, Alessandro Fanna, Michele Ferretti, Matteo Ghetta, Anne Gishla, Maurizio Napolitano, Flavio Rigolon</td></tr>
-<tr><td><img src="qrc:/images/flags/et.png"></td><td>Estonian</td><td><div title="finished:13154 unfinished:151 untranslated:5121" class="bartodo"><div class="bardone" style="width:71px">71.8</div></div></td><td>Veiko Viil</td></tr>
-<tr><td><img src="qrc:/images/flags/ca.png"></td><td>Catalan</td><td><div title="finished:12886 unfinished:131 untranslated:5409" class="bartodo"><div class="bardone" style="width:70px">70.3</div></div></td><td>Albert F, Pau Reguant Ridó, Xavier Roijals</td></tr>
-<tr><td><img src="qrc:/images/flags/hi.png"></td><td>Hindi</td><td><div title="finished:12456 unfinished:173 untranslated:5797" class="bartodo"><div class="bardone" style="width:68px">68.1</div></div></td><td>Harish Kumar Solanki</td></tr>
-<tr><td><img src="qrc:/images/flags/bg.png"></td><td>Bulgarian</td><td><div title="finished:12368 unfinished:142 untranslated:5916" class="bartodo"><div class="bardone" style="width:67px">67.5</div></div></td><td>Захари Савов, Jordan Tzvetkov</td></tr>
-<tr><td><img src="qrc:/images/flags/ko.png"></td><td>Korean</td><td><div title="finished:11750 unfinished:169 untranslated:6507" class="bartodo"><div class="bardone" style="width:64px">64.2</div></div></td><td>OSGeo Korean Chapter</td></tr>
-<tr><td><img src="qrc:/images/flags/lt.png"></td><td>Lithuanian</td><td><div title="finished:11323 unfinished:178 untranslated:6925" class="bartodo"><div class="bardone" style="width:61px">61.9</div></div></td><td>Paulius Litvinas, Tomas Straupis, Kestas M</td></tr>
-<tr><td><img src="qrc:/images/flags/tr.png"></td><td>Turkish</td><td><div title="finished:10856 unfinished:142 untranslated:7428" class="bartodo"><div class="bardone" style="width:59px">59.3</div></div></td><td>Osman Yalçın YILMAZ, Omur Saygin</td></tr>
-<tr><td><img src="qrc:/images/flags/id.png"></td><td>Indonesian</td><td><div title="finished:10714 unfinished:314 untranslated:7398" class="bartodo"><div class="bardone" style="width:58px">59.0</div></div></td><td>Emir Hartato, Muhammad Iqnaul Haq Siregar, Trias Aditya, Januar V. Simarmata, I Made Anombawa</td></tr>
-<tr><td><img src="qrc:/images/flags/el.png"></td><td>Modern Greek (1453-)</td><td><div title="finished:10728 unfinished:107 untranslated:7591" class="bartodo"><div class="bardone" style="width:58px">58.5</div></div></td><td>Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves</td></tr>
-<tr><td><img src="qrc:/images/flags/sl.png"></td><td>Slovenian</td><td><div title="finished:9510 unfinished:172 untranslated:8744" class="bartodo"><div class="bardone" style="width:52px">52.1</div></div></td><td>Jože Detečnik, Dejan Gregor, Jaka Kranjc</td></tr>
-<tr><td><img src="qrc:/images/flags/km.png"></td><td>Central Khmer</td><td><div title="finished:9334 unfinished:174 untranslated:8918" class="bartodo"><div class="bardone" style="width:51px">51.1</div></div></td><td>Khoem Sokhem</td></tr>
-<tr><td><img src="qrc:/images/flags/ar.png"></td><td>Arabic</td><td><div title="finished:9292 unfinished:170 untranslated:8964" class="bartodo"><div class="bardone" style="width:50px">50.9</div></div></td><td>Ichaouia Amine, Hosham Munier</td></tr>
-<tr><td><img src="qrc:/images/flags/lv.png"></td><td>Latvian</td><td><div title="finished:9165 unfinished:255 untranslated:9006" class="bartodo"><div class="bardone" style="width:50px">50.4</div></div></td><td>Maris Nartiss, Pēteris Brūns</td></tr>
-<tr><td><img src="qrc:/images/flags/sk.png"></td><td>Slovak</td><td><div title="finished:7762 unfinished:854 untranslated:9810" class="bartodo"><div class="bardone" style="width:44px">44.4</div></div></td><td>Lubos Balazovic, Jana Kormanikova, Ivan Mincik</td></tr>
-<tr><td><img src="qrc:/images/flags/hr.png"></td><td>Croatian</td><td><div title="finished:7290 unfinished:177 untranslated:10959" class="bartodo"><div class="bardone" style="width:40px">40.0</div></div></td><td>Zoran Jankovic</td></tr></table>
+<tr><td><img src="qrc:/images/flags/de.png"></td><td>German</td><td><div title="finished:18588 unfinished:0 untranslated:3" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho</td></tr>
+<tr><td><img src="qrc:/images/flags/sv.png"></td><td>Swedish</td><td><div title="finished:18102 unfinished:211 untranslated:278" class="bartodo"><div class="bardone" style="width:97px">97.9</div></div></td><td>Victor Axbom, Lars Luthman, Magnus Homann, Klas Karlsson, Isabelle J Wigren, Daniel Rosander, Anders Ekwall, Magnus Nilsson, Jonas Svensson, Christian Brinkenberg</td></tr>
+<tr><td><img src="qrc:/images/flags/eu.png"></td><td>Basque</td><td><div title="finished:18102 unfinished:207 untranslated:282" class="bartodo"><div class="bardone" style="width:97px">97.9</div></div></td><td>Asier Sarasua Garmendia, Irantzu Alvarez</td></tr>
+<tr><td><img src="qrc:/images/flags/gl.png"></td><td>Galician</td><td><div title="finished:18101 unfinished:204 untranslated:286" class="bartodo"><div class="bardone" style="width:97px">97.9</div></div></td><td>Xan Vieiro</td></tr>
+<tr><td><img src="qrc:/images/flags/nl.png"></td><td>Dutch</td><td><div title="finished:18097 unfinished:211 untranslated:283" class="bartodo"><div class="bardone" style="width:97px">97.9</div></div></td><td>Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk, Diethard Jansen, Willem Hoffmans, Dick Groskamp</td></tr>
+<tr><td><img src="qrc:/images/flags/ro.png"></td><td>Romanian</td><td><div title="finished:18102 unfinished:197 untranslated:292" class="bartodo"><div class="bardone" style="width:97px">97.9</div></div></td><td>Sorin Călinică, Tudor Bărăscu, Georgiana Ioanovici, Alex Bădescu, Lonut Losifescu-Enescu, Bogdan Pacurar</td></tr>
+<tr><td><img src="qrc:/images/flags/pt_BR.png"></td><td>Portuguese (Brazil)</td><td><div title="finished:18102 unfinished:195 untranslated:294" class="bartodo"><div class="bardone" style="width:97px">97.9</div></div></td><td>Sidney Schaberle Goveia, Arthur Nanni, Marcelo Soares Souza, Narcélio de Sá Pereira Filho, Leônidas Descovi Filho, Felipe Sodré Barros </td></tr>
+<tr><td><img src="qrc:/images/flags/fr.png"></td><td>French</td><td><div title="finished:18076 unfinished:203 untranslated:312" class="bartodo"><div class="bardone" style="width:97px">97.8</div></div></td><td>Arnaud Morvan, Augustin Roche, DelazJ, Didier Vanden Berghe, Dofabien, etrimaille, Jean-Roc Morreale, Jérémy Garniaux, Loïc Buscoz, Lsam, Marc-André Saia, Marie Silvestre, Mathieu Bossaert, Mathieu Lattes, Mayeul Kauffmann, Médéric Ribreux, Mehdi Semchaoui, Michael Douchin, Nicolas  [...]
+<tr><td><img src="qrc:/images/flags/bs.png"></td><td>Bosnian</td><td><div title="finished:17955 unfinished:213 untranslated:423" class="bartodo"><div class="bardone" style="width:97px">97.2</div></div></td><td>Almir Karabegovic</td></tr>
+<tr><td><img src="qrc:/images/flags/da.png"></td><td>Danish</td><td><div title="finished:17756 unfinished:166 untranslated:669" class="bartodo"><div class="bardone" style="width:95px">96.0</div></div></td><td>Jacob Overgaard Madsen, Bo Victor Thomsen</td></tr>
+<tr><td><img src="qrc:/images/flags/es.png"></td><td>Spanish</td><td><div title="finished:17650 unfinished:134 untranslated:807" class="bartodo"><div class="bardone" style="width:95px">95.3</div></div></td><td>Carlos Dávila, Javier César Aldariz, Gabriela Awad, Edwin Amado, Mayeul Kauffmann, Diana Galindo</td></tr>
+<tr><td><img src="qrc:/images/flags/ja.png"></td><td>Japanese</td><td><div title="finished:17238 unfinished:210 untranslated:1143" class="bartodo"><div class="bardone" style="width:93px">93.3</div></div></td><td>BABA Yoshihiko, Yoichi Kayama, Minoru Akagi, Takayuki Nuimura, Takayuki Mizutani, Norihiro Yamate</td></tr>
+<tr><td><img src="qrc:/images/flags/hu.png"></td><td>Hungarian</td><td><div title="finished:16529 unfinished:146 untranslated:1916" class="bartodo"><div class="bardone" style="width:89px">89.3</div></div></td><td>Zoltan Siki</td></tr>
+<tr><td><img src="qrc:/images/flags/vi.png"></td><td>Vietnamese</td><td><div title="finished:16496 unfinished:97 untranslated:1998" class="bartodo"><div class="bardone" style="width:88px">89.0</div></div></td><td>Phùng Văn Doanh, Bùi Hữu Mạnh, Nguyễn Văn Thanh, Nguyễn Hữu Phúc, Cao Minh Tu</td></tr>
+<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese simplified</td><td><div title="finished:16101 unfinished:104 untranslated:2386" class="bartodo"><div class="bardone" style="width:86px">86.9</div></div></td><td>Calvin Ngei, Lisashen</td></tr>
+<tr><td><img src="qrc:/images/flags/pt_PT.png"></td><td>Portuguese (Portugal)</td><td><div title="finished:15514 unfinished:93 untranslated:2984" class="bartodo"><div class="bardone" style="width:83px">83.7</div></div></td><td>Giovanni Manghi, Joana Simões, Duarte Carreira, Alexandre Neto, Pedro Pereira, Pedro Palheiro, Nelson Silva, Ricardo Sena, Leandro Infantini, João Gaspar</td></tr>
+<tr><td><img src="qrc:/images/flags/ru.png"></td><td>Russian</td><td><div title="finished:15442 unfinished:158 untranslated:2991" class="bartodo"><div class="bardone" style="width:83px">83.5</div></div></td><td>Alexander Bruy, Artem Popov</td></tr>
+<tr><td><img src="qrc:/images/flags/pl.png"></td><td>Polish</td><td><div title="finished:14720 unfinished:96 untranslated:3775" class="bartodo"><div class="bardone" style="width:79px">79.4</div></div></td><td>Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Łoskot, Tomasz Paul, Andrzej Świąder, Radosław Pasiok, Michał Kułach, Ewelina Krawczak, Michał Smoczyk, Jakub Bobrowski</td></tr>
+<tr><td><img src="qrc:/images/flags/cs.png"></td><td>Czech</td><td><div title="finished:14649 unfinished:134 untranslated:3808" class="bartodo"><div class="bardone" style="width:79px">79.2</div></div></td><td>Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček</td></tr>
+<tr><td><img src="qrc:/images/flags/nb.png"></td><td>Norwegian Bokmal</td><td><div title="finished:14555 unfinished:135 untranslated:3901" class="bartodo"><div class="bardone" style="width:78px">78.7</div></div></td><td>James Stott, Maléne Peterson</td></tr>
+<tr><td><img src="qrc:/images/flags/fi.png"></td><td>Finnish</td><td><div title="finished:14036 unfinished:351 untranslated:4204" class="bartodo"><div class="bardone" style="width:76px">76.4</div></div></td><td>Kari Mikkonen, Matti Mäntynen</td></tr>
+<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese traditional</td><td><div title="finished:14057 unfinished:159 untranslated:4375" class="bartodo"><div class="bardone" style="width:76px">76.0</div></div></td><td>Calvin Ngei, Zhang Jun, Richard Xie</td></tr>
+<tr><td><img src="qrc:/images/flags/it.png"></td><td>Italian</td><td><div title="finished:14000 unfinished:145 untranslated:4446" class="bartodo"><div class="bardone" style="width:75px">75.7</div></div></td><td>Roberto Angeletti, Michele Beneventi, Marco Braida, Stefano Campus, Luca Casagrande, Paolo Cavallini, Giuliano Curti, Luca Delucchi, Alessandro Fanna, Michele Ferretti, Matteo Ghetta, Anne Gishla, Maurizio Napolitano, Flavio Rigolon</td></tr>
+<tr><td><img src="qrc:/images/flags/et.png"></td><td>Estonian</td><td><div title="finished:13150 unfinished:168 untranslated:5273" class="bartodo"><div class="bardone" style="width:71px">71.2</div></div></td><td>Veiko Viil</td></tr>
+<tr><td><img src="qrc:/images/flags/ca.png"></td><td>Catalan</td><td><div title="finished:12882 unfinished:147 untranslated:5562" class="bartodo"><div class="bardone" style="width:69px">69.7</div></div></td><td>Albert F, Pau Reguant Ridó, Xavier Roijals</td></tr>
+<tr><td><img src="qrc:/images/flags/hi.png"></td><td>Hindi</td><td><div title="finished:12452 unfinished:194 untranslated:5945" class="bartodo"><div class="bardone" style="width:67px">67.5</div></div></td><td>Harish Kumar Solanki</td></tr>
+<tr><td><img src="qrc:/images/flags/bg.png"></td><td>Bulgarian</td><td><div title="finished:12364 unfinished:163 untranslated:6064" class="bartodo"><div class="bardone" style="width:66px">66.9</div></div></td><td>Захари Савов, Jordan Tzvetkov</td></tr>
+<tr><td><img src="qrc:/images/flags/ko.png"></td><td>Korean</td><td><div title="finished:11746 unfinished:185 untranslated:6660" class="bartodo"><div class="bardone" style="width:63px">63.7</div></div></td><td>OSGeo Korean Chapter</td></tr>
+<tr><td><img src="qrc:/images/flags/lt.png"></td><td>Lithuanian</td><td><div title="finished:11319 unfinished:197 untranslated:7075" class="bartodo"><div class="bardone" style="width:61px">61.4</div></div></td><td>Paulius Litvinas, Tomas Straupis, Kestas M</td></tr>
+<tr><td><img src="qrc:/images/flags/tr.png"></td><td>Turkish</td><td><div title="finished:10852 unfinished:158 untranslated:7581" class="bartodo"><div class="bardone" style="width:58px">58.8</div></div></td><td>Osman Yalçın YILMAZ, Omur Saygin</td></tr>
+<tr><td><img src="qrc:/images/flags/id.png"></td><td>Indonesian</td><td><div title="finished:10710 unfinished:331 untranslated:7550" class="bartodo"><div class="bardone" style="width:58px">58.5</div></div></td><td>Emir Hartato, Muhammad Iqnaul Haq Siregar, Trias Aditya, Januar V. Simarmata, I Made Anombawa</td></tr>
+<tr><td><img src="qrc:/images/flags/el.png"></td><td>Modern Greek (1453-)</td><td><div title="finished:10724 unfinished:125 untranslated:7742" class="bartodo"><div class="bardone" style="width:58px">58.0</div></div></td><td>Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves</td></tr>
+<tr><td><img src="qrc:/images/flags/sl.png"></td><td>Slovenian</td><td><div title="finished:9506 unfinished:187 untranslated:8898" class="bartodo"><div class="bardone" style="width:51px">51.6</div></div></td><td>Jože Detečnik, Dejan Gregor, Jaka Kranjc</td></tr>
+<tr><td><img src="qrc:/images/flags/km.png"></td><td>Central Khmer</td><td><div title="finished:9330 unfinished:189 untranslated:9072" class="bartodo"><div class="bardone" style="width:50px">50.7</div></div></td><td>Khoem Sokhem</td></tr>
+<tr><td><img src="qrc:/images/flags/ar.png"></td><td>Arabic</td><td><div title="finished:9289 unfinished:188 untranslated:9114" class="bartodo"><div class="bardone" style="width:50px">50.5</div></div></td><td>Ichaouia Amine, Hosham Munier</td></tr>
+<tr><td><img src="qrc:/images/flags/lv.png"></td><td>Latvian</td><td><div title="finished:9161 unfinished:274 untranslated:9156" class="bartodo"><div class="bardone" style="width:50px">50.0</div></div></td><td>Maris Nartiss, Pēteris Brūns</td></tr>
+<tr><td><img src="qrc:/images/flags/sk.png"></td><td>Slovak</td><td><div title="finished:7760 unfinished:869 untranslated:9962" class="bartodo"><div class="bardone" style="width:44px">44.1</div></div></td><td>Lubos Balazovic, Jana Kormanikova, Ivan Mincik</td></tr>
+<tr><td><img src="qrc:/images/flags/hr.png"></td><td>Croatian</td><td><div title="finished:7287 unfinished:193 untranslated:11111" class="bartodo"><div class="bardone" style="width:39px">39.7</div></div></td><td>Zoran Jankovic</td></tr></table>
diff --git a/i18n/qgis_de.ts b/i18n/qgis_de.ts
index 2fbb635..3b338f4 100644
--- a/i18n/qgis_de.ts
+++ b/i18n/qgis_de.ts
@@ -215,172 +215,172 @@
 <context>
     <name>AlgorithmClassification</name>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="297"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="626"/>
         <source>Polygon intersection</source>
         <translation>Polygonverschneidung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="292"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="623"/>
         <source>Vectorize raster layer</source>
         <translation>Rasterlayer vektorisieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="284"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="632"/>
         <source>Interpolate (Inverse distance weighting)</source>
         <translation>Interpolation (Inverse Abstandsgewichtung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="298"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="619"/>
         <source>RGB to PCT</source>
         <translation>RGB nach PCT</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="272"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="617"/>
         <source>Rasterize vector layer</source>
         <translation>Vektorlayer rastern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="273"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="622"/>
         <source>Polygon identity</source>
         <translation>Polygonidentität</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="290"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="635"/>
         <source>Polygon dissolve (all polygons)</source>
         <translation>Polygon auflösen (alle Polygone)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="270"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="639"/>
         <source>Polygon union</source>
         <translation>Polygonvereinigung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="276"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="628"/>
         <source>Interpolate (Natural neighbor)</source>
         <translation>Interpolation (Natürlicher Nachbar)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="279"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="646"/>
         <source>Merge raster layers</source>
         <translation>Rasterlayer zusammenführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="277"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="645"/>
         <source>Remove small pixel clumps (nearest neighbour)</source>
         <translation>Kleine Pixelklumpen entfernen (nächster Nachbar)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="289"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="644"/>
         <source>Interpolate (Nearest Neighbor)</source>
         <translation>Interpolation (Nächster Nachbar)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="287"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="625"/>
         <source>Interpolate (Cubic spline)</source>
         <translation>Interpolieren (Kubisches Spline)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="278"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="624"/>
         <source>Interpolate (Data metrics)</source>
         <translation>Interpolation (Datenmetrik)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="271"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="620"/>
         <source>Reproject raster layer</source>
         <translation>Rasterlayer reprojizieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="301"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="634"/>
         <source>Export raster layer</source>
         <translation>Rasterlayer exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="268"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="633"/>
         <source>PCT to RGB</source>
         <translation>PCT nach RGB</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="299"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="647"/>
         <source>Export vector layer</source>
         <translation>Vektorlayer exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="291"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="629"/>
         <source>Polygon dissolve (by attribute)</source>
         <translation>Polygon auflösen (nach Attribut)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="275"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="641"/>
         <source>Remove small pixel clumps (to no-data)</source>
         <translation>Kleine Pixelklumpen entfernen (zu Nullwerten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="296"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="636"/>
         <source>Interpolate (Modified quadratic shepard)</source>
         <translation>Interpolieren (Modifizierte quadratische Shepard-Methode)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="281"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="648"/>
         <source>Merge vector layers</source>
         <translation>Vektorlayer zusammenführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="294"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="642"/>
         <source>Reclassify (simple)</source>
         <translation>Neuklassifizieren (einfach)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="286"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="631"/>
         <source>Execute SQL on vector layer</source>
         <translation>SQL auf Vektorlayer ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="283"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="637"/>
         <source>Raster layer information</source>
         <translation>Rasterlayerinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="280"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="621"/>
         <source>Contour lines</source>
         <translation>Konturlinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="285"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="618"/>
         <source>Create graticule</source>
         <translation>Gradnetz erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="295"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="627"/>
         <source>Fire spreading simulation</source>
         <translation>Feuerausbreitungssimulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="274"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="630"/>
         <source>Polygon difference</source>
         <translation>Polygondifferenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="282"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="643"/>
         <source>Create graticule from extent</source>
         <translation>Gradnetz aus Grenzen erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="300"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="640"/>
         <source>Polygon symmetrical difference</source>
         <translation>Symmetrische Polygondifferenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="293"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="616"/>
         <source>Vector layer information</source>
         <translation>Vektorlayerinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="269"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="649"/>
         <source>Polygon update</source>
         <translation>Polygonaktualisierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="288"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="638"/>
         <source>Interpolate (Average)</source>
         <translation>Interpolation (Durchschnitt)</translation>
     </message>
@@ -1788,11 +1788,16 @@ Verarbeite Algorithmus %d/%d...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="406"/>
+        <source>Reset to defaults</source>
+        <translation>Auf Voreinstellungen zurücksetzen</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="407"/>
         <source>Wrong value</source>
         <translation>Falscher Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="407"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="408"/>
         <source>Wrong value for parameter "%s":
 
 %s</source>
@@ -1804,42 +1809,42 @@ Verarbeite Algorithmus %d/%d...</translation>
 <context>
     <name>ConvexHull</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="415"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="416"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="416"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="417"/>
         <source>Field (optional, only used if creating convex hulls by classes)</source>
         <translation>Feld (optional, wird nur zur Erzeugung von konvexen Hüllen nach Klassen verwendet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="417"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="418"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="411"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="412"/>
         <source>Convex hull</source>
         <translation>Konvexe Hülle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="412"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="413"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="413"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="414"/>
         <source>Create single minimum convex hull</source>
         <translation>Einzelne konvexe Minimalhülle erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="414"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="415"/>
         <source>Create convex hulls based on field</source>
         <translation>Konvexe Hüllen auf Basis eines Eingabefelds erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="418"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="419"/>
         <source>Exception while computing convex hull</source>
         <translation>Ausnahme während Berechnung der konvexen Hülle</translation>
     </message>
@@ -1903,42 +1908,42 @@ Verarbeite Algorithmus %d/%d...</translation>
 <context>
     <name>Cover</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="423"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="424"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="424"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="425"/>
         <source>Input LAS layer</source>
         <translation>Eingabe-LAS-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="425"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="426"/>
         <source>Input ground DTM layer</source>
         <translation>Eingabe-Boden-DTM-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="426"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="427"/>
         <source>Cellsize</source>
         <translation>Zellengröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="427"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="428"/>
         <source>Heightbreak</source>
         <translation>Höhenbruch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="428"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="429"/>
         <source>XY Units</source>
         <translation>XY-Einheiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="429"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="430"/>
         <source>Z Units</source>
         <translation>Z-Einheit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="422"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="423"/>
         <source>Cover</source>
         <translation>Bedeckung</translation>
     </message>
@@ -1946,27 +1951,27 @@ Verarbeite Algorithmus %d/%d...</translation>
 <context>
     <name>CreateConstantRaster</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="434"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="435"/>
         <source>Raster tools</source>
         <translation>Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="435"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="436"/>
         <source>Reference layer</source>
         <translation>Referenzlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="436"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="437"/>
         <source>Constant value</source>
         <translation>Konstanter Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="437"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="438"/>
         <source>Constant</source>
         <translation>Konstantes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="433"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="434"/>
         <source>Create constant raster layer</source>
         <translation>Konstanten Rasterlayer erzeugen</translation>
     </message>
@@ -1974,27 +1979,27 @@ Verarbeite Algorithmus %d/%d...</translation>
 <context>
     <name>Csv2Grid</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="441"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="442"/>
         <source>Csv2Grid</source>
         <translation>CSV nach Grid</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="442"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="443"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="443"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="444"/>
         <source>CSV Files</source>
         <translation>CSV-Dateien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="444"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="445"/>
         <source>Column</source>
         <translation>Spalte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="445"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="446"/>
         <source>Raster Output file</source>
         <translation>Rasterausgabedatei</translation>
     </message>
@@ -2902,22 +2907,22 @@ Abfrage:
 <context>
     <name>DTM2ASCII</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="449"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="450"/>
         <source>DTM to ASCII</source>
         <translation>DTM nach ASCII</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="450"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="451"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="451"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="452"/>
         <source>Input canopy surface (.dtm)</source>
         <translation>Eingabe Bodenbedeckung (.dtm)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="452"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="453"/>
         <source>Output format</source>
         <translation>Ausgabeformat</translation>
     </message>
@@ -2925,22 +2930,22 @@ Abfrage:
 <context>
     <name>DTM2TIF</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="456"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="457"/>
         <source>DTM to TIF</source>
         <translation>DTM nach TIF</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="457"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="458"/>
         <source>Conversion</source>
         <translation>Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="458"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="459"/>
         <source>Input .dtm layer</source>
         <translation>Eingabe .dtm Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="459"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="460"/>
         <source>Output file name</source>
         <translation>Ausgabedateiname</translation>
     </message>
@@ -2948,37 +2953,37 @@ Abfrage:
 <context>
     <name>Datasources2Vrt</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="464"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="465"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="465"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="466"/>
         <source>Input datasources</source>
         <translation>Eingabedatenquellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="466"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="467"/>
         <source>Create "unioned" VRT</source>
         <translation>"Zusammengesetztes" VRT erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="469"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="470"/>
         <source>Invalid datasource: {}</source>
         <translation>Ungültige Datenquelle: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="467"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="468"/>
         <source>Virtual vector</source>
         <translation>Virtueller Vektor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="468"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="469"/>
         <source>Virtual string</source>
         <translation>Virtuelle Zeichenkette</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="463"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="464"/>
         <source>Build virtual vector</source>
         <translation>Virtuellen Vektor erzeugen</translation>
     </message>
@@ -3367,78 +3372,84 @@ Abfrage:
         <source>Replace destination table (if exists)</source>
         <translation>Zieltabelle ersetzen, falls vorhanden</translation>
     </message>
+    <message>
+        <location filename="../python/plugins/db_manager/ui/DlgImportVector.ui" line="273"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="278"/>
+        <source>Convert field names to lowercase</source>
+        <translation>Feldnamen in Kleinschreibung umwandeln</translation>
+    </message>
 </context>
 <context>
     <name>DbManagerDlgSqlLayerWindow</name>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="14"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="281"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="282"/>
         <source>SQL window</source>
         <translation>SQL-Fenster</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="22"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="282"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="283"/>
         <source><html><head/><body><p>Avoid selecting feature by id. Sometimes - especially when running expensive queries/views - fetching the data sequentially instead of fetching features by id can be much quicker.</p></body></html></source>
         <translation><html><head/><body><p>Auswahl von Objekten nach ID vermeiden.  Manchmal- besonders, wenn teure Abfragen durchgeführt/Sichten abgefragt werden - kann das sequentielle Laden der Objekte deutlich schneller als die Abfrage nach ID sein.</p></body></html></translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="25"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="283"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="284"/>
         <source>Avoid selecting by feature id</source>
         <translation>Objektabfrage nach ID vermeiden</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="45"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="284"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="285"/>
         <source>Update</source>
         <translation>Aktualisieren</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="83"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="285"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="286"/>
         <source>Saved query:</source>
         <translation>Gespeicherte Abfrage:</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="93"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="286"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="287"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="107"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="287"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="288"/>
         <source>Store</source>
         <translation>Speichern</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="114"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="288"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="289"/>
         <source>Delete</source>
         <translation>Löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="128"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="289"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="290"/>
         <source>&Execute (F5)</source>
         <translation>&Ausführen (F5)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="131"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="290"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="291"/>
         <source>F5</source>
         <translation>F5</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="158"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="291"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="292"/>
         <source>&Clear</source>
         <translation>&Löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="193"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="292"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="293"/>
         <source>Column(s) with
 unique values</source>
         <translation>Spalte(n) mit
@@ -3446,13 +3457,13 @@ eindeutigen Werten</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="220"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="293"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="294"/>
         <source>Geometry column</source>
         <translation>Geometriespalte</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="265"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="294"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="295"/>
         <source>Retrieve
 columns</source>
         <translation>Spalten
@@ -3460,31 +3471,31 @@ laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="277"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="295"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="296"/>
         <source>Layer name (prefix)</source>
         <translation>Layername (Präfix)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="303"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="296"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="297"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="313"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="297"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="298"/>
         <source>Vector</source>
         <translation>Vektor</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="323"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="298"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="299"/>
         <source>Raster</source>
         <translation>Raster</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="349"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="299"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="300"/>
         <source>Set filter</source>
         <translation>Filter setzen</translation>
     </message>
@@ -3493,13 +3504,13 @@ laden</translation>
     <name>DbManagerDlgSqlWindow</name>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="14"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="303"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="304"/>
         <source>SQL window</source>
         <translation>SQL-Fenster</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="80"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="308"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="309"/>
         <source>Column(s) with 
 unique values</source>
         <translation>Spalte(n) mit
@@ -3507,61 +3518,61 @@ eindeutigen Werten</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="242"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="315"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="316"/>
         <source>Set filter</source>
         <translation>Filter setzen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="313"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="318"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="319"/>
         <source>Store</source>
         <translation>Speichern</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="320"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="319"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="320"/>
         <source>Delete</source>
         <translation>Löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="334"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="320"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="321"/>
         <source>&Execute (F5)</source>
         <translation>&Ausführen (F5)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="337"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="321"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="322"/>
         <source>F5</source>
         <translation>F5</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="351"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="322"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="323"/>
         <source>Create a view</source>
         <translation>Sicht erzeugen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="371"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="323"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="324"/>
         <source>&Clear</source>
         <translation>&Löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="26"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="304"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="305"/>
         <source>Load as new layer</source>
         <translation>Als neuen Layer laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="107"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="309"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="310"/>
         <source>Geometry column</source>
         <translation>Geometriespalte</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="152"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="310"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="311"/>
         <source>Retrieve 
 columns</source>
         <translation>Spalten 
@@ -3569,55 +3580,55 @@ laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="164"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="311"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="312"/>
         <source>Layer name (prefix)</source>
         <translation>Layername (Präfix)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="196"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="312"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="313"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="206"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="313"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="314"/>
         <source>Vector</source>
         <translation>Vektor</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="216"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="314"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="315"/>
         <source>Raster</source>
         <translation>Raster</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="69"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="307"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="308"/>
         <source>Load now!</source>
         <translation>Jetzt laden!</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="46"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="305"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="306"/>
         <source><html><head/><body><p>Avoid selecting feature by id. Sometimes - especially when running expensive queries/views - fetching the data sequentially instead of fetching features by id can be much quicker.</p></body></html></source>
         <translation><html><head/><body><p>Auswahl von Objekten nach ID vermeiden.  Manchmal- besonders, wenn teure Abfragen durchgeführt/Sichten abgefragt werden - kann das sequentielle Laden der Objekte deutlich schneller als die Abfrage nach ID sein.</p></body></html></translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="49"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="306"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="307"/>
         <source>Avoid selecting by feature id</source>
         <translation>Objektabfrage nach ID vermeiden</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="289"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="316"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="317"/>
         <source>Saved query:</source>
         <translation>Gespeicherte Abfrage:</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="299"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="317"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="318"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
@@ -3626,97 +3637,97 @@ laden</translation>
     <name>DbManagerDlgTableProperties</name>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="14"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="327"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="328"/>
         <source>Table properties</source>
         <translation>Tabellleneigenschaften</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="24"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="328"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="329"/>
         <source>Columns</source>
         <translation>Spalten</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="30"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="329"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="330"/>
         <source>Table columns:</source>
         <translation>Tabellenspalten:</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="46"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="330"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="331"/>
         <source>Add column</source>
         <translation>Spalte hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="53"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="331"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="332"/>
         <source>Add geometry column</source>
         <translation>Geometriespalte hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="60"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="332"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="333"/>
         <source>Edit column</source>
         <translation>Spalte bearbeiten</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="80"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="333"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="334"/>
         <source>Delete column</source>
         <translation>Spalte löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="90"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="334"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="335"/>
         <source>Constraints</source>
         <translation>Restriktionen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="96"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="335"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="336"/>
         <source>Primary, foreign keys, unique and check constraints:</source>
         <translation>Primär-, Fremdschlüssel-, eindeutige und Prüfrestriktionen:</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="112"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="336"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="337"/>
         <source>Add primary key / unique</source>
         <translation>Eindeutige/Primärschlüssel</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="132"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="337"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="338"/>
         <source>Delete constraint</source>
         <translation>Restriktion löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="142"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="338"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="339"/>
         <source>Indexes</source>
         <translation>Indizes</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="148"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="339"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="340"/>
         <source>Indexes defined for this table:</source>
         <translation>Für die Tabelle definierte Indizes:</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="164"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="340"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="341"/>
         <source>Add index</source>
         <translation>Index hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="171"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="341"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="342"/>
         <source>Add spatial index</source>
         <translation>Räumlichen Index hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgTableProperties.ui" line="191"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="342"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="343"/>
         <source>Delete index</source>
         <translation>Index löschen</translation>
     </message>
@@ -3725,7 +3736,7 @@ laden</translation>
     <name>DbManagerQueryBuilderDlg</name>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="14"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="346"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="347"/>
         <source>SQL query builder</source>
         <translation>SQL-Abfrageditor</translation>
     </message>
@@ -3733,121 +3744,121 @@ laden</translation>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="30"/>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="192"/>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="281"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="347"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="348"/>
         <source>Columns</source>
         <translation>Spalten</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="47"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="348"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="349"/>
         <source>Tables     </source>
         <translation>Tabellen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="108"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="349"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="350"/>
         <source>Where    </source>
         <translation>Filter</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="115"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="350"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="351"/>
         <source>Group by</source>
         <translation>Gruppieren nach</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="122"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="351"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="352"/>
         <source>Order by</source>
         <translation>Sortieren nach</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="163"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="352"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="353"/>
         <source>Data</source>
         <translation>Daten</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="175"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="353"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="354"/>
         <source>Show system tables</source>
         <translation>Systemtabellen anzeigen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="183"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="354"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="355"/>
         <source>Tables</source>
         <translation>Tabellen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="221"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="355"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="356"/>
         <source>Aggregates</source>
         <translation>Aggregate</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="230"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="356"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="357"/>
         <source>Functions</source>
         <translation>Funktionen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="239"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="357"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="358"/>
         <source>Math</source>
         <translation>Mathe</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="248"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="358"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="359"/>
         <source>Strings functions</source>
         <translation>Zeichenkettenfunktionen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="257"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="359"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="360"/>
         <source>Operators</source>
         <translation>Operatoren</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="274"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="360"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="361"/>
         <source>Columns' values</source>
         <translation>Spaltenwerte</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="289"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="361"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="362"/>
         <source>Only 10 first values</source>
         <translation>Nur die zehn ersten Werte</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="327"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="362"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="363"/>
         <source>Spatial index</source>
         <translation>Räumlicher Index</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="334"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="363"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="364"/>
         <source>Table (with spatial index)</source>
         <translation>Tabelle (mit räuml. Index)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="343"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="364"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="365"/>
         <source>Table (Target)</source>
         <translation>Tabelle (Ziel)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="351"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="365"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="366"/>
         <source>Use spatial index</source>
         <translation>Räumlichen Index benutzen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="381"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="366"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="367"/>
         <source>&Reset</source>
         <translation>&Zurücksetzen</translation>
     </message>
@@ -3855,22 +3866,22 @@ laden</translation>
 <context>
     <name>DefineProjection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="473"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="474"/>
         <source>Define current projection</source>
         <translation>Aktuelle Projektion festlegen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="474"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="475"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="475"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="476"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="476"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="477"/>
         <source>Layer with projection</source>
         <translation>Layer mit Projektion</translation>
     </message>
@@ -3878,22 +3889,22 @@ laden</translation>
 <context>
     <name>Delaunay</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="482"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="483"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="480"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="481"/>
         <source>Delaunay triangulation</source>
         <translation>Delaunay-Triangulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="481"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="482"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="483"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="484"/>
         <source>Input file should contain at least 3 points. Choose another file and try again.</source>
         <translation>Eingabedatei sollte mindestens 3 Punkte enthalten. Eine andere Datei wählen und nochmal versuchen.</translation>
     </message>
@@ -3901,27 +3912,27 @@ laden</translation>
 <context>
     <name>DeleteColumn</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="488"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="489"/>
         <source>Vector table tools</source>
         <translation>Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="489"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="490"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="490"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="491"/>
         <source>Field to delete</source>
         <translation>Zu löschendes Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="491"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="492"/>
         <source>Deleted column</source>
         <translation>Gelöschte Spalte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="487"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="488"/>
         <source>Delete column</source>
         <translation>Spalte löschen</translation>
     </message>
@@ -3929,22 +3940,22 @@ laden</translation>
 <context>
     <name>DeleteDuplicateGeometries</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="496"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="497"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="497"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="498"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="498"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="499"/>
         <source>Cleaned</source>
         <translation>Bereinigt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="495"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="496"/>
         <source>Delete duplicate geometries</source>
         <translation>Doppelte Geometrien löschen</translation>
     </message>
@@ -3952,22 +3963,22 @@ laden</translation>
 <context>
     <name>DeleteHoles</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="503"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="504"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="504"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="505"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="505"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="506"/>
         <source>Cleaned</source>
         <translation>Bereinigt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="502"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="503"/>
         <source>Delete holes</source>
         <translation>Löcher löschen</translation>
     </message>
@@ -3975,17 +3986,17 @@ laden</translation>
 <context>
     <name>DeleteModelAction</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="509"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="510"/>
         <source>Delete model</source>
         <translation>Lösche Modell</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="510"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="511"/>
         <source>Confirmation</source>
         <translation>Bestätigung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="511"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="512"/>
         <source>Are you sure you want to delete this model?</source>
         <translation>Dieses Modell wirklich löschen?</translation>
     </message>
@@ -3993,17 +4004,17 @@ laden</translation>
 <context>
     <name>DeletePreconfiguredAlgorithmAction</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="515"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="516"/>
         <source>Delete preconfigured algorithm</source>
         <translation>Vorkonfigurierten Algorithmus entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="516"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="517"/>
         <source>Confirmation</source>
         <translation>Bestätigung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="517"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="518"/>
         <source>Are you sure you want to delete this algorithm?</source>
         <translation>Soll dieser Algorithmus wirklich gelöscht werden?</translation>
     </message>
@@ -4011,17 +4022,17 @@ laden</translation>
 <context>
     <name>DeleteScriptAction</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="521"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="522"/>
         <source>Delete script</source>
         <translation>Lösche Skript</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="522"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="523"/>
         <source>Confirmation</source>
         <translation>Bestätigung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="523"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="524"/>
         <source>Are you sure you want to delete this script?</source>
         <translation>Dieses Skript wirklich löschen?</translation>
     </message>
@@ -4029,27 +4040,27 @@ laden</translation>
 <context>
     <name>DensifyGeometries</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="528"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="529"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="529"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="530"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="530"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="531"/>
         <source>Vertices to add</source>
         <translation>Zu ergänzende Stützpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="531"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="532"/>
         <source>Densified</source>
         <translation>Verdichtet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="527"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="528"/>
         <source>Densify geometries</source>
         <translation>Geometrien verdichten</translation>
     </message>
@@ -4057,27 +4068,27 @@ laden</translation>
 <context>
     <name>DensifyGeometriesInterval</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="536"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="537"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="537"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="538"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="538"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="539"/>
         <source>Interval between vertices to add</source>
         <translation>Intervall zwischen hinzuzufügenden Stützpunkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="539"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="540"/>
         <source>Densified</source>
         <translation>Verdichtet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="535"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="536"/>
         <source>Densify geometries given an interval</source>
         <translation>Geometrien mit gegebenem Intervall verdichten</translation>
     </message>
@@ -4145,104 +4156,104 @@ laden</translation>
     <name>Dialog</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAlgorithmBase.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="557"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="558"/>
         <source>Parameters</source>
         <translation>Parameter</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAlgorithmBase.ui" line="14"/>
         <location filename="../python/plugins/processing/ui/DlgMessage.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="546"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="547"/>
         <source>Dialog</source>
         <translation>Dialog</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAlgorithmBase.ui" line="39"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="558"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="559"/>
         <source>Log</source>
         <translation>Protokoll</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAlgorithmBase.ui" line="59"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="559"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="560"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgPostgisTableSelector.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="543"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="544"/>
         <source> output table</source>
         <translation>Ausgabetabelle</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgPostgisTableSelector.ui" line="20"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="544"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="545"/>
         <source>Select connection and schema</source>
         <translation>Verbindung und Schema wählen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgPostgisTableSelector.ui" line="41"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="545"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="546"/>
         <source>Table name</source>
         <translation>Tabellenname</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="547"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="548"/>
         <source>Script selector</source>
         <translation>Skriptauswahl</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="548"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="549"/>
         <source>Scripts to include</source>
         <translation>Einzuschließende Skripte</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="46"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="549"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="550"/>
         <source><a href='#'>All</a></source>
         <translation><a href='#'>Alle</a></translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="53"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="550"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="551"/>
         <source><a href='#'>None</a></source>
         <translation><a href='#'>Keine</a></translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="85"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="551"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="552"/>
         <source>Plugin name</source>
         <translation>Erweiterungsname</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="95"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="552"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="553"/>
         <source>Plugin description</source>
         <translation>Erweiterungsbeschreibung</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="105"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="553"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="554"/>
         <source>Author's name</source>
         <translation>Autorenname</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="115"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="554"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="555"/>
         <source>Author's email</source>
         <translation>E-Mail-Adresse des Autors</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="132"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="555"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="556"/>
         <source>Output folder</source>
         <translation>Ausgabeverzeichnis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/scriptselector.ui" line="144"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="556"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="557"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -4250,48 +4261,48 @@ laden</translation>
 <context>
     <name>Difference</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="565"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="566"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="566"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="567"/>
         <source>Difference layer</source>
         <translation>Differenzlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="567"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="568"/>
         <source>Ignore invalid input features</source>
         <translation>Ungültige Eingabeobjekte ignorieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="568"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="569"/>
         <source>Feature with NULL geometry found.</source>
         <translation>Objekt mut NULL-Geometrie gefunden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="569"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="570"/>
         <source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
         <translation>GEOS-Verarbeitungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="570"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="571"/>
         <source>Features with invalid geometries found. Please fix these errors or specify the "Ignore invalid input features" flag</source>
         <translation>Objekt mit ungütligen Geometrien gefunden. Bitte diese Fehler korrigieren oder "Ungültige Eingabeobjekte ignorieren" angeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="571"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="572"/>
         <source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
         <translation>
 Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometrie wurden ignoriert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="563"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="564"/>
         <source>Difference</source>
         <translation>Differenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="564"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="565"/>
         <source>Vector overlay tools</source>
         <translation>Vektorlayerüberlagerungswerkzeuge</translation>
     </message>
@@ -4299,57 +4310,57 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DinfDistDown</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="575"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="576"/>
         <source>D-Infinity Distance Down</source>
         <translation>D-Infinity Entfernung nach unten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="576"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="577"/>
         <source>Specialized Grid Analysis tools</source>
         <translation>Spezialisierte Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="577"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="578"/>
         <source>D-Infinity Flow Direction Grid</source>
         <translation>D-Infinity Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="578"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="579"/>
         <source>Pit Filled Elevation Grid</source>
         <translation>Höhengitter mit gefüllten Löchern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="579"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="580"/>
         <source>Stream Raster Grid</source>
         <translation>Stromrastergitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="580"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="581"/>
         <source>Weight Path Grid</source>
         <translation>Pfadgewichtungsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="581"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="582"/>
         <source>Statistical Method</source>
         <translation>Statistische Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="582"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="583"/>
         <source>Distance Method</source>
         <translation>Distanz Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="583"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="584"/>
         <source>Check for edge contamination</source>
         <translation>Kantenverunreinigung prüfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="584"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="585"/>
         <source>D-Infinity Drop to Stream Grid</source>
         <translation>D-Infinity Abstand nach unten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="585"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="586"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -4357,57 +4368,57 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DinfDistDownMulti</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="589"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="590"/>
         <source>D-Infinity Distance Down (multifile)</source>
         <translation>D-Infinity Entfernung nach unten (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="590"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="591"/>
         <source>Specialized Grid Analysis tools</source>
         <translation>Spezialisierte Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="591"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="592"/>
         <source>D-Infinity Flow Direction Grid</source>
         <translation>D-Infinity Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="592"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="593"/>
         <source>Pit Filled Elevation Grid</source>
         <translation>Höhengitter mit gefüllten Löchern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="593"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="594"/>
         <source>Stream Raster Grid</source>
         <translation>Stromrastergitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="594"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="595"/>
         <source>Weight Path Grid</source>
         <translation>Pfadgewichtungsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="595"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="596"/>
         <source>Statistical Method</source>
         <translation>Statistische Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="596"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="597"/>
         <source>Distance Method</source>
         <translation>Distanz Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="597"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="598"/>
         <source>Check for edge contamination</source>
         <translation>Kantenverunreinigung prüfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="598"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="599"/>
         <source>D-Infinity Drop to Stream Grid</source>
         <translation>D-Infinity Sende and Strom Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="599"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="600"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -4415,52 +4426,52 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DinfDistUp</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="605"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="606"/>
         <source>D-Infinity Flow Direction Grid</source>
         <translation>D-Infinity Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="606"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="607"/>
         <source>Pit Filled Elevation Grid</source>
         <translation>Höhengitter mit gefüllten Löchern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="607"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="608"/>
         <source>Slope Grid</source>
         <translation>Neigungsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="608"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="609"/>
         <source>Statistical Method</source>
         <translation>Statistische Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="609"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="610"/>
         <source>Distance Method</source>
         <translation>Distanz Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="610"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="611"/>
         <source>Proportion Threshold</source>
         <translation>Anteils Schwellenwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="611"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="612"/>
         <source>Check for edge contamination</source>
         <translation>Kantenverunreinigung prüfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="603"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="604"/>
         <source>D-Infinity Distance Up</source>
         <translation>D-Infinity Entfernung hoch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="604"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="605"/>
         <source>Specialized Grid Analysis tools</source>
         <translation>Spezialisierte Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="612"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="613"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -4468,57 +4479,57 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DinfDistUpMulti</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="616"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="617"/>
         <source>D-Infinity Distance Up (multifile)</source>
         <translation>D-Infinity Entfernung nach oben (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="617"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="618"/>
         <source>Specialized Grid Analysis tools</source>
         <translation>Spezialisierte Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="618"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="619"/>
         <source>D-Infinity Flow Direction Grid</source>
         <translation>D-Infinity Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="619"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="620"/>
         <source>Pit Filled Elevation Grid</source>
         <translation>Höhengitter mit gefüllten Löchern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="620"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="621"/>
         <source>Slope Grid</source>
         <translation>Neigungsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="621"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="622"/>
         <source>Statistical Method</source>
         <translation>Statistische Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="622"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="623"/>
         <source>Distance Method</source>
         <translation>Distanz Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="623"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="624"/>
         <source>Proportion Threshold</source>
         <translation>Anteils Schwellenwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="624"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="625"/>
         <source>Check for edge contamination</source>
         <translation>Kantenverunreinigung prüfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="625"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="626"/>
         <source>D-Infinity Distance Up</source>
         <translation>D-Infinity Entfernung hoch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="626"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="627"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -4526,52 +4537,52 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DinfTransLimAccum</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="630"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="631"/>
         <source>D-Infinity Transport Limited Accumulation</source>
         <translation>D-Infinity transportbegrenzte Akkumulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="631"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="632"/>
         <source>Specialized Grid Analysis tools</source>
         <translation>Spezialisierte Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="632"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="633"/>
         <source>D-Infinity Flow Direction Grid</source>
         <translation>D-Infinity Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="633"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="634"/>
         <source>Supply Grid</source>
         <translation>Versorgungsnetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="634"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="635"/>
         <source>Transport Capacity Grid</source>
         <translation>Transportkapazitätsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="635"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="636"/>
         <source>Outlets Shapefile</source>
         <translation>Auslaß-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="636"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="637"/>
         <source>Check for edge contamination</source>
         <translation>Kantenverunreinigung prüfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="637"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="638"/>
         <source>Transport Limited Accumulation Grid</source>
         <translation>Transportbegrenztes Akkumulations Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="638"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="639"/>
         <source>Deposition Grid</source>
         <translation>Ablagerungs Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="639"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="640"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -4579,62 +4590,62 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DinfTransLimAccum2</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="643"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="644"/>
         <source>D-Infinity Transport Limited Accumulation - 2</source>
         <translation>D-Infinity transportbegrenzte Akkumulation - 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="644"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="645"/>
         <source>Specialized Grid Analysis tools</source>
         <translation>Spezialisierte Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="645"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="646"/>
         <source>D-Infinity Flow Direction Grid</source>
         <translation>D-Infinity Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="646"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="647"/>
         <source>Supply Grid</source>
         <translation>Versorgungsnetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="647"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="648"/>
         <source>Transport Capacity Grid</source>
         <translation>Transportkapazitätsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="648"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="649"/>
         <source>Input Concentration Grid</source>
         <translation>Eingangs Konzentrationsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="649"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="650"/>
         <source>Outlets Shapefile</source>
         <translation>Auslaß-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="650"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="651"/>
         <source>Check for edge contamination</source>
         <translation>Kantenverunreinigung prüfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="651"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="652"/>
         <source>Transport Limited Accumulation Grid</source>
         <translation>Transportbegrenztes Akkumulations Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="652"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="653"/>
         <source>Deposition Grid</source>
         <translation>Ablagerungs Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="653"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="654"/>
         <source>Output Concentration Grid</source>
         <translation>Ausgangs Konzentrationsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="654"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="655"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -4642,62 +4653,62 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DinfTransLimAccum2Multi</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="658"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="659"/>
         <source>D-Infinity Transport Limited Accumulation - 2 (multifile)</source>
         <translation>D-Infinity transportbegrenzte Akkumulation - 2 (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="659"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="660"/>
         <source>Specialized Grid Analysis tools</source>
         <translation>Spezialisierte Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="660"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="661"/>
         <source>D-Infinity Flow Direction Grid</source>
         <translation>D-Infinity Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="661"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="662"/>
         <source>Supply Grid</source>
         <translation>Versorgungsnetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="662"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="663"/>
         <source>Transport Capacity Grid</source>
         <translation>Transportkapazitätsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="663"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="664"/>
         <source>Input Concentration Grid</source>
         <translation>Eingangs Konzentrationsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="664"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="665"/>
         <source>Outlets Shapefile</source>
         <translation>Auslaß-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="665"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="666"/>
         <source>Check for edge contamination</source>
         <translation>Kantenverunreinigung prüfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="666"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="667"/>
         <source>Transport Limited Accumulation Grid</source>
         <translation>Transportbegrenztes Akkumulations Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="667"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="668"/>
         <source>Deposition Grid</source>
         <translation>Ablagerungs Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="668"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="669"/>
         <source>Output Concentration Grid</source>
         <translation>Ausgangs Konzentrationsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="669"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="670"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -4705,52 +4716,52 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DinfTransLimAccumMulti</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="673"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="674"/>
         <source>D-Infinity Transport Limited Accumulation (multifile)</source>
         <translation>D-Infinity transportbegrenzte Akkumulation (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="674"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="675"/>
         <source>Specialized Grid Analysis tools</source>
         <translation>Spezialisierte Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="675"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="676"/>
         <source>D-Infinity Flow Direction Grid</source>
         <translation>D-Infinity Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="676"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="677"/>
         <source>Supply Grid</source>
         <translation>Versorgungsnetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="677"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="678"/>
         <source>Transport Capacity Grid</source>
         <translation>Transportkapazitätsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="678"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="679"/>
         <source>Outlets Shapefile</source>
         <translation>Auslaß-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="679"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="680"/>
         <source>Check for edge contamination</source>
         <translation>Kantenverunreinigung prüfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="680"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="681"/>
         <source>Transport Limited Accumulation Grid</source>
         <translation>Transportbegrenztes Akkumulations Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="681"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="682"/>
         <source>Deposition Grid</source>
         <translation>Ablagerungs Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="682"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="683"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -4758,22 +4769,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DirectorySelectorDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="686"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="687"/>
         <source>Add</source>
         <translation>Hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="687"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="688"/>
         <source>Remove</source>
         <translation>Entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="688"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="689"/>
         <source>Remove all</source>
         <translation>Alle entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="689"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="690"/>
         <source>Select directory</source>
         <translation>Verzeichnis wählen</translation>
     </message>
@@ -4781,7 +4792,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>Dissolve</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="699"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="700"/>
         <source>Geometry exception while dissolving</source>
         <translation>Geometrieausnahme während Zerlegung</translation>
     </message>
@@ -4794,37 +4805,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="obsolete">Eindeutiges Schlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="697"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="698"/>
         <source>ValidateGeometry()error: One or more input features have invalid geometry: </source>
         <translation>Geometrievalidierungsfehler: Ein oder mehrere Eingabeobjekt haben ungültige Geometrie:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="698"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="699"/>
         <source>ValidateGeometry()error:One or more inputfeatures have invalid geometry: </source>
         <translation>GEOS-Validierungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="700"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="701"/>
         <source>ValidateGeometry() error: One or more inputfeatures have invalid geometry: </source>
         <translation>Geometriefehler: Ein oder mehrere Eingabeobjekt haben ungültige Geometrie:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="693"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="694"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="694"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="695"/>
         <source>Dissolve all (do not use fields)</source>
         <translation>Alle auflösen (Felder nicht nutzen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="695"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="696"/>
         <source>Unique ID fields</source>
         <translation>Eindeutige Schlüsselfelder</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="696"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="697"/>
         <source>Dissolved</source>
         <translation>Aufgelöst</translation>
     </message>
@@ -4832,12 +4843,12 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DlgAddGeometryColumn</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="370"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="371"/>
         <source>DB Manager</source>
         <translation>DB-Verwaltung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="371"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="372"/>
         <source>field name must not be empty</source>
         <translation>Feldname darf nicht leer sein</translation>
     </message>
@@ -4846,37 +4857,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgAutofill</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="704"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="705"/>
         <source>Autofill settings</source>
         <translation>Autofülleinstellungen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="20"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="705"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="706"/>
         <source>Autofill mode</source>
         <translation>Autofüllmodus</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="28"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="706"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="707"/>
         <source>Do not autofill</source>
         <translation>Nicht automatisch füllen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="33"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="707"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="708"/>
         <source>Fill with numbers</source>
         <translation>Mit Zahlen füllen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="38"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="708"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="709"/>
         <source>Fill with parameter values</source>
         <translation>Mit Parameterwerten füllen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="49"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="709"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="710"/>
         <source>Parameter to use</source>
         <translation>Zu benutzender Parameter</translation>
     </message>
@@ -4885,13 +4896,13 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgConfig</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgConfig.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="713"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="714"/>
         <source>Processing options</source>
         <translation>Verarbeitungsoptionen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgConfig.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="714"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="715"/>
         <source>Enter setting name to filter list</source>
         <translation>Einstellungsname eingeben, um Liste zu filtern</translation>
     </message>
@@ -4899,12 +4910,12 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DlgCreateIndex</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="375"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="376"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="376"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="377"/>
         <source>Please enter some name for the index</source>
         <translation>Bitte einen Indexnamen angeben</translation>
     </message>
@@ -4912,62 +4923,62 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DlgCreateTable</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="380"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="381"/>
         <source>&Create</source>
         <translation>&Erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="381"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="382"/>
         <source>DB Manager</source>
         <translation>DB-Verwaltung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="382"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="383"/>
         <source>no field selected</source>
         <translation>Kein Feld gewählt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="383"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="384"/>
         <source>field is at top already</source>
         <translation>Feld ist bereits ganz oben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="384"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="385"/>
         <source>No field selected</source>
         <translation>Kein Feld gewählt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="385"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="386"/>
         <source>field is at bottom already</source>
         <translation>Feld ist bereits ganz unten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="386"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="387"/>
         <source>select schema!</source>
         <translation>Schema wählen!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="387"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="388"/>
         <source>enter table name!</source>
         <translation>Tabellennamen eingeben!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="388"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="389"/>
         <source>add some fields!</source>
         <translation>Felder hinzufügen!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="389"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="390"/>
         <source>set geometry column name</source>
         <translation>Geometriespaltennamen angeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="390"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="391"/>
         <source>Good</source>
         <translation>Gut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="391"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="392"/>
         <source>everything went fine</source>
         <translation>Alles verlief gut</translation>
     </message>
@@ -4975,39 +4986,39 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DlgExportVector</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="395"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="396"/>
         <source>Choose where to save the file</source>
         <translation>Dateiname zum Speichern wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="396"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="397"/>
         <source>Export to file</source>
         <translation>In Datei exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="397"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="398"/>
         <source>Output file name is required</source>
         <translation>Ausgabedateiname ist erforderlich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="398"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="399"/>
         <source>Invalid source srid: must be an integer</source>
         <translation>Ungültige Quell-SRID: Muß eine ganze Zahl sein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="399"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="400"/>
         <source>Invalid target srid: must be an integer</source>
         <translation>Ungültige Ziel-SRID: Muß eine ganze Zahl sein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="400"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="401"/>
         <source>Error %d
 %s</source>
         <translation>Fehler:%d
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="401"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="402"/>
         <source>Export finished.</source>
         <translation>Export abgeschlossen.</translation>
     </message>
@@ -5015,17 +5026,17 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DlgFieldProperties</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="405"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="406"/>
         <source>DB Manager</source>
         <translation>DB-Verwaltung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="406"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="407"/>
         <source>field name must not be empty</source>
         <translation>Feldname darf nicht leer sein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="407"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="408"/>
         <source>field type must not be empty</source>
         <translation>Feldtyp darf nicht leer sein</translation>
     </message>
@@ -5034,7 +5045,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgFixedTable</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgFixedTable.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="718"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="719"/>
         <source>Fixed table</source>
         <translation>Feste Tabelle</translation>
     </message>
@@ -5043,7 +5054,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgGetScriptsAndModels</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgGetScriptsAndModels.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="722"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="723"/>
         <source>Get scripts and models</source>
         <translation>Skripte und Modelle laden</translation>
     </message>
@@ -5052,19 +5063,19 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgHelpEdition</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgHelpEdition.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="726"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="727"/>
         <source>Help editor</source>
         <translation>Hilfeeditor</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgHelpEdition.ui" line="43"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="727"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="728"/>
         <source>Select element to edit</source>
         <translation>Element zur Bearbeitung wählen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgHelpEdition.ui" line="78"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="728"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="729"/>
         <source>Element description</source>
         <translation>Elementbeschreibung</translation>
     </message>
@@ -5073,7 +5084,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgHistory</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgHistory.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="732"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="733"/>
         <source>History</source>
         <translation>Historie</translation>
     </message>
@@ -5081,44 +5092,44 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DlgImportVector</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="411"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="412"/>
         <source>Choose the file to import</source>
         <translation>Zu importierende Datei wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="412"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="413"/>
         <source>Import to database</source>
         <translation>In Datenbank importieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="413"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="414"/>
         <source>Input layer missing or not valid</source>
         <translation>Eingabelayer fehlt oder ist ungültig</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="414"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="415"/>
         <source>Output table name is required</source>
         <translation>Ausgabetabellenname ist erforderlich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="415"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="416"/>
         <source>Invalid source srid: must be an integer</source>
         <translation>Ungültige Quell-SRID: Muß eine ganze Zahl sein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="416"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="417"/>
         <source>Invalid target srid: must be an integer</source>
         <translation>Ungültige Ziel-SRID: Muß eine ganze Zahl sein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="417"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="418"/>
         <source>Error %d
 %s</source>
         <translation>Fehler:%d
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="418"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="419"/>
         <source>Import was successful.</source>
         <translation>Import war erfolgreich.</translation>
     </message>
@@ -5127,13 +5138,13 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgModeler</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="736"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="737"/>
         <source>Processing modeler</source>
         <translation>Verarbeitungsmodellierung</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="34"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="737"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="738"/>
         <source>Open model</source>
         <translation>Modell öffnen</translation>
     </message>
@@ -5145,97 +5156,97 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="105"/>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="125"/>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="145"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="738"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="739"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="50"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="740"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="741"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="66"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="742"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="743"/>
         <source>Save as...</source>
         <translation>Speichern als...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="89"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="744"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="745"/>
         <source>Export as image</source>
         <translation>Speichern als Rasterbild</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="102"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="745"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="746"/>
         <source>Export as Python script</source>
         <translation>Exportiere als Python-Skript</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="122"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="746"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="747"/>
         <source>Edit model help</source>
         <translation>Modellhilfe bearbeiten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="142"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="747"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="748"/>
         <source>Run model</source>
         <translation>Modell ausführen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="190"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="749"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="750"/>
         <source>Inputs</source>
         <translation>Eingaben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="218"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="750"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="751"/>
         <source>Algorithms</source>
         <translation>Algorithmen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="230"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="751"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="752"/>
         <source>Enter algorithm name to filter list</source>
         <translation>Algorithmenname eingeben, um Liste zu filtern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="260"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="752"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="753"/>
         <source>Enter model name here</source>
         <translation>Modellname hier eingeben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="267"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="753"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="754"/>
         <source>Enter group name here</source>
         <translation>Gruppenname eingeben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="40"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="739"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="740"/>
         <source>Ctrl+O</source>
         <translation>Strg+O</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="56"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="741"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="742"/>
         <source>Ctrl+S</source>
         <translation>Strg+S</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="72"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="743"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="744"/>
         <source>Ctrl+Shift+S</source>
         <translation>Strg+Umschalt+S</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="148"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="748"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="749"/>
         <source>F5</source>
         <translation>F5</translation>
     </message>
@@ -5244,7 +5255,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgMultipleSelection</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgMultipleSelection.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="757"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="758"/>
         <source>Multiple selection</source>
         <translation>Mehrfachauswahl</translation>
     </message>
@@ -5253,19 +5264,19 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgNumberInput</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgNumberInput.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="761"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="762"/>
         <source>Enter number or expression</source>
         <translation>Zahl oder Ausdruck eingeben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgNumberInput.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="762"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="763"/>
         <source><html><head/><body><p>Enter expression in the text field. Double click on elements in the tree to add their values to the expression.</p></body></html></source>
         <translation><html><head/><body><p>Einen Ausdruck in das Textfeld eingeben. Auf Baumelemente doppelklicken, um deren Wert dem Ausdruck hinzuzufügen.</p></body></html></translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgNumberInput.ui" line="36"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="763"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="764"/>
         <source><html><head/><body><p><span style=" font-weight:600;">Warning</span>: if expression result is float value, but integer required, result will be rounded to integer.</p></body></html></source>
         <translation><html><head/><body><p><span style=" font-weight:600;">Warnung</span>: wenn der Ausdruck eine Fließkommazahl ist, aber eine ganze Zahl gefordert ist, wird das Ergebnis auf eine ganze Zahl gerundet.</p></body></html></translation>
     </message>
@@ -5274,19 +5285,19 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgRenderingStyles</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgRenderingStyles.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="767"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="768"/>
         <source>Dialog</source>
         <translation>Dialog</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgRenderingStyles.ui" line="30"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="768"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="769"/>
         <source>Output</source>
         <translation>Ausgabe</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgRenderingStyles.ui" line="35"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="769"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="770"/>
         <source>Style</source>
         <translation>Stil</translation>
     </message>
@@ -5295,7 +5306,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgResults</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgResults.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="773"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="774"/>
         <source>Results</source>
         <translation>Ergebnisse</translation>
     </message>
@@ -5304,13 +5315,13 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgScriptEditor</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="777"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="778"/>
         <source>Script editor</source>
         <translation>Skript-Editor</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="56"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="781"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="782"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
@@ -5326,127 +5337,127 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="196"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="212"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="232"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="779"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="780"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="72"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="783"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="784"/>
         <source>Save as...</source>
         <translation>Speichern als...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="95"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="785"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="786"/>
         <source>Edit script help</source>
         <translation>Skripthilfe bearbeiten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="115"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="786"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="787"/>
         <source>Run algorithm</source>
         <translation>Algorithmus ausführen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="138"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="788"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="789"/>
         <source>Cut</source>
         <translation>Ausschneiden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="154"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="790"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="791"/>
         <source>Copy</source>
         <translation>Kopieren</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="170"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="792"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="793"/>
         <source>Paste</source>
         <translation>Einfügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="193"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="794"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="795"/>
         <source>Undo</source>
         <translation>Zurücknehmen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="209"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="796"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="797"/>
         <source>Redo</source>
         <translation>Wiederholen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="40"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="778"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="779"/>
         <source>Open script</source>
         <translation>Skript öffnen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="46"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="780"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="781"/>
         <source>Ctrl+O, Return</source>
         <translation>Strg+O, Eingabe</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="62"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="782"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="783"/>
         <source>Ctrl+S</source>
         <translation>Strg+S</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="78"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="784"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="785"/>
         <source>Ctrl+Shift+S</source>
         <translation>Strg+Umschalt+S</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="121"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="787"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="788"/>
         <source>F5</source>
         <translation>F5</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="144"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="789"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="790"/>
         <source>Ctrl+X</source>
         <translation>Strg+X</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="160"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="791"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="792"/>
         <source>Ctrl+C</source>
         <translation>Strg+C</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="176"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="793"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="794"/>
         <source>Ctrl+V</source>
         <translation>Strg+V</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="199"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="795"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="796"/>
         <source>Ctrl+Z</source>
         <translation>Strg+Z</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="215"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="797"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="798"/>
         <source>Ctrl+Shift+Z</source>
         <translation>Strg+Umschalt+Z</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="249"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="798"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="799"/>
         <source>A+</source>
         <translation>A+</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="259"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="799"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="800"/>
         <source>A-</source>
         <translation>A-</translation>
     </message>
@@ -5454,17 +5465,17 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DlgSqlLayerWindow</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="422"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="423"/>
         <source>Column(s) with unique values</source>
         <translation>Spalte(n) mit eindeutigen Werten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="423"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="424"/>
         <source>Column with unique values</source>
         <translation>Spalte mit eindeutigen Werten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="424"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="425"/>
         <source>%d rows, %.1f seconds</source>
         <translation>%d Zeilen, %.1f Sekunden</translation>
     </message>
@@ -5472,17 +5483,17 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DlgSqlWindow</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="428"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="429"/>
         <source>Column(s) with unique values</source>
         <translation>Spalte(n) mit eindeutigen Werten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="429"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="430"/>
         <source>Column with unique values</source>
         <translation>Spalte mit eindeutigen Werten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="430"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="431"/>
         <source>%d rows, %.1f seconds</source>
         <translation>%d Zeilen, %.1f Sekunden</translation>
     </message>
@@ -5490,52 +5501,52 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DlgTableProperties</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="434"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="435"/>
         <source>DB Manager</source>
         <translation>DB-Verwaltung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="435"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="436"/>
         <source>nothing selected</source>
         <translation>Nichts gewählt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="436"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="437"/>
         <source>Are you sure</source>
         <translation>Sind Sie sicher</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="437"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="438"/>
         <source>really delete column '%s'?</source>
         <translation>Die Spalte %s wirklich löschen?</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="438"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="439"/>
         <source>really delete constraint '%s'?</source>
         <translation>Die Beschränkung %s wirklich löschen?</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="439"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="440"/>
         <source>The selected table has no geometry</source>
         <translation>Die gewählte Tabelle hat keine Geometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="440"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="441"/>
         <source>Create?</source>
         <translation>Erzeugen?</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="441"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="442"/>
         <source>Create spatial index for field %s?</source>
         <translation>Räumlichen Index für Feld %s anlegen?</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="442"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="443"/>
         <source>Nothing selected</source>
         <translation>Nichts gewählt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="443"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="444"/>
         <source>really delete index '%s'?</source>
         <translation>Den Index %s wirklich löschen?</translation>
     </message>
@@ -5544,79 +5555,79 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgVersioning</name>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="14"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="447"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="448"/>
         <source>Add versioning support to a table</source>
         <translation>Versionierungsunterstützung zur Tabelle hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="22"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="448"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="449"/>
         <source>Table is expected to be empty, with a primary key.</source>
         <translation>Leere Tabelle mit einem Primärschlüssel erwartet.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="31"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="449"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="450"/>
         <source>Schema</source>
         <translation>Schema</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="44"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="450"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="451"/>
         <source>Table</source>
         <translation>Tabelle</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="75"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="451"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="452"/>
         <source>create a view with current content (<TABLE>_current)</source>
         <translation>eine Sicht mit dem aktuellen Inhalt erzeugen (<TABELLE>_current)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="85"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="452"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="453"/>
         <source>New columns</source>
         <translation>Neue Spalten</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="91"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="453"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="454"/>
         <source>Prim. key</source>
         <translation>Prim.Schl</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="101"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="454"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="455"/>
         <source>id_hist</source>
         <translation>id_hist</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="108"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="455"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="456"/>
         <source>Start time</source>
         <translation>Startzeit</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="118"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="456"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="457"/>
         <source>time_start</source>
         <translation>time_start</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="125"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="457"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="458"/>
         <source>End time</source>
         <translation>Endzeit</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="135"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="458"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="459"/>
         <source>time_end</source>
         <translation>time_end</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="160"/>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="459"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="460"/>
         <source>SQL to be executed:</source>
         <translation>Auszuführendes SQL:</translation>
     </message>
@@ -5624,67 +5635,67 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DropAnalysis</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="803"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="804"/>
         <source>Stream Drop Analysis</source>
         <translation>Gewässergefälleanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="804"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="805"/>
         <source>Stream Network Analysis tools</source>
         <translation>Stromnetzwerkanalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="805"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="806"/>
         <source>D8 Contributing Area Grid</source>
         <translation>D8 beitragende Fläche Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="806"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="807"/>
         <source>D8 Flow Direction Grid</source>
         <translation>D8 Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="807"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="808"/>
         <source>Pit Filled Elevation Grid</source>
         <translation>Höhengitter mit gefüllten Löchern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="808"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="809"/>
         <source>Accumulated Stream Source Grid</source>
         <translation>Kumuliertes Fluss Quellennetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="809"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="810"/>
         <source>Outlets Shapefile</source>
         <translation>Auslaß-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="810"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="811"/>
         <source>Minimum Threshold</source>
         <translation>Minimum Schwellenwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="811"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="812"/>
         <source>Maximum Threshold</source>
         <translation>Maximum Schwellenwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="812"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="813"/>
         <source>Number of Threshold Values</source>
         <translation>Anzahl der Schwellenwerte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="813"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="814"/>
         <source>Spacing for Threshold Values</source>
         <translation>Abstand für Schwellenwerte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="814"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="815"/>
         <source>D-Infinity Drop to Stream Grid</source>
         <translation>D-Infinity Sende and Strom Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="815"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="816"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -5692,67 +5703,67 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DropAnalysisMulti</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="819"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="820"/>
         <source>Stream Drop Analysis (multifile)</source>
         <translation>Gewässergefälleanalyse (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="820"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="821"/>
         <source>Stream Network Analysis tools</source>
         <translation>Stromnetzwerkanalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="821"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="822"/>
         <source>D8 Contributing Area Grid</source>
         <translation>D8 beitragende Fläche Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="822"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="823"/>
         <source>D8 Flow Direction Grid</source>
         <translation>D8 Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="823"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="824"/>
         <source>Pit Filled Elevation Grid</source>
         <translation>Höhengitter mit gefüllten Löchern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="824"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="825"/>
         <source>Accumulated Stream Source Grid</source>
         <translation>Kumuliertes Fluss Quellennetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="825"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="826"/>
         <source>Outlets Shapefile</source>
         <translation>Auslaß-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="826"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="827"/>
         <source>Minimum Threshold</source>
         <translation>Minimum Schwellenwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="827"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="828"/>
         <source>Maximum Threshold</source>
         <translation>Maximum Schwellenwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="828"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="829"/>
         <source>Number of Threshold Values</source>
         <translation>Anzahl der Schwellenwerte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="829"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="830"/>
         <source>Spacing for Threshold Values</source>
         <translation>Abstand für Schwellenwerte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="830"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="831"/>
         <source>D-Infinity Drop to Stream Grid</source>
         <translation>D-Infinity Sende and Strom Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="831"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="832"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -5760,7 +5771,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>EditModelAction</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="835"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="836"/>
         <source>Edit model</source>
         <translation>Editiere Modell</translation>
     </message>
@@ -5768,7 +5779,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>EditScriptAction</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="839"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="840"/>
         <source>Edit script</source>
         <translation>Editiere Skript</translation>
     </message>
@@ -5794,112 +5805,112 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>Eliminate</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="844"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="845"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="845"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="846"/>
         <source>Largest area</source>
         <translation>Größte Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="846"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="847"/>
         <source>Smallest Area</source>
         <translation>Kleinste Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="847"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="848"/>
         <source>Largest common boundary</source>
         <translation>Größte gemeinsame Grenze</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="848"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="849"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="849"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="850"/>
         <source>Use current selection in input layer (works only if called from toolbox)</source>
         <translation>Aktuelle Auswahl des Eingabelayers verwenden (funktionert nur aus Werkzeugkasten heraus)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="850"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="851"/>
         <source>Selection attribute</source>
         <translation>Auswahlattribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="851"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="852"/>
         <source>Comparison</source>
         <translation>Vergleich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="852"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="853"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="853"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="854"/>
         <source>Merge selection with the neighbouring polygon with the</source>
         <translation>Vereinige Auswahl mit dem Nachbarpolygon mit den</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="854"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="855"/>
         <source>Cleaned</source>
         <translation>Bereinigt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="855"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="856"/>
         <source>Cannot convert "%s" to integer</source>
         <translation>Kann "%s" nicht in Integer umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="856"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="857"/>
         <source>Cannot convert "%s" to float</source>
         <translation>Kann "%s" nicht in float umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="857"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="858"/>
         <source>Cannot convert "%s" to unicode</source>
         <translation>Kann "%s" nicht in unicode umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="858"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="859"/>
         <source>Cannot convert "%s" to date with system date format %s</source>
         <translation>Kann "%s" nicht in Datum mit Systemdatumsformat %s umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="859"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="860"/>
         <source>Cannot convert "%s" to date with format string "%s"</source>
         <translation>Kann "%s" nicht in Datum im Format "%s" umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="860"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="861"/>
         <source>Enter the date and the date format, e.g. "07.26.2011" "MM.dd.yyyy".</source>
         <translation>Bitte Datum und Format eingeben, z.B.: "07.26.2011" "MM.dd.yyyy".</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="861"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="862"/>
         <source>"%s" can only be used with string fields</source>
         <translation>"%s" kann nur mit Textfeldern verwendet werden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="862"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="863"/>
         <source>Error in selection input: %s</source>
         <translation>Fehler in der Auswahleingabe: %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="863"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="864"/>
         <source>%s: (No selection in input layer "%s")</source>
         <translation>%s: (Keine Auswahl in Eingabelayer "%s")</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="864"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="865"/>
         <source>Could not replace geometry of feature with id %s</source>
         <translation>Konnte Geometrie des Objektes %s nicht ersetzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="843"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="844"/>
         <source>Eliminate sliver polygons</source>
         <translation>Splitterpolygone beseitigen</translation>
     </message>
@@ -5907,27 +5918,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>EquivalentNumField</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="868"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="869"/>
         <source>Add unique value index field</source>
         <translation>Feld mit eindeutigem Klassenindex hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="869"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="870"/>
         <source>Vector table tools</source>
         <translation>Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="870"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="871"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="871"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="872"/>
         <source>Class field</source>
         <translation>Klassenfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="872"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="873"/>
         <source>Layer with index field</source>
         <translation>Layer mit eindeutigem Klassenindex</translation>
     </message>
@@ -5935,22 +5946,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExampleAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="876"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="877"/>
         <source>Create copy of layer</source>
         <translation>Layerkopie erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="877"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="878"/>
         <source>Algorithms for vector layers</source>
         <translation>Algorithmen für Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="878"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="879"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="879"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="880"/>
         <source>Output layer with selected features</source>
         <translation>Eingabelayer mit gewählten Objekten</translation>
     </message>
@@ -5958,62 +5969,62 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExecuteSQL</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="883"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="884"/>
         <source>Execute SQL</source>
         <translation>SQL-Anweisung ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="884"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="885"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="885"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="886"/>
         <source>Additional input datasources (called input1, .., inputN in the query)</source>
         <translation>Zusätzliche Eingabedatenquellen (in der Abfrage input1, .., inputN genannt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="886"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="887"/>
         <source>SQL query</source>
         <translation>SQL-Abfrage</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="887"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="888"/>
         <source>Unique identifier field</source>
         <translation>Eindeutiges Schlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="888"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="889"/>
         <source>Geometry field</source>
         <translation>Geometriefeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="889"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="890"/>
         <source>Autodetect</source>
         <translation>Automatisch feststellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="890"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="891"/>
         <source>No geometry</source>
         <translation>Keine Geometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="891"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="892"/>
         <source>Geometry type</source>
         <translation>Geometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="892"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="893"/>
         <source>CRS</source>
         <translation>KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="893"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="894"/>
         <source>Output</source>
         <translation>Ausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="894"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="895"/>
         <source>Empty SQL. Please enter valid SQL expression and try again.</source>
         <translation>Leerer SQL-Ausdruck. Bitte einen gültigen SQL-Ausdruck eingeben und wiederholen.</translation>
     </message>
@@ -6021,22 +6032,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>Explode</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="899"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="900"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="900"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="901"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="901"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="902"/>
         <source>Exploded</source>
         <translation>Explodiert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="898"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="899"/>
         <source>Explode lines</source>
         <translation>Linien sprengen</translation>
     </message>
@@ -6044,42 +6055,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExportGeometryInfo</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="906"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="907"/>
         <source>Vector table tools</source>
         <translation>Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="907"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="908"/>
         <source>Layer CRS</source>
         <translation>Layer-KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="908"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="909"/>
         <source>Project CRS</source>
         <translation>Projekt-KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="909"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="910"/>
         <source>Ellipsoidal</source>
         <translation>Ellipsenförmig</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="910"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="911"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="911"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="912"/>
         <source>Calculate using</source>
         <translation>Berechnen mit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="912"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="913"/>
         <source>Added geom info</source>
         <translation>Geometrieinfo ergänzt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="905"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="906"/>
         <source>Export/Add geometry columns</source>
         <translation>Geometriespalte exportieren/hinzufügen</translation>
     </message>
@@ -6087,27 +6098,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExtentFromLayer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="917"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="918"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="918"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="919"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="919"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="920"/>
         <source>Calculate extent for each feature separately</source>
         <translation>Abmessung für jedes Objekt einzeln berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="920"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="921"/>
         <source>Extent</source>
         <translation>Umfang</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="916"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="917"/>
         <source>Polygon from layer extent</source>
         <translation>Polygon aus Layergrenzen</translation>
     </message>
@@ -6115,42 +6126,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExtentSelectionPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="924"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="925"/>
         <source>[Leave blank to use min covering extent]</source>
         <translation>[Freilassen, um min Abdeckungsumfang zu nutzen]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="925"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="926"/>
         <source>Use layer/canvas extent</source>
         <translation>Benutze Layer/Leinwand Ausdehnung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="926"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="927"/>
         <source>Select extent on canvas</source>
         <translation>Wähle Ausdehnung auf Leinwand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="927"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="928"/>
         <source>Use min covering extent from input layers</source>
         <translation>Benutze minimale Abdeckungsausmasse von Eingangslayern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="928"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="929"/>
         <source>Select extent</source>
         <translation>Ausdehnung wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="929"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="930"/>
         <source>Use extent from</source>
         <translation>Ausdehnung verwenden aus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="930"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="931"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="931"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="932"/>
         <source>The projection of the chosen layer is not the same as canvas projection! The selected extent might not be what was intended.</source>
         <translation>Die Projekt des gewählten Layers entspricht nicht der Kartenprojektion! Die gewählten Grenzen könnte nicht die beabsichtigten sein.</translation>
     </message>
@@ -6158,57 +6169,57 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExtractByAttribute</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="936"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="937"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="937"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="938"/>
         <source>begins with</source>
         <translation>Beginnt mit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="938"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="939"/>
         <source>contains</source>
         <translation>enthält</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="939"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="940"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="940"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="941"/>
         <source>Selection attribute</source>
         <translation>Auswahlattribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="941"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="942"/>
         <source>Operator</source>
         <translation>Operator</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="942"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="943"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="943"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="944"/>
         <source>Extracted (attribute)</source>
         <translation>Extrahiert (Attribut)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="944"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="945"/>
         <source>Operators %s can be used only with string fields.</source>
         <translation>Operatoren %s könnte nur in Textfeldern verwendet werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="945"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="946"/>
         <source>Unsupported field type "%s"</source>
         <translation>Nicht unterstützter Feldtyp "%s"</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="935"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="936"/>
         <source>Extract by attribute</source>
         <translation>Nach Attribut extrahieren</translation>
     </message>
@@ -6216,37 +6227,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExtractByLocation</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="951"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="952"/>
         <source>Layer to select from</source>
         <translation>Auswählen von Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="952"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="953"/>
         <source>Additional layer (intersection layer)</source>
         <translation>Zusätzliche Layer (Schnittlayer)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="954"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="955"/>
         <source>Precision</source>
         <translation>Genauigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="955"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="956"/>
         <source>Extracted (location)</source>
         <translation>Extrahiert (Position)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="949"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="950"/>
         <source>Extract by location</source>
         <translation>Nach Position extrahieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="950"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="951"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="953"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="954"/>
         <source>Geometric predicate</source>
         <translation>Geometrisches Prädikat</translation>
     </message>
@@ -6254,22 +6265,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExtractNodes</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="960"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="961"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="961"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="962"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="962"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="963"/>
         <source>Nodes</source>
         <translation>Knoten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="959"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="960"/>
         <source>Extract nodes</source>
         <translation>Knoten extrahieren</translation>
     </message>
@@ -6277,22 +6288,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExtractProjection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="967"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="968"/>
         <source>[GDAL] Projections</source>
         <translation>[GDAL] Projektionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="968"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="969"/>
         <source>Input file</source>
         <translation>Eingabedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="969"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="970"/>
         <source>Create also .prj file</source>
         <translation>Auch .prj-Datei erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="966"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="967"/>
         <source>Extract projection</source>
         <translation>Projektion extrahieren</translation>
     </message>
@@ -6301,144 +6312,144 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>FieldsCalculator</name>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="973"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="974"/>
         <source>Field calculator</source>
         <translation>Feldrechner</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="974"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="975"/>
         <source>Create a new field</source>
         <translation>Neues Feld anlegen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="59"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="975"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="976"/>
         <source>Output field name</source>
         <translation>Ausgabefeldname</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="72"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="976"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="977"/>
         <source>Output field type</source>
         <translation>Ausgabefeldtyp</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="85"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="977"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="978"/>
         <source>Output field width</source>
         <translation>Ausgabefeldbreite</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="95"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="978"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="979"/>
         <source>Width of complete output. For example 123,456 means 6 as field width.</source>
         <translation>Breite der kompletten Ausgabe. Zum  Beispiel bedeutet 123,456 eine Feldbreite von 6.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="108"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="979"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="980"/>
         <source>Precision</source>
         <translation>Genauigkeit</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="146"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="980"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="981"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="165"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="981"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="982"/>
         <source>Update existing field</source>
         <translation>Vorhandenes Feld erneuern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="195"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="982"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="983"/>
         <source>Output file</source>
         <translation>Ausgabedatei</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="205"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="983"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="984"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="984"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="985"/>
         <source>Vector table tools</source>
         <translation>Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="985"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="986"/>
         <source>Float</source>
         <translation>Fließkommazahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="986"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="987"/>
         <source>Integer</source>
         <translation>Ganze Zahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="987"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="988"/>
         <source>String</source>
         <translation>Zeichenkette</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="988"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="989"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="989"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="990"/>
         <source>Result field name</source>
         <translation>Ergebnisfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="990"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="991"/>
         <source>Field type</source>
         <translation>Feldtyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="991"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="992"/>
         <source>Field length</source>
         <translation>Feldlänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="992"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="993"/>
         <source>Field precision</source>
         <translation>Feldgenauigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="993"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="994"/>
         <source>Create new field</source>
         <translation>Neues Feld erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="994"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="995"/>
         <source>Formula</source>
         <translation>Formel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="995"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="996"/>
         <source>Calculated</source>
         <translation>Berechnet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="996"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="997"/>
         <source>Evaluation error: %s</source>
         <translation>Auswertungsfehler: %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="997"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="998"/>
         <source>An error occurred while evaluating the calculation string:
 %s</source>
         <translation>Ein Fehler trat bei der Auswertung der Formel auf:
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="998"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="999"/>
         <source>Field name is not set. Please enter a field name</source>
         <translation>Feldname ist nicht gesetzt. Bitte Feldname eingeben</translation>
     </message>
@@ -6446,17 +6457,17 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>FieldsCalculatorDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1002"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1003"/>
         <source>[Save to temporary file]</source>
         <translation>[In Temporärdatei speichern]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1003"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1004"/>
         <source>Save file</source>
         <translation>Datei speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1004"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1005"/>
         <source>Unable to execute algorithm</source>
         <translation>Konnte Anweisung nicht ausführen</translation>
     </message>
@@ -6464,44 +6475,44 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>FieldsMapper</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1009"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1010"/>
         <source>Vector table tools</source>
         <translation>Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1010"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1011"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1011"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1012"/>
         <source>Fields mapping</source>
         <translation>Feldabbildung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1012"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1013"/>
         <source>Refactored</source>
         <translation>Faktoriert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1013"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1014"/>
         <source>Parser error in expression "{}": {}</source>
         <translation>Fehler in Ausdruck "{}": {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1014"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1015"/>
         <source>Evaluation error in expression "{}": {}</source>
         <translation>Auswertungsfehler bei Ausdruck "{}": {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1015"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1016"/>
         <source>An error occurred while evaluating the calculation string:
 </source>
         <translation>Ein Fehler trat auf bei der Auswertung von:
 </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1008"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1009"/>
         <source>Refactor fields</source>
         <translation>Felder überarbeiten</translation>
     </message>
@@ -6509,67 +6520,67 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>FieldsPyculator</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1020"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1021"/>
         <source>Vector table tools</source>
         <translation>Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1021"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1022"/>
         <source>Integer</source>
         <translation>Ganze Zahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1022"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1023"/>
         <source>Float</source>
         <translation>Fließkommazahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1023"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1024"/>
         <source>String</source>
         <translation>Zeichenkette</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1024"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1025"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1025"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1026"/>
         <source>Result field name</source>
         <translation>Ergebnisfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1026"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1027"/>
         <source>Field type</source>
         <translation>Feldtyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1027"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1028"/>
         <source>Field length</source>
         <translation>Feldlänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1028"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1029"/>
         <source>Field precision</source>
         <translation>Feldgenauigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1029"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1030"/>
         <source>Global expression</source>
         <translation>Globaler Ausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1030"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1031"/>
         <source>Formula</source>
         <translation>Formel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1031"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1032"/>
         <source>Calculated</source>
         <translation>Berechnet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1032"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1033"/>
         <source>FieldPyculator code execute error.Global code block can't be executed!
 %s
 %s</source>
@@ -6578,7 +6589,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1033"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1034"/>
         <source>FieldPyculator code execute error.Field code block can't be executed!
 %s
 %s</source>
@@ -6587,14 +6598,14 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1034"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1035"/>
         <source>FieldPyculator code execute error
 Field code block does not return '%s1' variable! Please declare this variable in your code!</source>
         <translation>FieldPyculator-Code Ausführungsfehler
 Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren sie diese Variable im Code!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1019"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1020"/>
         <source>Advanced Python field calculator</source>
         <translation>Erweiterter Python-Feldrechner</translation>
     </message>
@@ -6602,22 +6613,22 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FileDirectorySelector</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1038"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1039"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1039"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1040"/>
         <source>Select directory</source>
         <translation>Verzeichnis wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1040"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1041"/>
         <source>Select file</source>
         <translation>Datei wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1041"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1042"/>
         <source>All files (*.*)</source>
         <translation>Alle Dateien (*.*)</translation>
     </message>
@@ -6625,12 +6636,12 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FileSelectionPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1045"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1046"/>
         <source>Select folder</source>
         <translation>Wähle Ordner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1046"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1047"/>
         <source>Select file</source>
         <translation>Datei wählen</translation>
     </message>
@@ -6638,32 +6649,32 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FilterData</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1050"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1051"/>
         <source>Filter Data outliers</source>
         <translation>Datenausreißer filtern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1051"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1052"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1052"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1053"/>
         <source>Input LAS layer</source>
         <translation>Eingabe-LAS-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1053"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1054"/>
         <source>Standard Deviation multiplier</source>
         <translation>Standardabweichungsfaktor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1054"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1055"/>
         <source>Window size</source>
         <translation>Fenstergröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1055"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1056"/>
         <source>Output filtered LAS file</source>
         <translation>Gefilterte LAS-Ausgabedatei</translation>
     </message>
@@ -6671,27 +6682,27 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FirstLastReturn</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1059"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1060"/>
         <source>First&Last Return</source>
         <translation>Erste&letzte Rückgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1060"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1061"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1061"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1062"/>
         <source>Input LAS layer</source>
         <translation>Eingabe-LAS-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1062"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1063"/>
         <source>Use LAS info</source>
         <translation>LAS-Info verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1063"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1064"/>
         <source>Output layers</source>
         <translation>Ausgabelayer</translation>
     </message>
@@ -6699,37 +6710,37 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FixedDistanceBuffer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1068"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1069"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1069"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1070"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1070"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1071"/>
         <source>Distance</source>
         <translation>Entfernung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1071"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1072"/>
         <source>Segments</source>
         <translation>Segmente</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1072"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1073"/>
         <source>Dissolve result</source>
         <translation>Ergebnis auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1073"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1074"/>
         <source>Buffer</source>
         <translation>Puffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1067"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1068"/>
         <source>Fixed distance buffer</source>
         <translation>Puffer festen Abstands</translation>
     </message>
@@ -6737,17 +6748,17 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FixedTableDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1077"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1078"/>
         <source>Add row</source>
         <translation>Zeile hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1078"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1079"/>
         <source>Remove row(s)</source>
         <translation>Zeile(n) entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1079"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1080"/>
         <source>Remove all</source>
         <translation>Alle entfernen</translation>
     </message>
@@ -6755,7 +6766,7 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FixedTablePanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1083"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1084"/>
         <source>Fixed table %dx%d</source>
         <translation>Fixe Tabelle %dx%d</translation>
     </message>
@@ -6770,7 +6781,7 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
         <location filename="../python/plugins/processing/ui/widgetNumberSelector.ui" line="14"/>
         <location filename="../python/plugins/processing/ui/widgetParametersPanel.ui" line="14"/>
         <location filename="../python/plugins/processing/ui/widgetRangeSelector.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1101"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1102"/>
         <source>Form</source>
         <translation>Formular</translation>
     </message>
@@ -6784,199 +6795,199 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
         <location filename="../python/plugins/processing/ui/widgetLayerSelector.ui" line="42"/>
         <location filename="../python/plugins/processing/ui/widgetLayerSelector.ui" line="58"/>
         <location filename="../python/plugins/processing/ui/widgetNumberSelector.ui" line="42"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1103"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1104"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="39"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1115"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1116"/>
         <source>Toggle advanced mode</source>
         <translation>Erweiteter Modus umgeschaltet</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1114"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1115"/>
         <source>Add row</source>
         <translation>Zeile hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="55"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1116"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1117"/>
         <source>Remove row(s)</source>
         <translation>Zeile(n) entfernen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="100"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1117"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1118"/>
         <source>Open</source>
         <translation>Öffnen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="113"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1118"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1119"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetLayerSelector.ui" line="55"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1120"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1121"/>
         <source>Iterate over this layer</source>
         <translation>Iteriere über diesen Layer</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetNumberSelector.ui" line="39"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1102"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1103"/>
         <source>Open number input dialog</source>
         <translation>Zahleneingabedialog öffnen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetParametersPanel.ui" line="44"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1119"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1120"/>
         <source>Advanced parameters</source>
         <translation>Fortgeschrittene Parameter</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetRangeSelector.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1112"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1113"/>
         <source>Min</source>
         <translation>Min</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetRangeSelector.ui" line="65"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1113"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1114"/>
         <source>Max</source>
         <translation>Max</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="20"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1087"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1088"/>
         <source>Fields</source>
         <translation>Felder</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="43"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1088"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1089"/>
         <source>Add new field</source>
         <translation>Neues Feld hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="46"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1089"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1090"/>
         <source>add</source>
         <translation>hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="53"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1090"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1091"/>
         <source>Delete selected field</source>
         <translation>Gewähltes Feld löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="56"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1091"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1092"/>
         <source>delete</source>
         <translation>löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="63"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1092"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1093"/>
         <source>Move selected field up</source>
         <translation>Gewähltes Feld nach oben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="66"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1093"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1094"/>
         <source>up</source>
         <translation>oben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="73"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1094"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1095"/>
         <source>Move selected field down</source>
         <translation>Gewähltes Feld nach unten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="76"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1095"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1096"/>
         <source>down</source>
         <translation>unten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="83"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1096"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1097"/>
         <source>Reset all fields</source>
         <translation>Alle Felder zurücksetzen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="86"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1097"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1098"/>
         <source>reset</source>
         <translation>zurücksetzen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="112"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1098"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1099"/>
         <source>Load fields from layer</source>
         <translation>Felder aus Layer laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="135"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1099"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1100"/>
         <source>Load fields from selected layer</source>
         <translation>Felder des gewählten Layers laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/widgetFieldsMapping.ui" line="138"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1100"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1101"/>
         <source>Load fields</source>
         <translation>Felder laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="23"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1104"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1105"/>
         <source>equals</source>
         <translation>entspricht</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="30"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1105"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1106"/>
         <source>contains</source>
         <translation>enthält</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="37"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1106"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1107"/>
         <source>touches</source>
         <translation>berührt</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="44"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1107"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1108"/>
         <source>intersects</source>
         <translation>schneidet sich mit</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="51"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1108"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1109"/>
         <source>within</source>
         <translation>innerhalb</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="58"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1109"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1110"/>
         <source>overlaps</source>
         <translation>überlappt</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="65"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1110"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1111"/>
         <source>crosses</source>
         <translation>kreuzt</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="72"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1111"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1112"/>
         <source>disjoint</source>
         <translation>getrennt</translation>
     </message>
@@ -6984,14 +6995,14 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FusionAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1124"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1125"/>
         <source>Fusion folder is not configured.
 Please configure it before running Fusion algorithms.</source>
         <translation>Fusion Verzeichnis ist nicht konfiguriert.
 Bitte konfigurieren bevor Algorithmen daraus verwendet werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1125"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1126"/>
         <source>Additional modifiers</source>
         <translation>Zusätzliche Einstellungen</translation>
     </message>
@@ -6999,15 +7010,33 @@ Bitte konfigurieren bevor Algorithmen daraus verwendet werden.</translation>
 <context>
     <name>FusionUtils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1129"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1130"/>
         <source>Fusion execution console output</source>
         <translation>Konsolenausgabe der Fusion-Ausführung</translation>
     </message>
 </context>
 <context>
+    <name>GPKGDatabase</name>
+    <message>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="464"/>
+        <source>Run &Vacuum</source>
+        <translation>&VACUUM ausführen</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="465"/>
+        <source>&Database</source>
+        <translation>&Datenbank</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="466"/>
+        <source>No database selected or you are not connected to it.</source>
+        <translation>Keine Datenbank gewählt oder keine Verbindung möglich.</translation>
+    </message>
+</context>
+<context>
     <name>GdalAlgorithmDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1133"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1134"/>
         <source>Run as batch process...</source>
         <translation>Als Batchprozeß starten...</translation>
     </message>
@@ -7015,7 +7044,7 @@ Bitte konfigurieren bevor Algorithmen daraus verwendet werden.</translation>
 <context>
     <name>GdalOgrAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1137"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1138"/>
         <source>GDAL/OGR</source>
         <translation>GDAL/OGR</translation>
     </message>
@@ -7023,17 +7052,17 @@ Bitte konfigurieren bevor Algorithmen daraus verwendet werden.</translation>
 <context>
     <name>GdalParametersPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1141"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1142"/>
         <source>GDAL/OGR console call</source>
         <translation>GDAL/OGR Aufruf</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1142"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1143"/>
         <source>[temporary file]</source>
         <translation>[temporäre Datei]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1143"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1144"/>
         <source>Invalid value for parameter '%s'</source>
         <translation>Ungültiger Wert für Parameter '%s'</translation>
     </message>
@@ -9118,18 +9147,18 @@ Der 'Grau'-wert (aus GDAL 1.7) ermöglicht Datensätze mit einer Farbt
 <context>
     <name>GeoAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1147"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1148"/>
         <source>Uncaught error while executing algorithm</source>
         <translation>Nicht erfasste Fehler bei der Ausführung von Algorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1148"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1149"/>
         <source>
 See log for more details</source>
         <translation>Die Logdatei enthält mehr Details</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1149"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1150"/>
         <source>Converting outputs</source>
         <translation>Konvertierung der Ausgabe</translation>
     </message>
@@ -9137,57 +9166,57 @@ See log for more details</source>
 <context>
     <name>GeometryConvert</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1154"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1155"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1155"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1156"/>
         <source>Centroids</source>
         <translation>Zentroide</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1156"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1157"/>
         <source>Nodes</source>
         <translation>Knoten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1157"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1158"/>
         <source>Linestrings</source>
         <translation>Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1158"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1159"/>
         <source>Multilinestrings</source>
         <translation>Multilinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1159"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1160"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1160"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1161"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1161"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1162"/>
         <source>New geometry type</source>
         <translation>Neuer Geometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1162"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1163"/>
         <source>Converted</source>
         <translation>Umgewandelt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1163"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1164"/>
         <source>Cannot convert from %s to %s</source>
         <translation>Kann %s nicht in %s umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1153"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1154"/>
         <source>Convert geometry type</source>
         <translation>Geometrietyp umwandeln</translation>
     </message>
@@ -9208,62 +9237,62 @@ See log for more details</source>
 <context>
     <name>GetScriptsAndModelsDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1169"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1170"/>
         <source>Could not connect to scripts/models repository</source>
         <translation>Keine Verbindung zum Skript-/Modellrepositorium</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1170"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1171"/>
         <source>Network error code: {} on URL: {}</source>
         <translation>Netzwerkfehlercode {} bei URL: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1171"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1172"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1172"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1173"/>
         <source>Installed</source>
         <translation>Installiert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1173"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1174"/>
         <source>Updatable</source>
         <translation>Aktualisierbar</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1174"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1175"/>
         <source>Not installed</source>
         <translation>Nicht installiert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1176"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1177"/>
         <source><p><b>Description:</b> %s</p></source>
         <translation><p><b>Beschreibung:</b>%s</p></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1177"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1178"/>
         <source><p><b>Created by:</b> %s</source>
         <translation><p><b>Erstellt von:</b>%s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1178"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1179"/>
         <source><p><b>Version:</b> %s</source>
         <translation><p><b>Version:</b> %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1175"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1176"/>
         <source><h2>No detailed description available for this script</h2></source>
         <translation><h2>Keine detaillierte Beschreibung für dieses Skript verfügbar</h2></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1168"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1169"/>
         <source>Connection problem</source>
         <translation>Verbindungsproblem</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1167"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1168"/>
         <source><h3> Processing resources manager </h3><p>Check/uncheck algorithms in the tree to select the ones that you want to install or remove</p><p>Algorithms are divided in 3 groups:</p><ul><li><b>Installed:</b> Algorithms already in your system, with the latest version available</li><li><b>Updatable:</b> Algorithms already in your system, but with a newer version available in the server</li&gt [...]
         <translation><h3> Verwaltung der Verarbeitungsmittel</h3><p>Bitte Algorithmen im Baum wählen, die installiert oder entfernt werden sollen</p><p>Algorithmen sind in 3 Gruppen aufgeteilt:</p><ul><li><b>Installierte:</b> Algorithmen, die sich bereits in der letzten verfügbaren Version im System befinden</li><li><b>Aktualisierbare:</b> Algorithmen, die sich bereits auf dem System befinden, aber in akt [...]
     </message>
@@ -9285,29 +9314,29 @@ See log for more details</source>
 <context>
     <name>Grass7Algorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1182"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1183"/>
         <source>Could not open GRASS GIS 7 algorithm: %s
 %s</source>
         <translation>Kann GRASS GIS 7-Algorithmus nicht öffnen: %s
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1183"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1184"/>
         <source>GRASS GIS 7 region extent</source>
         <translation>GRASS GIS 7-Regionsgrenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1184"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1185"/>
         <source>GRASS GIS 7 region cellsize (leave 0 for default)</source>
         <translation>GRASS-Regionenzellengröße (0 für um Voreinstellung beizubehalten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1185"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1186"/>
         <source>GRASS GIS 7 folder is not configured. Please configure it before running GRASS GIS 7 algorithms.</source>
         <translation>GRASS GIS 7-Verzeichnis ist nicht konfiguriert. Bitte vor Ausführung von GRASS GIS 7-Algorithmen konfigurieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1186"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1187"/>
         <source>GRASS GIS 7 execution commands</source>
         <translation>GRASS GIS 7-Befehlsausführung</translation>
     </message>
@@ -9315,34 +9344,34 @@ See log for more details</source>
 <context>
     <name>Grass7AlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1190"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1191"/>
         <source>GRASS7 folder</source>
         <translation>GRASS7-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1191"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1192"/>
         <source>Log execution commands</source>
         <translation>Befehlsausführung protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1192"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1193"/>
         <source>Log console output</source>
         <translation>Konsolenausgabe protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1193"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1194"/>
         <source>Could not open GRASS GIS 7 algorithm: %s</source>
         <translation>Konnte GRASS7-Algorithmus nicht öffnen: %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1194"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1195"/>
         <source>Could not open GRASS GIS 7 algorithm: %s
 %s</source>
         <translation>Kann GRASS GIS 7-Algorithmus nicht öffnen: %s
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1195"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1196"/>
         <source>GRASS GIS 7 commands</source>
         <translation>GRASS GIS 7-Befehle</translation>
     </message>
@@ -9350,17 +9379,17 @@ See log for more details</source>
 <context>
     <name>Grass7Utils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1199"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1200"/>
         <source>GRASS GIS 7 execution console output</source>
         <translation>Konsolenausgabe der GRASS GIS 7-Ausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1200"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1201"/>
         <source>GRASS GIS 7 folder is not configured. Please configure it before running GRASS GIS 7 algorithms.</source>
         <translation>GRASS GIS 7-Verzeichnis ist nicht konfiguriert. Bitte vor Ausführung von GRASS GIS 7-Algorithmen konfigurieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1201"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1202"/>
         <source>The specified GRASS 7 folder "{}" does not contain a valid set of GRASS 7 modules.
 Please, go to the Processing settings dialog, and check that the GRASS 7
 folder is correctly configured</source>
@@ -9369,14 +9398,14 @@ Bitte im Processing-Einstellungsdialog überprüfen, dass das GRASS GIS 7-Verzei
 richtig konfiguriert ist</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1202"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1203"/>
         <source>It seems that GRASS GIS 7 is not correctly installed and configured in your system.
 Please install it before running GRASS GIS 7 algorithms.</source>
         <translation>GRASS GIS 7 ist anscheinend nicht richtig auf dem System installiert und konfiguriert.
 Bitte vor der Ausführung von GRASS GIS 7-Algorithmen installieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1203"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1204"/>
         <source>Error while checking GRASS GIS 7 installation. GRASS GIS 7 might not be correctly configured.
 </source>
         <translation>Fehler bei der Überprüfung der GRASS GIS 7-Installation. GRASS GIS 7 könnte nicht richtig konfiguriert sein.
@@ -9386,1771 +9415,1771 @@ Bitte vor der Ausführung von GRASS GIS 7-Algorithmen installieren.</translation
 <context>
     <name>GrassAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1207"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1208"/>
         <source>Could not open GRASS algorithm: %s.
 %s</source>
         <translation>Konnte GRASS-Algorithums nicht öffen: %s.
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1208"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1209"/>
         <source>GRASS region extent</source>
         <translation>GRASS-Regionengrenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1209"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1210"/>
         <source>GRASS region cellsize (leave 0 for default)</source>
         <translation>GRASS-Regionenzellengröße (0 für um Voreinstellung beizubehalten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1210"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1211"/>
         <source>GRASS folder is not configured.
 Please configure it before running GRASS algorithms.</source>
         <translation>GRASS-Verzeichnis nicht konfiguriert.
 Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1211"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1212"/>
         <source>GRASS execution commands</source>
         <translation>GRASS-Befehlsausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="454"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="218"/>
         <source>v.surf.rst.line - Spatial approximation and topographic analysis using regularized spline with tension.</source>
         <translation>v.surf.rst.line - Räumliche Approximation und topographische Analyse mit einer regularisierten Spline-Funktion mit Spannung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="481"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="219"/>
         <source>v.clean.advanced - Toolset for cleaning topology of vector map (Advanced).</source>
         <translation>v.clean.advanced - Werkzeugsatz für die Bereinigung der Topologie einer Vektorkarte (Fortgeschritten).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="417"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="71"/>
         <source>r.slope - Generates raster maps of slope from a elevation raster map.</source>
         <translation>r.slope - Erzeugt Rasterkarten mit Hangneigung aus einer Rasterkarte mit Höheninformationen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="564"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="118"/>
         <source>r.contour.step - Create vector contours from raster at specified steps</source>
         <translation>r.contour.step - Erstellen von Vektorkonturen von Rasterdaten an bestimmten Stufen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="643"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="184"/>
         <source>v.buffer.distance - Creates a buffer around features of given type.</source>
         <translation>v.buffer.distance - Erzeugt einen Puffer um Objekte mit gegebenen Typ.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="523"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="304"/>
         <source>v.surf.bspline.lambda - Bicubic or bilinear spline interpolation with Tykhonov regularization.</source>
         <translation>v.surf.bspline.lambda - Bikubische oder bi-lineare Spline-Interpolation mit Tichonow-Regularisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="491"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="348"/>
         <source>r.cost.full - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
         <translation>r.cost.full - Raster aus der kommulierten Kosten für die Bewegung über ein Raster erzeugen, dessen Zellen Kosten repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="312"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="237"/>
         <source>r.lake.coords - Fills lake at given point to given level.</source>
         <translation>r.lake.coords - See aus Quellenpunkt einer gegebenen Höhe füllen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="521"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="74"/>
         <source>v.to.rast.value - Converts (rasterize) a vector layer into a raster layer.</source>
         <translation>v.to.rast.value - Konvertiert (rastert) eine Vektorkarte in eine Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="385"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="162"/>
         <source>v.distance.toattr - Finds the nearest element in vector map 'to' for elements in vector map 'from'.</source>
         <translation>v.distance.toattr - Findet das nächstgelegene Element der Vektorkarte 'to' für Elemente in der Vektorkarte 'from'.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="441"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="315"/>
         <source>r.aspect - Generates raster maps of aspect from a elevation raster map.</source>
         <translation>r.slope.apect - Erzeugt Rasterkarten mit Exposition aus einer Rasterkarte mit Höheninformationen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="571"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="351"/>
         <source>v.split.length - Split lines to shorter segments by length.</source>
         <translation>v.split.length - Trenne Linien zu kürzeren Segmenten nach Länge.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="365"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="45"/>
         <source>r.reclass.area.greater - Reclassifies a raster layer, selecting areas larger than a user specified size</source>
         <translation>r.reclass.area.greater -Reklassifiziere Rasterkarte durch Auswahl von Flächen größer eines gegeben Werts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="526"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="224"/>
         <source>r.horizon.height - Horizon angle computation from a digital elevation model.</source>
         <translation>r.horizon.height - Berechnung des Horizontwinkel auf Grundlage eines digitalen Höhenmodells.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="431"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="256"/>
         <source>r.sunmask.datetime - Calculates cast shadow areas from sun position and elevation raster map.</source>
         <translation>r.sunmask.datetime - Schattenkarten aus Sonnenposition und Rasterkarten mit Höheninformation berechnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="405"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="308"/>
         <source>r.lake.layer - Fills lake at given point to given level.</source>
         <translation>r.lake.layer - See aus Quellenpunkt einer gegebenen Höhe füllen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="634"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="295"/>
         <source>r.sunmask.position - Calculates cast shadow areas from sun position and elevation raster map.</source>
         <translation>r.sunmask.position - Schattenkarten aus Sonnenposition und Rasterkarten mit Höheninformation berechnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="455"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="335"/>
         <source>r.in.lidar.info - Extract information from LAS file</source>
         <translation>r.in.lidar.info - Information aus LAS-Datei extrahieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="467"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="258"/>
         <source>r.drain.coordinate - Traces a flow through an elevation model on a raster map.</source>
         <translation>r.drain.coordinate - Verfolgt einen Fluss durch ein Höhenmodell auf einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="418"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="240"/>
         <source>v.transform.pointsfile - Performs an affine transformation on a vector layer, using a support point file.</source>
         <translation>v.transform.pointsfile - Führt eine affine Transformation von Vektorkarten mit Hilfe einer Punktdatei durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="337"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="257"/>
         <source>r.cost.full.raster - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
         <translation>r.cost.full.raster - Raster aus der kommulierten Kosten für die Bewegung über ein Raster erzeugen, dessen Zellen Kosten repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="384"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="149"/>
         <source>v.buffer.column - Creates a buffer around features of given type.</source>
         <translation>v.buffer.column - Erzeugt einen Puffer um Objekte mit gegebenen Typ.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="493"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="121"/>
         <source>Performs bilinear or bicubic spline interpolation with Tykhonov regularization.</source>
         <translation>Führt bi-lineare oder bi-kubische oder Spline-Interpolation mit Tichonow-Regularisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="474"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="313"/>
         <source>Outputs raster map layer values lying along user defined transect line(s).</source>
         <translation>Gibt Rasterkartenlayerwerte entlang einer oder mehreren benutzerdefinierten Transektlinien aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="442"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="168"/>
         <source>Calculates solar elevation, solar azimuth, and sun hours.</source>
         <translation>Berechnet Sonnenhöhe, -winkel und -stunden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="309"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="330"/>
         <source>r.li.shape.ascii - Calculates shape index on a raster map </source>
         <translation>r.li.shape.ascii - Berechnet Shapeindex auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="323"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="212"/>
         <source>Calculates patch number index on a raster map, using a 4 neighbour algorithm.</source>
         <translation>Berechnet Patch-Anzahl-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="480"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="27"/>
         <source>r.li.renyi.ascii - Calculates Renyi's diversity index on a raster map</source>
         <translation>r.li.renyi.ascii - Berechnet Renyi-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="425"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="124"/>
         <source>r.blend.combine - Blends color components of two raster maps by a given ratio and export into a unique raster.</source>
         <translation>r.blend.combine - Farbkomponenten zweier Raster einem Verhältnis anpassen und in eine einziges Raster exportieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="305"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="157"/>
         <source>Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation.</source>
         <translation>Führt eine kontextbezogene Bildklassifizierung mittels sequentieller Maximum-Aposterori-Schätzung (SMAP) durch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="550"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="11"/>
         <source>Generates spectral signatures for land cover types in an image using a clustering algorithm.</source>
         <translation>Generiert Spektralsignaturen für Bodenbedeckungstypen in eimem Bild mittels Häufungsalgorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="578"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="53"/>
         <source>i.eb.hsebal01.coords - Computes sensible heat flux iteration SEBAL 01. Inline coordinates</source>
         <translation>i.eb.hsebal01.coords - Berechnet Sensible-Heat-Flux-Iteration. Inline-Koordinaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="546"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="201"/>
         <source>v.to.rast.attribute - Converts (rasterize) a vector layer into a raster layer.</source>
         <translation>v.to.rast.attribute - Konvertiert (rastert) eine Vektorkarte in eine Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="403"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="171"/>
         <source>Computes biomass growth, precursor of crop yield calculation.</source>
         <translation>Berechnet Biomassenzuwachs, Vorläufer von Feldfruchtberechnungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="624"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="70"/>
         <source>Rectifies an image by computing a coordinate transformation for each pixel in the image based on the control points. </source>
         <translation>Berichtigt ein Bild durch die Berecnung der Koordinatentransformation für jedes Pixel des Bildes nach Kontrollpunkten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="416"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="203"/>
         <source>Calculates Optimum-Index-Factor table for spectral bands</source>
         <translation>Optimale Indexfaktortabelle für Spektralkanäle berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="645"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="29"/>
         <source>Computes potential evapotranspiration calculation with hourly Penman-Monteith.</source>
         <translation>Berechnet potentielle Evapotranspiration mit stündlichem Penman-Monteith.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="371"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="207"/>
         <source>Identifies segments (objects) from imagery data.</source>
         <translation>Identifiziert Segmente (Objekte) aus Bilddaten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="633"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="275"/>
         <source>Computes topographic correction of reflectance.</source>
         <translation>Berechnet topographische Korrektur der Reflektion.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="606"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="251"/>
         <source>Computes evapotranspiration calculation Priestley and Taylor formulation, 1972.</source>
         <translation>Berechnet Evapotranspiration mit Priestley und Taylor Formulierung, 1972.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="594"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="77"/>
         <source>Calculates different types of vegetation indices.</source>
         <translation>Berechnet verschiedene Typen von Vegetationsindizes.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="505"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="101"/>
         <source>Generates statistics for i.smap from raster map.</source>
         <translation>Generiert Statistik für i.smap aus Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="414"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="182"/>
         <source>Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001).</source>
         <translation>Berechnet evaporative Bruchteil (Bastiaanssen, 1995) und Bodenfeuchtigkeit der Wurzelzone (Makin, Molden und Bastiaanssen, 2001).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="363"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="91"/>
         <source>Actual evapotranspiration for diurnal period (Bastiaanssen, 1995). </source>
         <translation>Tatsächliche Evapotranspiration für Tagperiode (Bastiaanssen, 1995).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="487"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="261"/>
         <source>r.mask.rast - Creates a MASK for limiting raster operation.</source>
         <translation>r.mask.rast - Maske (MASK) erzeugen, um Rasteroperationen zu begrenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="468"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="202"/>
         <source>i.topo.coor.ill - Creates illumination model for topographic correction of reflectance.</source>
         <translation>i.topo.coor.ill - Erzeugt Beleuchtungsmodel für topographische Reflektionskorrektur.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="374"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="95"/>
         <source>Calculates dominance's diversity index on a raster map</source>
         <translation>Berechnet Dominanzdiversitätsindex einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="396"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="272"/>
         <source>r.walk.points - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from point vector layers.</source>
         <translation>r.walk.points - Rasterkarte aus der kommulierten Kosten für die Bewegung zwischen zwei verschiedenen geographischen Orten auf einer Eingaberasterkarte deren Zellen Kategoriewerte Kosten von Punktvektorlayern repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="327"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="46"/>
         <source>Computes broad band albedo from surface reflectance. </source>
         <translation>Berechnet Breitbandalbedo aus Oberflächenreflektion.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="508"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="271"/>
         <source>Imports SPOT VGT NDVI data into a raster map.</source>
         <translation>Importiert SPOT VGT NDVI Daten in Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="475"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="146"/>
         <source>Computes sensible heat flux iteration SEBAL 01.</source>
         <translation>Berechnet Sensible-Heat-Flux-Iteration SEBAL 01.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="354"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="33"/>
         <source>Performs Landsat TM/ETM+ Automatic Cloud Cover Assessment (ACCA).</source>
         <translation>Fürhrt TM/ETM+ automatische Wolkendeckenbewertung (ACCA) durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="528"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="328"/>
         <source>Performs auto-balancing of colors for RGB images.</source>
         <translation>Führt automatische Angleichung der Farben von RGB-Bildern durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="515"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="67"/>
         <source>Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001.</source>
         <translation>Berechnet Evapotranspiration mit modifizierter oder originaler Hargreaves-Formulierung, 2001.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="614"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="195"/>
         <source>Principal components analysis (PCA) for image processing.</source>
         <translation>Hauptbestandteilsanalyes (PCA) zur Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="359"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="289"/>
         <source>Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI</source>
         <translation>Berechnet Abstrahlung der obersten Atmosphäre oder Reflektionen für Landsat MSS/TM/ETM+/OLI</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="322"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="230"/>
         <source>Classifies the cell spectral reflectances in imagery data.</source>
         <translation>Klassifiziert die Zellenspektralreflektionen in Bilddaten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="437"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="198"/>
         <source>Performs Tasseled Cap (Kauth Thomas) transformation.</source>
         <translation>Führt Tasseled Cap (Kauth Thomas)-Transformation durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="617"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="32"/>
         <source>Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s).</source>
         <translation>Ermittelt zeitliche Integration der Satelliten-ET tatsächlichen (ETa) folgend der tägliche ET-Referenz (ETo) von meteorologische(r/en) Station(en).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="435"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="297"/>
         <source>Net radiation approximation (Bastiaanssen, 1995).</source>
         <translation>Nettostrahlungsnährung (Bastiaanssen, 1995).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="623"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="31"/>
         <source>Regroup multiple mono-band rasters into a single multiband raster.</source>
         <translation>Mehrere einkanalige Raster in ein einzelnes Multibandraster regruppieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="534"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="245"/>
         <source>Image fusion algorithms to sharpen multispectral with high-res panchromatic channels</source>
         <translation>Bildvereinigungsalgorithmus um multispektrale mit hochauflösenden-panchromatischen Kanälen zu schärfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="446"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="181"/>
         <source>Soil heat flux approximation (Bastiaanssen, 1995).</source>
         <translation>Bodenwärmestromnährung (Bastiaanssen, 1995).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="386"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="210"/>
         <source>Mosaics several images and extends colormap.</source>
         <translation>Fügt mehrere Bilder zusammen und erweitert die Farbabbildung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="630"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="152"/>
         <source>Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN.</source>
         <translation>Berechnet Abstrahlung der obersten Atmosphäre/Reflektionen/Helligkeitstemperatur aus ASTER DN.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="537"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="307"/>
         <source>r.li.simpson.ascii - Calculates Simpson's diversity index on a raster map</source>
         <translation>Berechnet Simpsons-Diversitäts-Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="428"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="125"/>
         <source>r.stats.quantile.out - Compute category quantiles using two passes and output statistics</source>
         <translation>r.stats.quantile.out - Berechne Kategoriequantile in zwei Durchgängen und Ausgabestatistik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="560"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="208"/>
         <source>r.li.pielou.ascii - Calculates Pielou's diversity index on a raster map </source>
         <translation>r.li.pielou.ascii - Berechnet Pielou-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="607"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="54"/>
         <source>Calculates mean pixel attribute index on a raster map</source>
         <translation>Berechnet den Mittelwert der Attribute (Rasterwerte) -Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="401"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="79"/>
         <source>Calculates multiple linear regression from raster maps.</source>
         <translation>Berechnet eine lineare Regression von zwei Rasterkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="303"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="264"/>
         <source>r.topmodel.topidxstats - Builds a TOPMODEL topographic index statistics file.</source>
         <translation>r.topmodel.topidxstats - TOPMODEL topografische Indexstatistikdatei erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="587"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="26"/>
         <source>Allows creation and/or modification of raster map layer support files (metadata).</source>
         <translation>Erlaubt die Erzeugung und/oder Modifikation von Rasterkartenlayerunterstützungsdateien (Metadaten).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="449"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="13"/>
         <source>r.category.out - Exports category values and labels associated with user-specified raster map layers.</source>
         <translation>r.category.out - Mit benutzerdefinierten Rasterkartenlayern verbundene Kategoriewerte und Beschriftungen exportieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="556"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="9"/>
         <source>Calculates Shannon's diversity index on a raster map</source>
         <translation>Berechnet Shannons-Diversitäts-Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="391"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="221"/>
         <source>r.li.edgedensity.ascii - Calculates edge density index on a raster map, using a 4 neighbour algorithm</source>
         <translation>r.li.edgedensity.ascii - Berechnet Kantendichteindex auf einer Rasterkarte mit einem 4-Nachbarn-Algorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="553"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="339"/>
         <source>Raster map calculator. </source>
         <translation>Rasterkartenrechner.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="637"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="323"/>
         <source>r.walk.coords - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a list of coordinates.</source>
         <translation>r.walk.coords - Rasterkarte aus der kommulierten Kosten für die Bewegung zwischen zwei verschiedenen geographischen Orten auf einer Eingaberasterkarte deren Zellen Kategoriewerte Kosten aus einer Koordinatenliste repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="591"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="129"/>
         <source>r.li.shannon.ascii - Calculates Shannon's diversity index on a raster map</source>
         <translation>Berechnet Shannons-Diversitäts-Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="555"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="200"/>
         <source>Calculates patch density index on a raster map, using a 4 neighbour algorithm</source>
         <translation>Berechnet Patch-Anzahl-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="588"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="249"/>
         <source>Calculates mean patch size index on a raster map, using a 4 neighbour algorithm</source>
         <translation>Berechnet mitteleren Patch-Größen-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="635"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="239"/>
         <source>Calculates standard deviation of patch area a raster map</source>
         <translation>Berechnet den Standardabweichen eines Patchbereiches einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="502"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="334"/>
         <source>r.what.coords - Queries raster maps on their category values and category labels on a point.</source>
         <translation>r.what.coords - Rasterkarten nach Kategoriewerten und Kategoriebeschriftungen eines Punkt abfragen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="332"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="105"/>
         <source>Calculates shape index on a raster map </source>
         <translation>Berechnet Shapeindex auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="346"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="238"/>
         <source>Calculates edge density index on a raster map, using a 4 neighbour algorithm</source>
         <translation>Berechnet Kantendichteindex auf einer Rasterkarte mit einem 4-Nachbarn-Algorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="466"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="155"/>
         <source>Creates/modifies the color table associated with a raster map.</source>
         <translation>Erzeugt/Ändert die einer Rasterkarte zugeordnete Farbtabelle </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="419"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="140"/>
         <source>r.li.padcv.ascii - Calculates coefficient of variation of patch area on a raster map</source>
         <translation>r.li.padcv.ascii - Berechnet Variationskoeffizientien eines Patchbereiches einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="408"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="50"/>
         <source>Splits a raster map into tiles</source>
         <translation>Rasterkarte in Kacheln aufteilen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="313"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="322"/>
         <source>Creates a fractal surface of a given fractal dimension.</source>
         <translation>Fraktale Oberfläche einer gegeben Fraktaldimension erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="389"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="174"/>
         <source>r.li.mps.ascii - Calculates mean patch size index on a raster map, using a 4 neighbour algorithm</source>
         <translation>r.li.mps.ascii - Berechnet mitteleren Patch-Größen-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="489"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="99"/>
         <source>Generates random surface(s) with spatial dependence.</source>
         <translation>Erzeugt zufälltige Oberfläche(n) mit räumlicher Abhängigkeit.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="609"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="104"/>
         <source>r.what.points - Queries raster maps on their category values and category labels on a layer of points.</source>
         <translation>r.what.points - Rasterkarten nach Kategoriewerten und Kategoriebeschriftungen eines Punktlayers abfragen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="527"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="62"/>
         <source>v.surf.rst.cvdev.line - Spatial approximation and topographic analysis using regularized spline with tension.</source>
         <translation>v.surf.rst.cvdev.line - Räumliche Approximation und topographische Analyse mit einer regularisierten Spline-Funktion mit Spannung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="394"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="139"/>
         <source>Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values (low-memory alternative).</source>
         <translation>Erzeugt eine Rasterkarte mit Pufferzonen um Zellen, die Nicht-NULL-Wert-Kategoriewerte haben (Alternative für wenig Speicher).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="597"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="136"/>
         <source>Calculates contrast weighted edge density index on a raster map</source>
         <translation>Berechnet den kontrastgewichteten Kantendichteindex einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="411"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="354"/>
         <source>Manages category values and labels associated with user-specified raster map layers.</source>
         <translation>Verwaltet mit benutzerdefinierten Rasterkartenlayern verbundene Katagoriewerte und -beschriftungen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="326"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="131"/>
         <source>Calculates range of patch area size on a raster map</source>
         <translation>Berechnet Reichweite einer Patchbereichsgröße auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="308"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="98"/>
         <source>Calculates richness index on a raster map</source>
         <translation>Berechnet den Richness-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="477"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="317"/>
         <source>r.stats.quantile.rast - Compute category quantiles using two passes and output rasters.</source>
         <translation>r.stats.quantile.rast - Berechne Kategoriequantile in zwei Durchgängen und Ausgaberaster.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="362"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="229"/>
         <source>Calculates Pielou's diversity index on a raster map </source>
         <translation>Berechnet Pielou-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="432"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="183"/>
         <source>r.blend.rgb - Blends color components of two raster maps by a given ratio and exports into three rasters.</source>
         <translation>r.blend.rgb - Paßt Farbkomponeten zwei Rasterkarten nach einem gegebenen Verhältnis an und exportiert sie in drei Raster.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="485"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="38"/>
         <source>Calculates coefficient of variation of patch area on a raster map</source>
         <translation>Variationskoeffizienten eines Patchbereiches einer Rasterkarte berechnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="613"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="350"/>
         <source>Generates rate of spread raster maps.</source>
         <translation>Erzeugt Rasterkarten mit Grad der Streung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="529"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="314"/>
         <source>Calculates Simpson's diversity index on a raster map</source>
         <translation>Berechnet Simpsons-Diversitäts-Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="376"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="305"/>
         <source>Makes each output cell value an accumulation function of the values assigned to the corresponding cells in the input raster map layers.</source>
         <translation>Jede Ausgabezelle zur Akkumulationsfunktion der den korrespondierenden Zellen zugeordneten Werten des Eingaberasterkartenlayers machen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="439"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="112"/>
         <source>Computes USLE R factor, Rainfall erosivity index.</source>
         <translation>USLE-R-Faktor berechnen.  Niederschlagserosionsindex.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="383"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="288"/>
         <source>Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions.</source>
         <translation>Interpoliert Rasterkarten die (zeitlich oder räumlich) zwischen zwei Eingaberasterkarten an bestimmten Abtastpositionen liegen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="377"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="340"/>
         <source>Imagery (i.*)</source>
         <translation>Bildbearbeitung (i.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="499"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="161"/>
         <source>r.li.cwed.ascii - Calculates contrast weighted edge density index on a raster map</source>
         <translation>r.li.cwed.ascii - Berechnet den kontrastgewichteten Kantendichteindex einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="380"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="167"/>
         <source>r.mask.vect - Creates a MASK for limiting raster operation with a vector layer.</source>
         <translation>r.mask.vect - MASKe zur Begrenzung der Rasteroperation mit einem Vektorlayer erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="314"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="163"/>
         <source>Creates topographic index layer from elevation raster layer</source>
         <translation>Erstellt Karte mit topographischem Index auf Basis eines digitalen Höhenmodells</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="530"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="190"/>
         <source>Calculates Renyi's diversity index on a raster map</source>
         <translation>Berechnet Renyi-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="495"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="292"/>
         <source>Resamples raster map layers using an analytic kernel.</source>
         <translation>Erzeugt eine neue Rasterkarte mit einem analytischen Kern.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="473"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="276"/>
         <source>Exports the color table associated with a raster map.</source>
         <translation>Exportiert die einer Rasterkarte zugeordnete Farbtabelle.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="584"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="169"/>
         <source>Queries colors for a raster map layer. </source>
         <translation>Fragt Farben einer Rasterkarte ab.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="402"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="100"/>
         <source>Splits a raster map into red, green and blue maps.</source>
         <translation>Teilt einer Rasterkarte in rote grüne und blaue Karten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="642"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="353"/>
         <source>Computes USLE Soil Erodibility Factor (K).</source>
         <translation>Berechnet USLE-Bodenerosionsfaktor (K).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="589"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="270"/>
         <source>r.li.dominance.ascii - Calculates dominance's diversity index on a raster map</source>
         <translation>r.li.dominance.ascii - Berechnet Dominanzdiversitätsindex einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="413"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="312"/>
         <source>Locates the closest points between objects in two raster maps.</source>
         <translation>Nächste Punkte zwischen Objekten in zwei Rasterkasten bestimmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="649"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="39"/>
         <source>r.li.padsd.ascii - Calculates standard deviation of patch area a raster map</source>
         <translation>r.li.padsd.ascii - Berechnet den Standardabweichen eines Patchbereiches einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="483"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="268"/>
         <source>r.walk.rast - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a raster.</source>
         <translation>r.walk.rast - Rasterkarte aus der kommulierten Kosten für die Bewegung zwischen zwei verschiedenen geographischen Orten auf einer Eingaberasterkarte deren Zellen Kategoriewerte Kosten aus einer Rasterkarte repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="462"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="309"/>
         <source>r.li.patchnum.ascii - Calculates patch number index on a raster map, using a 4 neighbour algorithm.</source>
         <translation>r.li.patchnum.ascii - Berechnet Patch-Anzahl-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="612"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="220"/>
         <source>r.li.patchdensity.ascii - Calculates patch density index on a raster map, using a 4 neighbour algorithm</source>
         <translation>r.li.patchdensity.ascii - Berechnet Patch-Anzahl-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="561"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="255"/>
         <source>Numerical calculation program for transient, confined and unconfined solute transport in two dimensions</source>
         <translation>Numerisches Berechnungsprogramm für transienten, beschränkten und unbeschränkte Grundwasserfluß in zwei Dimensionen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="424"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="44"/>
         <source>Creates a latitude/longitude raster map.</source>
         <translation>Erzeugt eine Breiten-/Längengrad-Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="407"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="75"/>
         <source>Simulates TOPMODEL which is a physically based hydrologic model.</source>
         <translation>Simuliert TOPMODEL (physikbasiertes hydrologisches Modell)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="543"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="180"/>
         <source>Simulates elliptically anisotropic spread.</source>
         <translation>Simuliert elliptische antisotropische Streung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="605"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="192"/>
         <source>Drapes a color raster over an shaded relief or aspect map. </source>
         <translation>Drapiert eine Rasterkarte mit Farbwerten über Schummerungs- oder Expositionskarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="570"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="148"/>
         <source>Exports GRASS vector map layers to DXF file format.</source>
         <translation>GRASS-Vektor in DXF-Datei exportieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="406"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="86"/>
         <source>Generates a raster layer with contiguous areas grown by one cell.</source>
         <translation>Erzeugt eine Rasterkarte mit kontinuierlich um eine Zelle gewachsenen Flächen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="353"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="126"/>
         <source>Converts a raster layer to a PPM image file at the pixel resolution of the currently defined region.</source>
         <translation>Wandelt einen Rasterlayer in eine PPM-Bilddatie in der Auflösung der aktuellen Region.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="445"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="56"/>
         <source>Generates random cell values with spatial dependence.</source>
         <translation>Erzeugt zufällig Zellwerte mit räumlicher Abhängigkeit.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="378"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="191"/>
         <source>Compares bit patterns with a raster map.</source>
         <translation>Vergleicht Bitmuster mit Rastern.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="395"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="227"/>
         <source>Bilinear interpolation utility for raster map layers.</source>
         <translation>Bilineare Interpolationswerkzeug für Rasterkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="344"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="134"/>
         <source>Stream network extraction</source>
         <translation>Stromnetzwerkextraktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="342"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="154"/>
         <source>Miscellaneous (m.*)</source>
         <translation>Verschiedenes (m.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="608"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="61"/>
         <source>Create a new vector map layer by combining other vector map layers.</source>
         <translation>Erzeugt eine neue Vektorkarte durch Kombination anderer Vektorkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="361"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="299"/>
         <source>Performs an affine transformation on a vector layer.</source>
         <translation>Führt eine affine Transformation von Vektorkarten durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="506"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="158"/>
         <source>Fills no-data areas in a raster layer using v.surf.rst splines interpolation or v.surf.bspline interpolation</source>
         <translation>Leerflächen in Raster nach v.surf.rst oder v.surf.bspline Spline-Interpolation füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="304"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="311"/>
         <source>Reinterpolates using regularized spline with tension and smoothing.</source>
         <translation>Reinterpoliert mit RST und Glättung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="465"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="266"/>
         <source>Recursively traces the least cost path backwards to cells from which the cumulative cost was determined.</source>
         <translation>Das Modul verfolgt den kürzesten Weg rekursiv zurück zu den Zellen, von denen der kumulative Weg bestimmt wurde.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="409"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="293"/>
         <source>Creates parallel line to input vector lines.</source>
         <translation>Parallele Linien zu Eingabevektorlinien erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="520"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="23"/>
         <source>Recodes categorical raster maps.</source>
         <translation>Kodiert kategorische Rasterkarten um.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="334"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="7"/>
         <source>Horizon angle computation from a digital elevation model.</source>
         <translation>Berechnung des Horizontwinkel auf Grundlage eines digitalen Höhenmodells.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="341"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="199"/>
         <source>r.cost.points - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
         <translation>r.rast.points - Raster aus der kommulierten Kosten für die Bewegung über ein Raster erzeugen, dessen Zellen Kosten repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="400"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="116"/>
         <source>Exports GRASS raster map to GRIDATB.FOR map file (TOPMODEL)</source>
         <translation>GRASS-Vektor in GRIDATB.FOR Kartendatei (TOPMODEL) speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="484"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="193"/>
         <source>r.cost.raster - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
         <translation>r.cost.raster - Raster aus der kommulierten Kosten für die Bewegung über ein Raster erzeugen, dessen Zellen Kosten repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="551"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="216"/>
         <source>r.cost.coordinates - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
         <translation>r.cost.coordinates - Raster aus der kommulierten Kosten für die Bewegung über ein Raster erzeugen, dessen Zellen Kosten repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="566"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="269"/>
         <source>Finds the average of values in a cover raster layer  within areas assigned the same category value in a user-specified base layer.</source>
         <translation>Findet den Durchschnitt der Werte in einer Überlagerungskarte innerhalb gleicher Kategorien in einer benutzer-angegebenen Ausgangskarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="370"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="166"/>
         <source>Indices for quadrat counts of vector point lists.</source>
         <translation>Indizes der Quadrat-Zählmethode aus Vektorpunktliste.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="545"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="253"/>
         <source>Detects the object's edges from a LIDAR data set.</source>
         <translation>Bestimmt die Kanten eines Objekte aus einem LIDAR-Datensatz.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="412"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="51"/>
         <source>Thins non-zero cells that denote linear features in a raster layer.</source>
         <translation>Dünne nicht-Null-Zellen aus, die Linieneigenschaften bezeichnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="430"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="43"/>
         <source>Import GetFeature from WFS</source>
         <translation>Importiert GetFeature eines WFS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="367"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="282"/>
         <source>Produces a raster layer of uniform random deviates whose range can be expressed by the user.</source>
         <translation>Erzeugt eine Rasterkarte mit zufälligen Werten einer Gleichverteilung, deren Spanne vom Benutzer angegeben werden kann.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="479"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="244"/>
         <source>Produces the quantization file for a floating-point map.</source>
         <translation>Quantisierungsdatei zu Fließkommaraster erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="554"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="336"/>
         <source>Creates a GRASS vector layer of a user-defined grid.</source>
         <translation>Erzeugt eine GRASS Vektorkarte mit einem benutzerdefinierten Gitternetz.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="427"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="248"/>
         <source>Extracts terrain parameters from a DEM.</source>
         <translation>Geländeparameter aus DEM extrahieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="533"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="197"/>
         <source>Creates a composite raster layer by using one (or more) layer(s) to fill in areas of "no data" in another map layer.</source>
         <translation>Erstellt eine Komposit-Karte, indem bekannte Kategorie-Werte einer (oder mehrerer) Rasterkarte(n) in "NO DATA"-Bereiche einer anderen Rasterkarte gefüllt werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="602"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="252"/>
         <source>Raster (r.*)</source>
         <translation>Raster (r.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="316"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="320"/>
         <source>Spatial approximation and topographic analysis using regularized spline with tension.</source>
         <translation>Räumliche Approximation und topographische Analyse mit einer regularisierten Spline-Funktion mit Spannung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="590"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="19"/>
         <source>Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space.</source>
         <translation>Rastertransformationfunktion für HIS- (Hue-Intensity-Saturation) in RGB-Farbraum (Rot-Grün-Blau).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="398"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="113"/>
         <source>Correction of the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering.</source>
         <translation>Korrektur der v.lidar.growing Ausgabe. Das ist der letzte von 3 Algorithmen um LIDAR zu filtern.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="547"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="296"/>
         <source>Generates watershed subbasins raster map.</source>
         <translation>Erzeugt Rasterkarte mit Wassereinzugsgebieten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="627"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="159"/>
         <source>r.flow.aspect - Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).</source>
         <translation>r.flow.aspect - Erzeugt Hangkurven (flowlines), Fließlängen und Flussdichte (contributing areas) aus einem angegebenen digitalen Höhenmodell (DEM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="574"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="22"/>
         <source>Outputs a covariance/correlation matrix for user-specified raster layer(s).</source>
         <translation>Gibt eine Kovarianz/Korrelations-Matrix für (eine) benutzerdefiniert Rasterkarte(n) aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="516"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="147"/>
         <source>Compute quantiles using two passes.</source>
         <translation>Berechne Quantile in zwei Durchgängen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="522"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="145"/>
         <source>Vector (v.*)</source>
         <translation>Vektor (v.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="457"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="49"/>
         <source>Classifies attribute data, e.g. for thematic mapping.</source>
         <translation>Klassifiziert Attributdaten, z.B. für thematische Karten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="311"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="72"/>
         <source>Random location perturbations of GRASS vector points</source>
         <translation>Zufällige Positionsstörung von GRASS-Vektorpunkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="625"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="310"/>
         <source>Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column.</source>
         <translation>Ändert die Kategorien einer existierenden Vektorkarte entsprechend den Ergebnissen der SQL-Abfragen oder der Werte einer Spalte der Attributtabelle.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="619"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="93"/>
         <source>Reports statistics for raster layers.</source>
         <translation>Gibt statistische Werte für eine Rasterkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="336"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="206"/>
         <source>r.relief.scaling - Creates shaded relief from an elevation layer (DEM).</source>
         <translation>r.relief.scaling - Erzeugt eine Schummerungskarte aus einem Höhenmodell (DGM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="329"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="213"/>
         <source>Randomly generate a 2D/3D vector points map.</source>
         <translation>Zufällige 2D/3D-Vektorpunktkarte erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="321"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="234"/>
         <source>Generates a raster density map from vector point data using a moving kernel or optionally generates a vector density map on a vector network.</source>
         <translation>Erzeugt eine Raster-Dichtekarte aus Vektorpunkten unter Verwendung eines gleitenden Kerns. Optional kann eine Vektor-Dichtekarte basierend auf einem Vektornetzwerk erstellt werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="604"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="138"/>
         <source>Resamples raster layers to a coarser grid using aggregation.</source>
         <translation>Erzeugt eine neue Rasterkarte gröberer Auflösung mittels Aggregation.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="557"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="177"/>
         <source>Indices for quadrant counts of sites lists.</source>
         <translation>Indizes der Quadrat-Zählmethode aus Siteliste.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="573"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="281"/>
         <source>Calculates category or object oriented statistics.</source>
         <translation>Berechnet Kategorie- oder objektorientierte Statistik.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="628"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="83"/>
         <source>Create points along input lines</source>
         <translation>Punkte entlang von Eingabelinien erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="447"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="89"/>
         <source>Computes minimum spanning tree for the network.</source>
         <translation>Berechnet den minimalen Spannbaum eines Netzwerks.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="331"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="283"/>
         <source>Computes the shortest path between all pairs of nodes in the network</source>
         <translation>Berechnet die kürzesten Pfad zwischen allen Knotenpaaren eines Netzwerkes.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="572"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="150"/>
         <source>Computes vertex connectivity between two sets of nodes in the network.</source>
         <translation>Berechnet die Stützpunktverbindungen zwischen zwei Knotenmengen im Netzwerk.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="610"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="41"/>
         <source>Creates Steiner tree for the network and given terminals</source>
         <translation>Erzeugt einen Steinerbaum für das Netzwerk und gegebenen Enden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="647"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="329"/>
         <source>v.net.report - Reports lines information of a network</source>
         <translation>v.net.report - Berichte zu Kanteninformationen eines Netzwerks</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="366"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="186"/>
         <source>Performs visibility graph construction.</source>
         <translation>Erstellt Sichtbarkeitsgraphen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="443"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="231"/>
         <source>Calculate error matrix and kappa parameter for accuracy assessment of classification result.</source>
         <translation>Fehlermatrix und Kappa-Parameter für Genauigkeitsbewertung von Klassifikationsergebnissen berechnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="451"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="28"/>
         <source>Flow computation for massive grids.</source>
         <translation>Flußberechnung für massive Raster.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="335"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="55"/>
         <source>r.aspect - Generates raster maps of aspect from an elevation raster map.</source>
         <translation>r.slope.apect - Erzeugt Rasterkarten mit Exposition aus einer Rasterkarte mit Höheninformationen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="338"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="17"/>
         <source>Computes emissivity from NDVI, generic method for sparse land. </source>
         <translation>Ermittelt Emissivität aus NDVI, generische Methode für karges Land.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="452"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="16"/>
         <source>Calculates univariate statistics from the non-null cells of a raster map.</source>
         <translation>Eindimensionale Statistik des Nicht-Null-Zellen eines Rasters berechnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="399"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="64"/>
         <source>Surface interpolation from vector point data by Inverse Distance Squared Weighting.</source>
         <translation>Oberflächeninterpolation mit auf Vektorpunkten basierender inverser quadratischer Abstandsgewichtung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="538"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="223"/>
         <source>Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).</source>
         <translation>r.flow.aspect - Erzeugt Hangkurven (flowlines), Fließlängen und Flussdichte (contributing areas) aus einem angegebenen digitalen Höhenmodell (DEM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="415"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="318"/>
         <source>A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a cartesian coordinate system</source>
         <translation>Ein einfaches Hilfsprogramm, dass Kurs- und Distanzwert in Koordinaten umrechnet und umgekehrt.  Es setzt ein kartesisches Koordinatensystem voraus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="514"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="10"/>
         <source>Surface generation.</source>
         <translation>Oberflächenerzeugung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="482"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="246"/>
         <source>Generates raster layers of slope, aspect, curvatures and partial derivatives from a elevation raster layer.</source>
         <translation>Erzeugt Rasterkarten mit Hangneigung, Exposition, Wölbung und partiellen Ableitungen aus einer Rasterkarte mit Höheninformationen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="356"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="141"/>
         <source>Simulates elliptically anisotropic spread on a graphics window and generates a raster map of the cumulative time of spread, given raster maps containing the rates of spread (ROS), the ROS directions and the spread origins.</source>
         <translation>Simuliert elliptische anisotrophe Ausbreitung in einem Grafikfenster und erzeugt eine Rasterkarte mit der kumulativen Ausbreitungszeit. Als Ausgangskarten dienen die Ausbreitungsgeschwindigkeit, Ausbreitungsrichtung und der Ursprung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="507"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="250"/>
         <source>Tests for normality for points.</source>
         <translation>Tests der Normalität auf Vektor-Punkten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="611"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="344"/>
         <source>Calculates linear regression from two raster layers : y = a + b*x.</source>
         <translation>Berechnet lineare Regression zweier Raster: y = a + b*x.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="580"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="115"/>
         <source>Finds the mode of values in a cover layer within areas assigned the same category value in a user-specified base layer.</source>
         <translation>Findet den Modalwert der Werte einer Bedeckungskarte innerhalb der Flächen mit gleichen Werten in einer benutzerdefinierten Basiskarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="375"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="160"/>
         <source>r.flow.barrier - Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).</source>
         <translation>r.flow.barrier - Erzeugt Hangkurven (flowlines), Fließlängen und Flussdichte (contributing areas) aus einem angegebenen digitalen Höhenmodell (DEM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="568"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="59"/>
         <source>Reports geometry statistics for vectors.</source>
         <translation>Gibt statistische Werte für Geometrie der Vektorobjekte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="438"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="352"/>
         <source>Bicubic or bilinear spline interpolation with Tykhonov regularization.</source>
         <translation>Bikubische oder bi-lineare Spline-Interpolation mit Tichonow-Regularisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="579"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="103"/>
         <source>Watershed basin creation program.</source>
         <translation>Wassereinzugsgebietserzeugungsprogramm.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="593"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="346"/>
         <source>Resamples raster map to a finer grid using interpolation.</source>
         <translation>Erzeugt eine neue Rasterkarte mit feinerer Auflösung mittels Interpolation.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="639"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="80"/>
         <source>Generates red, green and blue raster layers combining hue, intensity and saturation (HIS) values from user-specified input raster layers.</source>
         <translation>Erzeugt rot, grün und blaue Rasterkarten durch Kombination des Farbtons, der Intensität und Sättigung (HIS) aus Eingabe-Rasterkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="518"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="57"/>
         <source>Produces tilings of the source projection for use in the destination region and projection.</source>
         <translation>Erzeugt Kacheln der Quellprojektion zur Verwendung in der Zielregion und Projektion.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="541"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="347"/>
         <source>r.li.richness.ascii - Calculates richness index on a raster map</source>
         <translation>r.li.richness.ascii - Berechet Richness-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="567"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="173"/>
         <source>r.li.mpa.ascii - Calculates mean pixel attribute index on a raster map</source>
         <translation>r.li.mpa.ascii - Ermittelt mittleren Pixelattributindex einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="315"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="332"/>
         <source>Sets color rules based on stddev from a raster map's mean value.</source>
         <translation>Setzt Farbregeln basierend auf Standardabweichung des Mittelwerts eines Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="422"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="85"/>
         <source>Generate images with textural features from a raster map.</source>
         <translation>Bilder mit Texteigenschaften einer Rasterkarte erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="382"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="21"/>
         <source>r.li.padrange.ascii - Calculates range of patch area size on a raster map</source>
         <translation>r.li.padrange.ascii - Berechnet Reichweite einer Patchbereichsgröße auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="426"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="153"/>
         <source>Creates a Delaunay triangulation from an input vector map containing points or centroids.</source>
         <translation>Erzeugt eine Delaunay-Triangulation auf Basis einer Eingabe-Vektorkarte mit Punkten oder Zentroiden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="317"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="42"/>
         <source>Generates three, or four raster map layers showing 1) the base (perpendicular) rate of spread (ROS), 2) the maximum (forward) ROS, 3) the direction of the maximum ROS, and optionally 4) the maximum potential spotting distance.</source>
         <translation>Erstellt drei oder vier Rasterkarten, die 1) die Basisrate der (rechtwinkligen) Ausbreitungsgeschwindigkeit, 2) die maximale (Vorwärts-) Geschwindigkeit, 3) die Richtung der größten Ausbreitungsgeschwindigkeit und optional 4) die maximale Entdeckungsentfernung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="347"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="175"/>
         <source>Resamples a raster map layer to a finer grid using interpolation.</source>
         <translation>Erzeugt eine neue Rasterkarte mit feinerer Auflösung mittels Interpolation.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="434"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="143"/>
         <source>Generates area statistics for raster layers.</source>
         <translation>Erzeugt Flächenstatistiken für Rasterkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="302"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="165"/>
         <source>Traces a flow through an elevation model on a raster map.</source>
         <translation>Verfolge eine Strömung durch ein Höhenmodell auf einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="559"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="222"/>
         <source>Finds the median of values in a cover layer within areas assigned the same category value in a user-specified base layer.</source>
         <translation>Findet den Median der Werte einer Coverkarte innerhalb der Flächen mit gleichen Werten in einer benutzerdefinierten Basiskarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="450"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="211"/>
         <source>Produces a convex hull for a given vector map.</source>
         <translation>Erzeugt eine konvexe Hülle für eine Vektorkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="600"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="119"/>
         <source>r.random.raster - Create random raster</source>
         <translation>r.random.raster - Zufälliges Raster erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="388"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="301"/>
         <source>Creates points/segments from input vector lines and positions.</source>
         <translation>Punkte/Segmente von Eingabevektorlinien und -positionen bilden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="460"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="8"/>
         <source>Samples a raster layer at vector point locations.</source>
         <translation>Fragt eine Rasterkarte an den Positionen von Vektorpunkten ab.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="592"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="233"/>
         <source>Creates a new map layer whose category values are based upon a reclassification of the categories in an existing raster map layer.</source>
         <translation>Neue Karte erzeugen, deren Kategoriewerte auf einer Reklassifikation der Kategorien einer existierenden Rasterkarte basieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="648"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="277"/>
         <source>Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space.</source>
         <translation>Rastertransformationfunktion für HIS- (Hue-Intensity-Saturation) in RGB-Farbraum (Rot-Grün-Blau).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="626"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="78"/>
         <source>Toolset for cleaning topology of vector map.</source>
         <translation>Werkzeugsatz für die Bereinigung der Topologie einer Vektorkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="496"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="324"/>
         <source>Calculates univariate statistics for attribute. Variance and standard deviation is calculated only for points if specified.</source>
         <translation>Berechnet univariate Statistiken für die Attribute. Die Varianz und Standardabweichung wird nur für Punkte berechnet wenn angefragt.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="503"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="185"/>
         <source>Zero-crossing "edge detection" raster function for image processing.</source>
         <translation>Nulldurchgangskantendetektionsrasterfunktion für die Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="330"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="172"/>
         <source>Prints vector map attributes</source>
         <translation>Gebe Vektorattribute aus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="544"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="333"/>
         <source>r.contour.level - Create vector contour from raster at specified levels</source>
         <translation>r.contour.level - Erstellen von Vektorkonturen von Rasterdaten an bestimmten Ebenen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="410"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="345"/>
         <source>v.surf.bspline.sparse - Bicubic or bilinear spline interpolation with Tykhonov regularization.</source>
         <translation>v.surf.bspline.sparse - Bikubische oder bi-lineare Spline-Interpolation mit Tichonow-Regularisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="423"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="14"/>
         <source>r.reclass.area.lesser - Reclassifies a raster layer, selecting areas lower than a user specified size</source>
         <translation>r.reclass.area.lesser -Reklassifiziere Rasterkarte durch Auswahl von Flächen kleiner eines gegeben Werts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="349"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="267"/>
         <source>v.split.vert - Split lines to shorter segments by max number of vertices.</source>
         <translation>v.split.vert - Trenne Linien zu kürzeren Segmenten nach Stützpunktanzahl.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="558"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="92"/>
         <source>Performs raster map matrix filter.</source>
         <translation>Führt Matrixfilter auf einer Rasterkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="421"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="133"/>
         <source>Prints terse list of category values found in a raster layer.</source>
         <translation>Gibt eine kurze Liste der Kategoriewerte einer Rasterkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="548"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="331"/>
         <source>Overlays two vector maps.</source>
         <translation>Überlagert zwei Vektorkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="509"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="260"/>
         <source>Builds polylines from lines or boundaries.</source>
         <translation>Polygone aus Linien oder Umgrenzungen bilden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="328"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="341"/>
         <source>Creates Linear Reference System</source>
         <translation>Erzeugt ein lineares Bezugssystem</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="583"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="187"/>
         <source>Imports geonames.org country files into a GRASS vector points map.</source>
         <translation>geonames.org-Länderdatei in eine GRASS-Vektorpunktkarte importieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="562"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="291"/>
         <source>Converts vector polygons or points to lines.</source>
         <translation>Vektorpolygone oder -pnkte in Linien umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="350"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="170"/>
         <source>Converts LAS LiDAR point clouds to a GRASS vector map with libLAS.</source>
         <translation>LAS-LiDAR-Punktwolken in eine GRASS-Vektorkarte mit libLAS umwandeln.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="565"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="122"/>
         <source>Import ASCII x,y[,z] coordinates as a series of lines.</source>
         <translation>ASCII-x,y[,z]-Koordinaten als Linienreihe importieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="631"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="306"/>
         <source>Creates points/segments from input lines, linear reference system and positions read from stdin or a file.</source>
         <translation>Erzeugt Punkte/Segmente aus Eingabevektorlinien, linearem Bezugssystem und Eingabepositionen aus Standardeingabe oder Datei.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="372"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="164"/>
         <source>v.kernel.vector - Generates a vector density map from vector points on a vector network.</source>
         <translation>v.kernel.vector - Erzeugt eine Vektordichtekarte aus Vektorpunkten in einem Vektornetzwerk.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="472"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="326"/>
         <source>Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points.</source>
         <translation>Berichtigt ein Bild durch die Berechnung der Koordinatentransformation für jedes Objekt im Vektor mittels Kontrollpunkten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="563"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="290"/>
         <source>v.kernel.rast - Generates a raster density map from vector points map.</source>
         <translation>v.kernel.rast - Erzeugt eine Rasterdichtekarte aus einer Vektorpunktkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="448"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="96"/>
         <source>Change the type of geometry elements.</source>
         <translation>Typ der Geometrieelemente ändern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="539"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="106"/>
         <source>Finds line id and real km+offset for given points in vector map using linear reference system. </source>
         <translation>Findet Linienkennung und echten km+Versatz für gegebene Punkte in Vektorkarten mit linearem Referenzsystem.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="513"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="87"/>
         <source>v.in.ascii.points - Creates a vector map from an ASCII points file.</source>
         <translation>v.in.ascii.points - Erzeugt eine Vektorkarte aus ASCII-Punktdatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="549"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="123"/>
         <source>Imports Mapgen or Matlab-ASCII vector maps into GRASS.</source>
         <translation>MapGen- oder MatLab-Vektor in GRASS importieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="433"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="34"/>
         <source>Exports a vector map as GRASS GIS specific archive file.</source>
         <translation>Exportiert eine Vektorkarte als GRASS GIS spezifische Archivdatei.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="510"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="109"/>
         <source>Removes outliers from vector point data.</source>
         <translation>Entfernt Ausreißer aus einem Punkt-Vektordatensatz.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="646"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="188"/>
         <source>Edits a vector map, allows adding, deleting and modifying selected vector features.</source>
         <translation>Bearbeitet eine Vektorkarte, erlaubt hinzufügen, löschen und Änderunge von gewählten Vektorobjekten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="461"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="108"/>
         <source>Calculate new raster map from a r.mapcalc expression.</source>
         <translation>Berechne eine neue Rasterkarte mit einem r.mapcalc-Ausdruck.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="420"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="338"/>
         <source>Converts a vector map to VTK ASCII output.</source>
         <translation>Wandelt eine Vektorkarte in VTK ASCII um.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="456"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="327"/>
         <source>Extrudes flat vector object to 3D with defined height.</source>
         <translation>Flaches Vektorobjekt mit definierter Höhe in 3D extrudieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="525"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="110"/>
         <source>v.in.ascii.standard - Creates a vector map from an ASCII vector file. </source>
         <translation>v.in.ascii.standard - Erzeugt eine Vektorkarte aus einer ASCII Vektordatei. </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="552"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="286"/>
         <source>Performs transformation of 2D vector features to 3D.</source>
         <translation>Führt Transformation von 2D-Vektorobjekten zu 3D durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="640"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="300"/>
         <source>v.build.check - Checks for topological errors.</source>
         <translation>v.build.check - Überprüft auf topologische Fehler.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="494"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="69"/>
         <source>Creates a raster map from LAS LiDAR points using univariate statistics.</source>
         <translation>Erzeugt Rasterkarte aus LAS-LiDAR-Punkten über univariante Statistik.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="492"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="73"/>
         <source>Calculates univariate statistics from a raster map based on vector polygons and uploads statistics to new attribute columns.</source>
         <translation>Univariante Statistik aus Rasterkarte über Vektorpolygone berechnen und Statistik in neuen Attributspalten ablegen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="340"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="90"/>
         <source>Count points in areas and calculate statistics.</source>
         <translation>Ermittle Anzahl der Punkte in Bereichen und berechne Statistik.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="436"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="204"/>
         <source>Line-of-sight raster analysis program.</source>
         <translation>Sichtachsen-Rasteranalysemodul.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="306"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="262"/>
         <source>Uploads vector values at positions of vector points to the table.</source>
         <translation>Lade Vektorwerte an den Positionen von Vektorpunkten in die Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="469"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="217"/>
         <source>Selects vector objects from a vector layer a new layer containing only the selected objects.</source>
         <translation>Selektiert Vektorobjekte einer existierenden Vektorkarte und erzeugt eine neue Karte nur mit den selektierten Objekten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="638"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="88"/>
         <source>Surface area estimation for rasters.</source>
         <translation>Oberflächensschätzungen für Raster.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="351"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="228"/>
         <source>Combines red, green and blue raster maps into a single composite raster map.</source>
         <translation>Kombiniert rote, grüne und blaue Rasterkarten zu einer zusammengesetzten Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="621"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="156"/>
         <source>Converts a raster into a vector layer.</source>
         <translation>Raster in Vektorlayer umwandeln.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="390"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="137"/>
         <source>Creates a cross product of the category values from multiple raster map layers.</source>
         <translation>Kreuzprodukt der Kategoriewerte mehrerer Raster erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="577"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="18"/>
         <source>v.generalize.displacement - Vector based displacement generalization.</source>
         <translation>v.generalize.displacement - Vektorbasierte Versatzgeneralisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="585"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="76"/>
         <source>Converts vector map to 3D by sampling of elevation raster map.</source>
         <translation>Wandelt Vektorkarte in 3D durch Abtastung einer Rasterhöhenkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="478"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="52"/>
         <source>r.slope - Generates raster maps of slope from an elevation raster map.</source>
         <translation>r.slope - Erzeugt Rasterkarten mit Hangneigung aus einer Rasterkarte mit Höheninformationen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="387"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="20"/>
         <source>Fills no-data areas in raster maps using spline interpolation.</source>
         <translation>Füllt Bereiche mit Leerdaten in Rasterkarten mit Spline-Interpolation.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="598"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="243"/>
         <source>Visualization and animation tool for GRASS data.</source>
         <translation>Visualisierungs- und Animationswerkzeug für GRASS-Daten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="629"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="235"/>
         <source>Construction of slope curves (flowlines), flowpath lengths, and flowline densities (upslope areas) from a raster digital elevation model (DEM).</source>
         <translation>Erzeugt Hangkurven (flowlines), Fließlängen und Flussdichte (upslope areas) aus einem angegebenen digitalen Höhenmodell (DEM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="381"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="25"/>
         <source>v.generalize.simplify - Vector based simplification generalization.</source>
         <translation>v.generalize.simplify - Vektorbasierte Versatzgeneralisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="512"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="178"/>
         <source>v.generalize.smooth - Vector based smooth generalization.</source>
         <translation>v.generalize.smooth - Vektorbasierte Versatzgeneralisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="333"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="111"/>
         <source>v.generalize.network - Vector based network generalization.</source>
         <translation>v.generalize.network - Vektorbasierte Versatzgeneralisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="358"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="128"/>
         <source>Canonical components analysis (CCA) program for image processing.</source>
         <translation>Kanonische Komponentenanalyseprogramm (CCA) für Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="397"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="225"/>
         <source>Extracts quality control parameters from MODIS QC layers.</source>
         <translation>Extrahiert dies Qualitätskontrollparameter eines MODIS-QC-Layers.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="596"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="194"/>
         <source>Generates statistics for i.maxlik from raster map.</source>
         <translation>Generiert Statistik für i.maxlik aus Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="324"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="132"/>
         <source>Computes the maximum flow between two sets of nodes in the network.</source>
         <translation>Berechnet den maximalen Fluß zwischen zwei Knotenmengen im Netzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="307"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="319"/>
         <source>v.net.nodes - Creates points for each network arcs</source>
         <translation>v.net.nodes - Erzeugt Punkte für jeden Netzwerkbogen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="517"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="40"/>
         <source>v.net.nreport - Reports nodes information of a network</source>
         <translation>v.net.nreport - Berichte zu Knoteninformationen eines Netzwerks</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="486"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="94"/>
         <source>Creates raster plane layer given dip (inclination), aspect (azimuth) and one point.</source>
         <translation>Erzeugt eine Rasterkarte mit einer Ebene mit gegebener Neigung (inclination), Ausrichtung (azimuth) und einem Punkt.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="586"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="294"/>
         <source>Computes bridges in the network.</source>
         <translation>Berechnet Brücken im Netzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="488"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="68"/>
         <source>Splits network by cost isolines.</source>
         <translation>Schnitt durch Netzwerk entlang veranschlagten Isolinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="498"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="279"/>
         <source>Output basic information about a raster layer.</source>
         <translation>Gibt grundlegende Informationen über eine Rasterkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="569"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="65"/>
         <source>Dissolves boundaries between adjacent areas sharing a common category number or attribute.</source>
         <translation>Löst die Grenzen zwischen anliegenden Gebieten auf die eine gemeinsame Kategorie-Nummer oder Attribut haben.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="392"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="298"/>
         <source>Allocates subnets for nearest centers (direction from center)</source>
         <translation>Bestimmt Teilnetze für nächste Zentren (vom Zentrum gerichtet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="355"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="37"/>
         <source>Computes shortest distance via the network between the given sets of features.</source>
         <translation>Berechnet die kürzesten Abstand zwischen zwei gegebenen Objektmengen im Netzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="325"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="273"/>
         <source>v.net.arcs - Creates arcs from a file of points</source>
         <translation>v.net.arcs - Berechnet Bögen aus einer Punktdatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="463"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="196"/>
         <source>Finds the nearest element in vector map 'to' for elements in vector map 'from'.</source>
         <translation>Findet das nächstgelegene Element der Vektorkarte 'to' für Elemente in der Vektorkarte 'from'.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="581"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="265"/>
         <source>Computes strongly and weakly connected components in the network.</source>
         <translation>Berechnet stark und schwach verbundene Komponenten eines Netzwerks</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="429"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="242"/>
         <source>v.net.articulation - Computes articulation points in the network</source>
         <translation>v.net.articulation - Berechnet Artikulationspunkte im Netzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="320"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="30"/>
         <source>Computes degree, centrality, betweeness, closeness and eigenvector centrality measures in the network.</source>
         <translation>Berechnet Degree, Centrality, Betweeness, Closeness und Eigenvektor centrality Werte im Netzwerk.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="576"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="60"/>
         <source>v.net.connect - Connects points to nearest arcs in a network</source>
         <translation>v.net.connect - Verbinde Punkte zu nächsten Bögen in einem Netzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="519"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="214"/>
         <source>Creates a cycle connecting given nodes (Traveling salesman problem)</source>
         <translation>Erzeugt eine Rundtour zu gegebenen Punkten (Travelling Salesman)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="373"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="205"/>
         <source>Finds shortest path on vector network</source>
         <translation>Kürzesten Weg in einem Vektornetzwerk finden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="444"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="274"/>
         <source>Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values.</source>
         <translation>Erzeugt eine Rasterkarte mit Pufferzonen um Zellen, die keine NULL-Wert-Kategorien haben.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="504"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="302"/>
         <source>Filters and generates a depressionless elevation layer and a flow direction layer from a given elevation raster layer.</source>
         <translation>Depressionsloses Höhenmodell filtern und generieren und eine Fließrichtungskarte auf Basis eines gegebenen Höhenmodells.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="369"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="142"/>
         <source>GRASS raster map layer data resampling capability using nearest neighbors.</source>
         <translation>GRASS-Rasterlayerdatenneuabtastungsfunktion nach nächstem Nachbarn.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="582"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="63"/>
         <source>Creates shaded relief from an elevation layer (DEM).</source>
         <translation>Erzeugt eine Schummerungskarte aus einem Höhenmodell (DGM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="615"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="97"/>
         <source>Rescales histogram equalized the range of category values in a raster  layer.</source>
         <translation>Reskaliert mit Histogrammnormalisierung die Kategoriewerte einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="575"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="12"/>
         <source>Manages NULL-values of given raster map.</source>
         <translation>NULL-Werte eine gegebenen Rasterkarte behandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="470"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="47"/>
         <source>Makes each cell category value a function of the category values assigned to the cells around it</source>
         <translation>Jede Ausgabezelle zur Funktion der korrespondierenden Zellen des Eingaberasters machen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="458"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="48"/>
         <source>Sediment transport and erosion/deposition simulation using path sampling method (SIMWE).</source>
         <translation>Sedimenttransport und Erosions/Depositions Simulation unter Verwendung der "path sampling" Methode (SIMWE).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="318"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="209"/>
         <source>v.what.rast.points - Uploads raster values at positions of vector points to the table.</source>
         <translation>v.what.rast.points - Läd Rasterwerte an gegebenen Position von Vektorpunkten in eine Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="497"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="81"/>
         <source>Generates a raster layer of distance to features in input layer.</source>
         <translation>Raster aus Objektabständen in Eingabelayer erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="345"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="102"/>
         <source>Sums up the raster cell values.</source>
         <translation>Summiert die Rasterzellenwerte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="595"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="151"/>
         <source>Raster map matrix filter.</source>
         <translation>Rasterkartenmatrixfilter.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="601"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="66"/>
         <source>Outputs a raster layer showing the anisotropic cumulative cost of moving based on friction cost.</source>
         <translation>Erzeugt eine Rasterkarte, die die anisotrophen kumulierten Kosten der Bewegung auf Basis der Reibungskosten zeigt.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="524"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="316"/>
         <source>Tabulates the mutual occurrence (coincidence) of categories for two raster map layers.</source>
         <translation>Tabelliere gemeinsames Auftreten (Koinzidenz) der Klassen für zwei Rasterlayer.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="616"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="303"/>
         <source>Watershed basin analysis program.</source>
         <translation>Wassereinzugsgebietsanalyseprogramm.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="404"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="24"/>
         <source>Creates a raster layer of Gaussian deviates.</source>
         <translation>Erzeugt eine Raster von Gauss'schen Ableitungen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="501"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="58"/>
         <source>v.what.rast.centroids - Uploads raster values at positions of vector centroids to the table.</source>
         <translation>v.what.rast.centroids - Lade Rasterwerte an den Position von Vektorzentroiden in die Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="379"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="232"/>
         <source>Creates a raster layer and vector point map containing randomly located points.</source>
         <translation>Erstellt eine Rasterkarte und eine Vektorkarte, die zufällig angeordnete Punkte enthalten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="476"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="342"/>
         <source>Selects features from vector map (A) by features from other vector map (B).</source>
         <translation>Selektiert Objekte der Vektorkarte (A) durch Objekte einer anderen Vektorkarte (B).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="343"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="259"/>
         <source>Creates a raster map containing concentric rings around a given point.</source>
         <translation>Erzeugt eine Rasterkarte, die konzentrische Kreise um einen angegebenen Punkt ziehen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="641"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="247"/>
         <source>Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories.</source>
         <translation>Re-Kategorisiert Daten einer Rasterkarte, indem Zellen physikalisch diskreter Areale zu eindeutigen Kategorie gruppiert werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="644"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="127"/>
         <source>Creates a Voronoi diagram from an input vector layer containing points.</source>
         <translation>Erstellt ein Voronoi Diagramm auf Basis einer Vektorkarte mit Punkten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="339"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="179"/>
         <source>Flow computation for massive grids (float version).</source>
         <translation>Flußberechnung für massive Gitter (Fließkommaversion).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="364"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="107"/>
         <source>Flow computation for massive grids (integer version).</source>
         <translation>Flußberechnung für massive Gitter (Ganzzahkversion).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="532"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="285"/>
         <source>Outputs the raster layer values lying on user-defined line(s).</source>
         <translation>Gibt eine Rasterkarte aus, deren Werte entlang einer (oder mehrerer) benutzerdefinierter Linien liegt.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="500"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="135"/>
         <source>Export a raster map to a text file as x,y,z values based on cell centers</source>
         <translation>Raster in Textdatei als x-,y- und z-Werte der Zellzentren exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="603"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="263"/>
         <source>Outputs basic information about a user-specified vector map.</source>
         <translation>Gibt grundlegende Informationen einer bestimmten Vektorkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="310"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="15"/>
         <source>Randomly partition points into test/train sets.</source>
         <translation>Punkte zufällig in Test-/Trainingsdatensätze aufteilen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="352"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="215"/>
         <source>Takes vector stream data, transforms it to raster and subtracts depth from the output DEM.</source>
         <translation>Nimm Vektordaten, wandle sie in Rasterdaten-und subtrahiere Tiefe aus der Ausgabe DEM.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="348"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="144"/>
         <source>Building contour determination and Region Growing algorithm for determining the building inside</source>
         <translation>Bestimmung des Gebäudeumriß und Anwendung des 'Region Growing' Verfahrens zu Ermittelung des Gebäudeinneren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="459"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="114"/>
         <source>Overland flow hydrologic simulation using path sampling method (SIMWE).</source>
         <translation>Hydrologische Simulation des Oberflächenabfluß mittels der "path sampling"-Methode (SIMWE).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="599"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="236"/>
         <source>Makes each output cell value a function of the values assigned to the corresponding cells in the input raster layers.</source>
         <translation>Jede Ausgabezelle zur Funktion der korrespondierenden Zellen des Eingaberasters machen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="471"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="35"/>
         <source>Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
         <translation>Raster aus der kommulierten Kosten für die Bewegung über ein Raster erzeugen, dessen Zellen Kosten repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="542"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="120"/>
         <source>Rescales the range of category values in a raster layer.</source>
         <translation>Reskaliert die Spanne der Kategoriewerte einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="511"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="241"/>
         <source>Solar irradiance and irradiation model.</source>
         <translation>Solar- und Bestrahlungsmodell.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="622"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="117"/>
         <source>Computes the viewshed of a point on an elevation raster map.</source>
         <translation>Berechnet den Sichtbarkeitsbereich eines Punkt auf einer Rasterhöhenkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="535"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="226"/>
         <source>A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a cartesian coordinate system </source>
         <translation>Ein einfaches Hilfsprogramm, dass Kurs- und Distanzwert in Koordinaten umrechnet und umgekehrt.  Es setzt ein kartesisches Koordinatensystem voraus </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="636"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="36"/>
         <source>Calculates the volume of data "clumps".</source>
         <translation>Berechnet das Volumen Daten-"Klumpen".</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="453"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="278"/>
         <source>Inverse Fast Fourier Transform (IFFT) for image processing.</source>
         <translation>Inverse schnelle Fourier-Transformation (IFFT) zur Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="440"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="254"/>
         <source>Vector based generalization.</source>
         <translation>Vektorbasierte Generalisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="540"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="84"/>
         <source>Surface generation program from rasterized contours.</source>
         <translation>Oberflächeerzeugung aus Rasterkonturen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="360"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="82"/>
         <source>Create random raster</source>
         <translation>Zufälliges Raster erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="368"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="284"/>
         <source>Converts to POV-Ray format, GRASS x,y,z -> POV-Ray x,z,y</source>
         <translation>Wandelt in das POV-Ray-Format, GRASS x,y,z -> POV-Ray x,z,y</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="632"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="321"/>
         <source>Surface interpolation utility for raster layers.</source>
         <translation>Oberflächeninterpolationswerkzeug für Rasterlayer.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="393"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="287"/>
         <source>Visualization(NVIZ)</source>
         <translation>Visualisierung (NVIZ)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="536"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="325"/>
         <source>Makes each cell value a function of attribute values and stores in an output raster map.</source>
         <translation>Jede Zelle zur Funktion von Attributwerten machen und in eine Ausgaberasterkarte speichern.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="618"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="176"/>
         <source>Converts files in DXF format to GRASS vector map format.</source>
         <translation>Konvertiert Dateien im DXF-Format in das GRASS-Vektorkartenformat.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="357"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="130"/>
         <source>Fast Fourier Transform (FFT) for image processing.</source>
         <translation>Schnelle Fourier-Transformation (FFT) für Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="531"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="349"/>
         <source>Performs atmospheric correction using the 6S algorithm.</source>
         <translation>Führt atmospherische Korrektur mit dem 6S-Algorithmus aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="490"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="280"/>
         <source>Export a raster layer to the Virtual Reality Modeling Language (VRML)</source>
         <translation>Raster in Virtual-Reality-Modeling-Language (VRML) exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="620"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="189"/>
         <source>r.flow.aspect.barrier - Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).</source>
         <translation>r.flow.aspect.barrier - Erzeugt Hangkurven (flowlines), Fließlängen und Flussdichte (contributing areas) aus einem angegebenen digitalen Höhenmodell (DEM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="464"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="343"/>
         <source>Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions.</source>
         <translation>Numerisches Berechnungsprogramm für transienten, beschränkten und unbeschränkte Grundwasserfluß in zwei Dimensionen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="319"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="337"/>
         <source>v.surf.rst.cvdev - Spatial approximation and topographic analysis using regularized spline with tension.</source>
         <translation>v.surf.rst.cvdev - Räumliche Approximation und topographische Analyse mit einer regularisierten Spline-Funktion mit Spannung.</translation>
     </message>
@@ -11158,32 +11187,32 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
 <context>
     <name>GrassAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1215"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1216"/>
         <source>GRASS folder</source>
         <translation>GRASS-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1216"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1217"/>
         <source>Msys folder</source>
         <translation>MSYS-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1217"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1218"/>
         <source>Log execution commands</source>
         <translation>Befehlsausführung protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1218"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1219"/>
         <source>Log console output</source>
         <translation>Konsolenausgabe protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1219"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1220"/>
         <source>Could not open GRASS algorithm: %s</source>
         <translation>Kann GRASS-Algorithmus nicht öffnen: %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1220"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1221"/>
         <source>GRASS commands</source>
         <translation>GRASS-Befehle</translation>
     </message>
@@ -11191,26 +11220,26 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
 <context>
     <name>GrassUtils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1224"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1225"/>
         <source>GRASS folder is not configured.
 Please configure it before running GRASS algorithms.</source>
         <translation>GRASS-Verzeichnis nicht richtig konfiguriert.
 Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1225"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1226"/>
         <source>The specified GRASS folder "{}" does not contain a valid set of GRASS modules. Please, go to the Processing settings dialog, and check that the GRASS folder is correctly configured</source>
         <translation>Das angegebene GRASS-Verzeichnis "{}" enthält keine gültige Zusammenstellung von GRASS-Modulen. Bitte in den Processing-Einstellungen das GRASS-Verzeichnis überprüfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1226"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1227"/>
         <source>It seems that GRASS is not correctly installed and configured in your system.
 Please install it before running GRASS algorithms.</source>
         <translation>GRASS scheint nicht richtig installiert oder konfiguriert zu sein.
 Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1227"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1228"/>
         <source>Error while checking GRASS installation. GRASS might not be correctly configured.
 </source>
         <translation>Fehler beim Prüfen der GRASS-Installation. GRASS könnte nicht richtig konfiguriert sein.
@@ -11220,72 +11249,72 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>Grid</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1231"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1232"/>
         <source>Create grid</source>
         <translation>Gitter erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1232"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1233"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1233"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1234"/>
         <source>Rectangle (line)</source>
         <translation>Rechteck (Linie)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1234"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1235"/>
         <source>Rectangle (polygon)</source>
         <translation>Rechteck (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1235"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1236"/>
         <source>Diamond (polygon)</source>
         <translation>Raute (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1236"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1237"/>
         <source>Hexagon (polygon)</source>
         <translation>Hexagon (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1237"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1238"/>
         <source>Grid type</source>
         <translation>Gittertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1238"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1239"/>
         <source>Grid extent</source>
         <translation>Gittergrenze von Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1239"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1240"/>
         <source>Horizontal spacing</source>
         <translation>Horizontaler Abstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1240"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1241"/>
         <source>Vertical spacing</source>
         <translation>Vertikaler Abstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1241"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1242"/>
         <source>Grid</source>
         <translation>Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1242"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1243"/>
         <source>Invalid grid spacing: %s/%s</source>
         <translation>Ungültiger Gitterabstand: %s/%s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1243"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1244"/>
         <source>Horizontal spacing is too small for the covered area</source>
         <translation>Horizontaler Abstand ist für den abgedeckten Bereich zu klein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1244"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1245"/>
         <source>Vertical spacing is too small for the covered area</source>
         <translation>Vertikaler Abstand ist zu klein für abgedeckten Bereich</translation>
     </message>
@@ -11293,57 +11322,57 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>GridAverage</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1248"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1249"/>
         <source>Grid (Moving average)</source>
         <translation>Gitter (Beweglicher Mittelwert)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1249"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1250"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1250"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1251"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1251"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1252"/>
         <source>Z field</source>
         <translation>Z-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1252"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1253"/>
         <source>Radius 1</source>
         <translation>Radius 1</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1253"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1254"/>
         <source>Radius 2</source>
         <translation>Radius 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1254"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1255"/>
         <source>Min points</source>
         <translation>Min. Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1255"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1256"/>
         <source>Angle</source>
         <translation>Winkel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1256"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1257"/>
         <source>Nodata</source>
         <translation>Leerwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1257"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1258"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1258"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1259"/>
         <source>Interpolated moving average</source>
         <translation>Interpolierter beweglicher Mittelwert</translation>
     </message>
@@ -11351,62 +11380,62 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>GridDataMetrics</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1262"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1263"/>
         <source>Grid (Data metrics)</source>
         <translation>Gitter (Datenkriterien)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1263"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1264"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1264"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1265"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1265"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1266"/>
         <source>Z field</source>
         <translation>Z-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1266"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1267"/>
         <source>Metrics</source>
         <translation>Kriterien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1267"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1268"/>
         <source>Radius 1</source>
         <translation>Radius 1</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1268"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1269"/>
         <source>Radius 2</source>
         <translation>Radius 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1269"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1270"/>
         <source>Min points</source>
         <translation>Min. Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1270"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1271"/>
         <source>Angle</source>
         <translation>Winkel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1271"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1272"/>
         <source>Nodata</source>
         <translation>Leerwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1272"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1273"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1273"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1274"/>
         <source>Interpolated metrics</source>
         <translation>Interpolierte Maße</translation>
     </message>
@@ -11414,72 +11443,72 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>GridInvDist</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1277"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1278"/>
         <source>Grid (Inverse distance to a power)</source>
         <translation>Gitter (Inverse Distanz zu einer Potenz)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1278"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1279"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1279"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1280"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1280"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1281"/>
         <source>Z field</source>
         <translation>Z-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1281"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1282"/>
         <source>Power</source>
         <translation>Potenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1283"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1284"/>
         <source>Radius 1</source>
         <translation>Radius 1</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1284"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1285"/>
         <source>Radius 2</source>
         <translation>Radius 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1285"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1286"/>
         <source>Max points</source>
         <translation>Max. Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1286"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1287"/>
         <source>Min points</source>
         <translation>Min. Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1287"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1288"/>
         <source>Angle</source>
         <translation>Winkel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1288"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1289"/>
         <source>Nodata</source>
         <translation>Leerwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1289"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1290"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1290"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1291"/>
         <source>Interpolated IDW</source>
         <translation>Interpolierte IDW</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1282"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1283"/>
         <source>Smoothing</source>
         <translation>Glättung</translation>
     </message>
@@ -11487,62 +11516,62 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>GridMetrics</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1294"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1295"/>
         <source>Grid Metrics</source>
         <translation>Datenkriterien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1295"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1296"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1296"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1297"/>
         <source>Input LAS layer</source>
         <translation>Eingabe-LAS-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1297"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1298"/>
         <source>Input ground DTM layer</source>
         <translation>Eingabe-Boden-DTM-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1298"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1299"/>
         <source>Height break</source>
         <translation>Höhen Unterbrechung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1299"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1300"/>
         <source>Cellsize</source>
         <translation>Zellengröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1300"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1301"/>
         <source>Output table with grid metrics</source>
         <translation>Ausgabetabelle mit Gittermaßen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1301"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1302"/>
         <source>OUTPUT CSV INTENSITY</source>
         <translation>Ausgabe CSV Intensität</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1302"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1303"/>
         <source>Outlier:low,high</source>
         <translation>Ausreißer:niedrig,hoch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1303"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1304"/>
         <source>First</source>
         <translation>Erster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1304"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1305"/>
         <source>Htmin</source>
         <translation>Htmin</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1305"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1306"/>
         <source>Class (set blank if not used)</source>
         <translation>Klasse (leer setzen, wenn nicht verwendet)</translation>
     </message>
@@ -11550,52 +11579,52 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>GridNearest</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1309"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1310"/>
         <source>Grid (Nearest neighbor)</source>
         <translation>Gitter (Nächster Nachbar)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1310"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1311"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1311"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1312"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1312"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1313"/>
         <source>Z field</source>
         <translation>Z-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1313"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1314"/>
         <source>Radius 1</source>
         <translation>Radius 1</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1314"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1315"/>
         <source>Radius 2</source>
         <translation>Radius 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1315"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1316"/>
         <source>Angle</source>
         <translation>Winkel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1316"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1317"/>
         <source>Nodata</source>
         <translation>Leerwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1317"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1318"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1318"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1319"/>
         <source>Interpolated nearest neighbor</source>
         <translation>Interpolierter nächster Nachbar</translation>
     </message>
@@ -11603,52 +11632,52 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>GridNet</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1322"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1323"/>
         <source>Grid Network</source>
         <translation>Gitternetzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1323"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1324"/>
         <source>Basic Grid Analysis tools</source>
         <translation>Grundlegende Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1324"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1325"/>
         <source>D8 Flow Direction Grid</source>
         <translation>D8 Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1325"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1326"/>
         <source>Outlets Shapefile</source>
         <translation>Auslaß-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1326"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1327"/>
         <source>Mask Grid</source>
         <translation>Maskengitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1327"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1328"/>
         <source>Mask Threshold</source>
         <translation>Maskenschwellenwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1328"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1329"/>
         <source>Longest Upslope Length Grid</source>
         <translation>Längstes Steigungslängen Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1329"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1330"/>
         <source>Total Upslope Length Grid</source>
         <translation>Gesamt Steigungslängen Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1330"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1331"/>
         <source>Strahler Network Order Grid</source>
         <translation>Strahler Netzwerk Ordnungs Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1331"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1332"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -11656,52 +11685,52 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>GridNetMulti</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1335"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1336"/>
         <source>Grid Network (multifile)</source>
         <translation>Gitternetzwerk (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1336"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1337"/>
         <source>Basic Grid Analysis tools</source>
         <translation>Grundlegende Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1337"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1338"/>
         <source>D8 Flow Direction Grid</source>
         <translation>D8 Fliessrichtung Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1338"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1339"/>
         <source>Outlets Shapefile</source>
         <translation>Auslaß-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1339"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1340"/>
         <source>Mask Grid</source>
         <translation>Maskengitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1340"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1341"/>
         <source>Mask Threshold</source>
         <translation>Maskenschwellenwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1341"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1342"/>
         <source>Longest Upslope Length Grid</source>
         <translation>Längstes Steigungslängen Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1342"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1343"/>
         <source>Total Upslope Length Grid</source>
         <translation>Gesamt Steigungslängen Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1343"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1344"/>
         <source>Strahler Network Order Grid</source>
         <translation>Strahler Netzwerk Ordnungs Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1344"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1345"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -11709,72 +11738,72 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>GridSurfaceCreate</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1348"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1349"/>
         <source>Grid Surface Create</source>
         <translation>Gitteroberfläche erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1349"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1350"/>
         <source>Surface</source>
         <translation>Oberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1350"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1351"/>
         <source>Input LAS layer</source>
         <translation>Eingabe-LAS-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1351"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1352"/>
         <source>Cellsize</source>
         <translation>Zellengröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1352"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1353"/>
         <source>XY Units</source>
         <translation>XY-Einheiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1353"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1354"/>
         <source>Z Units</source>
         <translation>Z-Einheit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1354"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1355"/>
         <source>DTM Output Surface</source>
         <translation>DTM-Ausgabeoberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1355"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1356"/>
         <source>Spike (set blank if not used)</source>
         <translation>Impuls (leer lassen, wenn nicht genutzt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1356"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1357"/>
         <source>Median</source>
         <translation>Median</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1357"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1358"/>
         <source>Smooth</source>
         <translation>Glatt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1358"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1359"/>
         <source>Slope</source>
         <translation>Neigung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1359"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1360"/>
         <source>Minimum (set blank if not used)</source>
         <translation>Minimum (leer lassen, wenn nicht genutzt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1360"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1361"/>
         <source>Class(es)</source>
         <translation>Klasse(n)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1361"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1362"/>
         <source>Additional modifiers</source>
         <translation>Zusätzliche Einstellungen</translation>
     </message>
@@ -11782,42 +11811,42 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>Gridify</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1366"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1367"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1367"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1368"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1368"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1369"/>
         <source>Horizontal spacing</source>
         <translation>Horizontaler Abstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1369"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1370"/>
         <source>Vertical spacing</source>
         <translation>Vertikaler Abstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1370"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1371"/>
         <source>Snapped</source>
         <translation>Gefangen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1371"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1372"/>
         <source>Invalid grid spacing: %s/%s</source>
         <translation>Ungültiger Gitterabstand: %s/%s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1372"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1373"/>
         <source>Failed to gridify feature with FID %s</source>
         <translation>Fehler in der Objektvernetzung mit FID %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1365"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1366"/>
         <source>Snap points to grid</source>
         <translation>Punkte auf Gitter fangen</translation>
     </message>
@@ -11825,32 +11854,32 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>GroundFilter</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1376"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1377"/>
         <source>Ground Filter</source>
         <translation>Bodenfilter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1377"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1378"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1378"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1379"/>
         <source>Input LAS layer</source>
         <translation>Eingabe-LAS-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1379"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1380"/>
         <source>Cellsize for intermediate surfaces</source>
         <translation>Zellengröße für Zwischenfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1380"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1381"/>
         <source>Output ground LAS file</source>
         <translation>LAS-Datei mit Bodenausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1381"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1382"/>
         <source>Create .dtm surface</source>
         <translation>DTM-Ausgabeoberfläche erzeugen</translation>
     </message>
@@ -12105,55 +12134,55 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>HelpEditionDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1385"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1386"/>
         <source>Cannot open help file: %s</source>
         <translation>Die Hilfe-Datei %s konnte nicht geöffnet werden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1386"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1387"/>
         <source><h2>Algorithm description</h2>
 </source>
         <translation><h2>Algorithmus Beschreibung</h2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1387"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1388"/>
         <source><h2>Input parameters</h2>
 </source>
         <translation><h2>Eingangsparameter</h2></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1388"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1389"/>
         <source><h2>Outputs</h2>
 </source>
         <translation><h2>Ausgabe</h2></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1389"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1390"/>
         <source>Algorithm description</source>
         <translation>Algorithmus Beschreibung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1390"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1391"/>
         <source>Input parameters</source>
         <translation>Eingangs Parameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1391"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1392"/>
         <source>Outputs</source>
         <translation>Ausgaben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1392"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1393"/>
         <source>Algorithm created by</source>
         <translation>Algorithmus erstellt von</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1393"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1394"/>
         <source>Algorithm help written by</source>
         <translation>Algorithmus Hilfe Datei geschrieben von</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1394"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1395"/>
         <source>Algorithm version</source>
         <translation>Alorithmus Version</translation>
     </message>
@@ -12161,47 +12190,47 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>HistoryDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1398"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1399"/>
         <source>Clear</source>
         <translation>Löschen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1400"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1401"/>
         <source>Save As...</source>
         <translation>Speichern als...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1402"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1403"/>
         <source>Confirmation</source>
         <translation>Bestätigung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1399"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1400"/>
         <source>Clear history</source>
         <translation>Historie leeren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1401"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1402"/>
         <source>Save history</source>
         <translation>Historie speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1403"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1404"/>
         <source>Are you sure you want to clear the history?</source>
         <translation>Soll die Historie wirklich geleert werden?</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1404"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1405"/>
         <source>Save file</source>
         <translation>Datei speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1405"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1406"/>
         <source>Log files (*.log *.LOG)</source>
         <translation>Log Dateien (*.log *.LOG)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1406"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1407"/>
         <source>Create test</source>
         <translation>Test erzeugen</translation>
     </message>
@@ -12230,72 +12259,72 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>HubDistance</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1411"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1412"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1412"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1413"/>
         <source>Meters</source>
         <translation>Meter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1413"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1414"/>
         <source>Feet</source>
         <translation>Fuß</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1414"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1415"/>
         <source>Miles</source>
         <translation>Meilen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1415"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1416"/>
         <source>Kilometers</source>
         <translation>Kilometer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1416"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1417"/>
         <source>Layer units</source>
         <translation>Layereinheiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1417"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1418"/>
         <source>Source points layer</source>
         <translation>Quellpunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1418"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1419"/>
         <source>Destination hubs layer</source>
         <translation>Zielnabenlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1419"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1420"/>
         <source>Hub layer name attribute</source>
         <translation>Nabenlayernamenattribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1420"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1421"/>
         <source>Output shape type</source>
         <translation>Ausgabe-Shape Typ</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1421"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1422"/>
         <source>Measurement unit</source>
         <translation>Maßeinheit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1422"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1423"/>
         <source>Hub distance</source>
         <translation>Knotenabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1423"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1424"/>
         <source>Same layer given for both hubs and spokes</source>
         <translation>Gleicher Name für Naben- und Speichenlayer gewählt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1410"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1411"/>
         <source>Distance to nearest hub</source>
         <translation>Abstand zum nächsten Knoten</translation>
     </message>
@@ -12303,37 +12332,37 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>HubLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1429"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1430"/>
         <source>Hub point layer</source>
         <translation>Nabenpunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1430"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1431"/>
         <source>Hub ID field</source>
         <translation>Nabenkennungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1431"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1432"/>
         <source>Spoke point layer</source>
         <translation>Speichenpunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1432"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1433"/>
         <source>Spoke ID field</source>
         <translation>Speichenkennungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1427"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1428"/>
         <source>Hub lines</source>
         <translation>Knotenlinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1428"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1429"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1433"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1434"/>
         <source>Same layer given for both hubs and spokes</source>
         <translation>Gleicher Name für Naben- und Speichenlayer gewählt</translation>
     </message>
@@ -12341,52 +12370,52 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>HypsometricCurves</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1439"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1440"/>
         <source>DEM to analyze</source>
         <translation>Zu analysierendes DEM</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1440"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1441"/>
         <source>Boundary layer</source>
         <translation>Begrenzungslayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1441"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1442"/>
         <source>Step</source>
         <translation>Schrittweite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1442"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1443"/>
         <source>Use % of area instead of absolute value</source>
         <translation>Prozentsatz der Fläche statt absolutem Wert verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1437"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1438"/>
         <source>Hypsometric curves</source>
         <translation>Höhenschichtenkurven</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1438"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1439"/>
         <source>Raster tools</source>
         <translation>Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1443"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1444"/>
         <source>Feature %d does not intersect raster or entirely located in NODATA area</source>
         <translation>Objekt %d schneidet das Raster nicht oder ist komplett im leeren Bereich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1445"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1446"/>
         <source>Area</source>
         <translation>Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1446"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1447"/>
         <source>Elevation</source>
         <translation>Geländehöhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1444"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1445"/>
         <source>Feature %d is smaller than raster cell size</source>
         <translation>Objekt %d ist kleiner als Rasterzellengröße</translation>
     </message>
@@ -12394,42 +12423,42 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>ImageCreate</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1450"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1451"/>
         <source>ImageCreate</source>
         <translation>ImageCreate</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1451"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1452"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1452"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1453"/>
         <source>Input LAS</source>
         <translation>LAS-Eingabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1453"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1454"/>
         <source>Method to assign color</source>
         <translation>Methode zur Farbzuweisung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1455"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1456"/>
         <source>Use RGB color model to create the color ramp</source>
         <translation>RGB-Farbmodell für die Erzeugung des Farbverlaufs verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1454"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1455"/>
         <source>Ground file (used with 'Height' method)</source>
         <translation>Grunddatei (mit der 'Höhenmethode' verwendet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1456"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1457"/>
         <source>Pixel size</source>
         <translation>Pixelgröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1457"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1458"/>
         <source>Output format</source>
         <translation>Ausgabeformat</translation>
     </message>
@@ -12437,79 +12466,79 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>ImportIntoPostGIS</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1475"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1476"/>
         <source>Error importing to PostGIS
 %s</source>
         <translation>Fehler beim PostGIS-Import
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1462"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1463"/>
         <source>Database</source>
         <translation>Datenbank</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1463"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1464"/>
         <source>Layer to import</source>
         <translation>Zu importierender Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1464"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1465"/>
         <source>Database (connection name)</source>
         <translation>Datenbank (Verbindungsname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1465"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1466"/>
         <source>Schema (schema name)</source>
         <translation>Schema (Schemaname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1466"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1467"/>
         <source>Table to import to (leave blank to use layer name)</source>
         <translation>Importieren in Tabelle (leer lassen um den Layername zu verwenden)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1467"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1468"/>
         <source>Primary key field</source>
         <translation>Primärschlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1468"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1469"/>
         <source>Geometry column</source>
         <translation>Geometriespalte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1469"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1470"/>
         <source>Encoding</source>
         <translation>Kodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1470"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1471"/>
         <source>Overwrite</source>
         <translation>Überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1471"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1472"/>
         <source>Create spatial index</source>
         <translation>Räumlichen Index erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1472"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1473"/>
         <source>Convert field names to lowercase</source>
         <translation>Feldnamen in Kleinschreibung umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1473"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1474"/>
         <source>Drop length constraints on character fields</source>
         <translation>Längenbeschränkungen auf Textfeld verwerfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1474"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1475"/>
         <source>Create single-part geometries instead of multi-part</source>
         <translation>Einteilige statt mehrteiliger Geometrien erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1461"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1462"/>
         <source>Import into PostGIS</source>
         <translation>In PostGIS importieren</translation>
     </message>
@@ -12517,7 +12546,7 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>InfoViewer</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="463"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="470"/>
         <source>DB Manager</source>
         <translation>DB-Verwaltung</translation>
     </message>
@@ -12525,12 +12554,12 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>InputLayerSelectorPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1479"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1480"/>
         <source>Select file</source>
         <translation>Datei wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1480"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1481"/>
         <source>All files (*.*);;</source>
         <translation>Alle Dateien (*.*);;</translation>
     </message>
@@ -12538,42 +12567,42 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>IntensityImage</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1484"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1485"/>
         <source>IntensityImage</source>
         <translation>IntensityImage</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1485"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1486"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1486"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1487"/>
         <source>Input file</source>
         <translation>Eingabedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1487"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1488"/>
         <source>Use all returns instead of only first</source>
         <translation>Alle Ergebnisse statt nur des ersten verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1488"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1489"/>
         <source>Use the lowest return in pixel area to assign the intensity value</source>
         <translation>Niedrigstes Ergebnis im Pixelbereich zur Zuweisung des Intensitätswerts verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1489"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1490"/>
         <source>Produce a CSV intensity histogram data file</source>
         <translation>CSV-Intensitätshistogrammdatendatei erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1490"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1491"/>
         <source>Pixel size</source>
         <translation>Pixelgröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1491"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1492"/>
         <source>Output format</source>
         <translation>Ausgabeformat</translation>
     </message>
@@ -12581,32 +12610,57 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>Intersection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1500"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1506"/>
         <source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
         <translation>Objektgeometriefehler: Ein oder mehrere Objekte wegen ungültiger Geometrie ignoriert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1496"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1497"/>
         <source>Vector overlay tools</source>
         <translation>Vektorlayerüberlagerungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1497"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1498"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1498"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1499"/>
         <source>Intersect layer</source>
         <translation>Layer schneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1499"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1500"/>
+        <source>Ignore NULL geometries</source>
+        <translation>NULL-Geometrien ignorieren</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1501"/>
+        <source>Input layer A contains NULL geometries. Please check "Ignore NULL geometries" if you want to run this algorithm anyway.</source>
+        <translation>Eingabelayer A enthält NULL-Geometrien.  Bitte "NULL-Geometrien ignorieren" anhaken, wenn der Algorithmus trotzdem ausgeführt werden soll.</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1502"/>
+        <source>Input layer A contains invalid geometries (Feature {}). Unable to complete intersection algorithm.</source>
+        <translation>Eingabelayer A enthält ungültige Geometrien (Objekt {}).  Kann Verschneidungsalgorithmus nicht beenden.</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1503"/>
+        <source>Input layer B contains NULL geometries. Please check "Ignore NULL geometries" if you want to run this algorithm anyway.</source>
+        <translation>Eingabelayer B enthält NULL-Geometrien.  Bitte "NULL-Geometrien ignorieren" anhaken, wenn der Algorithmus trotzdem ausgeführt werden soll.</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1504"/>
+        <source>Input layer B contains invalid geometries (Feature {}). Unable to complete intersection algorithm.</source>
+        <translation>Eingabelayer B enthält ungültige Geometrien (Objekt {}).  Kann Verschneidungsalgorithmus nicht beenden.</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1505"/>
         <source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
         <translation>GEOS-Verarbeitungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1495"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1496"/>
         <source>Intersection</source>
         <translation>Verschneidung</translation>
     </message>
@@ -12614,37 +12668,37 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>JoinAttributes</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1505"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1511"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1506"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1512"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1507"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1513"/>
         <source>Input layer 2</source>
         <translation>Eingabelayer 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1508"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1514"/>
         <source>Table field</source>
         <translation>Tabellenspalte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1509"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1515"/>
         <source>Table field 2</source>
         <translation>Tabellenfeld 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1510"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1516"/>
         <source>Joined layer</source>
         <translation>Zusammengefasster Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1504"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1510"/>
         <source>Join attributes table</source>
         <translation>Attributtabellen verknüpfen</translation>
     </message>
@@ -12668,194 +12722,194 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>LAStoolsAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1514"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1520"/>
         <source>LAStools folder is not configured.
 Please configure it before running LAStools algorithms.</source>
         <translation>LAStools-Verzeichnis nicht konfiguriert.
 Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1515"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1521"/>
         <source>verbose</source>
         <translation>ausführlich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1516"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1522"/>
         <source>open LAStools GUI</source>
         <translation>LAStools-GUI öffnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1517"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1523"/>
         <source>number of cores</source>
         <translation>Kernanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1518"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1524"/>
         <source>input LAS/LAZ file</source>
         <translation>LAS/LAZ-Eingabedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1519"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1525"/>
         <source>input directory</source>
         <translation>Eingabeverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1520"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1526"/>
         <source>input wildcard(s)</source>
         <translation>Eingabeplatzhalter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1521"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1527"/>
         <source>merge all input files on-the-fly into one</source>
         <translation>Alle Eingabedateien spontan in einer zusammenfassen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1522"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1528"/>
         <source>horizontal feet</source>
         <translation>Fuß horizontal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1523"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1529"/>
         <source>vertical feet</source>
         <translation>Fuß vertikal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1524"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1530"/>
         <source>files are flightlines</source>
         <translation>Dateien sind Fluglinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1525"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1531"/>
         <source>apply file source ID</source>
         <translation>Dateiquellekennung anwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1526"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1532"/>
         <source>step size / pixel size</source>
         <translation>Schrittweite/Pixelgröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1527"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1533"/>
         <source>output LAS/LAZ file</source>
         <translation>LAS/LAZ-Ausgabedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1528"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1534"/>
         <source>output format</source>
         <translation>Ausgabeformat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1529"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1535"/>
         <source>Output raster file</source>
         <translation>Ausgaberasterdatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1530"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1536"/>
         <source>Output vector file</source>
         <translation>Ausgabevektordatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1531"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1537"/>
         <source>output directory</source>
         <translation>Ausgabeverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1532"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1538"/>
         <source>output appendix</source>
         <translation>Ausgabe Anhang</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1533"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1539"/>
         <source>empty temporary directory</source>
         <translation>Leeres Temporärverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1534"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1540"/>
         <source>additional command line parameter(s)</source>
         <translation>Weitere(r) Kommandozeilenparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1535"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1541"/>
         <source>filter (by return, classification, flags)</source>
         <translation>filter (nach Return, Klassifikation, Flag)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1536"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1542"/>
         <source>second filter (by return, classification, flags)</source>
         <translation>zweiter Filter (nach Return, Klassifikation, Flag)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1537"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1543"/>
         <source>third filter (by return, classification, flags)</source>
         <translation>dritter Filter (nach Return, Klassifikation, Flag)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1538"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1544"/>
         <source>filter (by coordinate, intensity, GPS time, ...)</source>
         <translation>Filtern (nach Koordinaten, Intensität, GPS-Zeit, ...)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1539"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1545"/>
         <source>value for filter (by coordinate, intensity, GPS time, ...)</source>
         <translation>Wert für Filter (nach Koordinate, Intensität, GPS-Zeit, ...)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1540"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1546"/>
         <source>second filter (by coordinate, intensity, GPS time, ...)</source>
         <translation>Zweiter Filter (nach Koordinate, Intensität, GPS-Zeit, ...)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1541"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1547"/>
         <source>value for second filter (by coordinate, intensity, GPS time, ...)</source>
         <translation>Wert für zweiten Filter (nach Koordinate, Intensität, GPS-Zeit, ...)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1542"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1548"/>
         <source>transform (coordinates)</source>
         <translation>Umwandeln (Koordinaten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1543"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1549"/>
         <source>value for transform (coordinates)</source>
         <translation>Wert für Transformation (Koordinaten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1544"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1550"/>
         <source>second transform (coordinates)</source>
         <translation>zweite Umwandlung (Koordinaten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1545"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1551"/>
         <source>value for second transform (coordinates)</source>
         <translation>Wert für zweite Umwandlung (Koordinaten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1546"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1552"/>
         <source>transform (intensities, scan angles, GPS times, ...)</source>
         <translation>Umwandlung (Intensität, Scanwinkel, GPS-Zeit, ...)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1547"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1553"/>
         <source>value for transform (intensities, scan angles, GPS times, ...)</source>
         <translation>Wert für Umwandlung (Intensität, Scanwinkel, GPS-Zeit, ...)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1548"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1554"/>
         <source>second transform (intensities, scan angles, GPS times, ...)</source>
         <translation>Zweite Umwandlung (Intensität, Scanwinkel, GPS-Zeit, ...)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1549"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1555"/>
         <source>value for second transform (intensities, scan angles, GPS times, ...)</source>
         <translation>Wert für zweite Umwandlung (Intensität, Scanwinkel, GPS-Zeit, ...)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1550"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1556"/>
         <source>ignore points with this classification</source>
         <translation>Punkte dieser Klasse ignorieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1551"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1557"/>
         <source>also ignore points with this classification</source>
         <translation>auch Punkte dieser Klasse ignorieren</translation>
     </message>
@@ -12863,12 +12917,12 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
 <context>
     <name>LAStoolsUtils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1555"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1561"/>
         <source>LAStools command line</source>
         <translation>LAStools Kommandozeile</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1556"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1562"/>
         <source>LAStools console output</source>
         <translation>LAStools-Konsolenausgabe</translation>
     </message>
@@ -12894,42 +12948,42 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
 <context>
     <name>LengthArea</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1560"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1566"/>
         <source>Length Area Stream Source</source>
         <translation>Länge Fläche Strom Quelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1561"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1567"/>
         <source>Stream Network Analysis tools</source>
         <translation>Stromnetzwerkanalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1562"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1568"/>
         <source>Length Grid</source>
         <translation>Längengitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1563"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1569"/>
         <source>Contributing Area Grid</source>
         <translation>Beitragende Fläche Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1564"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1570"/>
         <source>Threshold</source>
         <translation>Schwelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1565"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1571"/>
         <source>Exponent</source>
         <translation>Exponent</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1566"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1572"/>
         <source>Stream Source Grid</source>
         <translation>Strom Quellennetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1567"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1573"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -12937,42 +12991,42 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
 <context>
     <name>LengthAreaMulti</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1571"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1577"/>
         <source>Length Area Stream Source (multifile)</source>
         <translation>Länge Fläche Strom Quelle (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1572"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1578"/>
         <source>Stream Network Analysis tools</source>
         <translation>Stromnetzwerkanalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1573"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1579"/>
         <source>Length Grid</source>
         <translation>Längengitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1574"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1580"/>
         <source>Contributing Area Grid</source>
         <translation>Beitragende Fläche Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1575"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1581"/>
         <source>Threshold</source>
         <translation>Schwelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1576"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1582"/>
         <source>Exponent</source>
         <translation>Exponent</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1577"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1583"/>
         <source>Stream Source Grid</source>
         <translation>Strom Quellennetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1578"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1584"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -12980,22 +13034,22 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
 <context>
     <name>LidarToolsAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1582"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1588"/>
         <source>LAStools folder</source>
         <translation>LAStools-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1583"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1589"/>
         <source>Fusion folder</source>
         <translation>Fusion-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1584"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1590"/>
         <source>Wine folder</source>
         <translation>Wine-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1585"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1591"/>
         <source>Tools for LiDAR data</source>
         <translation>Werkzeuge für LiDAR-Daten</translation>
     </message>
@@ -13003,37 +13057,37 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
 <context>
     <name>LinesIntersection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1590"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1596"/>
         <source>Vector overlay tools</source>
         <translation>Vektorlayerüberlagerungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1591"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1597"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1592"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1598"/>
         <source>Intersect layer</source>
         <translation>Layer schneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1593"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1599"/>
         <source>Input unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld der Eingabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1594"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1600"/>
         <source>Intersect unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld des Schnitts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1595"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1601"/>
         <source>Intersections</source>
         <translation>Schnittpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1589"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1595"/>
         <source>Line intersections</source>
         <translation>Linienschnittpunkte</translation>
     </message>
@@ -13041,22 +13095,22 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
 <context>
     <name>LinesToPolygons</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1600"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1606"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1601"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1607"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1602"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1608"/>
         <source>Polygons from lines</source>
         <translation>Polygon aus Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1599"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1605"/>
         <source>Lines to polygons</source>
         <translation>Linien zu Polygonen</translation>
     </message>
@@ -13064,7 +13118,7 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="257"/>
+        <location filename="../src/ui/qgisapp.ui" line="258"/>
         <source>&Edit</source>
         <translation>&Bearbeiten</translation>
     </message>
@@ -13074,88 +13128,88 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
         <translation>Druckzusammenstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="63"/>
+        <location filename="../src/ui/qgisapp.ui" line="64"/>
         <source>&View</source>
         <translation>&Ansicht</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="67"/>
+        <location filename="../src/ui/qgisapp.ui" line="68"/>
         <source>Select</source>
         <translation>Auswahl</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="81"/>
+        <location filename="../src/ui/qgisapp.ui" line="82"/>
         <source>Measure</source>
         <translation>Messen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="89"/>
+        <location filename="../src/ui/qgisapp.ui" line="90"/>
         <source>&Decorations</source>
         <translation>&Dekorationen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="133"/>
+        <location filename="../src/ui/qgisapp.ui" line="134"/>
         <source>&Layer</source>
         <translation>&Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="199"/>
+        <location filename="../src/ui/qgisapp.ui" line="200"/>
         <source>&Plugins</source>
         <translation>Er&weiterungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="207"/>
+        <location filename="../src/ui/qgisapp.ui" line="208"/>
         <source>&Help</source>
         <translation>&Hilfe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="224"/>
+        <location filename="../src/ui/qgisapp.ui" line="225"/>
         <source>&Settings</source>
         <translation>&Einstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="236"/>
+        <location filename="../src/ui/qgisapp.ui" line="237"/>
         <source>&Raster</source>
         <translation>&Raster</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="243"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1606"/>
+        <location filename="../src/ui/qgisapp.ui" line="244"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1612"/>
         <source>Vect&or</source>
         <translation>&Vektor</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="247"/>
+        <location filename="../src/ui/qgisapp.ui" line="248"/>
         <source>&OpenStreetMap</source>
         <translation>&OpenStreetMap</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="582"/>
+        <location filename="../src/ui/qgisapp.ui" line="583"/>
         <source>Ctrl+N</source>
         <translation>Strg+N</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="594"/>
+        <location filename="../src/ui/qgisapp.ui" line="595"/>
         <source>Ctrl+O</source>
         <translation>Strg+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="606"/>
+        <location filename="../src/ui/qgisapp.ui" line="607"/>
         <source>Ctrl+S</source>
         <translation>Strg+S</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="618"/>
+        <location filename="../src/ui/qgisapp.ui" line="619"/>
         <source>Ctrl+Shift+S</source>
         <translation>Strg+Umschalt+S</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="639"/>
+        <location filename="../src/ui/qgisapp.ui" line="640"/>
         <source>Ctrl+P</source>
         <translation>Strg+P</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="648"/>
+        <location filename="../src/ui/qgisapp.ui" line="649"/>
         <source>Composer Manager...</source>
         <translation>Druckzusammenstellungen verwalten...</translation>
     </message>
@@ -13170,643 +13224,648 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
         <translation>Menüwerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="98"/>
+        <location filename="../src/ui/qgisapp.ui" line="99"/>
         <source>Preview Mode</source>
         <translation>Voransichtsmodus</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="137"/>
+        <location filename="../src/ui/qgisapp.ui" line="138"/>
         <source>Create Layer</source>
         <translation>Layer erstellen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="146"/>
+        <location filename="../src/ui/qgisapp.ui" line="147"/>
         <source>Add Layer</source>
         <translation>Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="261"/>
+        <location filename="../src/ui/qgisapp.ui" line="262"/>
         <source>Paste Features as</source>
         <translation>Objekte einfügen als</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="310"/>
+        <location filename="../src/ui/qgisapp.ui" line="311"/>
         <source>Statusbar</source>
         <translation>Statuszeile</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="335"/>
-        <location filename="../src/ui/qgisapp.ui" line="338"/>
+        <location filename="../src/ui/qgisapp.ui" line="336"/>
+        <location filename="../src/ui/qgisapp.ui" line="339"/>
         <source>Manage Layers Toolbar</source>
         <translation>Layerverwaltungswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="357"/>
-        <location filename="../src/ui/qgisapp.ui" line="360"/>
+        <location filename="../src/ui/qgisapp.ui" line="358"/>
+        <location filename="../src/ui/qgisapp.ui" line="361"/>
         <source>Digitizing Toolbar</source>
         <translation>Digitalisierungswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="381"/>
-        <location filename="../src/ui/qgisapp.ui" line="384"/>
+        <location filename="../src/ui/qgisapp.ui" line="382"/>
+        <location filename="../src/ui/qgisapp.ui" line="385"/>
         <source>Advanced Digitizing Toolbar</source>
         <translation>Erweiterte Digitalisierungswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="411"/>
-        <location filename="../src/ui/qgisapp.ui" line="414"/>
+        <location filename="../src/ui/qgisapp.ui" line="412"/>
+        <location filename="../src/ui/qgisapp.ui" line="415"/>
         <source>Map Navigation Toolbar</source>
         <translation>Kartennavigationswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="439"/>
-        <location filename="../src/ui/qgisapp.ui" line="442"/>
+        <location filename="../src/ui/qgisapp.ui" line="440"/>
+        <location filename="../src/ui/qgisapp.ui" line="443"/>
         <source>Attributes Toolbar</source>
         <translation>Attributwerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="459"/>
+        <location filename="../src/ui/qgisapp.ui" line="460"/>
         <source>Plugins Toolbar</source>
         <translation>Erweiterungswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="462"/>
+        <location filename="../src/ui/qgisapp.ui" line="463"/>
         <source>Plugin Toolbar</source>
         <translation>Erweiterungswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="474"/>
-        <location filename="../src/ui/qgisapp.ui" line="477"/>
+        <location filename="../src/ui/qgisapp.ui" line="475"/>
+        <location filename="../src/ui/qgisapp.ui" line="478"/>
         <source>Help Toolbar</source>
         <translation>Hilfewerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="489"/>
-        <location filename="../src/ui/qgisapp.ui" line="492"/>
+        <location filename="../src/ui/qgisapp.ui" line="490"/>
+        <location filename="../src/ui/qgisapp.ui" line="493"/>
         <source>Raster Toolbar</source>
         <translation>Rasterwerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="511"/>
-        <location filename="../src/ui/qgisapp.ui" line="514"/>
+        <location filename="../src/ui/qgisapp.ui" line="512"/>
+        <location filename="../src/ui/qgisapp.ui" line="515"/>
         <source>Label Toolbar</source>
         <translation>Beschriftungswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="533"/>
-        <location filename="../src/ui/qgisapp.ui" line="536"/>
+        <location filename="../src/ui/qgisapp.ui" line="534"/>
+        <location filename="../src/ui/qgisapp.ui" line="537"/>
         <source>Vector Toolbar</source>
         <translation>Vektorwerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="547"/>
-        <location filename="../src/ui/qgisapp.ui" line="550"/>
+        <location filename="../src/ui/qgisapp.ui" line="548"/>
+        <location filename="../src/ui/qgisapp.ui" line="551"/>
         <source>Database Toolbar</source>
         <translation>Datenbankwerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="561"/>
-        <location filename="../src/ui/qgisapp.ui" line="564"/>
+        <location filename="../src/ui/qgisapp.ui" line="562"/>
+        <location filename="../src/ui/qgisapp.ui" line="565"/>
         <source>Web Toolbar</source>
         <translation>Webwerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="579"/>
+        <location filename="../src/ui/qgisapp.ui" line="580"/>
         <source>&New</source>
         <translation>&Neu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="591"/>
+        <location filename="../src/ui/qgisapp.ui" line="592"/>
         <source>&Open...</source>
         <translation>&Öffnen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="603"/>
+        <location filename="../src/ui/qgisapp.ui" line="604"/>
         <source>&Save</source>
         <translation>&Speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="615"/>
+        <location filename="../src/ui/qgisapp.ui" line="616"/>
         <source>Save &As...</source>
         <translation>Speichern &als...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="657"/>
+        <location filename="../src/ui/qgisapp.ui" line="658"/>
         <source>Exit QGIS</source>
         <translation>QGIS beenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="660"/>
+        <location filename="../src/ui/qgisapp.ui" line="661"/>
         <source>Ctrl+Q</source>
         <translation>Strg+Q</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="672"/>
+        <location filename="../src/ui/qgisapp.ui" line="673"/>
         <source>&Undo</source>
         <translation>&Rückgängig</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="675"/>
+        <location filename="../src/ui/qgisapp.ui" line="676"/>
         <source>Ctrl+Z</source>
         <translation>Strg+Z</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="684"/>
+        <location filename="../src/ui/qgisapp.ui" line="685"/>
         <source>&Redo</source>
         <translation>&Wiederholen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="687"/>
+        <location filename="../src/ui/qgisapp.ui" line="688"/>
         <source>Ctrl+Shift+Z</source>
         <translation>Strg+Umschalt+Z</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="696"/>
+        <location filename="../src/ui/qgisapp.ui" line="697"/>
         <source>Cut Features</source>
         <translation>Ausgewählte Objekte ausschneiden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="699"/>
+        <location filename="../src/ui/qgisapp.ui" line="700"/>
         <source>Ctrl+X</source>
         <translation>Strg+X</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="708"/>
+        <location filename="../src/ui/qgisapp.ui" line="709"/>
         <source>Copy Features</source>
         <translation>Objekte kopieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="711"/>
+        <location filename="../src/ui/qgisapp.ui" line="712"/>
         <source>Ctrl+C</source>
         <translation>Strg+C</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="720"/>
+        <location filename="../src/ui/qgisapp.ui" line="721"/>
         <source>Paste Features</source>
         <translation>Objekte einfügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="723"/>
+        <location filename="../src/ui/qgisapp.ui" line="724"/>
         <source>Ctrl+V</source>
         <translation>Strg+V</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="735"/>
+        <location filename="../src/ui/qgisapp.ui" line="736"/>
         <source>Add Feature</source>
         <translation>Objekt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="738"/>
+        <location filename="../src/ui/qgisapp.ui" line="739"/>
         <source>Ctrl+.</source>
         <translation>Strg+.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="750"/>
+        <location filename="../src/ui/qgisapp.ui" line="751"/>
         <source>Move Feature(s)</source>
         <translation>Objekt(e) verschieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="762"/>
+        <location filename="../src/ui/qgisapp.ui" line="763"/>
         <source>Reshape Features</source>
         <translation>Objekte überarbeiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="774"/>
+        <location filename="../src/ui/qgisapp.ui" line="775"/>
         <source>Split Features</source>
         <translation>Objekte zerteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="786"/>
+        <location filename="../src/ui/qgisapp.ui" line="787"/>
         <source>Split Parts</source>
         <translation>Teile zerlegen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="795"/>
+        <location filename="../src/ui/qgisapp.ui" line="796"/>
         <source>Delete Selected</source>
         <translation>Ausgewähltes löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="807"/>
+        <location filename="../src/ui/qgisapp.ui" line="808"/>
         <source>Add Ring</source>
         <translation>Ring hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="819"/>
+        <location filename="../src/ui/qgisapp.ui" line="820"/>
         <source>Add Part</source>
         <translation>Teil hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="831"/>
+        <location filename="../src/ui/qgisapp.ui" line="832"/>
         <source>Simplify Feature</source>
         <translation>Objekt vereinfachen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="843"/>
+        <location filename="../src/ui/qgisapp.ui" line="844"/>
         <source>Delete Ring</source>
         <translation>Ring löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="855"/>
+        <location filename="../src/ui/qgisapp.ui" line="856"/>
         <source>Delete Part</source>
         <translation>Teil löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="864"/>
+        <location filename="../src/ui/qgisapp.ui" line="865"/>
         <source>Merge Selected Features</source>
         <translation>Gewählte Objekte verschmelzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="873"/>
+        <location filename="../src/ui/qgisapp.ui" line="874"/>
         <source>Merge Attributes of Selected Features</source>
         <translation>Attribute gewählter Objekte vereinen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="885"/>
+        <location filename="../src/ui/qgisapp.ui" line="886"/>
         <source>Node Tool</source>
         <translation>Knotenwerkzeug</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="897"/>
+        <location filename="../src/ui/qgisapp.ui" line="898"/>
         <source>Rotate Point Symbols</source>
         <translation>Punktsymbole drehen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="909"/>
+        <location filename="../src/ui/qgisapp.ui" line="910"/>
         <source>Offset Point Symbol</source>
         <translation>Punktsymbolversatz</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="926"/>
+        <location filename="../src/ui/qgisapp.ui" line="927"/>
         <source>Pan Map</source>
         <translation>Karte verschieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="938"/>
+        <location filename="../src/ui/qgisapp.ui" line="939"/>
         <source>Zoom In</source>
         <translation>Hineinzoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="953"/>
+        <location filename="../src/ui/qgisapp.ui" line="954"/>
         <source>Zoom Out</source>
         <translation>Hinauszoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="983"/>
+        <location filename="../src/ui/qgisapp.ui" line="984"/>
         <source>Select Features by Polygon</source>
         <translation>Objekte über Polygon wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="995"/>
+        <location filename="../src/ui/qgisapp.ui" line="996"/>
         <source>Select Features by Freehand</source>
         <translation>Objekte freihändig oder über Einzelklick wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1007"/>
+        <location filename="../src/ui/qgisapp.ui" line="1008"/>
         <source>Select Features by Radius</source>
         <translation>Objekte über Radius oder Einzelklick wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1016"/>
+        <location filename="../src/ui/qgisapp.ui" line="1017"/>
         <source>Deselect Features from All Layers</source>
         <translation>Objektauswahl aller Layer aufheben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1028"/>
-        <location filename="../src/ui/qgisapp.ui" line="1031"/>
+        <location filename="../src/ui/qgisapp.ui" line="1029"/>
+        <location filename="../src/ui/qgisapp.ui" line="1032"/>
         <source>Select All Features</source>
         <translation>Alle Objekte wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1034"/>
+        <location filename="../src/ui/qgisapp.ui" line="1035"/>
         <source>Ctrl+A</source>
         <translation>Strg+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1043"/>
-        <location filename="../src/ui/qgisapp.ui" line="1046"/>
+        <location filename="../src/ui/qgisapp.ui" line="1044"/>
+        <location filename="../src/ui/qgisapp.ui" line="1047"/>
         <source>Invert Feature Selection</source>
         <translation>Objektauswahl umkehren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1058"/>
+        <location filename="../src/ui/qgisapp.ui" line="1059"/>
         <source>Identify Features</source>
         <translation>Objekte abfragen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1061"/>
+        <location filename="../src/ui/qgisapp.ui" line="1062"/>
         <source>Ctrl+Shift+I</source>
         <translation>Strg+Umschalt+I</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1073"/>
+        <location filename="../src/ui/qgisapp.ui" line="1074"/>
         <source>Measure Line</source>
         <translation>Linie messen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1076"/>
-        <location filename="../src/ui/qgisapp.ui" line="1355"/>
+        <location filename="../src/ui/qgisapp.ui" line="1077"/>
+        <location filename="../src/ui/qgisapp.ui" line="1356"/>
         <source>Ctrl+Shift+M</source>
         <translation>Strg+Umschalt+M</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1088"/>
+        <location filename="../src/ui/qgisapp.ui" line="1089"/>
         <source>Measure Area</source>
         <translation>Fläche messen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1091"/>
+        <location filename="../src/ui/qgisapp.ui" line="1092"/>
         <source>Ctrl+Shift+J</source>
         <translation>Strg+Umschalt+J</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1103"/>
+        <location filename="../src/ui/qgisapp.ui" line="1104"/>
         <source>Measure Angle</source>
         <translation>Winkel messen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1115"/>
+        <location filename="../src/ui/qgisapp.ui" line="1116"/>
         <source>Ctrl+Shift+F</source>
         <translation>Strg+Umschalt+F</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1136"/>
+        <location filename="../src/ui/qgisapp.ui" line="1137"/>
         <source>Ctrl+J</source>
         <translation>Strg+J</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1145"/>
+        <location filename="../src/ui/qgisapp.ui" line="1146"/>
         <source>Zoom Last</source>
         <translation>Zoom zurück</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1154"/>
+        <location filename="../src/ui/qgisapp.ui" line="1155"/>
         <source>Zoom Next</source>
         <translation>Zoom vor</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1178"/>
+        <location filename="../src/ui/qgisapp.ui" line="1179"/>
         <source>Map Tips</source>
         <translation>Kartenhinweise</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1181"/>
+        <location filename="../src/ui/qgisapp.ui" line="1182"/>
         <source>Show information about a feature when the mouse is hovered over it</source>
         <translation>Informationen zu einem Objekt anzeigen, wenn die Maus darüber fährt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1190"/>
+        <location filename="../src/ui/qgisapp.ui" line="1191"/>
         <source>New Bookmark...</source>
         <translation>Neues Lesezeichen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1193"/>
+        <location filename="../src/ui/qgisapp.ui" line="1194"/>
         <source>Ctrl+B</source>
         <translation>Strg+B</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1202"/>
+        <location filename="../src/ui/qgisapp.ui" line="1203"/>
         <source>Show Bookmarks</source>
         <translation>Lesezeichen anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1205"/>
+        <location filename="../src/ui/qgisapp.ui" line="1206"/>
         <source>Ctrl+Shift+B</source>
         <translation>Strg+Umschalt+B</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1214"/>
+        <location filename="../src/ui/qgisapp.ui" line="1215"/>
         <source>Refresh</source>
         <translation>Aktualisieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1229"/>
+        <location filename="../src/ui/qgisapp.ui" line="1230"/>
         <source>Text Annotation</source>
         <translation>Beschriftungstext</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1241"/>
+        <location filename="../src/ui/qgisapp.ui" line="1242"/>
         <source>Form Annotation</source>
         <translation>Beschriftungsformular</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1253"/>
+        <location filename="../src/ui/qgisapp.ui" line="1254"/>
         <source>Move Annotation</source>
         <translation>Beschriftung verschieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1262"/>
+        <location filename="../src/ui/qgisapp.ui" line="1263"/>
         <source>Labeling</source>
         <translation>Beschriftung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1265"/>
+        <location filename="../src/ui/qgisapp.ui" line="1266"/>
         <source>Layer Labeling Options</source>
         <translation>Layerbeschriftungseinstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1274"/>
+        <location filename="../src/ui/qgisapp.ui" line="1275"/>
         <source>New Shapefile Layer...</source>
         <translation>Shapedatei-Layer anlegen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1277"/>
+        <location filename="../src/ui/qgisapp.ui" line="1278"/>
         <source>Ctrl+Shift+N</source>
         <translation>Strg+Umschalt+N</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1403"/>
+        <location filename="../src/ui/qgisapp.ui" line="1404"/>
         <source>F6</source>
         <translation>F6</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2285"/>
+        <location filename="../src/ui/qgisapp.ui" line="2286"/>
         <source>Temporary Scratch Layer...</source>
         <translation>Temporärlayer...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2443"/>
+        <location filename="../src/ui/qgisapp.ui" line="2299"/>
+        <source>DWG/DXF Import...</source>
+        <translation>DWG/DXF-Import...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2449"/>
         <source>Add Circular String</source>
         <translation>Kreisbogen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2458"/>
+        <location filename="../src/ui/qgisapp.ui" line="2464"/>
         <source>Add Circular String by Radius</source>
         <translation>Kreisbogen über Radius hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2490"/>
+        <location filename="../src/ui/qgisapp.ui" line="2496"/>
         <source>Diagram Options</source>
         <translation>Diagrammoptionen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2493"/>
+        <location filename="../src/ui/qgisapp.ui" line="2499"/>
         <source>Layer Diagram Options</source>
         <translation>Layerdiagrammoptionen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2502"/>
+        <location filename="../src/ui/qgisapp.ui" line="2508"/>
         <source>New GeoPackage Layer...</source>
         <translation>Neuer GeoPackage-Layer...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2511"/>
+        <location filename="../src/ui/qgisapp.ui" line="2517"/>
         <source>Modify Attributes of Selected Features</source>
         <translation>Attribute der gewählten Objekte ändern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2514"/>
+        <location filename="../src/ui/qgisapp.ui" line="2520"/>
         <source>Modify the Attributes of all Selected Features Simultaneously</source>
         <translation>Attribute von allen gewählten Objekten gleichzeitig ändern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2547"/>
+        <location filename="../src/ui/qgisapp.ui" line="2553"/>
         <source>Select Features by Value...</source>
         <translation>Objekte nach Wert wählen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2550"/>
+        <location filename="../src/ui/qgisapp.ui" line="2556"/>
         <source>Select Features By Value</source>
         <translation>Objekte nach Wert wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2553"/>
+        <location filename="../src/ui/qgisapp.ui" line="2559"/>
         <source>F3</source>
         <translation>F3</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1019"/>
+        <location filename="../src/ui/qgisapp.ui" line="1020"/>
         <source>Ctrl+Shift+A</source>
         <translation>Neuen SpatiaLite-Layer anlegen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1304"/>
+        <location filename="../src/ui/qgisapp.ui" line="1305"/>
         <source>Add Vector Layer...</source>
         <translation>Vektorlayer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1307"/>
+        <location filename="../src/ui/qgisapp.ui" line="1308"/>
         <source>Ctrl+Shift+V</source>
         <translation>Strg+Umschalt+V</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1316"/>
+        <location filename="../src/ui/qgisapp.ui" line="1317"/>
         <source>Add Raster Layer...</source>
         <translation>Rasterlayer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1319"/>
+        <location filename="../src/ui/qgisapp.ui" line="1320"/>
         <source>Ctrl+Shift+R</source>
         <translation>Strg+Umschalt+R</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1328"/>
+        <location filename="../src/ui/qgisapp.ui" line="1329"/>
         <source>Add PostGIS Layers...</source>
         <translation>PostGIS-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1331"/>
+        <location filename="../src/ui/qgisapp.ui" line="1332"/>
         <source>Ctrl+Shift+D</source>
         <translation>Strg+Umschalt+D</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1340"/>
+        <location filename="../src/ui/qgisapp.ui" line="1341"/>
         <source>Add SpatiaLite Layer...</source>
         <translation>SpatiaLite-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1343"/>
+        <location filename="../src/ui/qgisapp.ui" line="1344"/>
         <source>Ctrl+Shift+L</source>
         <translation>Strg+Umschalt+L</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1352"/>
+        <location filename="../src/ui/qgisapp.ui" line="1353"/>
         <source>Add MSSQL Spatial Layer...</source>
         <translation>Räumlichen MSSQL-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1376"/>
+        <location filename="../src/ui/qgisapp.ui" line="1377"/>
         <source>Add Oracle Spatial Layer...</source>
         <translation>Oracle Spatial-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1379"/>
+        <location filename="../src/ui/qgisapp.ui" line="1380"/>
         <source>Ctrl+Shift+O</source>
         <translation>Strg+Umschalt+O</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1388"/>
+        <location filename="../src/ui/qgisapp.ui" line="1389"/>
         <source>Add WMS/WMTS Layer...</source>
         <translation>WMS/WMTS-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1391"/>
+        <location filename="../src/ui/qgisapp.ui" line="1392"/>
         <source>Ctrl+Shift+W</source>
         <translation>Strg+Umschalt+W</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1415"/>
+        <location filename="../src/ui/qgisapp.ui" line="1416"/>
         <source>Toggle Editing</source>
         <translation>Bearbeitungsstatus umschalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1418"/>
+        <location filename="../src/ui/qgisapp.ui" line="1419"/>
         <source>Toggles the editing state of the current layer</source>
         <translation>Bearbeitungsstatus des aktuellen Layers umschalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1427"/>
+        <location filename="../src/ui/qgisapp.ui" line="1428"/>
         <source>Save for Selected Layer(s)</source>
         <translation>Speichern gewählter Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1430"/>
+        <location filename="../src/ui/qgisapp.ui" line="1431"/>
         <source>Save edits to current layer, but continue editing</source>
         <translation>Speichert Änderungen und bleibt im Bearbeitungsmodus</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1444"/>
-        <location filename="../src/ui/qgisapp.ui" line="1447"/>
+        <location filename="../src/ui/qgisapp.ui" line="1445"/>
+        <location filename="../src/ui/qgisapp.ui" line="1448"/>
         <source>Remove Layer/Group</source>
         <translation>Layer/Gruppe löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1473"/>
+        <location filename="../src/ui/qgisapp.ui" line="1474"/>
         <source>Filter...</source>
         <translation>Filter...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1586"/>
+        <location filename="../src/ui/qgisapp.ui" line="1587"/>
         <source>Configure Shortcuts...</source>
         <translation>Tastenkürzel festlegen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1618"/>
+        <location filename="../src/ui/qgisapp.ui" line="1619"/>
         <source>API Documentation</source>
         <translation>API-Dokumentation</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1675"/>
-        <location filename="../src/ui/qgisapp.ui" line="1678"/>
+        <location filename="../src/ui/qgisapp.ui" line="1676"/>
+        <location filename="../src/ui/qgisapp.ui" line="1679"/>
         <source>Move Label And Diagram</source>
         <translation>Beschriftungen und Diagramm verschieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1736"/>
+        <location filename="../src/ui/qgisapp.ui" line="1737"/>
         <source>Full Histogram Stretch</source>
         <translation>Volle Histogrammstreckung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1868"/>
+        <location filename="../src/ui/qgisapp.ui" line="1869"/>
         <source>Touch Zoom and Pan</source>
         <translation>Zoomen und Verschieben durch Berührung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1937"/>
+        <location filename="../src/ui/qgisapp.ui" line="1938"/>
         <source>Pin/Unpin Labels And Diagrams</source>
         <translation>Beschriftungen anpinnen/lösen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1940"/>
+        <location filename="../src/ui/qgisapp.ui" line="1941"/>
         <source>Pin/Unpin Labels And Diagrams
 Click or marquee on label/diagram to pin
 Shift unpins, Ctl (Cmd) toggles state
@@ -13817,22 +13876,22 @@ Umschalt löst, Strg (Cmd) schalten um
 Funktioniert auf allen änderbaren Layern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1955"/>
+        <location filename="../src/ui/qgisapp.ui" line="1956"/>
         <source>Highlight Pinned Labels And DIagrams</source>
         <translation>Angepinnte Beschriftungen und Diagramme hervorheben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1958"/>
+        <location filename="../src/ui/qgisapp.ui" line="1959"/>
         <source>Highlight Pinned Labels And Diagrams</source>
         <translation>Angepinnte Beschriftungen und Diagramme hervorheben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2006"/>
+        <location filename="../src/ui/qgisapp.ui" line="2007"/>
         <source>Show/Hide Labels And Diagrams</source>
         <translation>Beschriftungen und Diagramme anzeigen/ausblenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2009"/>
+        <location filename="../src/ui/qgisapp.ui" line="2010"/>
         <source>Show/Hide Labels And Diagrams
 Click or marquee on feature to show label and diagram
 Shift+click or marquee on label or diagram to hide it
@@ -13843,675 +13902,675 @@ Umschalt+Klick auf Beschriftung/Diagramm auszublenden
 Funktioniert auf allen ändernbaren Layern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2024"/>
-        <location filename="../src/ui/qgisapp.ui" line="2027"/>
+        <location filename="../src/ui/qgisapp.ui" line="2025"/>
+        <location filename="../src/ui/qgisapp.ui" line="2028"/>
         <source>HTML Annotation</source>
         <translation>HTML-Beschriftung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2051"/>
+        <location filename="../src/ui/qgisapp.ui" line="2052"/>
         <source>SVG Annotation</source>
         <translation>SVG-Anmerkung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2173"/>
+        <location filename="../src/ui/qgisapp.ui" line="2174"/>
         <source>&Download Data...</source>
         <translation>&Daten herunterladen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2178"/>
+        <location filename="../src/ui/qgisapp.ui" line="2179"/>
         <source>&Import Topology from XML...</source>
         <translation>&Topologie aus XML importieren...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2183"/>
+        <location filename="../src/ui/qgisapp.ui" line="2184"/>
         <source>&Export Topology to SpatiaLite...</source>
         <translation>Topologie nach SpatiaLite &exportieren...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2192"/>
+        <location filename="../src/ui/qgisapp.ui" line="2193"/>
         <source>Increase Brightness</source>
         <translation>Helligkeit erhöhen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2201"/>
+        <location filename="../src/ui/qgisapp.ui" line="2202"/>
         <source>Decrease Brightness</source>
         <translation>Helligkeit vermindern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2210"/>
+        <location filename="../src/ui/qgisapp.ui" line="2211"/>
         <source>Increase Contrast</source>
         <translation>Kontrast erhöhen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2219"/>
+        <location filename="../src/ui/qgisapp.ui" line="2220"/>
         <source>Decrease Contrast</source>
         <translation>Kontrast vermindern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2228"/>
+        <location filename="../src/ui/qgisapp.ui" line="2229"/>
         <source>Select By Expression...</source>
         <translation>Objekte über Ausdruck wählen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2236"/>
+        <location filename="../src/ui/qgisapp.ui" line="2237"/>
         <source>Need Commercial Support?</source>
         <translation>Brauchen Sie professionelle Unterstützung?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2245"/>
+        <location filename="../src/ui/qgisapp.ui" line="2246"/>
         <source>Open Field Calculator...</source>
         <translation>Feldrechner öffnen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2277"/>
+        <location filename="../src/ui/qgisapp.ui" line="2278"/>
         <source>New Vector Layer...</source>
         <translation>Neuer Vektorlayer...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2288"/>
+        <location filename="../src/ui/qgisapp.ui" line="2289"/>
         <source>Paste features in clipboard into a new temporary scratch layer.</source>
         <translation>Objekte in der Zwischenablage als neuen Temporärlayer einfügen.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2313"/>
+        <location filename="../src/ui/qgisapp.ui" line="2319"/>
         <source>Add from Layer Definition File...</source>
         <translation>Aus Layerdefinitionsdatei hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2318"/>
+        <location filename="../src/ui/qgisapp.ui" line="2324"/>
         <source>Save As Layer Definition File...</source>
         <translation>Als Layerdefinitionsdatei speichern...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2329"/>
+        <location filename="../src/ui/qgisapp.ui" line="2335"/>
         <source>Normal</source>
         <translation>Normal</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2332"/>
+        <location filename="../src/ui/qgisapp.ui" line="2338"/>
         <source>Normal preview mode</source>
         <translation>Normaler Voransichtsmodus</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2340"/>
+        <location filename="../src/ui/qgisapp.ui" line="2346"/>
         <source>Simulate Photocopy (Grayscale)</source>
         <translation>Fotokopie simulieren (Graustufen)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2343"/>
+        <location filename="../src/ui/qgisapp.ui" line="2349"/>
         <source>Simulate photocopy (grayscale)</source>
         <translation>Fotokopie simulieren (Graustufen)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2351"/>
+        <location filename="../src/ui/qgisapp.ui" line="2357"/>
         <source>Simulate Fax (Mono)</source>
         <translation>Fax simulieren (Mono)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2354"/>
+        <location filename="../src/ui/qgisapp.ui" line="2360"/>
         <source>Simulate fax (mono)</source>
         <translation>Fax simulieren (Mono)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2362"/>
+        <location filename="../src/ui/qgisapp.ui" line="2368"/>
         <source>Simulate Color Blindness (Protanope)</source>
         <translation>Farbenblindheit simulieren (Rotblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2365"/>
+        <location filename="../src/ui/qgisapp.ui" line="2371"/>
         <source>Simulate color blindness (protanope)</source>
         <translation>Farbenblindheit simulieren (Rotblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2373"/>
+        <location filename="../src/ui/qgisapp.ui" line="2379"/>
         <source>Simulate Color Blindness (Deuteranope)</source>
         <translation>Farbenblindheit simulieren (Grünblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2376"/>
+        <location filename="../src/ui/qgisapp.ui" line="2382"/>
         <source>Simulate color blindness (deuteranope)</source>
         <translation>Farbenblindheit simulieren (Grünblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2381"/>
+        <location filename="../src/ui/qgisapp.ui" line="2387"/>
         <source>Set Scale Visibility of Layer(s)</source>
         <translation>Maßstabsabhängige Sichtbarkeit des/der Layer setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2390"/>
+        <location filename="../src/ui/qgisapp.ui" line="2396"/>
         <source>Show Selected Layers</source>
         <translation>Zeige gewählte Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2399"/>
+        <location filename="../src/ui/qgisapp.ui" line="2405"/>
         <source>Hide Selected Layers</source>
         <translation>Ausblenden von gewählten Layern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2423"/>
+        <location filename="../src/ui/qgisapp.ui" line="2429"/>
         <source>Statistical Summary</source>
         <translation>Statistische Zusammenfassung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2426"/>
+        <location filename="../src/ui/qgisapp.ui" line="2432"/>
         <source>Show statistical summary</source>
         <translation>Statistische Zusammenfassung anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2431"/>
+        <location filename="../src/ui/qgisapp.ui" line="2437"/>
         <source>Align Rasters...</source>
         <translation>Raster ausrichten...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2446"/>
+        <location filename="../src/ui/qgisapp.ui" line="2452"/>
         <source>Add circular string</source>
         <translation>Kreisbogen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2461"/>
+        <location filename="../src/ui/qgisapp.ui" line="2467"/>
         <source>Add circular string by radius</source>
         <translation>Kreisbogen über Radius hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2466"/>
+        <location filename="../src/ui/qgisapp.ui" line="2472"/>
         <source>Report an issue</source>
         <translation>Ein Problem melden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2478"/>
+        <location filename="../src/ui/qgisapp.ui" line="2484"/>
         <source>Enable Tracing</source>
         <translation>Spurverfolgung einschalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2481"/>
+        <location filename="../src/ui/qgisapp.ui" line="2487"/>
         <source>T</source>
         <translation>T</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1450"/>
+        <location filename="../src/ui/qgisapp.ui" line="1451"/>
         <source>Ctrl+D</source>
         <translation>Strg+D</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1286"/>
+        <location filename="../src/ui/qgisapp.ui" line="1287"/>
         <source>New SpatiaLite Layer...</source>
         <translation>SpatiaLite-Layer erstellen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1295"/>
+        <location filename="../src/ui/qgisapp.ui" line="1296"/>
         <source>Raster Calculator...</source>
         <translation>Rasterrechner ...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1455"/>
+        <location filename="../src/ui/qgisapp.ui" line="1456"/>
         <source>Set CRS of Layer(s)</source>
         <translation>KBS von Layer(n) setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1458"/>
+        <location filename="../src/ui/qgisapp.ui" line="1459"/>
         <source>Ctrl+Shift+C</source>
         <translation>Strg+Umschalt+C</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1463"/>
+        <location filename="../src/ui/qgisapp.ui" line="1464"/>
         <source>Set Project CRS from Layer</source>
         <translation>Layer-KBS dem Projekt zuweisen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1485"/>
+        <location filename="../src/ui/qgisapp.ui" line="1486"/>
         <source>Add to Overview</source>
         <translation>Zur Übersicht hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1494"/>
+        <location filename="../src/ui/qgisapp.ui" line="1495"/>
         <source>Add All to Overview</source>
         <translation>Alle zur Übersicht hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1503"/>
+        <location filename="../src/ui/qgisapp.ui" line="1504"/>
         <source>Remove All from Overview</source>
         <translation>Alle aus Übersicht entfernen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1512"/>
+        <location filename="../src/ui/qgisapp.ui" line="1513"/>
         <source>Show All Layers</source>
         <translation>Alle Layer anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1515"/>
+        <location filename="../src/ui/qgisapp.ui" line="1516"/>
         <source>Ctrl+Shift+U</source>
         <translation>Strg+Umschalt+U</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1524"/>
+        <location filename="../src/ui/qgisapp.ui" line="1525"/>
         <source>Hide All Layers</source>
         <translation>Alle Layer ausblenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1527"/>
+        <location filename="../src/ui/qgisapp.ui" line="1528"/>
         <source>Ctrl+Shift+H</source>
         <translation>Strg+Umschalt+H</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1536"/>
+        <location filename="../src/ui/qgisapp.ui" line="1537"/>
         <source>Manage and Install Plugins...</source>
         <translation>Erweiterungen verwalten und installieren...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2248"/>
+        <location filename="../src/ui/qgisapp.ui" line="2249"/>
         <source>Open Field Calculator</source>
         <translation>Feldrechner öffnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2257"/>
+        <location filename="../src/ui/qgisapp.ui" line="2258"/>
         <source>Add Delimited Text Layer...</source>
         <translation>Textdatei als Layer importieren...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2260"/>
+        <location filename="../src/ui/qgisapp.ui" line="2261"/>
         <source>Add Delimited Text Layer</source>
         <translation>Textdatei als Layer importieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2280"/>
+        <location filename="../src/ui/qgisapp.ui" line="2281"/>
         <source>Paste features in clipboard into a new OGR vector layer.</source>
         <translation>Objekte in der Zwischenablage als neuen OGR-Vektorlayer einfügen.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1541"/>
+        <location filename="../src/ui/qgisapp.ui" line="1542"/>
         <source>Toggle Full Screen Mode</source>
         <translation>Auf Vollbildmodus schalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="315"/>
-        <location filename="../src/ui/qgisapp.ui" line="318"/>
+        <location filename="../src/ui/qgisapp.ui" line="316"/>
+        <location filename="../src/ui/qgisapp.ui" line="319"/>
         <source>Project Toolbar</source>
         <translation>Projektwerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="941"/>
+        <location filename="../src/ui/qgisapp.ui" line="942"/>
         <source>Ctrl+Alt++</source>
         <translation>Strg+Alt++</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="956"/>
+        <location filename="../src/ui/qgisapp.ui" line="957"/>
         <source>Ctrl+Alt+-</source>
         <translation>Strg+Alt+-</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="968"/>
+        <location filename="../src/ui/qgisapp.ui" line="969"/>
         <source>Select Feature(s)</source>
         <translation>Objekte über Rechteck oder Einzelklick wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="971"/>
+        <location filename="../src/ui/qgisapp.ui" line="972"/>
         <source>Select Features by area or single click</source>
         <translation>Objekte über Rechteck oder Einzelklick wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1163"/>
-        <location filename="../src/ui/qgisapp.ui" line="1166"/>
+        <location filename="../src/ui/qgisapp.ui" line="1164"/>
+        <location filename="../src/ui/qgisapp.ui" line="1167"/>
         <source>Zoom to Native Resolution (100%)</source>
         <translation>Auf eigene Auflösung zoomen (100%)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1217"/>
+        <location filename="../src/ui/qgisapp.ui" line="1218"/>
         <source>F5</source>
         <translation>F5</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1364"/>
+        <location filename="../src/ui/qgisapp.ui" line="1365"/>
         <source>Add DB2 Spatial Layer...</source>
         <translation>DB2-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1367"/>
+        <location filename="../src/ui/qgisapp.ui" line="1368"/>
         <source>Ctrl+Shift+2</source>
         <translation>Strg+Umschalt+2</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1476"/>
+        <location filename="../src/ui/qgisapp.ui" line="1477"/>
         <source>Ctrl+F</source>
         <translation>Strg+F</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1544"/>
+        <location filename="../src/ui/qgisapp.ui" line="1545"/>
         <source>F11</source>
         <translation>F11</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1556"/>
+        <location filename="../src/ui/qgisapp.ui" line="1557"/>
         <source>Ctrl+Shift+P</source>
         <translation>Strg+Umschalt+P</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1577"/>
+        <location filename="../src/ui/qgisapp.ui" line="1578"/>
         <source>Custom CRS...</source>
         <translation>Benutzerkoordinatenbezugssystem...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1598"/>
+        <location filename="../src/ui/qgisapp.ui" line="1599"/>
         <source>Local Histogram Stretch</source>
         <translation>Lokale Histogrammstreckung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1601"/>
+        <location filename="../src/ui/qgisapp.ui" line="1602"/>
         <source>Stretch histogram of active raster to view extents</source>
         <translation>Strecke das Histogram des aktiven Rasters um Ausdehnung zu zeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1610"/>
+        <location filename="../src/ui/qgisapp.ui" line="1611"/>
         <source>Help Contents</source>
         <translation>Hilfe-Übersicht</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1613"/>
+        <location filename="../src/ui/qgisapp.ui" line="1614"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1627"/>
+        <location filename="../src/ui/qgisapp.ui" line="1628"/>
         <source>QGIS Home Page</source>
         <translation>QGIS-Homepage</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1630"/>
+        <location filename="../src/ui/qgisapp.ui" line="1631"/>
         <source>Ctrl+H</source>
         <translation>Strg+H</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1639"/>
+        <location filename="../src/ui/qgisapp.ui" line="1640"/>
         <source>Check QGIS Version</source>
         <translation>QGIS-Version überprüfen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1642"/>
+        <location filename="../src/ui/qgisapp.ui" line="1643"/>
         <source>Check if your QGIS version is up to date (requires internet access)</source>
         <translation>Aktualität Ihrer QGIS-Version überprüfen (erfordert Internetzugang)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1651"/>
+        <location filename="../src/ui/qgisapp.ui" line="1652"/>
         <source>About</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1663"/>
+        <location filename="../src/ui/qgisapp.ui" line="1664"/>
         <source>QGIS Sponsors</source>
         <translation>QGIS-Sponsoren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1690"/>
+        <location filename="../src/ui/qgisapp.ui" line="1691"/>
         <source>Rotate Label</source>
         <translation>Beschriftung drehen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1693"/>
+        <location filename="../src/ui/qgisapp.ui" line="1694"/>
         <source>Rotate Label
 Ctl (Cmd) increments by 15 deg.</source>
         <translation>Beschriftung drehen
 Strg (Cmd) erhöht um 15 Grad.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1706"/>
+        <location filename="../src/ui/qgisapp.ui" line="1707"/>
         <source>Change Label</source>
         <translation>Beschriftung verändern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1715"/>
+        <location filename="../src/ui/qgisapp.ui" line="1716"/>
         <source>Style Manager...</source>
         <translation>Stilverwaltung...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1724"/>
+        <location filename="../src/ui/qgisapp.ui" line="1725"/>
         <source>Python Console</source>
         <translation>Python-Konsole</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1739"/>
+        <location filename="../src/ui/qgisapp.ui" line="1740"/>
         <source>Stretch Histogram to Full Dataset</source>
         <translation>Histogramm auf den ganzen Datensatz strecken</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1762"/>
+        <location filename="../src/ui/qgisapp.ui" line="1763"/>
         <source>Customization...</source>
         <translation>Anpassungen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1770"/>
+        <location filename="../src/ui/qgisapp.ui" line="1771"/>
         <source>This is here just to avoid shortcut conflicts, the shortcut is caught in QgsCustomization</source>
         <translation>Dies ist nur hier um widersprüchliche Kürzel zu vermeiden, das Kürzel wird in QgsCustomization abgefangen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1773"/>
+        <location filename="../src/ui/qgisapp.ui" line="1774"/>
         <source>Ctrl+M</source>
         <translation>Strg+M</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1778"/>
+        <location filename="../src/ui/qgisapp.ui" line="1779"/>
         <source>Embed Layers and Groups...</source>
         <translation>Eingebettete Layer und Gruppen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1781"/>
+        <location filename="../src/ui/qgisapp.ui" line="1782"/>
         <source>Embed layers and groups from other project files</source>
         <translation>Eingebettete Layer und Gruppe aus anderen Projektdateien</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1790"/>
+        <location filename="../src/ui/qgisapp.ui" line="1791"/>
         <source>&Copyright Label</source>
         <translation>&Urheberrechtshinweis</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1793"/>
+        <location filename="../src/ui/qgisapp.ui" line="1794"/>
         <source>Creates a copyright label that is displayed on the map canvas.</source>
         <translation>Erzeugt einen Urheberrechtshinweis auf dem Kartenbild.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1802"/>
+        <location filename="../src/ui/qgisapp.ui" line="1803"/>
         <source>&North Arrow</source>
         <translation>&Nordpfeil</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1805"/>
+        <location filename="../src/ui/qgisapp.ui" line="1806"/>
         <source>"Creates a north arrow that is displayed on the map canvas"</source>
         <translation>"Erzeugt einen Nordpfeil und stellt ihn in der Karte dar"</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1814"/>
+        <location filename="../src/ui/qgisapp.ui" line="1815"/>
         <source>&Scale Bar</source>
         <translation>&Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1817"/>
-        <location filename="../src/ui/qgisapp.ui" line="1925"/>
+        <location filename="../src/ui/qgisapp.ui" line="1818"/>
+        <location filename="../src/ui/qgisapp.ui" line="1926"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Erzeugt eine Maßstabsleiste, die im Kartenbild angezeigt wird</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1826"/>
+        <location filename="../src/ui/qgisapp.ui" line="1827"/>
         <source>Add WFS Layer...</source>
         <translation>WFS-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1829"/>
+        <location filename="../src/ui/qgisapp.ui" line="1830"/>
         <source>Add WFS Layer</source>
         <translation>WFS-Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1841"/>
+        <location filename="../src/ui/qgisapp.ui" line="1842"/>
         <source>Feature Action</source>
         <translation>Objektaktion</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1844"/>
+        <location filename="../src/ui/qgisapp.ui" line="1845"/>
         <source>Run Feature Action</source>
         <translation>Objektaktion ausführen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1853"/>
-        <location filename="../src/ui/qgisapp.ui" line="1856"/>
+        <location filename="../src/ui/qgisapp.ui" line="1854"/>
+        <location filename="../src/ui/qgisapp.ui" line="1857"/>
         <source>Pan Map to Selection</source>
         <translation>Karte zu gewählten Objekten verschieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1871"/>
+        <location filename="../src/ui/qgisapp.ui" line="1872"/>
         <source>Touch zoom and pan</source>
         <translation>Zoomen und Verschieben durch Berührung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1883"/>
+        <location filename="../src/ui/qgisapp.ui" line="1884"/>
         <source>Offset Curve</source>
         <translation>Linie versetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1892"/>
+        <location filename="../src/ui/qgisapp.ui" line="1893"/>
         <source>Copy style</source>
         <translation>Stil kopieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1901"/>
+        <location filename="../src/ui/qgisapp.ui" line="1902"/>
         <source>Paste style</source>
         <translation>Stil einfügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1910"/>
+        <location filename="../src/ui/qgisapp.ui" line="1911"/>
         <source>Add WCS Layer...</source>
         <translation>WCS-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1919"/>
+        <location filename="../src/ui/qgisapp.ui" line="1920"/>
         <source>&Grid</source>
         <translation>&Gitter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1922"/>
+        <location filename="../src/ui/qgisapp.ui" line="1923"/>
         <source>Grid</source>
         <translation>Gitter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1967"/>
-        <location filename="../src/ui/qgisapp.ui" line="1970"/>
+        <location filename="../src/ui/qgisapp.ui" line="1968"/>
+        <location filename="../src/ui/qgisapp.ui" line="1971"/>
         <source>New Blank Project</source>
         <translation>Neues leeres Projekt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1979"/>
+        <location filename="../src/ui/qgisapp.ui" line="1980"/>
         <source>Local Cumulative Cut Stretch</source>
         <translation>Lokale kommulative Schnittstreckung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1982"/>
+        <location filename="../src/ui/qgisapp.ui" line="1983"/>
         <source>Local cumulative cut stretch using current extent, default limits and estimated values.</source>
         <translation>Lokale kommulative Schnittstreckung mit aktueller Ausdehnung, Vorgabegrenzen und geschätzten Werten.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1991"/>
+        <location filename="../src/ui/qgisapp.ui" line="1992"/>
         <source>Full Dataset Cumulative Cut Stretch</source>
         <translation>Kommulative Schnittstreckung über Gesamtdatensatz</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1994"/>
+        <location filename="../src/ui/qgisapp.ui" line="1995"/>
         <source>Cumulative cut stretch using full dataset extent, default limits and estimated values.</source>
         <translation>Kommulative Schnittstreckung über gesamten Datensatzausdehnung, Vorgabegrenzen und geschätzten Werten.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2036"/>
-        <location filename="../src/ui/qgisapp.ui" line="2039"/>
+        <location filename="../src/ui/qgisapp.ui" line="2037"/>
+        <location filename="../src/ui/qgisapp.ui" line="2040"/>
         <source>Duplicate Layer(s)</source>
         <translation>Layer duplizieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2060"/>
-        <location filename="../src/ui/qgisapp.ui" line="2063"/>
+        <location filename="../src/ui/qgisapp.ui" line="2061"/>
+        <location filename="../src/ui/qgisapp.ui" line="2064"/>
         <source>Save for All Layers</source>
         <translation>Alle Layer speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2075"/>
-        <location filename="../src/ui/qgisapp.ui" line="2078"/>
+        <location filename="../src/ui/qgisapp.ui" line="2076"/>
+        <location filename="../src/ui/qgisapp.ui" line="2079"/>
         <source>Rollback for All Layers</source>
         <translation>Alle Layeränderungen verwerfen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2090"/>
-        <location filename="../src/ui/qgisapp.ui" line="2093"/>
+        <location filename="../src/ui/qgisapp.ui" line="2091"/>
+        <location filename="../src/ui/qgisapp.ui" line="2094"/>
         <source>Cancel for All Layers</source>
         <translation>Abbruch für alle Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2105"/>
-        <location filename="../src/ui/qgisapp.ui" line="2108"/>
+        <location filename="../src/ui/qgisapp.ui" line="2106"/>
+        <location filename="../src/ui/qgisapp.ui" line="2109"/>
         <source>Rollback for Selected Layer(s)</source>
         <translation>Verwerfen für gewählte Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2120"/>
-        <location filename="../src/ui/qgisapp.ui" line="2123"/>
+        <location filename="../src/ui/qgisapp.ui" line="2121"/>
+        <location filename="../src/ui/qgisapp.ui" line="2124"/>
         <source>Current Edits</source>
         <translation>Aktuelle Änderungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2135"/>
-        <location filename="../src/ui/qgisapp.ui" line="2138"/>
+        <location filename="../src/ui/qgisapp.ui" line="2136"/>
+        <location filename="../src/ui/qgisapp.ui" line="2139"/>
         <source>Cancel for Selected Layer(s)</source>
         <translation>Abbruch für gewählte Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2150"/>
-        <location filename="../src/ui/qgisapp.ui" line="2153"/>
+        <location filename="../src/ui/qgisapp.ui" line="2151"/>
+        <location filename="../src/ui/qgisapp.ui" line="2154"/>
         <source>Save Layer Edits</source>
         <translation>Layeränderungen speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2165"/>
-        <location filename="../src/ui/qgisapp.ui" line="2168"/>
+        <location filename="../src/ui/qgisapp.ui" line="2166"/>
+        <location filename="../src/ui/qgisapp.ui" line="2169"/>
         <source>Rotate Feature(s)</source>
         <translation>Objekt(e) drehen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2231"/>
+        <location filename="../src/ui/qgisapp.ui" line="2232"/>
         <source>Select features using an expression</source>
         <translation>Objekte über Ausdruck wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2269"/>
+        <location filename="../src/ui/qgisapp.ui" line="2270"/>
         <source>Add/Edit Virtual Layer...</source>
         <translation>Virtuellen Layer hinzufügen/bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2272"/>
+        <location filename="../src/ui/qgisapp.ui" line="2273"/>
         <source>Add/Edit Virtual Layer</source>
         <translation>Virtuellen Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2293"/>
+        <location filename="../src/ui/qgisapp.ui" line="2294"/>
         <source>DXF Export...</source>
         <translation>DXF-Export...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2305"/>
-        <location filename="../src/ui/qgisapp.ui" line="2308"/>
+        <location filename="../src/ui/qgisapp.ui" line="2311"/>
+        <location filename="../src/ui/qgisapp.ui" line="2314"/>
         <source>Fill Ring</source>
         <translation>Ring füllen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2523"/>
+        <location filename="../src/ui/qgisapp.ui" line="2529"/>
         <source>Add Arc&GIS MapServer Layer...</source>
         <translation>ArcGIS-MapServer-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2526"/>
+        <location filename="../src/ui/qgisapp.ui" line="2532"/>
         <source>Add ArcGIS MapServer Layer</source>
         <translation>ArcGIS-MapServer-Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2535"/>
+        <location filename="../src/ui/qgisapp.ui" line="2541"/>
         <source>Add Ar&cGIS FeatureServer Layer...</source>
         <translation>Ar&cGIS-FeatureServer-Layer hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2538"/>
+        <location filename="../src/ui/qgisapp.ui" line="2544"/>
         <source>Add ArcGIS FeatureServer Layer</source>
         <translation>ArcGIS-FeatureServer-Layer hinzufügen</translation>
     </message>
@@ -14526,72 +14585,72 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
         <translation>Pro&jekt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="627"/>
+        <location filename="../src/ui/qgisapp.ui" line="628"/>
         <source>Save as &Image...</source>
         <translation>Als B&ild speichern...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="636"/>
+        <location filename="../src/ui/qgisapp.ui" line="637"/>
         <source>New &Print Composer</source>
         <translation>Neue Druckzusammenstellung (&P)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="914"/>
+        <location filename="../src/ui/qgisapp.ui" line="915"/>
         <source>&Snapping Options...</source>
         <translation>Objektfang (&S)...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1112"/>
+        <location filename="../src/ui/qgisapp.ui" line="1113"/>
         <source>Zoom &Full</source>
         <translation>Volle Ausdehnung (&F)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1124"/>
+        <location filename="../src/ui/qgisapp.ui" line="1125"/>
         <source>Zoom to &Layer</source>
         <translation>Auf &Layer zoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1133"/>
+        <location filename="../src/ui/qgisapp.ui" line="1134"/>
         <source>Zoom to &Selection</source>
         <translation>Zu au&sgewählten Objekten zoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1400"/>
+        <location filename="../src/ui/qgisapp.ui" line="1401"/>
         <source>Open &Attribute Table</source>
         <translation>&Attributtabelle öffnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1435"/>
+        <location filename="../src/ui/qgisapp.ui" line="1436"/>
         <source>&Save As...</source>
         <translation>&Speichern unter...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1468"/>
+        <location filename="../src/ui/qgisapp.ui" line="1469"/>
         <source>&Properties...</source>
         <translation>Eigenschaften (&P)...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1553"/>
+        <location filename="../src/ui/qgisapp.ui" line="1554"/>
         <source>&Project Properties...</source>
         <translation>&Projekteigenschaften...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1565"/>
+        <location filename="../src/ui/qgisapp.ui" line="1566"/>
         <source>&Options...</source>
         <translation>&Optionen...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1727"/>
+        <location filename="../src/ui/qgisapp.ui" line="1728"/>
         <source>Ctrl+Alt+P</source>
         <translation>Strg+Alt+P</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2408"/>
+        <location filename="../src/ui/qgisapp.ui" line="2414"/>
         <source>New Temporary Scratch Layer...</source>
         <translation>Neuer Temporärlayer...</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2411"/>
+        <location filename="../src/ui/qgisapp.ui" line="2417"/>
         <source>New temporary scratch layer</source>
         <translation>Neuen Temporärlayer anlegen</translation>
     </message>
@@ -14670,37 +14729,37 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>MeanAndStdDevPlot</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1611"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1617"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1612"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1618"/>
         <source>Input table</source>
         <translation>Tabelle eingeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1613"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1619"/>
         <source>Category name field</source>
         <translation>Kategorienamesfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1614"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1620"/>
         <source>Mean field</source>
         <translation>Durchschnittswert Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1615"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1621"/>
         <source>StdDev field</source>
         <translation>Standardabweichung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1616"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1622"/>
         <source>Plot</source>
         <translation>Plot</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1610"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1616"/>
         <source>Mean and standard deviation plot</source>
         <translation>Mittel- und Standardabweichungsplott</translation>
     </message>
@@ -14708,32 +14767,32 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>MeanCoords</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1621"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1627"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1622"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1628"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1623"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1629"/>
         <source>Weight field</source>
         <translation>Gewichtungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1624"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1630"/>
         <source>Unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1625"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1631"/>
         <source>Mean coordinates</source>
         <translation>Mittlere Koordinaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1620"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1626"/>
         <source>Mean coordinate(s)</source>
         <translation>Mittlere Koordinate(n)</translation>
     </message>
@@ -14741,37 +14800,37 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>Merge</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1630"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1636"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1631"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1637"/>
         <source>Layers to merge</source>
         <translation>Zusammenzuführende Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1633"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1639"/>
         <source>All layers must have same geometry type!</source>
         <translation>Alle Layer müssen den gleichen Geometrietyp haben!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1634"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1640"/>
         <source>{} field in layer {} has different data type than in other layers.</source>
         <translation>Feld {} im Layer {} hat einen anderen Datentyp als in anderen Layern.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1635"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1641"/>
         <source>Attribute type mismatch</source>
         <translation>Attributtyp nicht passend</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1632"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1638"/>
         <source>Merged</source>
         <translation>Zusammengeführt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1629"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1635"/>
         <source>Merge vector layers</source>
         <translation>Vektorlayer zusammenführen</translation>
     </message>
@@ -14779,22 +14838,22 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>MergeData</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1639"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1645"/>
         <source>Merge LAS Files</source>
         <translation>LAS-Dateien zusammenführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1640"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1646"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1641"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1647"/>
         <source>Input LAS files</source>
         <translation>LAS-Eingabedateien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1642"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1648"/>
         <source>Output merged LAS file</source>
         <translation>Zusammengefasste LAS-Ausgabedatei</translation>
     </message>
@@ -14802,27 +14861,27 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>MergeLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1646"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1652"/>
         <source>Merge lines</source>
         <translation>Linien zusammenführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1647"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1653"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1648"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1654"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1649"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1655"/>
         <source>Merged</source>
         <translation>Zusammengeführt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1650"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1656"/>
         <source>Error merging lines</source>
         <translation>Fehler beim Linienzusammenführen</translation>
     </message>
@@ -14830,12 +14889,12 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>MessageBarProgress</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1654"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1660"/>
         <source>Executing algorithm <i>{0}</i></source>
         <translation>Führe Algorithmus aus <i>{0}</i></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1655"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1661"/>
         <source>Problem executing algorithm</source>
         <translation>Problem bei Algorithmus-Ausführung</translation>
     </message>
@@ -15285,54 +15344,54 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>ModelerAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1659"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1665"/>
         <source>Model</source>
         <translation>Modell</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1660"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1666"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1661"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1667"/>
         <source>Parameter %s in algorithm %s in the model is run with default value! Edit the model to make sure that this is correct.</source>
         <translation>Parameter %s in Algorithmus %s im Modell wird mit Vorgabewert ausgeführt! Bitte Modell bearbeiten, um sicherzustellen, dass dies richtig ist.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1662"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1668"/>
         <source>Wrong value %s for %s %s</source>
         <translation>Falscher Wert %s für %s %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1663"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1669"/>
         <source>Prepare algorithm: %s</source>
         <translation>Bereite Algorithmus vor: %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1664"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1670"/>
         <source>Running %s [%i/%i]</source>
         <translation>Verarbeite %s [%i/%i]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1665"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1671"/>
         <source>OK. Execution took %0.3f ms (%i outputs).</source>
         <translation>OK. Ausführung dauerte %0.3f ms (%i Ausgaben).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1666"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1672"/>
         <source>Failed</source>
         <translation>Fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1667"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1673"/>
         <source>Error executing algorithm %s
 %s</source>
         <translation>Fehler in Algorithmusausführung %s
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1668"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1674"/>
         <source>Model processed ok. Executed %i algorithms total</source>
         <translation>Modellverarbeitung OK. Ausgeführte Anzahl der Algorithmen: %i</translation>
     </message>
@@ -15340,22 +15399,22 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>ModelerAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1672"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1678"/>
         <source>Models folder</source>
         <translation>Modellverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1673"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1679"/>
         <source>Models</source>
         <translation>Modelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1674"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1680"/>
         <source>Could not load model %s</source>
         <translation>Konnte Modell %s nicht laden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1675"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1681"/>
         <source>Could not load model %s
 %s</source>
         <translation>Konnte Modell nicht laden %s
@@ -15365,153 +15424,153 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>ModelerDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1679"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1685"/>
         <source>Search...</source>
         <translation>Suchen...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1680"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1686"/>
         <source>[Enter model name here]</source>
         <translation>[Modellname]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1681"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1687"/>
         <source>[Enter group name here]</source>
         <translation>[Gruppenname]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1684"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1690"/>
         <source>Empty model</source>
         <translation>Leeres Modell</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1686"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1692"/>
         <source>Save Model As Image</source>
         <translation>Modell als Bild speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1687"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1693"/>
         <source>PNG files (*.png *.PNG)</source>
         <translation>PNG-Dateien (*.png *.PNG)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1688"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1694"/>
         <source>Save Model As Python Script</source>
         <translation>Modell als Pythonskript speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1689"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1695"/>
         <source>Python files (*.py *.PY)</source>
         <translation>Python-Dateien (*.py *.PY)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1690"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1696"/>
         <source>Model exported</source>
         <translation>Modell exportiert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1691"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1697"/>
         <source>Model was correctly exported.</source>
         <translation>Modell wurde korrekt exportiert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1692"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1698"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1693"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1699"/>
         <source>Please enter group and model names before saving</source>
         <translation>Bitte Gruppen- und Modellnamen vor dem Speichern angeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1694"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1700"/>
         <source>Save Model</source>
         <translation>Modell speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1695"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1701"/>
         <source>Processing models (*.model)</source>
         <translation>Verarbeitungsmodelle (*.model)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1696"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1702"/>
         <source>I/O error</source>
         <translation>E/A-Fehler</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1697"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1703"/>
         <source>Unable to save edits. Reason:
  %s</source>
         <translation>Änderung konnten nicht gespeichert werden. Grund:
  %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1698"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1704"/>
         <source>Can't save model</source>
         <translation>Konnte Modell nicht speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1703"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1709"/>
         <source>Processing models (*.model *.MODEL)</source>
         <translation>Auswertungsmodelle (*.model *.MODEL)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1704"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1710"/>
         <source>Could not load model %s
 %s</source>
         <translation>Konnte Modell %s nicht laden
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1706"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1712"/>
         <source>The selected model could not be loaded.
 See the log for more information.</source>
         <translation>Das gewählte Modell konnte nicht geladen werden.
 Mehr Informationen.im Protokoll.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1685"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1691"/>
         <source>Model doesn't contains any algorithms and/or parameters and can't be executed</source>
         <translation>Model beinhaltet keine Algorithmen und/oder Parameter und kann deshalb nicht ausgeführt werden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1699"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1705"/>
         <source>This model can't be saved in its original location (probably you do not have permission to do it). Please, use the 'Save as...' option.</source>
         <translation>Dieses Modell kann nicht an seiner ursprünglichen Stelle gespeichert werden (wahrscheinlich haben Sie keine Berechtigung dazu). Bitte 'Speichern als...' verwenden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1700"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1706"/>
         <source>Model saved</source>
         <translation>Modell gespeichert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1701"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1707"/>
         <source>Model was correctly saved.</source>
         <translation>Modell wurde korrekt gespeichert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1702"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1708"/>
         <source>Open Model</source>
         <translation>Modell öffnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1705"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1711"/>
         <source>Could not open model</source>
         <translation>Konnte Modell nicht öffnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1707"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1713"/>
         <source>Parameters</source>
         <translation>Parameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1682"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1688"/>
         <source>Unsaved changes</source>
         <translation>Ungesicherte Änderungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1683"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1689"/>
         <source>There are unsaved changes in model. Continue?</source>
         <translation>Ungesicherte Änderung am Modell. Fortfahren?</translation>
     </message>
@@ -15519,7 +15578,7 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>ModelerOnlyAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1711"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1717"/>
         <source>Modeler-only tools</source>
         <translation>Nur-Modellierungswerkzeuge</translation>
     </message>
@@ -15527,157 +15586,157 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>ModelerParameterDefinitionDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1715"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1721"/>
         <source>Parameter definition</source>
         <translation>Parameter Definitionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1716"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1722"/>
         <source>Parameter name</source>
         <translation>Parameter Namen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1717"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1723"/>
         <source>Checked</source>
         <translation>Überprüft</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1718"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1724"/>
         <source>Parent layer</source>
         <translation>Übergeordneter Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1740"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1746"/>
         <source>Required</source>
         <translation>Erforderlich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1741"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1747"/>
         <source>Yes</source>
         <translation>Ja</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1742"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1748"/>
         <source>No</source>
         <translation>Nein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1723"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1729"/>
         <source>Shape type</source>
         <translation>Shape Typ</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1719"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1725"/>
         <source>Allowed data type</source>
         <translation>Erlaubter Datentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1720"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1726"/>
         <source>Any</source>
         <translation>Jeder</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1721"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1727"/>
         <source>Number</source>
         <translation>Number</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1722"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1728"/>
         <source>String</source>
         <translation>Zeichenkette</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1724"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1730"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1725"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1731"/>
         <source>Line</source>
         <translation>Linie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1726"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1732"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1727"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1733"/>
         <source>Data type</source>
         <translation>Daten Typ</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1728"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1734"/>
         <source>Vector (any)</source>
         <translation>Vector (jeder)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1729"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1735"/>
         <source>Vector (point)</source>
         <translation>Vector (Punkt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1730"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1736"/>
         <source>Vector (line)</source>
         <translation>Vektor (Linie)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1731"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1737"/>
         <source>Vector (polygon)</source>
         <translation>Vektor (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1732"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1738"/>
         <source>Raster</source>
         <translation>Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1733"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1739"/>
         <source>Table</source>
         <translation>Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1734"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1740"/>
         <source>Min/Max values</source>
         <translation>Min/Max Werte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1735"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1741"/>
         <source>Default value</source>
         <translation>Vorgabewert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1736"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1742"/>
         <source>0</source>
         <translation>0</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1737"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1743"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1738"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1744"/>
         <source>File</source>
         <translation>Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1739"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1745"/>
         <source>Folder</source>
         <translation>Ordner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1743"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1749"/>
         <source>Unable to define parameter</source>
         <translation>Nicht in der Lage Parameter zu definieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1744"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1750"/>
         <source>Invalid parameter name</source>
         <translation>Ungültiger Parameter Name</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1745"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1751"/>
         <source>Wrong or missing parameter values</source>
         <translation>Falsche oder fehlende Parameterwerte</translation>
     </message>
@@ -15685,57 +15744,57 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>ModelerParametersDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1749"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1755"/>
         <source>Description</source>
         <translation>Beschreibung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1750"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1756"/>
         <source>Show advanced parameters</source>
         <translation>Zeige erweiterte Parameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1751"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1757"/>
         <source>(xmin, xmax, ymin, ymax)</source>
         <translation> (xmin, xmax, ymin, ymax)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1752"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1758"/>
         <source>(x, y)</source>
         <translation>(x, y)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1753"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1759"/>
         <source>Parent algorithms</source>
         <translation>Übergeordneter Algorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1754"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1760"/>
         <source>Parameters</source>
         <translation>Parameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1755"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1761"/>
         <source><p>Downloading algorithm help... Please wait.</p></source>
         <translation><p>Algorithmenhilfe wird heruntergeladen... Bitte warten.</p></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1756"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1762"/>
         <source><h2>No help available for this algorithm</h2></source>
         <translation><h2>Keine Hilfe für diesen Algorithmus verfügbar.</h2></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1757"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1763"/>
         <source><h2>No help available for this algorithm</h2><p>{}</p></source>
         <translation><h2>Keine Hilfe für diesen Algorithmus verfügbar.</h2><p>{}</p></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1758"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1764"/>
         <source>Hide advanced parameters</source>
         <translation>Verstecke erweiterte Parameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1759"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1765"/>
         <source>'%s' from algorithm '%s'</source>
         <translation>'%s' von Algorithmus '%s'</translation>
     </message>
@@ -15743,7 +15802,7 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultilineTextPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1763"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1769"/>
         <source>[Use text below]</source>
         <translation>[Benutze Text unterhalb]</translation>
     </message>
@@ -15751,22 +15810,22 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultipartToSingleparts</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1768"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1774"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1769"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1775"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1770"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1776"/>
         <source>Single parts</source>
         <translation>Einzelteile</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1767"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1773"/>
         <source>Multipart to singleparts</source>
         <translation>Mehr- zu einteilig</translation>
     </message>
@@ -15774,7 +15833,7 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultipleDirectorySelector</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1774"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1780"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -15782,27 +15841,27 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultipleFileInputDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1782"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1788"/>
         <source>All files (*.*)</source>
         <translation>Alle Dateien (*.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1778"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1784"/>
         <source>Add file</source>
         <translation>Datei hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1779"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1785"/>
         <source>Remove file(s)</source>
         <translation>Datei(en) entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1780"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1786"/>
         <source>Remove all</source>
         <translation>Alle entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1781"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1787"/>
         <source>Select file(s)</source>
         <translation>Datei(en) wählen</translation>
     </message>
@@ -15810,17 +15869,17 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultipleInputDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1786"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1792"/>
         <source>Select all</source>
         <translation>Alle wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1787"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1793"/>
         <source>Clear selection</source>
         <translation>Auswahl aufheben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1788"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1794"/>
         <source>Toggle selection</source>
         <translation>Auswahl umschalten</translation>
     </message>
@@ -15828,12 +15887,12 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultipleInputPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1792"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1798"/>
         <source>0 elements selected</source>
         <translation>0 Elemente ausgewählt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1793"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1799"/>
         <source>%d elements selected</source>
         <translation>%d Elemente ausgewählt</translation>
     </message>
@@ -15841,47 +15900,47 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>NearestNeighbourAnalysis</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1798"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1804"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1799"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1805"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1800"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1806"/>
         <source>Nearest neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1801"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1807"/>
         <source>Observed mean distance</source>
         <translation>Beobachtete mittlere Distanz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1802"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1808"/>
         <source>Expected mean distance</source>
         <translation>Erwartete mittlere Distanz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1803"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1809"/>
         <source>Nearest neighbour index</source>
         <translation>Nächster Nachbar Index</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1804"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1810"/>
         <source>Number of points</source>
         <translation>Anzahl von Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1805"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1811"/>
         <source>Z-Score</source>
         <translation>Z-Wertung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1797"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1803"/>
         <source>Nearest neighbour analysis</source>
         <translation>Nächster Nachbaranalyse</translation>
     </message>
@@ -15930,7 +15989,7 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>NewPreconfiguredAlgorithmAction</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1809"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1815"/>
         <source>Create preconfigured algorithm</source>
         <translation>Vorkonfigurierten Algorithmus anlegen</translation>
     </message>
@@ -15938,95 +15997,94 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>NotSupportedDbType</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="467"/>
         <source>%s is not supported yet</source>
-        <translation>%s ist noch nicht unterstützt</translation>
+        <translation type="obsolete">%s ist noch nicht unterstützt</translation>
     </message>
 </context>
 <context>
     <name>NumberInputDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1813"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1819"/>
         <source>[Enter your formula here]</source>
         <translation>[Formel hier eingeben]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1814"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1820"/>
         <source>Values from data layers extents</source>
         <translation>Werte aus den Layerausmaßen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1815"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1821"/>
         <source>Min X</source>
         <translation>Min X</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1816"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1822"/>
         <source>Max X</source>
         <translation>Max X</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1817"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1823"/>
         <source>Min Y</source>
         <translation>Min Y</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1818"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1824"/>
         <source>Max Y</source>
         <translation>Max Y</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1819"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1825"/>
         <source>Cellsize</source>
         <translation>Zellengröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1820"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1826"/>
         <source>Values from raster layers statistics</source>
         <translation>Werte aus Rasterlayerstatistik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1821"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1827"/>
         <source>Mean</source>
         <translation>Durchschnitt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1822"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1828"/>
         <source>Std. deviation</source>
         <translation>Std.-abweichung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1823"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1829"/>
         <source>Max value</source>
         <translation>Max. Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1824"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1830"/>
         <source>Min value</source>
         <translation>Min. Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1825"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1831"/>
         <source>Values from QGIS map canvas</source>
         <translation>Werte aus QGIS-Kartefenster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1826"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1832"/>
         <source>Current extent</source>
         <translation>Aktuelle Ausmaße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1827"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1833"/>
         <source>Full extent of all layers in map canvas</source>
         <translation>Volles Ausmaß aller Layer der Karte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1828"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1834"/>
         <source>Wrong expression</source>
         <translation>Falscher Ausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1829"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1835"/>
         <source>The expression entered is not correct</source>
         <translation>Der eingegebene Ausdruck ist ungültig</translation>
     </message>
@@ -16034,7 +16092,7 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>NumberInputPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1833"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1839"/>
         <source>Expression based input</source>
         <translation>Ausdrucksbasierte Eingabe</translation>
     </message>
@@ -16042,19 +16100,19 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>OTBAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1837"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1843"/>
         <source>Could not open OTB algorithm: %s
 %s</source>
         <translation>Kann OTB-Algorithmus nicht öffnen: %s
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1838"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1844"/>
         <source>OTB execution command</source>
         <translation>OTB-Befehlsausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1839"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1845"/>
         <source>Adapter for %s not found</source>
         <translation>Adapter für %s nicht gefunden</translation>
     </message>
@@ -16062,49 +16120,49 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>OTBAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1844"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1850"/>
         <source>Problem with OTB installation: OTB was not found or is not correctly installed</source>
         <translation>Problem mit OTB-Installation: OTB wurde nicht gefunden oder ist nicht richtig installiert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1845"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1851"/>
         <source>Problem with OTB installation: installed OTB version (%s) is not supported</source>
         <translation>Problem mit OTB-Installation: Installierte OTB-Version (%s) wird nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1846"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1852"/>
         <source>Could not open OTB algorithm: %s</source>
         <translation>Konnte OTB-Algorithmus nicht öffnen: %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1847"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1853"/>
         <source>Could not open OTB algorithm: %s
 %s</source>
         <translation>Kann OTB-Algorithmus nicht öffnen: %s
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1848"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1854"/>
         <source>OTB command line tools folder</source>
         <translation>OTB Kommandozeilen Werkzeuge Ordner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1849"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1855"/>
         <source>OTB applications folder</source>
         <translation>OTB Anwendungsordner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1850"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1856"/>
         <source>SRTM tiles folder</source>
         <translation>SRTM Kachel Ordner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1851"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1857"/>
         <source>Geoid file</source>
         <translation>Geoid Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1843"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1849"/>
         <source>Orfeo Toolbox (Image analysis)</source>
         <translation>Orfeo Toolbox (Bildanalyse)</translation>
     </message>
@@ -16112,32 +16170,32 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2Ogr</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1856"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1862"/>
         <source>[OGR] Conversion</source>
         <translation>[OGR] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1857"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1863"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1858"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1864"/>
         <source>Destination Format</source>
         <translation>Zielformat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1859"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1865"/>
         <source>Creation options</source>
         <translation>Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1860"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1866"/>
         <source>Converted</source>
         <translation>Umgewandelt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1855"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1861"/>
         <source>Convert format</source>
         <translation>Format konvertieren</translation>
     </message>
@@ -16145,52 +16203,52 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrBuffer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1865"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1871"/>
         <source>[OGR] Geoprocessing</source>
         <translation>[OGR] Geoverarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1866"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1872"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1867"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1873"/>
         <source>Geometry column name ("geometry" for Shapefiles, may be different for other formats)</source>
         <translation>Geometriespaltenname ("geometry" bei Shapedateien, kann bei anderen Formaten abweichen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1868"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1874"/>
         <source>Buffer distance</source>
         <translation>Pufferabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1869"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1875"/>
         <source>Dissolve all results</source>
         <translation>Alle Ergebnisse auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1870"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1876"/>
         <source>Dissolve by attribute</source>
         <translation>Nach Attribute auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1871"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1877"/>
         <source>Output as singlepart geometries (only used when dissolving by attribute)</source>
         <translation>Als einteilige Geometrien ausgaben (wird nur verwendet, wenn nach Attribute aufgelöst wird)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1872"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1878"/>
         <source>Additional creation options (see ogr2ogr manual)</source>
         <translation>Zusätzliche Erzeugungsoptionen (siehe ogr2ogr-Handbuch)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1873"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1879"/>
         <source>Buffer</source>
         <translation>Puffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1864"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1870"/>
         <source>Buffer vectors</source>
         <translation>Vektoren puffern</translation>
     </message>
@@ -16198,32 +16256,32 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrClip</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1878"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1884"/>
         <source>[OGR] Geoprocessing</source>
         <translation>[OGR] Geoverarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1879"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1885"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1880"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1886"/>
         <source>Clip layer</source>
         <translation>Layer zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1881"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1887"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1882"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1888"/>
         <source>Clipped (polygon)</source>
         <translation>Abgeschnitten (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1877"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1883"/>
         <source>Clip vectors by polygon</source>
         <translation>Vektoren durch Polygon zuschneiden</translation>
     </message>
@@ -16231,32 +16289,32 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrClipExtent</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1887"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1893"/>
         <source>[OGR] Geoprocessing</source>
         <translation>[OGR] Geoverarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1888"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1894"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1889"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1895"/>
         <source>Clip extent</source>
         <translation>Grenzen zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1890"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1896"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1891"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1897"/>
         <source>Clipped (extent)</source>
         <translation>Abgeschnitten (Grenze)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1886"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1892"/>
         <source>Clip vectors by extent</source>
         <translation>Vektoren auf Ausmaße zuschneiden</translation>
     </message>
@@ -16264,67 +16322,67 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrDissolve</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1896"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1902"/>
         <source>[OGR] Geoprocessing</source>
         <translation>[OGR] Geoverarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1897"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1903"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1898"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1904"/>
         <source>Geometry column name ("geometry" for Shapefiles, may be different for other formats)</source>
         <translation>Geometriespaltename ("geometry" für Shapedatei, kann bei anderen Formaten abweichen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1899"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1905"/>
         <source>Dissolve field</source>
         <translation>Auflösungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1900"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1906"/>
         <source>Output as multipart geometries</source>
         <translation>Ausgabe als mehrteilige Geometrien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1901"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1907"/>
         <source>Keep input attributes</source>
         <translation>Eingabeattribute beibehalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1902"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1908"/>
         <source>Count dissolved features</source>
         <translation>Aufgelöste Objekte zählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1903"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1909"/>
         <source>Compute area and perimeter of dissolved features</source>
         <translation>Fläche und Umfang der aufgelösten Objekte berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1904"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1910"/>
         <source>Compute min/max/sum/mean for the following numeric attribute</source>
         <translation>Min/Max/Summe/Durchschnitt der folgenden nummerischen Attribute berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1905"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1911"/>
         <source>Numeric attribute to compute dissolved features stats</source>
         <translation>Nummerische Attribute um Statistik zu ausgelösten Objekten zu berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1906"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1912"/>
         <source>Additional creation options (see ogr2ogr manual)</source>
         <translation>Zusätzliche Erzeugungsoptionen (siehe ogr2ogr-Handbuch)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1907"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1913"/>
         <source>Dissolved</source>
         <translation>Aufgelöst</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1895"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1901"/>
         <source>Dissolve polygons</source>
         <translation>Polygone auflösen</translation>
     </message>
@@ -16332,62 +16390,62 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrOneSideBuffer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1912"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1918"/>
         <source>[OGR] Geoprocessing</source>
         <translation>[OGR] Geoverarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1913"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1919"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1914"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1920"/>
         <source>Operation</source>
         <translation>Operation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1915"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1921"/>
         <source>Geometry column name ("geometry" for Shapefiles, may be different for other formats)</source>
         <translation>Geometriespaltename ("geometry" für Shapedatei, kann bei anderen Formaten abweichen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1916"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1922"/>
         <source>Buffer distance</source>
         <translation>Pufferabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1917"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1923"/>
         <source>Buffer side</source>
         <translation>Pufferseite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1918"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1924"/>
         <source>Dissolve all results</source>
         <translation>Alle Ergebnisse auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1919"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1925"/>
         <source>Dissolve by attribute</source>
         <translation>Nach Attribute auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1920"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1926"/>
         <source>Output as singlepart geometries (only used when dissolving by attribute)</source>
         <translation>Als einteilige Geometrien ausgaben (wird nur verwendet, wenn nach Attribute aufgelöst wird)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1921"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1927"/>
         <source>Additional creation options (see ogr2ogr manual)</source>
         <translation>Zusätzliche Erzeugungsoptionen (siehe ogr2ogr-Handbuch)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1922"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1928"/>
         <source>Single sided buffer</source>
         <translation>Doppelseitiger Puffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1911"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1917"/>
         <source>Single sided buffers (and offset lines) for lines</source>
         <translation>Einseitige Puffer (und Versatzlinien) für Linien</translation>
     </message>
@@ -16395,37 +16453,37 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrPointsOnLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1927"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1933"/>
         <source>[OGR] Geoprocessing</source>
         <translation>[OGR] Geoverarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1928"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1934"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1929"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1935"/>
         <source>Geometry column name ("geometry" for Shapefiles, may be different for other formats)</source>
         <translation>Geometriespaltename ("geometry" für Shapedatei, kann bei anderen Formaten abweichen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1930"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1936"/>
         <source>Distance from line start represented as fraction of line length</source>
         <translation>Abstand vom Linienanfang als Bruchteil der Linienlänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1931"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1937"/>
         <source>Additional creation options (see ogr2ogr manual)</source>
         <translation>Zusätzliche Erzeugungsoptionen (siehe ogr2ogr-Handbuch)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1932"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1938"/>
         <source>Points along lines</source>
         <translation>Punkte entlang Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1926"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1932"/>
         <source>Create points along lines</source>
         <translation>Punkte entlang von Linien erzeugen</translation>
     </message>
@@ -16433,92 +16491,92 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrTableToPostGisList</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1938"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1944"/>
         <source>Database (connection name)</source>
         <translation>Datenbank (Verbindungsname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1939"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1945"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1940"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1946"/>
         <source>Shape encoding</source>
         <translation>Shapekodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1941"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1947"/>
         <source>Schema name</source>
         <translation>Schemaname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1942"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1948"/>
         <source>Table name, leave blank to use input name</source>
         <translation>Tabellenname,  leer lassen um Eingabenamen zu verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1943"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1949"/>
         <source>Primary key</source>
         <translation>Primärschlüssel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1944"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1950"/>
         <source>Primary key (existing field, used if the above option is left empty)</source>
         <translation>Primärschlüssel (vorhandene Feld, wird genutzt, wenn obige Option leergelassen wird)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1946"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1952"/>
         <source>Group N features per transaction (Default: 20000)</source>
         <translation>n Objekte je Transaktion gruppieren (Voreinstellung: 20000)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1947"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1953"/>
         <source>Overwrite existing table</source>
         <translation>Vorhandene Tabelle überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1948"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1954"/>
         <source>Append to existing table</source>
         <translation>An vorhandene Tabelle anhängen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1949"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1955"/>
         <source>Append and add new fields to existing table</source>
         <translation>Anhängen und neue Felder zu vorhandener Tabelle hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1950"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1956"/>
         <source>Do not launder columns/table names</source>
         <translation>Spalten/Tabellennamen nicht bereinigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1951"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1957"/>
         <source>Continue after a failure, skipping the failed record</source>
         <translation>Nach Fehler fortsetzen und fehlerhaften Datensatz überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1952"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1958"/>
         <source>Keep width and precision of input attributes</source>
         <translation>Breite und Genauigkeit der Eingabeattribute beibehalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1953"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1959"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1936"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1942"/>
         <source>Import layer/table as geometryless table into PostgreSQL database</source>
         <translation>Layer/Tabelle als geometrielose Tabelle in PostgreSQL importieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1937"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1943"/>
         <source>[OGR] Miscellaneous</source>
         <translation>[OGR] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1945"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1951"/>
         <source>Select features using a SQL "WHERE" statement (Ex: column='value')</source>
         <translation>Objekte mit SQL "Where"-Klausel auswählen (Bsp: column='value')</translation>
     </message>
@@ -16526,172 +16584,172 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrToPostGis</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1959"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1965"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1960"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1966"/>
         <source>Shape encoding</source>
         <translation>Shapekodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1961"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1967"/>
         <source>Output geometry type</source>
         <translation>Ausgabegeometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1965"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1971"/>
         <source>Host</source>
         <translation>Host</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1966"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1972"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1967"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1973"/>
         <source>Username</source>
         <translation>Benutzername</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1968"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1974"/>
         <source>Database name</source>
         <translation>Datenbankname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1969"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1975"/>
         <source>Password</source>
         <translation>Passwort</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1970"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1976"/>
         <source>Schema name</source>
         <translation>Schemaname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1971"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1977"/>
         <source>Table name, leave blank to use input name</source>
         <translation>Tabellenname,  leer lassen um Eingabenamen zu verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1974"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1980"/>
         <source>Geometry column name</source>
         <translation>Geometriespalte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1975"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1981"/>
         <source>Vector dimensions</source>
         <translation>Vektordimensionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1976"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1982"/>
         <source>Distance tolerance for simplification</source>
         <translation>Abstandstoleranz für Vereinfachung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1977"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1983"/>
         <source>Maximum distance between 2 nodes (densification)</source>
         <translation>Maximaler Abstand zwischen zwei Knoten (Verdichtung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1978"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1984"/>
         <source>Select features by extent (defined in input layer CRS)</source>
         <translation>Wähle Objekte nach Ausdehnung (definiert in Eingabelayer KBS)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1979"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1985"/>
         <source>Clip the input layer using the above (rectangle) extent</source>
         <translation>Eingabelayer auf obige (rechteckigen) Grenzen zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1981"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1987"/>
         <source>Group N features per transaction (Default: 20000)</source>
         <translation>n Objekte je Transaktion gruppieren (Voreinstellung: 20000)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1982"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1988"/>
         <source>Overwrite existing table</source>
         <translation>Vorhandene Tabelle überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1983"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1989"/>
         <source>Append to existing table</source>
         <translation>An vorhandene Tabelle anhängen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1984"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1990"/>
         <source>Append and add new fields to existing table</source>
         <translation>Anhängen und neue Felder zu vorhandener Tabelle hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1985"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1991"/>
         <source>Do not launder columns/table names</source>
         <translation>Spalten/Tabellennamen nicht bereinigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1986"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1992"/>
         <source>Do not create spatial index</source>
         <translation>Keinen räumlichen Index erstellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1987"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1993"/>
         <source>Continue after a failure, skipping the failed feature</source>
         <translation>Nach Fehler fortsetzen und fehlerhaftes Objekt überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1990"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1996"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1957"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1963"/>
         <source>Import Vector into PostGIS database (new connection)</source>
         <translation>Vektor in PostGIS-Datenbank importieren (neue Verbindung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1958"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1964"/>
         <source>[OGR] Miscellaneous</source>
         <translation>[OGR] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1962"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1968"/>
         <source>Assign an output CRS</source>
         <translation>Ein Ausgabe-KBS zuweisen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1963"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1969"/>
         <source>Reproject to this CRS on output </source>
         <translation>Bei Ausgabe auf dieses KBS reprojizieren </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1964"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1970"/>
         <source>Override source CRS</source>
         <translation>Quell-KBS überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1972"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1978"/>
         <source>Primary key (new field)</source>
         <translation>Primärschlüssel (neues Feld)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1973"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1979"/>
         <source>Primary key (existing field, used if the above option is left empty)</source>
         <translation>Primärschlüssel (vorhandenes Feld, wird verwendet, wenn obige Option leer gelassen wird)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1988"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1994"/>
         <source>Promote to Multipart</source>
         <translation>In Mehrteilige umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1989"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1995"/>
         <source>Keep width and precision of input attributes</source>
         <translation>Breite und Genauigkeit der Eingabeattribute beibehalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1980"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1986"/>
         <source>Select features using a SQL "WHERE" statement (Ex: column='value')</source>
         <translation>Objekte mit SQL "Where"-Klausel auswählen (Bsp: column='value')</translation>
     </message>
@@ -16699,152 +16757,152 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrToPostGisList</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1996"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2002"/>
         <source>Database (connection name)</source>
         <translation>Datenbank (Verbindungsname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1997"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2003"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1998"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2004"/>
         <source>Shape encoding</source>
         <translation>Shapekodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1999"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2005"/>
         <source>Output geometry type</source>
         <translation>Ausgabegeometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2003"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2009"/>
         <source>Schema name</source>
         <translation>Schemaname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2004"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2010"/>
         <source>Table name, leave blank to use input name</source>
         <translation>Tabellenname,  leer lassen um Eingabenamen zu verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2007"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2013"/>
         <source>Geometry column name</source>
         <translation>Geometriespalte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2008"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2014"/>
         <source>Vector dimensions</source>
         <translation>Vektordimensionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2009"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2015"/>
         <source>Distance tolerance for simplification</source>
         <translation>Abstandstoleranz für Vereinfachung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2010"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2016"/>
         <source>Maximum distance between 2 nodes (densification)</source>
         <translation>Maximaler Abstand zwischen zwei Knoten (Verdichtung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2011"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2017"/>
         <source>Select features by extent (defined in input layer CRS)</source>
         <translation>Wähle Objekte nach Ausdehnung (definiert in Eingabelayer KBS)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2012"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2018"/>
         <source>Clip the input layer using the above (rectangle) extent</source>
         <translation>Eingabelayer auf obige (rechteckigen) Grenzen zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2014"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2020"/>
         <source>Group N features per transaction (Default: 20000)</source>
         <translation>n Objekte je Transaktion gruppieren (Voreinstellung: 20000)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2015"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2021"/>
         <source>Overwrite existing table</source>
         <translation>Vorhandene Tabelle überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2016"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2022"/>
         <source>Append to existing table</source>
         <translation>An vorhandene Tabelle anhängen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2017"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2023"/>
         <source>Append and add new fields to existing table</source>
         <translation>Anhängen und neue Felder zu vorhandener Tabelle hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2018"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2024"/>
         <source>Do not launder columns/table names</source>
         <translation>Spalten/Tabellennamen nicht bereinigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2019"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2025"/>
         <source>Do not create spatial index</source>
         <translation>Keinen räumlichen Index erstellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2020"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2026"/>
         <source>Continue after a failure, skipping the failed feature</source>
         <translation>Nach Fehler fortsetzen und fehlerhaftes Objekt überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2023"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2029"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1994"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2000"/>
         <source>Import Vector into PostGIS database (available connections)</source>
         <translation>Vektor in PostGIS-Datenbank importieren (vorhandene Verbindungen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1995"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2001"/>
         <source>[OGR] Miscellaneous</source>
         <translation>[OGR] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2000"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2006"/>
         <source>Assign an output CRS</source>
         <translation>Ein Ausgabe-KBS zuweisen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2001"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2007"/>
         <source>Reproject to this CRS on output </source>
         <translation>Bei Ausgabe auf dieses KBS reprojizieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2002"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2008"/>
         <source>Override source CRS</source>
         <translation>Quell-CRS überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2005"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2011"/>
         <source>Primary key (new field)</source>
         <translation>Primärschlüssel (Neues Feld)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2006"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2012"/>
         <source>Primary key (existing field, used if the above option is left empty)</source>
         <translation>Primärschlüssel (vorhandene Feld, wird genutzt, wenn obige Option leergelassen wird)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2021"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2027"/>
         <source>Promote to Multipart</source>
         <translation>In mehrteilige umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2022"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2028"/>
         <source>Keep width and precision of input attributes</source>
         <translation>Breite und Genauigkeit der Eingabeattribute beibehalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2013"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2019"/>
         <source>Select features using a SQL "WHERE" statement (Ex: column='value')</source>
         <translation>Objekte mit SQL "Where"-Klausel auswählen (Bsp: column='value')</translation>
     </message>
@@ -16852,27 +16910,27 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>OgrInfo</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2028"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2034"/>
         <source>[OGR] Miscellaneous</source>
         <translation>[OGR] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2029"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2035"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2030"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2036"/>
         <source>Summary output only</source>
         <translation>Nur Zusammenfassung ausgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2031"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2037"/>
         <source>Layer information</source>
         <translation>Layerinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2027"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2033"/>
         <source>Information</source>
         <translation>Information</translation>
     </message>
@@ -16880,37 +16938,37 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>OgrSql</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2035"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2041"/>
         <source>Execute SQL</source>
         <translation>SQL-Anweisung ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2036"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2042"/>
         <source>[OGR] Miscellaneous</source>
         <translation>[OGR] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2037"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2043"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2038"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2044"/>
         <source>SQL</source>
         <translation>SQL</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2039"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2045"/>
         <source>Dialect</source>
         <translation>Dialekt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2040"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2046"/>
         <source>SQL result</source>
         <translation>SQL-Ergebnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2041"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2047"/>
         <source>Empty SQL. Please enter valid SQL expression and try again.</source>
         <translation>Leerer SQL-Ausdruck. Bitte einen gültigen SQL-Ausdruck eingeben und wiederholen.</translation>
     </message>
@@ -16918,12 +16976,12 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>OpenViewerAction</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2045"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2051"/>
         <source>Unable to open viewer</source>
         <translation>Konnte Anzeige nicht öffnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2046"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2052"/>
         <source>The current Fusion folder does not contain the viewer executable.
 Please check the configuration in the Processing settings dialog.</source>
         <translation>Das aktuelle Fusion-Verzeichnis enthält das Anzeigeprogramm nicht.
@@ -16971,7 +17029,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>OracleDBPlugin</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="471"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="474"/>
         <source>There is no defined database connection "{}".</source>
         <translation>Keine Datenbankverbindung "{}" definiert.</translation>
     </message>
@@ -17002,37 +17060,37 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>OrientedMinimumBoundingBox</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2050"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2056"/>
         <source>Oriented minimum bounding box</source>
         <translation>Minimaler gerichteter Umgrenzungsrahmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2051"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2057"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2052"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2058"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2053"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2059"/>
         <source>Calculate OMBB for each feature separately</source>
         <translation>Minimaler gerichteter Umgrenzungsrahmen für jedes Objekt einzeln berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2054"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2060"/>
         <source>Oriented_MBBox</source>
         <translation>Minimale orientierte Umrandungsgrenze</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2055"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2061"/>
         <source>Can't calculate an OMBB for each point, it's a point. The number of points must be greater than 2</source>
         <translation>Kann MOUG für jeden Punkt nicht berechnen. es ist ein Punkt. Die Anzahl der Punkt muß größer als 2 sein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2056"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2062"/>
         <source>Can't calculate an OMBB for feature {0}.</source>
         <translation>Kann MOUG für Objekt {0} nicht bestimmen.</translation>
     </message>
@@ -17040,12 +17098,12 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>OutputFile</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2060"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2066"/>
         <source>All files(*.*)</source>
         <translation>Alle Dateien (*.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2061"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2067"/>
         <source>%s files(*.%s)</source>
         <translation>%s Dateien(*.%s)</translation>
     </message>
@@ -17053,7 +17111,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>OutputHTML</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2065"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2071"/>
         <source>HTML files(*.html)</source>
         <translation>HTML Dateien (*.html)</translation>
     </message>
@@ -17061,7 +17119,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>OutputRaster</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2069"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2075"/>
         <source>%s files (*.%s)</source>
         <translation>%s Dateien (*.%s)</translation>
     </message>
@@ -17069,32 +17127,32 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>OutputSelectionPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2073"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2079"/>
         <source>[Save to temporary file]</source>
         <translation>[In temporärer Datei speichern]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2074"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2080"/>
         <source>[Create temporary layer]</source>
         <translation>[Temporärlayer erzeugen]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2075"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2081"/>
         <source>Create temporary layer</source>
         <translation>Temporärlayer erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2076"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2082"/>
         <source>Save to a temporary file</source>
         <translation>In temporärer Datei speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2077"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2083"/>
         <source>Save to file...</source>
         <translation>In Datei speichern...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2078"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2084"/>
         <source>Use expression...</source>
         <translation>Ausdruck verwenden...</translation>
     </message>
@@ -17103,32 +17161,32 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="obsolete">In Memory-Layer speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2079"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2085"/>
         <source>Save to Spatialite table...</source>
         <translation>In Spatialite-Tabelle speichern...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2080"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2086"/>
         <source>Save to PostGIS table...</source>
         <translation>In PostGIS-Tabelle speichern...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2081"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2087"/>
         <source>Expression based output</source>
         <translation>Ausdrucksbasierte Ausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2082"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2088"/>
         <source>Save Spatialite</source>
         <translation>Speichere Spatialite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2083"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2089"/>
         <source>Save file</source>
         <translation>Datei speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2084"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2090"/>
         <source>Select directory</source>
         <translation>Verzeichnis wählen</translation>
     </message>
@@ -17136,7 +17194,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>OutputVector</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2088"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2094"/>
         <source>%s files (*.%s)</source>
         <translation>%s Dateien (*.%s)</translation>
     </message>
@@ -17144,27 +17202,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PGDatabase</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="475"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="478"/>
         <source>&Table</source>
         <translation>&Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="476"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="479"/>
         <source>Run &Vacuum Analyze</source>
         <translation>&VACUUM ANALYZE ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="477"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="480"/>
         <source>Run &Refresh Materialized View</source>
         <translation>Materialisierte Sicht aktualisie&ren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="478"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="481"/>
         <source>Select a table for vacuum analyze.</source>
         <translation>Auszuräumende und zu analysierende Tabelle wählen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="479"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="482"/>
         <source>Select a materialized view for refresh.</source>
         <translation>Materialisierte Sicht zur Aktualisierung wählen.</translation>
     </message>
@@ -17172,7 +17230,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PGTable</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="483"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="486"/>
         <source>Table rule</source>
         <translation>Tabellenregel</translation>
     </message>
@@ -17180,12 +17238,12 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterMultipleInput</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2092"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2098"/>
         <source>All files (*.*)</source>
         <translation>Alle Dateien (*.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2093"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2099"/>
         <source>%s files(*.%s)</source>
         <translation>%s Dateien (*.%s)</translation>
     </message>
@@ -17193,7 +17251,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterRaster</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2097"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2103"/>
         <source>%s files(*.%s)</source>
         <translation>%s Dateien (*.%s)</translation>
     </message>
@@ -17201,7 +17259,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterTable</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2101"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2107"/>
         <source>%s files(*.%s)</source>
         <translation>%s Dateien (*.%s)</translation>
     </message>
@@ -17209,7 +17267,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterVector</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2105"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2111"/>
         <source>%s files(*.%s)</source>
         <translation>%s Dateien (*.%s)</translation>
     </message>
@@ -17217,37 +17275,37 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParametersPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2109"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2115"/>
         <source>[Not selected]</source>
         <translation>[nicht gewählt]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2111"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2117"/>
         <source> (x, y)</source>
         <translation> (x, y)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2112"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2118"/>
         <source> [optional]</source>
         <translation> [optional]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2113"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2119"/>
         <source>Iterate over this layer</source>
         <translation>Iteriere über diesen Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2114"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2120"/>
         <source>Open output file after running algorithm</source>
         <translation>Öffne Ausgabedatei nach erfolgreicher Ausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2115"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2121"/>
         <source>[not set]</source>
         <translation>[nicht gesetzt]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2110"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2116"/>
         <source> (xmin, xmax, ymin, ymax)</source>
         <translation> (xmin, xmax, ymin, ymax)</translation>
     </message>
@@ -17255,42 +17313,42 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PeukerDouglas</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2119"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2125"/>
         <source>Peuker Douglas</source>
         <translation>Peuker-Douglas</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2120"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2126"/>
         <source>Stream Network Analysis tools</source>
         <translation>Stromnetzwerkanalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2121"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2127"/>
         <source>Elevation Grid</source>
         <translation>Höhen Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2122"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2128"/>
         <source>Center Smoothing Weight</source>
         <translation>Glättungsgewichtung Mitte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2123"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2129"/>
         <source>Side Smoothing Weight</source>
         <translation>Seitenglättungsgewichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2124"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2130"/>
         <source>Diagonal Smoothing Weight</source>
         <translation>Diagonale Glättungsgewichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2125"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2131"/>
         <source>Stream Source Grid</source>
         <translation>Strom Quellennetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2126"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2132"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -17298,42 +17356,42 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PeukerDouglasMulti</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2130"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2136"/>
         <source>Peuker Douglas (multifile)</source>
         <translation>Peuker-Douglas (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2131"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2137"/>
         <source>Stream Network Analysis tools</source>
         <translation>Stromnetzwerkanalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2132"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2138"/>
         <source>Elevation Grid</source>
         <translation>Höhen Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2133"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2139"/>
         <source>Center Smoothing Weight</source>
         <translation>Glättungsgewichtung Mitte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2134"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2140"/>
         <source>Side Smoothing Weight</source>
         <translation>Seitenglättungsgewichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2135"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2141"/>
         <source>Diagonal Smoothing Weight</source>
         <translation>Diagonale Glättungsgewichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2136"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2142"/>
         <source>Stream Source Grid</source>
         <translation>Strom Quellennetz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2137"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2143"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -17341,57 +17399,57 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointDistance</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2142"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2148"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2143"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2149"/>
         <source>Linear (N*k x 3) distance matrix</source>
         <translation>Lineare (N*k x 3) Distanzmatrix</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2144"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2150"/>
         <source>Standard (N x T) distance matrix</source>
         <translation>Standard (N x T) Distanzmatrix</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2145"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2151"/>
         <source>Summary distance matrix (mean, std. dev., min, max)</source>
         <translation>Zusammenfassende Distanzmatrix (mtl, std.abw., min, max.)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2146"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2152"/>
         <source>Input point layer</source>
         <translation>Eingabepunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2147"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2153"/>
         <source>Input unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld der Eingabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2148"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2154"/>
         <source>Target point layer</source>
         <translation>Zielpunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2149"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2155"/>
         <source>Target unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld des Ziels</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2150"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2156"/>
         <source>Output matrix type</source>
         <translation>Typ der Ausgabematrix</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2151"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2157"/>
         <source>Use only the nearest (k) target points</source>
         <translation>Nur (k) nächste Zielpunkte verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2141"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2147"/>
         <source>Distance matrix</source>
         <translation>Distanzmatrix</translation>
     </message>
@@ -17399,27 +17457,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointOnSurface</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2155"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2161"/>
         <source>Point on surface</source>
         <translation>Punkt auf Oberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2156"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2162"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2157"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2163"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2158"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2164"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2159"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2165"/>
         <source>Error calculating point on surface</source>
         <translation>Fehler bei Berechnung des Punkts auf Oberfläche</translation>
     </message>
@@ -17427,32 +17485,32 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsDisplacement</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2164"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2170"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2165"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2171"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2166"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2172"/>
         <source>Displacement distance</source>
         <translation>Verlagerungsdistanz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2167"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2173"/>
         <source>Horizontal distribution for two point case</source>
         <translation>Horizontale Verteilung für Zweipunktefall</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2168"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2174"/>
         <source>Displaced</source>
         <translation>Versetzt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2163"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2169"/>
         <source>Points displacement</source>
         <translation>Punktversatz</translation>
     </message>
@@ -17460,27 +17518,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsFromLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2173"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2179"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2174"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2180"/>
         <source>Raster layer</source>
         <translation>Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2175"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2181"/>
         <source>Vector layer</source>
         <translation>Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2176"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2182"/>
         <source>Points along line</source>
         <translation>Punkte entlang Linie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2172"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2178"/>
         <source>Generate points (pixel centroids) along line</source>
         <translation>Punkte (Pixelzentren) entlang einer Linie erzeugen</translation>
     </message>
@@ -17488,27 +17546,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsFromPolygons</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2181"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2187"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2182"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2188"/>
         <source>Raster layer</source>
         <translation>Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2183"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2189"/>
         <source>Vector layer</source>
         <translation>Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2184"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2190"/>
         <source>Points from polygons</source>
         <translation>Punkte aus Polygonen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2180"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2186"/>
         <source>Generate points (pixel centroids) inside polygons</source>
         <translation>Punkte (Pixelzentren) in Polygonen erzeugen</translation>
     </message>
@@ -17516,32 +17574,32 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsInPolygon</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2189"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2195"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2190"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2196"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2191"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2197"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2192"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2198"/>
         <source>Count field name</source>
         <translation>Zählfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2193"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2199"/>
         <source>Count</source>
         <translation>Anzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2188"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2194"/>
         <source>Count points in polygon</source>
         <translation>Punkte in Polygon zählen</translation>
     </message>
@@ -17549,37 +17607,37 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsInPolygonUnique</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2198"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2204"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2199"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2205"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2200"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2206"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2201"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2207"/>
         <source>Class field</source>
         <translation>Klassenfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2202"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2208"/>
         <source>Count field name</source>
         <translation>Zählfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2203"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2209"/>
         <source>Unique count</source>
         <translation>Eindeutige Anzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2197"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2203"/>
         <source>Count unique points in polygon</source>
         <translation>Eindeutige Punkte in Polygon zählen</translation>
     </message>
@@ -17587,37 +17645,37 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsInPolygonWeighted</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2208"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2214"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2209"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2215"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2210"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2216"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2211"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2217"/>
         <source>Weight field</source>
         <translation>Gewichtungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2212"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2218"/>
         <source>Count field name</source>
         <translation>Zählfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2213"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2219"/>
         <source>Weighted count</source>
         <translation>Gewichtete Anzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2207"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2213"/>
         <source>Count points in polygon(weighted)</source>
         <translation>Punkte in Polygon zählen (gewichtet)</translation>
     </message>
@@ -17625,37 +17683,37 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsLayerFromTable</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2218"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2224"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2219"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2225"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2220"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2226"/>
         <source>X field</source>
         <translation>X-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2221"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2227"/>
         <source>Y field</source>
         <translation>Y-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2222"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2228"/>
         <source>Target CRS</source>
         <translation>Ziel KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2223"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2229"/>
         <source>Points from table</source>
         <translation>Punkte aus Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2217"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2223"/>
         <source>Points layer from table</source>
         <translation>Punktlayer aus Tabelle</translation>
     </message>
@@ -17663,42 +17721,42 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsToPaths</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2228"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2234"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2229"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2235"/>
         <source>Input point layer</source>
         <translation>Eingabepunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2230"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2236"/>
         <source>Group field</source>
         <translation>Gruppierungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2231"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2237"/>
         <source>Order field</source>
         <translation>Sortierungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2232"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2238"/>
         <source>Date format (if order field is DateTime)</source>
         <translation>Datumsformat (wenn Sortierungsfeld DateTime ist)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2233"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2239"/>
         <source>Paths</source>
         <translation>Pfade</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2234"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2240"/>
         <source>Directory</source>
         <translation>Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2227"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2233"/>
         <source>Points to path</source>
         <translation>Punkte zu Weg</translation>
     </message>
@@ -17706,27 +17764,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PolarPlot</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2239"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2245"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2240"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2246"/>
         <source>Input table</source>
         <translation>Tabelle eingeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2241"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2247"/>
         <source>Category name field</source>
         <translation>Kategorienamesfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2242"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2248"/>
         <source>Value field</source>
         <translation>Wertfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2238"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2244"/>
         <source>Polar plot</source>
         <translation>Polarplot</translation>
     </message>
@@ -17734,42 +17792,42 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PolyClipData</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2249"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2255"/>
         <source>Mask layer</source>
         <translation>Maskenlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2248"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2254"/>
         <source>Input LAS layer</source>
         <translation>Eingabe-LAS-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2246"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2252"/>
         <source>Poly Clip Data</source>
         <translation>Poly-Daten zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2247"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2253"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2250"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2256"/>
         <source>Output clipped LAS file</source>
         <translation>Zugeschnittene LAS-Datei ausgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2251"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2257"/>
         <source>Use Shape attribute</source>
         <translation>Shapeattribut nutzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2252"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2258"/>
         <source>Shape field index</source>
         <translation>Shapefeldindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2253"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2259"/>
         <source>Shape value</source>
         <translation>Shapewert</translation>
     </message>
@@ -17777,52 +17835,52 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>Polygonize</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2263"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2269"/>
         <source>Processing lines...</source>
         <translation>Verarbeite Linien...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2264"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2270"/>
         <source>Noding lines...</source>
         <translation>Bestimme Knoten in Linien...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2265"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2271"/>
         <source>Polygonizing...</source>
         <translation>Polygonisiert...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2266"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2272"/>
         <source>No polygons were created!</source>
         <translation>Es wurden keine Polygone erzeugt!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2258"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2264"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2259"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2265"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2260"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2266"/>
         <source>Keep table structure of line layer</source>
         <translation>Tabellenstruktur des Linienlayers beibehalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2261"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2267"/>
         <source>Create geometry columns</source>
         <translation>Geometriespalten erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2262"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2268"/>
         <source>Polygons from lines</source>
         <translation>Polygone aus Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2257"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2263"/>
         <source>Polygonize</source>
         <translation>Polygonbildung</translation>
     </message>
@@ -17830,22 +17888,22 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PolygonsToLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2271"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2277"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2272"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2278"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2273"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2279"/>
         <source>Lines from polygons</source>
         <translation>Linien aus Polygonen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2270"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2276"/>
         <source>Polygons to lines</source>
         <translation>Polygone zu Linien</translation>
     </message>
@@ -17853,24 +17911,24 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PostGISExecuteSQL</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2280"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2286"/>
         <source>Error executing SQL:
 %s</source>
         <translation>Fehler bei SQL-Ausführung:
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2278"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2284"/>
         <source>Database</source>
         <translation>Datenbank</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2279"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2285"/>
         <source>SQL query</source>
         <translation>SQL-Abfrage</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2277"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2283"/>
         <source>PostGIS execute SQL</source>
         <translation>PostGIS-SQL-Ausführen</translation>
     </message>
@@ -17878,7 +17936,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PostGisDBPlugin</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="487"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="490"/>
         <source>There is no defined database connection "%s".</source>
         <translation>Keine Datenbankverbindung "%s" definiert.</translation>
     </message>
@@ -17886,7 +17944,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>Postprocessing</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2284"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2290"/>
         <source>Loading resulting layers</source>
         <translation>Lade Ergebnis Layer</translation>
     </message>
@@ -17894,22 +17952,22 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PreconfiguredAlgorithmDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2288"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2294"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2289"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2295"/>
         <source>Unable to execute algorithm</source>
         <translation>Konnte Algorithmus nicht ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2290"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2296"/>
         <source><b>Missing parameter value: %s</b></source>
         <translation><b>Fehlender Parameterwert: %s</b></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2291"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2297"/>
         <source>Wrong or missing parameter values</source>
         <translation>Falsche oder fehlende Parameterwerte</translation>
     </message>
@@ -17917,7 +17975,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PreconfiguredAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2295"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2301"/>
         <source>Preconfigured algorithms</source>
         <translation>Vorkonfigurierte Algorithmen</translation>
     </message>
@@ -17938,75 +17996,75 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>Processing</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2299"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2305"/>
         <source>Could not load provider: %s
 %s</source>
         <translation>Konnte Datenanbieter nicht laden: %s
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2300"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2306"/>
         <source>Error: Algorithm {0} not found
 </source>
         <translation>Fehler: Algorithmus {0} nicht gefunden
 </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2301"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2307"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2302"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2308"/>
         <source>Error: Wrong parameter value {0} for parameter {1}.</source>
         <translation>Fehler: Falscher Wert {0} für Parameter {1}.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2303"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2309"/>
         <source>Error in %s. Wrong parameter value %s for parameter %s.</source>
         <translation>Fehler in %s. Falscher Parameterwert %s für Parameter %s.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2304"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2310"/>
         <source>Error: Missing parameter value for parameter {0}.</source>
         <translation>Fehler: Fehlender Wert für Parameter {0}.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2305"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2311"/>
         <source>Error in %s. Missing parameter value for parameter %s.</source>
         <translation>Fehler in %s. Fehlender Parameterwert for Parameter %s.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2306"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2312"/>
         <source>Error: Wrong number of parameters</source>
         <translation>Fehler: Falsche Parameteranzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2307"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2313"/>
         <source>Error: Wrong parameter value: </source>
         <translation>Fehler: Falscher Parameterwert:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2308"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2314"/>
         <source>Error: Wrong output value: </source>
         <translation>Fehler: Falscher Ausgabewert:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2309"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2315"/>
         <source>Unable to execute algorithm
 {0}</source>
         <translation>Kann Algorithmus nicht ausführen
 {0}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2310"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2316"/>
         <source>Warning: Not all input layers use the same CRS.
 This can cause unexpected results.</source>
         <translation>Warnung: Nicht alle Eingabelayer verwenden das gleiche KBS.
 Dies kann zu unerwarteten Ergebnissen führen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2311"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2317"/>
         <source>There were errors executing the algorithm.</source>
         <translation>Fehler bei der Ausführung des Algorithmus.</translation>
     </message>
@@ -18015,37 +18073,37 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
         <translation type="obsolete">Vekt&or</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2312"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2318"/>
         <source>&Analysis Tools</source>
         <translation>&Analyse-Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2313"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2319"/>
         <source>&Research Tools</source>
         <translation>&Forschungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2314"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2320"/>
         <source>&Geoprocessing Tools</source>
         <translation>&Geoverarbeitungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2315"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2321"/>
         <source>G&eometry Tools</source>
         <translation>G&eometrie-Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2316"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2322"/>
         <source>&Data Management Tools</source>
         <translation>&Datenmanagement-Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2317"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2323"/>
         <source>Missing dependency</source>
         <translation>Fehlende Abhängigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2318"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2324"/>
         <source><h3>Missing dependency. This algorithm cannot be run :-( </h3>
 %s</source>
         <translation><h3>Fehlende Abhängigkeiten. Dieser Algorithmus kann nicht ausgeführt werden :-( </h3>
@@ -18055,102 +18113,102 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
 <context>
     <name>ProcessingConfig</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2322"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2328"/>
         <source>General</source>
         <translation>Allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2323"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2329"/>
         <source>Show extra info in Log panel</source>
         <translation>Zeige Extrainformation im Log Panel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2324"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2330"/>
         <source>Keep dialog open after running an algorithm</source>
         <translation>Behalte Dialog nach Abschluss des Algorithmus offen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2325"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2331"/>
         <source>Use only selected features</source>
         <translation>Nur gewählte Objekte nutzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2326"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2332"/>
         <source>Use filename as layer name</source>
         <translation>Benutze Dateinamen als Layernamen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2327"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2333"/>
         <source>Show recently executed algorithms</source>
         <translation>Zeige zuletzt ausgeführte Algorithmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2328"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2334"/>
         <source>Show tooltip when there are disabled providers</source>
         <translation>Tooltip anzeigen, wenn es abgeschaltete Anbieter gibt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2329"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2335"/>
         <source>Output folder</source>
         <translation>Ausgabeverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2330"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2336"/>
         <source>Show layer CRS definition in selection boxes</source>
         <translation>Zeige Layer Koordinatensystem in Auswahlboxen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2331"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2337"/>
         <source>Warn before executing if layer CRS's do not match</source>
         <translation>Zeige Warnung wenn Layer Koordinatensysteme nicht übereinstimmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2332"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2338"/>
         <source>Warn before executing if extent CRS might not match layers CRS</source>
         <translation>Vor Ausführung warnen, wenn Grenz-KBS nicht mit den Layer-KBS übereinstimmen könnte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2333"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2339"/>
         <source>Style for raster layers</source>
         <translation>Stil für Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2334"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2340"/>
         <source>Style for point layers</source>
         <translation>Stil für Punktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2335"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2341"/>
         <source>Style for line layers</source>
         <translation>Stil für Linienlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2336"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2342"/>
         <source>Style for polygon layers</source>
         <translation>Stil für Polygonlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2337"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2343"/>
         <source>Pre-execution script</source>
         <translation>Skript zur Ausführung vor dem Run</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2338"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2344"/>
         <source>Post-execution script</source>
         <translation>Skript zur Ausführung nach dem Run</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2339"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2345"/>
         <source>Recent algs</source>
         <translation>Kürzliche verwendete Algorithmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2340"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2346"/>
         <source>Default output vector layer extension</source>
         <translation>Erweiterungsvoreingestellung für Vektorlayerausgaben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2341"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2347"/>
         <source>Default output raster layer extension</source>
         <translation>Erweiterungsvoreingestellung für Rasterlayerausgaben</translation>
     </message>
@@ -18158,7 +18216,7 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
 <context>
     <name>ProcessingLog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2345"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2351"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
@@ -18166,42 +18224,42 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
 <context>
     <name>ProcessingPlugin</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2349"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2355"/>
         <source>Pro&cessing</source>
         <translation>&Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2350"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2356"/>
         <source>&Toolbox</source>
         <translation>&Werkzeugkiste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2351"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2357"/>
         <source>Graphical &Modeler...</source>
         <translation>Grafische &Modellierung...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2352"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2358"/>
         <source>&History...</source>
         <translation>&Historie...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2353"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2359"/>
         <source>&Options...</source>
         <translation>&Optionen...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2354"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2360"/>
         <source>&Results Viewer...</source>
         <translation>&Ergebnisanzeige...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2355"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2361"/>
         <source>&Commander</source>
         <translation>&Commander</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2356"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2362"/>
         <source>Ctrl+Alt+D</source>
         <translation>Strg+Alt+D</translation>
     </message>
@@ -18214,62 +18272,62 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
     <name>ProcessingToolbox</name>
     <message>
         <location filename="../python/plugins/processing/ui/ProcessingToolbox.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2360"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2366"/>
         <source>Processing Toolbox</source>
         <translation>Verarbeitungswerkzeuge</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/ProcessingToolbox.ui" line="27"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2361"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2367"/>
         <source>Enter algorithm name to filter list</source>
         <translation>Algorithmenname eingeben, um Liste zu filtern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/ProcessingToolbox.ui" line="61"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2362"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2368"/>
         <source>There are disabled providers that contain algorithms including your text string. Click <a href="view">to view them.</a></source>
         <translation>Es gibt deaktivierte Anbieter, die passende Algorithmen enthalten (siehe <a href="view">Anzeige</a>)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/ProcessingToolbox.ui" line="84"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2363"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2369"/>
         <source><html><head/><body><p>You can add more algorithms to the toolbox, <a href="enable"><span style=" text-decoration: underline; color:#0000ff;">enable additional providers.</span></a>&nbsp;&nbsp;&nbsp;<a href="close"><span style=" text-decoration: underline; color:#0000ff;">[close]</span></a></p></body></html></source>
         <translation><html><head/><body><p>Durch <a href="enable"><span style=" text-decoration: underline; color:#0000ff;">Einschalten weiterer Anbieter</span> können der Werkzeugleiste mehr Algorithmen hinzugefügt werden.</a>&nbsp;&nbsp;&nbsp;<a href="close"><span style=" text-decoration: underline; color:#0000ff;">[schließen]</span></a></p></body>< [...]
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2364"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2370"/>
         <source>Search...</source>
         <translation>Suchen...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2365"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2371"/>
         <source>Execute</source>
         <translation>Ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2366"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2372"/>
         <source>Execute as batch process</source>
         <translation>Als Stapelprozeß ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2367"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2373"/>
         <source>Edit rendering styles for outputs</source>
         <translation>Darstellungsstile zur Ausgabe bearbeiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2368"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2374"/>
         <source>Error executing algorithm</source>
         <translation>Fehler bei Algorithmenausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2369"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2375"/>
         <source><h3>This algorithm cannot be run :-( </h3>
 %s</source>
         <translation><h3>Dieser Algorithmus kann nicht ausgeführt werden run :-( </h3>
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2370"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2376"/>
         <source>Recently used algorithms</source>
         <translation>Zuletzt verwendete Algorithmen</translation>
     </message>
@@ -18327,7 +18385,7 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
         <translation>Stacktrace</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2374"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2380"/>
         <location filename="../python/python-i18n.cpp" line="30"/>
         <source>View message log</source>
         <translation>Protokoll anzeigen</translation>
@@ -18802,7 +18860,7 @@ QGIS-API ist über iface zu benutzen. Geben Sie help(iface) ein, um mehr Informa
 <context>
     <name>QGISAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2378"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2384"/>
         <source>QGIS geoalgorithms</source>
         <translation>QGIS-Geo-Algorithmen</translation>
     </message>
@@ -18956,22 +19014,22 @@ QGIS-API ist über iface zu benutzen. Geben Sie help(iface) ein, um mehr Informa
         <translation>Schätze Normalenableitungen...</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11906"/>
+        <location filename="../src/app/qgisapp.cpp" line="11960"/>
         <source>minidump written to %1</source>
         <translation>Minidump in %1 geschrieben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11910"/>
+        <location filename="../src/app/qgisapp.cpp" line="11964"/>
         <source>writing of minidump to %1 failed (%2)</source>
         <translation>Speichern des Minidumps in %1 gescheitert (%2)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11917"/>
+        <location filename="../src/app/qgisapp.cpp" line="11971"/>
         <source>creation of minidump to %1 failed (%2)</source>
         <translation>Erzeugung des Minidump in %1 gescheitert (%2)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11920"/>
+        <location filename="../src/app/qgisapp.cpp" line="11974"/>
         <source>Crash dumped</source>
         <translation>Absturz abgebildet</translation>
     </message>
@@ -19497,8 +19555,8 @@ Fehler(%2): %3</translation>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="37"/>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="44"/>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="857"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="2013"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="2250"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="2014"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="2251"/>
         <location filename="../src/core/pal/feature.cpp" line="1623"/>
         <location filename="../src/core/pal/feature.cpp" line="1642"/>
         <location filename="../src/core/pal/feature.cpp" line="1672"/>
@@ -19520,10 +19578,10 @@ Fehler(%2): %3</translation>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="37"/>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="44"/>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="857"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1523"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1583"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="2013"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="2250"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1524"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1584"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="2014"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="2251"/>
         <location filename="../src/core/pal/feature.cpp" line="1623"/>
         <location filename="../src/core/pal/feature.cpp" line="1642"/>
         <location filename="../src/core/pal/feature.cpp" line="1672"/>
@@ -19542,12 +19600,12 @@ Fehler(%2): %3</translation>
         <translation>GEOS</translation>
     </message>
     <message>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1523"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1524"/>
         <source>Could not create coordinate sequence for %1 points in %2 dimensions</source>
         <translation>Konnte Koordinatensequenz für %1 Punkte mit %2 Dimension nicht erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1583"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1584"/>
         <source>Could not create coordinate sequence for point with %1 dimensions</source>
         <translation>Konnte Koordinatensystem für Punkt mit %1 Dimensionen nicht erzeugen</translation>
     </message>
@@ -19758,694 +19816,709 @@ Fehler(%2): %3</translation>
         <translation>Konnte Autentifizierungsmethodenerweiterung %1 nicht laden</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="197"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="204"/>
         <source>OGR driver for '%1' not found (OGR error: %2)</source>
         <translation>OGR-Treiber für '%1' nicht gefunden (OGR-Fehler: %2)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="231"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="238"/>
         <source>trimming attribute name '%1' to ten significant characters produces duplicate column name.</source>
         <translation>Kürzung des Attributnamens '%1' auf 10 signifikante Stellen führt zu doppelten Spaltennamen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="301"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="333"/>
         <source>creation of data source failed (OGR error:%1)</source>
         <translation>Erzeugung der Datenquelle gescheitert (OGR-Fehler: %1)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="394"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="463"/>
         <source>creation of layer failed (OGR error:%1)</source>
         <translation>Layererzeugung schlug fehl (OGR-Fehler: %1)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="496"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="581"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="376"/>
         <source>unsupported type for field %1</source>
         <translation>Feldtyp für %1 nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="549"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="632"/>
         <source>creation of field %1 failed (OGR error: %2)</source>
         <translation>Erzeugung des Felds %1 gescheitert (OGR-Fehler: %2)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="585"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="668"/>
         <source>created field %1 not found (OGR error: %2)</source>
         <translation>Erzeugtes Feld %1 nicht gefunden (OGR-Fehler: %2)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1957"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2052"/>
         <source>Invalid variant type for field %1[%2]: received %3 with type %4</source>
         <translation>Ungültiger Typ für Feld %1[%2]: %3 mit Typ %4 empfangen</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="526"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1962"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2020"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2031"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2047"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2080"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="74"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2000"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2507"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2524"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2572"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2598"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2667"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2673"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2691"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="609"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2057"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2115"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2126"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2142"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2176"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="76"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2064"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2571"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2588"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2636"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2662"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2731"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2737"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2755"/>
         <source>OGR</source>
         <translation>OGR</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="521"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="604"/>
         <source>no available replacement for internal fieldname ogc_fid found</source>
         <translation>Keinen verfügbaren Ersatz für den internen Feldnamen ogc_fid gefunden</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="526"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="609"/>
         <source>Reserved attribute name ogc_fid replaced with %1</source>
         <translation>Reservierten Attributnamen ogc_fid durch %1 ersetzt</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="653"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="748"/>
         <source>By default, BNA files are created in multi-line format. For each record, the first line contains the identifiers and the type/number of coordinates to follow. Each following line contains a pair of coordinates.</source>
         <translation>Voreingestellt ist, dass BNA-Dateien in mehrzeiligem Format erzeugt werden.  Jeder Datensatz enthält in der ersten Zeile die Bezeichner und den Typ/Anzahl der Koordinaten. Jede folgende Zeile enthält ein Koordinatenpaar.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2017"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2028"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2044"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2112"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2123"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2139"/>
         <source>Feature geometry not imported (OGR error: %1)</source>
         <translation>Objektgeometrie nicht importiert (OGR-Fehler: %1)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2078"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2174"/>
         <source>Feature creation error (OGR error: %1)</source>
         <translation>Objekterzeugungsfehler (OGR-Fehler: %1)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2363"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2517"/>
         <location filename="../src/core/qgsvectorlayerimport.cpp" line="377"/>
         <source>Failed to transform a point while drawing a feature with ID '%1'. Writing stopped. (Exception: %2)</source>
         <translation>Transformation eines Punkts schlug beim Zeichnen eines Objekts mit der ID '%1' fehl. Schreiben beendet (Ausnahme %2)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2388"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2542"/>
         <location filename="../src/core/qgsvectorlayerimport.cpp" line="328"/>
         <source>Feature write errors:</source>
         <translation>Objektschreibfehler:</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2398"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2552"/>
         <location filename="../src/core/qgsvectorlayerimport.cpp" line="355"/>
         <source>Stopping after %1 errors</source>
         <translation>Abbruch nach %1 Fehlern</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2421"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2777"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2575"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2931"/>
         <source>
 Only %1 of %2 features written.</source>
         <translation>
 Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="629"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2012"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="724"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2076"/>
         <source>Arc/Info ASCII Coverage</source>
         <translation>Arc/Info ASCII Coverage</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="694"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2017"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="789"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2081"/>
         <source>Atlas BNA</source>
         <translation>Atlas BNA</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2022"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2086"/>
         <source>Comma Separated Value</source>
         <translation>Komma-separierte Werte [CSV]</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="809"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="904"/>
         <source>ESRI Shapefile</source>
         <translation>ESRI-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="839"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2054"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2056"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="934"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2118"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2120"/>
         <source>FMEObjects Gateway</source>
         <translation>FMEObjects Gateway</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="158"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="165"/>
         <source>Empty filename given</source>
         <translation>Leerer Dateiname angegeben</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="642"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="336"/>
+        <source>opening of data source in update mode failed (OGR error:%1)</source>
+        <translation>Öffnen der Datenquelle im Aktualisierungsmodus fehlgeschlagen (OGR-Fehler: %1)</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="356"/>
+        <source>overwriting of existing layer failed (OGR error:%1)</source>
+        <translation>Überschreiben des vorhandenen Layers fehlgeschlagen (OGR-Fehler: %1)</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="466"/>
+        <source>opening of layer failed (OGR error:%1)</source>
+        <translation>Öffnen des Layer fehlgeschlagen (OGR-Fehler %1)</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="737"/>
         <source>New BNA files are created by the systems default line termination conventions. This may be overridden here.</source>
         <translation>Neue BNA-Dateien werden normalerweise mit systemüblichen Zeilenenden erzeugt. Dies kann hier geändert werden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="661"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="756"/>
         <source>BNA records may contain from 2 to 4 identifiers per record. Some software packages only support a precise number of identifiers. You can override the default value (2) by a precise value</source>
         <translation>BNA-Datensätze enthalten 2 bis 4 Bezeichner je Datensatz.  Einige Softwarepakete unterstützen nur eine bestimmte Bezeichneranzahl. Sie können hier die voreingestellte Anzahl (2) durch einen bestimmten Wert ersetzen</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="673"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="768"/>
         <source>The BNA writer will try to recognize ellipses and circles when writing a polygon. This will only work if the feature has previously been read from a BNA file. As some software packages do not support ellipses/circles in BNA data file, it may be useful to tell the writer by specifying ELLIPSES_AS_ELLIPSES=NO not to export them as such, but keep them as polygons.</source>
         <translation>Die BNA-Ausgabe versucht Ellipsen und Kreise beim Schreiben eines Polygons zu erkennen. Die funktioniert nur, wenn das Objekt vorher aus einer BNA-Datei gelesen wurde. Da mansche Software Ellipsen/Kreise in BNA-Dateien nicht unterstützt, kann es sinnvoll sein der Ausgabe über ELLIPSES_AS_ELLIPSES=NO mitzuteilen, dies nicht als solche zu schreiben, sondern als Polygone zu belassen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="682"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="777"/>
         <source>Limit the number of coordinate pairs per line in multiline format.</source>
         <translation>Die Anzahl der Koordinaten je Zeile im mehrzeiligen Format beschränken.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="687"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="782"/>
         <source>Set the number of decimal for coordinates. Default value is 10.</source>
         <translation>Die Anzahl der Nachkommastellen für Koordinaten. Voreinstellung 10.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="719"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="814"/>
         <source>By default, the geometry of a feature written to a .csv file is discarded. It is possible to export the geometry in its WKT representation by specifying GEOMETRY=AS_WKT. It is also possible to export point geometries into their X,Y,Z components by specifying GEOMETRY=AS_XYZ, GEOMETRY=AS_XY or GEOMETRY=AS_YX.</source>
         <translation>Die Geometrie eines Objekts wird normalerweise nicht ausgegeben.  Durch die Angabe von GEOMETRY_ASWKT ist es allerdings möglich eine WKT-Darstellung zu exportieren. Für Punkte kann man mit GEOMETRY=AS_XYZ, GEOMETRY=AS_XY or GEOMETRY=AS_YX kann man auch die einzelnen X,Y,Z-Komponenten ausgeben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="734"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="829"/>
         <source>Create the associated .csvt file to describe the type of each column of the layer and its optional width and precision.</source>
         <translation>Eine zugehörigte .csvt-Datei erzeugen, um die den Typ und ggf. Breite und Genauigkeit der Spalte anzugeben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="749"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="844"/>
         <source>Write a UTF-8 Byte Order Mark (BOM) at the start of the file.</source>
         <translation>UTF-8-Byte-Order-Mark (BOM) am Dateianfang schreiben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="756"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="851"/>
         <source>Comma Separated Value [CSV]</source>
         <translation>Komma-getrennte Werte [CSV]</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="769"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="864"/>
         <source>Override the type of shapefile created. Can be one of NULL for a simple .dbf file with no .shp file, POINT, ARC, POLYGON or MULTIPOINT for 2D, or POINTZ, ARCZ, POLYGONZ or MULTIPOINTZ for 3D. Shapefiles with measure values are not supported, nor are MULTIPATCH files.</source>
         <translation>Typ der Shapedatei ändern. Kann NULL für eine einfache DBF-Datei ohne .shp-Datei sein, POINT, ARC, POLYGON oder MULTIPOINT für 2D oder POINTZ, ARCZ, POLYGONZ oder MULTIPOINTZ für 3D.  Shapedateien mit Maßwerten oder MULTIPATCH-Dateien werden nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="792"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="887"/>
         <source>set the encoding value in the DBF file. The default value is LDID/87. It is not clear what other values may be appropriate.</source>
         <translation>DBF-Zeichenkodierung der DBF-Datei festlegen. Die Voreinstellung ist LDID/87. Es ist unklar welche anderen Werte geeignet sind.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="802"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="897"/>
         <source>Set to YES to resize fields to their optimal size.</source>
         <translation>Auf YES setzen, um die Felder auf ihre optimale Größe zu setzen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="824"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="919"/>
         <source>DBF File</source>
         <translation>DBF-Datei</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="852"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="947"/>
         <source>Set to YES to write a bbox property with the bounding box of the geometries at the feature and feature collection level.</source>
         <translation>Auf YES setzten, um die BBOX-Eigenschaft mit den Abmessungen der Geometrie auf Objekt- und Objektsammlungsebene zu setzen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="858"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="953"/>
         <source>Maximum number of figures after decimal separator to write in coordinates. Default to 15. Truncation will occur to remove trailing zeros.</source>
         <translation>Maximalzahl der zuschreibenden Nachkommastellen der Koordinaten. Voreingestellt ist 15. Schließende Nullen werden abgeschnitten.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="866"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2062"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="961"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2126"/>
         <source>GeoJSON</source>
         <translation>GeoJSON</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="880"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="975"/>
         <source>whether the document must be in RSS 2.0 or Atom 1.0 format. Default value : RSS</source>
         <translation>Ob das Dokument RSS 2.0- oder Atom 1.0-Format haben soll.  Voreingestellung: RSS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="889"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="984"/>
         <source>The encoding of location information. Default value : SIMPLE. W3C_GEO only supports point geometries. SIMPLE or W3C_GEO only support geometries in geographic WGS84 coordinates.</source>
         <translation>Die Kodierung der Positionsinformation. Voreinstellung: SIMPLE. W3C_GEO unterstützt nur Punktgeomtrie. SIMPLE oder W3C_GEO unterstützen nur Geometrien ins geographischen WGS84-Koordinaten.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="909"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1004"/>
         <source>If defined to NO, only <entry> or <item> elements will be written. The user will have to provide the appropriate header and footer of the document.</source>
         <translation>Wenn auf NO gesetzt werden nur <entry> oder <item>-Elemente geschrieben. Der Benutzer muß die passenden Kopf- und Fußzeilen des Dokuments bereitstellen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="915"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1010"/>
         <source>XML content that will be put between the <channel> element and the first <item> element for a RSS document, or between the xml tag and the first <entry> element for an Atom document. </source>
         <translation>XML-Inhalt der zwischen <channel>-Element und das erste <item>-Element des RSS-Dokuments bzw. zwischen das XML-Tag und das erste <entry>-Element des Atom-Dokuments gesetzt wird. </translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="922"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1017"/>
         <source>Value put inside the <title> element in the header. If not provided, a dummy value will be used as that element is compulsory.</source>
         <translation>Wert, der in das <title>-Element im Kopf gesetzt wird. Wenn nicht angegeben, wird ein Dummywert benutzt, da das Element zwingend ist.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="928"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1023"/>
         <source>Value put inside the <description> element in the header. If not provided, a dummy value will be used as that element is compulsory.</source>
         <translation>Wert der in das <description>-Element im Kopf gesetzt wird. Wenn nicht angegeben, wird ein Dummywert benutzt, da das Element zwingend ist.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="934"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1029"/>
         <source>Value put inside the <link> element in the header. If not provided, a dummy value will be used as that element is compulsory.</source>
         <translation>Wert der in das <link>-Element im Kopf gesetzt wird. Wenn nicht angegeben, wird ein Dummywert benutzt, da das Element zwingend ist.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="940"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1035"/>
         <source>Value put inside the <updated> element in the header. Should be formatted as a XML datetime. If not provided, a dummy value will be used as that element is compulsory.</source>
         <translation>Wert der in das <updated>-Element im Kopf gesetzt wird. Sollte als XML-datetime formatiert werden. Wenn nicht angegeben, wird ein Dummywert benutzt, da das Element zwingend ist.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="947"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1042"/>
         <source>Value put inside the <author><name> element in the header. If not provided, a dummy value will be used as that element is compulsory.</source>
         <translation>Wert, der in das <author><name>-Element im Kopf gesetzt wird. Wenn nicht angegeben, wird ein Dummywert benutzt, da das Element zwingend ist.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="953"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1048"/>
         <source>Value put inside the <id> element in the header. If not provided, a dummy value will be used as that element is compulsory.</source>
         <translation>Wert, der in das <id>-Element im Kopf gesetzt wird. Wenn nicht angegeben, wird ein Dummywert benutzt, da das Element zwingend ist.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="961"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2067"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1056"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2131"/>
         <source>GeoRSS</source>
         <translation>GeoRSS</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="975"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1070"/>
         <source>If provided, this URI will be inserted as the schema location. Note that the schema file isn't actually accessed by OGR, so it is up to the user to ensure it will match the schema of the OGR produced GML data file.</source>
         <translation>Wenn angegeben wird dies URI als Schemaort angegeben. Zu beachten ist, dass die Schemadatei nicht von OGR gelesen wird, daher obliegt es dem Benutzer sicherzustellen, dass es der durch OGR erzeugten GML-Datendatei entspricht.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="983"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1078"/>
         <source>This writes a GML application schema file to a corresponding .xsd file (with the same basename). If INTERNAL is used the schema is written within the GML file, but this is experimental and almost certainly not valid XML. OFF disables schema generation (and is implicit if XSISCHEMAURI is used).</source>
         <translation>Dies schreibt eine GML-Anwendungsschemadatei in die korrespondierende .xsd-Datei (mit dem gleichen Namensbasis). Wenn INTERNAL verwendet wird, wird das Schema in die GML-Datei geschrieben, aber dies ist experimentell und mit Sicherheit kein gültiges XML. OFF schaltet die Schemagenerierung ab (und wird implizit angenommen, wenn XSISCHEMAUIR verwendet wird).</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="996"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1091"/>
         <source>This is the prefix for the application target namespace.</source>
         <translation>Dies ist das Präfix für den Anwendungsszielnamensraum.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1001"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1096"/>
         <source>Can be set to TRUE to avoid writing the prefix of the application target namespace in the GML file.</source>
         <translation>Kann TRUE sein, um das Schreiben des Anwendungsnamensraumspräfix in die GML-Dateien zu vermeiden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1007"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1102"/>
         <source>Defaults to 'http://ogr.maptools.org/'. This is the application target namespace.</source>
         <translation>Voreinstellung: 'http://ogr.maptools.org/'. Dies ist der Anwendungszielnamensraum.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1013"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1108"/>
         <source>If not specified, GML2 will be used.</source>
         <translation>Wenn nicht angegeben, wird GML2 genutzt.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1023"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1118"/>
         <source>only valid when FORMAT=GML3/GML3Degree/GML3.2) Default to YES. If YES, SRS with EPSG authority will be written with the 'urn:ogc:def:crs:EPSG::' prefix. In the case, if the SRS is a geographic SRS without explicit AXIS order, but that the same SRS authority code imported with ImportFromEPSGA() should be treated as lat/long, then the function will take care of coordinate order swapping. If set to NO, SRS with EPSG authority will be written with the 'EPSG:&ap [...]
         <translation>nur gültig wenn FORMAT=GML3/GML3Degree/GML3.2). Voreingestellt ist YES. Wenn auf YES gesetzt, werden KBS mit EPSG-Autorität mit dem Präfix 'urn:ogc:def:crs:EPSG::' geschrieben. Wenn das KBS ein geographisches KBS mit expliziter Achsenreihenfolge ist, aber gleiche mit importFromEPSGA() importierte SRS-Autoritätscode als lat/long behandelt werden soll, sorgt die Funktion für den Koordinatentausch. Wenn auf NO gesetzt, werden KBS mit EPSG-Autorität mit dem &ap [...]
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1035"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1130"/>
         <source>only valid when FORMAT=GML3/GML3Degree/GML3.2) Default to YES. If set to NO, the <gml:boundedBy> element will not be written for each feature.</source>
         <translation>Nur gültig, wenn FORMAT=GML3/GML3Degree/GML3.2.  Voreingestellt YES.  Wenn auf NO gesetzt wird das Element <gml:boundedBy> nicht für jedes Objekt geschrieben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1042"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1137"/>
         <source>Default to YES. If YES, the output will be indented with spaces for more readability, but at the expense of file size.</source>
         <translation>Voreingestellt auf YES. Wenn YES, wird die Ausgabe zur besseren Lesbarkeit mit Leerzeichen auf Kosten der Dateigröße eingerückt.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1051"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2072"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1146"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2136"/>
         <source>Geography Markup Language [GML]</source>
         <translation>Geography Markup Language [GML]</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1065"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1160"/>
         <source>Human-readable identifier (e.g. short name) for the layer content</source>
         <translation>Für Menschen lesbare Kennnung (z.B. Kurzname) für den Layerinhalt</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1070"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1165"/>
         <source>Human-readable description for the layer content</source>
         <translation>Für Menschen lesbare Beschreibung des Layerinhalts</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1075"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1170"/>
         <source>Name for the feature identifier column</source>
         <translation>Name für die Objektkennungspalte</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1080"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1175"/>
         <source>Name for the geometry column</source>
         <translation>Name für die Geometriespalte</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1086"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1181"/>
         <source>If a spatial index must be created.</source>
         <translation>Ob ein räumlicher Index erzeugt werden muß.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1110"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2077"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1205"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2141"/>
         <source>Generic Mapping Tools [GMT]</source>
         <translation>Generic Mapping Tools [GMT]</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1123"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1218"/>
         <source>By default when writing a layer whose features are of type wkbLineString, the GPX driver chooses to write them as routes. If FORCE_GPX_TRACK=YES is specified, they will be written as tracks.</source>
         <translation>Für das Schreiben von Layern mit Objekten vom Typ wkbLineString ist für den GPX-Treiber die Ausgabe als Routen voreingestellt. Wenn FORCE_GPX_TRACK=YES angegeben ist, werden sie als Spuren geschrieben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1131"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1226"/>
         <source>By default when writing a layer whose features are of type wkbMultiLineString, the GPX driver chooses to write them as tracks. If FORCE_GPX_ROUTE=YES is specified, they will be written as routes, provided that the multilines are composed of only one single line.</source>
         <translation>Für das Schreiben von Layern mit Objekten vom Typ wkbMultiLineString ist für den GPX-Treiber die Ausgabe als Spuren voreingestellt. Wenn FORCE_GPX_ROUTE=YES angegeben ist, werden sie als Routen geschrieben, vorausgesetzt sie bestehen aus einer einzigen Linie.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1140"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1235"/>
         <source>If GPX_USE_EXTENSIONS=YES is specified, extra fields will be written inside the <extensions> tag.</source>
         <translation>Wenn GPS_USE_EXTENSIONS=YES angegeben ist, werden zusätztliche Felder in das <extension>-Tag geschrieben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1146"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1241"/>
         <source>Only used if GPX_USE_EXTENSIONS=YES and GPX_EXTENSIONS_NS_URL is set. The namespace value used for extension tags. By default, 'ogr'.</source>
         <translation>Nur genutzt, wenn GPX_USE_EXTENSIONS=YES und GPX_EXTENSIONS_NS_URI gesetzt ist, Der für Extentiontags genutzte Namensraumwert. Voreingestellt: 'ogr'.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1152"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1247"/>
         <source>Only used if GPX_USE_EXTENSIONS=YES and GPX_EXTENSIONS_NS is set. The namespace URI. By default, 'http://osgeo.org/gdal'.</source>
         <translation>Nur genutzt, wenn GPX_USE_EXTENSIONS=YES und GPX_EXTENSIONS_NS gesetzt ist, Die Namensraum-URI. Voreingestellt: 'http://osgeo.org/gdal'.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1158"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1253"/>
         <source>By default files are created with the line termination conventions of the local platform (CR/LF on win32 or LF on all other systems). This may be overridden through use of the LINEFORMAT layer creation option which may have a value of CRLF (DOS format) or LF (Unix format).</source>
         <translation>Wenn neue Dateien erzeugt werden, werden diese normalerweise mit den Zeilenendekonvention der lokalen Plattform geschrieben (CR/LF unter Windows oder LF auf anderen Systemen). Dies kann mit der LINEFORMAT-Layererzeugungsoptionen festgelegt werden, der den Wert CRLF (DOS-Format) oder LF (Unix-Format) haben kann.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1173"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2082"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1268"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2146"/>
         <source>GPS eXchange Format [GPX]</source>
         <translation>GPS-Austauschformat [GPX]</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1189"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2100"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1284"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2164"/>
         <source>INTERLIS 1</source>
         <translation>INTERLIS 1</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1204"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2105"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1299"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2169"/>
         <source>INTERLIS 2</source>
         <translation>INTERLIS 2</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1217"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1312"/>
         <source>Allows you to specify the field to use for the KML <name> element. </source>
         <translation>Erlaubt die Angabe des Felds zur Verwendung als KML-Element <name>. </translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1222"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1317"/>
         <source>Allows you to specify the field to use for the KML <description> element.</source>
         <translation>Erlaubt die Angabe des Felds zur Verwendung als KML-Element <description>. </translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1227"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1322"/>
         <source>Allows you to specify the AltitudeMode to use for KML geometries. This will only affect 3D geometries and must be one of the valid KML options.</source>
         <translation>Erlaubt die Angebe des AltitudeMode für KML-Geometrien. Dies wirkt sich nur auf 3D-Geometrien aus und muss einer gültige KML-Einstellung entsprechen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1239"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2114"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1334"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2178"/>
         <source>Keyhole Markup Language [KML]</source>
         <translation>Keyhole Markup Language [KML]</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1253"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1348"/>
         <source>Use this to turn on 'quick spatial index mode'. In this mode writing files can be about 5 times faster, but spatial queries can be up to 30 times slower.</source>
         <translation>Zum Einschalten des schnellen räumlichen Indizierungsmodus. In diesem Modus werden die Dateien etwa fünfmal schneller geschrieben, aber räumliche Abfragen können dreizigmal langsamer sein.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1265"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1360"/>
         <source>Mapinfo TAB</source>
         <translation>Mapinfo-TAB</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1277"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1372"/>
         <source>Mapinfo MIF</source>
         <translation>Mapinfo-MIF</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1290"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1385"/>
         <source>Determine whether 2D (seed_2d.dgn) or 3D (seed_3d.dgn) seed file should be used. This option is ignored if the SEED option is provided.</source>
         <translation>Legt fest, ob die 2D- (seed_2d.dgn) oder 3D-Vorlagedatei (seed_3d.dgn) benutzt werden soll. Diese Option wird ignoriert, wenn die SEED-Option angegeben ist.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1296"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1391"/>
         <source>Override the seed file to use.</source>
         <translation>Zu verwendende Vorlagendatei vorgeben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1301"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1396"/>
         <source>Indicate whether the whole seed file should be copied. If not, only the first three elements will be copied.</source>
         <translation>Festlegen, ob die ganze Vorlagendatei kopiert werden soll. Wenn nicht werden nur die ersten drei Element kopiert.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1307"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1402"/>
         <source>Indicates whether the color table should be copied from the seed file.</source>
         <translation>Gibt an, ob die Farbtabelle aus der Vorlagendatei kopiert werden soll.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1312"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1407"/>
         <source>Override the master unit name from the seed file with the provided one or two character unit name.</source>
         <translation>Haupteinheitennamen aus der Vorlagendatei mit den angegebenen ein- oder zweistelligen Einheitenname überschreiben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1318"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1413"/>
         <source>Override the sub unit name from the seed file with the provided one or two character unit name.</source>
         <translation>Untereinheitennamen aus der Vorlagendatei mit den angegebenen ein- oder zweistelligen Einheitenname überschreiben.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1324"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1419"/>
         <source>Override the number of subunits per master unit. By default the seed file value is used.</source>
         <translation>Anzahl der Untereinheiten pro Haupteinheit. Voreingestellt wird der Wert der Vorlagendatei verwendet.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1330"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1425"/>
         <source>Override the number of UORs (Units of Resolution) per sub unit. By default the seed file value is used.</source>
         <translation>Anzahl der UORs (Auflösungseinheiten) pro Untereinheit überschreiben. Voreingestellt wird der Wert aus der Vorlagedatei verwendet.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1336"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1431"/>
         <source>ORIGIN=x,y,z: Override the origin of the design plane. By default the origin from the seed file is used.</source>
         <translation>ORIGIN=x,y,z: Ursprung der Entwurfsebene überschreiben. Voreingestellt wird der Ursprung aus der Vorlagedatei verwendet.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1344"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2124"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1439"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2188"/>
         <source>Microstation DGN</source>
         <translation>Microstation DGN</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1357"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1452"/>
         <source>Should update files be incorporated into the base data on the fly. </source>
         <translation>Sollen Aktualisierungsdateien unmittelbar in die Basisdaten integriert werden. </translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1373"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1468"/>
         <source>Should a DEPTH attribute be added on SOUNDG features and assign the depth of the sounding. This should only be enabled with SPLIT_MULTIPOINT is also enabled.</source>
         <translation>Soll ein DEPTH-Attribut den SOUNDG-Objekten hinzugefügt und die Tiefe der Peilung zugewiesen werden? Dies sollte nur eingeschaltet werden, wenn SPLIT_MULTIPOINT auch eingeschaltet ist.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1380"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1475"/>
         <source>Should all the low level geometry primitives be returned as special IsolatedNode, ConnectedNode, Edge and Face layers.</source>
         <translation>Sollten alle primitiven Geometrien als spezielle IsolatedNode-, ConnectedNode-, Edge- oder Face-Layer zurückgegeben werden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1386"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1481"/>
         <source>If enabled, numeric attributes assigned an empty string as a value will be preserved as a special numeric value. This option should not generally be needed, but may be useful when translated S-57 to S-57 losslessly.</source>
         <translation>Wenn aktiviert werden numerischen Attributen, die eine leere Zeichenkette enthalten, als spezielle numerische Werte erhalten. Diese Option sollte nicht grundsätzlich notwendig sein, kann aber sinnvoll sein, wenn S-57 in S-57 verlustfrei übersetzt wird.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1393"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1488"/>
         <source>Should LNAM and LNAM_REFS fields be attached to features capturing the feature to feature relationships in the FFPT group of the S-57 file.</source>
         <translation>Sollen den Objekten LNMA- und LNAM_REFS-Felder zugeordnet werden, die die Beziehungen in der FFPT-Gruppe der S-57-Datei abbilden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1399"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1494"/>
         <source>Should additional attributes relating features to their underlying geometric primitives be attached. These are the values of the FSPT group, and are primarily needed when doing S-57 to S-57 translations.</source>
         <translation>Sollten zusätzliche Attribute hinzugefügt werden, die die Objekt mit den darunterliegenden Geometrieprimitiven in Beziehung bringen. Dies sind die Werte der FSPT-Gruppe und werden hauptsächlich für die S-57 nach S-57 Übersetzung benötigt.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1406"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1501"/>
         <source>Should attribute values be recoded to UTF-8 from the character encoding specified in the S57 DSSI record.</source>
         <translation>Sollten Attributwerte von der im S57-DSSI-Datensatz angegebenen Kodierung in UTF-8 umkodiert werden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1416"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2157"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1511"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2221"/>
         <source>S-57 Base file</source>
         <translation>S-57 Base-Datei</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1431"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2163"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1526"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2227"/>
         <source>Spatial Data Transfer Standard [SDTS]</source>
         <translation>Spatial Data Transfer Standard [SDTS]</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1444"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1519"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1539"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1614"/>
         <source>Can be used to avoid creating the geometry_columns and spatial_ref_sys tables in a new database. By default these metadata tables are created when a new database is created.</source>
         <translation>Kann verwendet werden, um die Erzeugung Tabellen geometry_columns und spatial_ref_sys in der neuen Datenbank zu vermeiden. Normalerweise werden diese Tabellen in einer neuen Datenbank immer erstellt.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1461"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1556"/>
         <source>Controls the format used for the geometry column. Defaults to WKB.This is generally more space and processing efficient, but harder to inspect or use in simple applications than WKT (Well Known Text).</source>
         <translation>Steuert das Format der Geometriespalten. Voreingestellt ist WKB. Diese ist grundsätzlich platz- und verarbeitungseffizient, aber schwerer als WKT (Well-Known-Text) zu lesen und in einfachen Anwendungen zu verwenden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1490"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1572"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1585"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1667"/>
         <source>column_name1[,column_name2, ...] A list of (String) columns that must be compressed with ZLib DEFLATE algorithm. This might be beneficial for databases that have big string blobs. However, use with care, since the value of such columns will be seen as compressed binary content with other SQLite utilities (or previous OGR versions). With OGR, when inserting, modifying or queryings compressed columns, compression/decompression is done transparently. However, such columns ca [...]
         <translation>column_name1[,column_name2, ...] Eine Liste von (Zeichenketten-)Spalten, die mit dem Zlib-DEFLATE-Algorithmus komprimiert werden müssen.  Dies kann bei Datenbanken mit langen Zeichenkette nützlich sein. Ist jedoch mit Sorgfalt zu verwenden, da solche Splaten in anderen SQLite-Werkzeugen (oder älteren OGR-Version) als komprimierten Binärdaten dargestellt werden. 'Mit OGR wird die (De-)Kompression beim Einfügen, Ändern und Abfragen der Spalten transparent vorgenom [...]
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="707"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="802"/>
         <source>By default when creating new .csv files they are created with the line termination conventions of the local platform (CR/LF on Win32 or LF on all other systems). This may be overridden through the use of the LINEFORMAT option.</source>
         <translation>Wenn neue Dateien erzeugt werden, werden diese normalerweise mit den Zeilenendekonvention der lokalen Plattform geschrieben (CR/LF unter Windows oder LF auf anderen Systemen). Dies kann mit der LINEFORMAT-Layererzeugungsoptionen geändert werden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="740"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="835"/>
         <source>Field separator character.</source>
         <translation>Feldtrennzeichen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="900"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="995"/>
         <source>If defined to YES, extension fields will be written. If the field name not found in the base schema matches the foo_bar pattern, foo will be considered as the namespace of the element, and a <foo:bar> element will be written. Otherwise, elements will be written in the <ogr:> namespace.</source>
         <translation>Wenn auf YES gesetzt, werten Erweiterungsfelder geschrieben. Wenn der im Grundschema nicht vorhandene Feldname dem foo_bar-Muster entspricht, wird foo als Namensraum des Elements angesehen und eine Element <foo:bar> geschrieben. Anderenfalls werden die Element in den <ogr:>-Namensraum gelegt.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1365"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1460"/>
         <source>Should multipoint soundings be split into many single point sounding features. Multipoint geometries are not well handled by many formats, so it can be convenient to split single sounding features with many points into many single point features.</source>
         <translation>Ob Mehrpunktpeilungs- in Einzelpunktpeilungsobjekte geteilt werden sollen. Mehrpunktgeometrien werden in vielen Formaten nicht gut unterstützt, daher kann es bequem sein die Einzelpeilungsobjekt mit vielen Punkt in viele Einzelpunktobjekte zu teilen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1471"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1540"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1566"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1635"/>
         <source>Controls whether layer and field names will be laundered for easier use in SQLite. Laundered names will be converted to lower case and some special characters(' - #) will be changed to underscores.</source>
         <translation>Steuert ob Layer- und Feldnamen für die einfachere Verwendung in SQLite bereinigt werden sollen.  Bereinigte Feldnamen werden in Kleinschreibung umgewandelt und einige Sonderzeichen (' - #) werden in Unterstriche geändert.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1505"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1600"/>
         <source>SQLite</source>
         <translation>SQLite</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1530"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1625"/>
         <source>Insert the content of the EPSG CSV files into the spatial_ref_sys table. Set to NO for regular SQLite databases.</source>
         <translation>Den Inhalt der EPSG-CSV-Dateien in die Tabelle spatial_ref_sys einfügen. Für normale SQLite-Datenbanken auf NO setzen.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1547"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1642"/>
         <source>If the database is of the SpatiaLite flavour, and if OGR is linked against libspatialite, this option can be used to control if a spatial index must be created.</source>
         <translation>Wenn es sich um eine SpatiaLite-Datenbank handelt und OGR gegen libspatialite gelinkt ist, kann diese Option verwendet werden, um zu steuern ob ein räumlicher Index erzeugt werden muß.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1554"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1649"/>
         <source>If the format of the geometry BLOB is of the SpatiaLite flavour, this option can be used to control if the compressed format for geometries (LINESTRINGs, POLYGONs) must be used</source>
         <translation>Wenn das Geometrieformat SpatiaLite ist, kann diese Option verwendet werden, um das Kompressionsformat für Geometrien (LINESTRINGs, POLYGONe) zu steuern</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1561"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1656"/>
         <source>Used to force the SRID number of the SRS associated with the layer. When this option isn't specified and that a SRS is associated with the layer, a search is made in the spatial_ref_sys to find a match for the SRS, and, if there is no match, a new entry is inserted for the SRS in the spatial_ref_sys table. When the SRID option is specified, this search (and the eventual insertion of a new entry) will not be done: the specified SRID is used as such.</source>
         <translation>Wird benutzt, um die SRID des dem Layer zugeordneten KBS festzulegen. Wenn diese Option nicht angegeben ist und dem Layer ein KBS zugeordnet ist, wird eine Suche in spatial_ref_sys nach dem KBS durchgeführt und das KBS in spatial_ref_sys eingefügt, wenn es keinen Treffer gibt.  Wenn die SRID-Option angegeben ist, wird diese Suche (und ggf. die Erzeugung eines neuen Eintrags) nicht durchgeführt und die SRID direkt verwendet.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1587"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1682"/>
         <location filename="../src/providers/spatialite/qgsspatialitefeatureiterator.cpp" line="331"/>
         <location filename="../src/providers/spatialite/qgsspatialitefeatureiterator.cpp" line="458"/>
         <source>SpatiaLite</source>
         <translation>SpatiaLite</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1601"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1696"/>
         <source>Override the header file used - in place of header.dxf.</source>
         <translation>Anderen Dateikopf statt header.dxf verwenden. </translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1606"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1701"/>
         <source>Override the trailer file used - in place of trailer.dxf.</source>
         <translation>Anderen Dateifuß statt trailer.dxf verwenden. </translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1614"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2209"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1709"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2273"/>
         <source>AutoCAD DXF</source>
         <translation>AutoCAD DXF</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1627"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1722"/>
         <source>Indicates the GeoConcept export file extension. TXT was used by earlier releases of GeoConcept. GXT is currently used.</source>
         <translation>Legt die GeoConcept-Exportdateierweiterung fest. TXT wurde für frühere GeoConcept-Versionen verwendet. GXT wird derzeit verwendet.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1637"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1732"/>
         <source>path to the GCT : the GCT file describe the GeoConcept types definitions: In this file, every line must start with //# followed by a keyword. Lines starting with // are comments.</source>
         <translation>Pfad zu GCT : die GCT-Datei beschreit die GeoConcept-Typdefinitionen: In dieser Datei muß jede Zeile mit //# gefolgt von einem Schlüsselwort beginnen. Zeilen die mit // beginnen sind Kommentare.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1647"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2204"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1742"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2268"/>
         <source>Geoconcept</source>
         <translation>Geoconcept</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1660"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1755"/>
         <source>When this option is set, the new layer will be created inside the named FeatureDataset folder. If the folder does not already exist, it will be created.</source>
         <translation>Wenn die Option gesetzt ist, wird der neue Layer innerhalb des angegebenen FeatureDataset-Verzeichnis erzeugt. Wenn das Verzeichnis nicht vorhanden ist, wird es angelegt.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1666"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1761"/>
         <source>Set name of geometry column in new layer. Defaults to 'SHAPE'.</source>
         <translation>Name der Geometriespalte des neuen Layers. Voreingestellt: 'SHAPE'.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1671"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1766"/>
         <source>Name of the OID column to create. Defaults to 'OBJECTID'.</source>
         <translation>Name der anzulegenden OID-Spalte. Voreingestellt 'OBJECTID'.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1678"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2035"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1773"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2099"/>
         <source>ESRI FileGDB</source>
         <translation>ESRI-FileGDB</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1692"/>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1718"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1787"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1813"/>
         <source>By default, the driver will try to detect the data type of fields. If set to STRING, all fields will be of String type.</source>
         <translation>Normalerweise versucht der Treiber die Datentyp festzustellen.  STRING bewirkt, dass alle Felder Zeichenketten sind.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2222"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2370"/>
         <source>Cannot overwrite a OGR layer in place</source>
         <translation>Kann OGR-Layer nicht mit sich selbst überschreiben</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2683"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="2837"/>
         <source>Failed to transform, writing stopped. (Exception: %1)</source>
         <translation>Transformation fehlgeschlagen, Schreiben gestoppt. (Ausnahme %1)</translation>
     </message>
@@ -21140,7 +21213,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2202"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2332"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2396"/>
         <source>GDAL/OGR VSIFileHandler</source>
         <translation>GDAL/OGR-VSI-Dateihandler</translation>
     </message>
@@ -21331,300 +21404,321 @@ stderr: %4</translation>
     <message>
         <location filename="../src/providers/db2/qgsdb2provider.cpp" line="1452"/>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="1883"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2938"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3755"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2975"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3771"/>
         <source>Unsupported type for field %1</source>
         <translation>Nicht unterstützter Typ für Feld %1</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="1897"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2957"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3775"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2994"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3791"/>
         <source>Creation of fields failed</source>
         <translation>Erzeugung der Felder gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="74"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="76"/>
         <source>OGR[%1] error %2: %3</source>
         <translation>OGR[%1] Fehler %2: %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="251"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="253"/>
         <source>Unable to create the datasource. %1 exists and overwrite flag is false.</source>
         <translation>Konnte die Datenquelle nicht erzeugen. %1 bereits vorhanden und Überschreiben ist aus.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2000"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2064"/>
         <source>Unable to get driver %1</source>
         <translation>Konnte Treiber %1 nicht laden</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2008"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2072"/>
         <source>Arc/Info Binary Coverage</source>
         <translation>Arc/Info-Binär-Coverage</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2025"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2089"/>
         <source>DODS</source>
         <translation>DODS</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2029"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2093"/>
         <source>CouchDB</source>
         <translation>CouchDB</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2149"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2213"/>
         <source>OpenFileGDB</source>
         <translation>OpenFileGDB</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2039"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2041"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2103"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2105"/>
         <source>ESRI Personal GeoDatabase</source>
         <translation>ESRI-Personal-GeoDatabase</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2047"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2111"/>
         <source>ESRI ArcSDE</source>
         <translation>ESRI-ArcSDE</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2051"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2115"/>
         <source>ESRI Shapefiles</source>
         <translation>ESRI-Shapedateien</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1094"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2087"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1189"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2151"/>
         <source>GeoPackage</source>
         <translation>GeoPackage</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2092"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2156"/>
         <source>Grass Vector</source>
         <translation>GRASS-Vektor</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2096"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2160"/>
         <source>Informix DataBlade</source>
         <translation>Informix-DataBlade</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2110"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2174"/>
         <source>Ingres</source>
         <translation>Ingres</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2119"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2183"/>
         <source>Mapinfo File</source>
         <translation>Mapinfo-Datei</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2129"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2193"/>
         <source>MySQL</source>
         <translation>MySQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2133"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2197"/>
         <source>MSSQL</source>
         <translation>MSSQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2137"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2201"/>
         <source>Oracle Spatial</source>
         <translation>Oracle Spatial</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2141"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2205"/>
         <source>ODBC</source>
         <translation>ODBC</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2145"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2209"/>
         <source>OGDI Vectors</source>
         <translation>OGDI-Vektoren</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2153"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2217"/>
         <source>PostgreSQL</source>
         <translation>PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2169"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2233"/>
         <source>Systematic Organization of Spatial Information [SOSI]</source>
         <translation>Systematic Organization of Spatial Information [SOSI]</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2174"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2238"/>
         <source>SQLite/SpatiaLite</source>
         <translation>SQLite/SpatiaLite</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2179"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2243"/>
         <source>Storage and eXchange Format</source>
         <translation>Storage and eXchange Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2184"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2248"/>
         <source>UK. NTF2</source>
         <translation>UK. NTF2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2188"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2252"/>
         <source>U.S. Census TIGER/Line</source>
         <translation>U.S. Census TIGER/Line</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2192"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2256"/>
         <source>VRT - Virtual Datasource</source>
         <translation>VRT - Virtuelle Datenquellen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2198"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2262"/>
         <source>X-Plane/Flightgear</source>
         <translation>X-Plane/Flightgear</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1730"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2214"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1825"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2278"/>
         <source>Open Document Spreadsheet</source>
         <translation>Open-Dokument-Tabelle</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1704"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2219"/>
+        <location filename="../src/core/qgsvectorfilewriter.cpp" line="1799"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2283"/>
         <source>MS Office Open XML spreadsheet</source>
         <translation>MS-Office-Open-XML-Tabelle</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2224"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2288"/>
         <source>MS Excel format</source>
         <translation>MS-Excel-Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2229"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2293"/>
         <source>EDIGEO</source>
         <translation>EDIGEO</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2234"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2298"/>
         <source>NAS - ALKIS</source>
         <translation>NAS - ALKIS</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2239"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2303"/>
         <source>WAsP</source>
         <translation>WAsP</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2244"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2308"/>
         <source>PCI Geomatics Database File</source>
         <translation>PCI Geomatics-Datenbankdatei</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2249"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2313"/>
         <source>GPSTrackMaker</source>
         <translation>GPSTrackMaker</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2254"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2318"/>
         <source>Czech Cadastral Exchange Data Format</source>
         <translation>Tschechische Katasteraustauschdatenformat</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2259"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2323"/>
         <source>OpenStreetMap</source>
         <translation>OpenStreetMap</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2264"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2328"/>
         <source>Special Use Airspace Format</source>
         <translation>Special Use Airspace-Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2269"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2333"/>
         <source>OpenAir Special Use Airspace Format</source>
         <translation>OpenAir Special Use Airspace-Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2274"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2338"/>
         <source>Planetary Data Systems TABLE</source>
         <translation>Planetary Data Systems TABLE</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2279"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2343"/>
         <source>Hydrographic Transfer Format</source>
         <translation>Hydrographisches Transfer-Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2284"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2348"/>
         <source>Scalable Vector Graphics</source>
         <translation>Skalierbare Vektorgrafik</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2289"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2353"/>
         <source>Arc/Info Generate</source>
         <translation>Arc/Info Generate</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2294"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2358"/>
         <source>Geospatial PDF</source>
         <translation>Geospatial-PDF</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2299"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2363"/>
         <source>SEG-Y</source>
         <translation>SEG-Y</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2304"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2368"/>
         <source>SEG-P1</source>
         <translation>SEG-P1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2305"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2369"/>
         <source>UKOOA P1/90</source>
         <translation>UKOOA P1/90</translation>
     </message>
     <message>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3869"/>
+        <source>Error updating style</source>
+        <translation>Fehler bei Stilaktualisierung</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3889"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4042"/>
+        <source>Cannot find layer_styles layer</source>
+        <translation>Layer layer_styles nicht gefunden</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4051"/>
+        <source>Invalid style identifier</source>
+        <translation>Ungültige Stilkennung</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4059"/>
+        <source>No style corresponding to style identifier</source>
+        <translation>Kein zur Stilkennung passender Stil gefunden</translation>
+    </message>
+    <message>
         <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2208"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2339"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2403"/>
         <source>All files</source>
         <translation>Alle Dateien</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2507"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2571"/>
         <source>Duplicate field (10 significant characters): %1</source>
         <translation>Doppeltes Feld (10 signifikante Zeichen): %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2524"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2588"/>
         <source>Creating the data source %1 failed: %2</source>
         <translation>Erzeugung der Datenquelle %1 gescheitert: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2572"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2636"/>
         <source>Unknown vector type of %1</source>
         <translation>Unbekannter Vektortyp %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2598"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2662"/>
         <source>Creation of OGR data source %1 failed: %2</source>
         <translation>Erzeugung der OGR-Datenquelle %1 gescheitert: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2667"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2731"/>
         <source>field %1 with unsupported type %2 skipped</source>
         <translation>Feld %1 wegen nicht unterstütztem Typ %2 übersprungen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2673"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2737"/>
         <source>creation of field %1 failed</source>
         <translation>Erzeugung des Feld %1 gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2691"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2755"/>
         <source>Couldn't create file %1.qpj</source>
         <translation>Konnte Datei %1.qpj nicht erzeugen</translation>
     </message>
@@ -21645,152 +21739,153 @@ Fehler:%2</translation>
         <translation>Oracle</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2627"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3117"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3523"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3933"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3999"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4030"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4176"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3618"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2664"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3154"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3536"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3949"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4015"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4046"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4192"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="135"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5195"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5269"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5454"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5505"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5613"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5194"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5268"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5453"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5504"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5612"/>
         <source>Connection to database failed</source>
         <translation>Verbindung zur Datenbank schlug fehl</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2639"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2676"/>
         <source>No owner name found</source>
         <translation>Kein Besitzername gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2826"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3676"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2863"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3692"/>
         <source>Creation of data source %1 failed: 
 %2</source>
         <translation>Erzeugung der Datenquelle %1 gescheitert: 
 %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2860"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3694"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2897"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3710"/>
         <source>Loading of the layer %1 failed</source>
         <translation>Laden des Layers %1 gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2902"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2939"/>
         <source>Field name clash found (%1 not remappable)</source>
         <translation>Feldnamenkonflikt gefunden (%1 nicht abbildbar)</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3123"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3160"/>
         <source>%1 not owner of the table %2.</source>
         <translation>%1 nicht Besitzer der Tabelle %2.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3139"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3176"/>
         <source>Unable to determine number of geometry columns of layer %1.%2: 
 %3</source>
         <translation>Konnte die Geometriespaltenanzahl des Layer %1.%2 nicht feststellen: 
 %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3172"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3209"/>
         <source>Unable to delete layer %1.%2: 
 %3</source>
         <translation>Konnte Layer %1.%2 nicht löschen: 
 %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3182"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3219"/>
         <source>Unable to clean metadata %1.%2: 
 %3</source>
         <translation>Konnte Metadaten %1.%2 nicht löschen: 
 %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3261"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3436"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3490"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3557"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3298"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3473"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3527"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3594"/>
         <source>Could not connect to database</source>
         <translation>Verbindung zur Datenbank gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3268"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3305"/>
         <source>Unable to check layer style existence [%1]</source>
         <translation>Konnte nicht prüfen, ob Layerstil vorhanden ist [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3292"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3329"/>
         <source>Unable to create layer style table [%1]</source>
         <translation>Konnte Layerstiltabelle nicht erzeugen [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3316"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3353"/>
         <source>Unable to check style existence [%1]</source>
         <translation>Konnte nicht prüfen, ob Stil existiert [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3445"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3482"/>
         <source>Unable to find layer style table [%1]</source>
         <translation>Konnte Layerstiltabelle nicht finden [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3503"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3540"/>
         <source>Layer style table does not exist [%1]</source>
         <translation>Layerstiltabelle nicht vorhanden [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3565"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3602"/>
         <source>Could not load layer style table [%1]</source>
         <translation>Konnte Layerstiltabelle nicht laden [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3368"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3405"/>
         <source>Cannot fetch new layer style id.</source>
         <translation>Konnte Layerstilkennung nicht laden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3375"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3412"/>
         <source>Could not prepare insert/update [%1]</source>
         <translation>Konnte INSERT/UPDATE nicht vorbereiten [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3396"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3433"/>
         <source>Could not execute insert/update [%1]</source>
         <translation>Konnte INSERT/UPDATE nicht ausführen [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3417"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3454"/>
         <source>Could not reset default status [%1]</source>
         <translation>Konnte Vorgabestatus nicht zurücksetzen [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3463"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3500"/>
         <source>Could not retrieve style [%1]</source>
         <translation>Konnte Stil nicht laden [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3467"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3504"/>
         <source>Style not found</source>
         <translation>Stil nicht gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3499"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3536"/>
         <source>Could not verify existence of layer style table [%1]</source>
         <translation>Konnte Existenz der Layerstiltabelle nicht überprüfen [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3513"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3550"/>
         <source>No style for layer found</source>
         <translation>Kein Stil zum Layer gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3569"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3606"/>
         <source>No styles found in layer table [%1]</source>
         <translation>Keine Stile in der Layertabelle gefunden [%1]</translation>
     </message>
@@ -21821,22 +21916,22 @@ Datenbankfehler: %2</translation>
         <translation>Unendliches Filterrechteck angegeben</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3948"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3976"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3964"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3992"/>
         <source>Unable to delete layer %1: 
 %2</source>
         <translation>Konnte Ebene %1 nicht löschen: 
 %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4010"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4026"/>
         <source>Unable to delete schema %1: 
 %2</source>
         <translation>Konnte Schema %1 nicht löschen: 
 %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4054"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4070"/>
         <source>Unable to save layer style. It's not possible to create the destination table on the database. Maybe this is due to table permissions (user=%1). Please contact your database admin</source>
         <translation>Kann den Layerstil nicht speicher. Es ist nicht möglich die Zieltabelle in der Datenbank anzulegen.  Dies kann mit den Tabellenberechtigungen (Benutzer=%1) zusammenhängen. Wenden Sie sich bitte an den Datenbankadministrator</translation>
     </message>
@@ -21847,24 +21942,26 @@ Datenbankfehler: %2</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="2074"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3322"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4108"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5378"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3804"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3359"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4124"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5377"/>
         <source>Save style in database</source>
         <translation>Stil in Datenbank speichern</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="2075"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3323"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4109"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5379"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3805"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3360"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4125"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5378"/>
         <source>A style named "%1" already exists in the database for this layer. Do you want to overwrite it?</source>
         <translation>Ein Stil "%1" für diesen Layer ist bereits in der Datenbank vorhanden. Soll er überschrieben werden?</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="2079"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3327"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4113"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3364"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4129"/>
         <source>Operation aborted. No changes were made in the database</source>
         <translation>Vorgang abgebrochen. Es wurden keine Datenbankänderungen vorgenommen</translation>
     </message>
@@ -21879,51 +21976,51 @@ Datenbankfehler: %2</translation>
         <translation>Keine Stile in der Datenbank oder es konnte keine Verbindung dazu aufgenommen werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4161"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4177"/>
         <source>Unable to save layer style. It's not possible to insert a new record into the style table. Maybe this is due to table permissions (user=%1). Please contact your database administrator.</source>
         <translation>Kann den Layerstil nicht speicher. Es ist nicht möglich Datensätze in die Stiltabelle einzufügen.  Dies kann mit den Tabellenberechtigungen (Benutzer=%1) zusammenhängen. Wenden Sie sich bitte an den Datenbankadministrator.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4215"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4284"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4231"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4300"/>
         <source>Connection to database failed using username: %1</source>
         <translation>Verbindung zur Datenbank mit Benutzername %1 fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4233"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4259"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4300"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5286"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5370"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5430"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5481"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5522"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5558"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5585"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5635"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4249"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4275"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4316"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5285"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5369"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5429"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5480"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5521"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5557"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5584"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5634"/>
         <source>Error executing query: %1</source>
         <translation>Fehler bei Abfrageausführung: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4234"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4250"/>
         <source>Error executing the select query for related styles. The query was logged</source>
         <translation>Fehler beim Abfragen von zusammenhängenden Stilen.  Die Abfragen wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4260"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5586"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4276"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5585"/>
         <source>Error executing the select query for unrelated styles. The query was logged</source>
         <translation>Fehler beim Abfragen von unzusammenhängenden Stilen.  Die Abfragen wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4301"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5636"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4317"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5635"/>
         <source>Error executing the select query. The query was logged</source>
         <translation>Fehler bei Abfrage.  Die Abfrage wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4296"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5631"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4312"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5630"/>
         <source>Consistency error in table '%1'. Style id should be unique</source>
         <translation>Konsistenzfehler in Tabelle '%1'. Stilkennung sollte eindeutig sein</translation>
     </message>
@@ -21955,67 +22052,79 @@ SQL: %1</translation>
         <translation>Erzeugung der Felder gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5137"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5136"/>
         <source>Unable to initialize SpatialMetadata:
 </source>
         <translation>Konnte räumliche Metadaten nicht initialisieren:
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5163"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5162"/>
         <source>Could not create a new database
 </source>
         <translation>Konnte neue Datenbank nicht anlegen
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5173"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5172"/>
         <source>Unable to activate FOREIGN_KEY constraints [%1]</source>
         <translation>Konnte Fremdschlüssel-Constraint nicht aktivieren [%1]</translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5207"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5206"/>
         <source>Unable to delete table %1
 </source>
         <translation>Konnte Tabelle %1 nicht löschen</translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5219"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5218"/>
         <source>Unable to delete table %1:
 </source>
         <translation>Konnte Tabelle %1 nicht löschen:</translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5287"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5371"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5431"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5523"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3870"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5286"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5370"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5430"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5522"/>
         <source>Error looking for style. The query was logged</source>
         <translation>Fehler bei der Stilsuche. Die Abfrage wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5322"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3671"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3751"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5321"/>
         <source>Unable to save layer style. It's not possible to create the destination table on the database.</source>
         <translation>Konnte Layerstil nicht speichern. Es war nicht möglich die Zieltabelle in der Datenbank anzulegen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5384"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3627"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3637"/>
+        <source>Cannot find layer %1.</source>
+        <translation>Layer %1 nicht gefunden.</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3809"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5383"/>
         <source>Operation aborted</source>
         <translation>Operation abgebrochen</translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5482"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5481"/>
         <source>Error executing loading style. The query was logged</source>
         <translation>Fehler beim Laden des Stils. Die Abfrage wurde protokolliert</translation>
     </message>
     <message>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3950"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3951"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5536"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5537"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5538"/>
         <source>No styles available on DB</source>
         <translation>Keine Stil in der Datenbank verfügbar</translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5559"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5558"/>
         <source>Error loading styles. The query was logged</source>
         <translation>Fehler beim Laden des Stils. Die Abfrage wurde protokolliert</translation>
     </message>
@@ -22219,12 +22328,12 @@ SQL: %1</translation>
         <translation>Mehrteiliges Objekt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="945"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="952"/>
         <source>Save style to DB (%1)</source>
         <translation>Stil in DB speichern (%1)</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1280"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1282"/>
         <source>Could not save symbology because:
 %1</source>
         <translation>Konnte Darstellung nicht speichern, weil:
@@ -23826,7 +23935,7 @@ Nur verfügbar wenn der Layer klassifiziert dargestellt wird.</translation>
         <translation>0 oder mehr Argumente</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="1051"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="1063"/>
         <source>Reset to defaults</source>
         <translation>Auf Voreinstellungen zurücksetzen</translation>
     </message>
@@ -23835,6 +23944,490 @@ Nur verfügbar wenn der Layer klassifiziert dargestellt wird.</translation>
         <source>Style Manager</source>
         <translation>Stilverwaltung</translation>
     </message>
+    <message>
+        <location filename="../src/app/dwg/libdxfrw/intern/dwgreader.cpp" line="204"/>
+        <source>Object map section failed CRC check</source>
+        <translation>CRC-Prüfung des Objektmap-Abschnitts fehlgeschlagen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/libdxfrw/intern/dwgreader.cpp" line="204"/>
+        <location filename="../src/app/dwg/libdxfrw/intern/dwgreader.cpp" line="1193"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="48"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2670"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2674"/>
+        <source>DWG/DXF import</source>
+        <translation>DWG/DXF-Import</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/libdxfrw/intern/dwgreader.cpp" line="1193"/>
+        <source>Class 0x%1 not found, handle 0x%2</source>
+        <translation>Klasse 0x%1 nicht gefunden, Handle 0x%2</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="50"/>
+        <source>Not yet implemented %1</source>
+        <translation>Noch nicht implementiert %1</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="100"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="128"/>
+        <source>SQL statement failed
+Database:%1
+SQL:%2
+Error:%3</source>
+        <translation>SQL-Anweisung gescheitert
+Datenbank: %1
+SQL: %2
+Fehler: %3</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="147"/>
+        <source>Could not start transaction
+Database:%1
+Error:%2</source>
+        <translation>Konnte Transaktion nicht starten
+Datenbank: %1
+Fehler: %2</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="161"/>
+        <source>Could not commit transaction
+Database:%1
+Error:%2</source>
+        <translation>Konnte Transaktion nicht festschreiben
+Datenbank: %1
+Fehler: %2</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="190"/>
+        <source>Curves only supported with GDAL2</source>
+        <translation>Kurven nur mit GDAL2 unterstützt</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="208"/>
+        <source>Drawing %1 is unreadable</source>
+        <translation>Zeichnung %1 ist nicht verfügbar</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="217"/>
+        <source>Could not open database [%1]</source>
+        <translation>Konnte Datenbank nicht öffnen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="225"/>
+        <source>Query for drawing %1 failed.</source>
+        <translation>Abfragen der Datenbank für %1 fehlgeschlagen.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="240"/>
+        <source>Could not retrieve drawing name from database [%1]</source>
+        <translation>Konnte Zeichnungsnamen nicht aus Datenbank laden [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="251"/>
+        <source>Recorded last modification date unreadable [%1]</source>
+        <translation>Konnte gespeichertes letztes Änderungsdatum nicht lesen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="263"/>
+        <source>Drawing already uptodate in database.</source>
+        <translation>Zeichnung ist in der Datenbank bereits aktuell.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="318"/>
+        <source>Imported drawings</source>
+        <translation>Geladene Zeichnungen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="325"/>
+        <source>Headers</source>
+        <translation>Kopf</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="329"/>
+        <source>Line types</source>
+        <translation>Linientypen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="334"/>
+        <source>Layer list</source>
+        <translation>Layerliste</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="345"/>
+        <source>Dimension styles</source>
+        <translation>Bemaßungsstile</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="416"/>
+        <source>Text styles</source>
+        <translation>Textstile</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="427"/>
+        <source>Application data</source>
+        <translation>Applikationsdaten</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="432"/>
+        <source>BLOCK entities</source>
+        <translation>BLOCK-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="439"/>
+        <source>POINT entities</source>
+        <translation>POINT-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="444"/>
+        <source>LINE entities</source>
+        <translation>LINE-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="450"/>
+        <source>POLYLINE entities</source>
+        <translation>POLYLINE-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="456"/>
+        <source>TEXT entities</source>
+        <translation>TEXT-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="471"/>
+        <source>HATCH entities</source>
+        <translation>HATCH-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="485"/>
+        <source>INSERT entities</source>
+        <translation>INSERT-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="504"/>
+        <source>Could not load geopackage driver</source>
+        <translation>Konnte GeoPackage-Treiber nicht laden</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="512"/>
+        <source>Creation of datasource failed [%1]</source>
+        <translation>Konnte Datenquelle nicht erzeugen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="535"/>
+        <source>Creation of drawing layer %1 failed [%2]</source>
+        <translation>Konnte Zeichnungslayer %1 nicht erzeugen [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="546"/>
+        <source>Creation of field definition for %1.%2 failed [%3]</source>
+        <translation>Erzeugung der Felddefinition für %1.%2 fehlgeschlagen [%3]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="562"/>
+        <source>Creation of field %1.%2 failed [%3]</source>
+        <translation>Erzeugung des Felds %1.%2 fehlgeschlagen [%3]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="612"/>
+        <source>Could not update drawing record [%1]</source>
+        <translation>Konnte Zeichnungsdatensatz nicht aktualisieren [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="619"/>
+        <source>Updating database from %1 [%2].</source>
+        <translation>Aktualisiere Datenbank aus %1 [%2].</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="643"/>
+        <source>File %1 is not a DWG/DXF file</source>
+        <translation>DAtei %1 ist keine DWG/-DXF-Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="652"/>
+        <source>No error.</source>
+        <translation>Kein Fehler.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="655"/>
+        <source>Unknown error.</source>
+        <translation>Unbekannter Fehler.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="658"/>
+        <source>error opening file.</source>
+        <translation>Fehler beim Öffnen der Datei.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="661"/>
+        <source>unsupported version.</source>
+        <translation>Nicht unterstützte Version.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="664"/>
+        <source>error reading metadata.</source>
+        <translation>Fehler beim Lesen der Metadaten.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="667"/>
+        <source>error in file header read process.</source>
+        <translation>Fehler beim Lesen des Dateikopfs.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="670"/>
+        <source>error in header vars read process.</source>
+        <translation>Fehler beim Lesen der Kopfvariablen.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="673"/>
+        <source>error in object map read process.</source>
+        <translation>Fehler beim Lesen der Objektmap.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="676"/>
+        <source>error in classes read process.</source>
+        <translation>Fehler beim Lesen der Klassen.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="679"/>
+        <source>error in tables read process.</source>
+        <translation>Fehler beim Lesen der Tabellen.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="683"/>
+        <source>error in block read process.</source>
+        <translation>Fehler beim Lesen der Blöcke.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="686"/>
+        <source>error in entities read process.</source>
+        <translation>Fehler beim Lesen der Elemente.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="689"/>
+        <source>error in objects read process.</source>
+        <translation>Fehler beim Lesen der Objekte.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="722"/>
+        <source>Could not update comment in drawing record [%1]</source>
+        <translation>Konnte Kommentardatensatz der Zeichnung nicht aktualisieren [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="779"/>
+        <source>Could not add header record %1 [%2]</source>
+        <translation>Konnte Kopfdatensatz %1 nicht hinzufügen %1 [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="812"/>
+        <source>dotted linetypes - dot ignored</source>
+        <translation>Gepunkteter Linienstil - Punkt ignoriert</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="847"/>
+        <source>Could not add line type %1 [%2]</source>
+        <translation>Konnte Linientyp nicht hinzufügen %1 [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="933"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1133"/>
+        <source>Could not add layer %1 [%2]</source>
+        <translation>Konnte Layer %1 nicht hinzufügen [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1165"/>
+        <source>Could not add text style %1 [%2]</source>
+        <translation>Konnte Textstil nicht hinzufügen %1 [%2]</translation>
+    </message>
+    <message>
+        <source>Could not add add line type %1 [%2]</source>
+        <translation type="obsolete">Konnte Linientyp nicht aktualisieren %1 [%2]</translation>
+    </message>
+    <message>
+        <source>Could not add add layer %1 [%2]</source>
+        <translation type="obsolete">Konnte Layer %1 nicht hinzufügen [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="944"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="955"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="966"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="982"/>
+        <source>Field %1 not found</source>
+        <translation>Feld %1 nicht gefunden</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1047"/>
+        <source>Line width default</source>
+        <translation>Linienbreitenvorgabe</translation>
+    </message>
+    <message>
+        <source>Could not add add text style %1 [%2]</source>
+        <translation type="obsolete">Konnte Textstil nicht hinzufügen %1 [%2]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1196"/>
+        <source>Could not create geometry [%1]</source>
+        <translation>Konnte Geometrie nicht erzeugen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1227"/>
+        <source>Could not add block [%1]</source>
+        <translation>Konnte Block nicht hinzufügen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1285"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2101"/>
+        <source>Could not add point [%1]</source>
+        <translation>Konnte Punkt nicht hinzufügen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1292"/>
+        <source>RAY entities</source>
+        <translation>RAY-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1298"/>
+        <source>XLINE entities</source>
+        <translation>XLINE-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1336"/>
+        <source>Could not add arc [%1]</source>
+        <translation>Konnte Bogen nicht hinzufügen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1364"/>
+        <source>Could not add circle [%1]</source>
+        <translation>Konnte Kreis nicht hinzufügen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1513"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1626"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1705"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1823"/>
+        <source>Could not add linestring [%1]</source>
+        <translation>Konnte Linien nicht hinzufügen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1582"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="1779"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2150"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2346"/>
+        <source>Could not add polygon [%1]</source>
+        <translation>Konnte Polygon nicht hinzufügen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2062"/>
+        <source>Could not add spline [%1]</source>
+        <translation>Konnte Spline nicht hinzufügen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2069"/>
+        <source>KNOT entities</source>
+        <translation>KNOT-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2108"/>
+        <source>TRACE entities</source>
+        <translation>TRACE-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2114"/>
+        <source>3DFACE entities</source>
+        <translation>3DFACE-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2183"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2216"/>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2373"/>
+        <source>Could not add line [%1]</source>
+        <translation>Konnte Linien nicht hinzufügen [%1]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2223"/>
+        <source>DIMALIGN entities</source>
+        <translation>DIMALIGN-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2229"/>
+        <source>DIMLINEAR entities</source>
+        <translation>DIMLINEAR-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2235"/>
+        <source>DIMRADIAL entities</source>
+        <translation>DIMRADIAL-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2241"/>
+        <source>DIMDIAMETRIC entities</source>
+        <translation>DIMDIAMETRIC-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2247"/>
+        <source>DIMANGULAR entities</source>
+        <translation>DIMANGULAR-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2253"/>
+        <source>DIMANGULAR3P entities</source>
+        <translation>DIMANGULAR3P-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2259"/>
+        <source>DIMORDINAL entities</source>
+        <translation>DIMORDINAL-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2265"/>
+        <source>LEADER entities</source>
+        <translation>LEADER-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2380"/>
+        <source>VIEWPORT entities</source>
+        <translation>VIEWPORT-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2386"/>
+        <source>IMAGE entities</source>
+        <translation>IMAGE-Elemente</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2392"/>
+        <source>image links</source>
+        <translation>Bildverknüpfungen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2398"/>
+        <source>comments</source>
+        <translation>Kommentare</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2668"/>
+        <source>Could not copy feature of block %2 from layer %1 [Errors:%3]</source>
+        <translation>Konnte Objekte des Blocks %2 aus Layer %1 nicht kopieren [Fehler:%3]</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2674"/>
+        <source>Not logging more errors</source>
+        <translation>Weitere Fehler werden nicht protokolliert</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2698"/>
+        <source>%1 write errors during block expansion</source>
+        <translation>%1 Schreibfehler während der Blockexpansion</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="2703"/>
+        <source>%1 block insertion expanded.</source>
+        <translation>%1 Blockreferenzen expandiert.</translation>
+    </message>
+    <message>
+        <location filename="../src/core/qgsbearingutils.cpp" line="34"/>
+        <source>Could not create transform to calculate true north</source>
+        <translation>Transformation zur Bestimmung des wahren Norden fehlgeschlagen</translation>
+    </message>
 </context>
 <context>
     <name>QSpatiaLiteDriver</name>
@@ -24009,129 +24602,129 @@ Nur verfügbar wenn der Layer klassifiziert dargestellt wird.</translation>
         <translation>&Raster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="603"/>
+        <location filename="../src/app/qgisapp.cpp" line="604"/>
         <source>Multiple Instances of QgisApp</source>
         <translation>Mehrere QgisApp-Instanzen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="623"/>
+        <location filename="../src/app/qgisapp.cpp" line="624"/>
         <source>Checking database</source>
         <translation>Überprüfe die Datenbank</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="648"/>
+        <location filename="../src/app/qgisapp.cpp" line="649"/>
         <source>Reading settings</source>
         <translation>Lese Einstellungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="651"/>
+        <location filename="../src/app/qgisapp.cpp" line="652"/>
         <source>Setting up the GUI</source>
         <translation>Richte die Oberfläche ein</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="674"/>
+        <location filename="../src/app/qgisapp.cpp" line="675"/>
         <source>Map canvas. This is where raster and vector layers are displayed when added to the map</source>
         <translation>Kartenansicht. Hier werden Raster- und Vektorlayer angezeigt, wenn sie der Karte hinzugefügt werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="880"/>
+        <location filename="../src/app/qgisapp.cpp" line="881"/>
         <source>QGIS starting...</source>
         <translation>QGIS startet...</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="896"/>
+        <location filename="../src/app/qgisapp.cpp" line="897"/>
         <source>Checking provider plugins</source>
         <translation>Datenanbieter-Erweiterungen werden geprüft</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="900"/>
+        <location filename="../src/app/qgisapp.cpp" line="901"/>
         <source>Starting Python</source>
         <translation>Python wird gestartet</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="906"/>
+        <location filename="../src/app/qgisapp.cpp" line="907"/>
         <source>Restoring loaded plugins</source>
         <translation>Stelle die geladenen Erweiterungen wieder her</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="945"/>
+        <location filename="../src/app/qgisapp.cpp" line="946"/>
         <source>Initializing file filters</source>
         <translation>Initialisiere Dateifilter</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="973"/>
+        <location filename="../src/app/qgisapp.cpp" line="974"/>
         <source>Restoring window state</source>
         <translation>Stelle Fensterstatus wieder her</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="984"/>
-        <location filename="../src/app/qgisapp.cpp" line="988"/>
+        <location filename="../src/app/qgisapp.cpp" line="985"/>
+        <location filename="../src/app/qgisapp.cpp" line="989"/>
         <source>QGIS Ready!</source>
         <translation>QGIS ist startklar!</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1626"/>
+        <location filename="../src/app/qgisapp.cpp" line="1660"/>
         <source>Minimize</source>
         <translation>Minimieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1627"/>
+        <location filename="../src/app/qgisapp.cpp" line="1661"/>
         <source>Ctrl+M</source>
         <comment>Minimize Window</comment>
         <translation>Strg+M</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1628"/>
+        <location filename="../src/app/qgisapp.cpp" line="1662"/>
         <source>Minimizes the active window to the dock</source>
         <translation>Minimiert das aktive Fenster ins Dock</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1631"/>
+        <location filename="../src/app/qgisapp.cpp" line="1665"/>
         <source>Zoom</source>
         <translation>Zoom</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1632"/>
+        <location filename="../src/app/qgisapp.cpp" line="1666"/>
         <source>Toggles between a predefined size and the window size set by the user</source>
         <translation>Schaltet zwischen voreingestellter und vom Benutzer bestimmten Fenstergröße um</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1635"/>
+        <location filename="../src/app/qgisapp.cpp" line="1669"/>
         <source>Bring All to Front</source>
         <translation>Alle in den Vordergrund bringen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1636"/>
+        <location filename="../src/app/qgisapp.cpp" line="1670"/>
         <source>Bring forward all open windows</source>
         <translation>Alle geöffneten Fenster vorholen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1644"/>
+        <location filename="../src/app/qgisapp.cpp" line="1678"/>
         <source>Current Edits</source>
         <translation>Aktuelle Änderungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1757"/>
-        <location filename="../src/app/qgisapp.cpp" line="6041"/>
-        <location filename="../src/app/qgisapp.cpp" line="7876"/>
-        <location filename="../src/app/qgisapp.cpp" line="7956"/>
-        <location filename="../src/app/qgisapp.cpp" line="10938"/>
+        <location filename="../src/app/qgisapp.cpp" line="1791"/>
+        <location filename="../src/app/qgisapp.cpp" line="6085"/>
+        <location filename="../src/app/qgisapp.cpp" line="7930"/>
+        <location filename="../src/app/qgisapp.cpp" line="8010"/>
+        <location filename="../src/app/qgisapp.cpp" line="10992"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1751"/>
-        <location filename="../src/app/qgisapp.cpp" line="1757"/>
+        <location filename="../src/app/qgisapp.cpp" line="1785"/>
+        <location filename="../src/app/qgisapp.cpp" line="1791"/>
         <source>Failed to open Python console:</source>
         <translation>Konnte Python-Konsole nicht öffnen:</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="377"/>
+        <location filename="../src/app/qgisapp.cpp" line="378"/>
         <source>QGIS </source>
         <translation>QGIS </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="604"/>
+        <location filename="../src/app/qgisapp.cpp" line="605"/>
         <source>Multiple instances of QGIS application object detected.
 Please contact the developers.
 </source>
@@ -24139,307 +24732,307 @@ Please contact the developers.
 Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="877"/>
+        <location filename="../src/app/qgisapp.cpp" line="878"/>
         <source>QGIS - %1 ('%2')</source>
         <translation>QGIS - %1 ('%2')</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1876"/>
-        <location filename="../src/app/qgisapp.cpp" line="11798"/>
+        <location filename="../src/app/qgisapp.cpp" line="1910"/>
+        <location filename="../src/app/qgisapp.cpp" line="11852"/>
         <source>Panels</source>
         <translation>Bedienfelder</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1878"/>
-        <location filename="../src/app/qgisapp.cpp" line="11809"/>
+        <location filename="../src/app/qgisapp.cpp" line="1912"/>
+        <location filename="../src/app/qgisapp.cpp" line="11863"/>
         <source>Toolbars</source>
         <translation>Werkzeugkästen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1937"/>
+        <location filename="../src/app/qgisapp.cpp" line="1971"/>
         <source>Window</source>
         <translation>Fenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1952"/>
+        <location filename="../src/app/qgisapp.cpp" line="1986"/>
         <source>&Database</source>
         <translation>Da&tenbank</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1956"/>
+        <location filename="../src/app/qgisapp.cpp" line="1990"/>
         <source>&Web</source>
         <translation>&Web</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2293"/>
+        <location filename="../src/app/qgisapp.cpp" line="2327"/>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
         <translation>Fortschrittsanzeige für das Zeichnen von Layern und andere zeitintensive Operationen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2364"/>
+        <location filename="../src/app/qgisapp.cpp" line="2398"/>
         <source>Render</source>
         <translation>Zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2368"/>
+        <location filename="../src/app/qgisapp.cpp" line="2402"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Wenn angewählt, werden die Kartenlayer abhängig von der Bedienung der Navigationsinstrumente, gezeichnet. Anderenfalls werden die Layer nicht gezeichnet. Dies erlaubt es, eine große Layeranzahl hinzuzufügen und das Aussehen der Layer vor dem Zeichnen zu setzen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2372"/>
+        <location filename="../src/app/qgisapp.cpp" line="2406"/>
         <source>Toggle map rendering</source>
         <translation>Zeichnen der Karte einschalten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2385"/>
+        <location filename="../src/app/qgisapp.cpp" line="2419"/>
         <source>This icon shows whether on the fly coordinate reference system transformation is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
         <translation>Diese Icon zeigt an, ob Spontantransformation des Koordinatenbezugssystem aktiv ist. Anklicken, um dies in den Projektionseigenschaften zu ändern.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2389"/>
+        <location filename="../src/app/qgisapp.cpp" line="2423"/>
         <source>CRS status - Click to open coordinate reference system dialog</source>
         <translation>KBS-Status - Klicken um den Dialog zum Koordinatenbezugssystem zu öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2394"/>
+        <location filename="../src/app/qgisapp.cpp" line="2428"/>
         <source>Ready</source>
         <translation>Fertig</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2856"/>
+        <location filename="../src/app/qgisapp.cpp" line="2890"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Übersichtsfenster. Dieses Fenster kann benutzt werden um die momentane Ausdehnung des Kartenfensters darzustellen. Der momentane Ausschnitt ist als rotes Rechteck dargestellt. Jeder Layer in der Karte kann zum Übersichtsfenster hinzugefügt werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2976"/>
+        <location filename="../src/app/qgisapp.cpp" line="3010"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Legende, die alle im Kartenfenster angezeigten Layer enthält. Bitte auf die Kontrollkästchen klicken, um einen Layer an- oder auszuschalten. Mit einem Doppelklick in der Legende kann die Erscheinung und sonstige Eigenschaften eines Layers festgelegt werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3082"/>
+        <location filename="../src/app/qgisapp.cpp" line="3116"/>
         <source>Map layer list that displays all layers in drawing order.</source>
         <translation>Layerliste, die alle Layer in Zeichenreihenfolge anzeigt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="629"/>
+        <location filename="../src/app/qgisapp.cpp" line="630"/>
         <source>Private qgis.db</source>
         <translation>Benutzer qgis.db</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="790"/>
-        <location filename="../src/app/qgisapp.cpp" line="3029"/>
+        <location filename="../src/app/qgisapp.cpp" line="791"/>
+        <location filename="../src/app/qgisapp.cpp" line="3063"/>
         <source>Layer Styling</source>
         <translation>Layergestaltung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1013"/>
+        <location filename="../src/app/qgisapp.cpp" line="1014"/>
         <source>Ctrl++</source>
         <translation>Strg++</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1017"/>
+        <location filename="../src/app/qgisapp.cpp" line="1018"/>
         <source>Ctrl+=</source>
         <translation>Strg+=</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1021"/>
+        <location filename="../src/app/qgisapp.cpp" line="1022"/>
         <source>Ctrl+-</source>
         <translation>Strg+-</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="1027"/>
+        <location filename="../src/app/qgisapp.cpp" line="1028"/>
         <source>Ctrl+Alt+=</source>
         <translation>Strg+Alt+=</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3031"/>
+        <location filename="../src/app/qgisapp.cpp" line="3065"/>
         <source>Open the layer styling dock</source>
         <translation>Kartengestaltungsdock öffen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3320"/>
-        <location filename="../src/app/qgisapp.cpp" line="4630"/>
+        <location filename="../src/app/qgisapp.cpp" line="3354"/>
+        <location filename="../src/app/qgisapp.cpp" line="4668"/>
         <source>< Blank ></source>
         <translation>< Leer ></translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3375"/>
+        <location filename="../src/app/qgisapp.cpp" line="3409"/>
         <source>QGIS version</source>
         <translation>QGIS-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3385"/>
+        <location filename="../src/app/qgisapp.cpp" line="3419"/>
         <source>QGIS code revision</source>
         <translation>QGIS-Codeversion</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3390"/>
+        <location filename="../src/app/qgisapp.cpp" line="3424"/>
         <source>Compiled against Qt</source>
         <translation>Kompiliert gegen Qt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3391"/>
+        <location filename="../src/app/qgisapp.cpp" line="3425"/>
         <source>Running against Qt</source>
         <translation>Laufendes Qt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3395"/>
+        <location filename="../src/app/qgisapp.cpp" line="3429"/>
         <source>Compiled against GDAL/OGR</source>
         <translation>Kompiliert mit GDAL/OGR</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3396"/>
+        <location filename="../src/app/qgisapp.cpp" line="3430"/>
         <source>Running against GDAL/OGR</source>
         <translation>Läuft mit GDAL/OGR</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3405"/>
+        <location filename="../src/app/qgisapp.cpp" line="3439"/>
         <source>PostgreSQL Client Version</source>
         <translation>PostgreSQL-Client-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3409"/>
+        <location filename="../src/app/qgisapp.cpp" line="3443"/>
         <source>No support.</source>
         <translation>Keine Unterstützung.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3413"/>
+        <location filename="../src/app/qgisapp.cpp" line="3447"/>
         <source>SpatiaLite Version</source>
         <translation>SpatiaLite-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3419"/>
+        <location filename="../src/app/qgisapp.cpp" line="3453"/>
         <source>QWT Version</source>
         <translation>QWT-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3420"/>
+        <location filename="../src/app/qgisapp.cpp" line="3454"/>
         <source>PROJ.4 Version</source>
         <translation>PROJ.4-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3424"/>
+        <location filename="../src/app/qgisapp.cpp" line="3458"/>
         <source>QScintilla2 Version</source>
         <translation>QScintilla2-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3427"/>
+        <location filename="../src/app/qgisapp.cpp" line="3461"/>
         <source>This copy of QGIS writes debugging output.</source>
         <translation>Diese QGIS-Kopie schreibt Debugausgaben.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3590"/>
+        <location filename="../src/app/qgisapp.cpp" line="3628"/>
         <source>%1 doesn't have any layers</source>
         <translation>%1 hat keine Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3591"/>
-        <location filename="../src/app/qgisapp.cpp" line="3598"/>
-        <location filename="../src/app/qgisapp.cpp" line="3975"/>
+        <location filename="../src/app/qgisapp.cpp" line="3629"/>
+        <location filename="../src/app/qgisapp.cpp" line="3636"/>
+        <location filename="../src/app/qgisapp.cpp" line="4013"/>
         <source>Invalid Data Source</source>
         <translation>Ungültige Datenquelle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3597"/>
-        <location filename="../src/app/qgisapp.cpp" line="3974"/>
+        <location filename="../src/app/qgisapp.cpp" line="3635"/>
+        <location filename="../src/app/qgisapp.cpp" line="4012"/>
         <source>%1 is not a valid or recognized data source</source>
         <translation>%1 ist keine gültige Datenquelle oder wird nicht erkannt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3702"/>
+        <location filename="../src/app/qgisapp.cpp" line="3740"/>
         <source>Vector</source>
         <translation>Vektor</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4003"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>PostgreSQL</source>
         <translation>PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4003"/>
+        <location filename="../src/app/qgisapp.cpp" line="4041"/>
         <source>Cannot get PostgreSQL select dialog from provider.</source>
         <translation>Kann PostgreSQL-Auswahldialog des Datenanbieters nicht bestimmen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4059"/>
+        <location filename="../src/app/qgisapp.cpp" line="4097"/>
         <source>%1 is an invalid layer - not loaded</source>
         <translation>%1 ist ein ungültiger Layer - nicht geladen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4060"/>
+        <location filename="../src/app/qgisapp.cpp" line="4098"/>
         <source>%1 is an invalid layer and cannot be loaded. Please check the <a href="#messageLog">message log</a> for further info.</source>
         <translation>%1 ist ein ungültiger Layer und kann nicht geladen werden. Bitte untersuchen Sie das <a href="#messageLog">Protokoll</a> auf weitere Informationen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4767"/>
-        <location filename="../src/app/qgisapp.cpp" line="4950"/>
-        <location filename="../src/app/qgisapp.cpp" line="5027"/>
+        <location filename="../src/app/qgisapp.cpp" line="4805"/>
+        <location filename="../src/app/qgisapp.cpp" line="4988"/>
+        <location filename="../src/app/qgisapp.cpp" line="5065"/>
         <source>QGIS files</source>
         <translation>QGIS-Dateien</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5873"/>
+        <location filename="../src/app/qgisapp.cpp" line="5917"/>
         <source>Diagram Properties</source>
         <translation>Diagrammeigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5881"/>
+        <location filename="../src/app/qgisapp.cpp" line="5925"/>
         <source>Layer diagram properties</source>
         <translation>Layerdiagrammeigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7033"/>
-        <location filename="../src/app/qgisapp.cpp" line="7072"/>
+        <location filename="../src/app/qgisapp.cpp" line="7087"/>
+        <location filename="../src/app/qgisapp.cpp" line="7126"/>
         <source>An error occurred during the merge operation</source>
         <translation>Beim Zusammenführen trat ein Fehler auf</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7516"/>
+        <location filename="../src/app/qgisapp.cpp" line="7570"/>
         <source>New temporary scratch layer name</source>
         <translation>Name des neuen Temporärlayer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7613"/>
+        <location filename="../src/app/qgisapp.cpp" line="7667"/>
         <source>Cannot create new layer.</source>
         <translation>Kann  neuen Layer nicht erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7680"/>
+        <location filename="../src/app/qgisapp.cpp" line="7734"/>
         <source>Cannot copy style</source>
         <translation>Kann Stil nicht kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7710"/>
+        <location filename="../src/app/qgisapp.cpp" line="7764"/>
         <source>Cannot parse style</source>
         <translation>Kann Stil nicht interpretieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7725"/>
+        <location filename="../src/app/qgisapp.cpp" line="7779"/>
         <source>Cannot paste style</source>
         <translation>Kann Stil nicht einfügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8148"/>
+        <location filename="../src/app/qgisapp.cpp" line="8202"/>
         <source>Filter on joined fields</source>
         <translation>Filter auf verknüpften Feldern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8283"/>
+        <location filename="../src/app/qgisapp.cpp" line="8337"/>
         <source>No legend entries selected</source>
         <translation>Keine Einträge der Legende gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8284"/>
+        <location filename="../src/app/qgisapp.cpp" line="8338"/>
         <source>Select the layers and groups you want to remove in the legend.</source>
         <translation>Zu löschende Layer oder Gruppen in der Legende wählen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8292"/>
+        <location filename="../src/app/qgisapp.cpp" line="8346"/>
         <source>Remove layers and groups</source>
         <translation>Layer und Gruppen löschen</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgisapp.cpp" line="8292"/>
+        <location filename="../src/app/qgisapp.cpp" line="8346"/>
         <source>Remove %n legend entries?</source>
         <comment>number of legend items to remove</comment>
         <translation>
@@ -24448,7 +25041,7 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgisapp.cpp" line="8304"/>
+        <location filename="../src/app/qgisapp.cpp" line="8358"/>
         <source>%n legend entries removed.</source>
         <comment>number of removed legend entries</comment>
         <translation>
@@ -24457,449 +25050,449 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8411"/>
+        <location filename="../src/app/qgisapp.cpp" line="8465"/>
         <source>%1 (%2 type unsupported)</source>
         <translation>%1 (Typ %2 nicht unterstützt)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8445"/>
+        <location filename="../src/app/qgisapp.cpp" line="8499"/>
         <source>Cannot copy style to duplicated layer.</source>
         <translation>Kann Stil nicht in kopierten Layer anwenden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9112"/>
+        <location filename="../src/app/qgisapp.cpp" line="9166"/>
         <source>https://qgis.org/en/site/getinvolved/development/bugreporting.html</source>
         <translation>https://qgis.org/de/site/getinvolved/development/bugreporting.html</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9417"/>
+        <location filename="../src/app/qgisapp.cpp" line="9471"/>
         <source>Do you want to save the current project? %1</source>
         <translation>Wollen Sie das aktuelle Projekt speichern? %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10918"/>
+        <location filename="../src/app/qgisapp.cpp" line="10972"/>
         <source>Invalid Layer</source>
         <translation>Ungültiger Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4093"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>SpatiaLite</source>
         <translation>SpatiaLite</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4093"/>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>Cannot get SpatiaLite select dialog from provider.</source>
         <translation>Kann SpatiaLite-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4108"/>
+        <location filename="../src/app/qgisapp.cpp" line="4146"/>
         <source>Delimited Text</source>
         <translation>Getrennte Texte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4108"/>
+        <location filename="../src/app/qgisapp.cpp" line="4146"/>
         <source>Cannot get Delimited Text select dialog from provider.</source>
         <translation>Konnte Auswahldialog für getrennte Texte nicht vom Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4164"/>
+        <location filename="../src/app/qgisapp.cpp" line="4202"/>
         <source>MSSQL</source>
         <translation>MSSQL</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4164"/>
+        <location filename="../src/app/qgisapp.cpp" line="4202"/>
         <source>Cannot get MSSQL select dialog from provider.</source>
         <translation>Konnte den MSSQL-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4196"/>
+        <location filename="../src/app/qgisapp.cpp" line="4234"/>
         <source>Oracle</source>
         <translation>Oracle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4196"/>
+        <location filename="../src/app/qgisapp.cpp" line="4234"/>
         <source>Cannot get Oracle select dialog from provider.</source>
         <translation>Konnte den Oracle-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4219"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>WMS</source>
         <translation>WMS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4219"/>
+        <location filename="../src/app/qgisapp.cpp" line="4257"/>
         <source>Cannot get WMS select dialog from provider.</source>
         <translation>Konnte den WMS-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4236"/>
+        <location filename="../src/app/qgisapp.cpp" line="4274"/>
         <source>WCS</source>
         <translation>WCS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4236"/>
+        <location filename="../src/app/qgisapp.cpp" line="4274"/>
         <source>Cannot get WCS select dialog from provider.</source>
         <translation>Konnte den WCS-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4253"/>
+        <location filename="../src/app/qgisapp.cpp" line="4291"/>
         <source>WFS</source>
         <translation>WFS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4253"/>
+        <location filename="../src/app/qgisapp.cpp" line="4291"/>
         <source>Cannot get WFS select dialog from provider.</source>
         <translation>Konnte WFS-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4496"/>
+        <location filename="../src/app/qgisapp.cpp" line="4534"/>
         <source>Default failed to open: %1</source>
         <translation>Öffnen der Vorgabe fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4500"/>
+        <location filename="../src/app/qgisapp.cpp" line="4538"/>
         <source>Default not found: %1</source>
         <translation>Vorgabe nicht gefunden: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4502"/>
+        <location filename="../src/app/qgisapp.cpp" line="4540"/>
         <source>Open Template Project</source>
         <translation>Vorlageprojekt öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4527"/>
+        <location filename="../src/app/qgisapp.cpp" line="4565"/>
         <source>Auto-open Project</source>
         <translation>Automatisch zu öffnendes Projekt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4564"/>
+        <location filename="../src/app/qgisapp.cpp" line="4602"/>
         <source>Failed to open: %1</source>
         <translation>Öffnen gescheitert: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4587"/>
+        <location filename="../src/app/qgisapp.cpp" line="4625"/>
         <source>Not valid project file: %1</source>
         <translation>Ungültige Projektdatei: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4600"/>
+        <location filename="../src/app/qgisapp.cpp" line="4638"/>
         <source>Project failed to open: %1</source>
         <translation>Projektöffnen fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4607"/>
+        <location filename="../src/app/qgisapp.cpp" line="4645"/>
         <source>Default template has been reopened: %1</source>
         <translation>Vorgabevorlage wurde wiedergeöffnet: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4614"/>
+        <location filename="../src/app/qgisapp.cpp" line="4652"/>
         <source>File not found: %1</source>
         <translation>Datei nicht gefunden: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4702"/>
+        <location filename="../src/app/qgisapp.cpp" line="4740"/>
         <source>Calculating...</source>
         <translation>Berechne...</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4702"/>
-        <location filename="../src/app/qgisapp.cpp" line="5966"/>
+        <location filename="../src/app/qgisapp.cpp" line="4740"/>
+        <location filename="../src/app/qgisapp.cpp" line="6010"/>
         <source>Abort...</source>
         <translation>Abbrechen...</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4765"/>
+        <location filename="../src/app/qgisapp.cpp" line="4803"/>
         <source>Choose a QGIS project file to open</source>
         <translation>QGIS-Projektdatei zum Öffnen wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4801"/>
+        <location filename="../src/app/qgisapp.cpp" line="4839"/>
         <source>Loading project: %1</source>
         <translation>Lade Projekt: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4828"/>
+        <location filename="../src/app/qgisapp.cpp" line="4866"/>
         <source>Unable to open project</source>
         <translation>Kann das Projekt nicht öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4904"/>
+        <location filename="../src/app/qgisapp.cpp" line="4942"/>
         <source>Security warning</source>
         <translation>Sicherheitswarnung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4905"/>
+        <location filename="../src/app/qgisapp.cpp" line="4943"/>
         <source>project macros have been disabled.</source>
         <translation>Projektmakros wurden abgeschaltet.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4896"/>
+        <location filename="../src/app/qgisapp.cpp" line="4934"/>
         <source>Enable macros</source>
         <translation>Makros aktivieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4928"/>
+        <location filename="../src/app/qgisapp.cpp" line="4966"/>
         <source>Project loaded</source>
         <translation>Projekt geladen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4948"/>
+        <location filename="../src/app/qgisapp.cpp" line="4986"/>
         <source>Choose a QGIS project file</source>
         <translation>Eine QGIS-Projektdatei wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4994"/>
-        <location filename="../src/app/qgisapp.cpp" line="5046"/>
+        <location filename="../src/app/qgisapp.cpp" line="5032"/>
+        <location filename="../src/app/qgisapp.cpp" line="5084"/>
         <source>Saved project to: %1</source>
         <translation>Projekt in %1 gespeichert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5004"/>
-        <location filename="../src/app/qgisapp.cpp" line="5054"/>
+        <location filename="../src/app/qgisapp.cpp" line="5042"/>
+        <location filename="../src/app/qgisapp.cpp" line="5092"/>
         <source>Unable to save project %1</source>
         <translation>Konnte Projekt %1 nicht speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5025"/>
+        <location filename="../src/app/qgisapp.cpp" line="5063"/>
         <source>Choose a file name to save the QGIS project file as</source>
         <translation>Name für zu speichernden QGIS-Projektdatei wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5216"/>
+        <location filename="../src/app/qgisapp.cpp" line="5260"/>
         <source>Unable to load %1</source>
         <translation>%1 kann nicht geladen werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5338"/>
+        <location filename="../src/app/qgisapp.cpp" line="5382"/>
         <source>Choose a file name to save the map image as</source>
         <translation>Name für Datei zum Speichern des Kartenabbilds wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5343"/>
+        <location filename="../src/app/qgisapp.cpp" line="5387"/>
         <source>Saved map image to %1</source>
         <translation>Kartenabbild als %1 gespeichert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5748"/>
+        <location filename="../src/app/qgisapp.cpp" line="5792"/>
         <source>Default system font substituted.</source>
         <translation>Durch voreingestellten Systemfont ersetzt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5767"/>
+        <location filename="../src/app/qgisapp.cpp" line="5811"/>
         <source>Labeling</source>
         <translation>Beschriftung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5768"/>
+        <location filename="../src/app/qgisapp.cpp" line="5812"/>
         <source>Font for layer <b><u>%1</u></b> was not found (<i>%2</i>). %3</source>
         <translation>Schriftart <i>%2</i> für Layer <b><u>%1</u></b> nicht gefunden. %3</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5759"/>
+        <location filename="../src/app/qgisapp.cpp" line="5803"/>
         <source>Open labeling dialog</source>
         <translation>Beschriftungseinstelllungen öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="543"/>
-        <location filename="../src/app/qgisapp.cpp" line="550"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>CRS was undefined</source>
         <translation>KBS war undefiniert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="543"/>
+        <location filename="../src/app/qgisapp.cpp" line="544"/>
         <source>defaulting to project CRS %1 - %2</source>
         <translation>Auf Projekt-KBS %1 - %2 voreingestellt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="550"/>
+        <location filename="../src/app/qgisapp.cpp" line="551"/>
         <source>defaulting to CRS %1 - %2</source>
         <translation>Auf KBS %1 - %2 voreingestellt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="634"/>
+        <location filename="../src/app/qgisapp.cpp" line="635"/>
         <source>Initializing authentication</source>
         <translation>Authentifikationsinitialisierung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="725"/>
+        <location filename="../src/app/qgisapp.cpp" line="726"/>
         <source>Undo/Redo Panel</source>
         <translation>Rücknahme-/Wiederholungsfenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="806"/>
+        <location filename="../src/app/qgisapp.cpp" line="807"/>
         <source>Browser Panel</source>
         <translation>Browser-Fenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="811"/>
+        <location filename="../src/app/qgisapp.cpp" line="812"/>
         <source>Browser Panel (2)</source>
         <translation>Browser-Fenster (2)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="831"/>
+        <location filename="../src/app/qgisapp.cpp" line="832"/>
         <source>GPS Information Panel</source>
         <translation>GPS-Informationsfenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="844"/>
+        <location filename="../src/app/qgisapp.cpp" line="845"/>
         <source>Log Messages Panel</source>
         <translation>Protokoll-Fenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2339"/>
+        <location filename="../src/app/qgisapp.cpp" line="2373"/>
         <source>Rotation</source>
         <translation>Drehung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2863"/>
+        <location filename="../src/app/qgisapp.cpp" line="2897"/>
         <source>Overview Panel</source>
         <translation>Übersichtsfenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2978"/>
+        <location filename="../src/app/qgisapp.cpp" line="3012"/>
         <source>Layers Panel</source>
         <translation>Layerfenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3005"/>
-        <location filename="../src/app/qgisapp.cpp" line="3007"/>
+        <location filename="../src/app/qgisapp.cpp" line="3039"/>
+        <location filename="../src/app/qgisapp.cpp" line="3041"/>
         <source>Add Group</source>
         <translation>Gruppe hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3013"/>
+        <location filename="../src/app/qgisapp.cpp" line="3047"/>
         <source>Manage Layer Visibility</source>
         <translation>Layersichtberkeitseinstellungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3019"/>
-        <location filename="../src/app/qgisapp.cpp" line="3021"/>
+        <location filename="../src/app/qgisapp.cpp" line="3053"/>
+        <location filename="../src/app/qgisapp.cpp" line="3055"/>
         <source>Filter Legend By Map Content</source>
         <translation>Legende nach Karteninhalt filtern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3026"/>
+        <location filename="../src/app/qgisapp.cpp" line="3060"/>
         <source>Filter legend by expression</source>
         <translation>Legende nach Ausdruck filtern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3037"/>
-        <location filename="../src/app/qgisapp.cpp" line="3039"/>
+        <location filename="../src/app/qgisapp.cpp" line="3071"/>
+        <location filename="../src/app/qgisapp.cpp" line="3073"/>
         <source>Expand All</source>
         <translation>Alle ausklappen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3041"/>
-        <location filename="../src/app/qgisapp.cpp" line="3043"/>
+        <location filename="../src/app/qgisapp.cpp" line="3075"/>
+        <location filename="../src/app/qgisapp.cpp" line="3077"/>
         <source>Collapse All</source>
         <translation>Alle einklappen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3083"/>
+        <location filename="../src/app/qgisapp.cpp" line="3117"/>
         <source>Layer Order Panel</source>
         <translation>Layerreihenfolgefenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3380"/>
+        <location filename="../src/app/qgisapp.cpp" line="3414"/>
         <source>QGIS code branch</source>
         <translation>QGIS-Codezweig</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3400"/>
+        <location filename="../src/app/qgisapp.cpp" line="3434"/>
         <source>Compiled against GEOS</source>
         <translation>Kompiliert mit GEOS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3401"/>
+        <location filename="../src/app/qgisapp.cpp" line="3435"/>
         <source>Running against GEOS</source>
         <translation>Läuft mit GEOS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3698"/>
+        <location filename="../src/app/qgisapp.cpp" line="3736"/>
         <source>Raster</source>
         <translation>Raster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4123"/>
+        <location filename="../src/app/qgisapp.cpp" line="4161"/>
         <source>Virtual layer</source>
         <translation>Virtueller Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4123"/>
+        <location filename="../src/app/qgisapp.cpp" line="4161"/>
         <source>Cannot get virtual layer select dialog from provider.</source>
         <translation>Kann Auswahldialog für virtuelle Layer nicht vom  Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4180"/>
+        <location filename="../src/app/qgisapp.cpp" line="4218"/>
         <source>DB2</source>
         <translation>DB2</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4180"/>
+        <location filename="../src/app/qgisapp.cpp" line="4218"/>
         <source>Cannot get DB2 select dialog from provider.</source>
         <translation>Konnte den DB2-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4282"/>
+        <location filename="../src/app/qgisapp.cpp" line="4320"/>
         <source>ArcGIS Feature Server</source>
         <translation>ArcGIS-Feature-Server</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4282"/>
+        <location filename="../src/app/qgisapp.cpp" line="4320"/>
         <source>Cannot get ArcGIS Feature Server select dialog from provider.</source>
         <translation>Kann ArcGIS-Feature-Server-Auswahldialog nicht vom Anbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4315"/>
+        <location filename="../src/app/qgisapp.cpp" line="4353"/>
         <source>ArcGIS Map Server</source>
         <translation>ArcGIS-Map-Server</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4315"/>
+        <location filename="../src/app/qgisapp.cpp" line="4353"/>
         <source>Cannot get ArcGIS Map Server select dialog from provider.</source>
         <translation>Konnte ArcGIS-Map-Server-Auswahldialog nicht vom Anbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4659"/>
+        <location filename="../src/app/qgisapp.cpp" line="4697"/>
         <source>Layer creation failed. Please check the <a href="#messageLog">message log</a> for further information.</source>
         <translation>Layererzeugung fehlgeschlagen. Bitte untersuchen Sie das <a href="#messageLog">Protokoll</a> auf weitere Informationen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4712"/>
-        <location filename="../src/app/qgisapp.cpp" line="4718"/>
-        <location filename="../src/app/qgisapp.cpp" line="4724"/>
-        <location filename="../src/app/qgisapp.cpp" line="4733"/>
-        <location filename="../src/app/qgisapp.cpp" line="4739"/>
+        <location filename="../src/app/qgisapp.cpp" line="4750"/>
+        <location filename="../src/app/qgisapp.cpp" line="4756"/>
+        <location filename="../src/app/qgisapp.cpp" line="4762"/>
+        <location filename="../src/app/qgisapp.cpp" line="4771"/>
+        <location filename="../src/app/qgisapp.cpp" line="4777"/>
         <source>Raster calculator</source>
         <translation>Rasterrechner</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4713"/>
+        <location filename="../src/app/qgisapp.cpp" line="4751"/>
         <source>Calculation complete.</source>
         <translation>Berechnung beendet.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4719"/>
+        <location filename="../src/app/qgisapp.cpp" line="4757"/>
         <source>Could not create destination file.</source>
         <translation>Kann die Zieldatei nicht erzeugen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4725"/>
+        <location filename="../src/app/qgisapp.cpp" line="4763"/>
         <source>Could not read input layer.</source>
         <translation>Konnte Eingabelayer nicht lesen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4734"/>
+        <location filename="../src/app/qgisapp.cpp" line="4772"/>
         <source>Could not parse raster formula.</source>
         <translation>Rasterformel konnte nicht interpretiert werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4740"/>
+        <location filename="../src/app/qgisapp.cpp" line="4778"/>
         <source>Insufficient memory available for operation.</source>
         <translation>Nicht genug Speicher für Operation verfügbar.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4816"/>
+        <location filename="../src/app/qgisapp.cpp" line="4854"/>
         <source>Do you want to open the backup file
 %1
 instead?</source>
@@ -24908,168 +25501,168 @@ instead?</source>
 geöffnet werden?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4984"/>
+        <location filename="../src/app/qgisapp.cpp" line="5022"/>
         <source>Insufficient permissions</source>
         <translation>Ungenügende Zugriffsrechte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4985"/>
+        <location filename="../src/app/qgisapp.cpp" line="5023"/>
         <source>The project file is not writable.</source>
         <translation>Die Projektdatei ist schreibgeschützt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5090"/>
+        <location filename="../src/app/qgisapp.cpp" line="5128"/>
         <source>DXF export completed</source>
         <translation>DXF-Export abgeschlossen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5094"/>
+        <location filename="../src/app/qgisapp.cpp" line="5132"/>
         <source>DXF export failed</source>
         <translation>DXF-Export fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5613"/>
+        <location filename="../src/app/qgisapp.cpp" line="5657"/>
         <source>No action selected</source>
         <translation>Keine Aktion gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5629"/>
-        <location filename="../src/app/qgisapp.cpp" line="5631"/>
-        <location filename="../src/app/qgisapp.cpp" line="5647"/>
+        <location filename="../src/app/qgisapp.cpp" line="5673"/>
+        <location filename="../src/app/qgisapp.cpp" line="5675"/>
+        <location filename="../src/app/qgisapp.cpp" line="5691"/>
         <source>Run feature action<br><b>%1</b></source>
         <translation>Objektaktion ausführen<br><b>%1</b></translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5779"/>
-        <location filename="../src/app/qgisapp.cpp" line="5800"/>
+        <location filename="../src/app/qgisapp.cpp" line="5823"/>
+        <location filename="../src/app/qgisapp.cpp" line="5844"/>
         <source>Commit errors</source>
         <translation>Fehler beim Festschreiben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5780"/>
-        <location filename="../src/app/qgisapp.cpp" line="5801"/>
+        <location filename="../src/app/qgisapp.cpp" line="5824"/>
+        <location filename="../src/app/qgisapp.cpp" line="5845"/>
         <source>Could not commit changes to layer %1</source>
         <translation>Konnte Änderungen am Layer %1 nicht festschreiben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5782"/>
+        <location filename="../src/app/qgisapp.cpp" line="5826"/>
         <source>Errors: %1
 </source>
         <translation>Fehler: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5789"/>
+        <location filename="../src/app/qgisapp.cpp" line="5833"/>
         <source>Show more</source>
         <translation>Mehr zeigen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5874"/>
+        <location filename="../src/app/qgisapp.cpp" line="5918"/>
         <source>Please select a vector layer first</source>
         <translation>Bitte wählen zur zuvor einen Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5968"/>
+        <location filename="../src/app/qgisapp.cpp" line="6012"/>
         <source>Reading raster</source>
         <translation>Lade Raster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5969"/>
+        <location filename="../src/app/qgisapp.cpp" line="6013"/>
         <source>Saving raster</source>
         <translation>Speichere Raster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6042"/>
+        <location filename="../src/app/qgisapp.cpp" line="6086"/>
         <source>Cannot write raster error code: %1</source>
         <translation>Rasterschreibfehlercode: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6061"/>
-        <location filename="../src/app/qgisapp.cpp" line="6251"/>
+        <location filename="../src/app/qgisapp.cpp" line="6105"/>
+        <location filename="../src/app/qgisapp.cpp" line="6305"/>
         <source>Saving done</source>
         <translation>Speichern abgeschlossen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6062"/>
+        <location filename="../src/app/qgisapp.cpp" line="6106"/>
         <source>Export to raster file has been completed</source>
         <translation>Rasterdateiexport abgeschlossen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6252"/>
+        <location filename="../src/app/qgisapp.cpp" line="6306"/>
         <source>Export to vector file has been completed</source>
         <translation>Export in Vektordatei ist abgeschlossen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6258"/>
+        <location filename="../src/app/qgisapp.cpp" line="6312"/>
         <source>Save error</source>
         <translation>Fehler beim Speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6259"/>
+        <location filename="../src/app/qgisapp.cpp" line="6313"/>
         <source>Export to vector file failed.
 Error: %1</source>
         <translation>Export in Vektordatei schlug fehl.
 Fehler: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6322"/>
-        <location filename="../src/app/qgisapp.cpp" line="8988"/>
-        <location filename="../src/app/qgisapp.cpp" line="8997"/>
-        <location filename="../src/app/qgisapp.cpp" line="9058"/>
-        <location filename="../src/app/qgisapp.cpp" line="9067"/>
+        <location filename="../src/app/qgisapp.cpp" line="6376"/>
+        <location filename="../src/app/qgisapp.cpp" line="9042"/>
+        <location filename="../src/app/qgisapp.cpp" line="9051"/>
+        <location filename="../src/app/qgisapp.cpp" line="9112"/>
+        <location filename="../src/app/qgisapp.cpp" line="9121"/>
         <source>No Layer Selected</source>
         <translation>Keinen Layer ausgewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6323"/>
+        <location filename="../src/app/qgisapp.cpp" line="6377"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Zum Löschen von Objekte zu muss ein Vektorlayer in der Legende gewählt werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6331"/>
+        <location filename="../src/app/qgisapp.cpp" line="6385"/>
         <source>No Vector Layer Selected</source>
         <translation>Es wurde kein Vektorlayer gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6332"/>
+        <location filename="../src/app/qgisapp.cpp" line="6386"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Löschen von Objekten ist nur von Vektorlayern möglich</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6339"/>
+        <location filename="../src/app/qgisapp.cpp" line="6393"/>
         <source>Provider does not support deletion</source>
         <translation>Datenanbieter unterstützt keine Löschoperationen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6340"/>
+        <location filename="../src/app/qgisapp.cpp" line="6394"/>
         <source>Data provider does not support deleting features</source>
         <translation>Der Datenanbieter hat nicht die Möglichkeit Objekte zu löschen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6347"/>
-        <location filename="../src/app/qgisapp.cpp" line="6853"/>
-        <location filename="../src/app/qgisapp.cpp" line="6862"/>
-        <location filename="../src/app/qgisapp.cpp" line="6963"/>
-        <location filename="../src/app/qgisapp.cpp" line="7004"/>
+        <location filename="../src/app/qgisapp.cpp" line="6401"/>
+        <location filename="../src/app/qgisapp.cpp" line="6907"/>
+        <location filename="../src/app/qgisapp.cpp" line="6916"/>
+        <location filename="../src/app/qgisapp.cpp" line="7017"/>
+        <location filename="../src/app/qgisapp.cpp" line="7058"/>
         <source>Layer not editable</source>
         <translation>Der Layer kann nicht bearbeitet werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6348"/>
+        <location filename="../src/app/qgisapp.cpp" line="6402"/>
         <source>The current layer is not editable. Choose 'Start editing' in the digitizing toolbar.</source>
         <translation>Der aktuelle Layer kann nicht bearbeitet werden. Bitte 'Bearbeitungsstatus umschalten' aus der Digitalisierwerkzeugleiste wählen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6357"/>
+        <location filename="../src/app/qgisapp.cpp" line="6411"/>
         <source>No Features Selected</source>
         <translation>Keine Objekte gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6363"/>
+        <location filename="../src/app/qgisapp.cpp" line="6417"/>
         <source>Delete features</source>
         <translation>Objekte löschen</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgisapp.cpp" line="6363"/>
+        <location filename="../src/app/qgisapp.cpp" line="6417"/>
         <source>Delete %n feature(s)?</source>
         <comment>number of features to delete</comment>
         <translation>
@@ -25078,22 +25671,22 @@ Fehler: %1</translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6368"/>
+        <location filename="../src/app/qgisapp.cpp" line="6422"/>
         <source>Features deleted</source>
         <translation>Objekt gelöscht</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6372"/>
+        <location filename="../src/app/qgisapp.cpp" line="6426"/>
         <source>Problem deleting features</source>
         <translation>Problem beim Löschen der Objekte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6373"/>
+        <location filename="../src/app/qgisapp.cpp" line="6427"/>
         <source>A problem occurred during deletion of %1 feature(s)</source>
         <translation>Ein Problem trat bei der Löschung von %1 Objekt(en) auf</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgisapp.cpp" line="6378"/>
+        <location filename="../src/app/qgisapp.cpp" line="6432"/>
         <source>%n feature(s) deleted.</source>
         <comment>number of features deleted</comment>
         <translation>
@@ -25102,227 +25695,227 @@ Fehler: %1</translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6424"/>
+        <location filename="../src/app/qgisapp.cpp" line="6478"/>
         <source>Merging features...</source>
         <translation>Objekte werden verschmolzen...</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6424"/>
+        <location filename="../src/app/qgisapp.cpp" line="6478"/>
         <source>Abort</source>
         <translation>Abbrechen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6477"/>
+        <location filename="../src/app/qgisapp.cpp" line="6531"/>
         <source>Create unique print composer title</source>
         <translation>Eindeutigen Druckzusammenstellungstitel erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6480"/>
+        <location filename="../src/app/qgisapp.cpp" line="6534"/>
         <source>(title generated if left empty)</source>
         <translation>(Leergelassene Titel werden generiert)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6494"/>
+        <location filename="../src/app/qgisapp.cpp" line="6548"/>
         <source>Composer title</source>
         <translation>Titel der Druckzusammenstellung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6509"/>
+        <location filename="../src/app/qgisapp.cpp" line="6563"/>
         <source>Title can not be empty!</source>
         <translation>Titel kann nicht leer sein!</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6519"/>
+        <location filename="../src/app/qgisapp.cpp" line="6573"/>
         <source>Title already exists!</source>
         <translation>Titel bereits vorhanden!</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6538"/>
-        <location filename="../src/app/qgisapp.cpp" line="6637"/>
+        <location filename="../src/app/qgisapp.cpp" line="6592"/>
+        <location filename="../src/app/qgisapp.cpp" line="6691"/>
         <source>Composer %1</source>
         <translation>Druckzusammenstellung %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6595"/>
+        <location filename="../src/app/qgisapp.cpp" line="6649"/>
         <source> copy</source>
         <translation> Kopie</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6631"/>
+        <location filename="../src/app/qgisapp.cpp" line="6685"/>
         <source>Loading composer %1</source>
         <translation>Lade Zusammenstellung %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6843"/>
-        <location filename="../src/app/qgisapp.cpp" line="6945"/>
-        <location filename="../src/app/qgisapp.cpp" line="6987"/>
+        <location filename="../src/app/qgisapp.cpp" line="6897"/>
+        <location filename="../src/app/qgisapp.cpp" line="6999"/>
+        <location filename="../src/app/qgisapp.cpp" line="7041"/>
         <source>No active layer</source>
         <translation>Kein aktiver Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6844"/>
+        <location filename="../src/app/qgisapp.cpp" line="6898"/>
         <source>No active layer found. Please select a layer in the layer list</source>
         <translation>Keinen aktiven Layer gefunden. Bitte einen Layer aus der Liste wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6874"/>
-        <location filename="../src/app/qgisapp.cpp" line="7016"/>
-        <location filename="../src/app/qgisapp.cpp" line="7052"/>
+        <location filename="../src/app/qgisapp.cpp" line="6928"/>
+        <location filename="../src/app/qgisapp.cpp" line="7070"/>
+        <location filename="../src/app/qgisapp.cpp" line="7106"/>
         <source>Not enough features selected</source>
         <translation>Nicht genug Objekte gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6875"/>
-        <location filename="../src/app/qgisapp.cpp" line="7017"/>
-        <location filename="../src/app/qgisapp.cpp" line="7053"/>
+        <location filename="../src/app/qgisapp.cpp" line="6929"/>
+        <location filename="../src/app/qgisapp.cpp" line="7071"/>
+        <location filename="../src/app/qgisapp.cpp" line="7107"/>
         <source>The merge tool requires at least two selected features</source>
         <translation>Das Verschmelzungswerkzeug erfordert mindestens zwei gewählte Objekte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6892"/>
+        <location filename="../src/app/qgisapp.cpp" line="6946"/>
         <source>Merged feature attributes</source>
         <translation>Objektattribute vereinen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6918"/>
-        <location filename="../src/app/qgisapp.cpp" line="7097"/>
+        <location filename="../src/app/qgisapp.cpp" line="6972"/>
+        <location filename="../src/app/qgisapp.cpp" line="7151"/>
         <source>Invalid result</source>
         <translation>Ungültiges Ergebnis</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6919"/>
-        <location filename="../src/app/qgisapp.cpp" line="7098"/>
+        <location filename="../src/app/qgisapp.cpp" line="6973"/>
+        <location filename="../src/app/qgisapp.cpp" line="7152"/>
         <source>Could not store value '%1' in field of type %2</source>
         <translation>Konnte Wert '%1' nicht im Feld des Typs %2 speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6964"/>
+        <location filename="../src/app/qgisapp.cpp" line="7018"/>
         <source>Modifying features can only be done for layers in editing mode.</source>
         <translation>Objektänderungen können nur im Bearbeitungsmodus vorgenommen werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7032"/>
-        <location filename="../src/app/qgisapp.cpp" line="7071"/>
+        <location filename="../src/app/qgisapp.cpp" line="7086"/>
+        <location filename="../src/app/qgisapp.cpp" line="7125"/>
         <source>Merge failed</source>
         <translation>Zusammenführung fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7079"/>
+        <location filename="../src/app/qgisapp.cpp" line="7133"/>
         <source>Merged features</source>
         <translation>Objekte verschmelzen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7219"/>
-        <location filename="../src/app/qgisapp.cpp" line="7244"/>
-        <location filename="../src/app/qgisapp.cpp" line="7269"/>
-        <location filename="../src/app/qgisapp.cpp" line="7287"/>
+        <location filename="../src/app/qgisapp.cpp" line="7273"/>
+        <location filename="../src/app/qgisapp.cpp" line="7298"/>
+        <location filename="../src/app/qgisapp.cpp" line="7323"/>
+        <location filename="../src/app/qgisapp.cpp" line="7341"/>
         <source>No active vector layer</source>
         <translation>Kein aktiver Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7220"/>
+        <location filename="../src/app/qgisapp.cpp" line="7274"/>
         <source>To invert selection, choose a vector layer in the legend</source>
         <translation>Um die Objektauswahl umzukehren einen Vektorlayer in der Legende wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7245"/>
+        <location filename="../src/app/qgisapp.cpp" line="7299"/>
         <source>To select all, choose a vector layer in the legend</source>
         <translation>Um alle Objekte zu wählen einen Vektorlayer in der Legende wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7270"/>
-        <location filename="../src/app/qgisapp.cpp" line="7288"/>
+        <location filename="../src/app/qgisapp.cpp" line="7324"/>
+        <location filename="../src/app/qgisapp.cpp" line="7342"/>
         <source>To select features, choose a vector layer in the legend</source>
         <translation>Um Objekte zu wählen einen Vektorlayer in der Legende wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7335"/>
+        <location filename="../src/app/qgisapp.cpp" line="7389"/>
         <source>Features cut</source>
         <translation>Objekte ausgeschnitten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7361"/>
+        <location filename="../src/app/qgisapp.cpp" line="7415"/>
         <source>Features pasted</source>
         <translation>Objekte eingefügt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7474"/>
-        <location filename="../src/app/qgisapp.cpp" line="7481"/>
-        <location filename="../src/app/qgisapp.cpp" line="7487"/>
-        <location filename="../src/app/qgisapp.cpp" line="7592"/>
-        <location filename="../src/app/qgisapp.cpp" line="7599"/>
-        <location filename="../src/app/qgisapp.cpp" line="7612"/>
-        <location filename="../src/app/qgisapp.cpp" line="7627"/>
+        <location filename="../src/app/qgisapp.cpp" line="7528"/>
+        <location filename="../src/app/qgisapp.cpp" line="7535"/>
+        <location filename="../src/app/qgisapp.cpp" line="7541"/>
+        <location filename="../src/app/qgisapp.cpp" line="7646"/>
+        <location filename="../src/app/qgisapp.cpp" line="7653"/>
+        <location filename="../src/app/qgisapp.cpp" line="7666"/>
+        <location filename="../src/app/qgisapp.cpp" line="7681"/>
         <source>Paste features</source>
         <translation>Objekte einfügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7475"/>
+        <location filename="../src/app/qgisapp.cpp" line="7529"/>
         <source>no features could be successfully pasted.</source>
         <translation>Es wurden keine Objekte erfolgreich eingefügt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7482"/>
+        <location filename="../src/app/qgisapp.cpp" line="7536"/>
         <source>%1 features were successfully pasted.</source>
         <translation>%1 Objekte wurden erfolgreich eingefügt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7488"/>
+        <location filename="../src/app/qgisapp.cpp" line="7542"/>
         <source>%1 of %2 features could be successfully pasted.</source>
         <translation>%1 von %2 Objekte konnte erfolgreich eingefügt werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7515"/>
+        <location filename="../src/app/qgisapp.cpp" line="7569"/>
         <source>Pasted</source>
         <translation>Eingefügt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7517"/>
+        <location filename="../src/app/qgisapp.cpp" line="7571"/>
         <source>Layer name</source>
         <translation>Layername</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7593"/>
+        <location filename="../src/app/qgisapp.cpp" line="7647"/>
         <source>No features in clipboard.</source>
         <translation>Keine Objekte in der Zwischenablage.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7600"/>
+        <location filename="../src/app/qgisapp.cpp" line="7654"/>
         <source>Multiple geometry types found, features with geometry different from %1 will be created without geometry.</source>
         <translation>Mehrere Geometriearten gefunden, Objekte mit einer anderen Geometrieart als %1 werden ohne Geometrie erzeugt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7628"/>
+        <location filename="../src/app/qgisapp.cpp" line="7682"/>
         <source>Cannot create field %1 (%2,%3)</source>
         <translation>Konnte Feld %1 (%2,%3) nicht anlegen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7819"/>
+        <location filename="../src/app/qgisapp.cpp" line="7873"/>
         <source>Start editing failed</source>
         <translation>Bearbeitungsbeginn schlug fehl</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7820"/>
+        <location filename="../src/app/qgisapp.cpp" line="7874"/>
         <source>Provider cannot be opened for editing</source>
         <translation>Datenanbieter kann nicht zum Bearbeiten geöffnet werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7845"/>
+        <location filename="../src/app/qgisapp.cpp" line="7899"/>
         <source>Stop editing</source>
         <translation>Bearbeitung beenden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7846"/>
+        <location filename="../src/app/qgisapp.cpp" line="7900"/>
         <source>Do you want to save the changes to layer %1?</source>
         <translation>Sollen die Änderungen am Layer %1 gespeichert werden?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7877"/>
+        <location filename="../src/app/qgisapp.cpp" line="7931"/>
         <source>Problems during roll back</source>
         <translation>Probleme beim Zurücknehmen der Änderungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7957"/>
+        <location filename="../src/app/qgisapp.cpp" line="8011"/>
         <source>Could not %1 changes to layer %2
 
 Errors: %3
@@ -25333,220 +25926,220 @@ Fehler: %3
 </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7958"/>
+        <location filename="../src/app/qgisapp.cpp" line="8012"/>
         <source>rollback</source>
         <translation>verworfen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7958"/>
+        <location filename="../src/app/qgisapp.cpp" line="8012"/>
         <source>cancel</source>
         <translation>abgebrochen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7988"/>
+        <location filename="../src/app/qgisapp.cpp" line="8042"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7988"/>
-        <location filename="../src/app/qgisapp.cpp" line="8014"/>
-        <location filename="../src/app/qgisapp.cpp" line="8040"/>
+        <location filename="../src/app/qgisapp.cpp" line="8042"/>
+        <location filename="../src/app/qgisapp.cpp" line="8068"/>
+        <location filename="../src/app/qgisapp.cpp" line="8094"/>
         <source>all</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8014"/>
+        <location filename="../src/app/qgisapp.cpp" line="8068"/>
         <source>Rollback</source>
         <translation>Verwerfen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8040"/>
+        <location filename="../src/app/qgisapp.cpp" line="8094"/>
         <source>Cancel</source>
         <translation>Abbrechen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8056"/>
+        <location filename="../src/app/qgisapp.cpp" line="8110"/>
         <source>Current edits</source>
         <translation>Aktuelle Änderungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8057"/>
+        <location filename="../src/app/qgisapp.cpp" line="8111"/>
         <source>%1 current changes for %2 layer(s)?</source>
         <translation>Aktuelle Änderungen für %2 Layer %1?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8149"/>
+        <location filename="../src/app/qgisapp.cpp" line="8203"/>
         <source>You are about to set a subset filter on a layer that has joined fields. Joined fields cannot be filtered, unless you convert the layer to a virtual layer first. Would you like to create a virtual layer out of this layer first?</source>
         <translation>Es soll eine Filter auf einen Layer mit verknüpften Feldern gesetzt werden. Verknüpfte Felder können nur gefiltert werden, wenn sie zuvor in einen virtuellen Layer umgewandelt werden.  Soll aus diesem Layer ein virtueller Layer erzeugt werden?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8331"/>
+        <location filename="../src/app/qgisapp.cpp" line="8385"/>
         <source>copy</source>
         <translation>Kopie</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8335"/>
+        <location filename="../src/app/qgisapp.cpp" line="8389"/>
         <source>Plugin layer</source>
         <translation>Erweiterungslayer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8347"/>
+        <location filename="../src/app/qgisapp.cpp" line="8401"/>
         <source>Memory layer</source>
         <translation>Speicherlayer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8399"/>
-        <location filename="../src/app/qgisapp.cpp" line="8410"/>
+        <location filename="../src/app/qgisapp.cpp" line="8453"/>
+        <location filename="../src/app/qgisapp.cpp" line="8464"/>
         <source>Duplicate layer: </source>
         <translation>Layerduplizierung:</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8400"/>
+        <location filename="../src/app/qgisapp.cpp" line="8454"/>
         <source>%1 (duplication resulted in invalid layer)</source>
         <translation>%1 (Kopieren führt zu ungültigem Layer)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8470"/>
+        <location filename="../src/app/qgisapp.cpp" line="8524"/>
         <source>Set scale visibility for selected layers</source>
         <translation>Maßstabsabhängige Sichtbarkeit der gewählten Layer setzen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8788"/>
+        <location filename="../src/app/qgisapp.cpp" line="8842"/>
         <source>Couldn't load Python support library: %1</source>
         <translation>Konnte Python-Unterstützungsbibliothek nicht laden: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8799"/>
+        <location filename="../src/app/qgisapp.cpp" line="8853"/>
         <source>Couldn't resolve python support library's instance() symbol.</source>
         <translation>Konnte Symbol instance() nicht in Python-Unterstützungsbibliothek finden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8817"/>
+        <location filename="../src/app/qgisapp.cpp" line="8871"/>
         <source>Python support ENABLED :-) </source>
         <translation>Python-Unterstützung aktiviert :-) </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8843"/>
+        <location filename="../src/app/qgisapp.cpp" line="8897"/>
         <source>There is a new version of QGIS available</source>
         <translation>Eine neue Version von QGIS ist verfügbar</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8847"/>
+        <location filename="../src/app/qgisapp.cpp" line="8901"/>
         <source>You are running a development version of QGIS</source>
         <translation>Sie verwenden eine Entwicklungsversion von QGIS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8851"/>
+        <location filename="../src/app/qgisapp.cpp" line="8905"/>
         <source>You are running the current version of QGIS</source>
         <translation>Sie verwenden die aktuelle Version von QGIS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8858"/>
-        <location filename="../src/app/qgisapp.cpp" line="8864"/>
+        <location filename="../src/app/qgisapp.cpp" line="8912"/>
+        <location filename="../src/app/qgisapp.cpp" line="8918"/>
         <source>QGIS Version Information</source>
         <translation>QGIS-Versionsinformationen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8864"/>
+        <location filename="../src/app/qgisapp.cpp" line="8918"/>
         <source>Unable to get current version information from server</source>
         <translation>Kann Informationen zu aktuellen Version nicht vom Server holen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8989"/>
-        <location filename="../src/app/qgisapp.cpp" line="8998"/>
+        <location filename="../src/app/qgisapp.cpp" line="9043"/>
+        <location filename="../src/app/qgisapp.cpp" line="9052"/>
         <source>To perform a full histogram stretch, you need to have a raster layer selected.</source>
         <translation>Um eine volle Histogrammstreckung durchzuführen, muß ein Rasterlayer gewählt sein.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9059"/>
-        <location filename="../src/app/qgisapp.cpp" line="9068"/>
+        <location filename="../src/app/qgisapp.cpp" line="9113"/>
+        <location filename="../src/app/qgisapp.cpp" line="9122"/>
         <source>To change brightness or contrast, you need to have a raster layer selected.</source>
         <translation>Um Helligkeit oder Kontrast zu ändern, muß ein Rasterlayer gewählt sein.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9094"/>
+        <location filename="../src/app/qgisapp.cpp" line="9148"/>
         <source>en</source>
         <comment>documentation language</comment>
         <translation>de</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9116"/>
+        <location filename="../src/app/qgisapp.cpp" line="9170"/>
         <source>https://qgis.org/en/site/forusers/commercial_support.html</source>
         <translation>https://qgis.org/de/site/forusers/commercial_support.html</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9254"/>
-        <location filename="../src/app/qgisapp.cpp" line="9297"/>
+        <location filename="../src/app/qgisapp.cpp" line="9308"/>
+        <location filename="../src/app/qgisapp.cpp" line="9351"/>
         <source>Layer is not valid</source>
         <translation>Layer ist ungültig</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10039"/>
+        <location filename="../src/app/qgisapp.cpp" line="10093"/>
         <source>Current CRS: %1 (OTF enabled)</source>
         <translation>Aktuelles KBS: %1 (SRP aktiv)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10045"/>
+        <location filename="../src/app/qgisapp.cpp" line="10099"/>
         <source>Current CRS: %1 (OTF disabled)</source>
         <translation>Aktuelles KBS: %1 (SRP aus)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11854"/>
+        <location filename="../src/app/qgisapp.cpp" line="11908"/>
         <source>Layer %1</source>
         <translation>Layer %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9253"/>
+        <location filename="../src/app/qgisapp.cpp" line="9307"/>
         <source>The layer %1 is not a valid layer and can not be added to the map</source>
         <translation>Der Layer %1 ist ungültig und kann der Karte nicht hinzugefügt werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6854"/>
-        <location filename="../src/app/qgisapp.cpp" line="6956"/>
-        <location filename="../src/app/qgisapp.cpp" line="6997"/>
+        <location filename="../src/app/qgisapp.cpp" line="6908"/>
+        <location filename="../src/app/qgisapp.cpp" line="7010"/>
+        <location filename="../src/app/qgisapp.cpp" line="7051"/>
         <source>The merge features tool only works on vector layers.</source>
         <translation>Das Verschmeldungswerkzeug funktioniert nur mit Vektorlayern.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6863"/>
-        <location filename="../src/app/qgisapp.cpp" line="7005"/>
+        <location filename="../src/app/qgisapp.cpp" line="6917"/>
+        <location filename="../src/app/qgisapp.cpp" line="7059"/>
         <source>Merging features can only be done for layers in editing mode.</source>
         <translation>Verschmelzung von Objekten kann nur auf Layern im Bearbeitungsmodus erfolgen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6946"/>
-        <location filename="../src/app/qgisapp.cpp" line="6988"/>
+        <location filename="../src/app/qgisapp.cpp" line="7000"/>
+        <location filename="../src/app/qgisapp.cpp" line="7042"/>
         <source>Please select a layer in the layer list</source>
         <translation>Einen Layer in der Liste wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6955"/>
-        <location filename="../src/app/qgisapp.cpp" line="6996"/>
+        <location filename="../src/app/qgisapp.cpp" line="7009"/>
+        <location filename="../src/app/qgisapp.cpp" line="7050"/>
         <source>Invalid layer</source>
         <translation>Ungültiger Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9296"/>
+        <location filename="../src/app/qgisapp.cpp" line="9350"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Der Layer ist ungültig und kann daher nicht zum Kartenfenster hinzugefügt werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9392"/>
+        <location filename="../src/app/qgisapp.cpp" line="9446"/>
         <source>Project has layer(s) in edit mode with unsaved edits, which will NOT be saved!</source>
         <translation>Projekt hat Layer im Bearbeitungsmodus mit nicht gespeicherten Bearbeitungen, die NICHT gespeichert werden!</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9416"/>
+        <location filename="../src/app/qgisapp.cpp" line="9470"/>
         <source>Save?</source>
         <translation>Speichern?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10257"/>
+        <location filename="../src/app/qgisapp.cpp" line="10311"/>
         <source>Maptips require an active layer</source>
         <translation>Kartentipps erfordern einen aktuellen Layer</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgisapp.cpp" line="10324"/>
+        <location filename="../src/app/qgisapp.cpp" line="10378"/>
         <source>%n feature(s) selected on layer %1.</source>
         <comment>number of selected features</comment>
         <translation>
@@ -25555,77 +26148,77 @@ Fehler: %3
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10831"/>
+        <location filename="../src/app/qgisapp.cpp" line="10885"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Öffnen einer GDAL-Rasterdatenquelle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10936"/>
+        <location filename="../src/app/qgisapp.cpp" line="10990"/>
         <source>Error adding valid layer to map canvas</source>
         <translation>Fehler beim Hinzufügen eines gültigen Layers zur Karte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10937"/>
+        <location filename="../src/app/qgisapp.cpp" line="10991"/>
         <source>Raster layer</source>
         <translation>Raster-Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11063"/>
+        <location filename="../src/app/qgisapp.cpp" line="11117"/>
         <source>%1 is not a supported raster data source</source>
         <translation>%1 ist keine unterstützte Rasterdatenquelle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11067"/>
+        <location filename="../src/app/qgisapp.cpp" line="11121"/>
         <source>Unsupported Data Source</source>
         <translation>Nicht unterstütztes Datenformat</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11124"/>
+        <location filename="../src/app/qgisapp.cpp" line="11178"/>
         <source>Exit QGIS</source>
         <translation>QGIS beenden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11125"/>
+        <location filename="../src/app/qgisapp.cpp" line="11179"/>
         <source>Do you really want to quit QGIS?</source>
         <translation>Soll QGIS wirklich beendet werden?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11228"/>
+        <location filename="../src/app/qgisapp.cpp" line="11282"/>
         <source>This project file was saved by an older version of QGIS. When saving this project file, QGIS will update it to the latest version, possibly rendering it useless for older versions of QGIS.</source>
         <translation>Dieses Projekt wurde mit einer älteren Version von QGIS gespeichert. Erneutes Speichern der Projektdatei bringt die Datei auf den aktuellen Stand, verursacht u.U. das es mit älteren Versionen von QGIS nicht mehr verwendet werden kann.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11232"/>
+        <location filename="../src/app/qgisapp.cpp" line="11286"/>
         <source>Project file is older</source>
         <translation>Projektdatei ist älter</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11643"/>
+        <location filename="../src/app/qgisapp.cpp" line="11697"/>
         <source> Please check the <a href="#messageLog">message log</a> for further info.</source>
         <translation> Bitte untersuchen Sie das <a href="#messageLog">Protokoll</a> auf weitere Informationen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11642"/>
+        <location filename="../src/app/qgisapp.cpp" line="11696"/>
         <source>A network request timed out, any data received is likely incomplete.</source>
         <translation>Zeitüberschreitung bei Netzwerkanfrage, empfangene Daten wahrscheinlich nicht vollständig.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11414"/>
+        <location filename="../src/app/qgisapp.cpp" line="11468"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11415"/>
+        <location filename="../src/app/qgisapp.cpp" line="11469"/>
         <source>This layer doesn't have a properties dialog.</source>
         <translation>Dieser Layer hat keine Eigenschaftendialog.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11472"/>
+        <location filename="../src/app/qgisapp.cpp" line="11526"/>
         <source>Authentication required</source>
         <translation>Authentifikation erforderlich</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11527"/>
+        <location filename="../src/app/qgisapp.cpp" line="11581"/>
         <source>Proxy authentication required</source>
         <translation>Proxy-Authentifikation erforderlich</translation>
     </message>
@@ -25638,54 +26231,54 @@ Fehler: %3
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5136"/>
+        <location filename="../src/app/qgisapp.cpp" line="5180"/>
         <source>Failed to run Python script:</source>
         <translation>Konnte Python-Skript nicht ausführen:</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6358"/>
+        <location filename="../src/app/qgisapp.cpp" line="6412"/>
         <source>The current layer has no selected features</source>
         <translation>Der aktuelle Layer hat keine gewählten Objekte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2340"/>
-        <location filename="../src/app/qgisapp.cpp" line="2356"/>
+        <location filename="../src/app/qgisapp.cpp" line="2374"/>
+        <location filename="../src/app/qgisapp.cpp" line="2390"/>
         <source>Current clockwise map rotation in degrees</source>
         <translation>Derzeitge Kartendrehung in Grad im Uhrzeigersinn</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2353"/>
+        <location filename="../src/app/qgisapp.cpp" line="2387"/>
         <source>Shows the current map clockwise rotation in degrees. It also allows editing to set the rotation</source>
         <translation>Zeigt die aktuelle Karte im einen Winkel in Grad im Uhrzeigersinn gedreht an.  Der Winkel kann auch eingegeben werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10037"/>
+        <location filename="../src/app/qgisapp.cpp" line="10091"/>
         <source>%1 (OTF)</source>
         <translation>%1 (SRP)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2399"/>
-        <location filename="../src/app/qgisapp.cpp" line="2400"/>
+        <location filename="../src/app/qgisapp.cpp" line="2433"/>
+        <location filename="../src/app/qgisapp.cpp" line="2434"/>
         <source>Messages</source>
         <translation>Meldungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5107"/>
+        <location filename="../src/app/qgisapp.cpp" line="5151"/>
         <source>Error loading layer definition</source>
         <translation>Fehler beim Laden der Layerdefinition</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6095"/>
+        <location filename="../src/app/qgisapp.cpp" line="6139"/>
         <source>Error saving layer definintion file</source>
         <translation>Fehler beim Speichern der Layerdefinitionsdatei</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4972"/>
+        <location filename="../src/app/qgisapp.cpp" line="5010"/>
         <source>Project file was changed</source>
         <translation>Projektdatei wurde geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4973"/>
+        <location filename="../src/app/qgisapp.cpp" line="5011"/>
         <source>The loaded project file on disk was meanwhile changed.  Do you want to overwrite the changes?
 
 Last modification date on load was: %1
@@ -26321,25 +26914,25 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>QgsAfsSourceSelect</name>
     <message>
-        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="43"/>
-        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="85"/>
+        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="47"/>
+        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="89"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="43"/>
+        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="47"/>
         <source>Failed to retrieve service capabilities:
 %1: %2</source>
         <translation>Konnte Diensteigenschaften nicht laden:
 %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="60"/>
+        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="64"/>
         <source>Layer %1: %2 - %3</source>
         <translation>Layer %1: %2 - %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="85"/>
+        <location filename="../src/providers/arcgisrest/qgsafssourceselect.cpp" line="89"/>
         <source>Failed to query some layers:
 %1</source>
         <translation>Konnte einige Layer nicht abfragen:
@@ -26570,25 +27163,25 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>QgsAmsSourceSelect</name>
     <message>
-        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="43"/>
-        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="83"/>
+        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="47"/>
+        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="87"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="43"/>
+        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="47"/>
         <source>Failed to retrieve service capabilities:
 %1: %2</source>
         <translation>Konnte Diensteigenschaften nicht laden:
 %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="74"/>
+        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="78"/>
         <source>Layer %1: unable to parse spatial reference</source>
         <translation>Layer %1: konnte räumlichen Bezug nicht interpretieren</translation>
     </message>
     <message>
-        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="83"/>
+        <location filename="../src/providers/arcgisrest/qgsamssourceselect.cpp" line="87"/>
         <source>Failed to query some layers:
 %1</source>
         <translation>Konnte einige Layer nicht abfragen:
@@ -27460,7 +28053,7 @@ Ausdruckfehler:
 <context>
     <name>QgsAttributeDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributedialog.cpp" line="106"/>
+        <location filename="../src/gui/qgsattributedialog.cpp" line="103"/>
         <source>%1 - Feature Attributes</source>
         <translation>%1 - Objektattribute</translation>
     </message>
@@ -27468,143 +28061,143 @@ Ausdruckfehler:
 <context>
     <name>QgsAttributeForm</name>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="67"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="68"/>
         <source>Attributes changed</source>
         <translation>Attributänderung</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="132"/>
-        <location filename="../src/gui/qgsattributeform.cpp" line="517"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="133"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="515"/>
         <source>Multiedit attributes</source>
         <translation>Attributmehrfachbearbeitung</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="133"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="134"/>
         <source>Apply changes to edited features?</source>
         <translation>Änderungen an bearbeiteten Objekten anwenden?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="440"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="438"/>
         <source>%1 matching %2 selected</source>
         <translation>%1 passend zu %2 gewählt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="441"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="439"/>
         <source>feature</source>
         <translation>Objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="441"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="439"/>
         <source>features</source>
         <translation>Objekte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="448"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="446"/>
         <source>No matching features found</source>
         <translation>Keine passenden Objekte gefunden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="518"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="516"/>
         <source>Edits will be applied to all selected features</source>
         <translation>Änderungen werden auf alle gewählten Objekte angewendet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="526"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="524"/>
         <source>Updated multiple feature attributes</source>
         <translation>Mehrere Objektattribute geändert</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="544"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="542"/>
         <source>Attribute changes for multiple features applied</source>
         <translation>Attributänderung für mehrere Objekt angewendet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="549"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="547"/>
         <source>Changes could not be applied</source>
         <translation>Änderungen konnten nicht angewendet werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="664"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="662"/>
         <source>Unsaved multiedit changes: <a href="#apply">apply changes</a> or <a href="#reset">reset changes</a>.</source>
         <translation>Nicht angewandte Mehrfachänderungen: <a href="#apply">anwenden</a> oder <a href="#reset">zurücksetzen</a>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="810"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="809"/>
         <source>Invalid fields</source>
         <translation>Ungültige Felder</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="919"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="916"/>
         <source>Description: </source>
         <translation>Beschreibung:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="920"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="917"/>
         <source>Raw expression: </source>
         <translation>Rohausdruck:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="920"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="917"/>
         <source>Constraint: </source>
         <translation>Einschränkung:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1320"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1326"/>
         <source>&Reset form</source>
         <translation>Formular &zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1327"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1333"/>
         <source>&Select features</source>
         <translation>&Objekte wählen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1331"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1337"/>
         <source>Select features</source>
         <translation>Objekt wählen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1334"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1340"/>
         <source>Add to current selection</source>
         <translation>Zu aktuellen Auswahl hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1337"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1343"/>
         <source>Filter current selection</source>
         <translation>Mit aktueller Auswahl filtern</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1340"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1346"/>
         <source>Remove from current selection</source>
         <translation>Aus aktueller Auswahl entfernen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1349"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1355"/>
         <source>Filter features</source>
         <translation>Objekt filtern</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1354"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1360"/>
         <source>Filter within ("AND")</source>
         <translation>Filter innerhalb ("AND")</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1357"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1363"/>
         <source>Extend filter ("OR")</source>
         <translation>Filter erweitern ("OR")</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1365"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1371"/>
         <source>Close</source>
         <translation>Schließen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1491"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1497"/>
         <source>The python init function (<code>%1</code>) does not accept three arguments as expected!<br>Please check the function name in the  <b>Fields</b> tab of the layer properties.</source>
         <translation>Die Python-Init-Funktion (<code>%1</code>) akzeptiert wider Erwarten keine drei Argumente!<br>Bitte den Funktionsnamen im Reiter <b>Felder</b> in den Layereigenschaften überprüfen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1507"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1513"/>
         <source>The python init function (<code>%1</code>) could not be found!<br>Please check the function name in the <b>Fields</b> tab of the layer properties.</source>
         <translation>Die Python-Init-Funktion (<code>%1</code>) wurde nicht gefunden!<br>Bitte den Funktionsnamen im Reiter <b>Felder</b> der Layereigenschaften überprüfen.</translation>
     </message>
@@ -31413,32 +32006,32 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?</transl
         <translation>Keine Farbe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="450"/>
+        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="458"/>
         <source>Clear color</source>
         <translation>Farbe leeren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="459"/>
+        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="467"/>
         <source>Default color</source>
         <translation>Vorgabefarbe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="499"/>
+        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="507"/>
         <source>Copy color</source>
         <translation>Farbe kopieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="503"/>
+        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="511"/>
         <source>Paste color</source>
         <translation>Farbe einfügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="522"/>
+        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="530"/>
         <source>Pick color</source>
         <translation>Farbe abgreifen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="526"/>
+        <location filename="../src/gui/qgscolorbuttonv2.cpp" line="534"/>
         <source>Choose color...</source>
         <translation>Farbe auswählen...</translation>
     </message>
@@ -34375,67 +34968,67 @@ Bitte versuchen Sie eine niedrigere Auflösung oder ein kleineres Papierformat</
 <context>
     <name>QgsComposerItem</name>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1443"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1449"/>
         <source><arrow></source>
         <translation><arrow></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1445"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1451"/>
         <source><group></source>
         <translation><group></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1447"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1453"/>
         <source><label></source>
         <translation><label></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1449"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1455"/>
         <source><legend></source>
         <translation><legend></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1451"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1457"/>
         <source><map></source>
         <translation><map></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1453"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1459"/>
         <source><picture></source>
         <translation><picture></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1455"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1461"/>
         <source><scale bar></source>
         <translation><scale bar></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1457"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1463"/>
         <source><shape></source>
         <translation><shape></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1459"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1465"/>
         <source><table></source>
         <translation><table></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1461"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1467"/>
         <source><attribute table></source>
         <translation><attribute table></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1463"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1469"/>
         <source><text table></source>
         <translation><text table></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1465"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1471"/>
         <source><frame></source>
         <translation><frame></translation>
     </message>
     <message>
-        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1468"/>
+        <location filename="../src/core/composer/qgscomposeritem.cpp" line="1474"/>
         <source><item></source>
         <translation><item></translation>
     </message>
@@ -34867,177 +35460,177 @@ Bitte versuchen Sie eine niedrigere Auflösung oder ein kleineres Papierformat</
 <context>
     <name>QgsComposerLegendWidget</name>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="60"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="77"/>
         <source>Select font color</source>
         <translation>Schriftfarbe wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="63"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="80"/>
         <source>Select border color</source>
         <translation>Randfarbe wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="154"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="171"/>
         <source>Item wrapping changed</source>
         <translation>Elementumbruch geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="166"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="183"/>
         <source>Legend title changed</source>
         <translation>Legendentitel geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="179"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="196"/>
         <source>Legend title alignment changed</source>
         <translation>Legendentitelausrichtung geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="190"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="207"/>
         <source>Legend column count</source>
         <translation>Legendenspaltenanzahl</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="204"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="221"/>
         <source>Legend split layers</source>
         <translation>Layerlegende aufgeteilt</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="216"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="233"/>
         <source>Legend equal column width</source>
         <translation>Gleiche Spaltenbreite eingeschaltet</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="228"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="245"/>
         <source>Legend symbol width</source>
         <translation>Legendensymbolbreite</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="240"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="257"/>
         <source>Legend symbol height</source>
         <translation>Legendensymbolhöhe</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="252"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="269"/>
         <source>Wms Legend width</source>
         <translation>WMS-Legendenbreite</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="264"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="281"/>
         <source>Wms Legend height</source>
         <translation>WMS-Legendenhöhe</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="276"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="293"/>
         <source>Legend title space bottom</source>
         <translation>Unterer Legendentitelzwischenraum</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="288"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="305"/>
         <source>Legend group space</source>
         <translation>Legendgruppenzwischenraum</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="300"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="317"/>
         <source>Legend layer space</source>
         <translation>Legendlayerzwischenraum</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="312"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="329"/>
         <source>Legend symbol space</source>
         <translation>Legendensymbolzwischenraum</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="326"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="343"/>
         <source>Legend icon label space</source>
         <translation>Legendeniconbeschriftungszwischenraum</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="342"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="359"/>
         <source>Title font changed</source>
         <translation>Titelschriftart geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="359"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="376"/>
         <source>Legend group font changed</source>
         <translation>Legendgruppenschriftart geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="376"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="393"/>
         <source>Legend layer font changed</source>
         <translation>Legendenlayerschriftart geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="393"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="410"/>
         <source>Legend item font changed</source>
         <translation>Legendenelementschriftart geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="409"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="426"/>
         <source>Legend font color changed</source>
         <translation>Legendschriftfarbe geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="419"/>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="431"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="436"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="448"/>
         <source>Legend box space</source>
         <translation>Legendenrahmenzwischenraum</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="570"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="587"/>
         <source>Legend map changed</source>
         <translation>Legendenkarte geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="584"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="601"/>
         <source>Legend resize to contents</source>
         <translation>Legendengröße an Inhalt anpassen</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="599"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="616"/>
         <source>Legend raster borders</source>
         <translation>Legendenrasterränder</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="613"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="630"/>
         <source>Legend raster border width</source>
         <translation>Legendenrasterrandstärke</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="627"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="644"/>
         <source>Legend raster border color</source>
         <translation>Legendenrasterrandfarbe</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="993"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="1010"/>
         <source>Legend item properties</source>
         <translation>Eigenschaften des Legendenelements</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="993"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="1010"/>
         <source>Item text</source>
         <translation>Elementtext</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="998"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="1015"/>
         <source>Legend item edited</source>
         <translation>Legendenelement bearbeitet</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="761"/>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="795"/>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="804"/>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="832"/>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="871"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="778"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="812"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="821"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="849"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="888"/>
         <source>Legend updated</source>
         <translation>Legende aktualisiert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="847"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="864"/>
         <source>Legend group added</source>
         <translation>Legendengruppe hinzugefügt</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="848"/>
+        <location filename="../src/app/composer/qgscomposerlegendwidget.cpp" line="865"/>
         <source>Group</source>
         <translation>Gruppe</translation>
     </message>
@@ -36591,7 +37184,7 @@ Bitte versuchen Sie eine niedrigere Auflösung oder ein kleineres Papierformat</
 <context>
     <name>QgsComposerPicture</name>
     <message>
-        <location filename="../src/core/composer/qgscomposerpicture.cpp" line="333"/>
+        <location filename="../src/core/composer/qgscomposerpicture.cpp" line="341"/>
         <source>Picture expression eval error</source>
         <translation>Bildausdrucksfehler</translation>
     </message>
@@ -36609,67 +37202,87 @@ Bitte versuchen Sie eine niedrigere Auflösung oder ein kleineres Papierformat</
         <translation>Umrandungsfarbe wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="108"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="48"/>
+        <source>Grid north</source>
+        <translation>Gitternorden</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="49"/>
+        <source>True north</source>
+        <translation>Wahrer Norden</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="115"/>
         <source>Select svg or image file</source>
         <translation>SVG oder Rasterbild wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="132"/>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="145"/>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="172"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="139"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="152"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="179"/>
         <source>Picture changed</source>
         <translation>Bild geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="157"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="164"/>
         <source>Picture rotation changed</source>
         <translation>Bilddrehung geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="183"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="190"/>
         <source>Select new preview directory</source>
         <translation>Neues Vorschauverzeichnis wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="238"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="245"/>
         <source>Picture resize mode changed</source>
         <translation>Bilddgrößenanpassungmethode geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="265"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="272"/>
         <source>Picture placement changed</source>
         <translation>Bildplatzierung geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="277"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="284"/>
         <source>Rotation synchronisation toggled</source>
         <translation>Drehungssynchronisation umgeschaltet</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="316"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="327"/>
         <source>Rotation map changed</source>
         <translation>Kartendrehung geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="509"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="530"/>
         <source>Creating icon for file %1</source>
         <translation>Icon für Datei %1 wird erzeugt</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="646"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="667"/>
         <source>Picture fill color changed</source>
         <translation>Bildfüllfarbe geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="654"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="675"/>
         <source>Picture border color changed</source>
         <translation>Bildrandfarbe geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="662"/>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="683"/>
         <source>Picture border width changed</source>
         <translation>Bildrandstärke geändert</translation>
     </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="691"/>
+        <source>Picture North offset changed</source>
+        <translation>Nordversatz des Bildes geändert</translation>
+    </message>
+    <message>
+        <location filename="../src/app/composer/qgscomposerpicturewidget.cpp" line="699"/>
+        <source>Picture North mode changed</source>
+        <translation>Bildnordmodus geändert</translation>
+    </message>
 </context>
 <context>
     <name>QgsComposerPictureWidgetBase</name>
@@ -36835,15 +37448,26 @@ Bitte versuchen Sie eine niedrigere Auflösung oder ein kleineres Papierformat</
         <translation>Bilddrehung</translation>
     </message>
     <message>
-        <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="469"/>
+        <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="472"/>
+        <source>North alignment</source>
+        <translation>Nordausrichtung</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="479"/>
         <source>Sync with map</source>
         <translation>Mit Karte abgleichen</translation>
     </message>
     <message utf8="true">
-        <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="479"/>
+        <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="489"/>
+        <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="509"/>
         <source> °</source>
         <translation> °</translation>
     </message>
+    <message>
+        <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="502"/>
+        <source>Offset</source>
+        <translation>Versatz</translation>
+    </message>
 </context>
 <context>
     <name>QgsComposerPolygon</name>
@@ -42673,7 +43297,7 @@ Parser-Fehler:
         <translation>Attributtabelle</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="736"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="735"/>
         <source>%1 features loaded.</source>
         <translation>%1 Objekte geladen.</translation>
     </message>
@@ -42710,6 +43334,148 @@ Parser-Fehler:
     </message>
 </context>
 <context>
+    <name>QgsDwgImportBase</name>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="14"/>
+        <source>DWG/DXF Import</source>
+        <translation>DWG/DXF-Import</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="30"/>
+        <source>Choose layers to import into project</source>
+        <translation>Layer zum Import ins Projekt wählen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="46"/>
+        <source>Layer</source>
+        <translation>Layer</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="51"/>
+        <source>Visible</source>
+        <translation>Sichtbar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="62"/>
+        <source>Group name</source>
+        <translation>Gruppenname</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="74"/>
+        <source>Merge layers</source>
+        <translation>Layer vereinen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="94"/>
+        <source>Unselect all</source>
+        <translation>Alle abwählen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="101"/>
+        <source>Select all</source>
+        <translation>Alle wählen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="113"/>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="142"/>
+        <source>Import</source>
+        <translation>Import</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="135"/>
+        <source>Reload</source>
+        <translation>Neuladen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="151"/>
+        <source>Drawing</source>
+        <translation>Zeichnung</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="161"/>
+        <source>GeoPackage</source>
+        <translation>GeoPackage</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="171"/>
+        <source>CRS</source>
+        <translation>KBS</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="190"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="197"/>
+        <source>Load layers</source>
+        <translation>Layer laden</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="215"/>
+        <source>Expand block references</source>
+        <translation>Blockreferenzen expandieren</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsdwgimportbase.ui" line="222"/>
+        <source>Use curves</source>
+        <translation>Kurven nutzen</translation>
+    </message>
+</context>
+<context>
+    <name>QgsDwgImportDialog</name>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="103"/>
+        <source>Select the coordinate reference system for the dxf file. The data points will be transformed from the layer coordinate reference system.</source>
+        <translation>Koordinatenbezugssystem für die DXF-Datei wählen. Die Datenpunkte werden vom Koordinatenbezugssystem des Layers transformiert.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="152"/>
+        <source>Specify GeoPackage database</source>
+        <translation>GeoPackage-Datenbank angeben</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="152"/>
+        <source>GeoPackage database</source>
+        <translation>GeoPackage-Datenbank</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="201"/>
+        <source>Drawing file was meanwhile updated (%1 > %2).</source>
+        <translation>Die Zeichnung wurde inzwischen geändert (%1 > %2).</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="207"/>
+        <source>Drawing file unavailable.</source>
+        <translation>Zeichnungsdatei nicht verfügbar.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="254"/>
+        <source>Could not open layer list</source>
+        <translation>Konnte Layerliste nicht öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="261"/>
+        <source>Select DWG/DXF file</source>
+        <translation>DWG/DXF-Datei wählen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="261"/>
+        <source>DXF/DWG files</source>
+        <translation>DXF/DWG-Dateien</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="279"/>
+        <source>Drawing import completed.</source>
+        <translation>Zeichnungsimport abgeschlossen.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/dwg/qgsdwgimportdialog.cpp" line="283"/>
+        <source>Drawing import failed (%1)</source>
+        <translation>Zeichnungsimport fehlgeschlagen (%1)</translation>
+    </message>
+</context>
+<context>
     <name>QgsDxfExportDialog</name>
     <message>
         <location filename="../src/app/qgsdxfexportdialog.cpp" line="470"/>
@@ -50100,6 +50866,39 @@ Referenz im Funktionsnamen: my_form_open
     </message>
 </context>
 <context>
+    <name>QgsFileDownloader</name>
+    <message>
+        <location filename="../src/gui/qgsfiledownloader.cpp" line="72"/>
+        <source>Download</source>
+        <translation>Herunterladen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsfiledownloader.cpp" line="73"/>
+        <source>Downloading %1.</source>
+        <translation>%1 wird heruntergeladen.</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsfiledownloader.cpp" line="88"/>
+        <source>Network request %1 timed out</source>
+        <translation>Netzwerkanfrage %1 dauerte zu lange</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsfiledownloader.cpp" line="115"/>
+        <source>Download failed</source>
+        <translation>Download fehlgeschlagen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsfiledownloader.cpp" line="130"/>
+        <source>Cannot open output file: %1</source>
+        <translation>Konnte Ausgabedatei %1 nicht öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsfiledownloader.cpp" line="163"/>
+        <source>Download failed: %1</source>
+        <translation>Download gescheitert: %1</translation>
+    </message>
+</context>
+<context>
     <name>QgsFileNameWidgetWrapper</name>
     <message>
         <location filename="../src/gui/editorwidgets/qgsfilenamewidgetwrapper.cpp" line="74"/>
@@ -57360,179 +58159,179 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
 <context>
     <name>QgsIdentifyResultsDialog</name>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="264"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="316"/>
         <source>Identify Results</source>
         <translation>Abfrageergebnisse</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="292"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="344"/>
         <source>Feature</source>
         <translation>Objekt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="293"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="345"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="309"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="361"/>
         <source>Current layer</source>
         <translation>Aktueller Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="310"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="362"/>
         <source>Top down, stop at first</source>
         <translation>Von oben nach unten, beim ersten halten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="311"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="363"/>
         <source>Top down</source>
         <translation>Von oben nach unten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="312"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="364"/>
         <source>Layer selection</source>
         <translation>Layerauswahl</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="414"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="787"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="466"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="839"/>
         <source>(Derived)</source>
         <translation>(abgeleitet)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="429"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="481"/>
         <source>(Actions)</source>
         <translation>(Aktionen)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="435"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="856"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="973"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1339"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="487"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="908"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1025"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1391"/>
         <source>Edit feature form</source>
         <translation>Objektformular bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="435"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="856"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="973"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1339"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="487"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="908"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1025"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1391"/>
         <source>View feature form</source>
         <translation>Objektformular anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="318"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="370"/>
         <source>Table</source>
         <translation>Tabelle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="317"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="369"/>
         <source>Tree</source>
         <translation>Baum</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="319"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="371"/>
         <source>Graph</source>
         <translation>Graph</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="522"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="574"/>
         <source>feature id</source>
         <translation>Objektkennung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="725"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="777"/>
         <source>Format</source>
         <translation>Format</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="774"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="826"/>
         <source>No attributes.</source>
         <translation>Keine Attribute.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="979"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1031"/>
         <source>Zoom to feature</source>
         <translation>Zum Objekt zoomen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="980"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1032"/>
         <source>Copy feature</source>
         <translation>Objekt kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="981"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1033"/>
         <source>Toggle feature selection</source>
         <translation>Auswahl des Objekts umkehren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="984"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1036"/>
         <source>Copy attribute value</source>
         <translation>Attributwert kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="985"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1037"/>
         <source>Copy feature attributes</source>
         <translation>Objektattribute kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="998"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1050"/>
         <source>Copy GetFeatureInfo request URL</source>
         <translation>GetFeatureInfo-Abfrage-URL kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1006"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1058"/>
         <source>Clear results</source>
         <translation>Ergebnisse löschen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1007"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1059"/>
         <source>Clear highlights</source>
         <translation>Hervorhebungen löschen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1008"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1060"/>
         <source>Highlight all</source>
         <translation>Alle hervorheben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1009"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1061"/>
         <source>Highlight layer</source>
         <translation>Layer hervorheben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1012"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1064"/>
         <source>Activate layer</source>
         <translation>Layer aktivieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1013"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1065"/>
         <source>Layer properties...</source>
         <translation>Layereigenschaften...</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1016"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1068"/>
         <source>Expand all</source>
         <translation>Alle ausklappen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1017"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1069"/>
         <source>Collapse all</source>
         <translation>Alle einklappen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1620"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1672"/>
         <source>Attributes changed</source>
         <translation>Attribute geändert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1775"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1827"/>
         <source>Cannot print</source>
         <translation>Drucken nicht möglich</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1775"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1827"/>
         <source>Cannot print this item</source>
         <translation>Kann dieses Element nicht drucken</translation>
     </message>
@@ -57540,7 +58339,22 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
 <context>
     <name>QgsIdentifyResultsWebView</name>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="96"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="104"/>
+        <source>Invalid URL</source>
+        <translation>Ungültige URL</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="104"/>
+        <source>The download URL is not valid: %1</source>
+        <translation>Die Download-URL ist ungültig: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="119"/>
+        <source>Save as</source>
+        <translation>Speichern als</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="148"/>
         <source>Print</source>
         <translation>Drucken</translation>
     </message>
@@ -57548,7 +58362,7 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
 <context>
     <name>QgsIdentifyResultsWebViewItem</name>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="215"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="267"/>
         <source>Loading...</source>
         <translation>Lade...</translation>
     </message>
@@ -59691,7 +60505,7 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
     </message>
     <message>
         <location filename="../src/ui/qgslabelingrulepropswidget.ui" line="77"/>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="687"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="686"/>
         <source>Filter</source>
         <translation>Filter</translation>
     </message>
@@ -59716,24 +60530,24 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
         <translation>Beschriftungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="643"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="642"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="643"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="642"/>
         <source>Filter expression parsing error:
 </source>
         <translation>Filterausdrucksfehler:
 </translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="664"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="663"/>
         <source>Evaluation error</source>
         <translation>Auswertungsfehler</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="687"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="686"/>
         <source>Filter returned %n feature(s)</source>
         <comment>number of filtered features</comment>
         <translation>
@@ -60170,38 +60984,38 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
         <translation>Karte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="764"/>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="784"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="763"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="783"/>
         <source>Rendering</source>
         <translation>Darstellung</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="783"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="782"/>
         <source>Canvas refresh: %1 ms</source>
         <translation>Kartenaktualisierung: %1 ms</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1182"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1181"/>
         <source>Feature does not have a geometry</source>
         <translation>Objekt hat keine Geometrie</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1186"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1185"/>
         <source>Feature geometry is empty</source>
         <translation>Objektgeometrie ist leer</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1190"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1189"/>
         <source>Zoom to feature id failed</source>
         <translation>Zoom auf Objektkennung gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1225"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1224"/>
         <source>Cannot pan to selected feature(s)</source>
         <translation>Kann Karte nicht zu gewählten Objekten bewegen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmapcanvas.cpp" line="1225"/>
+        <location filename="../src/gui/qgsmapcanvas.cpp" line="1224"/>
         <source>Geometry is NULL</source>
         <translation>Geometry ist NULL</translation>
     </message>
@@ -60266,103 +61080,103 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
 <context>
     <name>QgsMapLayer</name>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="391"/>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1024"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="393"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1026"/>
         <source>Specify CRS for layer %1</source>
         <translation>KBS für Layer %1 angeben</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1167"/>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1183"/>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1582"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1169"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1185"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1584"/>
         <source>%1 at line %2 column %3</source>
         <translation>%1 in Zeile %2, Spalte %3</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1199"/>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1618"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1201"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1620"/>
         <source>Loading style file %1 failed because:
 %2</source>
         <translation>Stildatei %1 konnte nicht geladen werden, weil:
 %2</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1479"/>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1492"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1481"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1494"/>
         <source>Could not save symbology because:
 %1</source>
         <translation>Konnte Darstellung nicht speichern, weil:
 %1</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1350"/>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1542"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1352"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1544"/>
         <source>The directory containing your dataset needs to be writable!</source>
         <translation>Der Ordner mit den Daten muss beschreibbar sein!</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1188"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1190"/>
         <source>Style not found in database</source>
         <translation>Stil nicht in der Datenbank gefunden</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1231"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1233"/>
         <source>Cannot apply style to layer with a different geometry type</source>
         <translation>Kann Stil nicht auf Layer mit anderem Geometrietyp anwenden</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1364"/>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1556"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1366"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1558"/>
         <source>Created default style file as %1</source>
         <translation>Vorgabestildatei als %1 gespeichert</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1369"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1371"/>
         <source>ERROR: Failed to created default style file as %1. Check file permissions and retry.</source>
         <translation>FEHLER: Konnte die Datei %1 für den voreingestellten Stil nicht erzeugen. Bitte überprüfen Sie die Zugriffsrechte vor einem erneuten Versuch.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1385"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1387"/>
         <source>User database could not be opened.</source>
         <translation>Benutzerdatenbank konnte nicht geöffnet werden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1400"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1402"/>
         <source>The style table could not be created.</source>
         <translation>Die Stiltabelle konnte nicht angelegt werden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1415"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1417"/>
         <source>The style %1 was saved to database</source>
         <translation>Der Stil %1 wurde in der Datenbank gespeichert</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1432"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1434"/>
         <source>The style %1 was updated in the database.</source>
         <translation>Der Stil %1 wurde in der Datenbank aktualisiert.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1437"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1439"/>
         <source>The style %1 could not be updated in the database.</source>
         <translation>Der Stil %1 konnte nicht in der Datenbank aktualisiert werden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1443"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1445"/>
         <source>The style %1 could not be inserted into database.</source>
         <translation>Der Stil %1 konnte nicht in der Datenbank gespeichert werden.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1561"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1563"/>
         <source>ERROR: Failed to created SLD style file as %1. Check file permissions and retry.</source>
         <translation>FEHLER: Konnte SLD-Stildatei %1 nicht erstellen. Prüfen Sie bitte die Berechtigungen und wiederholen Sie den Versuch.</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1587"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1589"/>
         <source>Unable to open file %1</source>
         <translation>Konnte Datei %1 nicht öffnen</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmaplayer.cpp" line="1210"/>
+        <location filename="../src/core/qgsmaplayer.cpp" line="1212"/>
         <source>Root <qgis> element could not be found</source>
         <translation>Wurzelelement <qgis> nicht gefunden</translation>
     </message>
@@ -64624,241 +65438,241 @@ Immer Netzwerk: immer aus dem Netzwerk laden und nicht prüfen, ob im Cache ein
 <context>
     <name>QgsOgrProvider</name>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3354"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3424"/>
         <source>Data source is invalid, no layer found (%1)</source>
         <translation>Datenquelle ungültig, kein Layer gefunden (%1)</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="170"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="189"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="197"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1221"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1899"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3349"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3354"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3359"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3476"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3494"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3509"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="172"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="191"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="199"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1272"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1963"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3419"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3424"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3429"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3546"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3564"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3579"/>
         <source>OGR</source>
         <translation>OGR</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3349"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3359"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3419"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3429"/>
         <source>Data source is invalid (%1)</source>
         <translation>Datenquelle ungültig (%1)</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="377"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="403"/>
         <source>Whole number (integer)</source>
         <translation>Ganzzahl (integer)</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="379"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="405"/>
         <source>Whole number (integer 64 bit)</source>
         <translation>Ganzzahl (integer 64bit)</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="381"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="407"/>
         <source>Decimal number (real)</source>
         <translation>Dezimalzahl (real)</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="382"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="408"/>
         <source>Text (string)</source>
         <translation>Text (string)</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="383"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="409"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="390"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="416"/>
         <source>Time</source>
         <translation>Zeit</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="391"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="417"/>
         <source>Date & Time</source>
         <translation>Datum & Zeit</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="162"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="434"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="164"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="460"/>
         <source>OGR[%1] error %2: %3</source>
         <translation>OGR[%1] Fehler %2: %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="662"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="696"/>
         <source>Unknown</source>
         <translation>Unbekannt</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1112"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1163"/>
         <source>OGR error creating wkb for feature %1: %2</source>
         <translation>OGR-Fehler beim erzeugen des WKB für Objekt %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1221"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1272"/>
         <source>type %1 for attribute %2 not found</source>
         <translation>Typ %1 des Attribut %2 nicht gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1229"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1280"/>
         <source>OGR error creating feature %1: %2</source>
         <translation>OGR-Fehler beim Erzeugen des Objekts %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1335"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1387"/>
         <source>type %1 for field %2 not found</source>
         <translation>Typ %1 des Feld %2 nicht gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1349"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1401"/>
         <source>OGR error creating field %1: %2</source>
         <translation>OGR-Fehler bei Erzeugung des Felds %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1384"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1446"/>
         <source>Cannot delete feature id column</source>
         <translation>Kann Objektkennungsspalte nicht löschen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1395"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1457"/>
         <source>OGR error deleting field %1: %2</source>
         <translation>OGR-Fehler beim Löschen des Felds %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1403"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1465"/>
         <source>Deleting fields is not supported prior to GDAL 1.9.0</source>
         <translation>GDAL 1.9.0 unterstützt das Löschen von Feldern nicht vor 1.9.0</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1421"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1438"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1483"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1500"/>
         <source>Invalid attribute index</source>
         <translation>Ungültiger Attributindex</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1428"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1490"/>
         <source>Error renaming field %1: name '%2' already exists</source>
         <translation>Fehler beim Umbenennen des Felds %1: name '%2' bereits vorhanden</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1448"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1510"/>
         <source>OGR error renaming field %1: %2</source>
         <translation>OGR-Fehler beim Umbenennen des Felds %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1457"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1519"/>
         <source>Renaming fields is not supported prior to GDAL 1.9.0</source>
         <translation>Umbenennen von Feldern wird vor GDAL 1.9.0 nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1481"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1609"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1749"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1543"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1671"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1813"/>
         <source>OGR error on feature %1: id too large</source>
         <translation>OGR-Fehler bei Objekt %1: ID zu groß</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1492"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1554"/>
         <source>Feature %1 for attribute update not found.</source>
         <translation>Objekt %1 zur Attributaktualisierung nicht gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1507"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1569"/>
         <source>Changing feature id of feature %1 is not allowed.</source>
         <translation>Änderung der Objektkennung des Objekts %1 ist nicht erlaubt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1520"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1582"/>
         <source>Field %1 of feature %2 doesn't exist.</source>
         <translation>Feld %1 des Objekts %2 nicht vorhanden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1576"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1638"/>
         <source>Type %1 of attribute %2 of feature %3 unknown.</source>
         <translation>Typ %1 des Attributs %2 des Objekte %3 unbekannt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1584"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1662"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1646"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1724"/>
         <source>OGR error setting feature %1: %2</source>
         <translation>OGR-Fehler beim Setzen des Objekts %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1592"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3115"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1654"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3179"/>
         <source>OGR error syncing to disk: %1</source>
         <translation>OGR-Fehler beim Syncen auf Festplatte: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1616"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1678"/>
         <source>OGR error changing geometry: feature %1 not found</source>
         <translation>OGR-Fehler beim Ändern der Geometrie: Objekt %1 nicht gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1631"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1693"/>
         <source>OGR error creating geometry for feature %1: %2</source>
         <translation>OGR-Fehler bei Geometrieerzeugung für Objekt %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1640"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1702"/>
         <source>OGR error in feature %1: geometry is null</source>
         <translation>OGR-Fehler bei Objekt %1: Geometrie ist leer</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1651"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1713"/>
         <source>OGR error setting geometry of feature %1: %2</source>
         <translation>OGR-Fehler beim Setzen der Geometrie des Objekts %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3454"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3524"/>
         <source>Cannot reopen datasource %1</source>
         <translation>Kann Datenquelle %1 nicht neu öffnen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3476"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3477"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3546"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3547"/>
         <source>Cannot reopen datasource %1 in update mode</source>
         <translation>Kann Datenquelle %1 nicht im Aktualisierungsmodus neu öffnen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3494"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3564"/>
         <source>Unbalanced call to leaveUpdateMode() w.r.t. enterUpdateMode()</source>
         <translation>Aufrufe von leaveUpdateMode() und enterUpdateMode() passen nicht zusammen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3509"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3510"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3579"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3580"/>
         <source>Cannot reopen datasource %1 in read-only mode</source>
         <translation>Kann Datenquelle %1 nicht im schreibgeschützten Modus neu öffnen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="170"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="172"/>
         <source>Possible corruption after REPACK detected. %1 still exists. This may point to a permission or locking problem of the original DBF.</source>
         <translation>Möglicher Fehler nach REPACK entdeckt. %1 ist noch vorhanden. Dies könnte auf ein Berechtigungs- oder Dateisperrenproblem der DBF hindeuten.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="189"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="191"/>
         <source>Original layer could not be reopened.</source>
         <translation>Ursprünglicher Layer konnte nicht erneut geöffnet werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="197"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="199"/>
         <source>Original datasource could not be reopened.</source>
         <translation>Ursprüngliche Datenquelle konnte nicht erneut geöffnet werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1755"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1819"/>
         <source>OGR error deleting feature %1: %2</source>
         <translation>OGR-Fehler beim Löschen des Objekts %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1899"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1963"/>
         <source>Shapefiles without attribute are considered read-only.</source>
         <translation>Shapedateien ohne Attribute werden als schreibgeschützt betrachtet.</translation>
     </message>
@@ -67123,31 +67937,32 @@ Es fehlen einige der UI-Vorlagenobjekte:
 <context>
     <name>QgsOracleConn</name>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="117"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="137"/>
         <source>Connection to database failed</source>
         <translation>Verbindung zur Datenbank schlug fehl</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="117"/>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="129"/>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="198"/>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="247"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="90"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="137"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="149"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="218"/>
         <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="267"/>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="278"/>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="394"/>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="459"/>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="477"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="287"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="298"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="414"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="479"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="497"/>
         <source>Oracle</source>
         <translation>Oracle</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="129"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="149"/>
         <source>Could not switch to workspace %1 [%2]</source>
         <translation>Konnte nicht zum Workspace %1 schalten [%2]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="198"/>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="456"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="218"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="476"/>
         <source>SQL:%1
 error:%2
 </source>
@@ -67156,7 +67971,7 @@ Fehler:%2
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="247"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="267"/>
         <source>Querying available tables failed.
 SQL:%1
 error:%2
@@ -67167,62 +67982,67 @@ Fehler:%2
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="267"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="287"/>
         <source>Database connection was successful, but the accessible tables could not be determined.</source>
         <translation>Die Datenbankverbindung war erfolgreich, jedoch konnten die zugänglichen Tabellen nicht bestimmt werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="278"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="298"/>
         <source>Unable to get list of spatially enabled tables from the database</source>
         <translation>Konnte Liste der räumlichen Tabellen der Datenbank nicht bestimmen</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="474"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="494"/>
         <source>Unsupported geometry type %1 in %2.%3.%4 ignored</source>
         <translation>Nicht unterstützter Geometrietyp %1 in %2.%3.%4 ignoriert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="392"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="412"/>
         <source>View %1.%2 doesn't have integer columns for use as keys.</source>
         <translation>Sicht %1.%2 hat keine als Schlüssel verwendbare Integer-Spalte.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="606"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="90"/>
+        <source>Connection failed %1s ago - skipping retry</source>
+        <translation>Verbindung schlug vor %1s - erneuter Versuch übersprungen</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="626"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="610"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="630"/>
         <source>Multipoint</source>
         <translation>Multipunkt</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="614"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="634"/>
         <source>Line</source>
         <translation>Linie</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="618"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="638"/>
         <source>Multiline</source>
         <translation>Multilinie</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="622"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="642"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="626"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="646"/>
         <source>Multipolygon</source>
         <translation>Multipolygon</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="629"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="649"/>
         <source>No Geometry</source>
         <translation>Ohne Geometrie</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="632"/>
+        <location filename="../src/providers/oracle/qgsoracleconn.cpp" line="652"/>
         <source>Unknown Geometry</source>
         <translation>Unbekannte Geometrie</translation>
     </message>
@@ -67583,105 +68403,105 @@ Fehler:%2
         <translation>Datum & Zeit</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="511"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="540"/>
         <source>FAILURE: Field %1 not found.</source>
         <translation>FEHLER: Feld %1 nicht gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="511"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="522"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="582"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="599"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="664"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="687"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="703"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="724"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="732"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="827"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="837"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="845"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="853"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="886"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="899"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="922"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="949"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="540"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="551"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="611"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="629"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="694"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="717"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="733"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="756"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="764"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="859"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="869"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="877"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="885"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="918"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="931"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="954"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="959"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="982"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="981"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="986"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="991"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1014"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1046"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1097"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1136"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1429"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1480"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1556"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1562"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1618"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1625"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1694"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1701"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1855"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2071"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2246"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1078"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1129"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1168"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1461"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1512"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1588"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1594"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1650"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1657"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1726"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1733"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1887"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2103"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2278"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2313"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2321"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2341"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2349"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2473"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2495"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2523"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2536"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2820"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2832"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2841"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3000"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3009"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2310"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2345"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2353"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2378"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2386"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2510"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2532"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2560"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2573"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2857"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2869"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2878"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3037"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3046"/>
         <source>Oracle</source>
         <translation>Oracle</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="522"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="551"/>
         <source>Read attempt on an invalid oracle data source</source>
         <translation>Leseversuch auf ungültige Oracle-Datenquelle</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="578"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="607"/>
         <source>Loading comment for table %1.%2 failed [%3]</source>
         <translation>Ladens des Tabellekommentars zu  %1.%2 gescheitert [%3]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="599"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="629"/>
         <source>Loading comment for columns of table %1.%2 failed [%3]</source>
         <translation>Ladens des Spaltenkommentar zu %1.%2 gescheitert [%3]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="660"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="690"/>
         <source>Loading field types for table %1.%2 failed [%3]</source>
         <translation>Laden der Feldtypen der Tabelle %1.%2 fehlgeschlagen [%3]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="682"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="712"/>
         <source>Invalid spatial index %1 on column %2.%3.%4 found - expect poor performance.</source>
         <translation>Ungültiger räumlicher Index %1 auf Spalte %2.%3.%4 gefunden - schlechte Performance ist zu erwarten.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="698"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="728"/>
         <source>Probing for spatial index on column %1.%2.%3 failed [%4]</source>
         <translation>Suche nach räumlichen Index auf Spalte %1.%2.%3 fehlgeschlagen [%4]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="722"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="752"/>
         <source>No spatial index on column %1.%2.%3 found - expect poor performance.</source>
         <translation>Kein räumlicher Index auf Spalte %1.%2.%3 gefunden - schlechte Performance ist zu erwarten.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="732"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="764"/>
         <source>Retrieving fields from '%1' failed [%2]</source>
         <translation>Laden der Felder aus '%1' gescheitert [%2]</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="822"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="854"/>
         <source>Unable to determine geometry column access privileges for column %1.%2.
 The error message from the database was:
 %3.
@@ -67692,7 +68512,7 @@ Der Fehler der Datenbank war:
 SQL: %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="833"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="865"/>
         <source>Unable to determine table access privileges for the table %1.
 The error message from the database was:
 %2.
@@ -67703,18 +68523,18 @@ Der Fehler der Datenbank war:
 SQL: %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="845"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="877"/>
         <source>The custom query is not a select query.</source>
         <translation>Die Benutzerabfrage ist keine SELECT-Abfrage.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="851"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="884"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="920"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1012"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="883"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="916"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="952"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1044"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1095"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1134"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1076"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1127"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1166"/>
         <source>Unable to execute the query.
 The error message from the database was:
 %1.
@@ -67725,189 +68545,189 @@ Dei Fehlermeldung der Datenbank war:
 SQL: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="899"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="931"/>
         <source>Primary key field %1 not found in %2</source>
         <translation>Primärschlüsselfeld %1 nicht in %2 gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="949"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="981"/>
         <source>Primary key field '%1' for view not unique.</source>
         <translation>Primärschlüsselfeld '%1' der Sicht ist nicht eindeutig.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="954"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="986"/>
         <source>Key field '%1' for view not found.</source>
         <translation>Schlüsselfeld '%1' der Sicht nicht gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="959"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="991"/>
         <source>No key field for view given.</source>
         <translation>Kein Schlüsselfeld für Ansicht angegeben.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="982"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1014"/>
         <source>No key field for query given.</source>
         <translation>Kein Schlüsselfeld für Abfrage gegeben.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1175"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1207"/>
         <source>Evaluation of default value failed</source>
         <translation>Auswertung des Vorgabewert gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1206"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1452"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1502"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1583"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1663"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1727"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2035"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2687"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1238"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1484"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1534"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1615"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1695"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1759"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2067"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2724"/>
         <source>Could not start transaction</source>
         <translation>Transaktion konnte nicht gestartet werden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1242"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1274"/>
         <source>Could not prepare get feature id statement</source>
         <translation>Konnte Anweisung zur Bestimmung der Objektkennung nicht vorbereiten</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1321"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1353"/>
         <source>Could not prepare insert statement</source>
         <translation>Konnte Einfügeanweisung nicht vorbereiten</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1362"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1394"/>
         <source>Could not insert feature %1</source>
         <translation>Konnte Objekt %1 nicht einfügen</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1373"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1405"/>
         <source>Could not retrieve feature id %1</source>
         <translation>Konnte Objektkennung %1 nicht laden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1392"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1471"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1549"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1610"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1686"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1847"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2063"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2820"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1424"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1503"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1581"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1642"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1718"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1879"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2095"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2857"/>
         <source>Could not commit transaction</source>
         <translation>Transaktion konnte nicht festgeschrieben werden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1426"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1458"/>
         <source>Oracle error while adding features: %1</source>
         <translation>Oracle-Fehler beim Attributhinzufügen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1429"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1480"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1556"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1618"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1694"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1855"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2071"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2832"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1461"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1512"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1588"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1650"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1726"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1887"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2103"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2869"/>
         <source>Could not rollback transaction</source>
         <translation>Transaktion konnte nicht zurückgerollt werden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1462"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1494"/>
         <source>Deletion of feature %1 failed</source>
         <translation>Löschen des Objekts %1 gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1478"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1510"/>
         <source>Oracle error while deleting features: %1</source>
         <translation>Oracle-Fehler beim Objektlöschen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1531"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1563"/>
         <source>Adding attribute %1 failed</source>
         <translation>Hinzufügen des Attributs %1 gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1540"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1572"/>
         <source>Setting comment on %1 failed</source>
         <translation>Setzen des Kommentars für %1 gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1554"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1586"/>
         <source>Oracle error while adding attributes: %1</source>
         <translation>Oracle-Fehler beim Attributhinzufügen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1562"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1625"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1701"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1594"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1657"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1733"/>
         <source>Could not reload fields.</source>
         <translation>Konnte Felder nicht neuladen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1601"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1633"/>
         <source>Dropping column %1 failed</source>
         <translation>Löschen der Spalte %1 gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1615"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1647"/>
         <source>Oracle error while deleting attributes: %1</source>
         <translation>Oracle-Fehler beim Attributlöschen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1642"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1674"/>
         <source>Invalid attribute index: %1</source>
         <translation>Ungültiger Attributindex: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1648"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1680"/>
         <source>Error renaming field %1: name '%2' already exists</source>
         <translation>Fehler beim Umbenennen des Felds %1: name '%2' bereits vorhanden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1677"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1709"/>
         <source>Renaming column %1 to %2 failed</source>
         <translation>Umbenennen von Spalte %1 in %2 gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1691"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1723"/>
         <source>Oracle error while renaming attributes: %1</source>
         <translation>Oracle-Fehler beim Umbenennen von Attributen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1821"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2056"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1853"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2088"/>
         <source>Update of feature %1 failed</source>
         <translation>Aktualisierung des Objekte %1 gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1852"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1884"/>
         <source>Oracle error while changing attributes: %1</source>
         <translation>Oracle-Fehler beim Attributändern: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1791"/>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2045"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="1823"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2077"/>
         <source>Could not prepare update statement.</source>
         <translation>Konnte Aktualisierungsanweisung nicht vorbereiten.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2068"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2100"/>
         <source>Oracle error while changing geometry values: %1</source>
         <translation>Oracle-Fehler beim Geometrieändern: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2246"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2278"/>
         <source>Could not retrieve extents: %1
 SQL: %2</source>
         <translation>Konnte Ausmaße nicht bestimmen: %1
 SQL: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2276"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2308"/>
         <source>Could not execute query.
 The error message from the database was:
 %1.
@@ -67918,7 +68738,7 @@ Die Datenbankfehlermeldung war:
 SQL: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2310"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2342"/>
         <source>Could not retrieve SRID of %1.
 The error message from the database was:
 %2.
@@ -67929,7 +68749,7 @@ Die Datenbankfehlermeldung war:
 SQL: %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2318"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2350"/>
         <source>Could not determine SRID of %1.
 The error message from the database was:
 %2.
@@ -67940,14 +68760,14 @@ Die Datenbankfehlermeldung war:
 SQL: %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2339"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2376"/>
         <source>%1 has no valid geometry types.
 SQL: %2</source>
         <translation>%1 hat keine gültigen Geometrietypen.
 SQL: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2346"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2383"/>
         <source>Could not determine geometry type of %1.
 The error message from the database was:
 %2.
@@ -67958,22 +68778,22 @@ Die Datenbankfehlermeldung war:
 SQL: %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2383"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2420"/>
         <source>Geometry type and srid for empty column %1 of %2 undefined.</source>
         <translation>Geometrietyp und SRID für leere Spalte %1 in %2 undefiniert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2410"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2447"/>
         <source>Feature type or srid for %1 of %2 could not be determined or was not requested.</source>
         <translation>Objekttyp oder SRID für %1 aus %2 konnte nicht festgestellt werden oder wurde nicht verlangt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2438"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2475"/>
         <source>Editing and adding disabled for 2D+ layer (%1; %2)</source>
         <translation>Ändern und Hinzufügen auf 2D+-Layern abgeschaltet (%1; %2)</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2468"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2505"/>
         <source>Could not update metadata for %1.%2.
 SQL:%3
 Error: %4</source>
@@ -67982,7 +68802,7 @@ SQL:%3
 Fehler: %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2490"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2527"/>
         <source>Could not insert metadata for %1.%2.
 SQL:%3
 Error: %4</source>
@@ -67991,7 +68811,7 @@ SQL: %3
 Fehler: %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2520"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2557"/>
         <source>Creation spatial index failed.
 SQL:%1
 Error: %2</source>
@@ -68000,7 +68820,7 @@ SQL:%1
 FehleR:%2</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2533"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2570"/>
         <source>Rebuild of spatial index failed.
 SQL:%1
 Error: %2</source>
@@ -68009,52 +68829,52 @@ SQL:%1
 Fehler:%2</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2695"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2732"/>
         <source>Could not determine table existence.</source>
         <translation>Konnte Tabellenexistenz nicht feststellen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2707"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2744"/>
         <source>Table %1 could not be dropped.</source>
         <translation>Tabelle %1 konnte nicht gelöscht werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2712"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2749"/>
         <source>Table %1 already exists.</source>
         <translation>Tabelle %1 bereits vorhanden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2731"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2768"/>
         <source>Table creation failed.</source>
         <translation>Tabellenerzeugung gescheitert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2762"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2799"/>
         <source>Could not lookup authid %1:%2</source>
         <translation>Konnte AuthId %1:%2 nicht finden</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2778"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2815"/>
         <source>Could not lookup WKT.</source>
         <translation>Konnte WKT nicht finden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2789"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2826"/>
         <source>Could not determine new srid.</source>
         <translation>Konnte freie SRID nicht feststellen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2804"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2841"/>
         <source>CRS not found and could not be created.</source>
         <translation>KBS nicht gefunden und konnte auch nicht erzeugt werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2815"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2852"/>
         <source>Could not insert metadata.</source>
         <translation>Konnte Metadaten nicht einfügen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2839"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2876"/>
         <source>Drop created table %1 failed.
 SQL:%2
 Error: %3</source>
@@ -68063,12 +68883,12 @@ SQL:%2
 Fehler: %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3000"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3037"/>
         <source>Oracle SRID %1 not found.</source>
         <translation>Oracle SRID %1 nicht gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3005"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3042"/>
         <source>Lookup of Oracle SRID %1 failed.
 SQL:%2
 Error:%3</source>
@@ -68077,7 +68897,7 @@ SQL:%2
 Fehler:%3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.h" line="369"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.h" line="380"/>
         <source>Oracle error: %1
 SQL: %2
 Error: %3</source>
@@ -68086,7 +68906,7 @@ SQL: %2
 Fehler: %3</translation>
     </message>
     <message>
-        <location filename="../src/providers/oracle/qgsoracleprovider.h" line="377"/>
+        <location filename="../src/providers/oracle/qgsoracleprovider.h" line="388"/>
         <source>Oracle error: %1
 Error: %2</source>
         <translation>Oracle-Fehler: %1
@@ -70747,8 +71567,8 @@ Ergebnis: %3 (%4)</translation>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1475"/>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1480"/>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1485"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1772"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1778"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3052"/>
         <source>PostGIS</source>
         <translation>PostGIS</translation>
     </message>
@@ -70949,93 +71769,98 @@ SQL: %2</translation>
         <translation>Ignoriere Schlüsselkandidat wegen NULL-Werten oder Vererbung</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1768"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1731"/>
+        <source>Could not execute query</source>
+        <translation>Konnte Abfrage nicht ausführen</translation>
+    </message>
+    <message>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="1774"/>
         <source>Could not find topology of layer %1.%2.%3</source>
         <translation>Konnte Topologie des Layers %1.%2.%3 nicht finden</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2121"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2134"/>
         <source>PostGIS error while adding features: %1</source>
         <translation>PostGIS-Fehler beim Attributhinzufügen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2180"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2193"/>
         <source>PostGIS error while deleting features: %1</source>
         <translation>PostGIS-Fehler beim Objektlöschen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2252"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2265"/>
         <source>PostGIS error while adding attributes: %1</source>
         <translation>PostGIS-Fehler beim Attributhinzufügen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2307"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2320"/>
         <source>PostGIS error while deleting attributes: %1</source>
         <translation>PostGIS-Fehler beim Attributlöschen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2332"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2345"/>
         <source>Invalid attribute index: %1</source>
         <translation>Ungültiger Attributindex: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2338"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2351"/>
         <source>Error renaming field %1: name '%2' already exists</source>
         <translation>Fehler beim Umbenennen des Felds %1: name '%2' bereits vorhanden</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2367"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2380"/>
         <source>PostGIS error while renaming attributes: %1</source>
         <translation>PostGIS-Fehler beim Attributumbenennen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2479"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2829"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2492"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2842"/>
         <source>PostGIS error while changing attributes: %1</source>
         <translation>PostGIS-Fehler beim Attributändern: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2679"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="2692"/>
         <source>PostGIS error while changing geometry values: %1</source>
         <translation>PostGIS-Fehler beim Geometrieändern: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3039"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3052"/>
         <source>result of extents query invalid: %1</source>
         <translation>Ergebnis der Ausmaßabfrage ungültig: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3352"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3365"/>
         <source>Geometry type and srid for empty column %1 of %2 undefined.</source>
         <translation>Geometrietyp und SRID für leere Spalte %1 in %2 undefiniert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3381"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3394"/>
         <source>Feature type or srid for %1 of %2 could not be determined or was not requested.</source>
         <translation>Objekttyp oder SRID für %1 aus %2 konnte nicht festgestellt werden und wurde nicht festgelegt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3406"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3419"/>
         <source>Editing and adding disabled for 2D+ layer (%1; %2)</source>
         <translation>Ändern und Hinzufügen auf 2D+-Layern abgeschaltet (%1; %2)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3823"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3839"/>
         <source>PostgreSQL version: unknown</source>
         <translation>PostgreSQL-Version: unbekannt</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3824"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3840"/>
         <source>unknown</source>
         <translation>unbekannt</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3844"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3860"/>
         <source>PostgreSQL not connected</source>
         <translation>PostgreSQL nicht verbunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3847"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3863"/>
         <source>PostgreSQL/PostGIS provider
 %1
 PostGIS %2</source>
@@ -75920,7 +76745,7 @@ standard deviation ×</source>
     </message>
     <message>
         <location filename="../src/ui/qgsrendererrulepropsdialogbase.ui" line="35"/>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="785"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="784"/>
         <source>Filter</source>
         <translation>Filter</translation>
     </message>
@@ -75950,24 +76775,24 @@ standard deviation ×</source>
         <translation>Symbol</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="742"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="741"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="742"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="741"/>
         <source>Filter expression parsing error:
 </source>
         <translation>Filterausdrucksfehler:
 </translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="763"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="762"/>
         <source>Evaluation error</source>
         <translation>Auswertungsfehler</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="785"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="784"/>
         <source>Filter returned %n feature(s)</source>
         <comment>number of filtered features</comment>
         <translation>
@@ -76153,32 +76978,32 @@ standard deviation ×</source>
 <context>
     <name>QgsRuleBasedLabelingModel</name>
     <message>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="255"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="254"/>
         <source>(no filter)</source>
         <translation>(kein Filter)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="319"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="318"/>
         <source>Label</source>
         <translation>Beschriftung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="319"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="318"/>
         <source>Rule</source>
         <translation>Regel</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="319"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="318"/>
         <source>Min. scale</source>
         <translation>Min. Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="319"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="318"/>
         <source>Max. scale</source>
         <translation>Max. Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="319"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="318"/>
         <source>Text</source>
         <translation>Text</translation>
     </message>
@@ -76192,7 +77017,7 @@ standard deviation ×</source>
     </message>
     <message>
         <location filename="../src/ui/qgsrulebasedlabelingwidget.ui" line="64"/>
-        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="145"/>
+        <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="144"/>
         <source>Edit rule</source>
         <translation>Regel bearbeiten</translation>
     </message>
@@ -76220,52 +77045,52 @@ standard deviation ×</source>
 <context>
     <name>QgsRuleBasedRendererV2Model</name>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="867"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="866"/>
         <source>(no filter)</source>
         <translation>(kein Filter)</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="894"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="893"/>
         <source><li><nobr>%1 features also in rule %2</nobr></li></source>
         <translation><li><nobr>%1 Objekte auch in Regel %2</nobr></li></translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="959"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="958"/>
         <source>Label</source>
         <translation>Beschriftung</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="959"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="958"/>
         <source>Rule</source>
         <translation>Regel</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="959"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="958"/>
         <source>Min. scale</source>
         <translation>Min. Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="959"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="958"/>
         <source>Count</source>
         <translation>Anzahl</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="959"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="958"/>
         <source>Duplicate count</source>
         <translation>Doppelte</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="959"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="958"/>
         <source>Max. scale</source>
         <translation>Max. Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="966"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="965"/>
         <source>Number of features in this rule.</source>
         <translation>Anzahl der Objekte in dieser Regel.</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="970"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="969"/>
         <source>Number of features in this rule which are also present in other rule(s).</source>
         <translation>Anzahl von Objekten in dieser Regel, die auch in anderen Regeln vorkommen.</translation>
     </message>
@@ -76328,53 +77153,53 @@ standard deviation ×</source>
         <translation>Bereiche zur Regel hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="182"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="181"/>
         <source>Edit rule</source>
         <translation>Regel bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="259"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="258"/>
         <source>Add categories to rules</source>
         <translation>Alle Kategorien in Regeln</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="268"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="267"/>
         <source>Add ranges to rules</source>
         <translation>Alle Bereiche zu Regeln</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="283"/>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="289"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="282"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="288"/>
         <source>Scale refinement</source>
         <translation>Eine Regel für Maßstäbe präzisieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="283"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="282"/>
         <source>Parent rule %1 must have a symbol for this operation.</source>
         <translation>Für diese Operation muß die Elterregel %1 ein Symbol haben.</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="290"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="289"/>
         <source>Please enter scale denominators at which will split the rule, separate them by commas (e.g. 1000,5000):</source>
         <translation>Bitte geben Sie einen Maßstabsnenner an bei dem die Regel aufgeteilt werden soll. Trennen Sie sie durch Kommata (z.B. 1000,5000):</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="302"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="301"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="302"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="301"/>
         <source>"%1" is not valid scale denominator, ignoring it.</source>
         <translation>"%1" wird als ungültiger Nenner ignoriert.</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="546"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="545"/>
         <source>Calculating feature count.</source>
         <translation>Objektanzahl wird berechnet.</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="546"/>
+        <location filename="../src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp" line="545"/>
         <source>Abort</source>
         <translation>Abbrechen</translation>
     </message>
@@ -77891,14 +78716,12 @@ einheitssuffix</translation>
         <translation>Die Abfrage lieferte keine Layer.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssourceselectdialog.cpp" line="424"/>
         <source>Load connections</source>
-        <translation>Verbindungen laden</translation>
+        <translation type="obsolete">Verbindungen laden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgssourceselectdialog.cpp" line="425"/>
         <source>XML files (*.xml *XML)</source>
-        <translation>XML-Dateien (*.xml *.XML)</translation>
+        <translation type="obsolete">XML-Dateien (*.xml *.XML)</translation>
     </message>
 </context>
 <context>
@@ -78008,20 +78831,20 @@ einheitssuffix</translation>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3463"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3533"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3569"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4093"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4269"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4307"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4351"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4371"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4391"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4512"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4628"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4714"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4784"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4900"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4938"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5019"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5029"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4092"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4268"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4306"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4350"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4370"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4390"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4511"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4627"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4713"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4783"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4899"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4937"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5018"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5028"/>
         <source>SpatiaLite</source>
         <translation>SpatiaLite</translation>
     </message>
@@ -78037,25 +78860,25 @@ einheitssuffix</translation>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3463"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3533"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3569"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3799"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3836"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3877"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3946"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4052"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4093"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4137"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4269"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4307"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4351"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4371"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4391"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4512"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4628"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4714"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4784"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4900"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4938"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5019"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3798"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3835"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3876"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3945"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4051"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4092"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4136"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4268"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4306"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4350"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4370"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4390"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4511"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4627"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4713"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4783"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4899"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4937"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5018"/>
         <source>SQLite error: %2
 SQL: %1</source>
         <translation>SQLite-Fehler:%2
@@ -78065,17 +78888,17 @@ SQL: %1</translation>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="912"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3400"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3463"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3799"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3877"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3946"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4052"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4137"/>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4628"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3798"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3876"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="3945"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4051"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4136"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="4627"/>
         <source>unknown cause</source>
         <translation>unbekannte Ursache</translation>
     </message>
     <message>
-        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5029"/>
+        <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5028"/>
         <source>FAILURE: Field %1 not found.</source>
         <translation>FEHLER: Feld %1 nicht gefunden.</translation>
     </message>
@@ -78868,13 +79691,13 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>QgsStatusBarMagnifierWidget</name>
     <message>
-        <location filename="../src/app/qgsstatusbarmagnifierwidget.cpp" line="40"/>
         <location filename="../src/app/qgsstatusbarmagnifierwidget.cpp" line="41"/>
+        <location filename="../src/app/qgsstatusbarmagnifierwidget.cpp" line="42"/>
         <source>Magnifier</source>
         <translation>Vergrößerung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsstatusbarmagnifierwidget.cpp" line="51"/>
+        <location filename="../src/app/qgsstatusbarmagnifierwidget.cpp" line="52"/>
         <source>Magnifier level</source>
         <translation>Vergrößerungsgrad</translation>
     </message>
@@ -79655,9 +80478,13 @@ Es gab ein Problem mit Ihrer Symboldatenbank.</translation>
     </message>
     <message>
         <location filename="../src/app/qgssubstitutionlistwidget.cpp" line="163"/>
-        <source>The selected file in not an substitutions list.</source>
+        <source>The selected file is not a substitution list.</source>
         <translation>Die gewählte Datei ist keine Ersetzungsliste.</translation>
     </message>
+    <message>
+        <source>The selected file in not an substitutions list.</source>
+        <translation type="obsolete">Die gewählte Datei ist keine Ersetzungsliste.</translation>
+    </message>
 </context>
 <context>
     <name>QgsSubstitutionListWidgetBase</name>
@@ -81545,14 +82372,14 @@ Datenanbieterfehler:</translation>
 <context>
     <name>QgsVectorLayerProperties</name>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="881"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="987"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="888"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="994"/>
         <source>QGIS Layer Style File</source>
         <translation>QGIS-Layerstildatei</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="881"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="982"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="888"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="989"/>
         <source>SLD File</source>
         <translation>SLD-Datei</translation>
     </message>
@@ -81562,125 +82389,125 @@ Datenanbieterfehler:</translation>
         <translation>Aus Datenbank laden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="184"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="191"/>
         <source>Save in database (%1)</source>
         <translation>In Datenbank speichern (%1)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="302"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="309"/>
         <source>Layer Properties - %1</source>
         <translation>Layereigenschaften - %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1364"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1371"/>
         <source>Stop editing mode to enable this.</source>
         <translation>Bearbeitungsmodus beenden, um dies zu aktivieren.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="376"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="383"/>
         <source>Insert expression</source>
         <translation>Ausdruck einfügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="409"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="416"/>
         <source>This button opens the query builder and allows you to create a subset of features to display on the map canvas rather than displaying all features in the layer</source>
         <translation>Dieser Knopf öffnet die Abfrageerstellung und ermöglicht, statt aller Objekte, eine Untermenge der Objekte auf dem Kartenfenster darzustellen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="412"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="419"/>
         <source>The query used to limit the features in the layer is shown here. To enter or modify the query, click on the Query Builder button</source>
         <translation>Die Abfrage zur Begrenzung der Anzahl der Objekte wird hier angezeigt. Klicken Sie auf auf 'Abfrageerstellung', um eine Abfrage einzugeben oder zu ändern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="438"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="445"/>
         <source>Not supported</source>
         <translation>Nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="466"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="473"/>
         <source>Distance</source>
         <translation>Entfernung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="467"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="474"/>
         <source>SnapToGrid</source>
         <translation>SnapToGrid</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="468"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="475"/>
         <source>Visvalingam</source>
         <translation>Visvalingam</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="756"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="761"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="763"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="768"/>
         <source>Spatial Index</source>
         <translation>Räumlicher Index</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="756"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="763"/>
         <source>Creation of spatial index successful</source>
         <translation>Räumlichen Indexes erfolgreich erstellt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="761"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="768"/>
         <source>Creation of spatial index failed</source>
         <translation>Erstellung des räumlichen Indexes schlug fehl</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="789"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="796"/>
         <source>Load default style from: </source>
         <translation>Vorgabestil laden aus: </translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="791"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="846"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="798"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="853"/>
         <source>Cancel</source>
         <translation>Abbruch</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="792"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="847"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="799"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="854"/>
         <source>Local database</source>
         <translation>Lokale Datenbank</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="793"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="848"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="800"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="855"/>
         <source>Datasource database</source>
         <translation>Datenquellendatenbank</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="804"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="808"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="833"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="870"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="811"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="815"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="840"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="877"/>
         <source>Default Style</source>
         <translation>Vorgabestil</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="806"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="813"/>
         <source>Loaded from Provider</source>
         <translation>Vom Datenanbieter geladen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="809"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="816"/>
         <source>No default style was found for this layer</source>
         <translation>Kein Vorgabestil für diesen Layer gefunden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="844"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="851"/>
         <source>Save default style to: </source>
         <translation>Vorgabestil speichern in: </translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="880"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="887"/>
         <source>Load layer properties from style file</source>
         <translation>Layereigenschaften aus Stildatei laden</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="97"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="909"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="916"/>
         <source>Load Style</source>
         <translation>Stil laden</translation>
     </message>
@@ -81705,28 +82532,28 @@ Datenanbieterfehler:</translation>
         <translation>Aus Datei laden...</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="967"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="974"/>
         <source>Style saved</source>
         <translation>Stil gespeichert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="991"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="998"/>
         <source>Save layer properties as style file</source>
         <translation>Layereigenschaften als Stildatei speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1027"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1034"/>
         <source>Saved Style</source>
         <translation>Gespeicherter Stil</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1122"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1129"/>
         <source>The retrieved style is not a valid named style. Error message: %1</source>
         <translation>Der geladene Stil ist kein gültiger benannter Stil.  Fehlermeldung: %1</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="98"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1337"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1344"/>
         <source>Save Style</source>
         <translation>Stil speichern</translation>
     </message>
@@ -81741,14 +82568,14 @@ Datenanbieterfehler:</translation>
         <translation>Vorgabe wiederherstellen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1097"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1111"/>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1121"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1104"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1118"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1128"/>
         <source>Error occurred retrieving styles from database</source>
         <translation>Fehler beim Laden von Stilen aus der Datenbank</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1271"/>
+        <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1278"/>
         <source>all</source>
         <translation>Alle</translation>
     </message>
@@ -82168,65 +82995,128 @@ Datenanbieterfehler:</translation>
 <context>
     <name>QgsVectorLayerSaveAsDialog</name>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="87"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="90"/>
         <source>Automatic</source>
         <translation>Automatisch</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="92"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="95"/>
         <source>No geometry</source>
         <translation>Keine Geometrie</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="115"/>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="745"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="118"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="897"/>
         <source>No symbology</source>
         <translation>Keine Darstellung</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="116"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="119"/>
         <source>Feature symbology</source>
         <translation>Objektdarstellung</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="117"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="120"/>
         <source>Symbol layer symbology</source>
         <translation>Symbollayerdarstellung</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="166"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="169"/>
         <source><Default></source>
         <translation><Vorgabe></translation>
     </message>
     <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="231"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="260"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="281"/>
+        <source>The layer already exists</source>
+        <translation>Der Layer existiert bereits</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="232"/>
+        <source>Do you want to overwrite the whole file or overwrite the layer?</source>
+        <translation>Soll die ganze Datei überschrieben werde oder der Layer?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="233"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="262"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="283"/>
+        <source>Overwrite file</source>
+        <translation>Datei überschreiben</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="234"/>
         <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="263"/>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="268"/>
+        <source>Overwrite layer</source>
+        <translation>Layer überschreiben</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="248"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="322"/>
+        <source>The file already exists</source>
+        <translation>Die Datei ist bereits vorhanden.</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="249"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="323"/>
+        <source>Do you want to overwrite the existing file?</source>
+        <translation>Soll die vorhandene Datei überschrieben werden?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="261"/>
+        <source>Do you want to overwrite the whole file, overwrite the layer or append features to the layer?</source>
+        <translation>Wenn die ganze Datei überschrieben werden soll, den ganzen Layer überschreiben oder die Objekte an den Layer anhängen?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="264"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="284"/>
+        <source>Append to layer</source>
+        <translation>Anhängen an den Layer</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="282"/>
+        <source>Do you want to overwrite the whole file or append features to the layer?</source>
+        <translation>Soll die ganze Datei überschrieben werden oder die Objekte an den Layer angehängt werden?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="304"/>
+        <source>The existing layer has different fields</source>
+        <translation>Die vorhandene Datei hat andere Felder</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="305"/>
+        <source>Do you want to add the missing fields to the layer?</source>
+        <translation>Sollen die fehlenden Felder zum Layer hinzugefügt werden?</translation>
+    </message>
+    <message>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="398"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="403"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="263"/>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="268"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="398"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="403"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="263"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="398"/>
         <source>Replace with displayed values</source>
         <translation>Mit angezeigten Werten ersetzen</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="294"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="429"/>
         <source>Use %1</source>
         <translation>%1 benutzen</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="495"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="637"/>
         <source>Save layer as...</source>
         <translation>Layer speichern als...</translation>
     </message>
     <message>
-        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="108"/>
+        <location filename="../src/app/ogr/qgsvectorlayersaveasdialog.cpp" line="111"/>
         <source>Select the coordinate reference system for the vector file. The data points will be transformed from the layer coordinate reference system.</source>
         <translation>Koordinatenbezugssystem für die Vektordatei wählen. Die Datenpunkte werden vom Koordinatenbezugssystem des Layers transformiert.</translation>
     </message>
@@ -82244,7 +83134,7 @@ Datenanbieterfehler:</translation>
         <translation>Durchsuchen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="103"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="120"/>
         <source>Encoding</source>
         <translation>Kodierung</translation>
     </message>
@@ -82254,59 +83144,68 @@ Datenanbieterfehler:</translation>
         <translation>KBS</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="66"/>
+        <source>File name</source>
+        <translation>Dateiname</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="83"/>
+        <source>Layer name</source>
+        <translation>Layername</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="142"/>
         <source>Select fields to export and their export options</source>
         <translation>Felder zum Export und deren Exportoptionen wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="180"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="197"/>
         <source>Replace all selected raw field values by displayed values</source>
         <translation>Alle gewählten Feldrohwerte durch Anzeigewert ersetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="202"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="219"/>
         <source>Symbology export</source>
         <translation>Darstellungsexport</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="238"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="255"/>
         <source>Geometry</source>
         <translation>Geometrie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="246"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="263"/>
         <source>Geometry type</source>
         <translation>Geometrietyp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="258"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="275"/>
         <source>Force multi-type</source>
         <translation>Mehrfachtyp erzwingen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="265"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="282"/>
         <source>Include z-dimension</source>
         <translation>Z-Dimension einschließen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="278"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="295"/>
         <source>Datasource Options</source>
         <translation>Datenquelleneinstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="302"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="319"/>
         <source>Custom Options</source>
         <translation>Benutzeroptionen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="290"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="307"/>
         <source>Layer Options</source>
         <translation>Layeroptionen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="66"/>
         <source>Save as</source>
-        <translation>Speichern unter</translation>
+        <translation type="obsolete">Speichern unter</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="53"/>
@@ -82314,42 +83213,42 @@ Datenanbieterfehler:</translation>
         <translation>Format</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="135"/>
         <source>Save only selected features</source>
         <translation>Nur gewählte Objekt speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="164"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="181"/>
         <source>Select All</source>
         <translation>Alle wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="171"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="188"/>
         <source>Deselect All</source>
         <translation>Alle abwählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="311"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="328"/>
         <source>Data source</source>
         <translation>Datenquelle</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="352"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="369"/>
         <source>Layer</source>
         <translation>Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="190"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="207"/>
         <source>Add saved file to map</source>
         <translation>Gespeicherte Datei zur Karte hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="223"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="240"/>
         <source>1:</source>
         <translation>1:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="216"/>
+        <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="233"/>
         <source>Scale</source>
         <translation>Maßstab</translation>
     </message>
@@ -84238,18 +85137,18 @@ Antwort war:
 <context>
     <name>QgsWebPage</name>
     <message>
-        <location filename="../src/core/qgswebpage.h" line="239"/>
+        <location filename="../src/core/qgswebpage.h" line="243"/>
         <source>Line %1: %2</source>
         <translation>Zeile %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/core/qgswebpage.h" line="239"/>
-        <location filename="../src/core/qgswebpage.h" line="241"/>
+        <location filename="../src/core/qgswebpage.h" line="243"/>
+        <location filename="../src/core/qgswebpage.h" line="245"/>
         <source>Javascript</source>
         <translation>Javascript</translation>
     </message>
     <message>
-        <location filename="../src/core/qgswebpage.h" line="241"/>
+        <location filename="../src/core/qgswebpage.h" line="245"/>
         <source>%1 (line %2): %3</source>
         <translation>%1 (Zeile %2): %3</translation>
     </message>
@@ -84368,47 +85267,47 @@ Antwort war:
 <context>
     <name>QgsWmsImageDownloadHandler</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3577"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3582"/>
         <source>Map request error (Status: %1; Reason phrase: %2; URL:%3)</source>
         <translation>Kartenabfrage-Fehler (Status: %1; Grund:%2; URL: %3)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3580"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3602"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3611"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3619"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3644"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3648"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3585"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3607"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3616"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3624"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3649"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3653"/>
         <source>WMS</source>
         <translation>WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3601"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3606"/>
         <source>Returned image is flawed [Content-Type:%1; URL:%2]</source>
         <translation>Geladenes Bild ist defekt [Content-Type:%1; URL: %2]</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3609"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3614"/>
         <source>Map request error (Title:%1; Error:%2; URL: %3)</source>
         <translation>Kartenabfrage-Fehler (Titel: %1; Fehler:%2; URL: %3)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3615"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3620"/>
         <source>Map request error (Status: %1; Response: %2; Content-Type: %3; URL:%4)</source>
         <translation>Kartenabfrage-Fehler (Status: %1; Antwort:%2; Content-Type: %3; URL: %4)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3644"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3649"/>
         <source>Map request failed [error:%1 url:%2]</source>
         <translation>Kartenabfrage-Fehler [Fehler:%1; URL: %2]</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3648"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3653"/>
         <source>Not logging more than 100 request errors.</source>
         <translation>Nicht mehr als 100 Abfragefehler werden protokolliert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3663"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3668"/>
         <source>%1 of %2 bytes of map downloaded.</source>
         <translation>%1 von %2 Bytes der Karte heruntergeladen.</translation>
     </message>
@@ -84416,29 +85315,29 @@ Antwort war:
 <context>
     <name>QgsWmsLegendDownloadHandler</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4083"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4088"/>
         <source>Redirect loop detected: %1</source>
         <translation>Umleitungszyklus festgestellt: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4084"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4089"/>
         <source>WMS</source>
         <translation>WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4156"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4161"/>
         <source>GetLegendGraphic request error</source>
         <translation>GetLegendGraphic-Abfragefehler</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4158"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4163"/>
         <source>Status: %1
 Reason phrase: %2</source>
         <translation>Status: %1
 Grund: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4166"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4171"/>
         <source>Returned legend image is flawed [URL: %1]</source>
         <translation>Geladenes Legendenbild ist defekt [URL: %1]</translation>
     </message>
@@ -84467,10 +85366,10 @@ Grund: %2</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsprovider.cpp" line="316"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="876"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="885"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2728"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3145"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="881"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="890"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2733"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3150"/>
         <source>WMS</source>
         <translation>WMS</translation>
     </message>
@@ -84490,17 +85389,17 @@ Grund: %2</translation>
         <translation>Kachellayer oder Kachelmatrixsatz nicht gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="628"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="631"/>
         <source>Getting map via WMS.</source>
         <translation>Lade Karte über WMS.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="748"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="753"/>
         <source>Getting tiles.</source>
         <translation>Lade Kacheln.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="858"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="863"/>
         <source>%n tile requests in background</source>
         <comment>tile request count</comment>
         <translation>
@@ -84509,7 +85408,7 @@ Grund: %2</translation>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="859"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="864"/>
         <source>, %n cache hits</source>
         <comment>tile cache hits</comment>
         <translation>
@@ -84518,7 +85417,7 @@ Grund: %2</translation>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="860"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="865"/>
         <source>, %n cache misses.</source>
         <comment>tile cache missed</comment>
         <translation>
@@ -84527,7 +85426,7 @@ Grund: %2</translation>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="861"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="866"/>
         <source>, %n errors.</source>
         <comment>errors</comment>
         <translation>
@@ -84536,205 +85435,205 @@ Grund: %2</translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="876"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="881"/>
         <source>image is NULL</source>
         <translation>Bild ist NULL</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="885"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="890"/>
         <source>unexpected image size</source>
         <translation>Unerwartete Bildgröße</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1346"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1351"/>
         <source>Dom Exception</source>
         <translation>DOM-Ausnahme</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1400"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1405"/>
         <source>Service Exception</source>
         <translation>Dienstausnahme</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1405"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1410"/>
         <source>Request contains a format not offered by the server.</source>
         <translation>Anfrage enthält ein Format, dass der Server nicht anbietet.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1409"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1414"/>
         <source>Request contains a CRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Anfrage verlangt ein CRS für einen oder mehrere Layer, die der Server nicht anbietet.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1413"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1418"/>
         <source>Request contains a SRS not offered by the server for one or more of the Layers in the request.</source>
         <translation>Anfrage enthält ein SRS für einen oder mehrere Layer, die der Server nicht anbietet.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1417"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1422"/>
         <source>GetMap request is for a Layer not offered by the server, or GetFeatureInfo request is for a Layer not shown on the map.</source>
         <translation>GetMap-Anfrage für einen Layer, den der Server nicht anbietet oder GetFeature-Anfrage für einen Layer, der nicht auf der Karte angezeigt wird.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1422"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1427"/>
         <source>Request is for a Layer in a Style not offered by the server.</source>
         <translation>Anfrage für einen Layer in einem Stil, den der Server nicht anbietet.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1426"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1431"/>
         <source>GetFeatureInfo request is applied to a Layer which is not declared queryable.</source>
         <translation>GetFeatureInfo-Anfrage wird auf einen Layer bezogen, der nicht als abfragbar deklariert ist.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1430"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1435"/>
         <source>GetFeatureInfo request contains invalid X or Y value.</source>
         <translation>GetFeatureInfo-Anfrage enthält einen ungültigen X- oder Y-Wert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1434"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1439"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is equal to current value of service metadata update sequence number.</source>
         <translation>Wert des (optionalen) Aktualisierungssequenenzzählers der GetCapabilities-Anfrage entspricht dem aktuellen Wert des Aktualisierungssequenzzähler in den Dienstmetadaten.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1439"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1444"/>
         <source>Value of (optional) UpdateSequence parameter in GetCapabilities request is greater than current value of service metadata update sequence number.</source>
         <translation>Wert des (optionalen) Aktualisierungssequenenzzählers der GetCapabilities-Anfrage ist größer als der aktuelle Wert des Aktualisierungssequenzzähler in den Dienstmetadaten.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1444"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1449"/>
         <source>Request does not include a sample dimension value, and the server did not declare a default value for that dimension.</source>
         <translation>Anfrage enthält keinen beispielhaften Dimensionswert, und der Server selbst definiert auch keinen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1449"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1454"/>
         <source>Request contains an invalid sample dimension value.</source>
         <translation>Anfrage enthält einen ungültigen beispielhaften Dimensionswert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1453"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1458"/>
         <source>Request is for an optional operation that is not supported by the server.</source>
         <translation>Anfrage ist für eine optionale Operation, die der Server nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1457"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1462"/>
         <source>(No error code was reported)</source>
         <translation>(Kein Fehlercode zurückgegeben)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1461"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1466"/>
         <source>(Unknown error code)</source>
         <translation>(Unbekannter Fehlercode)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1464"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1469"/>
         <source>The WMS vendor also reported: </source>
         <translation>Der WMS-Betreiber meldete folgendes: </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1663"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1873"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2136"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2328"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1668"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1878"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2141"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2333"/>
         <source>Property</source>
         <translation>Eigenschaft</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1666"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1876"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2139"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2331"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1671"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1881"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2144"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2336"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1671"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1785"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1676"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1790"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1679"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1684"/>
         <source>Visibility</source>
         <translation>Sichtbarkeit</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1682"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1687"/>
         <source>Visible</source>
         <translation>Sichtbar</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1682"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1687"/>
         <source>Hidden</source>
         <translation>Versteckt</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1687"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1793"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1889"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1692"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1798"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1894"/>
         <source>Title</source>
         <translation>Titel</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1695"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1801"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1897"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1700"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1806"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1902"/>
         <source>Abstract</source>
         <translation>Zusammenfassung</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1703"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1708"/>
         <source>Can Identify</source>
         <translation>Kann abgefragt werden</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1706"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1714"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1722"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2146"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1719"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1727"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
         <source>Yes</source>
         <translation>Ja</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1706"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1714"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1722"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2146"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1719"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1727"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2151"/>
         <source>No</source>
         <translation>Nein</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1711"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1716"/>
         <source>Can be Transparent</source>
         <translation>Kann transparent sein</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1719"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1724"/>
         <source>Can Zoom In</source>
         <translation>Kann herangezoomt werden</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1727"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1732"/>
         <source>Cascade Count</source>
         <translation>Kaskadiere Anzahl</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1735"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1740"/>
         <source>Fixed Width</source>
         <translation>Feste Breite</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1743"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1748"/>
         <source>Fixed Height</source>
         <translation>Feste Höhe</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1753"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1763"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1758"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1768"/>
         <source>Available in CRS</source>
         <translation>Verfügbar in KBS</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1766"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1771"/>
         <source>(and %n more)</source>
         <comment>crs</comment>
         <translation>
@@ -84743,95 +85642,95 @@ Grund: %2</translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1776"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1781"/>
         <source>Available in style</source>
         <translation>Verfügbar im Stil</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1811"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1816"/>
         <source>LegendURLs</source>
         <translation>LegendenURLs</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1864"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1869"/>
         <source>Server Properties</source>
         <translation>Server-Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1844"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2062"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1849"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2067"/>
         <source>Selected Layers</source>
         <translation>Gewählte Layer</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1846"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2079"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1851"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2084"/>
         <source>Other Layers</source>
         <translation>Andere Layer</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1852"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1857"/>
         <source>Tile Layer Properties</source>
         <translation>Kachellayer-Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1856"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1861"/>
         <source>Cache Stats</source>
         <translation>Cache-Statistik</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1881"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1886"/>
         <source>WMS Version</source>
         <translation>WMS-Version</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1905"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1910"/>
         <source>Keywords</source>
         <translation>Schlüsselworte</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1913"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1918"/>
         <source>Online Resource</source>
         <translation>Online-Quelle</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1921"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1926"/>
         <source>Contact Person</source>
         <translation>Kontaktperson</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1933"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1938"/>
         <source>Fees</source>
         <translation>Gebühren</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1941"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1946"/>
         <source>Access Constraints</source>
         <translation>Zugriffsbeschränkungen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2031"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2036"/>
         <source>Image Formats</source>
         <translation>Bildformate</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2021"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2039"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2026"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2044"/>
         <source>Identify Formats</source>
         <translation>Abfrageformate</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2047"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2052"/>
         <source>Layer Count</source>
         <translation>Layeranzahl</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1979"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1984"/>
         <source>Tile Layer Count</source>
         <translation>Kachellayeranzahl</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1347"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1352"/>
         <source>Could not get WMS Service Exception: %1 at line %2 column %3
 
 Response was:
@@ -84844,283 +85743,283 @@ Antwort war:
 %4</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1949"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1954"/>
         <source>GetCapabilitiesUrl</source>
         <translation>GetCapabilities-URL</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1956"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1961"/>
         <source>GetMapUrl</source>
         <translation>GetMap-URL</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1959"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1966"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1973"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1964"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1971"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1978"/>
         <source>&nbsp;<font color="red">(advertised but ignored)</font></source>
         <translation>&nbsp;<font color="red">(gemeldet, aber ignoriert)</font></translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1963"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1968"/>
         <source>GetFeatureInfoUrl</source>
         <translation>GetFeatureInfoUrl</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1970"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1975"/>
         <source>GetLegendGraphic</source>
         <translation>GetLegendGraphic</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1986"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1991"/>
         <source>GetTileUrl</source>
         <translation>GetTileUrl</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="1995"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2000"/>
         <source>Tile templates</source>
         <translation>Kachelvorlagen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2007"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2012"/>
         <source>FeatureInfo templates</source>
         <translation>FeatureInfo-Vorlagen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2095"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2100"/>
         <source>Tileset Properties</source>
         <translation>Tileset-Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2106"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2111"/>
         <source>Identifier</source>
         <translation>Kennung</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2108"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2113"/>
         <source>Tile mode</source>
         <translation>Kachelmodus</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2117"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2122"/>
         <source>WMTS</source>
         <translation>WMTS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2121"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2126"/>
         <source>WMS-C</source>
         <translation>WMS-C</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2125"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2130"/>
         <source>XYZ</source>
         <translation>XYZ</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2129"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2134"/>
         <source>Invalid tile mode</source>
         <translation>Ungültiger Kachelmodus</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2143"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2148"/>
         <source>Selected</source>
         <translation>Ausgewählt</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2152"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2157"/>
         <source>Available Styles</source>
         <translation>Verfügbare Stile</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2165"/>
         <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2170"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2175"/>
         <source>CRS</source>
         <translation>KBS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2173"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2178"/>
         <source>Bounding Box</source>
         <translation>Ausdehnung</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2186"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2191"/>
         <source>Available Tilesets</source>
         <translation>Verfügbare Kachelsätze</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2222"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
         <source>Selected tile matrix set </source>
         <translation>Gewählter Kachelmatrixsatz </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2224"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2229"/>
         <source>Scale</source>
         <translation>Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2225"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2230"/>
         <source>Tile size [px]</source>
         <translation>Kachengröße [px]</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2226"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
         <source>Tile size [mu]</source>
         <translation>Kachengröße [KE]</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2227"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2232"/>
         <source>Matrix size</source>
         <translation>Matrixgröße</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2228"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2233"/>
         <source>Matrix extent [mu]</source>
         <translation>Matrixgrenzen [KE]</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2229"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2234"/>
         <source>Bounds</source>
         <translation>Grenzen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2230"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
         <source>Width</source>
         <translation>Breite</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2231"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2236"/>
         <source>Height</source>
         <translation>Höhe</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2232"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2237"/>
         <source>Top</source>
         <translation>Oben</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2233"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2238"/>
         <source>Left</source>
         <translation>Links</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2234"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2239"/>
         <source>Bottom</source>
         <translation>Unten</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2235"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2240"/>
         <source>Right</source>
         <translation>Rechts</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2265"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2291"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2270"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2296"/>
         <source>%n missing row(s)</source>
         <translation>%n fehlende Zeilen</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2266"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2271"/>
         <source>Layer's upper bound: %1</source>
         <translation>Obere Begrenzung des Layers: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2278"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2304"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2283"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2309"/>
         <source>%n missing column(s)</source>
         <translation>%n fehlende Spalten</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2279"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2284"/>
         <source>Layer's left bound: %1</source>
         <translation>Linke Begrenzung des Layers: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2292"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2297"/>
         <source>Layer's lower bound: %1</source>
         <translation>Untere Begrenzung des Layers: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2305"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2310"/>
         <source>Layer's right bound: %1</source>
         <translation>Rechte Begrenzung des Layers: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2322"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2327"/>
         <source>Cache stats</source>
         <translation>Cache-Statistik</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2335"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2340"/>
         <source>Hits</source>
         <translation>Treffer</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2341"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2346"/>
         <source>Misses</source>
         <translation>Fehlgriffe</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2347"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2352"/>
         <source>Errors</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2370"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2375"/>
         <source>Format not supported</source>
         <translation>Format nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2390"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2395"/>
         <source>Context not fully specified (extent was defined but width and/or height was not).</source>
         <translation>Kontext nicht vollständig angegeben (Ausmaß wurde definiert, aber Breite und Höhe nicht).</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2726"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2731"/>
         <source>Get feature info request error (Title:%1; Error:%2; URL: %3)</source>
         <translation>Abfrageanfragefehler (Titel:%1; Fehler: %2; URL: %3)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2848"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2853"/>
         <source>GML schema is not valid</source>
         <translation>GML-Schema ist ungültig</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2854"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2859"/>
         <source>GML is not valid</source>
         <translation>GML ist ungültig</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2868"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2943"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2873"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2948"/>
         <source>Cannot identify</source>
         <translation>Abfrage gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2944"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2949"/>
         <source>Result parsing failed. %1 feature types were guessed from gml (%2) but no features were parsed.</source>
         <translation>Ergebnisüberprüfung fehlgeschlagen. %1 Objekttypen wurden aus dem gml (%2) geraten aber keine Objekte wurden analysiert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3102"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3107"/>
         <source>identify request redirected.</source>
         <translation>Identify-Anfrage umgeleitet.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3119"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3124"/>
         <source>Map getfeatureinfo error %1: %2</source>
         <translation>GetFeatureInfo-Fehler %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3128"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3133"/>
         <source>Cannot parse getfeatureinfo: %1</source>
         <translation>Konnte GetFeatureInfo nicht interpretieren: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3143"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3148"/>
         <source>Map getfeatureinfo error: %1 [%2]</source>
         <translation>GetFeatureInfo-Fehler %1 [%2]</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3476"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3481"/>
         <source>%1 of %2 bytes of GetLegendGraphic downloaded.</source>
         <translation>%1 von %2 Bytes der Legendengrafik heruntergeladen.</translation>
     </message>
@@ -85128,44 +86027,44 @@ Antwort war:
 <context>
     <name>QgsWmsTiledImageDownloadHandler</name>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3825"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3830"/>
         <source>Tile request error</source>
         <translation>Tile-Anfragefehler</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3825"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3830"/>
         <source>Status: %1
 Reason phrase: %2</source>
         <translation>Status: %1
 Grund: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3845"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3850"/>
         <source>Tile request error (Title:%1; Error:%2; URL: %3)</source>
         <translation>Kachelabfrage-Fehler (Titel: %1; Fehler: %2; URL: %3)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3847"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3855"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3913"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3978"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3996"/>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4005"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3852"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3860"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3918"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3983"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4001"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4010"/>
         <source>WMS</source>
         <translation>WMS</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3851"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3856"/>
         <source>Tile request error (Status:%1; Content-Type:%2; Length:%3; URL: %4)</source>
         <translation>Kachelabfrage-Fehler (Status: %1; Content-Typ: %2; Länge: %3; URL: %4)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3912"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3917"/>
         <source>Returned image is flawed [Content-Type:%1; URL: %2]</source>
         <translation>Geladenes Bild ist defekt [Content-Type:%1; URL: %2]</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3953"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3958"/>
         <source>%n tile requests in background</source>
         <comment>tile request count</comment>
         <translation>
@@ -85174,7 +86073,7 @@ Grund: %2</translation>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3954"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3959"/>
         <source>, %n cache hits</source>
         <comment>tile cache hits</comment>
         <translation>
@@ -85183,7 +86082,7 @@ Grund: %2</translation>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3955"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3960"/>
         <source>, %n cache misses.</source>
         <comment>tile cache missed</comment>
         <translation>
@@ -85192,7 +86091,7 @@ Grund: %2</translation>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3956"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3961"/>
         <source>, %n errors.</source>
         <comment>errors</comment>
         <translation>
@@ -85201,17 +86100,17 @@ Grund: %2</translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3978"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3983"/>
         <source>Not logging more than 100 request errors.</source>
         <translation>Nicht mehr als 100 Abfragefehler werden protokolliert.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3995"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4000"/>
         <source>Tile request max retry error. Failed %1 requests for tile %2 of tileRequest %3 (url: %4)</source>
         <translation>Maximale Wiederholungen erreicht. %1 Abfragen der Kachel %2 der Kachelabfrage %3 (url: %4)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4004"/>
+        <location filename="../src/providers/wms/qgswmsprovider.cpp" line="4009"/>
         <source>repeat tileRequest %1 tile %2(retry %3)</source>
         <translation>Wiederhole Kachelabfrage %1, Kachel %2 (Wiederholung %3)</translation>
     </message>
@@ -85411,41 +86310,41 @@ Grund: %2</translation>
 <context>
     <name>RAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2382"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2388"/>
         <source>[Unnamed algorithm]</source>
         <translation>[Unbenannte Algorithmen]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2383"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2389"/>
         <source>User R scripts</source>
         <translation>R-Benutzerskripte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2384"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2390"/>
         <source>Could not load R script: %s.
  Problem with line %s</source>
         <translation>Konnte R-Skript nicht laden: %s.
 Problem mit Zeile %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2385"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2391"/>
         <source>R Console Output</source>
         <translation>R-Konsolenausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2386"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2392"/>
         <source>R folder is not configured.
 Please configure it before running R scripts.</source>
         <translation>R-Verzeichnis nicht konfiguriert.
 Bitte vor der Ausführung von R-Skripten einstellen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2387"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2393"/>
         <source>R execution commands</source>
         <translation>R-Befehlsausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2388"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2394"/>
         <source><p>This algorithm requires R to be run. Unfortunately it seems that R is not installed in your system or it is not correctly configured to be used from QGIS</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Click here</a> to know more about how to install and configure R to be used with QGIS</p></source>
         <translation><p>Dieser Algorithmus erfordert die Ausführung von R. Leider scheint R nicht richtig für die Verwendung in QGIS installiert oder konfiguriert zu sein</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Hier klicken</a> um mehr zur Installation und Konfiguration von R für QGIS zu erfahren</p></translation>
     </message>
@@ -85453,27 +86352,27 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
 <context>
     <name>RAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2392"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2398"/>
         <source>R Scripts folder</source>
         <translation>R-Skriptverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2393"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2399"/>
         <source>R folder</source>
         <translation>R-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2394"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2400"/>
         <source>R user library folder</source>
         <translation>R-Benutzerbibliotheksverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2395"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2401"/>
         <source>Use 64 bit version</source>
         <translation>64bit-Version verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2396"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2402"/>
         <source>Could not load R script: %s
 %s</source>
         <translation>Konnte R-Skript nicht laden: %s
@@ -85483,25 +86382,25 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
 <context>
     <name>RUtils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2400"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2406"/>
         <source>R execution console output</source>
         <translation>Konsolenausgabe aus R-Ausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2401"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2407"/>
         <source><h2>R Output</h2>
 </source>
         <translation><h2>R-Ausgabe</h2></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2402"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2408"/>
         <source>R folder is not configured.
 Please configure it before running R scripts.</source>
         <translation>R-Verzeichnis nicht konfiguriert.
 Bitte vor der Ausführung von R-Skripten einstellen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2403"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2409"/>
         <source><p>This algorithm requires R to be run. Unfortunately, it seems that R is not installed in your system, or it is not correctly configured to be used from QGIS</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Click here</a> to know more about how to install and configure R to be used with QGIS</p></source>
         <translation><p>Dieser Algorithmus erfordert die Ausführung von R. Leider scheint R nicht richtig für die Verwendung in QGIS installiert oder konfiguriert zu sein</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Hier klicken</a> um mehr zur Installation und Konfiguration von R für QGIS zu erfahren</p></translation>
     </message>
@@ -85509,52 +86408,52 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
 <context>
     <name>RandomExtract</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2408"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2414"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2409"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2415"/>
         <source>Number of selected features</source>
         <translation>Anzahl gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2410"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2416"/>
         <source>Percentage of selected features</source>
         <translation>Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2411"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2417"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2412"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2418"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2413"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2419"/>
         <source>Number/percentage of selected features</source>
         <translation>Anzahl/Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2414"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2420"/>
         <source>Extracted (random)</source>
         <translation>Extrahiert (zufällig)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2415"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2421"/>
         <source>Selected number is greater than feature count. Choose a lower value and try again.</source>
         <translation>Die gewählte Zahl ist größer als die Objektanzahl. Kleineren Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2416"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2422"/>
         <source>Percentage can't be greater than 100. Set a different value and try again.</source>
         <translation>Prozentsatz kann nicht größer 100 sein. Anderen Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2407"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2413"/>
         <source>Random extract</source>
         <translation>Zufälliger Ausschnitt</translation>
     </message>
@@ -85562,57 +86461,57 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
 <context>
     <name>RandomExtractWithinSubsets</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2421"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2427"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2422"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2428"/>
         <source>Number of selected features</source>
         <translation>Anzahl gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2423"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2429"/>
         <source>Percentage of selected features</source>
         <translation>Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2424"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2430"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2425"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2431"/>
         <source>ID field</source>
         <translation>Kennungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2426"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2432"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2427"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2433"/>
         <source>Number/percentage of selected features</source>
         <translation>Anzahl/Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2428"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2434"/>
         <source>Extracted (random stratified)</source>
         <translation>Extrahiert (zufällig geschichtet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2429"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2435"/>
         <source>Selected number is greater that feature count. Choose lesser value and try again.</source>
         <translation>Die gewählte Zahl ist größer als die Objektanzahl. Kleineren Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2430"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2436"/>
         <source>Percentage can't be greater than 100. Set correct value and try again.</source>
         <translation>Prozentsatz kann nicht größer 100 sein. Anderen Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2420"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2426"/>
         <source>Random extract within subsets</source>
         <translation>Zufällige Auswahl in Untermengen</translation>
     </message>
@@ -85620,38 +86519,38 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
 <context>
     <name>RandomPointsAlongLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2435"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2441"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2436"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2442"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2437"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2443"/>
         <source>Number of points</source>
         <translation>Anzahl von Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2438"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2444"/>
         <source>Minimum distance</source>
         <translation>Minimalabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2439"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2445"/>
         <source>Random points</source>
         <translation>Zufällige Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2440"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2446"/>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
         <translation>Kann angeforderte Anzahl von zufälligen Punkte nicht erzeugen.
 Maximalzahl der Versuche überschritten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2434"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2440"/>
         <source>Random points along line</source>
         <translation>Zufällige Punkte entlang einer Linie</translation>
     </message>
@@ -85659,38 +86558,38 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RandomPointsExtent</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2445"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2451"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2446"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2452"/>
         <source>Input extent</source>
         <translation>Eingabeabmessungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2447"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2453"/>
         <source>Points number</source>
         <translation>Punktanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2448"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2454"/>
         <source>Minimum distance</source>
         <translation>Minimalabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2449"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2455"/>
         <source>Random points</source>
         <translation>Zufällige Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2450"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2456"/>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
         <translation>Kann angeforderte Anzahl von zufälligen Punkte nicht erzeugen.
 Maximalzahl der Versuche überschritten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2444"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2450"/>
         <source>Random points in extent</source>
         <translation>Zufällige Punkte in Grenzen</translation>
     </message>
@@ -85698,38 +86597,38 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RandomPointsLayer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2455"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2461"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2456"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2462"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2457"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2463"/>
         <source>Points number</source>
         <translation>Punktanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2458"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2464"/>
         <source>Minimum distance</source>
         <translation>Minimalabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2459"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2465"/>
         <source>Random points</source>
         <translation>Zufällige Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2460"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2466"/>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
         <translation>Kann angeforderte Anzahl von zufälligen Punkte nicht erzeugen.
 Maximalzahl der Versuche überschritten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2454"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2460"/>
         <source>Random points in layer bounds</source>
         <translation>Zufällige Punkte in den Layergrenzen</translation>
     </message>
@@ -85737,53 +86636,53 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RandomPointsPolygonsFixed</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2465"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2471"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2466"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2472"/>
         <source>Points count</source>
         <translation>Punktanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2467"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2473"/>
         <source>Points density</source>
         <translation>Punktdichte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2468"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2474"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2469"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2475"/>
         <source>Sampling strategy</source>
         <translation>Abtaststrategie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2470"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2476"/>
         <source>Number or density of points</source>
         <translation>Anzahl der Dichtepunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2471"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2477"/>
         <source>Minimum distance</source>
         <translation>Minimalabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2472"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2478"/>
         <source>Random points</source>
         <translation>Zufällige Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2473"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2479"/>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
         <translation>Kann angeforderte Anzahl von zufälligen Punkte nicht erzeugen.
 Maximalzahl der Versuche überschritten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2464"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2470"/>
         <source>Random points inside polygons (fixed)</source>
         <translation>Zufällige Punkte in Polygonen (festgelegt)</translation>
     </message>
@@ -85791,53 +86690,53 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RandomPointsPolygonsVariable</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2478"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2484"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2479"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2485"/>
         <source>Points count</source>
         <translation>Punktanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2480"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2486"/>
         <source>Points density</source>
         <translation>Punktdichte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2481"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2487"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2482"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2488"/>
         <source>Sampling strategy</source>
         <translation>Abtaststrategie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2483"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2489"/>
         <source>Number field</source>
         <translation>Nummernfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2484"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2490"/>
         <source>Minimum distance</source>
         <translation>Minimalabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2485"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2491"/>
         <source>Random points</source>
         <translation>Zufällige Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2486"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2492"/>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
         <translation>Kann angeforderte Anzahl von zufälligen Punkte nicht erzeugen.
 Maximalzahl der Versuche überschritten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2477"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2483"/>
         <source>Random points inside polygons (variable)</source>
         <translation>Zufällige Punkte in Polygonen (variable)</translation>
     </message>
@@ -85845,52 +86744,52 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RandomSelection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2491"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2497"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2492"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2498"/>
         <source>Number of selected features</source>
         <translation>Anzahl gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2493"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2499"/>
         <source>Percentage of selected features</source>
         <translation>Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2494"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2500"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2495"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2501"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2496"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2502"/>
         <source>Number/percentage of selected features</source>
         <translation>Anzahl/Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2497"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2503"/>
         <source>Selection</source>
         <translation>Auswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2498"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2504"/>
         <source>Selected number is greater than feature count. Choose a lower value and try again.</source>
         <translation>Die gewählte Zahl ist größer als die Objektanzahl. Kleineren Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2499"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2505"/>
         <source>Percentage can't be greater than 100. Set a different value and try again.</source>
         <translation>Prozentsatz kann nicht größer 100 sein. Anderen Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2490"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2496"/>
         <source>Random selection</source>
         <translation>Zufällige Auswahl</translation>
     </message>
@@ -85898,57 +86797,57 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RandomSelectionWithinSubsets</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2504"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2510"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2505"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2511"/>
         <source>Number of selected features</source>
         <translation>Anzahl gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2506"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2512"/>
         <source>Percentage of selected features</source>
         <translation>Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2507"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2513"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2508"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2514"/>
         <source>ID Field</source>
         <translation>ID Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2509"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2515"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2510"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2516"/>
         <source>Number/percentage of selected features</source>
         <translation>Anzahl/Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2511"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2517"/>
         <source>Selection stratified</source>
         <translation>Geschichtete Auswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2512"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2518"/>
         <source>Selected number is greater that feature count. Choose lesser value and try again.</source>
         <translation>Die gewählte Zahl ist größer als die Objektanzahl. Kleineren Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2513"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2519"/>
         <source>Percentage can't be greater than 100. Set a different value and try again.</source>
         <translation>Prozentsatz kann nicht größer 100 sein. Anderen Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2503"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2509"/>
         <source>Random selection within subsets</source>
         <translation>Zufällige Auswahl in Untermengen</translation>
     </message>
@@ -85956,42 +86855,42 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RasterLayerBoundsAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2517"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2523"/>
         <source>Raster layer bounds</source>
         <translation>Rasterlayer Grenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2518"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2524"/>
         <source>Modeler-only tools</source>
         <translation>Modell Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2519"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2525"/>
         <source>Layer</source>
         <translation>Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2520"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2526"/>
         <source>min X</source>
         <translation>min X</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2521"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2527"/>
         <source>max X</source>
         <translation>max X</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2522"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2528"/>
         <source>min Y</source>
         <translation>min Y</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2523"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2529"/>
         <source>max Y</source>
         <translation>max Y</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2524"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2530"/>
         <source>Extent</source>
         <translation>Umfang</translation>
     </message>
@@ -85999,32 +86898,32 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RasterLayerHistogram</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2529"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2535"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2530"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2536"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2531"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2537"/>
         <source>Number of bins</source>
         <translation>Anzahl von bins</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2532"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2538"/>
         <source>Histogram</source>
         <translation>Histogramm</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2533"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2539"/>
         <source>Table</source>
         <translation>Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2528"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2534"/>
         <source>Raster layer histogram</source>
         <translation>Rasterlayerhistogramm</translation>
     </message>
@@ -86032,57 +86931,57 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RasterLayerStatistics</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2538"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2544"/>
         <source>Raster tools</source>
         <translation>Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2539"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2545"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2540"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2546"/>
         <source>Statistics</source>
         <translation>Statistik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2541"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2547"/>
         <source>Minimum value</source>
         <translation>Minimalwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2542"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2548"/>
         <source>Maximum value</source>
         <translation>Maximalwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2543"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2549"/>
         <source>Sum</source>
         <translation>Summe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2544"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2550"/>
         <source>Mean value</source>
         <translation>Mittelwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2545"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2551"/>
         <source>valid cells count</source>
         <translation>Anzahl von gültigen Zellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2546"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2552"/>
         <source>No-data cells count</source>
         <translation>Anzahl von NoData Zellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2547"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2553"/>
         <source>Standard deviation</source>
         <translation>Standardabweichung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2537"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2543"/>
         <source>Raster layer statistics</source>
         <translation>Rasterlayerstatistik</translation>
     </message>
@@ -86099,62 +86998,62 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RectanglesOvalsDiamondsFixed</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2551"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2557"/>
         <source>Rectangles, ovals, diamonds (fixed)</source>
         <translation>Rechtecke, Ovale, Rauten (fest)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2552"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2558"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2553"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2559"/>
         <source>Rectangles</source>
         <translation>Rechtecke</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2554"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2560"/>
         <source>Diamonds</source>
         <translation>Rauten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2555"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2561"/>
         <source>Ovals</source>
         <translation>Ovale</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2556"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2562"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2557"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2563"/>
         <source>Buffer shape</source>
         <translation>Formpuffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2558"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2564"/>
         <source>Width</source>
         <translation>Breite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2559"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2565"/>
         <source>Height</source>
         <translation>Höhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2560"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2566"/>
         <source>Rotation</source>
         <translation>Drehung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2561"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2567"/>
         <source>Number of segments</source>
         <translation>Segmentanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2562"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2568"/>
         <source>Output</source>
         <translation>Ausgabe</translation>
     </message>
@@ -86162,72 +87061,72 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RectanglesOvalsDiamondsVariable</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2566"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2572"/>
         <source>Rectangles, ovals, diamonds (variable)</source>
         <translation>Rechtecke, Ovale, Rauten (variabel)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2567"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2573"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2568"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2574"/>
         <source>Rectangles</source>
         <translation>Rechtecke</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2569"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2575"/>
         <source>Diamonds</source>
         <translation>Rauten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2570"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2576"/>
         <source>Ovals</source>
         <translation>Ovale</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2571"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2577"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2572"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2578"/>
         <source>Buffer shape</source>
         <translation>Formpuffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2573"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2579"/>
         <source>Width field</source>
         <translation>Breitenfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2574"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2580"/>
         <source>Height field</source>
         <translation>Höhenfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2575"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2581"/>
         <source>Rotation field</source>
         <translation>Drehungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2576"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2582"/>
         <source>Number of segments</source>
         <translation>Segmentanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2577"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2583"/>
         <source>Output</source>
         <translation>Ausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2578"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2584"/>
         <source>Feature {} has empty width, height or angle. Skipping...</source>
         <translation>Überspringe Objekt {} mit leerer Breite, Höhe oder Winkel...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2579"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2585"/>
         <source>Feature {} has empty width or height. Skipping...</source>
         <translation>Objekt {} mit leerer Breite oder Höhe übersprungen...</translation>
     </message>
@@ -86235,50 +87134,73 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RegularPoints</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2584"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2590"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2585"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2591"/>
         <source>Input extent</source>
         <translation>Eingabeabmessungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2586"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2592"/>
         <source>Point spacing/count</source>
         <translation>Punktabstände/-anzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2587"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2593"/>
         <source>Initial inset from corner (LH side)</source>
         <translation>Anfängliche Einsatz von Ecke (linke Seite)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2588"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2594"/>
         <source>Apply random offset to point spacing</source>
         <translation>Zufälligen Versatz auf Punktabstand anwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2589"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2595"/>
         <source>Use point spacing</source>
         <translation>Benutze Punktabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2583"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2589"/>
         <source>Regular points</source>
         <translation>Regelmäßige Punkte</translation>
     </message>
 </context>
 <context>
+    <name>RemoveNullGeometry</name>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2599"/>
+        <source>Remove null geometries</source>
+        <translation>NULL-Geometrien entfernen</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2600"/>
+        <source>Vector selection tools</source>
+        <translation>Vektorauswahlwerkzeuge</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2601"/>
+        <source>Input layer</source>
+        <translation>Eingabelayer</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2602"/>
+        <source>Removed null geometry</source>
+        <translation>NULL-Geometrie gelöscht</translation>
+    </message>
+</context>
+<context>
     <name>RenderingStyleFilePanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2593"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2606"/>
         <source>Select style file</source>
         <translation>Wähle Stildatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2594"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2607"/>
         <source>QGIS Layer Style File (*.qml *.QML)</source>
         <translation>QGIS Layerstildatei (*.qml *.QML)</translation>
     </message>
@@ -86286,27 +87208,27 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>ReprojectLayer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2599"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2612"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2600"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2613"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2601"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2614"/>
         <source>Target CRS</source>
         <translation>Ziel KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2602"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2615"/>
         <source>Reprojected</source>
         <translation>Reprojiiziert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2598"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2611"/>
         <source>Reproject layer</source>
         <translation>Layer reprojizieren</translation>
     </message>
@@ -86314,27 +87236,27 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>ReverseLineDirection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2606"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2619"/>
         <source>Reverse line direction</source>
         <translation>Linienrichtung umgekehren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2607"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2620"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2608"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2621"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2609"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2622"/>
         <source>Reversed</source>
         <translation>Umgekehrt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2610"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2623"/>
         <source>Error reversing line</source>
         <translation>Fehler bei Linienumkehrung</translation>
     </message>
@@ -86628,1307 +87550,1307 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>SAGAAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="242"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="564"/>
         <source>Slope Length</source>
         <translation>Hanglänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="252"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="493"/>
         <source>Shapes Buffer (Attribute distance)|Shapes Buffer</source>
         <translation>Shapepuffer (Attributabstand)|Shapepuffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="166"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="576"/>
         <source>Representativeness|Representativeness (Grid)</source>
         <translation>Repräsentativität|Repräsentativität (Raster)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="16"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="359"/>
         <source>Gaussian Filter</source>
         <translation>Gauss'scher Filter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="246"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="523"/>
         <source>Flow Accumulation (Top-Down)</source>
         <translation>Flußdichte (Oben-Unten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="232"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="583"/>
         <source>Convex Hull</source>
         <translation>Konvexe Hülle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="86"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="504"/>
         <source>Flow Accumulation (Recursive)</source>
         <translation>Flußdichte (Rekursiv)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="101"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="472"/>
         <source>Polygon Centroids</source>
         <translation>Polygonschwerpunkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="173"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="417"/>
         <source>Flow Accumulation (Flow Tracing)</source>
         <translation>Flußdichte (Flußverfolgung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="213"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="601"/>
         <source>Point Statistics for Polygons</source>
         <translation>Polygon-Punktstatistik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="107"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="603"/>
         <source>Grid Values to Points (randomly)</source>
         <translation>Gitterwerte zu Punkten (zufällig)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="143"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="431"/>
         <source>Clip Points with Polygons</source>
         <translation>Punkte auf Polygon zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="112"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="451"/>
         <source>Gradient Vectors from Direction and Length</source>
         <translation>Gradientenvektor aus Richtung und Länge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="161"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="422"/>
         <source>Grid Statistics for Polygons</source>
         <translation>Gitterstatistik für Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="176"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="386"/>
         <source>Layer of extreme value</source>
         <translation>Extrema-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="174"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="432"/>
         <source>Create Graticule</source>
         <translation>Gradnetz erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="102"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="509"/>
         <source>Difference</source>
         <translation>Differenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="26"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="372"/>
         <source>Clip Grid with Polygon</source>
         <translation>Punkte auf Polygon zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="192"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="498"/>
         <source>Crop to Data</source>
         <translation>Auf Daten zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="168"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="414"/>
         <source>Close Gaps</source>
         <translation>Lücken schließen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="267"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="533"/>
         <source>Polygon Clipping</source>
         <translation>Polygonclipping</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="152"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="595"/>
         <source>Multiresolution Index of Valley Bottom Flatness (MRVBF)</source>
         <translation>Mehrauflösung-Talbodenebenheitsindex (MRVBF)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="218"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="465"/>
         <source>Flatten Polygon Layer</source>
         <translation>Polygonlayer glätten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="235"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="514"/>
         <source>Shared Polygon Edges</source>
         <translation>Gemeinsame Polygonkanten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="83"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="391"/>
         <source>Add Point Attributes to Polygons</source>
         <translation>Punktattribute zu Polygonen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="207"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="569"/>
         <source>Polygon Self-Intersection</source>
         <translation>Polygonselbstüberschneidungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="35"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="425"/>
         <source>Gradient Vectors from Surface</source>
         <translation>Gradientenvektor aus Oberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="19"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="389"/>
         <source>GWR for Multiple Predictor Grids</source>
         <translation>GWR für mehrere Vorsagegitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="212"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="469"/>
         <source>Multiple Regression Analysis (Points/Grids)</source>
         <translation>Mehrfach-Regressionsanalyse (Punkt/Raster)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="206"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="611"/>
         <source>Hypsometry</source>
         <translation>Hypsometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="209"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="426"/>
         <source>Aggregation Index</source>
         <translation>Aggregationsindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="240"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="395"/>
         <source>Identity</source>
         <translation>Identität</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="219"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="470"/>
         <source>LS Factor</source>
         <translation>LS-Faktor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="208"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="401"/>
         <source>DTM Filter (slope-based)</source>
         <translation>DTM-Filter (Hangbasiert)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="134"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="579"/>
         <source>Effective Air Flow Heights</source>
         <translation>Effektive Luftflußhöhen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="156"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="581"/>
         <source>Add Grid Values to Points</source>
         <translation>Gitterwerte zu Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="76"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="502"/>
         <source>Kernel Density Estimation</source>
         <translation>Kerndichtenschätzung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="109"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="599"/>
         <source>Grid Cell Index</source>
         <translation>Gitterzellenindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="74"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="525"/>
         <source>Mass Balance Index</source>
         <translation>Gleichgewichtsindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="11"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="370"/>
         <source>Transform Shapes</source>
         <translation>Shapes transformieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="68"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="399"/>
         <source>Regression analysis|Regression Analysis (Points/Grid)</source>
         <translation>Regressionanalyse|Regressionsanalyse (Punkte/Raster)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="34"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="540"/>
         <source>Polygon Properties</source>
         <translation>Polygoneigenschaften</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="243"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="589"/>
         <source>Geographically Weighted Multiple Regression</source>
         <translation>Geografischgewichtete Mehrfach-Regression</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="38"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="424"/>
         <source>GWR for Multiple Predictors (Gridded Model Output)</source>
         <translation>GWR für mehrere Vorsagegitter (Gerasterte Modellausgabe)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="93"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="489"/>
         <source>Directional Statistics for Single Grid</source>
         <translation>Richtungsstatistik für Einzelraster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="196"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="538"/>
         <source>Fill Sinks|Fill Sinks (Planchon/Darboux, 2001)</source>
         <translation>Senken füllen|Senken füllen (Planchon/Darboux, 2001)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="9"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="558"/>
         <source>Grids Product</source>
         <translation>Rasterprodukte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="25"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="542"/>
         <source>Fill Gaps in Records</source>
         <translation>Datensatzlücken füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="256"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="464"/>
         <source>Topographic Correction</source>
         <translation>Topographische Korrektur</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="50"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="565"/>
         <source>Grid Buffer</source>
         <translation>Gitterpuffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="184"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="535"/>
         <source>Catchment Area (Flow Tracing)</source>
         <translation>Einzugsbereich (Flußverfolgung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="185"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="567"/>
         <source>User Defined Filter</source>
         <translation>Benutzerdefinierter Filter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="39"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="364"/>
         <source>Watershed Segmentation</source>
         <translation>Niederschlagssegmentierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="115"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="452"/>
         <source>Line Simplification</source>
         <translation>Linienvereinfachung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="203"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="597"/>
         <source>Convergence Index (Search Radius)</source>
         <translation>Konvergenzindex (Suchradius)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="15"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="566"/>
         <source>Topographic Wetness Index (TWI)</source>
         <translation>Topographischer Niederschlagsindex (TWI)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="258"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="486"/>
         <source>Upslope Area|4</source>
         <translation>Anstieg Areal4</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="31"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="405"/>
         <source>Laplacian Filter</source>
         <translation>Laplace-Filter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="63"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="392"/>
         <source>Grid Proximity Buffer</source>
         <translation>Gitterannährungspuffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="163"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="454"/>
         <source>Aggregate Point Observations</source>
         <translation>Punktbeobachtung sammeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="111"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="481"/>
         <source>Transpose Grids</source>
         <translation>Gitter transponieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="165"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="500"/>
         <source>Topographic Position Index (TPI)</source>
         <translation>Topographische Position (TPI)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="245"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="360"/>
         <source>Grid Masking</source>
         <translation>Gittermaskierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="113"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="551"/>
         <source>Channel Network and Drainage Basins</source>
         <translation>Kanalnetzwerk und Drainagebecken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="20"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="591"/>
         <source>Real Surface Area</source>
         <translation>Echte Oberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="147"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="503"/>
         <source>Threshold Buffer</source>
         <translation>Schwellenpuffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="227"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="602"/>
         <source>Add Grid Values to Shapes</source>
         <translation>Gitterwerte zu Shapes hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="248"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="435"/>
         <source>QuadTree Structure to Shapes</source>
         <translation>Quad-Tree-Struktur zu Shapes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="155"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="380"/>
         <source>Analytical Hillshading</source>
         <translation>Analytische Schummerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="48"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="574"/>
         <source>Surface Specific Points</source>
         <translation>Oberflächen spezifische Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="262"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="515"/>
         <source>Transect through polygon shapefile</source>
         <translation>Durch Polygonshapedateien schneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="224"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="367"/>
         <source>Convert Lines to Polygons</source>
         <translation>Linien in Polygone umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="257"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="450"/>
         <source>Local Minima and Maxima</source>
         <translation>Lokale Minima und Maxima</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="238"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="445"/>
         <source>Accumulated Cost (Isotropic)</source>
         <translation>Aufgelaufenen Kosten (isotropisch)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="211"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="488"/>
         <source>Line Dissolve</source>
         <translation>Linien auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="122"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="455"/>
         <source>Resampling</source>
         <translation>Abtastung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="124"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="549"/>
         <source>Fuzzy Union (OR)</source>
         <translation>Fuzzy-Vereinigung (ODER)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="52"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="545"/>
         <source>Natural Neighbour</source>
         <translation>Natürlicher Nachbar</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="45"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="468"/>
         <source>Convert Lines to Points</source>
         <translation>Linien in Punkten umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="189"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="427"/>
         <source>Thin Plate Spline (Global)</source>
         <translation>Thin Plate Spline (global)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="222"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="473"/>
         <source>Polygon dissolve (by attribute)|Polygon Dissolve</source>
         <translation>Polygon auflösen (nach Attribut)|Polygon auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="90"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="512"/>
         <source>Stream Power Index</source>
         <translation>Stromstärkeindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="62"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="368"/>
         <source>Global Moran's I for Grids</source>
         <translation>Global Moran I für Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="43"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="479"/>
         <source>Polynomial Regression</source>
         <translation>Polynominalregression</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="145"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="585"/>
         <source>Multiple Regression Analysis (Grid/Grids)</source>
         <translation>Mehrfach-Regressionsanalyse (Gitter)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="96"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="491"/>
         <source>Nearest Neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="249"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="396"/>
         <source>Water Retention Capacity</source>
         <translation>Bodenwasserspannungskapazität</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="234"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="459"/>
         <source>Gradient Vectors from Directional Components</source>
         <translation>Gradientenvektoren aus gerichteten Komponenten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="79"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="529"/>
         <source>Majority Filter</source>
         <translation>Mehrheitsfilter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="57"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="550"/>
         <source>Flow Path Length</source>
         <translation>Fließweglänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="237"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="606"/>
         <source>Simple Region Growing</source>
         <translation>Einfaches Region-Growing</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="148"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="588"/>
         <source>Simulation</source>
         <translation>Simulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="142"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="560"/>
         <source>Get Shapes Extents</source>
         <translation>Shapeausmaße bestimmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="144"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="499"/>
         <source>Union</source>
         <translation>Vereinigungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="78"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="584"/>
         <source>Fill Sinks XXL (Wang & Liu)</source>
         <translation>Senken füllen XXL (Wang & Liu)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="65"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="571"/>
         <source>B-Spline Approximation</source>
         <translation>B-Spline-Approximation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="146"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="508"/>
         <source>Polygon Parts to Separate Polygons</source>
         <translation>Polygonteile in Einzelpolygone umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="226"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="570"/>
         <source>Points Thinning</source>
         <translation>Punkte ausdünnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="30"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="442"/>
         <source>Change Date Format</source>
         <translation>Datumsformat ändern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="195"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="374"/>
         <source>Gradient Vector from Cartesian to Polar Coordinates</source>
         <translation>Gradientenvektor aus kartesischen in Polar-Koordinaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="61"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="539"/>
         <source>Fragmentation Classes from Density and Connectivity</source>
         <translation>Fragmentierungsklassen aus Dichte und Verbindungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="33"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="440"/>
         <source>Ordinary Kriging</source>
         <translation>Normales Krigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="108"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="614"/>
         <source>Grid Volume</source>
         <translation>Rastervolumen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="13"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="593"/>
         <source>Patching</source>
         <translation>Zusammenflicken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="59"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="544"/>
         <source>Ordered Weighted Averaging|Ordered Weighted Averaging (OWA)</source>
         <translation>Sortiertes gewichtetes Mitteln|Sortiertes gewichtetes Mitteln (OWA)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="126"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="419"/>
         <source>Thin Plate Spline (TIN)</source>
         <translation>Thin-Plate-Spline (TIN)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="178"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="453"/>
         <source>SAGA Wetness Index</source>
         <translation>SAGA Feuchtigkeitsindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="182"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="541"/>
         <source>Histogram Surface</source>
         <translation>Histogramm-Oberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="49"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="513"/>
         <source>Merge Layers</source>
         <translation>Layer zusammenführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="202"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="404"/>
         <source>Grid Skeletonization</source>
         <translation>Rasterskelettierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="175"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="457"/>
         <source>Catchment Area|Catchment Area (Parallel)</source>
         <translation>Einzugsgebiet|Einzugsgebiet (Parallel)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="157"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="397"/>
         <source>Geometric Figures</source>
         <translation>Geometrische Figuren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="119"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="400"/>
         <source>Spatial Point Pattern Analysis</source>
         <translation>Räumliche Punktmusteranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="264"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="402"/>
         <source>Update</source>
         <translation>Aktualisieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="84"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="463"/>
         <source>Sink Removal</source>
         <translation>Ablauf entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="187"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="384"/>
         <source>Convert Points to Line(s)</source>
         <translation>Punkte in Linien umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="179"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="604"/>
         <source>Change Grid Values</source>
         <translation>Gitterwert ändern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="169"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="485"/>
         <source>Line Properties</source>
         <translation>Linieneigenschaften</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="233"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="403"/>
         <source>Convert Multipoints to Points</source>
         <translation>Multipunkt zu Punkt umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="97"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="524"/>
         <source>Cell Balance</source>
         <translation>Zellengleichgewicht</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="138"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="371"/>
         <source>Fill Sinks (Wang & Liu)</source>
         <translation>Senken füllen (Wang & Liu)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="193"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="363"/>
         <source>Convert Data Storage Type</source>
         <translation>Datenspeichertyp umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="70"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="410"/>
         <source>Rank Filter</source>
         <translation>Rangfilter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="159"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="522"/>
         <source>Change Detection</source>
         <translation>Erkennung ändern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="160"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="511"/>
         <source>Strahler Order</source>
         <translation>Strahler-Reihenfolge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="56"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="438"/>
         <source>Inverse Distance Weighted</source>
         <translation>gewichtete inverse Distanz (IDW)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="131"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="559"/>
         <source>Multilevel B-Spline Interpolation (from Grid)</source>
         <translation>Mehrstufen-B-Spline-Interpolation (aus Gitter)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="72"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="613"/>
         <source>Geographically Weighted Multiple Regression (Points/Grids)</source>
         <translation>Geografischgewichtete Mehrfach-Regression (Punkt/Gitter)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="172"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="413"/>
         <source>Fast Region Growing Algorithm</source>
         <translation>Schneller Regionswachstumalgorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="216"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="466"/>
         <source>Terrain Ruggedness Index (TRI)</source>
         <translation>Oberflächenrauhigkeit (TRI)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="127"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="446"/>
         <source>GWR for Single Predictor Grid</source>
         <translation>GWR für einzelnes Vorsagegitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="251"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="394"/>
         <source>Points Filter</source>
         <translation>Punktfilter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="140"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="420"/>
         <source>Radius of Variance (Grid)</source>
         <translation>Radius der Varianz (Gitter)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="54"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="478"/>
         <source>Geographically Weighted Multiple Regression (Points)</source>
         <translation>Geografischgewichtete Mehrfach-Regression (Punkte)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="40"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="490"/>
         <source>Sink Drainage Route Detection</source>
         <translation>Ablaufdrainageweg bestimmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="58"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="482"/>
         <source>GWR for Single Predictor (Gridded Model Output)</source>
         <translation>GWR für einzelnes Vorsagegitter (Gerasterte Modellausgabe)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="149"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="430"/>
         <source>Cubic Spline Approximation</source>
         <translation>Kubische Spline-Nährung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="37"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="412"/>
         <source>Overland Flow Distance to Channel Network</source>
         <translation>Überlandflußabstand zu Kanalnetzwerken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="136"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="377"/>
         <source>Shapes Buffer (Fixed distance)|Shapes Buffer</source>
         <translation>Shapepuffer (fester Abstand)|Shapepuffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="266"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="587"/>
         <source>Line-Polygon Intersection</source>
         <translation>Linien-Polygon-Verschneidung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="18"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="375"/>
         <source>Accumulated Cost (Anisotropic)</source>
         <translation>Aufgelaufenen Kosten (Anisotropisch)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="132"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="495"/>
         <source>Fragmentation (Alternative)</source>
         <translation>Fragmentierung (Alternative)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="260"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="554"/>
         <source>Principle Components Analysis</source>
         <translation>Hauptkomponentenanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="128"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="376"/>
         <source>Ordinary Kriging (Global)</source>
         <translation>Normales Krigen (Global)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="114"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="530"/>
         <source>Multi-Band Variation</source>
         <translation>Mehrkanalvariation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="82"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="418"/>
         <source>Universal Kriging (Global)</source>
         <translation>Universeles Krigen (Global)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="73"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="362"/>
         <source>Analytical Hierarchy Process</source>
         <translation>Analytischer Hierachieprozeß</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="158"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="398"/>
         <source>Diurnal Anisotropic Heating</source>
         <translation>Anisotrope Erwärmung über Tag</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="69"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="510"/>
         <source>Variogram Surface</source>
         <translation>Variogramm-Oberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="91"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="460"/>
         <source>Multi Direction Lee Filter</source>
         <translation>Mehrrichtung-Lee-Filter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="121"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="436"/>
         <source>Watershed Basins</source>
         <translation>Einzugsgebietsbecken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="66"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="448"/>
         <source>Supervised Classification</source>
         <translation>Überwachte Klassifizierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="44"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="449"/>
         <source>Soil Texture Classification</source>
         <translation>Bodentexturklassifizierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="24"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="444"/>
         <source>Vectorising Grid Classes</source>
         <translation>Vektorisierende Gitter-Klassen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="231"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="586"/>
         <source>Modified Quadratic Shepard</source>
         <translation>Modifizierte quadratische Shepard-Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="123"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="381"/>
         <source>Variogram Cloud</source>
         <translation>Variogramm Wolke</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="221"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="480"/>
         <source>Vectorising Raster Classes</source>
         <translation>Vektorisierene Rasterklassen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="194"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="428"/>
         <source>Morphometric Protection Index</source>
         <translation>Morphometrischer Schutzindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="220"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="546"/>
         <source>Universal Kriging</source>
         <translation>Universeles Krigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="229"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="383"/>
         <source>Raster calculator|Grid Calculator</source>
         <translation>Rasterrechner|Rasterrechner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="28"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="407"/>
         <source>Grid Orientation</source>
         <translation>Gitterrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="265"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="532"/>
         <source>Convergence Index</source>
         <translation>Konvergenzindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="17"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="580"/>
         <source>Shapes to Grid</source>
         <translation>Shapes in Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="171"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="471"/>
         <source>Land Surface Temperature</source>
         <translation>Landoberflächentemperatur</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="205"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="507"/>
         <source>Polygon dissolve (all polygons)|Polygon Dissolve</source>
         <translation>Polygon auflösen (alle Polygone)|Polygon auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="263"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="573"/>
         <source>Flow Width and Specific Catchment Area</source>
         <translation>Flußbreite und spezifisches Einzugsgebiet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="106"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="385"/>
         <source>Random Terrain Generation</source>
         <translation>Zufälliges Gelände erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="60"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="548"/>
         <source>Convert Polygons to Lines</source>
         <translation>Polygon in Linien umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="153"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="378"/>
         <source>Fuzzy Intersection (AND)</source>
         <translation>Fuzzy-Schnittmenge (UND)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="36"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="492"/>
         <source>Polygon Shape Indices</source>
         <translation>Polygonshapeindizes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="22"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="373"/>
         <source>Cluster Analysis for Grids</source>
         <translation>Häufungsanalyse für Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="104"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="505"/>
         <source>Burn Stream Network into DEM</source>
         <translation>Stromnetzwerk in DEM brennen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="29"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="387"/>
         <source>Relative Heights and Slope Positions</source>
         <translation>Relative Höhen und Hangpositionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="230"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="607"/>
         <source>Regression Kriging</source>
         <translation>Regressionskrigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="210"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="531"/>
         <source>Simple Kriging</source>
         <translation>Einfaches Krigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="71"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="379"/>
         <source>Fuzzify</source>
         <translation>Fuzzifizieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="125"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="608"/>
         <source>Catchment Area (Recursive)</source>
         <translation>Einzugsbereich (Rekursiv)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="215"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="458"/>
         <source>Convert Polygon/Line Vertices to Points</source>
         <translation>Polygon-/Linienstützpunkte in Punkte umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="67"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="592"/>
         <source>Least Cost Paths</source>
         <translation>Pfad geringster Kosten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="197"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="484"/>
         <source>Split Shapes Layer Randomly</source>
         <translation>Shapelayer zufällig aufteilen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="259"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="355"/>
         <source>Grid Standardisation</source>
         <translation>Gitterstandardisierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="239"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="582"/>
         <source>Proximity Grid</source>
         <translation>Näheraster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="129"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="562"/>
         <source>Contour Lines from Grid</source>
         <translation>Umrandungslinien aus Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="53"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="369"/>
         <source>Fragmentation (Standard)</source>
         <translation>Fragmentierung (Standard)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="41"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="590"/>
         <source>Invert Data/No-Data</source>
         <translation>Daten/Leerdaten invertieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="120"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="575"/>
         <source>Vegetation Index (Slope Based)</source>
         <translation>Vegetationsindex (hangbasiert)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="183"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="409"/>
         <source>Statistics for Grids</source>
         <translation>Statistik für Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="154"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="437"/>
         <source>Grids Sum</source>
         <translation>Gittersumme</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="85"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="555"/>
         <source>Triangulation</source>
         <translation>Triangulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="228"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="497"/>
         <source>Grid Values to Points</source>
         <translation>Gitterwerte in Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="247"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="475"/>
         <source>Add Coordinates to points</source>
         <translation>Koordinaten zu Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="14"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="416"/>
         <source>Symmetrical Difference</source>
         <translation>Symmetrische Differenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="130"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="494"/>
         <source>Flat Detection</source>
         <translation>Flacherkennung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="186"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="434"/>
         <source>Aggregate</source>
         <translation>Aggregieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="75"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="366"/>
         <source>Sky View Factor</source>
         <translation>Himmelsichtfaktor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="180"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="382"/>
         <source>Grid Difference</source>
         <translation>Gitterdifferenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="200"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="423"/>
         <source>Vertical Distance to Channel Network</source>
         <translation>Vertikale Distanz in Kanalnetzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="89"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="477"/>
         <source>Random Field</source>
         <translation>Zufälliges Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="170"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="357"/>
         <source>Simple Filter</source>
         <translation>Einfacher Filter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="47"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="441"/>
         <source>Minimum Distance Analysis</source>
         <translation>Minimumdistanzanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="103"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="534"/>
         <source>Shrink and Expand</source>
         <translation>Verkleinern und Vergrößern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="42"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="476"/>
         <source>Cut Shapes Layer</source>
         <translation>Shapelayer schneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="32"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="487"/>
         <source>TPI Based Landform Classification</source>
         <translation>TPI basierte Landformklassifikation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="110"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="358"/>
         <source>Intersect</source>
         <translation>Schnittmengen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="204"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="356"/>
         <source>Profile from points table|Profile from points</source>
         <translation>Profile aus Punkttabelle|Profil aus Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="8"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="553"/>
         <source>Downslope Distance Gradient</source>
         <translation>Abwärtsabstandsgrendiente</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="77"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="361"/>
         <source>Channel Network</source>
         <translation>Kanalnetzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="105"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="517"/>
         <source>Pattern Analysis</source>
         <translation>Musteranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="150"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="572"/>
         <source>Fit N Points to shape</source>
         <translation>N-Punkte in Shape einpassen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="255"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="365"/>
         <source>Remove Duplicate Points</source>
         <translation>Doppelte Punkte entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="254"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="388"/>
         <source>Reclassify Grid Values</source>
         <translation>Gitterwert neuklassifizieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="261"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="596"/>
         <source>Geographically Weighted Regression (Points/Grid)</source>
         <translation>Geografischgewichtete Regression (Punkt/Gitter)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="190"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="474"/>
         <source>Close One Cell Gaps</source>
         <translation>Einzellenlücken schließen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="81"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="518"/>
         <source>Slope, Aspect, Curvature</source>
         <translation>Neigung, Exposition, Wölbung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="10"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="506"/>
         <source>Function</source>
         <translation>Funktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="100"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="610"/>
         <source>GWR for Multiple Predictors</source>
         <translation>GWR für mehrere Vorhersagen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="167"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="568"/>
         <source>Wind effect|Wind Effect (Windward / Leeward Index)</source>
         <translation>Windeffekt|Wind Effekt (Windwärts / Leeindex)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="55"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="390"/>
         <source>Close Gaps with Spline</source>
         <translation>Lücken mit Spline schließen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="64"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="467"/>
         <source>Fill Sinks (QM of ESP)</source>
         <translation>Senken füllen (QM von ESP)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="80"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="537"/>
         <source>Diversity of Categories</source>
         <translation>Kategorienvielfalt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="117"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="408"/>
         <source>Create Polygons Graticule|Create Graticule</source>
         <translation>Gradnetz als Polygone erzeugen|Gradnetz erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="94"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="439"/>
         <source>Change Time Format</source>
         <translation>Zeitformat ändern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="92"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="605"/>
         <source>Confusion Matrix (Polygons / Grid)</source>
         <translation>Wahrheitsmatrix (Polygone / Gitter)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="241"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="547"/>
         <source>Successive Flow Routing</source>
         <translation>Aufeinanderfolgende Flußlenkung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="244"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="443"/>
         <source>Thin Plate Spline (Local)</source>
         <translation>Thin Plate Spline (Lokal)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="164"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="483"/>
         <source>Multilevel B-Spline Interpolation for Categories</source>
         <translation>Mehrstufen-B-Spline-Interpolation für Kategorien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="51"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="528"/>
         <source>Diffusive Hillslope Evolution (FTCS)</source>
         <translation>Diffusive Hillslope Evolution (FTCS)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="12"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="393"/>
         <source>Diffusive Hillslope Evolution (ADI)</source>
         <translation>Diffusive Hillslope Evolution (ADI)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="87"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="429"/>
         <source>Create Lines Graticule|Create Graticule</source>
         <translation>Gradnetz als Linien erzeugen|Gradnetz erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="137"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="563"/>
         <source>Flow Accumulation (QM of ESP)</source>
         <translation>Flußdichte (QM von ESP)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="88"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="543"/>
         <source>Grid Normalisation</source>
         <translation>Gitternormalisierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="191"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="577"/>
         <source>Thin Plate Spline</source>
         <translation>Thin Plate Spline</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="217"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="526"/>
         <source>Seed Generation</source>
         <translation>Saaterzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="236"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="411"/>
         <source>Polygon-Line Intersection</source>
         <translation>Polygon-Linien-Verschneidung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="214"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="612"/>
         <source>Running Average</source>
         <translation>Beweglicher Mittelwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="199"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="496"/>
         <source>Cross-Classification and Tabulation</source>
         <translation>Kreuzklassifizierung und Tabellierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="99"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="578"/>
         <source>Gradient Vector from Polar to Cartesian Coordinates</source>
         <translation>Gradientenvektor aus Polar- zu kartesischen Koordinaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="151"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="461"/>
         <source>Metric Conversions</source>
         <translation>Metrische Umwandlungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="201"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="600"/>
         <source>RGB Composite</source>
         <translation>RGB-Composite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="23"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="415"/>
         <source>Edge Contamination</source>
         <translation>Kantenverunreinigung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="135"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="406"/>
         <source>Curvature Classification</source>
         <translation>Wölbungsklassifizierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="27"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="520"/>
         <source>Filter Clumps</source>
         <translation>Klumpen filtern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="250"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="536"/>
         <source>Overland Flow - Kinematic Wave D8</source>
         <translation>Überlandfluß - Kinematische Welle D8</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="95"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="594"/>
         <source>Profiles from Lines</source>
         <translation>Profile aus Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="139"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="556"/>
         <source>Distance Matrix</source>
         <translation>Distanzmatrix</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="141"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="557"/>
         <source>Residual analysis|Residual Analysis (Grid)</source>
         <translation>Restanalyse|Restanalyse (Raster)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="253"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="609"/>
         <source>Zonal Grid Statistics</source>
         <translation>Zonengitterstatistik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="46"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="615"/>
         <source>Grid Division</source>
         <translation>Gitterteilung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="7"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="598"/>
         <source>Lake Flood</source>
         <translation>Seeflut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="21"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="527"/>
         <source>Add Polygon Attributes to Points</source>
         <translation>Polygonattribute zu Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="133"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="519"/>
         <source>Multilevel B-Spline Interpolation</source>
         <translation>Mehrstufen-B-Spline-Interpolation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="188"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="516"/>
         <source>Cross Profiles</source>
         <translation>Kreuzprofile</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="225"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="456"/>
         <source>Polar to Cartesian Coordinates</source>
         <translation>Polar- zu kartesischen Koordinaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="181"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="447"/>
         <source>Mosaick raster layers|Mosaicking</source>
         <translation>Stitching von Rasterlayern|Stitching</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="177"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="521"/>
         <source>Fire Risk Analysis</source>
         <translation>Feuerriskikoanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="116"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="501"/>
         <source>Geographically Weighted Regression</source>
         <translation>Geografischgewichtete Regression</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="223"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="561"/>
         <source>Separate points by direction</source>
         <translation>Punkte nach Richtung aufteilen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="198"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="433"/>
         <source>Polygons to Edges and Nodes</source>
         <translation>Polygone zu Kanten und Knoten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="98"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="421"/>
         <source>Morphological Filter</source>
         <translation>Morphologischer Filter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="118"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="462"/>
         <source>Vector Ruggedness Measure (VRM)</source>
         <translation>Vektorrauhigkeitsmaß (VRM)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="162"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="552"/>
         <source>Fast Representativeness</source>
         <translation>Schnelle Repräsentativität</translation>
     </message>
@@ -87936,17 +88858,17 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>SLDatabase</name>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="491"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="494"/>
         <source>Run &Vacuum</source>
         <translation>&VACUUM ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="492"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="495"/>
         <source>&Database</source>
         <translation>Da&tenbank</translation>
     </message>
     <message>
-        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="493"/>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="496"/>
         <source>No database selected or you are not connected to it.</source>
         <translation>Keine Datenbank gewählt oder keine Verbindung möglich.</translation>
     </message>
@@ -87954,24 +88876,24 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>SagaAlgorithm212</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2614"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2627"/>
         <source>Unsupported file format</source>
         <translation>Nicht unterstütztes Dateiformat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2615"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2628"/>
         <source>SAGA execution commands</source>
         <translation>SAGA-Befehlsausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2616"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2629"/>
         <source>Input layer %s has more than one band.
 Multiband layers are not supported by SAGA</source>
         <translation>Eingabelayer %s hat mehr als einen Kanal.
 Mehrkanallayer werden von SAGA nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2617"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2630"/>
         <source>Input layers do not have the same grid extent.</source>
         <translation>Eingabelayer haben nicht die gleichen Gitterabmessungen.</translation>
     </message>
@@ -87979,12 +88901,12 @@ Mehrkanallayer werden von SAGA nicht unterstützt</translation>
 <context>
     <name>SagaAlgorithm213</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2621"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2634"/>
         <source>Unsupported file format</source>
         <translation>Nicht unterstütztes Dateiformat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2622"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2635"/>
         <source>SAGA execution commands</source>
         <translation>SAGA-Befehlsausführung</translation>
     </message>
@@ -87992,47 +88914,47 @@ Mehrkanallayer werden von SAGA nicht unterstützt</translation>
 <context>
     <name>SagaAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2626"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2639"/>
         <source>SAGA folder</source>
         <translation>SAGA-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2627"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2640"/>
         <source>Enable SAGA Import/Export optimizations</source>
         <translation>SAGA-Im-/Exportoptimierungen einschalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2628"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2641"/>
         <source>Log execution commands</source>
         <translation>Befehlsausführung protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2629"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2642"/>
         <source>Log console output</source>
         <translation>Konsolenausgabe protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2630"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2643"/>
         <source>Activate</source>
         <translation>Aktivieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2631"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2644"/>
         <source>Problem with SAGA installation: SAGA was not found or is not correctly installed</source>
         <translation>Problem mit SAGA-Installation: SAGA wurde nicht gefunden oder ist nicht richtig installiert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2632"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2645"/>
         <source>Problem with SAGA installation: installed SAGA version (%s) is not supported</source>
         <translation>Problem mit SAGA-Installation: Installierte SAGA-Version (%s) ist nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2633"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2646"/>
         <source>Could not open SAGA algorithm: %s</source>
         <translation>Konnte SAGA-Algorithmus nicht öffnen: %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2634"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2647"/>
         <source>Could not open SAGA algorithm: %s
 %s</source>
         <translation>Konnte SAGA-Algorithmus nicht öffnen: %s
@@ -88042,7 +88964,7 @@ Mehrkanallayer werden von SAGA nicht unterstützt</translation>
 <context>
     <name>SagaUtils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2638"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2651"/>
         <source>SAGA execution console output</source>
         <translation>Konsolenausgabe der SAGA-Ausführung</translation>
     </message>
@@ -88050,22 +88972,22 @@ Mehrkanallayer werden von SAGA nicht unterstützt</translation>
 <context>
     <name>SaveSelectedFeatures</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2643"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2656"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2644"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2657"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2645"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2658"/>
         <source>Selection</source>
         <translation>Auswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2642"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2655"/>
         <source>Save selected features</source>
         <translation>Gewählte Objekt speichern</translation>
     </message>
@@ -88073,36 +88995,36 @@ Mehrkanallayer werden von SAGA nicht unterstützt</translation>
 <context>
     <name>ScriptAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2649"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2662"/>
         <source>User scripts</source>
         <translation>Benutzer Skripte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2650"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2663"/>
         <source>This script has a syntax errors.
 Problem with line: %s</source>
         <translation>Diese Skript hat Syntaxfehler.
 Problem in Zeile: %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2651"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2664"/>
         <source>[Test scripts]</source>
         <translation>[Test Skripte]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2652"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2665"/>
         <source>[Unnamed algorithm]</source>
         <translation>[Unbenannte Algorithmen]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2653"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2666"/>
         <source>Could not load script: %s.
 Problem with line "%s"</source>
         <translation>Konnte Skript nicht laden: %s
 Problem in Zeile: "%s"</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2654"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2667"/>
         <source>Could not load script: %s.
 Problem with line %d</source>
         <translation>Konnte Skript nicht laden: %s.
@@ -88112,12 +89034,12 @@ Fehler in Zeile %d</translation>
 <context>
     <name>ScriptAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2658"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2671"/>
         <source>Scripts folder</source>
         <translation>Skript Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2659"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2672"/>
         <source>Scripts</source>
         <translation>Skripte</translation>
     </message>
@@ -88125,44 +89047,44 @@ Fehler in Zeile %d</translation>
 <context>
     <name>ScriptEditorDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2665"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2678"/>
         <source>Python scripts (*.py)</source>
         <translation>Python-Skripte (*.py)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2666"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2679"/>
         <source>Processing R script (*.rsx)</source>
         <translation>Verarbeitete R-Skript (*.rsx)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2667"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2680"/>
         <source>Open script</source>
         <translation>Skript öffnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2668"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2681"/>
         <source>Save script</source>
         <translation>Skript speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2669"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2682"/>
         <source>I/O error</source>
         <translation>E/A-Fehler</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2670"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2683"/>
         <source>Unable to save edits. Reason:
  %s</source>
         <translation>Änderung konnten nicht gespeichert werden. Grund:
  %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2663"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2676"/>
         <source>Unsaved changes</source>
         <translation>Ungesicherte Änderungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2664"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2677"/>
         <source>There are unsaved changes in script. Continue?</source>
         <translation>Es gibt ungesicherte Skriptänderungen.  Fortfahren?</translation>
     </message>
@@ -88218,57 +89140,57 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SelectByAttribute</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2675"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2688"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2676"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2689"/>
         <source>begins with </source>
         <translation>Beginnt mit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2677"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2690"/>
         <source>contains</source>
         <translation>enthält</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2678"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2691"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2679"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2692"/>
         <source>Selection attribute</source>
         <translation>Auswahlattribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2680"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2693"/>
         <source>Operator</source>
         <translation>Operator</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2681"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2694"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2682"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2695"/>
         <source>Selected (attribute)</source>
         <translation>Auswahl (Attribut)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2683"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2696"/>
         <source>Operators %s can be used only with string fields.</source>
         <translation>Operatoren %s könnte nur in Textfeldern verwendet werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2684"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2697"/>
         <source>Unsupported field type "%s"</source>
         <translation>Nicht unterstützter Feldtyp "%s"</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2674"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2687"/>
         <source>Select by attribute</source>
         <translation>Nach Attribut wählen</translation>
     </message>
@@ -88276,42 +89198,42 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SelectByAttributeSum</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2689"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2702"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2690"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2703"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2691"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2704"/>
         <source>Selection attribute</source>
         <translation>Auswahlattribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2692"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2705"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2693"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2706"/>
         <source>Selected (attribute sum)</source>
         <translation>Auswahl (Attributsumme)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2694"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2707"/>
         <source>There is no selection in the input layer. Select one feature and try again.</source>
         <translation>Im Eingabelayer ist nichts ausgewählt. Bitte ein Objekt wählen und nocheinmal versuchen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2695"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2708"/>
         <source>No adjacent features found.</source>
         <translation>Keine benachbarten Objekte gefunden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2688"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2701"/>
         <source>Select by attribute sum</source>
         <translation>Nach Attributsumme wählen</translation>
     </message>
@@ -88319,52 +89241,52 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SelectByExpression</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2700"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2713"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2701"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2714"/>
         <source>creating new selection</source>
         <translation>Neue Auswahl wird erstellt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2702"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2715"/>
         <source>adding to current selection</source>
         <translation>Füge zur aktuellen Auswahl hinzu</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2703"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2716"/>
         <source>removing from current selection</source>
         <translation>Entferne aus aktueller Auswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2704"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2717"/>
         <source>selecting within current selection</source>
         <translation>innerhalb der aktuellen Auswahl wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2705"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2718"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2706"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2719"/>
         <source>Expression</source>
         <translation>Ausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2707"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2720"/>
         <source>Modify current selection by</source>
         <translation>Vorhandene Auswaähl ändern durch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2708"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2721"/>
         <source>Selected (expression)</source>
         <translation>Auswahl (Ausdruck)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2699"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2712"/>
         <source>Select by expression</source>
         <translation>Nach Ausdruck wählen</translation>
     </message>
@@ -88372,57 +89294,57 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SelectByLocation</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2713"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2726"/>
         <source>Vector selection tools</source>
         <translation>Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2714"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2727"/>
         <source>creating new selection</source>
         <translation>Neue Auswahl erstellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2715"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2728"/>
         <source>adding to current selection</source>
         <translation>Füge zur aktuellen Auswahl hinzu</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2716"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2729"/>
         <source>removing from current selection</source>
         <translation>Entferne aus aktueller Auswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2717"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2730"/>
         <source>Layer to select from</source>
         <translation>Layer von dem gewählt wird</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2718"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2731"/>
         <source>Additional layer (intersection layer)</source>
         <translation>Zusätzliche Layer (Schnittlayer)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2719"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2732"/>
         <source>Geometric predicate</source>
         <translation>Geometrisches Prädikat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2720"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2733"/>
         <source>Precision</source>
         <translation>Genauigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2721"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2734"/>
         <source>Modify current selection by</source>
         <translation>Aktuelle Auswahl ändern mit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2722"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2735"/>
         <source>Selected (location)</source>
         <translation>Auswahl (Position)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2712"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2725"/>
         <source>Select by location</source>
         <translation>Nach Position selektieren</translation>
     </message>
@@ -88483,27 +89405,27 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SetRasterStyle</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2727"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2740"/>
         <source>Raster general tools</source>
         <translation>Allgemeine Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2728"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2741"/>
         <source>Raster layer</source>
         <translation>Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2729"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2742"/>
         <source>Style file</source>
         <translation>Stildatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2730"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2743"/>
         <source>Styled</source>
         <translation>Gestaltet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2726"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2739"/>
         <source>Set style for raster layer</source>
         <translation>Setze Stil für Rasterlayer</translation>
     </message>
@@ -88511,27 +89433,27 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SetVectorStyle</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2735"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2748"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2736"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2749"/>
         <source>Vector layer</source>
         <translation>Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2737"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2750"/>
         <source>Style file</source>
         <translation>Stildatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2738"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2751"/>
         <source>Styled</source>
         <translation>Gestaltet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2734"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2747"/>
         <source>Set style for vector layer</source>
         <translation>Setze Stil für Vektorlayer</translation>
     </message>
@@ -88539,14 +89461,14 @@ Fehler in Zeile %d</translation>
 <context>
     <name>Setting</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2742"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2755"/>
         <source>Wrong parameter value:
 %s</source>
         <translation>Falscher Parameterwert:
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2743"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2756"/>
         <source>Specified path does not exist:
 %s</source>
         <translation>Angegebener Pfad existiert nicht:
@@ -88828,7 +89750,7 @@ Fehler in Zeile %d</translation>
 <context>
     <name>ShowTestDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2747"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2760"/>
         <source>Unit test</source>
         <translation>Unit-Test</translation>
     </message>
@@ -88836,32 +89758,32 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SimplifyGeometries</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2752"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2765"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2753"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2766"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2754"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2767"/>
         <source>Tolerance</source>
         <translation>Toleranz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2755"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2768"/>
         <source>Simplified</source>
         <translation>Vereinfacht</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2756"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2769"/>
         <source>Simplify: Input geometries have been simplified from %s to %s points</source>
         <translation>Vereinfachen: Eingabegeometrien wurden von %s auf %s Punkte vereinfacht</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2751"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2764"/>
         <source>Simplify geometries</source>
         <translation>Geometrien vereinfachen</translation>
     </message>
@@ -88902,27 +89824,27 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SinglePartsToMultiparts</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2761"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2774"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2762"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2775"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2763"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2776"/>
         <source>Unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2764"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2777"/>
         <source>Multipart</source>
         <translation>Mehrteilig</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2765"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2778"/>
         <source>At least two features must have same attribute value! Please choose another field...</source>
         <translation>Mindest zwei Objekt müssen den gleichen Attributwert haben!  Bitte ein anderes Feld wählen...</translation>
     </message>
@@ -88931,7 +89853,7 @@ Fehler in Zeile %d</translation>
         <translation type="obsolete">Ungültiges eindeutiges Kennungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2760"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2773"/>
         <source>Singleparts to multipart</source>
         <translation>Ein- zu mehrteilig</translation>
     </message>
@@ -88978,42 +89900,42 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SlopeArea</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2769"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2782"/>
         <source>Slope Area Combination</source>
         <translation>Neigungsflächenkombination</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2770"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2783"/>
         <source>Stream Network Analysis tools</source>
         <translation>Stromnetzwerkanalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2771"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2784"/>
         <source>Slope Grid</source>
         <translation>Neigungsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2772"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2785"/>
         <source>Contributing Area Grid</source>
         <translation>Beitragende Fläche Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2773"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2786"/>
         <source>Slope Exponent</source>
         <translation>Neigungs Exponent</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2774"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2787"/>
         <source>Area Exponent</source>
         <translation>Flächen Exponent</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2775"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2788"/>
         <source>Slope Area Grid</source>
         <translation>Neigungsflächen Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2776"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2789"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -89021,42 +89943,42 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SlopeAreaMulti</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2780"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2793"/>
         <source>Slope Area Combination (multifile)</source>
         <translation>Neigungsflächenkombination (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2781"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2794"/>
         <source>Stream Network Analysis tools</source>
         <translation>Stromnetzwerkanalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2782"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2795"/>
         <source>Slope Grid</source>
         <translation>Neigungsgitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2783"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2796"/>
         <source>Contributing Area Grid</source>
         <translation>Beitragende Fläche Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2784"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2797"/>
         <source>Slope Exponent</source>
         <translation>Neigungs Exponent</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2785"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2798"/>
         <source>Area Exponent</source>
         <translation>Flächen Exponent</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2786"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2799"/>
         <source>Slope Area Grid</source>
         <translation>Neigungsflächen Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2787"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2800"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -89064,37 +89986,37 @@ Fehler in Zeile %d</translation>
 <context>
     <name>Smooth</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2791"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2804"/>
         <source>Smooth geometry</source>
         <translation>Geometrieglättung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2792"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2805"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2793"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2806"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2794"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2807"/>
         <source>Iterations</source>
         <translation>Wiederholungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2795"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2808"/>
         <source>Offset</source>
         <translation>Versatz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2796"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2809"/>
         <source>Smoothed</source>
         <translation>Geglättet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2797"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2810"/>
         <source>Error smoothing geometry</source>
         <translation>Fehler bei Geometrieglättung</translation>
     </message>
@@ -89102,32 +90024,32 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SpatialIndex</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2801"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2814"/>
         <source>Create spatial index</source>
         <translation>Räumlichen Index erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2802"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2815"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2803"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2816"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2804"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2817"/>
         <source>Indexed layer</source>
         <translation>Indizierter Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2805"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2818"/>
         <source>Can not create spatial index</source>
         <translation>Kann räumlichen Index nicht erstellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2806"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2819"/>
         <source>Layer's data provider does not support spatial indexes</source>
         <translation>Der Datenanbieter dieses Layers unterstützt das Erzeugen von räumlichen Indizes nicht</translation>
     </message>
@@ -89135,72 +90057,72 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SpatialJoin</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2811"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2824"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2812"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2825"/>
         <source>Take attributes of the first located feature</source>
         <translation>Attribute des ersten bestimmten Objekts verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2813"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2826"/>
         <source>Take summary of intersecting features</source>
         <translation>Zusammenfassung der schneidenden Objekte erstellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2814"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2827"/>
         <source>Only keep matching records</source>
         <translation>Nur passende Datensätze erhalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2815"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2828"/>
         <source>Keep all records (including non-matching target records)</source>
         <translation>Alle Datensätze erhalten (einschließlich nicht zutreffender Zieldatensätzen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2816"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2829"/>
         <source>Target vector layer</source>
         <translation>Zielvektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2817"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2830"/>
         <source>Join vector layer</source>
         <translation>Verknüpfter Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2818"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2831"/>
         <source>Geometric predicate</source>
         <translation>Geometrische Prädikat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2819"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2832"/>
         <source>Precision</source>
         <translation>Genauigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2820"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2833"/>
         <source>Attribute summary</source>
         <translation>Attributzusammenfassung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2821"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2834"/>
         <source>Statistics for summary (comma separated)</source>
         <translation>Statistik zur Zusammenfassung (kommasepariert)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2822"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2835"/>
         <source>Joined table</source>
         <translation>Verknüpfte Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2823"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2836"/>
         <source>Joined layer</source>
         <translation>Zusammengefasster Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2810"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2823"/>
         <source>Join attributes by location</source>
         <translation>Attribute nach Position zusammenfügen</translation>
     </message>
@@ -89208,32 +90130,32 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SplitLinesWithLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2828"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2841"/>
         <source>Vector overlay tools</source>
         <translation>Vektorlayerüberlagerungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2829"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2842"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2830"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2843"/>
         <source>Split layer</source>
         <translation>Layer aufteilen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2831"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2844"/>
         <source>Splitted</source>
         <translation>Geteilt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2832"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2845"/>
         <source>Geometry exception while splitting</source>
         <translation>Geometrieausnahme während Aufteilung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2827"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2840"/>
         <source>Split lines with lines</source>
         <translation>Linien with Linien teilen</translation>
     </message>
@@ -89241,32 +90163,32 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SplitRGBBands</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2836"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2849"/>
         <source>Split RGB bands</source>
         <translation>RGB-Kanäle trennen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2837"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2850"/>
         <source>Image tools</source>
         <translation>Bildwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2838"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2851"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2839"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2852"/>
         <source>Output R band layer</source>
         <translation>R-Ausgabekanallayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2840"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2853"/>
         <source>Output G band layer</source>
         <translation>G-Ausgabekanallayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2841"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2854"/>
         <source>Output B band layer</source>
         <translation>B-Ausgabekanallayer</translation>
     </message>
@@ -89302,32 +90224,32 @@ Fehler in Zeile %d</translation>
 <context>
     <name>StatisticsByCategories</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2846"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2859"/>
         <source>Vector table tools</source>
         <translation>Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2847"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2860"/>
         <source>Input vector layer</source>
         <translation>Eingabevektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2848"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2861"/>
         <source>Field to calculate statistics on</source>
         <translation>Feld für Statistikberechnung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2849"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2862"/>
         <source>Field with categories</source>
         <translation>Feld mit Kategorien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2850"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2863"/>
         <source>Statistics by category</source>
         <translation>Statistik nach Kategorie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2845"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2858"/>
         <source>Statistics by categories</source>
         <translation>Statistik nach Kategorien</translation>
     </message>
@@ -89335,37 +90257,37 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SumLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2855"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2868"/>
         <source>Vector analysis tools</source>
         <translation>Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2856"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2869"/>
         <source>Lines</source>
         <translation>Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2857"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2870"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2858"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2871"/>
         <source>Lines length field name</source>
         <translation>Linienlängenfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2859"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2872"/>
         <source>Lines count field name</source>
         <translation>Linienzählfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2860"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2873"/>
         <source>Line length</source>
         <translation>Linienlänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2854"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2867"/>
         <source>Sum line lengths</source>
         <translation>Linienlängen summieren</translation>
     </message>
@@ -89466,33 +90388,33 @@ Fehler in Zeile %d</translation>
 <context>
     <name>SymmetricalDifference</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2865"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2878"/>
         <source>Vector overlay tools</source>
         <translation>Vektorlayerüberlagerungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2866"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2879"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2867"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2880"/>
         <source>Difference layer</source>
         <translation>Differenzlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2868"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2881"/>
         <source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
         <translation>GEOS-Verarbeitungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2869"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2882"/>
         <source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
         <translation>
 Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometrie wurden ignoriert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2864"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2877"/>
         <source>Symmetrical difference</source>
         <translation>Symmetrische Differenz</translation>
     </message>
@@ -89500,132 +90422,132 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TAUDEMAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="655"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="679"/>
         <source>Basic Grid Analysis tools</source>
         <translation>Grundlegende Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="662"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="674"/>
         <source>D-Infinity Avalanche Runout (multifile)</source>
         <translation>D-Unendlich Lawinenauslauf (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="668"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="685"/>
         <source>Move Outlets To Streams</source>
         <translation>Abläufe zu Strömem verschieben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="671"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="669"/>
         <source>D8 Flow Directions (multifile)</source>
         <translation>D8 Flußrichtungen (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="685"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="666"/>
         <source>Topographic Wetness Index</source>
         <translation>Topographischer Niederschlagsindex (TWI)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="690"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="688"/>
         <source>Stream Network Analysis tools</source>
         <translation>Stromnetzwerkanalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="680"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="663"/>
         <source>Move Outlets To Streams (multifile)</source>
         <translation>Abläufe zu Strömem verschieben (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="675"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="690"/>
         <source>Stream Reach and Watershed</source>
         <translation>Flußausdehnung und Wasserscheiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="663"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="670"/>
         <source>D-Infinity Reverse Accumulation</source>
         <translation>D-Unendlich umgekehrte Akkumulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="681"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="678"/>
         <source>Slope Over Area Ratio</source>
         <translation>Gefälle-über-Flächenverhältnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="676"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="660"/>
         <source>Select GT Threshold (multifile)</source>
         <translation>GT-Schwelle wählen (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="678"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="667"/>
         <source>D-Infinity Contributing Area (multifile)</source>
         <translation>D8 beitragende Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="669"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="658"/>
         <source>D-Infinity Concentration Limited Accumulation (multifile)</source>
         <translation>D-Infinity konzentrationsbegrenzte Akkumulation (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="693"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="653"/>
         <source>D8 Distance To Streams</source>
         <translation>D8 Abstand zu Strömen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="684"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="672"/>
         <source>D-Infinity Decaying Accumulation</source>
         <translation>D-Unendlich abnehmende Akkumulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="689"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="682"/>
         <source>D-Infinity Flow Directions (multifile)</source>
         <translation>D-Unendlich Flußrichtungen (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="657"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="681"/>
         <source>Select GT Threshold</source>
         <translation>GT-Schwelle wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="682"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="687"/>
         <source>D8 Contributing Area</source>
         <translation>D8 beitragende Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="674"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="684"/>
         <source>Stream Reach and Watershed (multifile)</source>
         <translation>Flußausdehnung und Wasserscheiden (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="653"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="650"/>
         <source>Gage Watershed - 2 (multifile)</source>
         <translation>Einzugsgebiet messen - 2 (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="659"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="661"/>
         <source>Specialized Grid Analysis tools</source>
         <translation>Spezialisierte Gitteranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="673"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="656"/>
         <source>D-Infinity Concentration Limited Accumulation</source>
         <translation>D-Unendlich konzentrationsbegrenzte Akkumulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="661"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="655"/>
         <source>D-Infinity Flow Directions</source>
         <translation>D-Infinity Fließrichtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="664"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="659"/>
         <source>Gage Watershed - 2</source>
         <translation>Einzugsgebiet messen - 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="667"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="668"/>
         <source>D-Infinity Contributing Area</source>
         <translation>D-Unendlich beitragende Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="687"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="677"/>
         <source>Slope Over Area Ratio (multifile)</source>
         <translation>Gefälle-über-Flächenverhältnis (Mehrdatei)</translation>
     </message>
@@ -89635,87 +90557,87 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation>D8 Extremer Aufwärtswert (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="686"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="665"/>
         <source>D-Infinity Reverse Accumulation (multifile)</source>
         <translation>D-Unendlich umgekehrte Akkumulation (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="654"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="691"/>
         <source>Pit Remove</source>
         <translation>Löcher entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="660"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="673"/>
         <source>Gage Watershed</source>
         <translation>Einzugsgebiet messen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="650"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="676"/>
         <source>Stream Definition By Threshold</source>
         <translation>Stromdefinition nach Schwelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="656"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="664"/>
         <source>D8 Extreme Upslope Value</source>
         <translation>D8 Extremer Aufwärtswert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="688"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="693"/>
         <source>Slope Average Down</source>
         <translation>Gemitteltes Gefälle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="665"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="657"/>
         <source>D8 Contributing Area (multifile)</source>
         <translation>D8 beitragende Fläche (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="679"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="675"/>
         <source>D8 Distance To Streams (multifile)</source>
         <translation>D8 Abstand zu Strömen (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="672"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="686"/>
         <source>Gage Watershed (multifile)</source>
         <translation>Einzugsgebiet messen (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="677"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="692"/>
         <source>D-Infinity Avalanche Runout</source>
         <translation>D-Unendlich Lawinenauslauf</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="658"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="651"/>
         <source>Slope Average Down (multifile)</source>
         <translation>Gemitteltes Gefälle (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="691"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="654"/>
         <source>Pit Remove (multifile)</source>
         <translation>Löcher entfernen (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="666"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="680"/>
         <source>D-Infinity Upslope Dependence (multifile)</source>
         <translation>D-Unendlich Auswärtsabhängigkeit (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="670"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="671"/>
         <source>D-Infinity Upslope Dependence</source>
         <translation>D-Unendlich Aufwärtsabhängigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="652"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="662"/>
         <source>Topographic Wetness Index (multifile)</source>
         <translation>Topographischer Niederschlagsindex (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="651"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="652"/>
         <source>Stream Definition By Threshold (multifile)</source>
         <translation>Stromdefinition nach Schwelle (Mehrdatei)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="692"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="689"/>
         <source>D8 Flow Directions</source>
         <translation>D8 Flußrichtungen</translation>
     </message>
@@ -89723,14 +90645,14 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TauDEMAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2873"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2886"/>
         <source>Could not load TauDEM algorithm: %s
 %s</source>
         <translation>Konnte TauDEM-Algorithmus nicht laden: %s
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2874"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2887"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -89738,47 +90660,47 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TauDEMAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2879"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2892"/>
         <source>TauDEM command line tools folder</source>
         <translation>Verzeichnis der TauDEM-Kommandozeilenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2883"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2896"/>
         <source>MPICH2/OpenMPI bin directory</source>
         <translation>MPICH2/OpenMPI-Programmverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2884"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2897"/>
         <source>Number of MPI parallel processes to use</source>
         <translation>Anzahl zu verwendender paralleler MPI-Prozesse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2885"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2898"/>
         <source>Could not open TauDEM algorithm: %s</source>
         <translation>Konnte TauDEM-Algorithmus nicht öffnen: %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2878"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2891"/>
         <source>TauDEM (hydrologic analysis)</source>
         <translation>TauDEM (hydrologische Analyse)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2880"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2893"/>
         <source>TauDEM multifile command line tools folder</source>
         <translation>TauDEM-Mehrdateibefehlszeilenwerkzeugverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2881"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2894"/>
         <source>Enable singlefile TauDEM tools</source>
         <translation>TauDEM-Einzeldateibefehlswerkzeuge aktivieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2882"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2895"/>
         <source>Enable multifile TauDEM tools</source>
         <translation>TauDEM-Mehrdateienbefehlswerkzeuge aktivieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2886"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2899"/>
         <source>Could not open TauDEM algorithm %s:
 %s</source>
         <translation>Konnte TauDEM-Algorithmus %s nicht öffnen:
@@ -89788,14 +90710,14 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TauDEMMultifileAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2890"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2903"/>
         <source>Could not load TauDEM algorithm: %s
 %s</source>
         <translation>Konnte TauDEM-Algorithmus nicht laden: %s
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2891"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2904"/>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
         <translation>Falsche Anzahl von MPI-Prozessen verwendet. Bitte vor der Ausführung von TauDEM-Algorithmen korrekte Anzahl einstellen.</translation>
     </message>
@@ -89803,12 +90725,12 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TauDEMUtils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2895"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2908"/>
         <source>TauDEM execution console output</source>
         <translation>Konsolenausgabe der TauDEM-Ausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2896"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2909"/>
         <source>TauDEM command:</source>
         <translation>TauDEM-Befehl:</translation>
     </message>
@@ -89816,27 +90738,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TextToFloat</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2901"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2914"/>
         <source>Vector table tools</source>
         <translation>Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2902"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2915"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2903"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2916"/>
         <source>Text attribute to convert to float</source>
         <translation>In Fließkomma umzuwandelndes Textattribut </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2904"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2917"/>
         <source>Float from text</source>
         <translation>Fließkomma aus Text</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2900"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2913"/>
         <source>Text to float</source>
         <translation>Text zu Fließkomma</translation>
     </message>
@@ -89844,47 +90766,47 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TinSurfaceCreate</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2908"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2921"/>
         <source>Tin Surface Create</source>
         <translation>TIN-Oberflächenerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2909"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2922"/>
         <source>Surface</source>
         <translation>Oberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2910"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2923"/>
         <source>Input LAS layer</source>
         <translation>Eingabe-LAS-Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2911"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2924"/>
         <source>Cellsize</source>
         <translation>Zellengröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2912"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2925"/>
         <source>XY Units</source>
         <translation>XY-Einheiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2913"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2926"/>
         <source>Z Units</source>
         <translation>Z-Einheit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2914"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2927"/>
         <source>.dtm output surface</source>
         <translation>DTM-Ausgabeoberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2916"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2929"/>
         <source>Select specific return</source>
         <translation>Bestimmtes Ergebnis wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2915"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2928"/>
         <source>Class</source>
         <translation>Klasse</translation>
     </message>
@@ -89906,7 +90828,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TreeProviderItem</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2920"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2933"/>
         <source> [{0} geoalgorithms]</source>
         <translation> [{0} Geo-Algorithmen]</translation>
     </message>
@@ -89914,33 +90836,33 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>Union</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2925"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2938"/>
         <source>Vector overlay tools</source>
         <translation>Vektorlayerüberlagerungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2926"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2939"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2927"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2940"/>
         <source>Input layer 2</source>
         <translation>Eingabelayer 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2928"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2941"/>
         <source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
         <translation>
 Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometrie wurden ignoriert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2929"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2942"/>
         <source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
         <translation>GEOS-Verarbeitungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2924"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2937"/>
         <source>Union</source>
         <translation>Vereinigungen</translation>
     </message>
@@ -89948,42 +90870,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>UniqueValues</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2934"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2947"/>
         <source>Vector table tools</source>
         <translation>Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2935"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2948"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2936"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2949"/>
         <source>Target field</source>
         <translation>Zielfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2937"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2950"/>
         <source>Unique values</source>
         <translation>Eindeutige Werte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2938"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2951"/>
         <source>Total unique values</source>
         <translation>Gesamtzahl eindeutiger Werte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2939"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2952"/>
         <source><p>Total unique values: </source>
         <translation><p>Gesamte eindeutige Werte:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2940"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2953"/>
         <source><p>Unique values:</p></source>
         <translation><p>Eindeutige Werte:</p></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2933"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2946"/>
         <source>List unique values</source>
         <translation>Eindeutige Werte auflisten</translation>
     </message>
@@ -90004,37 +90926,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VariableDistanceBuffer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2945"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2958"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2946"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2959"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2947"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2960"/>
         <source>Distance field</source>
         <translation>Distanzfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2948"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2961"/>
         <source>Segments</source>
         <translation>Segmente</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2949"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2962"/>
         <source>Dissolve result</source>
         <translation>Ergebnis auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2950"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2963"/>
         <source>Buffer</source>
         <translation>Puffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2944"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2957"/>
         <source>Variable distance buffer</source>
         <translation>Puffer variabler Distanz</translation>
     </message>
@@ -90055,47 +90977,47 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VectorGrid</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2955"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2968"/>
         <source>Vector creation tools</source>
         <translation>Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2956"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2969"/>
         <source>Output grid as polygons</source>
         <translation>Gitter als Polygone ausgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2957"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2970"/>
         <source>Output grid as lines</source>
         <translation>Gitter als Linien ausgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2958"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2971"/>
         <source>Grid extent</source>
         <translation>Gittergrenze von Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2959"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2972"/>
         <source>X spacing</source>
         <translation>X-Abstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2960"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2973"/>
         <source>Y spacing</source>
         <translation>Y-Abstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2961"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2974"/>
         <source>Grid type</source>
         <translation>Gittertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2962"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2975"/>
         <source>Grid</source>
         <translation>Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2954"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2967"/>
         <source>Vector grid</source>
         <translation>Vektorraster</translation>
     </message>
@@ -90103,42 +91025,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VectorLayerBoundsAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2966"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2979"/>
         <source>Vector layer bounds</source>
         <translation>Vektorlayer Grenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2967"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2980"/>
         <source>Modeler-only tools</source>
         <translation>Modell Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2968"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2981"/>
         <source>Layer</source>
         <translation>Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2969"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2982"/>
         <source>min X</source>
         <translation>min X</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2970"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2983"/>
         <source>max X</source>
         <translation>max X</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2971"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2984"/>
         <source>min Y</source>
         <translation>min Y</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2972"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2985"/>
         <source>max Y</source>
         <translation>max Y</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2973"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2986"/>
         <source>Extent</source>
         <translation>Umfang</translation>
     </message>
@@ -90146,32 +91068,32 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VectorLayerHistogram</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2978"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2991"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2979"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2992"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2980"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2993"/>
         <source>Attribute</source>
         <translation>Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2981"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2994"/>
         <source>number of bins</source>
         <translation>Anzahl von bins</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2982"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2995"/>
         <source>Histogram</source>
         <translation>Histogramm</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2977"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2990"/>
         <source>Vector layer histogram</source>
         <translation>Vektorlayerhistogramm</translation>
     </message>
@@ -90179,32 +91101,32 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VectorLayerScatterplot</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2987"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3000"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2988"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3001"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2989"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3002"/>
         <source>X attribute</source>
         <translation>X-Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2990"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3003"/>
         <source>Y attribute</source>
         <translation>Y-Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2991"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3004"/>
         <source>Scatterplot</source>
         <translation>Streudiagramm</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2986"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2999"/>
         <source>Vector layer scatterplot</source>
         <translation>Vektorlayerstreuungsplott</translation>
     </message>
@@ -90212,27 +91134,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VectorSplit</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2996"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3009"/>
         <source>Vector general tools</source>
         <translation>Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2997"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3010"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2998"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3011"/>
         <source>Unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2999"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3012"/>
         <source>Output directory</source>
         <translation>Ausgabeverzeichniss</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2995"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3008"/>
         <source>Split vector layer</source>
         <translation>Vektorlayer teilen</translation>
     </message>
@@ -90240,27 +91162,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VoronoiPolygons</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3005"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3018"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3006"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3019"/>
         <source>Buffer region</source>
         <translation>Region puffern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3003"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3016"/>
         <source>Voronoi polygons</source>
         <translation>Voronoipolygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3004"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3017"/>
         <source>Vector geometry tools</source>
         <translation>Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3007"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3020"/>
         <source>Input file should contain at least 3 points. Choose another file and try again.</source>
         <translation>Eingabedatei sollte mindestens 3 Punkte enthalten. Eine andere Datei wählen und nochmal versuchen.</translation>
     </message>
@@ -91820,42 +92742,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ZonalStatistics</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3012"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3025"/>
         <source>Raster tools</source>
         <translation>Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3013"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3026"/>
         <source>Raster layer</source>
         <translation>Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3014"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3027"/>
         <source>Raster band</source>
         <translation>Rasterkanal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3015"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3028"/>
         <source>Vector layer containing zones</source>
         <translation>Zonenvektorlayer </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3016"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3029"/>
         <source>Output column prefix</source>
         <translation>Ausgabespaltenpräfix</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3017"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3030"/>
         <source>Load whole raster in memory</source>
         <translation>Ganzes Raster in Speicher laden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3018"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3031"/>
         <source>Zonal statistics</source>
         <translation>Zonenstatistik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3011"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3024"/>
         <source>Zonal Statistics</source>
         <translation>Räumliche Statistik</translation>
     </message>
@@ -91876,151 +92798,151 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>alg</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3039"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3052"/>
         <source>You need to set either inline data positions or an input data positions file!</source>
         <translation>Es muß entweder interne Datenpositionen oder eine Eingabedatei für Positionen geben!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3040"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3053"/>
         <source>You need to set either sampling data positions or an output sampling data positions file!</source>
         <translation>Es müssen entweder Abtastdatenpositionen oder eine Ausgabedatei für Abtastdatenpositionen angeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3041"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3054"/>
         <source>You need to set input and output data positions parameters!</source>
         <translation>Es mpssen Eingabe- und Ausgabedatenpositionsparameter angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3032"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3045"/>
         <source>You need to set either a brighten percentage or a NULL color!</source>
         <translation>Es must entweder der Aufhellungsprozentsatz oder eine NULL-Farbe angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3046"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3059"/>
         <source>You need to set at least source/sink_where or source/sink_cats parameters for each set!</source>
         <translation>Es muß zumindest der source/sink_where oder source/sink_cats Parameter für jeden Satz gesetzt sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3030"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3043"/>
         <source>You need to set either inline configuration or a configuration file!</source>
         <translation>Es muss entweder eine direkte Konfiguration oder eine Konfigurationsdatei angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3031"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3044"/>
         <source>Your configuration needs to be a "moving window" configuration!</source>
         <translation>Die Konfiguration muss eine "gleitende Fenster"-Konfiguration sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3050"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3063"/>
         <source>Your configuration needs to be a non "moving window" configuration!</source>
         <translation>Die Konfiguration muss eine nicht-"gleitende Fenster"-Konfiguration sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3028"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3041"/>
         <source>You need to set either start coordinates OR a start points vector layer!</source>
         <translation>Es müssen entweder Startkoordinaten oder ein Startpunktvektorlayer angeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3029"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3042"/>
         <source>-c, -a, -n parameters are mutually exclusive!</source>
         <translation>-c, -a, -n Parameter schließen sich gegenseitig aus!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3037"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3050"/>
         <source>You can't use original Hargreaves flag and precipitation parameter together!</source>
         <translation>Die originale Hargreaves-Einstellung und der Fällungsparameter schließen sich aus!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3038"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3051"/>
         <source>If you don't use original Hargreaves flag, you must set the precipitation raster parameter!</source>
         <translation>Wenn die orginale Hargreaves-Einstellung nicht verwendet wird, muß ein Fällungsrasterparameter angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3024"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3037"/>
         <source>You need to set either a segment rules file or write directly the rules!</source>
         <translation>Die Segmentregeln müssen direkt oder als Datei angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3047"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3060"/>
         <source>Upload parameters should be a list of elements taken in the following values:
 'cat', 'dist', 'to_x', 'to_y', 'to_along', 'to_angle', 'to_attr'</source>
         <translation>Hochladeparameter sollten eine Elementliste mit folgenden Werten sein:
 'cat', 'dist', 'to_x', 'to_y', 'to_along', 'to_angle', 'to_attr'</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3048"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3061"/>
         <source>The number of columns and the number of upload parameters should be equal!</source>
         <translation>Die Anzahl der Spalten und die Anzahl der Hochladeparameter sollte gleich sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3027"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3040"/>
         <source>You need to set at least 'setnull' or 'null' parameters for this algorithm!</source>
         <translation>Für diesen Algorithmus muß zumindest der Parameter 'setnull' oder 'null' gesetzt sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3042"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3055"/>
         <source>You need to set either inline expression or a rules file!</source>
         <translation>Es muss ein direkter Ausdruck oder eine Regeldatei angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3034"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3047"/>
         <source>You need to set either a rules file or write directly the rules!</source>
         <translation>Die Regeln müssen direkt oder als Datei angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3043"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3056"/>
         <source>You need to set either radius or x_radius and y_radius!</source>
         <translation>Es muss ein Radius, x_radius oder y_radius angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3044"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3057"/>
         <source>You need to set x_radius and y_radius!</source>
         <translation>Es muß mindestens x_radius und y_radius gesetzt sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3035"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3048"/>
         <source>You need to set either rules or a raster from which to copy categories!</source>
         <translation>Es müssen Regeln oder ein Raster aus dem die Kategorien kopiert werden angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3045"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3058"/>
         <source>You need to set the method list with the following values only: asm, contrast, corr, var, idm, sa, se, sv, entr, dv, de, moc1, moc2!</source>
         <translation>Es muss eine Methodenliste ausschließlich aus folgenden Werten angeben werden: asm, contrast, corr, var, idm, sa, se, sv, entr, dv, de, moc1, moc2!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3025"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3038"/>
         <source>You need to set either inline rules or a rules file!</source>
         <translation>Es müssen direkte Regeln oder eine Regeldatei angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3049"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3062"/>
         <source>Feature type for '{}' should be a list of elements taken in the following values:
 'point', 'line', 'boundary', 'centroid', 'area'</source>
         <translation>Objekttyp für '{}' sollte eine Elementliste mit folgenden Werten sein:
 'point', 'line', 'boundary', 'centroid', 'area'</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3023"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3036"/>
         <source>You need to set either an input control point file or inline control points!</source>
         <translation>Es muss entweder eine Kontrollpunkteingabedatei oder direkt Kontrollpunkte angeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3036"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3049"/>
         <source>You need to set either a fixed height value or the height column!</source>
         <translation>Es muss entweder eine fester Höhenwert oder eine Höhenspalte angeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3026"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3039"/>
         <source>You need to set either an input ASCII file or inline data!</source>
         <translation>Es muss eine ASCII Eingabedatei oder Daten angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3033"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3046"/>
         <source>You need to set at least setX_where or setX_cats parameters for each set!</source>
         <translation>Es muß zumindest die setX_where oder setX_cats  Parameter für jeden Satz gesetzt sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3022"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3035"/>
         <source>Fusion</source>
         <translation>Fusion</translation>
     </message>
@@ -92028,42 +92950,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>aspect</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3055"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3068"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3056"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3069"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3057"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3070"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3058"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3071"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3059"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3072"/>
         <source>Use Zevenbergen&Thorne formula (instead of the Horn's one)</source>
         <translation>Benutze Zevenbergen&Thorne Formel (statt Horn)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3060"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3073"/>
         <source>Return trigonometric angle (instead of azimuth)</source>
         <translation>Trigonometrischen Winkel (statt Azimut) zurückgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3061"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3074"/>
         <source>Return 0 for flat (instead of -9999)</source>
         <translation>0 (statt -9999) für Ebene zurückgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3054"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3067"/>
         <source>Aspect</source>
         <translation>Perspektive</translation>
     </message>
@@ -92071,27 +92993,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>blast2dem</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3065"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3078"/>
         <source>blast2dem</source>
         <translation>blast2dem</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3066"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3079"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3067"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3080"/>
         <source>Attribute</source>
         <translation>Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3068"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3081"/>
         <source>Product</source>
         <translation>Produkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3069"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3082"/>
         <source>Use tile bounding box (after tiling with buffer)</source>
         <translation>Benutze Kachel Begrenzungsrahmen (nach Buffer)</translation>
     </message>
@@ -92099,27 +93021,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>blast2demPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3073"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3086"/>
         <source>blast2demPro</source>
         <translation>blast2demPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3074"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3087"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3075"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3088"/>
         <source>Attribute</source>
         <translation>Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3076"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3089"/>
         <source>Product</source>
         <translation>Produkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3077"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3090"/>
         <source>Use tile bounding box (after tiling with buffer)</source>
         <translation>Benutze Kachel Begrenzungsrahmen (nach Buffer)</translation>
     </message>
@@ -92127,37 +93049,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>blast2iso</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3081"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3094"/>
         <source>blast2iso</source>
         <translation>blast2iso</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3082"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3095"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3083"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3096"/>
         <source>smooth underlying TIN</source>
         <translation>Zugrundeliegendes TIN glätten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3084"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3097"/>
         <source>extract isoline with a spacing of</source>
         <translation>Extrahiere Isolinie mit einem Abstand von</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3085"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3098"/>
         <source>clean isolines shorter than (0 = do not clean)</source>
         <translation>Iso-Linien bereinigen, wenn kürzer als (0 = keine Bereinigung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3086"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3099"/>
         <source>simplify segments shorter than (0 = do not simplify)</source>
         <translation>Segmente vereinfachen kürzer als (0 = nicht vereinfachen) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3087"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3100"/>
         <source>simplify segments pairs with area less than (0 = do not simplify)</source>
         <translation>Segmentpaare vereinfachen mit Fläche kleiner als (0 = nicht vereinfachen) </translation>
     </message>
@@ -92165,37 +93087,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>blast2isoPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3091"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3104"/>
         <source>blast2isoPro</source>
         <translation>blast2isoPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3092"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3105"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3093"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3106"/>
         <source>smooth underlying TIN</source>
         <translation>Zugrundeliegendes TIN glätten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3094"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3107"/>
         <source>extract isoline with a spacing of</source>
         <translation>Extrahiere Isolinie mit einem Abstand von</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3095"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3108"/>
         <source>clean isolines shorter than (0 = do not clean)</source>
         <translation>Iso-Linien vereinfachen kürzer als (0 = nicht vereinfachen) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3096"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3109"/>
         <source>simplify segments shorter than (0 = do not simplify)</source>
         <translation>Segmente vereinfachen kürzer als (0 = nicht vereinfachen) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3097"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3110"/>
         <source>simplify segments pairs with area less than (0 = do not simplify)</source>
         <translation>Segmentpaare vereinfachen mit Fläche kleiner als (0 = nicht vereinfachen) </translation>
     </message>
@@ -92203,37 +93125,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>buildvrt</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3102"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3115"/>
         <source>[GDAL] Miscellaneous</source>
         <translation>[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3103"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3116"/>
         <source>Input layers</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3104"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3117"/>
         <source>Resolution</source>
         <translation>Auflösung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3105"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3118"/>
         <source>Layer stack</source>
         <translation>Layerstapel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3106"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3119"/>
         <source>Allow projection difference</source>
         <translation>Unterschiedliche Projektionen zulassen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3107"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3120"/>
         <source>Virtual</source>
         <translation>Virtuell</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3101"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3114"/>
         <source>Build Virtual Raster</source>
         <translation>Virtuelles Raster generieren</translation>
     </message>
@@ -96162,37 +97084,37 @@ Die folgenden Optionen können verwendet werden
 <context>
     <name>contour</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3111"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3124"/>
         <source>Contour</source>
         <translation>Kontur</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3112"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3125"/>
         <source>[GDAL] Extraction</source>
         <translation>[GDAL] Extraktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3113"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3126"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3114"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3127"/>
         <source>Interval between contour lines</source>
         <translation>Intervall zwischen Konturlinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3115"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3128"/>
         <source>Attribute name (if not set, no elevation attribute is attached)</source>
         <translation>Attributname (wenn nicht angegeben, wird kein Höhenattribut zugefügt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3116"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3129"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3117"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3130"/>
         <source>Contours</source>
         <translation>Konturen</translation>
     </message>
@@ -97082,47 +98004,47 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>fillnodata</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3122"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3135"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3123"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3136"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3124"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3137"/>
         <source>Search distance</source>
         <translation>Suchdistanz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3125"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3138"/>
         <source>Smooth iterations</source>
         <translation>Glättungsiterationen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3126"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3139"/>
         <source>Band to operate on</source>
         <translation>Zu bearbeitender Kanal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3127"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3140"/>
         <source>Validity mask</source>
         <translation>Gültigkeitsmaske</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3128"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3141"/>
         <source>Do not use default validity mask</source>
         <translation>Voreingestellte Gültigkeitsmaske nicht verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3129"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3142"/>
         <source>Filled</source>
         <translation>Gefüllt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3121"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3134"/>
         <source>Fill nodata</source>
         <translation>"Leerwert" füllen</translation>
     </message>
@@ -97130,37 +98052,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>flightlinesToCHM</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3133"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3146"/>
         <source>flightlinesToCHM</source>
         <translation>flightlinesToCHM</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3134"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3147"/>
         <source>LAStools Pipelines</source>
         <translation>LAS-Tools Pipelines</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3135"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3148"/>
         <source>tile size (side length of square tile)</source>
         <translation>Kachelgröße (Seitenlänge der Quadrate) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3136"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3149"/>
         <source>buffer around each tile (avoids edge artifacts)</source>
         <translation>Buffer um einzelne Kacheln (vermeidet Randartefakte)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3137"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3150"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3138"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3151"/>
         <source>laser beam width (diameter of laser footprint)</source>
         <translation>Laserstrahlbreite (Laserabdrucksdurchmesser)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3139"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3152"/>
         <source>tile base name (using 'sydney' creates sydney_274000_4714000...)</source>
         <translation>Kachelbasisname ('sydney' erzeugt sydney_274000_4714000...)</translation>
     </message>
@@ -97168,32 +98090,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>flightlinesToDTMandDSM</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3143"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3156"/>
         <source>flightlinesToDTMandDSM</source>
         <translation>flightlinesToDTMandDSM</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3144"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3157"/>
         <source>LAStools Pipelines</source>
         <translation>LAS-Tools Pipelines</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3145"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3158"/>
         <source>tile size (side length of square tile)</source>
         <translation>Kachelgröße (Seitenlänge der Quadrate) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3146"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3159"/>
         <source>buffer around each tile (avoids edge artifacts)</source>
         <translation>Buffer um einzelne Kacheln (vermeidet Randartefakte)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3147"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3160"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3148"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3161"/>
         <source>tile base name (using 'sydney' creates sydney_274000_4714000...)</source>
         <translation>Kachelbasisname ('sydney' erzeugt sydney_274000_4714000...)</translation>
     </message>
@@ -97201,32 +98123,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>flightlinesToSingleCHMpitFree</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3152"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3165"/>
         <source>flightlinesToSingleCHMpitFree</source>
         <translation>flightlinesToSingleCHMpitFree</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3153"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3166"/>
         <source>LAStools Pipelines</source>
         <translation>LAS-Tools Pipelines</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3154"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3167"/>
         <source>tile size (side length of square tile)</source>
         <translation>Kachelgröße (Seitenlänge der Quadrate) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3155"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3168"/>
         <source>buffer around each tile (avoids edge artifacts)</source>
         <translation>Buffer um einzelne Kacheln (vermeidet Randartefakte)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3156"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3169"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3157"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3170"/>
         <source>laser beam width (diameter of laser footprint)</source>
         <translation>Laserstrahlbreite (Laserabdrucksdurchmesser)</translation>
     </message>
@@ -97234,92 +98156,92 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>gdal2tiles</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3161"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3174"/>
         <source>gdal2tiles</source>
         <translation>gdal2tiles</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3162"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3175"/>
         <source>[GDAL] Miscellaneous</source>
         <translation>[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3163"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3176"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3164"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3177"/>
         <source>Tile cutting profile</source>
         <translation>Kachelschneideprofil</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3165"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3178"/>
         <source>Resampling method</source>
         <translation>Abtastmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3166"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3179"/>
         <source>The spatial reference system used for the source input data</source>
         <translation>Das räumliche Bezugssystem der Eingabedaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3167"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3180"/>
         <source>Zoom levels to render</source>
         <translation>Darzustellende Zoomstufen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3168"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3181"/>
         <source>Resume mode, generate only missing files</source>
         <translation>Wiederaufnahmemodus, nur fehlende Dateien erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3169"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3182"/>
         <source>NODATA transparency value to assign to the input data</source>
         <translation>Den Eingabedaten zuzuweisender Leer-Transparenzwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3170"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3183"/>
         <source>Generate KML for Google Earth - default for "geodetic" profile and "raster" in EPSG:4326</source>
         <translation>KML für Google-Earth erzeugen - voreingestellt auf "geodätisches" Profil und "Raster" in EPSG:4326</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3171"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3184"/>
         <source>Avoid automatic generation of KML files for EPSG:4326</source>
         <translation>Automatische Erzeugung von KML-Dateien für EPSG:4326 vermeiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3172"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3185"/>
         <source>URL address where the generated tiles are going to be published</source>
         <translation>URL unter der die generierten Kacheln veröffentlich werden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3173"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3186"/>
         <source>Web viewer to generate</source>
         <translation>Zu erzeugende Webanzeige</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3174"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3187"/>
         <source>Title of the map</source>
         <translation>Kartentitel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3175"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3188"/>
         <source>Copyright for the map</source>
         <translation>Urheberrecht der Karte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3176"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3189"/>
         <source>Google Maps API key from http://code.google.com/apis/maps/signup.html</source>
         <translation>Google-Maps-API-Schlüssel von http://code.google.com/apis/maps/signup.html</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3177"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3190"/>
         <source>Bing Maps API key from https://www.bingmapsportal.com/</source>
         <translation>Bing-Maps-API-Schlüssel von https://www.bingmapsportal.com/</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3178"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3191"/>
         <source>The directory where the tile result is created</source>
         <translation>Verzeichnis in dem die Ergebniskacheln erzeugt werden sollen</translation>
     </message>
@@ -97327,27 +98249,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>gdal2xyz</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3183"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3196"/>
         <source>[GDAL] Conversion</source>
         <translation>[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3184"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3197"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3185"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3198"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3186"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3199"/>
         <source>xyz</source>
         <translation>xyz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3182"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3195"/>
         <source>gdal2xyz</source>
         <translation>gdal2xyz</translation>
     </message>
@@ -97355,42 +98277,42 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>gdaladdo</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3191"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3204"/>
         <source>[GDAL] Miscellaneous</source>
         <translation>[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3192"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3205"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3193"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3206"/>
         <source>Overview levels</source>
         <translation>Übersichtsebenen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3194"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3207"/>
         <source>Remove all existing overviews</source>
         <translation>Alle Übersichten entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3195"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3208"/>
         <source>Resampling method</source>
         <translation>Abtastmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3196"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3209"/>
         <source>Overview format</source>
         <translation>Übersichtsformat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3197"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3210"/>
         <source>Pyramidized</source>
         <translation>Ausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3190"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3203"/>
         <source>Build overviews (pyramids)</source>
         <translation>Übersichten erzeugen (Pyramiden)</translation>
     </message>
@@ -97398,97 +98320,97 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>gdalcalc</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3202"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3215"/>
         <source>[GDAL] Miscellaneous</source>
         <translation>[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3203"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3216"/>
         <source>Input layer A</source>
         <translation>Eingabelayer A</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3204"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3217"/>
         <source>Number of raster band for raster A</source>
         <translation>Kanalnummer für Raster A</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3205"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3218"/>
         <source>Input layer B</source>
         <translation>Eingabelayer B</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3206"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3219"/>
         <source>Number of raster band for raster B</source>
         <translation>Kanalnummer für Raster B</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3207"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3220"/>
         <source>Input layer C</source>
         <translation>Eingabelayer C</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3208"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3221"/>
         <source>Number of raster band for raster C</source>
         <translation>Kanalnummer für Raster C</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3209"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3222"/>
         <source>Input layer D</source>
         <translation>Eingabelayer D</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3210"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3223"/>
         <source>Number of raster band for raster D</source>
         <translation>Kanalnummer für Raster D</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3211"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3224"/>
         <source>Input layer E</source>
         <translation>Eingabelayer E</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3212"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3225"/>
         <source>Number of raster band for raster E</source>
         <translation>Kanalnummer für Raster E</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3213"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3226"/>
         <source>Input layer F</source>
         <translation>Eingabelayer F</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3214"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3227"/>
         <source>Number of raster band for raster F</source>
         <translation>Kanalnummer für Raster F</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3215"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3228"/>
         <source>Calculation in gdalnumeric syntax using +-/* or any numpy array functions (i.e. logical_and())</source>
         <translation>Berechnung in Syntax von gdalnumeric mit +-/* oder anderen Numpy-Feldfunktionen (z.B. logical_end()) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3216"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3229"/>
         <source>Set output nodata value</source>
         <translation>Ausgabeleerwert festlegen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3217"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3230"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3218"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3231"/>
         <source>Additional creation parameters</source>
         <translation>Zusaätzliche Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3219"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3232"/>
         <source>Calculated</source>
         <translation>Berechnet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3201"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3214"/>
         <source>Raster calculator</source>
         <translation>Rasterrechner</translation>
     </message>
@@ -97496,32 +98418,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>gdaltindex</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3224"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3237"/>
         <source>[GDAL] Miscellaneous</source>
         <translation>[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3225"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3238"/>
         <source>Input layers</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3226"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3239"/>
         <source>Tile index field</source>
         <translation>Kachelindexfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3227"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3240"/>
         <source>Skip files with different projection reference</source>
         <translation>Dateien mit anderer Projektion überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3228"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3241"/>
         <source>Tile index</source>
         <translation>Kachelindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3223"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3236"/>
         <source>Tile Index</source>
         <translation>Kachelindex</translation>
     </message>
@@ -100107,52 +101029,52 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>hillshade</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3233"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3246"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3234"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3247"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3235"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3248"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3236"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3249"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3237"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3250"/>
         <source>Use Zevenbergen&Thorne formula (instead of the Horn's one)</source>
         <translation>Benutze Zevenbergen&Thorne Formel (statt Horn)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3238"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3251"/>
         <source>Z factor (vertical exaggeration)</source>
         <translation>Z-Faktor (Vertikale Überhöhung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3239"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3252"/>
         <source>Scale (ratio of vert. units to horiz.)</source>
         <translation>Skalierung (Verh. von vert. zu horz. Einheiten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3240"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3253"/>
         <source>Azimuth of the light</source>
         <translation>Azimut des Lichts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3241"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3254"/>
         <source>Altitude of the light</source>
         <translation>Höhe des Lichts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3232"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3245"/>
         <source>Hillshade</source>
         <translation>Schummerung</translation>
     </message>
@@ -100160,37 +101082,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>hugeFileClassify</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3245"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3258"/>
         <source>hugeFileClassify</source>
         <translation>hugeFileClassify</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3246"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3259"/>
         <source>LAStools Pipelines</source>
         <translation>LAS-Tools Pipelines</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3247"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3260"/>
         <source>tile size (side length of square tile)</source>
         <translation>Kachelgröße (Seitenlänge der Quadrate) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3248"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3261"/>
         <source>buffer around each tile (avoids edge artifacts)</source>
         <translation>Buffer um einzelne Kacheln (vermeidet Randartefakte)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3249"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3262"/>
         <source>airborne LiDAR</source>
         <translation>Luft-LiDAR</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3250"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3263"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3251"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3264"/>
         <source>preprocessing</source>
         <translation>Vorverarbeitung</translation>
     </message>
@@ -100198,37 +101120,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>hugeFileGroundClassify</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3255"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3268"/>
         <source>hugeFileGroundClassify</source>
         <translation>hugeFileGroundClassify</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3256"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3269"/>
         <source>LAStools Pipelines</source>
         <translation>LAS-Tools Pipelines</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3257"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3270"/>
         <source>tile size (side length of square tile)</source>
         <translation>Kachelgröße (Seitenlänge der Quadrate) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3258"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3271"/>
         <source>buffer around each tile (avoids edge artifacts)</source>
         <translation>Buffer um einzelne Kacheln (vermeidet Randartefakte)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3259"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3272"/>
         <source>airborne LiDAR</source>
         <translation>Luft-LiDAR</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3260"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3273"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3261"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3274"/>
         <source>preprocessing</source>
         <translation>Vorverarbeitung</translation>
     </message>
@@ -100236,37 +101158,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>hugeFileNormalize</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3265"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3278"/>
         <source>hugeFileNormalize</source>
         <translation>hugeFileNormalize</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3266"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3279"/>
         <source>LAStools Pipelines</source>
         <translation>LAS-Tools Pipelines</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3267"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3280"/>
         <source>tile size (side length of square tile)</source>
         <translation>Kachelgröße (Seitenlänge der Quadrate) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3268"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3281"/>
         <source>buffer around each tile (avoids edge artifacts)</source>
         <translation>Buffer um einzelne Kacheln (vermeidet Randartefakte)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3269"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3282"/>
         <source>airborne LiDAR</source>
         <translation>Luft-LiDAR</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3270"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3283"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3271"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3284"/>
         <source>preprocessing</source>
         <translation>Vorverarbeitung</translation>
     </message>
@@ -100274,32 +101196,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>information</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3276"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3289"/>
         <source>[GDAL] Miscellaneous</source>
         <translation>[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3277"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3290"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3278"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3291"/>
         <source>Suppress GCP info</source>
         <translation>Paßpunktinformation unterdrücken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3279"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3292"/>
         <source>Suppress metadata info</source>
         <translation>Metadateninfo unterdrücken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3280"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3293"/>
         <source>Layer information</source>
         <translation>Layerinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3275"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3288"/>
         <source>Information</source>
         <translation>Information</translation>
     </message>
@@ -100307,27 +101229,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2dem</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3284"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3297"/>
         <source>las2dem</source>
         <translation>las2dem</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3285"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3298"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3286"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3299"/>
         <source>Attribute</source>
         <translation>Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3287"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3300"/>
         <source>Product</source>
         <translation>Produkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3288"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3301"/>
         <source>use tile bounding box (after tiling with buffer)</source>
         <translation>Benutze Kachel Begrenzungsrahmen (nach Buffer)</translation>
     </message>
@@ -100335,27 +101257,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2demPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3292"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3305"/>
         <source>las2demPro</source>
         <translation>las2demPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3293"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3306"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3294"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3307"/>
         <source>attribute (what to interpolate)</source>
         <translation>Attribute (zu Interpolieren)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3295"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3308"/>
         <source>product (how to output per pixel)</source>
         <translation>Produkt (Pixelausgabe)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3296"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3309"/>
         <source>use tile bounding box (after tiling with buffer)</source>
         <translation>Benutze Kachel Begrenzungsrahmen (nach Buffer)</translation>
     </message>
@@ -100363,37 +101285,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2iso</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3300"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3313"/>
         <source>las2iso</source>
         <translation>las2iso</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3301"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3314"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3302"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3315"/>
         <source>smooth underlying TIN</source>
         <translation>Zugrundeliegendes TIN glätten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3303"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3316"/>
         <source>extract isoline with a spacing of</source>
         <translation>Extrahiere Isolinie mit einem Abstand von</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3304"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3317"/>
         <source>clean isolines shorter than (0 = do not clean)</source>
         <translation>Segmente vereinfachen kürzer als (0 = nicht vereinfachen) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3305"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3318"/>
         <source>simplify segments shorter than (0 = do not simplify)</source>
         <translation>Segmente vereinfachen kürzer als (0 = nicht vereinfachen) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3306"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3319"/>
         <source>simplify segments pairs with area less than (0 = do not simplify)</source>
         <translation>Segmentpaare vereinfachen mit Fläche kleiner als (0 = nicht vereinfachen) </translation>
     </message>
@@ -100401,12 +101323,12 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2lasPro_filter</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3310"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3323"/>
         <source>las2lasPro_filter</source>
         <translation>las2lasPro_filter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3311"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3324"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
@@ -100414,42 +101336,42 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2lasPro_project</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3315"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3328"/>
         <source>las2lasPro_project</source>
         <translation>las2lasPro_project</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3316"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3329"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3317"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3330"/>
         <source>source projection</source>
         <translation>Quellprojektion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3318"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3331"/>
         <source>source utm zone</source>
         <translation>Quell-UTM-Zone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3319"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3332"/>
         <source>source state plane code</source>
         <translation>US-Koodinatensystemkennung Quelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3320"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3333"/>
         <source>target projection</source>
         <translation>Zielprojektion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3321"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3334"/>
         <source>target utm zone</source>
         <translation>Ziel-UTM-Zone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3322"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3335"/>
         <source>target state plane code</source>
         <translation>US-Koodinatensystemkennung Ziel</translation>
     </message>
@@ -100457,22 +101379,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2lasPro_transform</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3326"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3339"/>
         <source>las2lasPro_transform</source>
         <translation>las2lasPro_transform</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3327"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3340"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3328"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3341"/>
         <source>operations (first 8 need an argument)</source>
         <translation>Operationen (die ersten 8 brauchen ein Argument)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3329"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3342"/>
         <source>argument for operation</source>
         <translation>Argument für Operation</translation>
     </message>
@@ -100480,12 +101402,12 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2las_filter</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3333"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3346"/>
         <source>las2las_filter</source>
         <translation>las2las_filter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3334"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3347"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
@@ -100493,42 +101415,42 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2las_project</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3338"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3351"/>
         <source>las2las_project</source>
         <translation>las2las_project</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3339"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3352"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3340"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3353"/>
         <source>source projection</source>
         <translation>Quellprojektion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3341"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3354"/>
         <source>source utm zone</source>
         <translation>Quell-UTM-Zone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3342"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3355"/>
         <source>source state plane code</source>
         <translation>US-Koodinatensystemkennung Quelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3343"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3356"/>
         <source>target projection</source>
         <translation>Zielprojektion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3344"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3357"/>
         <source>target utm zone</source>
         <translation>Ziel-UTM-Zone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3345"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3358"/>
         <source>target state plane code</source>
         <translation>US-Koodinatensystemkennung Ziel</translation>
     </message>
@@ -100536,22 +101458,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2las_transform</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3349"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3362"/>
         <source>las2las_transform</source>
         <translation>las2las_transform</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3350"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3363"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3351"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3364"/>
         <source>operations (first 8 need an argument)</source>
         <translation>Operationen (die ersten 8 brauchen ein Argument)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3352"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3365"/>
         <source>argument for operation</source>
         <translation>Argument für Operation</translation>
     </message>
@@ -100559,27 +101481,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2shp</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3356"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3369"/>
         <source>las2shp</source>
         <translation>las2shp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3357"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3370"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3358"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3371"/>
         <source>use PointZ instead of MultiPointZ</source>
         <translation>PointZ statt MultiPointZ nutzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3359"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3372"/>
         <source>number of points per record</source>
         <translation>Anzahl der Punkte je Datensatz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3360"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3373"/>
         <source>Output SHP file</source>
         <translation>Ausgabeshapedatei</translation>
     </message>
@@ -100587,12 +101509,12 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2tin</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3364"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3377"/>
         <source>las2tin</source>
         <translation>las2tin</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3365"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3378"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
@@ -100600,22 +101522,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2txt</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3369"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3382"/>
         <source>las2txt</source>
         <translation>las2txt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3370"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3383"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3371"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3384"/>
         <source>parse string</source>
         <translation>Analysiere Text</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3372"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3385"/>
         <source>Output ASCII file</source>
         <translation>ASCII-Ausgabedatei</translation>
     </message>
@@ -100623,17 +101545,17 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>las2txtPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3376"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3389"/>
         <source>las2txtPro</source>
         <translation>las2txtPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3377"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3390"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3378"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3391"/>
         <source>parse string</source>
         <translation>Analysiere Text</translation>
     </message>
@@ -100641,32 +101563,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasboundary</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3382"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3395"/>
         <source>lasboundary</source>
         <translation>lasboundary</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3383"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3396"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3384"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3397"/>
         <source>compute boundary based on</source>
         <translation>berechne Grenzen basierend auf</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3385"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3398"/>
         <source>concavity</source>
         <translation>Wölbung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3386"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3399"/>
         <source>interior holes</source>
         <translation>Innere Löcher</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3387"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3400"/>
         <source>disjoint polygon</source>
         <translation>getrenntes Polygon</translation>
     </message>
@@ -100674,32 +101596,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasboundaryPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3391"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3404"/>
         <source>lasboundaryPro</source>
         <translation>lasboundaryPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3392"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3405"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3393"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3406"/>
         <source>compute boundary based on</source>
         <translation>berechne Grenzen basierend auf</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3394"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3407"/>
         <source>concavity</source>
         <translation>Wölbung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3395"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3408"/>
         <source>interior holes</source>
         <translation>Innere Löcher</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3396"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3409"/>
         <source>disjoint polygon</source>
         <translation>getrenntes Polygon</translation>
     </message>
@@ -100707,47 +101629,47 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lascanopy</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3400"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3413"/>
         <source>lascanopy</source>
         <translation>lascanopy</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3401"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3414"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3402"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3415"/>
         <source>square plot size</source>
         <translation>Quadratische Plottgröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3403"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3416"/>
         <source>height cutoff / breast height</source>
         <translation>abgeschnittene Höhe / Brusthöhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3404"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3417"/>
         <source>create</source>
         <translation>erzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3405"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3418"/>
         <source>count rasters (e.g. 2.0 5.0 10.0 20.0)</source>
         <translation>Rasteranzahl (z.B. 2.0 5.0 10.0 20.0)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3406"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3419"/>
         <source>density rasters (e.g. 2.0 5.0 10.0 20.0)</source>
         <translation>Dichteraster (z.B. 2.0 5.0 10.0 20.0)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3407"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3420"/>
         <source>use tile bounding box (after tiling with buffer)</source>
         <translation>Benutze Kachel Begrenzungsrahmen (nach Buffer)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3408"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3421"/>
         <source>input file is single plot</source>
         <translation>Eingabedatei ist ein einzelner Plott</translation>
     </message>
@@ -100755,47 +101677,47 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lascanopyPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3412"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3425"/>
         <source>lascanopyPro</source>
         <translation>lascanopyPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3413"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3426"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3414"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3427"/>
         <source>square plot size</source>
         <translation>Quadratische Plattgröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3415"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3428"/>
         <source>height cutoff / breast height</source>
         <translation>abgeschnittene Höhe / Brusthöhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3416"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3429"/>
         <source>create</source>
         <translation>erzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3417"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3430"/>
         <source>count rasters (e.g. 2.0 5.0 10.0 20.0)</source>
         <translation>Rasteranzahl (z.B. 2.0 5.0 10.0 20.0)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3418"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3431"/>
         <source>density rasters (e.g. 2.0 5.0 10.0 20.0)</source>
         <translation>Dichteraster (z.B. 2.0 5.0 10.0 20.0)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3419"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3432"/>
         <source>use tile bounding box (after tiling with buffer)</source>
         <translation>Benutze Kachel Begrenzungsrahmen (nach Buffer)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3420"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3433"/>
         <source>input file is single plot</source>
         <translation>Eingabedatei ist einzelner Plott</translation>
     </message>
@@ -100803,12 +101725,12 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasclassify</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3424"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3437"/>
         <source>lasclassify</source>
         <translation>lasclassify</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3425"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3438"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
@@ -100816,12 +101738,12 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasclassifyPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3429"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3442"/>
         <source>lasclassifyPro</source>
         <translation>lasclassifyPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3430"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3443"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
@@ -100829,32 +101751,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasclip</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3434"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3447"/>
         <source>lasclip</source>
         <translation>lasclip</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3435"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3448"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3436"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3449"/>
         <source>Input polygon(s)</source>
         <translation>Eingabepolygon(e)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3437"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3450"/>
         <source>interior</source>
         <translation>Innenbereich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3438"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3451"/>
         <source>what to do with points</source>
         <translation>Was mit Punkten zu tun ist</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3439"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3452"/>
         <source>classify as</source>
         <translation>klassifiziere als</translation>
     </message>
@@ -100862,17 +101784,17 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lascolor</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3443"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3456"/>
         <source>lascolor</source>
         <translation>lascolor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3444"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3457"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3445"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3458"/>
         <source>Input ortho</source>
         <translation>Eingabe Ortho</translation>
     </message>
@@ -100880,32 +101802,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lascontrol</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3449"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3462"/>
         <source>lascontrol</source>
         <translation>lascontrol</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3450"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3463"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3451"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3464"/>
         <source>ASCII text file of control points</source>
         <translation>ASCII-Textdatei mit Kontrollpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3452"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3465"/>
         <source>parse string marking which columns are xyz (use 's' for skip)</source>
         <translation>Zeichenkettenmarkierung für xyz-Spalten ('s' zum Überspringen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3453"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3466"/>
         <source>which points to use for elevation checks</source>
         <translation>Zur Höhenkontrolle zu verwendene Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3454"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3467"/>
         <source>adjust z elevation by translating away the average error</source>
         <translation>Z-Höhe durch Herausrechnen des durchschnittlichen Fehlers anpassen</translation>
     </message>
@@ -100913,27 +101835,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasdiff</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3458"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3471"/>
         <source>lasdiff</source>
         <translation>lasdiff</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3459"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3472"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3460"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3473"/>
         <source>other input LAS/LAZ file</source>
         <translation>weitere LAS/LAZ-Eingabedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3461"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3474"/>
         <source>stop reporting difference after this many points</source>
         <translation>Bericht über Unterschiede nach folgender Punktanzahl einstellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3462"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3475"/>
         <source>create elevation difference file (if points are in the same order)</source>
         <translation>Höhenunterschiedsdatei erzeugen (wenn die Pukte die gleiche Reihenfolge haben)</translation>
     </message>
@@ -100941,32 +101863,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasduplicate</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3466"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3479"/>
         <source>lasduplicate</source>
         <translation>lasduplicate</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3467"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3480"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3468"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3481"/>
         <source>keep duplicate with lowest z coordinate</source>
         <translation>Duplikat mit niedrigster Z-Koordinate halten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3469"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3482"/>
         <source>only remove duplicates in x y and z</source>
         <translation>entferne nur Duplikate in x y und z</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3470"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3483"/>
         <source>mark surviving duplicate as single return</source>
         <translation>Markiere überlebendes Duplikat als Single Return</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3471"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3484"/>
         <source>record removed duplicates to LAS/LAZ file</source>
         <translation>Speichere entfernte Duplikate in die LAS/LAZ Datei</translation>
     </message>
@@ -100974,32 +101896,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasduplicatePro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3475"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3488"/>
         <source>lasduplicatePro</source>
         <translation>lasduplicatePro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3476"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3489"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3477"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3490"/>
         <source>keep duplicate with lowest z coordinate</source>
         <translation>Duplikat mit niedrigster Z-Koordinate halten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3478"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3491"/>
         <source>only remove duplicates in x y and z</source>
         <translation>entferne nur Duplikate in x y und z</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3479"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3492"/>
         <source>mark surviving duplicate as single return</source>
         <translation>Markiere überlebendes Duplikat als Single Return</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3480"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3493"/>
         <source>record removed duplicates</source>
         <translation>Gelöschte Duplikate aufzeichnen</translation>
     </message>
@@ -101007,27 +101929,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasgrid</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3484"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3497"/>
         <source>lasgrid</source>
         <translation>lasgrid</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3485"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3498"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3486"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3499"/>
         <source>Attribute</source>
         <translation>Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3487"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3500"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3488"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3501"/>
         <source>use tile bounding box (after tiling with buffer)</source>
         <translation>Benutze Kachel Begrenzungsrahmen (nach Buffer)</translation>
     </message>
@@ -101035,27 +101957,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasgridPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3492"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3505"/>
         <source>lasgridPro</source>
         <translation>lasgridPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3493"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3506"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3494"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3507"/>
         <source>Attribute</source>
         <translation>Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3495"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3508"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3496"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3509"/>
         <source>use tile bounding box (after tiling with buffer)</source>
         <translation>Benutze Kachel Begrenzungsrahmen (nach Buffer)</translation>
     </message>
@@ -101063,32 +101985,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasground</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3500"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3513"/>
         <source>lasground</source>
         <translation>lasground</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3501"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3514"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3502"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3515"/>
         <source>no triangle bulging during TIN refinement</source>
         <translation>keine Dreieckswölbung während TIN Verfeinerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3503"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3516"/>
         <source>classify flightlines separately (needs point source IDs populated)</source>
         <translation>Fluglinien getrennt klassifizieren (Punktquellenkennungen müssen gefüllt sein) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3504"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3517"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3505"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3518"/>
         <source>preprocessing</source>
         <translation>Vorbereitung</translation>
     </message>
@@ -101096,27 +102018,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasgroundPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3509"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3522"/>
         <source>lasgroundPro</source>
         <translation>lasgroundPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3510"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3523"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3511"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3524"/>
         <source>no triangle bulging during TIN refinement</source>
         <translation>keine Dreieckswölbung während TIN Verfeinerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3512"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3525"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3513"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3526"/>
         <source>preprocessing</source>
         <translation>Vorverarbeitung</translation>
     </message>
@@ -101124,47 +102046,47 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasgroundPro_new</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3517"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3530"/>
         <source>lasgroundPro_new</source>
         <translation>lasgroundPro_new</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3518"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3531"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3519"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3532"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3520"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3533"/>
         <source>preprocessing</source>
         <translation>Vorverarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3521"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3534"/>
         <source>step (for 'custom' terrain only)</source>
         <translation>Schrittweite (nur für 'Benutzergelände')</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3522"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3535"/>
         <source>bulge (for 'custom' terrain only)</source>
         <translation>Ausbuchtung (nur für 'Benutzergelände)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3523"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3536"/>
         <source>spike (for 'custom' terrain only)</source>
         <translation>Spitze (nur für 'Benutzergelände')</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3524"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3537"/>
         <source>down spike (for 'custom' terrain only)</source>
         <translation>Tiefpunkt (nur für 'Benutzergelände')</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3525"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3538"/>
         <source>offset (for 'custom' terrain only)</source>
         <translation>Versatz (nur für 'Benutzergelände')</translation>
     </message>
@@ -101172,47 +102094,47 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasground_new</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3529"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3542"/>
         <source>lasground_new</source>
         <translation>lasground_new</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3530"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3543"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3531"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3544"/>
         <source>terrain type</source>
         <translation>Geländetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3532"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3545"/>
         <source>preprocessing</source>
         <translation>Vorverarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3533"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3546"/>
         <source>step (for 'custom' terrain only)</source>
         <translation>Schrittweite (nur für 'Benutzergelände')</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3534"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3547"/>
         <source>bulge (for 'custom' terrain only)</source>
         <translation>Ausbuchtung (nur für 'Benutzergelände)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3535"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3548"/>
         <source>spike (for 'custom' terrain only)</source>
         <translation>Spitze (nur für 'Benutzergelände')</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3536"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3549"/>
         <source>down spike (for 'custom' terrain only)</source>
         <translation>Tiefpunkt (nur für 'Benutzergelände')</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3537"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3550"/>
         <source>offset (for 'custom' terrain only)</source>
         <translation>Versatz (nur für 'Benutzergelände')</translation>
     </message>
@@ -101220,37 +102142,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasheight</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3541"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3554"/>
         <source>lasheight</source>
         <translation>lasheight</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3542"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3555"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3543"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3556"/>
         <source>replace z</source>
         <translation>Z ersetzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3544"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3557"/>
         <source>drop above</source>
         <translation>ausscheiden über</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3545"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3558"/>
         <source>drop above height</source>
         <translation>ausscheiden über Höhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3546"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3559"/>
         <source>drop below</source>
         <translation>ausscheiden unter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3547"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3560"/>
         <source>drop below height</source>
         <translation>ausscheiden über Höhe</translation>
     </message>
@@ -101258,37 +102180,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasheightPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3551"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3564"/>
         <source>lasheightPro</source>
         <translation>lasheightPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3552"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3565"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3553"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3566"/>
         <source>replace z</source>
         <translation>Z ersetzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3554"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3567"/>
         <source>drop above</source>
         <translation>ausscheiden über</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3555"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3568"/>
         <source>drop above height</source>
         <translation>ausscheiden über Höhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3556"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3569"/>
         <source>drop below</source>
         <translation>ausscheiden unter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3557"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3570"/>
         <source>drop below height</source>
         <translation>ausscheiden unter Höhe</translation>
     </message>
@@ -101296,57 +102218,57 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasheightPro_classify</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3561"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3574"/>
         <source>lasheightPro_classify</source>
         <translation>lasheightPro_classify</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3562"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3575"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3563"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3576"/>
         <source>replace z</source>
         <translation>Z ersetzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3564"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3577"/>
         <source>classify below height as</source>
         <translation>Unterhöhen klassifizieren als</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3565"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3578"/>
         <source>below height</source>
         <translation>Unterhöhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3566"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3579"/>
         <source>classify between height as</source>
         <translation>Zwischenhöhen klassifieren als</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3567"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3580"/>
         <source>between height ... </source>
         <translation>Zwischenhöhe ...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3568"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3581"/>
         <source>... and height</source>
         <translation>... und Höhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3569"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3582"/>
         <source>between height ...</source>
         <translation>zwischen Höhe ...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3570"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3583"/>
         <source>classify above</source>
         <translation>Überklassifierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3571"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3584"/>
         <source>classify above height</source>
         <translation>Überhöhe klassifizieren</translation>
     </message>
@@ -101354,57 +102276,57 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasheight_classify</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3575"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3588"/>
         <source>lasheight_classify</source>
         <translation>lasheight_classify</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3576"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3589"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3577"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3590"/>
         <source>replace z</source>
         <translation>Z ersetzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3578"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3591"/>
         <source>classify below height as</source>
         <translation>Unterhöhen klassifizieren als</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3579"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3592"/>
         <source>below height</source>
         <translation>Unterhöhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3580"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3593"/>
         <source>classify between height as</source>
         <translation>Zwischenhöhen klassifieren als</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3581"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3594"/>
         <source>between height ... </source>
         <translation>zwischen Höhe ...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3582"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3595"/>
         <source>... and height</source>
         <translation>... und Höhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3583"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3596"/>
         <source>between height ...</source>
         <translation>zwischen Höhe ...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3584"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3597"/>
         <source>classify above</source>
         <translation>darüber klassifizieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3585"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3598"/>
         <source>classify above height</source>
         <translation>Überhöhe klassifizieren</translation>
     </message>
@@ -101412,22 +102334,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasindex</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3589"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3602"/>
         <source>lasindex</source>
         <translation>lasindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3590"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3603"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3591"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3604"/>
         <source>append *.lax file to *.laz file</source>
         <translation>LAX-Datei an LAZ-Datei anhängen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3592"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3605"/>
         <source>is mobile or terrestrial LiDAR (not airborne)</source>
         <translation>ist mobiles oder terrestrisches LIDAR (nicht aus der Luft)</translation>
     </message>
@@ -101435,22 +102357,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasindexPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3596"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3609"/>
         <source>lasindexPro</source>
         <translation>lasindexPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3597"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3610"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3598"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3611"/>
         <source>append *.lax file to *.laz file</source>
         <translation>LAX-Datei an LAZ-Datei anhängen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3599"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3612"/>
         <source>is mobile or terrestrial LiDAR (not airborne)</source>
         <translation>ist mobiles oder terrestrisches LIDAR (nicht aus der Luft)</translation>
     </message>
@@ -101458,42 +102380,42 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasinfo</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3603"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3616"/>
         <source>lasinfo</source>
         <translation>lasinfo</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3604"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3617"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3605"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3618"/>
         <source>compute density</source>
         <translation>Dichte berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3606"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3619"/>
         <source>repair bounding box</source>
         <translation>repariere Begrenzungsrahmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3607"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3620"/>
         <source>repair counters</source>
         <translation>Zähler reparieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3608"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3621"/>
         <source>histogram</source>
         <translation>Histogramm</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3609"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3622"/>
         <source>bin size</source>
         <translation>bin Größe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3610"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3623"/>
         <source>Output ASCII file</source>
         <translation>ASCII-Ausgabedatei</translation>
     </message>
@@ -101501,37 +102423,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasinfoPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3614"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3627"/>
         <source>lasinfoPro</source>
         <translation>lasinfoPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3615"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3628"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3616"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3629"/>
         <source>compute density</source>
         <translation>Dichte berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3617"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3630"/>
         <source>repair bounding box</source>
         <translation>repariere Begrenzungsrahmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3618"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3631"/>
         <source>repair counters</source>
         <translation>Zähler reparieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3619"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3632"/>
         <source>histogram</source>
         <translation>Histogramm</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3620"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3633"/>
         <source>bin size</source>
         <translation>bin Größe</translation>
     </message>
@@ -101539,42 +102461,42 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasmerge</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3624"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3637"/>
         <source>lasmerge</source>
         <translation>lasmerge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3625"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3638"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3626"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3639"/>
         <source>2nd file</source>
         <translation>2. Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3627"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3640"/>
         <source>3rd file</source>
         <translation>3. Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3628"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3641"/>
         <source>4th file</source>
         <translation>4. Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3629"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3642"/>
         <source>5th file</source>
         <translation>5. Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3630"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3643"/>
         <source>6th file</source>
         <translation>6. Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3631"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3644"/>
         <source>7th file</source>
         <translation>7. Datei</translation>
     </message>
@@ -101582,12 +102504,12 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasmergePro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3635"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3648"/>
         <source>lasmergePro</source>
         <translation>lasmergePro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3636"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3649"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
@@ -101595,37 +102517,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasnoise</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3640"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3653"/>
         <source>lasnoise</source>
         <translation>lasnoise</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3641"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3654"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3642"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3655"/>
         <source>isolated if surrounding cells have only</source>
         <translation>isoliert wenn umgebende Zellen haben nur</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3643"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3656"/>
         <source>resolution of isolation grid in xy</source>
         <translation>Auflösung des Isolationsgitters in xy</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3644"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3657"/>
         <source>resolution of isolation grid in z</source>
         <translation>Auflösung des Isolationsgitters in z</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3645"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3658"/>
         <source>what to do with isolated points</source>
         <translation>was machen mit isolierten Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3646"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3659"/>
         <source>classify as</source>
         <translation>klassifiziere als</translation>
     </message>
@@ -101633,37 +102555,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasnoisePro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3650"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3663"/>
         <source>lasnoisePro</source>
         <translation>lasnoisePro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3651"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3664"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3652"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3665"/>
         <source>isolated if surrounding cells have only</source>
         <translation>isoliert wenn umgebende Zellen haben nur</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3653"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3666"/>
         <source>resolution of isolation grid in xy</source>
         <translation>Auflösung des Isolationsgitters in xy</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3654"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3667"/>
         <source>resolution of isolation grid in z</source>
         <translation>Auflösung des Isolationsgitters in z</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3655"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3668"/>
         <source>what to do with isolated points</source>
         <translation>was machen mit isolierten Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3656"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3669"/>
         <source>classify as</source>
         <translation>klassifiziere als</translation>
     </message>
@@ -101671,22 +102593,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasoverage</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3660"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3673"/>
         <source>lasoverage</source>
         <translation>lasoverage</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3661"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3674"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3662"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3675"/>
         <source>size of grid used for scan angle check</source>
         <translation>Größe des Gitters zur Scanwinkel Überprüfung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3663"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3676"/>
         <source>mode of operation</source>
         <translation>Modus der Operation</translation>
     </message>
@@ -101694,22 +102616,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasoveragePro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3667"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3680"/>
         <source>lasoveragePro</source>
         <translation>lasoveragePro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3668"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3681"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3669"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3682"/>
         <source>size of grid used for scan angle check</source>
         <translation>Größe des Gitters zur Scanwinkel Überprüfung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3670"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3683"/>
         <source>mode of operation</source>
         <translation>Modus der Operation</translation>
     </message>
@@ -101717,37 +102639,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasoverlap</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3674"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3687"/>
         <source>lasoverlap</source>
         <translation>lasoverlap</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3675"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3688"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3676"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3689"/>
         <source>size of grid used for overlap check</source>
         <translation>Größe des Rasters das für Überlappungstest benutzt wird</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3677"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3690"/>
         <source>attribute to check</source>
         <translation>Zu prüfendes Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3678"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3691"/>
         <source>operation on attribute per cell</source>
         <translation>Operation auf Attribut per Zelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3679"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3692"/>
         <source>create overlap raster</source>
         <translation>erzeuge überlappendes Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3680"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3693"/>
         <source>create difference raster</source>
         <translation>erzeuge Differenzenraster</translation>
     </message>
@@ -101755,37 +102677,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasoverlapPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3684"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3697"/>
         <source>lasoverlapPro</source>
         <translation>lasoverlapPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3685"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3698"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3686"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3699"/>
         <source>size of grid used for overlap check</source>
         <translation>Größe des Rasters welches für Überlappungstest benutzt wird</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3687"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3700"/>
         <source>attribute to check</source>
         <translation>Zu prüfendes Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3688"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3701"/>
         <source>operation on attribute per cell</source>
         <translation>Operation auf Attribut per Zelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3689"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3702"/>
         <source>create overlap raster</source>
         <translation>erzeuge überlappendes Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3690"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3703"/>
         <source>create difference raster</source>
         <translation>erzeuge Differenzenraster</translation>
     </message>
@@ -101793,17 +102715,17 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasprecision</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3694"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3707"/>
         <source>lasprecision</source>
         <translation>lasprecision</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3695"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3708"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3696"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3709"/>
         <source>Output ASCII file</source>
         <translation>ASCII-Ausgabedatei</translation>
     </message>
@@ -101811,62 +102733,62 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>laspublish</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3700"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3713"/>
         <source>laspublish</source>
         <translation>laspublish</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3701"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3714"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3702"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3715"/>
         <source>type of portal</source>
         <translation>Portaltyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3703"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3716"/>
         <source>use Eye Dome Lighting (EDL)</source>
         <translation>Eye-Dome-Lighting (EDL) verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3704"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3717"/>
         <source>show Skybox</source>
         <translation>Skybox anzeigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3705"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3718"/>
         <source>default material colors on start-up</source>
         <translation>Vorgabematerialfarben beim Start</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3706"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3719"/>
         <source>portal output directory</source>
         <translation>Portalausgabeverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3707"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3720"/>
         <source>copy or move source LiDAR files into portal (only for download portals)</source>
         <translation>LiDAR-Quelldateien ins Portal kopieren oder verschieben (nur für Portale zum Herunterladen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3708"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3721"/>
         <source>overwrite existing files</source>
         <translation>Vorhandene Dateien überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3709"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3722"/>
         <source>portal HTML page</source>
         <translation>Portal-HTML-Seite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3710"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3723"/>
         <source>portal title</source>
         <translation>Portal-Titel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3711"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3724"/>
         <source>portal description</source>
         <translation>Portal-Beschreibung</translation>
     </message>
@@ -101874,62 +102796,62 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>laspublishPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3715"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3728"/>
         <source>laspublishPro</source>
         <translation>laspublishPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3716"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3729"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3717"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3730"/>
         <source>type of portal</source>
         <translation>Portaltyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3718"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3731"/>
         <source>use Eye Dome Lighting (EDL)</source>
         <translation>Eye-Dome-Lighting (EDL) verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3719"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3732"/>
         <source>show Skybox</source>
         <translation>Skybox anzeigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3720"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3733"/>
         <source>default material colors on start-up</source>
         <translation>Vorgabematerialfarben beim Start</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3721"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3734"/>
         <source>portal output directory</source>
         <translation>Portalausgabeverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3722"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3735"/>
         <source>copy or move source LiDAR files into portal (only for download portals)</source>
         <translation>LiDAR-Quelldateien ins Portal kopieren oder verschieben (nur für Portale zum Herunterladen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3723"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3736"/>
         <source>overwrite existing files</source>
         <translation>Vorhandene Dateien überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3724"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3737"/>
         <source>portal HTML page</source>
         <translation>Portal-HTML-Seite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3725"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3738"/>
         <source>portal title</source>
         <translation>Portal-Titel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3726"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3739"/>
         <source>portal description</source>
         <translation>Portal-Beschreibung</translation>
     </message>
@@ -101937,17 +102859,17 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasquery</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3730"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3743"/>
         <source>lasquery</source>
         <translation>lasquery</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3731"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3744"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3732"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3745"/>
         <source>area of interest</source>
         <translation>Interessensgebiet</translation>
     </message>
@@ -101955,22 +102877,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lassort</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3736"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3749"/>
         <source>lassort</source>
         <translation>lassort</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3737"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3750"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3738"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3751"/>
         <source>sort by GPS time</source>
         <translation>sortiere nach GPS Zeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3739"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3752"/>
         <source>sort by point source ID</source>
         <translation>Nach Punktquellkennung sortieren</translation>
     </message>
@@ -101978,22 +102900,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lassortPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3743"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3756"/>
         <source>lassortPro</source>
         <translation>lassortPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3744"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3757"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3745"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3758"/>
         <source>sort by GPS time</source>
         <translation>sortiere nach GPS Zeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3746"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3759"/>
         <source>sort by point source ID</source>
         <translation>Nach Punktquellkennung sortieren</translation>
     </message>
@@ -102001,27 +102923,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lassplit</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3750"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3763"/>
         <source>lassplit</source>
         <translation>lassplit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3751"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3764"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3752"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3765"/>
         <source>number of digits for file names</source>
         <translation>Anzahl der Stellen für Dateinamen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3753"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3766"/>
         <source>how to split</source>
         <translation>Wie zu teilen ist</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3754"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3767"/>
         <source>interval or number</source>
         <translation>Interval oder Nummer</translation>
     </message>
@@ -102029,42 +102951,42 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasthin</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3758"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3771"/>
         <source>lasthin</source>
         <translation>lasthin</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3759"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3772"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3760"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3773"/>
         <source>size of grid used for thinning</source>
         <translation>Größe des Gitters zum Ausdünnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3761"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3774"/>
         <source>keep particular point per cell</source>
         <translation>Bestimmten Punkt je Zelle halten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3762"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3775"/>
         <source>vertical threshold or contour intervals (only for 'adaptive' or 'contours' thinning)</source>
         <translation>Vertikalereserve oder Konturintervalle (nur für 'adaptive' oder Konturausdünnung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3763"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3776"/>
         <source>mark thinned-away points as withheld</source>
         <translation>Ausgedünnte Punkte als unterdrückt kennzeichnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3764"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3777"/>
         <source>classify surviving points as class</source>
         <translation>Verbleibende Punkte als Klasse ansehen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3765"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3778"/>
         <source>class</source>
         <translation>Klasse</translation>
     </message>
@@ -102072,42 +102994,42 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasthinPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3769"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3782"/>
         <source>lasthinPro</source>
         <translation>lasthinPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3770"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3783"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3771"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3784"/>
         <source>size of grid used for thinning</source>
         <translation>Gittergröße zum Ausdünnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3772"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3785"/>
         <source>keep particular point per cell</source>
         <translation>Bestimmten Punkt je Zelle halten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3773"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3786"/>
         <source>vertical threshold or contour intervals (only for 'adaptive' or 'contours' thinning)</source>
         <translation>Vertikalereserve oder Konturintervalle (nur für 'adaptive' oder Konturausdünnung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3774"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3787"/>
         <source>mark thinned-away points as withheld</source>
         <translation>Ausgedünnten Punkt als unterdrückt kennzeichnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3775"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3788"/>
         <source>classify surviving points as class</source>
         <translation>Verbleibende Punkt als Klasse ansehen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3776"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3789"/>
         <source>class</source>
         <translation>Klasse</translation>
     </message>
@@ -102115,32 +103037,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lastile</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3780"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3793"/>
         <source>lastile</source>
         <translation>lastile</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3781"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3794"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3782"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3795"/>
         <source>tile size (side length of square tile)</source>
         <translation>Kachelgröße (Seitenlänge der Quadrate) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3783"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3796"/>
         <source>buffer around each tile</source>
         <translation>Puffer um einzelne Kacheln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3784"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3797"/>
         <source>flag buffer points as 'withheld' for easier removal later</source>
         <translation>Pufferpunkte zur einfachen späteren Entfernung als 'zurückgehalten' markieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3785"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3798"/>
         <source>make tiling reversible (advanced, usually not needed)</source>
         <translation>Kachelung umkehrbar machen (fortgeschritten, normalerweise nicht nötig)</translation>
     </message>
@@ -102148,37 +103070,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lastilePro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3789"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3802"/>
         <source>lastilePro</source>
         <translation>lastilePro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3790"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3803"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3791"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3804"/>
         <source>tile size (side length of square tile)</source>
         <translation>Kachelgröße (Seitenlänge der Quadrate) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3792"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3805"/>
         <source>buffer around each tile (avoids edge artifacts)</source>
         <translation>Buffer um einzelne Kacheln (vermeidet Randartefakte)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3793"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3806"/>
         <source>flag buffer points as 'withheld' for easier removal later</source>
         <translation>Pufferpunkte zur einfachen späteren Entfernung als 'zurückgehalten' markieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3794"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3807"/>
         <source>more than 2000 tiles</source>
         <translation>mehr als 2000 Kacheln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3795"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3808"/>
         <source>tile base name (using sydney.laz creates sydney_274000_4714000.laz)</source>
         <translation>Kachelbasisname ('sydney.laz' erzeugt sydney_274000_4714000.laz)</translation>
     </message>
@@ -102186,22 +103108,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasvalidate</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3799"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3812"/>
         <source>lasvalidate</source>
         <translation>lasvalidate</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3800"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3813"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3801"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3814"/>
         <source>save report to '*_LVS.xml'</source>
         <translation>Speichert Report unter '*_LVS.xml'</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3802"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3815"/>
         <source>Output XML file</source>
         <translation>XML-Ausgabedatei</translation>
     </message>
@@ -102209,22 +103131,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasvalidatePro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3806"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3819"/>
         <source>lasvalidatePro</source>
         <translation>lasvalidatePro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3807"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3820"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3808"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3821"/>
         <source>generate one '*_LVS.xml' report per file</source>
         <translation>erzeugt einen '*_LVS.xml' Report pro Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3809"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3822"/>
         <source>Output XML file</source>
         <translation>XML-Ausgabedatei</translation>
     </message>
@@ -102232,27 +103154,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasview</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3813"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3826"/>
         <source>lasview</source>
         <translation>lasview</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3814"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3827"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3815"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3828"/>
         <source>max number of points sampled</source>
         <translation>max. Anzahl von erzeugten Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3816"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3829"/>
         <source>color by</source>
         <translation>Einfärben nach</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3817"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3830"/>
         <source>window size (x y) in pixels</source>
         <translation>Fenstergröße (x y) in Pixel</translation>
     </message>
@@ -102260,27 +103182,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>lasviewPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3821"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3834"/>
         <source>lasviewPro</source>
         <translation>lasviewPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3822"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3835"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3823"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3836"/>
         <source>max number of points sampled</source>
         <translation>max. Anzahl von erzeugten Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3824"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3837"/>
         <source>color by</source>
         <translation>Einfärben nach</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3825"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3838"/>
         <source>window size (x y) in pixels</source>
         <translation>Fenstergröße (x y) in Pixel</translation>
     </message>
@@ -102288,27 +103210,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>laszip</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3829"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3842"/>
         <source>laszip</source>
         <translation>laszip</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3830"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3843"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3831"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3844"/>
         <source>only report size</source>
         <translation>Nur Größe berichten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3832"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3845"/>
         <source>create spatial indexing file (*.lax)</source>
         <translation>Räumlichen Index erzeugen (*.lax)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3833"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3846"/>
         <source>append *.lax into *.laz file</source>
         <translation>LAX- and LAZ-Datei anhängen</translation>
     </message>
@@ -102316,27 +103238,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>laszipPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3837"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3850"/>
         <source>laszipPro</source>
         <translation>laszipPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3838"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3851"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3839"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3852"/>
         <source>only report size</source>
         <translation>Nur Größe berichten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3840"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3853"/>
         <source>create spatial indexing file (*.lax)</source>
         <translation>Räumlichen Index erzeugen (*.lax)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3841"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3854"/>
         <source>append *.lax into *.laz file</source>
         <translation>LAX- and LAZ-Datei anhängen</translation>
     </message>
@@ -102344,37 +103266,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>merge</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3845"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3858"/>
         <source>Merge</source>
         <translation>Verschmelzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3846"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3859"/>
         <source>[GDAL] Miscellaneous</source>
         <translation>[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3847"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3860"/>
         <source>Input layers</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3848"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3861"/>
         <source>Grab pseudocolor table from first layer</source>
         <translation>Pseudofarbtabelle aus erstem Bild entnehmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3849"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3862"/>
         <source>Place each input file into a separate band</source>
         <translation>Jeder Datei einen eigenen Kanal zuordnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3850"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3863"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3851"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3864"/>
         <source>Merged</source>
         <translation>Zusammengeführt</translation>
     </message>
@@ -102382,32 +103304,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>nearblack</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3856"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3869"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3857"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3870"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3858"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3871"/>
         <source>How far from black (white)</source>
         <translation>Entfernung von Schwarz (oder Weiß)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3859"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3872"/>
         <source>Search for nearly white pixels instead of nearly black</source>
         <translation>Suche nach fast weißen statt schwarzen Pixeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3860"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3873"/>
         <source>Nearblack</source>
         <translation>Fast Schwarz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3855"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3868"/>
         <source>Near black</source>
         <translation>Fast schwarz</translation>
     </message>
@@ -102415,37 +103337,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>nviz</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3865"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3878"/>
         <source>Visualization(NVIZ)</source>
         <translation>Visualisierung (NVIZ)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3866"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3879"/>
         <source>Raster file(s) for elevation</source>
         <translation>Rasterdatei(en) für Höhen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3867"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3880"/>
         <source>Vector lines/areas overlay file(s)</source>
         <translation>Vektorlinien-/-flächenüberlagerungsdatei(en)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3868"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3881"/>
         <source>Raster file(s) for color</source>
         <translation>Rasterdatei(en) für Farbe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3869"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3882"/>
         <source>GRASS region extent</source>
         <translation>GRASS-Regionengrenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3870"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3883"/>
         <source>GRASS region cellsize (leave 0 for default)</source>
         <translation>GRASS-Regionenzellengröße (0 für um Voreinstellung beizubehalten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3864"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3877"/>
         <source>nviz</source>
         <translation>nviz</translation>
     </message>
@@ -102453,37 +103375,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>nviz7</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3874"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3887"/>
         <source>nviz7</source>
         <translation>nviz7</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3875"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3888"/>
         <source>Visualization(NVIZ)</source>
         <translation>Visualisierung (NVIZ)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3876"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3889"/>
         <source>Raster file(s) for elevation</source>
         <translation>Rasterdatei(en) für Höhen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3877"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3890"/>
         <source>Vector lines/areas overlay file(s)</source>
         <translation>Vektorlinien-/-flächenüberlagerungsdatei(en)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3878"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3891"/>
         <source>Raster file(s) for color</source>
         <translation>Rasterdatei(en) für Farbe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3879"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3892"/>
         <source>GRASS region extent</source>
         <translation>GRASS-Regionengrenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3880"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3893"/>
         <source>GRASS region cellsize (leave 0 for default)</source>
         <translation>GRASS-Regionenzellengröße (0 für um Voreinstellung beizubehalten)</translation>
     </message>
@@ -102533,26 +103455,31 @@ Base Path (i.e. keep only filename from attribute)</source>
         <source>Loading Connections</source>
         <translation>Lade Verbindungen</translation>
     </message>
+    <message>
+        <location filename="../python/plugins/db_manager/python-i18n.cpp" line="500"/>
+        <source>Choose GeoPackage file</source>
+        <translation>GeoPackage-Datei wählen</translation>
+    </message>
 </context>
 <context>
     <name>pct2rgb</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3885"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3898"/>
         <source>[GDAL] Conversion</source>
         <translation>[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3886"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3899"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3887"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3900"/>
         <source>Band to convert</source>
         <translation>Umzuwandelnder Kanal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3884"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3897"/>
         <source>PCT to RGB</source>
         <translation>PCT nach RGB</translation>
     </message>
@@ -102560,27 +103487,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>polygonize</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3891"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3904"/>
         <source>Polygonize (raster to vector)</source>
         <translation>Vektorisieren (Raster nach Vektor)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3892"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3905"/>
         <source>[GDAL] Conversion</source>
         <translation>[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3893"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3906"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3894"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3907"/>
         <source>Output field name</source>
         <translation>Ausgabefeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3895"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3908"/>
         <source>Vectorized</source>
         <translation>Vektorisiert</translation>
     </message>
@@ -102588,52 +103515,52 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>proximity</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3900"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3913"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3901"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3914"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3902"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3915"/>
         <source>Values</source>
         <translation>Werte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3903"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3916"/>
         <source>Distance units</source>
         <translation>Distanzeinheit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3904"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3917"/>
         <source>Max distance (negative value to ignore)</source>
         <translation>Maximalabstand (negative Werte werden ignoriert)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3905"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3918"/>
         <source>Nodata (negative value to ignore)</source>
         <translation>Leerwert (zu ignorierender negativer Wert)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3906"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3919"/>
         <source>Fixed buf value (negative value to ignore)</source>
         <translation>Fester Pufferwert (negativer Werte werden ignoriert)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3907"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3920"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3908"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3921"/>
         <source>Distance</source>
         <translation>Entfernung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3899"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3912"/>
         <source>Proximity (raster distance)</source>
         <translation>Nähe (Rasterabstand)</translation>
     </message>
@@ -102641,97 +103568,97 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>rasterize</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3913"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3926"/>
         <source>[GDAL] Conversion</source>
         <translation>[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3914"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3927"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3915"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3928"/>
         <source>Attribute field</source>
         <translation>Attributfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3916"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3929"/>
         <source>Set output raster size (ignored if above option is checked)</source>
         <translation>Ausgabelayergröße setzen (wird ignoriert, wenn Option oben gewählt ist)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3917"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3930"/>
         <source>Horizontal</source>
         <translation>Horizontal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3918"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3931"/>
         <source>Vertical</source>
         <translation>Vertikal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3919"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3932"/>
         <source>Raster extent</source>
         <translation>Rastermaße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3920"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3933"/>
         <source>Raster type</source>
         <translation>Rastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3921"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3934"/>
         <source>Nodata value</source>
         <translation>Leerwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3922"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3935"/>
         <source>GeoTIFF options. Compression type:</source>
         <translation>GeoTIFF-Optionen.  Kompressionstyp:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3923"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3936"/>
         <source>Set the JPEG compression level</source>
         <translation>JPEG-Kompressionsstufe setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3924"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3937"/>
         <source>Set the DEFLATE compression level</source>
         <translation>DEFLATE-Kompressionsstufe setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3925"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3938"/>
         <source>Set the predictor for LZW or DEFLATE compression</source>
         <translation>LZW- oder DEFLATE-Kompressionsvorhersage setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3926"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3939"/>
         <source>Create tiled output (only used for the GTiff format)</source>
         <translation>Gekachelte Ausgabe (nur bei GTIFF-Format verwendet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3927"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3940"/>
         <source>Control whether the created file is a BigTIFF or a classic TIFF</source>
         <translation>Ausgabe als BigTIFF oder klassisches TIFF steuern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3928"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3941"/>
         <source>Force the generation of an associated ESRI world file (.tfw)</source>
         <translation>Erzeugung der zugehörigen ESRI-Worlddatei (.tfw) erzwingen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3929"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3942"/>
         <source>Additional creation parameters</source>
         <translation>Zusaätzliche Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3930"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3943"/>
         <source>Rasterized</source>
         <translation>Gerastert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3912"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3925"/>
         <source>Rasterize (vector to raster)</source>
         <translation>Rastern (Vektor nach Raster)</translation>
     </message>
@@ -102739,27 +103666,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>rasterize_over</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3935"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3948"/>
         <source>[GDAL] Conversion</source>
         <translation>[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3936"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3949"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3937"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3950"/>
         <source>Attribute field</source>
         <translation>Attributfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3938"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3951"/>
         <source>Existing raster layer</source>
         <translation>Vorhandener Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3934"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3947"/>
         <source>Rasterize (write over existing raster)</source>
         <translation>Rastern (vorhandenes Raster überschreiben)</translation>
     </message>
@@ -102767,82 +103694,82 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>retile</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3942"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3955"/>
         <source>Retile</source>
         <translation>Neukacheln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3943"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3956"/>
         <source>[GDAL] Miscellaneous</source>
         <translation>[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3944"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3957"/>
         <source>Input layers</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3945"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3958"/>
         <source>Pixel size to be used for the output file (XSIZE YSIZE like 512 512)</source>
         <translation>Größe für die Ausgabedateien in Pixel (XSIZE YSIZE wie 512 512)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3946"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3959"/>
         <source>Resampling algorithm</source>
         <translation>Abtastmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3947"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3960"/>
         <source>Override source CRS</source>
         <translation>Quell-KBS überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3948"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3961"/>
         <source>Number of pyramids levels to build</source>
         <translation>Anzahl der zu erzeugenden Pyramidenstufen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3949"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3962"/>
         <source>Build only the pyramids</source>
         <translation>Nur Pyramiden erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3950"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3963"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3951"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3964"/>
         <source>Output raster format</source>
         <translation>Ausgaberasterformat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3952"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3965"/>
         <source>Use a directory for each row</source>
         <translation>Ein Verzeichnis je Zeile verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3953"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3966"/>
         <source>Name of the csv file containing the tile(s) georeferencing information</source>
         <translation>Name der CSV-Datei, die die Georeferenzierungsinformation der Kacheln enthält</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3954"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3967"/>
         <source>Column delimiter used in the CSV file</source>
         <translation>Spaltentrennzeichen der CSV-Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3955"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3968"/>
         <source>name of shape file containing the result tile(s) index</source>
         <translation>Name der Shapedatei für den Kachelindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3956"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3969"/>
         <source>name of the attribute containing the tile name in the result shape file</source>
         <translation>Name für das Attribut des Kachelnamens in der Ergebnis-Shapedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3957"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3970"/>
         <source>The directory where the tile result is created</source>
         <translation>Verzeichnis in dem die Ergebniskacheln erzeugt werden sollen</translation>
     </message>
@@ -102850,22 +103777,22 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>rgb2pct</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3962"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3975"/>
         <source>[GDAL] Conversion</source>
         <translation>[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3963"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3976"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3964"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3977"/>
         <source>Number of colors</source>
         <translation>Farbanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3961"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3974"/>
         <source>RGB to PCT</source>
         <translation>RGB nach PCT</translation>
     </message>
@@ -102873,27 +103800,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>roughness</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3969"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3982"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3970"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3983"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3971"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3984"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3972"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3985"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3968"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3981"/>
         <source>Roughness</source>
         <translation>Rauhigkeit</translation>
     </message>
@@ -102983,7 +103910,7 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>self.output</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3976"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3989"/>
         <source>Spatialite files(*.sqlite)</source>
         <translation>Spatialite dateien(*.sqlite)</translation>
     </message>
@@ -102991,27 +103918,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>shp2las</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3980"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3993"/>
         <source>shp2las</source>
         <translation>shp2las</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3981"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3994"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3982"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3995"/>
         <source>Input SHP file</source>
         <translation>Eingabe shp Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3983"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3996"/>
         <source>resolution of x and y coordinate</source>
         <translation>Auflösung der X und Y Koordinate</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3984"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3997"/>
         <source>resolution of z coordinate</source>
         <translation>Auflösung der Z Koordinate</translation>
     </message>
@@ -103019,32 +103946,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>sieve</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3988"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4001"/>
         <source>Sieve</source>
         <translation>Sieben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3989"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4002"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3990"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4003"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3991"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4004"/>
         <source>Threshold</source>
         <translation>Schwelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3992"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4005"/>
         <source>Pixel connection</source>
         <translation>Pixelverbindung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3993"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4006"/>
         <source>Sieved</source>
         <translation>Gesiebt</translation>
     </message>
@@ -103052,42 +103979,42 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>slope</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3998"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4011"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3999"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4012"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4000"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4013"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4001"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4014"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4002"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4015"/>
         <source>Use Zevenbergen&Thorne formula (instead of the Horn's one)</source>
         <translation>Benutze Zevenbergen&Thorne Formel (statt Horn)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4003"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4016"/>
         <source>Slope expressed as percent (instead of degrees)</source>
         <translation>Steigung in Prozent (statt Grad)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4004"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4017"/>
         <source>Scale (ratio of vert. units to horiz.)</source>
         <translation>Skalierung (Verh. von vert. zu horz. Einheiten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3997"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4010"/>
         <source>Slope</source>
         <translation>Neigung</translation>
     </message>
@@ -103307,32 +104234,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>tpi</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4009"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4022"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4010"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4023"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4011"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4024"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4012"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4025"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4013"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4026"/>
         <source>Topographic Position Index</source>
         <translation>Topographischer Positionsindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4008"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4021"/>
         <source>TPI (Topographic Position Index)</source>
         <translation>Topographische Position (TPI)</translation>
     </message>
@@ -103340,102 +104267,102 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>translate</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4019"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4032"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4020"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4033"/>
         <source>Set the size of the output file (In pixels or %)</source>
         <translation>Größe der Ausgabedatei setzen (in Pixel oder %)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4021"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4034"/>
         <source>Output size is a percentage of input size</source>
         <translation>Ausgabegröße in Prozent der Eingabegröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4023"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4036"/>
         <source>Expand</source>
         <translation>Ausdehnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4024"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4037"/>
         <source>Output projection for output file [leave blank to use input projection]</source>
         <translation>Projektion für Ausgabedatei [leer lassen um Eingabeprojektion zu verwenden]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4025"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4038"/>
         <source>Subset based on georeferenced coordinates</source>
         <translation>Auf georeferenzierten Koordinaten basierende Untermenge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4026"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4039"/>
         <source>Copy all subdatasets of this file to individual output files</source>
         <translation>Alle Unterdatensätze dieser Datei in einzelne Dateien kopieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4035"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4048"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4036"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4049"/>
         <source>Converted</source>
         <translation>Umgewandelt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4027"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4040"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4022"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4035"/>
         <source>Nodata value, leave blank to take the nodata value from input</source>
         <translation>Leerwert, auf 'none' belassen, um den Leerwert aus der Eingabe zu übernehmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4017"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4030"/>
         <source>Translate (convert format)</source>
         <translation>Umwandeln (Format konvertieren)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4018"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4031"/>
         <source>[GDAL] Conversion</source>
         <translation>[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4028"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4041"/>
         <source>GeoTIFF options. Compression type:</source>
         <translation>GeoTIFF-Optionen. Kompressionstyp:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4029"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4042"/>
         <source>Set the JPEG compression level</source>
         <translation>JPEG-Kompressionsstufe setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4030"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4043"/>
         <source>Set the DEFLATE compression level</source>
         <translation>DEFLATE-Kompressionsstufe setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4031"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4044"/>
         <source>Set the predictor for LZW or DEFLATE compression</source>
         <translation>LZW- oder DEFLATE-Kompressionsvorhersage setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4032"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4045"/>
         <source>Create tiled output (only used for the GTiff format)</source>
         <translation>Gekachelte Ausgabe (nur bei GTIFF-Format verwendet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4033"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4046"/>
         <source>Control whether the created file is a BigTIFF or a classic TIFF</source>
         <translation>Ausgabe als BigTIFF- oder klassisches TIFF steuern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4034"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4047"/>
         <source>Force the generation of an associated ESRI world file (.tfw))</source>
         <translation>Erzeugung der zugehörigen ESRI-Worlddatei (.tfw) erzwingen</translation>
     </message>
@@ -103443,32 +104370,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>tri</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4041"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4054"/>
         <source>[GDAL] Analysis</source>
         <translation>[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4042"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4055"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4043"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4056"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4044"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4057"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4045"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4058"/>
         <source>Terrain Ruggedness Index</source>
         <translation>Geländerauhigkeitsindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4040"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4053"/>
         <source>TRI (Terrain Ruggedness Index)</source>
         <translation>Oberflächenrauhigkeit (TRI)</translation>
     </message>
@@ -103476,52 +104403,52 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>txt2las</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4049"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4062"/>
         <source>txt2las</source>
         <translation>txt2las</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4050"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4063"/>
         <source>LAStools</source>
         <translation>LAS-Tools</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4051"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4064"/>
         <source>Input ASCII file</source>
         <translation>ASCII-Eingabedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4052"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4065"/>
         <source>parse lines as</source>
         <translation>Zeilen interpretieren als</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4053"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4066"/>
         <source>skip the first n lines</source>
         <translation>Erste n Zeilen überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4054"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4067"/>
         <source>resolution of x and y coordinate</source>
         <translation>Auflösung der X und Y Koordinate</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4055"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4068"/>
         <source>resolution of z coordinate</source>
         <translation>Auflösung der Z Koordinate</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4056"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4069"/>
         <source>projection</source>
         <translation>Projektion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4057"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4070"/>
         <source>utm zone</source>
         <translation>UTM-Zone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4058"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4071"/>
         <source>state plane code</source>
         <translation>US-Koodinatensystemkennung</translation>
     </message>
@@ -103529,47 +104456,47 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>txt2lasPro</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4062"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4075"/>
         <source>txt2lasPro</source>
         <translation>txt2lasPro</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4063"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4076"/>
         <source>LAStools Production</source>
         <translation>LASTools-Produktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4064"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4077"/>
         <source>parse lines as</source>
         <translation>Zeilen interpretieren als</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4065"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4078"/>
         <source>skip the first n lines</source>
         <translation>Erste n Zeile überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4066"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4079"/>
         <source>resolution of x and y coordinate</source>
         <translation>Auflösung der X und Y Koordinate</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4067"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4080"/>
         <source>resolution of z coordinate</source>
         <translation>Auflösung der Z Koordinate</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4068"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4081"/>
         <source>projection</source>
         <translation>Projektion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4069"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4082"/>
         <source>utm zone</source>
         <translation>UTM-Zone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4070"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4083"/>
         <source>state plane code</source>
         <translation>US-Koodinatensystemkennung</translation>
     </message>
@@ -103805,102 +104732,102 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>warp</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4076"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4089"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4077"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4090"/>
         <source>Source SRS</source>
         <translation>Quell-KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4078"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4091"/>
         <source>Destination SRS</source>
         <translation>Ziel-KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4080"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4093"/>
         <source>Output file resolution in target georeferenced units (leave 0 for no change)</source>
         <translation>Auflösung der Ausgabedatei in georeferenzierten Zieleinheiten (0 bedeutet keine Änderung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4081"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4094"/>
         <source>Resampling method</source>
         <translation>Abtastmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4092"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4105"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4084"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4097"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4074"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4087"/>
         <source>Warp (reproject)</source>
         <translation>Transformieren (Reprojizieren)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4075"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4088"/>
         <source>[GDAL] Projections</source>
         <translation>[GDAL] Projektionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4079"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4092"/>
         <source>Nodata value, leave blank to take the nodata value from input</source>
         <translation>Leerwert, auf 'none' belassen, um den Leerwert aus der Eingabe zu übernehmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4082"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4095"/>
         <source>Raster extent</source>
         <translation>Rastermaße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4083"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4096"/>
         <source>CRS of the raster extent</source>
         <translation>KBS der Rastergrenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4085"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4098"/>
         <source>GeoTIFF options. Compression type:</source>
         <translation>GeoTIFF-Optionen.  Kompressionstyp:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4086"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4099"/>
         <source>Set the JPEG compression level</source>
         <translation>JPEG-Kompressionsstufe setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4087"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4100"/>
         <source>Set the DEFLATE compression level</source>
         <translation>DEFLATE-Kompressionsstufe setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4088"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4101"/>
         <source>Set the predictor for LZW or DEFLATE compression</source>
         <translation>LZW- oder DEFLATE-Kompressionsvorhersage setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4089"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4102"/>
         <source>Create tiled output (only used for the GTiff format)</source>
         <translation>Gekachelte Ausgabe (nur bei GTIFF-Format verwendet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4090"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4103"/>
         <source>Control whether the created file is a BigTIFF or a classic TIFF</source>
         <translation>Ausgabe als BigTIFF oder klassisches TIFF steuern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4091"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4104"/>
         <source>Force the generation of an associated ESRI world file (.tfw))</source>
         <translation>Erzeugung der zugehörigen ESRI-Worlddatei (.tfw) erzwingen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="4093"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="4106"/>
         <source>Reprojected</source>
         <translation>Reprojiiziert</translation>
     </message>
diff --git a/python/core/qgsexpression.sip b/python/core/qgsexpression.sip
index 295253b..cc9a962 100644
--- a/python/core/qgsexpression.sip
+++ b/python/core/qgsexpression.sip
@@ -8,7 +8,7 @@ class QgsExpression
     /**
      * Creates a new expression based on the provided string.
      * The string will immediately be parsed. For optimization
-     * {@link prepare()} should alwys be called before every
+     * {@link prepare()} should always be called before every
      * loop in which this expression is used.
      */
     QgsExpression( const QString& expr );
@@ -49,7 +49,8 @@ class QgsExpression
 
     /**
      * Get list of columns referenced by the expression.
-     * @note if the returned list contains the QgsFeatureRequest::AllAttributes constant then
+     *
+     * @note If the returned list contains the QgsFeatureRequest::AllAttributes constant then
      * all attributes from the layer are required for evaluation of the expression.
      * QgsFeatureRequest::setSubsetOfAttributes automatically handles this case.
      *
@@ -146,10 +147,6 @@ class QgsExpression
      */
     static bool isValid( const QString& text, const QgsExpressionContext* context, QString &errorMessage );
 
-    void setScale( double scale );
-
-    double scale();
-
     /**
      * Set the expression string, will reset the whole internal structure.
      *
@@ -157,6 +154,10 @@ class QgsExpression
      */
     void setExpression( const QString& expression );
 
+    void setScale( double scale );
+
+    double scale();
+
     //! Return the original, unmodified expression string.
     //! If there was none supplied because it was constructed by sole
     //! API calls, dump() will be used to create one instead.
@@ -172,6 +173,7 @@ class QgsExpression
      * (used by $length, $area and $perimeter functions only)
      * @see setGeomCalculator()
      * @see distanceUnits()
+     * @see areaUnits()
      */
     QgsDistanceArea *geomCalculator();
 
@@ -188,6 +190,7 @@ class QgsExpression
      * @note distances are only converted when a geomCalculator() has been set
      * @note added in QGIS 2.14
      * @see setDistanceUnits()
+     * @see areaUnits()
      */
     QGis::UnitType distanceUnits() const;
 
@@ -195,6 +198,7 @@ class QgsExpression
      * @note distances are only converted when a geomCalculator() has been set
      * @note added in QGIS 2.14
      * @see distanceUnits()
+     * @see setAreaUnits()
      */
     void setDistanceUnits( QGis::UnitType unit );
 
@@ -358,7 +362,7 @@ class QgsExpression
     //! List of parameters, used for function definition
     typedef QList< QgsExpression::Parameter > ParameterList;
 
-    /**
+    /** \ingroup core
      * A abstract base class for defining QgsExpression functions.
      */
     class Function
@@ -377,7 +381,7 @@ class QgsExpression
                   bool isContextual = false );
 
         /** Constructor for function which uses unnamed parameters and group list
-         * @note added in QGIS 3.0
+         * @note added in QGIS 2.18
          */
         Function( const QString& fnname,
                   int params,
@@ -403,7 +407,7 @@ class QgsExpression
                   bool isContextual = false );
 
         /** Constructor for function which uses named parameter list and group list.
-         * @note added in QGIS 3.0
+         * @note added in QGIS 2.18
          */
         Function( const QString& fnname,
                   const QgsExpression::ParameterList& params,
@@ -419,6 +423,7 @@ class QgsExpression
 
         /** The name of the function. */
         QString name() const;
+
         /** The number of parameters this function takes. */
         int params() const;
 
@@ -431,6 +436,7 @@ class QgsExpression
         const QgsExpression::ParameterList& parameters() const;
 
         /** Does this function use a geometry object. */
+        //TODO QGIS 3.0 - rename to usesGeometry()
         bool usesgeometry() const;
 
         /** Returns a list of possible aliases for the function. These include
@@ -455,7 +461,7 @@ class QgsExpression
 
         /** Returns true if the function is deprecated and should not be presented as a valid option
          * to users in expression builders.
-         * @note added in QGIS 3.0
+         * @note added in QGIS 2.18
          */
         virtual bool isDeprecated() const;
 
@@ -465,12 +471,13 @@ class QgsExpression
         QString group() const;
 
         /** Returns a list of the groups the function belongs to.
-         * @note added in QGIS 3.0
+         * @note added in QGIS 2.18
          * @see group()
         */
         QStringList groups() const;
 
         /** The help text for the function. */
+        //TODO QGIS 3.0 - rename to helpText()
         const QString helptext() const;
 
         //! @deprecated Use QgsExpressionContext variant instead
@@ -684,6 +691,7 @@ class QgsExpression
 
     //! Named node
     //! @note added in QGIS 2.16
+    //! \ingroup core
     class NamedNode
     {
       public:
@@ -737,7 +745,7 @@ class QgsExpression
     //TODO QGIS 3.0 - remove
     //! @deprecated use QgsInterval instead
     class Interval
-   {
+    {
       public:
         Interval( int seconds = 0 );
 
@@ -785,6 +793,8 @@ class QgsExpression
         virtual QgsExpression::Node* clone() const;
     };
 
+    /** \ingroup core
+     */
     class NodeBinaryOperator : QgsExpression::Node
     {
       public:
@@ -820,6 +830,8 @@ class QgsExpression
         QDateTime computeDateTimeFromInterval( const QDateTime& d, QgsInterval *i );
     };
 
+    /** \ingroup core
+     */
     class NodeInOperator : QgsExpression::Node
     {
       public:
@@ -841,6 +853,8 @@ class QgsExpression
         virtual QgsExpression::Node* clone() const;
     };
 
+    /** \ingroup core
+     */
     class NodeFunction : QgsExpression::Node
     {
       public:
@@ -865,6 +879,8 @@ class QgsExpression
         static bool validateParams( int fnIndex, QgsExpression::NodeList* args, QString& error );
     };
 
+    /** \ingroup core
+     */
     class NodeLiteral : QgsExpression::Node
     {
       public:
@@ -884,6 +900,8 @@ class QgsExpression
         virtual void accept( QgsExpression::Visitor& v ) const;
     };
 
+    /** \ingroup core
+     */
     class NodeColumnRef : QgsExpression::Node
     {
       public:
@@ -904,6 +922,8 @@ class QgsExpression
         virtual QgsExpression::Node* clone() const;
     };
 
+    /** \ingroup core
+     */
     class WhenThen
     {
       public:
@@ -919,6 +939,8 @@ class QgsExpression
 
     };
 
+    /** \ingroup core
+     */
     class NodeCondition : QgsExpression::Node
     {
       public:
@@ -938,8 +960,10 @@ class QgsExpression
 
     //////
 
-    /** Support for visitor pattern - algorithms dealing with the expressions
-        may be implemented without modifying the Node classes */
+    /** \ingroup core
+     * Support for visitor pattern - algorithms dealing with the expressions
+     * may be implemented without modifying the Node classes
+     */
     class Visitor
     {
       public:
diff --git a/python/core/qgsexpressionfieldbuffer.sip b/python/core/qgsexpressionfieldbuffer.sip
index 8bceb4a..f78e822 100644
--- a/python/core/qgsexpressionfieldbuffer.sip
+++ b/python/core/qgsexpressionfieldbuffer.sip
@@ -33,7 +33,7 @@ class QgsExpressionFieldBuffer
      * @param index The index of the expression to change
      * @param name   New name for field
      *
-     * @note added in 3.0
+     * @note added in 2.18
      */
     void renameExpression( int index, const QString& name );
 
diff --git a/python/core/qgsvectorfilewriter.sip b/python/core/qgsvectorfilewriter.sip
index e8d453c..e49aa41 100644
--- a/python/core/qgsvectorfilewriter.sip
+++ b/python/core/qgsvectorfilewriter.sip
@@ -20,6 +20,8 @@ class QgsVectorFileWriter
       Hidden
     };
 
+    /** \ingroup core
+     */
     class Option
     {
       public:
@@ -30,6 +32,8 @@ class QgsVectorFileWriter
         QgsVectorFileWriter::OptionType type;
     };
 
+    /** \ingroup core
+     */
     class SetOption : QgsVectorFileWriter::Option
     {
       public:
@@ -40,6 +44,8 @@ class QgsVectorFileWriter
         bool allowNone;
     };
 
+    /** \ingroup core
+     */
     class StringOption: QgsVectorFileWriter::Option
     {
       public:
@@ -48,6 +54,8 @@ class QgsVectorFileWriter
         QString defaultValue;
     };
 
+    /** \ingroup core
+     */
     class IntOption: QgsVectorFileWriter::Option
     {
       public:
@@ -56,12 +64,16 @@ class QgsVectorFileWriter
         int defaultValue;
     };
 
+    /** \ingroup core
+     */
     class BoolOption : QgsVectorFileWriter::SetOption
     {
       public:
         BoolOption( const QString& docString, bool defaultValue );
     };
 
+    /** \ingroup core
+     */
     class HiddenOption : QgsVectorFileWriter::Option
     {
       public:
@@ -106,7 +118,8 @@ class QgsVectorFileWriter
       SymbolLayerSymbology //Exports one feature per symbol layer (considering symbol levels)
     };
 
-    /** Interface to convert raw field values to their user-friendly value.
+    /** \ingroup core
+     * Interface to convert raw field values to their user-friendly value.
      * @note Added in QGIS 2.16
      */
     class FieldValueConverter
@@ -133,7 +146,7 @@ class QgsVectorFileWriter
     };
 
     /** Edition capability flags
-      * @note Added in QGIS 3.0 */
+      * @note Added in QGIS 2.18 */
     enum EditionCapability
     {
         /** Flag to indicate that a new layer can be added to the dataset */
@@ -152,7 +165,7 @@ class QgsVectorFileWriter
     typedef QFlags<QgsVectorFileWriter::EditionCapability> EditionCapabilities;
 
     /** Enumeration to describe how to handle existing files
-        @note Added in QGIS 3.0
+        @note Added in QGIS 2.18
      */
     enum ActionOnExistingFile
     {
@@ -259,7 +272,7 @@ class QgsVectorFileWriter
 
     /**
      * Options to pass to writeAsVectorFormat()
-     * @note Added in QGIS 3.0
+     * @note Added in QGIS 2.18
      */
     class SaveVectorOptions
     {
@@ -330,7 +343,7 @@ class QgsVectorFileWriter
      * @param options options.
      * @param newFilename QString pointer which will contain the new file name created (in case it is different to fileName).
      * @param errorMessage pointer to buffer fo error message
-     * @note added in 3.0
+     * @note added in 2.18
      */
     static WriterError writeAsVectorFormat( QgsVectorLayer* layer,
                                             const QString& fileName,
@@ -412,21 +425,29 @@ class QgsVectorFileWriter
     static bool driverMetadata( const QString& driverName, MetaData& driverMetadata );
 
     /**
+     * Get the ogr geometry type from an internal QGIS wkb type enum.
+     *
+     * Will drop M values and convert Z to 2.5D where required.
+     * @note not available in python bindings
+     */
+    // static OGRwkbGeometryType ogrTypeFromWkbType( QgsWKBTypes::Type type );
+
+    /**
      * Return edition capabilites for an existing dataset name.
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      */
     static EditionCapabilities editionCapabilities( const QString& datasetName );
 
     /**
      * Returns whether the target layer already exists.
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      */
     static bool targetLayerExists( const QString& datasetName,
                                    const QString& layerName );
 
     /**
      * Returns whether there are among the attributes specified some that do not exist yet in the layer
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      */
     static bool areThereNewFieldsToCreate( const QString& datasetName,
                                            const QString& layerName,
diff --git a/python/core/qgsvectorlayercache.sip b/python/core/qgsvectorlayercache.sip
index f446e20..9e74539 100644
--- a/python/core/qgsvectorlayercache.sip
+++ b/python/core/qgsvectorlayercache.sip
@@ -73,7 +73,7 @@ class QgsVectorLayerCache : QObject
      * a result of a call to setFullCache() or by through a feature request which resulted in
      * all available features being cached.
      * @see setFullCache()
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      */
     bool hasFullCache() const;
 
@@ -107,7 +107,7 @@ class QgsVectorLayerCache : QObject
     bool isFidCached( const QgsFeatureId fid ) const;
 
     /** Returns the set of feature IDs for features which are cached.
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      * @see isFidCached()
      */
     QgsFeatureIds cachedFeatureIds() const;
diff --git a/python/plugins/processing/algs/gdal/ogr2ogrbuffer.py b/python/plugins/processing/algs/gdal/ogr2ogrbuffer.py
index 2e4a51a..079490f 100644
--- a/python/plugins/processing/algs/gdal/ogr2ogrbuffer.py
+++ b/python/plugins/processing/algs/gdal/ogr2ogrbuffer.py
@@ -27,6 +27,7 @@ __revision__ = '$Format:%H$'
 
 from processing.core.parameters import ParameterVector
 from processing.core.parameters import ParameterString
+from processing.core.parameters import ParameterNumber
 from processing.core.parameters import ParameterBoolean
 from processing.core.parameters import ParameterTableField
 from processing.core.outputs import OutputVector
@@ -58,8 +59,8 @@ class Ogr2OgrBuffer(GdalAlgorithm):
         self.addParameter(ParameterString(self.GEOMETRY,
                                           self.tr('Geometry column name ("geometry" for Shapefiles, may be different for other formats)'),
                                           'geometry', optional=False))
-        self.addParameter(ParameterString(self.DISTANCE,
-                                          self.tr('Buffer distance'), '1000', optional=False))
+        self.addParameter(ParameterNumber(self.DISTANCE,
+                                          self.tr('Buffer distance'), None, None, 100.0, optional=False))
         self.addParameter(ParameterBoolean(self.DISSOLVEALL,
                                            self.tr('Dissolve all results'), False))
         self.addParameter(ParameterTableField(self.FIELD,
diff --git a/python/plugins/processing/algs/grass7/description/v.buffer.distance.txt b/python/plugins/processing/algs/grass7/description/v.buffer.distance.txt
index 2a46a2a..2cce004 100644
--- a/python/plugins/processing/algs/grass7/description/v.buffer.distance.txt
+++ b/python/plugins/processing/algs/grass7/description/v.buffer.distance.txt
@@ -2,8 +2,8 @@ v.buffer
 v.buffer.distance - Creates a buffer around features of given type.
 Vector (v.*)
 ParameterVector|input|Input vector layer|-1|False
-ParameterString|distance|Buffer distance in map units|
-ParameterString|tolerance|Maximum distance between theoretical arc and polygon segments as multiple of buffer|0.01
+ParameterNumber|distance|Buffer distance in map units|None|None|100.0
+ParameterNumber|tolerance|Maximum distance between theoretical arc and polygon segments as multiple of buffer|None|None|0.01
 ParameterBoolean|-s|Make outside corners straight|False
 ParameterBoolean|-c|Do not make caps at the ends of polylines|False
 OutputVector|output|Buffer
diff --git a/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py b/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py
index 2276a0a..2956b17 100644
--- a/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py
+++ b/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py
@@ -57,7 +57,7 @@ class SagaAlgorithmProvider(AlgorithmProvider):
         self.activate = True
 
     def initializeSettings(self):
-        if (isWindows() or isMac()) and SagaUtils.findSagaFolder() is None:
+        if (isWindows() or isMac()):
             ProcessingConfig.addSetting(Setting("SAGA",
                                                 SagaUtils.SAGA_FOLDER, self.tr('SAGA folder'),
                                                 '',
@@ -77,7 +77,7 @@ class SagaAlgorithmProvider(AlgorithmProvider):
 
     def unload(self):
         AlgorithmProvider.unload(self)
-        if (isWindows() or isMac()) and SagaUtils.findSagaFolder() is None:
+        if (isWindows() or isMac()):
             ProcessingConfig.removeSetting(SagaUtils.SAGA_FOLDER)
 
         ProcessingConfig.removeSetting(SagaUtils.SAGA_LOG_CONSOLE)
diff --git a/python/plugins/processing/algs/saga/SagaUtils.py b/python/plugins/processing/algs/saga/SagaUtils.py
index 4913c22..1e2a67d 100644
--- a/python/plugins/processing/algs/saga/SagaUtils.py
+++ b/python/plugins/processing/algs/saga/SagaUtils.py
@@ -72,10 +72,13 @@ def findSagaFolder():
 
 def sagaPath():
     folder = ProcessingConfig.getSetting(SAGA_FOLDER)
+    if not os.path.isdir(folder):
+        folder = None
+        ProcessingLog.addToLog(ProcessingLog.LOG_WARNING,
+                               'Specified SAGA folder does not exist. Will try to find built-in binaries.')
     if folder is None or folder == '':
         folder = findSagaFolder()
-        if folder is not None:
-            ProcessingConfig.setSettingValue(SAGA_FOLDER, folder)
+
     return folder or ''
 
 
diff --git a/python/plugins/processing/gui/AlgorithmDialogBase.py b/python/plugins/processing/gui/AlgorithmDialogBase.py
index 4679192..8d6490f 100644
--- a/python/plugins/processing/gui/AlgorithmDialogBase.py
+++ b/python/plugins/processing/gui/AlgorithmDialogBase.py
@@ -139,7 +139,6 @@ class AlgorithmDialogBase(BASE, WIDGET):
         self.btnClose.setEnabled(True)
 
     def setInfo(self, msg, error=False):
-        msg = msg.replace("<", "<").replace(">", ">")
         if error:
             self.txtLog.append('<span style="color:red"><br>%s<br></span>' % msg)
         else:
diff --git a/python/plugins/processing/gui/AlgorithmExecutor.py b/python/plugins/processing/gui/AlgorithmExecutor.py
index 01f456d..5c8e2ef 100644
--- a/python/plugins/processing/gui/AlgorithmExecutor.py
+++ b/python/plugins/processing/gui/AlgorithmExecutor.py
@@ -17,6 +17,7 @@
 ***************************************************************************
 """
 
+
 __author__ = 'Victor Olaya'
 __date__ = 'August 2012'
 __copyright__ = '(C) 2012, Victor Olaya'
@@ -35,7 +36,7 @@ from processing.gui.Postprocessing import handleAlgorithmResults
 from processing.tools import dataobjects
 from processing.tools.system import getTempFilename
 from processing.tools import vector
-
+from processing.core.SilentProgress import SilentProgress
 
 def runalg(alg, progress=None):
     """Executes a given algorithm, showing its progress in the
@@ -45,7 +46,7 @@ def runalg(alg, progress=None):
     could not be completed.
     """
     try:
-        alg.execute(progress)
+        alg.execute(progress or SilentProgress())
         return True
     except GeoAlgorithmExecutionException as e:
         ProcessingLog.addToLog(sys.exc_info()[0], ProcessingLog.LOG_ERROR)
diff --git a/python/plugins/processing/gui/ConfigDialog.py b/python/plugins/processing/gui/ConfigDialog.py
index 54b8f55..527694a 100644
--- a/python/plugins/processing/gui/ConfigDialog.py
+++ b/python/plugins/processing/gui/ConfigDialog.py
@@ -29,8 +29,7 @@ import os
 
 from qgis.PyQt import uic
 from qgis.PyQt.QtCore import (Qt,
-                              QEvent
-                              )
+                              QEvent)
 from qgis.PyQt.QtWidgets import (QFileDialog,
                                  QDialog,
                                  QStyle,
@@ -44,7 +43,9 @@ from qgis.PyQt.QtWidgets import (QFileDialog,
 from qgis.PyQt.QtGui import (QIcon,
                              QPushButton,
                              QStandardItemModel,
-                             QStandardItem)
+                             QStandardItem,
+                             QApplication,
+                             QCursor)
 
 from qgis.gui import (QgsDoubleSpinBox,
                       QgsSpinBox
@@ -56,8 +57,7 @@ from processing.core.ProcessingConfig import (ProcessingConfig,
                                               Setting)
 from processing.core.Processing import Processing
 from processing.gui.DirectorySelectorDialog import DirectorySelectorDialog
-from processing.gui.menus import defaultMenuEntries, updateMenus
-from processing.gui.menus import menusSettingsGroup
+from processing.gui.menus import defaultMenuEntries, updateMenus, menusSettingsGroup
 
 
 pluginPath = os.path.split(os.path.dirname(__file__))[0]
@@ -91,7 +91,8 @@ class ConfigDialog(BASE, WIDGET):
 
         self.fillTree()
 
-        self.tree.expanded.connect(self.adjustColumns)
+        self.saveMenus = False
+        self.tree.expanded.connect(self.itemExpanded)
 
     def textChanged(self):
         text = unicode(self.searchBox.text().lower())
@@ -190,14 +191,14 @@ class ConfigDialog(BASE, WIDGET):
         """
         Filter 'Menus' items
         """
-        menusItem = QStandardItem(self.tr('Menus (requires restart)'))
+        self.menusItem = QStandardItem(self.tr('Menus (requires restart)'))
         icon = QIcon(os.path.join(pluginPath, 'images', 'menu.png'))
-        menusItem.setIcon(icon)
-        menusItem.setEditable(False)
+        self.menusItem.setIcon(icon)
+        self.menusItem.setEditable(False)
         emptyItem = QStandardItem()
         emptyItem.setEditable(False)
 
-        rootItem.insertRow(0, [menusItem, emptyItem])
+        rootItem.insertRow(0, [self.menusItem, emptyItem])
 
         button = QPushButton(self.tr('Reset to defaults'))
         button.clicked.connect(self.resetMenusToDefaults)
@@ -246,7 +247,7 @@ class ConfigDialog(BASE, WIDGET):
             emptyItem = QStandardItem()
             emptyItem.setEditable(False)
 
-            menusItem.appendRow([groupItem, emptyItem])
+            self.menusItem.appendRow([groupItem, emptyItem])
 
         self.tree.sortByColumn(0, Qt.AscendingOrder)
         self.adjustColumns()
@@ -259,25 +260,33 @@ class ConfigDialog(BASE, WIDGET):
                 setting = ProcessingConfig.settings["MENU_" + alg.commandLineName()]
                 item = self.items[setting]
                 item.setData(d, Qt.EditRole)
+        self.saveMenus = True
 
     def accept(self):
+        QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
         for setting in self.items.keys():
-            if isinstance(setting.value, bool):
-                setting.setValue(self.items[setting].checkState() == Qt.Checked)
-            else:
-                try:
-                    setting.setValue(unicode(self.items[setting].text()))
-                except ValueError as e:
-                    QMessageBox.warning(self, self.tr('Wrong value'),
-                                        self.tr('Wrong value for parameter "%s":\n\n%s' % (setting.description, unicode(e))))
-                    return
-            setting.save()
+            if setting.group != menusSettingsGroup or self.saveMenus:
+                if isinstance(setting.value, bool):
+                    setting.setValue(self.items[setting].checkState() == Qt.Checked)
+                else:
+                    try:
+                        setting.setValue(unicode(self.items[setting].text()))
+                    except ValueError as e:
+                        QMessageBox.warning(self, self.tr('Wrong value'),
+                                            self.tr('Wrong value for parameter "%s":\n\n%s' % (setting.description, unicode(e))))
+                        return
+                setting.save()
         Processing.updateAlgsList()
         settingsWatcher.settingsChanged.emit()
         updateMenus()
-
+        QApplication.restoreOverrideCursor()
         QDialog.accept(self)
 
+    def itemExpanded(self, idx):
+        if idx == self.menusItem.index():
+            self.saveMenus = True
+        self.adjustColumns()
+
     def adjustColumns(self):
         self.tree.resizeColumnToContents(0)
         self.tree.resizeColumnToContents(1)
diff --git a/python/plugins/processing/modeler/ModelerAlgorithm.py b/python/plugins/processing/modeler/ModelerAlgorithm.py
index 474f8a8..7afea74 100644
--- a/python/plugins/processing/modeler/ModelerAlgorithm.py
+++ b/python/plugins/processing/modeler/ModelerAlgorithm.py
@@ -582,7 +582,10 @@ class ModelerAlgorithm(GeoAlgorithm):
         def fromdict(d):
             try:
                 fullClassName = d["class"]
-                tokens = fullClassName.split(".")
+                if isinstance(fullClassName, basestring):
+                    tokens = fullClassName.split(".")
+                else:
+                    tokens = fullClassName.__class__.__name__.split(".")
                 className = tokens[-1]
                 moduleName = ".".join(tokens[:-1])
                 values = d["values"]
diff --git a/python/plugins/processing/tools/dataobjects.py b/python/plugins/processing/tools/dataobjects.py
index d98d846..311d6f1 100644
--- a/python/plugins/processing/tools/dataobjects.py
+++ b/python/plugins/processing/tools/dataobjects.py
@@ -309,7 +309,8 @@ def exportVectorLayer(layer, supported=None):
             unicode(layer.source()).decode('ascii')
         except UnicodeEncodeError:
             isASCII = False
-        if not os.path.splitext(layer.source())[1].lower() in supported or not isASCII:
+        ext = os.path.splitext(layer.source())[-1].lower()[1:]
+        if ext not in supported or not isASCII:
             writer = QgsVectorFileWriter(
                 output, systemEncoding,
                 layer.pendingFields(), provider.geometryType(),
diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
index 2dd97ff..15579de 100644
--- a/src/app/CMakeLists.txt
+++ b/src/app/CMakeLists.txt
@@ -1,3 +1,5 @@
+ADD_SUBDIRECTORY(dwg/libdxfrw)
+
 SET(QGIS_APP_SRCS
   qgisapp.cpp
   qgisappinterface.cpp
@@ -166,6 +168,9 @@ SET(QGIS_APP_SRCS
   openstreetmap/qgsosmimportdialog.cpp
   openstreetmap/qgsosmexportdialog.cpp
 
+  dwg/qgsdwgimportdialog.cpp
+  dwg/qgsdwgimporter.cpp
+
   pluginmanager/qgspluginmanager.cpp
   pluginmanager/qgspluginmanager_texts.cpp
   pluginmanager/qgsapppluginmanagerinterface.cpp
@@ -338,6 +343,8 @@ SET (QGIS_APP_MOC_HDRS
   openstreetmap/qgsosmimportdialog.h
   openstreetmap/qgsosmexportdialog.h
 
+  dwg/qgsdwgimportdialog.h
+
   pluginmanager/qgspluginmanager.h
   pluginmanager/qgsapppluginmanagerinterface.h
   pluginmanager/qgspluginsortfilterproxymodel.h
@@ -559,6 +566,8 @@ INCLUDE_DIRECTORIES(
   ../python
   gps
   openstreetmap
+  dwg
+  dwg/libdxfrw
 )
 INCLUDE_DIRECTORIES(SYSTEM
   ${SPATIALITE_INCLUDE_DIR}
@@ -592,7 +601,8 @@ ENDIF (ANDROID)
 REMOVE_DEFINITIONS("-DAPP_EXPORT=${DLLIMPORT}")
 ADD_DEFINITIONS("\"-DAPP_EXPORT=${DLLEXPORT}\"")
 
-# Putting IMAGE_RCC_SRCS into qgis_app lib is cousing problems when the lib is loaded (by plugin for example) in test unit (qgis_composerpicturetest).
+# Putting IMAGE_RCC_SRCS into qgis_app lib is causing problems when the lib is
+# loaded (by plugin for example) in test unit (qgis_composerpicturetest).
 ADD_LIBRARY(qgis_app SHARED ${QGIS_APP_SRCS} ${QGIS_APP_MOC_SRCS} ${QGIS_APP_HDRS} ${QGIS_APP_MOC_HDRS})
 
 TARGET_LINK_LIBRARIES(qgis_app
@@ -607,6 +617,7 @@ TARGET_LINK_LIBRARIES(qgis_app
   qgis_core
   qgis_gui
   qgis_analysis
+  libdxfrw
 )
 
 IF (NOT ANDROID)
diff --git a/src/app/dwg/libdxfrw/CMakeLists.txt b/src/app/dwg/libdxfrw/CMakeLists.txt
new file mode 100644
index 0000000..c71fbba
--- /dev/null
+++ b/src/app/dwg/libdxfrw/CMakeLists.txt
@@ -0,0 +1,82 @@
+INCLUDE_DIRECTORIES(
+    ${CMAKE_SOURCE_DIR}/src/core
+    ${QT_INCLUDE_DIR}
+)
+
+ADD_LIBRARY(libdxfrw STATIC
+    drw_classes.cpp
+    drw_entities.cpp
+    drw_header.cpp
+    drw_objects.cpp
+    libdwgr.cpp
+    libdxfrw.cpp
+    intern/drw_dbg.cpp
+    intern/drw_textcodec.cpp
+    intern/dwgbuffer.cpp
+    intern/dwgreader.cpp
+    intern/dwgreader15.cpp
+    intern/dwgreader18.cpp
+    intern/dwgreader21.cpp
+    intern/dwgreader24.cpp
+    intern/dwgreader27.cpp
+    intern/dwgutil.cpp
+    intern/dxfreader.cpp
+    intern/dxfwriter.cpp
+    intern/rscodec.cpp
+)
+SET_PROPERTY(TARGET libdxfrw PROPERTY POSITION_INDEPENDENT_CODE ON)
+
+IF(FALSE)
+IF(DOXYGEN_FOUND)
+  ADD_CUSTOM_TARGET(doxygen-dxfrw ALL
+    COMMAND ${DOXYGEN_EXECUTABLE} libdxfrw.dox
+      drw_base.h
+      drw_classes.cpp
+      drw_classes.h
+      drw_entities.cpp
+      drw_entities.h
+      drw_header.cpp
+      drw_header.h
+      drw_interface.h
+      drw_objects.cpp
+      drw_objects.h
+      libdwgr.cpp
+      libdwgr.h
+      libdxfrw.cpp
+      libdxfrw.h
+      intern/drw_cptable932.h
+      intern/drw_cptable936.h
+      intern/drw_cptable949.h
+      intern/drw_cptable950.h
+      intern/drw_cptables.h
+      intern/drw_dbg.cpp
+      intern/drw_dbg.h
+      intern/drw_textcodec.cpp
+      intern/drw_textcodec.h
+      intern/dwgbuffer.cpp
+      intern/dwgbuffer.h
+      intern/dwgreader.cpp
+      intern/dwgreader.h
+      intern/dwgreader15.cpp
+      intern/dwgreader15.h
+      intern/dwgreader18.cpp
+      intern/dwgreader18.h
+      intern/dwgreader21.cpp
+      intern/dwgreader21.h
+      intern/dwgreader24.cpp
+      intern/dwgreader24.h
+      intern/dwgreader27.cpp
+      intern/dwgreader27.h
+      intern/dwgutil.cpp
+      intern/dwgutil.h
+      intern/dxfreader.cpp
+      intern/dxfreader.h
+      intern/dxfwriter.cpp
+      intern/dxfwriter.h
+      intern/rscodec.cpp
+      intern/rscodec.h
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+    DEPENDS libdxfrw
+    COMMENT "Generating libdxfrw documentation" VERBATIM)
+ENDIF(DOXYGEN_FOUND)
+ENDIF(FALSE)
diff --git a/src/app/dwg/libdxfrw/drw_base.h b/src/app/dwg/libdxfrw/drw_base.h
new file mode 100644
index 0000000..6d1fd68
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_base.h
@@ -0,0 +1,542 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DRW_BASE_H
+#define DRW_BASE_H
+
+#define DRW_VERSION "0.6.3"
+
+#include <string>
+#include <list>
+#include <cmath>
+
+#ifdef DRW_ASSERTS
+# define drw_assert(a) assert(a)
+#else
+# define drw_assert(a)
+#endif
+
+#define UTF8STRING std::string
+#define DRW_UNUSED(x) (void)x
+
+#if defined(WIN64) || defined(_WIN64) || defined(__WIN64__)
+#  define DRW_WIN
+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
+#    define DRW_WIN
+#elif defined(__MWERKS__) && defined(__INTEL__)
+#  define DRW_WIN
+#else
+#  define DRW_POSIX
+#endif
+
+#ifndef M_PI
+#define M_PI   3.141592653589793238462643
+#endif
+#ifndef M_PI_2
+#define M_PI_2 1.57079632679489661923
+#endif
+#define M_PIx2 6.283185307179586 // 2*PI
+#define ARAD 57.29577951308232
+
+typedef signed char dint8;              /* 8 bit signed */
+typedef signed short dint16;            /* 16 bit signed */
+typedef signed int dint32;              /* 32 bit signed */
+typedef long long int dint64;           /* 64 bit signed */
+
+typedef unsigned char duint8;           /* 8 bit unsigned */
+typedef unsigned short duint16;         /* 16 bit unsigned */
+typedef unsigned int duint32;           /* 32 bit unsigned */
+typedef unsigned long long int duint64; /* 64 bit unsigned */
+
+typedef float dfloat32;                 /* 32 bit floating point */
+typedef double ddouble64;               /* 64 bit floating point */
+typedef long double ddouble80;          /* 80 bit floating point */
+
+
+namespace DRW
+{
+
+//! Version numbers for the DXF Format.
+  enum Version
+  {
+    UNKNOWNV,     /*!< UNKNOWN VERSION. */
+    AC1006,       /*!< R10. */
+    AC1009,       /*!< R11 & R12. */
+    AC1012,       /*!< R13. */
+    AC1014,       /*!< R14. */
+    AC1015,       /*!< ACAD 2000. */
+    AC1018,       /*!< ACAD 2004. */
+    AC1021,       /*!< ACAD 2007. */
+    AC1024,       /*!< ACAD 2010. */
+    AC1027        /*!< ACAD 2013. */
+  };
+
+  enum error
+  {
+    BAD_NONE,             /*!< No error. */
+    BAD_UNKNOWN,          /*!< UNKNOWN. */
+    BAD_OPEN,             /*!< error opening file. */
+    BAD_VERSION,          /*!< unsupported version. */
+    BAD_READ_METADATA,    /*!< error reading matadata. */
+    BAD_READ_FILE_HEADER, /*!< error in file header read process. */
+    BAD_READ_HEADER,      /*!< error in header vars read process. */
+    BAD_READ_HANDLES,     /*!< error in object map read process. */
+    BAD_READ_CLASSES,     /*!< error in classes read process. */
+    BAD_READ_TABLES,      /*!< error in tables read process. */
+    BAD_READ_BLOCKS,      /*!< error in block read process. */
+    BAD_READ_ENTITIES,    /*!< error in entities read process. */
+    BAD_READ_OBJECTS      /*!< error in objects read process. */
+  };
+
+  enum DBG_LEVEL
+  {
+    NONE,
+    DEBUG
+  };
+
+  //! Special codes for colors
+  enum ColorCodes
+  {
+    ColorByLayer = 256,
+    ColorByBlock = 0
+  };
+
+  //! Spaces
+  enum Space
+  {
+    ModelSpace = 0,
+    PaperSpace = 1
+  };
+
+  //! Special kinds of handles
+  enum HandleCodes
+  {
+    NoHandle = 0
+  };
+
+  //! Shadow mode
+  enum ShadowMode
+  {
+    CastAndReceieveShadows = 0,
+    CastShadows = 1,
+    ReceiveShadows = 2,
+    IgnoreShadows = 3
+  };
+
+  //! Special kinds of materials
+  enum MaterialCodes
+  {
+    MaterialByLayer = 0
+  };
+
+  //! Special kinds of plot styles
+  enum PlotStyleCodes
+  {
+    DefaultPlotStyle = 0
+  };
+
+  //! Special kinds of transparencies
+  enum TransparencyCodes
+  {
+    Opaque = 0,
+    Transparent = -1
+  };
+
+} // namespace DRW
+
+//! Class to handle 3D coordinate point
+/*!
+*  Class to handle 3D coordinate point
+*  @author Rallaz
+*/
+class DRW_Coord
+{
+  public:
+    DRW_Coord(): x( 0 ), y( 0 ), z( 0 ) {}
+    DRW_Coord( double ix, double iy, double iz ): x( ix ), y( iy ), z( iz ) {}
+
+    DRW_Coord& operator = ( const DRW_Coord& data )
+    {
+      x = data.x;
+      y = data.y;
+      z = data.z;
+      return *this;
+    }
+    /** < convert to unitary vector */
+    void unitize()
+    {
+      double dist;
+      dist = sqrt( x * x + y * y + z * z );
+      if ( dist > 0.0 )
+      {
+        x = x / dist;
+        y = y / dist;
+        z = z / dist;
+      }
+    }
+
+  public:
+    double x;
+    double y;
+    double z;
+};
+
+
+//! Class to handle vertex
+/*!
+*  Class to handle vertex for lwpolyline entity
+*  @author Rallaz
+*/
+class DRW_Vertex2D
+{
+  public:
+    DRW_Vertex2D(): x( 0 ), y( 0 ), stawidth( 0 ), endwidth( 0 ), bulge( 0 ) {}
+
+    DRW_Vertex2D( double sx, double sy, double b ): x( sx ), y( sy ), stawidth( 0 ), endwidth( 0 ), bulge( b ) {}
+
+  public:
+    double x;         /*!< x coordinate, code 10 */
+    double y;         /*!< y coordinate, code 20 */
+    double stawidth;  /*!< Start width, code 40 */
+    double endwidth;  /*!< End width, code 41 */
+    double bulge;     /*!< bulge, code 42 */
+};
+
+
+//! Class to handle header vars
+/*!
+*  Class to handle header vars
+*  @author Rallaz
+*/
+class DRW_Variant
+{
+  public:
+    enum TYPE
+    {
+      STRING,
+      INTEGER,
+      DOUBLE,
+      COORD,
+      INVALID
+    };
+//TODO: add INT64 support
+    DRW_Variant(): sdata( std::string() ), vdata(), content( 0 ), vType( INVALID ), vCode( 0 ) {}
+
+    DRW_Variant( int c, dint32 i ): sdata( std::string() ), vdata(), content( i ), vType( INTEGER ), vCode( c ) {}
+
+    DRW_Variant( int c, duint32 i ): sdata( std::string() ), vdata(), content( static_cast<dint32>( i ) ), vType( INTEGER ), vCode( c ) {}
+
+    DRW_Variant( int c, double d ): sdata( std::string() ), vdata(), content( d ), vType( DOUBLE ), vCode( c ) {}
+
+    DRW_Variant( int c, UTF8STRING s ): sdata( s ), vdata(), content( &sdata ), vType( STRING ), vCode( c ) {}
+
+    DRW_Variant( int c, DRW_Coord crd ): sdata( std::string() ), vdata( crd ), content( &vdata ), vType( COORD ), vCode( c ) {}
+
+    DRW_Variant( const DRW_Variant& d ): sdata( d.sdata ), vdata( d.vdata ), content( d.content ), vType( d.vType ), vCode( d.vCode )
+    {
+      if ( d.vType == COORD )
+        content.v = &vdata;
+      if ( d.vType == STRING )
+        content.s = &sdata;
+    }
+
+    ~DRW_Variant()
+    {
+    }
+
+    void addString( int c, UTF8STRING s ) {vType = STRING; sdata = s; content.s = &sdata; vCode = c;}
+    void addInt( int c, int i ) {vType = INTEGER; content.i = i; vCode = c;}
+    void addDouble( int c, double d ) {vType = DOUBLE; content.d = d; vCode = c;}
+    void addCoord( int c, DRW_Coord v ) {vType = COORD; vdata = v; content.v = &vdata; vCode = c;}
+    void setCoordX( double d ) { if ( vType == COORD ) vdata.x = d;}
+    void setCoordY( double d ) { if ( vType == COORD ) vdata.y = d;}
+    void setCoordZ( double d ) { if ( vType == COORD ) vdata.z = d;}
+    enum TYPE type() { return vType;}
+    int code() { return vCode;}            /*!< returns dxf code of this value*/
+
+  private:
+    std::string sdata;
+    DRW_Coord vdata;
+
+  private:
+    union DRW_VarContent
+    {
+      UTF8STRING *s;
+      dint32 i;
+      double d;
+      DRW_Coord *v;
+
+      DRW_VarContent( UTF8STRING *sd ): s( sd ) {}
+      DRW_VarContent( dint32 id ): i( id ) {}
+      DRW_VarContent( double dd ): d( dd ) {}
+      DRW_VarContent( DRW_Coord *vd ): v( vd ) {}
+    };
+
+  public:
+    DRW_VarContent content;
+  private:
+    enum TYPE vType;
+    int vCode;            /*!< dxf code of this value*/
+
+};
+
+//! Class to handle dwg handles
+/*!
+*  Class to handle dwg handles
+*  @author Rallaz
+*/
+class dwgHandle
+{
+  public:
+    dwgHandle(): code( 0 ), size( 0 ), ref( 0 ) {}
+
+    ~dwgHandle() {}
+    duint8 code;
+    duint8 size;
+    duint32 ref;
+};
+
+//! Class to convert between line width and integer
+/*!
+*  Class to convert between line width and integer
+*  verifing valid values, if value is not valid
+*  returns widthDefault.
+*  @author Rallaz
+*/
+class DRW_LW_Conv
+{
+  public:
+    enum lineWidth
+    {
+      width00 = 0,       /*!< 0.00mm (dxf 0)*/
+      width01 = 1,       /*!< 0.05mm (dxf 5)*/
+      width02 = 2,       /*!< 0.09mm (dxf 9)*/
+      width03 = 3,       /*!< 0.13mm (dxf 13)*/
+      width04 = 4,       /*!< 0.15mm (dxf 15)*/
+      width05 = 5,       /*!< 0.18mm (dxf 18)*/
+      width06 = 6,       /*!< 0.20mm (dxf 20)*/
+      width07 = 7,       /*!< 0.25mm (dxf 25)*/
+      width08 = 8,       /*!< 0.30mm (dxf 30)*/
+      width09 = 9,       /*!< 0.35mm (dxf 35)*/
+      width10 = 10,      /*!< 0.40mm (dxf 40)*/
+      width11 = 11,      /*!< 0.50mm (dxf 50)*/
+      width12 = 12,      /*!< 0.53mm (dxf 53)*/
+      width13 = 13,      /*!< 0.60mm (dxf 60)*/
+      width14 = 14,      /*!< 0.70mm (dxf 70)*/
+      width15 = 15,      /*!< 0.80mm (dxf 80)*/
+      width16 = 16,      /*!< 0.90mm (dxf 90)*/
+      width17 = 17,      /*!< 1.00mm (dxf 100)*/
+      width18 = 18,      /*!< 1.06mm (dxf 106)*/
+      width19 = 19,      /*!< 1.20mm (dxf 120)*/
+      width20 = 20,      /*!< 1.40mm (dxf 140)*/
+      width21 = 21,      /*!< 1.58mm (dxf 158)*/
+      width22 = 22,      /*!< 2.00mm (dxf 200)*/
+      width23 = 23,      /*!< 2.11mm (dxf 211)*/
+      widthByLayer = 29, /*!< by layer (dxf -1) */
+      widthByBlock = 30, /*!< by block (dxf -2) */
+      widthDefault = 31  /*!< by default (dxf -3) */
+    };
+
+    static int lineWidth2dxfInt( enum lineWidth lw )
+    {
+      switch ( lw )
+      {
+        case widthByLayer:
+          return -1;
+        case widthByBlock:
+          return -2;
+        case widthDefault:
+          return -3;
+        case width00:
+          return 0;
+        case width01:
+          return 5;
+        case width02:
+          return 9;
+        case width03:
+          return 13;
+        case width04:
+          return 15;
+        case width05:
+          return 18;
+        case width06:
+          return 20;
+        case width07:
+          return 25;
+        case width08:
+          return 30;
+        case width09:
+          return 35;
+        case width10:
+          return 40;
+        case width11:
+          return 50;
+        case width12:
+          return 53;
+        case width13:
+          return 60;
+        case width14:
+          return 70;
+        case width15:
+          return 80;
+        case width16:
+          return 90;
+        case width17:
+          return 100;
+        case width18:
+          return 106;
+        case width19:
+          return 120;
+        case width20:
+          return 140;
+        case width21:
+          return 158;
+        case width22:
+          return 200;
+        case width23:
+          return 211;
+        default:
+          break;
+      }
+      return -3;
+    }
+
+    static int lineWidth2dwgInt( enum lineWidth lw )
+    {
+      return static_cast<int>( lw );
+    }
+
+    static enum lineWidth dxfInt2lineWidth( int i )
+    {
+      if ( i < 0 )
+      {
+        if ( i == -1 )
+          return widthByLayer;
+        else if ( i == -2 )
+          return widthByBlock;
+        else if ( i == -3 )
+          return widthDefault;
+      }
+      else if ( i < 3 )
+      {
+        return width00;
+      }
+      else if ( i < 7 )
+      {
+        return width01;
+      }
+      else if ( i < 11 )
+      {
+        return width02;
+      }
+      else if ( i < 14 )
+      {
+        return width03;
+      }
+      else if ( i < 16 )
+      {
+        return width04;
+      }
+      else if ( i < 19 )
+      {
+        return width05;
+      }
+      else if ( i < 22 )
+      {
+        return width06;
+      }
+      else if ( i < 27 )
+      {
+        return width07;
+      }
+      else if ( i < 32 )
+      {
+        return width08;
+      }
+      else if ( i < 37 )
+      {
+        return width09;
+      }
+      else if ( i < 45 )
+      {
+        return width10;
+      }
+      else if ( i < 52 )
+      {
+        return width11;
+      }
+      else if ( i < 57 )
+      {
+        return width12;
+      }
+      else if ( i < 65 )
+      {
+        return width13;
+      }
+      else if ( i < 75 )
+      {
+        return width14;
+      }
+      else if ( i < 85 )
+      {
+        return width15;
+      }
+      else if ( i < 95 )
+      {
+        return width16;
+      }
+      else if ( i < 103 )
+      {
+        return width17;
+      }
+      else if ( i < 112 )
+      {
+        return width18;
+      }
+      else if ( i < 130 )
+      {
+        return width19;
+      }
+      else if ( i < 149 )
+      {
+        return width20;
+      }
+      else if ( i < 180 )
+      {
+        return width21;
+      }
+      else if ( i < 205 )
+      {
+        return width22;
+      }
+      else
+      {
+        return width23;
+      }
+      //default by default
+      return widthDefault;
+    }
+
+    static enum lineWidth dwgInt2lineWidth( int i )
+    {
+      if (( i > -1 && i < 24 ) || ( i > 28 && i < 32 ) )
+      {
+        return static_cast<lineWidth>( i );
+      }
+      //default by default
+      return widthDefault;
+    }
+};
+
+#endif
+
+// EOF
diff --git a/src/app/dwg/libdxfrw/drw_classes.cpp b/src/app/dwg/libdxfrw/drw_classes.cpp
new file mode 100644
index 0000000..432d469
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_classes.cpp
@@ -0,0 +1,139 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include "drw_classes.h"
+
+#include "intern/dxfreader.h"
+#include "intern/dxfwriter.h"
+#include "intern/dwgbuffer.h"
+#include "intern/drw_dbg.h"
+
+#include "qgslogger.h"
+
+
+void DRW_Class::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 1:
+      recName = reader->getUtf8String();
+      break;
+    case 2:
+      className = reader->getUtf8String();
+      break;
+    case 3:
+      appName = reader->getUtf8String();
+      break;
+    case 90:
+      proxyFlag = reader->getInt32();
+      break;
+    case 91:
+      instanceCount = reader->getInt32();
+      break;
+    case 280:
+      wasaProxyFlag = reader->getInt32();
+      break;
+    case 281:
+      entityFlag = reader->getInt32();
+      break;
+    default:
+      break;
+  }
+}
+
+bool DRW_Class::parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer *strBuf )
+{
+  QgsDebugMsg( "***************************** parsing Class *********************************************" );
+
+  classNum = buf->getBitShort();
+
+  QgsDebugMsg( QString( "Class number: %1" ).arg( classNum ) );
+
+  proxyFlag = buf->getBitShort(); //in dwg specs says "version"
+
+  appName = strBuf->getVariableText( version, false );
+  className = strBuf->getVariableText( version, false );
+  recName = strBuf->getVariableText( version, false );
+
+  QgsDebugMsg( QString( "app name:%1, class name:%2, dxf rec name:%3" )
+               .arg( appName.c_str() ).arg( className.c_str() ).arg( recName.c_str() )
+             );
+
+  wasaProxyFlag = buf->getBit(); //in dwg says wasazombie
+  entityFlag = buf->getBitShort();
+  entityFlag = entityFlag == 0x1F2 ? 1 : 0;
+
+  QgsDebugMsg( QString( "Proxy capabilities flag:%1, proxy flag (280): %2, entity flag:%3" )
+               .arg( proxyFlag ).arg( wasaProxyFlag ).arg( entityFlag )
+             );
+
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    instanceCount = buf->getBitLong();
+    duint32 dwgVersion = buf->getBitLong();
+    int t = buf->getBitLong();
+    int unk0 = buf->getBitLong();
+    int unk1 = buf->getBitLong();
+
+    QgsDebugMsg( QString( "Instance Count:%1, DWG version: %2, maintenance version:%3, unk0:%4, unk1:%5" )
+                 .arg( instanceCount ).arg( dwgVersion ).arg( t ).arg( unk0 ).arg( unk1 )
+               );
+    Q_UNUSED( instanceCount );
+    Q_UNUSED( dwgVersion );
+    Q_UNUSED( t );
+    Q_UNUSED( unk0 );
+    Q_UNUSED( unk1 );
+  }
+
+  toDwgType();
+  return buf->isGood();
+}
+
+void DRW_Class::write( dxfWriter *writer, DRW::Version ver )
+{
+  if ( ver > DRW::AC1009 )
+  {
+    writer->writeString( 0, "CLASS" );
+    writer->writeString( 1, recName );
+    writer->writeString( 2, className );
+    writer->writeString( 3, appName );
+    writer->writeInt32( 90, proxyFlag );
+    if ( ver > DRW::AC1015 ) //2004+
+    {
+      writer->writeInt32( 91, instanceCount );
+    }
+    writer->writeInt16( 280, wasaProxyFlag );
+    writer->writeInt16( 281, entityFlag );
+  }
+}
+
+void DRW_Class::toDwgType()
+{
+  if ( recName == "LWPOLYLINE" )
+    dwgType = 77;
+  else if ( recName == "HATCH" )
+    dwgType = 78;
+  else if ( recName == "GROUP" )
+    dwgType = 72;
+#if 0
+  else if ( recName == "GROUP" )
+    dwgType = 72;
+#endif
+  else if ( recName == "LAYOUT" )
+    dwgType = 82;
+  else if ( recName == "IMAGE" )
+    dwgType = 101;
+  else if ( recName == "IMAGEDEF" )
+    dwgType = 102;
+  else
+    dwgType = 0;
+}
diff --git a/src/app/dwg/libdxfrw/drw_classes.h b/src/app/dwg/libdxfrw/drw_classes.h
new file mode 100644
index 0000000..fe7325d
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_classes.h
@@ -0,0 +1,65 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DRW_CLASSES_H
+#define DRW_CLASSES_H
+
+
+#include "drw_base.h"
+//#include "libdwgr.h"
+
+class dxfReader;
+class dxfWriter;
+class dwgBuffer;
+
+/** Class to handle classes table entries
+ *  TODO: verify the dxf read/write part
+ *  @author Rallaz
+ */
+class DRW_Class
+{
+  public:
+    DRW_Class()
+        : proxyFlag( 0 )
+        , instanceCount( 0 )
+        , wasaProxyFlag( 0 )
+        , entityFlag( 0 )
+        , classNum( 0 )
+        , dwgType( 0 )
+    {
+    }
+    ~DRW_Class()
+    {
+    }
+
+    void parseCode( int code, dxfReader *reader );
+    void write( dxfWriter *writer, DRW::Version ver );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer *strBuf );
+
+  private:
+    void toDwgType();
+  public:
+    UTF8STRING recName;      /*!< record name, code 1 */
+    UTF8STRING className;    /*!< C++ class name, code 2 */
+    UTF8STRING appName;      /*!< app name, code 3 */
+    int proxyFlag;           /*!< Proxy capabilities flag, code 90 */
+    int instanceCount;       /*!< number of instances for a custom class, code 91*/
+    int wasaProxyFlag;       /*!< proxy flag (app loaded on save), code 280 */
+    int entityFlag;          /*!< entity flag, code 281 (0 object, 1 entity)*/
+  public: //only for read dwg
+    duint16 classNum;
+    int dwgType;
+};
+
+#endif
+
+// EOF
diff --git a/src/app/dwg/libdxfrw/drw_entities.cpp b/src/app/dwg/libdxfrw/drw_entities.cpp
new file mode 100644
index 0000000..e6b051f
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_entities.cpp
@@ -0,0 +1,3876 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <cstdlib>
+
+#include "drw_entities.h"
+#include "intern/dxfreader.h"
+#include "intern/dwgbuffer.h"
+#include "intern/drw_dbg.h"
+
+#undef QGISDEBUG
+#include "qgslogger.h"
+#include <QStringList>
+
+#define RESERVE( vector, size ) try { \
+    vector.reserve(size); \
+  } catch(const std::exception &e) { \
+    QgsDebugMsg( QString( "allocation exception (size=%1; error=%2)" ).arg( size ).arg( e.what() ) ); \
+    throw e; \
+  }
+
+//! Calculate arbitary axis
+/*!
+*   Calculate arbitary axis for apply extrusions
+*  @author Rallaz
+*/
+void DRW_Entity::calculateAxis( DRW_Coord extPoint )
+{
+  //Follow the arbitrary DXF definitions for extrusion axes.
+  if ( fabs( extPoint.x ) < 0.015625 && fabs( extPoint.y ) < 0.015625 )
+  {
+    //If we get here, implement Ax = Wy x N where Wy is [0,1,0] per the DXF spec.
+    //The cross product works out to Wy.y*N.z-Wy.z*N.y, Wy.z*N.x-Wy.x*N.z, Wy.x*N.y-Wy.y*N.x
+    //Factoring in the fixed values for Wy gives N.z,0,-N.x
+    extAxisX.x = extPoint.z;
+    extAxisX.y = 0;
+    extAxisX.z = -extPoint.x;
+  }
+  else
+  {
+    //Otherwise, implement Ax = Wz x N where Wz is [0,0,1] per the DXF spec.
+    //The cross product works out to Wz.y*N.z-Wz.z*N.y, Wz.z*N.x-Wz.x*N.z, Wz.x*N.y-Wz.y*N.x
+    //Factoring in the fixed values for Wz gives -N.y,N.x,0.
+    extAxisX.x = -extPoint.y;
+    extAxisX.y = extPoint.x;
+    extAxisX.z = 0;
+  }
+
+  extAxisX.unitize();
+
+  //Ay = N x Ax
+  extAxisY.x = ( extPoint.y * extAxisX.z ) - ( extAxisX.y * extPoint.z );
+  extAxisY.y = ( extPoint.z * extAxisX.x ) - ( extAxisX.z * extPoint.x );
+  extAxisY.z = ( extPoint.x * extAxisX.y ) - ( extAxisX.x * extPoint.y );
+
+  extAxisY.unitize();
+}
+
+//! Extrude a point using arbitary axis
+/*!
+*   apply extrusion in a point using arbitary axis (previous calculated)
+*  @author Rallaz
+*/
+void DRW_Entity::extrudePoint( DRW_Coord extPoint, DRW_Coord *point )
+{
+  double px, py, pz;
+  px = ( extAxisX.x * point->x ) + ( extAxisY.x * point->y ) + ( extPoint.x * point->z );
+  py = ( extAxisX.y * point->x ) + ( extAxisY.y * point->y ) + ( extPoint.y * point->z );
+  pz = ( extAxisX.z * point->x ) + ( extAxisY.z * point->y ) + ( extPoint.z * point->z );
+
+  point->x = px;
+  point->y = py;
+  point->z = pz;
+}
+
+bool DRW_Entity::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 5:
+      handle = reader->getHandleString();
+      break;
+    case 330:
+      parentHandle = reader->getHandleString();
+      break;
+    case 8:
+      layer = reader->getUtf8String();
+      break;
+    case 6:
+      lineType = reader->getUtf8String();
+      break;
+    case 62:
+      color = reader->getInt32();
+      break;
+    case 370:
+      lWeight = DRW_LW_Conv::dxfInt2lineWidth( reader->getInt32() );
+      break;
+    case 48:
+      ltypeScale = reader->getDouble();
+      break;
+    case 60:
+      visible = reader->getBool();
+      break;
+    case 420:
+      color24 = reader->getInt32();
+      break;
+    case 430:
+      colorName = reader->getString();
+      break;
+    case 440:
+      transparency = reader->getInt32();
+      break;
+    case 67:
+      space = static_cast<DRW::Space>( reader->getInt32() );
+      break;
+    case 102:
+      parseDxfGroups( code, reader );
+      break;
+    case 1000:
+    case 1001:
+    case 1002:
+    case 1003:
+    case 1004:
+    case 1005:
+      extData.push_back( new DRW_Variant( code, reader->getString() ) );
+      break;
+    case 1010:
+    case 1011:
+    case 1012:
+    case 1013:
+      curr = new DRW_Variant( code, DRW_Coord( reader->getDouble(), 0.0, 0.0 ) );
+      extData.push_back( curr );
+      break;
+    case 1020:
+    case 1021:
+    case 1022:
+    case 1023:
+      if ( curr )
+        curr->setCoordY( reader->getDouble() );
+      break;
+    case 1030:
+    case 1031:
+    case 1032:
+    case 1033:
+      if ( curr )
+        curr->setCoordZ( reader->getDouble() );
+      curr = nullptr;
+      break;
+    case 1040:
+    case 1041:
+    case 1042:
+      extData.push_back( new DRW_Variant( code, reader->getDouble() ) );
+      break;
+    case 1070:
+    case 1071:
+      extData.push_back( new DRW_Variant( code, reader->getInt32() ) );
+      break;
+    default:
+      break;
+  }
+  return true;
+}
+
+//parses dxf 102 groups to read entity
+bool DRW_Entity::parseDxfGroups( int code, dxfReader *reader )
+{
+  std::list<DRW_Variant> ls;
+  DRW_Variant curr;
+  int nc;
+  std::string appName = reader->getString();
+  if ( !appName.empty() && appName.at( 0 ) == '{' )
+  {
+    curr.addString( code, appName.substr( 1, ( int ) appName.size() - 1 ) );
+    ls.push_back( curr );
+    while ( code != 102 && appName.at( 0 ) == '}' )
+    {
+      reader->readRec( &nc );//RLZ curr.code = code or nc?
+//            curr.code = code;
+      //RLZ code == 330 || code == 360 OR nc == 330 || nc == 360 ?
+      if ( code == 330 || code == 360 )
+        curr.addInt( code, reader->getHandleString() );//RLZ code or nc
+      else
+      {
+        switch ( reader->type )
+        {
+          case dxfReader::STRING:
+            curr.addString( code, reader->getString() );//RLZ code or nc
+            break;
+          case dxfReader::INT32:
+          case dxfReader::INT64:
+            curr.addInt( code, reader->getInt32() );//RLZ code or nc
+            break;
+          case dxfReader::DOUBLE:
+            curr.addDouble( code, reader->getDouble() );//RLZ code or nc
+            break;
+          case dxfReader::BOOL:
+            curr.addInt( code, reader->getInt32() );//RLZ code or nc
+            break;
+          default:
+            break;
+        }
+      }
+      ls.push_back( curr );
+    }
+  }
+
+  appData.push_back( ls );
+  return true;
+}
+
+bool DRW_Entity::parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer* strBuf, duint32 bs )
+{
+  objSize = 0;
+  QgsDebugMsg( "***************************** parsing entity *********************************************" );
+  oType = buf->getObjType( version );
+  QgsDebugMsg( QString( "Object type: %1, 0x%2" ).arg( oType ).arg( oType, 0, 16 ) );
+
+  if ( version > DRW::AC1014 && version < DRW::AC1024 )  //2000 & 2004
+  {
+    objSize = buf->getRawLong32();  //RL 32bits object size in bits
+    QgsDebugMsg( QString( " Object size: %1" ).arg( objSize ) );
+  }
+  if ( version > DRW::AC1021 )  //2010+
+  {
+    duint32 ms = buf->size();
+    objSize = ms * 8 - bs;
+    QgsDebugMsg( QString( " Object size: %1" ).arg( objSize ) );
+  }
+
+  if ( strBuf && version > DRW::AC1018 )  //2007+
+  {
+    strBuf->moveBitPos( objSize - 1 );
+    QgsDebugMsgLevel( QString( "strBuf strbit pos 2007:%1 strBuf bpos 2007:%2" )
+                      .arg( strBuf->getPosition() ).arg( strBuf->getBitPos() ), 4
+                    );
+    if ( strBuf->getBit() == 1 )
+    {
+      QgsDebugMsgLevel( "string bit is 1", 4 );
+      strBuf->moveBitPos( -17 );
+      duint16 strDataSize = strBuf->getRawShort16();
+      QgsDebugMsgLevel( QString( "strDataSize: %1" ).arg( strDataSize ), 4 );
+      if (( strDataSize& 0x8000 ) == 0x8000 )
+      {
+        QgsDebugMsgLevel( "string 0x8000 bit is set", 4 );
+        strBuf->moveBitPos( -33 );//RLZ pending to verify
+        duint16 hiSize = strBuf->getRawShort16();
+        strDataSize = (( strDataSize & 0x7fff ) | ( hiSize << 15 ) );
+      }
+      strBuf->moveBitPos( -strDataSize - 16 ); //-14
+
+      QgsDebugMsgLevel( QString( "strBuf start strDataSize pos 2007:%1 strBuf bpos 2007:%2" )
+                        .arg( strBuf->getPosition() ).arg( strBuf->getBitPos() ), 4
+                      );
+    }
+    else
+    {
+      QgsDebugMsg( "string bit is 0" );
+    }
+
+    QgsDebugMsgLevel( QString( "strBuf start pos 2007:%1 strBuf bpos 2007:%2" )
+                      .arg( strBuf->getPosition() ).arg( strBuf->getBitPos() ), 4
+                    );
+  }
+
+  dwgHandle ho = buf->getHandle();
+  handle = ho.ref;
+  dint16 extDataSize = buf->getBitShort(); //BS
+  QgsDebugMsg( QString( "Entity Handle: %1.%2 0x%3; ext data size:%4" ).arg( ho.code ).arg( ho.size ).arg( ho.ref, 0, 16 ).arg( extDataSize ) );
+  while ( extDataSize > 0 && buf->isGood() )
+  {
+    /* RLZ: TODO */
+    dwgHandle ah = buf->getHandle();
+    QgsDebugMsg( QString( " App Handle: %1.%2 0x%3" ).arg( ah.code ).arg( ah.size ).arg( ah.ref, 0, 16 ) );
+    duint8 *tmpExtData = new duint8[extDataSize];
+    buf->getBytes( tmpExtData, extDataSize );
+    dwgBuffer tmpExtDataBuf( tmpExtData, extDataSize, buf->decoder );
+
+    duint8 dxfCode = tmpExtDataBuf.getRawChar8();
+    QgsDebugMsg( QString( " dxfCode: %1" ).arg( dxfCode ) );
+
+    switch ( dxfCode )
+    {
+      case 0:
+      {
+        duint8 strLength = tmpExtDataBuf.getRawChar8();
+        duint16 cp = tmpExtDataBuf.getBERawShort16();
+        Q_UNUSED( cp );
+
+        QStringList l;
+        for ( int i = 0;i < strLength + 1; i++ )  //string length + null terminating char
+        {
+          duint8 dxfChar = tmpExtDataBuf.getRawChar8();
+          l << QString( "0x%1" ).arg( dxfChar, 0, 16 );
+        }
+
+        QgsDebugMsg( QString( "strLength:%1; str codepage:%2; %3" ).arg( strLength ).arg( cp ).arg( l.join( " " ) ) );
+        Q_UNUSED( l );
+        break;
+      }
+      default:
+        /* RLZ: TODO */
+        break;
+    }
+    delete[]tmpExtData;
+    extDataSize = buf->getBitShort(); //BS
+    QgsDebugMsg( QString( " ext data size: %1" ).arg( extDataSize ) );
+  } //end parsing extData (EED)
+  duint8 graphFlag = buf->getBit(); //B
+  QgsDebugMsg( QString( "graphFlag:%1" ).arg( graphFlag ) );
+  if ( graphFlag )
+  {
+    duint32 graphDataSize = buf->getRawLong32();  //RL 32bits
+    QgsDebugMsg( QString( "graphData in bytes: %1" ).arg( graphDataSize ) );
+// RLZ: TODO
+    //skip graphData bytes
+    duint8 *tmpGraphData = new duint8[graphDataSize];
+    buf->getBytes( tmpGraphData, graphDataSize );
+    dwgBuffer tmpGraphDataBuf( tmpGraphData, graphDataSize, buf->decoder );
+    QgsDebugMsg( QString( "graph data remaining bytes:%1" ).arg( tmpGraphDataBuf.numRemainingBytes() ) );
+    delete[]tmpGraphData;
+  }
+  if ( version < DRW::AC1015 )  //14-
+  {
+    objSize = buf->getRawLong32();  //RL 32bits object size in bits
+    QgsDebugMsg( QString( " Object size in bits: %1" ).arg( objSize ) );
+  }
+
+  duint8 entmode = buf->get2Bits(); //BB
+  if ( entmode == 0 )
+    ownerHandle = true;
+//        entmode = 2;
+  else if ( entmode == 2 )
+    entmode = 0;
+
+  space = ( DRW::Space )entmode; //RLZ verify cast values
+  numReactors = buf->getBitShort(); //BS
+  QgsDebugMsg( QString( "entmode:%1, numReactors: %2" ).arg( entmode ).arg( numReactors ) );
+
+  if ( version < DRW::AC1015 )  //14-
+  {
+    if ( buf->getBit() )  //is bylayer line type
+    {
+      lineType = "BYLAYER";
+      ltFlags = 0;
+    }
+    else
+    {
+      lineType = "";
+      ltFlags = 3;
+    }
+    QgsDebugMsg( QString( " lineType:%1 ltFlags:%2" ).arg( lineType.c_str() ).arg( ltFlags ) );
+  }
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    xDictFlag = buf->getBit();
+    QgsDebugMsg( QString( " xDictFlag: %1" ).arg( xDictFlag ) );
+  }
+
+  if ( version > DRW::AC1024 || version < DRW::AC1018 )
+  {
+    haveNextLinks = buf->getBit(); //aka nolinks //B
+    QgsDebugMsg( QString( "haveNextLinks (0 yes, 1 prev next): %1" ).arg( haveNextLinks ) );
+  }
+  else
+  {
+    haveNextLinks = 1; //aka nolinks //B
+    QgsDebugMsg( QString( "haveNextLinks (forced): %1" ).arg( haveNextLinks ) );
+  }
+//ENC color
+  color = buf->getEnColor( version, color24, transparency ); //BS or CMC //ok for R14 or negate
+  ltypeScale = buf->getBitDouble(); //BD
+  QgsDebugMsg( QString( " entity color:%1 ltScale:%2" ).arg( color ).arg( ltypeScale ) );
+
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    UTF8STRING plotStyleName;
+    for ( duint8 i = 0; i < 2; ++i )   //two flags in one
+    {
+      plotFlags = buf->get2Bits(); //BB
+      if ( plotFlags == 1 )
+        plotStyleName = "byblock";
+      else if ( plotFlags == 2 )
+        plotStyleName = "continuous";
+      else if ( plotFlags == 0 )
+        plotStyleName = "bylayer";
+      else //handle at end
+        plotStyleName = "";
+      if ( i == 0 )
+      {
+        ltFlags = plotFlags;
+        lineType = plotStyleName; //RLZ: howto solve? if needed plotStyleName;
+        QgsDebugMsg( QString( "ltFlags:%1 lineType:%2" ).arg( lineType.c_str() ).arg( ltFlags ) );
+      }
+      else
+      {
+        QgsDebugMsg( QString( "plotFlags:%1" ).arg( plotFlags ) );
+      }
+    }
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    materialFlag = buf->get2Bits(); //BB
+    shadowFlag = buf->getRawChar8(); //RC
+    QgsDebugMsg( QString( " materialFlag:%1 shadowFlag:%2" ).arg( materialFlag ).arg( shadowFlag ) );
+  }
+  if ( version > DRW::AC1021 )  //2010+
+  {
+    duint8 visualFlags = buf->get2Bits(); //full & face visual style
+    duint8 unk = buf->getBit(); //edge visual style
+    QgsDebugMsg( QString( " shadowFlag 2:%1 unknown bit:%2" ).arg( visualFlags ).arg( unk ) );
+    Q_UNUSED( visualFlags );
+    Q_UNUSED( unk );
+  }
+  dint16 invisibleFlag = buf->getBitShort(); //BS
+  QgsDebugMsg( QString( " invisibleFlag:%1" ).arg( invisibleFlag ) );
+  Q_UNUSED( invisibleFlag );
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    lWeight = DRW_LW_Conv::dwgInt2lineWidth( buf->getRawChar8() ); //RC
+    QgsDebugMsg( QString( " lwFlag (lWeight):%1" ).arg( lWeight ) );
+    Q_UNUSED( lWeight );
+  }
+#if 0
+  //Only in blocks ????????
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    duint8 unk = buf->getBit();
+    QgsDebugMsg( QString( "unknown bit: %1" ).arg( unk ) );
+  }
+#endif
+  return buf->isGood();
+}
+
+bool DRW_Entity::parseDwgEntHandle( DRW::Version version, dwgBuffer *buf )
+{
+  if ( version > DRW::AC1018 )  //2007+ skip string area
+  {
+    buf->setPosition( objSize >> 3 );
+    buf->setBitPos( objSize & 7 );
+  }
+
+  if ( ownerHandle ) //entity are in block or in a polyline
+  {
+    dwgHandle ownerH = buf->getOffsetHandle( handle );
+    QgsDebugMsg( QString( "owner (parent) Handle:%1.%2 0x%3 Remaining bytes:%4" )
+                 .arg( ownerH.code ).arg( ownerH.size ).arg( ownerH.ref, 0, 16 )
+                 .arg( buf->numRemainingBytes() )
+               );
+    parentHandle = ownerH.ref;
+  }
+  else
+  {
+    QgsDebugMsg( "NO Block (parent) Handle" );
+  }
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  for ( int i = 0; i < numReactors; ++i )
+  {
+    dwgHandle reactorsH = buf->getHandle();
+    QgsDebugMsg( QString( "reactorsH control Handle:%1.%2 0x%3" )
+                 .arg( reactorsH.code ).arg( reactorsH.size ).arg( reactorsH.ref, 0, 16 )
+               );
+  }
+  if ( xDictFlag != 1 ) //linetype in 2004 seems not have XDicObjH or NULL handle
+  {
+    dwgHandle XDicObjH = buf->getHandle();
+    QgsDebugMsg( QString( "XDicObj control Handle:%1.%2 0x%3" )
+                 .arg( XDicObjH.code ).arg( XDicObjH.size ).arg( XDicObjH.ref, 0, 16 )
+               );
+  }
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( version < DRW::AC1015 )  //R14-
+  {
+    //layer handle
+    layerH = buf->getOffsetHandle( handle );
+    QgsDebugMsg( QString( " layer Handle:%1.%2 0x%3, remaining bytes %4" )
+                 .arg( layerH.code ).arg( layerH.size ).arg( layerH.ref, 0, 16 )
+                 .arg( buf->numRemainingBytes() )
+               );
+
+    //lineType handle
+    if ( ltFlags == 3 )
+    {
+      lTypeH = buf->getOffsetHandle( handle );
+      QgsDebugMsg( QString( " linetype Handle:%1.%2 0x%3, remaining bytes %4" )
+                   .arg( lTypeH.code ).arg( lTypeH.size ).arg( lTypeH.ref, 0, 16 )
+                   .arg( buf->numRemainingBytes() ) );
+    }
+  }
+  if ( version < DRW::AC1018 )  //2000+
+  {
+    if ( haveNextLinks == 0 )
+    {
+      dwgHandle nextLinkH = buf->getOffsetHandle( handle );
+      QgsDebugMsg( QString( " prev nextLinkers Handle:%1.%2 0x%3, remaining bytes %4" )
+                   .arg( nextLinkH.code ).arg( nextLinkH.size ).arg( nextLinkH.ref, 0, 16 )
+                   .arg( buf->numRemainingBytes() ) );
+      prevEntLink = nextLinkH.ref;
+      nextLinkH = buf->getOffsetHandle( handle );
+      QgsDebugMsg( QString( " next nextLinkers Handle:%1.%2 0x%3, remaining bytes %4" )
+                   .arg( nextLinkH.code ).arg( nextLinkH.size ).arg( nextLinkH.ref, 0, 16 )
+                   .arg( buf->numRemainingBytes() ) );
+      nextEntLink = nextLinkH.ref;
+    }
+    else
+    {
+      nextEntLink = handle + 1;
+      prevEntLink = handle - 1;
+    }
+  }
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    //Parses Bookcolor handle
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    //layer handle
+    layerH = buf->getOffsetHandle( handle );
+    QgsDebugMsg( QString( " layer Handle:%1.%2 0x%3, remaining bytes %4" )
+                 .arg( layerH.code ).arg( layerH.size ).arg( layerH.ref, 0, 16 )
+                 .arg( buf->numRemainingBytes() ) );
+    //lineType handle
+    if ( ltFlags == 3 )
+    {
+      lTypeH = buf->getOffsetHandle( handle );
+      QgsDebugMsg( QString( " linetype Handle:%1.%2 0x%3, remaining bytes %4" )
+                   .arg( lTypeH.code ).arg( lTypeH.size ).arg( lTypeH.ref, 0, 16 )
+                   .arg( buf->numRemainingBytes() ) );
+    }
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    if ( version > DRW::AC1018 )  //2007+
+    {
+      if ( materialFlag == 3 )
+      {
+        dwgHandle materialH = buf->getOffsetHandle( handle );
+        QgsDebugMsg( QString( " material handle:%1.%2 0x%3, remaining bytes %4" )
+                     .arg( materialH.code ).arg( materialH.size ).arg( materialH.ref, 0, 16 )
+                     .arg( buf->numRemainingBytes() ) );
+      }
+      if ( shadowFlag == 3 )
+      {
+        dwgHandle shadowH = buf->getOffsetHandle( handle );
+        QgsDebugMsg( QString( " shadow handle:%1.%2 0x%3, remaining bytes %4" )
+                     .arg( shadowH.code ).arg( shadowH.size ).arg( shadowH.ref, 0, 16 )
+                     .arg( buf->numRemainingBytes() ) );
+      }
+    }
+    if ( plotFlags == 3 )
+    {
+      dwgHandle plotStyleH = buf->getOffsetHandle( handle );
+      QgsDebugMsg( QString( " plot style handle:%1.%2 0x%3, remaining bytes %4" )
+                   .arg( plotStyleH.code ).arg( plotStyleH.size ).arg( plotStyleH.ref, 0, 16 )
+                   .arg( buf->numRemainingBytes() ) );
+    }
+  }
+  QgsDebugMsg( QString( "remaining bytes:%1" ).arg( buf->numRemainingBytes() ) );
+
+  return buf->isGood();
+}
+
+void DRW_Point::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 10:
+      basePoint.x = reader->getDouble();
+      break;
+    case 20:
+      basePoint.y = reader->getDouble();
+      break;
+    case 30:
+      basePoint.z = reader->getDouble();
+      break;
+    case 39:
+      thickness = reader->getDouble();
+      break;
+    case 210:
+      haveExtrusion = true;
+      extPoint.x = reader->getDouble();
+      break;
+    case 220:
+      extPoint.y = reader->getDouble();
+      break;
+    case 230:
+      extPoint.z = reader->getDouble();
+      break;
+    default:
+      DRW_Entity::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Point::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing point *********************************************" );
+
+  basePoint.x = buf->getBitDouble();
+  basePoint.y = buf->getBitDouble();
+  basePoint.z = buf->getBitDouble();
+  thickness = buf->getThickness( version > DRW::AC1014 );//BD
+  extPoint = buf->getExtrusion( version > DRW::AC1014 );
+  double x_axis = buf->getBitDouble();//BD
+
+  QgsDebugMsg( QString( "point:%1 thickness:%2, extrusion:%3, x_axis:%4" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               .arg( thickness )
+               .arg( QString( "%1,%2,%3" ).arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z ) )
+               .arg( x_axis )
+             );
+  Q_UNUSED( x_axis );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  //    RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+void DRW_Line::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 11:
+      secPoint.x = reader->getDouble();
+      break;
+    case 21:
+      secPoint.y = reader->getDouble();
+      break;
+    case 31:
+      secPoint.z = reader->getDouble();
+      break;
+    default:
+      DRW_Point::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Line::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing line *********************************************" );
+
+  if ( version < DRW::AC1015 )  //14-
+  {
+    basePoint.x = buf->getBitDouble();
+    basePoint.y = buf->getBitDouble();
+    basePoint.z = buf->getBitDouble();
+    secPoint.x = buf->getBitDouble();
+    secPoint.y = buf->getBitDouble();
+    secPoint.z = buf->getBitDouble();
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    bool zIsZero = buf->getBit(); //B
+    basePoint.x = buf->getRawDouble();//RD
+    secPoint.x = buf->getDefaultDouble( basePoint.x );//DD
+    basePoint.y = buf->getRawDouble();//RD
+    secPoint.y = buf->getDefaultDouble( basePoint.y );//DD
+    if ( !zIsZero )
+    {
+      basePoint.z = buf->getRawDouble();//RD
+      secPoint.z = buf->getDefaultDouble( basePoint.z );//DD
+    }
+  }
+
+  thickness = buf->getThickness( version > DRW::AC1014 );//BD
+  extPoint = buf->getExtrusion( version > DRW::AC1014 );
+  QgsDebugMsg( QString( "startpoint:%1 endpoint:%2 thickness:%3 extrusion:%4" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( secPoint.x ).arg( secPoint.y ).arg( secPoint.z ) )
+               .arg( thickness )
+               .arg( QString( "%1,%2,%3" ).arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z ) )
+             );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  // RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+bool DRW_Ray::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing ray/xline *********************************************" );
+
+  basePoint.x = buf->getBitDouble();
+  basePoint.y = buf->getBitDouble();
+  basePoint.z = buf->getBitDouble();
+  secPoint.x = buf->getBitDouble();
+  secPoint.y = buf->getBitDouble();
+  secPoint.z = buf->getBitDouble();
+
+  QgsDebugMsg( QString( "startpoint:%1 vector:%2" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( secPoint.x ).arg( secPoint.y ).arg( secPoint.z ) )
+             );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  // RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+void DRW_Circle::applyExtrusion()
+{
+  if ( haveExtrusion )
+  {
+    //NOTE: Commenting these out causes the the arcs being tested to be located
+    //on the other side of the y axis (all x dimensions are negated).
+    calculateAxis( extPoint );
+    extrudePoint( extPoint, &basePoint );
+  }
+}
+
+void DRW_Circle::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 40:
+      mRadius = reader->getDouble();
+      break;
+    default:
+      DRW_Point::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Circle::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing circle *********************************************" );
+
+  basePoint.x = buf->getBitDouble();
+  basePoint.y = buf->getBitDouble();
+  basePoint.z = buf->getBitDouble();
+  mRadius = buf->getBitDouble();
+  thickness = buf->getThickness( version > DRW::AC1014 );
+  extPoint = buf->getExtrusion( version > DRW::AC1014 );
+
+  QgsDebugMsg( QString( "center:%1 radius:%2 thickness:%3 extrusion:%4" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               .arg( mRadius ).arg( thickness )
+               .arg( QString( "%1,%2,%3" ).arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z ) )
+             );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  // RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+void DRW_Arc::applyExtrusion()
+{
+  DRW_Circle::applyExtrusion();
+
+  if ( haveExtrusion )
+  {
+    // If the extrusion vector has a z value less than 0, the angles for the arc
+    // have to be mirrored since DXF files use the right hand rule.
+    // Note that the following code only handles the special case where there is a 2D
+    // drawing with the z axis heading into the paper (or rather screen). An arbitrary
+    // extrusion axis (with x and y values greater than 1/64) may still have issues.
+    if ( fabs( extPoint.x ) < 0.015625 && fabs( extPoint.y ) < 0.015625 && extPoint.z < 0.0 )
+    {
+      staangle = M_PI - staangle;
+      endangle = M_PI - endangle;
+
+      double temp = staangle;
+      staangle = endangle;
+      endangle = temp;
+    }
+  }
+}
+
+void DRW_Arc::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 50:
+      staangle = reader->getDouble() / ARAD;
+      break;
+    case 51:
+      endangle = reader->getDouble() / ARAD;
+      break;
+    default:
+      DRW_Circle::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Arc::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing circle arc *********************************************" );
+
+  basePoint.x = buf->getBitDouble();
+  basePoint.y = buf->getBitDouble();
+  basePoint.z = buf->getBitDouble();
+  mRadius = buf->getBitDouble();
+  thickness = buf->getThickness( version > DRW::AC1014 );
+  extPoint = buf->getExtrusion( version > DRW::AC1014 );
+  staangle = buf->getBitDouble();
+  endangle = buf->getBitDouble();
+
+  QgsDebugMsg( QString( "center:%1,%2,%3 radius:%4 thickness:%5 extrusion:%6,%7,%8 staangle:%9 endangle:%10" )
+               .arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z )
+               .arg( mRadius ).arg( thickness )
+               .arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z )
+               .arg( staangle ).arg( endangle )
+             );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  return buf->isGood();
+}
+
+void DRW_Ellipse::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 40:
+      ratio = reader->getDouble();
+      break;
+    case 41:
+      staparam = reader->getDouble();
+      break;
+    case 42:
+      endparam = reader->getDouble();
+      break;
+    default:
+      DRW_Line::parseCode( code, reader );
+      break;
+  }
+}
+
+void DRW_Ellipse::applyExtrusion()
+{
+  if ( haveExtrusion )
+  {
+    calculateAxis( extPoint );
+    extrudePoint( extPoint, &secPoint );
+    double intialparam = staparam;
+    if ( extPoint.z < 0. )
+    {
+      staparam = M_PIx2 - endparam;
+      endparam = M_PIx2 - intialparam;
+    }
+  }
+}
+
+//if ratio > 1 minor axis are greather than major axis, correct it
+void DRW_Ellipse::correctAxis()
+{
+  bool complete = false;
+  if ( staparam == endparam )
+  {
+    staparam = 0.0;
+    endparam = M_PIx2; //2*M_PI;
+    complete = true;
+  }
+  if ( ratio > 1 )
+  {
+    if ( fabs( endparam - staparam - M_PIx2 ) < 1.0e-10 )
+      complete = true;
+    double incX = secPoint.x;
+    secPoint.x = -( secPoint.y * ratio );
+    secPoint.y = incX * ratio;
+    ratio = 1 / ratio;
+    if ( !complete )
+    {
+      if ( staparam < M_PI_2 )
+        staparam += M_PI * 2;
+      if ( endparam < M_PI_2 )
+        endparam += M_PI * 2;
+      endparam -= M_PI_2;
+      staparam -= M_PI_2;
+    }
+  }
+}
+
+bool DRW_Ellipse::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing ellipse *********************************************" );
+
+  basePoint = buf->get3BitDouble();
+  secPoint = buf->get3BitDouble();
+  extPoint = buf->get3BitDouble();
+  ratio = buf->getBitDouble();//BD
+  staparam = buf->getBitDouble();//BD
+  endparam = buf->getBitDouble();//BD
+
+  QgsDebugMsg( QString( "center:%1 axis:%2 extrusion:%3 ratio:%4 staparam:%5 endparam:%6" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( secPoint.x ).arg( secPoint.y ).arg( secPoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z ) )
+               .arg( ratio ).arg( staparam ).arg( endparam )
+             );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  //    RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+//parts are the number of vertices to split the polyline, default 128
+void DRW_Ellipse::toPolyline( DRW_Polyline *pol, int parts ) const
+{
+  double radMajor = sqrt( secPoint.x * secPoint.x + secPoint.y * secPoint.y );
+  double radMinor = radMajor * ratio;
+  //calculate sin & cos of included angle
+  double incAngle = atan2( secPoint.y, secPoint.x );
+  double cosRot = cos( incAngle );
+  double sinRot = sin( incAngle );
+
+  incAngle = M_PIx2 / parts;
+  double curAngle = staparam;
+  double endAngle = endparam;
+  if ( endAngle <= curAngle )
+    endAngle += M_PIx2;
+
+  while ( curAngle < endAngle )
+  {
+    double cosCurr = cos( curAngle );
+    double sinCurr = sin( curAngle );
+    double x = basePoint.x + cosCurr * cosRot * radMajor - sinCurr * sinRot * radMinor;
+    double y = basePoint.y + cosCurr * sinRot * radMajor + sinCurr * cosRot * radMinor;
+    pol->addVertex( DRW_Vertex( x, y, 0.0, 0.0 ) );
+    curAngle += incAngle;
+  }
+
+  if ( fabs( endAngle - staparam - M_PIx2 ) < 1.0e-10 )
+  {
+    pol->flags = 1;
+  }
+
+  pol->layer = layer;
+  pol->lineType = lineType;
+  pol->color = color;
+  pol->lWeight = lWeight;
+  pol->extPoint = extPoint;
+}
+
+void DRW_Trace::applyExtrusion()
+{
+  if ( haveExtrusion )
+  {
+    calculateAxis( extPoint );
+    extrudePoint( extPoint, &basePoint );
+    extrudePoint( extPoint, &secPoint );
+    extrudePoint( extPoint, &thirdPoint );
+    extrudePoint( extPoint, &fourthPoint );
+  }
+}
+
+void DRW_Trace::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 12:
+      thirdPoint.x = reader->getDouble();
+      break;
+    case 22:
+      thirdPoint.y = reader->getDouble();
+      break;
+    case 32:
+      thirdPoint.z = reader->getDouble();
+      break;
+    case 13:
+      fourthPoint.x = reader->getDouble();
+      break;
+    case 23:
+      fourthPoint.y = reader->getDouble();
+      break;
+    case 33:
+      fourthPoint.z = reader->getDouble();
+      break;
+    default:
+      DRW_Line::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Trace::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing Trace *********************************************" );
+
+  thickness = buf->getThickness( version > DRW::AC1014 );
+  basePoint.z = buf->getBitDouble();
+  basePoint.x = buf->getRawDouble();
+  basePoint.y = buf->getRawDouble();
+  secPoint.x = buf->getRawDouble();
+  secPoint.y = buf->getRawDouble();
+  secPoint.z = basePoint.z;
+  thirdPoint.x = buf->getRawDouble();
+  thirdPoint.y = buf->getRawDouble();
+  thirdPoint.z = basePoint.z;
+  fourthPoint.x = buf->getRawDouble();
+  fourthPoint.y = buf->getRawDouble();
+  fourthPoint.z = basePoint.z;
+  extPoint = buf->getExtrusion( version > DRW::AC1014 );
+
+  QgsDebugMsg( QString( "base:%1 sec:%2 third:%3 fourth:%4 extrusion:%5 thickness:%6" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( secPoint.x ).arg( secPoint.y ).arg( secPoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( thirdPoint.x ).arg( thirdPoint.y ).arg( thirdPoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( fourthPoint.x ).arg( fourthPoint.y ).arg( fourthPoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z ) )
+               .arg( thickness )
+             );
+
+  /* Common Entity Handle Data */
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  /* CRC X --- */
+  return buf->isGood();
+}
+
+
+void DRW_Solid::parseCode( int code, dxfReader *reader )
+{
+  DRW_Trace::parseCode( code, reader );
+}
+
+bool DRW_Solid::parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs )
+{
+  QgsDebugMsg( "***************************** parsing Solid *********************************************" );
+  return DRW_Trace::parseDwg( v, buf, bs );
+}
+
+void DRW_3Dface::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 70:
+      invisibleflag = reader->getInt32();
+      Q_UNUSED( invisibleflag );
+      break;
+    default:
+      DRW_Trace::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_3Dface::parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( v, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing 3Dface *********************************************" );
+
+  if ( v < DRW::AC1015 )  // R13 & R14
+  {
+    basePoint.x = buf->getBitDouble();
+    basePoint.y = buf->getBitDouble();
+    basePoint.z = buf->getBitDouble();
+    secPoint.x = buf->getBitDouble();
+    secPoint.y = buf->getBitDouble();
+    secPoint.z = buf->getBitDouble();
+    thirdPoint.x = buf->getBitDouble();
+    thirdPoint.y = buf->getBitDouble();
+    thirdPoint.z = buf->getBitDouble();
+    fourthPoint.x = buf->getBitDouble();
+    fourthPoint.y = buf->getBitDouble();
+    fourthPoint.z = buf->getBitDouble();
+    invisibleflag = buf->getBitShort();
+  }
+  else   // 2000+
+  {
+    bool has_no_flag = buf->getBit();
+    bool z_is_zero = buf->getBit();
+    basePoint.x = buf->getRawDouble();
+    basePoint.y = buf->getRawDouble();
+    basePoint.z = z_is_zero ? 0.0 : buf->getRawDouble();
+    secPoint.x = buf->getDefaultDouble( basePoint.x );
+    secPoint.y = buf->getDefaultDouble( basePoint.y );
+    secPoint.z = buf->getDefaultDouble( basePoint.z );
+    thirdPoint.x = buf->getDefaultDouble( secPoint.x );
+    thirdPoint.y = buf->getDefaultDouble( secPoint.y );
+    thirdPoint.z = buf->getDefaultDouble( secPoint.z );
+    fourthPoint.x = buf->getDefaultDouble( thirdPoint.x );
+    fourthPoint.y = buf->getDefaultDouble( thirdPoint.y );
+    fourthPoint.z = buf->getDefaultDouble( thirdPoint.z );
+    invisibleflag = has_no_flag ? ( int )NoEdge : buf->getBitShort();
+  }
+  drw_assert( invisibleflag >= NoEdge );
+  drw_assert( invisibleflag <= AllEdges );
+
+  QgsDebugMsg( QString( "base:%1 sec:%2 third:%3 fourth:%4 invisibleFlag:%5" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( secPoint.x ).arg( secPoint.y ).arg( secPoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( thirdPoint.x ).arg( thirdPoint.y ).arg( thirdPoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( fourthPoint.x ).arg( fourthPoint.y ).arg( fourthPoint.z ) )
+               .arg( invisibleflag )
+             );
+
+  // Common Entity Handle Data
+  ret = DRW_Entity::parseDwgEntHandle( v, buf );
+  if ( !ret )
+    return ret;
+  return buf->isGood();
+}
+
+void DRW_Block::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 2:
+      name = reader->getUtf8String();
+      break;
+    case 70:
+      flags = reader->getInt32();
+      break;
+    default:
+      DRW_Point::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Block::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+  if ( !isEnd )
+  {
+    QgsDebugMsg( "***************************** parsing block *********************************************" );
+    name = sBuf->getVariableText( version, false );
+    QgsDebugMsg( QString( "Block name: %1" ).arg( name.c_str() ) );
+  }
+  else
+  {
+    QgsDebugMsg( "***************************** parsing end block *********************************************" );
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    duint8 unk = buf->getBit();
+    QgsDebugMsg( QString( "unknown bit: %1" ).arg( unk ) );
+    Q_UNUSED( unk );
+  }
+//    X handleAssoc;   //X
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+//    RS crc;   //RS */
+  return buf->isGood();
+}
+
+void DRW_Insert::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 2:
+      name = reader->getUtf8String();
+      break;
+    case 41:
+      xscale = reader->getDouble();
+      break;
+    case 42:
+      yscale = reader->getDouble();
+      break;
+    case 43:
+      zscale = reader->getDouble();
+      break;
+    case 50:
+      angle = reader->getDouble();
+      angle = angle / ARAD; //convert to radian
+      break;
+    case 70:
+      colcount = reader->getInt32();
+      break;
+    case 71:
+      rowcount = reader->getInt32();
+      break;
+    case 44:
+      colspace = reader->getDouble();
+      break;
+    case 45:
+      rowspace = reader->getDouble();
+      break;
+    default:
+      DRW_Point::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Insert::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dint32 objCount = 0;
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "************************** parsing insert/minsert *****************************************" );
+
+  basePoint.x = buf->getBitDouble();
+  basePoint.y = buf->getBitDouble();
+  basePoint.z = buf->getBitDouble();
+
+  QgsDebugMsg( QString( "insertion point:%1" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+             );
+
+  if ( version < DRW::AC1015 )  //14-
+  {
+    xscale = buf->getBitDouble();
+    yscale = buf->getBitDouble();
+    zscale = buf->getBitDouble();
+  }
+  else
+  {
+    duint8 dataFlags = buf->get2Bits();
+    if ( dataFlags == 3 )
+    {
+      //none default value 1,1,1
+    }
+    else if ( dataFlags == 1 )  //x default value 1, y & z can be x value
+    {
+      yscale = buf->getDefaultDouble( xscale );
+      zscale = buf->getDefaultDouble( xscale );
+    }
+    else if ( dataFlags == 2 )
+    {
+      xscale = buf->getRawDouble();
+      yscale = zscale = xscale;
+    }
+    else   //dataFlags == 0
+    {
+      xscale = buf->getRawDouble();
+      yscale = buf->getDefaultDouble( xscale );
+      zscale = buf->getDefaultDouble( xscale );
+    }
+  }
+
+  angle = buf->getBitDouble();
+  extPoint = buf->getExtrusion( false ); //3BD R14 style
+
+  QgsDebugMsg( QString( "scale:%1, angle:%2 extrusion:%3" )
+               .arg( QString( "%1,%2,%3" ).arg( xscale ).arg( yscale ).arg( zscale ) )
+               .arg( angle )
+               .arg( QString( "%1,%2,%3" ).arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z ) )
+             );
+
+  bool hasAttrib = buf->getBit();
+
+  QgsDebugMsg( QString( "   has Attrib:%1" ).arg( hasAttrib ) );
+
+  if ( hasAttrib && version > DRW::AC1015 )  //2004+
+  {
+    objCount = buf->getBitLong();
+    Q_UNUSED( objCount );
+    QgsDebugMsg( QString( "objCount:%1" ).arg( objCount ) );
+  }
+  if ( oType == 8 )  //entity are minsert
+  {
+    colcount = buf->getBitShort();
+    rowcount = buf->getBitShort();
+    colspace = buf->getBitDouble();
+    rowspace = buf->getBitDouble();
+  }
+
+  QgsDebugMsg( QString( "   Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  blockRecH = buf->getHandle(); /* H 2 BLOCK HEADER (hard pointer) */
+
+  QgsDebugMsg( QString( "   BLOCK HEADER Handle: %1.%2 0x%3, remaining bytes %4" )
+               .arg( blockRecH.code ).arg( blockRecH.size ).arg( blockRecH.ref, 0, 16 )
+               .arg( buf->numRemainingBytes() )
+             );
+
+  // attribs follows
+  if ( hasAttrib )
+  {
+    if ( version < DRW::AC1018 )  //2000-
+    {
+      dwgHandle attH = buf->getHandle(); /* H 2 BLOCK HEADER (hard pointer) */
+
+      QgsDebugMsg( QString( "   first attrib handle: %1.%2 0x%3" )
+                   .arg( attH.code ).arg( attH.size ).arg( attH.ref, 0, 16 )
+                 );
+
+      attH = buf->getHandle(); /* H 2 BLOCK HEADER (hard pointer) */
+
+      QgsDebugMsg( QString( "   second attrib handle: %1.%2 0x%3" )
+                   .arg( attH.code ).arg( attH.size ).arg( attH.ref, 0, 16 )
+                 );
+    }
+    else
+    {
+      for ( duint8 i = 0; i < objCount; ++i )
+      {
+        dwgHandle attH = buf->getHandle(); /* H 2 BLOCK HEADER (hard pointer) */
+        QgsDebugMsg( QString( "   attrib handle #%1: %2.%3 0x%4" )
+                     .arg( i ).arg( attH.code ).arg( attH.size ).arg( attH.ref, 0, 16 )
+                   );
+      }
+    }
+    seqendH = buf->getHandle(); /* H 2 BLOCK HEADER (hard pointer) */
+
+    QgsDebugMsg( QString( "   seqend handle: %1.%2 0x%3" )
+                 .arg( seqendH.code ).arg( seqendH.size ).arg( seqendH.ref, 0, 16 )
+               );
+  }
+
+  QgsDebugMsg( QString( "   Remaining bytes:%1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( !ret )
+    return ret;
+
+  //    RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+void DRW_LWPolyline::applyExtrusion()
+{
+  if ( haveExtrusion )
+  {
+    calculateAxis( extPoint );
+    for ( unsigned int i = 0; i < vertlist.size(); i++ )
+    {
+      DRW_Vertex2D *vert = vertlist.at( i );
+      DRW_Coord v( vert->x, vert->y, elevation );
+      extrudePoint( extPoint, &v );
+      vert->x = v.x;
+      vert->y = v.y;
+    }
+  }
+}
+
+void DRW_LWPolyline::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 10:
+    {
+      vertex = new DRW_Vertex2D();
+      vertlist.push_back( vertex );
+      vertex->x = reader->getDouble();
+      break;
+    }
+    case 20:
+      if ( vertex )
+        vertex->y = reader->getDouble();
+      break;
+    case 40:
+      if ( vertex )
+        vertex->stawidth = reader->getDouble();
+      break;
+    case 41:
+      if ( vertex )
+        vertex->endwidth = reader->getDouble();
+      break;
+    case 42:
+      if ( vertex )
+        vertex->bulge = reader->getDouble();
+      break;
+    case 38:
+      elevation = reader->getDouble();
+      break;
+    case 39:
+      thickness = reader->getDouble();
+      break;
+    case 43:
+      width = reader->getDouble();
+      break;
+    case 70:
+      flags = reader->getInt32();
+      break;
+    case 90:
+      vertexnum = reader->getInt32();
+      RESERVE( vertlist, vertexnum );
+      break;
+    case 210:
+      haveExtrusion = true;
+      extPoint.x = reader->getDouble();
+      break;
+    case 220:
+      extPoint.y = reader->getDouble();
+      break;
+    case 230:
+      extPoint.z = reader->getDouble();
+      break;
+    default:
+      DRW_Entity::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_LWPolyline::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing LWPolyline *******************************************" );
+
+  flags = buf->getBitShort();
+  QgsDebugMsg( QString( "flags value:0x%1" ).arg( flags, 0, 16 ) );
+
+  if ( flags & 4 )
+    width = buf->getBitDouble();
+  if ( flags & 8 )
+    elevation = buf->getBitDouble();
+  if ( flags & 2 )
+    thickness = buf->getBitDouble();
+  if ( flags & 1 )
+    extPoint = buf->getExtrusion( false );
+
+  vertexnum = buf->getBitLong();
+  RESERVE( vertlist, vertexnum );
+  unsigned int bulgesnum = 0;
+  if ( flags & 16 )
+    bulgesnum = buf->getBitLong();
+  int vertexIdCount = 0;
+  if ( version > DRW::AC1021 )  //2010+
+  {
+    if ( flags & 1024 )
+      vertexIdCount = buf->getBitLong();
+  }
+
+  unsigned int widthsnum = 0;
+  if ( flags & 32 )
+    widthsnum = buf->getBitLong();
+
+  QgsDebugMsg( QString( "vertex num:%1, bulges num:%2, vertexIdCount:%3,  widths num:%4" )
+               .arg( vertexnum ).arg( bulgesnum ).arg( vertexIdCount ).arg( widthsnum )
+             );
+
+  //clear all bit except 128 = plinegen and set 1 to open/close //RLZ:verify plinegen & open
+  //dxf: plinegen 128 & open 1
+  flags = ( flags & 512 ) ? ( flags | 1 ) : ( flags | 0 );
+  flags &= 129;
+
+  QgsDebugMsg( QString( "end flags value:0x%1" ).arg( flags, 0, 16 ) );
+
+  if ( vertexnum > 0 ) //verify if is lwpol without vertex (empty)
+  {
+    // add vertexs
+    vertex = new DRW_Vertex2D();
+    vertex->x = buf->getRawDouble();
+    vertex->y = buf->getRawDouble();
+    vertlist.push_back( vertex );
+    DRW_Vertex2D* pv = vertex;
+    for ( std::vector<DRW_Vertex2D *>::size_type i = 1; i < vertexnum; i++ )
+    {
+      vertex = new DRW_Vertex2D();
+      if ( version < DRW::AC1015 )  //14-
+      {
+        vertex->x = buf->getRawDouble();
+        vertex->y = buf->getRawDouble();
+      }
+      else
+      {
+        vertex->x = buf->getDefaultDouble( pv->x );
+        vertex->y = buf->getDefaultDouble( pv->y );
+      }
+      pv = vertex;
+      vertlist.push_back( vertex );
+    }
+    //add bulges
+    for ( unsigned int i = 0; i < bulgesnum; i++ )
+    {
+      double bulge = buf->getBitDouble();
+      if ( vertlist.size() > i )
+        vertlist.at( i )->bulge = bulge;
+    }
+    //add vertexId
+    if ( version > DRW::AC1021 )  //2010+
+    {
+      for ( int i = 0; i < vertexIdCount; i++ )
+      {
+        dint32 vertexId = buf->getBitLong();
+        //TODO implement vertexId, do not exist in dxf
+        DRW_UNUSED( vertexId );
+#if 0
+        if ( vertlist.size() < i )
+          vertlist.at( i )->vertexId = vertexId;
+#endif
+      }
+    }
+    //add widths
+    for ( unsigned int i = 0; i < widthsnum; i++ )
+    {
+      double staW = buf->getBitDouble();
+      double endW = buf->getBitDouble();
+      if ( i < vertlist.size() )
+      {
+        vertlist.at( i )->stawidth = staW;
+        vertlist.at( i )->endwidth = endW;
+      }
+    }
+  }
+
+  QgsDebugMsgLevel( "Vertex list: ", 5 );
+  for ( std::vector<DRW_Vertex2D *>::iterator it = vertlist.begin() ; it != vertlist.end(); ++it )
+  {
+    DRW_Vertex2D* pv = *it;
+
+    QgsDebugMsgLevel( QString( "x:%1 y:%2 bulge:%3 stawidth:%4 endwidth:%5" )
+                      .arg( pv->x ).arg( pv->y )
+                      .arg( pv->bulge )
+                      .arg( pv->stawidth )
+                      .arg( pv->endwidth ), 5
+                    );
+    Q_UNUSED( pv );
+  }
+
+  // Common Entity Handle Data
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  // CRC X
+
+  return buf->isGood();
+}
+
+
+void DRW_Text::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 40:
+      height = reader->getDouble();
+      break;
+    case 41:
+      widthscale = reader->getDouble();
+      break;
+    case 50:
+      angle = reader->getDouble();
+      break;
+    case 51:
+      oblique = reader->getDouble();
+      break;
+    case 71:
+      textgen = reader->getInt32();
+      break;
+    case 72:
+      alignH = ( HAlign )reader->getInt32();
+      break;
+    case 73:
+      alignV = ( VAlign )reader->getInt32();
+      break;
+    case 1:
+      text = reader->getUtf8String();
+      break;
+    case 7:
+      style = reader->getUtf8String();
+      break;
+    default:
+      DRW_Line::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Text::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing text *********************************************" );
+
+// DataFlags RC Used to determine presence of subsquent data, set to 0xFF for R14-
+  duint8 data_flags = 0x00;
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    data_flags = buf->getRawChar8(); /* DataFlags RC Used to determine presence of subsquent data */
+
+    QgsDebugMsg( QString( "data_flags:%1" ).arg( data_flags, 0, 16 ) );
+
+    if ( !( data_flags & 0x01 ) ) /* Elevation RD --- present if !(DataFlags & 0x01) */
+    {
+      basePoint.z = buf->getRawDouble();
+    }
+  }
+  else  //14-
+  {
+    basePoint.z = buf->getBitDouble(); /* Elevation BD --- */
+  }
+  basePoint.x = buf->getRawDouble(); /* Insertion pt 2RD 10 */
+  basePoint.y = buf->getRawDouble();
+
+  QgsDebugMsg( QString( "Insert point:%1" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+             );
+
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    if ( !( data_flags & 0x02 ) ) /* Alignment pt 2DD 11 present if !(DataFlags & 0x02), use 10 & 20 values for 2 default values.*/
+    {
+      secPoint.x = buf->getDefaultDouble( basePoint.x );
+      secPoint.y = buf->getDefaultDouble( basePoint.y );
+    }
+    else
+    {
+      secPoint = basePoint;
+    }
+  }
+  else  //14-
+  {
+    secPoint.x = buf->getRawDouble();  /* Alignment pt 2RD 11 */
+    secPoint.y = buf->getRawDouble();
+  }
+  secPoint.z = basePoint.z;
+  extPoint = buf->getExtrusion( version > DRW::AC1014 );
+  thickness = buf->getThickness( version > DRW::AC1014 ); /* Thickness BD 39 */
+
+  QgsDebugMsg( QString( "alignment:%1 extrusion:%2" )
+               .arg( QString( "%1,%2,%3" ).arg( secPoint.x ).arg( secPoint.y ).arg( secPoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z ) )
+             );
+
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    if ( !( data_flags & 0x04 ) ) /* Oblique ang RD 51 present if !(DataFlags & 0x04) */
+    {
+      oblique = buf->getRawDouble();
+    }
+    if ( !( data_flags & 0x08 ) ) /* Rotation ang RD 50 present if !(DataFlags & 0x08) */
+    {
+      angle = buf->getRawDouble();
+    }
+    height = buf->getRawDouble(); /* Height RD 40 */
+    if ( !( data_flags & 0x10 ) ) /* Width factor RD 41 present if !(DataFlags & 0x10) */
+    {
+      widthscale = buf->getRawDouble();
+    }
+  }
+  else  //14-
+  {
+    oblique = buf->getBitDouble(); /* Oblique ang BD 51 */
+    angle = buf->getBitDouble(); /* Rotation ang BD 50 */
+    height = buf->getBitDouble(); /* Height BD 40 */
+    widthscale = buf->getBitDouble(); /* Width factor BD 41 */
+  }
+
+  QgsDebugMsg( QString( "thickness:%1, Oblique ang:%2, Width:%3, rotation:%4, height:%5" )
+               .arg( thickness ).arg( oblique ).arg( widthscale ).arg( angle ).arg( height )
+             );
+
+  text = sBuf->getVariableText( version, false ); /* Text value TV 1 */
+
+  QgsDebugMsg( QString( "text string:%1" ).arg( text.c_str() ) );
+
+  //textgen, alignH, alignV always present in R14-, data_flags set in initialisation
+  if ( !( data_flags & 0x20 ) ) /* Generation BS 71 present if !(DataFlags & 0x20) */
+  {
+    textgen = buf->getBitShort();
+    QgsDebugMsg( QString( "textgen:%1" ).arg( textgen ) );
+  }
+  if ( !( data_flags & 0x40 ) ) /* Horiz align. BS 72 present if !(DataFlags & 0x40) */
+  {
+    alignH = ( HAlign )buf->getBitShort();
+    QgsDebugMsg( QString( "alignH:%1" ).arg( alignH ) );
+  }
+  if ( !( data_flags & 0x80 ) ) /* Vert align. BS 73 present if !(DataFlags & 0x80) */
+  {
+    alignV = ( VAlign )buf->getBitShort();
+    QgsDebugMsg( QString( "alignV:%1" ).arg( alignV ) );
+  }
+
+  /* Common Entity Handle Data */
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  styleH = buf->getHandle(); /* H 7 STYLE (hard pointer) */
+
+  QgsDebugMsg( QString( "text style Handle:%1.%2 0x%3" )
+               .arg( styleH.code ).arg( styleH.size ).arg( styleH.ref, 0, 16 )
+             );
+
+  /* CRC X --- */
+  return buf->isGood();
+}
+
+void DRW_MText::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 1:
+      text += reader->getString();
+      text = reader->toUtf8String( text );
+      break;
+    case 11:
+      haveXAxis = true;
+      DRW_Text::parseCode( code, reader );
+      break;
+    case 3:
+      text += reader->getString();
+      break;
+    case 44:
+      interlin = reader->getDouble();
+      break;
+    default:
+      DRW_Text::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_MText::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing mtext *********************************************" );
+
+  basePoint = buf->get3BitDouble(); /* Insertion pt 3BD 10 - First picked point. */
+
+  QgsDebugMsg( QString( "insertion:%1" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+             );
+
+  extPoint = buf->get3BitDouble(); /* Extrusion 3BD 210 Undocumented; */
+  secPoint = buf->get3BitDouble(); /* X-axis dir 3BD 11 */
+  updateAngle();
+  widthscale = buf->getBitDouble(); /* Rect width BD 41 */
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    /* Rect height BD 46 Reference rectangle height. */
+    /** @todo */
+    buf->getBitDouble();
+  }
+  height = buf->getBitDouble();/* Text height BD 40 Undocumented */
+  textgen = buf->getBitShort(); /* Attachment BS 71 Similar to justification; */
+  /* Drawing dir BS 72 Left to right, etc.; see DXF doc */
+  dint16 draw_dir = buf->getBitShort();
+  DRW_UNUSED( draw_dir );
+  /* Extents ht BD Undocumented and not present in DXF or entget */
+  double ext_ht = buf->getBitDouble();
+  DRW_UNUSED( ext_ht );
+  /* Extents wid BD Undocumented and not present in DXF or entget The extents
+  rectangle, when rotated the same as the text, fits the actual text image on
+  the screen (altough we've seen it include an extra row of text in height). */
+  double ext_wid = buf->getBitDouble();
+  DRW_UNUSED( ext_wid );
+  /* Text TV 1 All text in one long string (without '\n's 3 for line wrapping).
+  ACAD seems to add braces ({ }) and backslash-P's to indicate paragraphs
+  based on the "\r\n"'s found in the imported file. But, all the text is in
+  this one long string -- not broken into 1- and 3-groups as in DXF and
+  entget. ACAD's entget breaks this string into 250-char pieces (not 255 as
+  doc'd) – even if it's mid-word. The 1-group always gets the tag end;
+  therefore, the 3's are always 250 chars long. */
+  text = sBuf->getVariableText( version, false ); /* Text value TV 1 */
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    buf->getBitShort();/* Linespacing Style BS 73 */
+    interlin = buf->getBitDouble();/* Linespacing Factor BD 44 */
+    buf->getBit();/* Unknown bit B */
+  }
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    /* Background flags BL 0 = no background, 1 = background fill, 2 =background
+    fill with drawing fill color. */
+    dint32 bk_flags = buf->getBitLong(); /** @todo add to DRW_MText */
+    if ( bk_flags == 1 )
+    {
+      /* Background scale factor BL Present if background flags = 1, default = 1.5*/
+      buf->getBitLong();
+      /* Background color CMC Present if background flags = 1 */
+      buf->getCmColor( version ); //RLZ: warning CMC or ENC
+      /** @todo buf->getCMC */
+      /* Background transparency BL Present if background flags = 1 */
+      buf->getBitLong();
+    }
+  }
+
+  /* Common Entity Handle Data */
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  styleH = buf->getHandle(); /* H 7 STYLE (hard pointer) */
+
+  QgsDebugMsg( QString( "text style Handle:%1.%2 0x%3" )
+               .arg( styleH.code ).arg( styleH.size ).arg( styleH.ref, 0, 16 )
+             );
+
+  /* CRC X --- */
+  return buf->isGood();
+}
+
+void DRW_MText::updateAngle()
+{
+  if ( haveXAxis )
+  {
+    angle = atan2( secPoint.y, secPoint.x ) * 180 / M_PI;
+  }
+}
+
+void DRW_Polyline::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 70:
+      flags = reader->getInt32();
+      break;
+    case 40:
+      defstawidth = reader->getDouble();
+      break;
+    case 41:
+      defendwidth = reader->getDouble();
+      break;
+    case 71:
+      vertexcount = reader->getInt32();
+      break;
+    case 72:
+      facecount = reader->getInt32();
+      break;
+    case 73:
+      smoothM = reader->getInt32();
+      break;
+    case 74:
+      smoothN = reader->getInt32();
+      break;
+    case 75:
+      curvetype = reader->getInt32();
+      break;
+    default:
+      DRW_Point::parseCode( code, reader );
+      break;
+  }
+}
+
+//0x0F polyline 2D bit 4(8) & 5(16) NOT set
+//0x10 polyline 3D bit 4(8) set
+//0x1D PFACE bit 5(16) set
+bool DRW_Polyline::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing polyline *********************************************" );
+
+  dint32 ooCount = 0;
+  if ( oType == 0x0F ) //pline 2D
+  {
+    flags = buf->getBitShort();
+    QgsDebugMsg( QString( "flags value:0x%1" ).arg( flags, 0, 16 ) );
+    curvetype = buf->getBitShort();
+    defstawidth = buf->getBitDouble();
+    defendwidth = buf->getBitDouble();
+    thickness = buf->getThickness( version > DRW::AC1014 );
+    basePoint = DRW_Coord( 0, 0, buf->getBitDouble() );
+    extPoint = buf->getExtrusion( version > DRW::AC1014 );
+  }
+  else if ( oType == 0x10 ) //pline 3D
+  {
+    duint8 tmpFlag = buf->getRawChar8();
+    QgsDebugMsg( QString( "flags 1 value:0x%1" ).arg( tmpFlag, 0, 16 ) );
+    if ( tmpFlag & 1 )
+      curvetype = 5;
+    else if ( tmpFlag & 2 )
+      curvetype = 6;
+    if ( tmpFlag & 3 )
+    {
+      curvetype = 8;
+      flags |= 4;
+    }
+    tmpFlag = buf->getRawChar8();
+    if ( tmpFlag & 1 )
+      flags |= 1;
+    flags |= 8; //indicate 3DPOL
+    QgsDebugMsg( QString( "flags 2 value:0x%1" ).arg( tmpFlag, 0, 16 ) );
+  }
+  else if ( oType == 0x1D ) //PFACE
+  {
+    flags = 64;
+    vertexcount = buf->getBitShort();
+    facecount = buf->getBitShort();
+    QgsDebugMsg( QString( "vertex count:%1 face count:%2 flags value:0x%3" )
+                 .arg( vertexcount ).arg( facecount ).arg( flags, 0, 16 )
+               );
+  }
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    ooCount = buf->getBitLong();
+  }
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  if ( version < DRW::AC1018 )  //2000-
+  {
+    dwgHandle objectH = buf->getOffsetHandle( handle );
+    firstEH = objectH.ref;
+    QgsDebugMsg( QString( "first vertex handle:%1.%2 0x%3" )
+                 .arg( objectH.code ).arg( objectH.size ).arg( objectH.ref, 0, 16 )
+               );
+
+    objectH = buf->getOffsetHandle( handle );
+    lastEH = objectH.ref;
+
+    QgsDebugMsg( QString( "last vertex:%1, remaining bytes %2" )
+                 .arg( QString( "%1.%2 0x%3" ).arg( objectH.code ).arg( objectH.size ).arg( objectH.ref, 0, 16 ) )
+                 .arg( buf->numRemainingBytes() )
+               );
+  }
+  else
+  {
+    for ( dint32 i = 0; i < ooCount; ++i )
+    {
+      dwgHandle objectH = buf->getOffsetHandle( handle );
+      handleList.push_back( objectH.ref );
+
+      QgsDebugMsg( QString( "vertex handle:%1, remaining bytes %2" )
+                   .arg( QString( "%1.%2 0x%3" ).arg( objectH.code ).arg( objectH.size ).arg( objectH.ref, 0, 16 ) )
+                   .arg( buf->numRemainingBytes() )
+                 );
+    }
+  }
+  seqEndH = buf->getOffsetHandle( handle );
+
+  QgsDebugMsg( QString( "SEQEND handle:%1 remaining bytes %2" )
+               .arg( QString( "%1.%2 0x%3" ).arg( seqEndH.code ).arg( seqEndH.size ).arg( seqEndH.ref, 0, 16 ) )
+               .arg( buf->numRemainingBytes() )
+             );
+
+  // RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+void DRW_Vertex::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 70:
+      flags = reader->getInt32();
+      break;
+    case 40:
+      stawidth = reader->getDouble();
+      break;
+    case 41:
+      endwidth = reader->getDouble();
+      break;
+    case 42:
+      bulge = reader->getDouble();
+      break;
+    case 50:
+      tgdir = reader->getDouble();
+      break;
+    case 71:
+      vindex1 = reader->getInt32();
+      break;
+    case 72:
+      vindex2 = reader->getInt32();
+      break;
+    case 73:
+      vindex3 = reader->getInt32();
+      break;
+    case 74:
+      vindex4 = reader->getInt32();
+      break;
+    case 91:
+      identifier = reader->getInt32();
+      break;
+    default:
+      DRW_Point::parseCode( code, reader );
+      break;
+  }
+}
+
+//0x0A vertex 2D
+//0x0B vertex 3D
+//0x0C MESH
+//0x0D PFACE
+//0x0E PFACE FACE
+bool DRW_Vertex::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs, double el )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing pline Vertex *********************************************" );
+
+  if ( oType == 0x0A ) //pline 2D, needed example
+  {
+    flags = buf->getRawChar8(); //RLZ: EC  unknown type
+    basePoint = buf->get3BitDouble();
+    basePoint.z = el;
+
+    QgsDebugMsg( QString( " flags value:0x%1 basePoint:%2" )
+                 .arg( flags, 0, 16 )
+                 .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               );
+
+    stawidth = buf->getBitDouble();
+    if ( stawidth < 0 )
+      endwidth = stawidth = fabs( stawidth );
+    else
+      endwidth = buf->getBitDouble();
+    bulge = buf->getBitDouble();
+    if ( version > DRW::AC1021 ) //2010+
+    {
+      dint32 id = buf->getBitLong();
+      QgsDebugMsg( QString( " Vertex ID:%1" ).arg( id ) );
+      Q_UNUSED( id );
+    }
+    tgdir = buf->getBitDouble();
+  }
+  else if ( oType == 0x0B || oType == 0x0C || oType == 0x0D ) //PFACE
+  {
+    flags = buf->getRawChar8(); //RLZ: EC  unknown type
+    basePoint = buf->get3BitDouble();
+
+    QgsDebugMsg( QString( " flags value:0x%1 basePoint:%2" )
+                 .arg( flags, 0, 16 )
+                 .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               );
+  }
+  else if ( oType == 0x0E ) //PFACE FACE
+  {
+    vindex1 = buf->getBitShort();
+    vindex2 = buf->getBitShort();
+    vindex3 = buf->getBitShort();
+    vindex4 = buf->getBitShort();
+  }
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  // RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+void DRW_Hatch::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 2:
+      name = reader->getUtf8String();
+      break;
+    case 70:
+      solid = reader->getInt32();
+      break;
+    case 71:
+      associative = reader->getInt32();
+      break;
+    case 72:        /*edge type*/
+      if ( ispol )  //if is polyline is a as_bulge flag
+      {
+        break;
+      }
+      else if ( reader->getInt32() == 1 )  //line
+      {
+        addLine();
+      }
+      else if ( reader->getInt32() == 2 )  //arc
+      {
+        addArc();
+      }
+      else if ( reader->getInt32() == 3 )  //elliptic arc
+      {
+        addEllipse();
+      }
+      else if ( reader->getInt32() == 4 )  //spline
+      {
+        addSpline();
+      }
+      break;
+    case 10:
+      if ( pt ) pt->basePoint.x = reader->getDouble();
+      else if ( pline )
+      {
+        plvert = pline->addVertex();
+        plvert->x = reader->getDouble();
+      }
+      break;
+    case 20:
+      if ( pt ) pt->basePoint.y = reader->getDouble();
+      else if ( plvert ) plvert ->y = reader->getDouble();
+      break;
+    case 11:
+      if ( line ) line->secPoint.x = reader->getDouble();
+      else if ( ellipse ) ellipse->secPoint.x = reader->getDouble();
+      break;
+    case 21:
+      if ( line ) line->secPoint.y = reader->getDouble();
+      else if ( ellipse ) ellipse->secPoint.y = reader->getDouble();
+      break;
+    case 40:
+      if ( arc ) arc->mRadius = reader->getDouble();
+      else if ( ellipse ) ellipse->ratio = reader->getDouble();
+      break;
+    case 41:
+      scale = reader->getDouble();
+      break;
+    case 42:
+      if ( plvert ) plvert ->bulge = reader->getDouble();
+      break;
+    case 50:
+      if ( arc ) arc->staangle = reader->getDouble() / ARAD;
+      else if ( ellipse ) ellipse->staparam = reader->getDouble() / ARAD;
+      break;
+    case 51:
+      if ( arc ) arc->endangle = reader->getDouble() / ARAD;
+      else if ( ellipse ) ellipse->endparam = reader->getDouble() / ARAD;
+      break;
+    case 52:
+      angle = reader->getDouble();
+      break;
+    case 73:
+      if ( arc ) arc->isccw = reader->getInt32();
+      else if ( pline ) pline->flags = reader->getInt32();
+      break;
+    case 75:
+      hstyle = reader->getInt32();
+      break;
+    case 76:
+      hpattern = reader->getInt32();
+      break;
+    case 77:
+      doubleflag = reader->getInt32();
+      break;
+    case 78:
+      deflines = reader->getInt32();
+      break;
+    case 91:
+      loopsnum = reader->getInt32();
+      RESERVE( looplist, loopsnum );
+      break;
+    case 92:
+      loop = new DRW_HatchLoop( reader->getInt32() );
+      looplist.push_back( loop );
+      if ( reader->getInt32() & 2 )
+      {
+        ispol = true;
+        clearEntities();
+        pline = new DRW_LWPolyline;
+        loop->objlist.push_back( pline );
+      }
+      else ispol = false;
+      break;
+    case 93:
+      if ( pline )
+        pline->vertexnum = reader->getInt32();
+      else
+        loop->numedges = reader->getInt32();//aqui reserve
+      break;
+    case 98: //seed points ??
+      clearEntities();
+      break;
+    default:
+      DRW_Point::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Hatch::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  duint32 totalBoundItems = 0;
+  bool hasPixelSize = false;
+
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing hatch *********************************************" );
+
+  //Gradient data, RLZ: is ok or if grad > 0 continue read ?
+  if ( version > DRW::AC1015 ) //2004+
+  {
+    dint32 isGradient = buf->getBitLong();
+    dint32 res = buf->getBitLong();
+    double gradAngle = buf->getBitDouble();
+    double gradShift = buf->getBitDouble();
+    dint32 singleCol = buf->getBitLong();
+    double gradTint = buf->getBitDouble();
+    dint32 numCol = buf->getBitLong();
+
+    QgsDebugMsg( QString( "is Gradient:%1 reserved:%2 Gradient angle:%3 Gradient shift:%4 single color Grad:%5 Gradient tint:%6, num colors:%7" )
+                 .arg( isGradient )
+                 .arg( res )
+                 .arg( gradAngle )
+                 .arg( gradShift )
+                 .arg( singleCol )
+                 .arg( gradTint )
+                 .arg( numCol )
+               );
+    Q_UNUSED( isGradient );
+    Q_UNUSED( res );
+    Q_UNUSED( gradAngle );
+    Q_UNUSED( gradShift );
+    Q_UNUSED( singleCol );
+    Q_UNUSED( gradTint );
+
+    for ( dint32 i = 0 ; i < numCol; ++i )
+    {
+      double unkDouble = buf->getBitDouble();
+      duint16 unkShort = buf->getBitShort();
+      dint32 rgbCol = buf->getBitLong();
+      duint8 ignCol = buf->getRawChar8();
+
+      QgsDebugMsg( QString( "unkDouble:%1 unkShort:%2 rgbcolor:%3 ignoredcolor:%4" )
+                   .arg( unkDouble ).arg( unkShort )
+                   .arg( rgbCol )
+                   .arg( ignCol )
+                 );
+      Q_UNUSED( unkDouble );
+      Q_UNUSED( unkShort );
+      Q_UNUSED( rgbCol );
+      Q_UNUSED( ignCol );
+    }
+    UTF8STRING gradName = sBuf->getVariableText( version, false );
+    QgsDebugMsg( QString( "gradient name:%1" ).arg( gradName.c_str() ) );
+    Q_UNUSED( gradName );
+  }
+  basePoint.z = buf->getBitDouble();
+  extPoint = buf->get3BitDouble();
+  name = sBuf->getVariableText( version, false );
+  solid = buf->getBit();
+  associative = buf->getBit();
+  loopsnum = buf->getBitLong();
+
+  QgsDebugMsg( QString( "base point:%1, extrusion:%2, pattern:%3, solid:%4 associative:%5 loops:%6" )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z ) )
+               .arg( name.c_str() )
+               .arg( solid )
+               .arg( associative )
+               .arg( loopsnum )
+             );
+
+  //read loops
+  for ( std::vector<DRW_HatchLoop *>::size_type i = 0 ; i < loopsnum && buf->isGood(); ++i )
+  {
+    loop = new DRW_HatchLoop( buf->getBitLong() );
+    QgsDebugMsg( QString( " type: %1" ).arg( loop->type ) );
+    hasPixelSize |= ( loop->type & 4 ) != 0;
+    if ( !( loop->type & 2 ) )  //Not polyline
+    {
+      dint32 numPathSeg = buf->getBitLong();
+
+      QgsDebugMsg( QString( "segs: %1" ).arg( numPathSeg ) );
+
+      for ( dint32 j = 0; j < numPathSeg; ++j )
+      {
+        duint8 typePath = buf->getRawChar8();
+        QgsDebugMsg( QString( "  typepath: %1" ).arg( typePath ) );
+        if ( typePath == 1 )  //line
+        {
+          addLine();
+          line->basePoint = buf->get2RawDouble();
+          line->secPoint = buf->get2RawDouble();
+        }
+        else if ( typePath == 2 )  //circle arc
+        {
+          addArc();
+          arc->basePoint = buf->get2RawDouble();
+          arc->mRadius = buf->getBitDouble();
+          arc->staangle = buf->getBitDouble();
+          arc->endangle = buf->getBitDouble();
+          arc->isccw = buf->getBit();
+        }
+        else if ( typePath == 3 )  //ellipse arc
+        {
+          addEllipse();
+          ellipse->basePoint = buf->get2RawDouble();
+          ellipse->secPoint = buf->get2RawDouble();
+          ellipse->ratio = buf->getBitDouble();
+          ellipse->staparam = buf->getBitDouble();
+          ellipse->endparam = buf->getBitDouble();
+          ellipse->isccw = buf->getBit();
+        }
+        else if ( typePath == 4 )  //spline
+        {
+          addSpline();
+          spline->degree = buf->getBitLong();
+          bool isRational = buf->getBit();
+          spline->flags |= ( isRational << 2 ); //rational
+          spline->flags |= ( buf->getBit() << 1 ); //periodic
+          spline->nknots = buf->getBitLong();
+          spline->ncontrol = buf->getBitLong();
+
+          QgsDebugMsg( QString( "  degree:%1 flags:0x%2 nknots:%3 ncontrol:%4" )
+                       .arg( spline->degree ).arg( spline->flags, 0, 16 )
+                       .arg( spline->nknots ).arg( spline->ncontrol )
+                     );
+          RESERVE( spline->knotslist, spline->nknots );
+          for ( dint32 j = 0; j < spline->nknots; ++j )
+          {
+            spline->knotslist.push_back( buf->getBitDouble() );
+            QgsDebugMsg( QString( "  knot %1: %2" ).arg( j )
+                         .arg( spline->knotslist.back() )
+                       );
+          }
+          RESERVE( spline->controllist, spline->ncontrol );
+          for ( dint32 j = 0; j < spline->ncontrol && buf->isGood(); ++j )
+          {
+            DRW_Coord* crd = new DRW_Coord( buf->get2RawDouble() );
+            spline->controllist.push_back( crd );
+            if ( isRational )
+              crd->z = buf->getBitDouble(); //RLZ: investigate how store weight
+            spline->controllist.push_back( crd );
+            QgsDebugMsg( QString( "  control %1: %2" )
+                         .arg( j )
+                         .arg( QString( "%1,%2,%3" ).arg( crd->x ).arg( crd->y ).arg( crd->z ) )
+                       );
+          }
+          if ( version > DRW::AC1021 ) //2010+
+          {
+            spline->nfit = buf->getBitLong();
+            QgsDebugMsg( QString( " nfit:%1" ).arg( spline->nfit ) );
+            RESERVE( spline->fitlist, spline->nfit );
+            for ( dint32 j = 0; j < spline->nfit && buf->isGood(); ++j )
+            {
+              DRW_Coord* crd = new DRW_Coord( buf->get2RawDouble() );
+              spline->fitlist.push_back( crd );
+
+              QgsDebugMsg( QString( "  fit %1: %2" )
+                           .arg( j )
+                           .arg( QString( "%1,%2,%3" ).arg( crd->x ).arg( crd->y ).arg( crd->z ) )
+                         );
+            }
+            spline->tgStart = buf->get2RawDouble();
+            spline->tgEnd = buf->get2RawDouble();
+          }
+        }
+      }
+    }
+    else   //end not pline, start polyline
+    {
+      pline = new DRW_LWPolyline;
+      bool hasBulges = buf->getBit();
+      pline->flags = buf->getBit();//closed bit
+      dint32 numVert = buf->getBitLong();
+
+      QgsDebugMsg( QString( "hasBulge:%1 flags:%2 verts:%3" )
+                   .arg( hasBulges ).arg( pline->flags, 0, 16 ).arg( numVert )
+                 );
+
+      for ( dint32 j = 0; j < numVert && buf->isGood(); ++j )
+      {
+        DRW_Vertex2D v;
+        v.x = buf->getRawDouble();
+        v.y = buf->getRawDouble();
+        if ( hasBulges )
+          v.bulge = buf->getBitDouble();
+        pline->addVertex( v );
+      }
+      loop->objlist.push_back( pline );
+    }//end polyline
+    loop->update();
+    looplist.push_back( loop );
+    totalBoundItems += buf->getBitLong();
+
+    QgsDebugMsg( QString( " totalBoundItems:%1" ).arg( totalBoundItems ) );
+  } //end read loops
+
+  hstyle = buf->getBitShort();
+  hpattern = buf->getBitShort();
+
+  QgsDebugMsg( QString( "hatch style:%1 pattern type:%2" ).arg( hstyle ).arg( hpattern ) );
+  if ( !solid )
+  {
+    angle = buf->getBitDouble();
+    scale = buf->getBitDouble();
+    doubleflag = buf->getBit();
+    deflines = buf->getBitShort();
+
+    QgsDebugMsg( QString( "angle:%1 scale:%2 double:%3 deflines:%4" )
+                 .arg( angle ).arg( scale )
+                 .arg( doubleflag ).arg( deflines )
+               );
+    Q_UNUSED( angle );
+    Q_UNUSED( scale );
+
+    for ( dint32 i = 0 ; i < deflines && buf->isGood(); ++i )
+    {
+      DRW_Coord ptL, offL;
+      double angleL = buf->getBitDouble();
+      ptL.x = buf->getBitDouble();
+      ptL.y = buf->getBitDouble();
+      offL.x = buf->getBitDouble();
+      offL.y = buf->getBitDouble();
+      duint16 numDashL = buf->getBitShort();
+
+      QgsDebugMsg( QString( "def line: a=%1 pt=%2 off=%3" )
+                   .arg( angleL )
+                   .arg( QString( "%1,%2" ).arg( ptL.x ).arg( ptL.y ) )
+                   .arg( QString( "%1,%2" ).arg( offL.x ).arg( offL.y ) )
+                 );
+      Q_UNUSED( angleL );
+      Q_UNUSED( ptL );
+      Q_UNUSED( offL );
+
+      for ( duint16 j = 0 ; j < numDashL; ++j )
+      {
+        double lengthL = buf->getBitDouble();
+        QgsDebugMsg( QString( " %1: %2" ).arg( j ).arg( lengthL ) );
+        Q_UNUSED( lengthL );
+      }
+    }//end deflines
+  } //end not solid
+
+  if ( hasPixelSize )
+  {
+    ddouble64 pixsize = buf->getBitDouble();
+    QgsDebugMsg( QString( "pixel size:%1" ).arg( pixsize ) );
+    Q_UNUSED( pixsize );
+  }
+
+  dint32 numSeedPoints = buf->getBitLong();
+  QgsDebugMsg( QString( "num Seed Points %1" ).arg( numSeedPoints ) );
+  //read Seed Points
+  DRW_Coord seedPt;
+  for ( dint32 i = 0 ; i < numSeedPoints && buf->isGood(); ++i )
+  {
+    seedPt.x = buf->getRawDouble();
+    seedPt.y = buf->getRawDouble();
+    QgsDebugMsg( QString( " %1: %2,%3" ).arg( i ).arg( seedPt.x ).arg( seedPt.y ) );
+  }
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( QString( "Remaining bytes:%1" ).arg( buf->numRemainingBytes() ) );
+
+  for ( duint32 i = 0 ; i < totalBoundItems && buf->isGood(); ++i )
+  {
+    dwgHandle biH = buf->getHandle();
+    QgsDebugMsg( QString( "Boundary Items Handle:%1.%2 0x%3" ).arg( biH.code ).arg( biH.size ).arg( biH.ref, 0, 16 ) );
+  }
+  QgsDebugMsg( QString( "Remaining bytes:%1" ).arg( buf->numRemainingBytes() ) );
+
+  // RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+void DRW_Spline::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 210:
+      normalVec.x = reader->getDouble();
+      break;
+    case 220:
+      normalVec.y = reader->getDouble();
+      break;
+    case 230:
+      normalVec.z = reader->getDouble();
+      break;
+    case 12:
+      tgStart.x = reader->getDouble();
+      break;
+    case 22:
+      tgStart.y = reader->getDouble();
+      break;
+    case 32:
+      tgStart.z = reader->getDouble();
+      break;
+    case 13:
+      tgEnd.x = reader->getDouble();
+      break;
+    case 23:
+      tgEnd.y = reader->getDouble();
+      break;
+    case 33:
+      tgEnd.z = reader->getDouble();
+      break;
+    case 70:
+      flags = reader->getInt32();
+      break;
+    case 71:
+      degree = reader->getInt32();
+      break;
+    case 72:
+      nknots = reader->getInt32();
+      break;
+    case 73:
+      ncontrol = reader->getInt32();
+      break;
+    case 74:
+      nfit = reader->getInt32();
+      break;
+    case 42:
+      tolknot = reader->getDouble();
+      break;
+    case 43:
+      tolcontrol = reader->getDouble();
+      break;
+    case 44:
+      tolfit = reader->getDouble();
+      break;
+    case 10:
+    {
+      controlpoint = new DRW_Coord();
+      controllist.push_back( controlpoint );
+      controlpoint->x = reader->getDouble();
+      break;
+    }
+    case 20:
+      if ( controlpoint )
+        controlpoint->y = reader->getDouble();
+      break;
+    case 30:
+      if ( controlpoint )
+        controlpoint->z = reader->getDouble();
+      break;
+    case 11:
+    {
+      fitpoint = new DRW_Coord();
+      fitlist.push_back( fitpoint );
+      fitpoint->x = reader->getDouble();
+      break;
+    }
+    case 21:
+      if ( fitpoint )
+        fitpoint->y = reader->getDouble();
+      break;
+    case 31:
+      if ( fitpoint )
+        fitpoint->z = reader->getDouble();
+      break;
+    case 40:
+      knotslist.push_back( reader->getDouble() );
+      break;
+//    case 41:
+//        break;
+    default:
+      DRW_Entity::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Spline::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  bool ret = DRW_Entity::parseDwg( version, buf, nullptr, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing spline *********************************************" );
+
+  duint8 weight = 0; // RLZ ??? flags, weight, code 70, bit 4 (16)
+
+  dint32 scenario = buf->getBitLong();
+
+  QgsDebugMsg( QString( "scenario: %1" ).arg( scenario ) );
+
+  if ( version > DRW::AC1024 )
+  {
+    dint32 splFlag1 = buf->getBitLong();
+    if ( splFlag1 & 1 )
+      scenario = 2;
+    dint32 knotParam = buf->getBitLong();
+
+    QgsDebugMsg( QString( "2013 splFlag1:%1, 2013 knotParam:%2" ).arg( splFlag1 ).arg( knotParam ) );
+    Q_UNUSED( knotParam );
+    // QgsDebugMsg( QString( "unk bit:%1").arg( buf->getBit()) );
+  }
+
+  degree = buf->getBitLong(); //RLZ: code 71, verify with dxf
+  QgsDebugMsg( QString( " degree:%1" ).arg( degree ) );
+
+  if ( scenario == 2 )
+  {
+    flags = 8;//scenario 2 = not rational & planar
+    tolfit = buf->getBitDouble();//BD
+    tgStart = buf->get3BitDouble();
+    tgEnd = buf->get3BitDouble();
+    nfit = buf->getBitLong();
+
+    QgsDebugMsg( QString( "flags: 0x%1, tolfit:%2, tangent start:%3 end:%4 nfit:%5" )
+                 .arg( flags, 0, 16 ).arg( tolfit )
+                 .arg( QString( "%1,%2,%3" ).arg( tgStart.x ).arg( tgStart.y ).arg( tgStart.z ) )
+                 .arg( QString( "%1,%2,%3" ).arg( tgEnd.x ).arg( tgEnd.y ).arg( tgEnd.z ) )
+                 .arg( nfit )
+               );
+  }
+  else if ( scenario == 1 )
+  {
+    flags = 8; //scenario 1 = rational & planar
+    flags |= buf->getBit() << 2; //flags, rational, code 70, bit 2 (4)
+    flags |= buf->getBit(); //flags, closed, code 70, bit 0 (1)
+    flags |= buf->getBit() << 1; //flags, periodic, code 70, bit 1 (2)
+    tolknot = buf->getBitDouble();
+    tolcontrol = buf->getBitDouble();
+    nknots = buf->getBitLong();
+    ncontrol = buf->getBitLong();
+    weight = buf->getBit(); // RLZ ??? flags, weight, code 70, bit 4 (16)
+
+    QgsDebugMsg( QString( "flags:0x%1, knot tolerance:%2, control point tolerance:%3, num knots:%4, num control pt:%5, weight:%6" )
+                 .arg( flags, 0, 16 ).arg( tolknot ).arg( tolcontrol ).arg( nknots ).arg( ncontrol ).arg( weight )
+               );
+  }
+  else
+  {
+    QgsDebugMsg( QString( "spline, unknown scenario %1" ).arg( scenario ) );
+    return false; //RLZ: from doc only 1 or 2 are ok ?
+  }
+
+  RESERVE( knotslist, nknots );
+  for ( dint32 i = 0; i < nknots; ++i )
+  {
+    double d = buf->getBitDouble();
+    knotslist.push_back( d );
+    QgsDebugMsgLevel( QString( "knot %1: %2 rem=%3" )
+                      .arg( i ).arg( d, 0, 'g', 17 ).arg( buf->numRemainingBytes() ), 4
+                    );
+  }
+
+  RESERVE( controllist, ncontrol );
+  for ( dint32 i = 0; i < ncontrol; ++i )
+  {
+    DRW_Coord* crd = new DRW_Coord( buf->get3BitDouble() );
+    controllist.push_back( crd );
+    QgsDebugMsgLevel( QString( "cp %1: %2,%3,%4 rem:%5" )
+                      .arg( i ).arg( crd->x, 0, 'g', 17 ).arg( crd->y, 0, 'g', 17 ).arg( crd->z, 0, 'g', 17 ).arg( buf->numRemainingBytes() ), 4
+                    );
+    if ( weight )
+    {
+      double w = buf->getBitDouble(); //RLZ Warning: D (BD or RD)
+      QgsDebugMsgLevel( QString( "weight %1: %2 rem:%3" )
+                        .arg( i ).arg( w, 0, 'g', 17 ).arg( buf->numRemainingBytes() ), 4
+                      );
+      Q_UNUSED( w );
+    }
+  }
+
+  RESERVE( fitlist, nfit );
+  for ( dint32 i = 0; i < nfit; ++i )
+  {
+    DRW_Coord* crd = new DRW_Coord( buf->get3BitDouble() );
+    fitlist.push_back( crd );
+    QgsDebugMsgLevel( QString( "fp %1: %2,%3,%4 rem:%5" )
+                      .arg( i ).arg( crd->x, 0, 'g', 17 ).arg( crd->y, 0, 'g', 17 ).arg( crd->z, 0, 'g', 17 ).arg( buf->numRemainingBytes() ), 4
+                    );
+  }
+
+  /* Common Entity Handle Data */
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+//    RS crc;   //RS */
+  return buf->isGood();
+}
+
+void DRW_Image::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 12:
+      vVector.x = reader->getDouble();
+      break;
+    case 22:
+      vVector.y = reader->getDouble();
+      break;
+    case 32:
+      vVector.z = reader->getDouble();
+      break;
+    case 13:
+      sizeu = reader->getDouble();
+      break;
+    case 23:
+      sizev = reader->getDouble();
+      break;
+    case 340:
+      ref = reader->getHandleString();
+      break;
+    case 280:
+      clip = reader->getInt32();
+      break;
+    case 281:
+      brightness = reader->getInt32();
+      break;
+    case 282:
+      contrast = reader->getInt32();
+      break;
+    case 283:
+      fade = reader->getInt32();
+      break;
+    default:
+      DRW_Line::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Image::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing image *********************************************" );
+
+  dint32 classVersion = buf->getBitLong();
+  basePoint = buf->get3BitDouble();
+  secPoint = buf->get3BitDouble();
+  vVector = buf->get3BitDouble();
+  sizeu = buf->getRawDouble();
+  sizev = buf->getRawDouble();
+
+  QgsDebugMsg( QString( "class version:%1, base point:%2, U:%3, V:%4, size U:%5, V:%6" )
+               .arg( classVersion )
+               .arg( QString( "%1,%2,%3" ).arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( secPoint.x ).arg( secPoint.y ).arg( secPoint.z ) )
+               .arg( QString( "%1,%2,%3" ).arg( vVector.x ).arg( vVector.y ).arg( vVector.z ) )
+               .arg( sizeu ).arg( sizev )
+             );
+  Q_UNUSED( classVersion );
+
+  duint16 displayProps = buf->getBitShort();
+  DRW_UNUSED( displayProps );//RLZ: temporary, complete API
+  clip = buf->getBit();
+  brightness = buf->getRawChar8();
+  contrast = buf->getRawChar8();
+  fade = buf->getRawChar8();
+  if ( version > DRW::AC1021 )  //2010+
+  {
+    bool clipMode = buf->getBit();
+    DRW_UNUSED( clipMode );//RLZ: temporary, complete API
+  }
+  duint16 clipType = buf->getBitShort();
+  if ( clipType == 1 )
+  {
+    buf->get2RawDouble();
+    buf->get2RawDouble();
+  }
+  else   //clipType == 2
+  {
+    dint32 numVerts = buf->getBitLong();
+    for ( int i = 0; i < numVerts; ++i )
+      buf->get2RawDouble();
+  }
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  dwgHandle biH = buf->getHandle();
+
+  QgsDebugMsg( QString( "ImageDef handle:%1.%2 0x%3" ).arg( biH.code ).arg( biH.size ).arg( biH.ref, 0, 16 ) );
+
+  ref = biH.ref;
+  biH = buf->getHandle();
+
+  QgsDebugMsg( QString( "ImageDefReactor handle:%1.%2 0x%3" ).arg( biH.code ).arg( biH.size ).arg( biH.ref, 0, 16 ) );
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  // RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+void DRW_Dimension::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 1:
+      text = reader->getUtf8String();
+      break;
+    case 2:
+      name = reader->getString();
+      break;
+    case 3:
+      style = reader->getUtf8String();
+      break;
+    case 70:
+      type = reader->getInt32();
+      break;
+    case 71:
+      align = reader->getInt32();
+      break;
+    case 72:
+      linesty = reader->getInt32();
+      break;
+    case 10:
+      defPoint.x = reader->getDouble();
+      break;
+    case 20:
+      defPoint.y = reader->getDouble();
+      break;
+    case 30:
+      defPoint.z = reader->getDouble();
+      break;
+    case 11:
+      textPoint.x = reader->getDouble();
+      break;
+    case 21:
+      textPoint.y = reader->getDouble();
+      break;
+    case 31:
+      textPoint.z = reader->getDouble();
+      break;
+    case 12:
+      clonePoint.x = reader->getDouble();
+      break;
+    case 22:
+      clonePoint.y = reader->getDouble();
+      break;
+    case 32:
+      clonePoint.z = reader->getDouble();
+      break;
+    case 13:
+      def1.x = reader->getDouble();
+      break;
+    case 23:
+      def1.y = reader->getDouble();
+      break;
+    case 33:
+      def1.z = reader->getDouble();
+      break;
+    case 14:
+      def2.x = reader->getDouble();
+      break;
+    case 24:
+      def2.y = reader->getDouble();
+      break;
+    case 34:
+      def2.z = reader->getDouble();
+      break;
+    case 15:
+      circlePoint.x = reader->getDouble();
+      break;
+    case 25:
+      circlePoint.y = reader->getDouble();
+      break;
+    case 35:
+      circlePoint.z = reader->getDouble();
+      break;
+    case 16:
+      arcPoint.x = reader->getDouble();
+      break;
+    case 26:
+      arcPoint.y = reader->getDouble();
+      break;
+    case 36:
+      arcPoint.z = reader->getDouble();
+      break;
+    case 41:
+      linefactor = reader->getDouble();
+      break;
+    case 53:
+      rot = reader->getDouble();
+      break;
+    case 50:
+      angle = reader->getDouble();
+      break;
+    case 52:
+      oblique = reader->getDouble();
+      break;
+    case 40:
+      length = reader->getDouble();
+      break;
+    case 51:
+      hdir = reader->getDouble();
+      break;
+    default:
+      DRW_Entity::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Dimension::parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer *sBuf )
+{
+  QgsDebugMsg( "***************************** parsing dimension *********************************************" );
+
+  if ( version > DRW::AC1021 ) //2010+
+  {
+    duint8 dimVersion = buf->getRawChar8();
+    QgsDebugMsg( QString( "dimVersion:%1" ).arg( dimVersion ) );
+    Q_UNUSED( dimVersion );
+  }
+  extPoint = buf->getExtrusion( version > DRW::AC1014 );
+
+  QgsDebugMsg( QString( "extrusion:%1,%2,%3" ).arg( extPoint.x ).arg( extPoint.y ).arg( extPoint.z ) );
+
+  if ( version > DRW::AC1014 ) //2000+
+  {
+    int bit0 = buf->getBit();
+    int bit1 = buf->getBit();
+    int bit2 = buf->getBit();
+    int bit3 = buf->getBit();
+    int bit4 = buf->getBit();
+
+    QgsDebugMsg( QString( "Five unknown bits: %1%2%3%4%5" ).arg( bit0 ).arg( bit1 ).arg( bit2 ).arg( bit3 ).arg( bit4 ) );
+    Q_UNUSED( bit0 );
+    Q_UNUSED( bit1 );
+    Q_UNUSED( bit2 );
+    Q_UNUSED( bit3 );
+    Q_UNUSED( bit4 );
+  }
+  textPoint.x = buf->getRawDouble();
+  textPoint.y = buf->getRawDouble();
+  textPoint.z = buf->getBitDouble();
+
+  QgsDebugMsg( QString( "textPoint:%1,%2,%3" ).arg( textPoint.x ).arg( textPoint.y ).arg( textPoint.z ) );
+
+  type = buf->getRawChar8();
+
+  QgsDebugMsg( QString( "type (70) read: %1" ).arg( type ) );
+  type = ( type & 1 ) ? type & 0x7F : type | 0x80; //set bit 7
+  type = ( type & 2 ) ? type | 0x20 : type & 0xDF; //set bit 5
+  QgsDebugMsg( QString( "type (70) set: %1" ).arg( type ) );
+
+  //clear last 3 bits to set integer dim type
+  type &= 0xF8;
+  text = sBuf->getVariableText( version, false );
+
+  QgsDebugMsg( QString( "forced dim text:%1" ).arg( text.c_str() ) );
+  rot = buf->getBitDouble();
+  hdir = buf->getBitDouble();
+  DRW_Coord inspoint = buf->get3BitDouble();
+  double insRot_code54 = buf->getBitDouble(); //RLZ: unknown, investigate
+
+  QgsDebugMsg( QString( "insPoint:%1 insRot_code54:%4" )
+               .arg( QString( "%1,%2,%3" ).arg( inspoint.x ).arg( inspoint.y ).arg( inspoint.z ) )
+               .arg( insRot_code54 )
+             );
+  Q_UNUSED( inspoint );
+  Q_UNUSED( insRot_code54 );
+
+  if ( version > DRW::AC1014 ) //2000+
+  {
+    align = buf->getBitShort();
+    linesty = buf->getBitShort();
+    linefactor = buf->getBitDouble();
+    double actMeas = buf->getBitDouble();
+
+    QgsDebugMsg( QString( " actMeas_code42: %1" ).arg( actMeas ) );
+    Q_UNUSED( actMeas );
+
+    if ( version > DRW::AC1018 ) //2007+
+    {
+      bool unk = buf->getBit();
+      bool flip1 = buf->getBit();
+      bool flip2 = buf->getBit();
+
+      QgsDebugMsg( QString( "2007, unk, flip1, flip2: %1, %2, %3" )
+                   .arg( unk ).arg( flip1 ).arg( flip2 )
+                 );
+      Q_UNUSED( unk );
+      Q_UNUSED( flip1 );
+      Q_UNUSED( flip2 );
+    }
+  }
+  clonePoint.x = buf->getRawDouble();
+  clonePoint.y = buf->getRawDouble();
+
+  QgsDebugMsg( QString( "clonePoint:%1,%2,%3" ).arg( clonePoint.x ).arg( clonePoint.y ).arg( clonePoint.z ) );
+
+  return buf->isGood();
+}
+
+bool DRW_DimAligned::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+  ret = DRW_Dimension::parseDwg( version, buf, sBuf );
+  if ( !ret )
+    return ret;
+  if ( oType == 0x15 )
+  {
+    QgsDebugMsg( "***************************** parsing dim linear *********************************************" );
+  }
+  else
+  {
+    QgsDebugMsg( "***************************** parsing dim aligned *********************************************" );
+  }
+  DRW_Coord pt = buf->get3BitDouble();
+  setPt3( pt ); //def1
+
+  QgsDebugMsg( QString( "def1: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt4( pt );
+
+  QgsDebugMsg( QString( "def2: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setDefPoint( pt );
+
+  QgsDebugMsg( QString( "defPoint: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  setOb52( buf->getBitDouble() );
+  if ( oType == 0x15 )
+    setAn50( buf->getBitDouble() * ARAD );
+  else
+    type |= 1;
+
+  QgsDebugMsg( QString( "type (70) final: %1" ).arg( type ) );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( !ret )
+    return ret;
+
+  dimStyleH = buf->getHandle();
+  blockH = buf->getHandle(); /* H 7 STYLE (hard pointer) */
+
+  QgsDebugMsg( QString( "dim style Handle:%1, anon block handle:%2, remaining bytes %3" )
+               .arg( QString( "%1.%2 0x%3" ).arg( dimStyleH.code ).arg( dimStyleH.size ).arg( dimStyleH.ref, 0, 16 ) )
+               .arg( QString( "%1.%2 0x%3" ).arg( blockH.code ).arg( blockH.size ).arg( blockH.ref, 0, 16 ) )
+               .arg( buf->numRemainingBytes() )
+             );
+
+  //    RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+bool DRW_DimRadial::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+  ret = DRW_Dimension::parseDwg( version, buf, sBuf );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing dim radial *********************************************" );
+
+  DRW_Coord pt = buf->get3BitDouble();
+  setDefPoint( pt ); //code 10
+
+  QgsDebugMsg( QString( "defPoint: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt5( pt ); //center pt  code 15
+
+  QgsDebugMsg( QString( "center point: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  setRa40( buf->getBitDouble() ); //leader length code 40
+  QgsDebugMsg( QString( "leader length: %1" ).arg( getRa40() ) );
+  type |= 4;
+
+  QgsDebugMsg( QString( "type (70) final: %1" ).arg( type ) );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( !ret )
+    return ret;
+
+  dimStyleH = buf->getHandle();
+  blockH = buf->getHandle(); /* H 7 STYLE (hard pointer) */
+
+  QgsDebugMsg( QString( "dim style Handle:%1, anon block handle:%2, remaining bytes %3" )
+               .arg( QString( "%1.%2 0x%3" ).arg( dimStyleH.code ).arg( dimStyleH.size ).arg( dimStyleH.ref, 0, 16 ) )
+               .arg( QString( "%1.%2 0x%3" ).arg( blockH.code ).arg( blockH.size ).arg( blockH.ref, 0, 16 ) )
+               .arg( buf->numRemainingBytes() )
+             );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
+
+bool DRW_DimDiametric::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+  ret = DRW_Dimension::parseDwg( version, buf, sBuf );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing dim diametric *********************************************" );
+
+  DRW_Coord pt = buf->get3BitDouble();
+  setPt5( pt ); //center pt  code 15
+
+  QgsDebugMsg( QString( "center point: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setDefPoint( pt ); //code 10
+
+  QgsDebugMsg( QString( "defPoint: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  setRa40( buf->getBitDouble() ); //leader length code 40
+  QgsDebugMsg( QString( "leader length: %1" ).arg( getRa40() ) );
+
+  type |= 3;
+  QgsDebugMsg( QString( "type (70) final: %1" ).arg( type ) );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+  if ( !ret )
+    return ret;
+
+  dimStyleH = buf->getHandle();
+  blockH = buf->getHandle(); /* H 7 STYLE (hard pointer) */
+
+  QgsDebugMsg( QString( "dim style Handle:%1, anon block handle:%2, remaining bytes %3" )
+               .arg( QString( "%1.%2 0x%3" ).arg( dimStyleH.code ).arg( dimStyleH.size ).arg( dimStyleH.ref, 0, 16 ) )
+               .arg( QString( "%1.%2 0x%3" ).arg( blockH.code ).arg( blockH.size ).arg( blockH.ref, 0, 16 ) )
+               .arg( buf->numRemainingBytes() )
+             );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
+
+bool DRW_DimAngular::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+  ret = DRW_Dimension::parseDwg( version, buf, sBuf );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing dim angular *********************************************" );
+
+  DRW_Coord pt;
+  pt.x = buf->getRawDouble();
+  pt.y = buf->getRawDouble();
+  setPt6( pt ); //code 16
+
+  QgsDebugMsg( QString( "arc point: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt3( pt ); //def1  code 13
+
+  QgsDebugMsg( QString( "def1: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt4( pt ); //def2  code 14
+
+  QgsDebugMsg( QString( "def2: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt5( pt ); //center pt  code 15
+
+  QgsDebugMsg( QString( "center point: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setDefPoint( pt ); //code 10
+
+  QgsDebugMsg( QString( "defPoint: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  type |= 0x02;
+
+  QgsDebugMsg( QString( "type (70) final: %1" ).arg( type ) );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( !ret )
+    return ret;
+
+  dimStyleH = buf->getHandle();
+  blockH = buf->getHandle(); /* H 7 STYLE (hard pointer) */
+
+  QgsDebugMsg( QString( "dim style Handle:%1, anon block handle:%2, remaining bytes %3" )
+               .arg( QString( "%1.%2 0x%3" ).arg( dimStyleH.code ).arg( dimStyleH.size ).arg( dimStyleH.ref, 0, 16 ) )
+               .arg( QString( "%1.%2 0x%3" ).arg( blockH.code ).arg( blockH.size ).arg( blockH.ref, 0, 16 ) )
+               .arg( buf->numRemainingBytes() )
+             );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
+
+bool DRW_DimAngular3p::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+  ret = DRW_Dimension::parseDwg( version, buf, sBuf );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing dim angular3p *********************************************" );
+
+  DRW_Coord pt = buf->get3BitDouble();
+  setDefPoint( pt ); //code 10
+
+  QgsDebugMsg( QString( "defPoint: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt3( pt ); //def1  code 13
+
+  QgsDebugMsg( QString( "def1: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt4( pt ); //def2  code 14
+
+  QgsDebugMsg( QString( "def2: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt5( pt ); //center pt  code 15
+
+  QgsDebugMsg( QString( "center point: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  type |= 0x05;
+  QgsDebugMsg( QString( "type (70) final: %1" ).arg( type ) );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( !ret )
+    return ret;
+
+  dimStyleH = buf->getHandle();
+  blockH = buf->getHandle(); /* H 7 STYLE (hard pointer) */
+
+  QgsDebugMsg( QString( "dim style Handle:%1, anon block handle:%2, remaining bytes %3" )
+               .arg( QString( "%1.%2 0x%3" ).arg( dimStyleH.code ).arg( dimStyleH.size ).arg( dimStyleH.ref, 0, 16 ) )
+               .arg( QString( "%1.%2 0x%3" ).arg( blockH.code ).arg( blockH.size ).arg( blockH.ref, 0, 16 ) )
+               .arg( buf->numRemainingBytes() )
+             );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
+
+bool DRW_DimOrdinate::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+  ret = DRW_Dimension::parseDwg( version, buf, sBuf );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing dim ordinate *********************************************" );
+
+  DRW_Coord pt = buf->get3BitDouble();
+  setDefPoint( pt );
+
+  QgsDebugMsg( QString( "defPoint: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt3( pt ); //def1
+
+  QgsDebugMsg( QString( "def1: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  pt = buf->get3BitDouble();
+  setPt4( pt );
+
+  QgsDebugMsg( QString( "def2: %1,%2,%3" ).arg( pt.x ).arg( pt.y ).arg( pt.z ) );
+
+  duint8 type2 = buf->getRawChar8();//RLZ: correct this
+
+  QgsDebugMsg( QString( "type2 (70) read: %1" ).arg( type2 ) );
+
+  type = ( type2 & 1 ) ? type | 0x80 : type & 0xBF; //set bit 6
+
+  QgsDebugMsg( QString( "type (70) set: %1" ).arg( type ) );
+
+  type |= 6;
+
+  QgsDebugMsg( QString( "type (70) final: %1" ).arg( type ) );
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( !ret )
+    return ret;
+
+  dimStyleH = buf->getHandle();
+  blockH = buf->getHandle(); /* H 7 STYLE (hard pointer) */
+
+  QgsDebugMsg( QString( "dim style Handle:%1, anon block handle:%2, remaining bytes %3" )
+               .arg( QString( "%1.%2 0x%3" ).arg( dimStyleH.code ).arg( dimStyleH.size ).arg( dimStyleH.ref, 0, 16 ) )
+               .arg( QString( "%1.%2 0x%3" ).arg( blockH.code ).arg( blockH.size ).arg( blockH.ref, 0, 16 ) )
+               .arg( buf->numRemainingBytes() )
+             );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
+
+void DRW_Leader::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 3:
+      style = reader->getUtf8String();
+      break;
+    case 71:
+      arrow = reader->getInt32();
+      break;
+    case 72:
+      leadertype = reader->getInt32();
+      break;
+    case 73:
+      flag = reader->getInt32();
+      break;
+    case 74:
+      hookline = reader->getInt32();
+      break;
+    case 75:
+      hookflag = reader->getInt32();
+      break;
+    case 76:
+      vertnum = reader->getInt32();
+      break;
+    case 77:
+      coloruse = reader->getInt32();
+      break;
+    case 40:
+      textheight = reader->getDouble();
+      break;
+    case 41:
+      textwidth = reader->getDouble();
+      break;
+    case 10:
+    {
+      vertexpoint = new DRW_Coord();
+      vertexlist.push_back( vertexpoint );
+      vertexpoint->x = reader->getDouble();
+      break;
+    }
+    case 20:
+      if ( vertexpoint )
+        vertexpoint->y = reader->getDouble();
+      break;
+    case 30:
+      if ( vertexpoint )
+        vertexpoint->z = reader->getDouble();
+      break;
+    case 340:
+      annotHandle = reader->getHandleString();
+      break;
+    case 210:
+      extrusionPoint.x = reader->getDouble();
+      break;
+    case 220:
+      extrusionPoint.y = reader->getDouble();
+      break;
+    case 230:
+      extrusionPoint.z = reader->getDouble();
+      break;
+    case 211:
+      horizdir.x = reader->getDouble();
+      break;
+    case 221:
+      horizdir.y = reader->getDouble();
+      break;
+    case 231:
+      horizdir.z = reader->getDouble();
+      break;
+    case 212:
+      offsetblock.x = reader->getDouble();
+      break;
+    case 222:
+      offsetblock.y = reader->getDouble();
+      break;
+    case 232:
+      offsetblock.z = reader->getDouble();
+      break;
+    case 213:
+      offsettext.x = reader->getDouble();
+      break;
+    case 223:
+      offsettext.y = reader->getDouble();
+      break;
+    case 233:
+      offsettext.z = reader->getDouble();
+      break;
+    default:
+      DRW_Entity::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Leader::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing leader *********************************************" );
+
+  int bit0 = buf->getBit();
+  int annot = buf->getBitShort();
+  int pathtype = buf->getBitShort();
+  dint32 nPt = buf->getBitLong();
+
+  QgsDebugMsg( QString( "unknown:%1 annottype:%2 pathtype:%3 numpts:%4" )
+               .arg( bit0 ).arg( annot ).arg( pathtype ).arg( nPt )
+             );
+  Q_UNUSED( bit0 );
+  Q_UNUSED( annot )
+  Q_UNUSED( pathtype )
+
+  // add vertices
+  for ( int i = 0; i < nPt; i++ )
+  {
+    DRW_Coord* vertex = new DRW_Coord( buf->get3BitDouble() );
+    vertexlist.push_back( vertex );
+    QgsDebugMsg( QString( " vertex %1: %2,%3,%4" ).arg( i ).arg( vertex->x ).arg( vertex->y ).arg( vertex->z ) );
+  }
+
+  DRW_Coord Endptproj = buf->get3BitDouble();
+  QgsDebugMsg( QString( " endptproj: %1,%2,%3" ).arg( Endptproj.x ).arg( Endptproj.y ).arg( Endptproj.z ) );
+  Q_UNUSED( Endptproj );
+
+  extrusionPoint = buf->getExtrusion( version > DRW::AC1014 );
+  QgsDebugMsg( QString( " extrusion: %1,%2,%3" ).arg( extrusionPoint.x ).arg( extrusionPoint.y ).arg( extrusionPoint.z ) );
+
+  if ( version > DRW::AC1014 ) //2000+
+  {
+    int bit0 = buf->getBit();
+    int bit1 = buf->getBit();
+    int bit2 = buf->getBit();
+    int bit3 = buf->getBit();
+    int bit4 = buf->getBit();
+
+    QgsDebugMsg( QString( "Five unknown bits: %1%2%3%4%5" ).arg( bit0 ).arg( bit1 ).arg( bit2 ).arg( bit3 ).arg( bit4 ) );
+    Q_UNUSED( bit0 );
+    Q_UNUSED( bit1 );
+    Q_UNUSED( bit2 );
+    Q_UNUSED( bit3 );
+    Q_UNUSED( bit4 );
+  }
+  horizdir = buf->get3BitDouble();
+  offsetblock = buf->get3BitDouble();
+
+  QgsDebugMsg( QString( " horizdir: %1,%2,%3" ).arg( horizdir.x ).arg( horizdir.y ).arg( horizdir.z ) );
+  QgsDebugMsg( QString( " offsetblock: %1,%2,%3" ).arg( offsetblock.x ).arg( offsetblock.y ).arg( offsetblock.z ) );
+
+  if ( version > DRW::AC1012 ) //R14+
+  {
+    DRW_Coord unk = buf->get3BitDouble();
+    QgsDebugMsg( QString( " unknown: %1,%2,%3" ).arg( unk.x ).arg( unk.y ).arg( unk.z ) );
+    Q_UNUSED( unk );
+  }
+  if ( version < DRW::AC1015 ) //R14 -
+  {
+    double dimgap = buf->getBitDouble();
+    QgsDebugMsg( QString( "dimgap %1" ).arg( dimgap ) );
+    Q_UNUSED( dimgap );
+  }
+  if ( version < DRW::AC1024 ) //2010-
+  {
+    textheight = buf->getBitDouble();
+    textwidth = buf->getBitDouble();
+
+    QgsDebugMsg( QString( "textheight:%1 textwidth:%2" ).arg( textheight ).arg( textwidth ) );
+  }
+  hookline = buf->getBit();
+  arrow = buf->getBit();
+
+  QgsDebugMsg( QString( "hookline:%1 arrow flag:%2" ).arg( hookline ).arg( arrow ) );
+
+  if ( version < DRW::AC1015 ) //R14 -
+  {
+    int headtype = buf->getBitShort();
+    double dimasz = buf->getBitDouble();
+    int unk0 = buf->getBit();
+    int unk1 = buf->getBit();
+    int unk2 = buf->getBitShort();
+    int byblockcol = buf->getBitShort();
+    int unk3 = buf->getBit();
+    int unk4 = buf->getBit();
+
+    QgsDebugMsg( QString( "Arrow head type:%1 dimasz:%2 unk0:%3 unk1:%4 unk2:%5 byblockcol:%6 unk3:%7 unk3:%9" )
+                 .arg( headtype ).arg( dimasz ).arg( unk0 ).arg( unk1 ).arg( unk2 ).arg( byblockcol ).arg( unk3 ).arg( unk4 )
+               );
+    Q_UNUSED( headtype );
+    Q_UNUSED( dimasz );
+    Q_UNUSED( unk0 );
+    Q_UNUSED( unk1 );
+    Q_UNUSED( unk2 );
+    Q_UNUSED( byblockcol );
+    Q_UNUSED( unk3 );
+    Q_UNUSED( unk4 );
+  }
+  else   //R2000+
+  {
+    int unk0 = buf->getBitShort();
+    int unk1 = buf->getBit();
+    int unk2 = buf->getBit();
+    QgsDebugMsg( QString( "unk0:%1 unk1:%2 unk2:%3" ).arg( unk0 ).arg( unk1 ).arg( unk2 ) );
+    Q_UNUSED( unk0 );
+    Q_UNUSED( unk1 );
+    Q_UNUSED( unk2 );
+  }
+
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  AnnotH = buf->getHandle();
+  annotHandle = AnnotH.ref;
+  dimStyleH = buf->getHandle(); /* H 7 STYLE (hard pointer) */
+
+  QgsDebugMsg( QString( "annot block Handle:%1, dim style handle:%2, remaining bytes %3" )
+               .arg( QString( "%1.%2 0x%3" ).arg( AnnotH.code ).arg( AnnotH.size ).arg( AnnotH.ref, 0, 16 ) )
+               .arg( QString( "%1.%2 0x%3" ).arg( dimStyleH.code ).arg( dimStyleH.size ).arg( dimStyleH.ref, 0, 16 ) )
+               .arg( buf->numRemainingBytes() )
+             );
+
+  //    RS crc;   //RS */
+
+  return buf->isGood();
+}
+
+void DRW_Viewport::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 40:
+      pswidth = reader->getDouble();
+      break;
+    case 41:
+      psheight = reader->getDouble();
+      break;
+    case 68:
+      vpstatus = reader->getInt32();
+      break;
+    case 69:
+      vpID = reader->getInt32();
+      break;
+    case 12:
+    {
+      centerPX = reader->getDouble();
+      break;
+    }
+    case 22:
+      centerPY = reader->getDouble();
+      break;
+    default:
+      DRW_Point::parseCode( code, reader );
+      break;
+  }
+}
+//ex 22 dec 34
+bool DRW_Viewport::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_Entity::parseDwg( version, buf, sBuf, bs );
+  if ( !ret )
+    return ret;
+
+  QgsDebugMsg( "***************************** parsing viewport *****************************************" );
+
+  basePoint.x = buf->getBitDouble();
+  basePoint.y = buf->getBitDouble();
+  basePoint.z = buf->getBitDouble();
+  pswidth = buf->getBitDouble();
+  psheight = buf->getBitDouble();
+
+  QgsDebugMsg( QString( "center: %1,%2,%3 width:%4 height:%5" )
+               .arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z )
+               .arg( pswidth ).arg( psheight )
+             );
+
+  //RLZ TODO: complete in dxf
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    viewTarget.x = buf->getBitDouble();
+    viewTarget.y = buf->getBitDouble();
+    viewTarget.z = buf->getBitDouble();
+
+    QgsDebugMsg( QString( "viewTarget: %1,%2,%3" ).arg( viewTarget.x ).arg( viewTarget.y ).arg( viewTarget.z ) );
+
+    viewDir.x = buf->getBitDouble();
+    viewDir.y = buf->getBitDouble();
+    viewDir.z = buf->getBitDouble();
+
+    QgsDebugMsg( QString( "viewDir: %1,%2,%3" ).arg( viewDir.x ).arg( viewDir.y ).arg( viewDir.z ) );
+
+    twistAngle = buf->getBitDouble();
+    viewHeight = buf->getBitDouble();
+    viewLength = buf->getBitDouble();
+    frontClip = buf->getBitDouble();
+    backClip = buf->getBitDouble();
+    snapAngle = buf->getBitDouble();
+
+    QgsDebugMsg( QString( "View twist Angle:%1 Height:%2 LensLength:%3 front Clip Z:%4 back Clip Z:%5 snap Angle:%6" )
+                 .arg( twistAngle ).arg( viewHeight ).arg( viewLength ).arg( frontClip ).arg( backClip ).arg( snapAngle )
+               );
+
+    centerPX = buf->getRawDouble();
+    centerPY = buf->getRawDouble();
+
+    QgsDebugMsg( QString( "viewCenter: %1,%2" ).arg( centerPX ).arg( centerPY ) );
+
+    snapPX = buf->getRawDouble();
+    snapPY = buf->getRawDouble();
+
+    QgsDebugMsg( QString( "snapBase: %1,%2" ).arg( snapPX ).arg( snapPY ) );
+
+    snapSpPX = buf->getRawDouble();
+    snapSpPY = buf->getRawDouble();
+
+    QgsDebugMsg( QString( "snapSpacing: %1,%2" ).arg( snapSpPX ).arg( snapSpPY ) );
+
+    //RLZ: need to complete
+    double gridX = buf->getRawDouble();
+    double gridY = buf->getRawDouble();
+    int czoom = buf->getBitShort();
+
+    QgsDebugMsg( QString( "gridSpacing: %1,%2 Circle zoom?: %3" ).arg( gridX ).arg( gridY ).arg( czoom ) );
+    Q_UNUSED( gridX );
+    Q_UNUSED( gridY );
+    Q_UNUSED( czoom );
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    int gridmajor = buf->getBitShort();
+    QgsDebugMsg( QString( "Grid major?: %1" ).arg( gridmajor ) );
+    Q_UNUSED( gridmajor );
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    frozenLyCount = buf->getBitLong();
+    QgsDebugMsg( QString( "Frozen Layer count?: %1" ).arg( frozenLyCount ) );
+
+    int t = buf->getBitLong();
+    QgsDebugMsg( QString( "Status Flags?: %1" ).arg( t ) );
+    Q_UNUSED( t );
+
+    //RLZ: Warning needed separate string bufer
+    std::string txt = sBuf->getVariableText( version, false );
+    QgsDebugMsg( QString( "Style sheet?: %1" ).arg( txt.c_str() ) );
+    Q_UNUSED( txt );
+
+    t = buf->getRawChar8();
+    QgsDebugMsg( QString( "Render mode?: %1" ).arg( t ) );
+    t = buf->getBit();
+    QgsDebugMsg( QString( "UCS OMore...: %1" ).arg( t ) );
+    t = buf->getBit();
+    QgsDebugMsg( QString( "UCS VMore...: %1" ).arg( t ) );
+
+    double x, y, z;
+    x = buf->getBitDouble();
+    y = buf->getBitDouble();
+    z = buf->getBitDouble();
+    QgsDebugMsg( QString( "UCS OMode: %1,%2,%3" ).arg( x ).arg( y ).arg( z ) );
+    Q_UNUSED( x );
+    Q_UNUSED( y );
+    Q_UNUSED( z );
+
+    x = buf->getBitDouble();
+    y = buf->getBitDouble();
+    z = buf->getBitDouble();
+    QgsDebugMsg( QString( "UCS XAMode: %1,%2,%3" ).arg( x ).arg( y ).arg( z ) );
+
+    x = buf->getBitDouble();
+    y = buf->getBitDouble();
+    z = buf->getBitDouble();
+    QgsDebugMsg( QString( "UCS YMode: %1,%2,%3" ).arg( x ).arg( y ).arg( z ) );
+
+    x =  buf->getBitDouble();
+    QgsDebugMsg( QString( "UCS EMore: %1" ).arg( x ) );
+
+    t = buf->getBitShort();
+    QgsDebugMsg( QString( "UCS OVMore: %1" ).arg( t ) );
+  }
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    int t = buf->getBitShort();
+    QgsDebugMsg( QString( "ShadePlot Mode...: %1" ).arg( t ) );
+    Q_UNUSED( t );
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    int t;
+    t = buf->getBit();
+    QgsDebugMsg( QString( "Use def Light...: %1" ).arg( t ) );
+    Q_UNUSED( t );
+
+    t = buf->getRawChar8();
+    QgsDebugMsg( QString( "Def light tipe?: %1" ).arg( t ) );
+
+    double d = buf->getBitDouble();
+    QgsDebugMsg( QString( "Brightness: %1" ).arg( d ) );
+    Q_UNUSED( d );
+
+    d = buf->getBitDouble();
+    QgsDebugMsg( QString( "Contrast: %1" ).arg( d ) );
+
+    t = buf->getEnColor( version, color24, transparency );
+    QgsDebugMsg( QString( "Ambient (Cmc or Enc?), Enc: 0x%1" ).arg( buf->getEnColor( version, color24, transparency ), 0, 16 ) );
+  }
+  ret = DRW_Entity::parseDwgEntHandle( version, buf );
+
+  dwgHandle someHdl;
+  if ( version < DRW::AC1015 )  //R13 & R14 only
+  {
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+    someHdl = buf->getHandle();
+    QgsDebugMsg( QString( "viewport ent handle: %1.%2 0x%3" ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    for ( duint8 i = 0; i < frozenLyCount; ++i )
+    {
+      someHdl = buf->getHandle();
+      QgsDebugMsg( QString( "frozen layer handle %1: %2.%3 0x%4" ).arg( i ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+    }
+
+    someHdl = buf->getHandle();
+    QgsDebugMsg( QString( "clip boundary handle: %1.%2 0x%3" ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+
+    if ( version == DRW::AC1015 )  //2000 only
+    {
+      someHdl = buf->getHandle();
+      QgsDebugMsg( QString( "viewport ent handle: %1.%2 0x%3" ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+    }
+    someHdl = buf->getHandle();
+    QgsDebugMsg( QString( "named ucs handle: %1.%2 0x%3" ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+    someHdl = buf->getHandle();
+    QgsDebugMsg( QString( "base ucs handle: %1.%2 0x%3" ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    someHdl = buf->getHandle();
+    QgsDebugMsg( QString( "background handle: %1.%2 0x%3" ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+    someHdl = buf->getHandle();
+    QgsDebugMsg( QString( "visual style handle: %1.%2 0x%3" ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+    someHdl = buf->getHandle();
+    QgsDebugMsg( QString( "shadeplot id handle: %1.%2 0x%3" ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+    someHdl = buf->getHandle();
+    QgsDebugMsg( QString( "SUN handle: %1.%2 0x%3" ).arg( someHdl.code ).arg( someHdl.size ).arg( someHdl.ref, 0, 16 ) );
+  }
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( !ret )
+    return ret;
+
+  return buf->isGood();
+}
diff --git a/src/app/dwg/libdxfrw/drw_entities.h b/src/app/dwg/libdxfrw/drw_entities.h
new file mode 100644
index 0000000..245180a
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_entities.h
@@ -0,0 +1,1681 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DRW_ENTITIES_H
+#define DRW_ENTITIES_H
+
+
+#include <string>
+#include <vector>
+#include <list>
+#include "drw_base.h"
+
+class dxfReader;
+class dwgBuffer;
+class DRW_Polyline;
+
+namespace DRW
+{
+
+  //! Entity's type.
+  enum ETYPE
+  {
+    E3DFACE,
+    E3DSOLID, // encrypted proprietary data
+    ACAD_PROXY_ENTITY,
+    ARC,
+    ATTDEF,
+    ATTRIB,
+    BLOCK, // and ENDBLK
+    BODY, // encrypted proprietary data
+    CIRCLE,
+    DIMENSION,
+    DIMALIGNED,
+    DIMLINEAR,
+    DIMRADIAL,
+    DIMDIAMETRIC,
+    DIMANGULAR,
+    DIMANGULAR3P,
+    DIMORDINATE,
+    ELLIPSE,
+    HATCH,
+    HELIX,
+    IMAGE,
+    INSERT,
+    LEADER,
+    LIGHT,
+    LINE,
+    LWPOLYLINE,
+    MESH,
+    MLINE,
+    MLEADERSTYLE,
+    MLEADER,
+    MTEXT,
+    OLEFRAME,
+    OLE2FRAME,
+    POINT,
+    POLYLINE,
+    RAY,
+    REGION, // encrypted proprietary data
+    SECTION,
+    SEQEND, // not needed?? used in polyline and insert/attrib and dwg
+    SHAPE,
+    SOLID,
+    SPLINE,
+    SUN,
+    SURFACE, // encrypted proprietary data can be four types
+    TABLE,
+    TEXT,
+    TOLERANCE,
+    TRACE,
+    UNDERLAY,
+    VERTEX,
+    VIEWPORT,
+    WIPEOUT, // WIPEOUTVARIABLE
+    XLINE,
+    UNKNOWN
+  };
+
+}
+//only in DWG: MINSERT, 5 types of vertex, 4 types of polylines: 2d, 3d, pface & mesh
+//shape, dictionary, MLEADER, MLEADERSTYLE
+
+#define SETENTFRIENDS  friend class dxfRW; \
+  friend class dwgReader;
+
+/** Base class for entities
+ *  @author Rallaz
+ */
+class DRW_Entity
+{
+    SETENTFRIENDS
+  public:
+    //initializes default values
+    //handles: default no handle (0), color: default BYLAYER (256), 24 bits color: default -1 (not set)
+    //line weight: default BYLAYER  (dxf -1, dwg 29), space: default ModelSpace (0)
+    DRW_Entity( enum DRW::ETYPE aType = DRW::UNKNOWN, const UTF8STRING &aLayer = "0" )
+        : eType( aType )
+        , handle( DRW::NoHandle )
+        , parentHandle( DRW::NoHandle )
+        , appData( 0 )
+        , space( DRW::ModelSpace )
+        , layer( aLayer )
+        , lineType( "BYLAYER" )
+        , material( DRW::MaterialByLayer )
+        , color( DRW::ColorByLayer )
+        , lWeight( DRW_LW_Conv::widthByLayer )
+        , ltypeScale( 1.0 )
+        , visible( true )
+        , numProxyGraph( 0 )
+        , proxyGraphics( std::string() )
+        , color24( -1 )
+        , colorName( std::string() )
+        , transparency( DRW::Opaque )
+        , plotStyle( DRW::DefaultPlotStyle )
+        , shadow( DRW::CastAndReceieveShadows )
+        , haveExtrusion( false )
+        , extData()
+        , haveNextLinks( 0 )
+        , plotFlags( 0 )
+        , ltFlags( 0 )
+        , materialFlag( 0 )
+        , shadowFlag( 0 )
+        , lTypeH( dwgHandle() )
+        , layerH( dwgHandle() )
+        , nextEntLink( 0 )
+        , prevEntLink( 0 )
+        , ownerHandle( false )
+        , xDictFlag( 0 )
+        , numReactors( 0 )
+        , objSize( 0 )
+        , oType( 0 )
+        , extAxisX( DRW_Coord() )
+        , extAxisY( DRW_Coord() )
+        , curr( nullptr )
+    {
+    }
+
+    DRW_Entity( const DRW_Entity& e )
+        : eType( e.eType )
+        , handle( e.handle )
+        , parentHandle( e.parentHandle ) //no handle (0)
+        , space( e.space )
+        , layer( e.layer )
+        , lineType( e.lineType )
+        , material( e.material )
+        , color( e.color ) // default BYLAYER (256)
+        , lWeight( e.lWeight )
+        , ltypeScale( e.ltypeScale )
+        , visible( e.visible )
+        , numProxyGraph( e.numProxyGraph )
+        , color24( e.color24 ) //default -1 not set
+        , transparency( e.transparency )
+        , plotStyle( e.plotStyle )
+        , shadow( e.shadow )
+        , haveExtrusion( e.haveExtrusion )
+        , nextEntLink( e.nextEntLink )
+        , prevEntLink( e.prevEntLink )
+        , ownerHandle( false )
+        , xDictFlag( e.xDictFlag )
+        , numReactors( e.numReactors )
+        , curr( nullptr )
+    {
+      for ( std::vector<DRW_Variant*>::const_iterator it = e.extData.begin(); it != e.extData.end(); ++it )
+      {
+        extData.push_back( new DRW_Variant( *( *it ) ) );
+      }
+    }
+
+    virtual ~DRW_Entity()
+    {
+      for ( std::vector<DRW_Variant*>::iterator it = extData.begin(); it != extData.end(); ++it )
+        delete *it;
+
+      extData.clear();
+    }
+
+    void reset()
+    {
+      for ( std::vector<DRW_Variant*>::iterator it = extData.begin(); it != extData.end(); ++it )
+        delete *it;
+      extData.clear();
+    }
+
+    virtual void applyExtrusion() = 0;
+
+  protected:
+    //parses dxf pair to read entity
+    bool parseCode( int code, dxfReader *reader );
+    //calculates extrusion axis (normal vector)
+    void calculateAxis( DRW_Coord extPoint );
+    //apply extrusion to @extPoint and return data in @point
+    void extrudePoint( DRW_Coord extPoint, DRW_Coord *point );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 ) = 0;
+    //parses dwg common start part to read entity
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer* strBuf, duint32 bs = 0 );
+    //parses dwg common handles part to read entity
+    bool parseDwgEntHandle( DRW::Version version, dwgBuffer *buf );
+
+    //parses dxf 102 groups to read entity
+    bool parseDxfGroups( int code, dxfReader *reader );
+
+  public:
+    enum DRW::ETYPE eType;                      /*!< enum: entity type, code 0 */
+    duint32 handle;                             /*!< entity identifier, code 5 */
+    duint32 parentHandle;                       /*!< Soft-pointer ID/handle to owner BLOCK_RECORD object, code 330 */
+    std::list<std::list<DRW_Variant> > appData; /*!< list of application data, code 102 */
+    DRW::Space space;                           /*!< space indicator, code 67*/
+    UTF8STRING layer;                           /*!< layer name, code 8 */
+    UTF8STRING lineType;                        /*!< line type, code 6 */
+    duint32 material;                           /*!< hard pointer id to material object, code 347 */
+    int color;                                  /*!< entity color, code 62 */
+    enum DRW_LW_Conv::lineWidth lWeight;        /*!< entity lineweight, code 370 */
+    double ltypeScale;                          /*!< linetype scale, code 48 */
+    bool visible;                               /*!< entity visibility, code 60 */
+    int numProxyGraph;                          /*!< Number of bytes in proxy graphics, code 92 */
+    std::string proxyGraphics;                  /*!< proxy graphics bytes, code 310 */
+    int color24;                                /*!< 24-bit color, code 420 */
+    std::string colorName;                      /*!< color name, code 430 */
+    int transparency;                           /*!< transparency, code 440 */
+    int plotStyle;                              /*!< hard pointer id to plot style object, code 390 */
+    DRW::ShadowMode shadow;                     /*!< shadow mode, code 284 */
+    bool haveExtrusion;                         /*!< set to true if the entity have extrusion*/
+    std::vector<DRW_Variant*> extData;          /*!< FIFO list of extended data, codes 1000 to 1071*/
+
+  protected: //only for read dwg
+    duint8 haveNextLinks; // aka nolinks //B
+    duint8 plotFlags; // presence of plot style //BB
+    duint8 ltFlags; // presence of linetype handle //BB
+    duint8 materialFlag; // presence of material handle //BB
+    duint8 shadowFlag; // presence of shadow handle ?? (in dwg may be plotflag)//RC
+    dwgHandle lTypeH;
+    dwgHandle layerH;
+    duint32 nextEntLink;
+    duint32 prevEntLink;
+    bool ownerHandle;
+
+    duint8 xDictFlag;
+    dint32 numReactors;
+    duint32 objSize;  // RL 32bits object data size in bits
+    dint16 oType;
+
+  private:
+    DRW_Coord extAxisX;
+    DRW_Coord extAxisY;
+    DRW_Variant* curr;
+};
+
+
+/** Class to handle point entity
+ *  @author Rallaz
+ */
+class DRW_Point : public DRW_Entity
+{
+    SETENTFRIENDS
+  public:
+    DRW_Point( enum DRW::ETYPE type = DRW::POINT, double sx = 0., double sy = 0., double sz = 0. )
+        : DRW_Entity( type )
+        , basePoint( sx, sy, sz )
+        , thickness( 0 )
+        , extPoint( 0., 0., 1. )
+    {
+    }
+
+    virtual void applyExtrusion() {}
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    DRW_Coord basePoint;      /*!<  base point, code 10, 20 & 30 */
+    double thickness;         /*!< thickness, code 39 */
+    DRW_Coord extPoint;       /*!<  Dir extrusion normal vector, code 210, 220 & 230 */
+    // TNick: we're not handling code 50 - Angle of the X axis for
+    // the UCS in effect when the point was drawn
+};
+
+/** Class to handle line entity
+ *  @author Rallaz
+ */
+class DRW_Line : public DRW_Point
+{
+    SETENTFRIENDS
+  public:
+    DRW_Line( enum DRW::ETYPE type = DRW::LINE )
+        : DRW_Point( type )
+        , secPoint( 0., 0., 0. )
+    {
+    }
+
+    virtual void applyExtrusion() {}
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    DRW_Coord secPoint;        /*!< second point, code 11, 21 & 31 */
+};
+
+/** Class to handle ray entity
+ *  @author Rallaz
+ */
+class DRW_Ray : public DRW_Line
+{
+    SETENTFRIENDS
+  public:
+    DRW_Ray( enum DRW::ETYPE type = DRW::RAY )
+        : DRW_Line( type )
+    {
+    }
+  protected:
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+};
+
+/** Class to handle xline entity
+ *  @author Rallaz
+ */
+class DRW_Xline : public DRW_Ray
+{
+  public:
+    DRW_Xline( enum DRW::ETYPE type = DRW::XLINE )
+        : DRW_Ray( type )
+    {
+    }
+};
+
+/** Class to handle circle entity
+ *  @author Rallaz
+ */
+class DRW_Circle : public DRW_Point
+{
+    SETENTFRIENDS
+  public:
+    DRW_Circle( enum DRW::ETYPE type = DRW::CIRCLE )
+        : DRW_Point( type )
+        , mRadius( 0. )
+    {
+    }
+
+    virtual void applyExtrusion();
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    double mRadius;  /*!< radius, code 40 */
+};
+
+/** Class to handle arc entity
+ *  @author Rallaz
+ */
+class DRW_Arc : public DRW_Circle
+{
+    SETENTFRIENDS
+  public:
+    DRW_Arc( enum DRW::ETYPE type = DRW::ARC )
+        : DRW_Circle( type )
+        , staangle( 0 )
+        , endangle( M_PIx2 )
+        , isccw( 1 )
+    {
+    }
+
+    virtual void applyExtrusion();
+
+    //! center point in OCS
+    const DRW_Coord & center() { return basePoint; }
+    //! the radius of the circle
+    double radius() { return mRadius; }
+    //! start angle in radians
+    double startAngle() { return staangle; }
+    //! end angle in radians
+    double endAngle() { return endangle; }
+    //! thickness
+    double thick() { return thickness; }
+    //! extrusion
+    const DRW_Coord & extrusion() { return extPoint; }
+
+  protected:
+    //! interpret code in dxf reading process or dispatch to inherited class
+    void parseCode( int code, dxfReader *reader );
+    //! interpret dwg data (was already determined to be part of this object)
+    virtual bool parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    double staangle;            /*!< start angle, code 50 in radians*/
+    double endangle;            /*!< end angle, code 51 in radians */
+    int isccw;                  /*!< is counter clockwise arc?, only used in hatch, code 73 */
+};
+
+/** Class to handle ellipse and elliptic arc entity
+ *
+ *  Note: start/end parameter are in radians for ellipse entity but
+ *  for hatch boundary are in degrees
+ *  @author Rallaz
+ */
+class DRW_Ellipse : public DRW_Line
+{
+    SETENTFRIENDS
+  public:
+    DRW_Ellipse( enum DRW::ETYPE type = DRW::ELLIPSE )
+        : DRW_Line( type )
+        , ratio( 1. )
+        , staparam( 0. )
+        , endparam( M_PIx2 )
+        , isccw( 1 )
+    {
+    }
+
+    void toPolyline( DRW_Polyline *pol, int parts = 128 ) const;
+
+    virtual void applyExtrusion();
+
+  protected:
+    //! interpret code in dxf reading process or dispatch to inherited class
+    void parseCode( int code, dxfReader *reader );
+    //! interpret dwg data (was already determined to be part of this object)
+    virtual bool parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs = 0 );
+
+  private:
+    void correctAxis();
+
+  public:
+    double ratio;        /*!< ratio, code 40 */
+    double staparam;     /*!< start parameter, code 41, 0.0 for full ellipse*/
+    double endparam;     /*!< end parameter, code 42, 2*PI for full ellipse */
+    int isccw;           /*!< is counter clockwise arc?, only used in hatch, code 73 */
+};
+
+/** Class to handle trace entity
+ *
+ *  @author Rallaz
+ */
+class DRW_Trace : public DRW_Line
+{
+    SETENTFRIENDS
+  public:
+    DRW_Trace( enum DRW::ETYPE type = DRW::TRACE )
+        : DRW_Line( type )
+        , thirdPoint( 0., 0., 0. )
+        , fourthPoint( 0., 0., 0. )
+    {
+    }
+
+    virtual void applyExtrusion();
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    DRW_Coord thirdPoint;       /*!< third point, code 12, 22 & 32 */
+    DRW_Coord fourthPoint;      /*!< four point, code 13, 23 & 33 */
+};
+
+/** Class to handle solid entity
+ *
+ *  @author Rallaz
+ */
+class DRW_Solid : public DRW_Trace
+{
+    SETENTFRIENDS
+  public:
+    DRW_Solid( enum DRW::ETYPE type = DRW::SOLID )
+        : DRW_Trace( type )
+    {
+    }
+
+  protected:
+    //! interpret code in dxf reading process or dispatch to inherited class
+    void parseCode( int code, dxfReader *reader );
+    //! interpret dwg data (was already determined to be part of this object)
+    virtual bool parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    //! first corner (2D)
+    const DRW_Coord & firstCorner() { return basePoint; }
+    //! second corner (2D)
+    const DRW_Coord & secondCorner() { return secPoint; }
+    //! third corner (2D)
+    const DRW_Coord & thirdCorner() { return thirdPoint; }
+    //! fourth corner (2D)
+    const DRW_Coord & fourthCorner() { return thirdPoint; }
+    //! thickness
+    double thick() { return thickness; }
+    //! elevation
+    double elevation() { return basePoint.z; }
+    //! extrusion
+    const DRW_Coord & extrusion() { return extPoint; }
+
+};
+
+/** Class to handle 3dface entity
+ *  @author Rallaz
+ */
+class DRW_3Dface : public DRW_Trace
+{
+    SETENTFRIENDS
+  public:
+    enum InvisibleEdgeFlags
+    {
+      NoEdge = 0x00,
+      FirstEdge = 0x01,
+      SecondEdge = 0x02,
+      ThirdEdge = 0x04,
+      FourthEdge = 0x08,
+      AllEdges = 0x0F
+    };
+
+    DRW_3Dface( enum DRW::ETYPE type = DRW::E3DFACE )
+        : DRW_Trace( type )
+        , invisibleflag( 0 )
+    {
+    }
+
+    virtual void applyExtrusion() {}
+
+    //! first corner in WCS
+    const DRW_Coord & firstCorner() { return basePoint; }
+    //! second corner in WCS
+    const DRW_Coord & secondCorner() { return secPoint; }
+    //! third corner in WCS
+    const DRW_Coord & thirdCorner() { return thirdPoint; }
+    //! fourth corner in WCS
+    const DRW_Coord & fourthCorner() { return fourthPoint; }
+    //! edge visibility flags
+    InvisibleEdgeFlags edgeFlags() { return ( InvisibleEdgeFlags )invisibleflag; }
+
+  protected:
+    //! interpret code in dxf reading process or dispatch to inherited class
+    void parseCode( int code, dxfReader *reader );
+    //! interpret dwg data (was already determined to be part of this object)
+    virtual bool parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    int invisibleflag;       /*!< invisible edge flag, code 70 */
+
+};
+
+/** Class to handle block entries
+ *  @author Rallaz
+ */
+class DRW_Block : public DRW_Point
+{
+    SETENTFRIENDS
+  public:
+    DRW_Block( enum DRW::ETYPE type = DRW::BLOCK )
+        : DRW_Point( type )
+        , name( "*U0" )
+        , flags( 0 )
+        , isEnd( false )
+    {
+    }
+
+    virtual void applyExtrusion() {}
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    UTF8STRING name;             /*!< block name, code 2 */
+    int flags;                   /*!< block type, code 70 */
+  private:
+    bool isEnd; //for dwg parsing
+};
+
+
+/** Class to handle insert entries
+ *  @author Rallaz
+ */
+class DRW_Insert : public DRW_Point
+{
+    SETENTFRIENDS
+  public:
+    DRW_Insert( enum DRW::ETYPE type = DRW::INSERT )
+        : DRW_Point( type )
+        , xscale( 1 )
+        , yscale( 1 )
+        , zscale( 1 )
+        , angle( 0 )
+        , colcount( 1 )
+        , rowcount( 1 )
+        , colspace( 0 )
+        , rowspace( 0 )
+    {
+    }
+
+    virtual void applyExtrusion() {DRW_Point::applyExtrusion();}
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    UTF8STRING name;         /*!< block name, code 2 */
+    double xscale;           /*!< x scale factor, code 41 */
+    double yscale;           /*!< y scale factor, code 42 */
+    double zscale;           /*!< z scale factor, code 43 */
+    double angle;            /*!< rotation angle in radians, code 50 */
+    int colcount;            /*!< column count, code 70 */
+    int rowcount;            /*!< row count, code 71 */
+    double colspace;         /*!< column space, code 44 */
+    double rowspace;         /*!< row space, code 45 */
+  public: //only for read dwg
+    dwgHandle blockRecH;
+    dwgHandle seqendH; //RLZ: on implement attrib remove this handle from obj list (see pline/vertex code)
+};
+
+/** Class to handle lwpolyline entity
+ *  @author Rallaz
+ */
+class DRW_LWPolyline : public DRW_Entity
+{
+    SETENTFRIENDS
+  public:
+    DRW_LWPolyline( enum DRW::ETYPE type = DRW::LWPOLYLINE )
+        : DRW_Entity( type )
+        , vertexnum( 0 )
+        , flags( 0 )
+        , width( 0. )
+        , elevation( 0. )
+        , thickness( 0. )
+        , extPoint( 0., 0., 1. )
+        , vertex( nullptr )
+    {
+    }
+
+    DRW_LWPolyline( const DRW_LWPolyline& p )
+        : DRW_Entity( p )
+        , vertexnum( 0 )
+        , flags( p.flags )
+        , width( p.width )
+        , elevation( p.elevation )
+        , thickness( p.thickness )
+        , extPoint( p.extPoint )
+        , vertex( nullptr )
+    {
+      for ( unsigned i = 0; i < p.vertlist.size(); i++ )// RLZ ok or new
+        vertlist.push_back( new DRW_Vertex2D( *( p.vertlist.at( i ) ) ) );
+    }
+
+    ~DRW_LWPolyline()
+    {
+      while ( !vertlist.empty() )
+      {
+        vertlist.pop_back();
+      }
+    }
+    virtual void applyExtrusion();
+    void addVertex( DRW_Vertex2D v )
+    {
+      DRW_Vertex2D *vert = new DRW_Vertex2D();
+      vert->x = v.x;
+      vert->y = v.y;
+      vert->stawidth = v.stawidth;
+      vert->endwidth = v.endwidth;
+      vert->bulge = v.bulge;
+      vertlist.push_back( vert );
+    }
+    DRW_Vertex2D *addVertex()
+    {
+      DRW_Vertex2D *vert = new DRW_Vertex2D();
+      vert->stawidth = 0;
+      vert->endwidth = 0;
+      vert->bulge = 0;
+      vertlist.push_back( vert );
+      return vert;
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version v, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    std::vector<DRW_Vertex2D *>::size_type vertexnum; /*!< number of vertices, code 90 */
+    int flags;                                        /*!< polyline flag, code 70, default 0 */
+    double width;                                     /*!< constant width, code 43 */
+    double elevation;                                 /*!< elevation, code 38 */
+    double thickness;                                 /*!< thickness, code 39 */
+    DRW_Coord extPoint;                               /*!< Dir extrusion normal vector, code 210, 220 & 230 */
+    DRW_Vertex2D *vertex;                             /*!< current vertex to add data */
+    std::vector<DRW_Vertex2D *> vertlist;             /*!< vertex list */
+};
+
+/** Class to handle insert entries
+ *  @author Rallaz
+ */
+class DRW_Text : public DRW_Line
+{
+    SETENTFRIENDS
+  public:
+    //! Vertical alignments.
+    enum VAlign
+    {
+      VBaseLine = 0,  /*!< Top = 0 */
+      VBottom,        /*!< Bottom = 1 */
+      VMiddle,        /*!< Middle = 2 */
+      VTop            /*!< Top = 3 */
+    };
+
+    //! Horizontal alignments.
+    enum HAlign
+    {
+      HLeft = 0,     /*!< Left = 0 */
+      HCenter,       /*!< Centered = 1 */
+      HRight,        /*!< Right = 2 */
+      HAligned,      /*!< Aligned = 3 (if VAlign==0) */
+      HMiddle,       /*!< middle = 4 (if VAlign==0) */
+      HFit           /*!< fit into point = 5 (if VAlign==0) */
+    };
+
+    DRW_Text( enum DRW::ETYPE type = DRW::TEXT )
+        : DRW_Line( type )
+        , height( 0. )
+        , angle( 0. )
+        , widthscale( 1. )
+        , oblique( 0. )
+        , style( "STANDARD" )
+        , textgen( 0 )
+        , alignH( HLeft )
+        , alignV( VBaseLine )
+    {
+    }
+
+    virtual void applyExtrusion() {} //RLZ TODO
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    double height;             /*!< height text, code 40 */
+    UTF8STRING text;           /*!< text string, code 1 */
+    double angle;              /*!< rotation angle in degrees (360), code 50 */
+    double widthscale;         /*!< width factor, code 41 */
+    double oblique;            /*!< oblique angle, code 51 */
+    UTF8STRING style;          /*!< style name, code 7 */
+    int textgen;               /*!< text generation, code 71 */
+    enum HAlign alignH;        /*!< horizontal align, code 72 */
+    enum VAlign alignV;        /*!< vertical align, code 73 */
+    dwgHandle styleH;          /*!< handle for text style */
+};
+
+/** Class to handle insert entries
+ *  @author Rallaz
+ */
+class DRW_MText : public DRW_Text
+{
+    SETENTFRIENDS
+  public:
+    //! Attachments.
+    enum Attach
+    {
+      TopLeft = 1,
+      TopCenter,
+      TopRight,
+      MiddleLeft,
+      MiddleCenter,
+      MiddleRight,
+      BottomLeft,
+      BottomCenter,
+      BottomRight
+    };
+
+    DRW_MText()
+    {
+      eType = DRW::MTEXT;
+      interlin = 1;
+      alignV = ( VAlign )TopLeft;
+      textgen = 1;
+      haveXAxis = false;    //if true needed to recalculate angle
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    void updateAngle();    //recalculate angle if 'haveXAxis' is true
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    double interlin;     /*!< width factor, code 44 */
+  private:
+    bool haveXAxis;
+};
+
+/** Class to handle vertex for polyline entity
+ *  @author Rallaz
+ */
+class DRW_Vertex : public DRW_Point
+{
+    SETENTFRIENDS
+  public:
+    DRW_Vertex( enum DRW::ETYPE type = DRW::VERTEX )
+        : DRW_Point( type )
+        , stawidth( 0. )
+        , endwidth( 0. )
+        , bulge( 0. )
+        , flags( 0 )
+        , tgdir( 0. )
+        , vindex1( 0 )
+        , vindex2( 0 )
+        , vindex3( 0 )
+        , vindex4( 0 )
+        , identifier( 0 )
+    {
+    }
+
+    DRW_Vertex( double sx, double sy, double sz, double b )
+        : DRW_Point( DRW::VERTEX, sx, sy, sz )
+        , stawidth( 0. )
+        , endwidth( 0. )
+        , bulge( b )
+        , flags( 0 )
+        , tgdir( 0. )
+        , vindex1( 0 )
+        , vindex2( 0 )
+        , vindex3( 0 )
+        , vindex4( 0 )
+        , identifier( 0 )
+    {
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0, double el = 0 );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer* buf, duint32 bs = 0 )
+    {
+      DRW_UNUSED( version );
+      DRW_UNUSED( buf );
+      DRW_UNUSED( bs );
+      return true;
+    }
+
+  public:
+    double stawidth;          /*!< Start width, code 40 */
+    double endwidth;          /*!< End width, code 41 */
+    double bulge;             /*!< bulge, code 42 */
+
+    int flags;                /*!< vertex flag, code 70, default 0 */
+    double tgdir;             /*!< curve fit tangent direction, code 50 */
+    int vindex1;              /*!< polyface mesh vertex index, code 71, default 0 */
+    int vindex2;              /*!< polyface mesh vertex index, code 72, default 0 */
+    int vindex3;              /*!< polyface mesh vertex index, code 73, default 0 */
+    int vindex4;              /*!< polyface mesh vertex index, code 74, default 0 */
+    int identifier;           /*!< vertex identifier, code 91, default 0 */
+};
+
+/** Class to handle polyline entity
+ *  @author Rallaz
+ */
+class DRW_Polyline : public DRW_Point
+{
+    SETENTFRIENDS
+  public:
+    DRW_Polyline( enum DRW::ETYPE type = DRW::POLYLINE )
+        : DRW_Point( type )
+        , flags( 0 )
+        , defstawidth( 0. )
+        , defendwidth( 0. )
+        , vertexcount( 0 )
+        , facecount( 0 )
+        , smoothM( 0 )
+        , smoothN( 0 )
+        , curvetype( 0 )
+        , firstEH( 0 )
+        , lastEH( 0 )
+    {
+    }
+
+    ~DRW_Polyline()
+    {
+      while ( !vertlist.empty() )
+      {
+        vertlist.pop_back();
+      }
+    }
+    void addVertex( DRW_Vertex v )
+    {
+      DRW_Vertex *vert = new DRW_Vertex();
+      vert->basePoint = v.basePoint;
+      vert->stawidth = v.stawidth;
+      vert->endwidth = v.endwidth;
+      vert->bulge = v.bulge;
+      vertlist.push_back( vert );
+    }
+    void appendVertex( DRW_Vertex *v )
+    {
+      vertlist.push_back( v );
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    int flags;               /*!< polyline flag, code 70, default 0 */
+    double defstawidth;      /*!< Start width, code 40, default 0 */
+    double defendwidth;      /*!< End width, code 41, default 0 */
+    int vertexcount;         /*!< polygon mesh M vertex or  polyface vertex num, code 71, default 0 */
+    int facecount;           /*!< polygon mesh N vertex or  polyface face num, code 72, default 0 */
+    int smoothM;             /*!< smooth surface M density, code 73, default 0 */
+    int smoothN;             /*!< smooth surface M density, code 74, default 0 */
+    int curvetype;           /*!< curves & smooth surface type, code 75, default 0 */
+
+    std::vector<DRW_Vertex *> vertlist;  /*!< vertex list */
+
+  private:
+    std::list<duint32> handleList;  // list of handles, only in 2004+
+    duint32 firstEH;                // handle of first entity, only in pre-2004
+    duint32 lastEH;                 // handle of last entity, only in pre-2004
+    dwgHandle seqEndH;              // handle of SEQEND entity
+};
+
+
+/** Class to handle spline entity
+ *  @author Rallaz
+ */
+class DRW_Spline : public DRW_Entity
+{
+    SETENTFRIENDS
+  public:
+    DRW_Spline()
+        : DRW_Entity( DRW::SPLINE )
+        , flags( 0 )
+        , degree( 0 )
+        , nknots( 0 )
+        , ncontrol( 0 )
+        , nfit( 0 )
+        , tolknot( 0.0000001 )
+        , tolcontrol( 0.0000001 )
+        , tolfit( 0.0000001 )
+        , controlpoint( nullptr )
+        , fitpoint( nullptr )
+    {
+    }
+    ~DRW_Spline()
+    {
+      while ( !controllist.empty() )
+      {
+        controllist.pop_back();
+      }
+      while ( !fitlist.empty() )
+      {
+        fitlist.pop_back();
+      }
+    }
+    virtual void applyExtrusion() {}
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+//  double ex;                /*!< normal vector x coordinate, code 210 */
+//  double ey;                /*!< normal vector y coordinate, code 220 */
+//  double ez;                /*!< normal vector z coordinate, code 230 */
+    DRW_Coord normalVec;      /*!< normal vector, code 210, 220, 230 */
+    DRW_Coord tgStart;        /*!< start tangent, code 12, 22, 32 */
+//  double tgsx;              /*!< start tangent x coordinate, code 12 */
+//  double tgsy;              /*!< start tangent y coordinate, code 22 */
+//  double tgsz;              /*!< start tangent z coordinate, code 32 */
+    DRW_Coord tgEnd;          /*!< end tangent, code 13, 23, 33 */
+//  double tgex;              /*!< end tangent x coordinate, code 13 */
+//  double tgey;              /*!< end tangent y coordinate, code 23 */
+//  double tgez;              /*!< end tangent z coordinate, code 33 */
+    int flags;                /*!< spline flag, code 70 */
+    int degree;               /*!< degree of the spline, code 71 */
+    dint32 nknots;            /*!< number of knots, code 72, default 0 */
+    dint32 ncontrol;          /*!< number of control points, code 73, default 0 */
+    dint32 nfit;              /*!< number of fit points, code 74, default 0 */
+    double tolknot;           /*!< knot tolerance, code 42, default 0.0000001 */
+    double tolcontrol;        /*!< control point tolerance, code 43, default 0.0000001 */
+    double tolfit;            /*!< fit point tolerance, code 44, default 0.0000001 */
+
+    std::vector<double> knotslist;         /*!< knots list, code 40 */
+    std::vector<DRW_Coord *> controllist;  /*!< control points list, code 10, 20 & 30 */
+    std::vector<DRW_Coord *> fitlist;      /*!< fit points list, code 11, 21 & 31 */
+
+  private:
+    DRW_Coord *controlpoint;   /*!< current control point to add data */
+    DRW_Coord *fitpoint;       /*!< current fit point to add data */
+};
+
+/** Class to handle hatch loop
+ *  @author Rallaz
+ */
+class DRW_HatchLoop
+{
+  public:
+    explicit DRW_HatchLoop( int t )
+        : type( t )
+        , numedges( 0 )
+    {
+    }
+
+    ~DRW_HatchLoop()
+    {
+#if 0
+      while ( !pollist.empty() )
+      {
+        pollist.pop_back();
+      }
+#endif
+      while ( !objlist.empty() )
+      {
+        objlist.pop_back();
+      }
+    }
+
+    void update()
+    {
+      numedges = objlist.size();
+    }
+
+  public:
+    int type;                                       /*!< boundary path type, code 92, polyline=2, default=0 */
+    std::vector<DRW_Entity *>::size_type numedges;  /*!< number of edges (if not a polyline), code 93 */
+//TODO: store lwpolylines as entities
+//  std::vector<DRW_LWPolyline *> pollist;          /*!< polyline list */
+    std::vector<DRW_Entity *> objlist;              /*!< entities list */
+};
+
+/** Class to handle hatch entity
+ *  @author Rallaz
+ */
+//TODO: handle lwpolylines, splines and ellipses
+class DRW_Hatch : public DRW_Point
+{
+    SETENTFRIENDS
+  public:
+    DRW_Hatch( enum DRW::ETYPE type = DRW::HATCH )
+        : DRW_Point( type )
+        , solid( 1 )
+        , associative( 0 )
+        , hstyle( 0 )
+        , hpattern( 1 )
+        , doubleflag( 0 )
+        , loopsnum( 0 )
+        , angle( 0. )
+        , scale( 0. )
+        , deflines( 0 )
+        , loop( nullptr )
+    {
+      clearEntities();
+    }
+
+    ~DRW_Hatch()
+    {
+      while ( !looplist.empty() )
+      {
+        looplist.pop_back();
+      }
+    }
+
+    void appendLoop( DRW_HatchLoop *v )
+    {
+      looplist.push_back( v );
+    }
+
+    virtual void applyExtrusion() {}
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    UTF8STRING name;                                   /*!< hatch pattern name, code 2 */
+    int solid;                                         /*!< solid fill flag, code 70, solid=1, pattern=0 */
+    int associative;                                   /*!< associativity, code 71, associatve=1, non-assoc.=0 */
+    int hstyle;                                        /*!< hatch style, code 75 */
+    int hpattern;                                      /*!< hatch pattern type, code 76 */
+    int doubleflag;                                    /*!< hatch pattern double flag, code 77, double=1, single=0 */
+    std::vector<DRW_HatchLoop *>::size_type loopsnum;  /*!< number of boundary paths (loops), code 91 */
+    double angle;                                      /*!< hatch pattern angle, code 52 */
+    double scale;                                      /*!< hatch pattern scale, code 41 */
+    int deflines;                                      /*!< number of pattern definition lines, code 78 */
+
+    std::vector<DRW_HatchLoop *> looplist;             /*!< polyline list */
+
+  private:
+    void clearEntities()
+    {
+      pt = line = nullptr;
+      pline = nullptr;
+      arc = nullptr;
+      ellipse = nullptr;
+      spline = nullptr;
+      plvert = nullptr;
+    }
+
+    void addLine()
+    {
+      clearEntities();
+      if ( loop )
+      {
+        pt = line = new DRW_Line;
+        loop->objlist.push_back( line );
+      }
+    }
+
+    void addArc()
+    {
+      clearEntities();
+      if ( loop )
+      {
+        pt = arc = new DRW_Arc;
+        loop->objlist.push_back( arc );
+      }
+    }
+
+    void addEllipse()
+    {
+      clearEntities();
+      if ( loop )
+      {
+        pt = ellipse = new DRW_Ellipse;
+        loop->objlist.push_back( ellipse );
+      }
+    }
+
+    void addSpline()
+    {
+      clearEntities();
+      if ( loop )
+      {
+        pt = nullptr;
+        spline = new DRW_Spline;
+        loop->objlist.push_back( spline );
+      }
+    }
+
+    DRW_HatchLoop *loop;       /*!< current loop to add data */
+    DRW_Line *line;
+    DRW_Arc *arc;
+    DRW_Ellipse *ellipse;
+    DRW_Spline *spline;
+    DRW_LWPolyline *pline;
+    DRW_Point *pt;
+    DRW_Vertex2D *plvert;
+    bool ispol;
+};
+
+/** Class to handle image entity
+ *  @author Rallaz
+ */
+class DRW_Image : public DRW_Line
+{
+    SETENTFRIENDS
+  public:
+    DRW_Image( enum DRW::ETYPE type = DRW::IMAGE )
+        : DRW_Line( type )
+        , ref( 0 )
+        , sizeu( 0. )
+        , sizev( 0. )
+        , dz( 0. )
+        , clip( 0 )
+        , brightness( 50 )
+        , contrast( 50 )
+        , fade( 0 )
+    {
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    duint32 ref;               /*!< Hard reference to imagedef object, code 340 */
+    DRW_Coord vVector;         /*!< V-vector of single pixel, x coordinate, code 12, 22 & 32 */
+    double sizeu;              /*!< image size in pixels, U value, code 13 */
+    double sizev;              /*!< image size in pixels, V value, code 23 */
+    double dz;                 /*!< z coordinate, code 33 */
+    int clip;                  /*!< Clipping state, code 280, 0=off 1=on */
+    int brightness;            /*!< Brightness value, code 281, (0-100) default 50 */
+    int contrast;              /*!< Brightness value, code 282, (0-100) default 50 */
+    int fade;                  /*!< Brightness value, code 283, (0-100) default 0 */
+
+};
+
+
+/** Base class for dimension entity
+ *  @author Rallaz
+ */
+class DRW_Dimension : public DRW_Entity
+{
+    SETENTFRIENDS
+  public:
+    DRW_Dimension( enum DRW::ETYPE type = DRW::DIMENSION )
+        : DRW_Entity( type )
+        , type( 0 )
+        , style( "STANDARD" )
+        , align( 5 )
+        , linesty( 1 )
+        , linefactor( 1. )
+        , rot( 0. )
+        , extPoint( 0., 0., 1. )
+        , hdir( 0 )   // correct default?
+        , angle( 0. )
+        , oblique( 0. )
+        , length( 0. )
+    {
+    }
+
+    DRW_Dimension( const DRW_Dimension &d )
+        : DRW_Entity( d )
+        , type( d.type )
+        , name( d.name )
+        , defPoint( d.defPoint )
+        , textPoint( d.textPoint )
+        , text( d.text )
+        , style( d.style )
+        , align( d.align )
+        , linesty( d.linesty )
+        , linefactor( d.linefactor )
+        , rot( d.rot )
+        , extPoint( d.extPoint )
+        , hdir( d.hdir )
+        , clonePoint( d.clonePoint )
+        , def1( d.def1 )
+        , def2( d.def2 )
+        , angle( d.angle )
+        , oblique( d.oblique )
+        , circlePoint( d.circlePoint )
+        , arcPoint( d.arcPoint )
+        , length( d.length )
+    {
+    }
+
+    virtual ~DRW_Dimension() {}
+
+    virtual void applyExtrusion() {}
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer *sBuf );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer* buf, duint32 bs = 0 )
+    {
+      DRW_UNUSED( version );
+      DRW_UNUSED( buf );
+      DRW_UNUSED( bs );
+      return true;
+    }
+
+  public:
+    DRW_Coord getDefPoint() const {return defPoint;}      /*!< Definition point, code 10, 20 & 30 */
+    void setDefPoint( const DRW_Coord &p ) {defPoint = p;}
+    DRW_Coord getTextPoint() const {return textPoint;}    /*!< Middle point of text, code 11, 21 & 31 */
+    void setTextPoint( const DRW_Coord &p ) {textPoint = p;}
+    std::string getStyle() const {return style;}          /*!< Dimension style, code 3 */
+    void setStyle( const std::string &s ) {style = s;}
+    int getAlign() const { return align;}                 /*!< attachment point, code 71 */
+    void setAlign( const int a ) { align = a;}
+    int getTextLineStyle() const { return linesty;}       /*!< Dimension text line spacing style, code 72, default 1 */
+    void setTextLineStyle( const int l ) { linesty = l;}
+    std::string getText() const {return text;}            /*!< Dimension text explicitly entered by the user, code 1 */
+    void setText( const std::string &t ) {text = t;}
+    double getTextLineFactor() const { return linefactor;} /*!< Dimension text line spacing factor, code 41, default 1? */
+    void setTextLineFactor( const double l ) { linefactor = l;}
+    double getDir() const { return rot;}                  /*!< rotation angle of the dimension text, code 53 (optional) default 0 */
+    void setDir( const double d ) { rot = d;}
+
+    DRW_Coord getExtrusion() {return extPoint;}           /*!< extrusion, code 210, 220 & 230 */
+    void setExtrusion( const DRW_Coord &p ) {extPoint = p;}
+    std::string getName() {return name;}                  /*!< Name of the block that contains the entities, code 2 */
+    void setName( const std::string &s ) {name = s;}
+//  int getType(){ return type;}                          /*!< Dimension type, code 70 */
+
+  protected:
+    DRW_Coord getPt2() const {return clonePoint;}
+    void setPt2( const DRW_Coord &p ) {clonePoint = p;}
+    DRW_Coord getPt3() const {return def1;}
+    void setPt3( const DRW_Coord &p ) {def1 = p;}
+    DRW_Coord getPt4() const {return def2;}
+    void setPt4( const DRW_Coord &p ) {def2 = p;}
+    DRW_Coord getPt5() const {return circlePoint;}
+    void setPt5( const DRW_Coord &p ) {circlePoint = p;}
+    DRW_Coord getPt6() const {return arcPoint;}
+    void setPt6( const DRW_Coord &p ) {arcPoint = p;}
+    double getAn50() const {return angle;}      /*!< Angle of rotated, horizontal, or vertical dimensions, code 50 */
+    void setAn50( const double d ) {angle = d;}
+    double getOb52() const {return oblique;}    /*!< oblique angle, code 52 */
+    void setOb52( const double d ) {oblique = d;}
+    double getRa40() const {return length;}    /*!< Leader length, code 40 */
+    void setRa40( const double d ) {length = d;}
+  public:
+    int type;                  /*!< Dimension type, code 70 */
+  private:
+    std::string name;          /*!< Name of the block that contains the entities, code 2 */
+    DRW_Coord defPoint;        /*!<  definition point, code 10, 20 & 30 (WCS) */
+    DRW_Coord textPoint;       /*!< Middle point of text, code 11, 21 & 31 (OCS) */
+    UTF8STRING text;           /*!< Dimension text explicitly entered by the user, code 1 */
+    UTF8STRING style;          /*!< Dimension style, code 3 */
+    int align;                 /*!< attachment point, code 71 */
+    int linesty;               /*!< Dimension text line spacing style, code 72, default 1 */
+    double linefactor;         /*!< Dimension text line spacing factor, code 41, default 1? (value range 0.25 to 4.00) */
+    double rot;                /*!< rotation angle of the dimension text, code 53 */
+    DRW_Coord extPoint;        /*!<  extrusion normal vector, code 210, 220 & 230 */
+
+    double hdir;               /*!< horizontal direction for the dimension, code 51, default ? */
+    DRW_Coord clonePoint;      /*!< Insertion point for clones (Baseline & Continue), code 12, 22 & 32 (OCS) */
+    DRW_Coord def1;            /*!< Definition point 1for linear & angular, code 13, 23 & 33 (WCS) */
+    DRW_Coord def2;            /*!< Definition point 2, code 14, 24 & 34 (WCS) */
+    double angle;              /*!< Angle of rotated, horizontal, or vertical dimensions, code 50 */
+    double oblique;            /*!< oblique angle, code 52 */
+
+    DRW_Coord circlePoint;     /*!< Definition point for diameter, radius & angular dims code 15, 25 & 35 (WCS) */
+    DRW_Coord arcPoint;        /*!< Point defining dimension arc, x coordinate, code 16, 26 & 36 (OCS) */
+    double length;             /*!< Leader length, code 40 */
+
+  protected:
+    dwgHandle dimStyleH;
+    dwgHandle blockH;
+};
+
+
+/** Class to handle aligned dimension entity
+ *  @author Rallaz
+ */
+class DRW_DimAligned : public DRW_Dimension
+{
+    SETENTFRIENDS
+  public:
+    DRW_DimAligned() : DRW_Dimension()
+    {
+      eType = DRW::DIMALIGNED;
+    }
+
+    explicit DRW_DimAligned( const DRW_Dimension &d ) : DRW_Dimension( d )
+    {
+      eType = DRW::DIMALIGNED;
+    }
+
+    DRW_Coord getClonepoint() const {return getPt2();}      /*!< Insertion for clones (Baseline & Continue), 12, 22 & 32 */
+    void setClonePoint( DRW_Coord &c ) {setPt2( c );}
+
+    DRW_Coord getDimPoint() const {return getDefPoint();}   /*!< dim line location point, code 10, 20 & 30 */
+    void setDimPoint( const DRW_Coord &p ) {setDefPoint( p );}
+    DRW_Coord getDef1Point() const {return getPt3();}       /*!< Definition point 1, code 13, 23 & 33 */
+    void setDef1Point( const DRW_Coord &p ) {setPt3( p );}
+    DRW_Coord getDef2Point() const {return getPt4();}       /*!< Definition point 2, code 14, 24 & 34 */
+    void setDef2Point( const DRW_Coord &p ) {setPt4( p );}
+
+  protected:
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+};
+
+/** Class to handle linear or rotated dimension entity
+ *  @author Rallaz
+ */
+class DRW_DimLinear : public DRW_DimAligned
+{
+  public:
+    DRW_DimLinear() : DRW_DimAligned()
+    {
+      eType = DRW::DIMLINEAR;
+    }
+
+    explicit DRW_DimLinear( const DRW_Dimension &d ) : DRW_DimAligned( d )
+    {
+      eType = DRW::DIMLINEAR;
+    }
+
+    double getAngle() const {return getAn50();}        /*!< Angle of rotated, horizontal, or vertical dimensions, code 50 */
+    void setAngle( const double d ) {setAn50( d );}
+    double getOblique() const {return getOb52();}      /*!< oblique angle, code 52 */
+    void setOblique( const double d ) {setOb52( d );}
+};
+
+/** Class to handle aligned, linear or rotated dimension entity
+ *  @author Rallaz
+ */
+class DRW_DimRadial : public DRW_Dimension
+{
+    SETENTFRIENDS
+  public:
+    DRW_DimRadial() : DRW_Dimension()
+    {
+      eType = DRW::DIMRADIAL;
+    }
+
+    explicit DRW_DimRadial( const DRW_Dimension &d ) : DRW_Dimension( d )
+    {
+      eType = DRW::DIMRADIAL;
+    }
+
+    DRW_Coord getCenterPoint() const {return getDefPoint();}   /*!< center point, code 10, 20 & 30 */
+    void setCenterPoint( const DRW_Coord &p ) {setDefPoint( p );}
+    DRW_Coord getDiameterPoint() const {return getPt5();}      /*!< Definition point for radius, code 15, 25 & 35 */
+    void setDiameterPoint( const DRW_Coord &p ) {setPt5( p );}
+    double getLeaderLength() const {return getRa40();}         /*!< Leader length, code 40 */
+    void setLeaderLength( const double d ) {setRa40( d );}
+
+  protected:
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+};
+
+/** Class to handle aligned, linear or rotated dimension entity
+ *  @author Rallaz
+ */
+class DRW_DimDiametric : public DRW_Dimension
+{
+    SETENTFRIENDS
+  public:
+    DRW_DimDiametric() : DRW_Dimension()
+    {
+      eType = DRW::DIMDIAMETRIC;
+    }
+
+    DRW_DimDiametric( const DRW_Dimension &d ) : DRW_Dimension( d )
+    {
+      eType = DRW::DIMDIAMETRIC;
+    }
+
+    DRW_Coord getDiameter1Point() const {return getPt5();}      /*!< First definition point for diameter, code 15, 25 & 35 */
+    void setDiameter1Point( const DRW_Coord &p ) {setPt5( p );}
+    DRW_Coord getDiameter2Point() const {return getDefPoint();} /*!< Oposite point for diameter, code 10, 20 & 30 */
+    void setDiameter2Point( const DRW_Coord &p ) {setDefPoint( p );}
+    double getLeaderLength() const {return getRa40();}          /*!< Leader length, code 40 */
+    void setLeaderLength( const double d ) {setRa40( d );}
+
+  protected:
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+};
+
+/** Class to handle angular dimension entity
+ *  @author Rallaz
+ */
+class DRW_DimAngular : public DRW_Dimension
+{
+    SETENTFRIENDS
+  public:
+    DRW_DimAngular() : DRW_Dimension()
+    {
+      eType = DRW::DIMANGULAR;
+    }
+
+    DRW_DimAngular( const DRW_Dimension &d ) : DRW_Dimension( d )
+    {
+      eType = DRW::DIMANGULAR;
+    }
+
+    DRW_Coord getFirstLine1() const {return getPt3();}       /*!< Definition point line 1-1, code 13, 23 & 33 */
+    void setFirstLine1( const DRW_Coord &p ) {setPt3( p );}
+    DRW_Coord getFirstLine2() const {return getPt4();}       /*!< Definition point line 1-2, code 14, 24 & 34 */
+    void setFirstLine2( const DRW_Coord &p ) {setPt4( p );}
+    DRW_Coord getSecondLine1() const {return getPt5();}      /*!< Definition point line 2-1, code 15, 25 & 35 */
+    void setSecondLine1( const DRW_Coord &p ) {setPt5( p );}
+    DRW_Coord getSecondLine2() const {return getDefPoint();} /*!< Definition point line 2-2, code 10, 20 & 30 */
+    void setSecondLine2( const DRW_Coord &p ) {setDefPoint( p );}
+    DRW_Coord getDimPoint() const {return getPt6();}         /*!< Dimension definition point, code 16, 26 & 36 */
+    void setDimPoint( const DRW_Coord &p ) {setPt6( p );}
+
+  protected:
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+};
+
+
+/** Class to handle angular 3p dimension entity
+ *  @author Rallaz
+ */
+class DRW_DimAngular3p : public DRW_Dimension
+{
+    SETENTFRIENDS
+  public:
+    DRW_DimAngular3p() : DRW_Dimension()
+    {
+      eType = DRW::DIMANGULAR3P;
+    }
+
+    DRW_DimAngular3p( const DRW_Dimension &d ) : DRW_Dimension( d )
+    {
+      eType = DRW::DIMANGULAR3P;
+    }
+
+    DRW_Coord getFirstLine() const {return getPt3();}        /*!< Definition point line 1, code 13, 23 & 33 */
+    void setFirstLine( const DRW_Coord &p ) {setPt3( p );}
+    DRW_Coord getSecondLine() const {return getPt4();}       /*!< Definition point line 2, code 14, 24 & 34 */
+    void setSecondLine( const DRW_Coord &p ) {setPt4( p );}
+    DRW_Coord getVertexPoint() const {return getPt5();}      /*!< Vertex point, code 15, 25 & 35 */
+    void SetVertexPoint( const DRW_Coord &p ) {setPt5( p );}
+    DRW_Coord getDimPoint() const {return getDefPoint();}    /*!< Dimension definition point, code 10, 20 & 30 */
+    void setDimPoint( const DRW_Coord &p ) {setDefPoint( p );}
+
+  protected:
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+};
+
+/** Class to handle ordinate dimension entity
+ *  @author Rallaz
+ */
+class DRW_DimOrdinate : public DRW_Dimension
+{
+    SETENTFRIENDS
+  public:
+    DRW_DimOrdinate() : DRW_Dimension()
+    {
+      eType = DRW::DIMORDINATE;
+    }
+
+    DRW_DimOrdinate( const DRW_Dimension &d ) : DRW_Dimension( d )
+    {
+      eType = DRW::DIMORDINATE;
+    }
+
+    DRW_Coord getOriginPoint() const {return getDefPoint();}   /*!< Origin definition point, code 10, 20 & 30 */
+    void setOriginPoint( const DRW_Coord &p ) {setDefPoint( p );}
+    DRW_Coord getFirstLine() const {return getPt3();}          /*!< Feature location point, code 13, 23 & 33 */
+    void setFirstLine( const DRW_Coord &p ) {setPt3( p );}
+    DRW_Coord getSecondLine() const {return getPt4();}         /*!< Leader end point, code 14, 24 & 34 */
+    void setSecondLine( const DRW_Coord &p ) {setPt4( p );}
+
+  protected:
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+};
+
+
+/** Class to handle leader entity
+ *  @author Rallaz
+ */
+class DRW_Leader : public DRW_Entity
+{
+    SETENTFRIENDS
+  public:
+    DRW_Leader( enum DRW::ETYPE type = DRW::LEADER )
+        : DRW_Entity( type )
+        , arrow( 1 )
+        , leadertype( 0 )
+        , flag( 3 )
+        , hookline( 1 )
+        , hookflag( 0 )
+        , textheight( 0. )
+        , textwidth( 0. )
+        , vertnum( 0 )
+        , coloruse( 0 )
+        , annotHandle( 0 )
+        , extrusionPoint( 0., 0., 1. )
+        , vertexpoint( nullptr )
+    {
+    }
+
+    ~DRW_Leader()
+    {
+      while ( !vertexlist.empty() )
+      {
+        vertexlist.pop_back();
+      }
+    }
+
+    virtual void applyExtrusion() {}
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    UTF8STRING style;          /*!< Dimension style name, code 3 */
+    int arrow;                 /*!< Arrowhead flag, code 71, 0=Disabled; 1=Enabled */
+    int leadertype;            /*!< Leader path type, code 72, 0=Straight line segments; 1=Spline */
+    int flag;                  /*!< Leader creation flag, code 73, default 3 */
+    int hookline;              /*!< Hook line direction flag, code 74, default 1 */
+    int hookflag;              /*!< Hook line flag, code 75 */
+    double textheight;         /*!< Text annotation height, code 40 */
+    double textwidth;          /*!< Text annotation width, code 41 */
+    int vertnum;               /*!< Number of vertices, code 76 */
+    int coloruse;              /*!< Color to use if leader's DIMCLRD = BYBLOCK, code 77 */
+    duint32 annotHandle;       /*!< Hard reference to associated annotation, code 340 */
+    DRW_Coord extrusionPoint;  /*!< Normal vector, code 210, 220 & 230 */
+    DRW_Coord horizdir;        /*!< "Horizontal" direction for leader, code 211, 221 & 231 */
+    DRW_Coord offsetblock;     /*!< Offset of last leader vertex from block, code 212, 222 & 232 */
+    DRW_Coord offsettext;      /*!< Offset of last leader vertex from annotation, code 213, 223 & 233 */
+
+    std::vector<DRW_Coord *> vertexlist;  /*!< vertex points list, code 10, 20 & 30 */
+
+  private:
+    DRW_Coord *vertexpoint;   /*!< current control point to add data */
+    dwgHandle dimStyleH;
+    dwgHandle AnnotH;
+};
+
+/** Class to handle viewport entity
+ *  @author Rallaz
+ */
+class DRW_Viewport : public DRW_Point
+{
+    SETENTFRIENDS
+  public:
+    DRW_Viewport( enum DRW::ETYPE type = DRW::VIEWPORT )
+        : DRW_Point( type )
+        , pswidth( 205 )
+        , psheight( 156 )
+        , vpstatus( 0 )
+        , vpID( 0 )
+        , centerPX( 128.5 )
+        , centerPY( 97.5 )
+        , snapPX( 0. )
+        , snapPY( 0. )
+        , snapSpPX( 0. )
+        , snapSpPY( 0. )
+        , viewLength( 0. )
+        , frontClip( 0. )
+        , backClip( 0. )
+        , viewHeight( 0. )
+        , snapAngle( 0. )
+        , twistAngle( 0. )
+        , frozenLyCount( 0 )
+    {
+    }
+
+    virtual void applyExtrusion() {}
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    double pswidth;           /*!< Width in paper space units, code 40 */
+    double psheight;          /*!< Height in paper space units, code 41 */
+    int vpstatus;             /*!< Viewport status, code 68 */
+    int vpID;                 /*!< Viewport ID, code 69 */
+    double centerPX;          /*!< view center point X, code 12 */
+    double centerPY;          /*!< view center point Y, code 22 */
+    double snapPX;            /*!< Snap base point X, code 13 */
+    double snapPY;            /*!< Snap base point Y, code 23 */
+    double snapSpPX;          /*!< Snap spacing X, code 14 */
+    double snapSpPY;          /*!< Snap spacing Y, code 24 */
+    //TODO: complete in dxf
+    DRW_Coord viewDir;        /*!< View direction vector, code 16, 26 & 36 */
+    DRW_Coord viewTarget;     /*!< View target point, code 17, 27, 37 */
+    double viewLength;        /*!< Perspective lens length, code 42 */
+    double frontClip;         /*!< Front clip plane Z value, code 43 */
+    double backClip;          /*!< Back clip plane Z value, code 44 */
+    double viewHeight;        /*!< View height in model space units, code 45 */
+    double snapAngle;         /*!< Snap angle, code 50 */
+    double twistAngle;        /*!< view twist angle, code 51 */
+
+  private:
+    duint32 frozenLyCount;
+}; //RLZ: missing 15,25, 72, 331, 90, 340, 1, 281, 71, 74, 110, 120, 130, 111, 121,131, 112,122, 132, 345,346, and more...
+
+#if 0
+//used
+DRW_Coord basePoint;      /*!<  base point, code 10, 20 & 30 */
+
+double thickness;          /*!< thickness, code 39 */
+DRW_Coord extPoint;        /*!<  Dir extrusion normal vector, code 210, 220 & 230 */
+enum DRW::ETYPE eType;     /*!< enum: entity type, code 0 */
+duint32 handle;            /*!< entity identifier, code 5 */
+std::list<std::list<DRW_Variant> > appData; /*!< list of application data, code 102 */
+duint32 parentHandle;      /*!< Soft-pointer ID/handle to owner BLOCK_RECORD object, code 330 */
+DRW::Space space;          /*!< space indicator, code 67*/
+UTF8STRING layer;          /*!< layer name, code 8 */
+UTF8STRING lineType;       /*!< line type, code 6 */
+duint32 material;          /*!< hard pointer id to material object, code 347 */
+int color;                 /*!< entity color, code 62 */
+enum DRW_LW_Conv::lineWidth lWeight; /*!< entity lineweight, code 370 */
+double ltypeScale;         /*!< linetype scale, code 48 */
+bool visible;              /*!< entity visibility, code 60 */
+int numProxyGraph;         /*!< Number of bytes in proxy graphics, code 92 */
+std::string proxyGraphics; /*!< proxy graphics bytes, code 310 */
+int color24;               /*!< 24-bit color, code 420 */
+std::string colorName;     /*!< color name, code 430 */
+int transparency;          /*!< transparency, code 440 */
+int plotStyle;             /*!< hard pointer id to plot style object, code 390 */
+DRW::ShadowMode shadow;    /*!< shadow mode, code 284 */
+bool haveExtrusion;        /*!< set to true if the entity have extrusion*/
+#endif
+
+#endif
+
+// EOF
diff --git a/src/app/dwg/libdxfrw/drw_header.cpp b/src/app/dwg/libdxfrw/drw_header.cpp
new file mode 100644
index 0000000..422724c
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_header.cpp
@@ -0,0 +1,2761 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include "drw_header.h"
+#include "intern/dxfreader.h"
+#include "intern/dxfwriter.h"
+#include "intern/drw_dbg.h"
+#include "intern/dwgbuffer.h"
+
+#include "qgslogger.h"
+#include <QStringList>
+
+#include <assert.h>
+
+DRW_Header::DRW_Header()
+    : curr( nullptr )
+    , version( DRW::AC1021 )
+    , linetypeCtrl( 0 )
+    , layerCtrl( 0 )
+    , styleCtrl( 0 )
+    , dimstyleCtrl( 0 )
+    , appidCtrl( 0 )
+    , blockCtrl( 0 )
+    , viewCtrl( 0 )
+    , ucsCtrl( 0 )
+    , vportCtrl( 0 )
+    , vpEntHeaderCtrl( 0 )
+{
+}
+
+void DRW_Header::addComment( std::string c )
+{
+  if ( !comments.empty() )
+    comments += '\n';
+  comments += c;
+}
+
+void DRW_Header::parseCode( int code, dxfReader *reader )
+{
+  if ( code == 9 )
+  {
+    curr = new DRW_Variant();
+    name = reader->getString();
+    if ( version < DRW::AC1015 && name == "$DIMUNIT" )
+      name = "$DIMLUNIT";
+    vars[name] = curr;
+    return;
+  }
+
+  assert( curr );
+
+  switch ( code )
+  {
+    case 1:
+      curr->addString( code, reader->getUtf8String() );
+      if ( name == "$ACADVER" )
+      {
+        reader->setVersion( curr->content.s, true );
+        version = reader->getVersion();
+      }
+      break;
+    case 2:
+      curr->addString( code, reader->getUtf8String() );
+      break;
+    case 3:
+      curr->addString( code, reader->getUtf8String() );
+      if ( name == "$DWGCODEPAGE" )
+      {
+        reader->setCodePage( curr->content.s );
+        curr->addString( code, reader->getCodePage() );
+      }
+      break;
+    case 6:
+      curr->addString( code, reader->getUtf8String() );
+      break;
+    case 7:
+      curr->addString( code, reader->getUtf8String() );
+      break;
+    case 8:
+      curr->addString( code, reader->getUtf8String() );
+      break;
+    case 10:
+      curr->addCoord( code, DRW_Coord( reader->getDouble(), 0.0, 0.0 ) );
+      break;
+    case 20:
+      curr->setCoordY( reader->getDouble() );
+      break;
+    case 30:
+      curr->setCoordZ( reader->getDouble() );
+      break;
+    case 40:
+      curr->addDouble( code, reader->getDouble() );
+      break;
+    case 50:
+      curr->addDouble( code, reader->getDouble() );
+      break;
+    case 62:
+      curr->addInt( code, reader->getInt32() );
+      break;
+    case 70:
+      curr->addInt( code, reader->getInt32() );
+      break;
+    case 280:
+      curr->addInt( code, reader->getInt32() );
+      break;
+    case 290:
+      curr->addInt( code, reader->getInt32() );
+      break;
+    case 370:
+      curr->addInt( code, reader->getInt32() );
+      break;
+    case 380:
+      curr->addInt( code, reader->getInt32() );
+      break;
+    case 390:
+      curr->addString( code, reader->getUtf8String() );
+      break;
+    default:
+      break;
+  }
+}
+
+void DRW_Header::write( dxfWriter *writer, DRW::Version ver )
+{
+  /*RLZ: TODO complete all vars to AC1024*/
+  double varDouble;
+  int varInt;
+  std::string varStr;
+  DRW_Coord varCoord;
+  writer->writeString( 2, "HEADER" );
+  writer->writeString( 9, "$ACADVER" );
+  switch ( ver )
+  {
+    case DRW::AC1006: //unsupported version acad 10
+    case DRW::AC1009: //acad 11 & 12
+      varStr = "AC1009";
+      break;
+    case DRW::AC1012: //unsupported version acad 13
+    case DRW::AC1014: //acad 14
+      varStr = "AC1014";
+      break;
+    case DRW::AC1015: //acad 2000
+      varStr = "AC1015";
+      break;
+    case DRW::AC1018: //acad 2004
+      varStr = "AC1018";
+      break;
+      /*    case DRW::AC1021: //acad 2007
+              varStr = "AC1021";
+              break;*/
+    case DRW::AC1024: //acad 2010
+      varStr = "AC1024";
+      break;
+    case DRW::AC1027: //acad 2013
+      varStr = "AC1027";
+      break;
+    default: //acad 2007 default version
+      varStr = "AC1021";
+      break;
+  }
+  writer->writeString( 1, varStr );
+  writer->setVersion( &varStr, true );
+
+  getStr( "$ACADVER", &varStr );
+  getStr( "$ACADMAINTVER", &varStr );
+
+  if ( !getStr( "$DWGCODEPAGE", &varStr ) )
+  {
+    varStr = "ANSI_1252";
+  }
+  writer->writeString( 9, "$DWGCODEPAGE" );
+  writer->setCodePage( &varStr );
+  writer->writeString( 3, writer->getCodePage() );
+  writer->writeString( 9, "$INSBASE" );
+  if ( getCoord( "$INSBASE", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 0.0 );
+    writer->writeDouble( 30, 0.0 );
+  }
+  writer->writeString( 9, "$EXTMIN" );
+  if ( getCoord( "$EXTMIN", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 1.0000000000000000E+020 );
+    writer->writeDouble( 20, 1.0000000000000000E+020 );
+    writer->writeDouble( 30, 1.0000000000000000E+020 );
+  }
+  writer->writeString( 9, "$EXTMAX" );
+  if ( getCoord( "$EXTMAX", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, -1.0000000000000000E+020 );
+    writer->writeDouble( 20, -1.0000000000000000E+020 );
+    writer->writeDouble( 30, -1.0000000000000000E+020 );
+  }
+  writer->writeString( 9, "$LIMMIN" );
+  if ( getCoord( "$LIMMIN", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+  }
+  else
+  {
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 0.0 );
+  }
+  writer->writeString( 9, "$LIMMAX" );
+  if ( getCoord( "$LIMMAX", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+  }
+  else
+  {
+    writer->writeDouble( 10, 420.0 );
+    writer->writeDouble( 20, 297.0 );
+  }
+  writer->writeString( 9, "$ORTHOMODE" );
+  if ( getInt( "$ORTHOMODE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$REGENMODE" );
+  if ( getInt( "$REGENMODE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$FILLMODE" );
+  if ( getInt( "$FILLMODE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$QTEXTMODE" );
+  if ( getInt( "$QTEXTMODE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$MIRRTEXT" );
+  if ( getInt( "$MIRRTEXT", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  if ( ver == DRW::AC1009 )
+  {
+    writer->writeString( 9, "$DRAGMODE" );
+    if ( getInt( "$DRAGMODE", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 2 );
+  }
+  writer->writeString( 9, "$LTSCALE" );
+  if ( getDouble( "$LTSCALE", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 1.0 );
+  if ( ver == DRW::AC1009 )
+  {
+    writer->writeString( 9, "$OSMODE" );
+    if ( getInt( "$OSMODE", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+  }
+  writer->writeString( 9, "$ATTMODE" );
+  if ( getInt( "$ATTMODE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$TEXTSIZE" );
+  if ( getDouble( "$TEXTSIZE", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 2.5 );
+  writer->writeString( 9, "$TRACEWID" );
+  if ( getDouble( "$TRACEWID", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 15.68 );
+  writer->writeString( 9, "$TEXTSTYLE" );
+  if ( getStr( "$TEXTSTYLE", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 7, varStr );
+    else
+      writer->writeUtf8String( 7, varStr );
+  else
+    writer->writeString( 7, "STANDARD" );
+  writer->writeString( 9, "$CLAYER" );
+  if ( getStr( "$CLAYER", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 8, varStr );
+    else
+      writer->writeUtf8String( 8, varStr );
+  else
+    writer->writeString( 8, "0" );
+  writer->writeString( 9, "$CELTYPE" );
+  if ( getStr( "$CELTYPE", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 6, varStr );
+    else
+      writer->writeUtf8String( 6, varStr );
+  else
+    writer->writeString( 6, "BYLAYER" );
+  writer->writeString( 9, "$CECOLOR" );
+  if ( getInt( "$CECOLOR", &varInt ) )
+    writer->writeInt16( 62, varInt );
+  else
+    writer->writeInt16( 62, 256 );
+  if ( ver > DRW::AC1009 )
+  {
+    writer->writeString( 9, "$CELTSCALE" );
+    if ( getDouble( "$CELTSCALE", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 1.0 );
+    writer->writeString( 9, "$DISPSILH" );
+    if ( getInt( "$DISPSILH", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+  }
+
+  writer->writeString( 9, "$DIMSCALE" );
+  if ( getDouble( "$DIMSCALE", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 2.5 );
+  writer->writeString( 9, "$DIMASZ" );
+  if ( getDouble( "$DIMASZ", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 2.5 );
+  writer->writeString( 9, "$DIMEXO" );
+  if ( getDouble( "$DIMEXO", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.625 );
+  writer->writeString( 9, "$DIMDLI" );
+  if ( getDouble( "$DIMDLI", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 3.75 );
+  writer->writeString( 9, "$DIMRND" );
+  if ( getDouble( "$DIMRND", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$DIMDLE" );
+  if ( getDouble( "$DIMDLE", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$DIMEXE" );
+  if ( getDouble( "$DIMEXE", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 1.25 );
+  writer->writeString( 9, "$DIMTP" );
+  if ( getDouble( "$DIMTP", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$DIMTM" );
+  if ( getDouble( "$DIMTM", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$DIMTXT" );
+  if ( getDouble( "$DIMTXT", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 2.5 );
+  writer->writeString( 9, "$DIMCEN" );
+  if ( getDouble( "$DIMCEN", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 2.5 );
+  writer->writeString( 9, "$DIMTSZ" );
+  if ( getDouble( "$DIMTSZ", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$DIMTOL" );
+  if ( getInt( "$DIMTOL", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMLIM" );
+  if ( getInt( "$DIMLIM", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMTIH" );
+  if ( getInt( "$DIMTIH", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMTOH" );
+  if ( getInt( "$DIMTOH", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMSE1" );
+  if ( getInt( "$DIMSE1", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMSE2" );
+  if ( getInt( "$DIMSE2", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMTAD" );
+  if ( getInt( "$DIMTAD", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$DIMZIN" );
+  if ( getInt( "$DIMZIN", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 8 );
+  writer->writeString( 9, "$DIMBLK" );
+  if ( getStr( "$DIMBLK", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 1, varStr );
+    else
+      writer->writeUtf8String( 1, varStr );
+  else
+    writer->writeString( 1, "" );
+  writer->writeString( 9, "$DIMASO" );
+  if ( getInt( "$DIMASO", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$DIMSHO" );
+  if ( getInt( "$DIMSHO", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$DIMPOST" );
+  if ( getStr( "$DIMPOST", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 1, varStr );
+    else
+      writer->writeUtf8String( 1, varStr );
+  else
+    writer->writeString( 1, "" );
+  writer->writeString( 9, "$DIMAPOST" );
+  if ( getStr( "$DIMAPOST", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 1, varStr );
+    else
+      writer->writeUtf8String( 1, varStr );
+  else
+    writer->writeString( 1, "" );
+  writer->writeString( 9, "$DIMALT" );
+  if ( getInt( "$DIMALT", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMALTD" );
+  if ( getInt( "$DIMALTD", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 3 );
+  writer->writeString( 9, "$DIMALTF" );
+  if ( getDouble( "$DIMALTF", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.03937 );
+  writer->writeString( 9, "$DIMLFAC" );
+  if ( getDouble( "$DIMLFAC", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 1.0 );
+  writer->writeString( 9, "$DIMTOFL" );
+  if ( getInt( "$DIMTOFL", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$DIMTVP" );
+  if ( getDouble( "$DIMTVP", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$DIMTIX" );
+  if ( getInt( "$DIMTIX", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMSOXD" );
+  if ( getInt( "$DIMSOXD", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMSAH" );
+  if ( getInt( "$DIMSAH", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMBLK1" );
+  if ( getStr( "$DIMBLK1", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 1, varStr );
+    else
+      writer->writeUtf8String( 1, varStr );
+  else
+    writer->writeString( 1, "" );
+  writer->writeString( 9, "$DIMBLK2" );
+  if ( getStr( "$DIMBLK2", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 1, varStr );
+    else
+      writer->writeUtf8String( 1, varStr );
+  else
+    writer->writeString( 1, "" );
+  writer->writeString( 9, "$DIMSTYLE" );
+  if ( getStr( "$DIMSTYLE", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 2, varStr );
+    else
+      writer->writeUtf8String( 2, varStr );
+  else
+    writer->writeString( 2, "STANDARD" );
+  writer->writeString( 9, "$DIMCLRD" );
+  if ( getInt( "$DIMCLRD", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMCLRE" );
+  if ( getInt( "$DIMCLRE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMCLRT" );
+  if ( getInt( "$DIMCLRT", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$DIMTFAC" );
+  if ( getDouble( "$DIMTFAC", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 1.0 );
+  writer->writeString( 9, "$DIMGAP" );
+  if ( getDouble( "$DIMGAP", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.625 );
+  //post r12 dim vars
+  if ( ver > DRW::AC1009 )
+  {
+    writer->writeString( 9, "$DIMJUST" );
+    if ( getInt( "$DIMJUST", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMSD1" );
+    if ( getInt( "$DIMSD1", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMSD2" );
+    if ( getInt( "$DIMSD2", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMTOLJ" );
+    if ( getInt( "$DIMTOLJ", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMTZIN" );
+    if ( getInt( "$DIMTZIN", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 8 );
+    writer->writeString( 9, "$DIMALTZ" );
+    if ( getInt( "$DIMALTZ", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMALTTZ" );
+    if ( getInt( "$DIMALTTZ", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMUPT" );
+    if ( getInt( "$DIMUPT", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMDEC" );
+    if ( getInt( "$DIMDEC", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 2 );
+    writer->writeString( 9, "$DIMTDEC" );
+    if ( getInt( "$DIMTDEC", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 2 );
+    writer->writeString( 9, "$DIMALTU" );
+    if ( getInt( "$DIMALTU", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 2 );
+    writer->writeString( 9, "$DIMALTTD" );
+    if ( getInt( "$DIMALTTD", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 3 );
+    writer->writeString( 9, "$DIMTXSTY" );
+    if ( getStr( "$DIMTXSTY", &varStr ) )
+      if ( ver == DRW::AC1009 )
+        writer->writeUtf8Caps( 7, varStr );
+      else
+        writer->writeUtf8String( 7, varStr );
+    else
+      writer->writeString( 7, "STANDARD" );
+    writer->writeString( 9, "$DIMAUNIT" );
+    if ( getInt( "$DIMAUNIT", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMADEC" );
+    if ( getInt( "$DIMADEC", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMALTRND" );
+    if ( getDouble( "$DIMALTRND", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 0.0 );
+    writer->writeString( 9, "$DIMAZIN" );
+    if ( getInt( "$DIMAZIN", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMDSEP" );
+    if ( getInt( "$DIMDSEP", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 44 );
+    writer->writeString( 9, "$DIMATFIT" );
+    if ( getInt( "$DIMATFIT", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 3 );
+    writer->writeString( 9, "$DIMFRAC" );
+    if ( getInt( "$DIMFRAC", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$DIMLDRBLK" );
+    if ( getStr( "$DIMLDRBLK", &varStr ) )
+      if ( ver == DRW::AC1009 )
+        writer->writeUtf8Caps( 1, varStr );
+      else
+        writer->writeUtf8String( 1, varStr );
+    else
+      writer->writeString( 1, "STANDARD" );
+    //verify if exist "$DIMLUNIT" or obsolete "$DIMUNIT" (pre v2000)
+    if ( !getInt( "$DIMLUNIT", &varInt ) )
+    {
+      if ( !getInt( "$DIMUNIT", &varInt ) )
+        varInt = 2;
+    }
+    //verify valid values from 1 to 6
+    if ( varInt < 1 || varInt > 6 )
+      varInt = 2;
+    if ( ver > DRW::AC1014 )
+    {
+      writer->writeString( 9, "$DIMLUNIT" );
+      writer->writeInt16( 70, varInt );
+    }
+    else
+    {
+      writer->writeString( 9, "$DIMUNIT" );
+      writer->writeInt16( 70, varInt );
+    }
+    writer->writeString( 9, "$DIMLWD" );
+    if ( getInt( "$DIMLWD", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, -2 );
+    writer->writeString( 9, "$DIMLWE" );
+    if ( getInt( "$DIMLWE", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, -2 );
+    writer->writeString( 9, "$DIMTMOVE" );
+    if ( getInt( "$DIMTMOVE", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+
+    if ( ver > DRW::AC1018 )  // and post v2004 dim vars
+    {
+      writer->writeString( 9, "$DIMFXL" );
+      if ( getDouble( "$DIMFXL", &varDouble ) )
+        writer->writeDouble( 40, varDouble );
+      else
+        writer->writeDouble( 40, 1.0 );
+      writer->writeString( 9, "$DIMFXLON" );
+      if ( getInt( "$DIMFXLON", &varInt ) )
+        writer->writeInt16( 70, varInt );
+      else
+        writer->writeInt16( 70, 0 );
+      writer->writeString( 9, "$DIMJOGANG" );
+      if ( getDouble( "$DIMJOGANG", &varDouble ) )
+        writer->writeDouble( 40, varDouble );
+      else
+        writer->writeDouble( 40, 0.7854 );
+      writer->writeString( 9, "$DIMTFILL" );
+      if ( getInt( "$DIMTFILL", &varInt ) )
+        writer->writeInt16( 70, varInt );
+      else
+        writer->writeInt16( 70, 0 );
+      writer->writeString( 9, "$DIMTFILLCLR" );
+      if ( getInt( "$DIMTFILLCLR", &varInt ) )
+        writer->writeInt16( 70, varInt );
+      else
+        writer->writeInt16( 70, 0 );
+      writer->writeString( 9, "$DIMARCSYM" );
+      if ( getInt( "$DIMARCSYM", &varInt ) )
+        writer->writeInt16( 70, varInt );
+      else
+        writer->writeInt16( 70, 0 );
+      writer->writeString( 9, "$DIMLTYPE" );
+      if ( getStr( "$DIMLTYPE", &varStr ) )
+        if ( ver == DRW::AC1009 )
+          writer->writeUtf8Caps( 6, varStr );
+        else
+          writer->writeUtf8String( 6, varStr );
+      else
+        writer->writeString( 6, "" );
+      writer->writeString( 9, "$DIMLTEX1" );
+      if ( getStr( "$DIMLTEX1", &varStr ) )
+        if ( ver == DRW::AC1009 )
+          writer->writeUtf8Caps( 6, varStr );
+        else
+          writer->writeUtf8String( 6, varStr );
+      else
+        writer->writeString( 6, "" );
+      writer->writeString( 9, "$DIMLTEX2" );
+      if ( getStr( "$DIMLTEX2", &varStr ) )
+        if ( ver == DRW::AC1009 )
+          writer->writeUtf8Caps( 6, varStr );
+        else
+          writer->writeUtf8String( 6, varStr );
+      else
+        writer->writeString( 6, "" );
+      if ( ver > DRW::AC1021 )  // and post v2007 dim vars
+      {
+        writer->writeString( 9, "$DIMTXTDIRECTION" );
+        if ( getInt( "$DIMTXTDIRECTION", &varInt ) )
+          writer->writeInt16( 70, varInt );
+        else
+          writer->writeInt16( 70, 0 );
+      }
+    }// end post v2004 dim vars
+  }//end post r12 dim vars
+
+  writer->writeString( 9, "$LUNITS" );
+  if ( getInt( "$LUNITS", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 2 );
+  writer->writeString( 9, "$LUPREC" );
+  if ( getInt( "$LUPREC", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 4 );
+  writer->writeString( 9, "$SKETCHINC" );
+  if ( getDouble( "$SKETCHINC", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 1.0 );
+  writer->writeString( 9, "$FILLETRAD" );
+  if ( getDouble( "$FILLETRAD", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$AUNITS" );
+  if ( getInt( "$AUNITS", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$AUPREC" );
+  if ( getInt( "$AUPREC", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 2 );
+  writer->writeString( 9, "$MENU" );
+  if ( getStr( "$MENU", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 1, varStr );
+    else
+      writer->writeUtf8String( 1, varStr );
+  else
+    writer->writeString( 1, "." );
+  writer->writeString( 9, "$ELEVATION" );
+  if ( getDouble( "$ELEVATION", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$PELEVATION" );
+  if ( getDouble( "$PELEVATION", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$THICKNESS" );
+  if ( getDouble( "$THICKNESS", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$LIMCHECK" );
+  if ( getInt( "$LIMCHECK", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  if ( ver < DRW::AC1015 )
+  {
+    writer->writeString( 9, "$BLIPMODE" );
+    if ( getInt( "$BLIPMODE", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+  }
+  writer->writeString( 9, "$CHAMFERA" );
+  if ( getDouble( "$CHAMFERA", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$CHAMFERB" );
+  if ( getDouble( "$CHAMFERB", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  if ( ver > DRW::AC1009 )
+  {
+    writer->writeString( 9, "$CHAMFERC" );
+    if ( getDouble( "$CHAMFERC", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 0.0 );
+    writer->writeString( 9, "$CHAMFERD" );
+    if ( getDouble( "$CHAMFERD", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 0.0 );
+  }
+  writer->writeString( 9, "$SKPOLY" );
+  if ( getInt( "$SKPOLY", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 0 );
+  //rlz: todo, times
+  writer->writeString( 9, "$USRTIMER" );
+  if ( getInt( "$USRTIMER", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$ANGBASE" );
+  if ( getDouble( "$ANGBASE", &varDouble ) )
+    writer->writeDouble( 50, varDouble );
+  else
+    writer->writeDouble( 50, 0.0 );
+  writer->writeString( 9, "$ANGDIR" );
+  if ( getInt( "$ANGDIR", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$PDMODE" );
+  if ( getInt( "$PDMODE", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 34 );
+  writer->writeString( 9, "$PDSIZE" );
+  if ( getDouble( "$PDSIZE", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$PLINEWID" );
+  if ( getDouble( "$PLINEWID", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  if ( ver < DRW::AC1012 )
+  {
+    writer->writeString( 9, "$COORDS" );
+    if ( getInt( "$COORDS", &varInt ) )
+    {
+      writer->writeInt16( 70, varInt );
+    }
+    else
+      writer->writeInt16( 70, 2 );
+  }
+  writer->writeString( 9, "$SPLFRAME" );
+  if ( getInt( "$SPLFRAME", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$SPLINETYPE" );
+  if ( getInt( "$SPLINETYPE", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 2 );
+  writer->writeString( 9, "$SPLINESEGS" );
+  if ( getInt( "$SPLINESEGS", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 8 );
+  if ( ver < DRW::AC1012 )
+  {
+    writer->writeString( 9, "$ATTDIA" );
+    if ( getInt( "$ATTDIA", &varInt ) )
+    {
+      writer->writeInt16( 70, varInt );
+    }
+    else
+      writer->writeInt16( 70, 1 );
+    writer->writeString( 9, "$ATTREQ" );
+    if ( getInt( "$ATTREQ", &varInt ) )
+    {
+      writer->writeInt16( 70, varInt );
+    }
+    else
+      writer->writeInt16( 70, 1 );
+    writer->writeString( 9, "$HANDLING" );
+    if ( getInt( "$HANDLING", &varInt ) )
+    {
+      writer->writeInt16( 70, varInt );
+    }
+    else
+      writer->writeInt16( 70, 1 );
+  }
+  writer->writeString( 9, "$HANDSEED" );
+  //RLZ        dxfHex(5, 0xFFFF);
+  writer->writeString( 5, "20000" );
+  writer->writeString( 9, "$SURFTAB1" );
+  if ( getInt( "$SURFTAB1", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 6 );
+  writer->writeString( 9, "$SURFTAB2" );
+  if ( getInt( "$SURFTAB2", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 6 );
+  writer->writeString( 9, "$SURFTYPE" );
+  if ( getInt( "$SURFTYPE", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 6 );
+  writer->writeString( 9, "$SURFU" );
+  if ( getInt( "$SURFU", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 6 );
+  writer->writeString( 9, "$SURFV" );
+  if ( getInt( "$SURFV", &varInt ) )
+  {
+    writer->writeInt16( 70, varInt );
+  }
+  else
+    writer->writeInt16( 70, 6 );
+  if ( ver > DRW::AC1009 )
+  {
+    writer->writeString( 9, "$UCSBASE" );
+    if ( getStr( "$UCSBASE", &varStr ) )
+      if ( ver == DRW::AC1009 )
+        writer->writeUtf8Caps( 2, varStr );
+      else
+        writer->writeUtf8String( 2, varStr );
+    else
+      writer->writeString( 2, "" );
+  }
+  writer->writeString( 9, "$UCSNAME" );
+  if ( getStr( "$UCSNAME", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 2, varStr );
+    else
+      writer->writeUtf8String( 2, varStr );
+  else
+    writer->writeString( 2, "" );
+  writer->writeString( 9, "$UCSORG" );
+  if ( getCoord( "$UCSORG", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 0.0 );
+    writer->writeDouble( 30, 0.0 );
+  }
+  writer->writeString( 9, "$UCSXDIR" );
+  if ( getCoord( "$UCSXDIR", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 1.0 );
+    writer->writeDouble( 20, 0.0 );
+    writer->writeDouble( 30, 0.0 );
+  }
+  writer->writeString( 9, "$UCSYDIR" );
+  if ( getCoord( "$UCSYDIR", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 1.0 );
+    writer->writeDouble( 30, 0.0 );
+  }
+  if ( ver > DRW::AC1009 ) //begin post r12 UCS vars
+  {
+    writer->writeString( 9, "$UCSORTHOREF" );
+    if ( getStr( "$UCSORTHOREF", &varStr ) )
+      if ( ver == DRW::AC1009 )
+        writer->writeUtf8Caps( 2, varStr );
+      else
+        writer->writeUtf8String( 2, varStr );
+    else
+      writer->writeString( 2, "" );
+    writer->writeString( 9, "$UCSORTHOVIEW" );
+    if ( getInt( "$UCSORTHOVIEW", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$UCSORGTOP" );
+    if ( getCoord( "$UCSORGTOP", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$UCSORGBOTTOM" );
+    if ( getCoord( "$UCSORGBOTTOM", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$UCSORGLEFT" );
+    if ( getCoord( "$UCSORGLEFT", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$UCSORGRIGHT" );
+    if ( getCoord( "$UCSORGRIGHT", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$UCSORGFRONT" );
+    if ( getCoord( "$UCSORGFRONT", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$UCSORGBACK" );
+    if ( getCoord( "$UCSORGBACK", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$PUCSBASE" );
+    if ( getStr( "$PUCSBASE", &varStr ) )
+      if ( ver == DRW::AC1009 )
+        writer->writeUtf8Caps( 2, varStr );
+      else
+        writer->writeUtf8String( 2, varStr );
+    else
+      writer->writeString( 2, "" );
+  } //end post r12 UCS vars
+  writer->writeString( 9, "$PUCSNAME" );
+  if ( getStr( "$PUCSNAME", &varStr ) )
+    if ( ver == DRW::AC1009 )
+      writer->writeUtf8Caps( 2, varStr );
+    else
+      writer->writeUtf8String( 2, varStr );
+  else
+    writer->writeString( 2, "" );
+  writer->writeString( 9, "$PUCSORG" );
+  if ( getCoord( "$PUCSORG", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 0.0 );
+    writer->writeDouble( 30, 0.0 );
+  }
+  writer->writeString( 9, "$PUCSXDIR" );
+  if ( getCoord( "$PUCSXDIR", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 1.0 );
+    writer->writeDouble( 20, 0.0 );
+    writer->writeDouble( 30, 0.0 );
+  }
+  writer->writeString( 9, "$PUCSYDIR" );
+  if ( getCoord( "$PUCSYDIR", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 1.0 );
+    writer->writeDouble( 30, 0.0 );
+  }
+  if ( ver > DRW::AC1009 ) //begin post r12 PUCS vars
+  {
+    writer->writeString( 9, "$PUCSORTHOREF" );
+    if ( getStr( "$PUCSORTHOREF", &varStr ) )
+      if ( ver == DRW::AC1009 )
+        writer->writeUtf8Caps( 2, varStr );
+      else
+        writer->writeUtf8String( 2, varStr );
+    else
+      writer->writeString( 2, "" );
+    writer->writeString( 9, "$PUCSORTHOVIEW" );
+    if ( getInt( "$PUCSORTHOVIEW", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$PUCSORGTOP" );
+    if ( getCoord( "$PUCSORGTOP", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$PUCSORGBOTTOM" );
+    if ( getCoord( "$PUCSORGBOTTOM", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$PUCSORGLEFT" );
+    if ( getCoord( "$PUCSORGLEFT", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$PUCSORGRIGHT" );
+    if ( getCoord( "$PUCSORGRIGHT", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$PUCSORGFRONT" );
+    if ( getCoord( "$PUCSORGFRONT", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+    writer->writeString( 9, "$PUCSORGBACK" );
+    if ( getCoord( "$PUCSORGBACK", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+  } //end post r12 PUCS vars
+
+  writer->writeString( 9, "$USERI1" );
+  if ( getInt( "$USERI1", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$USERI2" );
+  if ( getInt( "$USERI2", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$USERI3" );
+  if ( getInt( "$USERI3", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$USERI4" );
+  if ( getInt( "$USERI4", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$USERI5" );
+  if ( getInt( "$USERI5", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$USERR1" );
+  if ( getDouble( "$USERR1", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$USERR2" );
+  if ( getDouble( "$USERR2", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$USERR3" );
+  if ( getDouble( "$USERR3", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$USERR4" );
+  if ( getDouble( "$USERR4", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$USERR5" );
+  if ( getDouble( "$USERR5", &varDouble ) )
+    writer->writeDouble( 40, varDouble );
+  else
+    writer->writeDouble( 40, 0.0 );
+  writer->writeString( 9, "$WORLDVIEW" );
+  if ( getInt( "$WORLDVIEW", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$SHADEDGE" );
+  if ( getInt( "$SHADEDGE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 3 );
+  writer->writeString( 9, "$SHADEDIF" );
+  if ( getInt( "$SHADEDIF", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 70 );
+  writer->writeString( 9, "$TILEMODE" );
+  if ( getInt( "$TILEMODE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$MAXACTVP" );
+  if ( getInt( "$MAXACTVP", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 64 );
+  if ( ver > DRW::AC1009 ) //begin post r12 PUCS vars
+  {
+    writer->writeString( 9, "$PINSBASE" );
+    if ( getCoord( "$PINSBASE", &varCoord ) )
+    {
+      writer->writeDouble( 10, varCoord.x );
+      writer->writeDouble( 20, varCoord.y );
+      writer->writeDouble( 30, varCoord.z );
+    }
+    else
+    {
+      writer->writeDouble( 10, 0.0 );
+      writer->writeDouble( 20, 0.0 );
+      writer->writeDouble( 30, 0.0 );
+    }
+  }
+  writer->writeString( 9, "$PLIMCHECK" );
+  if ( getInt( "$PLIMCHECK", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$PEXTMIN" );
+  if ( getCoord( "$PEXTMIN", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 0.0 );
+    writer->writeDouble( 30, 0.0 );
+  }
+  writer->writeString( 9, "$PEXTMAX" );
+  if ( getCoord( "$PEXTMAX", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+    writer->writeDouble( 30, varCoord.z );
+  }
+  else
+  {
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 0.0 );
+    writer->writeDouble( 30, 0.0 );
+  }
+
+  /* RLZ: moved to active VPORT, but can write in header if present*/
+  if ( getInt( "$GRIDMODE", &varInt ) )
+  {
+    writer->writeString( 9, "$GRIDMODE" );
+    writer->writeInt16( 70, varInt );
+  }
+  if ( getInt( "$SNAPSTYLE", &varInt ) )
+  {
+    writer->writeString( 9, "$SNAPSTYLE" );
+    writer->writeInt16( 70, varInt );
+  }
+  if ( getCoord( "$GRIDUNIT", &varCoord ) )
+  {
+    writer->writeString( 9, "$GRIDUNIT" );
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+  }
+  if ( getCoord( "$VIEWCTR", &varCoord ) )
+  {
+    writer->writeString( 9, "$VIEWCTR" );
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+  }
+  /* RLZ: moved to active VPORT, but can write in header if present*/
+
+  writer->writeString( 9, "$PLIMMIN" );
+  if ( getCoord( "$PLIMMIN", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+  }
+  else
+  {
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 0.0 );
+  }
+  writer->writeString( 9, "$PLIMMAX" );
+  if ( getCoord( "$PLIMMAX", &varCoord ) )
+  {
+    writer->writeDouble( 10, varCoord.x );
+    writer->writeDouble( 20, varCoord.y );
+  }
+  else
+  {
+    writer->writeDouble( 10, 297.0 );
+    writer->writeDouble( 20, 210.0 );
+  }
+  writer->writeString( 9, "$UNITMODE" );
+  if ( getInt( "$UNITMODE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$VISRETAIN" );
+  if ( getInt( "$VISRETAIN", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  writer->writeString( 9, "$PLINEGEN" );
+  if ( getInt( "$PLINEGEN", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 0 );
+  writer->writeString( 9, "$PSLTSCALE" );
+  if ( getInt( "$PSLTSCALE", &varInt ) )
+    writer->writeInt16( 70, varInt );
+  else
+    writer->writeInt16( 70, 1 );
+  if ( ver > DRW::AC1009 ) //start port r12 vars
+  {
+    writer->writeString( 9, "$TREEDEPTH" );
+    if ( getInt( "$TREEDEPTH", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 3020 );
+    writer->writeString( 9, "$CMLSTYLE" );
+    if ( getStr( "$CMLSTYLE", &varStr ) )
+      if ( ver == DRW::AC1009 )
+        writer->writeUtf8Caps( 2, varStr );
+      else
+        writer->writeUtf8String( 2, varStr );
+    else
+      writer->writeString( 2, "Standard" );
+    writer->writeString( 9, "$CMLJUST" );
+    if ( getInt( "$CMLJUST", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 0 );
+    writer->writeString( 9, "$CMLSCALE" );
+    if ( getDouble( "$CMLSCALE", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 20.0 );
+    writer->writeString( 9, "$PROXYGRAPHICS" );
+    if ( getInt( "$PROXYGRAPHICS", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 1 );
+    writer->writeString( 9, "$MEASUREMENT" );
+    if ( getInt( "$MEASUREMENT", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 1 );
+    writer->writeString( 9, "$CELWEIGHT" );
+    if ( getInt( "$CELWEIGHT", &varInt ) )
+      writer->writeInt16( 370, varInt );
+    else
+      writer->writeInt16( 370, -1 );
+    writer->writeString( 9, "$ENDCAPS" );
+    if ( getInt( "$ENDCAPS", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 0 );
+    writer->writeString( 9, "$JOINSTYLE" );
+    if ( getInt( "$JOINSTYLE", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 0 );
+    writer->writeString( 9, "$LWDISPLAY" ); //RLZ bool flag, verify in bin version
+    if ( getInt( "$LWDISPLAY", &varInt ) )
+      writer->writeInt16( 290, varInt );
+    else
+      writer->writeInt16( 290, 0 );
+    if ( ver > DRW::AC1014 )
+    {
+      writer->writeString( 9, "$INSUNITS" );
+      if ( getInt( "$INSUNITS", &varInt ) )
+        writer->writeInt16( 70, varInt );
+      else
+        writer->writeInt16( 70, 0 );
+    }
+    writer->writeString( 9, "$HYPERLINKBASE" );
+    if ( getStr( "$HYPERLINKBASE", &varStr ) )
+      if ( ver == DRW::AC1009 )
+        writer->writeUtf8Caps( 1, varStr );
+      else
+        writer->writeUtf8String( 1, varStr );
+    else
+      writer->writeString( 1, "" );
+    writer->writeString( 9, "$STYLESHEET" );
+    if ( getStr( "$STYLESHEET", &varStr ) )
+      if ( ver == DRW::AC1009 )
+        writer->writeUtf8Caps( 1, varStr );
+      else
+        writer->writeUtf8String( 1, varStr );
+    else
+      writer->writeString( 1, "" );
+    writer->writeString( 9, "$XEDIT" ); //RLZ bool flag, verify in bin version
+    if ( getInt( "$XEDIT", &varInt ) )
+      writer->writeInt16( 290, varInt );
+    else
+      writer->writeInt16( 290, 1 );
+    writer->writeString( 9, "$CEPSNTYPE" );
+    if ( getInt( "$CEPSNTYPE", &varInt ) )
+      writer->writeInt16( 380, varInt );
+    else
+      writer->writeInt16( 380, 0 );
+    writer->writeString( 9, "$PSTYLEMODE" ); //RLZ bool flag, verify in bin version
+    if ( getInt( "$PSTYLEMODE", &varInt ) )
+      writer->writeInt16( 290, varInt );
+    else
+      writer->writeInt16( 290, 1 );
+//RLZ: here $FINGERPRINTGUID and $VERSIONGUID, do not add?
+    writer->writeString( 9, "$EXTNAMES" ); //RLZ bool flag, verify in bin version
+    if ( getInt( "$EXTNAMES", &varInt ) )
+      writer->writeInt16( 290, varInt );
+    else
+      writer->writeInt16( 290, 1 );
+    writer->writeString( 9, "$PSVPSCALE" );
+    if ( getDouble( "$PSVPSCALE", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 0.0 );
+    writer->writeString( 9, "$OLESTARTUP" ); //RLZ bool flag, verify in bin version
+    if ( getInt( "$OLESTARTUP", &varInt ) )
+      writer->writeInt16( 290, varInt );
+    else
+      writer->writeInt16( 290, 0 );
+  }
+  if ( ver > DRW::AC1015 )  // and post v2004 vars
+  {
+    writer->writeString( 9, "$SORTENTS" );
+    if ( getInt( "$SORTENTS", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 127 );
+    writer->writeString( 9, "$INDEXCTL" );
+    if ( getInt( "$INDEXCTL", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 0 );
+    writer->writeString( 9, "$HIDETEXT" );
+    if ( getInt( "$HIDETEXT", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 1 );
+    writer->writeString( 9, "$XCLIPFRAME" ); //RLZ bool flag, verify in bin version
+    if ( ver > DRW::AC1021 )
+    {
+      if ( getInt( "$XCLIPFRAME", &varInt ) )
+        writer->writeInt16( 280, varInt );
+      else
+        writer->writeInt16( 280, 0 );
+    }
+    else
+    {
+      if ( getInt( "$XCLIPFRAME", &varInt ) )
+        writer->writeInt16( 290, varInt );
+      else
+        writer->writeInt16( 290, 0 );
+    }
+    writer->writeString( 9, "$HALOGAP" );
+    if ( getInt( "$HALOGAP", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 0 );
+    writer->writeString( 9, "$OBSCOLOR" );
+    if ( getInt( "$OBSCOLOR", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 257 );
+    writer->writeString( 9, "$OBSLTYPE" );
+    if ( getInt( "$OBSLTYPE", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 0 );
+    writer->writeString( 9, "$INTERSECTIONDISPLAY" );
+    if ( getInt( "$INTERSECTIONDISPLAY", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 0 );
+    writer->writeString( 9, "$INTERSECTIONCOLOR" );
+    if ( getInt( "$INTERSECTIONCOLOR", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 257 );
+    writer->writeString( 9, "$DIMASSOC" );
+    if ( getInt( "$DIMASSOC", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 1 );
+    writer->writeString( 9, "$PROJECTNAME" );
+    if ( getStr( "$PROJECTNAME", &varStr ) )
+      writer->writeUtf8String( 1, varStr );
+    else
+      writer->writeString( 1, "" );
+  }
+  if ( ver > DRW::AC1018 )  // and post v2007 vars
+  {
+    writer->writeString( 9, "$CAMERADISPLAY" ); //RLZ bool flag, verify in bin version
+    if ( getInt( "$CAMERADISPLAY", &varInt ) )
+      writer->writeInt16( 290, varInt );
+    else
+      writer->writeInt16( 290, 0 );
+    writer->writeString( 9, "$LENSLENGTH" );
+    if ( getDouble( "$LENSLENGTH", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 50.0 );
+    writer->writeString( 9, "$CAMERAHEIGHT" );
+    if ( getDouble( "$CAMERAHEIGTH", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 0.0 );
+    writer->writeString( 9, "$STEPSPERSEC" );
+    if ( getDouble( "$STEPSPERSEC", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 2.0 );
+    writer->writeString( 9, "$STEPSIZE" );
+    if ( getDouble( "$STEPSIZE", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 50.0 );
+    writer->writeString( 9, "$3DDWFPREC" );
+    if ( getDouble( "$3DDWFPREC", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 2.0 );
+    writer->writeString( 9, "$PSOLWIDTH" );
+    if ( getDouble( "$PSOLWIDTH", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 5.0 );
+    writer->writeString( 9, "$PSOLHEIGHT" );
+    if ( getDouble( "$PSOLHEIGHT", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 80.0 );
+    writer->writeString( 9, "$LOFTANG1" );
+    if ( getDouble( "$LOFTANG1", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, M_PI_2 );
+    writer->writeString( 9, "$LOFTANG2" );
+    if ( getDouble( "$LOFTANG2", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, M_PI_2 );
+    writer->writeString( 9, "$LOFTMAG1" );
+    if ( getDouble( "$LOFTMAG1", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 0.0 );
+    writer->writeString( 9, "$LOFTMAG2" );
+    if ( getDouble( "$LOFTMAG2", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 0.0 );
+    writer->writeString( 9, "$LOFTPARAM" );
+    if ( getInt( "$LOFTPARAM", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, 7 );
+    writer->writeString( 9, "$LOFTNORMALS" );
+    if ( getInt( "$LOFTNORMALS", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 1 );
+    writer->writeString( 9, "$LATITUDE" );
+    if ( getDouble( "$LATITUDE", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 1.0 );
+    writer->writeString( 9, "$LONGITUDE" );
+    if ( getDouble( "$LONGITUDE", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 1.0 );
+    writer->writeString( 9, "$NORTHDIRECTION" );
+    if ( getDouble( "$LONGITUDE", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 0.0 );
+    writer->writeString( 9, "$TIMEZONE" );
+    if ( getInt( "$TIMEZONE", &varInt ) )
+      writer->writeInt16( 70, varInt );
+    else
+      writer->writeInt16( 70, -8000 );
+    writer->writeString( 9, "$LIGHTGLYPHDISPLAY" );
+    if ( getInt( "$LIGHTGLYPHDISPLAY", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 1 );
+    writer->writeString( 9, "$TILEMODELIGHTSYNCH" );
+    if ( getInt( "$TILEMODELIGHTSYNCH", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 1 );
+    //$CMATERIAL is a handle
+    writer->writeString( 9, "$SOLIDHIST" );
+    if ( getInt( "$SOLIDHIST", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 1 );
+    writer->writeString( 9, "$SHOWHIST" );
+    if ( getInt( "$SHOWHIST", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 1 );
+    writer->writeString( 9, "$DWFFRAME" );
+    if ( getInt( "$DWFFRAME", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 2 );
+    writer->writeString( 9, "$DGNFRAME" );
+    if ( getInt( "$DGNFRAME", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 0 );
+    writer->writeString( 9, "$REALWORLDSCALE" ); //RLZ bool flag, verify in bin version
+    if ( getInt( "$REALWORLDSCALE", &varInt ) )
+      writer->writeInt16( 290, varInt );
+    else
+      writer->writeInt16( 290, 1 );
+    writer->writeString( 9, "$INTERFERECOLOR" );
+    if ( getInt( "$INTERFERECOLOR", &varInt ) )
+      writer->writeInt16( 62, varInt );
+    else
+      writer->writeInt16( 62, 1 );
+    //$INTERFEREOBJVS is a handle
+    //$INTERFEREVPVS is a handle
+    writer->writeString( 9, "$CSHADOW" );
+    if ( getInt( "$CSHADOW", &varInt ) )
+      writer->writeInt16( 280, varInt );
+    else
+      writer->writeInt16( 280, 0 );
+    writer->writeString( 9, "$SHADOWPLANELOCATION" );
+    if ( getDouble( "$SHADOWPLANELOCATION", &varDouble ) )
+      writer->writeDouble( 40, varDouble );
+    else
+      writer->writeDouble( 40, 0.0 );
+  }
+
+  std::map<std::string, DRW_Variant *>::const_iterator it;
+  for ( it = vars.begin() ; it != vars.end(); ++it )
+  {
+    QgsDebugMsg( QString( "%1" ).arg(( *it ).first.c_str() ) );
+  }
+}
+
+void DRW_Header::addDouble( std::string key, double value, int code )
+{
+  vars[key] = curr = new DRW_Variant( code, value );
+}
+
+void DRW_Header::addInt( std::string key, int value, int code )
+{
+  vars[key] = curr = new DRW_Variant( code, value );
+}
+
+void DRW_Header::addStr( std::string key, std::string value, int code )
+{
+  vars[key] = curr = new DRW_Variant( code, value );
+}
+
+void DRW_Header::addCoord( std::string key, DRW_Coord value, int code )
+{
+  vars[key] = curr = new DRW_Variant( code, value );
+}
+
+bool DRW_Header::getDouble( std::string key, double *varDouble )
+{
+  bool result = false;
+  std::map<std::string, DRW_Variant *>::iterator it;
+  it = vars.find( key );
+  if ( it != vars.end() )
+  {
+    DRW_Variant *var = ( *it ).second;
+    if ( var->type() == DRW_Variant::DOUBLE )
+    {
+      *varDouble = var->content.d;
+      result = true;
+    }
+    delete var;
+    vars.erase( it );
+  }
+  return result;
+}
+
+bool DRW_Header::getInt( std::string key, int *varInt )
+{
+  bool result = false;
+  std::map<std::string, DRW_Variant *>::iterator it;
+  it = vars.find( key );
+  if ( it != vars.end() )
+  {
+    DRW_Variant *var = ( *it ).second;
+    if ( var->type() == DRW_Variant::INTEGER )
+    {
+      *varInt = var->content.i;
+      result = true;
+    }
+    delete var;
+    vars.erase( it );
+  }
+  return result;
+}
+
+bool DRW_Header::getStr( std::string key, std::string *varStr )
+{
+  bool result = false;
+  std::map<std::string, DRW_Variant *>::iterator it;
+  it = vars.find( key );
+  if ( it != vars.end() )
+  {
+    DRW_Variant *var = ( *it ).second;
+    if ( var->type() == DRW_Variant::STRING )
+    {
+      *varStr = *var->content.s;
+      result = true;
+    }
+    delete var;
+    vars.erase( it );
+  }
+  return result;
+}
+
+bool DRW_Header::getCoord( std::string key, DRW_Coord *varCoord )
+{
+  bool result = false;
+  std::map<std::string, DRW_Variant *>::iterator it;
+  it = vars.find( key );
+  if ( it != vars.end() )
+  {
+    DRW_Variant *var = ( *it ).second;
+    if ( var->type() == DRW_Variant::COORD )
+    {
+      *varCoord = *var->content.v;
+      result = true;
+    }
+    delete var;
+    vars.erase( it );
+  }
+  return result;
+}
+
+bool DRW_Header::parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer *hBbuf, duint8 mv )
+{
+  duint32 size = buf->getRawLong32();
+  duint32 bitSize = 0;
+  duint32 endBitPos = 160; //start bit: 16 sentinel + 4 size
+
+  QgsDebugMsg( QString( "byte size of data: %1" ).arg( size ) );
+
+  if ( version > DRW::AC1021 && mv > 3 ) //2010+
+  {
+    duint32 hSize = buf->getRawLong32();
+    endBitPos += 32; //start bit: + 4 hight size
+    QgsDebugMsg( QString( "2010+ & MV> 3, higth 32b:%1" ).arg( hSize ) );
+    Q_UNUSED( hSize );
+  }
+//RLZ TODO add $ACADVER var & $DWGCODEPAGE & $MEASUREMENT
+//RLZ TODO EN 2000 falta $CELWEIGHT, $ENDCAPS, $EXTNAMES $JOINSTYLE $LWDISPLAY $PSTYLEMODE $TDUCREATE  $TDUUPDATE $XEDIT
+
+  //bit size of data needed to locate start of string stream in 2007+
+  //and mark the start of handle stream
+  //header is one object reads data and continue read strings ???
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    bitSize = buf->getRawLong32();
+    QgsDebugMsg( QString( "size in bits: %1" ).arg( bitSize ) );
+    endBitPos += bitSize;
+    hBbuf->setPosition( endBitPos >> 3 );
+    hBbuf->setBitPos( endBitPos&7 );
+  }
+
+  if ( version > DRW::AC1024 )  //2013+
+  {
+    duint64 requiredVersions = buf->getBitLongLong();
+    QgsDebugMsg( QString( "REQUIREDVERSIONS var: %1" ).arg( requiredVersions ) );
+    Q_UNUSED( requiredVersions );
+  }
+  double unk0 = buf->getBitDouble();
+  double unk1 = buf->getBitDouble();
+  double unk2 = buf->getBitDouble();
+  double unk3 = buf->getBitDouble();
+  QgsDebugMsg( QString( "unk0:%1 unk1:%2 unk2:%3 unk3:%4" ).arg( unk0 ).arg( unk1 ).arg( unk2 ).arg( unk3 ) );
+  Q_UNUSED( unk0 );
+  Q_UNUSED( unk1 );
+  Q_UNUSED( unk2 );
+  Q_UNUSED( unk3 );
+
+  if ( version < DRW::AC1021 )  //2007-
+  {
+    std::string t;
+    t = buf->getCP8Text();
+    QgsDebugMsg( QString( "unknown0: %1" ).arg( t.c_str() ) );
+    Q_UNUSED( t );
+    t = buf->getCP8Text();
+    QgsDebugMsg( QString( "unknown1: %1" ).arg( t.c_str() ) );
+    t = buf->getCP8Text();
+    QgsDebugMsg( QString( "unknown2: %1" ).arg( t.c_str() ) );
+    t = buf->getCP8Text();
+    QgsDebugMsg( QString( "unknown3: %1" ).arg( t.c_str() ) );
+  }
+
+  int t = buf->getBitLong();
+  QgsDebugMsg( QString( "Unknown long1 (24L): %1" ).arg( t ) );
+  t = buf->getBitLong();
+  QgsDebugMsg( QString( "Unknown long2 (0L): %1" ).arg( t ) );
+
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    t = buf->getBitShort();
+    QgsDebugMsg( QString( "Unknown short (0): %1" ).arg( t ) );;
+  }
+
+  if ( version < DRW::AC1018 )  //pre 2004
+  {
+    dwgHandle hcv = hBbuf->getHandle();
+    QgsDebugMsg( QString( "handle of current view:%1.%2 0x%3" ).arg( hcv.code ).arg( hcv.size ).arg( hcv.ref, 0, 16 ) );
+  }
+  vars["DIMASO"] = new DRW_Variant( 70, buf->getBit() );
+  vars["DIMSHO"] = new DRW_Variant( 70, buf->getBit() );
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    vars["DIMSAV"] = new DRW_Variant( 70, buf->getBit() );
+  }
+  vars["PLINEGEN"] = new DRW_Variant( 70, buf->getBit() );
+  vars["ORTHOMODE"] = new DRW_Variant( 70, buf->getBit() );
+  vars["REGENMODE"] = new DRW_Variant( 70, buf->getBit() );
+  vars["FILLMODE"] = new DRW_Variant( 70, buf->getBit() );
+  vars["QTEXTMODE"] = new DRW_Variant( 70, buf->getBit() );
+  vars["PSLTSCALE"] = new DRW_Variant( 70, buf->getBit() );
+  vars["LIMCHECK"] = new DRW_Variant( 70, buf->getBit() );
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    vars["BLIPMODE"] = new DRW_Variant( 70, buf->getBit() );
+  }
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    int b = buf->getBit();
+    QgsDebugMsg( QString( "Undocumented: %1" ).arg( b ) );
+    Q_UNUSED( b );
+  }
+  vars["USRTIMER"] = new DRW_Variant( 70, buf->getBit() );
+  vars["SKPOLY"] = new DRW_Variant( 70, buf->getBit() );
+  vars["ANGDIR"] = new DRW_Variant( 70, buf->getBit() );
+  vars["SPLFRAME"] = new DRW_Variant( 70, buf->getBit() );
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    vars["ATTREQ"] = new DRW_Variant( 70, buf->getBit() );
+    vars["ATTDIA"] = new DRW_Variant( 70, buf->getBit() );
+  }
+  vars["MIRRTEXT"] = new DRW_Variant( 70, buf->getBit() );
+  vars["WORLDVIEW"] = new DRW_Variant( 70, buf->getBit() );
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    vars["WIREFRAME"] = new DRW_Variant( 70, buf->getBit() );
+  }
+  vars["TILEMODE"] = new DRW_Variant( 70, buf->getBit() );
+  vars["PLIMCHECK"] = new DRW_Variant( 70, buf->getBit() );
+  vars["VISRETAIN"] = new DRW_Variant( 70, buf->getBit() );
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    vars["DELOBJ"] = new DRW_Variant( 70, buf->getBit() );
+  }
+  vars["DISPSILH"] = new DRW_Variant( 70, buf->getBit() );
+  vars["PELLIPSE"] = new DRW_Variant( 70, buf->getBit() );
+  vars["PROXIGRAPHICS"] = new DRW_Variant( 70, buf->getBitShort() );//RLZ short or bit??
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    vars["DRAGMODE"] = new DRW_Variant( 70, buf->getBitShort() );//RLZ short or bit??
+  }
+  vars["TREEDEPTH"] = new DRW_Variant( 70, buf->getBitShort() );//RLZ short or bit??
+  vars["LUNITS"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["LUPREC"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["AUNITS"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["AUPREC"] = new DRW_Variant( 70, buf->getBitShort() );
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    vars["OSMODE"] = new DRW_Variant( 70, buf->getBitShort() );
+  }
+  vars["ATTMODE"] = new DRW_Variant( 70, buf->getBitShort() );
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    vars["COORDS"] = new DRW_Variant( 70, buf->getBitShort() );
+  }
+  vars["PDMODE"] = new DRW_Variant( 70, buf->getBitShort() );
+  if ( version < DRW::AC1015 )  //pre 2000
+  {
+    vars["PICKSTYLE"] = new DRW_Variant( 70, buf->getBitShort() );
+  }
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    int t;
+    t = buf->getBitLong();
+    QgsDebugMsg( QString( "Unknown long 1: %1" ).arg( t ) );
+    Q_UNUSED( t );
+    t = buf->getBitLong();
+    QgsDebugMsg( QString( "Unknown long 2: %1" ).arg( t ) );
+    t = buf->getBitLong();
+    QgsDebugMsg( QString( "Unknown long 3: %1" ).arg( t ) );
+  }
+  vars["USERI1"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["USERI2"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["USERI3"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["USERI4"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["USERI5"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["SPLINESEGS"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["SURFU"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["SURFV"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["SURFTYPE"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["SURFTAB1"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["SURFTAB2"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["SPLINETYPE"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["SHADEDGE"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["SHADEDIF"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["UNITMODE"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["MAXACTVP"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["ISOLINES"] = new DRW_Variant( 70, buf->getBitShort() );//////////////////
+  vars["CMLJUST"] = new DRW_Variant( 70, buf->getBitShort() );
+  vars["TEXTQLTY"] = new DRW_Variant( 70, buf->getBitShort() );/////////////////////
+  vars["LTSCALE"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["TEXTSIZE"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["TRACEWID"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["SKETCHINC"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["FILLETRAD"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["THICKNESS"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["ANGBASE"] = new DRW_Variant( 50, buf->getBitDouble() );
+  vars["PDSIZE"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["PLINEWID"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["USERR1"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["USERR2"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["USERR3"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["USERR4"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["USERR5"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["CHAMFERA"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["CHAMFERB"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["CHAMFERC"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["CHAMFERD"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["FACETRES"] = new DRW_Variant( 40, buf->getBitDouble() );/////////////////////////
+  vars["CMLSCALE"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["CELTSCALE"] = new DRW_Variant( 40, buf->getBitDouble() );
+  if ( version < DRW::AC1021 )  //2004-
+  {
+    vars["MENU"] = new DRW_Variant( 1, buf->getCP8Text() );
+  }
+  ddouble64 msec, day;
+  day = buf->getBitLong();
+  msec = buf->getBitLong();
+  while ( msec > 0 )
+    msec /= 10;
+  vars["TDCREATE"] = new DRW_Variant( 40, day + msec );//RLZ: TODO convert to day.msec
+//    vars["TDCREATE"]=new DRW_Variant(40, buf->getBitLong());//RLZ: TODO convert to day.msec
+//    vars["TDCREATE"]=new DRW_Variant(40, buf->getBitLong());
+  day = buf->getBitLong();
+  msec = buf->getBitLong();
+  while ( msec > 0 )
+    msec /= 10;
+  vars["TDUPDATE"] = new DRW_Variant( 40, day + msec );//RLZ: TODO convert to day.msec
+//    vars["TDUPDATE"]=new DRW_Variant(40, buf->getBitLong());//RLZ: TODO convert to day.msec
+//    vars["TDUPDATE"]=new DRW_Variant(40, buf->getBitLong());
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    int t;
+    t = buf->getBitLong();
+    QgsDebugMsg( QString( "Unknown long 4: %1" ).arg( t ) );
+    Q_UNUSED( t );
+    t = buf->getBitLong();
+    QgsDebugMsg( QString( "Unknown long 5: %1" ).arg( t ) );
+    t = buf->getBitLong();
+    QgsDebugMsg( QString( "Unknown long 6: %1" ).arg( t ) );
+  }
+  day = buf->getBitLong();
+  msec = buf->getBitLong();
+  while ( msec > 0 )
+    msec /= 10;
+  vars["TDINDWG"] = new DRW_Variant( 40, day + msec );//RLZ: TODO convert to day.msec
+//    vars["TDINDWG"]=new DRW_Variant(40, buf->getBitLong());//RLZ: TODO convert to day.msec
+//    vars["TDINDWG"]=new DRW_Variant(40, buf->getBitLong());//RLZ: TODO convert to day.msec
+  day = buf->getBitLong();
+  msec = buf->getBitLong();
+  while ( msec > 0 )
+    msec /= 10;
+  vars["TDUSRTIMER"] = new DRW_Variant( 40, day + msec );//RLZ: TODO convert to day.msec
+//    vars["TDUSRTIMER"]=new DRW_Variant(40, buf->getBitLong());//RLZ: TODO convert to day.msec
+//    vars["TDUSRTIMER"]=new DRW_Variant(40, buf->getBitLong());//RLZ: TODO convert to day.msec
+  vars["CECOLOR"] = new DRW_Variant( 62, buf->getCmColor( version ) );//RLZ: TODO read CMC or EMC color
+  dwgHandle HANDSEED = buf->getHandle();//allways present in data stream
+  QgsDebugMsg( QString( "HANDSEED: %1.%2 0x%3" ).arg( HANDSEED.code ).arg( HANDSEED.size ).arg( HANDSEED.ref, 0, 16 ) );
+  dwgHandle CLAYER = hBbuf->getHandle();
+  QgsDebugMsg( QString( "CLAYER: %1.%2 0x%3" ).arg( CLAYER.code ).arg( CLAYER.size ).arg( CLAYER.ref, 0, 16 ) );
+  dwgHandle TEXTSTYLE = hBbuf->getHandle();
+  QgsDebugMsg( QString( "TEXTSTYLE: %1.%2 0x%3" ).arg( TEXTSTYLE.code ).arg( TEXTSTYLE.size ).arg( TEXTSTYLE.ref, 0, 16 ) );
+  dwgHandle CELTYPE = hBbuf->getHandle();
+  QgsDebugMsg( QString( "CELTYPE: %1.%2 0x%3" ).arg( CELTYPE.code ).arg( CELTYPE.size ).arg( CELTYPE.ref, 0, 16 ) );
+
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    dwgHandle CMATERIAL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "CMATERIAL: %1.%2 0x%3" ).arg( CMATERIAL.code ).arg( CMATERIAL.size ).arg( CMATERIAL.ref, 0, 16 ) );
+    Q_UNUSED( CMATERIAL );
+  }
+  dwgHandle DIMSTYLE = hBbuf->getHandle();
+  QgsDebugMsg( QString( "DIMSTYLE: %1.%2 0x%3" ).arg( DIMSTYLE.code ).arg( DIMSTYLE.size ).arg( DIMSTYLE.ref, 0, 16 ) );
+  dwgHandle CMLSTYLE = hBbuf->getHandle();
+  QgsDebugMsg( QString( "CMLSTYLE: %1.%2 0x%3" ).arg( CMLSTYLE.code ).arg( CMLSTYLE.size ).arg( CMLSTYLE.ref, 0, 16 ) );
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    vars["PSVPSCALE"] = new DRW_Variant( 40, buf->getBitDouble() );
+  }
+  vars["PINSBASE"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["PEXTMIN"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["PEXTMAX"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["PLIMMIN"] = new DRW_Variant( 10, buf->get2RawDouble() );
+  vars["PLIMMAX"] = new DRW_Variant( 10, buf->get2RawDouble() );
+  vars["PELEVATION"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["PUCSORG"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["PUCSXDIR"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["PUCSYDIR"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  dwgHandle PUCSNAME = hBbuf->getHandle();
+  QgsDebugMsg( QString( "PUCSNAME: %1.%2 0x%3" ).arg( PUCSNAME.code ).arg( PUCSNAME.size ).arg( PUCSNAME.ref, 0, 16 ) );
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    dwgHandle PUCSORTHOREF = hBbuf->getHandle();
+    QgsDebugMsg( QString( "PUCSORTHOREF: %1.%2 0x%3" ).arg( PUCSORTHOREF.code ).arg( PUCSORTHOREF.size ).arg( PUCSORTHOREF.ref, 0, 16 ) );
+    vars["PUCSORTHOVIEW"] = new DRW_Variant( 70, buf->getBitShort() );
+    dwgHandle PUCSBASE = hBbuf->getHandle();
+    QgsDebugMsg( QString( "PUCSBASE: %1.%2 0x%3" ).arg( PUCSBASE.code ).arg( PUCSBASE.size ).arg( PUCSBASE.ref, 0, 16 ) );
+    vars["PUCSORGTOP"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["PUCSORGBOTTOM"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["PUCSORGLEFT"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["PUCSORGRIGHT"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["PUCSORGFRONT"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["PUCSORGBACK"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  }
+  vars["INSBASE"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["EXTMIN"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["EXTMAX"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["LIMMIN"] = new DRW_Variant( 10, buf->get2RawDouble() );
+  vars["LIMMAX"] = new DRW_Variant( 10, buf->get2RawDouble() );
+  vars["ELEVATION"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["UCSORG"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["UCSXDIR"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  vars["UCSYDIR"] = new DRW_Variant( 10, buf->get3BitDouble() );
+  dwgHandle UCSNAME = hBbuf->getHandle();
+  QgsDebugMsg( QString( "UCSNAME: %1.%2 0x%3" ).arg( UCSNAME.code ).arg( UCSNAME.size ).arg( UCSNAME.ref, 0, 16 ) );
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    dwgHandle UCSORTHOREF = hBbuf->getHandle();
+    QgsDebugMsg( QString( "UCSORTHOREF: %1.%2 0x%3" ).arg( UCSORTHOREF.code ).arg( UCSORTHOREF.size ).arg( UCSORTHOREF.ref, 0, 16 ) );
+    vars["UCSORTHOVIEW"] = new DRW_Variant( 70, buf->getBitShort() );
+    dwgHandle UCSBASE = hBbuf->getHandle();
+    QgsDebugMsg( QString( "UCSBASE: %1.%2 0x%3" ).arg( UCSBASE.code ).arg( UCSBASE.size ).arg( UCSBASE.ref, 0, 16 ) );
+    vars["UCSORGTOP"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["UCSORGBOTTOM"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["UCSORGLEFT"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["UCSORGRIGHT"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["UCSORGFRONT"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    vars["UCSORGBACK"] = new DRW_Variant( 10, buf->get3BitDouble() );
+    if ( version < DRW::AC1021 )  //2004-
+    {
+      vars["DIMPOST"] = new DRW_Variant( 1, buf->getCP8Text() );
+      vars["DIMAPOST"] = new DRW_Variant( 1, buf->getCP8Text() );
+    }
+  }
+  if ( version < DRW::AC1015 )  //r14-
+  {
+    vars["DIMTOL"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMLIM"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTIH"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTOH"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSE1"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSE2"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMALT"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTOFL"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSAH"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTIX"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSOXD"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMALTD"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DIMZIN"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DIMSD1"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSD2"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTOLJ"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DIMJUST"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DIMFIT"] = new DRW_Variant( 70, buf->getRawChar8() );///////////
+    vars["DIMUPT"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTZIN"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DIMALTZ"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DIMALTTZ"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DIMTAD"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DIMUNIT"] = new DRW_Variant( 70, buf->getBitShort() );///////////
+    vars["DIMAUNIT"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMDEC"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMTDEC"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMALTU"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMALTTD"] = new DRW_Variant( 70, buf->getBitShort() );
+    dwgHandle DIMTXSTY = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DIMTXSTY: %1.%2 0x%3" ).arg( DIMTXSTY.code ).arg( DIMTXSTY.size ).arg( DIMTXSTY.ref, 0, 16 ) );
+  }
+  vars["DIMSCALE"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMASZ"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMEXO"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMDLI"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMEXE"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMRND"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMDLE"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMTP"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMTM"] = new DRW_Variant( 40, buf->getBitDouble() );
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    vars["DIMFXL"] = new DRW_Variant( 40, buf->getBitDouble() );//////////////////
+    vars["DIMJOGANG"] = new DRW_Variant( 40, buf->getBitDouble() );///////////////
+    vars["DIMTFILL"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMTFILLCLR"] = new DRW_Variant( 62, buf->getCmColor( version ) );
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    vars["DIMTOL"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMLIM"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTIH"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTOH"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSE1"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSE2"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTAD"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMZIN"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMAZIN"] = new DRW_Variant( 70, buf->getBitShort() );
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    vars["DIMARCSYM"] = new DRW_Variant( 70, buf->getBitShort() );
+  }
+  vars["DIMTXT"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMCEN"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMTSZ"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMALTF"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMLFAC"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMTVP"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMTFAC"] = new DRW_Variant( 40, buf->getBitDouble() );
+  vars["DIMGAP"] = new DRW_Variant( 40, buf->getBitDouble() );
+  if ( version < DRW::AC1015 )  //r14-
+  {
+    vars["DIMPOST"] = new DRW_Variant( 1, buf->getCP8Text() );
+    vars["DIMAPOST"] = new DRW_Variant( 1, buf->getCP8Text() );
+    vars["DIMBLK"] = new DRW_Variant( 1, buf->getCP8Text() );
+    vars["DIMBLK1"] = new DRW_Variant( 1, buf->getCP8Text() );
+    vars["DIMBLK2"] = new DRW_Variant( 1, buf->getCP8Text() );
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    vars["DIMALTRND"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["DIMALT"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMALTD"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMTOFL"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSAH"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTIX"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSOXD"] = new DRW_Variant( 70, buf->getBit() );
+  }
+  vars["DIMCLRD"] = new DRW_Variant( 70, buf->getCmColor( version ) );//RLZ: TODO read CMC or EMC color
+  vars["DIMCLRE"] = new DRW_Variant( 70, buf->getCmColor( version ) );//RLZ: TODO read CMC or EMC color
+  vars["DIMCLRT"] = new DRW_Variant( 70, buf->getCmColor( version ) );//RLZ: TODO read CMC or EMC color
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    vars["DIAMDEC"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMDEC"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMTDEC"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMALTU"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMALTTD"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMAUNIT"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMFAC"] = new DRW_Variant( 70, buf->getBitShort() );///////////////// DIMFAC O DIMFRAC
+    vars["DIMLUNIT"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMDSEP"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMTMOVE"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMJUST"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMSD1"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMSD2"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMTOLJ"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMTZIN"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMALTZ"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMALTTZ"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMUPT"] = new DRW_Variant( 70, buf->getBit() );
+    vars["DIMATFIT"] = new DRW_Variant( 70, buf->getBitShort() );
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    vars["DIMFXLON"] = new DRW_Variant( 70, buf->getBit() );////////////////
+  }
+  if ( version > DRW::AC1021 )  //2010+
+  {
+    vars["DIMTXTDIRECTION"] = new DRW_Variant( 70, buf->getBit() );////////////////
+    vars["DIMALTMZF"] = new DRW_Variant( 40, buf->getBitDouble() );////////////////
+    vars["DIMMZF"] = new DRW_Variant( 40, buf->getBitDouble() );////////////////
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    dwgHandle DIMTXSTY = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DIMTXSTY: %1.%2 0x%3" ).arg( DIMTXSTY.code ).arg( DIMTXSTY.size ).arg( DIMTXSTY.ref, 0, 16 ) );
+    dwgHandle DIMLDRBLK = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DIMLDRBLK: %1.%2 0x%3" ).arg( DIMLDRBLK.code ).arg( DIMLDRBLK.size ).arg( DIMLDRBLK.ref, 0, 16 ) );
+    dwgHandle DIMBLK = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DIMBLK: %1.%2 0x%3" ).arg( DIMBLK.code ).arg( DIMBLK.size ).arg( DIMBLK.ref, 0, 16 ) );
+    dwgHandle DIMBLK1 = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DIMBLK1: %1.%2 0x%3" ).arg( DIMBLK1.code ).arg( DIMBLK1.size ).arg( DIMBLK1.ref, 0, 16 ) );
+    dwgHandle DIMBLK2 = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DIMBLK2: %1.%2 0x%3" ).arg( DIMBLK2.code ).arg( DIMBLK2.size ).arg( DIMBLK2.ref, 0, 16 ) );
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    dwgHandle DIMLTYPE = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DIMLTYPE: %1.%2 0x%3" ).arg( DIMLTYPE.code ).arg( DIMLTYPE.size ).arg( DIMLTYPE.ref, 0, 16 ) );
+    dwgHandle DIMLTEX1 = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DIMLTEX1: %1.%2 0x%3" ).arg( DIMLTEX1.code ).arg( DIMLTEX1.size ).arg( DIMLTEX1.ref, 0, 16 ) );
+    dwgHandle DIMLTEX2 = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DIMLTEX2: %1.%2 0x%3" ).arg( DIMLTEX2.code ).arg( DIMLTEX2.size ).arg( DIMLTEX2.ref, 0, 16 ) );
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    vars["DIMLWD"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["DIMLWE"] = new DRW_Variant( 70, buf->getBitShort() );
+  }
+  dwgHandle CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "BLOCK CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  blockCtrl = CONTROL.ref;
+
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "LAYER CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  layerCtrl = CONTROL.ref;
+
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "STYLE CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  styleCtrl = CONTROL.ref;
+
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "LINETYPE CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  linetypeCtrl = CONTROL.ref;
+
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "VIEW CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  viewCtrl = CONTROL.ref;
+
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "UCS CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  ucsCtrl = CONTROL.ref;
+
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "VPORT CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  vportCtrl = CONTROL.ref;
+
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "APPID CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  appidCtrl = CONTROL.ref;
+
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "DIMSTYLE CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  dimstyleCtrl = CONTROL.ref;
+
+  if ( version < DRW::AC1018 )  //r2000-
+  {
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "VIEWPORT ENTITY HEADER CONTROL: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+    vpEntHeaderCtrl = CONTROL.ref; //RLZ: only in R13-R15 ????
+  }
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "DICT ACAD_GROUP: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "DICT ACAD_MLINESTYLE: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "DICT NAMED OBJS: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    vars["TSTACKALIGN"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["TSTACKSIZE"] = new DRW_Variant( 70, buf->getBitShort() );
+    if ( version < DRW::AC1021 )  //2004-
+    {
+      vars["HYPERLINKBASE"] = new DRW_Variant( 1, buf->getCP8Text() );
+      vars["STYLESHEET"] = new DRW_Variant( 1, buf->getCP8Text() );
+    }
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DICT LAYOUTS: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DICT PLOTSETTINGS: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DICT PLOTSTYLES: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  }
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DICT MATERIALS: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DICT COLORS: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DICT VISUALSTYLE: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  }
+  if ( version > DRW::AC1024 )  //2013+
+  {
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "UNKNOWN HANDLE: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    int t = buf->getBitLong();
+    QgsDebugMsg( QString( "Flags:%1" ).arg( t, 0, 15 ) );
+    Q_UNUSED( t );
+    vars["INSUNITS"] = new DRW_Variant( 70, buf->getBitShort() );
+    duint16 cepsntype = buf->getBitShort();
+    vars["CEPSNTYPE"] = new DRW_Variant( 70, cepsntype );
+    if ( cepsntype == 3 )
+    {
+      CONTROL = hBbuf->getHandle();
+      QgsDebugMsg( QString( "CPSNID HANDLE: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+    }
+    if ( version < DRW::AC1021 )  //2004-
+    {
+      vars["FINGERPRINTGUID"] = new DRW_Variant( 1, buf->getCP8Text() );
+      vars["VERSIONGUID"] = new DRW_Variant( 1, buf->getCP8Text() );
+    }
+  }
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    vars["SORTENTS"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["INDEXCTL"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["HIDETEXT"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["XCLIPFRAME"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DIMASSOC"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["HALOGAP"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["OBSCUREDCOLOR"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["INTERSECTIONCOLOR"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["OBSCUREDLTYPE"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["INTERSECTIONDISPLAY"] = new DRW_Variant( 70, buf->getRawChar8() );
+    if ( version < DRW::AC1021 )  //2004-
+    {
+      vars["PROJECTNAME"] = new DRW_Variant( 1, buf->getCP8Text() );
+    }
+  }
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "BLOCK PAPER_SPACE: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "BLOCK MODEL_SPACE: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "LTYPE BYLAYER: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "LTYPE BYBLOCK: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  CONTROL = hBbuf->getHandle();
+  QgsDebugMsg( QString( "LTYPE CONTINUOUS: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    int t;
+    vars["CAMERADISPLAY"] = new DRW_Variant( 70, buf->getBit() );
+    t = buf->getBitLong();
+    Q_UNUSED( t );
+    QgsDebugMsg( QString( "Unknown 2007+ long1: %1" ).arg( t ) );
+    t = buf->getBitLong();
+    QgsDebugMsg( QString( "Unknown 2007+ long2: %1" ).arg( t ) );
+
+    double d = buf->getBitDouble();
+    QgsDebugMsg( QString( "Unknown 2007+ double1: %1" ).arg( d ) );
+    Q_UNUSED( d );
+
+    vars["STEPSPERSEC"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["STEPSIZE"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["3DDWFPREC"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["LENSLENGTH"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["CAMERAHEIGHT"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["SOLIDHIST"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["SHOWHIST"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["PSOLWIDTH"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["PSOLHEIGHT"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["LOFTANG1"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["LOFTANG2"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["LOFTMAG1"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["LOFTMAG2"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["LOFTPARAM"] = new DRW_Variant( 70, buf->getBitShort() );
+    vars["LOFTNORMALS"] = new DRW_Variant( 40, buf->getRawChar8() );
+    vars["LATITUDE"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["LONGITUDE"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["NORTHDIRECTION"] = new DRW_Variant( 40, buf->getBitDouble() );
+    vars["TIMEZONE"] = new DRW_Variant( 70, buf->getBitLong() );
+    vars["LIGHTGLYPHDISPLAY"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["TILEMODELIGHTSYNCH"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DWFFRAME"] = new DRW_Variant( 70, buf->getRawChar8() );
+    vars["DGNFRAME"] = new DRW_Variant( 70, buf->getRawChar8() );
+    t = buf->getBit();
+    QgsDebugMsg( QString( "Unknown 2007+ BIT: %1" ).arg( t ) );
+    vars["INTERFERECOLOR"] = new DRW_Variant( 70, buf->getCmColor( version ) );
+
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "INTERFEREOBJVS: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "INTERFEREVPVS: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+
+    CONTROL = hBbuf->getHandle();
+    QgsDebugMsg( QString( "DRAGVS: %1.%2 0x%3" ).arg( CONTROL.code ).arg( CONTROL.size ).arg( CONTROL.ref, 0, 16 ) );
+    vars["CSHADOW"] = new DRW_Variant( 70, buf->getRawChar8() );
+    d = buf->getBitDouble();
+    QgsDebugMsg( QString( "Unknown 2007+ double2: %1" ).arg( d ) );
+  }
+  if ( version > DRW::AC1012 )  //R14+
+  {
+    int t;
+    t = buf->getBitShort();
+    QgsDebugMsg( QString( "Unknown R14+ short1: %1" ).arg( t ) );
+    Q_UNUSED( t );
+    t = buf->getBitShort();
+    QgsDebugMsg( QString( "Unknown R14+ short2: %1" ).arg( t ) );
+    t = buf->getBitShort();
+    QgsDebugMsg( QString( "Unknown R14+ short3: %1" ).arg( t ) );
+    t = buf->getBitShort();
+    QgsDebugMsg( QString( "Unknown R14+ short4: %1" ).arg( t ) );
+  }
+
+  QgsDebugMsg( QString( "buf position:%1, buf bit position:%2" ).arg( buf->getPosition() ).arg( buf->getBitPos() ) );
+
+  /**** RLZ: disabled, pending to read all data ***/
+  //Start reading string stream for 2007 and further
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    duint32 strStartPos = endBitPos - 1;
+    buf->setPosition( strStartPos >> 3 );
+    buf->setBitPos( strStartPos&7 );
+    if ( buf->getBit() == 1 )
+    {
+      strStartPos -= 16;
+      buf->setPosition( strStartPos >> 3 );
+      buf->setBitPos( strStartPos&7 );
+      duint32 strDataSize = buf->getRawShort16();
+      if ( strDataSize & 0x8000 )
+      {
+        strStartPos -= 16;//decrement 16 bits
+        strDataSize &= 0x7FFF; //strip 0x8000;
+        buf->setPosition( strStartPos >> 3 );
+        buf->setBitPos( strStartPos & 7 );
+        duint32 hiSize = buf->getRawShort16();
+        strDataSize |= ( hiSize << 15 );
+      }
+      strStartPos -= strDataSize;
+      buf->setPosition( strStartPos >> 3 );
+      buf->setBitPos( strStartPos & 7 );
+
+      QgsDebugMsg( QString( "string buf position:%1, string buf bit position:%2" ).arg( buf->getPosition() ).arg( buf->getBitPos() ) );
+    }
+
+    std::string t;
+    t = buf->getUCSText( false );
+    QgsDebugMsg( QString( "Unknown text1:%1" ).arg( t.c_str() ) );
+    t = buf->getUCSText( false );
+    QgsDebugMsg( QString( "Unknown text2:%1" ).arg( t.c_str() ) );
+    t = buf->getUCSText( false );
+    QgsDebugMsg( QString( "Unknown text3:%1" ).arg( t.c_str() ) );
+    t = buf->getUCSText( false );
+    QgsDebugMsg( QString( "Unknown text4:%1" ).arg( t.c_str() ) );
+    vars["MENU"] = new DRW_Variant( 1, buf->getUCSText( false ) );
+    vars["DIMPOST"] = new DRW_Variant( 1, buf->getUCSText( false ) );
+    vars["DIMAPOST"] = new DRW_Variant( 1, buf->getUCSText( false ) );
+    if ( version > DRW::AC1021 )  //2010+
+    {
+      vars["DIMALTMZS"] = new DRW_Variant( 70, buf->getUCSText( false ) );//RLZ: pending to verify//////////////
+      vars["DIMMZS"] = new DRW_Variant( 70, buf->getUCSText( false ) );//RLZ: pending to verify//////////////
+    }
+    vars["HYPERLINKBASE"] = new DRW_Variant( 1, buf->getUCSText( false ) );
+    vars["STYLESHEET"] = new DRW_Variant( 1, buf->getUCSText( false ) );
+    vars["FINGERPRINTGUID"] = new DRW_Variant( 1, buf->getUCSText( false ) );
+
+    QgsDebugMsg( QString( "string buf position:%1, string buf bit position:%2" ).arg( buf->getPosition() ).arg( buf->getBitPos() ) );
+
+    vars["VERSIONGUID"] = new DRW_Variant( 1, buf->getUCSText( false ) );
+
+    QgsDebugMsg( QString( "string buf position:%1, string buf bit position:%2" ).arg( buf->getPosition() ).arg( buf->getBitPos() ) );
+
+    vars["PROJECTNAME"] = new DRW_Variant( 1, buf->getUCSText( false ) );
+  }
+  /***    ****/
+  QgsDebugMsg( QString( "string buf position:%1, string buf bit position:%2" ).arg( buf->getPosition() ).arg( buf->getBitPos() ) );
+
+#ifdef QGISDEBUG
+  for ( std::map<std::string, DRW_Variant*>::iterator it = vars.begin(); it != vars.end(); ++it )
+  {
+    switch ( it->second->type() )
+    {
+      case DRW_Variant::INTEGER:
+        QgsDebugMsgLevel( QString( "%1: %2" ).arg( it->first.c_str() ).arg( it->second->content.i ), 5 );
+        break;
+      case DRW_Variant::DOUBLE:
+        QgsDebugMsgLevel( QString( "%1: %2" ).arg( it->first.c_str() ).arg( it->second->content.d ), 5 );
+        break;
+      case DRW_Variant::STRING:
+        QgsDebugMsgLevel( QString( "%1: %2" ).arg( it->first.c_str() ).arg( it->second->content.s->c_str() ), 5 );
+        break;
+      case DRW_Variant::COORD:
+        QgsDebugMsgLevel( QString( "%1: x=%2 y=%3 z=%4" ).arg( it->first.c_str() ).arg( it->second->content.v->x ).arg( it->second->content.v->y ).arg( it->second->content.v->z ), 5 );
+        break;
+      default:
+        break;
+    }
+    QgsDebugMsgLevel( QString( " code:%1" ).arg( it->second->code() ), 5 );
+  }
+#endif
+
+  buf->setPosition( size + 16 + 4 ); //read size +16 start sentinel + 4 size
+  if ( version > DRW::AC1021 && mv > 3 ) //2010+
+  {
+    buf->getRawLong32();//advance 4 bytes (hisize)
+  }
+
+  QgsDebugMsg( QString( "set position to: %1" ).arg( buf->getPosition() ) );
+  t = buf->getRawShort16();
+  QgsDebugMsg( QString( "Header CRC: 0x%1" ).arg( t, 0, 16 ) );
+  QgsDebugMsg( QString( "buf position: %1" ).arg( buf->getPosition() ) );
+
+  QStringList l;
+  for ( int i = 0; i < 16;i++ )
+  {
+    t = buf->getRawChar8();
+    l << QString( "0x%1" ).arg( t, 0, 16 );
+  }
+  QgsDebugMsg( QString( "dwg header end sentinel=%1" ).arg( l.join( " " ) ) );
+
+  //temporary code to show header end sentinel
+  duint64 sz = buf->size() - 1;
+  if ( version < DRW::AC1018 )  //pre 2004
+  {
+    sz = buf->size() - 16;
+    buf->setPosition( sz );
+  }
+  else if ( version == DRW::AC1018 )  //2004
+  {
+//        sz= buf->size()-132;
+//        buf->setPosition(sz);
+    buf->moveBitPos( -128 );
+  }
+  else if ( version == DRW::AC1021 )  //2007
+  {
+    sz = buf->size() - 16;
+    buf->setPosition( sz );
+  }
+  else if ( version == DRW::AC1024 )  //2010
+  {
+//        sz= buf->size()-93;
+//        buf->setPosition(sz);
+    buf->moveBitPos( -128 );
+  }
+  else if ( version == DRW::AC1027 )  //2013
+  {
+//        sz= buf->size()-76;
+//        buf->setPosition(sz);
+    buf->moveBitPos( -128 );
+  }
+  else
+  {
+    return true;
+  }
+
+  QgsDebugMsg( QString( "set position to:%1" ).arg( buf->getPosition() ) );
+
+  l.clear();
+  for ( int i = 0; i < 16; i++ )
+  {
+    t = buf->getRawChar8();
+    l << QString( "0x%1" ).arg( t, 0, 16 );
+  }
+  QgsDebugMsg( QString( "dwg header end sentinel=%1" ).arg( l.join( " " ) ) );
+
+  return true;
+}
diff --git a/src/app/dwg/libdxfrw/drw_header.h b/src/app/dwg/libdxfrw/drw_header.h
new file mode 100644
index 0000000..66c729c
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_header.h
@@ -0,0 +1,115 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DRW_HEADER_H
+#define DRW_HEADER_H
+
+
+#include <map>
+#include "drw_base.h"
+
+class dxfReader;
+class dxfWriter;
+class dwgBuffer;
+
+#define SETHDRFRIENDS  friend class dxfRW; \
+  friend class dwgReader;
+
+/** Class to handle header vars, to read iterate over "std::map vars"
+ *  to write add a DRW_Variant* into "std::map vars" (do not delete it, are cleared in dtor)
+ *  or use add* helper functions.
+ *  @author Rallaz
+ */
+class DRW_Header
+{
+    SETHDRFRIENDS
+  public:
+    DRW_Header();
+    ~DRW_Header()
+    {
+      clearVars();
+    }
+
+    DRW_Header( const DRW_Header& h )
+        : comments( h.comments )
+        , curr( nullptr )
+        , version( h.version )
+    {
+      for ( std::map<std::string, DRW_Variant*>::const_iterator it = h.vars.begin(); it != h.vars.end(); ++it )
+      {
+        vars[it->first] = new DRW_Variant( *( it->second ) );
+      }
+    }
+
+    DRW_Header& operator=( const DRW_Header &h )
+    {
+      if ( this != &h )
+      {
+        clearVars();
+        version = h.version;
+        comments = h.comments;
+        for ( std::map<std::string, DRW_Variant*>::const_iterator it = h.vars.begin(); it != h.vars.end(); ++it )
+        {
+          vars[it->first] = new DRW_Variant( *( it->second ) );
+        }
+      }
+      return *this;
+    }
+
+    void addDouble( std::string key, double value, int code );
+    void addInt( std::string key, int value, int code );
+    void addStr( std::string key, std::string value, int code );
+    void addCoord( std::string key, DRW_Coord value, int code );
+    std::string getComments() const {return comments;}
+    void write( dxfWriter *writer, DRW::Version ver );
+    void addComment( std::string c );
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer *hBbuf, duint8 mv = 0 );
+  private:
+    bool getDouble( std::string key, double *varDouble );
+    bool getInt( std::string key, int *varInt );
+    bool getStr( std::string key, std::string *varStr );
+    bool getCoord( std::string key, DRW_Coord *varStr );
+    void clearVars()
+    {
+      for ( std::map<std::string, DRW_Variant*>::iterator it = vars.begin(); it != vars.end(); ++it )
+        delete it->second;
+
+      vars.clear();
+    }
+
+  public:
+    std::map<std::string, DRW_Variant*> vars;
+  private:
+    std::string comments;
+    std::string name;
+    DRW_Variant* curr;
+    int version; //to use on read
+
+    duint32 linetypeCtrl;
+    duint32 layerCtrl;
+    duint32 styleCtrl;
+    duint32 dimstyleCtrl;
+    duint32 appidCtrl;
+    duint32 blockCtrl;
+    duint32 viewCtrl;
+    duint32 ucsCtrl;
+    duint32 vportCtrl;
+    duint32 vpEntHeaderCtrl;
+};
+
+#endif
+
+// EOF
+
diff --git a/src/app/dwg/libdxfrw/drw_interface.h b/src/app/dwg/libdxfrw/drw_interface.h
new file mode 100644
index 0000000..e886c78
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_interface.h
@@ -0,0 +1,178 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DRW_INTERFACE_H
+#define DRW_INTERFACE_H
+
+#include <cstring>
+
+#include "drw_entities.h"
+#include "drw_objects.h"
+#include "drw_header.h"
+
+/**
+ * Abstract class (interface) for comunicate dxfReader with the application.
+ * Inherit your class which takes care of the entities in the
+ * processed DXF file from this interface.
+ *
+ * @author Rallaz
+ */
+class DRW_Interface
+{
+  public:
+    DRW_Interface()
+    {
+    }
+    virtual ~DRW_Interface()
+    {
+    }
+
+    /** Called when header is parsed.  */
+    virtual void addHeader( const DRW_Header* data ) = 0;
+
+    /** Called for every line Type.  */
+    virtual void addLType( const DRW_LType& data ) = 0;
+    /** Called for every layer. */
+    virtual void addLayer( const DRW_Layer& data ) = 0;
+    /** Called for every dim style. */
+    virtual void addDimStyle( const DRW_Dimstyle& data ) = 0;
+    /** Called for every VPORT table. */
+    virtual void addVport( const DRW_Vport& data ) = 0;
+    /** Called for every text style. */
+    virtual void addTextStyle( const DRW_Textstyle& data ) = 0;
+    /** Called for every AppId entry. */
+    virtual void addAppId( const DRW_AppId& data ) = 0;
+
+    /**
+     * Called for every block. Note: all entities added after this
+     * command go into this block until endBlock() is called.
+     *
+     * @see endBlock()
+     */
+    virtual void addBlock( const DRW_Block& data ) = 0;
+
+    /**
+     * In DWG called when the following entities corresponding to a
+     * block different from the current. Note: all entities added after this
+     * command go into this block until setBlock() is called already.
+     *
+     * int handle are the value of DRW_Block::handleBlock added with addBlock()
+     */
+    virtual void setBlock( const int handle ) = 0;
+
+    /** Called to end the current block */
+    virtual void endBlock() = 0;
+
+    /** Called for every point */
+    virtual void addPoint( const DRW_Point& data ) = 0;
+
+    /** Called for every line */
+    virtual void addLine( const DRW_Line& data ) = 0;
+
+    /** Called for every ray */
+    virtual void addRay( const DRW_Ray& data ) = 0;
+
+    /** Called for every xline */
+    virtual void addXline( const DRW_Xline& data ) = 0;
+
+    /** Called for every arc */
+    virtual void addArc( const DRW_Arc& data ) = 0;
+
+    /** Called for every circle */
+    virtual void addCircle( const DRW_Circle& data ) = 0;
+
+    /** Called for every ellipse */
+    virtual void addEllipse( const DRW_Ellipse& data ) = 0;
+
+    /** Called for every lwpolyline */
+    virtual void addLWPolyline( const DRW_LWPolyline& data ) = 0;
+
+    /** Called for every polyline start */
+    virtual void addPolyline( const DRW_Polyline& data ) = 0;
+
+    /** Called for every spline */
+    virtual void addSpline( const DRW_Spline* data ) = 0;
+
+    /** Called for every spline knot value */
+    virtual void addKnot( const DRW_Entity& data ) = 0;
+
+    /** Called for every insert. */
+    virtual void addInsert( const DRW_Insert& data ) = 0;
+
+    /** Called for every trace start */
+    virtual void addTrace( const DRW_Trace& data ) = 0;
+
+    /** Called for every 3dface start */
+    virtual void add3dFace( const DRW_3Dface& data ) = 0;
+
+    /** Called for every solid start */
+    virtual void addSolid( const DRW_Solid& data ) = 0;
+
+
+    /** Called for every Multi Text entity. */
+    virtual void addMText( const DRW_MText& data ) = 0;
+
+    /** Called for every Text entity. */
+    virtual void addText( const DRW_Text& data ) = 0;
+
+    /** Called for every aligned dimension entity. */
+    virtual void addDimAlign( const DRW_DimAligned *data ) = 0;
+
+    /** Called for every linear or rotated dimension entity. */
+    virtual void addDimLinear( const DRW_DimLinear *data ) = 0;
+
+    /** Called for every radial dimension entity. */
+    virtual void addDimRadial( const DRW_DimRadial *data ) = 0;
+
+    /** Called for every diametric dimension entity. */
+    virtual void addDimDiametric( const DRW_DimDiametric *data ) = 0;
+
+    /** Called for every angular dimension (2 lines version) entity. */
+    virtual void addDimAngular( const DRW_DimAngular *data ) = 0;
+
+    /** Called for every angular dimension (3 points version) entity. */
+    virtual void addDimAngular3P( const DRW_DimAngular3p *data ) = 0;
+
+    /** Called for every ordinate dimension entity. */
+    virtual void addDimOrdinate( const DRW_DimOrdinate *data ) = 0;
+
+    /** Called for every leader start. */
+    virtual void addLeader( const DRW_Leader *data ) = 0;
+
+    /** Called for every hatch entity. */
+    virtual void addHatch( const DRW_Hatch *data ) = 0;
+
+    /** Called for every viewport entity. */
+    virtual void addViewport( const DRW_Viewport& data ) = 0;
+
+    /** Called for every image entity. */
+    virtual void addImage( const DRW_Image *data ) = 0;
+
+    /** Called for every image definition. */
+    virtual void linkImage( const DRW_ImageDef *data ) = 0;
+
+    /** Called for every comment in the DXF file (code 999). */
+    virtual void addComment( const char* comment ) = 0;
+
+    virtual void writeHeader( DRW_Header& data ) = 0;
+    virtual void writeBlocks() = 0;
+    virtual void writeBlockRecords() = 0;
+    virtual void writeEntities() = 0;
+    virtual void writeLTypes() = 0;
+    virtual void writeLayers() = 0;
+    virtual void writeTextstyles() = 0;
+    virtual void writeVports() = 0;
+    virtual void writeDimstyles() = 0;
+    virtual void writeAppId() = 0;
+};
+
+#endif
diff --git a/src/app/dwg/libdxfrw/drw_objects.cpp b/src/app/dwg/libdxfrw/drw_objects.cpp
new file mode 100644
index 0000000..c88e5de
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_objects.cpp
@@ -0,0 +1,1478 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <iostream>
+#include <cmath>
+
+#include "drw_objects.h"
+#include "intern/dxfreader.h"
+#include "intern/dxfwriter.h"
+#include "intern/dwgbuffer.h"
+#include "intern/drw_dbg.h"
+#include "intern/dwgutil.h"
+
+#undef QGISDEBUG
+#include "qgslogger.h"
+#include <QStringList>
+
+#define RESERVE( vector, size ) try { \
+    vector.reserve(size); \
+  } catch(const std::exception &e) { \
+    QgsDebugMsg( QString( "allocation exception (size=%1; error=%2)" ).arg( size ).arg( e.what() ) ); \
+    throw e; \
+  }
+
+/*!
+ *  Base class for tables entries
+ *  @author Rallaz
+ */
+void DRW_TableEntry::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 5:
+      handle = reader->getHandleString();
+      break;
+    case 330:
+      parentHandle = reader->getHandleString();
+      break;
+    case 2:
+      name = reader->getUtf8String();
+      break;
+    case 70:
+      flags = reader->getInt32();
+      break;
+    case 1000:
+    case 1001:
+    case 1002:
+    case 1003:
+    case 1004:
+    case 1005:
+      extData.push_back( new DRW_Variant( code, reader->getString() ) );
+      break;
+    case 1010:
+    case 1011:
+    case 1012:
+    case 1013:
+      curr = new DRW_Variant( code, DRW_Coord( reader->getDouble(), 0.0, 0.0 ) );
+      extData.push_back( curr );
+      break;
+    case 1020:
+    case 1021:
+    case 1022:
+    case 1023:
+      if ( curr )
+        curr->setCoordY( reader->getDouble() );
+      break;
+    case 1030:
+    case 1031:
+    case 1032:
+    case 1033:
+      if ( curr )
+        curr->setCoordZ( reader->getDouble() );
+      curr = nullptr;
+      break;
+    case 1040:
+    case 1041:
+    case 1042:
+      extData.push_back( new DRW_Variant( code, reader->getDouble() ) );
+      break;
+    case 1070:
+    case 1071:
+      extData.push_back( new DRW_Variant( code, reader->getInt32() ) );
+      break;
+    default:
+      break;
+  }
+}
+
+bool DRW_TableEntry::parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer *strBuf, duint32 bs )
+{
+  QgsDebugMsg( "***************************** parsing table entry *********************************************" );
+
+  objSize = 0;
+  oType = buf->getObjType( version );
+  QgsDebugMsg( QString( "Object type: %1, 0x%2" ).arg( oType ).arg( oType, 0, 16 ) );
+
+  if ( version > DRW::AC1014 && version < DRW::AC1024 )  //2000 to 2007
+  {
+    objSize = buf->getRawLong32();  //RL 32bits object size in bits
+    QgsDebugMsg( QString( "Object size: %1" ).arg( objSize ) );
+  }
+  if ( version > DRW::AC1021 )  //2010+
+  {
+    duint32 ms = buf->size();
+    objSize = ms * 8 - bs;
+    QgsDebugMsg( QString( "Object size: %1" ).arg( objSize ) );
+  }
+  if ( strBuf && version > DRW::AC1018 )  //2007+
+  {
+    strBuf->moveBitPos( objSize - 1 );
+    QgsDebugMsg( QString( "strBuf strbit pos 2007: %1; strBuf bpos 2007:%2" ).arg( strBuf->getPosition() ).arg( strBuf->getBitPos() ) );
+
+    if ( strBuf->getBit() == 1 )
+    {
+      QgsDebugMsg( "string bit is 1" );
+      strBuf->moveBitPos( -17 );
+      duint16 strDataSize = strBuf->getRawShort16();
+      QgsDebugMsg( QString( "string strDataSize: 0x%1" ).arg( strDataSize, 0, 16 ) );
+
+      if (( strDataSize& 0x8000 ) == 0x8000 )
+      {
+        QgsDebugMsg( "string 0x8000 bit is set" );
+        strBuf->moveBitPos( -33 );//RLZ pending to verify
+        duint16 hiSize = strBuf->getRawShort16();
+        strDataSize = (( strDataSize & 0x7fff ) | ( hiSize << 15 ) );
+      }
+      strBuf->moveBitPos( -strDataSize - 16 ); //-14
+
+      QgsDebugMsg( QString( "strBuf strbit pos 2007: %1; strBuf bpos 2007:%2" ).arg( strBuf->getPosition() ).arg( strBuf->getBitPos() ) );
+    }
+    else
+    {
+      QgsDebugMsg( "string bit is 0" );
+    }
+
+    QgsDebugMsg( QString( "strBuf start pos 2007: %1; strBuf bpos 2007:%2" ).arg( strBuf->getPosition() ).arg( strBuf->getBitPos() ) );
+  }
+
+  dwgHandle ho = buf->getHandle();
+  handle = ho.ref;
+  QgsDebugMsg( QString( "TableEntry Handle: %1.%2 0x%3" ).arg( ho.code ).arg( ho.size ).arg( ho.ref, 0, 16 ) );
+
+  dint16 extDataSize = buf->getBitShort(); //BS
+  QgsDebugMsg( QString( " ext data size: %1" ).arg( extDataSize ) );
+  while ( extDataSize > 0 && buf->isGood() )
+  {
+    /* RLZ: TODO */
+    dwgHandle ah = buf->getHandle();
+    QgsDebugMsg( QString( "App Handle: %1.%2 0x%3" ).arg( ah.code ).arg( ah.size ).arg( ah.ref, 0, 16 ) );
+    duint8 *tmpExtData = new duint8[extDataSize];
+    buf->getBytes( tmpExtData, extDataSize );
+    dwgBuffer tmpExtDataBuf( tmpExtData, extDataSize, buf->decoder );
+    int pos = tmpExtDataBuf.getPosition();
+    int bpos = tmpExtDataBuf.getBitPos();
+    QgsDebugMsg( QString( "ext data pos:%1.%2" ).arg( pos ).arg( bpos ) );
+    Q_UNUSED( pos );
+    Q_UNUSED( bpos );
+    duint8 dxfCode = tmpExtDataBuf.getRawChar8();
+    QgsDebugMsg( QString( "dxfCode:%1" ).arg( dxfCode ) );
+    Q_UNUSED( dxfCode );
+    switch ( dxfCode )
+    {
+      case 0:
+      {
+        duint8 strLength = tmpExtDataBuf.getRawChar8();
+        QgsDebugMsg( QString( "strLength:%1" ).arg( strLength ) );
+        duint16 cp = tmpExtDataBuf.getBERawShort16();
+        QgsDebugMsg( QString( "str codepage:%1" ).arg( cp ) );
+        Q_UNUSED( cp );
+        for ( int i = 0;i < strLength + 1;i++ )  //string length + null terminating char
+        {
+          duint8 dxfChar = tmpExtDataBuf.getRawChar8();
+          QgsDebugMsg( QString( " dxfChar:%1" ).arg( dxfChar ) );
+          Q_UNUSED( dxfChar );
+        }
+        break;
+      }
+      default:
+        /* RLZ: TODO */
+        break;
+    }
+    QgsDebugMsg( QString( "ext data pos:%1.%2" ).arg( tmpExtDataBuf.getPosition() ).arg( tmpExtDataBuf.getBitPos() ) );
+    delete[]tmpExtData;
+    extDataSize = buf->getBitShort(); //BS
+    QgsDebugMsg( QString( " ext data size:%1" ).arg( extDataSize ) );
+  } //end parsing extData (EED)
+  if ( version < DRW::AC1015 )  //14-
+  {
+    objSize = buf->getRawLong32();  //RL 32bits size in bits
+  }
+  numReactors = buf->getBitLong(); //BL
+
+  QgsDebugMsg( QString( " objSize in bits size:%1, numReactors:%2" ).arg( objSize ).arg( numReactors ) );
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    xDictFlag = buf->getBit();
+    QgsDebugMsg( QString( " xDictFlag:%1" ).arg( xDictFlag ) );
+  }
+  if ( version > DRW::AC1024 )  //2013+
+  {
+    duint8 bd = buf->getBit();
+    QgsDebugMsg( QString( " Have binary data:%1" ).arg( bd ) );
+    Q_UNUSED( bd );
+  }
+  return buf->isGood();
+}
+
+//! Class to handle dimstyle entries
+/*!
+*  Class to handle ldim style symbol table entries
+*  @author Rallaz
+*/
+void DRW_Dimstyle::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 105:
+      handle = reader->getHandleString();
+      break;
+    case 3:
+      dimpost = reader->getUtf8String();
+      break;
+    case 4:
+      dimapost = reader->getUtf8String();
+      break;
+    case 5:
+      dimblk = reader->getUtf8String();
+      break;
+    case 6:
+      dimblk1 = reader->getUtf8String();
+      break;
+    case 7:
+      dimblk2 = reader->getUtf8String();
+      break;
+    case 40:
+      dimscale = reader->getDouble();
+      break;
+    case 41:
+      dimasz = reader->getDouble();
+      break;
+    case 42:
+      dimexo = reader->getDouble();
+      break;
+    case 43:
+      dimdli = reader->getDouble();
+      break;
+    case 44:
+      dimexe = reader->getDouble();
+      break;
+    case 45:
+      dimrnd = reader->getDouble();
+      break;
+    case 46:
+      dimdle = reader->getDouble();
+      break;
+    case 47:
+      dimtp = reader->getDouble();
+      break;
+    case 48:
+      dimtm = reader->getDouble();
+      break;
+    case 49:
+      dimfxl = reader->getDouble();
+      break;
+    case 140:
+      dimtxt = reader->getDouble();
+      break;
+    case 141:
+      dimcen = reader->getDouble();
+      break;
+    case 142:
+      dimtsz = reader->getDouble();
+      break;
+    case 143:
+      dimaltf = reader->getDouble();
+      break;
+    case 144:
+      dimlfac = reader->getDouble();
+      break;
+    case 145:
+      dimtvp = reader->getDouble();
+      break;
+    case 146:
+      dimtfac = reader->getDouble();
+      break;
+    case 147:
+      dimgap = reader->getDouble();
+      break;
+    case 148:
+      dimaltrnd = reader->getDouble();
+      break;
+    case 71:
+      dimtol = reader->getInt32();
+      break;
+    case 72:
+      dimlim = reader->getInt32();
+      break;
+    case 73:
+      dimtih = reader->getInt32();
+      break;
+    case 74:
+      dimtoh = reader->getInt32();
+      break;
+    case 75:
+      dimse1 = reader->getInt32();
+      break;
+    case 76:
+      dimse2 = reader->getInt32();
+      break;
+    case 77:
+      dimtad = reader->getInt32();
+      break;
+    case 78:
+      dimzin = reader->getInt32();
+      break;
+    case 79:
+      dimazin = reader->getInt32();
+      break;
+    case 170:
+      dimalt = reader->getInt32();
+      break;
+    case 171:
+      dimaltd = reader->getInt32();
+      break;
+    case 172:
+      dimtofl = reader->getInt32();
+      break;
+    case 173:
+      dimsah = reader->getInt32();
+      break;
+    case 174:
+      dimtix = reader->getInt32();
+      break;
+    case 175:
+      dimsoxd = reader->getInt32();
+      break;
+    case 176:
+      dimclrd = reader->getInt32();
+      break;
+    case 177:
+      dimclre = reader->getInt32();
+      break;
+    case 178:
+      dimclrt = reader->getInt32();
+      break;
+    case 179:
+      dimadec = reader->getInt32();
+      break;
+    case 270:
+      dimunit = reader->getInt32();
+      break;
+    case 271:
+      dimdec = reader->getInt32();
+      break;
+    case 272:
+      dimtdec = reader->getInt32();
+      break;
+    case 273:
+      dimaltu = reader->getInt32();
+      break;
+    case 274:
+      dimalttd = reader->getInt32();
+      break;
+    case 275:
+      dimaunit = reader->getInt32();
+      break;
+    case 276:
+      dimfrac = reader->getInt32();
+      break;
+    case 277:
+      dimlunit = reader->getInt32();
+      break;
+    case 278:
+      dimdsep = reader->getInt32();
+      break;
+    case 279:
+      dimtmove = reader->getInt32();
+      break;
+    case 280:
+      dimjust = reader->getInt32();
+      break;
+    case 281:
+      dimsd1 = reader->getInt32();
+      break;
+    case 282:
+      dimsd2 = reader->getInt32();
+      break;
+    case 283:
+      dimtolj = reader->getInt32();
+      break;
+    case 284:
+      dimtzin = reader->getInt32();
+      break;
+    case 285:
+      dimaltz = reader->getInt32();
+      break;
+    case 286:
+      dimaltttz = reader->getInt32();
+      break;
+    case 287:
+      dimfit = reader->getInt32();
+      break;
+    case 288:
+      dimupt = reader->getInt32();
+      break;
+    case 289:
+      dimatfit = reader->getInt32();
+      break;
+    case 290:
+      dimfxlon = reader->getInt32();
+      break;
+    case 340:
+      dimtxsty = reader->getUtf8String();
+      break;
+    case 341:
+      dimldrblk = reader->getUtf8String();
+      break;
+    case 342:
+      dimblk = reader->getUtf8String();
+      break;
+    case 343:
+      dimblk1 = reader->getUtf8String();
+      break;
+    case 344:
+      dimblk2 = reader->getUtf8String();
+      break;
+    default:
+      DRW_TableEntry::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Dimstyle::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_TableEntry::parseDwg( version, buf, sBuf, bs );
+  QgsDebugMsg( "***************************** parsing dimension style **************************************" );
+  if ( !ret )
+    return ret;
+  name = sBuf->getVariableText( version, false );
+  QgsDebugMsg( QString( "dimension style name: %1; remaining bytes:%2" ).arg( name.c_str() ).arg( buf->numRemainingBytes() ) );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
+
+
+//! Class to handle line type entries
+/*!
+*  Class to handle line type symbol table entries
+*  @author Rallaz
+*/
+void DRW_LType::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 3:
+      desc = reader->getUtf8String();
+      break;
+    case 73:
+      size = reader->getInt32();
+      RESERVE( path, size );
+      break;
+    case 40:
+      length = reader->getDouble();
+      break;
+    case 49:
+      path.push_back( reader->getDouble() );
+      pathIdx++;
+      break;
+#if 0
+    case 74:
+      haveShape = reader->getInt32();
+      break;
+#endif
+    default:
+      DRW_TableEntry::parseCode( code, reader );
+      break;
+  }
+}
+
+//! Update line type
+/*!
+*  Update the size and length of line type according to the path
+*  @author Rallaz
+*/
+/*TODO: control max length permitted */
+void DRW_LType::update()
+{
+  double d = 0;
+  size = path.size();
+  for ( std::vector<double>::size_type i = 0;  i < size; i++ )
+  {
+    d += fabs( path.at( i ) );
+  }
+  length = d;
+}
+
+bool DRW_LType::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_TableEntry::parseDwg( version, buf, sBuf, bs );
+  QgsDebugMsg( "***************************** parsing line type *********************************************" );
+  if ( !ret )
+    return ret;
+  name = sBuf->getVariableText( version, false );
+  flags = buf->getBit() << 6;
+
+  QgsDebugMsg( QString( "linetype name: %1; flags: 0x%2" ).arg( name.c_str() ).arg( flags, 0, 16 ) );
+
+  if ( version > DRW::AC1018 )  //2007+
+  {
+  }
+  else  //2004- //RLZ: verify in 2004, 2010 &2013
+  {
+    dint16 xrefindex = buf->getBitShort();
+    QgsDebugMsg( QString( "xrefindex: %1" ).arg( xrefindex ) );
+    Q_UNUSED( xrefindex );
+  }
+
+  duint8 xdep = buf->getBit();
+  flags |= xdep << 4;
+  desc = sBuf->getVariableText( version, false );
+  length = buf->getBitDouble();
+  char align = buf->getRawChar8();
+  size = buf->getRawChar8();
+
+  QgsDebugMsg( QString( "xdep: %1; flags:0x%2; desc:%3; pattern length:%4 align:%5; num dashes, size %6" )
+               .arg( xdep ).arg( flags, 0, 16 ).arg( desc.c_str() ).arg( length ).arg( align ).arg( size )
+             );
+  Q_UNUSED( xdep );
+  Q_UNUSED( align );
+
+  bool haveStrArea = false;
+  for ( std::vector<double>::size_type i = 0; i < size; i++ )
+  {
+    path.push_back( buf->getBitDouble() );
+    /*int bs1 =*/
+    buf->getBitShort();
+    /*double d1= */
+    buf->getRawDouble();
+    /*double d2=*/
+    buf->getRawDouble();
+    /*double d3= */
+    buf->getBitDouble();
+    /*double d4= */
+    buf->getBitDouble();
+    int bs2 = buf->getBitShort();
+    if (( bs2 & 2 ) != 0 ) haveStrArea = true;
+  }
+
+  QStringList l;
+  for ( unsigned i = 0; i < path.size() ; i++ )
+  {
+    l << QString( "%1" ).arg( path[i] );
+  }
+  QgsDebugMsg( QString( "path=%1 rem:%2" ).arg( l.join( " " ) ).arg( buf->numRemainingBytes() ) );
+
+  if ( version < DRW::AC1021 ) //2004-
+  {
+    duint8 strarea[256];
+    buf->getBytes( strarea, 256 );
+    QgsDebugMsg( QString( "string area 256 bytes:\n%1" ).arg( reinterpret_cast<char*>( strarea ) ) );
+  }
+  else   //2007+
+  {
+    //first verify flag
+    if ( haveStrArea )
+    {
+      duint8 strarea[512];
+      buf->getBytes( strarea, 512 );
+      QgsDebugMsg( QString( "string area 256 bytes:\n%1" ).arg( reinterpret_cast<char*>( strarea ) ) );
+    }
+    else
+    {
+      QgsDebugMsg( "string area 512 bytes not present" );
+    }
+  }
+
+  if ( version > DRW::AC1021 )  //2007+ skip string area
+  {
+    QgsDebugMsgLevel( QString( "ltype end of object data pos 2010: %1; strBuf bpos 2007:%2" ).arg( buf->getPosition() ).arg( buf->getBitPos() ), 4 );
+  }
+
+  if ( version > DRW::AC1018 )  //2007+ skip string area
+  {
+    buf->setPosition( objSize >> 3 );
+    buf->setBitPos( objSize & 7 );
+  }
+
+  if ( version > DRW::AC1021 )  //2007+ skip string area
+  {
+    QgsDebugMsgLevel( QString( "ltype start of handle data pos 2010: %1; strBuf bpos 2007:%2" ).arg( buf->getPosition() ).arg( buf->getBitPos() ), 4 );
+  }
+
+  dwgHandle ltControlH = buf->getHandle();
+  QgsDebugMsgLevel( QString( "line type control handle: %1.%2 0x%3; rem:%4" )
+                    .arg( ltControlH.code ).arg( ltControlH.size ).arg( ltControlH.ref, 0, 16 ).arg( buf->numRemainingBytes() ), 4 );
+  parentHandle = ltControlH.ref;
+
+  for ( int i = 0; i < numReactors;++i )
+  {
+    dwgHandle reactorsH = buf->getHandle();
+    QgsDebugMsgLevel( QString( "reactorsH control handle: %1.%2 0x%3" ).arg( reactorsH.code ).arg( reactorsH.size ).arg( reactorsH.ref, 0, 16 ), 4 );
+  }
+  if ( xDictFlag != 1 ) //linetype in 2004 seems not have XDicObjH or NULL handle
+  {
+    dwgHandle XDicObjH = buf->getHandle();
+    QgsDebugMsg( QString( "XDicObjH control handle: %1.%2 0x%3 rem:%4" ).arg( XDicObjH.code ).arg( XDicObjH.size ).arg( XDicObjH.ref, 0, 16 ).arg( buf->numRemainingBytes() ) );
+  }
+  if ( size > 0 )
+  {
+    dwgHandle XRefH = buf->getHandle();
+    QgsDebugMsg( QString( "XRefH control handle: %1.%2 0x%3" ).arg( XRefH.code ).arg( XRefH.size ).arg( XRefH.ref, 0, 16 ) );
+    dwgHandle shpHandle = buf->getHandle();
+    QgsDebugMsg( QString( "shapeFile handle: %1.%2 0x%3; rem:%4" ).arg( shpHandle.code ).arg( shpHandle.size ).arg( shpHandle.ref, 0, 16 ).arg( buf->numRemainingBytes() ) );
+  }
+  dwgHandle shpHandle = buf->getHandle();
+  QgsDebugMsg( QString( "shapeFile +1 handle ??: %1.%2 0x%3; rem:%4" ).arg( shpHandle.code ).arg( shpHandle.size ).arg( shpHandle.ref, 0, 16 ).arg( buf->numRemainingBytes() ) );
+
+//    RS crc;   //RS */
+  return buf->isGood();
+}
+
+//! Class to handle layer entries
+/*!
+*  Class to handle layer symbol table entries
+*  @author Rallaz
+*/
+void DRW_Layer::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 6:
+      lineType = reader->getUtf8String();
+      break;
+    case 62:
+      color = reader->getInt32();
+      break;
+    case 290:
+      plotF = reader->getBool();
+      break;
+    case 370:
+      lWeight = DRW_LW_Conv::dxfInt2lineWidth( reader->getInt32() );
+      break;
+    case 390:
+      handlePlotS = reader->getString();
+      break;
+    case 347:
+      handleMaterialS = reader->getString();
+      break;
+    case 420:
+      color24 = reader->getInt32();
+      break;
+    case 440:
+      transparency = reader->getInt32();
+      break;
+    default:
+      DRW_TableEntry::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Layer::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_TableEntry::parseDwg( version, buf, sBuf, bs );
+  QgsDebugMsg( "***************************** parsing layer *********************************************" );
+  if ( !ret )
+    return ret;
+  name = sBuf->getVariableText( version, false );
+  QgsDebugMsg( QString( "layer name: %1" ).arg( name.c_str() ) );
+
+  flags |= buf->getBit() << 6;//layer have entity
+  if ( version < DRW::AC1021 )  //2004-
+  {
+    int t = buf->getBitShort();
+    QgsDebugMsg( QString( "xrefindex = %1" ).arg( t ) );
+    Q_UNUSED( t );
+    //dint16 xrefindex = buf->getBitShort();
+  }
+  flags |= buf->getBit() << 4;//is refx dependent
+  if ( version < DRW::AC1015 )  //14-
+  {
+    flags |= buf->getBit(); //layer frozen
+    /*flags |=*/
+    buf->getBit(); //unused, negate the color
+    flags |= buf->getBit() << 1;//frozen in new
+    flags |= buf->getBit() << 3;//locked
+  }
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    dint16 f = buf->getSBitShort();//bit2 are layer on
+    QgsDebugMsg( QString( "flags 2000+: %1" ).arg( f ) );
+    flags |= f & 0x0001; //layer frozen
+    flags |= ( f >> 1 ) & 0x0002;//frozen in new
+    flags |= ( f >> 1 ) & 0x0004;//locked
+    plotF = ( f >> 4 ) & 0x0001;
+    lWeight = DRW_LW_Conv::dwgInt2lineWidth(( f & 0x03E0 ) >> 5 );
+  }
+  color = buf->getCmColor( version ); //BS or CMC //ok for R14 or negate
+  QgsDebugMsg( QString( "entity color: %1" ).arg( color ) );
+
+  if ( version > DRW::AC1018 )  //2007+ skip string area
+  {
+    buf->setPosition( objSize >> 3 );
+    buf->setBitPos( objSize & 7 );
+  }
+  dwgHandle layerControlH = buf->getHandle();
+  QgsDebugMsg( QString( "layer control handle: %1.%2 0x%3" ).arg( layerControlH.code ).arg( layerControlH.size ).arg( layerControlH.ref, 0, 16 ) );
+  parentHandle = layerControlH.ref;
+
+  if ( xDictFlag != 1 ) //linetype in 2004 seems not have XDicObjH or NULL handle
+  {
+    dwgHandle XDicObjH = buf->getHandle();
+    QgsDebugMsg( QString( "XDicObjH control handle: %1.%2 0x%3" ).arg( XDicObjH.code ).arg( XDicObjH.size ).arg( XDicObjH.ref, 0, 16 ) );
+  }
+  dwgHandle XRefH = buf->getHandle();
+  QgsDebugMsg( QString( "XRefH control handle: %1.%2 0x%3" ).arg( XRefH.code ).arg( XRefH.size ).arg( XRefH.ref, 0, 16 ) );
+
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    dwgHandle plotStyH = buf->getHandle();
+    QgsDebugMsg( QString( "Plot style control handle: %1.%2 0x%3" ).arg( plotStyH.code ).arg( plotStyH.size ).arg( plotStyH.ref, 0, 16 ) );
+    handlePlotS = DRW::toHexStr( plotStyH.ref );// std::string(plotStyH.ref);//RLZ: verify conversion
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    dwgHandle materialH = buf->getHandle();
+    QgsDebugMsg( QString( "Material control handle: %1.%2 0x%3" ).arg( materialH.code ).arg( materialH.size ).arg( materialH.ref, 0, 16 ) );
+    handleMaterialS = DRW::toHexStr( materialH.ref );//RLZ: verify conversion
+  }
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  //lineType handle
+  lTypeH = buf->getHandle();
+  QgsDebugMsg( QString( "line type handle: %1.%2 0x%3; rem:%4" ).arg( lTypeH.code ).arg( lTypeH.size ).arg( lTypeH.ref, 0, 16 ).arg( buf->numRemainingBytes() ) );
+
+//    RS crc;   //RS */
+  return buf->isGood();
+}
+
+bool DRW_Block_Record::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_TableEntry::parseDwg( version, buf, sBuf, bs );
+
+  QgsDebugMsg( "***************************** parsing block record ******************************************" );
+
+  if ( !ret )
+    return ret;
+  duint32 insertCount = 0;//only 2000+
+  duint32 objectCount = 0; //only 2004+
+
+  name = sBuf->getVariableText( version, false );
+  QgsDebugMsg( QString( "block record name: %1" ).arg( name.c_str() ) );
+
+  flags |= buf->getBit() << 6;//referenced external reference, block code 70, bit 7 (64)
+  if ( version > DRW::AC1018 )  //2007+
+  {
+  }
+  else  //2004- //RLZ: verify in 2004, 2010 &2013
+  {
+    dint16 xrefindex = buf->getBitShort();
+    QgsDebugMsg( QString( "xrefindex: %1" ).arg( xrefindex ) );
+    Q_UNUSED( xrefindex );
+  }
+  flags |= buf->getBit() << 4;//is refx dependent, block code 70, bit 5 (16)
+  flags |= buf->getBit(); //if is anonimous block (*U) block code 70, bit 1 (1)
+  flags |= buf->getBit() << 1; //if block contains attdefs, block code 70, bit 2 (2)
+  bool blockIsXref = buf->getBit(); //if is a Xref, block code 70, bit 3 (4)
+  bool xrefOverlaid = buf->getBit(); //if is a overlaid Xref, block code 70, bit 4 (8)
+  flags |= blockIsXref << 2; //if is a Xref, block code 70, bit 3 (4)
+  flags |= xrefOverlaid << 3; //if is a overlaid Xref, block code 70, bit 4 (8)
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    flags |= buf->getBit() << 5; //if is a loaded Xref, block code 70, bit 6 (32)
+  }
+  QgsDebugMsg( QString( "flags: 0x%1" ).arg( flags, 0, 16 ) );
+
+  if ( version > DRW::AC1015 )  //2004+ fails in 2007
+  {
+    objectCount = buf->getBitLong(); //Number of objects owned by this block
+    RESERVE( entMap, objectCount );
+  }
+  basePoint.x = buf->getBitDouble();
+  basePoint.y = buf->getBitDouble();
+  basePoint.z = buf->getBitDouble();
+  UTF8STRING path = sBuf->getVariableText( version, false );
+
+  QgsDebugMsg( QString( "insertion point: %1,%2,%3; Xref path name:%4" )
+               .arg( basePoint.x ).arg( basePoint.y ).arg( basePoint.z )
+               .arg( path.c_str() )
+             );
+
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    insertCount = 0;
+    while ( duint8 i = buf->getRawChar8() != 0 )
+      insertCount += i;
+    UTF8STRING bkdesc = sBuf->getVariableText( version, false );
+
+    QgsDebugMsg( QString( "Block description: %1" ).arg( bkdesc.c_str() ) );
+
+    duint32 prevData = buf->getBitLong();
+    for ( unsigned int j = 0; j < prevData; ++j )
+      buf->getRawChar8();
+  }
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    duint16 insUnits = buf->getBitShort();
+    bool canExplode = buf->getBit(); //if block can be exploded
+    duint8 bkScaling = buf->getRawChar8();
+
+    DRW_UNUSED( insUnits );
+    DRW_UNUSED( canExplode );
+    DRW_UNUSED( bkScaling );
+  }
+
+  if ( version > DRW::AC1018 )  //2007+ skip string area
+  {
+    buf->setPosition( objSize >> 3 );
+    buf->setBitPos( objSize & 7 );
+  }
+
+  dwgHandle blockControlH = buf->getHandle();
+  QgsDebugMsg( QString( "block control handle: %1.%2 0x%3" ).arg( blockControlH.code ).arg( blockControlH.size ).arg( blockControlH.ref, 0, 16 ) );
+  parentHandle = blockControlH.ref;
+
+  for ( int i = 0; i < numReactors; i++ )
+  {
+    dwgHandle reactorH = buf->getHandle();
+    QgsDebugMsgLevel( QString( "reactor handle %1: %2.%3 0x%4" ).arg( i ).arg( reactorH.code ).arg( reactorH.size ).arg( reactorH.ref, 0, 16 ), 5 );
+  }
+  if ( xDictFlag != 1 )  //R14+ //seems present in 2000
+  {
+    dwgHandle XDicObjH = buf->getHandle();
+    QgsDebugMsg( QString( "XDicObj block control handle: %1.%2 0x%3" ).arg( XDicObjH.code ).arg( XDicObjH.size ).arg( XDicObjH.ref, 0, 16 ) );
+  }
+  if ( version != DRW::AC1021 )  //2007+ XDicObjH or NullH not present
+  {
+  }
+  dwgHandle NullH = buf->getHandle();
+  QgsDebugMsg( QString( "NullH control handle: %1.%2 0x%3" ).arg( NullH.code ).arg( NullH.size ).arg( NullH.ref, 0, 16 ) );
+  dwgHandle blockH = buf->getOffsetHandle( handle );
+  QgsDebugMsg( QString( "blockH handle: %1.%2 0x%3" ).arg( blockH.code ).arg( blockH.size ).arg( blockH.ref, 0, 16 ) );
+  block = blockH.ref;
+
+  if ( version > DRW::AC1015 )  //2004+
+  {
+    for ( unsigned int i = 0; i < objectCount; i++ )
+    {
+      dwgHandle entityH = buf->getHandle();
+      QgsDebugMsgLevel( QString( "entityH handle %1: %2.%3 0x%4" ).arg( i ).arg( entityH.code ).arg( entityH.size ).arg( entityH.ref, 0, 16 ), 5 );
+      entMap.push_back( entityH.ref );
+    }
+  }
+  else  //2000-
+  {
+    if ( !blockIsXref && !xrefOverlaid )
+    {
+      dwgHandle firstH = buf->getHandle();
+      QgsDebugMsgLevel( QString( "firstH entity handle %1.%2 0x%3" ).arg( firstH.code ).arg( firstH.size ).arg( firstH.ref, 0, 16 ), 5 );
+      firstEH = firstH.ref;
+
+      dwgHandle lastH = buf->getHandle();
+      QgsDebugMsg( QString( "lastH entity handle %1.%2 0x%3" ).arg( lastH.code ).arg( lastH.size ).arg( lastH.ref, 0, 16 ) );
+      lastEH = lastH.ref;
+    }
+  }
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  dwgHandle endBlockH = buf->getOffsetHandle( handle );
+  QgsDebugMsg( QString( "endBlockH handle %1.%2 0x%3" ).arg( endBlockH.code ).arg( endBlockH.size ).arg( endBlockH.ref, 0, 16 ) );
+  endBlock = endBlockH.ref;
+
+  if ( version > DRW::AC1014 )  //2000+
+  {
+    for ( unsigned int i = 0; i < insertCount; i++ )
+    {
+      dwgHandle insertsH = buf->getHandle();
+      QgsDebugMsgLevel( QString( "insertsH handle %1: %2.%3 0x%4" ).arg( i ).arg( insertsH.code ).arg( insertsH.size ).arg( insertsH.ref, 0, 16 ), 5 );
+    }
+
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+    dwgHandle layoutH = buf->getHandle();
+    QgsDebugMsg( QString( "layoutH handle %1.%2 0x%3" ).arg( layoutH.code ).arg( layoutH.size ).arg( layoutH.ref, 0, 16 ) );
+  }
+
+//    RS crc;   //RS */
+  return buf->isGood();
+}
+
+//! Class to handle text style entries
+/*!
+*  Class to handle text style symbol table entries
+*  @author Rallaz
+*/
+void DRW_Textstyle::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 3:
+      font = reader->getUtf8String();
+      break;
+    case 4:
+      bigFont = reader->getUtf8String();
+      break;
+    case 40:
+      height = reader->getDouble();
+      break;
+    case 41:
+      width = reader->getDouble();
+      break;
+    case 50:
+      oblique = reader->getDouble();
+      break;
+    case 42:
+      lastHeight = reader->getDouble();
+      break;
+    case 71:
+      genFlag = reader->getInt32();
+      break;
+    case 1071:
+      fontFamily = reader->getInt32();
+      break;
+    default:
+      DRW_TableEntry::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Textstyle::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_TableEntry::parseDwg( version, buf, sBuf, bs );
+
+  QgsDebugMsg( "***************************** parsing text style *********************************************" );
+
+  if ( !ret )
+    return ret;
+  name = sBuf->getVariableText( version, false );
+
+  QgsDebugMsg( QString( "text style name: %1" ).arg( name.c_str() ) );
+
+  flags |= buf->getBit() << 6;//style are referenced for a entity, style code 70, bit 7 (64)
+  /*dint16 xrefindex =*/
+  buf->getBitShort();
+  flags |= buf->getBit() << 4; //is refx dependent, style code 70, bit 5 (16)
+  flags |= buf->getBit() << 2; //vertical text, stile code 70, bit 3 (4)
+  flags |= buf->getBit(); //if is a shape file instead of text, style code 70, bit 1 (1)
+  height = buf->getBitDouble();
+  width = buf->getBitDouble();
+  oblique = buf->getBitDouble();
+  genFlag = buf->getRawChar8();
+  lastHeight = buf->getBitDouble();
+  font = sBuf->getVariableText( version, false );
+  bigFont = sBuf->getVariableText( version, false );
+  if ( version > DRW::AC1018 )  //2007+ skip string area
+  {
+    buf->setPosition( objSize >> 3 );
+    buf->setBitPos( objSize & 7 );
+  }
+  dwgHandle shpControlH = buf->getHandle();
+  QgsDebugMsg( QString( "shpControlH handle %1.%2 0x%3" ).arg( shpControlH.code ).arg( shpControlH.size ).arg( shpControlH.ref, 0, 16 ) );
+  parentHandle = shpControlH.ref;
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( xDictFlag != 1 ) //linetype in 2004 seems not have XDicObjH or NULL handle
+  {
+    dwgHandle XDicObjH = buf->getHandle();
+    QgsDebugMsg( QString( "XDicObjH handle %1.%2 0x%3" ).arg( XDicObjH.code ).arg( XDicObjH.size ).arg( XDicObjH.ref, 0, 16 ) );
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+  }
+  /*RLZ: fails verify this part*/
+  dwgHandle XRefH = buf->getHandle();
+  QgsDebugMsg( QString( "XRefH handle %1.%2 0x%3" ).arg( XRefH.code ).arg( XRefH.size ).arg( XRefH.ref, 0, 16 ) );
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
+
+//! Class to handle vport entries
+/*!
+*  Class to handle vport symbol table entries
+*  @author Rallaz
+*/
+void DRW_Vport::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 10:
+      lowerLeft.x = reader->getDouble();
+      break;
+    case 20:
+      lowerLeft.y = reader->getDouble();
+      break;
+    case 11:
+      UpperRight.x = reader->getDouble();
+      break;
+    case 21:
+      UpperRight.y = reader->getDouble();
+      break;
+    case 12:
+      center.x = reader->getDouble();
+      break;
+    case 22:
+      center.y = reader->getDouble();
+      break;
+    case 13:
+      snapBase.x = reader->getDouble();
+      break;
+    case 23:
+      snapBase.y = reader->getDouble();
+      break;
+    case 14:
+      snapSpacing.x = reader->getDouble();
+      break;
+    case 24:
+      snapSpacing.y = reader->getDouble();
+      break;
+    case 15:
+      gridSpacing.x = reader->getDouble();
+      break;
+    case 25:
+      gridSpacing.y = reader->getDouble();
+      break;
+    case 16:
+      viewDir.x = reader->getDouble();
+      break;
+    case 26:
+      viewDir.y = reader->getDouble();
+      break;
+    case 36:
+      viewDir.z = reader->getDouble();
+      break;
+    case 17:
+      viewTarget.x = reader->getDouble();
+      break;
+    case 27:
+      viewTarget.y = reader->getDouble();
+      break;
+    case 37:
+      viewTarget.z = reader->getDouble();
+      break;
+    case 40:
+      height = reader->getDouble();
+      break;
+    case 41:
+      ratio = reader->getDouble();
+      break;
+    case 42:
+      lensHeight = reader->getDouble();
+      break;
+    case 43:
+      frontClip = reader->getDouble();
+      break;
+    case 44:
+      backClip = reader->getDouble();
+      break;
+    case 50:
+      snapAngle = reader->getDouble();
+      break;
+    case 51:
+      twistAngle = reader->getDouble();
+      break;
+    case 71:
+      viewMode = reader->getInt32();
+      break;
+    case 72:
+      circleZoom = reader->getInt32();
+      break;
+    case 73:
+      fastZoom = reader->getInt32();
+      break;
+    case 74:
+      ucsIcon = reader->getInt32();
+      break;
+    case 75:
+      snap = reader->getInt32();
+      break;
+    case 76:
+      grid = reader->getInt32();
+      break;
+    case 77:
+      snapStyle = reader->getInt32();
+      break;
+    case 78:
+      snapIsopair = reader->getInt32();
+      break;
+    default:
+      DRW_TableEntry::parseCode( code, reader );
+      break;
+  }
+}
+
+bool DRW_Vport::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_TableEntry::parseDwg( version, buf, sBuf, bs );
+  QgsDebugMsg( "***************************** parsing VPort ************************************************" );
+  if ( !ret )
+    return ret;
+  name = sBuf->getVariableText( version, false );
+  QgsDebugMsg( QString( "vport name: %1" ).arg( name.c_str() ) );
+
+  flags |= buf->getBit() << 6;// code 70, bit 7 (64)
+  if ( version < DRW::AC1021 ) //2004-
+  {
+    /*dint16 xrefindex =*/
+    buf->getBitShort();
+  }
+  flags |= buf->getBit() << 4; //is refx dependant, style code 70, bit 5 (16)
+  height = buf->getBitDouble();
+  ratio = buf->getBitDouble();
+
+  QgsDebugMsg( QString( "flags:%1 height:%2 ratio:%3" ).arg( flags ).arg( height ).arg( ratio ) );
+
+  center = buf->get2RawDouble();
+  QgsDebugMsg( QString( "view center:%1,%2,%3" ).arg( center.x ).arg( center.y ).arg( center.z ) );
+
+  viewTarget.x = buf->getBitDouble();
+  viewTarget.y = buf->getBitDouble();
+  viewTarget.z = buf->getBitDouble();
+  QgsDebugMsg( QString( "view target:%1,%2,%3" ).arg( viewTarget.x ).arg( viewTarget.y ).arg( viewTarget.z ) );
+
+  viewDir.x = buf->getBitDouble();
+  viewDir.y = buf->getBitDouble();
+  viewDir.z = buf->getBitDouble();
+  QgsDebugMsg( QString( "view dir:%1,%2,%3" ).arg( viewDir.x ).arg( viewDir.y ).arg( viewDir.z ) );
+
+  twistAngle = buf->getBitDouble();
+  lensHeight = buf->getBitDouble();
+  frontClip = buf->getBitDouble();
+  backClip = buf->getBitDouble();
+
+  QgsDebugMsg( QString( "twistAngle:%1 lensHeight:%2 frontClip:%3 backClip:%4" ).arg( twistAngle ).arg( lensHeight ).arg( frontClip ).arg( backClip ) );
+
+  viewMode = buf->getBit(); //view mode, code 71, bit 0 (1)
+  viewMode |= buf->getBit() << 1; //view mode, code 71, bit 1 (2)
+  viewMode |= buf->getBit() << 2; //view mode, code 71, bit 2 (4)
+  viewMode |= buf->getBit() << 4; //view mode, code 71, bit 4 (16)
+  if ( version > DRW::AC1014 ) //2000+
+  {
+    duint8 renderMode = buf->getRawChar8();
+    QgsDebugMsg( QString( "renderMode: %1" ).arg( renderMode ) );
+    Q_UNUSED( renderMode );
+
+    if ( version > DRW::AC1018 ) //2007+
+    {
+      int t;
+      double d;
+
+      t = buf->getBit();
+      QgsDebugMsg( QString( "use default lights:%1" ).arg( t ) );
+      Q_UNUSED( t );
+      t = buf->getRawChar8();
+      QgsDebugMsg( QString( "default lighting type:%1" ).arg( t ) );
+      d = buf->getBitDouble();
+      QgsDebugMsg( QString( "brightness:%1" ).arg( d ) );
+      Q_UNUSED( d );
+      d = buf->getBitDouble();
+      QgsDebugMsg( QString( "contrast:%1" ).arg( d ) );
+      t = buf->getCmColor( version );
+      QgsDebugMsg( QString( "color:%1" ).arg( t ) );
+    }
+  }
+  lowerLeft = buf->get2RawDouble();
+  QgsDebugMsg( QString( "lowerLeft:%1,%2,%3" ).arg( lowerLeft.x ).arg( lowerLeft.y ).arg( lowerLeft.z ) );
+  UpperRight = buf->get2RawDouble();
+  QgsDebugMsg( QString( "UpperRight:%1,%2,%3" ).arg( UpperRight.x ).arg( UpperRight.y ).arg( UpperRight.z ) );
+
+  viewMode |= buf->getBit() << 3; //UCSFOLLOW, view mode, code 71, bit 3 (8)
+  circleZoom = buf->getBitShort();
+  fastZoom = buf->getBit();
+  QgsDebugMsg( QString( "viewMode:%1 circleZoom:%2 fastZoom:%3" ).arg( viewMode ).arg( circleZoom ).arg( fastZoom ) );
+
+  ucsIcon = buf->getBit(); //ucs Icon, code 74, bit 0 (1)
+  ucsIcon |= buf->getBit() << 1; //ucs Icon, code 74, bit 1 (2)
+  grid = buf->getBit();
+
+  QgsDebugMsg( QString( "ucsIcon:%1 grid:%2" ).arg( ucsIcon ).arg( grid ) );
+
+  gridSpacing = buf->get2RawDouble();
+  QgsDebugMsg( QString( "grid Spacing:%1,%2,%3" ).arg( gridSpacing.x ).arg( gridSpacing.y ).arg( gridSpacing.z ) );
+
+  snap = buf->getBit();
+  snapStyle = buf->getBit();
+  QgsDebugMsg( QString( "snap on/off:%1 snap Style:%2" ).arg( snap ).arg( snapStyle ) );
+  snapIsopair = buf->getBitShort();
+  snapAngle = buf->getBitDouble();
+  QgsDebugMsg( QString( "snap Isopair::%1 snap Angle::%2" ).arg( snapIsopair ).arg( snapAngle ) );
+
+  snapBase = buf->get2RawDouble();
+  QgsDebugMsg( QString( "snap Base:%1,%2,%3" ).arg( snapBase.x ).arg( snapBase.y ).arg( snapBase.z ) );
+
+  snapSpacing = buf->get2RawDouble();
+  QgsDebugMsg( QString( "snap Base:%1,%2,%3" ).arg( snapSpacing.x ).arg( snapSpacing.y ).arg( snapSpacing.z ) );
+
+  if ( version > DRW::AC1014 ) //2000+
+  {
+    int t;
+    double d;
+    double x, y, z;
+
+    t = buf->getBit();
+    QgsDebugMsg( QString( "Unknown %1" ).arg( t ) );
+    Q_UNUSED( t );
+    t = buf->getBit();
+    QgsDebugMsg( QString( "UCS per Viewport: %1" ).arg( t ) );
+
+    x = buf->getBitDouble();
+    y = buf->getBitDouble();
+    z = buf->getBitDouble();
+    QgsDebugMsg( QString( "UCS origin:%1,%2,%3" ).arg( x, y, z ) );
+    Q_UNUSED( x );
+    Q_UNUSED( y );
+    Q_UNUSED( z );
+
+    x = buf->getBitDouble();
+    y = buf->getBitDouble();
+    z = buf->getBitDouble();
+    QgsDebugMsg( QString( "UCS X Axis:%1,%2,%3" ).arg( x, y, z ) );
+
+    x = buf->getBitDouble();
+    y = buf->getBitDouble();
+    z = buf->getBitDouble();
+    QgsDebugMsg( QString( "UCS Y Axis:%1,%2,%3" ).arg( x, y, z ) );
+
+    d = buf->getBitDouble();
+    QgsDebugMsg( QString( "UCS elevation: %1" ).arg( d ) );
+    Q_UNUSED( d );
+
+    t = buf->getBitShort();
+    QgsDebugMsg( QString( " UCS Orthographic type: %1" ).arg( t ) );
+
+    if ( version > DRW::AC1018 ) //2007+
+    {
+      gridBehavior = buf->getBitShort();
+      QgsDebugMsg( QString( "Grid behavior: %1" ).arg( gridBehavior ) );
+      t = buf->getBitShort();
+      QgsDebugMsg( QString( "Grid major: %1" ).arg( t ) );
+    }
+  }
+
+  //common handles
+  if ( version > DRW::AC1018 )  //2007+ skip string area
+  {
+    buf->setPosition( objSize >> 3 );
+    buf->setBitPos( objSize & 7 );
+  }
+  dwgHandle vpControlH = buf->getHandle();
+  QgsDebugMsg( QString( "vpControlH Handle: %1.%2 0x%3" ).arg( vpControlH.code ).arg( vpControlH.size ).arg( vpControlH.ref, 0, 16 ) );
+  parentHandle = vpControlH.ref;
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( xDictFlag != 1 )
+  {
+    dwgHandle XDicObjH = buf->getHandle();
+    QgsDebugMsg( QString( "XDicObjH Handle: %1.%2 0x%3" ).arg( XDicObjH.code ).arg( XDicObjH.size ).arg( XDicObjH.ref, 0, 16 ) );
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+  }
+  /*RLZ: fails verify this part*/
+  dwgHandle XRefH = buf->getHandle();
+  QgsDebugMsg( QString( "XRefH Handle: %1.%2 0x%3" ).arg( XRefH.code ).arg( XRefH.size ).arg( XRefH.ref, 0, 16 ) );
+
+  if ( version > DRW::AC1014 ) //2000+
+  {
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+    if ( version > DRW::AC1018 ) //2007+
+    {
+      dwgHandle bkgrdH = buf->getHandle();
+      QgsDebugMsg( QString( "background Handle: %1.%2 0x%3" ).arg( bkgrdH.code ).arg( bkgrdH.size ).arg( bkgrdH.ref, 0, 16 ) );
+      QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+      dwgHandle visualStH = buf->getHandle();
+      QgsDebugMsg( QString( "visual style Handle: %1.%2 0x%3" ).arg( visualStH.code ).arg( visualStH.size ).arg( visualStH.ref, 0, 16 ) );
+      QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+      dwgHandle sunH = buf->getHandle();
+      QgsDebugMsg( QString( "sun Handle: %1.%2 0x%3" ).arg( sunH.code ).arg( sunH.size ).arg( sunH.ref, 0, 16 ) );
+      QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+    }
+
+    dwgHandle namedUCSH = buf->getHandle();
+    QgsDebugMsg( QString( "name UCS handle: %1.%2 0x%3" ).arg( namedUCSH.code ).arg( namedUCSH.size ).arg( namedUCSH.ref, 0, 16 ) );
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+    dwgHandle baseUCSH = buf->getHandle();
+    QgsDebugMsg( QString( "base UCS handle: %1.%2 0x%3" ).arg( baseUCSH.code ).arg( baseUCSH.size ).arg( baseUCSH.ref, 0, 16 ) );
+  }
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
+
+void DRW_ImageDef::parseCode( int code, dxfReader *reader )
+{
+  switch ( code )
+  {
+    case 1:
+      name = reader->getUtf8String();
+      break;
+    case 5:
+      handle = reader->getHandleString();
+      break;
+    case 10:
+      u = reader->getDouble();
+      break;
+    case 20:
+      v = reader->getDouble();
+      break;
+    case 11:
+      up = reader->getDouble();
+      break;
+    case 12:
+      vp = reader->getDouble();
+      break;
+    case 21:
+      vp = reader->getDouble();
+      break;
+    case 280:
+      loaded = reader->getInt32();
+      break;
+    case 281:
+      resolution = reader->getInt32();
+      break;
+    default:
+      break;
+  }
+}
+
+bool DRW_ImageDef::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_TableEntry::parseDwg( version, buf, sBuf, bs );
+
+  QgsDebugMsg( "***************************** parsing Image Def *********************************************" );
+  if ( !ret )
+    return ret;
+
+  dint32 imgVersion = buf->getBitLong();
+  QgsDebugMsg( QString( "class Version:%1" ).arg( imgVersion ) );
+  Q_UNUSED( imgVersion );
+
+  DRW_Coord size = buf->get2RawDouble();
+  DRW_UNUSED( size );//RLZ: temporary, complete API
+
+  name = sBuf->getVariableText( version, false );
+  QgsDebugMsg( QString( "appId name:%1" ).arg( name.c_str() ) );
+
+  loaded = buf->getBit();
+  resolution = buf->getRawChar8();
+  up = buf->getRawDouble();
+  vp = buf->getRawDouble();
+
+  dwgHandle parentH = buf->getHandle();
+  QgsDebugMsg( QString( "parentH Handle: %1.%2 0x%3" ).arg( parentH.code ).arg( parentH.size ).arg( parentH.ref, 0, 16 ) );
+  parentHandle = parentH.ref;
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  //RLZ: Reactors handles
+  if ( xDictFlag != 1 )
+  {
+    dwgHandle XDicObjH = buf->getHandle();
+    QgsDebugMsg( QString( "XDicObjH Handle: %1.%2 0x%3" ).arg( XDicObjH.code ).arg( XDicObjH.size ).arg( XDicObjH.ref, 0, 16 ) );
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+  }
+  /*RLZ: fails verify this part*/
+  dwgHandle XRefH = buf->getHandle();
+  QgsDebugMsg( QString( "XRefH Handle: %1.%2 0x%3" ).arg( XRefH.code ).arg( XRefH.size ).arg( XRefH.ref, 0, 16 ) );
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
+
+bool DRW_AppId::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  dwgBuffer sBuff = *buf;
+  dwgBuffer *sBuf = buf;
+  if ( version > DRW::AC1018 )  //2007+
+  {
+    sBuf = &sBuff; //separate buffer for strings
+  }
+  bool ret = DRW_TableEntry::parseDwg( version, buf, sBuf, bs );
+  QgsDebugMsg( "***************************** parsing app Id *********************************************" );
+  if ( !ret )
+    return ret;
+
+  name = sBuf->getVariableText( version, false );
+
+  QgsDebugMsg( QString( "appId name:%1" ).arg( name.c_str() ) );
+
+  flags |= buf->getBit() << 6;// code 70, bit 7 (64)
+  /*dint16 xrefindex =*/
+  buf->getBitShort();
+  flags |= buf->getBit() << 4; //is refx dependent, style code 70, bit 5 (16)
+  duint8 unknown = buf->getRawChar8(); // unknown code 71
+  QgsDebugMsg( QString( "unknown code 71:%1" ).arg( unknown ) );
+  Q_UNUSED( unknown );
+
+  if ( version > DRW::AC1018 )  //2007+ skip string area
+  {
+    buf->setPosition( objSize >> 3 );
+    buf->setBitPos( objSize & 7 );
+  }
+
+  dwgHandle appIdControlH = buf->getHandle();
+  QgsDebugMsg( QString( "appIdControlH Handle: %1.%2 0x%3" ).arg( appIdControlH.code ).arg( appIdControlH.size ).arg( appIdControlH.ref, 0, 16 ) );
+  parentHandle = appIdControlH.ref;
+
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  if ( xDictFlag != 1 ) //linetype in 2004 seems not have XDicObjH or NULL handle
+  {
+    dwgHandle XDicObjH = buf->getHandle();
+    QgsDebugMsg( QString( "XDicObjH Handle: %1.%2 0x%3" ).arg( XDicObjH.code ).arg( XDicObjH.size ).arg( XDicObjH.ref, 0, 16 ) );
+    QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+  }
+  /*RLZ: fails verify this part*/
+  dwgHandle XRefH = buf->getHandle();
+  QgsDebugMsg( QString( "XRefH Handle: %1.%2 0x%3" ).arg( XRefH.code ).arg( XRefH.size ).arg( XRefH.ref, 0, 16 ) );
+  QgsDebugMsg( QString( "Remaining bytes: %1" ).arg( buf->numRemainingBytes() ) );
+
+  //    RS crc;   //RS */
+  return buf->isGood();
+}
diff --git a/src/app/dwg/libdxfrw/drw_objects.h b/src/app/dwg/libdxfrw/drw_objects.h
new file mode 100644
index 0000000..141daac
--- /dev/null
+++ b/src/app/dwg/libdxfrw/drw_objects.h
@@ -0,0 +1,779 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DRW_OBJECTS_H
+#define DRW_OBJECTS_H
+
+
+#include <string>
+#include <vector>
+#include <map>
+#include "drw_base.h"
+
+class dxfReader;
+class dxfWriter;
+class dwgBuffer;
+
+namespace DRW
+{
+
+//! Table entries type.
+  enum TTYPE
+  {
+    UNKNOWNT,
+    LTYPE,
+    LAYER,
+    STYLE,
+    DIMSTYLE,
+    VPORT,
+    BLOCK_RECORD,
+    APPID,
+    IMAGEDEF
+  };
+
+//@todo VIEW, UCS, APPID, VP_ENT_HDR, GROUP, MLINESTYLE, LONG_TRANSACTION, XRECORD,
+// ACDBPLACEHOLDER, VBA_PROJECT, ACAD_TABLE, CELLSTYLEMAP, DBCOLOR, DICTIONARYVAR,
+// DICTIONARYWDFLT, FIELD, IDBUFFER, IMAGEDEF, IMAGEDEFREACTOR, LAYER_INDEX, LAYOUT,
+// MATERIAL, PLACEHOLDER, PLOTSETTINGS, RASTERVARIABLES, SCALE, SORTENTSTABLE,
+// SPATIAL_INDEX, SPATIAL_FILTER, TABLEGEOMETRY, TABLESTYLES, VISUALSTYLE
+}
+
+#define SETOBJFRIENDS  friend class dxfRW; \
+  friend class dwgReader;
+
+/** Base class for tables entries
+ *  @author Rallaz
+ */
+class DRW_TableEntry
+{
+  public:
+    //initializes default values
+    DRW_TableEntry()
+        : tType( DRW::UNKNOWNT )
+        , parentHandle( 0 )
+        , flags( 0 )
+        , curr( nullptr )
+        , xDictFlag( 0 )
+        , numReactors( 0 )
+        , objSize( 0 )
+    {
+    }
+
+    virtual ~DRW_TableEntry()
+    {
+      for ( std::vector<DRW_Variant*>::iterator it = extData.begin(); it != extData.end(); ++it )
+        delete *it;
+
+      extData.clear();
+    }
+
+    DRW_TableEntry( const DRW_TableEntry& e )
+        : tType( e.tType )
+        , handle( e.handle )
+        , parentHandle( e.parentHandle )
+        , name( e.name )
+        , flags( e.flags )
+        , curr( e.curr )
+        , xDictFlag( e.xDictFlag )
+        , numReactors( e.numReactors )
+        , objSize( e.objSize )
+    {
+      for ( std::vector<DRW_Variant*>::const_iterator it = e.extData.begin(); it != e.extData.end(); ++it )
+      {
+        extData.push_back( new DRW_Variant( *( *it ) ) );
+      }
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    virtual bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 ) = 0;
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, dwgBuffer* strBuf, duint32 bs = 0 );
+    void reset()
+    {
+      flags = 0;
+      for ( std::vector<DRW_Variant*>::iterator it = extData.begin(); it != extData.end(); ++it )
+        delete *it;
+      extData.clear();
+    }
+
+  public:
+    enum DRW::TTYPE tType;              /*!< enum: entity type, code 0 */
+    duint32 handle;                     /*!< entity identifier, code 5 */
+    int parentHandle;                   /*!< Soft-pointer ID/handle to owner object, code 330 */
+    UTF8STRING name;                    /*!< entry name, code 2 */
+    int flags;                          /*!< Flags relevant to entry, code 70 */
+    std::vector<DRW_Variant*> extData;  /*!< FIFO list of extended data, codes 1000 to 1071*/
+
+  private:
+    DRW_Variant *curr;
+
+    //***** dwg parse ********/
+  protected:
+    dint16 oType;
+    duint8 xDictFlag;
+    dint32 numReactors; //
+    duint32 objSize;  //RL 32bits object data size in bits
+};
+
+
+/** Class to handle dim style symbol table entries
+ *  @author Rallaz
+ */
+class DRW_Dimstyle : public DRW_TableEntry
+{
+    SETOBJFRIENDS
+  public:
+    DRW_Dimstyle() { reset();}
+
+    void reset()
+    {
+      tType = DRW::DIMSTYLE;
+      dimasz = dimtxt = dimexe = 0.18;
+      dimexo = 0.0625;
+      dimgap = dimcen = 0.09;
+      dimtxsty = "Standard";
+      dimscale = dimlfac = dimtfac = dimfxl = 1.0;
+      dimdli = 0.38;
+      dimrnd = dimdle = dimtp = dimtm = dimtsz = dimtvp = 0.0;
+      dimaltf = 25.4;
+      dimtol = dimlim = dimse1 = dimse2 = dimtad = dimzin = 0;
+      dimtoh = dimtolj = 1;
+      dimalt = dimtofl = dimsah = dimtix = dimsoxd = dimfxlon = 0;
+      dimaltd = dimunit = dimaltu = dimalttd = dimlunit = 2;
+      dimclrd = dimclre = dimclrt = dimjust = dimupt = 0;
+      dimazin = dimaltz = dimaltttz = dimtzin = dimfrac = 0;
+      dimtih = dimadec = dimaunit = dimsd1 = dimsd2 = dimtmove = 0;
+      dimaltrnd = 0.0;
+      dimdec = dimtdec = 4;
+      dimfit = dimatfit = 3;
+      dimdsep = '.';
+      dimlwd = dimlwe = -2;
+      DRW_TableEntry::reset();
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    //V12
+    UTF8STRING dimpost;       /*!< code 3 */
+    UTF8STRING dimapost;      /*!< code 4 */
+    /* handle are code 105 */
+    UTF8STRING dimblk;        /*!< code 5, code 342 V2000+ */
+    UTF8STRING dimblk1;       /*!< code 6, code 343 V2000+ */
+    UTF8STRING dimblk2;       /*!< code 7, code 344 V2000+ */
+    double dimscale;          /*!< code 40 */
+    double dimasz;            /*!< code 41 */
+    double dimexo;            /*!< code 42 */
+    double dimdli;            /*!< code 43 */
+    double dimexe;            /*!< code 44 */
+    double dimrnd;            /*!< code 45 */
+    double dimdle;            /*!< code 46 */
+    double dimtp;             /*!< code 47 */
+    double dimtm;             /*!< code 48 */
+    double dimfxl;            /*!< code 49 V2007+ */
+    double dimtxt;            /*!< code 140 */
+    double dimcen;            /*!< code 141 */
+    double dimtsz;            /*!< code 142 */
+    double dimaltf;           /*!< code 143 */
+    double dimlfac;           /*!< code 144 */
+    double dimtvp;            /*!< code 145 */
+    double dimtfac;           /*!< code 146 */
+    double dimgap;            /*!< code 147 */
+    double dimaltrnd;         /*!< code 148 V2000+ */
+    int dimtol;               /*!< code 71 */
+    int dimlim;               /*!< code 72 */
+    int dimtih;               /*!< code 73 */
+    int dimtoh;               /*!< code 74 */
+    int dimse1;               /*!< code 75 */
+    int dimse2;               /*!< code 76 */
+    int dimtad;               /*!< code 77 */
+    int dimzin;               /*!< code 78 */
+    int dimazin;              /*!< code 79 V2000+ */
+    int dimalt;               /*!< code 170 */
+    int dimaltd;              /*!< code 171 */
+    int dimtofl;              /*!< code 172 */
+    int dimsah;               /*!< code 173 */
+    int dimtix;               /*!< code 174 */
+    int dimsoxd;              /*!< code 175 */
+    int dimclrd;              /*!< code 176 */
+    int dimclre;              /*!< code 177 */
+    int dimclrt;              /*!< code 178 */
+    int dimadec;              /*!< code 179 V2000+ */
+    int dimunit;              /*!< code 270 R13+ (obsolete 2000+, use dimlunit & dimfrac) */
+    int dimdec;               /*!< code 271 R13+ */
+    int dimtdec;              /*!< code 272 R13+ */
+    int dimaltu;              /*!< code 273 R13+ */
+    int dimalttd;             /*!< code 274 R13+ */
+    int dimaunit;             /*!< code 275 R13+ */
+    int dimfrac;              /*!< code 276 V2000+ */
+    int dimlunit;             /*!< code 277 V2000+ */
+    int dimdsep;              /*!< code 278 V2000+ */
+    int dimtmove;             /*!< code 279 V2000+ */
+    int dimjust;              /*!< code 280 R13+ */
+    int dimsd1;               /*!< code 281 R13+ */
+    int dimsd2;               /*!< code 282 R13+ */
+    int dimtolj;              /*!< code 283 R13+ */
+    int dimtzin;              /*!< code 284 R13+ */
+    int dimaltz;              /*!< code 285 R13+ */
+    int dimaltttz;            /*!< code 286 R13+ */
+    int dimfit;               /*!< code 287 R13+  (obsolete 2000+, use dimatfit & dimtmove)*/
+    int dimupt;               /*!< code 288 R13+ */
+    int dimatfit;             /*!< code 289 V2000+ */
+    int dimfxlon;             /*!< code 290 V2007+ */
+    UTF8STRING dimtxsty;      /*!< code 340 R13+ */
+    UTF8STRING dimldrblk;     /*!< code 341 V2000+ */
+    int dimlwd;               /*!< code 371 V2000+ */
+    int dimlwe;               /*!< code 372 V2000+ */
+};
+
+
+/** Class to handle line type symbol table entries
+ *  @author Rallaz
+ * @todo handle complex lineType
+ */
+class DRW_LType : public DRW_TableEntry
+{
+    SETOBJFRIENDS
+  public:
+    DRW_LType() { reset();}
+
+    void reset()
+    {
+      tType = DRW::LTYPE;
+      desc = "";
+      size = 0;
+      length = 0.0;
+      pathIdx = 0;
+      DRW_TableEntry::reset();
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+    void update();
+
+  public:
+    UTF8STRING desc;                       /*!< descriptive string, code 3 */
+//  int align;                             /*!< align code, always 65 ('A') code 72 */
+    std::vector<double>::size_type size;   /*!< element number, code 73 */
+    double length;                         /*!< total length of pattern, code 40 */
+//  int haveShape;                         /*!< complex linetype type, code 74 */
+    std::vector<double> path;              /*!< trace, point or space length sequence, code 49 */
+  private:
+    int pathIdx;
+};
+
+
+/** Class to handle layer symbol table entries
+ *  @author Rallaz
+ */
+class DRW_Layer : public DRW_TableEntry
+{
+    SETOBJFRIENDS
+  public:
+    DRW_Layer() { reset(); }
+
+    void reset()
+    {
+      tType = DRW::LAYER;
+      lineType = "CONTINUOUS";
+      color = 7; // default BYLAYER (256)
+      plotF = true; // default TRUE (plot yes)
+      lWeight = DRW_LW_Conv::widthDefault; // default BYDEFAULT (dxf -3, dwg 31)
+      color24 = -1; //default -1 not set
+      DRW_TableEntry::reset();
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    UTF8STRING lineType;                 /*!< line type, code 6 */
+    int color;                           /*!< layer color, code 62 */
+    int color24;                         /*!< 24-bit color, code 420 */
+    int transparency;                    /*!< Transparency, code 440 */
+    bool plotF;                          /*!< Plot flag, code 290 */
+    enum DRW_LW_Conv::lineWidth lWeight; /*!< layer lineweight, code 370 */
+    std::string handlePlotS;             /*!< Hard-pointer ID/handle of plotstyle, code 390 */
+    std::string handleMaterialS;         /*!< Hard-pointer ID/handle of materialstyle, code 347 */
+    /*only used for read dwg*/
+    dwgHandle lTypeH;
+};
+
+/** Class to handle block record table entries
+ *  @author Rallaz
+ */
+class DRW_Block_Record : public DRW_TableEntry
+{
+    SETOBJFRIENDS
+  public:
+    DRW_Block_Record() { reset();}
+    void reset()
+    {
+      tType = DRW::BLOCK_RECORD;
+      flags = 0;
+      firstEH = lastEH = DRW::NoHandle;
+      DRW_TableEntry::reset();
+    }
+
+  protected:
+//  void parseCode(int code, dxfReader *reader);
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+//Note:    int DRW_TableEntry::flags; contains code 70 of block
+    int insUnits;             /*!< block insertion units, code 70 of block_record*/
+    DRW_Coord basePoint;      /*!< block insertion base point dwg only */
+  protected:
+    //dwg parser
+  private:
+    duint32 block;            // handle for block entity
+    duint32 endBlock;         // handle for end block entity
+    duint32 firstEH;          // handle of first entity, only in pre-2004
+    duint32 lastEH;           // handle of last entity, only in pre-2004
+    std::vector<duint32>entMap;
+};
+
+/** Class to handle text style symbol table entries
+ *  @author Rallaz
+ */
+class DRW_Textstyle : public DRW_TableEntry
+{
+    SETOBJFRIENDS
+  public:
+    DRW_Textstyle() { reset();}
+
+    void reset()
+    {
+      tType = DRW::STYLE;
+      height = oblique = 0.0;
+      width = lastHeight = 1.0;
+      font = "txt";
+      genFlag = 0; //2= X mirror, 4= Y mirror
+      fontFamily = 0;
+      DRW_TableEntry::reset();
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    double height;          /*!< Fixed text height (0 not set), code 40 */
+    double width;           /*!< Width factor, code 41 */
+    double oblique;         /*!< Oblique angle, code 50 */
+    int genFlag;            /*!< Text generation flags, code 71 */
+    double lastHeight;      /*!< Last height used, code 42 */
+    UTF8STRING font;        /*!< primary font file name, code 3 */
+    UTF8STRING bigFont;     /*!< bigfont file name or blank if none, code 4 */
+    int fontFamily;         /*!< ttf font family, italic and bold flags, code 1071 */
+};
+
+/** Class to handle vport symbol table entries
+ *  @author Rallaz
+ */
+class DRW_Vport : public DRW_TableEntry
+{
+    SETOBJFRIENDS
+  public:
+    DRW_Vport() { reset();}
+
+    void reset()
+    {
+      tType = DRW::VPORT;
+      UpperRight.x = UpperRight.y = 1.0;
+      snapSpacing.x = snapSpacing.y = 10.0;
+      gridSpacing = snapSpacing;
+      center.x = 0.651828;
+      center.y = -0.16;
+      viewDir.z = 1;
+      height = 5.13732;
+      ratio = 2.4426877;
+      lensHeight = 50;
+      frontClip = backClip = snapAngle = twistAngle = 0.0;
+      viewMode = snap = grid = snapStyle = snapIsopair = 0;
+      fastZoom = 1;
+      circleZoom = 100;
+      ucsIcon = 3;
+      gridBehavior = 7;
+      DRW_TableEntry::reset();
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+    DRW_Coord lowerLeft;     /*!< Lower left corner, code 10 & 20 */
+    DRW_Coord UpperRight;    /*!< Upper right corner, code 11 & 21 */
+    DRW_Coord center;        /*!< center point in WCS, code 12 & 22 */
+    DRW_Coord snapBase;      /*!< snap base point in DCS, code 13 & 23 */
+    DRW_Coord snapSpacing;   /*!< snap Spacing, code 14 & 24 */
+    DRW_Coord gridSpacing;   /*!< grid Spacing, code 15 & 25 */
+    DRW_Coord viewDir;       /*!< view direction from target point, code 16, 26 & 36 */
+    DRW_Coord viewTarget;    /*!< view target point, code 17, 27 & 37 */
+    double height;           /*!< view height, code 40 */
+    double ratio;            /*!< viewport aspect ratio, code 41 */
+    double lensHeight;       /*!< lens height, code 42 */
+    double frontClip;        /*!< front clipping plane, code 43 */
+    double backClip;         /*!< back clipping plane, code 44 */
+    double snapAngle;        /*!< snap rotation angle, code 50 */
+    double twistAngle;       /*!< view twist angle, code 51 */
+    int viewMode;            /*!< view mode, code 71 */
+    int circleZoom;          /*!< circle zoom percent, code 72 */
+    int fastZoom;            /*!< fast zoom setting, code 73 */
+    int ucsIcon;             /*!< UCSICON setting, code 74 */
+    int snap;                /*!< snap on/off, code 75 */
+    int grid;                /*!< grid on/off, code 76 */
+    int snapStyle;           /*!< snap style, code 77 */
+    int snapIsopair;         /*!< snap isopair, code 78 */
+    int gridBehavior;        /*!< grid behavior, code 60, undocumented */
+    /** Code 60, bit coded possible value are
+     * bit 1 (1) show out of limits
+     * bit 2 (2) adaptive grid
+     * bit 3 (4) allow subdivision
+     * bit 4 (8) follow dynamic SCP
+     **/
+};
+
+
+/** Class to handle image definitions object entries
+ *  @author Rallaz
+ */
+class DRW_ImageDef : public DRW_TableEntry  //
+{
+    SETOBJFRIENDS
+  public:
+    DRW_ImageDef()
+    {
+      reset();
+    }
+
+    void reset()
+    {
+      tType = DRW::IMAGEDEF;
+      imgVersion = 0;
+      DRW_TableEntry::reset();
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader );
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+
+  public:
+//  std::string handle;       /*!< entity identifier, code 5 */
+    UTF8STRING name;          /*!< File name of image, code 1 */
+    int imgVersion;           /*!< class version, code 90, 0=R14 version */
+    double u;                 /*!< image size in pixels U value, code 10 */
+    double v;                 /*!< image size in pixels V value, code 20 */
+    double up;                /*!< default size of one pixel U value, code 11 */
+    double vp;                /*!< default size of one pixel V value, code 12 really is 21*/
+    int loaded;               /*!< image is loaded flag, code 280, 0=unloaded, 1=loaded */
+    int resolution;           /*!< resolution units, code 281, 0=no, 2=centimeters, 5=inch */
+
+    std::map<std::string, std::string> reactors;
+};
+
+/** Class to handle AppId symbol table entries
+ *  @author Rallaz
+ */
+class DRW_AppId : public DRW_TableEntry
+{
+    SETOBJFRIENDS
+  public:
+    DRW_AppId() { reset();}
+
+    void reset()
+    {
+      tType = DRW::APPID;
+      flags = 0;
+      name = "";
+    }
+
+  protected:
+    void parseCode( int code, dxfReader *reader ) {DRW_TableEntry::parseCode( code, reader );}
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+};
+
+namespace DRW
+{
+  // Extended color palette:
+  // The first entry is only for direct indexing starting with [1]
+  // Color 1 is red (1,0,0)
+  const unsigned char dxfColors[][3] =
+  {
+    {  0,  0,  0}, // unused
+    {255,  0,  0}, // 1 red
+    {255, 255,  0}, // 2 yellow
+    {  0, 255,  0}, // 3 green
+    {  0, 255, 255}, // 4 cyan
+    {  0,  0, 255}, // 5 blue
+    {255,  0, 255}, // 6 magenta
+    {  0,  0,  0}, // 7 black or white
+    {128, 128, 128}, // 8 50% gray
+    {192, 192, 192}, // 9 75% gray
+    {255,  0,  0}, // 10
+    {255, 127, 127},
+    {204,  0,  0},
+    {204, 102, 102},
+    {153,  0,  0},
+    {153, 76, 76}, // 15
+    {127,  0,  0},
+    {127, 63, 63},
+    { 76,  0,  0},
+    { 76, 38, 38},
+    {255, 63,  0}, // 20
+    {255, 159, 127},
+    {204, 51,  0},
+    {204, 127, 102},
+    {153, 38,  0},
+    {153, 95, 76}, // 25
+    {127, 31,  0},
+    {127, 79, 63},
+    { 76, 19,  0},
+    { 76, 47, 38},
+    {255, 127,  0}, // 30
+    {255, 191, 127},
+    {204, 102,  0},
+    {204, 153, 102},
+    {153, 76,  0},
+    {153, 114, 76}, // 35
+    {127, 63,  0},
+    {127, 95, 63},
+    { 76, 38,  0},
+    { 76, 57, 38},
+    {255, 191,  0}, // 40
+    {255, 223, 127},
+    {204, 153,  0},
+    {204, 178, 102},
+    {153, 114,  0},
+    {153, 133, 76}, // 45
+    {127, 95,  0},
+    {127, 111, 63},
+    { 76, 57,  0},
+    { 76, 66, 38},
+    {255, 255,  0}, // 50
+    {255, 255, 127},
+    {204, 204,  0},
+    {204, 204, 102},
+    {153, 153,  0},
+    {153, 153, 76}, // 55
+    {127, 127,  0},
+    {127, 127, 63},
+    { 76, 76,  0},
+    { 76, 76, 38},
+    {191, 255,  0}, // 60
+    {223, 255, 127},
+    {153, 204,  0},
+    {178, 204, 102},
+    {114, 153,  0},
+    {133, 153, 76}, // 65
+    { 95, 127,  0},
+    {111, 127, 63},
+    { 57, 76,  0},
+    { 66, 76, 38},
+    {127, 255,  0}, // 70
+    {191, 255, 127},
+    {102, 204,  0},
+    {153, 204, 102},
+    { 76, 153,  0},
+    {114, 153, 76}, // 75
+    { 63, 127,  0},
+    { 95, 127, 63},
+    { 38, 76,  0},
+    { 57, 76, 38},
+    { 63, 255,  0}, // 80
+    {159, 255, 127},
+    { 51, 204,  0},
+    {127, 204, 102},
+    { 38, 153,  0},
+    { 95, 153, 76}, // 85
+    { 31, 127,  0},
+    { 79, 127, 63},
+    { 19, 76,  0},
+    { 47, 76, 38},
+    {  0, 255,  0}, // 90
+    {127, 255, 127},
+    {  0, 204,  0},
+    {102, 204, 102},
+    {  0, 153,  0},
+    { 76, 153, 76}, // 95
+    {  0, 127,  0},
+    { 63, 127, 63},
+    {  0, 76,  0},
+    { 38, 76, 38},
+    {  0, 255, 63}, // 100
+    {127, 255, 159},
+    {  0, 204, 51},
+    {102, 204, 127},
+    {  0, 153, 38},
+    { 76, 153, 95}, // 105
+    {  0, 127, 31},
+    { 63, 127, 79},
+    {  0, 76, 19},
+    { 38, 76, 47},
+    {  0, 255, 127}, // 110
+    {127, 255, 191},
+    {  0, 204, 102},
+    {102, 204, 153},
+    {  0, 153, 76},
+    { 76, 153, 114}, // 115
+    {  0, 127, 63},
+    { 63, 127, 95},
+    {  0, 76, 38},
+    { 38, 76, 57},
+    {  0, 255, 191}, // 120
+    {127, 255, 223},
+    {  0, 204, 153},
+    {102, 204, 178},
+    {  0, 153, 114},
+    { 76, 153, 133}, // 125
+    {  0, 127, 95},
+    { 63, 127, 111},
+    {  0, 76, 57},
+    { 38, 76, 66},
+    {  0, 255, 255}, // 130
+    {127, 255, 255},
+    {  0, 204, 204},
+    {102, 204, 204},
+    {  0, 153, 153},
+    { 76, 153, 153}, // 135
+    {  0, 127, 127},
+    { 63, 127, 127},
+    {  0, 76, 76},
+    { 38, 76, 76},
+    {  0, 191, 255}, // 140
+    {127, 223, 255},
+    {  0, 153, 204},
+    {102, 178, 204},
+    {  0, 114, 153},
+    { 76, 133, 153}, // 145
+    {  0, 95, 127},
+    { 63, 111, 127},
+    {  0, 57, 76},
+    { 38, 66, 76},
+    {  0, 127, 255}, // 150
+    {127, 191, 255},
+    {  0, 102, 204},
+    {102, 153, 204},
+    {  0, 76, 153},
+    { 76, 114, 153}, // 155
+    {  0, 63, 127},
+    { 63, 95, 127},
+    {  0, 38, 76},
+    { 38, 57, 76},
+    {  0, 66, 255}, // 160
+    {127, 159, 255},
+    {  0, 51, 204},
+    {102, 127, 204},
+    {  0, 38, 153},
+    { 76, 95, 153}, // 165
+    {  0, 31, 127},
+    { 63, 79, 127},
+    {  0, 19, 76},
+    { 38, 47, 76},
+    {  0,  0, 255}, // 170
+    {127, 127, 255},
+    {  0,  0, 204},
+    {102, 102, 204},
+    {  0,  0, 153},
+    { 76, 76, 153}, // 175
+    {  0,  0, 127},
+    { 63, 63, 127},
+    {  0,  0, 76},
+    { 38, 38, 76},
+    { 63,  0, 255}, // 180
+    {159, 127, 255},
+    { 50,  0, 204},
+    {127, 102, 204},
+    { 38,  0, 153},
+    { 95, 76, 153}, // 185
+    { 31,  0, 127},
+    { 79, 63, 127},
+    { 19,  0, 76},
+    { 47, 38, 76},
+    {127,  0, 255}, // 190
+    {191, 127, 255},
+    {102,  0, 204},
+    {153, 102, 204},
+    { 76,  0, 153},
+    {114, 76, 153}, // 195
+    { 63,  0, 127},
+    { 95, 63, 127},
+    { 38,  0, 76},
+    { 57, 38, 76},
+    {191,  0, 255}, // 200
+    {223, 127, 255},
+    {153,  0, 204},
+    {178, 102, 204},
+    {114,  0, 153},
+    {133, 76, 153}, // 205
+    { 95,  0, 127},
+    {111, 63, 127},
+    { 57,  0, 76},
+    { 66, 38, 76},
+    {255,  0, 255}, // 210
+    {255, 127, 255},
+    {204,  0, 204},
+    {204, 102, 204},
+    {153,  0, 153},
+    {153, 76, 153}, // 215
+    {127,  0, 127},
+    {127, 63, 127},
+    { 76,  0, 76},
+    { 76, 38, 76},
+    {255,  0, 191}, // 220
+    {255, 127, 223},
+    {204,  0, 153},
+    {204, 102, 178},
+    {153,  0, 114},
+    {153, 76, 133}, // 225
+    {127,  0, 95},
+    {127, 63, 11},
+    { 76,  0, 57},
+    { 76, 38, 66},
+    {255,  0, 127}, // 230
+    {255, 127, 191},
+    {204,  0, 102},
+    {204, 102, 153},
+    {153,  0, 76},
+    {153, 76, 114}, // 235
+    {127,  0, 63},
+    {127, 63, 95},
+    { 76,  0, 38},
+    { 76, 38, 57},
+    {255,  0, 63}, // 240
+    {255, 127, 159},
+    {204,  0, 51},
+    {204, 102, 127},
+    {153,  0, 38},
+    {153, 76, 95}, // 245
+    {127,  0, 31},
+    {127, 63, 79},
+    { 76,  0, 19},
+    { 76, 38, 47},
+    { 51, 51, 51}, // 250
+    { 91, 91, 91},
+    {132, 132, 132},
+    {173, 173, 173},
+    {214, 214, 214},
+    {255, 255, 255}  // 255
+  };
+
+}
+
+#endif
+
+// EOF
diff --git a/src/app/dwg/libdxfrw/intern/drw_cptable932.h b/src/app/dwg/libdxfrw/intern/drw_cptable932.h
new file mode 100644
index 0000000..2176a0b
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/drw_cptable932.h
@@ -0,0 +1,7815 @@
+#ifndef DRW_CPTABLE932_H
+#define DRW_CPTABLE932_H
+
+//Japanese
+
+//first entry in this table are 0xA1
+#define CPOFFSET932 0xFEC0
+//#define CP1LENGHT932 63
+#define CPLENGHT932 7724
+#define NOTFOUND932 0x30FB
+
+//Table 932 one byte are
+//from 0xA1 -> 0xFF61
+//to   0xDF .> 0xFF9F
+static const int DRW_Table932[1] =
+{
+};
+
+//Table 932 lead byte
+//pairs of start/end in DRW_DoubleTable932
+static const int DRW_LeadTable932[] =
+{
+  0,  //1 #DBCS LEAD BYTE 0x81
+  147,  //2 #DBCS LEAD BYTE 0x82
+  292,  //3 #DBCS LEAD BYTE 0x83
+  426,  //4 #DBCS LEAD BYTE 0x84
+  524,  //5 #DBCS LEAD BYTE 0x85, empty
+  524,  //6 #DBCS LEAD BYTE 0x86, empty
+  524,  //7 #DBCS LEAD BYTE 0x87
+  607,  //8 #DBCS LEAD BYTE 0x88
+  701,  //9 #DBCS LEAD BYTE 0x89
+  889,  //10 #DBCS LEAD BYTE 0x8A
+  1077,  //11 #DBCS LEAD BYTE 0x8B
+  1265,  //12 #DBCS LEAD BYTE 0x8C
+  1453,  //13 #DBCS LEAD BYTE 0x8D
+  1641,  //14 #DBCS LEAD BYTE 0x8E
+  1829,  //15 #DBCS LEAD BYTE 0x8F
+  2017,  //16 #DBCS LEAD BYTE 0x90
+  2205,  //17 #DBCS LEAD BYTE 0x91
+  2393,  //18 #DBCS LEAD BYTE 0x92
+  2581,  //19 #DBCS LEAD BYTE 0x93
+  2769,  //20 #DBCS LEAD BYTE 0x94
+  2957,  //21 #DBCS LEAD BYTE 0x95
+  3145,  //22 #DBCS LEAD BYTE 0x96
+  3333,  //23 #DBCS LEAD BYTE 0x97
+  3521,  //24 #DBCS LEAD BYTE 0x98
+  3666,  //25 #DBCS LEAD BYTE 0x99
+  3854,  //26 #DBCS LEAD BYTE 0x9A
+  4042,  //27 #DBCS LEAD BYTE 0x9B
+  4230,  //28 #DBCS LEAD BYTE 0x9C
+  4418,  //29 #DBCS LEAD BYTE 0x9D
+  4606,  //30 #DBCS LEAD BYTE 0x9E
+  4794,  //31 #DBCS LEAD BYTE 0x9F
+//0xA0 to 0xDF are empty
+  4982,  //32 #DBCS LEAD BYTE 0xE0
+  5170,  //33 #DBCS LEAD BYTE 0xE1
+  5358,  //34 #DBCS LEAD BYTE 0xE2
+  5546,  //35 #DBCS LEAD BYTE 0xE3
+  5734,  //36 #DBCS LEAD BYTE 0xE4
+  5922,  //37 #DBCS LEAD BYTE 0xE5
+  6110,  //38 #DBCS LEAD BYTE 0xE6
+  6298,  //39 #DBCS LEAD BYTE 0xE7
+  6486,  //40 #DBCS LEAD BYTE 0xE8
+  6674,  //41 #DBCS LEAD BYTE 0xE9
+  6862,  //42 #DBCS LEAD BYTE 0xEA
+  6962,  //43 #DBCS LEAD BYTE 0xEB, empty
+  6962,  //44 #DBCS LEAD BYTE 0xEC, empty
+  6962,  //45 #DBCS LEAD BYTE 0xED
+  7150,  //46 #DBCS LEAD BYTE 0xEE
+  7336,  //47 #DBCS LEAD BYTE 0xEF, empty
+  7336,  //48 #DBCS LEAD BYTE 0xF0, empty
+  7336,  //49 #DBCS LEAD BYTE 0xF1, empty
+  7336,  //50 #DBCS LEAD BYTE 0xF2, empty
+  7336,  //51 #DBCS LEAD BYTE 0xF3, empty
+  7336,  //52 #DBCS LEAD BYTE 0xF4, empty
+  7336,  //53 #DBCS LEAD BYTE 0xF5, empty
+  7336,  //54 #DBCS LEAD BYTE 0xF6, empty
+  7336,  //55 #DBCS LEAD BYTE 0xF7, empty
+  7336,  //56 #DBCS LEAD BYTE 0xF8, empty
+  7336,  //57 #DBCS LEAD BYTE 0xF9, empty
+  7336,  //58 #DBCS LEAD BYTE 0xFA
+  7524,  //59 #DBCS LEAD BYTE 0xFB
+  7712,  //60 #DBCS LEAD BYTE 0xFC
+  7724   //61 #END OF TABLE 0xFD
+};
+
+//Table 932 tail byte
+static const int DRW_DoubleTable932[][2] =
+{
+  {0x8140, 0x3000}, //1 #IDEOGRAPHIC SPACE
+  {0x8141, 0x3001}, //2 #IDEOGRAPHIC COMMA
+  {0x8142, 0x3002}, //3 #IDEOGRAPHIC FULL STOP
+  {0x8143, 0xFF0C}, //4 #FULLWIDTH COMMA
+  {0x8144, 0xFF0E}, //5 #FULLWIDTH FULL STOP
+  {0x8145, 0x30FB}, //6 #KATAKANA MIDDLE DOT
+  {0x8146, 0xFF1A}, //7 #FULLWIDTH COLON
+  {0x8147, 0xFF1B}, //8 #FULLWIDTH SEMICOLON
+  {0x8148, 0xFF1F}, //9 #FULLWIDTH QUESTION MARK
+  {0x8149, 0xFF01}, //10 #FULLWIDTH EXCLAMATION MARK
+  {0x814A, 0x309B}, //11 #KATAKANA-HIRAGANA VOICED SOUND MARK
+  {0x814B, 0x309C}, //12 #KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+  {0x814C, 0x00B4}, //13 #ACUTE ACCENT
+  {0x814D, 0xFF40}, //14 #FULLWIDTH GRAVE ACCENT
+  {0x814E, 0x00A8}, //15 #DIAERESIS
+  {0x814F, 0xFF3E}, //16 #FULLWIDTH CIRCUMFLEX ACCENT
+  {0x8150, 0xFFE3}, //17 #FULLWIDTH MACRON
+  {0x8151, 0xFF3F}, //18 #FULLWIDTH LOW LINE
+  {0x8152, 0x30FD}, //19 #KATAKANA ITERATION MARK
+  {0x8153, 0x30FE}, //20 #KATAKANA VOICED ITERATION MARK
+  {0x8154, 0x309D}, //21 #HIRAGANA ITERATION MARK
+  {0x8155, 0x309E}, //22 #HIRAGANA VOICED ITERATION MARK
+  {0x8156, 0x3003}, //23 #DITTO MARK
+  {0x8157, 0x4EDD}, //24 #CJK UNIFIED IDEOGRAPH
+  {0x8158, 0x3005}, //25 #IDEOGRAPHIC ITERATION MARK
+  {0x8159, 0x3006}, //26 #IDEOGRAPHIC CLOSING MARK
+  {0x815A, 0x3007}, //27 #IDEOGRAPHIC NUMBER ZERO
+  {0x815B, 0x30FC}, //28 #KATAKANA-HIRAGANA PROLONGED SOUND MARK
+  {0x815C, 0x2015}, //29 #HORIZONTAL BAR
+  {0x815D, 0x2010}, //30 #HYPHEN
+  {0x815E, 0xFF0F}, //31 #FULLWIDTH SOLIDUS
+  {0x815F, 0xFF3C}, //32 #FULLWIDTH REVERSE SOLIDUS
+  {0x8160, 0xFF5E}, //33 #FULLWIDTH TILDE
+  {0x8161, 0x2225}, //34 #PARALLEL TO
+  {0x8162, 0xFF5C}, //35 #FULLWIDTH VERTICAL LINE
+  {0x8163, 0x2026}, //36 #HORIZONTAL ELLIPSIS
+  {0x8164, 0x2025}, //37 #TWO DOT LEADER
+  {0x8165, 0x2018}, //38 #LEFT SINGLE QUOTATION MARK
+  {0x8166, 0x2019}, //39 #RIGHT SINGLE QUOTATION MARK
+  {0x8167, 0x201C}, //40 #LEFT DOUBLE QUOTATION MARK
+  {0x8168, 0x201D}, //41 #RIGHT DOUBLE QUOTATION MARK
+  {0x8169, 0xFF08}, //42 #FULLWIDTH LEFT PARENTHESIS
+  {0x816A, 0xFF09}, //43 #FULLWIDTH RIGHT PARENTHESIS
+  {0x816B, 0x3014}, //44 #LEFT TORTOISE SHELL BRACKET
+  {0x816C, 0x3015}, //45 #RIGHT TORTOISE SHELL BRACKET
+  {0x816D, 0xFF3B}, //46 #FULLWIDTH LEFT SQUARE BRACKET
+  {0x816E, 0xFF3D}, //47 #FULLWIDTH RIGHT SQUARE BRACKET
+  {0x816F, 0xFF5B}, //48 #FULLWIDTH LEFT CURLY BRACKET
+  {0x8170, 0xFF5D}, //49 #FULLWIDTH RIGHT CURLY BRACKET
+  {0x8171, 0x3008}, //50 #LEFT ANGLE BRACKET
+  {0x8172, 0x3009}, //51 #RIGHT ANGLE BRACKET
+  {0x8173, 0x300A}, //52 #LEFT DOUBLE ANGLE BRACKET
+  {0x8174, 0x300B}, //53 #RIGHT DOUBLE ANGLE BRACKET
+  {0x8175, 0x300C}, //54 #LEFT CORNER BRACKET
+  {0x8176, 0x300D}, //55 #RIGHT CORNER BRACKET
+  {0x8177, 0x300E}, //56 #LEFT WHITE CORNER BRACKET
+  {0x8178, 0x300F}, //57 #RIGHT WHITE CORNER BRACKET
+  {0x8179, 0x3010}, //58 #LEFT BLACK LENTICULAR BRACKET
+  {0x817A, 0x3011}, //59 #RIGHT BLACK LENTICULAR BRACKET
+  {0x817B, 0xFF0B}, //60 #FULLWIDTH PLUS SIGN
+  {0x817C, 0xFF0D}, //61 #FULLWIDTH HYPHEN-MINUS
+  {0x817D, 0x00B1}, //62 #PLUS-MINUS SIGN
+  {0x817E, 0x00D7}, //63 #MULTIPLICATION SIGN
+  {0x8180, 0x00F7}, //64 #DIVISION SIGN
+  {0x8181, 0xFF1D}, //65 #FULLWIDTH EQUALS SIGN
+  {0x8182, 0x2260}, //66 #NOT EQUAL TO
+  {0x8183, 0xFF1C}, //67 #FULLWIDTH LESS-THAN SIGN
+  {0x8184, 0xFF1E}, //68 #FULLWIDTH GREATER-THAN SIGN
+  {0x8185, 0x2266}, //69 #LESS-THAN OVER EQUAL TO
+  {0x8186, 0x2267}, //70 #GREATER-THAN OVER EQUAL TO
+  {0x8187, 0x221E}, //71 #INFINITY
+  {0x8188, 0x2234}, //72 #THEREFORE
+  {0x8189, 0x2642}, //73 #MALE SIGN
+  {0x818A, 0x2640}, //74 #FEMALE SIGN
+  {0x818B, 0x00B0}, //75 #DEGREE SIGN
+  {0x818C, 0x2032}, //76 #PRIME
+  {0x818D, 0x2033}, //77 #DOUBLE PRIME
+  {0x818E, 0x2103}, //78 #DEGREE CELSIUS
+  {0x818F, 0xFFE5}, //79 #FULLWIDTH YEN SIGN
+  {0x8190, 0xFF04}, //80 #FULLWIDTH DOLLAR SIGN
+  {0x8191, 0xFFE0}, //81 #FULLWIDTH CENT SIGN
+  {0x8192, 0xFFE1}, //82 #FULLWIDTH POUND SIGN
+  {0x8193, 0xFF05}, //83 #FULLWIDTH PERCENT SIGN
+  {0x8194, 0xFF03}, //84 #FULLWIDTH NUMBER SIGN
+  {0x8195, 0xFF06}, //85 #FULLWIDTH AMPERSAND
+  {0x8196, 0xFF0A}, //86 #FULLWIDTH ASTERISK
+  {0x8197, 0xFF20}, //87 #FULLWIDTH COMMERCIAL AT
+  {0x8198, 0x00A7}, //88 #SECTION SIGN
+  {0x8199, 0x2606}, //89 #WHITE STAR
+  {0x819A, 0x2605}, //90 #BLACK STAR
+  {0x819B, 0x25CB}, //91 #WHITE CIRCLE
+  {0x819C, 0x25CF}, //92 #BLACK CIRCLE
+  {0x819D, 0x25CE}, //93 #BULLSEYE
+  {0x819E, 0x25C7}, //94 #WHITE DIAMOND
+  {0x819F, 0x25C6}, //95 #BLACK DIAMOND
+  {0x81A0, 0x25A1}, //96 #WHITE SQUARE
+  {0x81A1, 0x25A0}, //97 #BLACK SQUARE
+  {0x81A2, 0x25B3}, //98 #WHITE UP-POINTING TRIANGLE
+  {0x81A3, 0x25B2}, //99 #BLACK UP-POINTING TRIANGLE
+  {0x81A4, 0x25BD}, //100 #WHITE DOWN-POINTING TRIANGLE
+  {0x81A5, 0x25BC}, //101 #BLACK DOWN-POINTING TRIANGLE
+  {0x81A6, 0x203B}, //102 #REFERENCE MARK
+  {0x81A7, 0x3012}, //103 #POSTAL MARK
+  {0x81A8, 0x2192}, //104 #RIGHTWARDS ARROW
+  {0x81A9, 0x2190}, //105 #LEFTWARDS ARROW
+  {0x81AA, 0x2191}, //106 #UPWARDS ARROW
+  {0x81AB, 0x2193}, //107 #DOWNWARDS ARROW
+  {0x81AC, 0x3013}, //108 #GETA MARK
+  {0x81B8, 0x2208}, //109 #ELEMENT OF
+  {0x81B9, 0x220B}, //110 #CONTAINS AS MEMBER
+  {0x81BA, 0x2286}, //111 #SUBSET OF OR EQUAL TO
+  {0x81BB, 0x2287}, //112 #SUPERSET OF OR EQUAL TO
+  {0x81BC, 0x2282}, //113 #SUBSET OF
+  {0x81BD, 0x2283}, //114 #SUPERSET OF
+  {0x81BE, 0x222A}, //115 #UNION
+  {0x81BF, 0x2229}, //116 #INTERSECTION
+  {0x81C8, 0x2227}, //117 #LOGICAL AND
+  {0x81C9, 0x2228}, //118 #LOGICAL OR
+  {0x81CA, 0xFFE2}, //119 #FULLWIDTH NOT SIGN
+  {0x81CB, 0x21D2}, //120 #RIGHTWARDS DOUBLE ARROW
+  {0x81CC, 0x21D4}, //121 #LEFT RIGHT DOUBLE ARROW
+  {0x81CD, 0x2200}, //122 #FOR ALL
+  {0x81CE, 0x2203}, //123 #THERE EXISTS
+  {0x81DA, 0x2220}, //124 #ANGLE
+  {0x81DB, 0x22A5}, //125 #UP TACK
+  {0x81DC, 0x2312}, //126 #ARC
+  {0x81DD, 0x2202}, //127 #PARTIAL DIFFERENTIAL
+  {0x81DE, 0x2207}, //128 #NABLA
+  {0x81DF, 0x2261}, //129 #IDENTICAL TO
+  {0x81E0, 0x2252}, //130 #APPROXIMATELY EQUAL TO OR THE IMAGE OF
+  {0x81E1, 0x226A}, //131 #MUCH LESS-THAN
+  {0x81E2, 0x226B}, //132 #MUCH GREATER-THAN
+  {0x81E3, 0x221A}, //133 #SQUARE ROOT
+  {0x81E4, 0x223D}, //134 #REVERSED TILDE
+  {0x81E5, 0x221D}, //135 #PROPORTIONAL TO
+  {0x81E6, 0x2235}, //136 #BECAUSE
+  {0x81E7, 0x222B}, //137 #INTEGRAL
+  {0x81E8, 0x222C}, //138 #DOUBLE INTEGRAL
+  {0x81F0, 0x212B}, //139 #ANGSTROM SIGN
+  {0x81F1, 0x2030}, //140 #PER MILLE SIGN
+  {0x81F2, 0x266F}, //141 #MUSIC SHARP SIGN
+  {0x81F3, 0x266D}, //142 #MUSIC FLAT SIGN
+  {0x81F4, 0x266A}, //143 #EIGHTH NOTE
+  {0x81F5, 0x2020}, //144 #DAGGER
+  {0x81F6, 0x2021}, //145 #DOUBLE DAGGER
+  {0x81F7, 0x00B6}, //146 #PILCROW SIGN
+  {0x81FC, 0x25EF}, //147 #LARGE CIRCLE
+  {0x824F, 0xFF10}, //148 #FULLWIDTH DIGIT ZERO
+  {0x8250, 0xFF11}, //149 #FULLWIDTH DIGIT ONE
+  {0x8251, 0xFF12}, //150 #FULLWIDTH DIGIT TWO
+  {0x8252, 0xFF13}, //151 #FULLWIDTH DIGIT THREE
+  {0x8253, 0xFF14}, //152 #FULLWIDTH DIGIT FOUR
+  {0x8254, 0xFF15}, //153 #FULLWIDTH DIGIT FIVE
+  {0x8255, 0xFF16}, //154 #FULLWIDTH DIGIT SIX
+  {0x8256, 0xFF17}, //155 #FULLWIDTH DIGIT SEVEN
+  {0x8257, 0xFF18}, //156 #FULLWIDTH DIGIT EIGHT
+  {0x8258, 0xFF19}, //157 #FULLWIDTH DIGIT NINE
+  {0x8260, 0xFF21}, //158 #FULLWIDTH LATIN CAPITAL LETTER A
+  {0x8261, 0xFF22}, //159 #FULLWIDTH LATIN CAPITAL LETTER B
+  {0x8262, 0xFF23}, //160 #FULLWIDTH LATIN CAPITAL LETTER C
+  {0x8263, 0xFF24}, //161 #FULLWIDTH LATIN CAPITAL LETTER D
+  {0x8264, 0xFF25}, //162 #FULLWIDTH LATIN CAPITAL LETTER E
+  {0x8265, 0xFF26}, //163 #FULLWIDTH LATIN CAPITAL LETTER F
+  {0x8266, 0xFF27}, //164 #FULLWIDTH LATIN CAPITAL LETTER G
+  {0x8267, 0xFF28}, //165 #FULLWIDTH LATIN CAPITAL LETTER H
+  {0x8268, 0xFF29}, //166 #FULLWIDTH LATIN CAPITAL LETTER I
+  {0x8269, 0xFF2A}, //167 #FULLWIDTH LATIN CAPITAL LETTER J
+  {0x826A, 0xFF2B}, //168 #FULLWIDTH LATIN CAPITAL LETTER K
+  {0x826B, 0xFF2C}, //169 #FULLWIDTH LATIN CAPITAL LETTER L
+  {0x826C, 0xFF2D}, //170 #FULLWIDTH LATIN CAPITAL LETTER M
+  {0x826D, 0xFF2E}, //171 #FULLWIDTH LATIN CAPITAL LETTER N
+  {0x826E, 0xFF2F}, //172 #FULLWIDTH LATIN CAPITAL LETTER O
+  {0x826F, 0xFF30}, //173 #FULLWIDTH LATIN CAPITAL LETTER P
+  {0x8270, 0xFF31}, //174 #FULLWIDTH LATIN CAPITAL LETTER Q
+  {0x8271, 0xFF32}, //175 #FULLWIDTH LATIN CAPITAL LETTER R
+  {0x8272, 0xFF33}, //176 #FULLWIDTH LATIN CAPITAL LETTER S
+  {0x8273, 0xFF34}, //177 #FULLWIDTH LATIN CAPITAL LETTER T
+  {0x8274, 0xFF35}, //178 #FULLWIDTH LATIN CAPITAL LETTER U
+  {0x8275, 0xFF36}, //179 #FULLWIDTH LATIN CAPITAL LETTER V
+  {0x8276, 0xFF37}, //180 #FULLWIDTH LATIN CAPITAL LETTER W
+  {0x8277, 0xFF38}, //181 #FULLWIDTH LATIN CAPITAL LETTER X
+  {0x8278, 0xFF39}, //182 #FULLWIDTH LATIN CAPITAL LETTER Y
+  {0x8279, 0xFF3A}, //183 #FULLWIDTH LATIN CAPITAL LETTER Z
+  {0x8281, 0xFF41}, //184 #FULLWIDTH LATIN SMALL LETTER A
+  {0x8282, 0xFF42}, //185 #FULLWIDTH LATIN SMALL LETTER B
+  {0x8283, 0xFF43}, //186 #FULLWIDTH LATIN SMALL LETTER C
+  {0x8284, 0xFF44}, //187 #FULLWIDTH LATIN SMALL LETTER D
+  {0x8285, 0xFF45}, //188 #FULLWIDTH LATIN SMALL LETTER E
+  {0x8286, 0xFF46}, //189 #FULLWIDTH LATIN SMALL LETTER F
+  {0x8287, 0xFF47}, //190 #FULLWIDTH LATIN SMALL LETTER G
+  {0x8288, 0xFF48}, //191 #FULLWIDTH LATIN SMALL LETTER H
+  {0x8289, 0xFF49}, //192 #FULLWIDTH LATIN SMALL LETTER I
+  {0x828A, 0xFF4A}, //193 #FULLWIDTH LATIN SMALL LETTER J
+  {0x828B, 0xFF4B}, //194 #FULLWIDTH LATIN SMALL LETTER K
+  {0x828C, 0xFF4C}, //195 #FULLWIDTH LATIN SMALL LETTER L
+  {0x828D, 0xFF4D}, //196 #FULLWIDTH LATIN SMALL LETTER M
+  {0x828E, 0xFF4E}, //197 #FULLWIDTH LATIN SMALL LETTER N
+  {0x828F, 0xFF4F}, //198 #FULLWIDTH LATIN SMALL LETTER O
+  {0x8290, 0xFF50}, //199 #FULLWIDTH LATIN SMALL LETTER P
+  {0x8291, 0xFF51}, //200 #FULLWIDTH LATIN SMALL LETTER Q
+  {0x8292, 0xFF52}, //201 #FULLWIDTH LATIN SMALL LETTER R
+  {0x8293, 0xFF53}, //202 #FULLWIDTH LATIN SMALL LETTER S
+  {0x8294, 0xFF54}, //203 #FULLWIDTH LATIN SMALL LETTER T
+  {0x8295, 0xFF55}, //204 #FULLWIDTH LATIN SMALL LETTER U
+  {0x8296, 0xFF56}, //205 #FULLWIDTH LATIN SMALL LETTER V
+  {0x8297, 0xFF57}, //206 #FULLWIDTH LATIN SMALL LETTER W
+  {0x8298, 0xFF58}, //207 #FULLWIDTH LATIN SMALL LETTER X
+  {0x8299, 0xFF59}, //208 #FULLWIDTH LATIN SMALL LETTER Y
+  {0x829A, 0xFF5A}, //209 #FULLWIDTH LATIN SMALL LETTER Z
+  {0x829F, 0x3041}, //210 #HIRAGANA LETTER SMALL A
+  {0x82A0, 0x3042}, //211 #HIRAGANA LETTER A
+  {0x82A1, 0x3043}, //212 #HIRAGANA LETTER SMALL I
+  {0x82A2, 0x3044}, //213 #HIRAGANA LETTER I
+  {0x82A3, 0x3045}, //214 #HIRAGANA LETTER SMALL U
+  {0x82A4, 0x3046}, //215 #HIRAGANA LETTER U
+  {0x82A5, 0x3047}, //216 #HIRAGANA LETTER SMALL E
+  {0x82A6, 0x3048}, //217 #HIRAGANA LETTER E
+  {0x82A7, 0x3049}, //218 #HIRAGANA LETTER SMALL O
+  {0x82A8, 0x304A}, //219 #HIRAGANA LETTER O
+  {0x82A9, 0x304B}, //220 #HIRAGANA LETTER KA
+  {0x82AA, 0x304C}, //221 #HIRAGANA LETTER GA
+  {0x82AB, 0x304D}, //222 #HIRAGANA LETTER KI
+  {0x82AC, 0x304E}, //223 #HIRAGANA LETTER GI
+  {0x82AD, 0x304F}, //224 #HIRAGANA LETTER KU
+  {0x82AE, 0x3050}, //225 #HIRAGANA LETTER GU
+  {0x82AF, 0x3051}, //226 #HIRAGANA LETTER KE
+  {0x82B0, 0x3052}, //227 #HIRAGANA LETTER GE
+  {0x82B1, 0x3053}, //228 #HIRAGANA LETTER KO
+  {0x82B2, 0x3054}, //229 #HIRAGANA LETTER GO
+  {0x82B3, 0x3055}, //230 #HIRAGANA LETTER SA
+  {0x82B4, 0x3056}, //231 #HIRAGANA LETTER ZA
+  {0x82B5, 0x3057}, //232 #HIRAGANA LETTER SI
+  {0x82B6, 0x3058}, //233 #HIRAGANA LETTER ZI
+  {0x82B7, 0x3059}, //234 #HIRAGANA LETTER SU
+  {0x82B8, 0x305A}, //235 #HIRAGANA LETTER ZU
+  {0x82B9, 0x305B}, //236 #HIRAGANA LETTER SE
+  {0x82BA, 0x305C}, //237 #HIRAGANA LETTER ZE
+  {0x82BB, 0x305D}, //238 #HIRAGANA LETTER SO
+  {0x82BC, 0x305E}, //239 #HIRAGANA LETTER ZO
+  {0x82BD, 0x305F}, //240 #HIRAGANA LETTER TA
+  {0x82BE, 0x3060}, //241 #HIRAGANA LETTER DA
+  {0x82BF, 0x3061}, //242 #HIRAGANA LETTER TI
+  {0x82C0, 0x3062}, //243 #HIRAGANA LETTER DI
+  {0x82C1, 0x3063}, //244 #HIRAGANA LETTER SMALL TU
+  {0x82C2, 0x3064}, //245 #HIRAGANA LETTER TU
+  {0x82C3, 0x3065}, //246 #HIRAGANA LETTER DU
+  {0x82C4, 0x3066}, //247 #HIRAGANA LETTER TE
+  {0x82C5, 0x3067}, //248 #HIRAGANA LETTER DE
+  {0x82C6, 0x3068}, //249 #HIRAGANA LETTER TO
+  {0x82C7, 0x3069}, //250 #HIRAGANA LETTER DO
+  {0x82C8, 0x306A}, //251 #HIRAGANA LETTER NA
+  {0x82C9, 0x306B}, //252 #HIRAGANA LETTER NI
+  {0x82CA, 0x306C}, //253 #HIRAGANA LETTER NU
+  {0x82CB, 0x306D}, //254 #HIRAGANA LETTER NE
+  {0x82CC, 0x306E}, //255 #HIRAGANA LETTER NO
+  {0x82CD, 0x306F}, //256 #HIRAGANA LETTER HA
+  {0x82CE, 0x3070}, //257 #HIRAGANA LETTER BA
+  {0x82CF, 0x3071}, //258 #HIRAGANA LETTER PA
+  {0x82D0, 0x3072}, //259 #HIRAGANA LETTER HI
+  {0x82D1, 0x3073}, //260 #HIRAGANA LETTER BI
+  {0x82D2, 0x3074}, //261 #HIRAGANA LETTER PI
+  {0x82D3, 0x3075}, //262 #HIRAGANA LETTER HU
+  {0x82D4, 0x3076}, //263 #HIRAGANA LETTER BU
+  {0x82D5, 0x3077}, //264 #HIRAGANA LETTER PU
+  {0x82D6, 0x3078}, //265 #HIRAGANA LETTER HE
+  {0x82D7, 0x3079}, //266 #HIRAGANA LETTER BE
+  {0x82D8, 0x307A}, //267 #HIRAGANA LETTER PE
+  {0x82D9, 0x307B}, //268 #HIRAGANA LETTER HO
+  {0x82DA, 0x307C}, //269 #HIRAGANA LETTER BO
+  {0x82DB, 0x307D}, //270 #HIRAGANA LETTER PO
+  {0x82DC, 0x307E}, //271 #HIRAGANA LETTER MA
+  {0x82DD, 0x307F}, //272 #HIRAGANA LETTER MI
+  {0x82DE, 0x3080}, //273 #HIRAGANA LETTER MU
+  {0x82DF, 0x3081}, //274 #HIRAGANA LETTER ME
+  {0x82E0, 0x3082}, //275 #HIRAGANA LETTER MO
+  {0x82E1, 0x3083}, //276 #HIRAGANA LETTER SMALL YA
+  {0x82E2, 0x3084}, //277 #HIRAGANA LETTER YA
+  {0x82E3, 0x3085}, //278 #HIRAGANA LETTER SMALL YU
+  {0x82E4, 0x3086}, //279 #HIRAGANA LETTER YU
+  {0x82E5, 0x3087}, //280 #HIRAGANA LETTER SMALL YO
+  {0x82E6, 0x3088}, //281 #HIRAGANA LETTER YO
+  {0x82E7, 0x3089}, //282 #HIRAGANA LETTER RA
+  {0x82E8, 0x308A}, //283 #HIRAGANA LETTER RI
+  {0x82E9, 0x308B}, //284 #HIRAGANA LETTER RU
+  {0x82EA, 0x308C}, //285 #HIRAGANA LETTER RE
+  {0x82EB, 0x308D}, //286 #HIRAGANA LETTER RO
+  {0x82EC, 0x308E}, //287 #HIRAGANA LETTER SMALL WA
+  {0x82ED, 0x308F}, //288 #HIRAGANA LETTER WA
+  {0x82EE, 0x3090}, //289 #HIRAGANA LETTER WI
+  {0x82EF, 0x3091}, //290 #HIRAGANA LETTER WE
+  {0x82F0, 0x3092}, //291 #HIRAGANA LETTER WO
+  {0x82F1, 0x3093}, //292 #HIRAGANA LETTER N
+  {0x8340, 0x30A1}, //293 #KATAKANA LETTER SMALL A
+  {0x8341, 0x30A2}, //294 #KATAKANA LETTER A
+  {0x8342, 0x30A3}, //295 #KATAKANA LETTER SMALL I
+  {0x8343, 0x30A4}, //296 #KATAKANA LETTER I
+  {0x8344, 0x30A5}, //297 #KATAKANA LETTER SMALL U
+  {0x8345, 0x30A6}, //298 #KATAKANA LETTER U
+  {0x8346, 0x30A7}, //299 #KATAKANA LETTER SMALL E
+  {0x8347, 0x30A8}, //300 #KATAKANA LETTER E
+  {0x8348, 0x30A9}, //301 #KATAKANA LETTER SMALL O
+  {0x8349, 0x30AA}, //302 #KATAKANA LETTER O
+  {0x834A, 0x30AB}, //303 #KATAKANA LETTER KA
+  {0x834B, 0x30AC}, //304 #KATAKANA LETTER GA
+  {0x834C, 0x30AD}, //305 #KATAKANA LETTER KI
+  {0x834D, 0x30AE}, //306 #KATAKANA LETTER GI
+  {0x834E, 0x30AF}, //307 #KATAKANA LETTER KU
+  {0x834F, 0x30B0}, //308 #KATAKANA LETTER GU
+  {0x8350, 0x30B1}, //309 #KATAKANA LETTER KE
+  {0x8351, 0x30B2}, //310 #KATAKANA LETTER GE
+  {0x8352, 0x30B3}, //311 #KATAKANA LETTER KO
+  {0x8353, 0x30B4}, //312 #KATAKANA LETTER GO
+  {0x8354, 0x30B5}, //313 #KATAKANA LETTER SA
+  {0x8355, 0x30B6}, //314 #KATAKANA LETTER ZA
+  {0x8356, 0x30B7}, //315 #KATAKANA LETTER SI
+  {0x8357, 0x30B8}, //316 #KATAKANA LETTER ZI
+  {0x8358, 0x30B9}, //317 #KATAKANA LETTER SU
+  {0x8359, 0x30BA}, //318 #KATAKANA LETTER ZU
+  {0x835A, 0x30BB}, //319 #KATAKANA LETTER SE
+  {0x835B, 0x30BC}, //320 #KATAKANA LETTER ZE
+  {0x835C, 0x30BD}, //321 #KATAKANA LETTER SO
+  {0x835D, 0x30BE}, //322 #KATAKANA LETTER ZO
+  {0x835E, 0x30BF}, //323 #KATAKANA LETTER TA
+  {0x835F, 0x30C0}, //324 #KATAKANA LETTER DA
+  {0x8360, 0x30C1}, //325 #KATAKANA LETTER TI
+  {0x8361, 0x30C2}, //326 #KATAKANA LETTER DI
+  {0x8362, 0x30C3}, //327 #KATAKANA LETTER SMALL TU
+  {0x8363, 0x30C4}, //328 #KATAKANA LETTER TU
+  {0x8364, 0x30C5}, //329 #KATAKANA LETTER DU
+  {0x8365, 0x30C6}, //330 #KATAKANA LETTER TE
+  {0x8366, 0x30C7}, //331 #KATAKANA LETTER DE
+  {0x8367, 0x30C8}, //332 #KATAKANA LETTER TO
+  {0x8368, 0x30C9}, //333 #KATAKANA LETTER DO
+  {0x8369, 0x30CA}, //334 #KATAKANA LETTER NA
+  {0x836A, 0x30CB}, //335 #KATAKANA LETTER NI
+  {0x836B, 0x30CC}, //336 #KATAKANA LETTER NU
+  {0x836C, 0x30CD}, //337 #KATAKANA LETTER NE
+  {0x836D, 0x30CE}, //338 #KATAKANA LETTER NO
+  {0x836E, 0x30CF}, //339 #KATAKANA LETTER HA
+  {0x836F, 0x30D0}, //340 #KATAKANA LETTER BA
+  {0x8370, 0x30D1}, //341 #KATAKANA LETTER PA
+  {0x8371, 0x30D2}, //342 #KATAKANA LETTER HI
+  {0x8372, 0x30D3}, //343 #KATAKANA LETTER BI
+  {0x8373, 0x30D4}, //344 #KATAKANA LETTER PI
+  {0x8374, 0x30D5}, //345 #KATAKANA LETTER HU
+  {0x8375, 0x30D6}, //346 #KATAKANA LETTER BU
+  {0x8376, 0x30D7}, //347 #KATAKANA LETTER PU
+  {0x8377, 0x30D8}, //348 #KATAKANA LETTER HE
+  {0x8378, 0x30D9}, //349 #KATAKANA LETTER BE
+  {0x8379, 0x30DA}, //350 #KATAKANA LETTER PE
+  {0x837A, 0x30DB}, //351 #KATAKANA LETTER HO
+  {0x837B, 0x30DC}, //352 #KATAKANA LETTER BO
+  {0x837C, 0x30DD}, //353 #KATAKANA LETTER PO
+  {0x837D, 0x30DE}, //354 #KATAKANA LETTER MA
+  {0x837E, 0x30DF}, //355 #KATAKANA LETTER MI
+  {0x8380, 0x30E0}, //356 #KATAKANA LETTER MU
+  {0x8381, 0x30E1}, //357 #KATAKANA LETTER ME
+  {0x8382, 0x30E2}, //358 #KATAKANA LETTER MO
+  {0x8383, 0x30E3}, //359 #KATAKANA LETTER SMALL YA
+  {0x8384, 0x30E4}, //360 #KATAKANA LETTER YA
+  {0x8385, 0x30E5}, //361 #KATAKANA LETTER SMALL YU
+  {0x8386, 0x30E6}, //362 #KATAKANA LETTER YU
+  {0x8387, 0x30E7}, //363 #KATAKANA LETTER SMALL YO
+  {0x8388, 0x30E8}, //364 #KATAKANA LETTER YO
+  {0x8389, 0x30E9}, //365 #KATAKANA LETTER RA
+  {0x838A, 0x30EA}, //366 #KATAKANA LETTER RI
+  {0x838B, 0x30EB}, //367 #KATAKANA LETTER RU
+  {0x838C, 0x30EC}, //368 #KATAKANA LETTER RE
+  {0x838D, 0x30ED}, //369 #KATAKANA LETTER RO
+  {0x838E, 0x30EE}, //370 #KATAKANA LETTER SMALL WA
+  {0x838F, 0x30EF}, //371 #KATAKANA LETTER WA
+  {0x8390, 0x30F0}, //372 #KATAKANA LETTER WI
+  {0x8391, 0x30F1}, //373 #KATAKANA LETTER WE
+  {0x8392, 0x30F2}, //374 #KATAKANA LETTER WO
+  {0x8393, 0x30F3}, //375 #KATAKANA LETTER N
+  {0x8394, 0x30F4}, //376 #KATAKANA LETTER VU
+  {0x8395, 0x30F5}, //377 #KATAKANA LETTER SMALL KA
+  {0x8396, 0x30F6}, //378 #KATAKANA LETTER SMALL KE
+  {0x839F, 0x0391}, //379 #GREEK CAPITAL LETTER ALPHA
+  {0x83A0, 0x0392}, //380 #GREEK CAPITAL LETTER BETA
+  {0x83A1, 0x0393}, //381 #GREEK CAPITAL LETTER GAMMA
+  {0x83A2, 0x0394}, //382 #GREEK CAPITAL LETTER DELTA
+  {0x83A3, 0x0395}, //383 #GREEK CAPITAL LETTER EPSILON
+  {0x83A4, 0x0396}, //384 #GREEK CAPITAL LETTER ZETA
+  {0x83A5, 0x0397}, //385 #GREEK CAPITAL LETTER ETA
+  {0x83A6, 0x0398}, //386 #GREEK CAPITAL LETTER THETA
+  {0x83A7, 0x0399}, //387 #GREEK CAPITAL LETTER IOTA
+  {0x83A8, 0x039A}, //388 #GREEK CAPITAL LETTER KAPPA
+  {0x83A9, 0x039B}, //389 #GREEK CAPITAL LETTER LAMDA
+  {0x83AA, 0x039C}, //390 #GREEK CAPITAL LETTER MU
+  {0x83AB, 0x039D}, //391 #GREEK CAPITAL LETTER NU
+  {0x83AC, 0x039E}, //392 #GREEK CAPITAL LETTER XI
+  {0x83AD, 0x039F}, //393 #GREEK CAPITAL LETTER OMICRON
+  {0x83AE, 0x03A0}, //394 #GREEK CAPITAL LETTER PI
+  {0x83AF, 0x03A1}, //395 #GREEK CAPITAL LETTER RHO
+  {0x83B0, 0x03A3}, //396 #GREEK CAPITAL LETTER SIGMA
+  {0x83B1, 0x03A4}, //397 #GREEK CAPITAL LETTER TAU
+  {0x83B2, 0x03A5}, //398 #GREEK CAPITAL LETTER UPSILON
+  {0x83B3, 0x03A6}, //399 #GREEK CAPITAL LETTER PHI
+  {0x83B4, 0x03A7}, //400 #GREEK CAPITAL LETTER CHI
+  {0x83B5, 0x03A8}, //401 #GREEK CAPITAL LETTER PSI
+  {0x83B6, 0x03A9}, //402 #GREEK CAPITAL LETTER OMEGA
+  {0x83BF, 0x03B1}, //403 #GREEK SMALL LETTER ALPHA
+  {0x83C0, 0x03B2}, //404 #GREEK SMALL LETTER BETA
+  {0x83C1, 0x03B3}, //405 #GREEK SMALL LETTER GAMMA
+  {0x83C2, 0x03B4}, //406 #GREEK SMALL LETTER DELTA
+  {0x83C3, 0x03B5}, //407 #GREEK SMALL LETTER EPSILON
+  {0x83C4, 0x03B6}, //408 #GREEK SMALL LETTER ZETA
+  {0x83C5, 0x03B7}, //409 #GREEK SMALL LETTER ETA
+  {0x83C6, 0x03B8}, //410 #GREEK SMALL LETTER THETA
+  {0x83C7, 0x03B9}, //411 #GREEK SMALL LETTER IOTA
+  {0x83C8, 0x03BA}, //412 #GREEK SMALL LETTER KAPPA
+  {0x83C9, 0x03BB}, //413 #GREEK SMALL LETTER LAMDA
+  {0x83CA, 0x03BC}, //414 #GREEK SMALL LETTER MU
+  {0x83CB, 0x03BD}, //415 #GREEK SMALL LETTER NU
+  {0x83CC, 0x03BE}, //416 #GREEK SMALL LETTER XI
+  {0x83CD, 0x03BF}, //417 #GREEK SMALL LETTER OMICRON
+  {0x83CE, 0x03C0}, //418 #GREEK SMALL LETTER PI
+  {0x83CF, 0x03C1}, //419 #GREEK SMALL LETTER RHO
+  {0x83D0, 0x03C3}, //420 #GREEK SMALL LETTER SIGMA
+  {0x83D1, 0x03C4}, //421 #GREEK SMALL LETTER TAU
+  {0x83D2, 0x03C5}, //422 #GREEK SMALL LETTER UPSILON
+  {0x83D3, 0x03C6}, //423 #GREEK SMALL LETTER PHI
+  {0x83D4, 0x03C7}, //424 #GREEK SMALL LETTER CHI
+  {0x83D5, 0x03C8}, //425 #GREEK SMALL LETTER PSI
+  {0x83D6, 0x03C9}, //426 #GREEK SMALL LETTER OMEGA
+  {0x8440, 0x0410}, //427 #CYRILLIC CAPITAL LETTER A
+  {0x8441, 0x0411}, //428 #CYRILLIC CAPITAL LETTER BE
+  {0x8442, 0x0412}, //429 #CYRILLIC CAPITAL LETTER VE
+  {0x8443, 0x0413}, //430 #CYRILLIC CAPITAL LETTER GHE
+  {0x8444, 0x0414}, //431 #CYRILLIC CAPITAL LETTER DE
+  {0x8445, 0x0415}, //432 #CYRILLIC CAPITAL LETTER IE
+  {0x8446, 0x0401}, //433 #CYRILLIC CAPITAL LETTER IO
+  {0x8447, 0x0416}, //434 #CYRILLIC CAPITAL LETTER ZHE
+  {0x8448, 0x0417}, //435 #CYRILLIC CAPITAL LETTER ZE
+  {0x8449, 0x0418}, //436 #CYRILLIC CAPITAL LETTER I
+  {0x844A, 0x0419}, //437 #CYRILLIC CAPITAL LETTER SHORT I
+  {0x844B, 0x041A}, //438 #CYRILLIC CAPITAL LETTER KA
+  {0x844C, 0x041B}, //439 #CYRILLIC CAPITAL LETTER EL
+  {0x844D, 0x041C}, //440 #CYRILLIC CAPITAL LETTER EM
+  {0x844E, 0x041D}, //441 #CYRILLIC CAPITAL LETTER EN
+  {0x844F, 0x041E}, //442 #CYRILLIC CAPITAL LETTER O
+  {0x8450, 0x041F}, //443 #CYRILLIC CAPITAL LETTER PE
+  {0x8451, 0x0420}, //444 #CYRILLIC CAPITAL LETTER ER
+  {0x8452, 0x0421}, //445 #CYRILLIC CAPITAL LETTER ES
+  {0x8453, 0x0422}, //446 #CYRILLIC CAPITAL LETTER TE
+  {0x8454, 0x0423}, //447 #CYRILLIC CAPITAL LETTER U
+  {0x8455, 0x0424}, //448 #CYRILLIC CAPITAL LETTER EF
+  {0x8456, 0x0425}, //449 #CYRILLIC CAPITAL LETTER HA
+  {0x8457, 0x0426}, //450 #CYRILLIC CAPITAL LETTER TSE
+  {0x8458, 0x0427}, //451 #CYRILLIC CAPITAL LETTER CHE
+  {0x8459, 0x0428}, //452 #CYRILLIC CAPITAL LETTER SHA
+  {0x845A, 0x0429}, //453 #CYRILLIC CAPITAL LETTER SHCHA
+  {0x845B, 0x042A}, //454 #CYRILLIC CAPITAL LETTER HARD SIGN
+  {0x845C, 0x042B}, //455 #CYRILLIC CAPITAL LETTER YERU
+  {0x845D, 0x042C}, //456 #CYRILLIC CAPITAL LETTER SOFT SIGN
+  {0x845E, 0x042D}, //457 #CYRILLIC CAPITAL LETTER E
+  {0x845F, 0x042E}, //458 #CYRILLIC CAPITAL LETTER YU
+  {0x8460, 0x042F}, //459 #CYRILLIC CAPITAL LETTER YA
+  {0x8470, 0x0430}, //460 #CYRILLIC SMALL LETTER A
+  {0x8471, 0x0431}, //461 #CYRILLIC SMALL LETTER BE
+  {0x8472, 0x0432}, //462 #CYRILLIC SMALL LETTER VE
+  {0x8473, 0x0433}, //463 #CYRILLIC SMALL LETTER GHE
+  {0x8474, 0x0434}, //464 #CYRILLIC SMALL LETTER DE
+  {0x8475, 0x0435}, //465 #CYRILLIC SMALL LETTER IE
+  {0x8476, 0x0451}, //466 #CYRILLIC SMALL LETTER IO
+  {0x8477, 0x0436}, //467 #CYRILLIC SMALL LETTER ZHE
+  {0x8478, 0x0437}, //468 #CYRILLIC SMALL LETTER ZE
+  {0x8479, 0x0438}, //469 #CYRILLIC SMALL LETTER I
+  {0x847A, 0x0439}, //470 #CYRILLIC SMALL LETTER SHORT I
+  {0x847B, 0x043A}, //471 #CYRILLIC SMALL LETTER KA
+  {0x847C, 0x043B}, //472 #CYRILLIC SMALL LETTER EL
+  {0x847D, 0x043C}, //473 #CYRILLIC SMALL LETTER EM
+  {0x847E, 0x043D}, //474 #CYRILLIC SMALL LETTER EN
+  {0x8480, 0x043E}, //475 #CYRILLIC SMALL LETTER O
+  {0x8481, 0x043F}, //476 #CYRILLIC SMALL LETTER PE
+  {0x8482, 0x0440}, //477 #CYRILLIC SMALL LETTER ER
+  {0x8483, 0x0441}, //478 #CYRILLIC SMALL LETTER ES
+  {0x8484, 0x0442}, //479 #CYRILLIC SMALL LETTER TE
+  {0x8485, 0x0443}, //480 #CYRILLIC SMALL LETTER U
+  {0x8486, 0x0444}, //481 #CYRILLIC SMALL LETTER EF
+  {0x8487, 0x0445}, //482 #CYRILLIC SMALL LETTER HA
+  {0x8488, 0x0446}, //483 #CYRILLIC SMALL LETTER TSE
+  {0x8489, 0x0447}, //484 #CYRILLIC SMALL LETTER CHE
+  {0x848A, 0x0448}, //485 #CYRILLIC SMALL LETTER SHA
+  {0x848B, 0x0449}, //486 #CYRILLIC SMALL LETTER SHCHA
+  {0x848C, 0x044A}, //487 #CYRILLIC SMALL LETTER HARD SIGN
+  {0x848D, 0x044B}, //488 #CYRILLIC SMALL LETTER YERU
+  {0x848E, 0x044C}, //489 #CYRILLIC SMALL LETTER SOFT SIGN
+  {0x848F, 0x044D}, //490 #CYRILLIC SMALL LETTER E
+  {0x8490, 0x044E}, //491 #CYRILLIC SMALL LETTER YU
+  {0x8491, 0x044F}, //492 #CYRILLIC SMALL LETTER YA
+  {0x849F, 0x2500}, //493 #BOX DRAWINGS LIGHT HORIZONTAL
+  {0x84A0, 0x2502}, //494 #BOX DRAWINGS LIGHT VERTICAL
+  {0x84A1, 0x250C}, //495 #BOX DRAWINGS LIGHT DOWN AND RIGHT
+  {0x84A2, 0x2510}, //496 #BOX DRAWINGS LIGHT DOWN AND LEFT
+  {0x84A3, 0x2518}, //497 #BOX DRAWINGS LIGHT UP AND LEFT
+  {0x84A4, 0x2514}, //498 #BOX DRAWINGS LIGHT UP AND RIGHT
+  {0x84A5, 0x251C}, //499 #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+  {0x84A6, 0x252C}, //500 #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+  {0x84A7, 0x2524}, //501 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+  {0x84A8, 0x2534}, //502 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+  {0x84A9, 0x253C}, //503 #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+  {0x84AA, 0x2501}, //504 #BOX DRAWINGS HEAVY HORIZONTAL
+  {0x84AB, 0x2503}, //505 #BOX DRAWINGS HEAVY VERTICAL
+  {0x84AC, 0x250F}, //506 #BOX DRAWINGS HEAVY DOWN AND RIGHT
+  {0x84AD, 0x2513}, //507 #BOX DRAWINGS HEAVY DOWN AND LEFT
+  {0x84AE, 0x251B}, //508 #BOX DRAWINGS HEAVY UP AND LEFT
+  {0x84AF, 0x2517}, //509 #BOX DRAWINGS HEAVY UP AND RIGHT
+  {0x84B0, 0x2523}, //510 #BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+  {0x84B1, 0x2533}, //511 #BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+  {0x84B2, 0x252B}, //512 #BOX DRAWINGS HEAVY VERTICAL AND LEFT
+  {0x84B3, 0x253B}, //513 #BOX DRAWINGS HEAVY UP AND HORIZONTAL
+  {0x84B4, 0x254B}, //514 #BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+  {0x84B5, 0x2520}, //515 #BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+  {0x84B6, 0x252F}, //516 #BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+  {0x84B7, 0x2528}, //517 #BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+  {0x84B8, 0x2537}, //518 #BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+  {0x84B9, 0x253F}, //519 #BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+  {0x84BA, 0x251D}, //520 #BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+  {0x84BB, 0x2530}, //521 #BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+  {0x84BC, 0x2525}, //522 #BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+  {0x84BD, 0x2538}, //523 #BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+  {0x84BE, 0x2542}, //524 #BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+  {0x8740, 0x2460}, //525 #CIRCLED DIGIT ONE
+  {0x8741, 0x2461}, //526 #CIRCLED DIGIT TWO
+  {0x8742, 0x2462}, //527 #CIRCLED DIGIT THREE
+  {0x8743, 0x2463}, //528 #CIRCLED DIGIT FOUR
+  {0x8744, 0x2464}, //529 #CIRCLED DIGIT FIVE
+  {0x8745, 0x2465}, //530 #CIRCLED DIGIT SIX
+  {0x8746, 0x2466}, //531 #CIRCLED DIGIT SEVEN
+  {0x8747, 0x2467}, //532 #CIRCLED DIGIT EIGHT
+  {0x8748, 0x2468}, //533 #CIRCLED DIGIT NINE
+  {0x8749, 0x2469}, //534 #CIRCLED NUMBER TEN
+  {0x874A, 0x246A}, //535 #CIRCLED NUMBER ELEVEN
+  {0x874B, 0x246B}, //536 #CIRCLED NUMBER TWELVE
+  {0x874C, 0x246C}, //537 #CIRCLED NUMBER THIRTEEN
+  {0x874D, 0x246D}, //538 #CIRCLED NUMBER FOURTEEN
+  {0x874E, 0x246E}, //539 #CIRCLED NUMBER FIFTEEN
+  {0x874F, 0x246F}, //540 #CIRCLED NUMBER SIXTEEN
+  {0x8750, 0x2470}, //541 #CIRCLED NUMBER SEVENTEEN
+  {0x8751, 0x2471}, //542 #CIRCLED NUMBER EIGHTEEN
+  {0x8752, 0x2472}, //543 #CIRCLED NUMBER NINETEEN
+  {0x8753, 0x2473}, //544 #CIRCLED NUMBER TWENTY
+  {0x8754, 0x2160}, //545 #ROMAN NUMERAL ONE
+  {0x8755, 0x2161}, //546 #ROMAN NUMERAL TWO
+  {0x8756, 0x2162}, //547 #ROMAN NUMERAL THREE
+  {0x8757, 0x2163}, //548 #ROMAN NUMERAL FOUR
+  {0x8758, 0x2164}, //549 #ROMAN NUMERAL FIVE
+  {0x8759, 0x2165}, //550 #ROMAN NUMERAL SIX
+  {0x875A, 0x2166}, //551 #ROMAN NUMERAL SEVEN
+  {0x875B, 0x2167}, //552 #ROMAN NUMERAL EIGHT
+  {0x875C, 0x2168}, //553 #ROMAN NUMERAL NINE
+  {0x875D, 0x2169}, //554 #ROMAN NUMERAL TEN
+  {0x875F, 0x3349}, //555 #SQUARE MIRI
+  {0x8760, 0x3314}, //556 #SQUARE KIRO
+  {0x8761, 0x3322}, //557 #SQUARE SENTI
+  {0x8762, 0x334D}, //558 #SQUARE MEETORU
+  {0x8763, 0x3318}, //559 #SQUARE GURAMU
+  {0x8764, 0x3327}, //560 #SQUARE TON
+  {0x8765, 0x3303}, //561 #SQUARE AARU
+  {0x8766, 0x3336}, //562 #SQUARE HEKUTAARU
+  {0x8767, 0x3351}, //563 #SQUARE RITTORU
+  {0x8768, 0x3357}, //564 #SQUARE WATTO
+  {0x8769, 0x330D}, //565 #SQUARE KARORII
+  {0x876A, 0x3326}, //566 #SQUARE DORU
+  {0x876B, 0x3323}, //567 #SQUARE SENTO
+  {0x876C, 0x332B}, //568 #SQUARE PAASENTO
+  {0x876D, 0x334A}, //569 #SQUARE MIRIBAARU
+  {0x876E, 0x333B}, //570 #SQUARE PEEZI
+  {0x876F, 0x339C}, //571 #SQUARE MM
+  {0x8770, 0x339D}, //572 #SQUARE CM
+  {0x8771, 0x339E}, //573 #SQUARE KM
+  {0x8772, 0x338E}, //574 #SQUARE MG
+  {0x8773, 0x338F}, //575 #SQUARE KG
+  {0x8774, 0x33C4}, //576 #SQUARE CC
+  {0x8775, 0x33A1}, //577 #SQUARE M SQUARED
+  {0x877E, 0x337B}, //578 #SQUARE ERA NAME HEISEI
+  {0x8780, 0x301D}, //579 #REVERSED DOUBLE PRIME QUOTATION MARK
+  {0x8781, 0x301F}, //580 #LOW DOUBLE PRIME QUOTATION MARK
+  {0x8782, 0x2116}, //581 #NUMERO SIGN
+  {0x8783, 0x33CD}, //582 #SQUARE KK
+  {0x8784, 0x2121}, //583 #TELEPHONE SIGN
+  {0x8785, 0x32A4}, //584 #CIRCLED IDEOGRAPH HIGH
+  {0x8786, 0x32A5}, //585 #CIRCLED IDEOGRAPH CENTRE
+  {0x8787, 0x32A6}, //586 #CIRCLED IDEOGRAPH LOW
+  {0x8788, 0x32A7}, //587 #CIRCLED IDEOGRAPH LEFT
+  {0x8789, 0x32A8}, //588 #CIRCLED IDEOGRAPH RIGHT
+  {0x878A, 0x3231}, //589 #PARENTHESIZED IDEOGRAPH STOCK
+  {0x878B, 0x3232}, //590 #PARENTHESIZED IDEOGRAPH HAVE
+  {0x878C, 0x3239}, //591 #PARENTHESIZED IDEOGRAPH REPRESENT
+  {0x878D, 0x337E}, //592 #SQUARE ERA NAME MEIZI
+  {0x878E, 0x337D}, //593 #SQUARE ERA NAME TAISYOU
+  {0x878F, 0x337C}, //594 #SQUARE ERA NAME SYOUWA
+  {0x8790, 0x2252}, //595 #APPROXIMATELY EQUAL TO OR THE IMAGE OF
+  {0x8791, 0x2261}, //596 #IDENTICAL TO
+  {0x8792, 0x222B}, //597 #INTEGRAL
+  {0x8793, 0x222E}, //598 #CONTOUR INTEGRAL
+  {0x8794, 0x2211}, //599 #N-ARY SUMMATION
+  {0x8795, 0x221A}, //600 #SQUARE ROOT
+  {0x8796, 0x22A5}, //601 #UP TACK
+  {0x8797, 0x2220}, //602 #ANGLE
+  {0x8798, 0x221F}, //603 #RIGHT ANGLE
+  {0x8799, 0x22BF}, //604 #RIGHT TRIANGLE
+  {0x879A, 0x2235}, //605 #BECAUSE
+  {0x879B, 0x2229}, //606 #INTERSECTION
+  {0x879C, 0x222A}, //607 #UNION
+  {0x889F, 0x4E9C}, //608 #CJK UNIFIED IDEOGRAPH
+  {0x88A0, 0x5516}, //609 #CJK UNIFIED IDEOGRAPH
+  {0x88A1, 0x5A03}, //610 #CJK UNIFIED IDEOGRAPH
+  {0x88A2, 0x963F}, //611 #CJK UNIFIED IDEOGRAPH
+  {0x88A3, 0x54C0}, //612 #CJK UNIFIED IDEOGRAPH
+  {0x88A4, 0x611B}, //613 #CJK UNIFIED IDEOGRAPH
+  {0x88A5, 0x6328}, //614 #CJK UNIFIED IDEOGRAPH
+  {0x88A6, 0x59F6}, //615 #CJK UNIFIED IDEOGRAPH
+  {0x88A7, 0x9022}, //616 #CJK UNIFIED IDEOGRAPH
+  {0x88A8, 0x8475}, //617 #CJK UNIFIED IDEOGRAPH
+  {0x88A9, 0x831C}, //618 #CJK UNIFIED IDEOGRAPH
+  {0x88AA, 0x7A50}, //619 #CJK UNIFIED IDEOGRAPH
+  {0x88AB, 0x60AA}, //620 #CJK UNIFIED IDEOGRAPH
+  {0x88AC, 0x63E1}, //621 #CJK UNIFIED IDEOGRAPH
+  {0x88AD, 0x6E25}, //622 #CJK UNIFIED IDEOGRAPH
+  {0x88AE, 0x65ED}, //623 #CJK UNIFIED IDEOGRAPH
+  {0x88AF, 0x8466}, //624 #CJK UNIFIED IDEOGRAPH
+  {0x88B0, 0x82A6}, //625 #CJK UNIFIED IDEOGRAPH
+  {0x88B1, 0x9BF5}, //626 #CJK UNIFIED IDEOGRAPH
+  {0x88B2, 0x6893}, //627 #CJK UNIFIED IDEOGRAPH
+  {0x88B3, 0x5727}, //628 #CJK UNIFIED IDEOGRAPH
+  {0x88B4, 0x65A1}, //629 #CJK UNIFIED IDEOGRAPH
+  {0x88B5, 0x6271}, //630 #CJK UNIFIED IDEOGRAPH
+  {0x88B6, 0x5B9B}, //631 #CJK UNIFIED IDEOGRAPH
+  {0x88B7, 0x59D0}, //632 #CJK UNIFIED IDEOGRAPH
+  {0x88B8, 0x867B}, //633 #CJK UNIFIED IDEOGRAPH
+  {0x88B9, 0x98F4}, //634 #CJK UNIFIED IDEOGRAPH
+  {0x88BA, 0x7D62}, //635 #CJK UNIFIED IDEOGRAPH
+  {0x88BB, 0x7DBE}, //636 #CJK UNIFIED IDEOGRAPH
+  {0x88BC, 0x9B8E}, //637 #CJK UNIFIED IDEOGRAPH
+  {0x88BD, 0x6216}, //638 #CJK UNIFIED IDEOGRAPH
+  {0x88BE, 0x7C9F}, //639 #CJK UNIFIED IDEOGRAPH
+  {0x88BF, 0x88B7}, //640 #CJK UNIFIED IDEOGRAPH
+  {0x88C0, 0x5B89}, //641 #CJK UNIFIED IDEOGRAPH
+  {0x88C1, 0x5EB5}, //642 #CJK UNIFIED IDEOGRAPH
+  {0x88C2, 0x6309}, //643 #CJK UNIFIED IDEOGRAPH
+  {0x88C3, 0x6697}, //644 #CJK UNIFIED IDEOGRAPH
+  {0x88C4, 0x6848}, //645 #CJK UNIFIED IDEOGRAPH
+  {0x88C5, 0x95C7}, //646 #CJK UNIFIED IDEOGRAPH
+  {0x88C6, 0x978D}, //647 #CJK UNIFIED IDEOGRAPH
+  {0x88C7, 0x674F}, //648 #CJK UNIFIED IDEOGRAPH
+  {0x88C8, 0x4EE5}, //649 #CJK UNIFIED IDEOGRAPH
+  {0x88C9, 0x4F0A}, //650 #CJK UNIFIED IDEOGRAPH
+  {0x88CA, 0x4F4D}, //651 #CJK UNIFIED IDEOGRAPH
+  {0x88CB, 0x4F9D}, //652 #CJK UNIFIED IDEOGRAPH
+  {0x88CC, 0x5049}, //653 #CJK UNIFIED IDEOGRAPH
+  {0x88CD, 0x56F2}, //654 #CJK UNIFIED IDEOGRAPH
+  {0x88CE, 0x5937}, //655 #CJK UNIFIED IDEOGRAPH
+  {0x88CF, 0x59D4}, //656 #CJK UNIFIED IDEOGRAPH
+  {0x88D0, 0x5A01}, //657 #CJK UNIFIED IDEOGRAPH
+  {0x88D1, 0x5C09}, //658 #CJK UNIFIED IDEOGRAPH
+  {0x88D2, 0x60DF}, //659 #CJK UNIFIED IDEOGRAPH
+  {0x88D3, 0x610F}, //660 #CJK UNIFIED IDEOGRAPH
+  {0x88D4, 0x6170}, //661 #CJK UNIFIED IDEOGRAPH
+  {0x88D5, 0x6613}, //662 #CJK UNIFIED IDEOGRAPH
+  {0x88D6, 0x6905}, //663 #CJK UNIFIED IDEOGRAPH
+  {0x88D7, 0x70BA}, //664 #CJK UNIFIED IDEOGRAPH
+  {0x88D8, 0x754F}, //665 #CJK UNIFIED IDEOGRAPH
+  {0x88D9, 0x7570}, //666 #CJK UNIFIED IDEOGRAPH
+  {0x88DA, 0x79FB}, //667 #CJK UNIFIED IDEOGRAPH
+  {0x88DB, 0x7DAD}, //668 #CJK UNIFIED IDEOGRAPH
+  {0x88DC, 0x7DEF}, //669 #CJK UNIFIED IDEOGRAPH
+  {0x88DD, 0x80C3}, //670 #CJK UNIFIED IDEOGRAPH
+  {0x88DE, 0x840E}, //671 #CJK UNIFIED IDEOGRAPH
+  {0x88DF, 0x8863}, //672 #CJK UNIFIED IDEOGRAPH
+  {0x88E0, 0x8B02}, //673 #CJK UNIFIED IDEOGRAPH
+  {0x88E1, 0x9055}, //674 #CJK UNIFIED IDEOGRAPH
+  {0x88E2, 0x907A}, //675 #CJK UNIFIED IDEOGRAPH
+  {0x88E3, 0x533B}, //676 #CJK UNIFIED IDEOGRAPH
+  {0x88E4, 0x4E95}, //677 #CJK UNIFIED IDEOGRAPH
+  {0x88E5, 0x4EA5}, //678 #CJK UNIFIED IDEOGRAPH
+  {0x88E6, 0x57DF}, //679 #CJK UNIFIED IDEOGRAPH
+  {0x88E7, 0x80B2}, //680 #CJK UNIFIED IDEOGRAPH
+  {0x88E8, 0x90C1}, //681 #CJK UNIFIED IDEOGRAPH
+  {0x88E9, 0x78EF}, //682 #CJK UNIFIED IDEOGRAPH
+  {0x88EA, 0x4E00}, //683 #CJK UNIFIED IDEOGRAPH
+  {0x88EB, 0x58F1}, //684 #CJK UNIFIED IDEOGRAPH
+  {0x88EC, 0x6EA2}, //685 #CJK UNIFIED IDEOGRAPH
+  {0x88ED, 0x9038}, //686 #CJK UNIFIED IDEOGRAPH
+  {0x88EE, 0x7A32}, //687 #CJK UNIFIED IDEOGRAPH
+  {0x88EF, 0x8328}, //688 #CJK UNIFIED IDEOGRAPH
+  {0x88F0, 0x828B}, //689 #CJK UNIFIED IDEOGRAPH
+  {0x88F1, 0x9C2F}, //690 #CJK UNIFIED IDEOGRAPH
+  {0x88F2, 0x5141}, //691 #CJK UNIFIED IDEOGRAPH
+  {0x88F3, 0x5370}, //692 #CJK UNIFIED IDEOGRAPH
+  {0x88F4, 0x54BD}, //693 #CJK UNIFIED IDEOGRAPH
+  {0x88F5, 0x54E1}, //694 #CJK UNIFIED IDEOGRAPH
+  {0x88F6, 0x56E0}, //695 #CJK UNIFIED IDEOGRAPH
+  {0x88F7, 0x59FB}, //696 #CJK UNIFIED IDEOGRAPH
+  {0x88F8, 0x5F15}, //697 #CJK UNIFIED IDEOGRAPH
+  {0x88F9, 0x98F2}, //698 #CJK UNIFIED IDEOGRAPH
+  {0x88FA, 0x6DEB}, //699 #CJK UNIFIED IDEOGRAPH
+  {0x88FB, 0x80E4}, //700 #CJK UNIFIED IDEOGRAPH
+  {0x88FC, 0x852D}, //701 #CJK UNIFIED IDEOGRAPH
+  {0x8940, 0x9662}, //702 #CJK UNIFIED IDEOGRAPH
+  {0x8941, 0x9670}, //703 #CJK UNIFIED IDEOGRAPH
+  {0x8942, 0x96A0}, //704 #CJK UNIFIED IDEOGRAPH
+  {0x8943, 0x97FB}, //705 #CJK UNIFIED IDEOGRAPH
+  {0x8944, 0x540B}, //706 #CJK UNIFIED IDEOGRAPH
+  {0x8945, 0x53F3}, //707 #CJK UNIFIED IDEOGRAPH
+  {0x8946, 0x5B87}, //708 #CJK UNIFIED IDEOGRAPH
+  {0x8947, 0x70CF}, //709 #CJK UNIFIED IDEOGRAPH
+  {0x8948, 0x7FBD}, //710 #CJK UNIFIED IDEOGRAPH
+  {0x8949, 0x8FC2}, //711 #CJK UNIFIED IDEOGRAPH
+  {0x894A, 0x96E8}, //712 #CJK UNIFIED IDEOGRAPH
+  {0x894B, 0x536F}, //713 #CJK UNIFIED IDEOGRAPH
+  {0x894C, 0x9D5C}, //714 #CJK UNIFIED IDEOGRAPH
+  {0x894D, 0x7ABA}, //715 #CJK UNIFIED IDEOGRAPH
+  {0x894E, 0x4E11}, //716 #CJK UNIFIED IDEOGRAPH
+  {0x894F, 0x7893}, //717 #CJK UNIFIED IDEOGRAPH
+  {0x8950, 0x81FC}, //718 #CJK UNIFIED IDEOGRAPH
+  {0x8951, 0x6E26}, //719 #CJK UNIFIED IDEOGRAPH
+  {0x8952, 0x5618}, //720 #CJK UNIFIED IDEOGRAPH
+  {0x8953, 0x5504}, //721 #CJK UNIFIED IDEOGRAPH
+  {0x8954, 0x6B1D}, //722 #CJK UNIFIED IDEOGRAPH
+  {0x8955, 0x851A}, //723 #CJK UNIFIED IDEOGRAPH
+  {0x8956, 0x9C3B}, //724 #CJK UNIFIED IDEOGRAPH
+  {0x8957, 0x59E5}, //725 #CJK UNIFIED IDEOGRAPH
+  {0x8958, 0x53A9}, //726 #CJK UNIFIED IDEOGRAPH
+  {0x8959, 0x6D66}, //727 #CJK UNIFIED IDEOGRAPH
+  {0x895A, 0x74DC}, //728 #CJK UNIFIED IDEOGRAPH
+  {0x895B, 0x958F}, //729 #CJK UNIFIED IDEOGRAPH
+  {0x895C, 0x5642}, //730 #CJK UNIFIED IDEOGRAPH
+  {0x895D, 0x4E91}, //731 #CJK UNIFIED IDEOGRAPH
+  {0x895E, 0x904B}, //732 #CJK UNIFIED IDEOGRAPH
+  {0x895F, 0x96F2}, //733 #CJK UNIFIED IDEOGRAPH
+  {0x8960, 0x834F}, //734 #CJK UNIFIED IDEOGRAPH
+  {0x8961, 0x990C}, //735 #CJK UNIFIED IDEOGRAPH
+  {0x8962, 0x53E1}, //736 #CJK UNIFIED IDEOGRAPH
+  {0x8963, 0x55B6}, //737 #CJK UNIFIED IDEOGRAPH
+  {0x8964, 0x5B30}, //738 #CJK UNIFIED IDEOGRAPH
+  {0x8965, 0x5F71}, //739 #CJK UNIFIED IDEOGRAPH
+  {0x8966, 0x6620}, //740 #CJK UNIFIED IDEOGRAPH
+  {0x8967, 0x66F3}, //741 #CJK UNIFIED IDEOGRAPH
+  {0x8968, 0x6804}, //742 #CJK UNIFIED IDEOGRAPH
+  {0x8969, 0x6C38}, //743 #CJK UNIFIED IDEOGRAPH
+  {0x896A, 0x6CF3}, //744 #CJK UNIFIED IDEOGRAPH
+  {0x896B, 0x6D29}, //745 #CJK UNIFIED IDEOGRAPH
+  {0x896C, 0x745B}, //746 #CJK UNIFIED IDEOGRAPH
+  {0x896D, 0x76C8}, //747 #CJK UNIFIED IDEOGRAPH
+  {0x896E, 0x7A4E}, //748 #CJK UNIFIED IDEOGRAPH
+  {0x896F, 0x9834}, //749 #CJK UNIFIED IDEOGRAPH
+  {0x8970, 0x82F1}, //750 #CJK UNIFIED IDEOGRAPH
+  {0x8971, 0x885B}, //751 #CJK UNIFIED IDEOGRAPH
+  {0x8972, 0x8A60}, //752 #CJK UNIFIED IDEOGRAPH
+  {0x8973, 0x92ED}, //753 #CJK UNIFIED IDEOGRAPH
+  {0x8974, 0x6DB2}, //754 #CJK UNIFIED IDEOGRAPH
+  {0x8975, 0x75AB}, //755 #CJK UNIFIED IDEOGRAPH
+  {0x8976, 0x76CA}, //756 #CJK UNIFIED IDEOGRAPH
+  {0x8977, 0x99C5}, //757 #CJK UNIFIED IDEOGRAPH
+  {0x8978, 0x60A6}, //758 #CJK UNIFIED IDEOGRAPH
+  {0x8979, 0x8B01}, //759 #CJK UNIFIED IDEOGRAPH
+  {0x897A, 0x8D8A}, //760 #CJK UNIFIED IDEOGRAPH
+  {0x897B, 0x95B2}, //761 #CJK UNIFIED IDEOGRAPH
+  {0x897C, 0x698E}, //762 #CJK UNIFIED IDEOGRAPH
+  {0x897D, 0x53AD}, //763 #CJK UNIFIED IDEOGRAPH
+  {0x897E, 0x5186}, //764 #CJK UNIFIED IDEOGRAPH
+  {0x8980, 0x5712}, //765 #CJK UNIFIED IDEOGRAPH
+  {0x8981, 0x5830}, //766 #CJK UNIFIED IDEOGRAPH
+  {0x8982, 0x5944}, //767 #CJK UNIFIED IDEOGRAPH
+  {0x8983, 0x5BB4}, //768 #CJK UNIFIED IDEOGRAPH
+  {0x8984, 0x5EF6}, //769 #CJK UNIFIED IDEOGRAPH
+  {0x8985, 0x6028}, //770 #CJK UNIFIED IDEOGRAPH
+  {0x8986, 0x63A9}, //771 #CJK UNIFIED IDEOGRAPH
+  {0x8987, 0x63F4}, //772 #CJK UNIFIED IDEOGRAPH
+  {0x8988, 0x6CBF}, //773 #CJK UNIFIED IDEOGRAPH
+  {0x8989, 0x6F14}, //774 #CJK UNIFIED IDEOGRAPH
+  {0x898A, 0x708E}, //775 #CJK UNIFIED IDEOGRAPH
+  {0x898B, 0x7114}, //776 #CJK UNIFIED IDEOGRAPH
+  {0x898C, 0x7159}, //777 #CJK UNIFIED IDEOGRAPH
+  {0x898D, 0x71D5}, //778 #CJK UNIFIED IDEOGRAPH
+  {0x898E, 0x733F}, //779 #CJK UNIFIED IDEOGRAPH
+  {0x898F, 0x7E01}, //780 #CJK UNIFIED IDEOGRAPH
+  {0x8990, 0x8276}, //781 #CJK UNIFIED IDEOGRAPH
+  {0x8991, 0x82D1}, //782 #CJK UNIFIED IDEOGRAPH
+  {0x8992, 0x8597}, //783 #CJK UNIFIED IDEOGRAPH
+  {0x8993, 0x9060}, //784 #CJK UNIFIED IDEOGRAPH
+  {0x8994, 0x925B}, //785 #CJK UNIFIED IDEOGRAPH
+  {0x8995, 0x9D1B}, //786 #CJK UNIFIED IDEOGRAPH
+  {0x8996, 0x5869}, //787 #CJK UNIFIED IDEOGRAPH
+  {0x8997, 0x65BC}, //788 #CJK UNIFIED IDEOGRAPH
+  {0x8998, 0x6C5A}, //789 #CJK UNIFIED IDEOGRAPH
+  {0x8999, 0x7525}, //790 #CJK UNIFIED IDEOGRAPH
+  {0x899A, 0x51F9}, //791 #CJK UNIFIED IDEOGRAPH
+  {0x899B, 0x592E}, //792 #CJK UNIFIED IDEOGRAPH
+  {0x899C, 0x5965}, //793 #CJK UNIFIED IDEOGRAPH
+  {0x899D, 0x5F80}, //794 #CJK UNIFIED IDEOGRAPH
+  {0x899E, 0x5FDC}, //795 #CJK UNIFIED IDEOGRAPH
+  {0x899F, 0x62BC}, //796 #CJK UNIFIED IDEOGRAPH
+  {0x89A0, 0x65FA}, //797 #CJK UNIFIED IDEOGRAPH
+  {0x89A1, 0x6A2A}, //798 #CJK UNIFIED IDEOGRAPH
+  {0x89A2, 0x6B27}, //799 #CJK UNIFIED IDEOGRAPH
+  {0x89A3, 0x6BB4}, //800 #CJK UNIFIED IDEOGRAPH
+  {0x89A4, 0x738B}, //801 #CJK UNIFIED IDEOGRAPH
+  {0x89A5, 0x7FC1}, //802 #CJK UNIFIED IDEOGRAPH
+  {0x89A6, 0x8956}, //803 #CJK UNIFIED IDEOGRAPH
+  {0x89A7, 0x9D2C}, //804 #CJK UNIFIED IDEOGRAPH
+  {0x89A8, 0x9D0E}, //805 #CJK UNIFIED IDEOGRAPH
+  {0x89A9, 0x9EC4}, //806 #CJK UNIFIED IDEOGRAPH
+  {0x89AA, 0x5CA1}, //807 #CJK UNIFIED IDEOGRAPH
+  {0x89AB, 0x6C96}, //808 #CJK UNIFIED IDEOGRAPH
+  {0x89AC, 0x837B}, //809 #CJK UNIFIED IDEOGRAPH
+  {0x89AD, 0x5104}, //810 #CJK UNIFIED IDEOGRAPH
+  {0x89AE, 0x5C4B}, //811 #CJK UNIFIED IDEOGRAPH
+  {0x89AF, 0x61B6}, //812 #CJK UNIFIED IDEOGRAPH
+  {0x89B0, 0x81C6}, //813 #CJK UNIFIED IDEOGRAPH
+  {0x89B1, 0x6876}, //814 #CJK UNIFIED IDEOGRAPH
+  {0x89B2, 0x7261}, //815 #CJK UNIFIED IDEOGRAPH
+  {0x89B3, 0x4E59}, //816 #CJK UNIFIED IDEOGRAPH
+  {0x89B4, 0x4FFA}, //817 #CJK UNIFIED IDEOGRAPH
+  {0x89B5, 0x5378}, //818 #CJK UNIFIED IDEOGRAPH
+  {0x89B6, 0x6069}, //819 #CJK UNIFIED IDEOGRAPH
+  {0x89B7, 0x6E29}, //820 #CJK UNIFIED IDEOGRAPH
+  {0x89B8, 0x7A4F}, //821 #CJK UNIFIED IDEOGRAPH
+  {0x89B9, 0x97F3}, //822 #CJK UNIFIED IDEOGRAPH
+  {0x89BA, 0x4E0B}, //823 #CJK UNIFIED IDEOGRAPH
+  {0x89BB, 0x5316}, //824 #CJK UNIFIED IDEOGRAPH
+  {0x89BC, 0x4EEE}, //825 #CJK UNIFIED IDEOGRAPH
+  {0x89BD, 0x4F55}, //826 #CJK UNIFIED IDEOGRAPH
+  {0x89BE, 0x4F3D}, //827 #CJK UNIFIED IDEOGRAPH
+  {0x89BF, 0x4FA1}, //828 #CJK UNIFIED IDEOGRAPH
+  {0x89C0, 0x4F73}, //829 #CJK UNIFIED IDEOGRAPH
+  {0x89C1, 0x52A0}, //830 #CJK UNIFIED IDEOGRAPH
+  {0x89C2, 0x53EF}, //831 #CJK UNIFIED IDEOGRAPH
+  {0x89C3, 0x5609}, //832 #CJK UNIFIED IDEOGRAPH
+  {0x89C4, 0x590F}, //833 #CJK UNIFIED IDEOGRAPH
+  {0x89C5, 0x5AC1}, //834 #CJK UNIFIED IDEOGRAPH
+  {0x89C6, 0x5BB6}, //835 #CJK UNIFIED IDEOGRAPH
+  {0x89C7, 0x5BE1}, //836 #CJK UNIFIED IDEOGRAPH
+  {0x89C8, 0x79D1}, //837 #CJK UNIFIED IDEOGRAPH
+  {0x89C9, 0x6687}, //838 #CJK UNIFIED IDEOGRAPH
+  {0x89CA, 0x679C}, //839 #CJK UNIFIED IDEOGRAPH
+  {0x89CB, 0x67B6}, //840 #CJK UNIFIED IDEOGRAPH
+  {0x89CC, 0x6B4C}, //841 #CJK UNIFIED IDEOGRAPH
+  {0x89CD, 0x6CB3}, //842 #CJK UNIFIED IDEOGRAPH
+  {0x89CE, 0x706B}, //843 #CJK UNIFIED IDEOGRAPH
+  {0x89CF, 0x73C2}, //844 #CJK UNIFIED IDEOGRAPH
+  {0x89D0, 0x798D}, //845 #CJK UNIFIED IDEOGRAPH
+  {0x89D1, 0x79BE}, //846 #CJK UNIFIED IDEOGRAPH
+  {0x89D2, 0x7A3C}, //847 #CJK UNIFIED IDEOGRAPH
+  {0x89D3, 0x7B87}, //848 #CJK UNIFIED IDEOGRAPH
+  {0x89D4, 0x82B1}, //849 #CJK UNIFIED IDEOGRAPH
+  {0x89D5, 0x82DB}, //850 #CJK UNIFIED IDEOGRAPH
+  {0x89D6, 0x8304}, //851 #CJK UNIFIED IDEOGRAPH
+  {0x89D7, 0x8377}, //852 #CJK UNIFIED IDEOGRAPH
+  {0x89D8, 0x83EF}, //853 #CJK UNIFIED IDEOGRAPH
+  {0x89D9, 0x83D3}, //854 #CJK UNIFIED IDEOGRAPH
+  {0x89DA, 0x8766}, //855 #CJK UNIFIED IDEOGRAPH
+  {0x89DB, 0x8AB2}, //856 #CJK UNIFIED IDEOGRAPH
+  {0x89DC, 0x5629}, //857 #CJK UNIFIED IDEOGRAPH
+  {0x89DD, 0x8CA8}, //858 #CJK UNIFIED IDEOGRAPH
+  {0x89DE, 0x8FE6}, //859 #CJK UNIFIED IDEOGRAPH
+  {0x89DF, 0x904E}, //860 #CJK UNIFIED IDEOGRAPH
+  {0x89E0, 0x971E}, //861 #CJK UNIFIED IDEOGRAPH
+  {0x89E1, 0x868A}, //862 #CJK UNIFIED IDEOGRAPH
+  {0x89E2, 0x4FC4}, //863 #CJK UNIFIED IDEOGRAPH
+  {0x89E3, 0x5CE8}, //864 #CJK UNIFIED IDEOGRAPH
+  {0x89E4, 0x6211}, //865 #CJK UNIFIED IDEOGRAPH
+  {0x89E5, 0x7259}, //866 #CJK UNIFIED IDEOGRAPH
+  {0x89E6, 0x753B}, //867 #CJK UNIFIED IDEOGRAPH
+  {0x89E7, 0x81E5}, //868 #CJK UNIFIED IDEOGRAPH
+  {0x89E8, 0x82BD}, //869 #CJK UNIFIED IDEOGRAPH
+  {0x89E9, 0x86FE}, //870 #CJK UNIFIED IDEOGRAPH
+  {0x89EA, 0x8CC0}, //871 #CJK UNIFIED IDEOGRAPH
+  {0x89EB, 0x96C5}, //872 #CJK UNIFIED IDEOGRAPH
+  {0x89EC, 0x9913}, //873 #CJK UNIFIED IDEOGRAPH
+  {0x89ED, 0x99D5}, //874 #CJK UNIFIED IDEOGRAPH
+  {0x89EE, 0x4ECB}, //875 #CJK UNIFIED IDEOGRAPH
+  {0x89EF, 0x4F1A}, //876 #CJK UNIFIED IDEOGRAPH
+  {0x89F0, 0x89E3}, //877 #CJK UNIFIED IDEOGRAPH
+  {0x89F1, 0x56DE}, //878 #CJK UNIFIED IDEOGRAPH
+  {0x89F2, 0x584A}, //879 #CJK UNIFIED IDEOGRAPH
+  {0x89F3, 0x58CA}, //880 #CJK UNIFIED IDEOGRAPH
+  {0x89F4, 0x5EFB}, //881 #CJK UNIFIED IDEOGRAPH
+  {0x89F5, 0x5FEB}, //882 #CJK UNIFIED IDEOGRAPH
+  {0x89F6, 0x602A}, //883 #CJK UNIFIED IDEOGRAPH
+  {0x89F7, 0x6094}, //884 #CJK UNIFIED IDEOGRAPH
+  {0x89F8, 0x6062}, //885 #CJK UNIFIED IDEOGRAPH
+  {0x89F9, 0x61D0}, //886 #CJK UNIFIED IDEOGRAPH
+  {0x89FA, 0x6212}, //887 #CJK UNIFIED IDEOGRAPH
+  {0x89FB, 0x62D0}, //888 #CJK UNIFIED IDEOGRAPH
+  {0x89FC, 0x6539}, //889 #CJK UNIFIED IDEOGRAPH
+  {0x8A40, 0x9B41}, //890 #CJK UNIFIED IDEOGRAPH
+  {0x8A41, 0x6666}, //891 #CJK UNIFIED IDEOGRAPH
+  {0x8A42, 0x68B0}, //892 #CJK UNIFIED IDEOGRAPH
+  {0x8A43, 0x6D77}, //893 #CJK UNIFIED IDEOGRAPH
+  {0x8A44, 0x7070}, //894 #CJK UNIFIED IDEOGRAPH
+  {0x8A45, 0x754C}, //895 #CJK UNIFIED IDEOGRAPH
+  {0x8A46, 0x7686}, //896 #CJK UNIFIED IDEOGRAPH
+  {0x8A47, 0x7D75}, //897 #CJK UNIFIED IDEOGRAPH
+  {0x8A48, 0x82A5}, //898 #CJK UNIFIED IDEOGRAPH
+  {0x8A49, 0x87F9}, //899 #CJK UNIFIED IDEOGRAPH
+  {0x8A4A, 0x958B}, //900 #CJK UNIFIED IDEOGRAPH
+  {0x8A4B, 0x968E}, //901 #CJK UNIFIED IDEOGRAPH
+  {0x8A4C, 0x8C9D}, //902 #CJK UNIFIED IDEOGRAPH
+  {0x8A4D, 0x51F1}, //903 #CJK UNIFIED IDEOGRAPH
+  {0x8A4E, 0x52BE}, //904 #CJK UNIFIED IDEOGRAPH
+  {0x8A4F, 0x5916}, //905 #CJK UNIFIED IDEOGRAPH
+  {0x8A50, 0x54B3}, //906 #CJK UNIFIED IDEOGRAPH
+  {0x8A51, 0x5BB3}, //907 #CJK UNIFIED IDEOGRAPH
+  {0x8A52, 0x5D16}, //908 #CJK UNIFIED IDEOGRAPH
+  {0x8A53, 0x6168}, //909 #CJK UNIFIED IDEOGRAPH
+  {0x8A54, 0x6982}, //910 #CJK UNIFIED IDEOGRAPH
+  {0x8A55, 0x6DAF}, //911 #CJK UNIFIED IDEOGRAPH
+  {0x8A56, 0x788D}, //912 #CJK UNIFIED IDEOGRAPH
+  {0x8A57, 0x84CB}, //913 #CJK UNIFIED IDEOGRAPH
+  {0x8A58, 0x8857}, //914 #CJK UNIFIED IDEOGRAPH
+  {0x8A59, 0x8A72}, //915 #CJK UNIFIED IDEOGRAPH
+  {0x8A5A, 0x93A7}, //916 #CJK UNIFIED IDEOGRAPH
+  {0x8A5B, 0x9AB8}, //917 #CJK UNIFIED IDEOGRAPH
+  {0x8A5C, 0x6D6C}, //918 #CJK UNIFIED IDEOGRAPH
+  {0x8A5D, 0x99A8}, //919 #CJK UNIFIED IDEOGRAPH
+  {0x8A5E, 0x86D9}, //920 #CJK UNIFIED IDEOGRAPH
+  {0x8A5F, 0x57A3}, //921 #CJK UNIFIED IDEOGRAPH
+  {0x8A60, 0x67FF}, //922 #CJK UNIFIED IDEOGRAPH
+  {0x8A61, 0x86CE}, //923 #CJK UNIFIED IDEOGRAPH
+  {0x8A62, 0x920E}, //924 #CJK UNIFIED IDEOGRAPH
+  {0x8A63, 0x5283}, //925 #CJK UNIFIED IDEOGRAPH
+  {0x8A64, 0x5687}, //926 #CJK UNIFIED IDEOGRAPH
+  {0x8A65, 0x5404}, //927 #CJK UNIFIED IDEOGRAPH
+  {0x8A66, 0x5ED3}, //928 #CJK UNIFIED IDEOGRAPH
+  {0x8A67, 0x62E1}, //929 #CJK UNIFIED IDEOGRAPH
+  {0x8A68, 0x64B9}, //930 #CJK UNIFIED IDEOGRAPH
+  {0x8A69, 0x683C}, //931 #CJK UNIFIED IDEOGRAPH
+  {0x8A6A, 0x6838}, //932 #CJK UNIFIED IDEOGRAPH
+  {0x8A6B, 0x6BBB}, //933 #CJK UNIFIED IDEOGRAPH
+  {0x8A6C, 0x7372}, //934 #CJK UNIFIED IDEOGRAPH
+  {0x8A6D, 0x78BA}, //935 #CJK UNIFIED IDEOGRAPH
+  {0x8A6E, 0x7A6B}, //936 #CJK UNIFIED IDEOGRAPH
+  {0x8A6F, 0x899A}, //937 #CJK UNIFIED IDEOGRAPH
+  {0x8A70, 0x89D2}, //938 #CJK UNIFIED IDEOGRAPH
+  {0x8A71, 0x8D6B}, //939 #CJK UNIFIED IDEOGRAPH
+  {0x8A72, 0x8F03}, //940 #CJK UNIFIED IDEOGRAPH
+  {0x8A73, 0x90ED}, //941 #CJK UNIFIED IDEOGRAPH
+  {0x8A74, 0x95A3}, //942 #CJK UNIFIED IDEOGRAPH
+  {0x8A75, 0x9694}, //943 #CJK UNIFIED IDEOGRAPH
+  {0x8A76, 0x9769}, //944 #CJK UNIFIED IDEOGRAPH
+  {0x8A77, 0x5B66}, //945 #CJK UNIFIED IDEOGRAPH
+  {0x8A78, 0x5CB3}, //946 #CJK UNIFIED IDEOGRAPH
+  {0x8A79, 0x697D}, //947 #CJK UNIFIED IDEOGRAPH
+  {0x8A7A, 0x984D}, //948 #CJK UNIFIED IDEOGRAPH
+  {0x8A7B, 0x984E}, //949 #CJK UNIFIED IDEOGRAPH
+  {0x8A7C, 0x639B}, //950 #CJK UNIFIED IDEOGRAPH
+  {0x8A7D, 0x7B20}, //951 #CJK UNIFIED IDEOGRAPH
+  {0x8A7E, 0x6A2B}, //952 #CJK UNIFIED IDEOGRAPH
+  {0x8A80, 0x6A7F}, //953 #CJK UNIFIED IDEOGRAPH
+  {0x8A81, 0x68B6}, //954 #CJK UNIFIED IDEOGRAPH
+  {0x8A82, 0x9C0D}, //955 #CJK UNIFIED IDEOGRAPH
+  {0x8A83, 0x6F5F}, //956 #CJK UNIFIED IDEOGRAPH
+  {0x8A84, 0x5272}, //957 #CJK UNIFIED IDEOGRAPH
+  {0x8A85, 0x559D}, //958 #CJK UNIFIED IDEOGRAPH
+  {0x8A86, 0x6070}, //959 #CJK UNIFIED IDEOGRAPH
+  {0x8A87, 0x62EC}, //960 #CJK UNIFIED IDEOGRAPH
+  {0x8A88, 0x6D3B}, //961 #CJK UNIFIED IDEOGRAPH
+  {0x8A89, 0x6E07}, //962 #CJK UNIFIED IDEOGRAPH
+  {0x8A8A, 0x6ED1}, //963 #CJK UNIFIED IDEOGRAPH
+  {0x8A8B, 0x845B}, //964 #CJK UNIFIED IDEOGRAPH
+  {0x8A8C, 0x8910}, //965 #CJK UNIFIED IDEOGRAPH
+  {0x8A8D, 0x8F44}, //966 #CJK UNIFIED IDEOGRAPH
+  {0x8A8E, 0x4E14}, //967 #CJK UNIFIED IDEOGRAPH
+  {0x8A8F, 0x9C39}, //968 #CJK UNIFIED IDEOGRAPH
+  {0x8A90, 0x53F6}, //969 #CJK UNIFIED IDEOGRAPH
+  {0x8A91, 0x691B}, //970 #CJK UNIFIED IDEOGRAPH
+  {0x8A92, 0x6A3A}, //971 #CJK UNIFIED IDEOGRAPH
+  {0x8A93, 0x9784}, //972 #CJK UNIFIED IDEOGRAPH
+  {0x8A94, 0x682A}, //973 #CJK UNIFIED IDEOGRAPH
+  {0x8A95, 0x515C}, //974 #CJK UNIFIED IDEOGRAPH
+  {0x8A96, 0x7AC3}, //975 #CJK UNIFIED IDEOGRAPH
+  {0x8A97, 0x84B2}, //976 #CJK UNIFIED IDEOGRAPH
+  {0x8A98, 0x91DC}, //977 #CJK UNIFIED IDEOGRAPH
+  {0x8A99, 0x938C}, //978 #CJK UNIFIED IDEOGRAPH
+  {0x8A9A, 0x565B}, //979 #CJK UNIFIED IDEOGRAPH
+  {0x8A9B, 0x9D28}, //980 #CJK UNIFIED IDEOGRAPH
+  {0x8A9C, 0x6822}, //981 #CJK UNIFIED IDEOGRAPH
+  {0x8A9D, 0x8305}, //982 #CJK UNIFIED IDEOGRAPH
+  {0x8A9E, 0x8431}, //983 #CJK UNIFIED IDEOGRAPH
+  {0x8A9F, 0x7CA5}, //984 #CJK UNIFIED IDEOGRAPH
+  {0x8AA0, 0x5208}, //985 #CJK UNIFIED IDEOGRAPH
+  {0x8AA1, 0x82C5}, //986 #CJK UNIFIED IDEOGRAPH
+  {0x8AA2, 0x74E6}, //987 #CJK UNIFIED IDEOGRAPH
+  {0x8AA3, 0x4E7E}, //988 #CJK UNIFIED IDEOGRAPH
+  {0x8AA4, 0x4F83}, //989 #CJK UNIFIED IDEOGRAPH
+  {0x8AA5, 0x51A0}, //990 #CJK UNIFIED IDEOGRAPH
+  {0x8AA6, 0x5BD2}, //991 #CJK UNIFIED IDEOGRAPH
+  {0x8AA7, 0x520A}, //992 #CJK UNIFIED IDEOGRAPH
+  {0x8AA8, 0x52D8}, //993 #CJK UNIFIED IDEOGRAPH
+  {0x8AA9, 0x52E7}, //994 #CJK UNIFIED IDEOGRAPH
+  {0x8AAA, 0x5DFB}, //995 #CJK UNIFIED IDEOGRAPH
+  {0x8AAB, 0x559A}, //996 #CJK UNIFIED IDEOGRAPH
+  {0x8AAC, 0x582A}, //997 #CJK UNIFIED IDEOGRAPH
+  {0x8AAD, 0x59E6}, //998 #CJK UNIFIED IDEOGRAPH
+  {0x8AAE, 0x5B8C}, //999 #CJK UNIFIED IDEOGRAPH
+  {0x8AAF, 0x5B98}, //1000 #CJK UNIFIED IDEOGRAPH
+  {0x8AB0, 0x5BDB}, //1001 #CJK UNIFIED IDEOGRAPH
+  {0x8AB1, 0x5E72}, //1002 #CJK UNIFIED IDEOGRAPH
+  {0x8AB2, 0x5E79}, //1003 #CJK UNIFIED IDEOGRAPH
+  {0x8AB3, 0x60A3}, //1004 #CJK UNIFIED IDEOGRAPH
+  {0x8AB4, 0x611F}, //1005 #CJK UNIFIED IDEOGRAPH
+  {0x8AB5, 0x6163}, //1006 #CJK UNIFIED IDEOGRAPH
+  {0x8AB6, 0x61BE}, //1007 #CJK UNIFIED IDEOGRAPH
+  {0x8AB7, 0x63DB}, //1008 #CJK UNIFIED IDEOGRAPH
+  {0x8AB8, 0x6562}, //1009 #CJK UNIFIED IDEOGRAPH
+  {0x8AB9, 0x67D1}, //1010 #CJK UNIFIED IDEOGRAPH
+  {0x8ABA, 0x6853}, //1011 #CJK UNIFIED IDEOGRAPH
+  {0x8ABB, 0x68FA}, //1012 #CJK UNIFIED IDEOGRAPH
+  {0x8ABC, 0x6B3E}, //1013 #CJK UNIFIED IDEOGRAPH
+  {0x8ABD, 0x6B53}, //1014 #CJK UNIFIED IDEOGRAPH
+  {0x8ABE, 0x6C57}, //1015 #CJK UNIFIED IDEOGRAPH
+  {0x8ABF, 0x6F22}, //1016 #CJK UNIFIED IDEOGRAPH
+  {0x8AC0, 0x6F97}, //1017 #CJK UNIFIED IDEOGRAPH
+  {0x8AC1, 0x6F45}, //1018 #CJK UNIFIED IDEOGRAPH
+  {0x8AC2, 0x74B0}, //1019 #CJK UNIFIED IDEOGRAPH
+  {0x8AC3, 0x7518}, //1020 #CJK UNIFIED IDEOGRAPH
+  {0x8AC4, 0x76E3}, //1021 #CJK UNIFIED IDEOGRAPH
+  {0x8AC5, 0x770B}, //1022 #CJK UNIFIED IDEOGRAPH
+  {0x8AC6, 0x7AFF}, //1023 #CJK UNIFIED IDEOGRAPH
+  {0x8AC7, 0x7BA1}, //1024 #CJK UNIFIED IDEOGRAPH
+  {0x8AC8, 0x7C21}, //1025 #CJK UNIFIED IDEOGRAPH
+  {0x8AC9, 0x7DE9}, //1026 #CJK UNIFIED IDEOGRAPH
+  {0x8ACA, 0x7F36}, //1027 #CJK UNIFIED IDEOGRAPH
+  {0x8ACB, 0x7FF0}, //1028 #CJK UNIFIED IDEOGRAPH
+  {0x8ACC, 0x809D}, //1029 #CJK UNIFIED IDEOGRAPH
+  {0x8ACD, 0x8266}, //1030 #CJK UNIFIED IDEOGRAPH
+  {0x8ACE, 0x839E}, //1031 #CJK UNIFIED IDEOGRAPH
+  {0x8ACF, 0x89B3}, //1032 #CJK UNIFIED IDEOGRAPH
+  {0x8AD0, 0x8ACC}, //1033 #CJK UNIFIED IDEOGRAPH
+  {0x8AD1, 0x8CAB}, //1034 #CJK UNIFIED IDEOGRAPH
+  {0x8AD2, 0x9084}, //1035 #CJK UNIFIED IDEOGRAPH
+  {0x8AD3, 0x9451}, //1036 #CJK UNIFIED IDEOGRAPH
+  {0x8AD4, 0x9593}, //1037 #CJK UNIFIED IDEOGRAPH
+  {0x8AD5, 0x9591}, //1038 #CJK UNIFIED IDEOGRAPH
+  {0x8AD6, 0x95A2}, //1039 #CJK UNIFIED IDEOGRAPH
+  {0x8AD7, 0x9665}, //1040 #CJK UNIFIED IDEOGRAPH
+  {0x8AD8, 0x97D3}, //1041 #CJK UNIFIED IDEOGRAPH
+  {0x8AD9, 0x9928}, //1042 #CJK UNIFIED IDEOGRAPH
+  {0x8ADA, 0x8218}, //1043 #CJK UNIFIED IDEOGRAPH
+  {0x8ADB, 0x4E38}, //1044 #CJK UNIFIED IDEOGRAPH
+  {0x8ADC, 0x542B}, //1045 #CJK UNIFIED IDEOGRAPH
+  {0x8ADD, 0x5CB8}, //1046 #CJK UNIFIED IDEOGRAPH
+  {0x8ADE, 0x5DCC}, //1047 #CJK UNIFIED IDEOGRAPH
+  {0x8ADF, 0x73A9}, //1048 #CJK UNIFIED IDEOGRAPH
+  {0x8AE0, 0x764C}, //1049 #CJK UNIFIED IDEOGRAPH
+  {0x8AE1, 0x773C}, //1050 #CJK UNIFIED IDEOGRAPH
+  {0x8AE2, 0x5CA9}, //1051 #CJK UNIFIED IDEOGRAPH
+  {0x8AE3, 0x7FEB}, //1052 #CJK UNIFIED IDEOGRAPH
+  {0x8AE4, 0x8D0B}, //1053 #CJK UNIFIED IDEOGRAPH
+  {0x8AE5, 0x96C1}, //1054 #CJK UNIFIED IDEOGRAPH
+  {0x8AE6, 0x9811}, //1055 #CJK UNIFIED IDEOGRAPH
+  {0x8AE7, 0x9854}, //1056 #CJK UNIFIED IDEOGRAPH
+  {0x8AE8, 0x9858}, //1057 #CJK UNIFIED IDEOGRAPH
+  {0x8AE9, 0x4F01}, //1058 #CJK UNIFIED IDEOGRAPH
+  {0x8AEA, 0x4F0E}, //1059 #CJK UNIFIED IDEOGRAPH
+  {0x8AEB, 0x5371}, //1060 #CJK UNIFIED IDEOGRAPH
+  {0x8AEC, 0x559C}, //1061 #CJK UNIFIED IDEOGRAPH
+  {0x8AED, 0x5668}, //1062 #CJK UNIFIED IDEOGRAPH
+  {0x8AEE, 0x57FA}, //1063 #CJK UNIFIED IDEOGRAPH
+  {0x8AEF, 0x5947}, //1064 #CJK UNIFIED IDEOGRAPH
+  {0x8AF0, 0x5B09}, //1065 #CJK UNIFIED IDEOGRAPH
+  {0x8AF1, 0x5BC4}, //1066 #CJK UNIFIED IDEOGRAPH
+  {0x8AF2, 0x5C90}, //1067 #CJK UNIFIED IDEOGRAPH
+  {0x8AF3, 0x5E0C}, //1068 #CJK UNIFIED IDEOGRAPH
+  {0x8AF4, 0x5E7E}, //1069 #CJK UNIFIED IDEOGRAPH
+  {0x8AF5, 0x5FCC}, //1070 #CJK UNIFIED IDEOGRAPH
+  {0x8AF6, 0x63EE}, //1071 #CJK UNIFIED IDEOGRAPH
+  {0x8AF7, 0x673A}, //1072 #CJK UNIFIED IDEOGRAPH
+  {0x8AF8, 0x65D7}, //1073 #CJK UNIFIED IDEOGRAPH
+  {0x8AF9, 0x65E2}, //1074 #CJK UNIFIED IDEOGRAPH
+  {0x8AFA, 0x671F}, //1075 #CJK UNIFIED IDEOGRAPH
+  {0x8AFB, 0x68CB}, //1076 #CJK UNIFIED IDEOGRAPH
+  {0x8AFC, 0x68C4}, //1077 #CJK UNIFIED IDEOGRAPH
+  {0x8B40, 0x6A5F}, //1078 #CJK UNIFIED IDEOGRAPH
+  {0x8B41, 0x5E30}, //1079 #CJK UNIFIED IDEOGRAPH
+  {0x8B42, 0x6BC5}, //1080 #CJK UNIFIED IDEOGRAPH
+  {0x8B43, 0x6C17}, //1081 #CJK UNIFIED IDEOGRAPH
+  {0x8B44, 0x6C7D}, //1082 #CJK UNIFIED IDEOGRAPH
+  {0x8B45, 0x757F}, //1083 #CJK UNIFIED IDEOGRAPH
+  {0x8B46, 0x7948}, //1084 #CJK UNIFIED IDEOGRAPH
+  {0x8B47, 0x5B63}, //1085 #CJK UNIFIED IDEOGRAPH
+  {0x8B48, 0x7A00}, //1086 #CJK UNIFIED IDEOGRAPH
+  {0x8B49, 0x7D00}, //1087 #CJK UNIFIED IDEOGRAPH
+  {0x8B4A, 0x5FBD}, //1088 #CJK UNIFIED IDEOGRAPH
+  {0x8B4B, 0x898F}, //1089 #CJK UNIFIED IDEOGRAPH
+  {0x8B4C, 0x8A18}, //1090 #CJK UNIFIED IDEOGRAPH
+  {0x8B4D, 0x8CB4}, //1091 #CJK UNIFIED IDEOGRAPH
+  {0x8B4E, 0x8D77}, //1092 #CJK UNIFIED IDEOGRAPH
+  {0x8B4F, 0x8ECC}, //1093 #CJK UNIFIED IDEOGRAPH
+  {0x8B50, 0x8F1D}, //1094 #CJK UNIFIED IDEOGRAPH
+  {0x8B51, 0x98E2}, //1095 #CJK UNIFIED IDEOGRAPH
+  {0x8B52, 0x9A0E}, //1096 #CJK UNIFIED IDEOGRAPH
+  {0x8B53, 0x9B3C}, //1097 #CJK UNIFIED IDEOGRAPH
+  {0x8B54, 0x4E80}, //1098 #CJK UNIFIED IDEOGRAPH
+  {0x8B55, 0x507D}, //1099 #CJK UNIFIED IDEOGRAPH
+  {0x8B56, 0x5100}, //1100 #CJK UNIFIED IDEOGRAPH
+  {0x8B57, 0x5993}, //1101 #CJK UNIFIED IDEOGRAPH
+  {0x8B58, 0x5B9C}, //1102 #CJK UNIFIED IDEOGRAPH
+  {0x8B59, 0x622F}, //1103 #CJK UNIFIED IDEOGRAPH
+  {0x8B5A, 0x6280}, //1104 #CJK UNIFIED IDEOGRAPH
+  {0x8B5B, 0x64EC}, //1105 #CJK UNIFIED IDEOGRAPH
+  {0x8B5C, 0x6B3A}, //1106 #CJK UNIFIED IDEOGRAPH
+  {0x8B5D, 0x72A0}, //1107 #CJK UNIFIED IDEOGRAPH
+  {0x8B5E, 0x7591}, //1108 #CJK UNIFIED IDEOGRAPH
+  {0x8B5F, 0x7947}, //1109 #CJK UNIFIED IDEOGRAPH
+  {0x8B60, 0x7FA9}, //1110 #CJK UNIFIED IDEOGRAPH
+  {0x8B61, 0x87FB}, //1111 #CJK UNIFIED IDEOGRAPH
+  {0x8B62, 0x8ABC}, //1112 #CJK UNIFIED IDEOGRAPH
+  {0x8B63, 0x8B70}, //1113 #CJK UNIFIED IDEOGRAPH
+  {0x8B64, 0x63AC}, //1114 #CJK UNIFIED IDEOGRAPH
+  {0x8B65, 0x83CA}, //1115 #CJK UNIFIED IDEOGRAPH
+  {0x8B66, 0x97A0}, //1116 #CJK UNIFIED IDEOGRAPH
+  {0x8B67, 0x5409}, //1117 #CJK UNIFIED IDEOGRAPH
+  {0x8B68, 0x5403}, //1118 #CJK UNIFIED IDEOGRAPH
+  {0x8B69, 0x55AB}, //1119 #CJK UNIFIED IDEOGRAPH
+  {0x8B6A, 0x6854}, //1120 #CJK UNIFIED IDEOGRAPH
+  {0x8B6B, 0x6A58}, //1121 #CJK UNIFIED IDEOGRAPH
+  {0x8B6C, 0x8A70}, //1122 #CJK UNIFIED IDEOGRAPH
+  {0x8B6D, 0x7827}, //1123 #CJK UNIFIED IDEOGRAPH
+  {0x8B6E, 0x6775}, //1124 #CJK UNIFIED IDEOGRAPH
+  {0x8B6F, 0x9ECD}, //1125 #CJK UNIFIED IDEOGRAPH
+  {0x8B70, 0x5374}, //1126 #CJK UNIFIED IDEOGRAPH
+  {0x8B71, 0x5BA2}, //1127 #CJK UNIFIED IDEOGRAPH
+  {0x8B72, 0x811A}, //1128 #CJK UNIFIED IDEOGRAPH
+  {0x8B73, 0x8650}, //1129 #CJK UNIFIED IDEOGRAPH
+  {0x8B74, 0x9006}, //1130 #CJK UNIFIED IDEOGRAPH
+  {0x8B75, 0x4E18}, //1131 #CJK UNIFIED IDEOGRAPH
+  {0x8B76, 0x4E45}, //1132 #CJK UNIFIED IDEOGRAPH
+  {0x8B77, 0x4EC7}, //1133 #CJK UNIFIED IDEOGRAPH
+  {0x8B78, 0x4F11}, //1134 #CJK UNIFIED IDEOGRAPH
+  {0x8B79, 0x53CA}, //1135 #CJK UNIFIED IDEOGRAPH
+  {0x8B7A, 0x5438}, //1136 #CJK UNIFIED IDEOGRAPH
+  {0x8B7B, 0x5BAE}, //1137 #CJK UNIFIED IDEOGRAPH
+  {0x8B7C, 0x5F13}, //1138 #CJK UNIFIED IDEOGRAPH
+  {0x8B7D, 0x6025}, //1139 #CJK UNIFIED IDEOGRAPH
+  {0x8B7E, 0x6551}, //1140 #CJK UNIFIED IDEOGRAPH
+  {0x8B80, 0x673D}, //1141 #CJK UNIFIED IDEOGRAPH
+  {0x8B81, 0x6C42}, //1142 #CJK UNIFIED IDEOGRAPH
+  {0x8B82, 0x6C72}, //1143 #CJK UNIFIED IDEOGRAPH
+  {0x8B83, 0x6CE3}, //1144 #CJK UNIFIED IDEOGRAPH
+  {0x8B84, 0x7078}, //1145 #CJK UNIFIED IDEOGRAPH
+  {0x8B85, 0x7403}, //1146 #CJK UNIFIED IDEOGRAPH
+  {0x8B86, 0x7A76}, //1147 #CJK UNIFIED IDEOGRAPH
+  {0x8B87, 0x7AAE}, //1148 #CJK UNIFIED IDEOGRAPH
+  {0x8B88, 0x7B08}, //1149 #CJK UNIFIED IDEOGRAPH
+  {0x8B89, 0x7D1A}, //1150 #CJK UNIFIED IDEOGRAPH
+  {0x8B8A, 0x7CFE}, //1151 #CJK UNIFIED IDEOGRAPH
+  {0x8B8B, 0x7D66}, //1152 #CJK UNIFIED IDEOGRAPH
+  {0x8B8C, 0x65E7}, //1153 #CJK UNIFIED IDEOGRAPH
+  {0x8B8D, 0x725B}, //1154 #CJK UNIFIED IDEOGRAPH
+  {0x8B8E, 0x53BB}, //1155 #CJK UNIFIED IDEOGRAPH
+  {0x8B8F, 0x5C45}, //1156 #CJK UNIFIED IDEOGRAPH
+  {0x8B90, 0x5DE8}, //1157 #CJK UNIFIED IDEOGRAPH
+  {0x8B91, 0x62D2}, //1158 #CJK UNIFIED IDEOGRAPH
+  {0x8B92, 0x62E0}, //1159 #CJK UNIFIED IDEOGRAPH
+  {0x8B93, 0x6319}, //1160 #CJK UNIFIED IDEOGRAPH
+  {0x8B94, 0x6E20}, //1161 #CJK UNIFIED IDEOGRAPH
+  {0x8B95, 0x865A}, //1162 #CJK UNIFIED IDEOGRAPH
+  {0x8B96, 0x8A31}, //1163 #CJK UNIFIED IDEOGRAPH
+  {0x8B97, 0x8DDD}, //1164 #CJK UNIFIED IDEOGRAPH
+  {0x8B98, 0x92F8}, //1165 #CJK UNIFIED IDEOGRAPH
+  {0x8B99, 0x6F01}, //1166 #CJK UNIFIED IDEOGRAPH
+  {0x8B9A, 0x79A6}, //1167 #CJK UNIFIED IDEOGRAPH
+  {0x8B9B, 0x9B5A}, //1168 #CJK UNIFIED IDEOGRAPH
+  {0x8B9C, 0x4EA8}, //1169 #CJK UNIFIED IDEOGRAPH
+  {0x8B9D, 0x4EAB}, //1170 #CJK UNIFIED IDEOGRAPH
+  {0x8B9E, 0x4EAC}, //1171 #CJK UNIFIED IDEOGRAPH
+  {0x8B9F, 0x4F9B}, //1172 #CJK UNIFIED IDEOGRAPH
+  {0x8BA0, 0x4FA0}, //1173 #CJK UNIFIED IDEOGRAPH
+  {0x8BA1, 0x50D1}, //1174 #CJK UNIFIED IDEOGRAPH
+  {0x8BA2, 0x5147}, //1175 #CJK UNIFIED IDEOGRAPH
+  {0x8BA3, 0x7AF6}, //1176 #CJK UNIFIED IDEOGRAPH
+  {0x8BA4, 0x5171}, //1177 #CJK UNIFIED IDEOGRAPH
+  {0x8BA5, 0x51F6}, //1178 #CJK UNIFIED IDEOGRAPH
+  {0x8BA6, 0x5354}, //1179 #CJK UNIFIED IDEOGRAPH
+  {0x8BA7, 0x5321}, //1180 #CJK UNIFIED IDEOGRAPH
+  {0x8BA8, 0x537F}, //1181 #CJK UNIFIED IDEOGRAPH
+  {0x8BA9, 0x53EB}, //1182 #CJK UNIFIED IDEOGRAPH
+  {0x8BAA, 0x55AC}, //1183 #CJK UNIFIED IDEOGRAPH
+  {0x8BAB, 0x5883}, //1184 #CJK UNIFIED IDEOGRAPH
+  {0x8BAC, 0x5CE1}, //1185 #CJK UNIFIED IDEOGRAPH
+  {0x8BAD, 0x5F37}, //1186 #CJK UNIFIED IDEOGRAPH
+  {0x8BAE, 0x5F4A}, //1187 #CJK UNIFIED IDEOGRAPH
+  {0x8BAF, 0x602F}, //1188 #CJK UNIFIED IDEOGRAPH
+  {0x8BB0, 0x6050}, //1189 #CJK UNIFIED IDEOGRAPH
+  {0x8BB1, 0x606D}, //1190 #CJK UNIFIED IDEOGRAPH
+  {0x8BB2, 0x631F}, //1191 #CJK UNIFIED IDEOGRAPH
+  {0x8BB3, 0x6559}, //1192 #CJK UNIFIED IDEOGRAPH
+  {0x8BB4, 0x6A4B}, //1193 #CJK UNIFIED IDEOGRAPH
+  {0x8BB5, 0x6CC1}, //1194 #CJK UNIFIED IDEOGRAPH
+  {0x8BB6, 0x72C2}, //1195 #CJK UNIFIED IDEOGRAPH
+  {0x8BB7, 0x72ED}, //1196 #CJK UNIFIED IDEOGRAPH
+  {0x8BB8, 0x77EF}, //1197 #CJK UNIFIED IDEOGRAPH
+  {0x8BB9, 0x80F8}, //1198 #CJK UNIFIED IDEOGRAPH
+  {0x8BBA, 0x8105}, //1199 #CJK UNIFIED IDEOGRAPH
+  {0x8BBB, 0x8208}, //1200 #CJK UNIFIED IDEOGRAPH
+  {0x8BBC, 0x854E}, //1201 #CJK UNIFIED IDEOGRAPH
+  {0x8BBD, 0x90F7}, //1202 #CJK UNIFIED IDEOGRAPH
+  {0x8BBE, 0x93E1}, //1203 #CJK UNIFIED IDEOGRAPH
+  {0x8BBF, 0x97FF}, //1204 #CJK UNIFIED IDEOGRAPH
+  {0x8BC0, 0x9957}, //1205 #CJK UNIFIED IDEOGRAPH
+  {0x8BC1, 0x9A5A}, //1206 #CJK UNIFIED IDEOGRAPH
+  {0x8BC2, 0x4EF0}, //1207 #CJK UNIFIED IDEOGRAPH
+  {0x8BC3, 0x51DD}, //1208 #CJK UNIFIED IDEOGRAPH
+  {0x8BC4, 0x5C2D}, //1209 #CJK UNIFIED IDEOGRAPH
+  {0x8BC5, 0x6681}, //1210 #CJK UNIFIED IDEOGRAPH
+  {0x8BC6, 0x696D}, //1211 #CJK UNIFIED IDEOGRAPH
+  {0x8BC7, 0x5C40}, //1212 #CJK UNIFIED IDEOGRAPH
+  {0x8BC8, 0x66F2}, //1213 #CJK UNIFIED IDEOGRAPH
+  {0x8BC9, 0x6975}, //1214 #CJK UNIFIED IDEOGRAPH
+  {0x8BCA, 0x7389}, //1215 #CJK UNIFIED IDEOGRAPH
+  {0x8BCB, 0x6850}, //1216 #CJK UNIFIED IDEOGRAPH
+  {0x8BCC, 0x7C81}, //1217 #CJK UNIFIED IDEOGRAPH
+  {0x8BCD, 0x50C5}, //1218 #CJK UNIFIED IDEOGRAPH
+  {0x8BCE, 0x52E4}, //1219 #CJK UNIFIED IDEOGRAPH
+  {0x8BCF, 0x5747}, //1220 #CJK UNIFIED IDEOGRAPH
+  {0x8BD0, 0x5DFE}, //1221 #CJK UNIFIED IDEOGRAPH
+  {0x8BD1, 0x9326}, //1222 #CJK UNIFIED IDEOGRAPH
+  {0x8BD2, 0x65A4}, //1223 #CJK UNIFIED IDEOGRAPH
+  {0x8BD3, 0x6B23}, //1224 #CJK UNIFIED IDEOGRAPH
+  {0x8BD4, 0x6B3D}, //1225 #CJK UNIFIED IDEOGRAPH
+  {0x8BD5, 0x7434}, //1226 #CJK UNIFIED IDEOGRAPH
+  {0x8BD6, 0x7981}, //1227 #CJK UNIFIED IDEOGRAPH
+  {0x8BD7, 0x79BD}, //1228 #CJK UNIFIED IDEOGRAPH
+  {0x8BD8, 0x7B4B}, //1229 #CJK UNIFIED IDEOGRAPH
+  {0x8BD9, 0x7DCA}, //1230 #CJK UNIFIED IDEOGRAPH
+  {0x8BDA, 0x82B9}, //1231 #CJK UNIFIED IDEOGRAPH
+  {0x8BDB, 0x83CC}, //1232 #CJK UNIFIED IDEOGRAPH
+  {0x8BDC, 0x887F}, //1233 #CJK UNIFIED IDEOGRAPH
+  {0x8BDD, 0x895F}, //1234 #CJK UNIFIED IDEOGRAPH
+  {0x8BDE, 0x8B39}, //1235 #CJK UNIFIED IDEOGRAPH
+  {0x8BDF, 0x8FD1}, //1236 #CJK UNIFIED IDEOGRAPH
+  {0x8BE0, 0x91D1}, //1237 #CJK UNIFIED IDEOGRAPH
+  {0x8BE1, 0x541F}, //1238 #CJK UNIFIED IDEOGRAPH
+  {0x8BE2, 0x9280}, //1239 #CJK UNIFIED IDEOGRAPH
+  {0x8BE3, 0x4E5D}, //1240 #CJK UNIFIED IDEOGRAPH
+  {0x8BE4, 0x5036}, //1241 #CJK UNIFIED IDEOGRAPH
+  {0x8BE5, 0x53E5}, //1242 #CJK UNIFIED IDEOGRAPH
+  {0x8BE6, 0x533A}, //1243 #CJK UNIFIED IDEOGRAPH
+  {0x8BE7, 0x72D7}, //1244 #CJK UNIFIED IDEOGRAPH
+  {0x8BE8, 0x7396}, //1245 #CJK UNIFIED IDEOGRAPH
+  {0x8BE9, 0x77E9}, //1246 #CJK UNIFIED IDEOGRAPH
+  {0x8BEA, 0x82E6}, //1247 #CJK UNIFIED IDEOGRAPH
+  {0x8BEB, 0x8EAF}, //1248 #CJK UNIFIED IDEOGRAPH
+  {0x8BEC, 0x99C6}, //1249 #CJK UNIFIED IDEOGRAPH
+  {0x8BED, 0x99C8}, //1250 #CJK UNIFIED IDEOGRAPH
+  {0x8BEE, 0x99D2}, //1251 #CJK UNIFIED IDEOGRAPH
+  {0x8BEF, 0x5177}, //1252 #CJK UNIFIED IDEOGRAPH
+  {0x8BF0, 0x611A}, //1253 #CJK UNIFIED IDEOGRAPH
+  {0x8BF1, 0x865E}, //1254 #CJK UNIFIED IDEOGRAPH
+  {0x8BF2, 0x55B0}, //1255 #CJK UNIFIED IDEOGRAPH
+  {0x8BF3, 0x7A7A}, //1256 #CJK UNIFIED IDEOGRAPH
+  {0x8BF4, 0x5076}, //1257 #CJK UNIFIED IDEOGRAPH
+  {0x8BF5, 0x5BD3}, //1258 #CJK UNIFIED IDEOGRAPH
+  {0x8BF6, 0x9047}, //1259 #CJK UNIFIED IDEOGRAPH
+  {0x8BF7, 0x9685}, //1260 #CJK UNIFIED IDEOGRAPH
+  {0x8BF8, 0x4E32}, //1261 #CJK UNIFIED IDEOGRAPH
+  {0x8BF9, 0x6ADB}, //1262 #CJK UNIFIED IDEOGRAPH
+  {0x8BFA, 0x91E7}, //1263 #CJK UNIFIED IDEOGRAPH
+  {0x8BFB, 0x5C51}, //1264 #CJK UNIFIED IDEOGRAPH
+  {0x8BFC, 0x5C48}, //1265 #CJK UNIFIED IDEOGRAPH
+  {0x8C40, 0x6398}, //1266 #CJK UNIFIED IDEOGRAPH
+  {0x8C41, 0x7A9F}, //1267 #CJK UNIFIED IDEOGRAPH
+  {0x8C42, 0x6C93}, //1268 #CJK UNIFIED IDEOGRAPH
+  {0x8C43, 0x9774}, //1269 #CJK UNIFIED IDEOGRAPH
+  {0x8C44, 0x8F61}, //1270 #CJK UNIFIED IDEOGRAPH
+  {0x8C45, 0x7AAA}, //1271 #CJK UNIFIED IDEOGRAPH
+  {0x8C46, 0x718A}, //1272 #CJK UNIFIED IDEOGRAPH
+  {0x8C47, 0x9688}, //1273 #CJK UNIFIED IDEOGRAPH
+  {0x8C48, 0x7C82}, //1274 #CJK UNIFIED IDEOGRAPH
+  {0x8C49, 0x6817}, //1275 #CJK UNIFIED IDEOGRAPH
+  {0x8C4A, 0x7E70}, //1276 #CJK UNIFIED IDEOGRAPH
+  {0x8C4B, 0x6851}, //1277 #CJK UNIFIED IDEOGRAPH
+  {0x8C4C, 0x936C}, //1278 #CJK UNIFIED IDEOGRAPH
+  {0x8C4D, 0x52F2}, //1279 #CJK UNIFIED IDEOGRAPH
+  {0x8C4E, 0x541B}, //1280 #CJK UNIFIED IDEOGRAPH
+  {0x8C4F, 0x85AB}, //1281 #CJK UNIFIED IDEOGRAPH
+  {0x8C50, 0x8A13}, //1282 #CJK UNIFIED IDEOGRAPH
+  {0x8C51, 0x7FA4}, //1283 #CJK UNIFIED IDEOGRAPH
+  {0x8C52, 0x8ECD}, //1284 #CJK UNIFIED IDEOGRAPH
+  {0x8C53, 0x90E1}, //1285 #CJK UNIFIED IDEOGRAPH
+  {0x8C54, 0x5366}, //1286 #CJK UNIFIED IDEOGRAPH
+  {0x8C55, 0x8888}, //1287 #CJK UNIFIED IDEOGRAPH
+  {0x8C56, 0x7941}, //1288 #CJK UNIFIED IDEOGRAPH
+  {0x8C57, 0x4FC2}, //1289 #CJK UNIFIED IDEOGRAPH
+  {0x8C58, 0x50BE}, //1290 #CJK UNIFIED IDEOGRAPH
+  {0x8C59, 0x5211}, //1291 #CJK UNIFIED IDEOGRAPH
+  {0x8C5A, 0x5144}, //1292 #CJK UNIFIED IDEOGRAPH
+  {0x8C5B, 0x5553}, //1293 #CJK UNIFIED IDEOGRAPH
+  {0x8C5C, 0x572D}, //1294 #CJK UNIFIED IDEOGRAPH
+  {0x8C5D, 0x73EA}, //1295 #CJK UNIFIED IDEOGRAPH
+  {0x8C5E, 0x578B}, //1296 #CJK UNIFIED IDEOGRAPH
+  {0x8C5F, 0x5951}, //1297 #CJK UNIFIED IDEOGRAPH
+  {0x8C60, 0x5F62}, //1298 #CJK UNIFIED IDEOGRAPH
+  {0x8C61, 0x5F84}, //1299 #CJK UNIFIED IDEOGRAPH
+  {0x8C62, 0x6075}, //1300 #CJK UNIFIED IDEOGRAPH
+  {0x8C63, 0x6176}, //1301 #CJK UNIFIED IDEOGRAPH
+  {0x8C64, 0x6167}, //1302 #CJK UNIFIED IDEOGRAPH
+  {0x8C65, 0x61A9}, //1303 #CJK UNIFIED IDEOGRAPH
+  {0x8C66, 0x63B2}, //1304 #CJK UNIFIED IDEOGRAPH
+  {0x8C67, 0x643A}, //1305 #CJK UNIFIED IDEOGRAPH
+  {0x8C68, 0x656C}, //1306 #CJK UNIFIED IDEOGRAPH
+  {0x8C69, 0x666F}, //1307 #CJK UNIFIED IDEOGRAPH
+  {0x8C6A, 0x6842}, //1308 #CJK UNIFIED IDEOGRAPH
+  {0x8C6B, 0x6E13}, //1309 #CJK UNIFIED IDEOGRAPH
+  {0x8C6C, 0x7566}, //1310 #CJK UNIFIED IDEOGRAPH
+  {0x8C6D, 0x7A3D}, //1311 #CJK UNIFIED IDEOGRAPH
+  {0x8C6E, 0x7CFB}, //1312 #CJK UNIFIED IDEOGRAPH
+  {0x8C6F, 0x7D4C}, //1313 #CJK UNIFIED IDEOGRAPH
+  {0x8C70, 0x7D99}, //1314 #CJK UNIFIED IDEOGRAPH
+  {0x8C71, 0x7E4B}, //1315 #CJK UNIFIED IDEOGRAPH
+  {0x8C72, 0x7F6B}, //1316 #CJK UNIFIED IDEOGRAPH
+  {0x8C73, 0x830E}, //1317 #CJK UNIFIED IDEOGRAPH
+  {0x8C74, 0x834A}, //1318 #CJK UNIFIED IDEOGRAPH
+  {0x8C75, 0x86CD}, //1319 #CJK UNIFIED IDEOGRAPH
+  {0x8C76, 0x8A08}, //1320 #CJK UNIFIED IDEOGRAPH
+  {0x8C77, 0x8A63}, //1321 #CJK UNIFIED IDEOGRAPH
+  {0x8C78, 0x8B66}, //1322 #CJK UNIFIED IDEOGRAPH
+  {0x8C79, 0x8EFD}, //1323 #CJK UNIFIED IDEOGRAPH
+  {0x8C7A, 0x981A}, //1324 #CJK UNIFIED IDEOGRAPH
+  {0x8C7B, 0x9D8F}, //1325 #CJK UNIFIED IDEOGRAPH
+  {0x8C7C, 0x82B8}, //1326 #CJK UNIFIED IDEOGRAPH
+  {0x8C7D, 0x8FCE}, //1327 #CJK UNIFIED IDEOGRAPH
+  {0x8C7E, 0x9BE8}, //1328 #CJK UNIFIED IDEOGRAPH
+  {0x8C80, 0x5287}, //1329 #CJK UNIFIED IDEOGRAPH
+  {0x8C81, 0x621F}, //1330 #CJK UNIFIED IDEOGRAPH
+  {0x8C82, 0x6483}, //1331 #CJK UNIFIED IDEOGRAPH
+  {0x8C83, 0x6FC0}, //1332 #CJK UNIFIED IDEOGRAPH
+  {0x8C84, 0x9699}, //1333 #CJK UNIFIED IDEOGRAPH
+  {0x8C85, 0x6841}, //1334 #CJK UNIFIED IDEOGRAPH
+  {0x8C86, 0x5091}, //1335 #CJK UNIFIED IDEOGRAPH
+  {0x8C87, 0x6B20}, //1336 #CJK UNIFIED IDEOGRAPH
+  {0x8C88, 0x6C7A}, //1337 #CJK UNIFIED IDEOGRAPH
+  {0x8C89, 0x6F54}, //1338 #CJK UNIFIED IDEOGRAPH
+  {0x8C8A, 0x7A74}, //1339 #CJK UNIFIED IDEOGRAPH
+  {0x8C8B, 0x7D50}, //1340 #CJK UNIFIED IDEOGRAPH
+  {0x8C8C, 0x8840}, //1341 #CJK UNIFIED IDEOGRAPH
+  {0x8C8D, 0x8A23}, //1342 #CJK UNIFIED IDEOGRAPH
+  {0x8C8E, 0x6708}, //1343 #CJK UNIFIED IDEOGRAPH
+  {0x8C8F, 0x4EF6}, //1344 #CJK UNIFIED IDEOGRAPH
+  {0x8C90, 0x5039}, //1345 #CJK UNIFIED IDEOGRAPH
+  {0x8C91, 0x5026}, //1346 #CJK UNIFIED IDEOGRAPH
+  {0x8C92, 0x5065}, //1347 #CJK UNIFIED IDEOGRAPH
+  {0x8C93, 0x517C}, //1348 #CJK UNIFIED IDEOGRAPH
+  {0x8C94, 0x5238}, //1349 #CJK UNIFIED IDEOGRAPH
+  {0x8C95, 0x5263}, //1350 #CJK UNIFIED IDEOGRAPH
+  {0x8C96, 0x55A7}, //1351 #CJK UNIFIED IDEOGRAPH
+  {0x8C97, 0x570F}, //1352 #CJK UNIFIED IDEOGRAPH
+  {0x8C98, 0x5805}, //1353 #CJK UNIFIED IDEOGRAPH
+  {0x8C99, 0x5ACC}, //1354 #CJK UNIFIED IDEOGRAPH
+  {0x8C9A, 0x5EFA}, //1355 #CJK UNIFIED IDEOGRAPH
+  {0x8C9B, 0x61B2}, //1356 #CJK UNIFIED IDEOGRAPH
+  {0x8C9C, 0x61F8}, //1357 #CJK UNIFIED IDEOGRAPH
+  {0x8C9D, 0x62F3}, //1358 #CJK UNIFIED IDEOGRAPH
+  {0x8C9E, 0x6372}, //1359 #CJK UNIFIED IDEOGRAPH
+  {0x8C9F, 0x691C}, //1360 #CJK UNIFIED IDEOGRAPH
+  {0x8CA0, 0x6A29}, //1361 #CJK UNIFIED IDEOGRAPH
+  {0x8CA1, 0x727D}, //1362 #CJK UNIFIED IDEOGRAPH
+  {0x8CA2, 0x72AC}, //1363 #CJK UNIFIED IDEOGRAPH
+  {0x8CA3, 0x732E}, //1364 #CJK UNIFIED IDEOGRAPH
+  {0x8CA4, 0x7814}, //1365 #CJK UNIFIED IDEOGRAPH
+  {0x8CA5, 0x786F}, //1366 #CJK UNIFIED IDEOGRAPH
+  {0x8CA6, 0x7D79}, //1367 #CJK UNIFIED IDEOGRAPH
+  {0x8CA7, 0x770C}, //1368 #CJK UNIFIED IDEOGRAPH
+  {0x8CA8, 0x80A9}, //1369 #CJK UNIFIED IDEOGRAPH
+  {0x8CA9, 0x898B}, //1370 #CJK UNIFIED IDEOGRAPH
+  {0x8CAA, 0x8B19}, //1371 #CJK UNIFIED IDEOGRAPH
+  {0x8CAB, 0x8CE2}, //1372 #CJK UNIFIED IDEOGRAPH
+  {0x8CAC, 0x8ED2}, //1373 #CJK UNIFIED IDEOGRAPH
+  {0x8CAD, 0x9063}, //1374 #CJK UNIFIED IDEOGRAPH
+  {0x8CAE, 0x9375}, //1375 #CJK UNIFIED IDEOGRAPH
+  {0x8CAF, 0x967A}, //1376 #CJK UNIFIED IDEOGRAPH
+  {0x8CB0, 0x9855}, //1377 #CJK UNIFIED IDEOGRAPH
+  {0x8CB1, 0x9A13}, //1378 #CJK UNIFIED IDEOGRAPH
+  {0x8CB2, 0x9E78}, //1379 #CJK UNIFIED IDEOGRAPH
+  {0x8CB3, 0x5143}, //1380 #CJK UNIFIED IDEOGRAPH
+  {0x8CB4, 0x539F}, //1381 #CJK UNIFIED IDEOGRAPH
+  {0x8CB5, 0x53B3}, //1382 #CJK UNIFIED IDEOGRAPH
+  {0x8CB6, 0x5E7B}, //1383 #CJK UNIFIED IDEOGRAPH
+  {0x8CB7, 0x5F26}, //1384 #CJK UNIFIED IDEOGRAPH
+  {0x8CB8, 0x6E1B}, //1385 #CJK UNIFIED IDEOGRAPH
+  {0x8CB9, 0x6E90}, //1386 #CJK UNIFIED IDEOGRAPH
+  {0x8CBA, 0x7384}, //1387 #CJK UNIFIED IDEOGRAPH
+  {0x8CBB, 0x73FE}, //1388 #CJK UNIFIED IDEOGRAPH
+  {0x8CBC, 0x7D43}, //1389 #CJK UNIFIED IDEOGRAPH
+  {0x8CBD, 0x8237}, //1390 #CJK UNIFIED IDEOGRAPH
+  {0x8CBE, 0x8A00}, //1391 #CJK UNIFIED IDEOGRAPH
+  {0x8CBF, 0x8AFA}, //1392 #CJK UNIFIED IDEOGRAPH
+  {0x8CC0, 0x9650}, //1393 #CJK UNIFIED IDEOGRAPH
+  {0x8CC1, 0x4E4E}, //1394 #CJK UNIFIED IDEOGRAPH
+  {0x8CC2, 0x500B}, //1395 #CJK UNIFIED IDEOGRAPH
+  {0x8CC3, 0x53E4}, //1396 #CJK UNIFIED IDEOGRAPH
+  {0x8CC4, 0x547C}, //1397 #CJK UNIFIED IDEOGRAPH
+  {0x8CC5, 0x56FA}, //1398 #CJK UNIFIED IDEOGRAPH
+  {0x8CC6, 0x59D1}, //1399 #CJK UNIFIED IDEOGRAPH
+  {0x8CC7, 0x5B64}, //1400 #CJK UNIFIED IDEOGRAPH
+  {0x8CC8, 0x5DF1}, //1401 #CJK UNIFIED IDEOGRAPH
+  {0x8CC9, 0x5EAB}, //1402 #CJK UNIFIED IDEOGRAPH
+  {0x8CCA, 0x5F27}, //1403 #CJK UNIFIED IDEOGRAPH
+  {0x8CCB, 0x6238}, //1404 #CJK UNIFIED IDEOGRAPH
+  {0x8CCC, 0x6545}, //1405 #CJK UNIFIED IDEOGRAPH
+  {0x8CCD, 0x67AF}, //1406 #CJK UNIFIED IDEOGRAPH
+  {0x8CCE, 0x6E56}, //1407 #CJK UNIFIED IDEOGRAPH
+  {0x8CCF, 0x72D0}, //1408 #CJK UNIFIED IDEOGRAPH
+  {0x8CD0, 0x7CCA}, //1409 #CJK UNIFIED IDEOGRAPH
+  {0x8CD1, 0x88B4}, //1410 #CJK UNIFIED IDEOGRAPH
+  {0x8CD2, 0x80A1}, //1411 #CJK UNIFIED IDEOGRAPH
+  {0x8CD3, 0x80E1}, //1412 #CJK UNIFIED IDEOGRAPH
+  {0x8CD4, 0x83F0}, //1413 #CJK UNIFIED IDEOGRAPH
+  {0x8CD5, 0x864E}, //1414 #CJK UNIFIED IDEOGRAPH
+  {0x8CD6, 0x8A87}, //1415 #CJK UNIFIED IDEOGRAPH
+  {0x8CD7, 0x8DE8}, //1416 #CJK UNIFIED IDEOGRAPH
+  {0x8CD8, 0x9237}, //1417 #CJK UNIFIED IDEOGRAPH
+  {0x8CD9, 0x96C7}, //1418 #CJK UNIFIED IDEOGRAPH
+  {0x8CDA, 0x9867}, //1419 #CJK UNIFIED IDEOGRAPH
+  {0x8CDB, 0x9F13}, //1420 #CJK UNIFIED IDEOGRAPH
+  {0x8CDC, 0x4E94}, //1421 #CJK UNIFIED IDEOGRAPH
+  {0x8CDD, 0x4E92}, //1422 #CJK UNIFIED IDEOGRAPH
+  {0x8CDE, 0x4F0D}, //1423 #CJK UNIFIED IDEOGRAPH
+  {0x8CDF, 0x5348}, //1424 #CJK UNIFIED IDEOGRAPH
+  {0x8CE0, 0x5449}, //1425 #CJK UNIFIED IDEOGRAPH
+  {0x8CE1, 0x543E}, //1426 #CJK UNIFIED IDEOGRAPH
+  {0x8CE2, 0x5A2F}, //1427 #CJK UNIFIED IDEOGRAPH
+  {0x8CE3, 0x5F8C}, //1428 #CJK UNIFIED IDEOGRAPH
+  {0x8CE4, 0x5FA1}, //1429 #CJK UNIFIED IDEOGRAPH
+  {0x8CE5, 0x609F}, //1430 #CJK UNIFIED IDEOGRAPH
+  {0x8CE6, 0x68A7}, //1431 #CJK UNIFIED IDEOGRAPH
+  {0x8CE7, 0x6A8E}, //1432 #CJK UNIFIED IDEOGRAPH
+  {0x8CE8, 0x745A}, //1433 #CJK UNIFIED IDEOGRAPH
+  {0x8CE9, 0x7881}, //1434 #CJK UNIFIED IDEOGRAPH
+  {0x8CEA, 0x8A9E}, //1435 #CJK UNIFIED IDEOGRAPH
+  {0x8CEB, 0x8AA4}, //1436 #CJK UNIFIED IDEOGRAPH
+  {0x8CEC, 0x8B77}, //1437 #CJK UNIFIED IDEOGRAPH
+  {0x8CED, 0x9190}, //1438 #CJK UNIFIED IDEOGRAPH
+  {0x8CEE, 0x4E5E}, //1439 #CJK UNIFIED IDEOGRAPH
+  {0x8CEF, 0x9BC9}, //1440 #CJK UNIFIED IDEOGRAPH
+  {0x8CF0, 0x4EA4}, //1441 #CJK UNIFIED IDEOGRAPH
+  {0x8CF1, 0x4F7C}, //1442 #CJK UNIFIED IDEOGRAPH
+  {0x8CF2, 0x4FAF}, //1443 #CJK UNIFIED IDEOGRAPH
+  {0x8CF3, 0x5019}, //1444 #CJK UNIFIED IDEOGRAPH
+  {0x8CF4, 0x5016}, //1445 #CJK UNIFIED IDEOGRAPH
+  {0x8CF5, 0x5149}, //1446 #CJK UNIFIED IDEOGRAPH
+  {0x8CF6, 0x516C}, //1447 #CJK UNIFIED IDEOGRAPH
+  {0x8CF7, 0x529F}, //1448 #CJK UNIFIED IDEOGRAPH
+  {0x8CF8, 0x52B9}, //1449 #CJK UNIFIED IDEOGRAPH
+  {0x8CF9, 0x52FE}, //1450 #CJK UNIFIED IDEOGRAPH
+  {0x8CFA, 0x539A}, //1451 #CJK UNIFIED IDEOGRAPH
+  {0x8CFB, 0x53E3}, //1452 #CJK UNIFIED IDEOGRAPH
+  {0x8CFC, 0x5411}, //1453 #CJK UNIFIED IDEOGRAPH
+  {0x8D40, 0x540E}, //1454 #CJK UNIFIED IDEOGRAPH
+  {0x8D41, 0x5589}, //1455 #CJK UNIFIED IDEOGRAPH
+  {0x8D42, 0x5751}, //1456 #CJK UNIFIED IDEOGRAPH
+  {0x8D43, 0x57A2}, //1457 #CJK UNIFIED IDEOGRAPH
+  {0x8D44, 0x597D}, //1458 #CJK UNIFIED IDEOGRAPH
+  {0x8D45, 0x5B54}, //1459 #CJK UNIFIED IDEOGRAPH
+  {0x8D46, 0x5B5D}, //1460 #CJK UNIFIED IDEOGRAPH
+  {0x8D47, 0x5B8F}, //1461 #CJK UNIFIED IDEOGRAPH
+  {0x8D48, 0x5DE5}, //1462 #CJK UNIFIED IDEOGRAPH
+  {0x8D49, 0x5DE7}, //1463 #CJK UNIFIED IDEOGRAPH
+  {0x8D4A, 0x5DF7}, //1464 #CJK UNIFIED IDEOGRAPH
+  {0x8D4B, 0x5E78}, //1465 #CJK UNIFIED IDEOGRAPH
+  {0x8D4C, 0x5E83}, //1466 #CJK UNIFIED IDEOGRAPH
+  {0x8D4D, 0x5E9A}, //1467 #CJK UNIFIED IDEOGRAPH
+  {0x8D4E, 0x5EB7}, //1468 #CJK UNIFIED IDEOGRAPH
+  {0x8D4F, 0x5F18}, //1469 #CJK UNIFIED IDEOGRAPH
+  {0x8D50, 0x6052}, //1470 #CJK UNIFIED IDEOGRAPH
+  {0x8D51, 0x614C}, //1471 #CJK UNIFIED IDEOGRAPH
+  {0x8D52, 0x6297}, //1472 #CJK UNIFIED IDEOGRAPH
+  {0x8D53, 0x62D8}, //1473 #CJK UNIFIED IDEOGRAPH
+  {0x8D54, 0x63A7}, //1474 #CJK UNIFIED IDEOGRAPH
+  {0x8D55, 0x653B}, //1475 #CJK UNIFIED IDEOGRAPH
+  {0x8D56, 0x6602}, //1476 #CJK UNIFIED IDEOGRAPH
+  {0x8D57, 0x6643}, //1477 #CJK UNIFIED IDEOGRAPH
+  {0x8D58, 0x66F4}, //1478 #CJK UNIFIED IDEOGRAPH
+  {0x8D59, 0x676D}, //1479 #CJK UNIFIED IDEOGRAPH
+  {0x8D5A, 0x6821}, //1480 #CJK UNIFIED IDEOGRAPH
+  {0x8D5B, 0x6897}, //1481 #CJK UNIFIED IDEOGRAPH
+  {0x8D5C, 0x69CB}, //1482 #CJK UNIFIED IDEOGRAPH
+  {0x8D5D, 0x6C5F}, //1483 #CJK UNIFIED IDEOGRAPH
+  {0x8D5E, 0x6D2A}, //1484 #CJK UNIFIED IDEOGRAPH
+  {0x8D5F, 0x6D69}, //1485 #CJK UNIFIED IDEOGRAPH
+  {0x8D60, 0x6E2F}, //1486 #CJK UNIFIED IDEOGRAPH
+  {0x8D61, 0x6E9D}, //1487 #CJK UNIFIED IDEOGRAPH
+  {0x8D62, 0x7532}, //1488 #CJK UNIFIED IDEOGRAPH
+  {0x8D63, 0x7687}, //1489 #CJK UNIFIED IDEOGRAPH
+  {0x8D64, 0x786C}, //1490 #CJK UNIFIED IDEOGRAPH
+  {0x8D65, 0x7A3F}, //1491 #CJK UNIFIED IDEOGRAPH
+  {0x8D66, 0x7CE0}, //1492 #CJK UNIFIED IDEOGRAPH
+  {0x8D67, 0x7D05}, //1493 #CJK UNIFIED IDEOGRAPH
+  {0x8D68, 0x7D18}, //1494 #CJK UNIFIED IDEOGRAPH
+  {0x8D69, 0x7D5E}, //1495 #CJK UNIFIED IDEOGRAPH
+  {0x8D6A, 0x7DB1}, //1496 #CJK UNIFIED IDEOGRAPH
+  {0x8D6B, 0x8015}, //1497 #CJK UNIFIED IDEOGRAPH
+  {0x8D6C, 0x8003}, //1498 #CJK UNIFIED IDEOGRAPH
+  {0x8D6D, 0x80AF}, //1499 #CJK UNIFIED IDEOGRAPH
+  {0x8D6E, 0x80B1}, //1500 #CJK UNIFIED IDEOGRAPH
+  {0x8D6F, 0x8154}, //1501 #CJK UNIFIED IDEOGRAPH
+  {0x8D70, 0x818F}, //1502 #CJK UNIFIED IDEOGRAPH
+  {0x8D71, 0x822A}, //1503 #CJK UNIFIED IDEOGRAPH
+  {0x8D72, 0x8352}, //1504 #CJK UNIFIED IDEOGRAPH
+  {0x8D73, 0x884C}, //1505 #CJK UNIFIED IDEOGRAPH
+  {0x8D74, 0x8861}, //1506 #CJK UNIFIED IDEOGRAPH
+  {0x8D75, 0x8B1B}, //1507 #CJK UNIFIED IDEOGRAPH
+  {0x8D76, 0x8CA2}, //1508 #CJK UNIFIED IDEOGRAPH
+  {0x8D77, 0x8CFC}, //1509 #CJK UNIFIED IDEOGRAPH
+  {0x8D78, 0x90CA}, //1510 #CJK UNIFIED IDEOGRAPH
+  {0x8D79, 0x9175}, //1511 #CJK UNIFIED IDEOGRAPH
+  {0x8D7A, 0x9271}, //1512 #CJK UNIFIED IDEOGRAPH
+  {0x8D7B, 0x783F}, //1513 #CJK UNIFIED IDEOGRAPH
+  {0x8D7C, 0x92FC}, //1514 #CJK UNIFIED IDEOGRAPH
+  {0x8D7D, 0x95A4}, //1515 #CJK UNIFIED IDEOGRAPH
+  {0x8D7E, 0x964D}, //1516 #CJK UNIFIED IDEOGRAPH
+  {0x8D80, 0x9805}, //1517 #CJK UNIFIED IDEOGRAPH
+  {0x8D81, 0x9999}, //1518 #CJK UNIFIED IDEOGRAPH
+  {0x8D82, 0x9AD8}, //1519 #CJK UNIFIED IDEOGRAPH
+  {0x8D83, 0x9D3B}, //1520 #CJK UNIFIED IDEOGRAPH
+  {0x8D84, 0x525B}, //1521 #CJK UNIFIED IDEOGRAPH
+  {0x8D85, 0x52AB}, //1522 #CJK UNIFIED IDEOGRAPH
+  {0x8D86, 0x53F7}, //1523 #CJK UNIFIED IDEOGRAPH
+  {0x8D87, 0x5408}, //1524 #CJK UNIFIED IDEOGRAPH
+  {0x8D88, 0x58D5}, //1525 #CJK UNIFIED IDEOGRAPH
+  {0x8D89, 0x62F7}, //1526 #CJK UNIFIED IDEOGRAPH
+  {0x8D8A, 0x6FE0}, //1527 #CJK UNIFIED IDEOGRAPH
+  {0x8D8B, 0x8C6A}, //1528 #CJK UNIFIED IDEOGRAPH
+  {0x8D8C, 0x8F5F}, //1529 #CJK UNIFIED IDEOGRAPH
+  {0x8D8D, 0x9EB9}, //1530 #CJK UNIFIED IDEOGRAPH
+  {0x8D8E, 0x514B}, //1531 #CJK UNIFIED IDEOGRAPH
+  {0x8D8F, 0x523B}, //1532 #CJK UNIFIED IDEOGRAPH
+  {0x8D90, 0x544A}, //1533 #CJK UNIFIED IDEOGRAPH
+  {0x8D91, 0x56FD}, //1534 #CJK UNIFIED IDEOGRAPH
+  {0x8D92, 0x7A40}, //1535 #CJK UNIFIED IDEOGRAPH
+  {0x8D93, 0x9177}, //1536 #CJK UNIFIED IDEOGRAPH
+  {0x8D94, 0x9D60}, //1537 #CJK UNIFIED IDEOGRAPH
+  {0x8D95, 0x9ED2}, //1538 #CJK UNIFIED IDEOGRAPH
+  {0x8D96, 0x7344}, //1539 #CJK UNIFIED IDEOGRAPH
+  {0x8D97, 0x6F09}, //1540 #CJK UNIFIED IDEOGRAPH
+  {0x8D98, 0x8170}, //1541 #CJK UNIFIED IDEOGRAPH
+  {0x8D99, 0x7511}, //1542 #CJK UNIFIED IDEOGRAPH
+  {0x8D9A, 0x5FFD}, //1543 #CJK UNIFIED IDEOGRAPH
+  {0x8D9B, 0x60DA}, //1544 #CJK UNIFIED IDEOGRAPH
+  {0x8D9C, 0x9AA8}, //1545 #CJK UNIFIED IDEOGRAPH
+  {0x8D9D, 0x72DB}, //1546 #CJK UNIFIED IDEOGRAPH
+  {0x8D9E, 0x8FBC}, //1547 #CJK UNIFIED IDEOGRAPH
+  {0x8D9F, 0x6B64}, //1548 #CJK UNIFIED IDEOGRAPH
+  {0x8DA0, 0x9803}, //1549 #CJK UNIFIED IDEOGRAPH
+  {0x8DA1, 0x4ECA}, //1550 #CJK UNIFIED IDEOGRAPH
+  {0x8DA2, 0x56F0}, //1551 #CJK UNIFIED IDEOGRAPH
+  {0x8DA3, 0x5764}, //1552 #CJK UNIFIED IDEOGRAPH
+  {0x8DA4, 0x58BE}, //1553 #CJK UNIFIED IDEOGRAPH
+  {0x8DA5, 0x5A5A}, //1554 #CJK UNIFIED IDEOGRAPH
+  {0x8DA6, 0x6068}, //1555 #CJK UNIFIED IDEOGRAPH
+  {0x8DA7, 0x61C7}, //1556 #CJK UNIFIED IDEOGRAPH
+  {0x8DA8, 0x660F}, //1557 #CJK UNIFIED IDEOGRAPH
+  {0x8DA9, 0x6606}, //1558 #CJK UNIFIED IDEOGRAPH
+  {0x8DAA, 0x6839}, //1559 #CJK UNIFIED IDEOGRAPH
+  {0x8DAB, 0x68B1}, //1560 #CJK UNIFIED IDEOGRAPH
+  {0x8DAC, 0x6DF7}, //1561 #CJK UNIFIED IDEOGRAPH
+  {0x8DAD, 0x75D5}, //1562 #CJK UNIFIED IDEOGRAPH
+  {0x8DAE, 0x7D3A}, //1563 #CJK UNIFIED IDEOGRAPH
+  {0x8DAF, 0x826E}, //1564 #CJK UNIFIED IDEOGRAPH
+  {0x8DB0, 0x9B42}, //1565 #CJK UNIFIED IDEOGRAPH
+  {0x8DB1, 0x4E9B}, //1566 #CJK UNIFIED IDEOGRAPH
+  {0x8DB2, 0x4F50}, //1567 #CJK UNIFIED IDEOGRAPH
+  {0x8DB3, 0x53C9}, //1568 #CJK UNIFIED IDEOGRAPH
+  {0x8DB4, 0x5506}, //1569 #CJK UNIFIED IDEOGRAPH
+  {0x8DB5, 0x5D6F}, //1570 #CJK UNIFIED IDEOGRAPH
+  {0x8DB6, 0x5DE6}, //1571 #CJK UNIFIED IDEOGRAPH
+  {0x8DB7, 0x5DEE}, //1572 #CJK UNIFIED IDEOGRAPH
+  {0x8DB8, 0x67FB}, //1573 #CJK UNIFIED IDEOGRAPH
+  {0x8DB9, 0x6C99}, //1574 #CJK UNIFIED IDEOGRAPH
+  {0x8DBA, 0x7473}, //1575 #CJK UNIFIED IDEOGRAPH
+  {0x8DBB, 0x7802}, //1576 #CJK UNIFIED IDEOGRAPH
+  {0x8DBC, 0x8A50}, //1577 #CJK UNIFIED IDEOGRAPH
+  {0x8DBD, 0x9396}, //1578 #CJK UNIFIED IDEOGRAPH
+  {0x8DBE, 0x88DF}, //1579 #CJK UNIFIED IDEOGRAPH
+  {0x8DBF, 0x5750}, //1580 #CJK UNIFIED IDEOGRAPH
+  {0x8DC0, 0x5EA7}, //1581 #CJK UNIFIED IDEOGRAPH
+  {0x8DC1, 0x632B}, //1582 #CJK UNIFIED IDEOGRAPH
+  {0x8DC2, 0x50B5}, //1583 #CJK UNIFIED IDEOGRAPH
+  {0x8DC3, 0x50AC}, //1584 #CJK UNIFIED IDEOGRAPH
+  {0x8DC4, 0x518D}, //1585 #CJK UNIFIED IDEOGRAPH
+  {0x8DC5, 0x6700}, //1586 #CJK UNIFIED IDEOGRAPH
+  {0x8DC6, 0x54C9}, //1587 #CJK UNIFIED IDEOGRAPH
+  {0x8DC7, 0x585E}, //1588 #CJK UNIFIED IDEOGRAPH
+  {0x8DC8, 0x59BB}, //1589 #CJK UNIFIED IDEOGRAPH
+  {0x8DC9, 0x5BB0}, //1590 #CJK UNIFIED IDEOGRAPH
+  {0x8DCA, 0x5F69}, //1591 #CJK UNIFIED IDEOGRAPH
+  {0x8DCB, 0x624D}, //1592 #CJK UNIFIED IDEOGRAPH
+  {0x8DCC, 0x63A1}, //1593 #CJK UNIFIED IDEOGRAPH
+  {0x8DCD, 0x683D}, //1594 #CJK UNIFIED IDEOGRAPH
+  {0x8DCE, 0x6B73}, //1595 #CJK UNIFIED IDEOGRAPH
+  {0x8DCF, 0x6E08}, //1596 #CJK UNIFIED IDEOGRAPH
+  {0x8DD0, 0x707D}, //1597 #CJK UNIFIED IDEOGRAPH
+  {0x8DD1, 0x91C7}, //1598 #CJK UNIFIED IDEOGRAPH
+  {0x8DD2, 0x7280}, //1599 #CJK UNIFIED IDEOGRAPH
+  {0x8DD3, 0x7815}, //1600 #CJK UNIFIED IDEOGRAPH
+  {0x8DD4, 0x7826}, //1601 #CJK UNIFIED IDEOGRAPH
+  {0x8DD5, 0x796D}, //1602 #CJK UNIFIED IDEOGRAPH
+  {0x8DD6, 0x658E}, //1603 #CJK UNIFIED IDEOGRAPH
+  {0x8DD7, 0x7D30}, //1604 #CJK UNIFIED IDEOGRAPH
+  {0x8DD8, 0x83DC}, //1605 #CJK UNIFIED IDEOGRAPH
+  {0x8DD9, 0x88C1}, //1606 #CJK UNIFIED IDEOGRAPH
+  {0x8DDA, 0x8F09}, //1607 #CJK UNIFIED IDEOGRAPH
+  {0x8DDB, 0x969B}, //1608 #CJK UNIFIED IDEOGRAPH
+  {0x8DDC, 0x5264}, //1609 #CJK UNIFIED IDEOGRAPH
+  {0x8DDD, 0x5728}, //1610 #CJK UNIFIED IDEOGRAPH
+  {0x8DDE, 0x6750}, //1611 #CJK UNIFIED IDEOGRAPH
+  {0x8DDF, 0x7F6A}, //1612 #CJK UNIFIED IDEOGRAPH
+  {0x8DE0, 0x8CA1}, //1613 #CJK UNIFIED IDEOGRAPH
+  {0x8DE1, 0x51B4}, //1614 #CJK UNIFIED IDEOGRAPH
+  {0x8DE2, 0x5742}, //1615 #CJK UNIFIED IDEOGRAPH
+  {0x8DE3, 0x962A}, //1616 #CJK UNIFIED IDEOGRAPH
+  {0x8DE4, 0x583A}, //1617 #CJK UNIFIED IDEOGRAPH
+  {0x8DE5, 0x698A}, //1618 #CJK UNIFIED IDEOGRAPH
+  {0x8DE6, 0x80B4}, //1619 #CJK UNIFIED IDEOGRAPH
+  {0x8DE7, 0x54B2}, //1620 #CJK UNIFIED IDEOGRAPH
+  {0x8DE8, 0x5D0E}, //1621 #CJK UNIFIED IDEOGRAPH
+  {0x8DE9, 0x57FC}, //1622 #CJK UNIFIED IDEOGRAPH
+  {0x8DEA, 0x7895}, //1623 #CJK UNIFIED IDEOGRAPH
+  {0x8DEB, 0x9DFA}, //1624 #CJK UNIFIED IDEOGRAPH
+  {0x8DEC, 0x4F5C}, //1625 #CJK UNIFIED IDEOGRAPH
+  {0x8DED, 0x524A}, //1626 #CJK UNIFIED IDEOGRAPH
+  {0x8DEE, 0x548B}, //1627 #CJK UNIFIED IDEOGRAPH
+  {0x8DEF, 0x643E}, //1628 #CJK UNIFIED IDEOGRAPH
+  {0x8DF0, 0x6628}, //1629 #CJK UNIFIED IDEOGRAPH
+  {0x8DF1, 0x6714}, //1630 #CJK UNIFIED IDEOGRAPH
+  {0x8DF2, 0x67F5}, //1631 #CJK UNIFIED IDEOGRAPH
+  {0x8DF3, 0x7A84}, //1632 #CJK UNIFIED IDEOGRAPH
+  {0x8DF4, 0x7B56}, //1633 #CJK UNIFIED IDEOGRAPH
+  {0x8DF5, 0x7D22}, //1634 #CJK UNIFIED IDEOGRAPH
+  {0x8DF6, 0x932F}, //1635 #CJK UNIFIED IDEOGRAPH
+  {0x8DF7, 0x685C}, //1636 #CJK UNIFIED IDEOGRAPH
+  {0x8DF8, 0x9BAD}, //1637 #CJK UNIFIED IDEOGRAPH
+  {0x8DF9, 0x7B39}, //1638 #CJK UNIFIED IDEOGRAPH
+  {0x8DFA, 0x5319}, //1639 #CJK UNIFIED IDEOGRAPH
+  {0x8DFB, 0x518A}, //1640 #CJK UNIFIED IDEOGRAPH
+  {0x8DFC, 0x5237}, //1641 #CJK UNIFIED IDEOGRAPH
+  {0x8E40, 0x5BDF}, //1642 #CJK UNIFIED IDEOGRAPH
+  {0x8E41, 0x62F6}, //1643 #CJK UNIFIED IDEOGRAPH
+  {0x8E42, 0x64AE}, //1644 #CJK UNIFIED IDEOGRAPH
+  {0x8E43, 0x64E6}, //1645 #CJK UNIFIED IDEOGRAPH
+  {0x8E44, 0x672D}, //1646 #CJK UNIFIED IDEOGRAPH
+  {0x8E45, 0x6BBA}, //1647 #CJK UNIFIED IDEOGRAPH
+  {0x8E46, 0x85A9}, //1648 #CJK UNIFIED IDEOGRAPH
+  {0x8E47, 0x96D1}, //1649 #CJK UNIFIED IDEOGRAPH
+  {0x8E48, 0x7690}, //1650 #CJK UNIFIED IDEOGRAPH
+  {0x8E49, 0x9BD6}, //1651 #CJK UNIFIED IDEOGRAPH
+  {0x8E4A, 0x634C}, //1652 #CJK UNIFIED IDEOGRAPH
+  {0x8E4B, 0x9306}, //1653 #CJK UNIFIED IDEOGRAPH
+  {0x8E4C, 0x9BAB}, //1654 #CJK UNIFIED IDEOGRAPH
+  {0x8E4D, 0x76BF}, //1655 #CJK UNIFIED IDEOGRAPH
+  {0x8E4E, 0x6652}, //1656 #CJK UNIFIED IDEOGRAPH
+  {0x8E4F, 0x4E09}, //1657 #CJK UNIFIED IDEOGRAPH
+  {0x8E50, 0x5098}, //1658 #CJK UNIFIED IDEOGRAPH
+  {0x8E51, 0x53C2}, //1659 #CJK UNIFIED IDEOGRAPH
+  {0x8E52, 0x5C71}, //1660 #CJK UNIFIED IDEOGRAPH
+  {0x8E53, 0x60E8}, //1661 #CJK UNIFIED IDEOGRAPH
+  {0x8E54, 0x6492}, //1662 #CJK UNIFIED IDEOGRAPH
+  {0x8E55, 0x6563}, //1663 #CJK UNIFIED IDEOGRAPH
+  {0x8E56, 0x685F}, //1664 #CJK UNIFIED IDEOGRAPH
+  {0x8E57, 0x71E6}, //1665 #CJK UNIFIED IDEOGRAPH
+  {0x8E58, 0x73CA}, //1666 #CJK UNIFIED IDEOGRAPH
+  {0x8E59, 0x7523}, //1667 #CJK UNIFIED IDEOGRAPH
+  {0x8E5A, 0x7B97}, //1668 #CJK UNIFIED IDEOGRAPH
+  {0x8E5B, 0x7E82}, //1669 #CJK UNIFIED IDEOGRAPH
+  {0x8E5C, 0x8695}, //1670 #CJK UNIFIED IDEOGRAPH
+  {0x8E5D, 0x8B83}, //1671 #CJK UNIFIED IDEOGRAPH
+  {0x8E5E, 0x8CDB}, //1672 #CJK UNIFIED IDEOGRAPH
+  {0x8E5F, 0x9178}, //1673 #CJK UNIFIED IDEOGRAPH
+  {0x8E60, 0x9910}, //1674 #CJK UNIFIED IDEOGRAPH
+  {0x8E61, 0x65AC}, //1675 #CJK UNIFIED IDEOGRAPH
+  {0x8E62, 0x66AB}, //1676 #CJK UNIFIED IDEOGRAPH
+  {0x8E63, 0x6B8B}, //1677 #CJK UNIFIED IDEOGRAPH
+  {0x8E64, 0x4ED5}, //1678 #CJK UNIFIED IDEOGRAPH
+  {0x8E65, 0x4ED4}, //1679 #CJK UNIFIED IDEOGRAPH
+  {0x8E66, 0x4F3A}, //1680 #CJK UNIFIED IDEOGRAPH
+  {0x8E67, 0x4F7F}, //1681 #CJK UNIFIED IDEOGRAPH
+  {0x8E68, 0x523A}, //1682 #CJK UNIFIED IDEOGRAPH
+  {0x8E69, 0x53F8}, //1683 #CJK UNIFIED IDEOGRAPH
+  {0x8E6A, 0x53F2}, //1684 #CJK UNIFIED IDEOGRAPH
+  {0x8E6B, 0x55E3}, //1685 #CJK UNIFIED IDEOGRAPH
+  {0x8E6C, 0x56DB}, //1686 #CJK UNIFIED IDEOGRAPH
+  {0x8E6D, 0x58EB}, //1687 #CJK UNIFIED IDEOGRAPH
+  {0x8E6E, 0x59CB}, //1688 #CJK UNIFIED IDEOGRAPH
+  {0x8E6F, 0x59C9}, //1689 #CJK UNIFIED IDEOGRAPH
+  {0x8E70, 0x59FF}, //1690 #CJK UNIFIED IDEOGRAPH
+  {0x8E71, 0x5B50}, //1691 #CJK UNIFIED IDEOGRAPH
+  {0x8E72, 0x5C4D}, //1692 #CJK UNIFIED IDEOGRAPH
+  {0x8E73, 0x5E02}, //1693 #CJK UNIFIED IDEOGRAPH
+  {0x8E74, 0x5E2B}, //1694 #CJK UNIFIED IDEOGRAPH
+  {0x8E75, 0x5FD7}, //1695 #CJK UNIFIED IDEOGRAPH
+  {0x8E76, 0x601D}, //1696 #CJK UNIFIED IDEOGRAPH
+  {0x8E77, 0x6307}, //1697 #CJK UNIFIED IDEOGRAPH
+  {0x8E78, 0x652F}, //1698 #CJK UNIFIED IDEOGRAPH
+  {0x8E79, 0x5B5C}, //1699 #CJK UNIFIED IDEOGRAPH
+  {0x8E7A, 0x65AF}, //1700 #CJK UNIFIED IDEOGRAPH
+  {0x8E7B, 0x65BD}, //1701 #CJK UNIFIED IDEOGRAPH
+  {0x8E7C, 0x65E8}, //1702 #CJK UNIFIED IDEOGRAPH
+  {0x8E7D, 0x679D}, //1703 #CJK UNIFIED IDEOGRAPH
+  {0x8E7E, 0x6B62}, //1704 #CJK UNIFIED IDEOGRAPH
+  {0x8E80, 0x6B7B}, //1705 #CJK UNIFIED IDEOGRAPH
+  {0x8E81, 0x6C0F}, //1706 #CJK UNIFIED IDEOGRAPH
+  {0x8E82, 0x7345}, //1707 #CJK UNIFIED IDEOGRAPH
+  {0x8E83, 0x7949}, //1708 #CJK UNIFIED IDEOGRAPH
+  {0x8E84, 0x79C1}, //1709 #CJK UNIFIED IDEOGRAPH
+  {0x8E85, 0x7CF8}, //1710 #CJK UNIFIED IDEOGRAPH
+  {0x8E86, 0x7D19}, //1711 #CJK UNIFIED IDEOGRAPH
+  {0x8E87, 0x7D2B}, //1712 #CJK UNIFIED IDEOGRAPH
+  {0x8E88, 0x80A2}, //1713 #CJK UNIFIED IDEOGRAPH
+  {0x8E89, 0x8102}, //1714 #CJK UNIFIED IDEOGRAPH
+  {0x8E8A, 0x81F3}, //1715 #CJK UNIFIED IDEOGRAPH
+  {0x8E8B, 0x8996}, //1716 #CJK UNIFIED IDEOGRAPH
+  {0x8E8C, 0x8A5E}, //1717 #CJK UNIFIED IDEOGRAPH
+  {0x8E8D, 0x8A69}, //1718 #CJK UNIFIED IDEOGRAPH
+  {0x8E8E, 0x8A66}, //1719 #CJK UNIFIED IDEOGRAPH
+  {0x8E8F, 0x8A8C}, //1720 #CJK UNIFIED IDEOGRAPH
+  {0x8E90, 0x8AEE}, //1721 #CJK UNIFIED IDEOGRAPH
+  {0x8E91, 0x8CC7}, //1722 #CJK UNIFIED IDEOGRAPH
+  {0x8E92, 0x8CDC}, //1723 #CJK UNIFIED IDEOGRAPH
+  {0x8E93, 0x96CC}, //1724 #CJK UNIFIED IDEOGRAPH
+  {0x8E94, 0x98FC}, //1725 #CJK UNIFIED IDEOGRAPH
+  {0x8E95, 0x6B6F}, //1726 #CJK UNIFIED IDEOGRAPH
+  {0x8E96, 0x4E8B}, //1727 #CJK UNIFIED IDEOGRAPH
+  {0x8E97, 0x4F3C}, //1728 #CJK UNIFIED IDEOGRAPH
+  {0x8E98, 0x4F8D}, //1729 #CJK UNIFIED IDEOGRAPH
+  {0x8E99, 0x5150}, //1730 #CJK UNIFIED IDEOGRAPH
+  {0x8E9A, 0x5B57}, //1731 #CJK UNIFIED IDEOGRAPH
+  {0x8E9B, 0x5BFA}, //1732 #CJK UNIFIED IDEOGRAPH
+  {0x8E9C, 0x6148}, //1733 #CJK UNIFIED IDEOGRAPH
+  {0x8E9D, 0x6301}, //1734 #CJK UNIFIED IDEOGRAPH
+  {0x8E9E, 0x6642}, //1735 #CJK UNIFIED IDEOGRAPH
+  {0x8E9F, 0x6B21}, //1736 #CJK UNIFIED IDEOGRAPH
+  {0x8EA0, 0x6ECB}, //1737 #CJK UNIFIED IDEOGRAPH
+  {0x8EA1, 0x6CBB}, //1738 #CJK UNIFIED IDEOGRAPH
+  {0x8EA2, 0x723E}, //1739 #CJK UNIFIED IDEOGRAPH
+  {0x8EA3, 0x74BD}, //1740 #CJK UNIFIED IDEOGRAPH
+  {0x8EA4, 0x75D4}, //1741 #CJK UNIFIED IDEOGRAPH
+  {0x8EA5, 0x78C1}, //1742 #CJK UNIFIED IDEOGRAPH
+  {0x8EA6, 0x793A}, //1743 #CJK UNIFIED IDEOGRAPH
+  {0x8EA7, 0x800C}, //1744 #CJK UNIFIED IDEOGRAPH
+  {0x8EA8, 0x8033}, //1745 #CJK UNIFIED IDEOGRAPH
+  {0x8EA9, 0x81EA}, //1746 #CJK UNIFIED IDEOGRAPH
+  {0x8EAA, 0x8494}, //1747 #CJK UNIFIED IDEOGRAPH
+  {0x8EAB, 0x8F9E}, //1748 #CJK UNIFIED IDEOGRAPH
+  {0x8EAC, 0x6C50}, //1749 #CJK UNIFIED IDEOGRAPH
+  {0x8EAD, 0x9E7F}, //1750 #CJK UNIFIED IDEOGRAPH
+  {0x8EAE, 0x5F0F}, //1751 #CJK UNIFIED IDEOGRAPH
+  {0x8EAF, 0x8B58}, //1752 #CJK UNIFIED IDEOGRAPH
+  {0x8EB0, 0x9D2B}, //1753 #CJK UNIFIED IDEOGRAPH
+  {0x8EB1, 0x7AFA}, //1754 #CJK UNIFIED IDEOGRAPH
+  {0x8EB2, 0x8EF8}, //1755 #CJK UNIFIED IDEOGRAPH
+  {0x8EB3, 0x5B8D}, //1756 #CJK UNIFIED IDEOGRAPH
+  {0x8EB4, 0x96EB}, //1757 #CJK UNIFIED IDEOGRAPH
+  {0x8EB5, 0x4E03}, //1758 #CJK UNIFIED IDEOGRAPH
+  {0x8EB6, 0x53F1}, //1759 #CJK UNIFIED IDEOGRAPH
+  {0x8EB7, 0x57F7}, //1760 #CJK UNIFIED IDEOGRAPH
+  {0x8EB8, 0x5931}, //1761 #CJK UNIFIED IDEOGRAPH
+  {0x8EB9, 0x5AC9}, //1762 #CJK UNIFIED IDEOGRAPH
+  {0x8EBA, 0x5BA4}, //1763 #CJK UNIFIED IDEOGRAPH
+  {0x8EBB, 0x6089}, //1764 #CJK UNIFIED IDEOGRAPH
+  {0x8EBC, 0x6E7F}, //1765 #CJK UNIFIED IDEOGRAPH
+  {0x8EBD, 0x6F06}, //1766 #CJK UNIFIED IDEOGRAPH
+  {0x8EBE, 0x75BE}, //1767 #CJK UNIFIED IDEOGRAPH
+  {0x8EBF, 0x8CEA}, //1768 #CJK UNIFIED IDEOGRAPH
+  {0x8EC0, 0x5B9F}, //1769 #CJK UNIFIED IDEOGRAPH
+  {0x8EC1, 0x8500}, //1770 #CJK UNIFIED IDEOGRAPH
+  {0x8EC2, 0x7BE0}, //1771 #CJK UNIFIED IDEOGRAPH
+  {0x8EC3, 0x5072}, //1772 #CJK UNIFIED IDEOGRAPH
+  {0x8EC4, 0x67F4}, //1773 #CJK UNIFIED IDEOGRAPH
+  {0x8EC5, 0x829D}, //1774 #CJK UNIFIED IDEOGRAPH
+  {0x8EC6, 0x5C61}, //1775 #CJK UNIFIED IDEOGRAPH
+  {0x8EC7, 0x854A}, //1776 #CJK UNIFIED IDEOGRAPH
+  {0x8EC8, 0x7E1E}, //1777 #CJK UNIFIED IDEOGRAPH
+  {0x8EC9, 0x820E}, //1778 #CJK UNIFIED IDEOGRAPH
+  {0x8ECA, 0x5199}, //1779 #CJK UNIFIED IDEOGRAPH
+  {0x8ECB, 0x5C04}, //1780 #CJK UNIFIED IDEOGRAPH
+  {0x8ECC, 0x6368}, //1781 #CJK UNIFIED IDEOGRAPH
+  {0x8ECD, 0x8D66}, //1782 #CJK UNIFIED IDEOGRAPH
+  {0x8ECE, 0x659C}, //1783 #CJK UNIFIED IDEOGRAPH
+  {0x8ECF, 0x716E}, //1784 #CJK UNIFIED IDEOGRAPH
+  {0x8ED0, 0x793E}, //1785 #CJK UNIFIED IDEOGRAPH
+  {0x8ED1, 0x7D17}, //1786 #CJK UNIFIED IDEOGRAPH
+  {0x8ED2, 0x8005}, //1787 #CJK UNIFIED IDEOGRAPH
+  {0x8ED3, 0x8B1D}, //1788 #CJK UNIFIED IDEOGRAPH
+  {0x8ED4, 0x8ECA}, //1789 #CJK UNIFIED IDEOGRAPH
+  {0x8ED5, 0x906E}, //1790 #CJK UNIFIED IDEOGRAPH
+  {0x8ED6, 0x86C7}, //1791 #CJK UNIFIED IDEOGRAPH
+  {0x8ED7, 0x90AA}, //1792 #CJK UNIFIED IDEOGRAPH
+  {0x8ED8, 0x501F}, //1793 #CJK UNIFIED IDEOGRAPH
+  {0x8ED9, 0x52FA}, //1794 #CJK UNIFIED IDEOGRAPH
+  {0x8EDA, 0x5C3A}, //1795 #CJK UNIFIED IDEOGRAPH
+  {0x8EDB, 0x6753}, //1796 #CJK UNIFIED IDEOGRAPH
+  {0x8EDC, 0x707C}, //1797 #CJK UNIFIED IDEOGRAPH
+  {0x8EDD, 0x7235}, //1798 #CJK UNIFIED IDEOGRAPH
+  {0x8EDE, 0x914C}, //1799 #CJK UNIFIED IDEOGRAPH
+  {0x8EDF, 0x91C8}, //1800 #CJK UNIFIED IDEOGRAPH
+  {0x8EE0, 0x932B}, //1801 #CJK UNIFIED IDEOGRAPH
+  {0x8EE1, 0x82E5}, //1802 #CJK UNIFIED IDEOGRAPH
+  {0x8EE2, 0x5BC2}, //1803 #CJK UNIFIED IDEOGRAPH
+  {0x8EE3, 0x5F31}, //1804 #CJK UNIFIED IDEOGRAPH
+  {0x8EE4, 0x60F9}, //1805 #CJK UNIFIED IDEOGRAPH
+  {0x8EE5, 0x4E3B}, //1806 #CJK UNIFIED IDEOGRAPH
+  {0x8EE6, 0x53D6}, //1807 #CJK UNIFIED IDEOGRAPH
+  {0x8EE7, 0x5B88}, //1808 #CJK UNIFIED IDEOGRAPH
+  {0x8EE8, 0x624B}, //1809 #CJK UNIFIED IDEOGRAPH
+  {0x8EE9, 0x6731}, //1810 #CJK UNIFIED IDEOGRAPH
+  {0x8EEA, 0x6B8A}, //1811 #CJK UNIFIED IDEOGRAPH
+  {0x8EEB, 0x72E9}, //1812 #CJK UNIFIED IDEOGRAPH
+  {0x8EEC, 0x73E0}, //1813 #CJK UNIFIED IDEOGRAPH
+  {0x8EED, 0x7A2E}, //1814 #CJK UNIFIED IDEOGRAPH
+  {0x8EEE, 0x816B}, //1815 #CJK UNIFIED IDEOGRAPH
+  {0x8EEF, 0x8DA3}, //1816 #CJK UNIFIED IDEOGRAPH
+  {0x8EF0, 0x9152}, //1817 #CJK UNIFIED IDEOGRAPH
+  {0x8EF1, 0x9996}, //1818 #CJK UNIFIED IDEOGRAPH
+  {0x8EF2, 0x5112}, //1819 #CJK UNIFIED IDEOGRAPH
+  {0x8EF3, 0x53D7}, //1820 #CJK UNIFIED IDEOGRAPH
+  {0x8EF4, 0x546A}, //1821 #CJK UNIFIED IDEOGRAPH
+  {0x8EF5, 0x5BFF}, //1822 #CJK UNIFIED IDEOGRAPH
+  {0x8EF6, 0x6388}, //1823 #CJK UNIFIED IDEOGRAPH
+  {0x8EF7, 0x6A39}, //1824 #CJK UNIFIED IDEOGRAPH
+  {0x8EF8, 0x7DAC}, //1825 #CJK UNIFIED IDEOGRAPH
+  {0x8EF9, 0x9700}, //1826 #CJK UNIFIED IDEOGRAPH
+  {0x8EFA, 0x56DA}, //1827 #CJK UNIFIED IDEOGRAPH
+  {0x8EFB, 0x53CE}, //1828 #CJK UNIFIED IDEOGRAPH
+  {0x8EFC, 0x5468}, //1829 #CJK UNIFIED IDEOGRAPH
+  {0x8F40, 0x5B97}, //1830 #CJK UNIFIED IDEOGRAPH
+  {0x8F41, 0x5C31}, //1831 #CJK UNIFIED IDEOGRAPH
+  {0x8F42, 0x5DDE}, //1832 #CJK UNIFIED IDEOGRAPH
+  {0x8F43, 0x4FEE}, //1833 #CJK UNIFIED IDEOGRAPH
+  {0x8F44, 0x6101}, //1834 #CJK UNIFIED IDEOGRAPH
+  {0x8F45, 0x62FE}, //1835 #CJK UNIFIED IDEOGRAPH
+  {0x8F46, 0x6D32}, //1836 #CJK UNIFIED IDEOGRAPH
+  {0x8F47, 0x79C0}, //1837 #CJK UNIFIED IDEOGRAPH
+  {0x8F48, 0x79CB}, //1838 #CJK UNIFIED IDEOGRAPH
+  {0x8F49, 0x7D42}, //1839 #CJK UNIFIED IDEOGRAPH
+  {0x8F4A, 0x7E4D}, //1840 #CJK UNIFIED IDEOGRAPH
+  {0x8F4B, 0x7FD2}, //1841 #CJK UNIFIED IDEOGRAPH
+  {0x8F4C, 0x81ED}, //1842 #CJK UNIFIED IDEOGRAPH
+  {0x8F4D, 0x821F}, //1843 #CJK UNIFIED IDEOGRAPH
+  {0x8F4E, 0x8490}, //1844 #CJK UNIFIED IDEOGRAPH
+  {0x8F4F, 0x8846}, //1845 #CJK UNIFIED IDEOGRAPH
+  {0x8F50, 0x8972}, //1846 #CJK UNIFIED IDEOGRAPH
+  {0x8F51, 0x8B90}, //1847 #CJK UNIFIED IDEOGRAPH
+  {0x8F52, 0x8E74}, //1848 #CJK UNIFIED IDEOGRAPH
+  {0x8F53, 0x8F2F}, //1849 #CJK UNIFIED IDEOGRAPH
+  {0x8F54, 0x9031}, //1850 #CJK UNIFIED IDEOGRAPH
+  {0x8F55, 0x914B}, //1851 #CJK UNIFIED IDEOGRAPH
+  {0x8F56, 0x916C}, //1852 #CJK UNIFIED IDEOGRAPH
+  {0x8F57, 0x96C6}, //1853 #CJK UNIFIED IDEOGRAPH
+  {0x8F58, 0x919C}, //1854 #CJK UNIFIED IDEOGRAPH
+  {0x8F59, 0x4EC0}, //1855 #CJK UNIFIED IDEOGRAPH
+  {0x8F5A, 0x4F4F}, //1856 #CJK UNIFIED IDEOGRAPH
+  {0x8F5B, 0x5145}, //1857 #CJK UNIFIED IDEOGRAPH
+  {0x8F5C, 0x5341}, //1858 #CJK UNIFIED IDEOGRAPH
+  {0x8F5D, 0x5F93}, //1859 #CJK UNIFIED IDEOGRAPH
+  {0x8F5E, 0x620E}, //1860 #CJK UNIFIED IDEOGRAPH
+  {0x8F5F, 0x67D4}, //1861 #CJK UNIFIED IDEOGRAPH
+  {0x8F60, 0x6C41}, //1862 #CJK UNIFIED IDEOGRAPH
+  {0x8F61, 0x6E0B}, //1863 #CJK UNIFIED IDEOGRAPH
+  {0x8F62, 0x7363}, //1864 #CJK UNIFIED IDEOGRAPH
+  {0x8F63, 0x7E26}, //1865 #CJK UNIFIED IDEOGRAPH
+  {0x8F64, 0x91CD}, //1866 #CJK UNIFIED IDEOGRAPH
+  {0x8F65, 0x9283}, //1867 #CJK UNIFIED IDEOGRAPH
+  {0x8F66, 0x53D4}, //1868 #CJK UNIFIED IDEOGRAPH
+  {0x8F67, 0x5919}, //1869 #CJK UNIFIED IDEOGRAPH
+  {0x8F68, 0x5BBF}, //1870 #CJK UNIFIED IDEOGRAPH
+  {0x8F69, 0x6DD1}, //1871 #CJK UNIFIED IDEOGRAPH
+  {0x8F6A, 0x795D}, //1872 #CJK UNIFIED IDEOGRAPH
+  {0x8F6B, 0x7E2E}, //1873 #CJK UNIFIED IDEOGRAPH
+  {0x8F6C, 0x7C9B}, //1874 #CJK UNIFIED IDEOGRAPH
+  {0x8F6D, 0x587E}, //1875 #CJK UNIFIED IDEOGRAPH
+  {0x8F6E, 0x719F}, //1876 #CJK UNIFIED IDEOGRAPH
+  {0x8F6F, 0x51FA}, //1877 #CJK UNIFIED IDEOGRAPH
+  {0x8F70, 0x8853}, //1878 #CJK UNIFIED IDEOGRAPH
+  {0x8F71, 0x8FF0}, //1879 #CJK UNIFIED IDEOGRAPH
+  {0x8F72, 0x4FCA}, //1880 #CJK UNIFIED IDEOGRAPH
+  {0x8F73, 0x5CFB}, //1881 #CJK UNIFIED IDEOGRAPH
+  {0x8F74, 0x6625}, //1882 #CJK UNIFIED IDEOGRAPH
+  {0x8F75, 0x77AC}, //1883 #CJK UNIFIED IDEOGRAPH
+  {0x8F76, 0x7AE3}, //1884 #CJK UNIFIED IDEOGRAPH
+  {0x8F77, 0x821C}, //1885 #CJK UNIFIED IDEOGRAPH
+  {0x8F78, 0x99FF}, //1886 #CJK UNIFIED IDEOGRAPH
+  {0x8F79, 0x51C6}, //1887 #CJK UNIFIED IDEOGRAPH
+  {0x8F7A, 0x5FAA}, //1888 #CJK UNIFIED IDEOGRAPH
+  {0x8F7B, 0x65EC}, //1889 #CJK UNIFIED IDEOGRAPH
+  {0x8F7C, 0x696F}, //1890 #CJK UNIFIED IDEOGRAPH
+  {0x8F7D, 0x6B89}, //1891 #CJK UNIFIED IDEOGRAPH
+  {0x8F7E, 0x6DF3}, //1892 #CJK UNIFIED IDEOGRAPH
+  {0x8F80, 0x6E96}, //1893 #CJK UNIFIED IDEOGRAPH
+  {0x8F81, 0x6F64}, //1894 #CJK UNIFIED IDEOGRAPH
+  {0x8F82, 0x76FE}, //1895 #CJK UNIFIED IDEOGRAPH
+  {0x8F83, 0x7D14}, //1896 #CJK UNIFIED IDEOGRAPH
+  {0x8F84, 0x5DE1}, //1897 #CJK UNIFIED IDEOGRAPH
+  {0x8F85, 0x9075}, //1898 #CJK UNIFIED IDEOGRAPH
+  {0x8F86, 0x9187}, //1899 #CJK UNIFIED IDEOGRAPH
+  {0x8F87, 0x9806}, //1900 #CJK UNIFIED IDEOGRAPH
+  {0x8F88, 0x51E6}, //1901 #CJK UNIFIED IDEOGRAPH
+  {0x8F89, 0x521D}, //1902 #CJK UNIFIED IDEOGRAPH
+  {0x8F8A, 0x6240}, //1903 #CJK UNIFIED IDEOGRAPH
+  {0x8F8B, 0x6691}, //1904 #CJK UNIFIED IDEOGRAPH
+  {0x8F8C, 0x66D9}, //1905 #CJK UNIFIED IDEOGRAPH
+  {0x8F8D, 0x6E1A}, //1906 #CJK UNIFIED IDEOGRAPH
+  {0x8F8E, 0x5EB6}, //1907 #CJK UNIFIED IDEOGRAPH
+  {0x8F8F, 0x7DD2}, //1908 #CJK UNIFIED IDEOGRAPH
+  {0x8F90, 0x7F72}, //1909 #CJK UNIFIED IDEOGRAPH
+  {0x8F91, 0x66F8}, //1910 #CJK UNIFIED IDEOGRAPH
+  {0x8F92, 0x85AF}, //1911 #CJK UNIFIED IDEOGRAPH
+  {0x8F93, 0x85F7}, //1912 #CJK UNIFIED IDEOGRAPH
+  {0x8F94, 0x8AF8}, //1913 #CJK UNIFIED IDEOGRAPH
+  {0x8F95, 0x52A9}, //1914 #CJK UNIFIED IDEOGRAPH
+  {0x8F96, 0x53D9}, //1915 #CJK UNIFIED IDEOGRAPH
+  {0x8F97, 0x5973}, //1916 #CJK UNIFIED IDEOGRAPH
+  {0x8F98, 0x5E8F}, //1917 #CJK UNIFIED IDEOGRAPH
+  {0x8F99, 0x5F90}, //1918 #CJK UNIFIED IDEOGRAPH
+  {0x8F9A, 0x6055}, //1919 #CJK UNIFIED IDEOGRAPH
+  {0x8F9B, 0x92E4}, //1920 #CJK UNIFIED IDEOGRAPH
+  {0x8F9C, 0x9664}, //1921 #CJK UNIFIED IDEOGRAPH
+  {0x8F9D, 0x50B7}, //1922 #CJK UNIFIED IDEOGRAPH
+  {0x8F9E, 0x511F}, //1923 #CJK UNIFIED IDEOGRAPH
+  {0x8F9F, 0x52DD}, //1924 #CJK UNIFIED IDEOGRAPH
+  {0x8FA0, 0x5320}, //1925 #CJK UNIFIED IDEOGRAPH
+  {0x8FA1, 0x5347}, //1926 #CJK UNIFIED IDEOGRAPH
+  {0x8FA2, 0x53EC}, //1927 #CJK UNIFIED IDEOGRAPH
+  {0x8FA3, 0x54E8}, //1928 #CJK UNIFIED IDEOGRAPH
+  {0x8FA4, 0x5546}, //1929 #CJK UNIFIED IDEOGRAPH
+  {0x8FA5, 0x5531}, //1930 #CJK UNIFIED IDEOGRAPH
+  {0x8FA6, 0x5617}, //1931 #CJK UNIFIED IDEOGRAPH
+  {0x8FA7, 0x5968}, //1932 #CJK UNIFIED IDEOGRAPH
+  {0x8FA8, 0x59BE}, //1933 #CJK UNIFIED IDEOGRAPH
+  {0x8FA9, 0x5A3C}, //1934 #CJK UNIFIED IDEOGRAPH
+  {0x8FAA, 0x5BB5}, //1935 #CJK UNIFIED IDEOGRAPH
+  {0x8FAB, 0x5C06}, //1936 #CJK UNIFIED IDEOGRAPH
+  {0x8FAC, 0x5C0F}, //1937 #CJK UNIFIED IDEOGRAPH
+  {0x8FAD, 0x5C11}, //1938 #CJK UNIFIED IDEOGRAPH
+  {0x8FAE, 0x5C1A}, //1939 #CJK UNIFIED IDEOGRAPH
+  {0x8FAF, 0x5E84}, //1940 #CJK UNIFIED IDEOGRAPH
+  {0x8FB0, 0x5E8A}, //1941 #CJK UNIFIED IDEOGRAPH
+  {0x8FB1, 0x5EE0}, //1942 #CJK UNIFIED IDEOGRAPH
+  {0x8FB2, 0x5F70}, //1943 #CJK UNIFIED IDEOGRAPH
+  {0x8FB3, 0x627F}, //1944 #CJK UNIFIED IDEOGRAPH
+  {0x8FB4, 0x6284}, //1945 #CJK UNIFIED IDEOGRAPH
+  {0x8FB5, 0x62DB}, //1946 #CJK UNIFIED IDEOGRAPH
+  {0x8FB6, 0x638C}, //1947 #CJK UNIFIED IDEOGRAPH
+  {0x8FB7, 0x6377}, //1948 #CJK UNIFIED IDEOGRAPH
+  {0x8FB8, 0x6607}, //1949 #CJK UNIFIED IDEOGRAPH
+  {0x8FB9, 0x660C}, //1950 #CJK UNIFIED IDEOGRAPH
+  {0x8FBA, 0x662D}, //1951 #CJK UNIFIED IDEOGRAPH
+  {0x8FBB, 0x6676}, //1952 #CJK UNIFIED IDEOGRAPH
+  {0x8FBC, 0x677E}, //1953 #CJK UNIFIED IDEOGRAPH
+  {0x8FBD, 0x68A2}, //1954 #CJK UNIFIED IDEOGRAPH
+  {0x8FBE, 0x6A1F}, //1955 #CJK UNIFIED IDEOGRAPH
+  {0x8FBF, 0x6A35}, //1956 #CJK UNIFIED IDEOGRAPH
+  {0x8FC0, 0x6CBC}, //1957 #CJK UNIFIED IDEOGRAPH
+  {0x8FC1, 0x6D88}, //1958 #CJK UNIFIED IDEOGRAPH
+  {0x8FC2, 0x6E09}, //1959 #CJK UNIFIED IDEOGRAPH
+  {0x8FC3, 0x6E58}, //1960 #CJK UNIFIED IDEOGRAPH
+  {0x8FC4, 0x713C}, //1961 #CJK UNIFIED IDEOGRAPH
+  {0x8FC5, 0x7126}, //1962 #CJK UNIFIED IDEOGRAPH
+  {0x8FC6, 0x7167}, //1963 #CJK UNIFIED IDEOGRAPH
+  {0x8FC7, 0x75C7}, //1964 #CJK UNIFIED IDEOGRAPH
+  {0x8FC8, 0x7701}, //1965 #CJK UNIFIED IDEOGRAPH
+  {0x8FC9, 0x785D}, //1966 #CJK UNIFIED IDEOGRAPH
+  {0x8FCA, 0x7901}, //1967 #CJK UNIFIED IDEOGRAPH
+  {0x8FCB, 0x7965}, //1968 #CJK UNIFIED IDEOGRAPH
+  {0x8FCC, 0x79F0}, //1969 #CJK UNIFIED IDEOGRAPH
+  {0x8FCD, 0x7AE0}, //1970 #CJK UNIFIED IDEOGRAPH
+  {0x8FCE, 0x7B11}, //1971 #CJK UNIFIED IDEOGRAPH
+  {0x8FCF, 0x7CA7}, //1972 #CJK UNIFIED IDEOGRAPH
+  {0x8FD0, 0x7D39}, //1973 #CJK UNIFIED IDEOGRAPH
+  {0x8FD1, 0x8096}, //1974 #CJK UNIFIED IDEOGRAPH
+  {0x8FD2, 0x83D6}, //1975 #CJK UNIFIED IDEOGRAPH
+  {0x8FD3, 0x848B}, //1976 #CJK UNIFIED IDEOGRAPH
+  {0x8FD4, 0x8549}, //1977 #CJK UNIFIED IDEOGRAPH
+  {0x8FD5, 0x885D}, //1978 #CJK UNIFIED IDEOGRAPH
+  {0x8FD6, 0x88F3}, //1979 #CJK UNIFIED IDEOGRAPH
+  {0x8FD7, 0x8A1F}, //1980 #CJK UNIFIED IDEOGRAPH
+  {0x8FD8, 0x8A3C}, //1981 #CJK UNIFIED IDEOGRAPH
+  {0x8FD9, 0x8A54}, //1982 #CJK UNIFIED IDEOGRAPH
+  {0x8FDA, 0x8A73}, //1983 #CJK UNIFIED IDEOGRAPH
+  {0x8FDB, 0x8C61}, //1984 #CJK UNIFIED IDEOGRAPH
+  {0x8FDC, 0x8CDE}, //1985 #CJK UNIFIED IDEOGRAPH
+  {0x8FDD, 0x91A4}, //1986 #CJK UNIFIED IDEOGRAPH
+  {0x8FDE, 0x9266}, //1987 #CJK UNIFIED IDEOGRAPH
+  {0x8FDF, 0x937E}, //1988 #CJK UNIFIED IDEOGRAPH
+  {0x8FE0, 0x9418}, //1989 #CJK UNIFIED IDEOGRAPH
+  {0x8FE1, 0x969C}, //1990 #CJK UNIFIED IDEOGRAPH
+  {0x8FE2, 0x9798}, //1991 #CJK UNIFIED IDEOGRAPH
+  {0x8FE3, 0x4E0A}, //1992 #CJK UNIFIED IDEOGRAPH
+  {0x8FE4, 0x4E08}, //1993 #CJK UNIFIED IDEOGRAPH
+  {0x8FE5, 0x4E1E}, //1994 #CJK UNIFIED IDEOGRAPH
+  {0x8FE6, 0x4E57}, //1995 #CJK UNIFIED IDEOGRAPH
+  {0x8FE7, 0x5197}, //1996 #CJK UNIFIED IDEOGRAPH
+  {0x8FE8, 0x5270}, //1997 #CJK UNIFIED IDEOGRAPH
+  {0x8FE9, 0x57CE}, //1998 #CJK UNIFIED IDEOGRAPH
+  {0x8FEA, 0x5834}, //1999 #CJK UNIFIED IDEOGRAPH
+  {0x8FEB, 0x58CC}, //2000 #CJK UNIFIED IDEOGRAPH
+  {0x8FEC, 0x5B22}, //2001 #CJK UNIFIED IDEOGRAPH
+  {0x8FED, 0x5E38}, //2002 #CJK UNIFIED IDEOGRAPH
+  {0x8FEE, 0x60C5}, //2003 #CJK UNIFIED IDEOGRAPH
+  {0x8FEF, 0x64FE}, //2004 #CJK UNIFIED IDEOGRAPH
+  {0x8FF0, 0x6761}, //2005 #CJK UNIFIED IDEOGRAPH
+  {0x8FF1, 0x6756}, //2006 #CJK UNIFIED IDEOGRAPH
+  {0x8FF2, 0x6D44}, //2007 #CJK UNIFIED IDEOGRAPH
+  {0x8FF3, 0x72B6}, //2008 #CJK UNIFIED IDEOGRAPH
+  {0x8FF4, 0x7573}, //2009 #CJK UNIFIED IDEOGRAPH
+  {0x8FF5, 0x7A63}, //2010 #CJK UNIFIED IDEOGRAPH
+  {0x8FF6, 0x84B8}, //2011 #CJK UNIFIED IDEOGRAPH
+  {0x8FF7, 0x8B72}, //2012 #CJK UNIFIED IDEOGRAPH
+  {0x8FF8, 0x91B8}, //2013 #CJK UNIFIED IDEOGRAPH
+  {0x8FF9, 0x9320}, //2014 #CJK UNIFIED IDEOGRAPH
+  {0x8FFA, 0x5631}, //2015 #CJK UNIFIED IDEOGRAPH
+  {0x8FFB, 0x57F4}, //2016 #CJK UNIFIED IDEOGRAPH
+  {0x8FFC, 0x98FE}, //2017 #CJK UNIFIED IDEOGRAPH
+  {0x9040, 0x62ED}, //2018 #CJK UNIFIED IDEOGRAPH
+  {0x9041, 0x690D}, //2019 #CJK UNIFIED IDEOGRAPH
+  {0x9042, 0x6B96}, //2020 #CJK UNIFIED IDEOGRAPH
+  {0x9043, 0x71ED}, //2021 #CJK UNIFIED IDEOGRAPH
+  {0x9044, 0x7E54}, //2022 #CJK UNIFIED IDEOGRAPH
+  {0x9045, 0x8077}, //2023 #CJK UNIFIED IDEOGRAPH
+  {0x9046, 0x8272}, //2024 #CJK UNIFIED IDEOGRAPH
+  {0x9047, 0x89E6}, //2025 #CJK UNIFIED IDEOGRAPH
+  {0x9048, 0x98DF}, //2026 #CJK UNIFIED IDEOGRAPH
+  {0x9049, 0x8755}, //2027 #CJK UNIFIED IDEOGRAPH
+  {0x904A, 0x8FB1}, //2028 #CJK UNIFIED IDEOGRAPH
+  {0x904B, 0x5C3B}, //2029 #CJK UNIFIED IDEOGRAPH
+  {0x904C, 0x4F38}, //2030 #CJK UNIFIED IDEOGRAPH
+  {0x904D, 0x4FE1}, //2031 #CJK UNIFIED IDEOGRAPH
+  {0x904E, 0x4FB5}, //2032 #CJK UNIFIED IDEOGRAPH
+  {0x904F, 0x5507}, //2033 #CJK UNIFIED IDEOGRAPH
+  {0x9050, 0x5A20}, //2034 #CJK UNIFIED IDEOGRAPH
+  {0x9051, 0x5BDD}, //2035 #CJK UNIFIED IDEOGRAPH
+  {0x9052, 0x5BE9}, //2036 #CJK UNIFIED IDEOGRAPH
+  {0x9053, 0x5FC3}, //2037 #CJK UNIFIED IDEOGRAPH
+  {0x9054, 0x614E}, //2038 #CJK UNIFIED IDEOGRAPH
+  {0x9055, 0x632F}, //2039 #CJK UNIFIED IDEOGRAPH
+  {0x9056, 0x65B0}, //2040 #CJK UNIFIED IDEOGRAPH
+  {0x9057, 0x664B}, //2041 #CJK UNIFIED IDEOGRAPH
+  {0x9058, 0x68EE}, //2042 #CJK UNIFIED IDEOGRAPH
+  {0x9059, 0x699B}, //2043 #CJK UNIFIED IDEOGRAPH
+  {0x905A, 0x6D78}, //2044 #CJK UNIFIED IDEOGRAPH
+  {0x905B, 0x6DF1}, //2045 #CJK UNIFIED IDEOGRAPH
+  {0x905C, 0x7533}, //2046 #CJK UNIFIED IDEOGRAPH
+  {0x905D, 0x75B9}, //2047 #CJK UNIFIED IDEOGRAPH
+  {0x905E, 0x771F}, //2048 #CJK UNIFIED IDEOGRAPH
+  {0x905F, 0x795E}, //2049 #CJK UNIFIED IDEOGRAPH
+  {0x9060, 0x79E6}, //2050 #CJK UNIFIED IDEOGRAPH
+  {0x9061, 0x7D33}, //2051 #CJK UNIFIED IDEOGRAPH
+  {0x9062, 0x81E3}, //2052 #CJK UNIFIED IDEOGRAPH
+  {0x9063, 0x82AF}, //2053 #CJK UNIFIED IDEOGRAPH
+  {0x9064, 0x85AA}, //2054 #CJK UNIFIED IDEOGRAPH
+  {0x9065, 0x89AA}, //2055 #CJK UNIFIED IDEOGRAPH
+  {0x9066, 0x8A3A}, //2056 #CJK UNIFIED IDEOGRAPH
+  {0x9067, 0x8EAB}, //2057 #CJK UNIFIED IDEOGRAPH
+  {0x9068, 0x8F9B}, //2058 #CJK UNIFIED IDEOGRAPH
+  {0x9069, 0x9032}, //2059 #CJK UNIFIED IDEOGRAPH
+  {0x906A, 0x91DD}, //2060 #CJK UNIFIED IDEOGRAPH
+  {0x906B, 0x9707}, //2061 #CJK UNIFIED IDEOGRAPH
+  {0x906C, 0x4EBA}, //2062 #CJK UNIFIED IDEOGRAPH
+  {0x906D, 0x4EC1}, //2063 #CJK UNIFIED IDEOGRAPH
+  {0x906E, 0x5203}, //2064 #CJK UNIFIED IDEOGRAPH
+  {0x906F, 0x5875}, //2065 #CJK UNIFIED IDEOGRAPH
+  {0x9070, 0x58EC}, //2066 #CJK UNIFIED IDEOGRAPH
+  {0x9071, 0x5C0B}, //2067 #CJK UNIFIED IDEOGRAPH
+  {0x9072, 0x751A}, //2068 #CJK UNIFIED IDEOGRAPH
+  {0x9073, 0x5C3D}, //2069 #CJK UNIFIED IDEOGRAPH
+  {0x9074, 0x814E}, //2070 #CJK UNIFIED IDEOGRAPH
+  {0x9075, 0x8A0A}, //2071 #CJK UNIFIED IDEOGRAPH
+  {0x9076, 0x8FC5}, //2072 #CJK UNIFIED IDEOGRAPH
+  {0x9077, 0x9663}, //2073 #CJK UNIFIED IDEOGRAPH
+  {0x9078, 0x976D}, //2074 #CJK UNIFIED IDEOGRAPH
+  {0x9079, 0x7B25}, //2075 #CJK UNIFIED IDEOGRAPH
+  {0x907A, 0x8ACF}, //2076 #CJK UNIFIED IDEOGRAPH
+  {0x907B, 0x9808}, //2077 #CJK UNIFIED IDEOGRAPH
+  {0x907C, 0x9162}, //2078 #CJK UNIFIED IDEOGRAPH
+  {0x907D, 0x56F3}, //2079 #CJK UNIFIED IDEOGRAPH
+  {0x907E, 0x53A8}, //2080 #CJK UNIFIED IDEOGRAPH
+  {0x9080, 0x9017}, //2081 #CJK UNIFIED IDEOGRAPH
+  {0x9081, 0x5439}, //2082 #CJK UNIFIED IDEOGRAPH
+  {0x9082, 0x5782}, //2083 #CJK UNIFIED IDEOGRAPH
+  {0x9083, 0x5E25}, //2084 #CJK UNIFIED IDEOGRAPH
+  {0x9084, 0x63A8}, //2085 #CJK UNIFIED IDEOGRAPH
+  {0x9085, 0x6C34}, //2086 #CJK UNIFIED IDEOGRAPH
+  {0x9086, 0x708A}, //2087 #CJK UNIFIED IDEOGRAPH
+  {0x9087, 0x7761}, //2088 #CJK UNIFIED IDEOGRAPH
+  {0x9088, 0x7C8B}, //2089 #CJK UNIFIED IDEOGRAPH
+  {0x9089, 0x7FE0}, //2090 #CJK UNIFIED IDEOGRAPH
+  {0x908A, 0x8870}, //2091 #CJK UNIFIED IDEOGRAPH
+  {0x908B, 0x9042}, //2092 #CJK UNIFIED IDEOGRAPH
+  {0x908C, 0x9154}, //2093 #CJK UNIFIED IDEOGRAPH
+  {0x908D, 0x9310}, //2094 #CJK UNIFIED IDEOGRAPH
+  {0x908E, 0x9318}, //2095 #CJK UNIFIED IDEOGRAPH
+  {0x908F, 0x968F}, //2096 #CJK UNIFIED IDEOGRAPH
+  {0x9090, 0x745E}, //2097 #CJK UNIFIED IDEOGRAPH
+  {0x9091, 0x9AC4}, //2098 #CJK UNIFIED IDEOGRAPH
+  {0x9092, 0x5D07}, //2099 #CJK UNIFIED IDEOGRAPH
+  {0x9093, 0x5D69}, //2100 #CJK UNIFIED IDEOGRAPH
+  {0x9094, 0x6570}, //2101 #CJK UNIFIED IDEOGRAPH
+  {0x9095, 0x67A2}, //2102 #CJK UNIFIED IDEOGRAPH
+  {0x9096, 0x8DA8}, //2103 #CJK UNIFIED IDEOGRAPH
+  {0x9097, 0x96DB}, //2104 #CJK UNIFIED IDEOGRAPH
+  {0x9098, 0x636E}, //2105 #CJK UNIFIED IDEOGRAPH
+  {0x9099, 0x6749}, //2106 #CJK UNIFIED IDEOGRAPH
+  {0x909A, 0x6919}, //2107 #CJK UNIFIED IDEOGRAPH
+  {0x909B, 0x83C5}, //2108 #CJK UNIFIED IDEOGRAPH
+  {0x909C, 0x9817}, //2109 #CJK UNIFIED IDEOGRAPH
+  {0x909D, 0x96C0}, //2110 #CJK UNIFIED IDEOGRAPH
+  {0x909E, 0x88FE}, //2111 #CJK UNIFIED IDEOGRAPH
+  {0x909F, 0x6F84}, //2112 #CJK UNIFIED IDEOGRAPH
+  {0x90A0, 0x647A}, //2113 #CJK UNIFIED IDEOGRAPH
+  {0x90A1, 0x5BF8}, //2114 #CJK UNIFIED IDEOGRAPH
+  {0x90A2, 0x4E16}, //2115 #CJK UNIFIED IDEOGRAPH
+  {0x90A3, 0x702C}, //2116 #CJK UNIFIED IDEOGRAPH
+  {0x90A4, 0x755D}, //2117 #CJK UNIFIED IDEOGRAPH
+  {0x90A5, 0x662F}, //2118 #CJK UNIFIED IDEOGRAPH
+  {0x90A6, 0x51C4}, //2119 #CJK UNIFIED IDEOGRAPH
+  {0x90A7, 0x5236}, //2120 #CJK UNIFIED IDEOGRAPH
+  {0x90A8, 0x52E2}, //2121 #CJK UNIFIED IDEOGRAPH
+  {0x90A9, 0x59D3}, //2122 #CJK UNIFIED IDEOGRAPH
+  {0x90AA, 0x5F81}, //2123 #CJK UNIFIED IDEOGRAPH
+  {0x90AB, 0x6027}, //2124 #CJK UNIFIED IDEOGRAPH
+  {0x90AC, 0x6210}, //2125 #CJK UNIFIED IDEOGRAPH
+  {0x90AD, 0x653F}, //2126 #CJK UNIFIED IDEOGRAPH
+  {0x90AE, 0x6574}, //2127 #CJK UNIFIED IDEOGRAPH
+  {0x90AF, 0x661F}, //2128 #CJK UNIFIED IDEOGRAPH
+  {0x90B0, 0x6674}, //2129 #CJK UNIFIED IDEOGRAPH
+  {0x90B1, 0x68F2}, //2130 #CJK UNIFIED IDEOGRAPH
+  {0x90B2, 0x6816}, //2131 #CJK UNIFIED IDEOGRAPH
+  {0x90B3, 0x6B63}, //2132 #CJK UNIFIED IDEOGRAPH
+  {0x90B4, 0x6E05}, //2133 #CJK UNIFIED IDEOGRAPH
+  {0x90B5, 0x7272}, //2134 #CJK UNIFIED IDEOGRAPH
+  {0x90B6, 0x751F}, //2135 #CJK UNIFIED IDEOGRAPH
+  {0x90B7, 0x76DB}, //2136 #CJK UNIFIED IDEOGRAPH
+  {0x90B8, 0x7CBE}, //2137 #CJK UNIFIED IDEOGRAPH
+  {0x90B9, 0x8056}, //2138 #CJK UNIFIED IDEOGRAPH
+  {0x90BA, 0x58F0}, //2139 #CJK UNIFIED IDEOGRAPH
+  {0x90BB, 0x88FD}, //2140 #CJK UNIFIED IDEOGRAPH
+  {0x90BC, 0x897F}, //2141 #CJK UNIFIED IDEOGRAPH
+  {0x90BD, 0x8AA0}, //2142 #CJK UNIFIED IDEOGRAPH
+  {0x90BE, 0x8A93}, //2143 #CJK UNIFIED IDEOGRAPH
+  {0x90BF, 0x8ACB}, //2144 #CJK UNIFIED IDEOGRAPH
+  {0x90C0, 0x901D}, //2145 #CJK UNIFIED IDEOGRAPH
+  {0x90C1, 0x9192}, //2146 #CJK UNIFIED IDEOGRAPH
+  {0x90C2, 0x9752}, //2147 #CJK UNIFIED IDEOGRAPH
+  {0x90C3, 0x9759}, //2148 #CJK UNIFIED IDEOGRAPH
+  {0x90C4, 0x6589}, //2149 #CJK UNIFIED IDEOGRAPH
+  {0x90C5, 0x7A0E}, //2150 #CJK UNIFIED IDEOGRAPH
+  {0x90C6, 0x8106}, //2151 #CJK UNIFIED IDEOGRAPH
+  {0x90C7, 0x96BB}, //2152 #CJK UNIFIED IDEOGRAPH
+  {0x90C8, 0x5E2D}, //2153 #CJK UNIFIED IDEOGRAPH
+  {0x90C9, 0x60DC}, //2154 #CJK UNIFIED IDEOGRAPH
+  {0x90CA, 0x621A}, //2155 #CJK UNIFIED IDEOGRAPH
+  {0x90CB, 0x65A5}, //2156 #CJK UNIFIED IDEOGRAPH
+  {0x90CC, 0x6614}, //2157 #CJK UNIFIED IDEOGRAPH
+  {0x90CD, 0x6790}, //2158 #CJK UNIFIED IDEOGRAPH
+  {0x90CE, 0x77F3}, //2159 #CJK UNIFIED IDEOGRAPH
+  {0x90CF, 0x7A4D}, //2160 #CJK UNIFIED IDEOGRAPH
+  {0x90D0, 0x7C4D}, //2161 #CJK UNIFIED IDEOGRAPH
+  {0x90D1, 0x7E3E}, //2162 #CJK UNIFIED IDEOGRAPH
+  {0x90D2, 0x810A}, //2163 #CJK UNIFIED IDEOGRAPH
+  {0x90D3, 0x8CAC}, //2164 #CJK UNIFIED IDEOGRAPH
+  {0x90D4, 0x8D64}, //2165 #CJK UNIFIED IDEOGRAPH
+  {0x90D5, 0x8DE1}, //2166 #CJK UNIFIED IDEOGRAPH
+  {0x90D6, 0x8E5F}, //2167 #CJK UNIFIED IDEOGRAPH
+  {0x90D7, 0x78A9}, //2168 #CJK UNIFIED IDEOGRAPH
+  {0x90D8, 0x5207}, //2169 #CJK UNIFIED IDEOGRAPH
+  {0x90D9, 0x62D9}, //2170 #CJK UNIFIED IDEOGRAPH
+  {0x90DA, 0x63A5}, //2171 #CJK UNIFIED IDEOGRAPH
+  {0x90DB, 0x6442}, //2172 #CJK UNIFIED IDEOGRAPH
+  {0x90DC, 0x6298}, //2173 #CJK UNIFIED IDEOGRAPH
+  {0x90DD, 0x8A2D}, //2174 #CJK UNIFIED IDEOGRAPH
+  {0x90DE, 0x7A83}, //2175 #CJK UNIFIED IDEOGRAPH
+  {0x90DF, 0x7BC0}, //2176 #CJK UNIFIED IDEOGRAPH
+  {0x90E0, 0x8AAC}, //2177 #CJK UNIFIED IDEOGRAPH
+  {0x90E1, 0x96EA}, //2178 #CJK UNIFIED IDEOGRAPH
+  {0x90E2, 0x7D76}, //2179 #CJK UNIFIED IDEOGRAPH
+  {0x90E3, 0x820C}, //2180 #CJK UNIFIED IDEOGRAPH
+  {0x90E4, 0x8749}, //2181 #CJK UNIFIED IDEOGRAPH
+  {0x90E5, 0x4ED9}, //2182 #CJK UNIFIED IDEOGRAPH
+  {0x90E6, 0x5148}, //2183 #CJK UNIFIED IDEOGRAPH
+  {0x90E7, 0x5343}, //2184 #CJK UNIFIED IDEOGRAPH
+  {0x90E8, 0x5360}, //2185 #CJK UNIFIED IDEOGRAPH
+  {0x90E9, 0x5BA3}, //2186 #CJK UNIFIED IDEOGRAPH
+  {0x90EA, 0x5C02}, //2187 #CJK UNIFIED IDEOGRAPH
+  {0x90EB, 0x5C16}, //2188 #CJK UNIFIED IDEOGRAPH
+  {0x90EC, 0x5DDD}, //2189 #CJK UNIFIED IDEOGRAPH
+  {0x90ED, 0x6226}, //2190 #CJK UNIFIED IDEOGRAPH
+  {0x90EE, 0x6247}, //2191 #CJK UNIFIED IDEOGRAPH
+  {0x90EF, 0x64B0}, //2192 #CJK UNIFIED IDEOGRAPH
+  {0x90F0, 0x6813}, //2193 #CJK UNIFIED IDEOGRAPH
+  {0x90F1, 0x6834}, //2194 #CJK UNIFIED IDEOGRAPH
+  {0x90F2, 0x6CC9}, //2195 #CJK UNIFIED IDEOGRAPH
+  {0x90F3, 0x6D45}, //2196 #CJK UNIFIED IDEOGRAPH
+  {0x90F4, 0x6D17}, //2197 #CJK UNIFIED IDEOGRAPH
+  {0x90F5, 0x67D3}, //2198 #CJK UNIFIED IDEOGRAPH
+  {0x90F6, 0x6F5C}, //2199 #CJK UNIFIED IDEOGRAPH
+  {0x90F7, 0x714E}, //2200 #CJK UNIFIED IDEOGRAPH
+  {0x90F8, 0x717D}, //2201 #CJK UNIFIED IDEOGRAPH
+  {0x90F9, 0x65CB}, //2202 #CJK UNIFIED IDEOGRAPH
+  {0x90FA, 0x7A7F}, //2203 #CJK UNIFIED IDEOGRAPH
+  {0x90FB, 0x7BAD}, //2204 #CJK UNIFIED IDEOGRAPH
+  {0x90FC, 0x7DDA}, //2205 #CJK UNIFIED IDEOGRAPH
+  {0x9140, 0x7E4A}, //2206 #CJK UNIFIED IDEOGRAPH
+  {0x9141, 0x7FA8}, //2207 #CJK UNIFIED IDEOGRAPH
+  {0x9142, 0x817A}, //2208 #CJK UNIFIED IDEOGRAPH
+  {0x9143, 0x821B}, //2209 #CJK UNIFIED IDEOGRAPH
+  {0x9144, 0x8239}, //2210 #CJK UNIFIED IDEOGRAPH
+  {0x9145, 0x85A6}, //2211 #CJK UNIFIED IDEOGRAPH
+  {0x9146, 0x8A6E}, //2212 #CJK UNIFIED IDEOGRAPH
+  {0x9147, 0x8CCE}, //2213 #CJK UNIFIED IDEOGRAPH
+  {0x9148, 0x8DF5}, //2214 #CJK UNIFIED IDEOGRAPH
+  {0x9149, 0x9078}, //2215 #CJK UNIFIED IDEOGRAPH
+  {0x914A, 0x9077}, //2216 #CJK UNIFIED IDEOGRAPH
+  {0x914B, 0x92AD}, //2217 #CJK UNIFIED IDEOGRAPH
+  {0x914C, 0x9291}, //2218 #CJK UNIFIED IDEOGRAPH
+  {0x914D, 0x9583}, //2219 #CJK UNIFIED IDEOGRAPH
+  {0x914E, 0x9BAE}, //2220 #CJK UNIFIED IDEOGRAPH
+  {0x914F, 0x524D}, //2221 #CJK UNIFIED IDEOGRAPH
+  {0x9150, 0x5584}, //2222 #CJK UNIFIED IDEOGRAPH
+  {0x9151, 0x6F38}, //2223 #CJK UNIFIED IDEOGRAPH
+  {0x9152, 0x7136}, //2224 #CJK UNIFIED IDEOGRAPH
+  {0x9153, 0x5168}, //2225 #CJK UNIFIED IDEOGRAPH
+  {0x9154, 0x7985}, //2226 #CJK UNIFIED IDEOGRAPH
+  {0x9155, 0x7E55}, //2227 #CJK UNIFIED IDEOGRAPH
+  {0x9156, 0x81B3}, //2228 #CJK UNIFIED IDEOGRAPH
+  {0x9157, 0x7CCE}, //2229 #CJK UNIFIED IDEOGRAPH
+  {0x9158, 0x564C}, //2230 #CJK UNIFIED IDEOGRAPH
+  {0x9159, 0x5851}, //2231 #CJK UNIFIED IDEOGRAPH
+  {0x915A, 0x5CA8}, //2232 #CJK UNIFIED IDEOGRAPH
+  {0x915B, 0x63AA}, //2233 #CJK UNIFIED IDEOGRAPH
+  {0x915C, 0x66FE}, //2234 #CJK UNIFIED IDEOGRAPH
+  {0x915D, 0x66FD}, //2235 #CJK UNIFIED IDEOGRAPH
+  {0x915E, 0x695A}, //2236 #CJK UNIFIED IDEOGRAPH
+  {0x915F, 0x72D9}, //2237 #CJK UNIFIED IDEOGRAPH
+  {0x9160, 0x758F}, //2238 #CJK UNIFIED IDEOGRAPH
+  {0x9161, 0x758E}, //2239 #CJK UNIFIED IDEOGRAPH
+  {0x9162, 0x790E}, //2240 #CJK UNIFIED IDEOGRAPH
+  {0x9163, 0x7956}, //2241 #CJK UNIFIED IDEOGRAPH
+  {0x9164, 0x79DF}, //2242 #CJK UNIFIED IDEOGRAPH
+  {0x9165, 0x7C97}, //2243 #CJK UNIFIED IDEOGRAPH
+  {0x9166, 0x7D20}, //2244 #CJK UNIFIED IDEOGRAPH
+  {0x9167, 0x7D44}, //2245 #CJK UNIFIED IDEOGRAPH
+  {0x9168, 0x8607}, //2246 #CJK UNIFIED IDEOGRAPH
+  {0x9169, 0x8A34}, //2247 #CJK UNIFIED IDEOGRAPH
+  {0x916A, 0x963B}, //2248 #CJK UNIFIED IDEOGRAPH
+  {0x916B, 0x9061}, //2249 #CJK UNIFIED IDEOGRAPH
+  {0x916C, 0x9F20}, //2250 #CJK UNIFIED IDEOGRAPH
+  {0x916D, 0x50E7}, //2251 #CJK UNIFIED IDEOGRAPH
+  {0x916E, 0x5275}, //2252 #CJK UNIFIED IDEOGRAPH
+  {0x916F, 0x53CC}, //2253 #CJK UNIFIED IDEOGRAPH
+  {0x9170, 0x53E2}, //2254 #CJK UNIFIED IDEOGRAPH
+  {0x9171, 0x5009}, //2255 #CJK UNIFIED IDEOGRAPH
+  {0x9172, 0x55AA}, //2256 #CJK UNIFIED IDEOGRAPH
+  {0x9173, 0x58EE}, //2257 #CJK UNIFIED IDEOGRAPH
+  {0x9174, 0x594F}, //2258 #CJK UNIFIED IDEOGRAPH
+  {0x9175, 0x723D}, //2259 #CJK UNIFIED IDEOGRAPH
+  {0x9176, 0x5B8B}, //2260 #CJK UNIFIED IDEOGRAPH
+  {0x9177, 0x5C64}, //2261 #CJK UNIFIED IDEOGRAPH
+  {0x9178, 0x531D}, //2262 #CJK UNIFIED IDEOGRAPH
+  {0x9179, 0x60E3}, //2263 #CJK UNIFIED IDEOGRAPH
+  {0x917A, 0x60F3}, //2264 #CJK UNIFIED IDEOGRAPH
+  {0x917B, 0x635C}, //2265 #CJK UNIFIED IDEOGRAPH
+  {0x917C, 0x6383}, //2266 #CJK UNIFIED IDEOGRAPH
+  {0x917D, 0x633F}, //2267 #CJK UNIFIED IDEOGRAPH
+  {0x917E, 0x63BB}, //2268 #CJK UNIFIED IDEOGRAPH
+  {0x9180, 0x64CD}, //2269 #CJK UNIFIED IDEOGRAPH
+  {0x9181, 0x65E9}, //2270 #CJK UNIFIED IDEOGRAPH
+  {0x9182, 0x66F9}, //2271 #CJK UNIFIED IDEOGRAPH
+  {0x9183, 0x5DE3}, //2272 #CJK UNIFIED IDEOGRAPH
+  {0x9184, 0x69CD}, //2273 #CJK UNIFIED IDEOGRAPH
+  {0x9185, 0x69FD}, //2274 #CJK UNIFIED IDEOGRAPH
+  {0x9186, 0x6F15}, //2275 #CJK UNIFIED IDEOGRAPH
+  {0x9187, 0x71E5}, //2276 #CJK UNIFIED IDEOGRAPH
+  {0x9188, 0x4E89}, //2277 #CJK UNIFIED IDEOGRAPH
+  {0x9189, 0x75E9}, //2278 #CJK UNIFIED IDEOGRAPH
+  {0x918A, 0x76F8}, //2279 #CJK UNIFIED IDEOGRAPH
+  {0x918B, 0x7A93}, //2280 #CJK UNIFIED IDEOGRAPH
+  {0x918C, 0x7CDF}, //2281 #CJK UNIFIED IDEOGRAPH
+  {0x918D, 0x7DCF}, //2282 #CJK UNIFIED IDEOGRAPH
+  {0x918E, 0x7D9C}, //2283 #CJK UNIFIED IDEOGRAPH
+  {0x918F, 0x8061}, //2284 #CJK UNIFIED IDEOGRAPH
+  {0x9190, 0x8349}, //2285 #CJK UNIFIED IDEOGRAPH
+  {0x9191, 0x8358}, //2286 #CJK UNIFIED IDEOGRAPH
+  {0x9192, 0x846C}, //2287 #CJK UNIFIED IDEOGRAPH
+  {0x9193, 0x84BC}, //2288 #CJK UNIFIED IDEOGRAPH
+  {0x9194, 0x85FB}, //2289 #CJK UNIFIED IDEOGRAPH
+  {0x9195, 0x88C5}, //2290 #CJK UNIFIED IDEOGRAPH
+  {0x9196, 0x8D70}, //2291 #CJK UNIFIED IDEOGRAPH
+  {0x9197, 0x9001}, //2292 #CJK UNIFIED IDEOGRAPH
+  {0x9198, 0x906D}, //2293 #CJK UNIFIED IDEOGRAPH
+  {0x9199, 0x9397}, //2294 #CJK UNIFIED IDEOGRAPH
+  {0x919A, 0x971C}, //2295 #CJK UNIFIED IDEOGRAPH
+  {0x919B, 0x9A12}, //2296 #CJK UNIFIED IDEOGRAPH
+  {0x919C, 0x50CF}, //2297 #CJK UNIFIED IDEOGRAPH
+  {0x919D, 0x5897}, //2298 #CJK UNIFIED IDEOGRAPH
+  {0x919E, 0x618E}, //2299 #CJK UNIFIED IDEOGRAPH
+  {0x919F, 0x81D3}, //2300 #CJK UNIFIED IDEOGRAPH
+  {0x91A0, 0x8535}, //2301 #CJK UNIFIED IDEOGRAPH
+  {0x91A1, 0x8D08}, //2302 #CJK UNIFIED IDEOGRAPH
+  {0x91A2, 0x9020}, //2303 #CJK UNIFIED IDEOGRAPH
+  {0x91A3, 0x4FC3}, //2304 #CJK UNIFIED IDEOGRAPH
+  {0x91A4, 0x5074}, //2305 #CJK UNIFIED IDEOGRAPH
+  {0x91A5, 0x5247}, //2306 #CJK UNIFIED IDEOGRAPH
+  {0x91A6, 0x5373}, //2307 #CJK UNIFIED IDEOGRAPH
+  {0x91A7, 0x606F}, //2308 #CJK UNIFIED IDEOGRAPH
+  {0x91A8, 0x6349}, //2309 #CJK UNIFIED IDEOGRAPH
+  {0x91A9, 0x675F}, //2310 #CJK UNIFIED IDEOGRAPH
+  {0x91AA, 0x6E2C}, //2311 #CJK UNIFIED IDEOGRAPH
+  {0x91AB, 0x8DB3}, //2312 #CJK UNIFIED IDEOGRAPH
+  {0x91AC, 0x901F}, //2313 #CJK UNIFIED IDEOGRAPH
+  {0x91AD, 0x4FD7}, //2314 #CJK UNIFIED IDEOGRAPH
+  {0x91AE, 0x5C5E}, //2315 #CJK UNIFIED IDEOGRAPH
+  {0x91AF, 0x8CCA}, //2316 #CJK UNIFIED IDEOGRAPH
+  {0x91B0, 0x65CF}, //2317 #CJK UNIFIED IDEOGRAPH
+  {0x91B1, 0x7D9A}, //2318 #CJK UNIFIED IDEOGRAPH
+  {0x91B2, 0x5352}, //2319 #CJK UNIFIED IDEOGRAPH
+  {0x91B3, 0x8896}, //2320 #CJK UNIFIED IDEOGRAPH
+  {0x91B4, 0x5176}, //2321 #CJK UNIFIED IDEOGRAPH
+  {0x91B5, 0x63C3}, //2322 #CJK UNIFIED IDEOGRAPH
+  {0x91B6, 0x5B58}, //2323 #CJK UNIFIED IDEOGRAPH
+  {0x91B7, 0x5B6B}, //2324 #CJK UNIFIED IDEOGRAPH
+  {0x91B8, 0x5C0A}, //2325 #CJK UNIFIED IDEOGRAPH
+  {0x91B9, 0x640D}, //2326 #CJK UNIFIED IDEOGRAPH
+  {0x91BA, 0x6751}, //2327 #CJK UNIFIED IDEOGRAPH
+  {0x91BB, 0x905C}, //2328 #CJK UNIFIED IDEOGRAPH
+  {0x91BC, 0x4ED6}, //2329 #CJK UNIFIED IDEOGRAPH
+  {0x91BD, 0x591A}, //2330 #CJK UNIFIED IDEOGRAPH
+  {0x91BE, 0x592A}, //2331 #CJK UNIFIED IDEOGRAPH
+  {0x91BF, 0x6C70}, //2332 #CJK UNIFIED IDEOGRAPH
+  {0x91C0, 0x8A51}, //2333 #CJK UNIFIED IDEOGRAPH
+  {0x91C1, 0x553E}, //2334 #CJK UNIFIED IDEOGRAPH
+  {0x91C2, 0x5815}, //2335 #CJK UNIFIED IDEOGRAPH
+  {0x91C3, 0x59A5}, //2336 #CJK UNIFIED IDEOGRAPH
+  {0x91C4, 0x60F0}, //2337 #CJK UNIFIED IDEOGRAPH
+  {0x91C5, 0x6253}, //2338 #CJK UNIFIED IDEOGRAPH
+  {0x91C6, 0x67C1}, //2339 #CJK UNIFIED IDEOGRAPH
+  {0x91C7, 0x8235}, //2340 #CJK UNIFIED IDEOGRAPH
+  {0x91C8, 0x6955}, //2341 #CJK UNIFIED IDEOGRAPH
+  {0x91C9, 0x9640}, //2342 #CJK UNIFIED IDEOGRAPH
+  {0x91CA, 0x99C4}, //2343 #CJK UNIFIED IDEOGRAPH
+  {0x91CB, 0x9A28}, //2344 #CJK UNIFIED IDEOGRAPH
+  {0x91CC, 0x4F53}, //2345 #CJK UNIFIED IDEOGRAPH
+  {0x91CD, 0x5806}, //2346 #CJK UNIFIED IDEOGRAPH
+  {0x91CE, 0x5BFE}, //2347 #CJK UNIFIED IDEOGRAPH
+  {0x91CF, 0x8010}, //2348 #CJK UNIFIED IDEOGRAPH
+  {0x91D0, 0x5CB1}, //2349 #CJK UNIFIED IDEOGRAPH
+  {0x91D1, 0x5E2F}, //2350 #CJK UNIFIED IDEOGRAPH
+  {0x91D2, 0x5F85}, //2351 #CJK UNIFIED IDEOGRAPH
+  {0x91D3, 0x6020}, //2352 #CJK UNIFIED IDEOGRAPH
+  {0x91D4, 0x614B}, //2353 #CJK UNIFIED IDEOGRAPH
+  {0x91D5, 0x6234}, //2354 #CJK UNIFIED IDEOGRAPH
+  {0x91D6, 0x66FF}, //2355 #CJK UNIFIED IDEOGRAPH
+  {0x91D7, 0x6CF0}, //2356 #CJK UNIFIED IDEOGRAPH
+  {0x91D8, 0x6EDE}, //2357 #CJK UNIFIED IDEOGRAPH
+  {0x91D9, 0x80CE}, //2358 #CJK UNIFIED IDEOGRAPH
+  {0x91DA, 0x817F}, //2359 #CJK UNIFIED IDEOGRAPH
+  {0x91DB, 0x82D4}, //2360 #CJK UNIFIED IDEOGRAPH
+  {0x91DC, 0x888B}, //2361 #CJK UNIFIED IDEOGRAPH
+  {0x91DD, 0x8CB8}, //2362 #CJK UNIFIED IDEOGRAPH
+  {0x91DE, 0x9000}, //2363 #CJK UNIFIED IDEOGRAPH
+  {0x91DF, 0x902E}, //2364 #CJK UNIFIED IDEOGRAPH
+  {0x91E0, 0x968A}, //2365 #CJK UNIFIED IDEOGRAPH
+  {0x91E1, 0x9EDB}, //2366 #CJK UNIFIED IDEOGRAPH
+  {0x91E2, 0x9BDB}, //2367 #CJK UNIFIED IDEOGRAPH
+  {0x91E3, 0x4EE3}, //2368 #CJK UNIFIED IDEOGRAPH
+  {0x91E4, 0x53F0}, //2369 #CJK UNIFIED IDEOGRAPH
+  {0x91E5, 0x5927}, //2370 #CJK UNIFIED IDEOGRAPH
+  {0x91E6, 0x7B2C}, //2371 #CJK UNIFIED IDEOGRAPH
+  {0x91E7, 0x918D}, //2372 #CJK UNIFIED IDEOGRAPH
+  {0x91E8, 0x984C}, //2373 #CJK UNIFIED IDEOGRAPH
+  {0x91E9, 0x9DF9}, //2374 #CJK UNIFIED IDEOGRAPH
+  {0x91EA, 0x6EDD}, //2375 #CJK UNIFIED IDEOGRAPH
+  {0x91EB, 0x7027}, //2376 #CJK UNIFIED IDEOGRAPH
+  {0x91EC, 0x5353}, //2377 #CJK UNIFIED IDEOGRAPH
+  {0x91ED, 0x5544}, //2378 #CJK UNIFIED IDEOGRAPH
+  {0x91EE, 0x5B85}, //2379 #CJK UNIFIED IDEOGRAPH
+  {0x91EF, 0x6258}, //2380 #CJK UNIFIED IDEOGRAPH
+  {0x91F0, 0x629E}, //2381 #CJK UNIFIED IDEOGRAPH
+  {0x91F1, 0x62D3}, //2382 #CJK UNIFIED IDEOGRAPH
+  {0x91F2, 0x6CA2}, //2383 #CJK UNIFIED IDEOGRAPH
+  {0x91F3, 0x6FEF}, //2384 #CJK UNIFIED IDEOGRAPH
+  {0x91F4, 0x7422}, //2385 #CJK UNIFIED IDEOGRAPH
+  {0x91F5, 0x8A17}, //2386 #CJK UNIFIED IDEOGRAPH
+  {0x91F6, 0x9438}, //2387 #CJK UNIFIED IDEOGRAPH
+  {0x91F7, 0x6FC1}, //2388 #CJK UNIFIED IDEOGRAPH
+  {0x91F8, 0x8AFE}, //2389 #CJK UNIFIED IDEOGRAPH
+  {0x91F9, 0x8338}, //2390 #CJK UNIFIED IDEOGRAPH
+  {0x91FA, 0x51E7}, //2391 #CJK UNIFIED IDEOGRAPH
+  {0x91FB, 0x86F8}, //2392 #CJK UNIFIED IDEOGRAPH
+  {0x91FC, 0x53EA}, //2393 #CJK UNIFIED IDEOGRAPH
+  {0x9240, 0x53E9}, //2394 #CJK UNIFIED IDEOGRAPH
+  {0x9241, 0x4F46}, //2395 #CJK UNIFIED IDEOGRAPH
+  {0x9242, 0x9054}, //2396 #CJK UNIFIED IDEOGRAPH
+  {0x9243, 0x8FB0}, //2397 #CJK UNIFIED IDEOGRAPH
+  {0x9244, 0x596A}, //2398 #CJK UNIFIED IDEOGRAPH
+  {0x9245, 0x8131}, //2399 #CJK UNIFIED IDEOGRAPH
+  {0x9246, 0x5DFD}, //2400 #CJK UNIFIED IDEOGRAPH
+  {0x9247, 0x7AEA}, //2401 #CJK UNIFIED IDEOGRAPH
+  {0x9248, 0x8FBF}, //2402 #CJK UNIFIED IDEOGRAPH
+  {0x9249, 0x68DA}, //2403 #CJK UNIFIED IDEOGRAPH
+  {0x924A, 0x8C37}, //2404 #CJK UNIFIED IDEOGRAPH
+  {0x924B, 0x72F8}, //2405 #CJK UNIFIED IDEOGRAPH
+  {0x924C, 0x9C48}, //2406 #CJK UNIFIED IDEOGRAPH
+  {0x924D, 0x6A3D}, //2407 #CJK UNIFIED IDEOGRAPH
+  {0x924E, 0x8AB0}, //2408 #CJK UNIFIED IDEOGRAPH
+  {0x924F, 0x4E39}, //2409 #CJK UNIFIED IDEOGRAPH
+  {0x9250, 0x5358}, //2410 #CJK UNIFIED IDEOGRAPH
+  {0x9251, 0x5606}, //2411 #CJK UNIFIED IDEOGRAPH
+  {0x9252, 0x5766}, //2412 #CJK UNIFIED IDEOGRAPH
+  {0x9253, 0x62C5}, //2413 #CJK UNIFIED IDEOGRAPH
+  {0x9254, 0x63A2}, //2414 #CJK UNIFIED IDEOGRAPH
+  {0x9255, 0x65E6}, //2415 #CJK UNIFIED IDEOGRAPH
+  {0x9256, 0x6B4E}, //2416 #CJK UNIFIED IDEOGRAPH
+  {0x9257, 0x6DE1}, //2417 #CJK UNIFIED IDEOGRAPH
+  {0x9258, 0x6E5B}, //2418 #CJK UNIFIED IDEOGRAPH
+  {0x9259, 0x70AD}, //2419 #CJK UNIFIED IDEOGRAPH
+  {0x925A, 0x77ED}, //2420 #CJK UNIFIED IDEOGRAPH
+  {0x925B, 0x7AEF}, //2421 #CJK UNIFIED IDEOGRAPH
+  {0x925C, 0x7BAA}, //2422 #CJK UNIFIED IDEOGRAPH
+  {0x925D, 0x7DBB}, //2423 #CJK UNIFIED IDEOGRAPH
+  {0x925E, 0x803D}, //2424 #CJK UNIFIED IDEOGRAPH
+  {0x925F, 0x80C6}, //2425 #CJK UNIFIED IDEOGRAPH
+  {0x9260, 0x86CB}, //2426 #CJK UNIFIED IDEOGRAPH
+  {0x9261, 0x8A95}, //2427 #CJK UNIFIED IDEOGRAPH
+  {0x9262, 0x935B}, //2428 #CJK UNIFIED IDEOGRAPH
+  {0x9263, 0x56E3}, //2429 #CJK UNIFIED IDEOGRAPH
+  {0x9264, 0x58C7}, //2430 #CJK UNIFIED IDEOGRAPH
+  {0x9265, 0x5F3E}, //2431 #CJK UNIFIED IDEOGRAPH
+  {0x9266, 0x65AD}, //2432 #CJK UNIFIED IDEOGRAPH
+  {0x9267, 0x6696}, //2433 #CJK UNIFIED IDEOGRAPH
+  {0x9268, 0x6A80}, //2434 #CJK UNIFIED IDEOGRAPH
+  {0x9269, 0x6BB5}, //2435 #CJK UNIFIED IDEOGRAPH
+  {0x926A, 0x7537}, //2436 #CJK UNIFIED IDEOGRAPH
+  {0x926B, 0x8AC7}, //2437 #CJK UNIFIED IDEOGRAPH
+  {0x926C, 0x5024}, //2438 #CJK UNIFIED IDEOGRAPH
+  {0x926D, 0x77E5}, //2439 #CJK UNIFIED IDEOGRAPH
+  {0x926E, 0x5730}, //2440 #CJK UNIFIED IDEOGRAPH
+  {0x926F, 0x5F1B}, //2441 #CJK UNIFIED IDEOGRAPH
+  {0x9270, 0x6065}, //2442 #CJK UNIFIED IDEOGRAPH
+  {0x9271, 0x667A}, //2443 #CJK UNIFIED IDEOGRAPH
+  {0x9272, 0x6C60}, //2444 #CJK UNIFIED IDEOGRAPH
+  {0x9273, 0x75F4}, //2445 #CJK UNIFIED IDEOGRAPH
+  {0x9274, 0x7A1A}, //2446 #CJK UNIFIED IDEOGRAPH
+  {0x9275, 0x7F6E}, //2447 #CJK UNIFIED IDEOGRAPH
+  {0x9276, 0x81F4}, //2448 #CJK UNIFIED IDEOGRAPH
+  {0x9277, 0x8718}, //2449 #CJK UNIFIED IDEOGRAPH
+  {0x9278, 0x9045}, //2450 #CJK UNIFIED IDEOGRAPH
+  {0x9279, 0x99B3}, //2451 #CJK UNIFIED IDEOGRAPH
+  {0x927A, 0x7BC9}, //2452 #CJK UNIFIED IDEOGRAPH
+  {0x927B, 0x755C}, //2453 #CJK UNIFIED IDEOGRAPH
+  {0x927C, 0x7AF9}, //2454 #CJK UNIFIED IDEOGRAPH
+  {0x927D, 0x7B51}, //2455 #CJK UNIFIED IDEOGRAPH
+  {0x927E, 0x84C4}, //2456 #CJK UNIFIED IDEOGRAPH
+  {0x9280, 0x9010}, //2457 #CJK UNIFIED IDEOGRAPH
+  {0x9281, 0x79E9}, //2458 #CJK UNIFIED IDEOGRAPH
+  {0x9282, 0x7A92}, //2459 #CJK UNIFIED IDEOGRAPH
+  {0x9283, 0x8336}, //2460 #CJK UNIFIED IDEOGRAPH
+  {0x9284, 0x5AE1}, //2461 #CJK UNIFIED IDEOGRAPH
+  {0x9285, 0x7740}, //2462 #CJK UNIFIED IDEOGRAPH
+  {0x9286, 0x4E2D}, //2463 #CJK UNIFIED IDEOGRAPH
+  {0x9287, 0x4EF2}, //2464 #CJK UNIFIED IDEOGRAPH
+  {0x9288, 0x5B99}, //2465 #CJK UNIFIED IDEOGRAPH
+  {0x9289, 0x5FE0}, //2466 #CJK UNIFIED IDEOGRAPH
+  {0x928A, 0x62BD}, //2467 #CJK UNIFIED IDEOGRAPH
+  {0x928B, 0x663C}, //2468 #CJK UNIFIED IDEOGRAPH
+  {0x928C, 0x67F1}, //2469 #CJK UNIFIED IDEOGRAPH
+  {0x928D, 0x6CE8}, //2470 #CJK UNIFIED IDEOGRAPH
+  {0x928E, 0x866B}, //2471 #CJK UNIFIED IDEOGRAPH
+  {0x928F, 0x8877}, //2472 #CJK UNIFIED IDEOGRAPH
+  {0x9290, 0x8A3B}, //2473 #CJK UNIFIED IDEOGRAPH
+  {0x9291, 0x914E}, //2474 #CJK UNIFIED IDEOGRAPH
+  {0x9292, 0x92F3}, //2475 #CJK UNIFIED IDEOGRAPH
+  {0x9293, 0x99D0}, //2476 #CJK UNIFIED IDEOGRAPH
+  {0x9294, 0x6A17}, //2477 #CJK UNIFIED IDEOGRAPH
+  {0x9295, 0x7026}, //2478 #CJK UNIFIED IDEOGRAPH
+  {0x9296, 0x732A}, //2479 #CJK UNIFIED IDEOGRAPH
+  {0x9297, 0x82E7}, //2480 #CJK UNIFIED IDEOGRAPH
+  {0x9298, 0x8457}, //2481 #CJK UNIFIED IDEOGRAPH
+  {0x9299, 0x8CAF}, //2482 #CJK UNIFIED IDEOGRAPH
+  {0x929A, 0x4E01}, //2483 #CJK UNIFIED IDEOGRAPH
+  {0x929B, 0x5146}, //2484 #CJK UNIFIED IDEOGRAPH
+  {0x929C, 0x51CB}, //2485 #CJK UNIFIED IDEOGRAPH
+  {0x929D, 0x558B}, //2486 #CJK UNIFIED IDEOGRAPH
+  {0x929E, 0x5BF5}, //2487 #CJK UNIFIED IDEOGRAPH
+  {0x929F, 0x5E16}, //2488 #CJK UNIFIED IDEOGRAPH
+  {0x92A0, 0x5E33}, //2489 #CJK UNIFIED IDEOGRAPH
+  {0x92A1, 0x5E81}, //2490 #CJK UNIFIED IDEOGRAPH
+  {0x92A2, 0x5F14}, //2491 #CJK UNIFIED IDEOGRAPH
+  {0x92A3, 0x5F35}, //2492 #CJK UNIFIED IDEOGRAPH
+  {0x92A4, 0x5F6B}, //2493 #CJK UNIFIED IDEOGRAPH
+  {0x92A5, 0x5FB4}, //2494 #CJK UNIFIED IDEOGRAPH
+  {0x92A6, 0x61F2}, //2495 #CJK UNIFIED IDEOGRAPH
+  {0x92A7, 0x6311}, //2496 #CJK UNIFIED IDEOGRAPH
+  {0x92A8, 0x66A2}, //2497 #CJK UNIFIED IDEOGRAPH
+  {0x92A9, 0x671D}, //2498 #CJK UNIFIED IDEOGRAPH
+  {0x92AA, 0x6F6E}, //2499 #CJK UNIFIED IDEOGRAPH
+  {0x92AB, 0x7252}, //2500 #CJK UNIFIED IDEOGRAPH
+  {0x92AC, 0x753A}, //2501 #CJK UNIFIED IDEOGRAPH
+  {0x92AD, 0x773A}, //2502 #CJK UNIFIED IDEOGRAPH
+  {0x92AE, 0x8074}, //2503 #CJK UNIFIED IDEOGRAPH
+  {0x92AF, 0x8139}, //2504 #CJK UNIFIED IDEOGRAPH
+  {0x92B0, 0x8178}, //2505 #CJK UNIFIED IDEOGRAPH
+  {0x92B1, 0x8776}, //2506 #CJK UNIFIED IDEOGRAPH
+  {0x92B2, 0x8ABF}, //2507 #CJK UNIFIED IDEOGRAPH
+  {0x92B3, 0x8ADC}, //2508 #CJK UNIFIED IDEOGRAPH
+  {0x92B4, 0x8D85}, //2509 #CJK UNIFIED IDEOGRAPH
+  {0x92B5, 0x8DF3}, //2510 #CJK UNIFIED IDEOGRAPH
+  {0x92B6, 0x929A}, //2511 #CJK UNIFIED IDEOGRAPH
+  {0x92B7, 0x9577}, //2512 #CJK UNIFIED IDEOGRAPH
+  {0x92B8, 0x9802}, //2513 #CJK UNIFIED IDEOGRAPH
+  {0x92B9, 0x9CE5}, //2514 #CJK UNIFIED IDEOGRAPH
+  {0x92BA, 0x52C5}, //2515 #CJK UNIFIED IDEOGRAPH
+  {0x92BB, 0x6357}, //2516 #CJK UNIFIED IDEOGRAPH
+  {0x92BC, 0x76F4}, //2517 #CJK UNIFIED IDEOGRAPH
+  {0x92BD, 0x6715}, //2518 #CJK UNIFIED IDEOGRAPH
+  {0x92BE, 0x6C88}, //2519 #CJK UNIFIED IDEOGRAPH
+  {0x92BF, 0x73CD}, //2520 #CJK UNIFIED IDEOGRAPH
+  {0x92C0, 0x8CC3}, //2521 #CJK UNIFIED IDEOGRAPH
+  {0x92C1, 0x93AE}, //2522 #CJK UNIFIED IDEOGRAPH
+  {0x92C2, 0x9673}, //2523 #CJK UNIFIED IDEOGRAPH
+  {0x92C3, 0x6D25}, //2524 #CJK UNIFIED IDEOGRAPH
+  {0x92C4, 0x589C}, //2525 #CJK UNIFIED IDEOGRAPH
+  {0x92C5, 0x690E}, //2526 #CJK UNIFIED IDEOGRAPH
+  {0x92C6, 0x69CC}, //2527 #CJK UNIFIED IDEOGRAPH
+  {0x92C7, 0x8FFD}, //2528 #CJK UNIFIED IDEOGRAPH
+  {0x92C8, 0x939A}, //2529 #CJK UNIFIED IDEOGRAPH
+  {0x92C9, 0x75DB}, //2530 #CJK UNIFIED IDEOGRAPH
+  {0x92CA, 0x901A}, //2531 #CJK UNIFIED IDEOGRAPH
+  {0x92CB, 0x585A}, //2532 #CJK UNIFIED IDEOGRAPH
+  {0x92CC, 0x6802}, //2533 #CJK UNIFIED IDEOGRAPH
+  {0x92CD, 0x63B4}, //2534 #CJK UNIFIED IDEOGRAPH
+  {0x92CE, 0x69FB}, //2535 #CJK UNIFIED IDEOGRAPH
+  {0x92CF, 0x4F43}, //2536 #CJK UNIFIED IDEOGRAPH
+  {0x92D0, 0x6F2C}, //2537 #CJK UNIFIED IDEOGRAPH
+  {0x92D1, 0x67D8}, //2538 #CJK UNIFIED IDEOGRAPH
+  {0x92D2, 0x8FBB}, //2539 #CJK UNIFIED IDEOGRAPH
+  {0x92D3, 0x8526}, //2540 #CJK UNIFIED IDEOGRAPH
+  {0x92D4, 0x7DB4}, //2541 #CJK UNIFIED IDEOGRAPH
+  {0x92D5, 0x9354}, //2542 #CJK UNIFIED IDEOGRAPH
+  {0x92D6, 0x693F}, //2543 #CJK UNIFIED IDEOGRAPH
+  {0x92D7, 0x6F70}, //2544 #CJK UNIFIED IDEOGRAPH
+  {0x92D8, 0x576A}, //2545 #CJK UNIFIED IDEOGRAPH
+  {0x92D9, 0x58F7}, //2546 #CJK UNIFIED IDEOGRAPH
+  {0x92DA, 0x5B2C}, //2547 #CJK UNIFIED IDEOGRAPH
+  {0x92DB, 0x7D2C}, //2548 #CJK UNIFIED IDEOGRAPH
+  {0x92DC, 0x722A}, //2549 #CJK UNIFIED IDEOGRAPH
+  {0x92DD, 0x540A}, //2550 #CJK UNIFIED IDEOGRAPH
+  {0x92DE, 0x91E3}, //2551 #CJK UNIFIED IDEOGRAPH
+  {0x92DF, 0x9DB4}, //2552 #CJK UNIFIED IDEOGRAPH
+  {0x92E0, 0x4EAD}, //2553 #CJK UNIFIED IDEOGRAPH
+  {0x92E1, 0x4F4E}, //2554 #CJK UNIFIED IDEOGRAPH
+  {0x92E2, 0x505C}, //2555 #CJK UNIFIED IDEOGRAPH
+  {0x92E3, 0x5075}, //2556 #CJK UNIFIED IDEOGRAPH
+  {0x92E4, 0x5243}, //2557 #CJK UNIFIED IDEOGRAPH
+  {0x92E5, 0x8C9E}, //2558 #CJK UNIFIED IDEOGRAPH
+  {0x92E6, 0x5448}, //2559 #CJK UNIFIED IDEOGRAPH
+  {0x92E7, 0x5824}, //2560 #CJK UNIFIED IDEOGRAPH
+  {0x92E8, 0x5B9A}, //2561 #CJK UNIFIED IDEOGRAPH
+  {0x92E9, 0x5E1D}, //2562 #CJK UNIFIED IDEOGRAPH
+  {0x92EA, 0x5E95}, //2563 #CJK UNIFIED IDEOGRAPH
+  {0x92EB, 0x5EAD}, //2564 #CJK UNIFIED IDEOGRAPH
+  {0x92EC, 0x5EF7}, //2565 #CJK UNIFIED IDEOGRAPH
+  {0x92ED, 0x5F1F}, //2566 #CJK UNIFIED IDEOGRAPH
+  {0x92EE, 0x608C}, //2567 #CJK UNIFIED IDEOGRAPH
+  {0x92EF, 0x62B5}, //2568 #CJK UNIFIED IDEOGRAPH
+  {0x92F0, 0x633A}, //2569 #CJK UNIFIED IDEOGRAPH
+  {0x92F1, 0x63D0}, //2570 #CJK UNIFIED IDEOGRAPH
+  {0x92F2, 0x68AF}, //2571 #CJK UNIFIED IDEOGRAPH
+  {0x92F3, 0x6C40}, //2572 #CJK UNIFIED IDEOGRAPH
+  {0x92F4, 0x7887}, //2573 #CJK UNIFIED IDEOGRAPH
+  {0x92F5, 0x798E}, //2574 #CJK UNIFIED IDEOGRAPH
+  {0x92F6, 0x7A0B}, //2575 #CJK UNIFIED IDEOGRAPH
+  {0x92F7, 0x7DE0}, //2576 #CJK UNIFIED IDEOGRAPH
+  {0x92F8, 0x8247}, //2577 #CJK UNIFIED IDEOGRAPH
+  {0x92F9, 0x8A02}, //2578 #CJK UNIFIED IDEOGRAPH
+  {0x92FA, 0x8AE6}, //2579 #CJK UNIFIED IDEOGRAPH
+  {0x92FB, 0x8E44}, //2580 #CJK UNIFIED IDEOGRAPH
+  {0x92FC, 0x9013}, //2581 #CJK UNIFIED IDEOGRAPH
+  {0x9340, 0x90B8}, //2582 #CJK UNIFIED IDEOGRAPH
+  {0x9341, 0x912D}, //2583 #CJK UNIFIED IDEOGRAPH
+  {0x9342, 0x91D8}, //2584 #CJK UNIFIED IDEOGRAPH
+  {0x9343, 0x9F0E}, //2585 #CJK UNIFIED IDEOGRAPH
+  {0x9344, 0x6CE5}, //2586 #CJK UNIFIED IDEOGRAPH
+  {0x9345, 0x6458}, //2587 #CJK UNIFIED IDEOGRAPH
+  {0x9346, 0x64E2}, //2588 #CJK UNIFIED IDEOGRAPH
+  {0x9347, 0x6575}, //2589 #CJK UNIFIED IDEOGRAPH
+  {0x9348, 0x6EF4}, //2590 #CJK UNIFIED IDEOGRAPH
+  {0x9349, 0x7684}, //2591 #CJK UNIFIED IDEOGRAPH
+  {0x934A, 0x7B1B}, //2592 #CJK UNIFIED IDEOGRAPH
+  {0x934B, 0x9069}, //2593 #CJK UNIFIED IDEOGRAPH
+  {0x934C, 0x93D1}, //2594 #CJK UNIFIED IDEOGRAPH
+  {0x934D, 0x6EBA}, //2595 #CJK UNIFIED IDEOGRAPH
+  {0x934E, 0x54F2}, //2596 #CJK UNIFIED IDEOGRAPH
+  {0x934F, 0x5FB9}, //2597 #CJK UNIFIED IDEOGRAPH
+  {0x9350, 0x64A4}, //2598 #CJK UNIFIED IDEOGRAPH
+  {0x9351, 0x8F4D}, //2599 #CJK UNIFIED IDEOGRAPH
+  {0x9352, 0x8FED}, //2600 #CJK UNIFIED IDEOGRAPH
+  {0x9353, 0x9244}, //2601 #CJK UNIFIED IDEOGRAPH
+  {0x9354, 0x5178}, //2602 #CJK UNIFIED IDEOGRAPH
+  {0x9355, 0x586B}, //2603 #CJK UNIFIED IDEOGRAPH
+  {0x9356, 0x5929}, //2604 #CJK UNIFIED IDEOGRAPH
+  {0x9357, 0x5C55}, //2605 #CJK UNIFIED IDEOGRAPH
+  {0x9358, 0x5E97}, //2606 #CJK UNIFIED IDEOGRAPH
+  {0x9359, 0x6DFB}, //2607 #CJK UNIFIED IDEOGRAPH
+  {0x935A, 0x7E8F}, //2608 #CJK UNIFIED IDEOGRAPH
+  {0x935B, 0x751C}, //2609 #CJK UNIFIED IDEOGRAPH
+  {0x935C, 0x8CBC}, //2610 #CJK UNIFIED IDEOGRAPH
+  {0x935D, 0x8EE2}, //2611 #CJK UNIFIED IDEOGRAPH
+  {0x935E, 0x985B}, //2612 #CJK UNIFIED IDEOGRAPH
+  {0x935F, 0x70B9}, //2613 #CJK UNIFIED IDEOGRAPH
+  {0x9360, 0x4F1D}, //2614 #CJK UNIFIED IDEOGRAPH
+  {0x9361, 0x6BBF}, //2615 #CJK UNIFIED IDEOGRAPH
+  {0x9362, 0x6FB1}, //2616 #CJK UNIFIED IDEOGRAPH
+  {0x9363, 0x7530}, //2617 #CJK UNIFIED IDEOGRAPH
+  {0x9364, 0x96FB}, //2618 #CJK UNIFIED IDEOGRAPH
+  {0x9365, 0x514E}, //2619 #CJK UNIFIED IDEOGRAPH
+  {0x9366, 0x5410}, //2620 #CJK UNIFIED IDEOGRAPH
+  {0x9367, 0x5835}, //2621 #CJK UNIFIED IDEOGRAPH
+  {0x9368, 0x5857}, //2622 #CJK UNIFIED IDEOGRAPH
+  {0x9369, 0x59AC}, //2623 #CJK UNIFIED IDEOGRAPH
+  {0x936A, 0x5C60}, //2624 #CJK UNIFIED IDEOGRAPH
+  {0x936B, 0x5F92}, //2625 #CJK UNIFIED IDEOGRAPH
+  {0x936C, 0x6597}, //2626 #CJK UNIFIED IDEOGRAPH
+  {0x936D, 0x675C}, //2627 #CJK UNIFIED IDEOGRAPH
+  {0x936E, 0x6E21}, //2628 #CJK UNIFIED IDEOGRAPH
+  {0x936F, 0x767B}, //2629 #CJK UNIFIED IDEOGRAPH
+  {0x9370, 0x83DF}, //2630 #CJK UNIFIED IDEOGRAPH
+  {0x9371, 0x8CED}, //2631 #CJK UNIFIED IDEOGRAPH
+  {0x9372, 0x9014}, //2632 #CJK UNIFIED IDEOGRAPH
+  {0x9373, 0x90FD}, //2633 #CJK UNIFIED IDEOGRAPH
+  {0x9374, 0x934D}, //2634 #CJK UNIFIED IDEOGRAPH
+  {0x9375, 0x7825}, //2635 #CJK UNIFIED IDEOGRAPH
+  {0x9376, 0x783A}, //2636 #CJK UNIFIED IDEOGRAPH
+  {0x9377, 0x52AA}, //2637 #CJK UNIFIED IDEOGRAPH
+  {0x9378, 0x5EA6}, //2638 #CJK UNIFIED IDEOGRAPH
+  {0x9379, 0x571F}, //2639 #CJK UNIFIED IDEOGRAPH
+  {0x937A, 0x5974}, //2640 #CJK UNIFIED IDEOGRAPH
+  {0x937B, 0x6012}, //2641 #CJK UNIFIED IDEOGRAPH
+  {0x937C, 0x5012}, //2642 #CJK UNIFIED IDEOGRAPH
+  {0x937D, 0x515A}, //2643 #CJK UNIFIED IDEOGRAPH
+  {0x937E, 0x51AC}, //2644 #CJK UNIFIED IDEOGRAPH
+  {0x9380, 0x51CD}, //2645 #CJK UNIFIED IDEOGRAPH
+  {0x9381, 0x5200}, //2646 #CJK UNIFIED IDEOGRAPH
+  {0x9382, 0x5510}, //2647 #CJK UNIFIED IDEOGRAPH
+  {0x9383, 0x5854}, //2648 #CJK UNIFIED IDEOGRAPH
+  {0x9384, 0x5858}, //2649 #CJK UNIFIED IDEOGRAPH
+  {0x9385, 0x5957}, //2650 #CJK UNIFIED IDEOGRAPH
+  {0x9386, 0x5B95}, //2651 #CJK UNIFIED IDEOGRAPH
+  {0x9387, 0x5CF6}, //2652 #CJK UNIFIED IDEOGRAPH
+  {0x9388, 0x5D8B}, //2653 #CJK UNIFIED IDEOGRAPH
+  {0x9389, 0x60BC}, //2654 #CJK UNIFIED IDEOGRAPH
+  {0x938A, 0x6295}, //2655 #CJK UNIFIED IDEOGRAPH
+  {0x938B, 0x642D}, //2656 #CJK UNIFIED IDEOGRAPH
+  {0x938C, 0x6771}, //2657 #CJK UNIFIED IDEOGRAPH
+  {0x938D, 0x6843}, //2658 #CJK UNIFIED IDEOGRAPH
+  {0x938E, 0x68BC}, //2659 #CJK UNIFIED IDEOGRAPH
+  {0x938F, 0x68DF}, //2660 #CJK UNIFIED IDEOGRAPH
+  {0x9390, 0x76D7}, //2661 #CJK UNIFIED IDEOGRAPH
+  {0x9391, 0x6DD8}, //2662 #CJK UNIFIED IDEOGRAPH
+  {0x9392, 0x6E6F}, //2663 #CJK UNIFIED IDEOGRAPH
+  {0x9393, 0x6D9B}, //2664 #CJK UNIFIED IDEOGRAPH
+  {0x9394, 0x706F}, //2665 #CJK UNIFIED IDEOGRAPH
+  {0x9395, 0x71C8}, //2666 #CJK UNIFIED IDEOGRAPH
+  {0x9396, 0x5F53}, //2667 #CJK UNIFIED IDEOGRAPH
+  {0x9397, 0x75D8}, //2668 #CJK UNIFIED IDEOGRAPH
+  {0x9398, 0x7977}, //2669 #CJK UNIFIED IDEOGRAPH
+  {0x9399, 0x7B49}, //2670 #CJK UNIFIED IDEOGRAPH
+  {0x939A, 0x7B54}, //2671 #CJK UNIFIED IDEOGRAPH
+  {0x939B, 0x7B52}, //2672 #CJK UNIFIED IDEOGRAPH
+  {0x939C, 0x7CD6}, //2673 #CJK UNIFIED IDEOGRAPH
+  {0x939D, 0x7D71}, //2674 #CJK UNIFIED IDEOGRAPH
+  {0x939E, 0x5230}, //2675 #CJK UNIFIED IDEOGRAPH
+  {0x939F, 0x8463}, //2676 #CJK UNIFIED IDEOGRAPH
+  {0x93A0, 0x8569}, //2677 #CJK UNIFIED IDEOGRAPH
+  {0x93A1, 0x85E4}, //2678 #CJK UNIFIED IDEOGRAPH
+  {0x93A2, 0x8A0E}, //2679 #CJK UNIFIED IDEOGRAPH
+  {0x93A3, 0x8B04}, //2680 #CJK UNIFIED IDEOGRAPH
+  {0x93A4, 0x8C46}, //2681 #CJK UNIFIED IDEOGRAPH
+  {0x93A5, 0x8E0F}, //2682 #CJK UNIFIED IDEOGRAPH
+  {0x93A6, 0x9003}, //2683 #CJK UNIFIED IDEOGRAPH
+  {0x93A7, 0x900F}, //2684 #CJK UNIFIED IDEOGRAPH
+  {0x93A8, 0x9419}, //2685 #CJK UNIFIED IDEOGRAPH
+  {0x93A9, 0x9676}, //2686 #CJK UNIFIED IDEOGRAPH
+  {0x93AA, 0x982D}, //2687 #CJK UNIFIED IDEOGRAPH
+  {0x93AB, 0x9A30}, //2688 #CJK UNIFIED IDEOGRAPH
+  {0x93AC, 0x95D8}, //2689 #CJK UNIFIED IDEOGRAPH
+  {0x93AD, 0x50CD}, //2690 #CJK UNIFIED IDEOGRAPH
+  {0x93AE, 0x52D5}, //2691 #CJK UNIFIED IDEOGRAPH
+  {0x93AF, 0x540C}, //2692 #CJK UNIFIED IDEOGRAPH
+  {0x93B0, 0x5802}, //2693 #CJK UNIFIED IDEOGRAPH
+  {0x93B1, 0x5C0E}, //2694 #CJK UNIFIED IDEOGRAPH
+  {0x93B2, 0x61A7}, //2695 #CJK UNIFIED IDEOGRAPH
+  {0x93B3, 0x649E}, //2696 #CJK UNIFIED IDEOGRAPH
+  {0x93B4, 0x6D1E}, //2697 #CJK UNIFIED IDEOGRAPH
+  {0x93B5, 0x77B3}, //2698 #CJK UNIFIED IDEOGRAPH
+  {0x93B6, 0x7AE5}, //2699 #CJK UNIFIED IDEOGRAPH
+  {0x93B7, 0x80F4}, //2700 #CJK UNIFIED IDEOGRAPH
+  {0x93B8, 0x8404}, //2701 #CJK UNIFIED IDEOGRAPH
+  {0x93B9, 0x9053}, //2702 #CJK UNIFIED IDEOGRAPH
+  {0x93BA, 0x9285}, //2703 #CJK UNIFIED IDEOGRAPH
+  {0x93BB, 0x5CE0}, //2704 #CJK UNIFIED IDEOGRAPH
+  {0x93BC, 0x9D07}, //2705 #CJK UNIFIED IDEOGRAPH
+  {0x93BD, 0x533F}, //2706 #CJK UNIFIED IDEOGRAPH
+  {0x93BE, 0x5F97}, //2707 #CJK UNIFIED IDEOGRAPH
+  {0x93BF, 0x5FB3}, //2708 #CJK UNIFIED IDEOGRAPH
+  {0x93C0, 0x6D9C}, //2709 #CJK UNIFIED IDEOGRAPH
+  {0x93C1, 0x7279}, //2710 #CJK UNIFIED IDEOGRAPH
+  {0x93C2, 0x7763}, //2711 #CJK UNIFIED IDEOGRAPH
+  {0x93C3, 0x79BF}, //2712 #CJK UNIFIED IDEOGRAPH
+  {0x93C4, 0x7BE4}, //2713 #CJK UNIFIED IDEOGRAPH
+  {0x93C5, 0x6BD2}, //2714 #CJK UNIFIED IDEOGRAPH
+  {0x93C6, 0x72EC}, //2715 #CJK UNIFIED IDEOGRAPH
+  {0x93C7, 0x8AAD}, //2716 #CJK UNIFIED IDEOGRAPH
+  {0x93C8, 0x6803}, //2717 #CJK UNIFIED IDEOGRAPH
+  {0x93C9, 0x6A61}, //2718 #CJK UNIFIED IDEOGRAPH
+  {0x93CA, 0x51F8}, //2719 #CJK UNIFIED IDEOGRAPH
+  {0x93CB, 0x7A81}, //2720 #CJK UNIFIED IDEOGRAPH
+  {0x93CC, 0x6934}, //2721 #CJK UNIFIED IDEOGRAPH
+  {0x93CD, 0x5C4A}, //2722 #CJK UNIFIED IDEOGRAPH
+  {0x93CE, 0x9CF6}, //2723 #CJK UNIFIED IDEOGRAPH
+  {0x93CF, 0x82EB}, //2724 #CJK UNIFIED IDEOGRAPH
+  {0x93D0, 0x5BC5}, //2725 #CJK UNIFIED IDEOGRAPH
+  {0x93D1, 0x9149}, //2726 #CJK UNIFIED IDEOGRAPH
+  {0x93D2, 0x701E}, //2727 #CJK UNIFIED IDEOGRAPH
+  {0x93D3, 0x5678}, //2728 #CJK UNIFIED IDEOGRAPH
+  {0x93D4, 0x5C6F}, //2729 #CJK UNIFIED IDEOGRAPH
+  {0x93D5, 0x60C7}, //2730 #CJK UNIFIED IDEOGRAPH
+  {0x93D6, 0x6566}, //2731 #CJK UNIFIED IDEOGRAPH
+  {0x93D7, 0x6C8C}, //2732 #CJK UNIFIED IDEOGRAPH
+  {0x93D8, 0x8C5A}, //2733 #CJK UNIFIED IDEOGRAPH
+  {0x93D9, 0x9041}, //2734 #CJK UNIFIED IDEOGRAPH
+  {0x93DA, 0x9813}, //2735 #CJK UNIFIED IDEOGRAPH
+  {0x93DB, 0x5451}, //2736 #CJK UNIFIED IDEOGRAPH
+  {0x93DC, 0x66C7}, //2737 #CJK UNIFIED IDEOGRAPH
+  {0x93DD, 0x920D}, //2738 #CJK UNIFIED IDEOGRAPH
+  {0x93DE, 0x5948}, //2739 #CJK UNIFIED IDEOGRAPH
+  {0x93DF, 0x90A3}, //2740 #CJK UNIFIED IDEOGRAPH
+  {0x93E0, 0x5185}, //2741 #CJK UNIFIED IDEOGRAPH
+  {0x93E1, 0x4E4D}, //2742 #CJK UNIFIED IDEOGRAPH
+  {0x93E2, 0x51EA}, //2743 #CJK UNIFIED IDEOGRAPH
+  {0x93E3, 0x8599}, //2744 #CJK UNIFIED IDEOGRAPH
+  {0x93E4, 0x8B0E}, //2745 #CJK UNIFIED IDEOGRAPH
+  {0x93E5, 0x7058}, //2746 #CJK UNIFIED IDEOGRAPH
+  {0x93E6, 0x637A}, //2747 #CJK UNIFIED IDEOGRAPH
+  {0x93E7, 0x934B}, //2748 #CJK UNIFIED IDEOGRAPH
+  {0x93E8, 0x6962}, //2749 #CJK UNIFIED IDEOGRAPH
+  {0x93E9, 0x99B4}, //2750 #CJK UNIFIED IDEOGRAPH
+  {0x93EA, 0x7E04}, //2751 #CJK UNIFIED IDEOGRAPH
+  {0x93EB, 0x7577}, //2752 #CJK UNIFIED IDEOGRAPH
+  {0x93EC, 0x5357}, //2753 #CJK UNIFIED IDEOGRAPH
+  {0x93ED, 0x6960}, //2754 #CJK UNIFIED IDEOGRAPH
+  {0x93EE, 0x8EDF}, //2755 #CJK UNIFIED IDEOGRAPH
+  {0x93EF, 0x96E3}, //2756 #CJK UNIFIED IDEOGRAPH
+  {0x93F0, 0x6C5D}, //2757 #CJK UNIFIED IDEOGRAPH
+  {0x93F1, 0x4E8C}, //2758 #CJK UNIFIED IDEOGRAPH
+  {0x93F2, 0x5C3C}, //2759 #CJK UNIFIED IDEOGRAPH
+  {0x93F3, 0x5F10}, //2760 #CJK UNIFIED IDEOGRAPH
+  {0x93F4, 0x8FE9}, //2761 #CJK UNIFIED IDEOGRAPH
+  {0x93F5, 0x5302}, //2762 #CJK UNIFIED IDEOGRAPH
+  {0x93F6, 0x8CD1}, //2763 #CJK UNIFIED IDEOGRAPH
+  {0x93F7, 0x8089}, //2764 #CJK UNIFIED IDEOGRAPH
+  {0x93F8, 0x8679}, //2765 #CJK UNIFIED IDEOGRAPH
+  {0x93F9, 0x5EFF}, //2766 #CJK UNIFIED IDEOGRAPH
+  {0x93FA, 0x65E5}, //2767 #CJK UNIFIED IDEOGRAPH
+  {0x93FB, 0x4E73}, //2768 #CJK UNIFIED IDEOGRAPH
+  {0x93FC, 0x5165}, //2769 #CJK UNIFIED IDEOGRAPH
+  {0x9440, 0x5982}, //2770 #CJK UNIFIED IDEOGRAPH
+  {0x9441, 0x5C3F}, //2771 #CJK UNIFIED IDEOGRAPH
+  {0x9442, 0x97EE}, //2772 #CJK UNIFIED IDEOGRAPH
+  {0x9443, 0x4EFB}, //2773 #CJK UNIFIED IDEOGRAPH
+  {0x9444, 0x598A}, //2774 #CJK UNIFIED IDEOGRAPH
+  {0x9445, 0x5FCD}, //2775 #CJK UNIFIED IDEOGRAPH
+  {0x9446, 0x8A8D}, //2776 #CJK UNIFIED IDEOGRAPH
+  {0x9447, 0x6FE1}, //2777 #CJK UNIFIED IDEOGRAPH
+  {0x9448, 0x79B0}, //2778 #CJK UNIFIED IDEOGRAPH
+  {0x9449, 0x7962}, //2779 #CJK UNIFIED IDEOGRAPH
+  {0x944A, 0x5BE7}, //2780 #CJK UNIFIED IDEOGRAPH
+  {0x944B, 0x8471}, //2781 #CJK UNIFIED IDEOGRAPH
+  {0x944C, 0x732B}, //2782 #CJK UNIFIED IDEOGRAPH
+  {0x944D, 0x71B1}, //2783 #CJK UNIFIED IDEOGRAPH
+  {0x944E, 0x5E74}, //2784 #CJK UNIFIED IDEOGRAPH
+  {0x944F, 0x5FF5}, //2785 #CJK UNIFIED IDEOGRAPH
+  {0x9450, 0x637B}, //2786 #CJK UNIFIED IDEOGRAPH
+  {0x9451, 0x649A}, //2787 #CJK UNIFIED IDEOGRAPH
+  {0x9452, 0x71C3}, //2788 #CJK UNIFIED IDEOGRAPH
+  {0x9453, 0x7C98}, //2789 #CJK UNIFIED IDEOGRAPH
+  {0x9454, 0x4E43}, //2790 #CJK UNIFIED IDEOGRAPH
+  {0x9455, 0x5EFC}, //2791 #CJK UNIFIED IDEOGRAPH
+  {0x9456, 0x4E4B}, //2792 #CJK UNIFIED IDEOGRAPH
+  {0x9457, 0x57DC}, //2793 #CJK UNIFIED IDEOGRAPH
+  {0x9458, 0x56A2}, //2794 #CJK UNIFIED IDEOGRAPH
+  {0x9459, 0x60A9}, //2795 #CJK UNIFIED IDEOGRAPH
+  {0x945A, 0x6FC3}, //2796 #CJK UNIFIED IDEOGRAPH
+  {0x945B, 0x7D0D}, //2797 #CJK UNIFIED IDEOGRAPH
+  {0x945C, 0x80FD}, //2798 #CJK UNIFIED IDEOGRAPH
+  {0x945D, 0x8133}, //2799 #CJK UNIFIED IDEOGRAPH
+  {0x945E, 0x81BF}, //2800 #CJK UNIFIED IDEOGRAPH
+  {0x945F, 0x8FB2}, //2801 #CJK UNIFIED IDEOGRAPH
+  {0x9460, 0x8997}, //2802 #CJK UNIFIED IDEOGRAPH
+  {0x9461, 0x86A4}, //2803 #CJK UNIFIED IDEOGRAPH
+  {0x9462, 0x5DF4}, //2804 #CJK UNIFIED IDEOGRAPH
+  {0x9463, 0x628A}, //2805 #CJK UNIFIED IDEOGRAPH
+  {0x9464, 0x64AD}, //2806 #CJK UNIFIED IDEOGRAPH
+  {0x9465, 0x8987}, //2807 #CJK UNIFIED IDEOGRAPH
+  {0x9466, 0x6777}, //2808 #CJK UNIFIED IDEOGRAPH
+  {0x9467, 0x6CE2}, //2809 #CJK UNIFIED IDEOGRAPH
+  {0x9468, 0x6D3E}, //2810 #CJK UNIFIED IDEOGRAPH
+  {0x9469, 0x7436}, //2811 #CJK UNIFIED IDEOGRAPH
+  {0x946A, 0x7834}, //2812 #CJK UNIFIED IDEOGRAPH
+  {0x946B, 0x5A46}, //2813 #CJK UNIFIED IDEOGRAPH
+  {0x946C, 0x7F75}, //2814 #CJK UNIFIED IDEOGRAPH
+  {0x946D, 0x82AD}, //2815 #CJK UNIFIED IDEOGRAPH
+  {0x946E, 0x99AC}, //2816 #CJK UNIFIED IDEOGRAPH
+  {0x946F, 0x4FF3}, //2817 #CJK UNIFIED IDEOGRAPH
+  {0x9470, 0x5EC3}, //2818 #CJK UNIFIED IDEOGRAPH
+  {0x9471, 0x62DD}, //2819 #CJK UNIFIED IDEOGRAPH
+  {0x9472, 0x6392}, //2820 #CJK UNIFIED IDEOGRAPH
+  {0x9473, 0x6557}, //2821 #CJK UNIFIED IDEOGRAPH
+  {0x9474, 0x676F}, //2822 #CJK UNIFIED IDEOGRAPH
+  {0x9475, 0x76C3}, //2823 #CJK UNIFIED IDEOGRAPH
+  {0x9476, 0x724C}, //2824 #CJK UNIFIED IDEOGRAPH
+  {0x9477, 0x80CC}, //2825 #CJK UNIFIED IDEOGRAPH
+  {0x9478, 0x80BA}, //2826 #CJK UNIFIED IDEOGRAPH
+  {0x9479, 0x8F29}, //2827 #CJK UNIFIED IDEOGRAPH
+  {0x947A, 0x914D}, //2828 #CJK UNIFIED IDEOGRAPH
+  {0x947B, 0x500D}, //2829 #CJK UNIFIED IDEOGRAPH
+  {0x947C, 0x57F9}, //2830 #CJK UNIFIED IDEOGRAPH
+  {0x947D, 0x5A92}, //2831 #CJK UNIFIED IDEOGRAPH
+  {0x947E, 0x6885}, //2832 #CJK UNIFIED IDEOGRAPH
+  {0x9480, 0x6973}, //2833 #CJK UNIFIED IDEOGRAPH
+  {0x9481, 0x7164}, //2834 #CJK UNIFIED IDEOGRAPH
+  {0x9482, 0x72FD}, //2835 #CJK UNIFIED IDEOGRAPH
+  {0x9483, 0x8CB7}, //2836 #CJK UNIFIED IDEOGRAPH
+  {0x9484, 0x58F2}, //2837 #CJK UNIFIED IDEOGRAPH
+  {0x9485, 0x8CE0}, //2838 #CJK UNIFIED IDEOGRAPH
+  {0x9486, 0x966A}, //2839 #CJK UNIFIED IDEOGRAPH
+  {0x9487, 0x9019}, //2840 #CJK UNIFIED IDEOGRAPH
+  {0x9488, 0x877F}, //2841 #CJK UNIFIED IDEOGRAPH
+  {0x9489, 0x79E4}, //2842 #CJK UNIFIED IDEOGRAPH
+  {0x948A, 0x77E7}, //2843 #CJK UNIFIED IDEOGRAPH
+  {0x948B, 0x8429}, //2844 #CJK UNIFIED IDEOGRAPH
+  {0x948C, 0x4F2F}, //2845 #CJK UNIFIED IDEOGRAPH
+  {0x948D, 0x5265}, //2846 #CJK UNIFIED IDEOGRAPH
+  {0x948E, 0x535A}, //2847 #CJK UNIFIED IDEOGRAPH
+  {0x948F, 0x62CD}, //2848 #CJK UNIFIED IDEOGRAPH
+  {0x9490, 0x67CF}, //2849 #CJK UNIFIED IDEOGRAPH
+  {0x9491, 0x6CCA}, //2850 #CJK UNIFIED IDEOGRAPH
+  {0x9492, 0x767D}, //2851 #CJK UNIFIED IDEOGRAPH
+  {0x9493, 0x7B94}, //2852 #CJK UNIFIED IDEOGRAPH
+  {0x9494, 0x7C95}, //2853 #CJK UNIFIED IDEOGRAPH
+  {0x9495, 0x8236}, //2854 #CJK UNIFIED IDEOGRAPH
+  {0x9496, 0x8584}, //2855 #CJK UNIFIED IDEOGRAPH
+  {0x9497, 0x8FEB}, //2856 #CJK UNIFIED IDEOGRAPH
+  {0x9498, 0x66DD}, //2857 #CJK UNIFIED IDEOGRAPH
+  {0x9499, 0x6F20}, //2858 #CJK UNIFIED IDEOGRAPH
+  {0x949A, 0x7206}, //2859 #CJK UNIFIED IDEOGRAPH
+  {0x949B, 0x7E1B}, //2860 #CJK UNIFIED IDEOGRAPH
+  {0x949C, 0x83AB}, //2861 #CJK UNIFIED IDEOGRAPH
+  {0x949D, 0x99C1}, //2862 #CJK UNIFIED IDEOGRAPH
+  {0x949E, 0x9EA6}, //2863 #CJK UNIFIED IDEOGRAPH
+  {0x949F, 0x51FD}, //2864 #CJK UNIFIED IDEOGRAPH
+  {0x94A0, 0x7BB1}, //2865 #CJK UNIFIED IDEOGRAPH
+  {0x94A1, 0x7872}, //2866 #CJK UNIFIED IDEOGRAPH
+  {0x94A2, 0x7BB8}, //2867 #CJK UNIFIED IDEOGRAPH
+  {0x94A3, 0x8087}, //2868 #CJK UNIFIED IDEOGRAPH
+  {0x94A4, 0x7B48}, //2869 #CJK UNIFIED IDEOGRAPH
+  {0x94A5, 0x6AE8}, //2870 #CJK UNIFIED IDEOGRAPH
+  {0x94A6, 0x5E61}, //2871 #CJK UNIFIED IDEOGRAPH
+  {0x94A7, 0x808C}, //2872 #CJK UNIFIED IDEOGRAPH
+  {0x94A8, 0x7551}, //2873 #CJK UNIFIED IDEOGRAPH
+  {0x94A9, 0x7560}, //2874 #CJK UNIFIED IDEOGRAPH
+  {0x94AA, 0x516B}, //2875 #CJK UNIFIED IDEOGRAPH
+  {0x94AB, 0x9262}, //2876 #CJK UNIFIED IDEOGRAPH
+  {0x94AC, 0x6E8C}, //2877 #CJK UNIFIED IDEOGRAPH
+  {0x94AD, 0x767A}, //2878 #CJK UNIFIED IDEOGRAPH
+  {0x94AE, 0x9197}, //2879 #CJK UNIFIED IDEOGRAPH
+  {0x94AF, 0x9AEA}, //2880 #CJK UNIFIED IDEOGRAPH
+  {0x94B0, 0x4F10}, //2881 #CJK UNIFIED IDEOGRAPH
+  {0x94B1, 0x7F70}, //2882 #CJK UNIFIED IDEOGRAPH
+  {0x94B2, 0x629C}, //2883 #CJK UNIFIED IDEOGRAPH
+  {0x94B3, 0x7B4F}, //2884 #CJK UNIFIED IDEOGRAPH
+  {0x94B4, 0x95A5}, //2885 #CJK UNIFIED IDEOGRAPH
+  {0x94B5, 0x9CE9}, //2886 #CJK UNIFIED IDEOGRAPH
+  {0x94B6, 0x567A}, //2887 #CJK UNIFIED IDEOGRAPH
+  {0x94B7, 0x5859}, //2888 #CJK UNIFIED IDEOGRAPH
+  {0x94B8, 0x86E4}, //2889 #CJK UNIFIED IDEOGRAPH
+  {0x94B9, 0x96BC}, //2890 #CJK UNIFIED IDEOGRAPH
+  {0x94BA, 0x4F34}, //2891 #CJK UNIFIED IDEOGRAPH
+  {0x94BB, 0x5224}, //2892 #CJK UNIFIED IDEOGRAPH
+  {0x94BC, 0x534A}, //2893 #CJK UNIFIED IDEOGRAPH
+  {0x94BD, 0x53CD}, //2894 #CJK UNIFIED IDEOGRAPH
+  {0x94BE, 0x53DB}, //2895 #CJK UNIFIED IDEOGRAPH
+  {0x94BF, 0x5E06}, //2896 #CJK UNIFIED IDEOGRAPH
+  {0x94C0, 0x642C}, //2897 #CJK UNIFIED IDEOGRAPH
+  {0x94C1, 0x6591}, //2898 #CJK UNIFIED IDEOGRAPH
+  {0x94C2, 0x677F}, //2899 #CJK UNIFIED IDEOGRAPH
+  {0x94C3, 0x6C3E}, //2900 #CJK UNIFIED IDEOGRAPH
+  {0x94C4, 0x6C4E}, //2901 #CJK UNIFIED IDEOGRAPH
+  {0x94C5, 0x7248}, //2902 #CJK UNIFIED IDEOGRAPH
+  {0x94C6, 0x72AF}, //2903 #CJK UNIFIED IDEOGRAPH
+  {0x94C7, 0x73ED}, //2904 #CJK UNIFIED IDEOGRAPH
+  {0x94C8, 0x7554}, //2905 #CJK UNIFIED IDEOGRAPH
+  {0x94C9, 0x7E41}, //2906 #CJK UNIFIED IDEOGRAPH
+  {0x94CA, 0x822C}, //2907 #CJK UNIFIED IDEOGRAPH
+  {0x94CB, 0x85E9}, //2908 #CJK UNIFIED IDEOGRAPH
+  {0x94CC, 0x8CA9}, //2909 #CJK UNIFIED IDEOGRAPH
+  {0x94CD, 0x7BC4}, //2910 #CJK UNIFIED IDEOGRAPH
+  {0x94CE, 0x91C6}, //2911 #CJK UNIFIED IDEOGRAPH
+  {0x94CF, 0x7169}, //2912 #CJK UNIFIED IDEOGRAPH
+  {0x94D0, 0x9812}, //2913 #CJK UNIFIED IDEOGRAPH
+  {0x94D1, 0x98EF}, //2914 #CJK UNIFIED IDEOGRAPH
+  {0x94D2, 0x633D}, //2915 #CJK UNIFIED IDEOGRAPH
+  {0x94D3, 0x6669}, //2916 #CJK UNIFIED IDEOGRAPH
+  {0x94D4, 0x756A}, //2917 #CJK UNIFIED IDEOGRAPH
+  {0x94D5, 0x76E4}, //2918 #CJK UNIFIED IDEOGRAPH
+  {0x94D6, 0x78D0}, //2919 #CJK UNIFIED IDEOGRAPH
+  {0x94D7, 0x8543}, //2920 #CJK UNIFIED IDEOGRAPH
+  {0x94D8, 0x86EE}, //2921 #CJK UNIFIED IDEOGRAPH
+  {0x94D9, 0x532A}, //2922 #CJK UNIFIED IDEOGRAPH
+  {0x94DA, 0x5351}, //2923 #CJK UNIFIED IDEOGRAPH
+  {0x94DB, 0x5426}, //2924 #CJK UNIFIED IDEOGRAPH
+  {0x94DC, 0x5983}, //2925 #CJK UNIFIED IDEOGRAPH
+  {0x94DD, 0x5E87}, //2926 #CJK UNIFIED IDEOGRAPH
+  {0x94DE, 0x5F7C}, //2927 #CJK UNIFIED IDEOGRAPH
+  {0x94DF, 0x60B2}, //2928 #CJK UNIFIED IDEOGRAPH
+  {0x94E0, 0x6249}, //2929 #CJK UNIFIED IDEOGRAPH
+  {0x94E1, 0x6279}, //2930 #CJK UNIFIED IDEOGRAPH
+  {0x94E2, 0x62AB}, //2931 #CJK UNIFIED IDEOGRAPH
+  {0x94E3, 0x6590}, //2932 #CJK UNIFIED IDEOGRAPH
+  {0x94E4, 0x6BD4}, //2933 #CJK UNIFIED IDEOGRAPH
+  {0x94E5, 0x6CCC}, //2934 #CJK UNIFIED IDEOGRAPH
+  {0x94E6, 0x75B2}, //2935 #CJK UNIFIED IDEOGRAPH
+  {0x94E7, 0x76AE}, //2936 #CJK UNIFIED IDEOGRAPH
+  {0x94E8, 0x7891}, //2937 #CJK UNIFIED IDEOGRAPH
+  {0x94E9, 0x79D8}, //2938 #CJK UNIFIED IDEOGRAPH
+  {0x94EA, 0x7DCB}, //2939 #CJK UNIFIED IDEOGRAPH
+  {0x94EB, 0x7F77}, //2940 #CJK UNIFIED IDEOGRAPH
+  {0x94EC, 0x80A5}, //2941 #CJK UNIFIED IDEOGRAPH
+  {0x94ED, 0x88AB}, //2942 #CJK UNIFIED IDEOGRAPH
+  {0x94EE, 0x8AB9}, //2943 #CJK UNIFIED IDEOGRAPH
+  {0x94EF, 0x8CBB}, //2944 #CJK UNIFIED IDEOGRAPH
+  {0x94F0, 0x907F}, //2945 #CJK UNIFIED IDEOGRAPH
+  {0x94F1, 0x975E}, //2946 #CJK UNIFIED IDEOGRAPH
+  {0x94F2, 0x98DB}, //2947 #CJK UNIFIED IDEOGRAPH
+  {0x94F3, 0x6A0B}, //2948 #CJK UNIFIED IDEOGRAPH
+  {0x94F4, 0x7C38}, //2949 #CJK UNIFIED IDEOGRAPH
+  {0x94F5, 0x5099}, //2950 #CJK UNIFIED IDEOGRAPH
+  {0x94F6, 0x5C3E}, //2951 #CJK UNIFIED IDEOGRAPH
+  {0x94F7, 0x5FAE}, //2952 #CJK UNIFIED IDEOGRAPH
+  {0x94F8, 0x6787}, //2953 #CJK UNIFIED IDEOGRAPH
+  {0x94F9, 0x6BD8}, //2954 #CJK UNIFIED IDEOGRAPH
+  {0x94FA, 0x7435}, //2955 #CJK UNIFIED IDEOGRAPH
+  {0x94FB, 0x7709}, //2956 #CJK UNIFIED IDEOGRAPH
+  {0x94FC, 0x7F8E}, //2957 #CJK UNIFIED IDEOGRAPH
+  {0x9540, 0x9F3B}, //2958 #CJK UNIFIED IDEOGRAPH
+  {0x9541, 0x67CA}, //2959 #CJK UNIFIED IDEOGRAPH
+  {0x9542, 0x7A17}, //2960 #CJK UNIFIED IDEOGRAPH
+  {0x9543, 0x5339}, //2961 #CJK UNIFIED IDEOGRAPH
+  {0x9544, 0x758B}, //2962 #CJK UNIFIED IDEOGRAPH
+  {0x9545, 0x9AED}, //2963 #CJK UNIFIED IDEOGRAPH
+  {0x9546, 0x5F66}, //2964 #CJK UNIFIED IDEOGRAPH
+  {0x9547, 0x819D}, //2965 #CJK UNIFIED IDEOGRAPH
+  {0x9548, 0x83F1}, //2966 #CJK UNIFIED IDEOGRAPH
+  {0x9549, 0x8098}, //2967 #CJK UNIFIED IDEOGRAPH
+  {0x954A, 0x5F3C}, //2968 #CJK UNIFIED IDEOGRAPH
+  {0x954B, 0x5FC5}, //2969 #CJK UNIFIED IDEOGRAPH
+  {0x954C, 0x7562}, //2970 #CJK UNIFIED IDEOGRAPH
+  {0x954D, 0x7B46}, //2971 #CJK UNIFIED IDEOGRAPH
+  {0x954E, 0x903C}, //2972 #CJK UNIFIED IDEOGRAPH
+  {0x954F, 0x6867}, //2973 #CJK UNIFIED IDEOGRAPH
+  {0x9550, 0x59EB}, //2974 #CJK UNIFIED IDEOGRAPH
+  {0x9551, 0x5A9B}, //2975 #CJK UNIFIED IDEOGRAPH
+  {0x9552, 0x7D10}, //2976 #CJK UNIFIED IDEOGRAPH
+  {0x9553, 0x767E}, //2977 #CJK UNIFIED IDEOGRAPH
+  {0x9554, 0x8B2C}, //2978 #CJK UNIFIED IDEOGRAPH
+  {0x9555, 0x4FF5}, //2979 #CJK UNIFIED IDEOGRAPH
+  {0x9556, 0x5F6A}, //2980 #CJK UNIFIED IDEOGRAPH
+  {0x9557, 0x6A19}, //2981 #CJK UNIFIED IDEOGRAPH
+  {0x9558, 0x6C37}, //2982 #CJK UNIFIED IDEOGRAPH
+  {0x9559, 0x6F02}, //2983 #CJK UNIFIED IDEOGRAPH
+  {0x955A, 0x74E2}, //2984 #CJK UNIFIED IDEOGRAPH
+  {0x955B, 0x7968}, //2985 #CJK UNIFIED IDEOGRAPH
+  {0x955C, 0x8868}, //2986 #CJK UNIFIED IDEOGRAPH
+  {0x955D, 0x8A55}, //2987 #CJK UNIFIED IDEOGRAPH
+  {0x955E, 0x8C79}, //2988 #CJK UNIFIED IDEOGRAPH
+  {0x955F, 0x5EDF}, //2989 #CJK UNIFIED IDEOGRAPH
+  {0x9560, 0x63CF}, //2990 #CJK UNIFIED IDEOGRAPH
+  {0x9561, 0x75C5}, //2991 #CJK UNIFIED IDEOGRAPH
+  {0x9562, 0x79D2}, //2992 #CJK UNIFIED IDEOGRAPH
+  {0x9563, 0x82D7}, //2993 #CJK UNIFIED IDEOGRAPH
+  {0x9564, 0x9328}, //2994 #CJK UNIFIED IDEOGRAPH
+  {0x9565, 0x92F2}, //2995 #CJK UNIFIED IDEOGRAPH
+  {0x9566, 0x849C}, //2996 #CJK UNIFIED IDEOGRAPH
+  {0x9567, 0x86ED}, //2997 #CJK UNIFIED IDEOGRAPH
+  {0x9568, 0x9C2D}, //2998 #CJK UNIFIED IDEOGRAPH
+  {0x9569, 0x54C1}, //2999 #CJK UNIFIED IDEOGRAPH
+  {0x956A, 0x5F6C}, //3000 #CJK UNIFIED IDEOGRAPH
+  {0x956B, 0x658C}, //3001 #CJK UNIFIED IDEOGRAPH
+  {0x956C, 0x6D5C}, //3002 #CJK UNIFIED IDEOGRAPH
+  {0x956D, 0x7015}, //3003 #CJK UNIFIED IDEOGRAPH
+  {0x956E, 0x8CA7}, //3004 #CJK UNIFIED IDEOGRAPH
+  {0x956F, 0x8CD3}, //3005 #CJK UNIFIED IDEOGRAPH
+  {0x9570, 0x983B}, //3006 #CJK UNIFIED IDEOGRAPH
+  {0x9571, 0x654F}, //3007 #CJK UNIFIED IDEOGRAPH
+  {0x9572, 0x74F6}, //3008 #CJK UNIFIED IDEOGRAPH
+  {0x9573, 0x4E0D}, //3009 #CJK UNIFIED IDEOGRAPH
+  {0x9574, 0x4ED8}, //3010 #CJK UNIFIED IDEOGRAPH
+  {0x9575, 0x57E0}, //3011 #CJK UNIFIED IDEOGRAPH
+  {0x9576, 0x592B}, //3012 #CJK UNIFIED IDEOGRAPH
+  {0x9577, 0x5A66}, //3013 #CJK UNIFIED IDEOGRAPH
+  {0x9578, 0x5BCC}, //3014 #CJK UNIFIED IDEOGRAPH
+  {0x9579, 0x51A8}, //3015 #CJK UNIFIED IDEOGRAPH
+  {0x957A, 0x5E03}, //3016 #CJK UNIFIED IDEOGRAPH
+  {0x957B, 0x5E9C}, //3017 #CJK UNIFIED IDEOGRAPH
+  {0x957C, 0x6016}, //3018 #CJK UNIFIED IDEOGRAPH
+  {0x957D, 0x6276}, //3019 #CJK UNIFIED IDEOGRAPH
+  {0x957E, 0x6577}, //3020 #CJK UNIFIED IDEOGRAPH
+  {0x9580, 0x65A7}, //3021 #CJK UNIFIED IDEOGRAPH
+  {0x9581, 0x666E}, //3022 #CJK UNIFIED IDEOGRAPH
+  {0x9582, 0x6D6E}, //3023 #CJK UNIFIED IDEOGRAPH
+  {0x9583, 0x7236}, //3024 #CJK UNIFIED IDEOGRAPH
+  {0x9584, 0x7B26}, //3025 #CJK UNIFIED IDEOGRAPH
+  {0x9585, 0x8150}, //3026 #CJK UNIFIED IDEOGRAPH
+  {0x9586, 0x819A}, //3027 #CJK UNIFIED IDEOGRAPH
+  {0x9587, 0x8299}, //3028 #CJK UNIFIED IDEOGRAPH
+  {0x9588, 0x8B5C}, //3029 #CJK UNIFIED IDEOGRAPH
+  {0x9589, 0x8CA0}, //3030 #CJK UNIFIED IDEOGRAPH
+  {0x958A, 0x8CE6}, //3031 #CJK UNIFIED IDEOGRAPH
+  {0x958B, 0x8D74}, //3032 #CJK UNIFIED IDEOGRAPH
+  {0x958C, 0x961C}, //3033 #CJK UNIFIED IDEOGRAPH
+  {0x958D, 0x9644}, //3034 #CJK UNIFIED IDEOGRAPH
+  {0x958E, 0x4FAE}, //3035 #CJK UNIFIED IDEOGRAPH
+  {0x958F, 0x64AB}, //3036 #CJK UNIFIED IDEOGRAPH
+  {0x9590, 0x6B66}, //3037 #CJK UNIFIED IDEOGRAPH
+  {0x9591, 0x821E}, //3038 #CJK UNIFIED IDEOGRAPH
+  {0x9592, 0x8461}, //3039 #CJK UNIFIED IDEOGRAPH
+  {0x9593, 0x856A}, //3040 #CJK UNIFIED IDEOGRAPH
+  {0x9594, 0x90E8}, //3041 #CJK UNIFIED IDEOGRAPH
+  {0x9595, 0x5C01}, //3042 #CJK UNIFIED IDEOGRAPH
+  {0x9596, 0x6953}, //3043 #CJK UNIFIED IDEOGRAPH
+  {0x9597, 0x98A8}, //3044 #CJK UNIFIED IDEOGRAPH
+  {0x9598, 0x847A}, //3045 #CJK UNIFIED IDEOGRAPH
+  {0x9599, 0x8557}, //3046 #CJK UNIFIED IDEOGRAPH
+  {0x959A, 0x4F0F}, //3047 #CJK UNIFIED IDEOGRAPH
+  {0x959B, 0x526F}, //3048 #CJK UNIFIED IDEOGRAPH
+  {0x959C, 0x5FA9}, //3049 #CJK UNIFIED IDEOGRAPH
+  {0x959D, 0x5E45}, //3050 #CJK UNIFIED IDEOGRAPH
+  {0x959E, 0x670D}, //3051 #CJK UNIFIED IDEOGRAPH
+  {0x959F, 0x798F}, //3052 #CJK UNIFIED IDEOGRAPH
+  {0x95A0, 0x8179}, //3053 #CJK UNIFIED IDEOGRAPH
+  {0x95A1, 0x8907}, //3054 #CJK UNIFIED IDEOGRAPH
+  {0x95A2, 0x8986}, //3055 #CJK UNIFIED IDEOGRAPH
+  {0x95A3, 0x6DF5}, //3056 #CJK UNIFIED IDEOGRAPH
+  {0x95A4, 0x5F17}, //3057 #CJK UNIFIED IDEOGRAPH
+  {0x95A5, 0x6255}, //3058 #CJK UNIFIED IDEOGRAPH
+  {0x95A6, 0x6CB8}, //3059 #CJK UNIFIED IDEOGRAPH
+  {0x95A7, 0x4ECF}, //3060 #CJK UNIFIED IDEOGRAPH
+  {0x95A8, 0x7269}, //3061 #CJK UNIFIED IDEOGRAPH
+  {0x95A9, 0x9B92}, //3062 #CJK UNIFIED IDEOGRAPH
+  {0x95AA, 0x5206}, //3063 #CJK UNIFIED IDEOGRAPH
+  {0x95AB, 0x543B}, //3064 #CJK UNIFIED IDEOGRAPH
+  {0x95AC, 0x5674}, //3065 #CJK UNIFIED IDEOGRAPH
+  {0x95AD, 0x58B3}, //3066 #CJK UNIFIED IDEOGRAPH
+  {0x95AE, 0x61A4}, //3067 #CJK UNIFIED IDEOGRAPH
+  {0x95AF, 0x626E}, //3068 #CJK UNIFIED IDEOGRAPH
+  {0x95B0, 0x711A}, //3069 #CJK UNIFIED IDEOGRAPH
+  {0x95B1, 0x596E}, //3070 #CJK UNIFIED IDEOGRAPH
+  {0x95B2, 0x7C89}, //3071 #CJK UNIFIED IDEOGRAPH
+  {0x95B3, 0x7CDE}, //3072 #CJK UNIFIED IDEOGRAPH
+  {0x95B4, 0x7D1B}, //3073 #CJK UNIFIED IDEOGRAPH
+  {0x95B5, 0x96F0}, //3074 #CJK UNIFIED IDEOGRAPH
+  {0x95B6, 0x6587}, //3075 #CJK UNIFIED IDEOGRAPH
+  {0x95B7, 0x805E}, //3076 #CJK UNIFIED IDEOGRAPH
+  {0x95B8, 0x4E19}, //3077 #CJK UNIFIED IDEOGRAPH
+  {0x95B9, 0x4F75}, //3078 #CJK UNIFIED IDEOGRAPH
+  {0x95BA, 0x5175}, //3079 #CJK UNIFIED IDEOGRAPH
+  {0x95BB, 0x5840}, //3080 #CJK UNIFIED IDEOGRAPH
+  {0x95BC, 0x5E63}, //3081 #CJK UNIFIED IDEOGRAPH
+  {0x95BD, 0x5E73}, //3082 #CJK UNIFIED IDEOGRAPH
+  {0x95BE, 0x5F0A}, //3083 #CJK UNIFIED IDEOGRAPH
+  {0x95BF, 0x67C4}, //3084 #CJK UNIFIED IDEOGRAPH
+  {0x95C0, 0x4E26}, //3085 #CJK UNIFIED IDEOGRAPH
+  {0x95C1, 0x853D}, //3086 #CJK UNIFIED IDEOGRAPH
+  {0x95C2, 0x9589}, //3087 #CJK UNIFIED IDEOGRAPH
+  {0x95C3, 0x965B}, //3088 #CJK UNIFIED IDEOGRAPH
+  {0x95C4, 0x7C73}, //3089 #CJK UNIFIED IDEOGRAPH
+  {0x95C5, 0x9801}, //3090 #CJK UNIFIED IDEOGRAPH
+  {0x95C6, 0x50FB}, //3091 #CJK UNIFIED IDEOGRAPH
+  {0x95C7, 0x58C1}, //3092 #CJK UNIFIED IDEOGRAPH
+  {0x95C8, 0x7656}, //3093 #CJK UNIFIED IDEOGRAPH
+  {0x95C9, 0x78A7}, //3094 #CJK UNIFIED IDEOGRAPH
+  {0x95CA, 0x5225}, //3095 #CJK UNIFIED IDEOGRAPH
+  {0x95CB, 0x77A5}, //3096 #CJK UNIFIED IDEOGRAPH
+  {0x95CC, 0x8511}, //3097 #CJK UNIFIED IDEOGRAPH
+  {0x95CD, 0x7B86}, //3098 #CJK UNIFIED IDEOGRAPH
+  {0x95CE, 0x504F}, //3099 #CJK UNIFIED IDEOGRAPH
+  {0x95CF, 0x5909}, //3100 #CJK UNIFIED IDEOGRAPH
+  {0x95D0, 0x7247}, //3101 #CJK UNIFIED IDEOGRAPH
+  {0x95D1, 0x7BC7}, //3102 #CJK UNIFIED IDEOGRAPH
+  {0x95D2, 0x7DE8}, //3103 #CJK UNIFIED IDEOGRAPH
+  {0x95D3, 0x8FBA}, //3104 #CJK UNIFIED IDEOGRAPH
+  {0x95D4, 0x8FD4}, //3105 #CJK UNIFIED IDEOGRAPH
+  {0x95D5, 0x904D}, //3106 #CJK UNIFIED IDEOGRAPH
+  {0x95D6, 0x4FBF}, //3107 #CJK UNIFIED IDEOGRAPH
+  {0x95D7, 0x52C9}, //3108 #CJK UNIFIED IDEOGRAPH
+  {0x95D8, 0x5A29}, //3109 #CJK UNIFIED IDEOGRAPH
+  {0x95D9, 0x5F01}, //3110 #CJK UNIFIED IDEOGRAPH
+  {0x95DA, 0x97AD}, //3111 #CJK UNIFIED IDEOGRAPH
+  {0x95DB, 0x4FDD}, //3112 #CJK UNIFIED IDEOGRAPH
+  {0x95DC, 0x8217}, //3113 #CJK UNIFIED IDEOGRAPH
+  {0x95DD, 0x92EA}, //3114 #CJK UNIFIED IDEOGRAPH
+  {0x95DE, 0x5703}, //3115 #CJK UNIFIED IDEOGRAPH
+  {0x95DF, 0x6355}, //3116 #CJK UNIFIED IDEOGRAPH
+  {0x95E0, 0x6B69}, //3117 #CJK UNIFIED IDEOGRAPH
+  {0x95E1, 0x752B}, //3118 #CJK UNIFIED IDEOGRAPH
+  {0x95E2, 0x88DC}, //3119 #CJK UNIFIED IDEOGRAPH
+  {0x95E3, 0x8F14}, //3120 #CJK UNIFIED IDEOGRAPH
+  {0x95E4, 0x7A42}, //3121 #CJK UNIFIED IDEOGRAPH
+  {0x95E5, 0x52DF}, //3122 #CJK UNIFIED IDEOGRAPH
+  {0x95E6, 0x5893}, //3123 #CJK UNIFIED IDEOGRAPH
+  {0x95E7, 0x6155}, //3124 #CJK UNIFIED IDEOGRAPH
+  {0x95E8, 0x620A}, //3125 #CJK UNIFIED IDEOGRAPH
+  {0x95E9, 0x66AE}, //3126 #CJK UNIFIED IDEOGRAPH
+  {0x95EA, 0x6BCD}, //3127 #CJK UNIFIED IDEOGRAPH
+  {0x95EB, 0x7C3F}, //3128 #CJK UNIFIED IDEOGRAPH
+  {0x95EC, 0x83E9}, //3129 #CJK UNIFIED IDEOGRAPH
+  {0x95ED, 0x5023}, //3130 #CJK UNIFIED IDEOGRAPH
+  {0x95EE, 0x4FF8}, //3131 #CJK UNIFIED IDEOGRAPH
+  {0x95EF, 0x5305}, //3132 #CJK UNIFIED IDEOGRAPH
+  {0x95F0, 0x5446}, //3133 #CJK UNIFIED IDEOGRAPH
+  {0x95F1, 0x5831}, //3134 #CJK UNIFIED IDEOGRAPH
+  {0x95F2, 0x5949}, //3135 #CJK UNIFIED IDEOGRAPH
+  {0x95F3, 0x5B9D}, //3136 #CJK UNIFIED IDEOGRAPH
+  {0x95F4, 0x5CF0}, //3137 #CJK UNIFIED IDEOGRAPH
+  {0x95F5, 0x5CEF}, //3138 #CJK UNIFIED IDEOGRAPH
+  {0x95F6, 0x5D29}, //3139 #CJK UNIFIED IDEOGRAPH
+  {0x95F7, 0x5E96}, //3140 #CJK UNIFIED IDEOGRAPH
+  {0x95F8, 0x62B1}, //3141 #CJK UNIFIED IDEOGRAPH
+  {0x95F9, 0x6367}, //3142 #CJK UNIFIED IDEOGRAPH
+  {0x95FA, 0x653E}, //3143 #CJK UNIFIED IDEOGRAPH
+  {0x95FB, 0x65B9}, //3144 #CJK UNIFIED IDEOGRAPH
+  {0x95FC, 0x670B}, //3145 #CJK UNIFIED IDEOGRAPH
+  {0x9640, 0x6CD5}, //3146 #CJK UNIFIED IDEOGRAPH
+  {0x9641, 0x6CE1}, //3147 #CJK UNIFIED IDEOGRAPH
+  {0x9642, 0x70F9}, //3148 #CJK UNIFIED IDEOGRAPH
+  {0x9643, 0x7832}, //3149 #CJK UNIFIED IDEOGRAPH
+  {0x9644, 0x7E2B}, //3150 #CJK UNIFIED IDEOGRAPH
+  {0x9645, 0x80DE}, //3151 #CJK UNIFIED IDEOGRAPH
+  {0x9646, 0x82B3}, //3152 #CJK UNIFIED IDEOGRAPH
+  {0x9647, 0x840C}, //3153 #CJK UNIFIED IDEOGRAPH
+  {0x9648, 0x84EC}, //3154 #CJK UNIFIED IDEOGRAPH
+  {0x9649, 0x8702}, //3155 #CJK UNIFIED IDEOGRAPH
+  {0x964A, 0x8912}, //3156 #CJK UNIFIED IDEOGRAPH
+  {0x964B, 0x8A2A}, //3157 #CJK UNIFIED IDEOGRAPH
+  {0x964C, 0x8C4A}, //3158 #CJK UNIFIED IDEOGRAPH
+  {0x964D, 0x90A6}, //3159 #CJK UNIFIED IDEOGRAPH
+  {0x964E, 0x92D2}, //3160 #CJK UNIFIED IDEOGRAPH
+  {0x964F, 0x98FD}, //3161 #CJK UNIFIED IDEOGRAPH
+  {0x9650, 0x9CF3}, //3162 #CJK UNIFIED IDEOGRAPH
+  {0x9651, 0x9D6C}, //3163 #CJK UNIFIED IDEOGRAPH
+  {0x9652, 0x4E4F}, //3164 #CJK UNIFIED IDEOGRAPH
+  {0x9653, 0x4EA1}, //3165 #CJK UNIFIED IDEOGRAPH
+  {0x9654, 0x508D}, //3166 #CJK UNIFIED IDEOGRAPH
+  {0x9655, 0x5256}, //3167 #CJK UNIFIED IDEOGRAPH
+  {0x9656, 0x574A}, //3168 #CJK UNIFIED IDEOGRAPH
+  {0x9657, 0x59A8}, //3169 #CJK UNIFIED IDEOGRAPH
+  {0x9658, 0x5E3D}, //3170 #CJK UNIFIED IDEOGRAPH
+  {0x9659, 0x5FD8}, //3171 #CJK UNIFIED IDEOGRAPH
+  {0x965A, 0x5FD9}, //3172 #CJK UNIFIED IDEOGRAPH
+  {0x965B, 0x623F}, //3173 #CJK UNIFIED IDEOGRAPH
+  {0x965C, 0x66B4}, //3174 #CJK UNIFIED IDEOGRAPH
+  {0x965D, 0x671B}, //3175 #CJK UNIFIED IDEOGRAPH
+  {0x965E, 0x67D0}, //3176 #CJK UNIFIED IDEOGRAPH
+  {0x965F, 0x68D2}, //3177 #CJK UNIFIED IDEOGRAPH
+  {0x9660, 0x5192}, //3178 #CJK UNIFIED IDEOGRAPH
+  {0x9661, 0x7D21}, //3179 #CJK UNIFIED IDEOGRAPH
+  {0x9662, 0x80AA}, //3180 #CJK UNIFIED IDEOGRAPH
+  {0x9663, 0x81A8}, //3181 #CJK UNIFIED IDEOGRAPH
+  {0x9664, 0x8B00}, //3182 #CJK UNIFIED IDEOGRAPH
+  {0x9665, 0x8C8C}, //3183 #CJK UNIFIED IDEOGRAPH
+  {0x9666, 0x8CBF}, //3184 #CJK UNIFIED IDEOGRAPH
+  {0x9667, 0x927E}, //3185 #CJK UNIFIED IDEOGRAPH
+  {0x9668, 0x9632}, //3186 #CJK UNIFIED IDEOGRAPH
+  {0x9669, 0x5420}, //3187 #CJK UNIFIED IDEOGRAPH
+  {0x966A, 0x982C}, //3188 #CJK UNIFIED IDEOGRAPH
+  {0x966B, 0x5317}, //3189 #CJK UNIFIED IDEOGRAPH
+  {0x966C, 0x50D5}, //3190 #CJK UNIFIED IDEOGRAPH
+  {0x966D, 0x535C}, //3191 #CJK UNIFIED IDEOGRAPH
+  {0x966E, 0x58A8}, //3192 #CJK UNIFIED IDEOGRAPH
+  {0x966F, 0x64B2}, //3193 #CJK UNIFIED IDEOGRAPH
+  {0x9670, 0x6734}, //3194 #CJK UNIFIED IDEOGRAPH
+  {0x9671, 0x7267}, //3195 #CJK UNIFIED IDEOGRAPH
+  {0x9672, 0x7766}, //3196 #CJK UNIFIED IDEOGRAPH
+  {0x9673, 0x7A46}, //3197 #CJK UNIFIED IDEOGRAPH
+  {0x9674, 0x91E6}, //3198 #CJK UNIFIED IDEOGRAPH
+  {0x9675, 0x52C3}, //3199 #CJK UNIFIED IDEOGRAPH
+  {0x9676, 0x6CA1}, //3200 #CJK UNIFIED IDEOGRAPH
+  {0x9677, 0x6B86}, //3201 #CJK UNIFIED IDEOGRAPH
+  {0x9678, 0x5800}, //3202 #CJK UNIFIED IDEOGRAPH
+  {0x9679, 0x5E4C}, //3203 #CJK UNIFIED IDEOGRAPH
+  {0x967A, 0x5954}, //3204 #CJK UNIFIED IDEOGRAPH
+  {0x967B, 0x672C}, //3205 #CJK UNIFIED IDEOGRAPH
+  {0x967C, 0x7FFB}, //3206 #CJK UNIFIED IDEOGRAPH
+  {0x967D, 0x51E1}, //3207 #CJK UNIFIED IDEOGRAPH
+  {0x967E, 0x76C6}, //3208 #CJK UNIFIED IDEOGRAPH
+  {0x9680, 0x6469}, //3209 #CJK UNIFIED IDEOGRAPH
+  {0x9681, 0x78E8}, //3210 #CJK UNIFIED IDEOGRAPH
+  {0x9682, 0x9B54}, //3211 #CJK UNIFIED IDEOGRAPH
+  {0x9683, 0x9EBB}, //3212 #CJK UNIFIED IDEOGRAPH
+  {0x9684, 0x57CB}, //3213 #CJK UNIFIED IDEOGRAPH
+  {0x9685, 0x59B9}, //3214 #CJK UNIFIED IDEOGRAPH
+  {0x9686, 0x6627}, //3215 #CJK UNIFIED IDEOGRAPH
+  {0x9687, 0x679A}, //3216 #CJK UNIFIED IDEOGRAPH
+  {0x9688, 0x6BCE}, //3217 #CJK UNIFIED IDEOGRAPH
+  {0x9689, 0x54E9}, //3218 #CJK UNIFIED IDEOGRAPH
+  {0x968A, 0x69D9}, //3219 #CJK UNIFIED IDEOGRAPH
+  {0x968B, 0x5E55}, //3220 #CJK UNIFIED IDEOGRAPH
+  {0x968C, 0x819C}, //3221 #CJK UNIFIED IDEOGRAPH
+  {0x968D, 0x6795}, //3222 #CJK UNIFIED IDEOGRAPH
+  {0x968E, 0x9BAA}, //3223 #CJK UNIFIED IDEOGRAPH
+  {0x968F, 0x67FE}, //3224 #CJK UNIFIED IDEOGRAPH
+  {0x9690, 0x9C52}, //3225 #CJK UNIFIED IDEOGRAPH
+  {0x9691, 0x685D}, //3226 #CJK UNIFIED IDEOGRAPH
+  {0x9692, 0x4EA6}, //3227 #CJK UNIFIED IDEOGRAPH
+  {0x9693, 0x4FE3}, //3228 #CJK UNIFIED IDEOGRAPH
+  {0x9694, 0x53C8}, //3229 #CJK UNIFIED IDEOGRAPH
+  {0x9695, 0x62B9}, //3230 #CJK UNIFIED IDEOGRAPH
+  {0x9696, 0x672B}, //3231 #CJK UNIFIED IDEOGRAPH
+  {0x9697, 0x6CAB}, //3232 #CJK UNIFIED IDEOGRAPH
+  {0x9698, 0x8FC4}, //3233 #CJK UNIFIED IDEOGRAPH
+  {0x9699, 0x4FAD}, //3234 #CJK UNIFIED IDEOGRAPH
+  {0x969A, 0x7E6D}, //3235 #CJK UNIFIED IDEOGRAPH
+  {0x969B, 0x9EBF}, //3236 #CJK UNIFIED IDEOGRAPH
+  {0x969C, 0x4E07}, //3237 #CJK UNIFIED IDEOGRAPH
+  {0x969D, 0x6162}, //3238 #CJK UNIFIED IDEOGRAPH
+  {0x969E, 0x6E80}, //3239 #CJK UNIFIED IDEOGRAPH
+  {0x969F, 0x6F2B}, //3240 #CJK UNIFIED IDEOGRAPH
+  {0x96A0, 0x8513}, //3241 #CJK UNIFIED IDEOGRAPH
+  {0x96A1, 0x5473}, //3242 #CJK UNIFIED IDEOGRAPH
+  {0x96A2, 0x672A}, //3243 #CJK UNIFIED IDEOGRAPH
+  {0x96A3, 0x9B45}, //3244 #CJK UNIFIED IDEOGRAPH
+  {0x96A4, 0x5DF3}, //3245 #CJK UNIFIED IDEOGRAPH
+  {0x96A5, 0x7B95}, //3246 #CJK UNIFIED IDEOGRAPH
+  {0x96A6, 0x5CAC}, //3247 #CJK UNIFIED IDEOGRAPH
+  {0x96A7, 0x5BC6}, //3248 #CJK UNIFIED IDEOGRAPH
+  {0x96A8, 0x871C}, //3249 #CJK UNIFIED IDEOGRAPH
+  {0x96A9, 0x6E4A}, //3250 #CJK UNIFIED IDEOGRAPH
+  {0x96AA, 0x84D1}, //3251 #CJK UNIFIED IDEOGRAPH
+  {0x96AB, 0x7A14}, //3252 #CJK UNIFIED IDEOGRAPH
+  {0x96AC, 0x8108}, //3253 #CJK UNIFIED IDEOGRAPH
+  {0x96AD, 0x5999}, //3254 #CJK UNIFIED IDEOGRAPH
+  {0x96AE, 0x7C8D}, //3255 #CJK UNIFIED IDEOGRAPH
+  {0x96AF, 0x6C11}, //3256 #CJK UNIFIED IDEOGRAPH
+  {0x96B0, 0x7720}, //3257 #CJK UNIFIED IDEOGRAPH
+  {0x96B1, 0x52D9}, //3258 #CJK UNIFIED IDEOGRAPH
+  {0x96B2, 0x5922}, //3259 #CJK UNIFIED IDEOGRAPH
+  {0x96B3, 0x7121}, //3260 #CJK UNIFIED IDEOGRAPH
+  {0x96B4, 0x725F}, //3261 #CJK UNIFIED IDEOGRAPH
+  {0x96B5, 0x77DB}, //3262 #CJK UNIFIED IDEOGRAPH
+  {0x96B6, 0x9727}, //3263 #CJK UNIFIED IDEOGRAPH
+  {0x96B7, 0x9D61}, //3264 #CJK UNIFIED IDEOGRAPH
+  {0x96B8, 0x690B}, //3265 #CJK UNIFIED IDEOGRAPH
+  {0x96B9, 0x5A7F}, //3266 #CJK UNIFIED IDEOGRAPH
+  {0x96BA, 0x5A18}, //3267 #CJK UNIFIED IDEOGRAPH
+  {0x96BB, 0x51A5}, //3268 #CJK UNIFIED IDEOGRAPH
+  {0x96BC, 0x540D}, //3269 #CJK UNIFIED IDEOGRAPH
+  {0x96BD, 0x547D}, //3270 #CJK UNIFIED IDEOGRAPH
+  {0x96BE, 0x660E}, //3271 #CJK UNIFIED IDEOGRAPH
+  {0x96BF, 0x76DF}, //3272 #CJK UNIFIED IDEOGRAPH
+  {0x96C0, 0x8FF7}, //3273 #CJK UNIFIED IDEOGRAPH
+  {0x96C1, 0x9298}, //3274 #CJK UNIFIED IDEOGRAPH
+  {0x96C2, 0x9CF4}, //3275 #CJK UNIFIED IDEOGRAPH
+  {0x96C3, 0x59EA}, //3276 #CJK UNIFIED IDEOGRAPH
+  {0x96C4, 0x725D}, //3277 #CJK UNIFIED IDEOGRAPH
+  {0x96C5, 0x6EC5}, //3278 #CJK UNIFIED IDEOGRAPH
+  {0x96C6, 0x514D}, //3279 #CJK UNIFIED IDEOGRAPH
+  {0x96C7, 0x68C9}, //3280 #CJK UNIFIED IDEOGRAPH
+  {0x96C8, 0x7DBF}, //3281 #CJK UNIFIED IDEOGRAPH
+  {0x96C9, 0x7DEC}, //3282 #CJK UNIFIED IDEOGRAPH
+  {0x96CA, 0x9762}, //3283 #CJK UNIFIED IDEOGRAPH
+  {0x96CB, 0x9EBA}, //3284 #CJK UNIFIED IDEOGRAPH
+  {0x96CC, 0x6478}, //3285 #CJK UNIFIED IDEOGRAPH
+  {0x96CD, 0x6A21}, //3286 #CJK UNIFIED IDEOGRAPH
+  {0x96CE, 0x8302}, //3287 #CJK UNIFIED IDEOGRAPH
+  {0x96CF, 0x5984}, //3288 #CJK UNIFIED IDEOGRAPH
+  {0x96D0, 0x5B5F}, //3289 #CJK UNIFIED IDEOGRAPH
+  {0x96D1, 0x6BDB}, //3290 #CJK UNIFIED IDEOGRAPH
+  {0x96D2, 0x731B}, //3291 #CJK UNIFIED IDEOGRAPH
+  {0x96D3, 0x76F2}, //3292 #CJK UNIFIED IDEOGRAPH
+  {0x96D4, 0x7DB2}, //3293 #CJK UNIFIED IDEOGRAPH
+  {0x96D5, 0x8017}, //3294 #CJK UNIFIED IDEOGRAPH
+  {0x96D6, 0x8499}, //3295 #CJK UNIFIED IDEOGRAPH
+  {0x96D7, 0x5132}, //3296 #CJK UNIFIED IDEOGRAPH
+  {0x96D8, 0x6728}, //3297 #CJK UNIFIED IDEOGRAPH
+  {0x96D9, 0x9ED9}, //3298 #CJK UNIFIED IDEOGRAPH
+  {0x96DA, 0x76EE}, //3299 #CJK UNIFIED IDEOGRAPH
+  {0x96DB, 0x6762}, //3300 #CJK UNIFIED IDEOGRAPH
+  {0x96DC, 0x52FF}, //3301 #CJK UNIFIED IDEOGRAPH
+  {0x96DD, 0x9905}, //3302 #CJK UNIFIED IDEOGRAPH
+  {0x96DE, 0x5C24}, //3303 #CJK UNIFIED IDEOGRAPH
+  {0x96DF, 0x623B}, //3304 #CJK UNIFIED IDEOGRAPH
+  {0x96E0, 0x7C7E}, //3305 #CJK UNIFIED IDEOGRAPH
+  {0x96E1, 0x8CB0}, //3306 #CJK UNIFIED IDEOGRAPH
+  {0x96E2, 0x554F}, //3307 #CJK UNIFIED IDEOGRAPH
+  {0x96E3, 0x60B6}, //3308 #CJK UNIFIED IDEOGRAPH
+  {0x96E4, 0x7D0B}, //3309 #CJK UNIFIED IDEOGRAPH
+  {0x96E5, 0x9580}, //3310 #CJK UNIFIED IDEOGRAPH
+  {0x96E6, 0x5301}, //3311 #CJK UNIFIED IDEOGRAPH
+  {0x96E7, 0x4E5F}, //3312 #CJK UNIFIED IDEOGRAPH
+  {0x96E8, 0x51B6}, //3313 #CJK UNIFIED IDEOGRAPH
+  {0x96E9, 0x591C}, //3314 #CJK UNIFIED IDEOGRAPH
+  {0x96EA, 0x723A}, //3315 #CJK UNIFIED IDEOGRAPH
+  {0x96EB, 0x8036}, //3316 #CJK UNIFIED IDEOGRAPH
+  {0x96EC, 0x91CE}, //3317 #CJK UNIFIED IDEOGRAPH
+  {0x96ED, 0x5F25}, //3318 #CJK UNIFIED IDEOGRAPH
+  {0x96EE, 0x77E2}, //3319 #CJK UNIFIED IDEOGRAPH
+  {0x96EF, 0x5384}, //3320 #CJK UNIFIED IDEOGRAPH
+  {0x96F0, 0x5F79}, //3321 #CJK UNIFIED IDEOGRAPH
+  {0x96F1, 0x7D04}, //3322 #CJK UNIFIED IDEOGRAPH
+  {0x96F2, 0x85AC}, //3323 #CJK UNIFIED IDEOGRAPH
+  {0x96F3, 0x8A33}, //3324 #CJK UNIFIED IDEOGRAPH
+  {0x96F4, 0x8E8D}, //3325 #CJK UNIFIED IDEOGRAPH
+  {0x96F5, 0x9756}, //3326 #CJK UNIFIED IDEOGRAPH
+  {0x96F6, 0x67F3}, //3327 #CJK UNIFIED IDEOGRAPH
+  {0x96F7, 0x85AE}, //3328 #CJK UNIFIED IDEOGRAPH
+  {0x96F8, 0x9453}, //3329 #CJK UNIFIED IDEOGRAPH
+  {0x96F9, 0x6109}, //3330 #CJK UNIFIED IDEOGRAPH
+  {0x96FA, 0x6108}, //3331 #CJK UNIFIED IDEOGRAPH
+  {0x96FB, 0x6CB9}, //3332 #CJK UNIFIED IDEOGRAPH
+  {0x96FC, 0x7652}, //3333 #CJK UNIFIED IDEOGRAPH
+  {0x9740, 0x8AED}, //3334 #CJK UNIFIED IDEOGRAPH
+  {0x9741, 0x8F38}, //3335 #CJK UNIFIED IDEOGRAPH
+  {0x9742, 0x552F}, //3336 #CJK UNIFIED IDEOGRAPH
+  {0x9743, 0x4F51}, //3337 #CJK UNIFIED IDEOGRAPH
+  {0x9744, 0x512A}, //3338 #CJK UNIFIED IDEOGRAPH
+  {0x9745, 0x52C7}, //3339 #CJK UNIFIED IDEOGRAPH
+  {0x9746, 0x53CB}, //3340 #CJK UNIFIED IDEOGRAPH
+  {0x9747, 0x5BA5}, //3341 #CJK UNIFIED IDEOGRAPH
+  {0x9748, 0x5E7D}, //3342 #CJK UNIFIED IDEOGRAPH
+  {0x9749, 0x60A0}, //3343 #CJK UNIFIED IDEOGRAPH
+  {0x974A, 0x6182}, //3344 #CJK UNIFIED IDEOGRAPH
+  {0x974B, 0x63D6}, //3345 #CJK UNIFIED IDEOGRAPH
+  {0x974C, 0x6709}, //3346 #CJK UNIFIED IDEOGRAPH
+  {0x974D, 0x67DA}, //3347 #CJK UNIFIED IDEOGRAPH
+  {0x974E, 0x6E67}, //3348 #CJK UNIFIED IDEOGRAPH
+  {0x974F, 0x6D8C}, //3349 #CJK UNIFIED IDEOGRAPH
+  {0x9750, 0x7336}, //3350 #CJK UNIFIED IDEOGRAPH
+  {0x9751, 0x7337}, //3351 #CJK UNIFIED IDEOGRAPH
+  {0x9752, 0x7531}, //3352 #CJK UNIFIED IDEOGRAPH
+  {0x9753, 0x7950}, //3353 #CJK UNIFIED IDEOGRAPH
+  {0x9754, 0x88D5}, //3354 #CJK UNIFIED IDEOGRAPH
+  {0x9755, 0x8A98}, //3355 #CJK UNIFIED IDEOGRAPH
+  {0x9756, 0x904A}, //3356 #CJK UNIFIED IDEOGRAPH
+  {0x9757, 0x9091}, //3357 #CJK UNIFIED IDEOGRAPH
+  {0x9758, 0x90F5}, //3358 #CJK UNIFIED IDEOGRAPH
+  {0x9759, 0x96C4}, //3359 #CJK UNIFIED IDEOGRAPH
+  {0x975A, 0x878D}, //3360 #CJK UNIFIED IDEOGRAPH
+  {0x975B, 0x5915}, //3361 #CJK UNIFIED IDEOGRAPH
+  {0x975C, 0x4E88}, //3362 #CJK UNIFIED IDEOGRAPH
+  {0x975D, 0x4F59}, //3363 #CJK UNIFIED IDEOGRAPH
+  {0x975E, 0x4E0E}, //3364 #CJK UNIFIED IDEOGRAPH
+  {0x975F, 0x8A89}, //3365 #CJK UNIFIED IDEOGRAPH
+  {0x9760, 0x8F3F}, //3366 #CJK UNIFIED IDEOGRAPH
+  {0x9761, 0x9810}, //3367 #CJK UNIFIED IDEOGRAPH
+  {0x9762, 0x50AD}, //3368 #CJK UNIFIED IDEOGRAPH
+  {0x9763, 0x5E7C}, //3369 #CJK UNIFIED IDEOGRAPH
+  {0x9764, 0x5996}, //3370 #CJK UNIFIED IDEOGRAPH
+  {0x9765, 0x5BB9}, //3371 #CJK UNIFIED IDEOGRAPH
+  {0x9766, 0x5EB8}, //3372 #CJK UNIFIED IDEOGRAPH
+  {0x9767, 0x63DA}, //3373 #CJK UNIFIED IDEOGRAPH
+  {0x9768, 0x63FA}, //3374 #CJK UNIFIED IDEOGRAPH
+  {0x9769, 0x64C1}, //3375 #CJK UNIFIED IDEOGRAPH
+  {0x976A, 0x66DC}, //3376 #CJK UNIFIED IDEOGRAPH
+  {0x976B, 0x694A}, //3377 #CJK UNIFIED IDEOGRAPH
+  {0x976C, 0x69D8}, //3378 #CJK UNIFIED IDEOGRAPH
+  {0x976D, 0x6D0B}, //3379 #CJK UNIFIED IDEOGRAPH
+  {0x976E, 0x6EB6}, //3380 #CJK UNIFIED IDEOGRAPH
+  {0x976F, 0x7194}, //3381 #CJK UNIFIED IDEOGRAPH
+  {0x9770, 0x7528}, //3382 #CJK UNIFIED IDEOGRAPH
+  {0x9771, 0x7AAF}, //3383 #CJK UNIFIED IDEOGRAPH
+  {0x9772, 0x7F8A}, //3384 #CJK UNIFIED IDEOGRAPH
+  {0x9773, 0x8000}, //3385 #CJK UNIFIED IDEOGRAPH
+  {0x9774, 0x8449}, //3386 #CJK UNIFIED IDEOGRAPH
+  {0x9775, 0x84C9}, //3387 #CJK UNIFIED IDEOGRAPH
+  {0x9776, 0x8981}, //3388 #CJK UNIFIED IDEOGRAPH
+  {0x9777, 0x8B21}, //3389 #CJK UNIFIED IDEOGRAPH
+  {0x9778, 0x8E0A}, //3390 #CJK UNIFIED IDEOGRAPH
+  {0x9779, 0x9065}, //3391 #CJK UNIFIED IDEOGRAPH
+  {0x977A, 0x967D}, //3392 #CJK UNIFIED IDEOGRAPH
+  {0x977B, 0x990A}, //3393 #CJK UNIFIED IDEOGRAPH
+  {0x977C, 0x617E}, //3394 #CJK UNIFIED IDEOGRAPH
+  {0x977D, 0x6291}, //3395 #CJK UNIFIED IDEOGRAPH
+  {0x977E, 0x6B32}, //3396 #CJK UNIFIED IDEOGRAPH
+  {0x9780, 0x6C83}, //3397 #CJK UNIFIED IDEOGRAPH
+  {0x9781, 0x6D74}, //3398 #CJK UNIFIED IDEOGRAPH
+  {0x9782, 0x7FCC}, //3399 #CJK UNIFIED IDEOGRAPH
+  {0x9783, 0x7FFC}, //3400 #CJK UNIFIED IDEOGRAPH
+  {0x9784, 0x6DC0}, //3401 #CJK UNIFIED IDEOGRAPH
+  {0x9785, 0x7F85}, //3402 #CJK UNIFIED IDEOGRAPH
+  {0x9786, 0x87BA}, //3403 #CJK UNIFIED IDEOGRAPH
+  {0x9787, 0x88F8}, //3404 #CJK UNIFIED IDEOGRAPH
+  {0x9788, 0x6765}, //3405 #CJK UNIFIED IDEOGRAPH
+  {0x9789, 0x83B1}, //3406 #CJK UNIFIED IDEOGRAPH
+  {0x978A, 0x983C}, //3407 #CJK UNIFIED IDEOGRAPH
+  {0x978B, 0x96F7}, //3408 #CJK UNIFIED IDEOGRAPH
+  {0x978C, 0x6D1B}, //3409 #CJK UNIFIED IDEOGRAPH
+  {0x978D, 0x7D61}, //3410 #CJK UNIFIED IDEOGRAPH
+  {0x978E, 0x843D}, //3411 #CJK UNIFIED IDEOGRAPH
+  {0x978F, 0x916A}, //3412 #CJK UNIFIED IDEOGRAPH
+  {0x9790, 0x4E71}, //3413 #CJK UNIFIED IDEOGRAPH
+  {0x9791, 0x5375}, //3414 #CJK UNIFIED IDEOGRAPH
+  {0x9792, 0x5D50}, //3415 #CJK UNIFIED IDEOGRAPH
+  {0x9793, 0x6B04}, //3416 #CJK UNIFIED IDEOGRAPH
+  {0x9794, 0x6FEB}, //3417 #CJK UNIFIED IDEOGRAPH
+  {0x9795, 0x85CD}, //3418 #CJK UNIFIED IDEOGRAPH
+  {0x9796, 0x862D}, //3419 #CJK UNIFIED IDEOGRAPH
+  {0x9797, 0x89A7}, //3420 #CJK UNIFIED IDEOGRAPH
+  {0x9798, 0x5229}, //3421 #CJK UNIFIED IDEOGRAPH
+  {0x9799, 0x540F}, //3422 #CJK UNIFIED IDEOGRAPH
+  {0x979A, 0x5C65}, //3423 #CJK UNIFIED IDEOGRAPH
+  {0x979B, 0x674E}, //3424 #CJK UNIFIED IDEOGRAPH
+  {0x979C, 0x68A8}, //3425 #CJK UNIFIED IDEOGRAPH
+  {0x979D, 0x7406}, //3426 #CJK UNIFIED IDEOGRAPH
+  {0x979E, 0x7483}, //3427 #CJK UNIFIED IDEOGRAPH
+  {0x979F, 0x75E2}, //3428 #CJK UNIFIED IDEOGRAPH
+  {0x97A0, 0x88CF}, //3429 #CJK UNIFIED IDEOGRAPH
+  {0x97A1, 0x88E1}, //3430 #CJK UNIFIED IDEOGRAPH
+  {0x97A2, 0x91CC}, //3431 #CJK UNIFIED IDEOGRAPH
+  {0x97A3, 0x96E2}, //3432 #CJK UNIFIED IDEOGRAPH
+  {0x97A4, 0x9678}, //3433 #CJK UNIFIED IDEOGRAPH
+  {0x97A5, 0x5F8B}, //3434 #CJK UNIFIED IDEOGRAPH
+  {0x97A6, 0x7387}, //3435 #CJK UNIFIED IDEOGRAPH
+  {0x97A7, 0x7ACB}, //3436 #CJK UNIFIED IDEOGRAPH
+  {0x97A8, 0x844E}, //3437 #CJK UNIFIED IDEOGRAPH
+  {0x97A9, 0x63A0}, //3438 #CJK UNIFIED IDEOGRAPH
+  {0x97AA, 0x7565}, //3439 #CJK UNIFIED IDEOGRAPH
+  {0x97AB, 0x5289}, //3440 #CJK UNIFIED IDEOGRAPH
+  {0x97AC, 0x6D41}, //3441 #CJK UNIFIED IDEOGRAPH
+  {0x97AD, 0x6E9C}, //3442 #CJK UNIFIED IDEOGRAPH
+  {0x97AE, 0x7409}, //3443 #CJK UNIFIED IDEOGRAPH
+  {0x97AF, 0x7559}, //3444 #CJK UNIFIED IDEOGRAPH
+  {0x97B0, 0x786B}, //3445 #CJK UNIFIED IDEOGRAPH
+  {0x97B1, 0x7C92}, //3446 #CJK UNIFIED IDEOGRAPH
+  {0x97B2, 0x9686}, //3447 #CJK UNIFIED IDEOGRAPH
+  {0x97B3, 0x7ADC}, //3448 #CJK UNIFIED IDEOGRAPH
+  {0x97B4, 0x9F8D}, //3449 #CJK UNIFIED IDEOGRAPH
+  {0x97B5, 0x4FB6}, //3450 #CJK UNIFIED IDEOGRAPH
+  {0x97B6, 0x616E}, //3451 #CJK UNIFIED IDEOGRAPH
+  {0x97B7, 0x65C5}, //3452 #CJK UNIFIED IDEOGRAPH
+  {0x97B8, 0x865C}, //3453 #CJK UNIFIED IDEOGRAPH
+  {0x97B9, 0x4E86}, //3454 #CJK UNIFIED IDEOGRAPH
+  {0x97BA, 0x4EAE}, //3455 #CJK UNIFIED IDEOGRAPH
+  {0x97BB, 0x50DA}, //3456 #CJK UNIFIED IDEOGRAPH
+  {0x97BC, 0x4E21}, //3457 #CJK UNIFIED IDEOGRAPH
+  {0x97BD, 0x51CC}, //3458 #CJK UNIFIED IDEOGRAPH
+  {0x97BE, 0x5BEE}, //3459 #CJK UNIFIED IDEOGRAPH
+  {0x97BF, 0x6599}, //3460 #CJK UNIFIED IDEOGRAPH
+  {0x97C0, 0x6881}, //3461 #CJK UNIFIED IDEOGRAPH
+  {0x97C1, 0x6DBC}, //3462 #CJK UNIFIED IDEOGRAPH
+  {0x97C2, 0x731F}, //3463 #CJK UNIFIED IDEOGRAPH
+  {0x97C3, 0x7642}, //3464 #CJK UNIFIED IDEOGRAPH
+  {0x97C4, 0x77AD}, //3465 #CJK UNIFIED IDEOGRAPH
+  {0x97C5, 0x7A1C}, //3466 #CJK UNIFIED IDEOGRAPH
+  {0x97C6, 0x7CE7}, //3467 #CJK UNIFIED IDEOGRAPH
+  {0x97C7, 0x826F}, //3468 #CJK UNIFIED IDEOGRAPH
+  {0x97C8, 0x8AD2}, //3469 #CJK UNIFIED IDEOGRAPH
+  {0x97C9, 0x907C}, //3470 #CJK UNIFIED IDEOGRAPH
+  {0x97CA, 0x91CF}, //3471 #CJK UNIFIED IDEOGRAPH
+  {0x97CB, 0x9675}, //3472 #CJK UNIFIED IDEOGRAPH
+  {0x97CC, 0x9818}, //3473 #CJK UNIFIED IDEOGRAPH
+  {0x97CD, 0x529B}, //3474 #CJK UNIFIED IDEOGRAPH
+  {0x97CE, 0x7DD1}, //3475 #CJK UNIFIED IDEOGRAPH
+  {0x97CF, 0x502B}, //3476 #CJK UNIFIED IDEOGRAPH
+  {0x97D0, 0x5398}, //3477 #CJK UNIFIED IDEOGRAPH
+  {0x97D1, 0x6797}, //3478 #CJK UNIFIED IDEOGRAPH
+  {0x97D2, 0x6DCB}, //3479 #CJK UNIFIED IDEOGRAPH
+  {0x97D3, 0x71D0}, //3480 #CJK UNIFIED IDEOGRAPH
+  {0x97D4, 0x7433}, //3481 #CJK UNIFIED IDEOGRAPH
+  {0x97D5, 0x81E8}, //3482 #CJK UNIFIED IDEOGRAPH
+  {0x97D6, 0x8F2A}, //3483 #CJK UNIFIED IDEOGRAPH
+  {0x97D7, 0x96A3}, //3484 #CJK UNIFIED IDEOGRAPH
+  {0x97D8, 0x9C57}, //3485 #CJK UNIFIED IDEOGRAPH
+  {0x97D9, 0x9E9F}, //3486 #CJK UNIFIED IDEOGRAPH
+  {0x97DA, 0x7460}, //3487 #CJK UNIFIED IDEOGRAPH
+  {0x97DB, 0x5841}, //3488 #CJK UNIFIED IDEOGRAPH
+  {0x97DC, 0x6D99}, //3489 #CJK UNIFIED IDEOGRAPH
+  {0x97DD, 0x7D2F}, //3490 #CJK UNIFIED IDEOGRAPH
+  {0x97DE, 0x985E}, //3491 #CJK UNIFIED IDEOGRAPH
+  {0x97DF, 0x4EE4}, //3492 #CJK UNIFIED IDEOGRAPH
+  {0x97E0, 0x4F36}, //3493 #CJK UNIFIED IDEOGRAPH
+  {0x97E1, 0x4F8B}, //3494 #CJK UNIFIED IDEOGRAPH
+  {0x97E2, 0x51B7}, //3495 #CJK UNIFIED IDEOGRAPH
+  {0x97E3, 0x52B1}, //3496 #CJK UNIFIED IDEOGRAPH
+  {0x97E4, 0x5DBA}, //3497 #CJK UNIFIED IDEOGRAPH
+  {0x97E5, 0x601C}, //3498 #CJK UNIFIED IDEOGRAPH
+  {0x97E6, 0x73B2}, //3499 #CJK UNIFIED IDEOGRAPH
+  {0x97E7, 0x793C}, //3500 #CJK UNIFIED IDEOGRAPH
+  {0x97E8, 0x82D3}, //3501 #CJK UNIFIED IDEOGRAPH
+  {0x97E9, 0x9234}, //3502 #CJK UNIFIED IDEOGRAPH
+  {0x97EA, 0x96B7}, //3503 #CJK UNIFIED IDEOGRAPH
+  {0x97EB, 0x96F6}, //3504 #CJK UNIFIED IDEOGRAPH
+  {0x97EC, 0x970A}, //3505 #CJK UNIFIED IDEOGRAPH
+  {0x97ED, 0x9E97}, //3506 #CJK UNIFIED IDEOGRAPH
+  {0x97EE, 0x9F62}, //3507 #CJK UNIFIED IDEOGRAPH
+  {0x97EF, 0x66A6}, //3508 #CJK UNIFIED IDEOGRAPH
+  {0x97F0, 0x6B74}, //3509 #CJK UNIFIED IDEOGRAPH
+  {0x97F1, 0x5217}, //3510 #CJK UNIFIED IDEOGRAPH
+  {0x97F2, 0x52A3}, //3511 #CJK UNIFIED IDEOGRAPH
+  {0x97F3, 0x70C8}, //3512 #CJK UNIFIED IDEOGRAPH
+  {0x97F4, 0x88C2}, //3513 #CJK UNIFIED IDEOGRAPH
+  {0x97F5, 0x5EC9}, //3514 #CJK UNIFIED IDEOGRAPH
+  {0x97F6, 0x604B}, //3515 #CJK UNIFIED IDEOGRAPH
+  {0x97F7, 0x6190}, //3516 #CJK UNIFIED IDEOGRAPH
+  {0x97F8, 0x6F23}, //3517 #CJK UNIFIED IDEOGRAPH
+  {0x97F9, 0x7149}, //3518 #CJK UNIFIED IDEOGRAPH
+  {0x97FA, 0x7C3E}, //3519 #CJK UNIFIED IDEOGRAPH
+  {0x97FB, 0x7DF4}, //3520 #CJK UNIFIED IDEOGRAPH
+  {0x97FC, 0x806F}, //3521 #CJK UNIFIED IDEOGRAPH
+  {0x9840, 0x84EE}, //3522 #CJK UNIFIED IDEOGRAPH
+  {0x9841, 0x9023}, //3523 #CJK UNIFIED IDEOGRAPH
+  {0x9842, 0x932C}, //3524 #CJK UNIFIED IDEOGRAPH
+  {0x9843, 0x5442}, //3525 #CJK UNIFIED IDEOGRAPH
+  {0x9844, 0x9B6F}, //3526 #CJK UNIFIED IDEOGRAPH
+  {0x9845, 0x6AD3}, //3527 #CJK UNIFIED IDEOGRAPH
+  {0x9846, 0x7089}, //3528 #CJK UNIFIED IDEOGRAPH
+  {0x9847, 0x8CC2}, //3529 #CJK UNIFIED IDEOGRAPH
+  {0x9848, 0x8DEF}, //3530 #CJK UNIFIED IDEOGRAPH
+  {0x9849, 0x9732}, //3531 #CJK UNIFIED IDEOGRAPH
+  {0x984A, 0x52B4}, //3532 #CJK UNIFIED IDEOGRAPH
+  {0x984B, 0x5A41}, //3533 #CJK UNIFIED IDEOGRAPH
+  {0x984C, 0x5ECA}, //3534 #CJK UNIFIED IDEOGRAPH
+  {0x984D, 0x5F04}, //3535 #CJK UNIFIED IDEOGRAPH
+  {0x984E, 0x6717}, //3536 #CJK UNIFIED IDEOGRAPH
+  {0x984F, 0x697C}, //3537 #CJK UNIFIED IDEOGRAPH
+  {0x9850, 0x6994}, //3538 #CJK UNIFIED IDEOGRAPH
+  {0x9851, 0x6D6A}, //3539 #CJK UNIFIED IDEOGRAPH
+  {0x9852, 0x6F0F}, //3540 #CJK UNIFIED IDEOGRAPH
+  {0x9853, 0x7262}, //3541 #CJK UNIFIED IDEOGRAPH
+  {0x9854, 0x72FC}, //3542 #CJK UNIFIED IDEOGRAPH
+  {0x9855, 0x7BED}, //3543 #CJK UNIFIED IDEOGRAPH
+  {0x9856, 0x8001}, //3544 #CJK UNIFIED IDEOGRAPH
+  {0x9857, 0x807E}, //3545 #CJK UNIFIED IDEOGRAPH
+  {0x9858, 0x874B}, //3546 #CJK UNIFIED IDEOGRAPH
+  {0x9859, 0x90CE}, //3547 #CJK UNIFIED IDEOGRAPH
+  {0x985A, 0x516D}, //3548 #CJK UNIFIED IDEOGRAPH
+  {0x985B, 0x9E93}, //3549 #CJK UNIFIED IDEOGRAPH
+  {0x985C, 0x7984}, //3550 #CJK UNIFIED IDEOGRAPH
+  {0x985D, 0x808B}, //3551 #CJK UNIFIED IDEOGRAPH
+  {0x985E, 0x9332}, //3552 #CJK UNIFIED IDEOGRAPH
+  {0x985F, 0x8AD6}, //3553 #CJK UNIFIED IDEOGRAPH
+  {0x9860, 0x502D}, //3554 #CJK UNIFIED IDEOGRAPH
+  {0x9861, 0x548C}, //3555 #CJK UNIFIED IDEOGRAPH
+  {0x9862, 0x8A71}, //3556 #CJK UNIFIED IDEOGRAPH
+  {0x9863, 0x6B6A}, //3557 #CJK UNIFIED IDEOGRAPH
+  {0x9864, 0x8CC4}, //3558 #CJK UNIFIED IDEOGRAPH
+  {0x9865, 0x8107}, //3559 #CJK UNIFIED IDEOGRAPH
+  {0x9866, 0x60D1}, //3560 #CJK UNIFIED IDEOGRAPH
+  {0x9867, 0x67A0}, //3561 #CJK UNIFIED IDEOGRAPH
+  {0x9868, 0x9DF2}, //3562 #CJK UNIFIED IDEOGRAPH
+  {0x9869, 0x4E99}, //3563 #CJK UNIFIED IDEOGRAPH
+  {0x986A, 0x4E98}, //3564 #CJK UNIFIED IDEOGRAPH
+  {0x986B, 0x9C10}, //3565 #CJK UNIFIED IDEOGRAPH
+  {0x986C, 0x8A6B}, //3566 #CJK UNIFIED IDEOGRAPH
+  {0x986D, 0x85C1}, //3567 #CJK UNIFIED IDEOGRAPH
+  {0x986E, 0x8568}, //3568 #CJK UNIFIED IDEOGRAPH
+  {0x986F, 0x6900}, //3569 #CJK UNIFIED IDEOGRAPH
+  {0x9870, 0x6E7E}, //3570 #CJK UNIFIED IDEOGRAPH
+  {0x9871, 0x7897}, //3571 #CJK UNIFIED IDEOGRAPH
+  {0x9872, 0x8155}, //3572 #CJK UNIFIED IDEOGRAPH
+  {0x989F, 0x5F0C}, //3573 #CJK UNIFIED IDEOGRAPH
+  {0x98A0, 0x4E10}, //3574 #CJK UNIFIED IDEOGRAPH
+  {0x98A1, 0x4E15}, //3575 #CJK UNIFIED IDEOGRAPH
+  {0x98A2, 0x4E2A}, //3576 #CJK UNIFIED IDEOGRAPH
+  {0x98A3, 0x4E31}, //3577 #CJK UNIFIED IDEOGRAPH
+  {0x98A4, 0x4E36}, //3578 #CJK UNIFIED IDEOGRAPH
+  {0x98A5, 0x4E3C}, //3579 #CJK UNIFIED IDEOGRAPH
+  {0x98A6, 0x4E3F}, //3580 #CJK UNIFIED IDEOGRAPH
+  {0x98A7, 0x4E42}, //3581 #CJK UNIFIED IDEOGRAPH
+  {0x98A8, 0x4E56}, //3582 #CJK UNIFIED IDEOGRAPH
+  {0x98A9, 0x4E58}, //3583 #CJK UNIFIED IDEOGRAPH
+  {0x98AA, 0x4E82}, //3584 #CJK UNIFIED IDEOGRAPH
+  {0x98AB, 0x4E85}, //3585 #CJK UNIFIED IDEOGRAPH
+  {0x98AC, 0x8C6B}, //3586 #CJK UNIFIED IDEOGRAPH
+  {0x98AD, 0x4E8A}, //3587 #CJK UNIFIED IDEOGRAPH
+  {0x98AE, 0x8212}, //3588 #CJK UNIFIED IDEOGRAPH
+  {0x98AF, 0x5F0D}, //3589 #CJK UNIFIED IDEOGRAPH
+  {0x98B0, 0x4E8E}, //3590 #CJK UNIFIED IDEOGRAPH
+  {0x98B1, 0x4E9E}, //3591 #CJK UNIFIED IDEOGRAPH
+  {0x98B2, 0x4E9F}, //3592 #CJK UNIFIED IDEOGRAPH
+  {0x98B3, 0x4EA0}, //3593 #CJK UNIFIED IDEOGRAPH
+  {0x98B4, 0x4EA2}, //3594 #CJK UNIFIED IDEOGRAPH
+  {0x98B5, 0x4EB0}, //3595 #CJK UNIFIED IDEOGRAPH
+  {0x98B6, 0x4EB3}, //3596 #CJK UNIFIED IDEOGRAPH
+  {0x98B7, 0x4EB6}, //3597 #CJK UNIFIED IDEOGRAPH
+  {0x98B8, 0x4ECE}, //3598 #CJK UNIFIED IDEOGRAPH
+  {0x98B9, 0x4ECD}, //3599 #CJK UNIFIED IDEOGRAPH
+  {0x98BA, 0x4EC4}, //3600 #CJK UNIFIED IDEOGRAPH
+  {0x98BB, 0x4EC6}, //3601 #CJK UNIFIED IDEOGRAPH
+  {0x98BC, 0x4EC2}, //3602 #CJK UNIFIED IDEOGRAPH
+  {0x98BD, 0x4ED7}, //3603 #CJK UNIFIED IDEOGRAPH
+  {0x98BE, 0x4EDE}, //3604 #CJK UNIFIED IDEOGRAPH
+  {0x98BF, 0x4EED}, //3605 #CJK UNIFIED IDEOGRAPH
+  {0x98C0, 0x4EDF}, //3606 #CJK UNIFIED IDEOGRAPH
+  {0x98C1, 0x4EF7}, //3607 #CJK UNIFIED IDEOGRAPH
+  {0x98C2, 0x4F09}, //3608 #CJK UNIFIED IDEOGRAPH
+  {0x98C3, 0x4F5A}, //3609 #CJK UNIFIED IDEOGRAPH
+  {0x98C4, 0x4F30}, //3610 #CJK UNIFIED IDEOGRAPH
+  {0x98C5, 0x4F5B}, //3611 #CJK UNIFIED IDEOGRAPH
+  {0x98C6, 0x4F5D}, //3612 #CJK UNIFIED IDEOGRAPH
+  {0x98C7, 0x4F57}, //3613 #CJK UNIFIED IDEOGRAPH
+  {0x98C8, 0x4F47}, //3614 #CJK UNIFIED IDEOGRAPH
+  {0x98C9, 0x4F76}, //3615 #CJK UNIFIED IDEOGRAPH
+  {0x98CA, 0x4F88}, //3616 #CJK UNIFIED IDEOGRAPH
+  {0x98CB, 0x4F8F}, //3617 #CJK UNIFIED IDEOGRAPH
+  {0x98CC, 0x4F98}, //3618 #CJK UNIFIED IDEOGRAPH
+  {0x98CD, 0x4F7B}, //3619 #CJK UNIFIED IDEOGRAPH
+  {0x98CE, 0x4F69}, //3620 #CJK UNIFIED IDEOGRAPH
+  {0x98CF, 0x4F70}, //3621 #CJK UNIFIED IDEOGRAPH
+  {0x98D0, 0x4F91}, //3622 #CJK UNIFIED IDEOGRAPH
+  {0x98D1, 0x4F6F}, //3623 #CJK UNIFIED IDEOGRAPH
+  {0x98D2, 0x4F86}, //3624 #CJK UNIFIED IDEOGRAPH
+  {0x98D3, 0x4F96}, //3625 #CJK UNIFIED IDEOGRAPH
+  {0x98D4, 0x5118}, //3626 #CJK UNIFIED IDEOGRAPH
+  {0x98D5, 0x4FD4}, //3627 #CJK UNIFIED IDEOGRAPH
+  {0x98D6, 0x4FDF}, //3628 #CJK UNIFIED IDEOGRAPH
+  {0x98D7, 0x4FCE}, //3629 #CJK UNIFIED IDEOGRAPH
+  {0x98D8, 0x4FD8}, //3630 #CJK UNIFIED IDEOGRAPH
+  {0x98D9, 0x4FDB}, //3631 #CJK UNIFIED IDEOGRAPH
+  {0x98DA, 0x4FD1}, //3632 #CJK UNIFIED IDEOGRAPH
+  {0x98DB, 0x4FDA}, //3633 #CJK UNIFIED IDEOGRAPH
+  {0x98DC, 0x4FD0}, //3634 #CJK UNIFIED IDEOGRAPH
+  {0x98DD, 0x4FE4}, //3635 #CJK UNIFIED IDEOGRAPH
+  {0x98DE, 0x4FE5}, //3636 #CJK UNIFIED IDEOGRAPH
+  {0x98DF, 0x501A}, //3637 #CJK UNIFIED IDEOGRAPH
+  {0x98E0, 0x5028}, //3638 #CJK UNIFIED IDEOGRAPH
+  {0x98E1, 0x5014}, //3639 #CJK UNIFIED IDEOGRAPH
+  {0x98E2, 0x502A}, //3640 #CJK UNIFIED IDEOGRAPH
+  {0x98E3, 0x5025}, //3641 #CJK UNIFIED IDEOGRAPH
+  {0x98E4, 0x5005}, //3642 #CJK UNIFIED IDEOGRAPH
+  {0x98E5, 0x4F1C}, //3643 #CJK UNIFIED IDEOGRAPH
+  {0x98E6, 0x4FF6}, //3644 #CJK UNIFIED IDEOGRAPH
+  {0x98E7, 0x5021}, //3645 #CJK UNIFIED IDEOGRAPH
+  {0x98E8, 0x5029}, //3646 #CJK UNIFIED IDEOGRAPH
+  {0x98E9, 0x502C}, //3647 #CJK UNIFIED IDEOGRAPH
+  {0x98EA, 0x4FFE}, //3648 #CJK UNIFIED IDEOGRAPH
+  {0x98EB, 0x4FEF}, //3649 #CJK UNIFIED IDEOGRAPH
+  {0x98EC, 0x5011}, //3650 #CJK UNIFIED IDEOGRAPH
+  {0x98ED, 0x5006}, //3651 #CJK UNIFIED IDEOGRAPH
+  {0x98EE, 0x5043}, //3652 #CJK UNIFIED IDEOGRAPH
+  {0x98EF, 0x5047}, //3653 #CJK UNIFIED IDEOGRAPH
+  {0x98F0, 0x6703}, //3654 #CJK UNIFIED IDEOGRAPH
+  {0x98F1, 0x5055}, //3655 #CJK UNIFIED IDEOGRAPH
+  {0x98F2, 0x5050}, //3656 #CJK UNIFIED IDEOGRAPH
+  {0x98F3, 0x5048}, //3657 #CJK UNIFIED IDEOGRAPH
+  {0x98F4, 0x505A}, //3658 #CJK UNIFIED IDEOGRAPH
+  {0x98F5, 0x5056}, //3659 #CJK UNIFIED IDEOGRAPH
+  {0x98F6, 0x506C}, //3660 #CJK UNIFIED IDEOGRAPH
+  {0x98F7, 0x5078}, //3661 #CJK UNIFIED IDEOGRAPH
+  {0x98F8, 0x5080}, //3662 #CJK UNIFIED IDEOGRAPH
+  {0x98F9, 0x509A}, //3663 #CJK UNIFIED IDEOGRAPH
+  {0x98FA, 0x5085}, //3664 #CJK UNIFIED IDEOGRAPH
+  {0x98FB, 0x50B4}, //3665 #CJK UNIFIED IDEOGRAPH
+  {0x98FC, 0x50B2}, //3666 #CJK UNIFIED IDEOGRAPH
+  {0x9940, 0x50C9}, //3667 #CJK UNIFIED IDEOGRAPH
+  {0x9941, 0x50CA}, //3668 #CJK UNIFIED IDEOGRAPH
+  {0x9942, 0x50B3}, //3669 #CJK UNIFIED IDEOGRAPH
+  {0x9943, 0x50C2}, //3670 #CJK UNIFIED IDEOGRAPH
+  {0x9944, 0x50D6}, //3671 #CJK UNIFIED IDEOGRAPH
+  {0x9945, 0x50DE}, //3672 #CJK UNIFIED IDEOGRAPH
+  {0x9946, 0x50E5}, //3673 #CJK UNIFIED IDEOGRAPH
+  {0x9947, 0x50ED}, //3674 #CJK UNIFIED IDEOGRAPH
+  {0x9948, 0x50E3}, //3675 #CJK UNIFIED IDEOGRAPH
+  {0x9949, 0x50EE}, //3676 #CJK UNIFIED IDEOGRAPH
+  {0x994A, 0x50F9}, //3677 #CJK UNIFIED IDEOGRAPH
+  {0x994B, 0x50F5}, //3678 #CJK UNIFIED IDEOGRAPH
+  {0x994C, 0x5109}, //3679 #CJK UNIFIED IDEOGRAPH
+  {0x994D, 0x5101}, //3680 #CJK UNIFIED IDEOGRAPH
+  {0x994E, 0x5102}, //3681 #CJK UNIFIED IDEOGRAPH
+  {0x994F, 0x5116}, //3682 #CJK UNIFIED IDEOGRAPH
+  {0x9950, 0x5115}, //3683 #CJK UNIFIED IDEOGRAPH
+  {0x9951, 0x5114}, //3684 #CJK UNIFIED IDEOGRAPH
+  {0x9952, 0x511A}, //3685 #CJK UNIFIED IDEOGRAPH
+  {0x9953, 0x5121}, //3686 #CJK UNIFIED IDEOGRAPH
+  {0x9954, 0x513A}, //3687 #CJK UNIFIED IDEOGRAPH
+  {0x9955, 0x5137}, //3688 #CJK UNIFIED IDEOGRAPH
+  {0x9956, 0x513C}, //3689 #CJK UNIFIED IDEOGRAPH
+  {0x9957, 0x513B}, //3690 #CJK UNIFIED IDEOGRAPH
+  {0x9958, 0x513F}, //3691 #CJK UNIFIED IDEOGRAPH
+  {0x9959, 0x5140}, //3692 #CJK UNIFIED IDEOGRAPH
+  {0x995A, 0x5152}, //3693 #CJK UNIFIED IDEOGRAPH
+  {0x995B, 0x514C}, //3694 #CJK UNIFIED IDEOGRAPH
+  {0x995C, 0x5154}, //3695 #CJK UNIFIED IDEOGRAPH
+  {0x995D, 0x5162}, //3696 #CJK UNIFIED IDEOGRAPH
+  {0x995E, 0x7AF8}, //3697 #CJK UNIFIED IDEOGRAPH
+  {0x995F, 0x5169}, //3698 #CJK UNIFIED IDEOGRAPH
+  {0x9960, 0x516A}, //3699 #CJK UNIFIED IDEOGRAPH
+  {0x9961, 0x516E}, //3700 #CJK UNIFIED IDEOGRAPH
+  {0x9962, 0x5180}, //3701 #CJK UNIFIED IDEOGRAPH
+  {0x9963, 0x5182}, //3702 #CJK UNIFIED IDEOGRAPH
+  {0x9964, 0x56D8}, //3703 #CJK UNIFIED IDEOGRAPH
+  {0x9965, 0x518C}, //3704 #CJK UNIFIED IDEOGRAPH
+  {0x9966, 0x5189}, //3705 #CJK UNIFIED IDEOGRAPH
+  {0x9967, 0x518F}, //3706 #CJK UNIFIED IDEOGRAPH
+  {0x9968, 0x5191}, //3707 #CJK UNIFIED IDEOGRAPH
+  {0x9969, 0x5193}, //3708 #CJK UNIFIED IDEOGRAPH
+  {0x996A, 0x5195}, //3709 #CJK UNIFIED IDEOGRAPH
+  {0x996B, 0x5196}, //3710 #CJK UNIFIED IDEOGRAPH
+  {0x996C, 0x51A4}, //3711 #CJK UNIFIED IDEOGRAPH
+  {0x996D, 0x51A6}, //3712 #CJK UNIFIED IDEOGRAPH
+  {0x996E, 0x51A2}, //3713 #CJK UNIFIED IDEOGRAPH
+  {0x996F, 0x51A9}, //3714 #CJK UNIFIED IDEOGRAPH
+  {0x9970, 0x51AA}, //3715 #CJK UNIFIED IDEOGRAPH
+  {0x9971, 0x51AB}, //3716 #CJK UNIFIED IDEOGRAPH
+  {0x9972, 0x51B3}, //3717 #CJK UNIFIED IDEOGRAPH
+  {0x9973, 0x51B1}, //3718 #CJK UNIFIED IDEOGRAPH
+  {0x9974, 0x51B2}, //3719 #CJK UNIFIED IDEOGRAPH
+  {0x9975, 0x51B0}, //3720 #CJK UNIFIED IDEOGRAPH
+  {0x9976, 0x51B5}, //3721 #CJK UNIFIED IDEOGRAPH
+  {0x9977, 0x51BD}, //3722 #CJK UNIFIED IDEOGRAPH
+  {0x9978, 0x51C5}, //3723 #CJK UNIFIED IDEOGRAPH
+  {0x9979, 0x51C9}, //3724 #CJK UNIFIED IDEOGRAPH
+  {0x997A, 0x51DB}, //3725 #CJK UNIFIED IDEOGRAPH
+  {0x997B, 0x51E0}, //3726 #CJK UNIFIED IDEOGRAPH
+  {0x997C, 0x8655}, //3727 #CJK UNIFIED IDEOGRAPH
+  {0x997D, 0x51E9}, //3728 #CJK UNIFIED IDEOGRAPH
+  {0x997E, 0x51ED}, //3729 #CJK UNIFIED IDEOGRAPH
+  {0x9980, 0x51F0}, //3730 #CJK UNIFIED IDEOGRAPH
+  {0x9981, 0x51F5}, //3731 #CJK UNIFIED IDEOGRAPH
+  {0x9982, 0x51FE}, //3732 #CJK UNIFIED IDEOGRAPH
+  {0x9983, 0x5204}, //3733 #CJK UNIFIED IDEOGRAPH
+  {0x9984, 0x520B}, //3734 #CJK UNIFIED IDEOGRAPH
+  {0x9985, 0x5214}, //3735 #CJK UNIFIED IDEOGRAPH
+  {0x9986, 0x520E}, //3736 #CJK UNIFIED IDEOGRAPH
+  {0x9987, 0x5227}, //3737 #CJK UNIFIED IDEOGRAPH
+  {0x9988, 0x522A}, //3738 #CJK UNIFIED IDEOGRAPH
+  {0x9989, 0x522E}, //3739 #CJK UNIFIED IDEOGRAPH
+  {0x998A, 0x5233}, //3740 #CJK UNIFIED IDEOGRAPH
+  {0x998B, 0x5239}, //3741 #CJK UNIFIED IDEOGRAPH
+  {0x998C, 0x524F}, //3742 #CJK UNIFIED IDEOGRAPH
+  {0x998D, 0x5244}, //3743 #CJK UNIFIED IDEOGRAPH
+  {0x998E, 0x524B}, //3744 #CJK UNIFIED IDEOGRAPH
+  {0x998F, 0x524C}, //3745 #CJK UNIFIED IDEOGRAPH
+  {0x9990, 0x525E}, //3746 #CJK UNIFIED IDEOGRAPH
+  {0x9991, 0x5254}, //3747 #CJK UNIFIED IDEOGRAPH
+  {0x9992, 0x526A}, //3748 #CJK UNIFIED IDEOGRAPH
+  {0x9993, 0x5274}, //3749 #CJK UNIFIED IDEOGRAPH
+  {0x9994, 0x5269}, //3750 #CJK UNIFIED IDEOGRAPH
+  {0x9995, 0x5273}, //3751 #CJK UNIFIED IDEOGRAPH
+  {0x9996, 0x527F}, //3752 #CJK UNIFIED IDEOGRAPH
+  {0x9997, 0x527D}, //3753 #CJK UNIFIED IDEOGRAPH
+  {0x9998, 0x528D}, //3754 #CJK UNIFIED IDEOGRAPH
+  {0x9999, 0x5294}, //3755 #CJK UNIFIED IDEOGRAPH
+  {0x999A, 0x5292}, //3756 #CJK UNIFIED IDEOGRAPH
+  {0x999B, 0x5271}, //3757 #CJK UNIFIED IDEOGRAPH
+  {0x999C, 0x5288}, //3758 #CJK UNIFIED IDEOGRAPH
+  {0x999D, 0x5291}, //3759 #CJK UNIFIED IDEOGRAPH
+  {0x999E, 0x8FA8}, //3760 #CJK UNIFIED IDEOGRAPH
+  {0x999F, 0x8FA7}, //3761 #CJK UNIFIED IDEOGRAPH
+  {0x99A0, 0x52AC}, //3762 #CJK UNIFIED IDEOGRAPH
+  {0x99A1, 0x52AD}, //3763 #CJK UNIFIED IDEOGRAPH
+  {0x99A2, 0x52BC}, //3764 #CJK UNIFIED IDEOGRAPH
+  {0x99A3, 0x52B5}, //3765 #CJK UNIFIED IDEOGRAPH
+  {0x99A4, 0x52C1}, //3766 #CJK UNIFIED IDEOGRAPH
+  {0x99A5, 0x52CD}, //3767 #CJK UNIFIED IDEOGRAPH
+  {0x99A6, 0x52D7}, //3768 #CJK UNIFIED IDEOGRAPH
+  {0x99A7, 0x52DE}, //3769 #CJK UNIFIED IDEOGRAPH
+  {0x99A8, 0x52E3}, //3770 #CJK UNIFIED IDEOGRAPH
+  {0x99A9, 0x52E6}, //3771 #CJK UNIFIED IDEOGRAPH
+  {0x99AA, 0x98ED}, //3772 #CJK UNIFIED IDEOGRAPH
+  {0x99AB, 0x52E0}, //3773 #CJK UNIFIED IDEOGRAPH
+  {0x99AC, 0x52F3}, //3774 #CJK UNIFIED IDEOGRAPH
+  {0x99AD, 0x52F5}, //3775 #CJK UNIFIED IDEOGRAPH
+  {0x99AE, 0x52F8}, //3776 #CJK UNIFIED IDEOGRAPH
+  {0x99AF, 0x52F9}, //3777 #CJK UNIFIED IDEOGRAPH
+  {0x99B0, 0x5306}, //3778 #CJK UNIFIED IDEOGRAPH
+  {0x99B1, 0x5308}, //3779 #CJK UNIFIED IDEOGRAPH
+  {0x99B2, 0x7538}, //3780 #CJK UNIFIED IDEOGRAPH
+  {0x99B3, 0x530D}, //3781 #CJK UNIFIED IDEOGRAPH
+  {0x99B4, 0x5310}, //3782 #CJK UNIFIED IDEOGRAPH
+  {0x99B5, 0x530F}, //3783 #CJK UNIFIED IDEOGRAPH
+  {0x99B6, 0x5315}, //3784 #CJK UNIFIED IDEOGRAPH
+  {0x99B7, 0x531A}, //3785 #CJK UNIFIED IDEOGRAPH
+  {0x99B8, 0x5323}, //3786 #CJK UNIFIED IDEOGRAPH
+  {0x99B9, 0x532F}, //3787 #CJK UNIFIED IDEOGRAPH
+  {0x99BA, 0x5331}, //3788 #CJK UNIFIED IDEOGRAPH
+  {0x99BB, 0x5333}, //3789 #CJK UNIFIED IDEOGRAPH
+  {0x99BC, 0x5338}, //3790 #CJK UNIFIED IDEOGRAPH
+  {0x99BD, 0x5340}, //3791 #CJK UNIFIED IDEOGRAPH
+  {0x99BE, 0x5346}, //3792 #CJK UNIFIED IDEOGRAPH
+  {0x99BF, 0x5345}, //3793 #CJK UNIFIED IDEOGRAPH
+  {0x99C0, 0x4E17}, //3794 #CJK UNIFIED IDEOGRAPH
+  {0x99C1, 0x5349}, //3795 #CJK UNIFIED IDEOGRAPH
+  {0x99C2, 0x534D}, //3796 #CJK UNIFIED IDEOGRAPH
+  {0x99C3, 0x51D6}, //3797 #CJK UNIFIED IDEOGRAPH
+  {0x99C4, 0x535E}, //3798 #CJK UNIFIED IDEOGRAPH
+  {0x99C5, 0x5369}, //3799 #CJK UNIFIED IDEOGRAPH
+  {0x99C6, 0x536E}, //3800 #CJK UNIFIED IDEOGRAPH
+  {0x99C7, 0x5918}, //3801 #CJK UNIFIED IDEOGRAPH
+  {0x99C8, 0x537B}, //3802 #CJK UNIFIED IDEOGRAPH
+  {0x99C9, 0x5377}, //3803 #CJK UNIFIED IDEOGRAPH
+  {0x99CA, 0x5382}, //3804 #CJK UNIFIED IDEOGRAPH
+  {0x99CB, 0x5396}, //3805 #CJK UNIFIED IDEOGRAPH
+  {0x99CC, 0x53A0}, //3806 #CJK UNIFIED IDEOGRAPH
+  {0x99CD, 0x53A6}, //3807 #CJK UNIFIED IDEOGRAPH
+  {0x99CE, 0x53A5}, //3808 #CJK UNIFIED IDEOGRAPH
+  {0x99CF, 0x53AE}, //3809 #CJK UNIFIED IDEOGRAPH
+  {0x99D0, 0x53B0}, //3810 #CJK UNIFIED IDEOGRAPH
+  {0x99D1, 0x53B6}, //3811 #CJK UNIFIED IDEOGRAPH
+  {0x99D2, 0x53C3}, //3812 #CJK UNIFIED IDEOGRAPH
+  {0x99D3, 0x7C12}, //3813 #CJK UNIFIED IDEOGRAPH
+  {0x99D4, 0x96D9}, //3814 #CJK UNIFIED IDEOGRAPH
+  {0x99D5, 0x53DF}, //3815 #CJK UNIFIED IDEOGRAPH
+  {0x99D6, 0x66FC}, //3816 #CJK UNIFIED IDEOGRAPH
+  {0x99D7, 0x71EE}, //3817 #CJK UNIFIED IDEOGRAPH
+  {0x99D8, 0x53EE}, //3818 #CJK UNIFIED IDEOGRAPH
+  {0x99D9, 0x53E8}, //3819 #CJK UNIFIED IDEOGRAPH
+  {0x99DA, 0x53ED}, //3820 #CJK UNIFIED IDEOGRAPH
+  {0x99DB, 0x53FA}, //3821 #CJK UNIFIED IDEOGRAPH
+  {0x99DC, 0x5401}, //3822 #CJK UNIFIED IDEOGRAPH
+  {0x99DD, 0x543D}, //3823 #CJK UNIFIED IDEOGRAPH
+  {0x99DE, 0x5440}, //3824 #CJK UNIFIED IDEOGRAPH
+  {0x99DF, 0x542C}, //3825 #CJK UNIFIED IDEOGRAPH
+  {0x99E0, 0x542D}, //3826 #CJK UNIFIED IDEOGRAPH
+  {0x99E1, 0x543C}, //3827 #CJK UNIFIED IDEOGRAPH
+  {0x99E2, 0x542E}, //3828 #CJK UNIFIED IDEOGRAPH
+  {0x99E3, 0x5436}, //3829 #CJK UNIFIED IDEOGRAPH
+  {0x99E4, 0x5429}, //3830 #CJK UNIFIED IDEOGRAPH
+  {0x99E5, 0x541D}, //3831 #CJK UNIFIED IDEOGRAPH
+  {0x99E6, 0x544E}, //3832 #CJK UNIFIED IDEOGRAPH
+  {0x99E7, 0x548F}, //3833 #CJK UNIFIED IDEOGRAPH
+  {0x99E8, 0x5475}, //3834 #CJK UNIFIED IDEOGRAPH
+  {0x99E9, 0x548E}, //3835 #CJK UNIFIED IDEOGRAPH
+  {0x99EA, 0x545F}, //3836 #CJK UNIFIED IDEOGRAPH
+  {0x99EB, 0x5471}, //3837 #CJK UNIFIED IDEOGRAPH
+  {0x99EC, 0x5477}, //3838 #CJK UNIFIED IDEOGRAPH
+  {0x99ED, 0x5470}, //3839 #CJK UNIFIED IDEOGRAPH
+  {0x99EE, 0x5492}, //3840 #CJK UNIFIED IDEOGRAPH
+  {0x99EF, 0x547B}, //3841 #CJK UNIFIED IDEOGRAPH
+  {0x99F0, 0x5480}, //3842 #CJK UNIFIED IDEOGRAPH
+  {0x99F1, 0x5476}, //3843 #CJK UNIFIED IDEOGRAPH
+  {0x99F2, 0x5484}, //3844 #CJK UNIFIED IDEOGRAPH
+  {0x99F3, 0x5490}, //3845 #CJK UNIFIED IDEOGRAPH
+  {0x99F4, 0x5486}, //3846 #CJK UNIFIED IDEOGRAPH
+  {0x99F5, 0x54C7}, //3847 #CJK UNIFIED IDEOGRAPH
+  {0x99F6, 0x54A2}, //3848 #CJK UNIFIED IDEOGRAPH
+  {0x99F7, 0x54B8}, //3849 #CJK UNIFIED IDEOGRAPH
+  {0x99F8, 0x54A5}, //3850 #CJK UNIFIED IDEOGRAPH
+  {0x99F9, 0x54AC}, //3851 #CJK UNIFIED IDEOGRAPH
+  {0x99FA, 0x54C4}, //3852 #CJK UNIFIED IDEOGRAPH
+  {0x99FB, 0x54C8}, //3853 #CJK UNIFIED IDEOGRAPH
+  {0x99FC, 0x54A8}, //3854 #CJK UNIFIED IDEOGRAPH
+  {0x9A40, 0x54AB}, //3855 #CJK UNIFIED IDEOGRAPH
+  {0x9A41, 0x54C2}, //3856 #CJK UNIFIED IDEOGRAPH
+  {0x9A42, 0x54A4}, //3857 #CJK UNIFIED IDEOGRAPH
+  {0x9A43, 0x54BE}, //3858 #CJK UNIFIED IDEOGRAPH
+  {0x9A44, 0x54BC}, //3859 #CJK UNIFIED IDEOGRAPH
+  {0x9A45, 0x54D8}, //3860 #CJK UNIFIED IDEOGRAPH
+  {0x9A46, 0x54E5}, //3861 #CJK UNIFIED IDEOGRAPH
+  {0x9A47, 0x54E6}, //3862 #CJK UNIFIED IDEOGRAPH
+  {0x9A48, 0x550F}, //3863 #CJK UNIFIED IDEOGRAPH
+  {0x9A49, 0x5514}, //3864 #CJK UNIFIED IDEOGRAPH
+  {0x9A4A, 0x54FD}, //3865 #CJK UNIFIED IDEOGRAPH
+  {0x9A4B, 0x54EE}, //3866 #CJK UNIFIED IDEOGRAPH
+  {0x9A4C, 0x54ED}, //3867 #CJK UNIFIED IDEOGRAPH
+  {0x9A4D, 0x54FA}, //3868 #CJK UNIFIED IDEOGRAPH
+  {0x9A4E, 0x54E2}, //3869 #CJK UNIFIED IDEOGRAPH
+  {0x9A4F, 0x5539}, //3870 #CJK UNIFIED IDEOGRAPH
+  {0x9A50, 0x5540}, //3871 #CJK UNIFIED IDEOGRAPH
+  {0x9A51, 0x5563}, //3872 #CJK UNIFIED IDEOGRAPH
+  {0x9A52, 0x554C}, //3873 #CJK UNIFIED IDEOGRAPH
+  {0x9A53, 0x552E}, //3874 #CJK UNIFIED IDEOGRAPH
+  {0x9A54, 0x555C}, //3875 #CJK UNIFIED IDEOGRAPH
+  {0x9A55, 0x5545}, //3876 #CJK UNIFIED IDEOGRAPH
+  {0x9A56, 0x5556}, //3877 #CJK UNIFIED IDEOGRAPH
+  {0x9A57, 0x5557}, //3878 #CJK UNIFIED IDEOGRAPH
+  {0x9A58, 0x5538}, //3879 #CJK UNIFIED IDEOGRAPH
+  {0x9A59, 0x5533}, //3880 #CJK UNIFIED IDEOGRAPH
+  {0x9A5A, 0x555D}, //3881 #CJK UNIFIED IDEOGRAPH
+  {0x9A5B, 0x5599}, //3882 #CJK UNIFIED IDEOGRAPH
+  {0x9A5C, 0x5580}, //3883 #CJK UNIFIED IDEOGRAPH
+  {0x9A5D, 0x54AF}, //3884 #CJK UNIFIED IDEOGRAPH
+  {0x9A5E, 0x558A}, //3885 #CJK UNIFIED IDEOGRAPH
+  {0x9A5F, 0x559F}, //3886 #CJK UNIFIED IDEOGRAPH
+  {0x9A60, 0x557B}, //3887 #CJK UNIFIED IDEOGRAPH
+  {0x9A61, 0x557E}, //3888 #CJK UNIFIED IDEOGRAPH
+  {0x9A62, 0x5598}, //3889 #CJK UNIFIED IDEOGRAPH
+  {0x9A63, 0x559E}, //3890 #CJK UNIFIED IDEOGRAPH
+  {0x9A64, 0x55AE}, //3891 #CJK UNIFIED IDEOGRAPH
+  {0x9A65, 0x557C}, //3892 #CJK UNIFIED IDEOGRAPH
+  {0x9A66, 0x5583}, //3893 #CJK UNIFIED IDEOGRAPH
+  {0x9A67, 0x55A9}, //3894 #CJK UNIFIED IDEOGRAPH
+  {0x9A68, 0x5587}, //3895 #CJK UNIFIED IDEOGRAPH
+  {0x9A69, 0x55A8}, //3896 #CJK UNIFIED IDEOGRAPH
+  {0x9A6A, 0x55DA}, //3897 #CJK UNIFIED IDEOGRAPH
+  {0x9A6B, 0x55C5}, //3898 #CJK UNIFIED IDEOGRAPH
+  {0x9A6C, 0x55DF}, //3899 #CJK UNIFIED IDEOGRAPH
+  {0x9A6D, 0x55C4}, //3900 #CJK UNIFIED IDEOGRAPH
+  {0x9A6E, 0x55DC}, //3901 #CJK UNIFIED IDEOGRAPH
+  {0x9A6F, 0x55E4}, //3902 #CJK UNIFIED IDEOGRAPH
+  {0x9A70, 0x55D4}, //3903 #CJK UNIFIED IDEOGRAPH
+  {0x9A71, 0x5614}, //3904 #CJK UNIFIED IDEOGRAPH
+  {0x9A72, 0x55F7}, //3905 #CJK UNIFIED IDEOGRAPH
+  {0x9A73, 0x5616}, //3906 #CJK UNIFIED IDEOGRAPH
+  {0x9A74, 0x55FE}, //3907 #CJK UNIFIED IDEOGRAPH
+  {0x9A75, 0x55FD}, //3908 #CJK UNIFIED IDEOGRAPH
+  {0x9A76, 0x561B}, //3909 #CJK UNIFIED IDEOGRAPH
+  {0x9A77, 0x55F9}, //3910 #CJK UNIFIED IDEOGRAPH
+  {0x9A78, 0x564E}, //3911 #CJK UNIFIED IDEOGRAPH
+  {0x9A79, 0x5650}, //3912 #CJK UNIFIED IDEOGRAPH
+  {0x9A7A, 0x71DF}, //3913 #CJK UNIFIED IDEOGRAPH
+  {0x9A7B, 0x5634}, //3914 #CJK UNIFIED IDEOGRAPH
+  {0x9A7C, 0x5636}, //3915 #CJK UNIFIED IDEOGRAPH
+  {0x9A7D, 0x5632}, //3916 #CJK UNIFIED IDEOGRAPH
+  {0x9A7E, 0x5638}, //3917 #CJK UNIFIED IDEOGRAPH
+  {0x9A80, 0x566B}, //3918 #CJK UNIFIED IDEOGRAPH
+  {0x9A81, 0x5664}, //3919 #CJK UNIFIED IDEOGRAPH
+  {0x9A82, 0x562F}, //3920 #CJK UNIFIED IDEOGRAPH
+  {0x9A83, 0x566C}, //3921 #CJK UNIFIED IDEOGRAPH
+  {0x9A84, 0x566A}, //3922 #CJK UNIFIED IDEOGRAPH
+  {0x9A85, 0x5686}, //3923 #CJK UNIFIED IDEOGRAPH
+  {0x9A86, 0x5680}, //3924 #CJK UNIFIED IDEOGRAPH
+  {0x9A87, 0x568A}, //3925 #CJK UNIFIED IDEOGRAPH
+  {0x9A88, 0x56A0}, //3926 #CJK UNIFIED IDEOGRAPH
+  {0x9A89, 0x5694}, //3927 #CJK UNIFIED IDEOGRAPH
+  {0x9A8A, 0x568F}, //3928 #CJK UNIFIED IDEOGRAPH
+  {0x9A8B, 0x56A5}, //3929 #CJK UNIFIED IDEOGRAPH
+  {0x9A8C, 0x56AE}, //3930 #CJK UNIFIED IDEOGRAPH
+  {0x9A8D, 0x56B6}, //3931 #CJK UNIFIED IDEOGRAPH
+  {0x9A8E, 0x56B4}, //3932 #CJK UNIFIED IDEOGRAPH
+  {0x9A8F, 0x56C2}, //3933 #CJK UNIFIED IDEOGRAPH
+  {0x9A90, 0x56BC}, //3934 #CJK UNIFIED IDEOGRAPH
+  {0x9A91, 0x56C1}, //3935 #CJK UNIFIED IDEOGRAPH
+  {0x9A92, 0x56C3}, //3936 #CJK UNIFIED IDEOGRAPH
+  {0x9A93, 0x56C0}, //3937 #CJK UNIFIED IDEOGRAPH
+  {0x9A94, 0x56C8}, //3938 #CJK UNIFIED IDEOGRAPH
+  {0x9A95, 0x56CE}, //3939 #CJK UNIFIED IDEOGRAPH
+  {0x9A96, 0x56D1}, //3940 #CJK UNIFIED IDEOGRAPH
+  {0x9A97, 0x56D3}, //3941 #CJK UNIFIED IDEOGRAPH
+  {0x9A98, 0x56D7}, //3942 #CJK UNIFIED IDEOGRAPH
+  {0x9A99, 0x56EE}, //3943 #CJK UNIFIED IDEOGRAPH
+  {0x9A9A, 0x56F9}, //3944 #CJK UNIFIED IDEOGRAPH
+  {0x9A9B, 0x5700}, //3945 #CJK UNIFIED IDEOGRAPH
+  {0x9A9C, 0x56FF}, //3946 #CJK UNIFIED IDEOGRAPH
+  {0x9A9D, 0x5704}, //3947 #CJK UNIFIED IDEOGRAPH
+  {0x9A9E, 0x5709}, //3948 #CJK UNIFIED IDEOGRAPH
+  {0x9A9F, 0x5708}, //3949 #CJK UNIFIED IDEOGRAPH
+  {0x9AA0, 0x570B}, //3950 #CJK UNIFIED IDEOGRAPH
+  {0x9AA1, 0x570D}, //3951 #CJK UNIFIED IDEOGRAPH
+  {0x9AA2, 0x5713}, //3952 #CJK UNIFIED IDEOGRAPH
+  {0x9AA3, 0x5718}, //3953 #CJK UNIFIED IDEOGRAPH
+  {0x9AA4, 0x5716}, //3954 #CJK UNIFIED IDEOGRAPH
+  {0x9AA5, 0x55C7}, //3955 #CJK UNIFIED IDEOGRAPH
+  {0x9AA6, 0x571C}, //3956 #CJK UNIFIED IDEOGRAPH
+  {0x9AA7, 0x5726}, //3957 #CJK UNIFIED IDEOGRAPH
+  {0x9AA8, 0x5737}, //3958 #CJK UNIFIED IDEOGRAPH
+  {0x9AA9, 0x5738}, //3959 #CJK UNIFIED IDEOGRAPH
+  {0x9AAA, 0x574E}, //3960 #CJK UNIFIED IDEOGRAPH
+  {0x9AAB, 0x573B}, //3961 #CJK UNIFIED IDEOGRAPH
+  {0x9AAC, 0x5740}, //3962 #CJK UNIFIED IDEOGRAPH
+  {0x9AAD, 0x574F}, //3963 #CJK UNIFIED IDEOGRAPH
+  {0x9AAE, 0x5769}, //3964 #CJK UNIFIED IDEOGRAPH
+  {0x9AAF, 0x57C0}, //3965 #CJK UNIFIED IDEOGRAPH
+  {0x9AB0, 0x5788}, //3966 #CJK UNIFIED IDEOGRAPH
+  {0x9AB1, 0x5761}, //3967 #CJK UNIFIED IDEOGRAPH
+  {0x9AB2, 0x577F}, //3968 #CJK UNIFIED IDEOGRAPH
+  {0x9AB3, 0x5789}, //3969 #CJK UNIFIED IDEOGRAPH
+  {0x9AB4, 0x5793}, //3970 #CJK UNIFIED IDEOGRAPH
+  {0x9AB5, 0x57A0}, //3971 #CJK UNIFIED IDEOGRAPH
+  {0x9AB6, 0x57B3}, //3972 #CJK UNIFIED IDEOGRAPH
+  {0x9AB7, 0x57A4}, //3973 #CJK UNIFIED IDEOGRAPH
+  {0x9AB8, 0x57AA}, //3974 #CJK UNIFIED IDEOGRAPH
+  {0x9AB9, 0x57B0}, //3975 #CJK UNIFIED IDEOGRAPH
+  {0x9ABA, 0x57C3}, //3976 #CJK UNIFIED IDEOGRAPH
+  {0x9ABB, 0x57C6}, //3977 #CJK UNIFIED IDEOGRAPH
+  {0x9ABC, 0x57D4}, //3978 #CJK UNIFIED IDEOGRAPH
+  {0x9ABD, 0x57D2}, //3979 #CJK UNIFIED IDEOGRAPH
+  {0x9ABE, 0x57D3}, //3980 #CJK UNIFIED IDEOGRAPH
+  {0x9ABF, 0x580A}, //3981 #CJK UNIFIED IDEOGRAPH
+  {0x9AC0, 0x57D6}, //3982 #CJK UNIFIED IDEOGRAPH
+  {0x9AC1, 0x57E3}, //3983 #CJK UNIFIED IDEOGRAPH
+  {0x9AC2, 0x580B}, //3984 #CJK UNIFIED IDEOGRAPH
+  {0x9AC3, 0x5819}, //3985 #CJK UNIFIED IDEOGRAPH
+  {0x9AC4, 0x581D}, //3986 #CJK UNIFIED IDEOGRAPH
+  {0x9AC5, 0x5872}, //3987 #CJK UNIFIED IDEOGRAPH
+  {0x9AC6, 0x5821}, //3988 #CJK UNIFIED IDEOGRAPH
+  {0x9AC7, 0x5862}, //3989 #CJK UNIFIED IDEOGRAPH
+  {0x9AC8, 0x584B}, //3990 #CJK UNIFIED IDEOGRAPH
+  {0x9AC9, 0x5870}, //3991 #CJK UNIFIED IDEOGRAPH
+  {0x9ACA, 0x6BC0}, //3992 #CJK UNIFIED IDEOGRAPH
+  {0x9ACB, 0x5852}, //3993 #CJK UNIFIED IDEOGRAPH
+  {0x9ACC, 0x583D}, //3994 #CJK UNIFIED IDEOGRAPH
+  {0x9ACD, 0x5879}, //3995 #CJK UNIFIED IDEOGRAPH
+  {0x9ACE, 0x5885}, //3996 #CJK UNIFIED IDEOGRAPH
+  {0x9ACF, 0x58B9}, //3997 #CJK UNIFIED IDEOGRAPH
+  {0x9AD0, 0x589F}, //3998 #CJK UNIFIED IDEOGRAPH
+  {0x9AD1, 0x58AB}, //3999 #CJK UNIFIED IDEOGRAPH
+  {0x9AD2, 0x58BA}, //4000 #CJK UNIFIED IDEOGRAPH
+  {0x9AD3, 0x58DE}, //4001 #CJK UNIFIED IDEOGRAPH
+  {0x9AD4, 0x58BB}, //4002 #CJK UNIFIED IDEOGRAPH
+  {0x9AD5, 0x58B8}, //4003 #CJK UNIFIED IDEOGRAPH
+  {0x9AD6, 0x58AE}, //4004 #CJK UNIFIED IDEOGRAPH
+  {0x9AD7, 0x58C5}, //4005 #CJK UNIFIED IDEOGRAPH
+  {0x9AD8, 0x58D3}, //4006 #CJK UNIFIED IDEOGRAPH
+  {0x9AD9, 0x58D1}, //4007 #CJK UNIFIED IDEOGRAPH
+  {0x9ADA, 0x58D7}, //4008 #CJK UNIFIED IDEOGRAPH
+  {0x9ADB, 0x58D9}, //4009 #CJK UNIFIED IDEOGRAPH
+  {0x9ADC, 0x58D8}, //4010 #CJK UNIFIED IDEOGRAPH
+  {0x9ADD, 0x58E5}, //4011 #CJK UNIFIED IDEOGRAPH
+  {0x9ADE, 0x58DC}, //4012 #CJK UNIFIED IDEOGRAPH
+  {0x9ADF, 0x58E4}, //4013 #CJK UNIFIED IDEOGRAPH
+  {0x9AE0, 0x58DF}, //4014 #CJK UNIFIED IDEOGRAPH
+  {0x9AE1, 0x58EF}, //4015 #CJK UNIFIED IDEOGRAPH
+  {0x9AE2, 0x58FA}, //4016 #CJK UNIFIED IDEOGRAPH
+  {0x9AE3, 0x58F9}, //4017 #CJK UNIFIED IDEOGRAPH
+  {0x9AE4, 0x58FB}, //4018 #CJK UNIFIED IDEOGRAPH
+  {0x9AE5, 0x58FC}, //4019 #CJK UNIFIED IDEOGRAPH
+  {0x9AE6, 0x58FD}, //4020 #CJK UNIFIED IDEOGRAPH
+  {0x9AE7, 0x5902}, //4021 #CJK UNIFIED IDEOGRAPH
+  {0x9AE8, 0x590A}, //4022 #CJK UNIFIED IDEOGRAPH
+  {0x9AE9, 0x5910}, //4023 #CJK UNIFIED IDEOGRAPH
+  {0x9AEA, 0x591B}, //4024 #CJK UNIFIED IDEOGRAPH
+  {0x9AEB, 0x68A6}, //4025 #CJK UNIFIED IDEOGRAPH
+  {0x9AEC, 0x5925}, //4026 #CJK UNIFIED IDEOGRAPH
+  {0x9AED, 0x592C}, //4027 #CJK UNIFIED IDEOGRAPH
+  {0x9AEE, 0x592D}, //4028 #CJK UNIFIED IDEOGRAPH
+  {0x9AEF, 0x5932}, //4029 #CJK UNIFIED IDEOGRAPH
+  {0x9AF0, 0x5938}, //4030 #CJK UNIFIED IDEOGRAPH
+  {0x9AF1, 0x593E}, //4031 #CJK UNIFIED IDEOGRAPH
+  {0x9AF2, 0x7AD2}, //4032 #CJK UNIFIED IDEOGRAPH
+  {0x9AF3, 0x5955}, //4033 #CJK UNIFIED IDEOGRAPH
+  {0x9AF4, 0x5950}, //4034 #CJK UNIFIED IDEOGRAPH
+  {0x9AF5, 0x594E}, //4035 #CJK UNIFIED IDEOGRAPH
+  {0x9AF6, 0x595A}, //4036 #CJK UNIFIED IDEOGRAPH
+  {0x9AF7, 0x5958}, //4037 #CJK UNIFIED IDEOGRAPH
+  {0x9AF8, 0x5962}, //4038 #CJK UNIFIED IDEOGRAPH
+  {0x9AF9, 0x5960}, //4039 #CJK UNIFIED IDEOGRAPH
+  {0x9AFA, 0x5967}, //4040 #CJK UNIFIED IDEOGRAPH
+  {0x9AFB, 0x596C}, //4041 #CJK UNIFIED IDEOGRAPH
+  {0x9AFC, 0x5969}, //4042 #CJK UNIFIED IDEOGRAPH
+  {0x9B40, 0x5978}, //4043 #CJK UNIFIED IDEOGRAPH
+  {0x9B41, 0x5981}, //4044 #CJK UNIFIED IDEOGRAPH
+  {0x9B42, 0x599D}, //4045 #CJK UNIFIED IDEOGRAPH
+  {0x9B43, 0x4F5E}, //4046 #CJK UNIFIED IDEOGRAPH
+  {0x9B44, 0x4FAB}, //4047 #CJK UNIFIED IDEOGRAPH
+  {0x9B45, 0x59A3}, //4048 #CJK UNIFIED IDEOGRAPH
+  {0x9B46, 0x59B2}, //4049 #CJK UNIFIED IDEOGRAPH
+  {0x9B47, 0x59C6}, //4050 #CJK UNIFIED IDEOGRAPH
+  {0x9B48, 0x59E8}, //4051 #CJK UNIFIED IDEOGRAPH
+  {0x9B49, 0x59DC}, //4052 #CJK UNIFIED IDEOGRAPH
+  {0x9B4A, 0x598D}, //4053 #CJK UNIFIED IDEOGRAPH
+  {0x9B4B, 0x59D9}, //4054 #CJK UNIFIED IDEOGRAPH
+  {0x9B4C, 0x59DA}, //4055 #CJK UNIFIED IDEOGRAPH
+  {0x9B4D, 0x5A25}, //4056 #CJK UNIFIED IDEOGRAPH
+  {0x9B4E, 0x5A1F}, //4057 #CJK UNIFIED IDEOGRAPH
+  {0x9B4F, 0x5A11}, //4058 #CJK UNIFIED IDEOGRAPH
+  {0x9B50, 0x5A1C}, //4059 #CJK UNIFIED IDEOGRAPH
+  {0x9B51, 0x5A09}, //4060 #CJK UNIFIED IDEOGRAPH
+  {0x9B52, 0x5A1A}, //4061 #CJK UNIFIED IDEOGRAPH
+  {0x9B53, 0x5A40}, //4062 #CJK UNIFIED IDEOGRAPH
+  {0x9B54, 0x5A6C}, //4063 #CJK UNIFIED IDEOGRAPH
+  {0x9B55, 0x5A49}, //4064 #CJK UNIFIED IDEOGRAPH
+  {0x9B56, 0x5A35}, //4065 #CJK UNIFIED IDEOGRAPH
+  {0x9B57, 0x5A36}, //4066 #CJK UNIFIED IDEOGRAPH
+  {0x9B58, 0x5A62}, //4067 #CJK UNIFIED IDEOGRAPH
+  {0x9B59, 0x5A6A}, //4068 #CJK UNIFIED IDEOGRAPH
+  {0x9B5A, 0x5A9A}, //4069 #CJK UNIFIED IDEOGRAPH
+  {0x9B5B, 0x5ABC}, //4070 #CJK UNIFIED IDEOGRAPH
+  {0x9B5C, 0x5ABE}, //4071 #CJK UNIFIED IDEOGRAPH
+  {0x9B5D, 0x5ACB}, //4072 #CJK UNIFIED IDEOGRAPH
+  {0x9B5E, 0x5AC2}, //4073 #CJK UNIFIED IDEOGRAPH
+  {0x9B5F, 0x5ABD}, //4074 #CJK UNIFIED IDEOGRAPH
+  {0x9B60, 0x5AE3}, //4075 #CJK UNIFIED IDEOGRAPH
+  {0x9B61, 0x5AD7}, //4076 #CJK UNIFIED IDEOGRAPH
+  {0x9B62, 0x5AE6}, //4077 #CJK UNIFIED IDEOGRAPH
+  {0x9B63, 0x5AE9}, //4078 #CJK UNIFIED IDEOGRAPH
+  {0x9B64, 0x5AD6}, //4079 #CJK UNIFIED IDEOGRAPH
+  {0x9B65, 0x5AFA}, //4080 #CJK UNIFIED IDEOGRAPH
+  {0x9B66, 0x5AFB}, //4081 #CJK UNIFIED IDEOGRAPH
+  {0x9B67, 0x5B0C}, //4082 #CJK UNIFIED IDEOGRAPH
+  {0x9B68, 0x5B0B}, //4083 #CJK UNIFIED IDEOGRAPH
+  {0x9B69, 0x5B16}, //4084 #CJK UNIFIED IDEOGRAPH
+  {0x9B6A, 0x5B32}, //4085 #CJK UNIFIED IDEOGRAPH
+  {0x9B6B, 0x5AD0}, //4086 #CJK UNIFIED IDEOGRAPH
+  {0x9B6C, 0x5B2A}, //4087 #CJK UNIFIED IDEOGRAPH
+  {0x9B6D, 0x5B36}, //4088 #CJK UNIFIED IDEOGRAPH
+  {0x9B6E, 0x5B3E}, //4089 #CJK UNIFIED IDEOGRAPH
+  {0x9B6F, 0x5B43}, //4090 #CJK UNIFIED IDEOGRAPH
+  {0x9B70, 0x5B45}, //4091 #CJK UNIFIED IDEOGRAPH
+  {0x9B71, 0x5B40}, //4092 #CJK UNIFIED IDEOGRAPH
+  {0x9B72, 0x5B51}, //4093 #CJK UNIFIED IDEOGRAPH
+  {0x9B73, 0x5B55}, //4094 #CJK UNIFIED IDEOGRAPH
+  {0x9B74, 0x5B5A}, //4095 #CJK UNIFIED IDEOGRAPH
+  {0x9B75, 0x5B5B}, //4096 #CJK UNIFIED IDEOGRAPH
+  {0x9B76, 0x5B65}, //4097 #CJK UNIFIED IDEOGRAPH
+  {0x9B77, 0x5B69}, //4098 #CJK UNIFIED IDEOGRAPH
+  {0x9B78, 0x5B70}, //4099 #CJK UNIFIED IDEOGRAPH
+  {0x9B79, 0x5B73}, //4100 #CJK UNIFIED IDEOGRAPH
+  {0x9B7A, 0x5B75}, //4101 #CJK UNIFIED IDEOGRAPH
+  {0x9B7B, 0x5B78}, //4102 #CJK UNIFIED IDEOGRAPH
+  {0x9B7C, 0x6588}, //4103 #CJK UNIFIED IDEOGRAPH
+  {0x9B7D, 0x5B7A}, //4104 #CJK UNIFIED IDEOGRAPH
+  {0x9B7E, 0x5B80}, //4105 #CJK UNIFIED IDEOGRAPH
+  {0x9B80, 0x5B83}, //4106 #CJK UNIFIED IDEOGRAPH
+  {0x9B81, 0x5BA6}, //4107 #CJK UNIFIED IDEOGRAPH
+  {0x9B82, 0x5BB8}, //4108 #CJK UNIFIED IDEOGRAPH
+  {0x9B83, 0x5BC3}, //4109 #CJK UNIFIED IDEOGRAPH
+  {0x9B84, 0x5BC7}, //4110 #CJK UNIFIED IDEOGRAPH
+  {0x9B85, 0x5BC9}, //4111 #CJK UNIFIED IDEOGRAPH
+  {0x9B86, 0x5BD4}, //4112 #CJK UNIFIED IDEOGRAPH
+  {0x9B87, 0x5BD0}, //4113 #CJK UNIFIED IDEOGRAPH
+  {0x9B88, 0x5BE4}, //4114 #CJK UNIFIED IDEOGRAPH
+  {0x9B89, 0x5BE6}, //4115 #CJK UNIFIED IDEOGRAPH
+  {0x9B8A, 0x5BE2}, //4116 #CJK UNIFIED IDEOGRAPH
+  {0x9B8B, 0x5BDE}, //4117 #CJK UNIFIED IDEOGRAPH
+  {0x9B8C, 0x5BE5}, //4118 #CJK UNIFIED IDEOGRAPH
+  {0x9B8D, 0x5BEB}, //4119 #CJK UNIFIED IDEOGRAPH
+  {0x9B8E, 0x5BF0}, //4120 #CJK UNIFIED IDEOGRAPH
+  {0x9B8F, 0x5BF6}, //4121 #CJK UNIFIED IDEOGRAPH
+  {0x9B90, 0x5BF3}, //4122 #CJK UNIFIED IDEOGRAPH
+  {0x9B91, 0x5C05}, //4123 #CJK UNIFIED IDEOGRAPH
+  {0x9B92, 0x5C07}, //4124 #CJK UNIFIED IDEOGRAPH
+  {0x9B93, 0x5C08}, //4125 #CJK UNIFIED IDEOGRAPH
+  {0x9B94, 0x5C0D}, //4126 #CJK UNIFIED IDEOGRAPH
+  {0x9B95, 0x5C13}, //4127 #CJK UNIFIED IDEOGRAPH
+  {0x9B96, 0x5C20}, //4128 #CJK UNIFIED IDEOGRAPH
+  {0x9B97, 0x5C22}, //4129 #CJK UNIFIED IDEOGRAPH
+  {0x9B98, 0x5C28}, //4130 #CJK UNIFIED IDEOGRAPH
+  {0x9B99, 0x5C38}, //4131 #CJK UNIFIED IDEOGRAPH
+  {0x9B9A, 0x5C39}, //4132 #CJK UNIFIED IDEOGRAPH
+  {0x9B9B, 0x5C41}, //4133 #CJK UNIFIED IDEOGRAPH
+  {0x9B9C, 0x5C46}, //4134 #CJK UNIFIED IDEOGRAPH
+  {0x9B9D, 0x5C4E}, //4135 #CJK UNIFIED IDEOGRAPH
+  {0x9B9E, 0x5C53}, //4136 #CJK UNIFIED IDEOGRAPH
+  {0x9B9F, 0x5C50}, //4137 #CJK UNIFIED IDEOGRAPH
+  {0x9BA0, 0x5C4F}, //4138 #CJK UNIFIED IDEOGRAPH
+  {0x9BA1, 0x5B71}, //4139 #CJK UNIFIED IDEOGRAPH
+  {0x9BA2, 0x5C6C}, //4140 #CJK UNIFIED IDEOGRAPH
+  {0x9BA3, 0x5C6E}, //4141 #CJK UNIFIED IDEOGRAPH
+  {0x9BA4, 0x4E62}, //4142 #CJK UNIFIED IDEOGRAPH
+  {0x9BA5, 0x5C76}, //4143 #CJK UNIFIED IDEOGRAPH
+  {0x9BA6, 0x5C79}, //4144 #CJK UNIFIED IDEOGRAPH
+  {0x9BA7, 0x5C8C}, //4145 #CJK UNIFIED IDEOGRAPH
+  {0x9BA8, 0x5C91}, //4146 #CJK UNIFIED IDEOGRAPH
+  {0x9BA9, 0x5C94}, //4147 #CJK UNIFIED IDEOGRAPH
+  {0x9BAA, 0x599B}, //4148 #CJK UNIFIED IDEOGRAPH
+  {0x9BAB, 0x5CAB}, //4149 #CJK UNIFIED IDEOGRAPH
+  {0x9BAC, 0x5CBB}, //4150 #CJK UNIFIED IDEOGRAPH
+  {0x9BAD, 0x5CB6}, //4151 #CJK UNIFIED IDEOGRAPH
+  {0x9BAE, 0x5CBC}, //4152 #CJK UNIFIED IDEOGRAPH
+  {0x9BAF, 0x5CB7}, //4153 #CJK UNIFIED IDEOGRAPH
+  {0x9BB0, 0x5CC5}, //4154 #CJK UNIFIED IDEOGRAPH
+  {0x9BB1, 0x5CBE}, //4155 #CJK UNIFIED IDEOGRAPH
+  {0x9BB2, 0x5CC7}, //4156 #CJK UNIFIED IDEOGRAPH
+  {0x9BB3, 0x5CD9}, //4157 #CJK UNIFIED IDEOGRAPH
+  {0x9BB4, 0x5CE9}, //4158 #CJK UNIFIED IDEOGRAPH
+  {0x9BB5, 0x5CFD}, //4159 #CJK UNIFIED IDEOGRAPH
+  {0x9BB6, 0x5CFA}, //4160 #CJK UNIFIED IDEOGRAPH
+  {0x9BB7, 0x5CED}, //4161 #CJK UNIFIED IDEOGRAPH
+  {0x9BB8, 0x5D8C}, //4162 #CJK UNIFIED IDEOGRAPH
+  {0x9BB9, 0x5CEA}, //4163 #CJK UNIFIED IDEOGRAPH
+  {0x9BBA, 0x5D0B}, //4164 #CJK UNIFIED IDEOGRAPH
+  {0x9BBB, 0x5D15}, //4165 #CJK UNIFIED IDEOGRAPH
+  {0x9BBC, 0x5D17}, //4166 #CJK UNIFIED IDEOGRAPH
+  {0x9BBD, 0x5D5C}, //4167 #CJK UNIFIED IDEOGRAPH
+  {0x9BBE, 0x5D1F}, //4168 #CJK UNIFIED IDEOGRAPH
+  {0x9BBF, 0x5D1B}, //4169 #CJK UNIFIED IDEOGRAPH
+  {0x9BC0, 0x5D11}, //4170 #CJK UNIFIED IDEOGRAPH
+  {0x9BC1, 0x5D14}, //4171 #CJK UNIFIED IDEOGRAPH
+  {0x9BC2, 0x5D22}, //4172 #CJK UNIFIED IDEOGRAPH
+  {0x9BC3, 0x5D1A}, //4173 #CJK UNIFIED IDEOGRAPH
+  {0x9BC4, 0x5D19}, //4174 #CJK UNIFIED IDEOGRAPH
+  {0x9BC5, 0x5D18}, //4175 #CJK UNIFIED IDEOGRAPH
+  {0x9BC6, 0x5D4C}, //4176 #CJK UNIFIED IDEOGRAPH
+  {0x9BC7, 0x5D52}, //4177 #CJK UNIFIED IDEOGRAPH
+  {0x9BC8, 0x5D4E}, //4178 #CJK UNIFIED IDEOGRAPH
+  {0x9BC9, 0x5D4B}, //4179 #CJK UNIFIED IDEOGRAPH
+  {0x9BCA, 0x5D6C}, //4180 #CJK UNIFIED IDEOGRAPH
+  {0x9BCB, 0x5D73}, //4181 #CJK UNIFIED IDEOGRAPH
+  {0x9BCC, 0x5D76}, //4182 #CJK UNIFIED IDEOGRAPH
+  {0x9BCD, 0x5D87}, //4183 #CJK UNIFIED IDEOGRAPH
+  {0x9BCE, 0x5D84}, //4184 #CJK UNIFIED IDEOGRAPH
+  {0x9BCF, 0x5D82}, //4185 #CJK UNIFIED IDEOGRAPH
+  {0x9BD0, 0x5DA2}, //4186 #CJK UNIFIED IDEOGRAPH
+  {0x9BD1, 0x5D9D}, //4187 #CJK UNIFIED IDEOGRAPH
+  {0x9BD2, 0x5DAC}, //4188 #CJK UNIFIED IDEOGRAPH
+  {0x9BD3, 0x5DAE}, //4189 #CJK UNIFIED IDEOGRAPH
+  {0x9BD4, 0x5DBD}, //4190 #CJK UNIFIED IDEOGRAPH
+  {0x9BD5, 0x5D90}, //4191 #CJK UNIFIED IDEOGRAPH
+  {0x9BD6, 0x5DB7}, //4192 #CJK UNIFIED IDEOGRAPH
+  {0x9BD7, 0x5DBC}, //4193 #CJK UNIFIED IDEOGRAPH
+  {0x9BD8, 0x5DC9}, //4194 #CJK UNIFIED IDEOGRAPH
+  {0x9BD9, 0x5DCD}, //4195 #CJK UNIFIED IDEOGRAPH
+  {0x9BDA, 0x5DD3}, //4196 #CJK UNIFIED IDEOGRAPH
+  {0x9BDB, 0x5DD2}, //4197 #CJK UNIFIED IDEOGRAPH
+  {0x9BDC, 0x5DD6}, //4198 #CJK UNIFIED IDEOGRAPH
+  {0x9BDD, 0x5DDB}, //4199 #CJK UNIFIED IDEOGRAPH
+  {0x9BDE, 0x5DEB}, //4200 #CJK UNIFIED IDEOGRAPH
+  {0x9BDF, 0x5DF2}, //4201 #CJK UNIFIED IDEOGRAPH
+  {0x9BE0, 0x5DF5}, //4202 #CJK UNIFIED IDEOGRAPH
+  {0x9BE1, 0x5E0B}, //4203 #CJK UNIFIED IDEOGRAPH
+  {0x9BE2, 0x5E1A}, //4204 #CJK UNIFIED IDEOGRAPH
+  {0x9BE3, 0x5E19}, //4205 #CJK UNIFIED IDEOGRAPH
+  {0x9BE4, 0x5E11}, //4206 #CJK UNIFIED IDEOGRAPH
+  {0x9BE5, 0x5E1B}, //4207 #CJK UNIFIED IDEOGRAPH
+  {0x9BE6, 0x5E36}, //4208 #CJK UNIFIED IDEOGRAPH
+  {0x9BE7, 0x5E37}, //4209 #CJK UNIFIED IDEOGRAPH
+  {0x9BE8, 0x5E44}, //4210 #CJK UNIFIED IDEOGRAPH
+  {0x9BE9, 0x5E43}, //4211 #CJK UNIFIED IDEOGRAPH
+  {0x9BEA, 0x5E40}, //4212 #CJK UNIFIED IDEOGRAPH
+  {0x9BEB, 0x5E4E}, //4213 #CJK UNIFIED IDEOGRAPH
+  {0x9BEC, 0x5E57}, //4214 #CJK UNIFIED IDEOGRAPH
+  {0x9BED, 0x5E54}, //4215 #CJK UNIFIED IDEOGRAPH
+  {0x9BEE, 0x5E5F}, //4216 #CJK UNIFIED IDEOGRAPH
+  {0x9BEF, 0x5E62}, //4217 #CJK UNIFIED IDEOGRAPH
+  {0x9BF0, 0x5E64}, //4218 #CJK UNIFIED IDEOGRAPH
+  {0x9BF1, 0x5E47}, //4219 #CJK UNIFIED IDEOGRAPH
+  {0x9BF2, 0x5E75}, //4220 #CJK UNIFIED IDEOGRAPH
+  {0x9BF3, 0x5E76}, //4221 #CJK UNIFIED IDEOGRAPH
+  {0x9BF4, 0x5E7A}, //4222 #CJK UNIFIED IDEOGRAPH
+  {0x9BF5, 0x9EBC}, //4223 #CJK UNIFIED IDEOGRAPH
+  {0x9BF6, 0x5E7F}, //4224 #CJK UNIFIED IDEOGRAPH
+  {0x9BF7, 0x5EA0}, //4225 #CJK UNIFIED IDEOGRAPH
+  {0x9BF8, 0x5EC1}, //4226 #CJK UNIFIED IDEOGRAPH
+  {0x9BF9, 0x5EC2}, //4227 #CJK UNIFIED IDEOGRAPH
+  {0x9BFA, 0x5EC8}, //4228 #CJK UNIFIED IDEOGRAPH
+  {0x9BFB, 0x5ED0}, //4229 #CJK UNIFIED IDEOGRAPH
+  {0x9BFC, 0x5ECF}, //4230 #CJK UNIFIED IDEOGRAPH
+  {0x9C40, 0x5ED6}, //4231 #CJK UNIFIED IDEOGRAPH
+  {0x9C41, 0x5EE3}, //4232 #CJK UNIFIED IDEOGRAPH
+  {0x9C42, 0x5EDD}, //4233 #CJK UNIFIED IDEOGRAPH
+  {0x9C43, 0x5EDA}, //4234 #CJK UNIFIED IDEOGRAPH
+  {0x9C44, 0x5EDB}, //4235 #CJK UNIFIED IDEOGRAPH
+  {0x9C45, 0x5EE2}, //4236 #CJK UNIFIED IDEOGRAPH
+  {0x9C46, 0x5EE1}, //4237 #CJK UNIFIED IDEOGRAPH
+  {0x9C47, 0x5EE8}, //4238 #CJK UNIFIED IDEOGRAPH
+  {0x9C48, 0x5EE9}, //4239 #CJK UNIFIED IDEOGRAPH
+  {0x9C49, 0x5EEC}, //4240 #CJK UNIFIED IDEOGRAPH
+  {0x9C4A, 0x5EF1}, //4241 #CJK UNIFIED IDEOGRAPH
+  {0x9C4B, 0x5EF3}, //4242 #CJK UNIFIED IDEOGRAPH
+  {0x9C4C, 0x5EF0}, //4243 #CJK UNIFIED IDEOGRAPH
+  {0x9C4D, 0x5EF4}, //4244 #CJK UNIFIED IDEOGRAPH
+  {0x9C4E, 0x5EF8}, //4245 #CJK UNIFIED IDEOGRAPH
+  {0x9C4F, 0x5EFE}, //4246 #CJK UNIFIED IDEOGRAPH
+  {0x9C50, 0x5F03}, //4247 #CJK UNIFIED IDEOGRAPH
+  {0x9C51, 0x5F09}, //4248 #CJK UNIFIED IDEOGRAPH
+  {0x9C52, 0x5F5D}, //4249 #CJK UNIFIED IDEOGRAPH
+  {0x9C53, 0x5F5C}, //4250 #CJK UNIFIED IDEOGRAPH
+  {0x9C54, 0x5F0B}, //4251 #CJK UNIFIED IDEOGRAPH
+  {0x9C55, 0x5F11}, //4252 #CJK UNIFIED IDEOGRAPH
+  {0x9C56, 0x5F16}, //4253 #CJK UNIFIED IDEOGRAPH
+  {0x9C57, 0x5F29}, //4254 #CJK UNIFIED IDEOGRAPH
+  {0x9C58, 0x5F2D}, //4255 #CJK UNIFIED IDEOGRAPH
+  {0x9C59, 0x5F38}, //4256 #CJK UNIFIED IDEOGRAPH
+  {0x9C5A, 0x5F41}, //4257 #CJK UNIFIED IDEOGRAPH
+  {0x9C5B, 0x5F48}, //4258 #CJK UNIFIED IDEOGRAPH
+  {0x9C5C, 0x5F4C}, //4259 #CJK UNIFIED IDEOGRAPH
+  {0x9C5D, 0x5F4E}, //4260 #CJK UNIFIED IDEOGRAPH
+  {0x9C5E, 0x5F2F}, //4261 #CJK UNIFIED IDEOGRAPH
+  {0x9C5F, 0x5F51}, //4262 #CJK UNIFIED IDEOGRAPH
+  {0x9C60, 0x5F56}, //4263 #CJK UNIFIED IDEOGRAPH
+  {0x9C61, 0x5F57}, //4264 #CJK UNIFIED IDEOGRAPH
+  {0x9C62, 0x5F59}, //4265 #CJK UNIFIED IDEOGRAPH
+  {0x9C63, 0x5F61}, //4266 #CJK UNIFIED IDEOGRAPH
+  {0x9C64, 0x5F6D}, //4267 #CJK UNIFIED IDEOGRAPH
+  {0x9C65, 0x5F73}, //4268 #CJK UNIFIED IDEOGRAPH
+  {0x9C66, 0x5F77}, //4269 #CJK UNIFIED IDEOGRAPH
+  {0x9C67, 0x5F83}, //4270 #CJK UNIFIED IDEOGRAPH
+  {0x9C68, 0x5F82}, //4271 #CJK UNIFIED IDEOGRAPH
+  {0x9C69, 0x5F7F}, //4272 #CJK UNIFIED IDEOGRAPH
+  {0x9C6A, 0x5F8A}, //4273 #CJK UNIFIED IDEOGRAPH
+  {0x9C6B, 0x5F88}, //4274 #CJK UNIFIED IDEOGRAPH
+  {0x9C6C, 0x5F91}, //4275 #CJK UNIFIED IDEOGRAPH
+  {0x9C6D, 0x5F87}, //4276 #CJK UNIFIED IDEOGRAPH
+  {0x9C6E, 0x5F9E}, //4277 #CJK UNIFIED IDEOGRAPH
+  {0x9C6F, 0x5F99}, //4278 #CJK UNIFIED IDEOGRAPH
+  {0x9C70, 0x5F98}, //4279 #CJK UNIFIED IDEOGRAPH
+  {0x9C71, 0x5FA0}, //4280 #CJK UNIFIED IDEOGRAPH
+  {0x9C72, 0x5FA8}, //4281 #CJK UNIFIED IDEOGRAPH
+  {0x9C73, 0x5FAD}, //4282 #CJK UNIFIED IDEOGRAPH
+  {0x9C74, 0x5FBC}, //4283 #CJK UNIFIED IDEOGRAPH
+  {0x9C75, 0x5FD6}, //4284 #CJK UNIFIED IDEOGRAPH
+  {0x9C76, 0x5FFB}, //4285 #CJK UNIFIED IDEOGRAPH
+  {0x9C77, 0x5FE4}, //4286 #CJK UNIFIED IDEOGRAPH
+  {0x9C78, 0x5FF8}, //4287 #CJK UNIFIED IDEOGRAPH
+  {0x9C79, 0x5FF1}, //4288 #CJK UNIFIED IDEOGRAPH
+  {0x9C7A, 0x5FDD}, //4289 #CJK UNIFIED IDEOGRAPH
+  {0x9C7B, 0x60B3}, //4290 #CJK UNIFIED IDEOGRAPH
+  {0x9C7C, 0x5FFF}, //4291 #CJK UNIFIED IDEOGRAPH
+  {0x9C7D, 0x6021}, //4292 #CJK UNIFIED IDEOGRAPH
+  {0x9C7E, 0x6060}, //4293 #CJK UNIFIED IDEOGRAPH
+  {0x9C80, 0x6019}, //4294 #CJK UNIFIED IDEOGRAPH
+  {0x9C81, 0x6010}, //4295 #CJK UNIFIED IDEOGRAPH
+  {0x9C82, 0x6029}, //4296 #CJK UNIFIED IDEOGRAPH
+  {0x9C83, 0x600E}, //4297 #CJK UNIFIED IDEOGRAPH
+  {0x9C84, 0x6031}, //4298 #CJK UNIFIED IDEOGRAPH
+  {0x9C85, 0x601B}, //4299 #CJK UNIFIED IDEOGRAPH
+  {0x9C86, 0x6015}, //4300 #CJK UNIFIED IDEOGRAPH
+  {0x9C87, 0x602B}, //4301 #CJK UNIFIED IDEOGRAPH
+  {0x9C88, 0x6026}, //4302 #CJK UNIFIED IDEOGRAPH
+  {0x9C89, 0x600F}, //4303 #CJK UNIFIED IDEOGRAPH
+  {0x9C8A, 0x603A}, //4304 #CJK UNIFIED IDEOGRAPH
+  {0x9C8B, 0x605A}, //4305 #CJK UNIFIED IDEOGRAPH
+  {0x9C8C, 0x6041}, //4306 #CJK UNIFIED IDEOGRAPH
+  {0x9C8D, 0x606A}, //4307 #CJK UNIFIED IDEOGRAPH
+  {0x9C8E, 0x6077}, //4308 #CJK UNIFIED IDEOGRAPH
+  {0x9C8F, 0x605F}, //4309 #CJK UNIFIED IDEOGRAPH
+  {0x9C90, 0x604A}, //4310 #CJK UNIFIED IDEOGRAPH
+  {0x9C91, 0x6046}, //4311 #CJK UNIFIED IDEOGRAPH
+  {0x9C92, 0x604D}, //4312 #CJK UNIFIED IDEOGRAPH
+  {0x9C93, 0x6063}, //4313 #CJK UNIFIED IDEOGRAPH
+  {0x9C94, 0x6043}, //4314 #CJK UNIFIED IDEOGRAPH
+  {0x9C95, 0x6064}, //4315 #CJK UNIFIED IDEOGRAPH
+  {0x9C96, 0x6042}, //4316 #CJK UNIFIED IDEOGRAPH
+  {0x9C97, 0x606C}, //4317 #CJK UNIFIED IDEOGRAPH
+  {0x9C98, 0x606B}, //4318 #CJK UNIFIED IDEOGRAPH
+  {0x9C99, 0x6059}, //4319 #CJK UNIFIED IDEOGRAPH
+  {0x9C9A, 0x6081}, //4320 #CJK UNIFIED IDEOGRAPH
+  {0x9C9B, 0x608D}, //4321 #CJK UNIFIED IDEOGRAPH
+  {0x9C9C, 0x60E7}, //4322 #CJK UNIFIED IDEOGRAPH
+  {0x9C9D, 0x6083}, //4323 #CJK UNIFIED IDEOGRAPH
+  {0x9C9E, 0x609A}, //4324 #CJK UNIFIED IDEOGRAPH
+  {0x9C9F, 0x6084}, //4325 #CJK UNIFIED IDEOGRAPH
+  {0x9CA0, 0x609B}, //4326 #CJK UNIFIED IDEOGRAPH
+  {0x9CA1, 0x6096}, //4327 #CJK UNIFIED IDEOGRAPH
+  {0x9CA2, 0x6097}, //4328 #CJK UNIFIED IDEOGRAPH
+  {0x9CA3, 0x6092}, //4329 #CJK UNIFIED IDEOGRAPH
+  {0x9CA4, 0x60A7}, //4330 #CJK UNIFIED IDEOGRAPH
+  {0x9CA5, 0x608B}, //4331 #CJK UNIFIED IDEOGRAPH
+  {0x9CA6, 0x60E1}, //4332 #CJK UNIFIED IDEOGRAPH
+  {0x9CA7, 0x60B8}, //4333 #CJK UNIFIED IDEOGRAPH
+  {0x9CA8, 0x60E0}, //4334 #CJK UNIFIED IDEOGRAPH
+  {0x9CA9, 0x60D3}, //4335 #CJK UNIFIED IDEOGRAPH
+  {0x9CAA, 0x60B4}, //4336 #CJK UNIFIED IDEOGRAPH
+  {0x9CAB, 0x5FF0}, //4337 #CJK UNIFIED IDEOGRAPH
+  {0x9CAC, 0x60BD}, //4338 #CJK UNIFIED IDEOGRAPH
+  {0x9CAD, 0x60C6}, //4339 #CJK UNIFIED IDEOGRAPH
+  {0x9CAE, 0x60B5}, //4340 #CJK UNIFIED IDEOGRAPH
+  {0x9CAF, 0x60D8}, //4341 #CJK UNIFIED IDEOGRAPH
+  {0x9CB0, 0x614D}, //4342 #CJK UNIFIED IDEOGRAPH
+  {0x9CB1, 0x6115}, //4343 #CJK UNIFIED IDEOGRAPH
+  {0x9CB2, 0x6106}, //4344 #CJK UNIFIED IDEOGRAPH
+  {0x9CB3, 0x60F6}, //4345 #CJK UNIFIED IDEOGRAPH
+  {0x9CB4, 0x60F7}, //4346 #CJK UNIFIED IDEOGRAPH
+  {0x9CB5, 0x6100}, //4347 #CJK UNIFIED IDEOGRAPH
+  {0x9CB6, 0x60F4}, //4348 #CJK UNIFIED IDEOGRAPH
+  {0x9CB7, 0x60FA}, //4349 #CJK UNIFIED IDEOGRAPH
+  {0x9CB8, 0x6103}, //4350 #CJK UNIFIED IDEOGRAPH
+  {0x9CB9, 0x6121}, //4351 #CJK UNIFIED IDEOGRAPH
+  {0x9CBA, 0x60FB}, //4352 #CJK UNIFIED IDEOGRAPH
+  {0x9CBB, 0x60F1}, //4353 #CJK UNIFIED IDEOGRAPH
+  {0x9CBC, 0x610D}, //4354 #CJK UNIFIED IDEOGRAPH
+  {0x9CBD, 0x610E}, //4355 #CJK UNIFIED IDEOGRAPH
+  {0x9CBE, 0x6147}, //4356 #CJK UNIFIED IDEOGRAPH
+  {0x9CBF, 0x613E}, //4357 #CJK UNIFIED IDEOGRAPH
+  {0x9CC0, 0x6128}, //4358 #CJK UNIFIED IDEOGRAPH
+  {0x9CC1, 0x6127}, //4359 #CJK UNIFIED IDEOGRAPH
+  {0x9CC2, 0x614A}, //4360 #CJK UNIFIED IDEOGRAPH
+  {0x9CC3, 0x613F}, //4361 #CJK UNIFIED IDEOGRAPH
+  {0x9CC4, 0x613C}, //4362 #CJK UNIFIED IDEOGRAPH
+  {0x9CC5, 0x612C}, //4363 #CJK UNIFIED IDEOGRAPH
+  {0x9CC6, 0x6134}, //4364 #CJK UNIFIED IDEOGRAPH
+  {0x9CC7, 0x613D}, //4365 #CJK UNIFIED IDEOGRAPH
+  {0x9CC8, 0x6142}, //4366 #CJK UNIFIED IDEOGRAPH
+  {0x9CC9, 0x6144}, //4367 #CJK UNIFIED IDEOGRAPH
+  {0x9CCA, 0x6173}, //4368 #CJK UNIFIED IDEOGRAPH
+  {0x9CCB, 0x6177}, //4369 #CJK UNIFIED IDEOGRAPH
+  {0x9CCC, 0x6158}, //4370 #CJK UNIFIED IDEOGRAPH
+  {0x9CCD, 0x6159}, //4371 #CJK UNIFIED IDEOGRAPH
+  {0x9CCE, 0x615A}, //4372 #CJK UNIFIED IDEOGRAPH
+  {0x9CCF, 0x616B}, //4373 #CJK UNIFIED IDEOGRAPH
+  {0x9CD0, 0x6174}, //4374 #CJK UNIFIED IDEOGRAPH
+  {0x9CD1, 0x616F}, //4375 #CJK UNIFIED IDEOGRAPH
+  {0x9CD2, 0x6165}, //4376 #CJK UNIFIED IDEOGRAPH
+  {0x9CD3, 0x6171}, //4377 #CJK UNIFIED IDEOGRAPH
+  {0x9CD4, 0x615F}, //4378 #CJK UNIFIED IDEOGRAPH
+  {0x9CD5, 0x615D}, //4379 #CJK UNIFIED IDEOGRAPH
+  {0x9CD6, 0x6153}, //4380 #CJK UNIFIED IDEOGRAPH
+  {0x9CD7, 0x6175}, //4381 #CJK UNIFIED IDEOGRAPH
+  {0x9CD8, 0x6199}, //4382 #CJK UNIFIED IDEOGRAPH
+  {0x9CD9, 0x6196}, //4383 #CJK UNIFIED IDEOGRAPH
+  {0x9CDA, 0x6187}, //4384 #CJK UNIFIED IDEOGRAPH
+  {0x9CDB, 0x61AC}, //4385 #CJK UNIFIED IDEOGRAPH
+  {0x9CDC, 0x6194}, //4386 #CJK UNIFIED IDEOGRAPH
+  {0x9CDD, 0x619A}, //4387 #CJK UNIFIED IDEOGRAPH
+  {0x9CDE, 0x618A}, //4388 #CJK UNIFIED IDEOGRAPH
+  {0x9CDF, 0x6191}, //4389 #CJK UNIFIED IDEOGRAPH
+  {0x9CE0, 0x61AB}, //4390 #CJK UNIFIED IDEOGRAPH
+  {0x9CE1, 0x61AE}, //4391 #CJK UNIFIED IDEOGRAPH
+  {0x9CE2, 0x61CC}, //4392 #CJK UNIFIED IDEOGRAPH
+  {0x9CE3, 0x61CA}, //4393 #CJK UNIFIED IDEOGRAPH
+  {0x9CE4, 0x61C9}, //4394 #CJK UNIFIED IDEOGRAPH
+  {0x9CE5, 0x61F7}, //4395 #CJK UNIFIED IDEOGRAPH
+  {0x9CE6, 0x61C8}, //4396 #CJK UNIFIED IDEOGRAPH
+  {0x9CE7, 0x61C3}, //4397 #CJK UNIFIED IDEOGRAPH
+  {0x9CE8, 0x61C6}, //4398 #CJK UNIFIED IDEOGRAPH
+  {0x9CE9, 0x61BA}, //4399 #CJK UNIFIED IDEOGRAPH
+  {0x9CEA, 0x61CB}, //4400 #CJK UNIFIED IDEOGRAPH
+  {0x9CEB, 0x7F79}, //4401 #CJK UNIFIED IDEOGRAPH
+  {0x9CEC, 0x61CD}, //4402 #CJK UNIFIED IDEOGRAPH
+  {0x9CED, 0x61E6}, //4403 #CJK UNIFIED IDEOGRAPH
+  {0x9CEE, 0x61E3}, //4404 #CJK UNIFIED IDEOGRAPH
+  {0x9CEF, 0x61F6}, //4405 #CJK UNIFIED IDEOGRAPH
+  {0x9CF0, 0x61FA}, //4406 #CJK UNIFIED IDEOGRAPH
+  {0x9CF1, 0x61F4}, //4407 #CJK UNIFIED IDEOGRAPH
+  {0x9CF2, 0x61FF}, //4408 #CJK UNIFIED IDEOGRAPH
+  {0x9CF3, 0x61FD}, //4409 #CJK UNIFIED IDEOGRAPH
+  {0x9CF4, 0x61FC}, //4410 #CJK UNIFIED IDEOGRAPH
+  {0x9CF5, 0x61FE}, //4411 #CJK UNIFIED IDEOGRAPH
+  {0x9CF6, 0x6200}, //4412 #CJK UNIFIED IDEOGRAPH
+  {0x9CF7, 0x6208}, //4413 #CJK UNIFIED IDEOGRAPH
+  {0x9CF8, 0x6209}, //4414 #CJK UNIFIED IDEOGRAPH
+  {0x9CF9, 0x620D}, //4415 #CJK UNIFIED IDEOGRAPH
+  {0x9CFA, 0x620C}, //4416 #CJK UNIFIED IDEOGRAPH
+  {0x9CFB, 0x6214}, //4417 #CJK UNIFIED IDEOGRAPH
+  {0x9CFC, 0x621B}, //4418 #CJK UNIFIED IDEOGRAPH
+  {0x9D40, 0x621E}, //4419 #CJK UNIFIED IDEOGRAPH
+  {0x9D41, 0x6221}, //4420 #CJK UNIFIED IDEOGRAPH
+  {0x9D42, 0x622A}, //4421 #CJK UNIFIED IDEOGRAPH
+  {0x9D43, 0x622E}, //4422 #CJK UNIFIED IDEOGRAPH
+  {0x9D44, 0x6230}, //4423 #CJK UNIFIED IDEOGRAPH
+  {0x9D45, 0x6232}, //4424 #CJK UNIFIED IDEOGRAPH
+  {0x9D46, 0x6233}, //4425 #CJK UNIFIED IDEOGRAPH
+  {0x9D47, 0x6241}, //4426 #CJK UNIFIED IDEOGRAPH
+  {0x9D48, 0x624E}, //4427 #CJK UNIFIED IDEOGRAPH
+  {0x9D49, 0x625E}, //4428 #CJK UNIFIED IDEOGRAPH
+  {0x9D4A, 0x6263}, //4429 #CJK UNIFIED IDEOGRAPH
+  {0x9D4B, 0x625B}, //4430 #CJK UNIFIED IDEOGRAPH
+  {0x9D4C, 0x6260}, //4431 #CJK UNIFIED IDEOGRAPH
+  {0x9D4D, 0x6268}, //4432 #CJK UNIFIED IDEOGRAPH
+  {0x9D4E, 0x627C}, //4433 #CJK UNIFIED IDEOGRAPH
+  {0x9D4F, 0x6282}, //4434 #CJK UNIFIED IDEOGRAPH
+  {0x9D50, 0x6289}, //4435 #CJK UNIFIED IDEOGRAPH
+  {0x9D51, 0x627E}, //4436 #CJK UNIFIED IDEOGRAPH
+  {0x9D52, 0x6292}, //4437 #CJK UNIFIED IDEOGRAPH
+  {0x9D53, 0x6293}, //4438 #CJK UNIFIED IDEOGRAPH
+  {0x9D54, 0x6296}, //4439 #CJK UNIFIED IDEOGRAPH
+  {0x9D55, 0x62D4}, //4440 #CJK UNIFIED IDEOGRAPH
+  {0x9D56, 0x6283}, //4441 #CJK UNIFIED IDEOGRAPH
+  {0x9D57, 0x6294}, //4442 #CJK UNIFIED IDEOGRAPH
+  {0x9D58, 0x62D7}, //4443 #CJK UNIFIED IDEOGRAPH
+  {0x9D59, 0x62D1}, //4444 #CJK UNIFIED IDEOGRAPH
+  {0x9D5A, 0x62BB}, //4445 #CJK UNIFIED IDEOGRAPH
+  {0x9D5B, 0x62CF}, //4446 #CJK UNIFIED IDEOGRAPH
+  {0x9D5C, 0x62FF}, //4447 #CJK UNIFIED IDEOGRAPH
+  {0x9D5D, 0x62C6}, //4448 #CJK UNIFIED IDEOGRAPH
+  {0x9D5E, 0x64D4}, //4449 #CJK UNIFIED IDEOGRAPH
+  {0x9D5F, 0x62C8}, //4450 #CJK UNIFIED IDEOGRAPH
+  {0x9D60, 0x62DC}, //4451 #CJK UNIFIED IDEOGRAPH
+  {0x9D61, 0x62CC}, //4452 #CJK UNIFIED IDEOGRAPH
+  {0x9D62, 0x62CA}, //4453 #CJK UNIFIED IDEOGRAPH
+  {0x9D63, 0x62C2}, //4454 #CJK UNIFIED IDEOGRAPH
+  {0x9D64, 0x62C7}, //4455 #CJK UNIFIED IDEOGRAPH
+  {0x9D65, 0x629B}, //4456 #CJK UNIFIED IDEOGRAPH
+  {0x9D66, 0x62C9}, //4457 #CJK UNIFIED IDEOGRAPH
+  {0x9D67, 0x630C}, //4458 #CJK UNIFIED IDEOGRAPH
+  {0x9D68, 0x62EE}, //4459 #CJK UNIFIED IDEOGRAPH
+  {0x9D69, 0x62F1}, //4460 #CJK UNIFIED IDEOGRAPH
+  {0x9D6A, 0x6327}, //4461 #CJK UNIFIED IDEOGRAPH
+  {0x9D6B, 0x6302}, //4462 #CJK UNIFIED IDEOGRAPH
+  {0x9D6C, 0x6308}, //4463 #CJK UNIFIED IDEOGRAPH
+  {0x9D6D, 0x62EF}, //4464 #CJK UNIFIED IDEOGRAPH
+  {0x9D6E, 0x62F5}, //4465 #CJK UNIFIED IDEOGRAPH
+  {0x9D6F, 0x6350}, //4466 #CJK UNIFIED IDEOGRAPH
+  {0x9D70, 0x633E}, //4467 #CJK UNIFIED IDEOGRAPH
+  {0x9D71, 0x634D}, //4468 #CJK UNIFIED IDEOGRAPH
+  {0x9D72, 0x641C}, //4469 #CJK UNIFIED IDEOGRAPH
+  {0x9D73, 0x634F}, //4470 #CJK UNIFIED IDEOGRAPH
+  {0x9D74, 0x6396}, //4471 #CJK UNIFIED IDEOGRAPH
+  {0x9D75, 0x638E}, //4472 #CJK UNIFIED IDEOGRAPH
+  {0x9D76, 0x6380}, //4473 #CJK UNIFIED IDEOGRAPH
+  {0x9D77, 0x63AB}, //4474 #CJK UNIFIED IDEOGRAPH
+  {0x9D78, 0x6376}, //4475 #CJK UNIFIED IDEOGRAPH
+  {0x9D79, 0x63A3}, //4476 #CJK UNIFIED IDEOGRAPH
+  {0x9D7A, 0x638F}, //4477 #CJK UNIFIED IDEOGRAPH
+  {0x9D7B, 0x6389}, //4478 #CJK UNIFIED IDEOGRAPH
+  {0x9D7C, 0x639F}, //4479 #CJK UNIFIED IDEOGRAPH
+  {0x9D7D, 0x63B5}, //4480 #CJK UNIFIED IDEOGRAPH
+  {0x9D7E, 0x636B}, //4481 #CJK UNIFIED IDEOGRAPH
+  {0x9D80, 0x6369}, //4482 #CJK UNIFIED IDEOGRAPH
+  {0x9D81, 0x63BE}, //4483 #CJK UNIFIED IDEOGRAPH
+  {0x9D82, 0x63E9}, //4484 #CJK UNIFIED IDEOGRAPH
+  {0x9D83, 0x63C0}, //4485 #CJK UNIFIED IDEOGRAPH
+  {0x9D84, 0x63C6}, //4486 #CJK UNIFIED IDEOGRAPH
+  {0x9D85, 0x63E3}, //4487 #CJK UNIFIED IDEOGRAPH
+  {0x9D86, 0x63C9}, //4488 #CJK UNIFIED IDEOGRAPH
+  {0x9D87, 0x63D2}, //4489 #CJK UNIFIED IDEOGRAPH
+  {0x9D88, 0x63F6}, //4490 #CJK UNIFIED IDEOGRAPH
+  {0x9D89, 0x63C4}, //4491 #CJK UNIFIED IDEOGRAPH
+  {0x9D8A, 0x6416}, //4492 #CJK UNIFIED IDEOGRAPH
+  {0x9D8B, 0x6434}, //4493 #CJK UNIFIED IDEOGRAPH
+  {0x9D8C, 0x6406}, //4494 #CJK UNIFIED IDEOGRAPH
+  {0x9D8D, 0x6413}, //4495 #CJK UNIFIED IDEOGRAPH
+  {0x9D8E, 0x6426}, //4496 #CJK UNIFIED IDEOGRAPH
+  {0x9D8F, 0x6436}, //4497 #CJK UNIFIED IDEOGRAPH
+  {0x9D90, 0x651D}, //4498 #CJK UNIFIED IDEOGRAPH
+  {0x9D91, 0x6417}, //4499 #CJK UNIFIED IDEOGRAPH
+  {0x9D92, 0x6428}, //4500 #CJK UNIFIED IDEOGRAPH
+  {0x9D93, 0x640F}, //4501 #CJK UNIFIED IDEOGRAPH
+  {0x9D94, 0x6467}, //4502 #CJK UNIFIED IDEOGRAPH
+  {0x9D95, 0x646F}, //4503 #CJK UNIFIED IDEOGRAPH
+  {0x9D96, 0x6476}, //4504 #CJK UNIFIED IDEOGRAPH
+  {0x9D97, 0x644E}, //4505 #CJK UNIFIED IDEOGRAPH
+  {0x9D98, 0x652A}, //4506 #CJK UNIFIED IDEOGRAPH
+  {0x9D99, 0x6495}, //4507 #CJK UNIFIED IDEOGRAPH
+  {0x9D9A, 0x6493}, //4508 #CJK UNIFIED IDEOGRAPH
+  {0x9D9B, 0x64A5}, //4509 #CJK UNIFIED IDEOGRAPH
+  {0x9D9C, 0x64A9}, //4510 #CJK UNIFIED IDEOGRAPH
+  {0x9D9D, 0x6488}, //4511 #CJK UNIFIED IDEOGRAPH
+  {0x9D9E, 0x64BC}, //4512 #CJK UNIFIED IDEOGRAPH
+  {0x9D9F, 0x64DA}, //4513 #CJK UNIFIED IDEOGRAPH
+  {0x9DA0, 0x64D2}, //4514 #CJK UNIFIED IDEOGRAPH
+  {0x9DA1, 0x64C5}, //4515 #CJK UNIFIED IDEOGRAPH
+  {0x9DA2, 0x64C7}, //4516 #CJK UNIFIED IDEOGRAPH
+  {0x9DA3, 0x64BB}, //4517 #CJK UNIFIED IDEOGRAPH
+  {0x9DA4, 0x64D8}, //4518 #CJK UNIFIED IDEOGRAPH
+  {0x9DA5, 0x64C2}, //4519 #CJK UNIFIED IDEOGRAPH
+  {0x9DA6, 0x64F1}, //4520 #CJK UNIFIED IDEOGRAPH
+  {0x9DA7, 0x64E7}, //4521 #CJK UNIFIED IDEOGRAPH
+  {0x9DA8, 0x8209}, //4522 #CJK UNIFIED IDEOGRAPH
+  {0x9DA9, 0x64E0}, //4523 #CJK UNIFIED IDEOGRAPH
+  {0x9DAA, 0x64E1}, //4524 #CJK UNIFIED IDEOGRAPH
+  {0x9DAB, 0x62AC}, //4525 #CJK UNIFIED IDEOGRAPH
+  {0x9DAC, 0x64E3}, //4526 #CJK UNIFIED IDEOGRAPH
+  {0x9DAD, 0x64EF}, //4527 #CJK UNIFIED IDEOGRAPH
+  {0x9DAE, 0x652C}, //4528 #CJK UNIFIED IDEOGRAPH
+  {0x9DAF, 0x64F6}, //4529 #CJK UNIFIED IDEOGRAPH
+  {0x9DB0, 0x64F4}, //4530 #CJK UNIFIED IDEOGRAPH
+  {0x9DB1, 0x64F2}, //4531 #CJK UNIFIED IDEOGRAPH
+  {0x9DB2, 0x64FA}, //4532 #CJK UNIFIED IDEOGRAPH
+  {0x9DB3, 0x6500}, //4533 #CJK UNIFIED IDEOGRAPH
+  {0x9DB4, 0x64FD}, //4534 #CJK UNIFIED IDEOGRAPH
+  {0x9DB5, 0x6518}, //4535 #CJK UNIFIED IDEOGRAPH
+  {0x9DB6, 0x651C}, //4536 #CJK UNIFIED IDEOGRAPH
+  {0x9DB7, 0x6505}, //4537 #CJK UNIFIED IDEOGRAPH
+  {0x9DB8, 0x6524}, //4538 #CJK UNIFIED IDEOGRAPH
+  {0x9DB9, 0x6523}, //4539 #CJK UNIFIED IDEOGRAPH
+  {0x9DBA, 0x652B}, //4540 #CJK UNIFIED IDEOGRAPH
+  {0x9DBB, 0x6534}, //4541 #CJK UNIFIED IDEOGRAPH
+  {0x9DBC, 0x6535}, //4542 #CJK UNIFIED IDEOGRAPH
+  {0x9DBD, 0x6537}, //4543 #CJK UNIFIED IDEOGRAPH
+  {0x9DBE, 0x6536}, //4544 #CJK UNIFIED IDEOGRAPH
+  {0x9DBF, 0x6538}, //4545 #CJK UNIFIED IDEOGRAPH
+  {0x9DC0, 0x754B}, //4546 #CJK UNIFIED IDEOGRAPH
+  {0x9DC1, 0x6548}, //4547 #CJK UNIFIED IDEOGRAPH
+  {0x9DC2, 0x6556}, //4548 #CJK UNIFIED IDEOGRAPH
+  {0x9DC3, 0x6555}, //4549 #CJK UNIFIED IDEOGRAPH
+  {0x9DC4, 0x654D}, //4550 #CJK UNIFIED IDEOGRAPH
+  {0x9DC5, 0x6558}, //4551 #CJK UNIFIED IDEOGRAPH
+  {0x9DC6, 0x655E}, //4552 #CJK UNIFIED IDEOGRAPH
+  {0x9DC7, 0x655D}, //4553 #CJK UNIFIED IDEOGRAPH
+  {0x9DC8, 0x6572}, //4554 #CJK UNIFIED IDEOGRAPH
+  {0x9DC9, 0x6578}, //4555 #CJK UNIFIED IDEOGRAPH
+  {0x9DCA, 0x6582}, //4556 #CJK UNIFIED IDEOGRAPH
+  {0x9DCB, 0x6583}, //4557 #CJK UNIFIED IDEOGRAPH
+  {0x9DCC, 0x8B8A}, //4558 #CJK UNIFIED IDEOGRAPH
+  {0x9DCD, 0x659B}, //4559 #CJK UNIFIED IDEOGRAPH
+  {0x9DCE, 0x659F}, //4560 #CJK UNIFIED IDEOGRAPH
+  {0x9DCF, 0x65AB}, //4561 #CJK UNIFIED IDEOGRAPH
+  {0x9DD0, 0x65B7}, //4562 #CJK UNIFIED IDEOGRAPH
+  {0x9DD1, 0x65C3}, //4563 #CJK UNIFIED IDEOGRAPH
+  {0x9DD2, 0x65C6}, //4564 #CJK UNIFIED IDEOGRAPH
+  {0x9DD3, 0x65C1}, //4565 #CJK UNIFIED IDEOGRAPH
+  {0x9DD4, 0x65C4}, //4566 #CJK UNIFIED IDEOGRAPH
+  {0x9DD5, 0x65CC}, //4567 #CJK UNIFIED IDEOGRAPH
+  {0x9DD6, 0x65D2}, //4568 #CJK UNIFIED IDEOGRAPH
+  {0x9DD7, 0x65DB}, //4569 #CJK UNIFIED IDEOGRAPH
+  {0x9DD8, 0x65D9}, //4570 #CJK UNIFIED IDEOGRAPH
+  {0x9DD9, 0x65E0}, //4571 #CJK UNIFIED IDEOGRAPH
+  {0x9DDA, 0x65E1}, //4572 #CJK UNIFIED IDEOGRAPH
+  {0x9DDB, 0x65F1}, //4573 #CJK UNIFIED IDEOGRAPH
+  {0x9DDC, 0x6772}, //4574 #CJK UNIFIED IDEOGRAPH
+  {0x9DDD, 0x660A}, //4575 #CJK UNIFIED IDEOGRAPH
+  {0x9DDE, 0x6603}, //4576 #CJK UNIFIED IDEOGRAPH
+  {0x9DDF, 0x65FB}, //4577 #CJK UNIFIED IDEOGRAPH
+  {0x9DE0, 0x6773}, //4578 #CJK UNIFIED IDEOGRAPH
+  {0x9DE1, 0x6635}, //4579 #CJK UNIFIED IDEOGRAPH
+  {0x9DE2, 0x6636}, //4580 #CJK UNIFIED IDEOGRAPH
+  {0x9DE3, 0x6634}, //4581 #CJK UNIFIED IDEOGRAPH
+  {0x9DE4, 0x661C}, //4582 #CJK UNIFIED IDEOGRAPH
+  {0x9DE5, 0x664F}, //4583 #CJK UNIFIED IDEOGRAPH
+  {0x9DE6, 0x6644}, //4584 #CJK UNIFIED IDEOGRAPH
+  {0x9DE7, 0x6649}, //4585 #CJK UNIFIED IDEOGRAPH
+  {0x9DE8, 0x6641}, //4586 #CJK UNIFIED IDEOGRAPH
+  {0x9DE9, 0x665E}, //4587 #CJK UNIFIED IDEOGRAPH
+  {0x9DEA, 0x665D}, //4588 #CJK UNIFIED IDEOGRAPH
+  {0x9DEB, 0x6664}, //4589 #CJK UNIFIED IDEOGRAPH
+  {0x9DEC, 0x6667}, //4590 #CJK UNIFIED IDEOGRAPH
+  {0x9DED, 0x6668}, //4591 #CJK UNIFIED IDEOGRAPH
+  {0x9DEE, 0x665F}, //4592 #CJK UNIFIED IDEOGRAPH
+  {0x9DEF, 0x6662}, //4593 #CJK UNIFIED IDEOGRAPH
+  {0x9DF0, 0x6670}, //4594 #CJK UNIFIED IDEOGRAPH
+  {0x9DF1, 0x6683}, //4595 #CJK UNIFIED IDEOGRAPH
+  {0x9DF2, 0x6688}, //4596 #CJK UNIFIED IDEOGRAPH
+  {0x9DF3, 0x668E}, //4597 #CJK UNIFIED IDEOGRAPH
+  {0x9DF4, 0x6689}, //4598 #CJK UNIFIED IDEOGRAPH
+  {0x9DF5, 0x6684}, //4599 #CJK UNIFIED IDEOGRAPH
+  {0x9DF6, 0x6698}, //4600 #CJK UNIFIED IDEOGRAPH
+  {0x9DF7, 0x669D}, //4601 #CJK UNIFIED IDEOGRAPH
+  {0x9DF8, 0x66C1}, //4602 #CJK UNIFIED IDEOGRAPH
+  {0x9DF9, 0x66B9}, //4603 #CJK UNIFIED IDEOGRAPH
+  {0x9DFA, 0x66C9}, //4604 #CJK UNIFIED IDEOGRAPH
+  {0x9DFB, 0x66BE}, //4605 #CJK UNIFIED IDEOGRAPH
+  {0x9DFC, 0x66BC}, //4606 #CJK UNIFIED IDEOGRAPH
+  {0x9E40, 0x66C4}, //4607 #CJK UNIFIED IDEOGRAPH
+  {0x9E41, 0x66B8}, //4608 #CJK UNIFIED IDEOGRAPH
+  {0x9E42, 0x66D6}, //4609 #CJK UNIFIED IDEOGRAPH
+  {0x9E43, 0x66DA}, //4610 #CJK UNIFIED IDEOGRAPH
+  {0x9E44, 0x66E0}, //4611 #CJK UNIFIED IDEOGRAPH
+  {0x9E45, 0x663F}, //4612 #CJK UNIFIED IDEOGRAPH
+  {0x9E46, 0x66E6}, //4613 #CJK UNIFIED IDEOGRAPH
+  {0x9E47, 0x66E9}, //4614 #CJK UNIFIED IDEOGRAPH
+  {0x9E48, 0x66F0}, //4615 #CJK UNIFIED IDEOGRAPH
+  {0x9E49, 0x66F5}, //4616 #CJK UNIFIED IDEOGRAPH
+  {0x9E4A, 0x66F7}, //4617 #CJK UNIFIED IDEOGRAPH
+  {0x9E4B, 0x670F}, //4618 #CJK UNIFIED IDEOGRAPH
+  {0x9E4C, 0x6716}, //4619 #CJK UNIFIED IDEOGRAPH
+  {0x9E4D, 0x671E}, //4620 #CJK UNIFIED IDEOGRAPH
+  {0x9E4E, 0x6726}, //4621 #CJK UNIFIED IDEOGRAPH
+  {0x9E4F, 0x6727}, //4622 #CJK UNIFIED IDEOGRAPH
+  {0x9E50, 0x9738}, //4623 #CJK UNIFIED IDEOGRAPH
+  {0x9E51, 0x672E}, //4624 #CJK UNIFIED IDEOGRAPH
+  {0x9E52, 0x673F}, //4625 #CJK UNIFIED IDEOGRAPH
+  {0x9E53, 0x6736}, //4626 #CJK UNIFIED IDEOGRAPH
+  {0x9E54, 0x6741}, //4627 #CJK UNIFIED IDEOGRAPH
+  {0x9E55, 0x6738}, //4628 #CJK UNIFIED IDEOGRAPH
+  {0x9E56, 0x6737}, //4629 #CJK UNIFIED IDEOGRAPH
+  {0x9E57, 0x6746}, //4630 #CJK UNIFIED IDEOGRAPH
+  {0x9E58, 0x675E}, //4631 #CJK UNIFIED IDEOGRAPH
+  {0x9E59, 0x6760}, //4632 #CJK UNIFIED IDEOGRAPH
+  {0x9E5A, 0x6759}, //4633 #CJK UNIFIED IDEOGRAPH
+  {0x9E5B, 0x6763}, //4634 #CJK UNIFIED IDEOGRAPH
+  {0x9E5C, 0x6764}, //4635 #CJK UNIFIED IDEOGRAPH
+  {0x9E5D, 0x6789}, //4636 #CJK UNIFIED IDEOGRAPH
+  {0x9E5E, 0x6770}, //4637 #CJK UNIFIED IDEOGRAPH
+  {0x9E5F, 0x67A9}, //4638 #CJK UNIFIED IDEOGRAPH
+  {0x9E60, 0x677C}, //4639 #CJK UNIFIED IDEOGRAPH
+  {0x9E61, 0x676A}, //4640 #CJK UNIFIED IDEOGRAPH
+  {0x9E62, 0x678C}, //4641 #CJK UNIFIED IDEOGRAPH
+  {0x9E63, 0x678B}, //4642 #CJK UNIFIED IDEOGRAPH
+  {0x9E64, 0x67A6}, //4643 #CJK UNIFIED IDEOGRAPH
+  {0x9E65, 0x67A1}, //4644 #CJK UNIFIED IDEOGRAPH
+  {0x9E66, 0x6785}, //4645 #CJK UNIFIED IDEOGRAPH
+  {0x9E67, 0x67B7}, //4646 #CJK UNIFIED IDEOGRAPH
+  {0x9E68, 0x67EF}, //4647 #CJK UNIFIED IDEOGRAPH
+  {0x9E69, 0x67B4}, //4648 #CJK UNIFIED IDEOGRAPH
+  {0x9E6A, 0x67EC}, //4649 #CJK UNIFIED IDEOGRAPH
+  {0x9E6B, 0x67B3}, //4650 #CJK UNIFIED IDEOGRAPH
+  {0x9E6C, 0x67E9}, //4651 #CJK UNIFIED IDEOGRAPH
+  {0x9E6D, 0x67B8}, //4652 #CJK UNIFIED IDEOGRAPH
+  {0x9E6E, 0x67E4}, //4653 #CJK UNIFIED IDEOGRAPH
+  {0x9E6F, 0x67DE}, //4654 #CJK UNIFIED IDEOGRAPH
+  {0x9E70, 0x67DD}, //4655 #CJK UNIFIED IDEOGRAPH
+  {0x9E71, 0x67E2}, //4656 #CJK UNIFIED IDEOGRAPH
+  {0x9E72, 0x67EE}, //4657 #CJK UNIFIED IDEOGRAPH
+  {0x9E73, 0x67B9}, //4658 #CJK UNIFIED IDEOGRAPH
+  {0x9E74, 0x67CE}, //4659 #CJK UNIFIED IDEOGRAPH
+  {0x9E75, 0x67C6}, //4660 #CJK UNIFIED IDEOGRAPH
+  {0x9E76, 0x67E7}, //4661 #CJK UNIFIED IDEOGRAPH
+  {0x9E77, 0x6A9C}, //4662 #CJK UNIFIED IDEOGRAPH
+  {0x9E78, 0x681E}, //4663 #CJK UNIFIED IDEOGRAPH
+  {0x9E79, 0x6846}, //4664 #CJK UNIFIED IDEOGRAPH
+  {0x9E7A, 0x6829}, //4665 #CJK UNIFIED IDEOGRAPH
+  {0x9E7B, 0x6840}, //4666 #CJK UNIFIED IDEOGRAPH
+  {0x9E7C, 0x684D}, //4667 #CJK UNIFIED IDEOGRAPH
+  {0x9E7D, 0x6832}, //4668 #CJK UNIFIED IDEOGRAPH
+  {0x9E7E, 0x684E}, //4669 #CJK UNIFIED IDEOGRAPH
+  {0x9E80, 0x68B3}, //4670 #CJK UNIFIED IDEOGRAPH
+  {0x9E81, 0x682B}, //4671 #CJK UNIFIED IDEOGRAPH
+  {0x9E82, 0x6859}, //4672 #CJK UNIFIED IDEOGRAPH
+  {0x9E83, 0x6863}, //4673 #CJK UNIFIED IDEOGRAPH
+  {0x9E84, 0x6877}, //4674 #CJK UNIFIED IDEOGRAPH
+  {0x9E85, 0x687F}, //4675 #CJK UNIFIED IDEOGRAPH
+  {0x9E86, 0x689F}, //4676 #CJK UNIFIED IDEOGRAPH
+  {0x9E87, 0x688F}, //4677 #CJK UNIFIED IDEOGRAPH
+  {0x9E88, 0x68AD}, //4678 #CJK UNIFIED IDEOGRAPH
+  {0x9E89, 0x6894}, //4679 #CJK UNIFIED IDEOGRAPH
+  {0x9E8A, 0x689D}, //4680 #CJK UNIFIED IDEOGRAPH
+  {0x9E8B, 0x689B}, //4681 #CJK UNIFIED IDEOGRAPH
+  {0x9E8C, 0x6883}, //4682 #CJK UNIFIED IDEOGRAPH
+  {0x9E8D, 0x6AAE}, //4683 #CJK UNIFIED IDEOGRAPH
+  {0x9E8E, 0x68B9}, //4684 #CJK UNIFIED IDEOGRAPH
+  {0x9E8F, 0x6874}, //4685 #CJK UNIFIED IDEOGRAPH
+  {0x9E90, 0x68B5}, //4686 #CJK UNIFIED IDEOGRAPH
+  {0x9E91, 0x68A0}, //4687 #CJK UNIFIED IDEOGRAPH
+  {0x9E92, 0x68BA}, //4688 #CJK UNIFIED IDEOGRAPH
+  {0x9E93, 0x690F}, //4689 #CJK UNIFIED IDEOGRAPH
+  {0x9E94, 0x688D}, //4690 #CJK UNIFIED IDEOGRAPH
+  {0x9E95, 0x687E}, //4691 #CJK UNIFIED IDEOGRAPH
+  {0x9E96, 0x6901}, //4692 #CJK UNIFIED IDEOGRAPH
+  {0x9E97, 0x68CA}, //4693 #CJK UNIFIED IDEOGRAPH
+  {0x9E98, 0x6908}, //4694 #CJK UNIFIED IDEOGRAPH
+  {0x9E99, 0x68D8}, //4695 #CJK UNIFIED IDEOGRAPH
+  {0x9E9A, 0x6922}, //4696 #CJK UNIFIED IDEOGRAPH
+  {0x9E9B, 0x6926}, //4697 #CJK UNIFIED IDEOGRAPH
+  {0x9E9C, 0x68E1}, //4698 #CJK UNIFIED IDEOGRAPH
+  {0x9E9D, 0x690C}, //4699 #CJK UNIFIED IDEOGRAPH
+  {0x9E9E, 0x68CD}, //4700 #CJK UNIFIED IDEOGRAPH
+  {0x9E9F, 0x68D4}, //4701 #CJK UNIFIED IDEOGRAPH
+  {0x9EA0, 0x68E7}, //4702 #CJK UNIFIED IDEOGRAPH
+  {0x9EA1, 0x68D5}, //4703 #CJK UNIFIED IDEOGRAPH
+  {0x9EA2, 0x6936}, //4704 #CJK UNIFIED IDEOGRAPH
+  {0x9EA3, 0x6912}, //4705 #CJK UNIFIED IDEOGRAPH
+  {0x9EA4, 0x6904}, //4706 #CJK UNIFIED IDEOGRAPH
+  {0x9EA5, 0x68D7}, //4707 #CJK UNIFIED IDEOGRAPH
+  {0x9EA6, 0x68E3}, //4708 #CJK UNIFIED IDEOGRAPH
+  {0x9EA7, 0x6925}, //4709 #CJK UNIFIED IDEOGRAPH
+  {0x9EA8, 0x68F9}, //4710 #CJK UNIFIED IDEOGRAPH
+  {0x9EA9, 0x68E0}, //4711 #CJK UNIFIED IDEOGRAPH
+  {0x9EAA, 0x68EF}, //4712 #CJK UNIFIED IDEOGRAPH
+  {0x9EAB, 0x6928}, //4713 #CJK UNIFIED IDEOGRAPH
+  {0x9EAC, 0x692A}, //4714 #CJK UNIFIED IDEOGRAPH
+  {0x9EAD, 0x691A}, //4715 #CJK UNIFIED IDEOGRAPH
+  {0x9EAE, 0x6923}, //4716 #CJK UNIFIED IDEOGRAPH
+  {0x9EAF, 0x6921}, //4717 #CJK UNIFIED IDEOGRAPH
+  {0x9EB0, 0x68C6}, //4718 #CJK UNIFIED IDEOGRAPH
+  {0x9EB1, 0x6979}, //4719 #CJK UNIFIED IDEOGRAPH
+  {0x9EB2, 0x6977}, //4720 #CJK UNIFIED IDEOGRAPH
+  {0x9EB3, 0x695C}, //4721 #CJK UNIFIED IDEOGRAPH
+  {0x9EB4, 0x6978}, //4722 #CJK UNIFIED IDEOGRAPH
+  {0x9EB5, 0x696B}, //4723 #CJK UNIFIED IDEOGRAPH
+  {0x9EB6, 0x6954}, //4724 #CJK UNIFIED IDEOGRAPH
+  {0x9EB7, 0x697E}, //4725 #CJK UNIFIED IDEOGRAPH
+  {0x9EB8, 0x696E}, //4726 #CJK UNIFIED IDEOGRAPH
+  {0x9EB9, 0x6939}, //4727 #CJK UNIFIED IDEOGRAPH
+  {0x9EBA, 0x6974}, //4728 #CJK UNIFIED IDEOGRAPH
+  {0x9EBB, 0x693D}, //4729 #CJK UNIFIED IDEOGRAPH
+  {0x9EBC, 0x6959}, //4730 #CJK UNIFIED IDEOGRAPH
+  {0x9EBD, 0x6930}, //4731 #CJK UNIFIED IDEOGRAPH
+  {0x9EBE, 0x6961}, //4732 #CJK UNIFIED IDEOGRAPH
+  {0x9EBF, 0x695E}, //4733 #CJK UNIFIED IDEOGRAPH
+  {0x9EC0, 0x695D}, //4734 #CJK UNIFIED IDEOGRAPH
+  {0x9EC1, 0x6981}, //4735 #CJK UNIFIED IDEOGRAPH
+  {0x9EC2, 0x696A}, //4736 #CJK UNIFIED IDEOGRAPH
+  {0x9EC3, 0x69B2}, //4737 #CJK UNIFIED IDEOGRAPH
+  {0x9EC4, 0x69AE}, //4738 #CJK UNIFIED IDEOGRAPH
+  {0x9EC5, 0x69D0}, //4739 #CJK UNIFIED IDEOGRAPH
+  {0x9EC6, 0x69BF}, //4740 #CJK UNIFIED IDEOGRAPH
+  {0x9EC7, 0x69C1}, //4741 #CJK UNIFIED IDEOGRAPH
+  {0x9EC8, 0x69D3}, //4742 #CJK UNIFIED IDEOGRAPH
+  {0x9EC9, 0x69BE}, //4743 #CJK UNIFIED IDEOGRAPH
+  {0x9ECA, 0x69CE}, //4744 #CJK UNIFIED IDEOGRAPH
+  {0x9ECB, 0x5BE8}, //4745 #CJK UNIFIED IDEOGRAPH
+  {0x9ECC, 0x69CA}, //4746 #CJK UNIFIED IDEOGRAPH
+  {0x9ECD, 0x69DD}, //4747 #CJK UNIFIED IDEOGRAPH
+  {0x9ECE, 0x69BB}, //4748 #CJK UNIFIED IDEOGRAPH
+  {0x9ECF, 0x69C3}, //4749 #CJK UNIFIED IDEOGRAPH
+  {0x9ED0, 0x69A7}, //4750 #CJK UNIFIED IDEOGRAPH
+  {0x9ED1, 0x6A2E}, //4751 #CJK UNIFIED IDEOGRAPH
+  {0x9ED2, 0x6991}, //4752 #CJK UNIFIED IDEOGRAPH
+  {0x9ED3, 0x69A0}, //4753 #CJK UNIFIED IDEOGRAPH
+  {0x9ED4, 0x699C}, //4754 #CJK UNIFIED IDEOGRAPH
+  {0x9ED5, 0x6995}, //4755 #CJK UNIFIED IDEOGRAPH
+  {0x9ED6, 0x69B4}, //4756 #CJK UNIFIED IDEOGRAPH
+  {0x9ED7, 0x69DE}, //4757 #CJK UNIFIED IDEOGRAPH
+  {0x9ED8, 0x69E8}, //4758 #CJK UNIFIED IDEOGRAPH
+  {0x9ED9, 0x6A02}, //4759 #CJK UNIFIED IDEOGRAPH
+  {0x9EDA, 0x6A1B}, //4760 #CJK UNIFIED IDEOGRAPH
+  {0x9EDB, 0x69FF}, //4761 #CJK UNIFIED IDEOGRAPH
+  {0x9EDC, 0x6B0A}, //4762 #CJK UNIFIED IDEOGRAPH
+  {0x9EDD, 0x69F9}, //4763 #CJK UNIFIED IDEOGRAPH
+  {0x9EDE, 0x69F2}, //4764 #CJK UNIFIED IDEOGRAPH
+  {0x9EDF, 0x69E7}, //4765 #CJK UNIFIED IDEOGRAPH
+  {0x9EE0, 0x6A05}, //4766 #CJK UNIFIED IDEOGRAPH
+  {0x9EE1, 0x69B1}, //4767 #CJK UNIFIED IDEOGRAPH
+  {0x9EE2, 0x6A1E}, //4768 #CJK UNIFIED IDEOGRAPH
+  {0x9EE3, 0x69ED}, //4769 #CJK UNIFIED IDEOGRAPH
+  {0x9EE4, 0x6A14}, //4770 #CJK UNIFIED IDEOGRAPH
+  {0x9EE5, 0x69EB}, //4771 #CJK UNIFIED IDEOGRAPH
+  {0x9EE6, 0x6A0A}, //4772 #CJK UNIFIED IDEOGRAPH
+  {0x9EE7, 0x6A12}, //4773 #CJK UNIFIED IDEOGRAPH
+  {0x9EE8, 0x6AC1}, //4774 #CJK UNIFIED IDEOGRAPH
+  {0x9EE9, 0x6A23}, //4775 #CJK UNIFIED IDEOGRAPH
+  {0x9EEA, 0x6A13}, //4776 #CJK UNIFIED IDEOGRAPH
+  {0x9EEB, 0x6A44}, //4777 #CJK UNIFIED IDEOGRAPH
+  {0x9EEC, 0x6A0C}, //4778 #CJK UNIFIED IDEOGRAPH
+  {0x9EED, 0x6A72}, //4779 #CJK UNIFIED IDEOGRAPH
+  {0x9EEE, 0x6A36}, //4780 #CJK UNIFIED IDEOGRAPH
+  {0x9EEF, 0x6A78}, //4781 #CJK UNIFIED IDEOGRAPH
+  {0x9EF0, 0x6A47}, //4782 #CJK UNIFIED IDEOGRAPH
+  {0x9EF1, 0x6A62}, //4783 #CJK UNIFIED IDEOGRAPH
+  {0x9EF2, 0x6A59}, //4784 #CJK UNIFIED IDEOGRAPH
+  {0x9EF3, 0x6A66}, //4785 #CJK UNIFIED IDEOGRAPH
+  {0x9EF4, 0x6A48}, //4786 #CJK UNIFIED IDEOGRAPH
+  {0x9EF5, 0x6A38}, //4787 #CJK UNIFIED IDEOGRAPH
+  {0x9EF6, 0x6A22}, //4788 #CJK UNIFIED IDEOGRAPH
+  {0x9EF7, 0x6A90}, //4789 #CJK UNIFIED IDEOGRAPH
+  {0x9EF8, 0x6A8D}, //4790 #CJK UNIFIED IDEOGRAPH
+  {0x9EF9, 0x6AA0}, //4791 #CJK UNIFIED IDEOGRAPH
+  {0x9EFA, 0x6A84}, //4792 #CJK UNIFIED IDEOGRAPH
+  {0x9EFB, 0x6AA2}, //4793 #CJK UNIFIED IDEOGRAPH
+  {0x9EFC, 0x6AA3}, //4794 #CJK UNIFIED IDEOGRAPH
+  {0x9F40, 0x6A97}, //4795 #CJK UNIFIED IDEOGRAPH
+  {0x9F41, 0x8617}, //4796 #CJK UNIFIED IDEOGRAPH
+  {0x9F42, 0x6ABB}, //4797 #CJK UNIFIED IDEOGRAPH
+  {0x9F43, 0x6AC3}, //4798 #CJK UNIFIED IDEOGRAPH
+  {0x9F44, 0x6AC2}, //4799 #CJK UNIFIED IDEOGRAPH
+  {0x9F45, 0x6AB8}, //4800 #CJK UNIFIED IDEOGRAPH
+  {0x9F46, 0x6AB3}, //4801 #CJK UNIFIED IDEOGRAPH
+  {0x9F47, 0x6AAC}, //4802 #CJK UNIFIED IDEOGRAPH
+  {0x9F48, 0x6ADE}, //4803 #CJK UNIFIED IDEOGRAPH
+  {0x9F49, 0x6AD1}, //4804 #CJK UNIFIED IDEOGRAPH
+  {0x9F4A, 0x6ADF}, //4805 #CJK UNIFIED IDEOGRAPH
+  {0x9F4B, 0x6AAA}, //4806 #CJK UNIFIED IDEOGRAPH
+  {0x9F4C, 0x6ADA}, //4807 #CJK UNIFIED IDEOGRAPH
+  {0x9F4D, 0x6AEA}, //4808 #CJK UNIFIED IDEOGRAPH
+  {0x9F4E, 0x6AFB}, //4809 #CJK UNIFIED IDEOGRAPH
+  {0x9F4F, 0x6B05}, //4810 #CJK UNIFIED IDEOGRAPH
+  {0x9F50, 0x8616}, //4811 #CJK UNIFIED IDEOGRAPH
+  {0x9F51, 0x6AFA}, //4812 #CJK UNIFIED IDEOGRAPH
+  {0x9F52, 0x6B12}, //4813 #CJK UNIFIED IDEOGRAPH
+  {0x9F53, 0x6B16}, //4814 #CJK UNIFIED IDEOGRAPH
+  {0x9F54, 0x9B31}, //4815 #CJK UNIFIED IDEOGRAPH
+  {0x9F55, 0x6B1F}, //4816 #CJK UNIFIED IDEOGRAPH
+  {0x9F56, 0x6B38}, //4817 #CJK UNIFIED IDEOGRAPH
+  {0x9F57, 0x6B37}, //4818 #CJK UNIFIED IDEOGRAPH
+  {0x9F58, 0x76DC}, //4819 #CJK UNIFIED IDEOGRAPH
+  {0x9F59, 0x6B39}, //4820 #CJK UNIFIED IDEOGRAPH
+  {0x9F5A, 0x98EE}, //4821 #CJK UNIFIED IDEOGRAPH
+  {0x9F5B, 0x6B47}, //4822 #CJK UNIFIED IDEOGRAPH
+  {0x9F5C, 0x6B43}, //4823 #CJK UNIFIED IDEOGRAPH
+  {0x9F5D, 0x6B49}, //4824 #CJK UNIFIED IDEOGRAPH
+  {0x9F5E, 0x6B50}, //4825 #CJK UNIFIED IDEOGRAPH
+  {0x9F5F, 0x6B59}, //4826 #CJK UNIFIED IDEOGRAPH
+  {0x9F60, 0x6B54}, //4827 #CJK UNIFIED IDEOGRAPH
+  {0x9F61, 0x6B5B}, //4828 #CJK UNIFIED IDEOGRAPH
+  {0x9F62, 0x6B5F}, //4829 #CJK UNIFIED IDEOGRAPH
+  {0x9F63, 0x6B61}, //4830 #CJK UNIFIED IDEOGRAPH
+  {0x9F64, 0x6B78}, //4831 #CJK UNIFIED IDEOGRAPH
+  {0x9F65, 0x6B79}, //4832 #CJK UNIFIED IDEOGRAPH
+  {0x9F66, 0x6B7F}, //4833 #CJK UNIFIED IDEOGRAPH
+  {0x9F67, 0x6B80}, //4834 #CJK UNIFIED IDEOGRAPH
+  {0x9F68, 0x6B84}, //4835 #CJK UNIFIED IDEOGRAPH
+  {0x9F69, 0x6B83}, //4836 #CJK UNIFIED IDEOGRAPH
+  {0x9F6A, 0x6B8D}, //4837 #CJK UNIFIED IDEOGRAPH
+  {0x9F6B, 0x6B98}, //4838 #CJK UNIFIED IDEOGRAPH
+  {0x9F6C, 0x6B95}, //4839 #CJK UNIFIED IDEOGRAPH
+  {0x9F6D, 0x6B9E}, //4840 #CJK UNIFIED IDEOGRAPH
+  {0x9F6E, 0x6BA4}, //4841 #CJK UNIFIED IDEOGRAPH
+  {0x9F6F, 0x6BAA}, //4842 #CJK UNIFIED IDEOGRAPH
+  {0x9F70, 0x6BAB}, //4843 #CJK UNIFIED IDEOGRAPH
+  {0x9F71, 0x6BAF}, //4844 #CJK UNIFIED IDEOGRAPH
+  {0x9F72, 0x6BB2}, //4845 #CJK UNIFIED IDEOGRAPH
+  {0x9F73, 0x6BB1}, //4846 #CJK UNIFIED IDEOGRAPH
+  {0x9F74, 0x6BB3}, //4847 #CJK UNIFIED IDEOGRAPH
+  {0x9F75, 0x6BB7}, //4848 #CJK UNIFIED IDEOGRAPH
+  {0x9F76, 0x6BBC}, //4849 #CJK UNIFIED IDEOGRAPH
+  {0x9F77, 0x6BC6}, //4850 #CJK UNIFIED IDEOGRAPH
+  {0x9F78, 0x6BCB}, //4851 #CJK UNIFIED IDEOGRAPH
+  {0x9F79, 0x6BD3}, //4852 #CJK UNIFIED IDEOGRAPH
+  {0x9F7A, 0x6BDF}, //4853 #CJK UNIFIED IDEOGRAPH
+  {0x9F7B, 0x6BEC}, //4854 #CJK UNIFIED IDEOGRAPH
+  {0x9F7C, 0x6BEB}, //4855 #CJK UNIFIED IDEOGRAPH
+  {0x9F7D, 0x6BF3}, //4856 #CJK UNIFIED IDEOGRAPH
+  {0x9F7E, 0x6BEF}, //4857 #CJK UNIFIED IDEOGRAPH
+  {0x9F80, 0x9EBE}, //4858 #CJK UNIFIED IDEOGRAPH
+  {0x9F81, 0x6C08}, //4859 #CJK UNIFIED IDEOGRAPH
+  {0x9F82, 0x6C13}, //4860 #CJK UNIFIED IDEOGRAPH
+  {0x9F83, 0x6C14}, //4861 #CJK UNIFIED IDEOGRAPH
+  {0x9F84, 0x6C1B}, //4862 #CJK UNIFIED IDEOGRAPH
+  {0x9F85, 0x6C24}, //4863 #CJK UNIFIED IDEOGRAPH
+  {0x9F86, 0x6C23}, //4864 #CJK UNIFIED IDEOGRAPH
+  {0x9F87, 0x6C5E}, //4865 #CJK UNIFIED IDEOGRAPH
+  {0x9F88, 0x6C55}, //4866 #CJK UNIFIED IDEOGRAPH
+  {0x9F89, 0x6C62}, //4867 #CJK UNIFIED IDEOGRAPH
+  {0x9F8A, 0x6C6A}, //4868 #CJK UNIFIED IDEOGRAPH
+  {0x9F8B, 0x6C82}, //4869 #CJK UNIFIED IDEOGRAPH
+  {0x9F8C, 0x6C8D}, //4870 #CJK UNIFIED IDEOGRAPH
+  {0x9F8D, 0x6C9A}, //4871 #CJK UNIFIED IDEOGRAPH
+  {0x9F8E, 0x6C81}, //4872 #CJK UNIFIED IDEOGRAPH
+  {0x9F8F, 0x6C9B}, //4873 #CJK UNIFIED IDEOGRAPH
+  {0x9F90, 0x6C7E}, //4874 #CJK UNIFIED IDEOGRAPH
+  {0x9F91, 0x6C68}, //4875 #CJK UNIFIED IDEOGRAPH
+  {0x9F92, 0x6C73}, //4876 #CJK UNIFIED IDEOGRAPH
+  {0x9F93, 0x6C92}, //4877 #CJK UNIFIED IDEOGRAPH
+  {0x9F94, 0x6C90}, //4878 #CJK UNIFIED IDEOGRAPH
+  {0x9F95, 0x6CC4}, //4879 #CJK UNIFIED IDEOGRAPH
+  {0x9F96, 0x6CF1}, //4880 #CJK UNIFIED IDEOGRAPH
+  {0x9F97, 0x6CD3}, //4881 #CJK UNIFIED IDEOGRAPH
+  {0x9F98, 0x6CBD}, //4882 #CJK UNIFIED IDEOGRAPH
+  {0x9F99, 0x6CD7}, //4883 #CJK UNIFIED IDEOGRAPH
+  {0x9F9A, 0x6CC5}, //4884 #CJK UNIFIED IDEOGRAPH
+  {0x9F9B, 0x6CDD}, //4885 #CJK UNIFIED IDEOGRAPH
+  {0x9F9C, 0x6CAE}, //4886 #CJK UNIFIED IDEOGRAPH
+  {0x9F9D, 0x6CB1}, //4887 #CJK UNIFIED IDEOGRAPH
+  {0x9F9E, 0x6CBE}, //4888 #CJK UNIFIED IDEOGRAPH
+  {0x9F9F, 0x6CBA}, //4889 #CJK UNIFIED IDEOGRAPH
+  {0x9FA0, 0x6CDB}, //4890 #CJK UNIFIED IDEOGRAPH
+  {0x9FA1, 0x6CEF}, //4891 #CJK UNIFIED IDEOGRAPH
+  {0x9FA2, 0x6CD9}, //4892 #CJK UNIFIED IDEOGRAPH
+  {0x9FA3, 0x6CEA}, //4893 #CJK UNIFIED IDEOGRAPH
+  {0x9FA4, 0x6D1F}, //4894 #CJK UNIFIED IDEOGRAPH
+  {0x9FA5, 0x884D}, //4895 #CJK UNIFIED IDEOGRAPH
+  {0x9FA6, 0x6D36}, //4896 #CJK UNIFIED IDEOGRAPH
+  {0x9FA7, 0x6D2B}, //4897 #CJK UNIFIED IDEOGRAPH
+  {0x9FA8, 0x6D3D}, //4898 #CJK UNIFIED IDEOGRAPH
+  {0x9FA9, 0x6D38}, //4899 #CJK UNIFIED IDEOGRAPH
+  {0x9FAA, 0x6D19}, //4900 #CJK UNIFIED IDEOGRAPH
+  {0x9FAB, 0x6D35}, //4901 #CJK UNIFIED IDEOGRAPH
+  {0x9FAC, 0x6D33}, //4902 #CJK UNIFIED IDEOGRAPH
+  {0x9FAD, 0x6D12}, //4903 #CJK UNIFIED IDEOGRAPH
+  {0x9FAE, 0x6D0C}, //4904 #CJK UNIFIED IDEOGRAPH
+  {0x9FAF, 0x6D63}, //4905 #CJK UNIFIED IDEOGRAPH
+  {0x9FB0, 0x6D93}, //4906 #CJK UNIFIED IDEOGRAPH
+  {0x9FB1, 0x6D64}, //4907 #CJK UNIFIED IDEOGRAPH
+  {0x9FB2, 0x6D5A}, //4908 #CJK UNIFIED IDEOGRAPH
+  {0x9FB3, 0x6D79}, //4909 #CJK UNIFIED IDEOGRAPH
+  {0x9FB4, 0x6D59}, //4910 #CJK UNIFIED IDEOGRAPH
+  {0x9FB5, 0x6D8E}, //4911 #CJK UNIFIED IDEOGRAPH
+  {0x9FB6, 0x6D95}, //4912 #CJK UNIFIED IDEOGRAPH
+  {0x9FB7, 0x6FE4}, //4913 #CJK UNIFIED IDEOGRAPH
+  {0x9FB8, 0x6D85}, //4914 #CJK UNIFIED IDEOGRAPH
+  {0x9FB9, 0x6DF9}, //4915 #CJK UNIFIED IDEOGRAPH
+  {0x9FBA, 0x6E15}, //4916 #CJK UNIFIED IDEOGRAPH
+  {0x9FBB, 0x6E0A}, //4917 #CJK UNIFIED IDEOGRAPH
+  {0x9FBC, 0x6DB5}, //4918 #CJK UNIFIED IDEOGRAPH
+  {0x9FBD, 0x6DC7}, //4919 #CJK UNIFIED IDEOGRAPH
+  {0x9FBE, 0x6DE6}, //4920 #CJK UNIFIED IDEOGRAPH
+  {0x9FBF, 0x6DB8}, //4921 #CJK UNIFIED IDEOGRAPH
+  {0x9FC0, 0x6DC6}, //4922 #CJK UNIFIED IDEOGRAPH
+  {0x9FC1, 0x6DEC}, //4923 #CJK UNIFIED IDEOGRAPH
+  {0x9FC2, 0x6DDE}, //4924 #CJK UNIFIED IDEOGRAPH
+  {0x9FC3, 0x6DCC}, //4925 #CJK UNIFIED IDEOGRAPH
+  {0x9FC4, 0x6DE8}, //4926 #CJK UNIFIED IDEOGRAPH
+  {0x9FC5, 0x6DD2}, //4927 #CJK UNIFIED IDEOGRAPH
+  {0x9FC6, 0x6DC5}, //4928 #CJK UNIFIED IDEOGRAPH
+  {0x9FC7, 0x6DFA}, //4929 #CJK UNIFIED IDEOGRAPH
+  {0x9FC8, 0x6DD9}, //4930 #CJK UNIFIED IDEOGRAPH
+  {0x9FC9, 0x6DE4}, //4931 #CJK UNIFIED IDEOGRAPH
+  {0x9FCA, 0x6DD5}, //4932 #CJK UNIFIED IDEOGRAPH
+  {0x9FCB, 0x6DEA}, //4933 #CJK UNIFIED IDEOGRAPH
+  {0x9FCC, 0x6DEE}, //4934 #CJK UNIFIED IDEOGRAPH
+  {0x9FCD, 0x6E2D}, //4935 #CJK UNIFIED IDEOGRAPH
+  {0x9FCE, 0x6E6E}, //4936 #CJK UNIFIED IDEOGRAPH
+  {0x9FCF, 0x6E2E}, //4937 #CJK UNIFIED IDEOGRAPH
+  {0x9FD0, 0x6E19}, //4938 #CJK UNIFIED IDEOGRAPH
+  {0x9FD1, 0x6E72}, //4939 #CJK UNIFIED IDEOGRAPH
+  {0x9FD2, 0x6E5F}, //4940 #CJK UNIFIED IDEOGRAPH
+  {0x9FD3, 0x6E3E}, //4941 #CJK UNIFIED IDEOGRAPH
+  {0x9FD4, 0x6E23}, //4942 #CJK UNIFIED IDEOGRAPH
+  {0x9FD5, 0x6E6B}, //4943 #CJK UNIFIED IDEOGRAPH
+  {0x9FD6, 0x6E2B}, //4944 #CJK UNIFIED IDEOGRAPH
+  {0x9FD7, 0x6E76}, //4945 #CJK UNIFIED IDEOGRAPH
+  {0x9FD8, 0x6E4D}, //4946 #CJK UNIFIED IDEOGRAPH
+  {0x9FD9, 0x6E1F}, //4947 #CJK UNIFIED IDEOGRAPH
+  {0x9FDA, 0x6E43}, //4948 #CJK UNIFIED IDEOGRAPH
+  {0x9FDB, 0x6E3A}, //4949 #CJK UNIFIED IDEOGRAPH
+  {0x9FDC, 0x6E4E}, //4950 #CJK UNIFIED IDEOGRAPH
+  {0x9FDD, 0x6E24}, //4951 #CJK UNIFIED IDEOGRAPH
+  {0x9FDE, 0x6EFF}, //4952 #CJK UNIFIED IDEOGRAPH
+  {0x9FDF, 0x6E1D}, //4953 #CJK UNIFIED IDEOGRAPH
+  {0x9FE0, 0x6E38}, //4954 #CJK UNIFIED IDEOGRAPH
+  {0x9FE1, 0x6E82}, //4955 #CJK UNIFIED IDEOGRAPH
+  {0x9FE2, 0x6EAA}, //4956 #CJK UNIFIED IDEOGRAPH
+  {0x9FE3, 0x6E98}, //4957 #CJK UNIFIED IDEOGRAPH
+  {0x9FE4, 0x6EC9}, //4958 #CJK UNIFIED IDEOGRAPH
+  {0x9FE5, 0x6EB7}, //4959 #CJK UNIFIED IDEOGRAPH
+  {0x9FE6, 0x6ED3}, //4960 #CJK UNIFIED IDEOGRAPH
+  {0x9FE7, 0x6EBD}, //4961 #CJK UNIFIED IDEOGRAPH
+  {0x9FE8, 0x6EAF}, //4962 #CJK UNIFIED IDEOGRAPH
+  {0x9FE9, 0x6EC4}, //4963 #CJK UNIFIED IDEOGRAPH
+  {0x9FEA, 0x6EB2}, //4964 #CJK UNIFIED IDEOGRAPH
+  {0x9FEB, 0x6ED4}, //4965 #CJK UNIFIED IDEOGRAPH
+  {0x9FEC, 0x6ED5}, //4966 #CJK UNIFIED IDEOGRAPH
+  {0x9FED, 0x6E8F}, //4967 #CJK UNIFIED IDEOGRAPH
+  {0x9FEE, 0x6EA5}, //4968 #CJK UNIFIED IDEOGRAPH
+  {0x9FEF, 0x6EC2}, //4969 #CJK UNIFIED IDEOGRAPH
+  {0x9FF0, 0x6E9F}, //4970 #CJK UNIFIED IDEOGRAPH
+  {0x9FF1, 0x6F41}, //4971 #CJK UNIFIED IDEOGRAPH
+  {0x9FF2, 0x6F11}, //4972 #CJK UNIFIED IDEOGRAPH
+  {0x9FF3, 0x704C}, //4973 #CJK UNIFIED IDEOGRAPH
+  {0x9FF4, 0x6EEC}, //4974 #CJK UNIFIED IDEOGRAPH
+  {0x9FF5, 0x6EF8}, //4975 #CJK UNIFIED IDEOGRAPH
+  {0x9FF6, 0x6EFE}, //4976 #CJK UNIFIED IDEOGRAPH
+  {0x9FF7, 0x6F3F}, //4977 #CJK UNIFIED IDEOGRAPH
+  {0x9FF8, 0x6EF2}, //4978 #CJK UNIFIED IDEOGRAPH
+  {0x9FF9, 0x6F31}, //4979 #CJK UNIFIED IDEOGRAPH
+  {0x9FFA, 0x6EEF}, //4980 #CJK UNIFIED IDEOGRAPH
+  {0x9FFB, 0x6F32}, //4981 #CJK UNIFIED IDEOGRAPH
+  {0x9FFC, 0x6ECC}, //4982 #CJK UNIFIED IDEOGRAPH
+  {0xE040, 0x6F3E}, //4983 #CJK UNIFIED IDEOGRAPH
+  {0xE041, 0x6F13}, //4984 #CJK UNIFIED IDEOGRAPH
+  {0xE042, 0x6EF7}, //4985 #CJK UNIFIED IDEOGRAPH
+  {0xE043, 0x6F86}, //4986 #CJK UNIFIED IDEOGRAPH
+  {0xE044, 0x6F7A}, //4987 #CJK UNIFIED IDEOGRAPH
+  {0xE045, 0x6F78}, //4988 #CJK UNIFIED IDEOGRAPH
+  {0xE046, 0x6F81}, //4989 #CJK UNIFIED IDEOGRAPH
+  {0xE047, 0x6F80}, //4990 #CJK UNIFIED IDEOGRAPH
+  {0xE048, 0x6F6F}, //4991 #CJK UNIFIED IDEOGRAPH
+  {0xE049, 0x6F5B}, //4992 #CJK UNIFIED IDEOGRAPH
+  {0xE04A, 0x6FF3}, //4993 #CJK UNIFIED IDEOGRAPH
+  {0xE04B, 0x6F6D}, //4994 #CJK UNIFIED IDEOGRAPH
+  {0xE04C, 0x6F82}, //4995 #CJK UNIFIED IDEOGRAPH
+  {0xE04D, 0x6F7C}, //4996 #CJK UNIFIED IDEOGRAPH
+  {0xE04E, 0x6F58}, //4997 #CJK UNIFIED IDEOGRAPH
+  {0xE04F, 0x6F8E}, //4998 #CJK UNIFIED IDEOGRAPH
+  {0xE050, 0x6F91}, //4999 #CJK UNIFIED IDEOGRAPH
+  {0xE051, 0x6FC2}, //5000 #CJK UNIFIED IDEOGRAPH
+  {0xE052, 0x6F66}, //5001 #CJK UNIFIED IDEOGRAPH
+  {0xE053, 0x6FB3}, //5002 #CJK UNIFIED IDEOGRAPH
+  {0xE054, 0x6FA3}, //5003 #CJK UNIFIED IDEOGRAPH
+  {0xE055, 0x6FA1}, //5004 #CJK UNIFIED IDEOGRAPH
+  {0xE056, 0x6FA4}, //5005 #CJK UNIFIED IDEOGRAPH
+  {0xE057, 0x6FB9}, //5006 #CJK UNIFIED IDEOGRAPH
+  {0xE058, 0x6FC6}, //5007 #CJK UNIFIED IDEOGRAPH
+  {0xE059, 0x6FAA}, //5008 #CJK UNIFIED IDEOGRAPH
+  {0xE05A, 0x6FDF}, //5009 #CJK UNIFIED IDEOGRAPH
+  {0xE05B, 0x6FD5}, //5010 #CJK UNIFIED IDEOGRAPH
+  {0xE05C, 0x6FEC}, //5011 #CJK UNIFIED IDEOGRAPH
+  {0xE05D, 0x6FD4}, //5012 #CJK UNIFIED IDEOGRAPH
+  {0xE05E, 0x6FD8}, //5013 #CJK UNIFIED IDEOGRAPH
+  {0xE05F, 0x6FF1}, //5014 #CJK UNIFIED IDEOGRAPH
+  {0xE060, 0x6FEE}, //5015 #CJK UNIFIED IDEOGRAPH
+  {0xE061, 0x6FDB}, //5016 #CJK UNIFIED IDEOGRAPH
+  {0xE062, 0x7009}, //5017 #CJK UNIFIED IDEOGRAPH
+  {0xE063, 0x700B}, //5018 #CJK UNIFIED IDEOGRAPH
+  {0xE064, 0x6FFA}, //5019 #CJK UNIFIED IDEOGRAPH
+  {0xE065, 0x7011}, //5020 #CJK UNIFIED IDEOGRAPH
+  {0xE066, 0x7001}, //5021 #CJK UNIFIED IDEOGRAPH
+  {0xE067, 0x700F}, //5022 #CJK UNIFIED IDEOGRAPH
+  {0xE068, 0x6FFE}, //5023 #CJK UNIFIED IDEOGRAPH
+  {0xE069, 0x701B}, //5024 #CJK UNIFIED IDEOGRAPH
+  {0xE06A, 0x701A}, //5025 #CJK UNIFIED IDEOGRAPH
+  {0xE06B, 0x6F74}, //5026 #CJK UNIFIED IDEOGRAPH
+  {0xE06C, 0x701D}, //5027 #CJK UNIFIED IDEOGRAPH
+  {0xE06D, 0x7018}, //5028 #CJK UNIFIED IDEOGRAPH
+  {0xE06E, 0x701F}, //5029 #CJK UNIFIED IDEOGRAPH
+  {0xE06F, 0x7030}, //5030 #CJK UNIFIED IDEOGRAPH
+  {0xE070, 0x703E}, //5031 #CJK UNIFIED IDEOGRAPH
+  {0xE071, 0x7032}, //5032 #CJK UNIFIED IDEOGRAPH
+  {0xE072, 0x7051}, //5033 #CJK UNIFIED IDEOGRAPH
+  {0xE073, 0x7063}, //5034 #CJK UNIFIED IDEOGRAPH
+  {0xE074, 0x7099}, //5035 #CJK UNIFIED IDEOGRAPH
+  {0xE075, 0x7092}, //5036 #CJK UNIFIED IDEOGRAPH
+  {0xE076, 0x70AF}, //5037 #CJK UNIFIED IDEOGRAPH
+  {0xE077, 0x70F1}, //5038 #CJK UNIFIED IDEOGRAPH
+  {0xE078, 0x70AC}, //5039 #CJK UNIFIED IDEOGRAPH
+  {0xE079, 0x70B8}, //5040 #CJK UNIFIED IDEOGRAPH
+  {0xE07A, 0x70B3}, //5041 #CJK UNIFIED IDEOGRAPH
+  {0xE07B, 0x70AE}, //5042 #CJK UNIFIED IDEOGRAPH
+  {0xE07C, 0x70DF}, //5043 #CJK UNIFIED IDEOGRAPH
+  {0xE07D, 0x70CB}, //5044 #CJK UNIFIED IDEOGRAPH
+  {0xE07E, 0x70DD}, //5045 #CJK UNIFIED IDEOGRAPH
+  {0xE080, 0x70D9}, //5046 #CJK UNIFIED IDEOGRAPH
+  {0xE081, 0x7109}, //5047 #CJK UNIFIED IDEOGRAPH
+  {0xE082, 0x70FD}, //5048 #CJK UNIFIED IDEOGRAPH
+  {0xE083, 0x711C}, //5049 #CJK UNIFIED IDEOGRAPH
+  {0xE084, 0x7119}, //5050 #CJK UNIFIED IDEOGRAPH
+  {0xE085, 0x7165}, //5051 #CJK UNIFIED IDEOGRAPH
+  {0xE086, 0x7155}, //5052 #CJK UNIFIED IDEOGRAPH
+  {0xE087, 0x7188}, //5053 #CJK UNIFIED IDEOGRAPH
+  {0xE088, 0x7166}, //5054 #CJK UNIFIED IDEOGRAPH
+  {0xE089, 0x7162}, //5055 #CJK UNIFIED IDEOGRAPH
+  {0xE08A, 0x714C}, //5056 #CJK UNIFIED IDEOGRAPH
+  {0xE08B, 0x7156}, //5057 #CJK UNIFIED IDEOGRAPH
+  {0xE08C, 0x716C}, //5058 #CJK UNIFIED IDEOGRAPH
+  {0xE08D, 0x718F}, //5059 #CJK UNIFIED IDEOGRAPH
+  {0xE08E, 0x71FB}, //5060 #CJK UNIFIED IDEOGRAPH
+  {0xE08F, 0x7184}, //5061 #CJK UNIFIED IDEOGRAPH
+  {0xE090, 0x7195}, //5062 #CJK UNIFIED IDEOGRAPH
+  {0xE091, 0x71A8}, //5063 #CJK UNIFIED IDEOGRAPH
+  {0xE092, 0x71AC}, //5064 #CJK UNIFIED IDEOGRAPH
+  {0xE093, 0x71D7}, //5065 #CJK UNIFIED IDEOGRAPH
+  {0xE094, 0x71B9}, //5066 #CJK UNIFIED IDEOGRAPH
+  {0xE095, 0x71BE}, //5067 #CJK UNIFIED IDEOGRAPH
+  {0xE096, 0x71D2}, //5068 #CJK UNIFIED IDEOGRAPH
+  {0xE097, 0x71C9}, //5069 #CJK UNIFIED IDEOGRAPH
+  {0xE098, 0x71D4}, //5070 #CJK UNIFIED IDEOGRAPH
+  {0xE099, 0x71CE}, //5071 #CJK UNIFIED IDEOGRAPH
+  {0xE09A, 0x71E0}, //5072 #CJK UNIFIED IDEOGRAPH
+  {0xE09B, 0x71EC}, //5073 #CJK UNIFIED IDEOGRAPH
+  {0xE09C, 0x71E7}, //5074 #CJK UNIFIED IDEOGRAPH
+  {0xE09D, 0x71F5}, //5075 #CJK UNIFIED IDEOGRAPH
+  {0xE09E, 0x71FC}, //5076 #CJK UNIFIED IDEOGRAPH
+  {0xE09F, 0x71F9}, //5077 #CJK UNIFIED IDEOGRAPH
+  {0xE0A0, 0x71FF}, //5078 #CJK UNIFIED IDEOGRAPH
+  {0xE0A1, 0x720D}, //5079 #CJK UNIFIED IDEOGRAPH
+  {0xE0A2, 0x7210}, //5080 #CJK UNIFIED IDEOGRAPH
+  {0xE0A3, 0x721B}, //5081 #CJK UNIFIED IDEOGRAPH
+  {0xE0A4, 0x7228}, //5082 #CJK UNIFIED IDEOGRAPH
+  {0xE0A5, 0x722D}, //5083 #CJK UNIFIED IDEOGRAPH
+  {0xE0A6, 0x722C}, //5084 #CJK UNIFIED IDEOGRAPH
+  {0xE0A7, 0x7230}, //5085 #CJK UNIFIED IDEOGRAPH
+  {0xE0A8, 0x7232}, //5086 #CJK UNIFIED IDEOGRAPH
+  {0xE0A9, 0x723B}, //5087 #CJK UNIFIED IDEOGRAPH
+  {0xE0AA, 0x723C}, //5088 #CJK UNIFIED IDEOGRAPH
+  {0xE0AB, 0x723F}, //5089 #CJK UNIFIED IDEOGRAPH
+  {0xE0AC, 0x7240}, //5090 #CJK UNIFIED IDEOGRAPH
+  {0xE0AD, 0x7246}, //5091 #CJK UNIFIED IDEOGRAPH
+  {0xE0AE, 0x724B}, //5092 #CJK UNIFIED IDEOGRAPH
+  {0xE0AF, 0x7258}, //5093 #CJK UNIFIED IDEOGRAPH
+  {0xE0B0, 0x7274}, //5094 #CJK UNIFIED IDEOGRAPH
+  {0xE0B1, 0x727E}, //5095 #CJK UNIFIED IDEOGRAPH
+  {0xE0B2, 0x7282}, //5096 #CJK UNIFIED IDEOGRAPH
+  {0xE0B3, 0x7281}, //5097 #CJK UNIFIED IDEOGRAPH
+  {0xE0B4, 0x7287}, //5098 #CJK UNIFIED IDEOGRAPH
+  {0xE0B5, 0x7292}, //5099 #CJK UNIFIED IDEOGRAPH
+  {0xE0B6, 0x7296}, //5100 #CJK UNIFIED IDEOGRAPH
+  {0xE0B7, 0x72A2}, //5101 #CJK UNIFIED IDEOGRAPH
+  {0xE0B8, 0x72A7}, //5102 #CJK UNIFIED IDEOGRAPH
+  {0xE0B9, 0x72B9}, //5103 #CJK UNIFIED IDEOGRAPH
+  {0xE0BA, 0x72B2}, //5104 #CJK UNIFIED IDEOGRAPH
+  {0xE0BB, 0x72C3}, //5105 #CJK UNIFIED IDEOGRAPH
+  {0xE0BC, 0x72C6}, //5106 #CJK UNIFIED IDEOGRAPH
+  {0xE0BD, 0x72C4}, //5107 #CJK UNIFIED IDEOGRAPH
+  {0xE0BE, 0x72CE}, //5108 #CJK UNIFIED IDEOGRAPH
+  {0xE0BF, 0x72D2}, //5109 #CJK UNIFIED IDEOGRAPH
+  {0xE0C0, 0x72E2}, //5110 #CJK UNIFIED IDEOGRAPH
+  {0xE0C1, 0x72E0}, //5111 #CJK UNIFIED IDEOGRAPH
+  {0xE0C2, 0x72E1}, //5112 #CJK UNIFIED IDEOGRAPH
+  {0xE0C3, 0x72F9}, //5113 #CJK UNIFIED IDEOGRAPH
+  {0xE0C4, 0x72F7}, //5114 #CJK UNIFIED IDEOGRAPH
+  {0xE0C5, 0x500F}, //5115 #CJK UNIFIED IDEOGRAPH
+  {0xE0C6, 0x7317}, //5116 #CJK UNIFIED IDEOGRAPH
+  {0xE0C7, 0x730A}, //5117 #CJK UNIFIED IDEOGRAPH
+  {0xE0C8, 0x731C}, //5118 #CJK UNIFIED IDEOGRAPH
+  {0xE0C9, 0x7316}, //5119 #CJK UNIFIED IDEOGRAPH
+  {0xE0CA, 0x731D}, //5120 #CJK UNIFIED IDEOGRAPH
+  {0xE0CB, 0x7334}, //5121 #CJK UNIFIED IDEOGRAPH
+  {0xE0CC, 0x732F}, //5122 #CJK UNIFIED IDEOGRAPH
+  {0xE0CD, 0x7329}, //5123 #CJK UNIFIED IDEOGRAPH
+  {0xE0CE, 0x7325}, //5124 #CJK UNIFIED IDEOGRAPH
+  {0xE0CF, 0x733E}, //5125 #CJK UNIFIED IDEOGRAPH
+  {0xE0D0, 0x734E}, //5126 #CJK UNIFIED IDEOGRAPH
+  {0xE0D1, 0x734F}, //5127 #CJK UNIFIED IDEOGRAPH
+  {0xE0D2, 0x9ED8}, //5128 #CJK UNIFIED IDEOGRAPH
+  {0xE0D3, 0x7357}, //5129 #CJK UNIFIED IDEOGRAPH
+  {0xE0D4, 0x736A}, //5130 #CJK UNIFIED IDEOGRAPH
+  {0xE0D5, 0x7368}, //5131 #CJK UNIFIED IDEOGRAPH
+  {0xE0D6, 0x7370}, //5132 #CJK UNIFIED IDEOGRAPH
+  {0xE0D7, 0x7378}, //5133 #CJK UNIFIED IDEOGRAPH
+  {0xE0D8, 0x7375}, //5134 #CJK UNIFIED IDEOGRAPH
+  {0xE0D9, 0x737B}, //5135 #CJK UNIFIED IDEOGRAPH
+  {0xE0DA, 0x737A}, //5136 #CJK UNIFIED IDEOGRAPH
+  {0xE0DB, 0x73C8}, //5137 #CJK UNIFIED IDEOGRAPH
+  {0xE0DC, 0x73B3}, //5138 #CJK UNIFIED IDEOGRAPH
+  {0xE0DD, 0x73CE}, //5139 #CJK UNIFIED IDEOGRAPH
+  {0xE0DE, 0x73BB}, //5140 #CJK UNIFIED IDEOGRAPH
+  {0xE0DF, 0x73C0}, //5141 #CJK UNIFIED IDEOGRAPH
+  {0xE0E0, 0x73E5}, //5142 #CJK UNIFIED IDEOGRAPH
+  {0xE0E1, 0x73EE}, //5143 #CJK UNIFIED IDEOGRAPH
+  {0xE0E2, 0x73DE}, //5144 #CJK UNIFIED IDEOGRAPH
+  {0xE0E3, 0x74A2}, //5145 #CJK UNIFIED IDEOGRAPH
+  {0xE0E4, 0x7405}, //5146 #CJK UNIFIED IDEOGRAPH
+  {0xE0E5, 0x746F}, //5147 #CJK UNIFIED IDEOGRAPH
+  {0xE0E6, 0x7425}, //5148 #CJK UNIFIED IDEOGRAPH
+  {0xE0E7, 0x73F8}, //5149 #CJK UNIFIED IDEOGRAPH
+  {0xE0E8, 0x7432}, //5150 #CJK UNIFIED IDEOGRAPH
+  {0xE0E9, 0x743A}, //5151 #CJK UNIFIED IDEOGRAPH
+  {0xE0EA, 0x7455}, //5152 #CJK UNIFIED IDEOGRAPH
+  {0xE0EB, 0x743F}, //5153 #CJK UNIFIED IDEOGRAPH
+  {0xE0EC, 0x745F}, //5154 #CJK UNIFIED IDEOGRAPH
+  {0xE0ED, 0x7459}, //5155 #CJK UNIFIED IDEOGRAPH
+  {0xE0EE, 0x7441}, //5156 #CJK UNIFIED IDEOGRAPH
+  {0xE0EF, 0x745C}, //5157 #CJK UNIFIED IDEOGRAPH
+  {0xE0F0, 0x7469}, //5158 #CJK UNIFIED IDEOGRAPH
+  {0xE0F1, 0x7470}, //5159 #CJK UNIFIED IDEOGRAPH
+  {0xE0F2, 0x7463}, //5160 #CJK UNIFIED IDEOGRAPH
+  {0xE0F3, 0x746A}, //5161 #CJK UNIFIED IDEOGRAPH
+  {0xE0F4, 0x7476}, //5162 #CJK UNIFIED IDEOGRAPH
+  {0xE0F5, 0x747E}, //5163 #CJK UNIFIED IDEOGRAPH
+  {0xE0F6, 0x748B}, //5164 #CJK UNIFIED IDEOGRAPH
+  {0xE0F7, 0x749E}, //5165 #CJK UNIFIED IDEOGRAPH
+  {0xE0F8, 0x74A7}, //5166 #CJK UNIFIED IDEOGRAPH
+  {0xE0F9, 0x74CA}, //5167 #CJK UNIFIED IDEOGRAPH
+  {0xE0FA, 0x74CF}, //5168 #CJK UNIFIED IDEOGRAPH
+  {0xE0FB, 0x74D4}, //5169 #CJK UNIFIED IDEOGRAPH
+  {0xE0FC, 0x73F1}, //5170 #CJK UNIFIED IDEOGRAPH
+  {0xE140, 0x74E0}, //5171 #CJK UNIFIED IDEOGRAPH
+  {0xE141, 0x74E3}, //5172 #CJK UNIFIED IDEOGRAPH
+  {0xE142, 0x74E7}, //5173 #CJK UNIFIED IDEOGRAPH
+  {0xE143, 0x74E9}, //5174 #CJK UNIFIED IDEOGRAPH
+  {0xE144, 0x74EE}, //5175 #CJK UNIFIED IDEOGRAPH
+  {0xE145, 0x74F2}, //5176 #CJK UNIFIED IDEOGRAPH
+  {0xE146, 0x74F0}, //5177 #CJK UNIFIED IDEOGRAPH
+  {0xE147, 0x74F1}, //5178 #CJK UNIFIED IDEOGRAPH
+  {0xE148, 0x74F8}, //5179 #CJK UNIFIED IDEOGRAPH
+  {0xE149, 0x74F7}, //5180 #CJK UNIFIED IDEOGRAPH
+  {0xE14A, 0x7504}, //5181 #CJK UNIFIED IDEOGRAPH
+  {0xE14B, 0x7503}, //5182 #CJK UNIFIED IDEOGRAPH
+  {0xE14C, 0x7505}, //5183 #CJK UNIFIED IDEOGRAPH
+  {0xE14D, 0x750C}, //5184 #CJK UNIFIED IDEOGRAPH
+  {0xE14E, 0x750E}, //5185 #CJK UNIFIED IDEOGRAPH
+  {0xE14F, 0x750D}, //5186 #CJK UNIFIED IDEOGRAPH
+  {0xE150, 0x7515}, //5187 #CJK UNIFIED IDEOGRAPH
+  {0xE151, 0x7513}, //5188 #CJK UNIFIED IDEOGRAPH
+  {0xE152, 0x751E}, //5189 #CJK UNIFIED IDEOGRAPH
+  {0xE153, 0x7526}, //5190 #CJK UNIFIED IDEOGRAPH
+  {0xE154, 0x752C}, //5191 #CJK UNIFIED IDEOGRAPH
+  {0xE155, 0x753C}, //5192 #CJK UNIFIED IDEOGRAPH
+  {0xE156, 0x7544}, //5193 #CJK UNIFIED IDEOGRAPH
+  {0xE157, 0x754D}, //5194 #CJK UNIFIED IDEOGRAPH
+  {0xE158, 0x754A}, //5195 #CJK UNIFIED IDEOGRAPH
+  {0xE159, 0x7549}, //5196 #CJK UNIFIED IDEOGRAPH
+  {0xE15A, 0x755B}, //5197 #CJK UNIFIED IDEOGRAPH
+  {0xE15B, 0x7546}, //5198 #CJK UNIFIED IDEOGRAPH
+  {0xE15C, 0x755A}, //5199 #CJK UNIFIED IDEOGRAPH
+  {0xE15D, 0x7569}, //5200 #CJK UNIFIED IDEOGRAPH
+  {0xE15E, 0x7564}, //5201 #CJK UNIFIED IDEOGRAPH
+  {0xE15F, 0x7567}, //5202 #CJK UNIFIED IDEOGRAPH
+  {0xE160, 0x756B}, //5203 #CJK UNIFIED IDEOGRAPH
+  {0xE161, 0x756D}, //5204 #CJK UNIFIED IDEOGRAPH
+  {0xE162, 0x7578}, //5205 #CJK UNIFIED IDEOGRAPH
+  {0xE163, 0x7576}, //5206 #CJK UNIFIED IDEOGRAPH
+  {0xE164, 0x7586}, //5207 #CJK UNIFIED IDEOGRAPH
+  {0xE165, 0x7587}, //5208 #CJK UNIFIED IDEOGRAPH
+  {0xE166, 0x7574}, //5209 #CJK UNIFIED IDEOGRAPH
+  {0xE167, 0x758A}, //5210 #CJK UNIFIED IDEOGRAPH
+  {0xE168, 0x7589}, //5211 #CJK UNIFIED IDEOGRAPH
+  {0xE169, 0x7582}, //5212 #CJK UNIFIED IDEOGRAPH
+  {0xE16A, 0x7594}, //5213 #CJK UNIFIED IDEOGRAPH
+  {0xE16B, 0x759A}, //5214 #CJK UNIFIED IDEOGRAPH
+  {0xE16C, 0x759D}, //5215 #CJK UNIFIED IDEOGRAPH
+  {0xE16D, 0x75A5}, //5216 #CJK UNIFIED IDEOGRAPH
+  {0xE16E, 0x75A3}, //5217 #CJK UNIFIED IDEOGRAPH
+  {0xE16F, 0x75C2}, //5218 #CJK UNIFIED IDEOGRAPH
+  {0xE170, 0x75B3}, //5219 #CJK UNIFIED IDEOGRAPH
+  {0xE171, 0x75C3}, //5220 #CJK UNIFIED IDEOGRAPH
+  {0xE172, 0x75B5}, //5221 #CJK UNIFIED IDEOGRAPH
+  {0xE173, 0x75BD}, //5222 #CJK UNIFIED IDEOGRAPH
+  {0xE174, 0x75B8}, //5223 #CJK UNIFIED IDEOGRAPH
+  {0xE175, 0x75BC}, //5224 #CJK UNIFIED IDEOGRAPH
+  {0xE176, 0x75B1}, //5225 #CJK UNIFIED IDEOGRAPH
+  {0xE177, 0x75CD}, //5226 #CJK UNIFIED IDEOGRAPH
+  {0xE178, 0x75CA}, //5227 #CJK UNIFIED IDEOGRAPH
+  {0xE179, 0x75D2}, //5228 #CJK UNIFIED IDEOGRAPH
+  {0xE17A, 0x75D9}, //5229 #CJK UNIFIED IDEOGRAPH
+  {0xE17B, 0x75E3}, //5230 #CJK UNIFIED IDEOGRAPH
+  {0xE17C, 0x75DE}, //5231 #CJK UNIFIED IDEOGRAPH
+  {0xE17D, 0x75FE}, //5232 #CJK UNIFIED IDEOGRAPH
+  {0xE17E, 0x75FF}, //5233 #CJK UNIFIED IDEOGRAPH
+  {0xE180, 0x75FC}, //5234 #CJK UNIFIED IDEOGRAPH
+  {0xE181, 0x7601}, //5235 #CJK UNIFIED IDEOGRAPH
+  {0xE182, 0x75F0}, //5236 #CJK UNIFIED IDEOGRAPH
+  {0xE183, 0x75FA}, //5237 #CJK UNIFIED IDEOGRAPH
+  {0xE184, 0x75F2}, //5238 #CJK UNIFIED IDEOGRAPH
+  {0xE185, 0x75F3}, //5239 #CJK UNIFIED IDEOGRAPH
+  {0xE186, 0x760B}, //5240 #CJK UNIFIED IDEOGRAPH
+  {0xE187, 0x760D}, //5241 #CJK UNIFIED IDEOGRAPH
+  {0xE188, 0x7609}, //5242 #CJK UNIFIED IDEOGRAPH
+  {0xE189, 0x761F}, //5243 #CJK UNIFIED IDEOGRAPH
+  {0xE18A, 0x7627}, //5244 #CJK UNIFIED IDEOGRAPH
+  {0xE18B, 0x7620}, //5245 #CJK UNIFIED IDEOGRAPH
+  {0xE18C, 0x7621}, //5246 #CJK UNIFIED IDEOGRAPH
+  {0xE18D, 0x7622}, //5247 #CJK UNIFIED IDEOGRAPH
+  {0xE18E, 0x7624}, //5248 #CJK UNIFIED IDEOGRAPH
+  {0xE18F, 0x7634}, //5249 #CJK UNIFIED IDEOGRAPH
+  {0xE190, 0x7630}, //5250 #CJK UNIFIED IDEOGRAPH
+  {0xE191, 0x763B}, //5251 #CJK UNIFIED IDEOGRAPH
+  {0xE192, 0x7647}, //5252 #CJK UNIFIED IDEOGRAPH
+  {0xE193, 0x7648}, //5253 #CJK UNIFIED IDEOGRAPH
+  {0xE194, 0x7646}, //5254 #CJK UNIFIED IDEOGRAPH
+  {0xE195, 0x765C}, //5255 #CJK UNIFIED IDEOGRAPH
+  {0xE196, 0x7658}, //5256 #CJK UNIFIED IDEOGRAPH
+  {0xE197, 0x7661}, //5257 #CJK UNIFIED IDEOGRAPH
+  {0xE198, 0x7662}, //5258 #CJK UNIFIED IDEOGRAPH
+  {0xE199, 0x7668}, //5259 #CJK UNIFIED IDEOGRAPH
+  {0xE19A, 0x7669}, //5260 #CJK UNIFIED IDEOGRAPH
+  {0xE19B, 0x766A}, //5261 #CJK UNIFIED IDEOGRAPH
+  {0xE19C, 0x7667}, //5262 #CJK UNIFIED IDEOGRAPH
+  {0xE19D, 0x766C}, //5263 #CJK UNIFIED IDEOGRAPH
+  {0xE19E, 0x7670}, //5264 #CJK UNIFIED IDEOGRAPH
+  {0xE19F, 0x7672}, //5265 #CJK UNIFIED IDEOGRAPH
+  {0xE1A0, 0x7676}, //5266 #CJK UNIFIED IDEOGRAPH
+  {0xE1A1, 0x7678}, //5267 #CJK UNIFIED IDEOGRAPH
+  {0xE1A2, 0x767C}, //5268 #CJK UNIFIED IDEOGRAPH
+  {0xE1A3, 0x7680}, //5269 #CJK UNIFIED IDEOGRAPH
+  {0xE1A4, 0x7683}, //5270 #CJK UNIFIED IDEOGRAPH
+  {0xE1A5, 0x7688}, //5271 #CJK UNIFIED IDEOGRAPH
+  {0xE1A6, 0x768B}, //5272 #CJK UNIFIED IDEOGRAPH
+  {0xE1A7, 0x768E}, //5273 #CJK UNIFIED IDEOGRAPH
+  {0xE1A8, 0x7696}, //5274 #CJK UNIFIED IDEOGRAPH
+  {0xE1A9, 0x7693}, //5275 #CJK UNIFIED IDEOGRAPH
+  {0xE1AA, 0x7699}, //5276 #CJK UNIFIED IDEOGRAPH
+  {0xE1AB, 0x769A}, //5277 #CJK UNIFIED IDEOGRAPH
+  {0xE1AC, 0x76B0}, //5278 #CJK UNIFIED IDEOGRAPH
+  {0xE1AD, 0x76B4}, //5279 #CJK UNIFIED IDEOGRAPH
+  {0xE1AE, 0x76B8}, //5280 #CJK UNIFIED IDEOGRAPH
+  {0xE1AF, 0x76B9}, //5281 #CJK UNIFIED IDEOGRAPH
+  {0xE1B0, 0x76BA}, //5282 #CJK UNIFIED IDEOGRAPH
+  {0xE1B1, 0x76C2}, //5283 #CJK UNIFIED IDEOGRAPH
+  {0xE1B2, 0x76CD}, //5284 #CJK UNIFIED IDEOGRAPH
+  {0xE1B3, 0x76D6}, //5285 #CJK UNIFIED IDEOGRAPH
+  {0xE1B4, 0x76D2}, //5286 #CJK UNIFIED IDEOGRAPH
+  {0xE1B5, 0x76DE}, //5287 #CJK UNIFIED IDEOGRAPH
+  {0xE1B6, 0x76E1}, //5288 #CJK UNIFIED IDEOGRAPH
+  {0xE1B7, 0x76E5}, //5289 #CJK UNIFIED IDEOGRAPH
+  {0xE1B8, 0x76E7}, //5290 #CJK UNIFIED IDEOGRAPH
+  {0xE1B9, 0x76EA}, //5291 #CJK UNIFIED IDEOGRAPH
+  {0xE1BA, 0x862F}, //5292 #CJK UNIFIED IDEOGRAPH
+  {0xE1BB, 0x76FB}, //5293 #CJK UNIFIED IDEOGRAPH
+  {0xE1BC, 0x7708}, //5294 #CJK UNIFIED IDEOGRAPH
+  {0xE1BD, 0x7707}, //5295 #CJK UNIFIED IDEOGRAPH
+  {0xE1BE, 0x7704}, //5296 #CJK UNIFIED IDEOGRAPH
+  {0xE1BF, 0x7729}, //5297 #CJK UNIFIED IDEOGRAPH
+  {0xE1C0, 0x7724}, //5298 #CJK UNIFIED IDEOGRAPH
+  {0xE1C1, 0x771E}, //5299 #CJK UNIFIED IDEOGRAPH
+  {0xE1C2, 0x7725}, //5300 #CJK UNIFIED IDEOGRAPH
+  {0xE1C3, 0x7726}, //5301 #CJK UNIFIED IDEOGRAPH
+  {0xE1C4, 0x771B}, //5302 #CJK UNIFIED IDEOGRAPH
+  {0xE1C5, 0x7737}, //5303 #CJK UNIFIED IDEOGRAPH
+  {0xE1C6, 0x7738}, //5304 #CJK UNIFIED IDEOGRAPH
+  {0xE1C7, 0x7747}, //5305 #CJK UNIFIED IDEOGRAPH
+  {0xE1C8, 0x775A}, //5306 #CJK UNIFIED IDEOGRAPH
+  {0xE1C9, 0x7768}, //5307 #CJK UNIFIED IDEOGRAPH
+  {0xE1CA, 0x776B}, //5308 #CJK UNIFIED IDEOGRAPH
+  {0xE1CB, 0x775B}, //5309 #CJK UNIFIED IDEOGRAPH
+  {0xE1CC, 0x7765}, //5310 #CJK UNIFIED IDEOGRAPH
+  {0xE1CD, 0x777F}, //5311 #CJK UNIFIED IDEOGRAPH
+  {0xE1CE, 0x777E}, //5312 #CJK UNIFIED IDEOGRAPH
+  {0xE1CF, 0x7779}, //5313 #CJK UNIFIED IDEOGRAPH
+  {0xE1D0, 0x778E}, //5314 #CJK UNIFIED IDEOGRAPH
+  {0xE1D1, 0x778B}, //5315 #CJK UNIFIED IDEOGRAPH
+  {0xE1D2, 0x7791}, //5316 #CJK UNIFIED IDEOGRAPH
+  {0xE1D3, 0x77A0}, //5317 #CJK UNIFIED IDEOGRAPH
+  {0xE1D4, 0x779E}, //5318 #CJK UNIFIED IDEOGRAPH
+  {0xE1D5, 0x77B0}, //5319 #CJK UNIFIED IDEOGRAPH
+  {0xE1D6, 0x77B6}, //5320 #CJK UNIFIED IDEOGRAPH
+  {0xE1D7, 0x77B9}, //5321 #CJK UNIFIED IDEOGRAPH
+  {0xE1D8, 0x77BF}, //5322 #CJK UNIFIED IDEOGRAPH
+  {0xE1D9, 0x77BC}, //5323 #CJK UNIFIED IDEOGRAPH
+  {0xE1DA, 0x77BD}, //5324 #CJK UNIFIED IDEOGRAPH
+  {0xE1DB, 0x77BB}, //5325 #CJK UNIFIED IDEOGRAPH
+  {0xE1DC, 0x77C7}, //5326 #CJK UNIFIED IDEOGRAPH
+  {0xE1DD, 0x77CD}, //5327 #CJK UNIFIED IDEOGRAPH
+  {0xE1DE, 0x77D7}, //5328 #CJK UNIFIED IDEOGRAPH
+  {0xE1DF, 0x77DA}, //5329 #CJK UNIFIED IDEOGRAPH
+  {0xE1E0, 0x77DC}, //5330 #CJK UNIFIED IDEOGRAPH
+  {0xE1E1, 0x77E3}, //5331 #CJK UNIFIED IDEOGRAPH
+  {0xE1E2, 0x77EE}, //5332 #CJK UNIFIED IDEOGRAPH
+  {0xE1E3, 0x77FC}, //5333 #CJK UNIFIED IDEOGRAPH
+  {0xE1E4, 0x780C}, //5334 #CJK UNIFIED IDEOGRAPH
+  {0xE1E5, 0x7812}, //5335 #CJK UNIFIED IDEOGRAPH
+  {0xE1E6, 0x7926}, //5336 #CJK UNIFIED IDEOGRAPH
+  {0xE1E7, 0x7820}, //5337 #CJK UNIFIED IDEOGRAPH
+  {0xE1E8, 0x792A}, //5338 #CJK UNIFIED IDEOGRAPH
+  {0xE1E9, 0x7845}, //5339 #CJK UNIFIED IDEOGRAPH
+  {0xE1EA, 0x788E}, //5340 #CJK UNIFIED IDEOGRAPH
+  {0xE1EB, 0x7874}, //5341 #CJK UNIFIED IDEOGRAPH
+  {0xE1EC, 0x7886}, //5342 #CJK UNIFIED IDEOGRAPH
+  {0xE1ED, 0x787C}, //5343 #CJK UNIFIED IDEOGRAPH
+  {0xE1EE, 0x789A}, //5344 #CJK UNIFIED IDEOGRAPH
+  {0xE1EF, 0x788C}, //5345 #CJK UNIFIED IDEOGRAPH
+  {0xE1F0, 0x78A3}, //5346 #CJK UNIFIED IDEOGRAPH
+  {0xE1F1, 0x78B5}, //5347 #CJK UNIFIED IDEOGRAPH
+  {0xE1F2, 0x78AA}, //5348 #CJK UNIFIED IDEOGRAPH
+  {0xE1F3, 0x78AF}, //5349 #CJK UNIFIED IDEOGRAPH
+  {0xE1F4, 0x78D1}, //5350 #CJK UNIFIED IDEOGRAPH
+  {0xE1F5, 0x78C6}, //5351 #CJK UNIFIED IDEOGRAPH
+  {0xE1F6, 0x78CB}, //5352 #CJK UNIFIED IDEOGRAPH
+  {0xE1F7, 0x78D4}, //5353 #CJK UNIFIED IDEOGRAPH
+  {0xE1F8, 0x78BE}, //5354 #CJK UNIFIED IDEOGRAPH
+  {0xE1F9, 0x78BC}, //5355 #CJK UNIFIED IDEOGRAPH
+  {0xE1FA, 0x78C5}, //5356 #CJK UNIFIED IDEOGRAPH
+  {0xE1FB, 0x78CA}, //5357 #CJK UNIFIED IDEOGRAPH
+  {0xE1FC, 0x78EC}, //5358 #CJK UNIFIED IDEOGRAPH
+  {0xE240, 0x78E7}, //5359 #CJK UNIFIED IDEOGRAPH
+  {0xE241, 0x78DA}, //5360 #CJK UNIFIED IDEOGRAPH
+  {0xE242, 0x78FD}, //5361 #CJK UNIFIED IDEOGRAPH
+  {0xE243, 0x78F4}, //5362 #CJK UNIFIED IDEOGRAPH
+  {0xE244, 0x7907}, //5363 #CJK UNIFIED IDEOGRAPH
+  {0xE245, 0x7912}, //5364 #CJK UNIFIED IDEOGRAPH
+  {0xE246, 0x7911}, //5365 #CJK UNIFIED IDEOGRAPH
+  {0xE247, 0x7919}, //5366 #CJK UNIFIED IDEOGRAPH
+  {0xE248, 0x792C}, //5367 #CJK UNIFIED IDEOGRAPH
+  {0xE249, 0x792B}, //5368 #CJK UNIFIED IDEOGRAPH
+  {0xE24A, 0x7940}, //5369 #CJK UNIFIED IDEOGRAPH
+  {0xE24B, 0x7960}, //5370 #CJK UNIFIED IDEOGRAPH
+  {0xE24C, 0x7957}, //5371 #CJK UNIFIED IDEOGRAPH
+  {0xE24D, 0x795F}, //5372 #CJK UNIFIED IDEOGRAPH
+  {0xE24E, 0x795A}, //5373 #CJK UNIFIED IDEOGRAPH
+  {0xE24F, 0x7955}, //5374 #CJK UNIFIED IDEOGRAPH
+  {0xE250, 0x7953}, //5375 #CJK UNIFIED IDEOGRAPH
+  {0xE251, 0x797A}, //5376 #CJK UNIFIED IDEOGRAPH
+  {0xE252, 0x797F}, //5377 #CJK UNIFIED IDEOGRAPH
+  {0xE253, 0x798A}, //5378 #CJK UNIFIED IDEOGRAPH
+  {0xE254, 0x799D}, //5379 #CJK UNIFIED IDEOGRAPH
+  {0xE255, 0x79A7}, //5380 #CJK UNIFIED IDEOGRAPH
+  {0xE256, 0x9F4B}, //5381 #CJK UNIFIED IDEOGRAPH
+  {0xE257, 0x79AA}, //5382 #CJK UNIFIED IDEOGRAPH
+  {0xE258, 0x79AE}, //5383 #CJK UNIFIED IDEOGRAPH
+  {0xE259, 0x79B3}, //5384 #CJK UNIFIED IDEOGRAPH
+  {0xE25A, 0x79B9}, //5385 #CJK UNIFIED IDEOGRAPH
+  {0xE25B, 0x79BA}, //5386 #CJK UNIFIED IDEOGRAPH
+  {0xE25C, 0x79C9}, //5387 #CJK UNIFIED IDEOGRAPH
+  {0xE25D, 0x79D5}, //5388 #CJK UNIFIED IDEOGRAPH
+  {0xE25E, 0x79E7}, //5389 #CJK UNIFIED IDEOGRAPH
+  {0xE25F, 0x79EC}, //5390 #CJK UNIFIED IDEOGRAPH
+  {0xE260, 0x79E1}, //5391 #CJK UNIFIED IDEOGRAPH
+  {0xE261, 0x79E3}, //5392 #CJK UNIFIED IDEOGRAPH
+  {0xE262, 0x7A08}, //5393 #CJK UNIFIED IDEOGRAPH
+  {0xE263, 0x7A0D}, //5394 #CJK UNIFIED IDEOGRAPH
+  {0xE264, 0x7A18}, //5395 #CJK UNIFIED IDEOGRAPH
+  {0xE265, 0x7A19}, //5396 #CJK UNIFIED IDEOGRAPH
+  {0xE266, 0x7A20}, //5397 #CJK UNIFIED IDEOGRAPH
+  {0xE267, 0x7A1F}, //5398 #CJK UNIFIED IDEOGRAPH
+  {0xE268, 0x7980}, //5399 #CJK UNIFIED IDEOGRAPH
+  {0xE269, 0x7A31}, //5400 #CJK UNIFIED IDEOGRAPH
+  {0xE26A, 0x7A3B}, //5401 #CJK UNIFIED IDEOGRAPH
+  {0xE26B, 0x7A3E}, //5402 #CJK UNIFIED IDEOGRAPH
+  {0xE26C, 0x7A37}, //5403 #CJK UNIFIED IDEOGRAPH
+  {0xE26D, 0x7A43}, //5404 #CJK UNIFIED IDEOGRAPH
+  {0xE26E, 0x7A57}, //5405 #CJK UNIFIED IDEOGRAPH
+  {0xE26F, 0x7A49}, //5406 #CJK UNIFIED IDEOGRAPH
+  {0xE270, 0x7A61}, //5407 #CJK UNIFIED IDEOGRAPH
+  {0xE271, 0x7A62}, //5408 #CJK UNIFIED IDEOGRAPH
+  {0xE272, 0x7A69}, //5409 #CJK UNIFIED IDEOGRAPH
+  {0xE273, 0x9F9D}, //5410 #CJK UNIFIED IDEOGRAPH
+  {0xE274, 0x7A70}, //5411 #CJK UNIFIED IDEOGRAPH
+  {0xE275, 0x7A79}, //5412 #CJK UNIFIED IDEOGRAPH
+  {0xE276, 0x7A7D}, //5413 #CJK UNIFIED IDEOGRAPH
+  {0xE277, 0x7A88}, //5414 #CJK UNIFIED IDEOGRAPH
+  {0xE278, 0x7A97}, //5415 #CJK UNIFIED IDEOGRAPH
+  {0xE279, 0x7A95}, //5416 #CJK UNIFIED IDEOGRAPH
+  {0xE27A, 0x7A98}, //5417 #CJK UNIFIED IDEOGRAPH
+  {0xE27B, 0x7A96}, //5418 #CJK UNIFIED IDEOGRAPH
+  {0xE27C, 0x7AA9}, //5419 #CJK UNIFIED IDEOGRAPH
+  {0xE27D, 0x7AC8}, //5420 #CJK UNIFIED IDEOGRAPH
+  {0xE27E, 0x7AB0}, //5421 #CJK UNIFIED IDEOGRAPH
+  {0xE280, 0x7AB6}, //5422 #CJK UNIFIED IDEOGRAPH
+  {0xE281, 0x7AC5}, //5423 #CJK UNIFIED IDEOGRAPH
+  {0xE282, 0x7AC4}, //5424 #CJK UNIFIED IDEOGRAPH
+  {0xE283, 0x7ABF}, //5425 #CJK UNIFIED IDEOGRAPH
+  {0xE284, 0x9083}, //5426 #CJK UNIFIED IDEOGRAPH
+  {0xE285, 0x7AC7}, //5427 #CJK UNIFIED IDEOGRAPH
+  {0xE286, 0x7ACA}, //5428 #CJK UNIFIED IDEOGRAPH
+  {0xE287, 0x7ACD}, //5429 #CJK UNIFIED IDEOGRAPH
+  {0xE288, 0x7ACF}, //5430 #CJK UNIFIED IDEOGRAPH
+  {0xE289, 0x7AD5}, //5431 #CJK UNIFIED IDEOGRAPH
+  {0xE28A, 0x7AD3}, //5432 #CJK UNIFIED IDEOGRAPH
+  {0xE28B, 0x7AD9}, //5433 #CJK UNIFIED IDEOGRAPH
+  {0xE28C, 0x7ADA}, //5434 #CJK UNIFIED IDEOGRAPH
+  {0xE28D, 0x7ADD}, //5435 #CJK UNIFIED IDEOGRAPH
+  {0xE28E, 0x7AE1}, //5436 #CJK UNIFIED IDEOGRAPH
+  {0xE28F, 0x7AE2}, //5437 #CJK UNIFIED IDEOGRAPH
+  {0xE290, 0x7AE6}, //5438 #CJK UNIFIED IDEOGRAPH
+  {0xE291, 0x7AED}, //5439 #CJK UNIFIED IDEOGRAPH
+  {0xE292, 0x7AF0}, //5440 #CJK UNIFIED IDEOGRAPH
+  {0xE293, 0x7B02}, //5441 #CJK UNIFIED IDEOGRAPH
+  {0xE294, 0x7B0F}, //5442 #CJK UNIFIED IDEOGRAPH
+  {0xE295, 0x7B0A}, //5443 #CJK UNIFIED IDEOGRAPH
+  {0xE296, 0x7B06}, //5444 #CJK UNIFIED IDEOGRAPH
+  {0xE297, 0x7B33}, //5445 #CJK UNIFIED IDEOGRAPH
+  {0xE298, 0x7B18}, //5446 #CJK UNIFIED IDEOGRAPH
+  {0xE299, 0x7B19}, //5447 #CJK UNIFIED IDEOGRAPH
+  {0xE29A, 0x7B1E}, //5448 #CJK UNIFIED IDEOGRAPH
+  {0xE29B, 0x7B35}, //5449 #CJK UNIFIED IDEOGRAPH
+  {0xE29C, 0x7B28}, //5450 #CJK UNIFIED IDEOGRAPH
+  {0xE29D, 0x7B36}, //5451 #CJK UNIFIED IDEOGRAPH
+  {0xE29E, 0x7B50}, //5452 #CJK UNIFIED IDEOGRAPH
+  {0xE29F, 0x7B7A}, //5453 #CJK UNIFIED IDEOGRAPH
+  {0xE2A0, 0x7B04}, //5454 #CJK UNIFIED IDEOGRAPH
+  {0xE2A1, 0x7B4D}, //5455 #CJK UNIFIED IDEOGRAPH
+  {0xE2A2, 0x7B0B}, //5456 #CJK UNIFIED IDEOGRAPH
+  {0xE2A3, 0x7B4C}, //5457 #CJK UNIFIED IDEOGRAPH
+  {0xE2A4, 0x7B45}, //5458 #CJK UNIFIED IDEOGRAPH
+  {0xE2A5, 0x7B75}, //5459 #CJK UNIFIED IDEOGRAPH
+  {0xE2A6, 0x7B65}, //5460 #CJK UNIFIED IDEOGRAPH
+  {0xE2A7, 0x7B74}, //5461 #CJK UNIFIED IDEOGRAPH
+  {0xE2A8, 0x7B67}, //5462 #CJK UNIFIED IDEOGRAPH
+  {0xE2A9, 0x7B70}, //5463 #CJK UNIFIED IDEOGRAPH
+  {0xE2AA, 0x7B71}, //5464 #CJK UNIFIED IDEOGRAPH
+  {0xE2AB, 0x7B6C}, //5465 #CJK UNIFIED IDEOGRAPH
+  {0xE2AC, 0x7B6E}, //5466 #CJK UNIFIED IDEOGRAPH
+  {0xE2AD, 0x7B9D}, //5467 #CJK UNIFIED IDEOGRAPH
+  {0xE2AE, 0x7B98}, //5468 #CJK UNIFIED IDEOGRAPH
+  {0xE2AF, 0x7B9F}, //5469 #CJK UNIFIED IDEOGRAPH
+  {0xE2B0, 0x7B8D}, //5470 #CJK UNIFIED IDEOGRAPH
+  {0xE2B1, 0x7B9C}, //5471 #CJK UNIFIED IDEOGRAPH
+  {0xE2B2, 0x7B9A}, //5472 #CJK UNIFIED IDEOGRAPH
+  {0xE2B3, 0x7B8B}, //5473 #CJK UNIFIED IDEOGRAPH
+  {0xE2B4, 0x7B92}, //5474 #CJK UNIFIED IDEOGRAPH
+  {0xE2B5, 0x7B8F}, //5475 #CJK UNIFIED IDEOGRAPH
+  {0xE2B6, 0x7B5D}, //5476 #CJK UNIFIED IDEOGRAPH
+  {0xE2B7, 0x7B99}, //5477 #CJK UNIFIED IDEOGRAPH
+  {0xE2B8, 0x7BCB}, //5478 #CJK UNIFIED IDEOGRAPH
+  {0xE2B9, 0x7BC1}, //5479 #CJK UNIFIED IDEOGRAPH
+  {0xE2BA, 0x7BCC}, //5480 #CJK UNIFIED IDEOGRAPH
+  {0xE2BB, 0x7BCF}, //5481 #CJK UNIFIED IDEOGRAPH
+  {0xE2BC, 0x7BB4}, //5482 #CJK UNIFIED IDEOGRAPH
+  {0xE2BD, 0x7BC6}, //5483 #CJK UNIFIED IDEOGRAPH
+  {0xE2BE, 0x7BDD}, //5484 #CJK UNIFIED IDEOGRAPH
+  {0xE2BF, 0x7BE9}, //5485 #CJK UNIFIED IDEOGRAPH
+  {0xE2C0, 0x7C11}, //5486 #CJK UNIFIED IDEOGRAPH
+  {0xE2C1, 0x7C14}, //5487 #CJK UNIFIED IDEOGRAPH
+  {0xE2C2, 0x7BE6}, //5488 #CJK UNIFIED IDEOGRAPH
+  {0xE2C3, 0x7BE5}, //5489 #CJK UNIFIED IDEOGRAPH
+  {0xE2C4, 0x7C60}, //5490 #CJK UNIFIED IDEOGRAPH
+  {0xE2C5, 0x7C00}, //5491 #CJK UNIFIED IDEOGRAPH
+  {0xE2C6, 0x7C07}, //5492 #CJK UNIFIED IDEOGRAPH
+  {0xE2C7, 0x7C13}, //5493 #CJK UNIFIED IDEOGRAPH
+  {0xE2C8, 0x7BF3}, //5494 #CJK UNIFIED IDEOGRAPH
+  {0xE2C9, 0x7BF7}, //5495 #CJK UNIFIED IDEOGRAPH
+  {0xE2CA, 0x7C17}, //5496 #CJK UNIFIED IDEOGRAPH
+  {0xE2CB, 0x7C0D}, //5497 #CJK UNIFIED IDEOGRAPH
+  {0xE2CC, 0x7BF6}, //5498 #CJK UNIFIED IDEOGRAPH
+  {0xE2CD, 0x7C23}, //5499 #CJK UNIFIED IDEOGRAPH
+  {0xE2CE, 0x7C27}, //5500 #CJK UNIFIED IDEOGRAPH
+  {0xE2CF, 0x7C2A}, //5501 #CJK UNIFIED IDEOGRAPH
+  {0xE2D0, 0x7C1F}, //5502 #CJK UNIFIED IDEOGRAPH
+  {0xE2D1, 0x7C37}, //5503 #CJK UNIFIED IDEOGRAPH
+  {0xE2D2, 0x7C2B}, //5504 #CJK UNIFIED IDEOGRAPH
+  {0xE2D3, 0x7C3D}, //5505 #CJK UNIFIED IDEOGRAPH
+  {0xE2D4, 0x7C4C}, //5506 #CJK UNIFIED IDEOGRAPH
+  {0xE2D5, 0x7C43}, //5507 #CJK UNIFIED IDEOGRAPH
+  {0xE2D6, 0x7C54}, //5508 #CJK UNIFIED IDEOGRAPH
+  {0xE2D7, 0x7C4F}, //5509 #CJK UNIFIED IDEOGRAPH
+  {0xE2D8, 0x7C40}, //5510 #CJK UNIFIED IDEOGRAPH
+  {0xE2D9, 0x7C50}, //5511 #CJK UNIFIED IDEOGRAPH
+  {0xE2DA, 0x7C58}, //5512 #CJK UNIFIED IDEOGRAPH
+  {0xE2DB, 0x7C5F}, //5513 #CJK UNIFIED IDEOGRAPH
+  {0xE2DC, 0x7C64}, //5514 #CJK UNIFIED IDEOGRAPH
+  {0xE2DD, 0x7C56}, //5515 #CJK UNIFIED IDEOGRAPH
+  {0xE2DE, 0x7C65}, //5516 #CJK UNIFIED IDEOGRAPH
+  {0xE2DF, 0x7C6C}, //5517 #CJK UNIFIED IDEOGRAPH
+  {0xE2E0, 0x7C75}, //5518 #CJK UNIFIED IDEOGRAPH
+  {0xE2E1, 0x7C83}, //5519 #CJK UNIFIED IDEOGRAPH
+  {0xE2E2, 0x7C90}, //5520 #CJK UNIFIED IDEOGRAPH
+  {0xE2E3, 0x7CA4}, //5521 #CJK UNIFIED IDEOGRAPH
+  {0xE2E4, 0x7CAD}, //5522 #CJK UNIFIED IDEOGRAPH
+  {0xE2E5, 0x7CA2}, //5523 #CJK UNIFIED IDEOGRAPH
+  {0xE2E6, 0x7CAB}, //5524 #CJK UNIFIED IDEOGRAPH
+  {0xE2E7, 0x7CA1}, //5525 #CJK UNIFIED IDEOGRAPH
+  {0xE2E8, 0x7CA8}, //5526 #CJK UNIFIED IDEOGRAPH
+  {0xE2E9, 0x7CB3}, //5527 #CJK UNIFIED IDEOGRAPH
+  {0xE2EA, 0x7CB2}, //5528 #CJK UNIFIED IDEOGRAPH
+  {0xE2EB, 0x7CB1}, //5529 #CJK UNIFIED IDEOGRAPH
+  {0xE2EC, 0x7CAE}, //5530 #CJK UNIFIED IDEOGRAPH
+  {0xE2ED, 0x7CB9}, //5531 #CJK UNIFIED IDEOGRAPH
+  {0xE2EE, 0x7CBD}, //5532 #CJK UNIFIED IDEOGRAPH
+  {0xE2EF, 0x7CC0}, //5533 #CJK UNIFIED IDEOGRAPH
+  {0xE2F0, 0x7CC5}, //5534 #CJK UNIFIED IDEOGRAPH
+  {0xE2F1, 0x7CC2}, //5535 #CJK UNIFIED IDEOGRAPH
+  {0xE2F2, 0x7CD8}, //5536 #CJK UNIFIED IDEOGRAPH
+  {0xE2F3, 0x7CD2}, //5537 #CJK UNIFIED IDEOGRAPH
+  {0xE2F4, 0x7CDC}, //5538 #CJK UNIFIED IDEOGRAPH
+  {0xE2F5, 0x7CE2}, //5539 #CJK UNIFIED IDEOGRAPH
+  {0xE2F6, 0x9B3B}, //5540 #CJK UNIFIED IDEOGRAPH
+  {0xE2F7, 0x7CEF}, //5541 #CJK UNIFIED IDEOGRAPH
+  {0xE2F8, 0x7CF2}, //5542 #CJK UNIFIED IDEOGRAPH
+  {0xE2F9, 0x7CF4}, //5543 #CJK UNIFIED IDEOGRAPH
+  {0xE2FA, 0x7CF6}, //5544 #CJK UNIFIED IDEOGRAPH
+  {0xE2FB, 0x7CFA}, //5545 #CJK UNIFIED IDEOGRAPH
+  {0xE2FC, 0x7D06}, //5546 #CJK UNIFIED IDEOGRAPH
+  {0xE340, 0x7D02}, //5547 #CJK UNIFIED IDEOGRAPH
+  {0xE341, 0x7D1C}, //5548 #CJK UNIFIED IDEOGRAPH
+  {0xE342, 0x7D15}, //5549 #CJK UNIFIED IDEOGRAPH
+  {0xE343, 0x7D0A}, //5550 #CJK UNIFIED IDEOGRAPH
+  {0xE344, 0x7D45}, //5551 #CJK UNIFIED IDEOGRAPH
+  {0xE345, 0x7D4B}, //5552 #CJK UNIFIED IDEOGRAPH
+  {0xE346, 0x7D2E}, //5553 #CJK UNIFIED IDEOGRAPH
+  {0xE347, 0x7D32}, //5554 #CJK UNIFIED IDEOGRAPH
+  {0xE348, 0x7D3F}, //5555 #CJK UNIFIED IDEOGRAPH
+  {0xE349, 0x7D35}, //5556 #CJK UNIFIED IDEOGRAPH
+  {0xE34A, 0x7D46}, //5557 #CJK UNIFIED IDEOGRAPH
+  {0xE34B, 0x7D73}, //5558 #CJK UNIFIED IDEOGRAPH
+  {0xE34C, 0x7D56}, //5559 #CJK UNIFIED IDEOGRAPH
+  {0xE34D, 0x7D4E}, //5560 #CJK UNIFIED IDEOGRAPH
+  {0xE34E, 0x7D72}, //5561 #CJK UNIFIED IDEOGRAPH
+  {0xE34F, 0x7D68}, //5562 #CJK UNIFIED IDEOGRAPH
+  {0xE350, 0x7D6E}, //5563 #CJK UNIFIED IDEOGRAPH
+  {0xE351, 0x7D4F}, //5564 #CJK UNIFIED IDEOGRAPH
+  {0xE352, 0x7D63}, //5565 #CJK UNIFIED IDEOGRAPH
+  {0xE353, 0x7D93}, //5566 #CJK UNIFIED IDEOGRAPH
+  {0xE354, 0x7D89}, //5567 #CJK UNIFIED IDEOGRAPH
+  {0xE355, 0x7D5B}, //5568 #CJK UNIFIED IDEOGRAPH
+  {0xE356, 0x7D8F}, //5569 #CJK UNIFIED IDEOGRAPH
+  {0xE357, 0x7D7D}, //5570 #CJK UNIFIED IDEOGRAPH
+  {0xE358, 0x7D9B}, //5571 #CJK UNIFIED IDEOGRAPH
+  {0xE359, 0x7DBA}, //5572 #CJK UNIFIED IDEOGRAPH
+  {0xE35A, 0x7DAE}, //5573 #CJK UNIFIED IDEOGRAPH
+  {0xE35B, 0x7DA3}, //5574 #CJK UNIFIED IDEOGRAPH
+  {0xE35C, 0x7DB5}, //5575 #CJK UNIFIED IDEOGRAPH
+  {0xE35D, 0x7DC7}, //5576 #CJK UNIFIED IDEOGRAPH
+  {0xE35E, 0x7DBD}, //5577 #CJK UNIFIED IDEOGRAPH
+  {0xE35F, 0x7DAB}, //5578 #CJK UNIFIED IDEOGRAPH
+  {0xE360, 0x7E3D}, //5579 #CJK UNIFIED IDEOGRAPH
+  {0xE361, 0x7DA2}, //5580 #CJK UNIFIED IDEOGRAPH
+  {0xE362, 0x7DAF}, //5581 #CJK UNIFIED IDEOGRAPH
+  {0xE363, 0x7DDC}, //5582 #CJK UNIFIED IDEOGRAPH
+  {0xE364, 0x7DB8}, //5583 #CJK UNIFIED IDEOGRAPH
+  {0xE365, 0x7D9F}, //5584 #CJK UNIFIED IDEOGRAPH
+  {0xE366, 0x7DB0}, //5585 #CJK UNIFIED IDEOGRAPH
+  {0xE367, 0x7DD8}, //5586 #CJK UNIFIED IDEOGRAPH
+  {0xE368, 0x7DDD}, //5587 #CJK UNIFIED IDEOGRAPH
+  {0xE369, 0x7DE4}, //5588 #CJK UNIFIED IDEOGRAPH
+  {0xE36A, 0x7DDE}, //5589 #CJK UNIFIED IDEOGRAPH
+  {0xE36B, 0x7DFB}, //5590 #CJK UNIFIED IDEOGRAPH
+  {0xE36C, 0x7DF2}, //5591 #CJK UNIFIED IDEOGRAPH
+  {0xE36D, 0x7DE1}, //5592 #CJK UNIFIED IDEOGRAPH
+  {0xE36E, 0x7E05}, //5593 #CJK UNIFIED IDEOGRAPH
+  {0xE36F, 0x7E0A}, //5594 #CJK UNIFIED IDEOGRAPH
+  {0xE370, 0x7E23}, //5595 #CJK UNIFIED IDEOGRAPH
+  {0xE371, 0x7E21}, //5596 #CJK UNIFIED IDEOGRAPH
+  {0xE372, 0x7E12}, //5597 #CJK UNIFIED IDEOGRAPH
+  {0xE373, 0x7E31}, //5598 #CJK UNIFIED IDEOGRAPH
+  {0xE374, 0x7E1F}, //5599 #CJK UNIFIED IDEOGRAPH
+  {0xE375, 0x7E09}, //5600 #CJK UNIFIED IDEOGRAPH
+  {0xE376, 0x7E0B}, //5601 #CJK UNIFIED IDEOGRAPH
+  {0xE377, 0x7E22}, //5602 #CJK UNIFIED IDEOGRAPH
+  {0xE378, 0x7E46}, //5603 #CJK UNIFIED IDEOGRAPH
+  {0xE379, 0x7E66}, //5604 #CJK UNIFIED IDEOGRAPH
+  {0xE37A, 0x7E3B}, //5605 #CJK UNIFIED IDEOGRAPH
+  {0xE37B, 0x7E35}, //5606 #CJK UNIFIED IDEOGRAPH
+  {0xE37C, 0x7E39}, //5607 #CJK UNIFIED IDEOGRAPH
+  {0xE37D, 0x7E43}, //5608 #CJK UNIFIED IDEOGRAPH
+  {0xE37E, 0x7E37}, //5609 #CJK UNIFIED IDEOGRAPH
+  {0xE380, 0x7E32}, //5610 #CJK UNIFIED IDEOGRAPH
+  {0xE381, 0x7E3A}, //5611 #CJK UNIFIED IDEOGRAPH
+  {0xE382, 0x7E67}, //5612 #CJK UNIFIED IDEOGRAPH
+  {0xE383, 0x7E5D}, //5613 #CJK UNIFIED IDEOGRAPH
+  {0xE384, 0x7E56}, //5614 #CJK UNIFIED IDEOGRAPH
+  {0xE385, 0x7E5E}, //5615 #CJK UNIFIED IDEOGRAPH
+  {0xE386, 0x7E59}, //5616 #CJK UNIFIED IDEOGRAPH
+  {0xE387, 0x7E5A}, //5617 #CJK UNIFIED IDEOGRAPH
+  {0xE388, 0x7E79}, //5618 #CJK UNIFIED IDEOGRAPH
+  {0xE389, 0x7E6A}, //5619 #CJK UNIFIED IDEOGRAPH
+  {0xE38A, 0x7E69}, //5620 #CJK UNIFIED IDEOGRAPH
+  {0xE38B, 0x7E7C}, //5621 #CJK UNIFIED IDEOGRAPH
+  {0xE38C, 0x7E7B}, //5622 #CJK UNIFIED IDEOGRAPH
+  {0xE38D, 0x7E83}, //5623 #CJK UNIFIED IDEOGRAPH
+  {0xE38E, 0x7DD5}, //5624 #CJK UNIFIED IDEOGRAPH
+  {0xE38F, 0x7E7D}, //5625 #CJK UNIFIED IDEOGRAPH
+  {0xE390, 0x8FAE}, //5626 #CJK UNIFIED IDEOGRAPH
+  {0xE391, 0x7E7F}, //5627 #CJK UNIFIED IDEOGRAPH
+  {0xE392, 0x7E88}, //5628 #CJK UNIFIED IDEOGRAPH
+  {0xE393, 0x7E89}, //5629 #CJK UNIFIED IDEOGRAPH
+  {0xE394, 0x7E8C}, //5630 #CJK UNIFIED IDEOGRAPH
+  {0xE395, 0x7E92}, //5631 #CJK UNIFIED IDEOGRAPH
+  {0xE396, 0x7E90}, //5632 #CJK UNIFIED IDEOGRAPH
+  {0xE397, 0x7E93}, //5633 #CJK UNIFIED IDEOGRAPH
+  {0xE398, 0x7E94}, //5634 #CJK UNIFIED IDEOGRAPH
+  {0xE399, 0x7E96}, //5635 #CJK UNIFIED IDEOGRAPH
+  {0xE39A, 0x7E8E}, //5636 #CJK UNIFIED IDEOGRAPH
+  {0xE39B, 0x7E9B}, //5637 #CJK UNIFIED IDEOGRAPH
+  {0xE39C, 0x7E9C}, //5638 #CJK UNIFIED IDEOGRAPH
+  {0xE39D, 0x7F38}, //5639 #CJK UNIFIED IDEOGRAPH
+  {0xE39E, 0x7F3A}, //5640 #CJK UNIFIED IDEOGRAPH
+  {0xE39F, 0x7F45}, //5641 #CJK UNIFIED IDEOGRAPH
+  {0xE3A0, 0x7F4C}, //5642 #CJK UNIFIED IDEOGRAPH
+  {0xE3A1, 0x7F4D}, //5643 #CJK UNIFIED IDEOGRAPH
+  {0xE3A2, 0x7F4E}, //5644 #CJK UNIFIED IDEOGRAPH
+  {0xE3A3, 0x7F50}, //5645 #CJK UNIFIED IDEOGRAPH
+  {0xE3A4, 0x7F51}, //5646 #CJK UNIFIED IDEOGRAPH
+  {0xE3A5, 0x7F55}, //5647 #CJK UNIFIED IDEOGRAPH
+  {0xE3A6, 0x7F54}, //5648 #CJK UNIFIED IDEOGRAPH
+  {0xE3A7, 0x7F58}, //5649 #CJK UNIFIED IDEOGRAPH
+  {0xE3A8, 0x7F5F}, //5650 #CJK UNIFIED IDEOGRAPH
+  {0xE3A9, 0x7F60}, //5651 #CJK UNIFIED IDEOGRAPH
+  {0xE3AA, 0x7F68}, //5652 #CJK UNIFIED IDEOGRAPH
+  {0xE3AB, 0x7F69}, //5653 #CJK UNIFIED IDEOGRAPH
+  {0xE3AC, 0x7F67}, //5654 #CJK UNIFIED IDEOGRAPH
+  {0xE3AD, 0x7F78}, //5655 #CJK UNIFIED IDEOGRAPH
+  {0xE3AE, 0x7F82}, //5656 #CJK UNIFIED IDEOGRAPH
+  {0xE3AF, 0x7F86}, //5657 #CJK UNIFIED IDEOGRAPH
+  {0xE3B0, 0x7F83}, //5658 #CJK UNIFIED IDEOGRAPH
+  {0xE3B1, 0x7F88}, //5659 #CJK UNIFIED IDEOGRAPH
+  {0xE3B2, 0x7F87}, //5660 #CJK UNIFIED IDEOGRAPH
+  {0xE3B3, 0x7F8C}, //5661 #CJK UNIFIED IDEOGRAPH
+  {0xE3B4, 0x7F94}, //5662 #CJK UNIFIED IDEOGRAPH
+  {0xE3B5, 0x7F9E}, //5663 #CJK UNIFIED IDEOGRAPH
+  {0xE3B6, 0x7F9D}, //5664 #CJK UNIFIED IDEOGRAPH
+  {0xE3B7, 0x7F9A}, //5665 #CJK UNIFIED IDEOGRAPH
+  {0xE3B8, 0x7FA3}, //5666 #CJK UNIFIED IDEOGRAPH
+  {0xE3B9, 0x7FAF}, //5667 #CJK UNIFIED IDEOGRAPH
+  {0xE3BA, 0x7FB2}, //5668 #CJK UNIFIED IDEOGRAPH
+  {0xE3BB, 0x7FB9}, //5669 #CJK UNIFIED IDEOGRAPH
+  {0xE3BC, 0x7FAE}, //5670 #CJK UNIFIED IDEOGRAPH
+  {0xE3BD, 0x7FB6}, //5671 #CJK UNIFIED IDEOGRAPH
+  {0xE3BE, 0x7FB8}, //5672 #CJK UNIFIED IDEOGRAPH
+  {0xE3BF, 0x8B71}, //5673 #CJK UNIFIED IDEOGRAPH
+  {0xE3C0, 0x7FC5}, //5674 #CJK UNIFIED IDEOGRAPH
+  {0xE3C1, 0x7FC6}, //5675 #CJK UNIFIED IDEOGRAPH
+  {0xE3C2, 0x7FCA}, //5676 #CJK UNIFIED IDEOGRAPH
+  {0xE3C3, 0x7FD5}, //5677 #CJK UNIFIED IDEOGRAPH
+  {0xE3C4, 0x7FD4}, //5678 #CJK UNIFIED IDEOGRAPH
+  {0xE3C5, 0x7FE1}, //5679 #CJK UNIFIED IDEOGRAPH
+  {0xE3C6, 0x7FE6}, //5680 #CJK UNIFIED IDEOGRAPH
+  {0xE3C7, 0x7FE9}, //5681 #CJK UNIFIED IDEOGRAPH
+  {0xE3C8, 0x7FF3}, //5682 #CJK UNIFIED IDEOGRAPH
+  {0xE3C9, 0x7FF9}, //5683 #CJK UNIFIED IDEOGRAPH
+  {0xE3CA, 0x98DC}, //5684 #CJK UNIFIED IDEOGRAPH
+  {0xE3CB, 0x8006}, //5685 #CJK UNIFIED IDEOGRAPH
+  {0xE3CC, 0x8004}, //5686 #CJK UNIFIED IDEOGRAPH
+  {0xE3CD, 0x800B}, //5687 #CJK UNIFIED IDEOGRAPH
+  {0xE3CE, 0x8012}, //5688 #CJK UNIFIED IDEOGRAPH
+  {0xE3CF, 0x8018}, //5689 #CJK UNIFIED IDEOGRAPH
+  {0xE3D0, 0x8019}, //5690 #CJK UNIFIED IDEOGRAPH
+  {0xE3D1, 0x801C}, //5691 #CJK UNIFIED IDEOGRAPH
+  {0xE3D2, 0x8021}, //5692 #CJK UNIFIED IDEOGRAPH
+  {0xE3D3, 0x8028}, //5693 #CJK UNIFIED IDEOGRAPH
+  {0xE3D4, 0x803F}, //5694 #CJK UNIFIED IDEOGRAPH
+  {0xE3D5, 0x803B}, //5695 #CJK UNIFIED IDEOGRAPH
+  {0xE3D6, 0x804A}, //5696 #CJK UNIFIED IDEOGRAPH
+  {0xE3D7, 0x8046}, //5697 #CJK UNIFIED IDEOGRAPH
+  {0xE3D8, 0x8052}, //5698 #CJK UNIFIED IDEOGRAPH
+  {0xE3D9, 0x8058}, //5699 #CJK UNIFIED IDEOGRAPH
+  {0xE3DA, 0x805A}, //5700 #CJK UNIFIED IDEOGRAPH
+  {0xE3DB, 0x805F}, //5701 #CJK UNIFIED IDEOGRAPH
+  {0xE3DC, 0x8062}, //5702 #CJK UNIFIED IDEOGRAPH
+  {0xE3DD, 0x8068}, //5703 #CJK UNIFIED IDEOGRAPH
+  {0xE3DE, 0x8073}, //5704 #CJK UNIFIED IDEOGRAPH
+  {0xE3DF, 0x8072}, //5705 #CJK UNIFIED IDEOGRAPH
+  {0xE3E0, 0x8070}, //5706 #CJK UNIFIED IDEOGRAPH
+  {0xE3E1, 0x8076}, //5707 #CJK UNIFIED IDEOGRAPH
+  {0xE3E2, 0x8079}, //5708 #CJK UNIFIED IDEOGRAPH
+  {0xE3E3, 0x807D}, //5709 #CJK UNIFIED IDEOGRAPH
+  {0xE3E4, 0x807F}, //5710 #CJK UNIFIED IDEOGRAPH
+  {0xE3E5, 0x8084}, //5711 #CJK UNIFIED IDEOGRAPH
+  {0xE3E6, 0x8086}, //5712 #CJK UNIFIED IDEOGRAPH
+  {0xE3E7, 0x8085}, //5713 #CJK UNIFIED IDEOGRAPH
+  {0xE3E8, 0x809B}, //5714 #CJK UNIFIED IDEOGRAPH
+  {0xE3E9, 0x8093}, //5715 #CJK UNIFIED IDEOGRAPH
+  {0xE3EA, 0x809A}, //5716 #CJK UNIFIED IDEOGRAPH
+  {0xE3EB, 0x80AD}, //5717 #CJK UNIFIED IDEOGRAPH
+  {0xE3EC, 0x5190}, //5718 #CJK UNIFIED IDEOGRAPH
+  {0xE3ED, 0x80AC}, //5719 #CJK UNIFIED IDEOGRAPH
+  {0xE3EE, 0x80DB}, //5720 #CJK UNIFIED IDEOGRAPH
+  {0xE3EF, 0x80E5}, //5721 #CJK UNIFIED IDEOGRAPH
+  {0xE3F0, 0x80D9}, //5722 #CJK UNIFIED IDEOGRAPH
+  {0xE3F1, 0x80DD}, //5723 #CJK UNIFIED IDEOGRAPH
+  {0xE3F2, 0x80C4}, //5724 #CJK UNIFIED IDEOGRAPH
+  {0xE3F3, 0x80DA}, //5725 #CJK UNIFIED IDEOGRAPH
+  {0xE3F4, 0x80D6}, //5726 #CJK UNIFIED IDEOGRAPH
+  {0xE3F5, 0x8109}, //5727 #CJK UNIFIED IDEOGRAPH
+  {0xE3F6, 0x80EF}, //5728 #CJK UNIFIED IDEOGRAPH
+  {0xE3F7, 0x80F1}, //5729 #CJK UNIFIED IDEOGRAPH
+  {0xE3F8, 0x811B}, //5730 #CJK UNIFIED IDEOGRAPH
+  {0xE3F9, 0x8129}, //5731 #CJK UNIFIED IDEOGRAPH
+  {0xE3FA, 0x8123}, //5732 #CJK UNIFIED IDEOGRAPH
+  {0xE3FB, 0x812F}, //5733 #CJK UNIFIED IDEOGRAPH
+  {0xE3FC, 0x814B}, //5734 #CJK UNIFIED IDEOGRAPH
+  {0xE440, 0x968B}, //5735 #CJK UNIFIED IDEOGRAPH
+  {0xE441, 0x8146}, //5736 #CJK UNIFIED IDEOGRAPH
+  {0xE442, 0x813E}, //5737 #CJK UNIFIED IDEOGRAPH
+  {0xE443, 0x8153}, //5738 #CJK UNIFIED IDEOGRAPH
+  {0xE444, 0x8151}, //5739 #CJK UNIFIED IDEOGRAPH
+  {0xE445, 0x80FC}, //5740 #CJK UNIFIED IDEOGRAPH
+  {0xE446, 0x8171}, //5741 #CJK UNIFIED IDEOGRAPH
+  {0xE447, 0x816E}, //5742 #CJK UNIFIED IDEOGRAPH
+  {0xE448, 0x8165}, //5743 #CJK UNIFIED IDEOGRAPH
+  {0xE449, 0x8166}, //5744 #CJK UNIFIED IDEOGRAPH
+  {0xE44A, 0x8174}, //5745 #CJK UNIFIED IDEOGRAPH
+  {0xE44B, 0x8183}, //5746 #CJK UNIFIED IDEOGRAPH
+  {0xE44C, 0x8188}, //5747 #CJK UNIFIED IDEOGRAPH
+  {0xE44D, 0x818A}, //5748 #CJK UNIFIED IDEOGRAPH
+  {0xE44E, 0x8180}, //5749 #CJK UNIFIED IDEOGRAPH
+  {0xE44F, 0x8182}, //5750 #CJK UNIFIED IDEOGRAPH
+  {0xE450, 0x81A0}, //5751 #CJK UNIFIED IDEOGRAPH
+  {0xE451, 0x8195}, //5752 #CJK UNIFIED IDEOGRAPH
+  {0xE452, 0x81A4}, //5753 #CJK UNIFIED IDEOGRAPH
+  {0xE453, 0x81A3}, //5754 #CJK UNIFIED IDEOGRAPH
+  {0xE454, 0x815F}, //5755 #CJK UNIFIED IDEOGRAPH
+  {0xE455, 0x8193}, //5756 #CJK UNIFIED IDEOGRAPH
+  {0xE456, 0x81A9}, //5757 #CJK UNIFIED IDEOGRAPH
+  {0xE457, 0x81B0}, //5758 #CJK UNIFIED IDEOGRAPH
+  {0xE458, 0x81B5}, //5759 #CJK UNIFIED IDEOGRAPH
+  {0xE459, 0x81BE}, //5760 #CJK UNIFIED IDEOGRAPH
+  {0xE45A, 0x81B8}, //5761 #CJK UNIFIED IDEOGRAPH
+  {0xE45B, 0x81BD}, //5762 #CJK UNIFIED IDEOGRAPH
+  {0xE45C, 0x81C0}, //5763 #CJK UNIFIED IDEOGRAPH
+  {0xE45D, 0x81C2}, //5764 #CJK UNIFIED IDEOGRAPH
+  {0xE45E, 0x81BA}, //5765 #CJK UNIFIED IDEOGRAPH
+  {0xE45F, 0x81C9}, //5766 #CJK UNIFIED IDEOGRAPH
+  {0xE460, 0x81CD}, //5767 #CJK UNIFIED IDEOGRAPH
+  {0xE461, 0x81D1}, //5768 #CJK UNIFIED IDEOGRAPH
+  {0xE462, 0x81D9}, //5769 #CJK UNIFIED IDEOGRAPH
+  {0xE463, 0x81D8}, //5770 #CJK UNIFIED IDEOGRAPH
+  {0xE464, 0x81C8}, //5771 #CJK UNIFIED IDEOGRAPH
+  {0xE465, 0x81DA}, //5772 #CJK UNIFIED IDEOGRAPH
+  {0xE466, 0x81DF}, //5773 #CJK UNIFIED IDEOGRAPH
+  {0xE467, 0x81E0}, //5774 #CJK UNIFIED IDEOGRAPH
+  {0xE468, 0x81E7}, //5775 #CJK UNIFIED IDEOGRAPH
+  {0xE469, 0x81FA}, //5776 #CJK UNIFIED IDEOGRAPH
+  {0xE46A, 0x81FB}, //5777 #CJK UNIFIED IDEOGRAPH
+  {0xE46B, 0x81FE}, //5778 #CJK UNIFIED IDEOGRAPH
+  {0xE46C, 0x8201}, //5779 #CJK UNIFIED IDEOGRAPH
+  {0xE46D, 0x8202}, //5780 #CJK UNIFIED IDEOGRAPH
+  {0xE46E, 0x8205}, //5781 #CJK UNIFIED IDEOGRAPH
+  {0xE46F, 0x8207}, //5782 #CJK UNIFIED IDEOGRAPH
+  {0xE470, 0x820A}, //5783 #CJK UNIFIED IDEOGRAPH
+  {0xE471, 0x820D}, //5784 #CJK UNIFIED IDEOGRAPH
+  {0xE472, 0x8210}, //5785 #CJK UNIFIED IDEOGRAPH
+  {0xE473, 0x8216}, //5786 #CJK UNIFIED IDEOGRAPH
+  {0xE474, 0x8229}, //5787 #CJK UNIFIED IDEOGRAPH
+  {0xE475, 0x822B}, //5788 #CJK UNIFIED IDEOGRAPH
+  {0xE476, 0x8238}, //5789 #CJK UNIFIED IDEOGRAPH
+  {0xE477, 0x8233}, //5790 #CJK UNIFIED IDEOGRAPH
+  {0xE478, 0x8240}, //5791 #CJK UNIFIED IDEOGRAPH
+  {0xE479, 0x8259}, //5792 #CJK UNIFIED IDEOGRAPH
+  {0xE47A, 0x8258}, //5793 #CJK UNIFIED IDEOGRAPH
+  {0xE47B, 0x825D}, //5794 #CJK UNIFIED IDEOGRAPH
+  {0xE47C, 0x825A}, //5795 #CJK UNIFIED IDEOGRAPH
+  {0xE47D, 0x825F}, //5796 #CJK UNIFIED IDEOGRAPH
+  {0xE47E, 0x8264}, //5797 #CJK UNIFIED IDEOGRAPH
+  {0xE480, 0x8262}, //5798 #CJK UNIFIED IDEOGRAPH
+  {0xE481, 0x8268}, //5799 #CJK UNIFIED IDEOGRAPH
+  {0xE482, 0x826A}, //5800 #CJK UNIFIED IDEOGRAPH
+  {0xE483, 0x826B}, //5801 #CJK UNIFIED IDEOGRAPH
+  {0xE484, 0x822E}, //5802 #CJK UNIFIED IDEOGRAPH
+  {0xE485, 0x8271}, //5803 #CJK UNIFIED IDEOGRAPH
+  {0xE486, 0x8277}, //5804 #CJK UNIFIED IDEOGRAPH
+  {0xE487, 0x8278}, //5805 #CJK UNIFIED IDEOGRAPH
+  {0xE488, 0x827E}, //5806 #CJK UNIFIED IDEOGRAPH
+  {0xE489, 0x828D}, //5807 #CJK UNIFIED IDEOGRAPH
+  {0xE48A, 0x8292}, //5808 #CJK UNIFIED IDEOGRAPH
+  {0xE48B, 0x82AB}, //5809 #CJK UNIFIED IDEOGRAPH
+  {0xE48C, 0x829F}, //5810 #CJK UNIFIED IDEOGRAPH
+  {0xE48D, 0x82BB}, //5811 #CJK UNIFIED IDEOGRAPH
+  {0xE48E, 0x82AC}, //5812 #CJK UNIFIED IDEOGRAPH
+  {0xE48F, 0x82E1}, //5813 #CJK UNIFIED IDEOGRAPH
+  {0xE490, 0x82E3}, //5814 #CJK UNIFIED IDEOGRAPH
+  {0xE491, 0x82DF}, //5815 #CJK UNIFIED IDEOGRAPH
+  {0xE492, 0x82D2}, //5816 #CJK UNIFIED IDEOGRAPH
+  {0xE493, 0x82F4}, //5817 #CJK UNIFIED IDEOGRAPH
+  {0xE494, 0x82F3}, //5818 #CJK UNIFIED IDEOGRAPH
+  {0xE495, 0x82FA}, //5819 #CJK UNIFIED IDEOGRAPH
+  {0xE496, 0x8393}, //5820 #CJK UNIFIED IDEOGRAPH
+  {0xE497, 0x8303}, //5821 #CJK UNIFIED IDEOGRAPH
+  {0xE498, 0x82FB}, //5822 #CJK UNIFIED IDEOGRAPH
+  {0xE499, 0x82F9}, //5823 #CJK UNIFIED IDEOGRAPH
+  {0xE49A, 0x82DE}, //5824 #CJK UNIFIED IDEOGRAPH
+  {0xE49B, 0x8306}, //5825 #CJK UNIFIED IDEOGRAPH
+  {0xE49C, 0x82DC}, //5826 #CJK UNIFIED IDEOGRAPH
+  {0xE49D, 0x8309}, //5827 #CJK UNIFIED IDEOGRAPH
+  {0xE49E, 0x82D9}, //5828 #CJK UNIFIED IDEOGRAPH
+  {0xE49F, 0x8335}, //5829 #CJK UNIFIED IDEOGRAPH
+  {0xE4A0, 0x8334}, //5830 #CJK UNIFIED IDEOGRAPH
+  {0xE4A1, 0x8316}, //5831 #CJK UNIFIED IDEOGRAPH
+  {0xE4A2, 0x8332}, //5832 #CJK UNIFIED IDEOGRAPH
+  {0xE4A3, 0x8331}, //5833 #CJK UNIFIED IDEOGRAPH
+  {0xE4A4, 0x8340}, //5834 #CJK UNIFIED IDEOGRAPH
+  {0xE4A5, 0x8339}, //5835 #CJK UNIFIED IDEOGRAPH
+  {0xE4A6, 0x8350}, //5836 #CJK UNIFIED IDEOGRAPH
+  {0xE4A7, 0x8345}, //5837 #CJK UNIFIED IDEOGRAPH
+  {0xE4A8, 0x832F}, //5838 #CJK UNIFIED IDEOGRAPH
+  {0xE4A9, 0x832B}, //5839 #CJK UNIFIED IDEOGRAPH
+  {0xE4AA, 0x8317}, //5840 #CJK UNIFIED IDEOGRAPH
+  {0xE4AB, 0x8318}, //5841 #CJK UNIFIED IDEOGRAPH
+  {0xE4AC, 0x8385}, //5842 #CJK UNIFIED IDEOGRAPH
+  {0xE4AD, 0x839A}, //5843 #CJK UNIFIED IDEOGRAPH
+  {0xE4AE, 0x83AA}, //5844 #CJK UNIFIED IDEOGRAPH
+  {0xE4AF, 0x839F}, //5845 #CJK UNIFIED IDEOGRAPH
+  {0xE4B0, 0x83A2}, //5846 #CJK UNIFIED IDEOGRAPH
+  {0xE4B1, 0x8396}, //5847 #CJK UNIFIED IDEOGRAPH
+  {0xE4B2, 0x8323}, //5848 #CJK UNIFIED IDEOGRAPH
+  {0xE4B3, 0x838E}, //5849 #CJK UNIFIED IDEOGRAPH
+  {0xE4B4, 0x8387}, //5850 #CJK UNIFIED IDEOGRAPH
+  {0xE4B5, 0x838A}, //5851 #CJK UNIFIED IDEOGRAPH
+  {0xE4B6, 0x837C}, //5852 #CJK UNIFIED IDEOGRAPH
+  {0xE4B7, 0x83B5}, //5853 #CJK UNIFIED IDEOGRAPH
+  {0xE4B8, 0x8373}, //5854 #CJK UNIFIED IDEOGRAPH
+  {0xE4B9, 0x8375}, //5855 #CJK UNIFIED IDEOGRAPH
+  {0xE4BA, 0x83A0}, //5856 #CJK UNIFIED IDEOGRAPH
+  {0xE4BB, 0x8389}, //5857 #CJK UNIFIED IDEOGRAPH
+  {0xE4BC, 0x83A8}, //5858 #CJK UNIFIED IDEOGRAPH
+  {0xE4BD, 0x83F4}, //5859 #CJK UNIFIED IDEOGRAPH
+  {0xE4BE, 0x8413}, //5860 #CJK UNIFIED IDEOGRAPH
+  {0xE4BF, 0x83EB}, //5861 #CJK UNIFIED IDEOGRAPH
+  {0xE4C0, 0x83CE}, //5862 #CJK UNIFIED IDEOGRAPH
+  {0xE4C1, 0x83FD}, //5863 #CJK UNIFIED IDEOGRAPH
+  {0xE4C2, 0x8403}, //5864 #CJK UNIFIED IDEOGRAPH
+  {0xE4C3, 0x83D8}, //5865 #CJK UNIFIED IDEOGRAPH
+  {0xE4C4, 0x840B}, //5866 #CJK UNIFIED IDEOGRAPH
+  {0xE4C5, 0x83C1}, //5867 #CJK UNIFIED IDEOGRAPH
+  {0xE4C6, 0x83F7}, //5868 #CJK UNIFIED IDEOGRAPH
+  {0xE4C7, 0x8407}, //5869 #CJK UNIFIED IDEOGRAPH
+  {0xE4C8, 0x83E0}, //5870 #CJK UNIFIED IDEOGRAPH
+  {0xE4C9, 0x83F2}, //5871 #CJK UNIFIED IDEOGRAPH
+  {0xE4CA, 0x840D}, //5872 #CJK UNIFIED IDEOGRAPH
+  {0xE4CB, 0x8422}, //5873 #CJK UNIFIED IDEOGRAPH
+  {0xE4CC, 0x8420}, //5874 #CJK UNIFIED IDEOGRAPH
+  {0xE4CD, 0x83BD}, //5875 #CJK UNIFIED IDEOGRAPH
+  {0xE4CE, 0x8438}, //5876 #CJK UNIFIED IDEOGRAPH
+  {0xE4CF, 0x8506}, //5877 #CJK UNIFIED IDEOGRAPH
+  {0xE4D0, 0x83FB}, //5878 #CJK UNIFIED IDEOGRAPH
+  {0xE4D1, 0x846D}, //5879 #CJK UNIFIED IDEOGRAPH
+  {0xE4D2, 0x842A}, //5880 #CJK UNIFIED IDEOGRAPH
+  {0xE4D3, 0x843C}, //5881 #CJK UNIFIED IDEOGRAPH
+  {0xE4D4, 0x855A}, //5882 #CJK UNIFIED IDEOGRAPH
+  {0xE4D5, 0x8484}, //5883 #CJK UNIFIED IDEOGRAPH
+  {0xE4D6, 0x8477}, //5884 #CJK UNIFIED IDEOGRAPH
+  {0xE4D7, 0x846B}, //5885 #CJK UNIFIED IDEOGRAPH
+  {0xE4D8, 0x84AD}, //5886 #CJK UNIFIED IDEOGRAPH
+  {0xE4D9, 0x846E}, //5887 #CJK UNIFIED IDEOGRAPH
+  {0xE4DA, 0x8482}, //5888 #CJK UNIFIED IDEOGRAPH
+  {0xE4DB, 0x8469}, //5889 #CJK UNIFIED IDEOGRAPH
+  {0xE4DC, 0x8446}, //5890 #CJK UNIFIED IDEOGRAPH
+  {0xE4DD, 0x842C}, //5891 #CJK UNIFIED IDEOGRAPH
+  {0xE4DE, 0x846F}, //5892 #CJK UNIFIED IDEOGRAPH
+  {0xE4DF, 0x8479}, //5893 #CJK UNIFIED IDEOGRAPH
+  {0xE4E0, 0x8435}, //5894 #CJK UNIFIED IDEOGRAPH
+  {0xE4E1, 0x84CA}, //5895 #CJK UNIFIED IDEOGRAPH
+  {0xE4E2, 0x8462}, //5896 #CJK UNIFIED IDEOGRAPH
+  {0xE4E3, 0x84B9}, //5897 #CJK UNIFIED IDEOGRAPH
+  {0xE4E4, 0x84BF}, //5898 #CJK UNIFIED IDEOGRAPH
+  {0xE4E5, 0x849F}, //5899 #CJK UNIFIED IDEOGRAPH
+  {0xE4E6, 0x84D9}, //5900 #CJK UNIFIED IDEOGRAPH
+  {0xE4E7, 0x84CD}, //5901 #CJK UNIFIED IDEOGRAPH
+  {0xE4E8, 0x84BB}, //5902 #CJK UNIFIED IDEOGRAPH
+  {0xE4E9, 0x84DA}, //5903 #CJK UNIFIED IDEOGRAPH
+  {0xE4EA, 0x84D0}, //5904 #CJK UNIFIED IDEOGRAPH
+  {0xE4EB, 0x84C1}, //5905 #CJK UNIFIED IDEOGRAPH
+  {0xE4EC, 0x84C6}, //5906 #CJK UNIFIED IDEOGRAPH
+  {0xE4ED, 0x84D6}, //5907 #CJK UNIFIED IDEOGRAPH
+  {0xE4EE, 0x84A1}, //5908 #CJK UNIFIED IDEOGRAPH
+  {0xE4EF, 0x8521}, //5909 #CJK UNIFIED IDEOGRAPH
+  {0xE4F0, 0x84FF}, //5910 #CJK UNIFIED IDEOGRAPH
+  {0xE4F1, 0x84F4}, //5911 #CJK UNIFIED IDEOGRAPH
+  {0xE4F2, 0x8517}, //5912 #CJK UNIFIED IDEOGRAPH
+  {0xE4F3, 0x8518}, //5913 #CJK UNIFIED IDEOGRAPH
+  {0xE4F4, 0x852C}, //5914 #CJK UNIFIED IDEOGRAPH
+  {0xE4F5, 0x851F}, //5915 #CJK UNIFIED IDEOGRAPH
+  {0xE4F6, 0x8515}, //5916 #CJK UNIFIED IDEOGRAPH
+  {0xE4F7, 0x8514}, //5917 #CJK UNIFIED IDEOGRAPH
+  {0xE4F8, 0x84FC}, //5918 #CJK UNIFIED IDEOGRAPH
+  {0xE4F9, 0x8540}, //5919 #CJK UNIFIED IDEOGRAPH
+  {0xE4FA, 0x8563}, //5920 #CJK UNIFIED IDEOGRAPH
+  {0xE4FB, 0x8558}, //5921 #CJK UNIFIED IDEOGRAPH
+  {0xE4FC, 0x8548}, //5922 #CJK UNIFIED IDEOGRAPH
+  {0xE540, 0x8541}, //5923 #CJK UNIFIED IDEOGRAPH
+  {0xE541, 0x8602}, //5924 #CJK UNIFIED IDEOGRAPH
+  {0xE542, 0x854B}, //5925 #CJK UNIFIED IDEOGRAPH
+  {0xE543, 0x8555}, //5926 #CJK UNIFIED IDEOGRAPH
+  {0xE544, 0x8580}, //5927 #CJK UNIFIED IDEOGRAPH
+  {0xE545, 0x85A4}, //5928 #CJK UNIFIED IDEOGRAPH
+  {0xE546, 0x8588}, //5929 #CJK UNIFIED IDEOGRAPH
+  {0xE547, 0x8591}, //5930 #CJK UNIFIED IDEOGRAPH
+  {0xE548, 0x858A}, //5931 #CJK UNIFIED IDEOGRAPH
+  {0xE549, 0x85A8}, //5932 #CJK UNIFIED IDEOGRAPH
+  {0xE54A, 0x856D}, //5933 #CJK UNIFIED IDEOGRAPH
+  {0xE54B, 0x8594}, //5934 #CJK UNIFIED IDEOGRAPH
+  {0xE54C, 0x859B}, //5935 #CJK UNIFIED IDEOGRAPH
+  {0xE54D, 0x85EA}, //5936 #CJK UNIFIED IDEOGRAPH
+  {0xE54E, 0x8587}, //5937 #CJK UNIFIED IDEOGRAPH
+  {0xE54F, 0x859C}, //5938 #CJK UNIFIED IDEOGRAPH
+  {0xE550, 0x8577}, //5939 #CJK UNIFIED IDEOGRAPH
+  {0xE551, 0x857E}, //5940 #CJK UNIFIED IDEOGRAPH
+  {0xE552, 0x8590}, //5941 #CJK UNIFIED IDEOGRAPH
+  {0xE553, 0x85C9}, //5942 #CJK UNIFIED IDEOGRAPH
+  {0xE554, 0x85BA}, //5943 #CJK UNIFIED IDEOGRAPH
+  {0xE555, 0x85CF}, //5944 #CJK UNIFIED IDEOGRAPH
+  {0xE556, 0x85B9}, //5945 #CJK UNIFIED IDEOGRAPH
+  {0xE557, 0x85D0}, //5946 #CJK UNIFIED IDEOGRAPH
+  {0xE558, 0x85D5}, //5947 #CJK UNIFIED IDEOGRAPH
+  {0xE559, 0x85DD}, //5948 #CJK UNIFIED IDEOGRAPH
+  {0xE55A, 0x85E5}, //5949 #CJK UNIFIED IDEOGRAPH
+  {0xE55B, 0x85DC}, //5950 #CJK UNIFIED IDEOGRAPH
+  {0xE55C, 0x85F9}, //5951 #CJK UNIFIED IDEOGRAPH
+  {0xE55D, 0x860A}, //5952 #CJK UNIFIED IDEOGRAPH
+  {0xE55E, 0x8613}, //5953 #CJK UNIFIED IDEOGRAPH
+  {0xE55F, 0x860B}, //5954 #CJK UNIFIED IDEOGRAPH
+  {0xE560, 0x85FE}, //5955 #CJK UNIFIED IDEOGRAPH
+  {0xE561, 0x85FA}, //5956 #CJK UNIFIED IDEOGRAPH
+  {0xE562, 0x8606}, //5957 #CJK UNIFIED IDEOGRAPH
+  {0xE563, 0x8622}, //5958 #CJK UNIFIED IDEOGRAPH
+  {0xE564, 0x861A}, //5959 #CJK UNIFIED IDEOGRAPH
+  {0xE565, 0x8630}, //5960 #CJK UNIFIED IDEOGRAPH
+  {0xE566, 0x863F}, //5961 #CJK UNIFIED IDEOGRAPH
+  {0xE567, 0x864D}, //5962 #CJK UNIFIED IDEOGRAPH
+  {0xE568, 0x4E55}, //5963 #CJK UNIFIED IDEOGRAPH
+  {0xE569, 0x8654}, //5964 #CJK UNIFIED IDEOGRAPH
+  {0xE56A, 0x865F}, //5965 #CJK UNIFIED IDEOGRAPH
+  {0xE56B, 0x8667}, //5966 #CJK UNIFIED IDEOGRAPH
+  {0xE56C, 0x8671}, //5967 #CJK UNIFIED IDEOGRAPH
+  {0xE56D, 0x8693}, //5968 #CJK UNIFIED IDEOGRAPH
+  {0xE56E, 0x86A3}, //5969 #CJK UNIFIED IDEOGRAPH
+  {0xE56F, 0x86A9}, //5970 #CJK UNIFIED IDEOGRAPH
+  {0xE570, 0x86AA}, //5971 #CJK UNIFIED IDEOGRAPH
+  {0xE571, 0x868B}, //5972 #CJK UNIFIED IDEOGRAPH
+  {0xE572, 0x868C}, //5973 #CJK UNIFIED IDEOGRAPH
+  {0xE573, 0x86B6}, //5974 #CJK UNIFIED IDEOGRAPH
+  {0xE574, 0x86AF}, //5975 #CJK UNIFIED IDEOGRAPH
+  {0xE575, 0x86C4}, //5976 #CJK UNIFIED IDEOGRAPH
+  {0xE576, 0x86C6}, //5977 #CJK UNIFIED IDEOGRAPH
+  {0xE577, 0x86B0}, //5978 #CJK UNIFIED IDEOGRAPH
+  {0xE578, 0x86C9}, //5979 #CJK UNIFIED IDEOGRAPH
+  {0xE579, 0x8823}, //5980 #CJK UNIFIED IDEOGRAPH
+  {0xE57A, 0x86AB}, //5981 #CJK UNIFIED IDEOGRAPH
+  {0xE57B, 0x86D4}, //5982 #CJK UNIFIED IDEOGRAPH
+  {0xE57C, 0x86DE}, //5983 #CJK UNIFIED IDEOGRAPH
+  {0xE57D, 0x86E9}, //5984 #CJK UNIFIED IDEOGRAPH
+  {0xE57E, 0x86EC}, //5985 #CJK UNIFIED IDEOGRAPH
+  {0xE580, 0x86DF}, //5986 #CJK UNIFIED IDEOGRAPH
+  {0xE581, 0x86DB}, //5987 #CJK UNIFIED IDEOGRAPH
+  {0xE582, 0x86EF}, //5988 #CJK UNIFIED IDEOGRAPH
+  {0xE583, 0x8712}, //5989 #CJK UNIFIED IDEOGRAPH
+  {0xE584, 0x8706}, //5990 #CJK UNIFIED IDEOGRAPH
+  {0xE585, 0x8708}, //5991 #CJK UNIFIED IDEOGRAPH
+  {0xE586, 0x8700}, //5992 #CJK UNIFIED IDEOGRAPH
+  {0xE587, 0x8703}, //5993 #CJK UNIFIED IDEOGRAPH
+  {0xE588, 0x86FB}, //5994 #CJK UNIFIED IDEOGRAPH
+  {0xE589, 0x8711}, //5995 #CJK UNIFIED IDEOGRAPH
+  {0xE58A, 0x8709}, //5996 #CJK UNIFIED IDEOGRAPH
+  {0xE58B, 0x870D}, //5997 #CJK UNIFIED IDEOGRAPH
+  {0xE58C, 0x86F9}, //5998 #CJK UNIFIED IDEOGRAPH
+  {0xE58D, 0x870A}, //5999 #CJK UNIFIED IDEOGRAPH
+  {0xE58E, 0x8734}, //6000 #CJK UNIFIED IDEOGRAPH
+  {0xE58F, 0x873F}, //6001 #CJK UNIFIED IDEOGRAPH
+  {0xE590, 0x8737}, //6002 #CJK UNIFIED IDEOGRAPH
+  {0xE591, 0x873B}, //6003 #CJK UNIFIED IDEOGRAPH
+  {0xE592, 0x8725}, //6004 #CJK UNIFIED IDEOGRAPH
+  {0xE593, 0x8729}, //6005 #CJK UNIFIED IDEOGRAPH
+  {0xE594, 0x871A}, //6006 #CJK UNIFIED IDEOGRAPH
+  {0xE595, 0x8760}, //6007 #CJK UNIFIED IDEOGRAPH
+  {0xE596, 0x875F}, //6008 #CJK UNIFIED IDEOGRAPH
+  {0xE597, 0x8778}, //6009 #CJK UNIFIED IDEOGRAPH
+  {0xE598, 0x874C}, //6010 #CJK UNIFIED IDEOGRAPH
+  {0xE599, 0x874E}, //6011 #CJK UNIFIED IDEOGRAPH
+  {0xE59A, 0x8774}, //6012 #CJK UNIFIED IDEOGRAPH
+  {0xE59B, 0x8757}, //6013 #CJK UNIFIED IDEOGRAPH
+  {0xE59C, 0x8768}, //6014 #CJK UNIFIED IDEOGRAPH
+  {0xE59D, 0x876E}, //6015 #CJK UNIFIED IDEOGRAPH
+  {0xE59E, 0x8759}, //6016 #CJK UNIFIED IDEOGRAPH
+  {0xE59F, 0x8753}, //6017 #CJK UNIFIED IDEOGRAPH
+  {0xE5A0, 0x8763}, //6018 #CJK UNIFIED IDEOGRAPH
+  {0xE5A1, 0x876A}, //6019 #CJK UNIFIED IDEOGRAPH
+  {0xE5A2, 0x8805}, //6020 #CJK UNIFIED IDEOGRAPH
+  {0xE5A3, 0x87A2}, //6021 #CJK UNIFIED IDEOGRAPH
+  {0xE5A4, 0x879F}, //6022 #CJK UNIFIED IDEOGRAPH
+  {0xE5A5, 0x8782}, //6023 #CJK UNIFIED IDEOGRAPH
+  {0xE5A6, 0x87AF}, //6024 #CJK UNIFIED IDEOGRAPH
+  {0xE5A7, 0x87CB}, //6025 #CJK UNIFIED IDEOGRAPH
+  {0xE5A8, 0x87BD}, //6026 #CJK UNIFIED IDEOGRAPH
+  {0xE5A9, 0x87C0}, //6027 #CJK UNIFIED IDEOGRAPH
+  {0xE5AA, 0x87D0}, //6028 #CJK UNIFIED IDEOGRAPH
+  {0xE5AB, 0x96D6}, //6029 #CJK UNIFIED IDEOGRAPH
+  {0xE5AC, 0x87AB}, //6030 #CJK UNIFIED IDEOGRAPH
+  {0xE5AD, 0x87C4}, //6031 #CJK UNIFIED IDEOGRAPH
+  {0xE5AE, 0x87B3}, //6032 #CJK UNIFIED IDEOGRAPH
+  {0xE5AF, 0x87C7}, //6033 #CJK UNIFIED IDEOGRAPH
+  {0xE5B0, 0x87C6}, //6034 #CJK UNIFIED IDEOGRAPH
+  {0xE5B1, 0x87BB}, //6035 #CJK UNIFIED IDEOGRAPH
+  {0xE5B2, 0x87EF}, //6036 #CJK UNIFIED IDEOGRAPH
+  {0xE5B3, 0x87F2}, //6037 #CJK UNIFIED IDEOGRAPH
+  {0xE5B4, 0x87E0}, //6038 #CJK UNIFIED IDEOGRAPH
+  {0xE5B5, 0x880F}, //6039 #CJK UNIFIED IDEOGRAPH
+  {0xE5B6, 0x880D}, //6040 #CJK UNIFIED IDEOGRAPH
+  {0xE5B7, 0x87FE}, //6041 #CJK UNIFIED IDEOGRAPH
+  {0xE5B8, 0x87F6}, //6042 #CJK UNIFIED IDEOGRAPH
+  {0xE5B9, 0x87F7}, //6043 #CJK UNIFIED IDEOGRAPH
+  {0xE5BA, 0x880E}, //6044 #CJK UNIFIED IDEOGRAPH
+  {0xE5BB, 0x87D2}, //6045 #CJK UNIFIED IDEOGRAPH
+  {0xE5BC, 0x8811}, //6046 #CJK UNIFIED IDEOGRAPH
+  {0xE5BD, 0x8816}, //6047 #CJK UNIFIED IDEOGRAPH
+  {0xE5BE, 0x8815}, //6048 #CJK UNIFIED IDEOGRAPH
+  {0xE5BF, 0x8822}, //6049 #CJK UNIFIED IDEOGRAPH
+  {0xE5C0, 0x8821}, //6050 #CJK UNIFIED IDEOGRAPH
+  {0xE5C1, 0x8831}, //6051 #CJK UNIFIED IDEOGRAPH
+  {0xE5C2, 0x8836}, //6052 #CJK UNIFIED IDEOGRAPH
+  {0xE5C3, 0x8839}, //6053 #CJK UNIFIED IDEOGRAPH
+  {0xE5C4, 0x8827}, //6054 #CJK UNIFIED IDEOGRAPH
+  {0xE5C5, 0x883B}, //6055 #CJK UNIFIED IDEOGRAPH
+  {0xE5C6, 0x8844}, //6056 #CJK UNIFIED IDEOGRAPH
+  {0xE5C7, 0x8842}, //6057 #CJK UNIFIED IDEOGRAPH
+  {0xE5C8, 0x8852}, //6058 #CJK UNIFIED IDEOGRAPH
+  {0xE5C9, 0x8859}, //6059 #CJK UNIFIED IDEOGRAPH
+  {0xE5CA, 0x885E}, //6060 #CJK UNIFIED IDEOGRAPH
+  {0xE5CB, 0x8862}, //6061 #CJK UNIFIED IDEOGRAPH
+  {0xE5CC, 0x886B}, //6062 #CJK UNIFIED IDEOGRAPH
+  {0xE5CD, 0x8881}, //6063 #CJK UNIFIED IDEOGRAPH
+  {0xE5CE, 0x887E}, //6064 #CJK UNIFIED IDEOGRAPH
+  {0xE5CF, 0x889E}, //6065 #CJK UNIFIED IDEOGRAPH
+  {0xE5D0, 0x8875}, //6066 #CJK UNIFIED IDEOGRAPH
+  {0xE5D1, 0x887D}, //6067 #CJK UNIFIED IDEOGRAPH
+  {0xE5D2, 0x88B5}, //6068 #CJK UNIFIED IDEOGRAPH
+  {0xE5D3, 0x8872}, //6069 #CJK UNIFIED IDEOGRAPH
+  {0xE5D4, 0x8882}, //6070 #CJK UNIFIED IDEOGRAPH
+  {0xE5D5, 0x8897}, //6071 #CJK UNIFIED IDEOGRAPH
+  {0xE5D6, 0x8892}, //6072 #CJK UNIFIED IDEOGRAPH
+  {0xE5D7, 0x88AE}, //6073 #CJK UNIFIED IDEOGRAPH
+  {0xE5D8, 0x8899}, //6074 #CJK UNIFIED IDEOGRAPH
+  {0xE5D9, 0x88A2}, //6075 #CJK UNIFIED IDEOGRAPH
+  {0xE5DA, 0x888D}, //6076 #CJK UNIFIED IDEOGRAPH
+  {0xE5DB, 0x88A4}, //6077 #CJK UNIFIED IDEOGRAPH
+  {0xE5DC, 0x88B0}, //6078 #CJK UNIFIED IDEOGRAPH
+  {0xE5DD, 0x88BF}, //6079 #CJK UNIFIED IDEOGRAPH
+  {0xE5DE, 0x88B1}, //6080 #CJK UNIFIED IDEOGRAPH
+  {0xE5DF, 0x88C3}, //6081 #CJK UNIFIED IDEOGRAPH
+  {0xE5E0, 0x88C4}, //6082 #CJK UNIFIED IDEOGRAPH
+  {0xE5E1, 0x88D4}, //6083 #CJK UNIFIED IDEOGRAPH
+  {0xE5E2, 0x88D8}, //6084 #CJK UNIFIED IDEOGRAPH
+  {0xE5E3, 0x88D9}, //6085 #CJK UNIFIED IDEOGRAPH
+  {0xE5E4, 0x88DD}, //6086 #CJK UNIFIED IDEOGRAPH
+  {0xE5E5, 0x88F9}, //6087 #CJK UNIFIED IDEOGRAPH
+  {0xE5E6, 0x8902}, //6088 #CJK UNIFIED IDEOGRAPH
+  {0xE5E7, 0x88FC}, //6089 #CJK UNIFIED IDEOGRAPH
+  {0xE5E8, 0x88F4}, //6090 #CJK UNIFIED IDEOGRAPH
+  {0xE5E9, 0x88E8}, //6091 #CJK UNIFIED IDEOGRAPH
+  {0xE5EA, 0x88F2}, //6092 #CJK UNIFIED IDEOGRAPH
+  {0xE5EB, 0x8904}, //6093 #CJK UNIFIED IDEOGRAPH
+  {0xE5EC, 0x890C}, //6094 #CJK UNIFIED IDEOGRAPH
+  {0xE5ED, 0x890A}, //6095 #CJK UNIFIED IDEOGRAPH
+  {0xE5EE, 0x8913}, //6096 #CJK UNIFIED IDEOGRAPH
+  {0xE5EF, 0x8943}, //6097 #CJK UNIFIED IDEOGRAPH
+  {0xE5F0, 0x891E}, //6098 #CJK UNIFIED IDEOGRAPH
+  {0xE5F1, 0x8925}, //6099 #CJK UNIFIED IDEOGRAPH
+  {0xE5F2, 0x892A}, //6100 #CJK UNIFIED IDEOGRAPH
+  {0xE5F3, 0x892B}, //6101 #CJK UNIFIED IDEOGRAPH
+  {0xE5F4, 0x8941}, //6102 #CJK UNIFIED IDEOGRAPH
+  {0xE5F5, 0x8944}, //6103 #CJK UNIFIED IDEOGRAPH
+  {0xE5F6, 0x893B}, //6104 #CJK UNIFIED IDEOGRAPH
+  {0xE5F7, 0x8936}, //6105 #CJK UNIFIED IDEOGRAPH
+  {0xE5F8, 0x8938}, //6106 #CJK UNIFIED IDEOGRAPH
+  {0xE5F9, 0x894C}, //6107 #CJK UNIFIED IDEOGRAPH
+  {0xE5FA, 0x891D}, //6108 #CJK UNIFIED IDEOGRAPH
+  {0xE5FB, 0x8960}, //6109 #CJK UNIFIED IDEOGRAPH
+  {0xE5FC, 0x895E}, //6110 #CJK UNIFIED IDEOGRAPH
+  {0xE640, 0x8966}, //6111 #CJK UNIFIED IDEOGRAPH
+  {0xE641, 0x8964}, //6112 #CJK UNIFIED IDEOGRAPH
+  {0xE642, 0x896D}, //6113 #CJK UNIFIED IDEOGRAPH
+  {0xE643, 0x896A}, //6114 #CJK UNIFIED IDEOGRAPH
+  {0xE644, 0x896F}, //6115 #CJK UNIFIED IDEOGRAPH
+  {0xE645, 0x8974}, //6116 #CJK UNIFIED IDEOGRAPH
+  {0xE646, 0x8977}, //6117 #CJK UNIFIED IDEOGRAPH
+  {0xE647, 0x897E}, //6118 #CJK UNIFIED IDEOGRAPH
+  {0xE648, 0x8983}, //6119 #CJK UNIFIED IDEOGRAPH
+  {0xE649, 0x8988}, //6120 #CJK UNIFIED IDEOGRAPH
+  {0xE64A, 0x898A}, //6121 #CJK UNIFIED IDEOGRAPH
+  {0xE64B, 0x8993}, //6122 #CJK UNIFIED IDEOGRAPH
+  {0xE64C, 0x8998}, //6123 #CJK UNIFIED IDEOGRAPH
+  {0xE64D, 0x89A1}, //6124 #CJK UNIFIED IDEOGRAPH
+  {0xE64E, 0x89A9}, //6125 #CJK UNIFIED IDEOGRAPH
+  {0xE64F, 0x89A6}, //6126 #CJK UNIFIED IDEOGRAPH
+  {0xE650, 0x89AC}, //6127 #CJK UNIFIED IDEOGRAPH
+  {0xE651, 0x89AF}, //6128 #CJK UNIFIED IDEOGRAPH
+  {0xE652, 0x89B2}, //6129 #CJK UNIFIED IDEOGRAPH
+  {0xE653, 0x89BA}, //6130 #CJK UNIFIED IDEOGRAPH
+  {0xE654, 0x89BD}, //6131 #CJK UNIFIED IDEOGRAPH
+  {0xE655, 0x89BF}, //6132 #CJK UNIFIED IDEOGRAPH
+  {0xE656, 0x89C0}, //6133 #CJK UNIFIED IDEOGRAPH
+  {0xE657, 0x89DA}, //6134 #CJK UNIFIED IDEOGRAPH
+  {0xE658, 0x89DC}, //6135 #CJK UNIFIED IDEOGRAPH
+  {0xE659, 0x89DD}, //6136 #CJK UNIFIED IDEOGRAPH
+  {0xE65A, 0x89E7}, //6137 #CJK UNIFIED IDEOGRAPH
+  {0xE65B, 0x89F4}, //6138 #CJK UNIFIED IDEOGRAPH
+  {0xE65C, 0x89F8}, //6139 #CJK UNIFIED IDEOGRAPH
+  {0xE65D, 0x8A03}, //6140 #CJK UNIFIED IDEOGRAPH
+  {0xE65E, 0x8A16}, //6141 #CJK UNIFIED IDEOGRAPH
+  {0xE65F, 0x8A10}, //6142 #CJK UNIFIED IDEOGRAPH
+  {0xE660, 0x8A0C}, //6143 #CJK UNIFIED IDEOGRAPH
+  {0xE661, 0x8A1B}, //6144 #CJK UNIFIED IDEOGRAPH
+  {0xE662, 0x8A1D}, //6145 #CJK UNIFIED IDEOGRAPH
+  {0xE663, 0x8A25}, //6146 #CJK UNIFIED IDEOGRAPH
+  {0xE664, 0x8A36}, //6147 #CJK UNIFIED IDEOGRAPH
+  {0xE665, 0x8A41}, //6148 #CJK UNIFIED IDEOGRAPH
+  {0xE666, 0x8A5B}, //6149 #CJK UNIFIED IDEOGRAPH
+  {0xE667, 0x8A52}, //6150 #CJK UNIFIED IDEOGRAPH
+  {0xE668, 0x8A46}, //6151 #CJK UNIFIED IDEOGRAPH
+  {0xE669, 0x8A48}, //6152 #CJK UNIFIED IDEOGRAPH
+  {0xE66A, 0x8A7C}, //6153 #CJK UNIFIED IDEOGRAPH
+  {0xE66B, 0x8A6D}, //6154 #CJK UNIFIED IDEOGRAPH
+  {0xE66C, 0x8A6C}, //6155 #CJK UNIFIED IDEOGRAPH
+  {0xE66D, 0x8A62}, //6156 #CJK UNIFIED IDEOGRAPH
+  {0xE66E, 0x8A85}, //6157 #CJK UNIFIED IDEOGRAPH
+  {0xE66F, 0x8A82}, //6158 #CJK UNIFIED IDEOGRAPH
+  {0xE670, 0x8A84}, //6159 #CJK UNIFIED IDEOGRAPH
+  {0xE671, 0x8AA8}, //6160 #CJK UNIFIED IDEOGRAPH
+  {0xE672, 0x8AA1}, //6161 #CJK UNIFIED IDEOGRAPH
+  {0xE673, 0x8A91}, //6162 #CJK UNIFIED IDEOGRAPH
+  {0xE674, 0x8AA5}, //6163 #CJK UNIFIED IDEOGRAPH
+  {0xE675, 0x8AA6}, //6164 #CJK UNIFIED IDEOGRAPH
+  {0xE676, 0x8A9A}, //6165 #CJK UNIFIED IDEOGRAPH
+  {0xE677, 0x8AA3}, //6166 #CJK UNIFIED IDEOGRAPH
+  {0xE678, 0x8AC4}, //6167 #CJK UNIFIED IDEOGRAPH
+  {0xE679, 0x8ACD}, //6168 #CJK UNIFIED IDEOGRAPH
+  {0xE67A, 0x8AC2}, //6169 #CJK UNIFIED IDEOGRAPH
+  {0xE67B, 0x8ADA}, //6170 #CJK UNIFIED IDEOGRAPH
+  {0xE67C, 0x8AEB}, //6171 #CJK UNIFIED IDEOGRAPH
+  {0xE67D, 0x8AF3}, //6172 #CJK UNIFIED IDEOGRAPH
+  {0xE67E, 0x8AE7}, //6173 #CJK UNIFIED IDEOGRAPH
+  {0xE680, 0x8AE4}, //6174 #CJK UNIFIED IDEOGRAPH
+  {0xE681, 0x8AF1}, //6175 #CJK UNIFIED IDEOGRAPH
+  {0xE682, 0x8B14}, //6176 #CJK UNIFIED IDEOGRAPH
+  {0xE683, 0x8AE0}, //6177 #CJK UNIFIED IDEOGRAPH
+  {0xE684, 0x8AE2}, //6178 #CJK UNIFIED IDEOGRAPH
+  {0xE685, 0x8AF7}, //6179 #CJK UNIFIED IDEOGRAPH
+  {0xE686, 0x8ADE}, //6180 #CJK UNIFIED IDEOGRAPH
+  {0xE687, 0x8ADB}, //6181 #CJK UNIFIED IDEOGRAPH
+  {0xE688, 0x8B0C}, //6182 #CJK UNIFIED IDEOGRAPH
+  {0xE689, 0x8B07}, //6183 #CJK UNIFIED IDEOGRAPH
+  {0xE68A, 0x8B1A}, //6184 #CJK UNIFIED IDEOGRAPH
+  {0xE68B, 0x8AE1}, //6185 #CJK UNIFIED IDEOGRAPH
+  {0xE68C, 0x8B16}, //6186 #CJK UNIFIED IDEOGRAPH
+  {0xE68D, 0x8B10}, //6187 #CJK UNIFIED IDEOGRAPH
+  {0xE68E, 0x8B17}, //6188 #CJK UNIFIED IDEOGRAPH
+  {0xE68F, 0x8B20}, //6189 #CJK UNIFIED IDEOGRAPH
+  {0xE690, 0x8B33}, //6190 #CJK UNIFIED IDEOGRAPH
+  {0xE691, 0x97AB}, //6191 #CJK UNIFIED IDEOGRAPH
+  {0xE692, 0x8B26}, //6192 #CJK UNIFIED IDEOGRAPH
+  {0xE693, 0x8B2B}, //6193 #CJK UNIFIED IDEOGRAPH
+  {0xE694, 0x8B3E}, //6194 #CJK UNIFIED IDEOGRAPH
+  {0xE695, 0x8B28}, //6195 #CJK UNIFIED IDEOGRAPH
+  {0xE696, 0x8B41}, //6196 #CJK UNIFIED IDEOGRAPH
+  {0xE697, 0x8B4C}, //6197 #CJK UNIFIED IDEOGRAPH
+  {0xE698, 0x8B4F}, //6198 #CJK UNIFIED IDEOGRAPH
+  {0xE699, 0x8B4E}, //6199 #CJK UNIFIED IDEOGRAPH
+  {0xE69A, 0x8B49}, //6200 #CJK UNIFIED IDEOGRAPH
+  {0xE69B, 0x8B56}, //6201 #CJK UNIFIED IDEOGRAPH
+  {0xE69C, 0x8B5B}, //6202 #CJK UNIFIED IDEOGRAPH
+  {0xE69D, 0x8B5A}, //6203 #CJK UNIFIED IDEOGRAPH
+  {0xE69E, 0x8B6B}, //6204 #CJK UNIFIED IDEOGRAPH
+  {0xE69F, 0x8B5F}, //6205 #CJK UNIFIED IDEOGRAPH
+  {0xE6A0, 0x8B6C}, //6206 #CJK UNIFIED IDEOGRAPH
+  {0xE6A1, 0x8B6F}, //6207 #CJK UNIFIED IDEOGRAPH
+  {0xE6A2, 0x8B74}, //6208 #CJK UNIFIED IDEOGRAPH
+  {0xE6A3, 0x8B7D}, //6209 #CJK UNIFIED IDEOGRAPH
+  {0xE6A4, 0x8B80}, //6210 #CJK UNIFIED IDEOGRAPH
+  {0xE6A5, 0x8B8C}, //6211 #CJK UNIFIED IDEOGRAPH
+  {0xE6A6, 0x8B8E}, //6212 #CJK UNIFIED IDEOGRAPH
+  {0xE6A7, 0x8B92}, //6213 #CJK UNIFIED IDEOGRAPH
+  {0xE6A8, 0x8B93}, //6214 #CJK UNIFIED IDEOGRAPH
+  {0xE6A9, 0x8B96}, //6215 #CJK UNIFIED IDEOGRAPH
+  {0xE6AA, 0x8B99}, //6216 #CJK UNIFIED IDEOGRAPH
+  {0xE6AB, 0x8B9A}, //6217 #CJK UNIFIED IDEOGRAPH
+  {0xE6AC, 0x8C3A}, //6218 #CJK UNIFIED IDEOGRAPH
+  {0xE6AD, 0x8C41}, //6219 #CJK UNIFIED IDEOGRAPH
+  {0xE6AE, 0x8C3F}, //6220 #CJK UNIFIED IDEOGRAPH
+  {0xE6AF, 0x8C48}, //6221 #CJK UNIFIED IDEOGRAPH
+  {0xE6B0, 0x8C4C}, //6222 #CJK UNIFIED IDEOGRAPH
+  {0xE6B1, 0x8C4E}, //6223 #CJK UNIFIED IDEOGRAPH
+  {0xE6B2, 0x8C50}, //6224 #CJK UNIFIED IDEOGRAPH
+  {0xE6B3, 0x8C55}, //6225 #CJK UNIFIED IDEOGRAPH
+  {0xE6B4, 0x8C62}, //6226 #CJK UNIFIED IDEOGRAPH
+  {0xE6B5, 0x8C6C}, //6227 #CJK UNIFIED IDEOGRAPH
+  {0xE6B6, 0x8C78}, //6228 #CJK UNIFIED IDEOGRAPH
+  {0xE6B7, 0x8C7A}, //6229 #CJK UNIFIED IDEOGRAPH
+  {0xE6B8, 0x8C82}, //6230 #CJK UNIFIED IDEOGRAPH
+  {0xE6B9, 0x8C89}, //6231 #CJK UNIFIED IDEOGRAPH
+  {0xE6BA, 0x8C85}, //6232 #CJK UNIFIED IDEOGRAPH
+  {0xE6BB, 0x8C8A}, //6233 #CJK UNIFIED IDEOGRAPH
+  {0xE6BC, 0x8C8D}, //6234 #CJK UNIFIED IDEOGRAPH
+  {0xE6BD, 0x8C8E}, //6235 #CJK UNIFIED IDEOGRAPH
+  {0xE6BE, 0x8C94}, //6236 #CJK UNIFIED IDEOGRAPH
+  {0xE6BF, 0x8C7C}, //6237 #CJK UNIFIED IDEOGRAPH
+  {0xE6C0, 0x8C98}, //6238 #CJK UNIFIED IDEOGRAPH
+  {0xE6C1, 0x621D}, //6239 #CJK UNIFIED IDEOGRAPH
+  {0xE6C2, 0x8CAD}, //6240 #CJK UNIFIED IDEOGRAPH
+  {0xE6C3, 0x8CAA}, //6241 #CJK UNIFIED IDEOGRAPH
+  {0xE6C4, 0x8CBD}, //6242 #CJK UNIFIED IDEOGRAPH
+  {0xE6C5, 0x8CB2}, //6243 #CJK UNIFIED IDEOGRAPH
+  {0xE6C6, 0x8CB3}, //6244 #CJK UNIFIED IDEOGRAPH
+  {0xE6C7, 0x8CAE}, //6245 #CJK UNIFIED IDEOGRAPH
+  {0xE6C8, 0x8CB6}, //6246 #CJK UNIFIED IDEOGRAPH
+  {0xE6C9, 0x8CC8}, //6247 #CJK UNIFIED IDEOGRAPH
+  {0xE6CA, 0x8CC1}, //6248 #CJK UNIFIED IDEOGRAPH
+  {0xE6CB, 0x8CE4}, //6249 #CJK UNIFIED IDEOGRAPH
+  {0xE6CC, 0x8CE3}, //6250 #CJK UNIFIED IDEOGRAPH
+  {0xE6CD, 0x8CDA}, //6251 #CJK UNIFIED IDEOGRAPH
+  {0xE6CE, 0x8CFD}, //6252 #CJK UNIFIED IDEOGRAPH
+  {0xE6CF, 0x8CFA}, //6253 #CJK UNIFIED IDEOGRAPH
+  {0xE6D0, 0x8CFB}, //6254 #CJK UNIFIED IDEOGRAPH
+  {0xE6D1, 0x8D04}, //6255 #CJK UNIFIED IDEOGRAPH
+  {0xE6D2, 0x8D05}, //6256 #CJK UNIFIED IDEOGRAPH
+  {0xE6D3, 0x8D0A}, //6257 #CJK UNIFIED IDEOGRAPH
+  {0xE6D4, 0x8D07}, //6258 #CJK UNIFIED IDEOGRAPH
+  {0xE6D5, 0x8D0F}, //6259 #CJK UNIFIED IDEOGRAPH
+  {0xE6D6, 0x8D0D}, //6260 #CJK UNIFIED IDEOGRAPH
+  {0xE6D7, 0x8D10}, //6261 #CJK UNIFIED IDEOGRAPH
+  {0xE6D8, 0x9F4E}, //6262 #CJK UNIFIED IDEOGRAPH
+  {0xE6D9, 0x8D13}, //6263 #CJK UNIFIED IDEOGRAPH
+  {0xE6DA, 0x8CCD}, //6264 #CJK UNIFIED IDEOGRAPH
+  {0xE6DB, 0x8D14}, //6265 #CJK UNIFIED IDEOGRAPH
+  {0xE6DC, 0x8D16}, //6266 #CJK UNIFIED IDEOGRAPH
+  {0xE6DD, 0x8D67}, //6267 #CJK UNIFIED IDEOGRAPH
+  {0xE6DE, 0x8D6D}, //6268 #CJK UNIFIED IDEOGRAPH
+  {0xE6DF, 0x8D71}, //6269 #CJK UNIFIED IDEOGRAPH
+  {0xE6E0, 0x8D73}, //6270 #CJK UNIFIED IDEOGRAPH
+  {0xE6E1, 0x8D81}, //6271 #CJK UNIFIED IDEOGRAPH
+  {0xE6E2, 0x8D99}, //6272 #CJK UNIFIED IDEOGRAPH
+  {0xE6E3, 0x8DC2}, //6273 #CJK UNIFIED IDEOGRAPH
+  {0xE6E4, 0x8DBE}, //6274 #CJK UNIFIED IDEOGRAPH
+  {0xE6E5, 0x8DBA}, //6275 #CJK UNIFIED IDEOGRAPH
+  {0xE6E6, 0x8DCF}, //6276 #CJK UNIFIED IDEOGRAPH
+  {0xE6E7, 0x8DDA}, //6277 #CJK UNIFIED IDEOGRAPH
+  {0xE6E8, 0x8DD6}, //6278 #CJK UNIFIED IDEOGRAPH
+  {0xE6E9, 0x8DCC}, //6279 #CJK UNIFIED IDEOGRAPH
+  {0xE6EA, 0x8DDB}, //6280 #CJK UNIFIED IDEOGRAPH
+  {0xE6EB, 0x8DCB}, //6281 #CJK UNIFIED IDEOGRAPH
+  {0xE6EC, 0x8DEA}, //6282 #CJK UNIFIED IDEOGRAPH
+  {0xE6ED, 0x8DEB}, //6283 #CJK UNIFIED IDEOGRAPH
+  {0xE6EE, 0x8DDF}, //6284 #CJK UNIFIED IDEOGRAPH
+  {0xE6EF, 0x8DE3}, //6285 #CJK UNIFIED IDEOGRAPH
+  {0xE6F0, 0x8DFC}, //6286 #CJK UNIFIED IDEOGRAPH
+  {0xE6F1, 0x8E08}, //6287 #CJK UNIFIED IDEOGRAPH
+  {0xE6F2, 0x8E09}, //6288 #CJK UNIFIED IDEOGRAPH
+  {0xE6F3, 0x8DFF}, //6289 #CJK UNIFIED IDEOGRAPH
+  {0xE6F4, 0x8E1D}, //6290 #CJK UNIFIED IDEOGRAPH
+  {0xE6F5, 0x8E1E}, //6291 #CJK UNIFIED IDEOGRAPH
+  {0xE6F6, 0x8E10}, //6292 #CJK UNIFIED IDEOGRAPH
+  {0xE6F7, 0x8E1F}, //6293 #CJK UNIFIED IDEOGRAPH
+  {0xE6F8, 0x8E42}, //6294 #CJK UNIFIED IDEOGRAPH
+  {0xE6F9, 0x8E35}, //6295 #CJK UNIFIED IDEOGRAPH
+  {0xE6FA, 0x8E30}, //6296 #CJK UNIFIED IDEOGRAPH
+  {0xE6FB, 0x8E34}, //6297 #CJK UNIFIED IDEOGRAPH
+  {0xE6FC, 0x8E4A}, //6298 #CJK UNIFIED IDEOGRAPH
+  {0xE740, 0x8E47}, //6299 #CJK UNIFIED IDEOGRAPH
+  {0xE741, 0x8E49}, //6300 #CJK UNIFIED IDEOGRAPH
+  {0xE742, 0x8E4C}, //6301 #CJK UNIFIED IDEOGRAPH
+  {0xE743, 0x8E50}, //6302 #CJK UNIFIED IDEOGRAPH
+  {0xE744, 0x8E48}, //6303 #CJK UNIFIED IDEOGRAPH
+  {0xE745, 0x8E59}, //6304 #CJK UNIFIED IDEOGRAPH
+  {0xE746, 0x8E64}, //6305 #CJK UNIFIED IDEOGRAPH
+  {0xE747, 0x8E60}, //6306 #CJK UNIFIED IDEOGRAPH
+  {0xE748, 0x8E2A}, //6307 #CJK UNIFIED IDEOGRAPH
+  {0xE749, 0x8E63}, //6308 #CJK UNIFIED IDEOGRAPH
+  {0xE74A, 0x8E55}, //6309 #CJK UNIFIED IDEOGRAPH
+  {0xE74B, 0x8E76}, //6310 #CJK UNIFIED IDEOGRAPH
+  {0xE74C, 0x8E72}, //6311 #CJK UNIFIED IDEOGRAPH
+  {0xE74D, 0x8E7C}, //6312 #CJK UNIFIED IDEOGRAPH
+  {0xE74E, 0x8E81}, //6313 #CJK UNIFIED IDEOGRAPH
+  {0xE74F, 0x8E87}, //6314 #CJK UNIFIED IDEOGRAPH
+  {0xE750, 0x8E85}, //6315 #CJK UNIFIED IDEOGRAPH
+  {0xE751, 0x8E84}, //6316 #CJK UNIFIED IDEOGRAPH
+  {0xE752, 0x8E8B}, //6317 #CJK UNIFIED IDEOGRAPH
+  {0xE753, 0x8E8A}, //6318 #CJK UNIFIED IDEOGRAPH
+  {0xE754, 0x8E93}, //6319 #CJK UNIFIED IDEOGRAPH
+  {0xE755, 0x8E91}, //6320 #CJK UNIFIED IDEOGRAPH
+  {0xE756, 0x8E94}, //6321 #CJK UNIFIED IDEOGRAPH
+  {0xE757, 0x8E99}, //6322 #CJK UNIFIED IDEOGRAPH
+  {0xE758, 0x8EAA}, //6323 #CJK UNIFIED IDEOGRAPH
+  {0xE759, 0x8EA1}, //6324 #CJK UNIFIED IDEOGRAPH
+  {0xE75A, 0x8EAC}, //6325 #CJK UNIFIED IDEOGRAPH
+  {0xE75B, 0x8EB0}, //6326 #CJK UNIFIED IDEOGRAPH
+  {0xE75C, 0x8EC6}, //6327 #CJK UNIFIED IDEOGRAPH
+  {0xE75D, 0x8EB1}, //6328 #CJK UNIFIED IDEOGRAPH
+  {0xE75E, 0x8EBE}, //6329 #CJK UNIFIED IDEOGRAPH
+  {0xE75F, 0x8EC5}, //6330 #CJK UNIFIED IDEOGRAPH
+  {0xE760, 0x8EC8}, //6331 #CJK UNIFIED IDEOGRAPH
+  {0xE761, 0x8ECB}, //6332 #CJK UNIFIED IDEOGRAPH
+  {0xE762, 0x8EDB}, //6333 #CJK UNIFIED IDEOGRAPH
+  {0xE763, 0x8EE3}, //6334 #CJK UNIFIED IDEOGRAPH
+  {0xE764, 0x8EFC}, //6335 #CJK UNIFIED IDEOGRAPH
+  {0xE765, 0x8EFB}, //6336 #CJK UNIFIED IDEOGRAPH
+  {0xE766, 0x8EEB}, //6337 #CJK UNIFIED IDEOGRAPH
+  {0xE767, 0x8EFE}, //6338 #CJK UNIFIED IDEOGRAPH
+  {0xE768, 0x8F0A}, //6339 #CJK UNIFIED IDEOGRAPH
+  {0xE769, 0x8F05}, //6340 #CJK UNIFIED IDEOGRAPH
+  {0xE76A, 0x8F15}, //6341 #CJK UNIFIED IDEOGRAPH
+  {0xE76B, 0x8F12}, //6342 #CJK UNIFIED IDEOGRAPH
+  {0xE76C, 0x8F19}, //6343 #CJK UNIFIED IDEOGRAPH
+  {0xE76D, 0x8F13}, //6344 #CJK UNIFIED IDEOGRAPH
+  {0xE76E, 0x8F1C}, //6345 #CJK UNIFIED IDEOGRAPH
+  {0xE76F, 0x8F1F}, //6346 #CJK UNIFIED IDEOGRAPH
+  {0xE770, 0x8F1B}, //6347 #CJK UNIFIED IDEOGRAPH
+  {0xE771, 0x8F0C}, //6348 #CJK UNIFIED IDEOGRAPH
+  {0xE772, 0x8F26}, //6349 #CJK UNIFIED IDEOGRAPH
+  {0xE773, 0x8F33}, //6350 #CJK UNIFIED IDEOGRAPH
+  {0xE774, 0x8F3B}, //6351 #CJK UNIFIED IDEOGRAPH
+  {0xE775, 0x8F39}, //6352 #CJK UNIFIED IDEOGRAPH
+  {0xE776, 0x8F45}, //6353 #CJK UNIFIED IDEOGRAPH
+  {0xE777, 0x8F42}, //6354 #CJK UNIFIED IDEOGRAPH
+  {0xE778, 0x8F3E}, //6355 #CJK UNIFIED IDEOGRAPH
+  {0xE779, 0x8F4C}, //6356 #CJK UNIFIED IDEOGRAPH
+  {0xE77A, 0x8F49}, //6357 #CJK UNIFIED IDEOGRAPH
+  {0xE77B, 0x8F46}, //6358 #CJK UNIFIED IDEOGRAPH
+  {0xE77C, 0x8F4E}, //6359 #CJK UNIFIED IDEOGRAPH
+  {0xE77D, 0x8F57}, //6360 #CJK UNIFIED IDEOGRAPH
+  {0xE77E, 0x8F5C}, //6361 #CJK UNIFIED IDEOGRAPH
+  {0xE780, 0x8F62}, //6362 #CJK UNIFIED IDEOGRAPH
+  {0xE781, 0x8F63}, //6363 #CJK UNIFIED IDEOGRAPH
+  {0xE782, 0x8F64}, //6364 #CJK UNIFIED IDEOGRAPH
+  {0xE783, 0x8F9C}, //6365 #CJK UNIFIED IDEOGRAPH
+  {0xE784, 0x8F9F}, //6366 #CJK UNIFIED IDEOGRAPH
+  {0xE785, 0x8FA3}, //6367 #CJK UNIFIED IDEOGRAPH
+  {0xE786, 0x8FAD}, //6368 #CJK UNIFIED IDEOGRAPH
+  {0xE787, 0x8FAF}, //6369 #CJK UNIFIED IDEOGRAPH
+  {0xE788, 0x8FB7}, //6370 #CJK UNIFIED IDEOGRAPH
+  {0xE789, 0x8FDA}, //6371 #CJK UNIFIED IDEOGRAPH
+  {0xE78A, 0x8FE5}, //6372 #CJK UNIFIED IDEOGRAPH
+  {0xE78B, 0x8FE2}, //6373 #CJK UNIFIED IDEOGRAPH
+  {0xE78C, 0x8FEA}, //6374 #CJK UNIFIED IDEOGRAPH
+  {0xE78D, 0x8FEF}, //6375 #CJK UNIFIED IDEOGRAPH
+  {0xE78E, 0x9087}, //6376 #CJK UNIFIED IDEOGRAPH
+  {0xE78F, 0x8FF4}, //6377 #CJK UNIFIED IDEOGRAPH
+  {0xE790, 0x9005}, //6378 #CJK UNIFIED IDEOGRAPH
+  {0xE791, 0x8FF9}, //6379 #CJK UNIFIED IDEOGRAPH
+  {0xE792, 0x8FFA}, //6380 #CJK UNIFIED IDEOGRAPH
+  {0xE793, 0x9011}, //6381 #CJK UNIFIED IDEOGRAPH
+  {0xE794, 0x9015}, //6382 #CJK UNIFIED IDEOGRAPH
+  {0xE795, 0x9021}, //6383 #CJK UNIFIED IDEOGRAPH
+  {0xE796, 0x900D}, //6384 #CJK UNIFIED IDEOGRAPH
+  {0xE797, 0x901E}, //6385 #CJK UNIFIED IDEOGRAPH
+  {0xE798, 0x9016}, //6386 #CJK UNIFIED IDEOGRAPH
+  {0xE799, 0x900B}, //6387 #CJK UNIFIED IDEOGRAPH
+  {0xE79A, 0x9027}, //6388 #CJK UNIFIED IDEOGRAPH
+  {0xE79B, 0x9036}, //6389 #CJK UNIFIED IDEOGRAPH
+  {0xE79C, 0x9035}, //6390 #CJK UNIFIED IDEOGRAPH
+  {0xE79D, 0x9039}, //6391 #CJK UNIFIED IDEOGRAPH
+  {0xE79E, 0x8FF8}, //6392 #CJK UNIFIED IDEOGRAPH
+  {0xE79F, 0x904F}, //6393 #CJK UNIFIED IDEOGRAPH
+  {0xE7A0, 0x9050}, //6394 #CJK UNIFIED IDEOGRAPH
+  {0xE7A1, 0x9051}, //6395 #CJK UNIFIED IDEOGRAPH
+  {0xE7A2, 0x9052}, //6396 #CJK UNIFIED IDEOGRAPH
+  {0xE7A3, 0x900E}, //6397 #CJK UNIFIED IDEOGRAPH
+  {0xE7A4, 0x9049}, //6398 #CJK UNIFIED IDEOGRAPH
+  {0xE7A5, 0x903E}, //6399 #CJK UNIFIED IDEOGRAPH
+  {0xE7A6, 0x9056}, //6400 #CJK UNIFIED IDEOGRAPH
+  {0xE7A7, 0x9058}, //6401 #CJK UNIFIED IDEOGRAPH
+  {0xE7A8, 0x905E}, //6402 #CJK UNIFIED IDEOGRAPH
+  {0xE7A9, 0x9068}, //6403 #CJK UNIFIED IDEOGRAPH
+  {0xE7AA, 0x906F}, //6404 #CJK UNIFIED IDEOGRAPH
+  {0xE7AB, 0x9076}, //6405 #CJK UNIFIED IDEOGRAPH
+  {0xE7AC, 0x96A8}, //6406 #CJK UNIFIED IDEOGRAPH
+  {0xE7AD, 0x9072}, //6407 #CJK UNIFIED IDEOGRAPH
+  {0xE7AE, 0x9082}, //6408 #CJK UNIFIED IDEOGRAPH
+  {0xE7AF, 0x907D}, //6409 #CJK UNIFIED IDEOGRAPH
+  {0xE7B0, 0x9081}, //6410 #CJK UNIFIED IDEOGRAPH
+  {0xE7B1, 0x9080}, //6411 #CJK UNIFIED IDEOGRAPH
+  {0xE7B2, 0x908A}, //6412 #CJK UNIFIED IDEOGRAPH
+  {0xE7B3, 0x9089}, //6413 #CJK UNIFIED IDEOGRAPH
+  {0xE7B4, 0x908F}, //6414 #CJK UNIFIED IDEOGRAPH
+  {0xE7B5, 0x90A8}, //6415 #CJK UNIFIED IDEOGRAPH
+  {0xE7B6, 0x90AF}, //6416 #CJK UNIFIED IDEOGRAPH
+  {0xE7B7, 0x90B1}, //6417 #CJK UNIFIED IDEOGRAPH
+  {0xE7B8, 0x90B5}, //6418 #CJK UNIFIED IDEOGRAPH
+  {0xE7B9, 0x90E2}, //6419 #CJK UNIFIED IDEOGRAPH
+  {0xE7BA, 0x90E4}, //6420 #CJK UNIFIED IDEOGRAPH
+  {0xE7BB, 0x6248}, //6421 #CJK UNIFIED IDEOGRAPH
+  {0xE7BC, 0x90DB}, //6422 #CJK UNIFIED IDEOGRAPH
+  {0xE7BD, 0x9102}, //6423 #CJK UNIFIED IDEOGRAPH
+  {0xE7BE, 0x9112}, //6424 #CJK UNIFIED IDEOGRAPH
+  {0xE7BF, 0x9119}, //6425 #CJK UNIFIED IDEOGRAPH
+  {0xE7C0, 0x9132}, //6426 #CJK UNIFIED IDEOGRAPH
+  {0xE7C1, 0x9130}, //6427 #CJK UNIFIED IDEOGRAPH
+  {0xE7C2, 0x914A}, //6428 #CJK UNIFIED IDEOGRAPH
+  {0xE7C3, 0x9156}, //6429 #CJK UNIFIED IDEOGRAPH
+  {0xE7C4, 0x9158}, //6430 #CJK UNIFIED IDEOGRAPH
+  {0xE7C5, 0x9163}, //6431 #CJK UNIFIED IDEOGRAPH
+  {0xE7C6, 0x9165}, //6432 #CJK UNIFIED IDEOGRAPH
+  {0xE7C7, 0x9169}, //6433 #CJK UNIFIED IDEOGRAPH
+  {0xE7C8, 0x9173}, //6434 #CJK UNIFIED IDEOGRAPH
+  {0xE7C9, 0x9172}, //6435 #CJK UNIFIED IDEOGRAPH
+  {0xE7CA, 0x918B}, //6436 #CJK UNIFIED IDEOGRAPH
+  {0xE7CB, 0x9189}, //6437 #CJK UNIFIED IDEOGRAPH
+  {0xE7CC, 0x9182}, //6438 #CJK UNIFIED IDEOGRAPH
+  {0xE7CD, 0x91A2}, //6439 #CJK UNIFIED IDEOGRAPH
+  {0xE7CE, 0x91AB}, //6440 #CJK UNIFIED IDEOGRAPH
+  {0xE7CF, 0x91AF}, //6441 #CJK UNIFIED IDEOGRAPH
+  {0xE7D0, 0x91AA}, //6442 #CJK UNIFIED IDEOGRAPH
+  {0xE7D1, 0x91B5}, //6443 #CJK UNIFIED IDEOGRAPH
+  {0xE7D2, 0x91B4}, //6444 #CJK UNIFIED IDEOGRAPH
+  {0xE7D3, 0x91BA}, //6445 #CJK UNIFIED IDEOGRAPH
+  {0xE7D4, 0x91C0}, //6446 #CJK UNIFIED IDEOGRAPH
+  {0xE7D5, 0x91C1}, //6447 #CJK UNIFIED IDEOGRAPH
+  {0xE7D6, 0x91C9}, //6448 #CJK UNIFIED IDEOGRAPH
+  {0xE7D7, 0x91CB}, //6449 #CJK UNIFIED IDEOGRAPH
+  {0xE7D8, 0x91D0}, //6450 #CJK UNIFIED IDEOGRAPH
+  {0xE7D9, 0x91D6}, //6451 #CJK UNIFIED IDEOGRAPH
+  {0xE7DA, 0x91DF}, //6452 #CJK UNIFIED IDEOGRAPH
+  {0xE7DB, 0x91E1}, //6453 #CJK UNIFIED IDEOGRAPH
+  {0xE7DC, 0x91DB}, //6454 #CJK UNIFIED IDEOGRAPH
+  {0xE7DD, 0x91FC}, //6455 #CJK UNIFIED IDEOGRAPH
+  {0xE7DE, 0x91F5}, //6456 #CJK UNIFIED IDEOGRAPH
+  {0xE7DF, 0x91F6}, //6457 #CJK UNIFIED IDEOGRAPH
+  {0xE7E0, 0x921E}, //6458 #CJK UNIFIED IDEOGRAPH
+  {0xE7E1, 0x91FF}, //6459 #CJK UNIFIED IDEOGRAPH
+  {0xE7E2, 0x9214}, //6460 #CJK UNIFIED IDEOGRAPH
+  {0xE7E3, 0x922C}, //6461 #CJK UNIFIED IDEOGRAPH
+  {0xE7E4, 0x9215}, //6462 #CJK UNIFIED IDEOGRAPH
+  {0xE7E5, 0x9211}, //6463 #CJK UNIFIED IDEOGRAPH
+  {0xE7E6, 0x925E}, //6464 #CJK UNIFIED IDEOGRAPH
+  {0xE7E7, 0x9257}, //6465 #CJK UNIFIED IDEOGRAPH
+  {0xE7E8, 0x9245}, //6466 #CJK UNIFIED IDEOGRAPH
+  {0xE7E9, 0x9249}, //6467 #CJK UNIFIED IDEOGRAPH
+  {0xE7EA, 0x9264}, //6468 #CJK UNIFIED IDEOGRAPH
+  {0xE7EB, 0x9248}, //6469 #CJK UNIFIED IDEOGRAPH
+  {0xE7EC, 0x9295}, //6470 #CJK UNIFIED IDEOGRAPH
+  {0xE7ED, 0x923F}, //6471 #CJK UNIFIED IDEOGRAPH
+  {0xE7EE, 0x924B}, //6472 #CJK UNIFIED IDEOGRAPH
+  {0xE7EF, 0x9250}, //6473 #CJK UNIFIED IDEOGRAPH
+  {0xE7F0, 0x929C}, //6474 #CJK UNIFIED IDEOGRAPH
+  {0xE7F1, 0x9296}, //6475 #CJK UNIFIED IDEOGRAPH
+  {0xE7F2, 0x9293}, //6476 #CJK UNIFIED IDEOGRAPH
+  {0xE7F3, 0x929B}, //6477 #CJK UNIFIED IDEOGRAPH
+  {0xE7F4, 0x925A}, //6478 #CJK UNIFIED IDEOGRAPH
+  {0xE7F5, 0x92CF}, //6479 #CJK UNIFIED IDEOGRAPH
+  {0xE7F6, 0x92B9}, //6480 #CJK UNIFIED IDEOGRAPH
+  {0xE7F7, 0x92B7}, //6481 #CJK UNIFIED IDEOGRAPH
+  {0xE7F8, 0x92E9}, //6482 #CJK UNIFIED IDEOGRAPH
+  {0xE7F9, 0x930F}, //6483 #CJK UNIFIED IDEOGRAPH
+  {0xE7FA, 0x92FA}, //6484 #CJK UNIFIED IDEOGRAPH
+  {0xE7FB, 0x9344}, //6485 #CJK UNIFIED IDEOGRAPH
+  {0xE7FC, 0x932E}, //6486 #CJK UNIFIED IDEOGRAPH
+  {0xE840, 0x9319}, //6487 #CJK UNIFIED IDEOGRAPH
+  {0xE841, 0x9322}, //6488 #CJK UNIFIED IDEOGRAPH
+  {0xE842, 0x931A}, //6489 #CJK UNIFIED IDEOGRAPH
+  {0xE843, 0x9323}, //6490 #CJK UNIFIED IDEOGRAPH
+  {0xE844, 0x933A}, //6491 #CJK UNIFIED IDEOGRAPH
+  {0xE845, 0x9335}, //6492 #CJK UNIFIED IDEOGRAPH
+  {0xE846, 0x933B}, //6493 #CJK UNIFIED IDEOGRAPH
+  {0xE847, 0x935C}, //6494 #CJK UNIFIED IDEOGRAPH
+  {0xE848, 0x9360}, //6495 #CJK UNIFIED IDEOGRAPH
+  {0xE849, 0x937C}, //6496 #CJK UNIFIED IDEOGRAPH
+  {0xE84A, 0x936E}, //6497 #CJK UNIFIED IDEOGRAPH
+  {0xE84B, 0x9356}, //6498 #CJK UNIFIED IDEOGRAPH
+  {0xE84C, 0x93B0}, //6499 #CJK UNIFIED IDEOGRAPH
+  {0xE84D, 0x93AC}, //6500 #CJK UNIFIED IDEOGRAPH
+  {0xE84E, 0x93AD}, //6501 #CJK UNIFIED IDEOGRAPH
+  {0xE84F, 0x9394}, //6502 #CJK UNIFIED IDEOGRAPH
+  {0xE850, 0x93B9}, //6503 #CJK UNIFIED IDEOGRAPH
+  {0xE851, 0x93D6}, //6504 #CJK UNIFIED IDEOGRAPH
+  {0xE852, 0x93D7}, //6505 #CJK UNIFIED IDEOGRAPH
+  {0xE853, 0x93E8}, //6506 #CJK UNIFIED IDEOGRAPH
+  {0xE854, 0x93E5}, //6507 #CJK UNIFIED IDEOGRAPH
+  {0xE855, 0x93D8}, //6508 #CJK UNIFIED IDEOGRAPH
+  {0xE856, 0x93C3}, //6509 #CJK UNIFIED IDEOGRAPH
+  {0xE857, 0x93DD}, //6510 #CJK UNIFIED IDEOGRAPH
+  {0xE858, 0x93D0}, //6511 #CJK UNIFIED IDEOGRAPH
+  {0xE859, 0x93C8}, //6512 #CJK UNIFIED IDEOGRAPH
+  {0xE85A, 0x93E4}, //6513 #CJK UNIFIED IDEOGRAPH
+  {0xE85B, 0x941A}, //6514 #CJK UNIFIED IDEOGRAPH
+  {0xE85C, 0x9414}, //6515 #CJK UNIFIED IDEOGRAPH
+  {0xE85D, 0x9413}, //6516 #CJK UNIFIED IDEOGRAPH
+  {0xE85E, 0x9403}, //6517 #CJK UNIFIED IDEOGRAPH
+  {0xE85F, 0x9407}, //6518 #CJK UNIFIED IDEOGRAPH
+  {0xE860, 0x9410}, //6519 #CJK UNIFIED IDEOGRAPH
+  {0xE861, 0x9436}, //6520 #CJK UNIFIED IDEOGRAPH
+  {0xE862, 0x942B}, //6521 #CJK UNIFIED IDEOGRAPH
+  {0xE863, 0x9435}, //6522 #CJK UNIFIED IDEOGRAPH
+  {0xE864, 0x9421}, //6523 #CJK UNIFIED IDEOGRAPH
+  {0xE865, 0x943A}, //6524 #CJK UNIFIED IDEOGRAPH
+  {0xE866, 0x9441}, //6525 #CJK UNIFIED IDEOGRAPH
+  {0xE867, 0x9452}, //6526 #CJK UNIFIED IDEOGRAPH
+  {0xE868, 0x9444}, //6527 #CJK UNIFIED IDEOGRAPH
+  {0xE869, 0x945B}, //6528 #CJK UNIFIED IDEOGRAPH
+  {0xE86A, 0x9460}, //6529 #CJK UNIFIED IDEOGRAPH
+  {0xE86B, 0x9462}, //6530 #CJK UNIFIED IDEOGRAPH
+  {0xE86C, 0x945E}, //6531 #CJK UNIFIED IDEOGRAPH
+  {0xE86D, 0x946A}, //6532 #CJK UNIFIED IDEOGRAPH
+  {0xE86E, 0x9229}, //6533 #CJK UNIFIED IDEOGRAPH
+  {0xE86F, 0x9470}, //6534 #CJK UNIFIED IDEOGRAPH
+  {0xE870, 0x9475}, //6535 #CJK UNIFIED IDEOGRAPH
+  {0xE871, 0x9477}, //6536 #CJK UNIFIED IDEOGRAPH
+  {0xE872, 0x947D}, //6537 #CJK UNIFIED IDEOGRAPH
+  {0xE873, 0x945A}, //6538 #CJK UNIFIED IDEOGRAPH
+  {0xE874, 0x947C}, //6539 #CJK UNIFIED IDEOGRAPH
+  {0xE875, 0x947E}, //6540 #CJK UNIFIED IDEOGRAPH
+  {0xE876, 0x9481}, //6541 #CJK UNIFIED IDEOGRAPH
+  {0xE877, 0x947F}, //6542 #CJK UNIFIED IDEOGRAPH
+  {0xE878, 0x9582}, //6543 #CJK UNIFIED IDEOGRAPH
+  {0xE879, 0x9587}, //6544 #CJK UNIFIED IDEOGRAPH
+  {0xE87A, 0x958A}, //6545 #CJK UNIFIED IDEOGRAPH
+  {0xE87B, 0x9594}, //6546 #CJK UNIFIED IDEOGRAPH
+  {0xE87C, 0x9596}, //6547 #CJK UNIFIED IDEOGRAPH
+  {0xE87D, 0x9598}, //6548 #CJK UNIFIED IDEOGRAPH
+  {0xE87E, 0x9599}, //6549 #CJK UNIFIED IDEOGRAPH
+  {0xE880, 0x95A0}, //6550 #CJK UNIFIED IDEOGRAPH
+  {0xE881, 0x95A8}, //6551 #CJK UNIFIED IDEOGRAPH
+  {0xE882, 0x95A7}, //6552 #CJK UNIFIED IDEOGRAPH
+  {0xE883, 0x95AD}, //6553 #CJK UNIFIED IDEOGRAPH
+  {0xE884, 0x95BC}, //6554 #CJK UNIFIED IDEOGRAPH
+  {0xE885, 0x95BB}, //6555 #CJK UNIFIED IDEOGRAPH
+  {0xE886, 0x95B9}, //6556 #CJK UNIFIED IDEOGRAPH
+  {0xE887, 0x95BE}, //6557 #CJK UNIFIED IDEOGRAPH
+  {0xE888, 0x95CA}, //6558 #CJK UNIFIED IDEOGRAPH
+  {0xE889, 0x6FF6}, //6559 #CJK UNIFIED IDEOGRAPH
+  {0xE88A, 0x95C3}, //6560 #CJK UNIFIED IDEOGRAPH
+  {0xE88B, 0x95CD}, //6561 #CJK UNIFIED IDEOGRAPH
+  {0xE88C, 0x95CC}, //6562 #CJK UNIFIED IDEOGRAPH
+  {0xE88D, 0x95D5}, //6563 #CJK UNIFIED IDEOGRAPH
+  {0xE88E, 0x95D4}, //6564 #CJK UNIFIED IDEOGRAPH
+  {0xE88F, 0x95D6}, //6565 #CJK UNIFIED IDEOGRAPH
+  {0xE890, 0x95DC}, //6566 #CJK UNIFIED IDEOGRAPH
+  {0xE891, 0x95E1}, //6567 #CJK UNIFIED IDEOGRAPH
+  {0xE892, 0x95E5}, //6568 #CJK UNIFIED IDEOGRAPH
+  {0xE893, 0x95E2}, //6569 #CJK UNIFIED IDEOGRAPH
+  {0xE894, 0x9621}, //6570 #CJK UNIFIED IDEOGRAPH
+  {0xE895, 0x9628}, //6571 #CJK UNIFIED IDEOGRAPH
+  {0xE896, 0x962E}, //6572 #CJK UNIFIED IDEOGRAPH
+  {0xE897, 0x962F}, //6573 #CJK UNIFIED IDEOGRAPH
+  {0xE898, 0x9642}, //6574 #CJK UNIFIED IDEOGRAPH
+  {0xE899, 0x964C}, //6575 #CJK UNIFIED IDEOGRAPH
+  {0xE89A, 0x964F}, //6576 #CJK UNIFIED IDEOGRAPH
+  {0xE89B, 0x964B}, //6577 #CJK UNIFIED IDEOGRAPH
+  {0xE89C, 0x9677}, //6578 #CJK UNIFIED IDEOGRAPH
+  {0xE89D, 0x965C}, //6579 #CJK UNIFIED IDEOGRAPH
+  {0xE89E, 0x965E}, //6580 #CJK UNIFIED IDEOGRAPH
+  {0xE89F, 0x965D}, //6581 #CJK UNIFIED IDEOGRAPH
+  {0xE8A0, 0x965F}, //6582 #CJK UNIFIED IDEOGRAPH
+  {0xE8A1, 0x9666}, //6583 #CJK UNIFIED IDEOGRAPH
+  {0xE8A2, 0x9672}, //6584 #CJK UNIFIED IDEOGRAPH
+  {0xE8A3, 0x966C}, //6585 #CJK UNIFIED IDEOGRAPH
+  {0xE8A4, 0x968D}, //6586 #CJK UNIFIED IDEOGRAPH
+  {0xE8A5, 0x9698}, //6587 #CJK UNIFIED IDEOGRAPH
+  {0xE8A6, 0x9695}, //6588 #CJK UNIFIED IDEOGRAPH
+  {0xE8A7, 0x9697}, //6589 #CJK UNIFIED IDEOGRAPH
+  {0xE8A8, 0x96AA}, //6590 #CJK UNIFIED IDEOGRAPH
+  {0xE8A9, 0x96A7}, //6591 #CJK UNIFIED IDEOGRAPH
+  {0xE8AA, 0x96B1}, //6592 #CJK UNIFIED IDEOGRAPH
+  {0xE8AB, 0x96B2}, //6593 #CJK UNIFIED IDEOGRAPH
+  {0xE8AC, 0x96B0}, //6594 #CJK UNIFIED IDEOGRAPH
+  {0xE8AD, 0x96B4}, //6595 #CJK UNIFIED IDEOGRAPH
+  {0xE8AE, 0x96B6}, //6596 #CJK UNIFIED IDEOGRAPH
+  {0xE8AF, 0x96B8}, //6597 #CJK UNIFIED IDEOGRAPH
+  {0xE8B0, 0x96B9}, //6598 #CJK UNIFIED IDEOGRAPH
+  {0xE8B1, 0x96CE}, //6599 #CJK UNIFIED IDEOGRAPH
+  {0xE8B2, 0x96CB}, //6600 #CJK UNIFIED IDEOGRAPH
+  {0xE8B3, 0x96C9}, //6601 #CJK UNIFIED IDEOGRAPH
+  {0xE8B4, 0x96CD}, //6602 #CJK UNIFIED IDEOGRAPH
+  {0xE8B5, 0x894D}, //6603 #CJK UNIFIED IDEOGRAPH
+  {0xE8B6, 0x96DC}, //6604 #CJK UNIFIED IDEOGRAPH
+  {0xE8B7, 0x970D}, //6605 #CJK UNIFIED IDEOGRAPH
+  {0xE8B8, 0x96D5}, //6606 #CJK UNIFIED IDEOGRAPH
+  {0xE8B9, 0x96F9}, //6607 #CJK UNIFIED IDEOGRAPH
+  {0xE8BA, 0x9704}, //6608 #CJK UNIFIED IDEOGRAPH
+  {0xE8BB, 0x9706}, //6609 #CJK UNIFIED IDEOGRAPH
+  {0xE8BC, 0x9708}, //6610 #CJK UNIFIED IDEOGRAPH
+  {0xE8BD, 0x9713}, //6611 #CJK UNIFIED IDEOGRAPH
+  {0xE8BE, 0x970E}, //6612 #CJK UNIFIED IDEOGRAPH
+  {0xE8BF, 0x9711}, //6613 #CJK UNIFIED IDEOGRAPH
+  {0xE8C0, 0x970F}, //6614 #CJK UNIFIED IDEOGRAPH
+  {0xE8C1, 0x9716}, //6615 #CJK UNIFIED IDEOGRAPH
+  {0xE8C2, 0x9719}, //6616 #CJK UNIFIED IDEOGRAPH
+  {0xE8C3, 0x9724}, //6617 #CJK UNIFIED IDEOGRAPH
+  {0xE8C4, 0x972A}, //6618 #CJK UNIFIED IDEOGRAPH
+  {0xE8C5, 0x9730}, //6619 #CJK UNIFIED IDEOGRAPH
+  {0xE8C6, 0x9739}, //6620 #CJK UNIFIED IDEOGRAPH
+  {0xE8C7, 0x973D}, //6621 #CJK UNIFIED IDEOGRAPH
+  {0xE8C8, 0x973E}, //6622 #CJK UNIFIED IDEOGRAPH
+  {0xE8C9, 0x9744}, //6623 #CJK UNIFIED IDEOGRAPH
+  {0xE8CA, 0x9746}, //6624 #CJK UNIFIED IDEOGRAPH
+  {0xE8CB, 0x9748}, //6625 #CJK UNIFIED IDEOGRAPH
+  {0xE8CC, 0x9742}, //6626 #CJK UNIFIED IDEOGRAPH
+  {0xE8CD, 0x9749}, //6627 #CJK UNIFIED IDEOGRAPH
+  {0xE8CE, 0x975C}, //6628 #CJK UNIFIED IDEOGRAPH
+  {0xE8CF, 0x9760}, //6629 #CJK UNIFIED IDEOGRAPH
+  {0xE8D0, 0x9764}, //6630 #CJK UNIFIED IDEOGRAPH
+  {0xE8D1, 0x9766}, //6631 #CJK UNIFIED IDEOGRAPH
+  {0xE8D2, 0x9768}, //6632 #CJK UNIFIED IDEOGRAPH
+  {0xE8D3, 0x52D2}, //6633 #CJK UNIFIED IDEOGRAPH
+  {0xE8D4, 0x976B}, //6634 #CJK UNIFIED IDEOGRAPH
+  {0xE8D5, 0x9771}, //6635 #CJK UNIFIED IDEOGRAPH
+  {0xE8D6, 0x9779}, //6636 #CJK UNIFIED IDEOGRAPH
+  {0xE8D7, 0x9785}, //6637 #CJK UNIFIED IDEOGRAPH
+  {0xE8D8, 0x977C}, //6638 #CJK UNIFIED IDEOGRAPH
+  {0xE8D9, 0x9781}, //6639 #CJK UNIFIED IDEOGRAPH
+  {0xE8DA, 0x977A}, //6640 #CJK UNIFIED IDEOGRAPH
+  {0xE8DB, 0x9786}, //6641 #CJK UNIFIED IDEOGRAPH
+  {0xE8DC, 0x978B}, //6642 #CJK UNIFIED IDEOGRAPH
+  {0xE8DD, 0x978F}, //6643 #CJK UNIFIED IDEOGRAPH
+  {0xE8DE, 0x9790}, //6644 #CJK UNIFIED IDEOGRAPH
+  {0xE8DF, 0x979C}, //6645 #CJK UNIFIED IDEOGRAPH
+  {0xE8E0, 0x97A8}, //6646 #CJK UNIFIED IDEOGRAPH
+  {0xE8E1, 0x97A6}, //6647 #CJK UNIFIED IDEOGRAPH
+  {0xE8E2, 0x97A3}, //6648 #CJK UNIFIED IDEOGRAPH
+  {0xE8E3, 0x97B3}, //6649 #CJK UNIFIED IDEOGRAPH
+  {0xE8E4, 0x97B4}, //6650 #CJK UNIFIED IDEOGRAPH
+  {0xE8E5, 0x97C3}, //6651 #CJK UNIFIED IDEOGRAPH
+  {0xE8E6, 0x97C6}, //6652 #CJK UNIFIED IDEOGRAPH
+  {0xE8E7, 0x97C8}, //6653 #CJK UNIFIED IDEOGRAPH
+  {0xE8E8, 0x97CB}, //6654 #CJK UNIFIED IDEOGRAPH
+  {0xE8E9, 0x97DC}, //6655 #CJK UNIFIED IDEOGRAPH
+  {0xE8EA, 0x97ED}, //6656 #CJK UNIFIED IDEOGRAPH
+  {0xE8EB, 0x9F4F}, //6657 #CJK UNIFIED IDEOGRAPH
+  {0xE8EC, 0x97F2}, //6658 #CJK UNIFIED IDEOGRAPH
+  {0xE8ED, 0x7ADF}, //6659 #CJK UNIFIED IDEOGRAPH
+  {0xE8EE, 0x97F6}, //6660 #CJK UNIFIED IDEOGRAPH
+  {0xE8EF, 0x97F5}, //6661 #CJK UNIFIED IDEOGRAPH
+  {0xE8F0, 0x980F}, //6662 #CJK UNIFIED IDEOGRAPH
+  {0xE8F1, 0x980C}, //6663 #CJK UNIFIED IDEOGRAPH
+  {0xE8F2, 0x9838}, //6664 #CJK UNIFIED IDEOGRAPH
+  {0xE8F3, 0x9824}, //6665 #CJK UNIFIED IDEOGRAPH
+  {0xE8F4, 0x9821}, //6666 #CJK UNIFIED IDEOGRAPH
+  {0xE8F5, 0x9837}, //6667 #CJK UNIFIED IDEOGRAPH
+  {0xE8F6, 0x983D}, //6668 #CJK UNIFIED IDEOGRAPH
+  {0xE8F7, 0x9846}, //6669 #CJK UNIFIED IDEOGRAPH
+  {0xE8F8, 0x984F}, //6670 #CJK UNIFIED IDEOGRAPH
+  {0xE8F9, 0x984B}, //6671 #CJK UNIFIED IDEOGRAPH
+  {0xE8FA, 0x986B}, //6672 #CJK UNIFIED IDEOGRAPH
+  {0xE8FB, 0x986F}, //6673 #CJK UNIFIED IDEOGRAPH
+  {0xE8FC, 0x9870}, //6674 #CJK UNIFIED IDEOGRAPH
+  {0xE940, 0x9871}, //6675 #CJK UNIFIED IDEOGRAPH
+  {0xE941, 0x9874}, //6676 #CJK UNIFIED IDEOGRAPH
+  {0xE942, 0x9873}, //6677 #CJK UNIFIED IDEOGRAPH
+  {0xE943, 0x98AA}, //6678 #CJK UNIFIED IDEOGRAPH
+  {0xE944, 0x98AF}, //6679 #CJK UNIFIED IDEOGRAPH
+  {0xE945, 0x98B1}, //6680 #CJK UNIFIED IDEOGRAPH
+  {0xE946, 0x98B6}, //6681 #CJK UNIFIED IDEOGRAPH
+  {0xE947, 0x98C4}, //6682 #CJK UNIFIED IDEOGRAPH
+  {0xE948, 0x98C3}, //6683 #CJK UNIFIED IDEOGRAPH
+  {0xE949, 0x98C6}, //6684 #CJK UNIFIED IDEOGRAPH
+  {0xE94A, 0x98E9}, //6685 #CJK UNIFIED IDEOGRAPH
+  {0xE94B, 0x98EB}, //6686 #CJK UNIFIED IDEOGRAPH
+  {0xE94C, 0x9903}, //6687 #CJK UNIFIED IDEOGRAPH
+  {0xE94D, 0x9909}, //6688 #CJK UNIFIED IDEOGRAPH
+  {0xE94E, 0x9912}, //6689 #CJK UNIFIED IDEOGRAPH
+  {0xE94F, 0x9914}, //6690 #CJK UNIFIED IDEOGRAPH
+  {0xE950, 0x9918}, //6691 #CJK UNIFIED IDEOGRAPH
+  {0xE951, 0x9921}, //6692 #CJK UNIFIED IDEOGRAPH
+  {0xE952, 0x991D}, //6693 #CJK UNIFIED IDEOGRAPH
+  {0xE953, 0x991E}, //6694 #CJK UNIFIED IDEOGRAPH
+  {0xE954, 0x9924}, //6695 #CJK UNIFIED IDEOGRAPH
+  {0xE955, 0x9920}, //6696 #CJK UNIFIED IDEOGRAPH
+  {0xE956, 0x992C}, //6697 #CJK UNIFIED IDEOGRAPH
+  {0xE957, 0x992E}, //6698 #CJK UNIFIED IDEOGRAPH
+  {0xE958, 0x993D}, //6699 #CJK UNIFIED IDEOGRAPH
+  {0xE959, 0x993E}, //6700 #CJK UNIFIED IDEOGRAPH
+  {0xE95A, 0x9942}, //6701 #CJK UNIFIED IDEOGRAPH
+  {0xE95B, 0x9949}, //6702 #CJK UNIFIED IDEOGRAPH
+  {0xE95C, 0x9945}, //6703 #CJK UNIFIED IDEOGRAPH
+  {0xE95D, 0x9950}, //6704 #CJK UNIFIED IDEOGRAPH
+  {0xE95E, 0x994B}, //6705 #CJK UNIFIED IDEOGRAPH
+  {0xE95F, 0x9951}, //6706 #CJK UNIFIED IDEOGRAPH
+  {0xE960, 0x9952}, //6707 #CJK UNIFIED IDEOGRAPH
+  {0xE961, 0x994C}, //6708 #CJK UNIFIED IDEOGRAPH
+  {0xE962, 0x9955}, //6709 #CJK UNIFIED IDEOGRAPH
+  {0xE963, 0x9997}, //6710 #CJK UNIFIED IDEOGRAPH
+  {0xE964, 0x9998}, //6711 #CJK UNIFIED IDEOGRAPH
+  {0xE965, 0x99A5}, //6712 #CJK UNIFIED IDEOGRAPH
+  {0xE966, 0x99AD}, //6713 #CJK UNIFIED IDEOGRAPH
+  {0xE967, 0x99AE}, //6714 #CJK UNIFIED IDEOGRAPH
+  {0xE968, 0x99BC}, //6715 #CJK UNIFIED IDEOGRAPH
+  {0xE969, 0x99DF}, //6716 #CJK UNIFIED IDEOGRAPH
+  {0xE96A, 0x99DB}, //6717 #CJK UNIFIED IDEOGRAPH
+  {0xE96B, 0x99DD}, //6718 #CJK UNIFIED IDEOGRAPH
+  {0xE96C, 0x99D8}, //6719 #CJK UNIFIED IDEOGRAPH
+  {0xE96D, 0x99D1}, //6720 #CJK UNIFIED IDEOGRAPH
+  {0xE96E, 0x99ED}, //6721 #CJK UNIFIED IDEOGRAPH
+  {0xE96F, 0x99EE}, //6722 #CJK UNIFIED IDEOGRAPH
+  {0xE970, 0x99F1}, //6723 #CJK UNIFIED IDEOGRAPH
+  {0xE971, 0x99F2}, //6724 #CJK UNIFIED IDEOGRAPH
+  {0xE972, 0x99FB}, //6725 #CJK UNIFIED IDEOGRAPH
+  {0xE973, 0x99F8}, //6726 #CJK UNIFIED IDEOGRAPH
+  {0xE974, 0x9A01}, //6727 #CJK UNIFIED IDEOGRAPH
+  {0xE975, 0x9A0F}, //6728 #CJK UNIFIED IDEOGRAPH
+  {0xE976, 0x9A05}, //6729 #CJK UNIFIED IDEOGRAPH
+  {0xE977, 0x99E2}, //6730 #CJK UNIFIED IDEOGRAPH
+  {0xE978, 0x9A19}, //6731 #CJK UNIFIED IDEOGRAPH
+  {0xE979, 0x9A2B}, //6732 #CJK UNIFIED IDEOGRAPH
+  {0xE97A, 0x9A37}, //6733 #CJK UNIFIED IDEOGRAPH
+  {0xE97B, 0x9A45}, //6734 #CJK UNIFIED IDEOGRAPH
+  {0xE97C, 0x9A42}, //6735 #CJK UNIFIED IDEOGRAPH
+  {0xE97D, 0x9A40}, //6736 #CJK UNIFIED IDEOGRAPH
+  {0xE97E, 0x9A43}, //6737 #CJK UNIFIED IDEOGRAPH
+  {0xE980, 0x9A3E}, //6738 #CJK UNIFIED IDEOGRAPH
+  {0xE981, 0x9A55}, //6739 #CJK UNIFIED IDEOGRAPH
+  {0xE982, 0x9A4D}, //6740 #CJK UNIFIED IDEOGRAPH
+  {0xE983, 0x9A5B}, //6741 #CJK UNIFIED IDEOGRAPH
+  {0xE984, 0x9A57}, //6742 #CJK UNIFIED IDEOGRAPH
+  {0xE985, 0x9A5F}, //6743 #CJK UNIFIED IDEOGRAPH
+  {0xE986, 0x9A62}, //6744 #CJK UNIFIED IDEOGRAPH
+  {0xE987, 0x9A65}, //6745 #CJK UNIFIED IDEOGRAPH
+  {0xE988, 0x9A64}, //6746 #CJK UNIFIED IDEOGRAPH
+  {0xE989, 0x9A69}, //6747 #CJK UNIFIED IDEOGRAPH
+  {0xE98A, 0x9A6B}, //6748 #CJK UNIFIED IDEOGRAPH
+  {0xE98B, 0x9A6A}, //6749 #CJK UNIFIED IDEOGRAPH
+  {0xE98C, 0x9AAD}, //6750 #CJK UNIFIED IDEOGRAPH
+  {0xE98D, 0x9AB0}, //6751 #CJK UNIFIED IDEOGRAPH
+  {0xE98E, 0x9ABC}, //6752 #CJK UNIFIED IDEOGRAPH
+  {0xE98F, 0x9AC0}, //6753 #CJK UNIFIED IDEOGRAPH
+  {0xE990, 0x9ACF}, //6754 #CJK UNIFIED IDEOGRAPH
+  {0xE991, 0x9AD1}, //6755 #CJK UNIFIED IDEOGRAPH
+  {0xE992, 0x9AD3}, //6756 #CJK UNIFIED IDEOGRAPH
+  {0xE993, 0x9AD4}, //6757 #CJK UNIFIED IDEOGRAPH
+  {0xE994, 0x9ADE}, //6758 #CJK UNIFIED IDEOGRAPH
+  {0xE995, 0x9ADF}, //6759 #CJK UNIFIED IDEOGRAPH
+  {0xE996, 0x9AE2}, //6760 #CJK UNIFIED IDEOGRAPH
+  {0xE997, 0x9AE3}, //6761 #CJK UNIFIED IDEOGRAPH
+  {0xE998, 0x9AE6}, //6762 #CJK UNIFIED IDEOGRAPH
+  {0xE999, 0x9AEF}, //6763 #CJK UNIFIED IDEOGRAPH
+  {0xE99A, 0x9AEB}, //6764 #CJK UNIFIED IDEOGRAPH
+  {0xE99B, 0x9AEE}, //6765 #CJK UNIFIED IDEOGRAPH
+  {0xE99C, 0x9AF4}, //6766 #CJK UNIFIED IDEOGRAPH
+  {0xE99D, 0x9AF1}, //6767 #CJK UNIFIED IDEOGRAPH
+  {0xE99E, 0x9AF7}, //6768 #CJK UNIFIED IDEOGRAPH
+  {0xE99F, 0x9AFB}, //6769 #CJK UNIFIED IDEOGRAPH
+  {0xE9A0, 0x9B06}, //6770 #CJK UNIFIED IDEOGRAPH
+  {0xE9A1, 0x9B18}, //6771 #CJK UNIFIED IDEOGRAPH
+  {0xE9A2, 0x9B1A}, //6772 #CJK UNIFIED IDEOGRAPH
+  {0xE9A3, 0x9B1F}, //6773 #CJK UNIFIED IDEOGRAPH
+  {0xE9A4, 0x9B22}, //6774 #CJK UNIFIED IDEOGRAPH
+  {0xE9A5, 0x9B23}, //6775 #CJK UNIFIED IDEOGRAPH
+  {0xE9A6, 0x9B25}, //6776 #CJK UNIFIED IDEOGRAPH
+  {0xE9A7, 0x9B27}, //6777 #CJK UNIFIED IDEOGRAPH
+  {0xE9A8, 0x9B28}, //6778 #CJK UNIFIED IDEOGRAPH
+  {0xE9A9, 0x9B29}, //6779 #CJK UNIFIED IDEOGRAPH
+  {0xE9AA, 0x9B2A}, //6780 #CJK UNIFIED IDEOGRAPH
+  {0xE9AB, 0x9B2E}, //6781 #CJK UNIFIED IDEOGRAPH
+  {0xE9AC, 0x9B2F}, //6782 #CJK UNIFIED IDEOGRAPH
+  {0xE9AD, 0x9B32}, //6783 #CJK UNIFIED IDEOGRAPH
+  {0xE9AE, 0x9B44}, //6784 #CJK UNIFIED IDEOGRAPH
+  {0xE9AF, 0x9B43}, //6785 #CJK UNIFIED IDEOGRAPH
+  {0xE9B0, 0x9B4F}, //6786 #CJK UNIFIED IDEOGRAPH
+  {0xE9B1, 0x9B4D}, //6787 #CJK UNIFIED IDEOGRAPH
+  {0xE9B2, 0x9B4E}, //6788 #CJK UNIFIED IDEOGRAPH
+  {0xE9B3, 0x9B51}, //6789 #CJK UNIFIED IDEOGRAPH
+  {0xE9B4, 0x9B58}, //6790 #CJK UNIFIED IDEOGRAPH
+  {0xE9B5, 0x9B74}, //6791 #CJK UNIFIED IDEOGRAPH
+  {0xE9B6, 0x9B93}, //6792 #CJK UNIFIED IDEOGRAPH
+  {0xE9B7, 0x9B83}, //6793 #CJK UNIFIED IDEOGRAPH
+  {0xE9B8, 0x9B91}, //6794 #CJK UNIFIED IDEOGRAPH
+  {0xE9B9, 0x9B96}, //6795 #CJK UNIFIED IDEOGRAPH
+  {0xE9BA, 0x9B97}, //6796 #CJK UNIFIED IDEOGRAPH
+  {0xE9BB, 0x9B9F}, //6797 #CJK UNIFIED IDEOGRAPH
+  {0xE9BC, 0x9BA0}, //6798 #CJK UNIFIED IDEOGRAPH
+  {0xE9BD, 0x9BA8}, //6799 #CJK UNIFIED IDEOGRAPH
+  {0xE9BE, 0x9BB4}, //6800 #CJK UNIFIED IDEOGRAPH
+  {0xE9BF, 0x9BC0}, //6801 #CJK UNIFIED IDEOGRAPH
+  {0xE9C0, 0x9BCA}, //6802 #CJK UNIFIED IDEOGRAPH
+  {0xE9C1, 0x9BB9}, //6803 #CJK UNIFIED IDEOGRAPH
+  {0xE9C2, 0x9BC6}, //6804 #CJK UNIFIED IDEOGRAPH
+  {0xE9C3, 0x9BCF}, //6805 #CJK UNIFIED IDEOGRAPH
+  {0xE9C4, 0x9BD1}, //6806 #CJK UNIFIED IDEOGRAPH
+  {0xE9C5, 0x9BD2}, //6807 #CJK UNIFIED IDEOGRAPH
+  {0xE9C6, 0x9BE3}, //6808 #CJK UNIFIED IDEOGRAPH
+  {0xE9C7, 0x9BE2}, //6809 #CJK UNIFIED IDEOGRAPH
+  {0xE9C8, 0x9BE4}, //6810 #CJK UNIFIED IDEOGRAPH
+  {0xE9C9, 0x9BD4}, //6811 #CJK UNIFIED IDEOGRAPH
+  {0xE9CA, 0x9BE1}, //6812 #CJK UNIFIED IDEOGRAPH
+  {0xE9CB, 0x9C3A}, //6813 #CJK UNIFIED IDEOGRAPH
+  {0xE9CC, 0x9BF2}, //6814 #CJK UNIFIED IDEOGRAPH
+  {0xE9CD, 0x9BF1}, //6815 #CJK UNIFIED IDEOGRAPH
+  {0xE9CE, 0x9BF0}, //6816 #CJK UNIFIED IDEOGRAPH
+  {0xE9CF, 0x9C15}, //6817 #CJK UNIFIED IDEOGRAPH
+  {0xE9D0, 0x9C14}, //6818 #CJK UNIFIED IDEOGRAPH
+  {0xE9D1, 0x9C09}, //6819 #CJK UNIFIED IDEOGRAPH
+  {0xE9D2, 0x9C13}, //6820 #CJK UNIFIED IDEOGRAPH
+  {0xE9D3, 0x9C0C}, //6821 #CJK UNIFIED IDEOGRAPH
+  {0xE9D4, 0x9C06}, //6822 #CJK UNIFIED IDEOGRAPH
+  {0xE9D5, 0x9C08}, //6823 #CJK UNIFIED IDEOGRAPH
+  {0xE9D6, 0x9C12}, //6824 #CJK UNIFIED IDEOGRAPH
+  {0xE9D7, 0x9C0A}, //6825 #CJK UNIFIED IDEOGRAPH
+  {0xE9D8, 0x9C04}, //6826 #CJK UNIFIED IDEOGRAPH
+  {0xE9D9, 0x9C2E}, //6827 #CJK UNIFIED IDEOGRAPH
+  {0xE9DA, 0x9C1B}, //6828 #CJK UNIFIED IDEOGRAPH
+  {0xE9DB, 0x9C25}, //6829 #CJK UNIFIED IDEOGRAPH
+  {0xE9DC, 0x9C24}, //6830 #CJK UNIFIED IDEOGRAPH
+  {0xE9DD, 0x9C21}, //6831 #CJK UNIFIED IDEOGRAPH
+  {0xE9DE, 0x9C30}, //6832 #CJK UNIFIED IDEOGRAPH
+  {0xE9DF, 0x9C47}, //6833 #CJK UNIFIED IDEOGRAPH
+  {0xE9E0, 0x9C32}, //6834 #CJK UNIFIED IDEOGRAPH
+  {0xE9E1, 0x9C46}, //6835 #CJK UNIFIED IDEOGRAPH
+  {0xE9E2, 0x9C3E}, //6836 #CJK UNIFIED IDEOGRAPH
+  {0xE9E3, 0x9C5A}, //6837 #CJK UNIFIED IDEOGRAPH
+  {0xE9E4, 0x9C60}, //6838 #CJK UNIFIED IDEOGRAPH
+  {0xE9E5, 0x9C67}, //6839 #CJK UNIFIED IDEOGRAPH
+  {0xE9E6, 0x9C76}, //6840 #CJK UNIFIED IDEOGRAPH
+  {0xE9E7, 0x9C78}, //6841 #CJK UNIFIED IDEOGRAPH
+  {0xE9E8, 0x9CE7}, //6842 #CJK UNIFIED IDEOGRAPH
+  {0xE9E9, 0x9CEC}, //6843 #CJK UNIFIED IDEOGRAPH
+  {0xE9EA, 0x9CF0}, //6844 #CJK UNIFIED IDEOGRAPH
+  {0xE9EB, 0x9D09}, //6845 #CJK UNIFIED IDEOGRAPH
+  {0xE9EC, 0x9D08}, //6846 #CJK UNIFIED IDEOGRAPH
+  {0xE9ED, 0x9CEB}, //6847 #CJK UNIFIED IDEOGRAPH
+  {0xE9EE, 0x9D03}, //6848 #CJK UNIFIED IDEOGRAPH
+  {0xE9EF, 0x9D06}, //6849 #CJK UNIFIED IDEOGRAPH
+  {0xE9F0, 0x9D2A}, //6850 #CJK UNIFIED IDEOGRAPH
+  {0xE9F1, 0x9D26}, //6851 #CJK UNIFIED IDEOGRAPH
+  {0xE9F2, 0x9DAF}, //6852 #CJK UNIFIED IDEOGRAPH
+  {0xE9F3, 0x9D23}, //6853 #CJK UNIFIED IDEOGRAPH
+  {0xE9F4, 0x9D1F}, //6854 #CJK UNIFIED IDEOGRAPH
+  {0xE9F5, 0x9D44}, //6855 #CJK UNIFIED IDEOGRAPH
+  {0xE9F6, 0x9D15}, //6856 #CJK UNIFIED IDEOGRAPH
+  {0xE9F7, 0x9D12}, //6857 #CJK UNIFIED IDEOGRAPH
+  {0xE9F8, 0x9D41}, //6858 #CJK UNIFIED IDEOGRAPH
+  {0xE9F9, 0x9D3F}, //6859 #CJK UNIFIED IDEOGRAPH
+  {0xE9FA, 0x9D3E}, //6860 #CJK UNIFIED IDEOGRAPH
+  {0xE9FB, 0x9D46}, //6861 #CJK UNIFIED IDEOGRAPH
+  {0xE9FC, 0x9D48}, //6862 #CJK UNIFIED IDEOGRAPH
+  {0xEA40, 0x9D5D}, //6863 #CJK UNIFIED IDEOGRAPH
+  {0xEA41, 0x9D5E}, //6864 #CJK UNIFIED IDEOGRAPH
+  {0xEA42, 0x9D64}, //6865 #CJK UNIFIED IDEOGRAPH
+  {0xEA43, 0x9D51}, //6866 #CJK UNIFIED IDEOGRAPH
+  {0xEA44, 0x9D50}, //6867 #CJK UNIFIED IDEOGRAPH
+  {0xEA45, 0x9D59}, //6868 #CJK UNIFIED IDEOGRAPH
+  {0xEA46, 0x9D72}, //6869 #CJK UNIFIED IDEOGRAPH
+  {0xEA47, 0x9D89}, //6870 #CJK UNIFIED IDEOGRAPH
+  {0xEA48, 0x9D87}, //6871 #CJK UNIFIED IDEOGRAPH
+  {0xEA49, 0x9DAB}, //6872 #CJK UNIFIED IDEOGRAPH
+  {0xEA4A, 0x9D6F}, //6873 #CJK UNIFIED IDEOGRAPH
+  {0xEA4B, 0x9D7A}, //6874 #CJK UNIFIED IDEOGRAPH
+  {0xEA4C, 0x9D9A}, //6875 #CJK UNIFIED IDEOGRAPH
+  {0xEA4D, 0x9DA4}, //6876 #CJK UNIFIED IDEOGRAPH
+  {0xEA4E, 0x9DA9}, //6877 #CJK UNIFIED IDEOGRAPH
+  {0xEA4F, 0x9DB2}, //6878 #CJK UNIFIED IDEOGRAPH
+  {0xEA50, 0x9DC4}, //6879 #CJK UNIFIED IDEOGRAPH
+  {0xEA51, 0x9DC1}, //6880 #CJK UNIFIED IDEOGRAPH
+  {0xEA52, 0x9DBB}, //6881 #CJK UNIFIED IDEOGRAPH
+  {0xEA53, 0x9DB8}, //6882 #CJK UNIFIED IDEOGRAPH
+  {0xEA54, 0x9DBA}, //6883 #CJK UNIFIED IDEOGRAPH
+  {0xEA55, 0x9DC6}, //6884 #CJK UNIFIED IDEOGRAPH
+  {0xEA56, 0x9DCF}, //6885 #CJK UNIFIED IDEOGRAPH
+  {0xEA57, 0x9DC2}, //6886 #CJK UNIFIED IDEOGRAPH
+  {0xEA58, 0x9DD9}, //6887 #CJK UNIFIED IDEOGRAPH
+  {0xEA59, 0x9DD3}, //6888 #CJK UNIFIED IDEOGRAPH
+  {0xEA5A, 0x9DF8}, //6889 #CJK UNIFIED IDEOGRAPH
+  {0xEA5B, 0x9DE6}, //6890 #CJK UNIFIED IDEOGRAPH
+  {0xEA5C, 0x9DED}, //6891 #CJK UNIFIED IDEOGRAPH
+  {0xEA5D, 0x9DEF}, //6892 #CJK UNIFIED IDEOGRAPH
+  {0xEA5E, 0x9DFD}, //6893 #CJK UNIFIED IDEOGRAPH
+  {0xEA5F, 0x9E1A}, //6894 #CJK UNIFIED IDEOGRAPH
+  {0xEA60, 0x9E1B}, //6895 #CJK UNIFIED IDEOGRAPH
+  {0xEA61, 0x9E1E}, //6896 #CJK UNIFIED IDEOGRAPH
+  {0xEA62, 0x9E75}, //6897 #CJK UNIFIED IDEOGRAPH
+  {0xEA63, 0x9E79}, //6898 #CJK UNIFIED IDEOGRAPH
+  {0xEA64, 0x9E7D}, //6899 #CJK UNIFIED IDEOGRAPH
+  {0xEA65, 0x9E81}, //6900 #CJK UNIFIED IDEOGRAPH
+  {0xEA66, 0x9E88}, //6901 #CJK UNIFIED IDEOGRAPH
+  {0xEA67, 0x9E8B}, //6902 #CJK UNIFIED IDEOGRAPH
+  {0xEA68, 0x9E8C}, //6903 #CJK UNIFIED IDEOGRAPH
+  {0xEA69, 0x9E92}, //6904 #CJK UNIFIED IDEOGRAPH
+  {0xEA6A, 0x9E95}, //6905 #CJK UNIFIED IDEOGRAPH
+  {0xEA6B, 0x9E91}, //6906 #CJK UNIFIED IDEOGRAPH
+  {0xEA6C, 0x9E9D}, //6907 #CJK UNIFIED IDEOGRAPH
+  {0xEA6D, 0x9EA5}, //6908 #CJK UNIFIED IDEOGRAPH
+  {0xEA6E, 0x9EA9}, //6909 #CJK UNIFIED IDEOGRAPH
+  {0xEA6F, 0x9EB8}, //6910 #CJK UNIFIED IDEOGRAPH
+  {0xEA70, 0x9EAA}, //6911 #CJK UNIFIED IDEOGRAPH
+  {0xEA71, 0x9EAD}, //6912 #CJK UNIFIED IDEOGRAPH
+  {0xEA72, 0x9761}, //6913 #CJK UNIFIED IDEOGRAPH
+  {0xEA73, 0x9ECC}, //6914 #CJK UNIFIED IDEOGRAPH
+  {0xEA74, 0x9ECE}, //6915 #CJK UNIFIED IDEOGRAPH
+  {0xEA75, 0x9ECF}, //6916 #CJK UNIFIED IDEOGRAPH
+  {0xEA76, 0x9ED0}, //6917 #CJK UNIFIED IDEOGRAPH
+  {0xEA77, 0x9ED4}, //6918 #CJK UNIFIED IDEOGRAPH
+  {0xEA78, 0x9EDC}, //6919 #CJK UNIFIED IDEOGRAPH
+  {0xEA79, 0x9EDE}, //6920 #CJK UNIFIED IDEOGRAPH
+  {0xEA7A, 0x9EDD}, //6921 #CJK UNIFIED IDEOGRAPH
+  {0xEA7B, 0x9EE0}, //6922 #CJK UNIFIED IDEOGRAPH
+  {0xEA7C, 0x9EE5}, //6923 #CJK UNIFIED IDEOGRAPH
+  {0xEA7D, 0x9EE8}, //6924 #CJK UNIFIED IDEOGRAPH
+  {0xEA7E, 0x9EEF}, //6925 #CJK UNIFIED IDEOGRAPH
+  {0xEA80, 0x9EF4}, //6926 #CJK UNIFIED IDEOGRAPH
+  {0xEA81, 0x9EF6}, //6927 #CJK UNIFIED IDEOGRAPH
+  {0xEA82, 0x9EF7}, //6928 #CJK UNIFIED IDEOGRAPH
+  {0xEA83, 0x9EF9}, //6929 #CJK UNIFIED IDEOGRAPH
+  {0xEA84, 0x9EFB}, //6930 #CJK UNIFIED IDEOGRAPH
+  {0xEA85, 0x9EFC}, //6931 #CJK UNIFIED IDEOGRAPH
+  {0xEA86, 0x9EFD}, //6932 #CJK UNIFIED IDEOGRAPH
+  {0xEA87, 0x9F07}, //6933 #CJK UNIFIED IDEOGRAPH
+  {0xEA88, 0x9F08}, //6934 #CJK UNIFIED IDEOGRAPH
+  {0xEA89, 0x76B7}, //6935 #CJK UNIFIED IDEOGRAPH
+  {0xEA8A, 0x9F15}, //6936 #CJK UNIFIED IDEOGRAPH
+  {0xEA8B, 0x9F21}, //6937 #CJK UNIFIED IDEOGRAPH
+  {0xEA8C, 0x9F2C}, //6938 #CJK UNIFIED IDEOGRAPH
+  {0xEA8D, 0x9F3E}, //6939 #CJK UNIFIED IDEOGRAPH
+  {0xEA8E, 0x9F4A}, //6940 #CJK UNIFIED IDEOGRAPH
+  {0xEA8F, 0x9F52}, //6941 #CJK UNIFIED IDEOGRAPH
+  {0xEA90, 0x9F54}, //6942 #CJK UNIFIED IDEOGRAPH
+  {0xEA91, 0x9F63}, //6943 #CJK UNIFIED IDEOGRAPH
+  {0xEA92, 0x9F5F}, //6944 #CJK UNIFIED IDEOGRAPH
+  {0xEA93, 0x9F60}, //6945 #CJK UNIFIED IDEOGRAPH
+  {0xEA94, 0x9F61}, //6946 #CJK UNIFIED IDEOGRAPH
+  {0xEA95, 0x9F66}, //6947 #CJK UNIFIED IDEOGRAPH
+  {0xEA96, 0x9F67}, //6948 #CJK UNIFIED IDEOGRAPH
+  {0xEA97, 0x9F6C}, //6949 #CJK UNIFIED IDEOGRAPH
+  {0xEA98, 0x9F6A}, //6950 #CJK UNIFIED IDEOGRAPH
+  {0xEA99, 0x9F77}, //6951 #CJK UNIFIED IDEOGRAPH
+  {0xEA9A, 0x9F72}, //6952 #CJK UNIFIED IDEOGRAPH
+  {0xEA9B, 0x9F76}, //6953 #CJK UNIFIED IDEOGRAPH
+  {0xEA9C, 0x9F95}, //6954 #CJK UNIFIED IDEOGRAPH
+  {0xEA9D, 0x9F9C}, //6955 #CJK UNIFIED IDEOGRAPH
+  {0xEA9E, 0x9FA0}, //6956 #CJK UNIFIED IDEOGRAPH
+  {0xEA9F, 0x582F}, //6957 #CJK UNIFIED IDEOGRAPH
+  {0xEAA0, 0x69C7}, //6958 #CJK UNIFIED IDEOGRAPH
+  {0xEAA1, 0x9059}, //6959 #CJK UNIFIED IDEOGRAPH
+  {0xEAA2, 0x7464}, //6960 #CJK UNIFIED IDEOGRAPH
+  {0xEAA3, 0x51DC}, //6961 #CJK UNIFIED IDEOGRAPH
+  {0xEAA4, 0x7199}, //6962 #CJK UNIFIED IDEOGRAPH
+  {0xED40, 0x7E8A}, //6963 #CJK UNIFIED IDEOGRAPH
+  {0xED41, 0x891C}, //6964 #CJK UNIFIED IDEOGRAPH
+  {0xED42, 0x9348}, //6965 #CJK UNIFIED IDEOGRAPH
+  {0xED43, 0x9288}, //6966 #CJK UNIFIED IDEOGRAPH
+  {0xED44, 0x84DC}, //6967 #CJK UNIFIED IDEOGRAPH
+  {0xED45, 0x4FC9}, //6968 #CJK UNIFIED IDEOGRAPH
+  {0xED46, 0x70BB}, //6969 #CJK UNIFIED IDEOGRAPH
+  {0xED47, 0x6631}, //6970 #CJK UNIFIED IDEOGRAPH
+  {0xED48, 0x68C8}, //6971 #CJK UNIFIED IDEOGRAPH
+  {0xED49, 0x92F9}, //6972 #CJK UNIFIED IDEOGRAPH
+  {0xED4A, 0x66FB}, //6973 #CJK UNIFIED IDEOGRAPH
+  {0xED4B, 0x5F45}, //6974 #CJK UNIFIED IDEOGRAPH
+  {0xED4C, 0x4E28}, //6975 #CJK UNIFIED IDEOGRAPH
+  {0xED4D, 0x4EE1}, //6976 #CJK UNIFIED IDEOGRAPH
+  {0xED4E, 0x4EFC}, //6977 #CJK UNIFIED IDEOGRAPH
+  {0xED4F, 0x4F00}, //6978 #CJK UNIFIED IDEOGRAPH
+  {0xED50, 0x4F03}, //6979 #CJK UNIFIED IDEOGRAPH
+  {0xED51, 0x4F39}, //6980 #CJK UNIFIED IDEOGRAPH
+  {0xED52, 0x4F56}, //6981 #CJK UNIFIED IDEOGRAPH
+  {0xED53, 0x4F92}, //6982 #CJK UNIFIED IDEOGRAPH
+  {0xED54, 0x4F8A}, //6983 #CJK UNIFIED IDEOGRAPH
+  {0xED55, 0x4F9A}, //6984 #CJK UNIFIED IDEOGRAPH
+  {0xED56, 0x4F94}, //6985 #CJK UNIFIED IDEOGRAPH
+  {0xED57, 0x4FCD}, //6986 #CJK UNIFIED IDEOGRAPH
+  {0xED58, 0x5040}, //6987 #CJK UNIFIED IDEOGRAPH
+  {0xED59, 0x5022}, //6988 #CJK UNIFIED IDEOGRAPH
+  {0xED5A, 0x4FFF}, //6989 #CJK UNIFIED IDEOGRAPH
+  {0xED5B, 0x501E}, //6990 #CJK UNIFIED IDEOGRAPH
+  {0xED5C, 0x5046}, //6991 #CJK UNIFIED IDEOGRAPH
+  {0xED5D, 0x5070}, //6992 #CJK UNIFIED IDEOGRAPH
+  {0xED5E, 0x5042}, //6993 #CJK UNIFIED IDEOGRAPH
+  {0xED5F, 0x5094}, //6994 #CJK UNIFIED IDEOGRAPH
+  {0xED60, 0x50F4}, //6995 #CJK UNIFIED IDEOGRAPH
+  {0xED61, 0x50D8}, //6996 #CJK UNIFIED IDEOGRAPH
+  {0xED62, 0x514A}, //6997 #CJK UNIFIED IDEOGRAPH
+  {0xED63, 0x5164}, //6998 #CJK UNIFIED IDEOGRAPH
+  {0xED64, 0x519D}, //6999 #CJK UNIFIED IDEOGRAPH
+  {0xED65, 0x51BE}, //7000 #CJK UNIFIED IDEOGRAPH
+  {0xED66, 0x51EC}, //7001 #CJK UNIFIED IDEOGRAPH
+  {0xED67, 0x5215}, //7002 #CJK UNIFIED IDEOGRAPH
+  {0xED68, 0x529C}, //7003 #CJK UNIFIED IDEOGRAPH
+  {0xED69, 0x52A6}, //7004 #CJK UNIFIED IDEOGRAPH
+  {0xED6A, 0x52C0}, //7005 #CJK UNIFIED IDEOGRAPH
+  {0xED6B, 0x52DB}, //7006 #CJK UNIFIED IDEOGRAPH
+  {0xED6C, 0x5300}, //7007 #CJK UNIFIED IDEOGRAPH
+  {0xED6D, 0x5307}, //7008 #CJK UNIFIED IDEOGRAPH
+  {0xED6E, 0x5324}, //7009 #CJK UNIFIED IDEOGRAPH
+  {0xED6F, 0x5372}, //7010 #CJK UNIFIED IDEOGRAPH
+  {0xED70, 0x5393}, //7011 #CJK UNIFIED IDEOGRAPH
+  {0xED71, 0x53B2}, //7012 #CJK UNIFIED IDEOGRAPH
+  {0xED72, 0x53DD}, //7013 #CJK UNIFIED IDEOGRAPH
+  {0xED73, 0xFA0E}, //7014 #CJK COMPATIBILITY IDEOGRAPH
+  {0xED74, 0x549C}, //7015 #CJK UNIFIED IDEOGRAPH
+  {0xED75, 0x548A}, //7016 #CJK UNIFIED IDEOGRAPH
+  {0xED76, 0x54A9}, //7017 #CJK UNIFIED IDEOGRAPH
+  {0xED77, 0x54FF}, //7018 #CJK UNIFIED IDEOGRAPH
+  {0xED78, 0x5586}, //7019 #CJK UNIFIED IDEOGRAPH
+  {0xED79, 0x5759}, //7020 #CJK UNIFIED IDEOGRAPH
+  {0xED7A, 0x5765}, //7021 #CJK UNIFIED IDEOGRAPH
+  {0xED7B, 0x57AC}, //7022 #CJK UNIFIED IDEOGRAPH
+  {0xED7C, 0x57C8}, //7023 #CJK UNIFIED IDEOGRAPH
+  {0xED7D, 0x57C7}, //7024 #CJK UNIFIED IDEOGRAPH
+  {0xED7E, 0xFA0F}, //7025 #CJK COMPATIBILITY IDEOGRAPH
+  {0xED80, 0xFA10}, //7026 #CJK COMPATIBILITY IDEOGRAPH
+  {0xED81, 0x589E}, //7027 #CJK UNIFIED IDEOGRAPH
+  {0xED82, 0x58B2}, //7028 #CJK UNIFIED IDEOGRAPH
+  {0xED83, 0x590B}, //7029 #CJK UNIFIED IDEOGRAPH
+  {0xED84, 0x5953}, //7030 #CJK UNIFIED IDEOGRAPH
+  {0xED85, 0x595B}, //7031 #CJK UNIFIED IDEOGRAPH
+  {0xED86, 0x595D}, //7032 #CJK UNIFIED IDEOGRAPH
+  {0xED87, 0x5963}, //7033 #CJK UNIFIED IDEOGRAPH
+  {0xED88, 0x59A4}, //7034 #CJK UNIFIED IDEOGRAPH
+  {0xED89, 0x59BA}, //7035 #CJK UNIFIED IDEOGRAPH
+  {0xED8A, 0x5B56}, //7036 #CJK UNIFIED IDEOGRAPH
+  {0xED8B, 0x5BC0}, //7037 #CJK UNIFIED IDEOGRAPH
+  {0xED8C, 0x752F}, //7038 #CJK UNIFIED IDEOGRAPH
+  {0xED8D, 0x5BD8}, //7039 #CJK UNIFIED IDEOGRAPH
+  {0xED8E, 0x5BEC}, //7040 #CJK UNIFIED IDEOGRAPH
+  {0xED8F, 0x5C1E}, //7041 #CJK UNIFIED IDEOGRAPH
+  {0xED90, 0x5CA6}, //7042 #CJK UNIFIED IDEOGRAPH
+  {0xED91, 0x5CBA}, //7043 #CJK UNIFIED IDEOGRAPH
+  {0xED92, 0x5CF5}, //7044 #CJK UNIFIED IDEOGRAPH
+  {0xED93, 0x5D27}, //7045 #CJK UNIFIED IDEOGRAPH
+  {0xED94, 0x5D53}, //7046 #CJK UNIFIED IDEOGRAPH
+  {0xED95, 0xFA11}, //7047 #CJK COMPATIBILITY IDEOGRAPH
+  {0xED96, 0x5D42}, //7048 #CJK UNIFIED IDEOGRAPH
+  {0xED97, 0x5D6D}, //7049 #CJK UNIFIED IDEOGRAPH
+  {0xED98, 0x5DB8}, //7050 #CJK UNIFIED IDEOGRAPH
+  {0xED99, 0x5DB9}, //7051 #CJK UNIFIED IDEOGRAPH
+  {0xED9A, 0x5DD0}, //7052 #CJK UNIFIED IDEOGRAPH
+  {0xED9B, 0x5F21}, //7053 #CJK UNIFIED IDEOGRAPH
+  {0xED9C, 0x5F34}, //7054 #CJK UNIFIED IDEOGRAPH
+  {0xED9D, 0x5F67}, //7055 #CJK UNIFIED IDEOGRAPH
+  {0xED9E, 0x5FB7}, //7056 #CJK UNIFIED IDEOGRAPH
+  {0xED9F, 0x5FDE}, //7057 #CJK UNIFIED IDEOGRAPH
+  {0xEDA0, 0x605D}, //7058 #CJK UNIFIED IDEOGRAPH
+  {0xEDA1, 0x6085}, //7059 #CJK UNIFIED IDEOGRAPH
+  {0xEDA2, 0x608A}, //7060 #CJK UNIFIED IDEOGRAPH
+  {0xEDA3, 0x60DE}, //7061 #CJK UNIFIED IDEOGRAPH
+  {0xEDA4, 0x60D5}, //7062 #CJK UNIFIED IDEOGRAPH
+  {0xEDA5, 0x6120}, //7063 #CJK UNIFIED IDEOGRAPH
+  {0xEDA6, 0x60F2}, //7064 #CJK UNIFIED IDEOGRAPH
+  {0xEDA7, 0x6111}, //7065 #CJK UNIFIED IDEOGRAPH
+  {0xEDA8, 0x6137}, //7066 #CJK UNIFIED IDEOGRAPH
+  {0xEDA9, 0x6130}, //7067 #CJK UNIFIED IDEOGRAPH
+  {0xEDAA, 0x6198}, //7068 #CJK UNIFIED IDEOGRAPH
+  {0xEDAB, 0x6213}, //7069 #CJK UNIFIED IDEOGRAPH
+  {0xEDAC, 0x62A6}, //7070 #CJK UNIFIED IDEOGRAPH
+  {0xEDAD, 0x63F5}, //7071 #CJK UNIFIED IDEOGRAPH
+  {0xEDAE, 0x6460}, //7072 #CJK UNIFIED IDEOGRAPH
+  {0xEDAF, 0x649D}, //7073 #CJK UNIFIED IDEOGRAPH
+  {0xEDB0, 0x64CE}, //7074 #CJK UNIFIED IDEOGRAPH
+  {0xEDB1, 0x654E}, //7075 #CJK UNIFIED IDEOGRAPH
+  {0xEDB2, 0x6600}, //7076 #CJK UNIFIED IDEOGRAPH
+  {0xEDB3, 0x6615}, //7077 #CJK UNIFIED IDEOGRAPH
+  {0xEDB4, 0x663B}, //7078 #CJK UNIFIED IDEOGRAPH
+  {0xEDB5, 0x6609}, //7079 #CJK UNIFIED IDEOGRAPH
+  {0xEDB6, 0x662E}, //7080 #CJK UNIFIED IDEOGRAPH
+  {0xEDB7, 0x661E}, //7081 #CJK UNIFIED IDEOGRAPH
+  {0xEDB8, 0x6624}, //7082 #CJK UNIFIED IDEOGRAPH
+  {0xEDB9, 0x6665}, //7083 #CJK UNIFIED IDEOGRAPH
+  {0xEDBA, 0x6657}, //7084 #CJK UNIFIED IDEOGRAPH
+  {0xEDBB, 0x6659}, //7085 #CJK UNIFIED IDEOGRAPH
+  {0xEDBC, 0xFA12}, //7086 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEDBD, 0x6673}, //7087 #CJK UNIFIED IDEOGRAPH
+  {0xEDBE, 0x6699}, //7088 #CJK UNIFIED IDEOGRAPH
+  {0xEDBF, 0x66A0}, //7089 #CJK UNIFIED IDEOGRAPH
+  {0xEDC0, 0x66B2}, //7090 #CJK UNIFIED IDEOGRAPH
+  {0xEDC1, 0x66BF}, //7091 #CJK UNIFIED IDEOGRAPH
+  {0xEDC2, 0x66FA}, //7092 #CJK UNIFIED IDEOGRAPH
+  {0xEDC3, 0x670E}, //7093 #CJK UNIFIED IDEOGRAPH
+  {0xEDC4, 0xF929}, //7094 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEDC5, 0x6766}, //7095 #CJK UNIFIED IDEOGRAPH
+  {0xEDC6, 0x67BB}, //7096 #CJK UNIFIED IDEOGRAPH
+  {0xEDC7, 0x6852}, //7097 #CJK UNIFIED IDEOGRAPH
+  {0xEDC8, 0x67C0}, //7098 #CJK UNIFIED IDEOGRAPH
+  {0xEDC9, 0x6801}, //7099 #CJK UNIFIED IDEOGRAPH
+  {0xEDCA, 0x6844}, //7100 #CJK UNIFIED IDEOGRAPH
+  {0xEDCB, 0x68CF}, //7101 #CJK UNIFIED IDEOGRAPH
+  {0xEDCC, 0xFA13}, //7102 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEDCD, 0x6968}, //7103 #CJK UNIFIED IDEOGRAPH
+  {0xEDCE, 0xFA14}, //7104 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEDCF, 0x6998}, //7105 #CJK UNIFIED IDEOGRAPH
+  {0xEDD0, 0x69E2}, //7106 #CJK UNIFIED IDEOGRAPH
+  {0xEDD1, 0x6A30}, //7107 #CJK UNIFIED IDEOGRAPH
+  {0xEDD2, 0x6A6B}, //7108 #CJK UNIFIED IDEOGRAPH
+  {0xEDD3, 0x6A46}, //7109 #CJK UNIFIED IDEOGRAPH
+  {0xEDD4, 0x6A73}, //7110 #CJK UNIFIED IDEOGRAPH
+  {0xEDD5, 0x6A7E}, //7111 #CJK UNIFIED IDEOGRAPH
+  {0xEDD6, 0x6AE2}, //7112 #CJK UNIFIED IDEOGRAPH
+  {0xEDD7, 0x6AE4}, //7113 #CJK UNIFIED IDEOGRAPH
+  {0xEDD8, 0x6BD6}, //7114 #CJK UNIFIED IDEOGRAPH
+  {0xEDD9, 0x6C3F}, //7115 #CJK UNIFIED IDEOGRAPH
+  {0xEDDA, 0x6C5C}, //7116 #CJK UNIFIED IDEOGRAPH
+  {0xEDDB, 0x6C86}, //7117 #CJK UNIFIED IDEOGRAPH
+  {0xEDDC, 0x6C6F}, //7118 #CJK UNIFIED IDEOGRAPH
+  {0xEDDD, 0x6CDA}, //7119 #CJK UNIFIED IDEOGRAPH
+  {0xEDDE, 0x6D04}, //7120 #CJK UNIFIED IDEOGRAPH
+  {0xEDDF, 0x6D87}, //7121 #CJK UNIFIED IDEOGRAPH
+  {0xEDE0, 0x6D6F}, //7122 #CJK UNIFIED IDEOGRAPH
+  {0xEDE1, 0x6D96}, //7123 #CJK UNIFIED IDEOGRAPH
+  {0xEDE2, 0x6DAC}, //7124 #CJK UNIFIED IDEOGRAPH
+  {0xEDE3, 0x6DCF}, //7125 #CJK UNIFIED IDEOGRAPH
+  {0xEDE4, 0x6DF8}, //7126 #CJK UNIFIED IDEOGRAPH
+  {0xEDE5, 0x6DF2}, //7127 #CJK UNIFIED IDEOGRAPH
+  {0xEDE6, 0x6DFC}, //7128 #CJK UNIFIED IDEOGRAPH
+  {0xEDE7, 0x6E39}, //7129 #CJK UNIFIED IDEOGRAPH
+  {0xEDE8, 0x6E5C}, //7130 #CJK UNIFIED IDEOGRAPH
+  {0xEDE9, 0x6E27}, //7131 #CJK UNIFIED IDEOGRAPH
+  {0xEDEA, 0x6E3C}, //7132 #CJK UNIFIED IDEOGRAPH
+  {0xEDEB, 0x6EBF}, //7133 #CJK UNIFIED IDEOGRAPH
+  {0xEDEC, 0x6F88}, //7134 #CJK UNIFIED IDEOGRAPH
+  {0xEDED, 0x6FB5}, //7135 #CJK UNIFIED IDEOGRAPH
+  {0xEDEE, 0x6FF5}, //7136 #CJK UNIFIED IDEOGRAPH
+  {0xEDEF, 0x7005}, //7137 #CJK UNIFIED IDEOGRAPH
+  {0xEDF0, 0x7007}, //7138 #CJK UNIFIED IDEOGRAPH
+  {0xEDF1, 0x7028}, //7139 #CJK UNIFIED IDEOGRAPH
+  {0xEDF2, 0x7085}, //7140 #CJK UNIFIED IDEOGRAPH
+  {0xEDF3, 0x70AB}, //7141 #CJK UNIFIED IDEOGRAPH
+  {0xEDF4, 0x710F}, //7142 #CJK UNIFIED IDEOGRAPH
+  {0xEDF5, 0x7104}, //7143 #CJK UNIFIED IDEOGRAPH
+  {0xEDF6, 0x715C}, //7144 #CJK UNIFIED IDEOGRAPH
+  {0xEDF7, 0x7146}, //7145 #CJK UNIFIED IDEOGRAPH
+  {0xEDF8, 0x7147}, //7146 #CJK UNIFIED IDEOGRAPH
+  {0xEDF9, 0xFA15}, //7147 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEDFA, 0x71C1}, //7148 #CJK UNIFIED IDEOGRAPH
+  {0xEDFB, 0x71FE}, //7149 #CJK UNIFIED IDEOGRAPH
+  {0xEDFC, 0x72B1}, //7150 #CJK UNIFIED IDEOGRAPH
+  {0xEE40, 0x72BE}, //7151 #CJK UNIFIED IDEOGRAPH
+  {0xEE41, 0x7324}, //7152 #CJK UNIFIED IDEOGRAPH
+  {0xEE42, 0xFA16}, //7153 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE43, 0x7377}, //7154 #CJK UNIFIED IDEOGRAPH
+  {0xEE44, 0x73BD}, //7155 #CJK UNIFIED IDEOGRAPH
+  {0xEE45, 0x73C9}, //7156 #CJK UNIFIED IDEOGRAPH
+  {0xEE46, 0x73D6}, //7157 #CJK UNIFIED IDEOGRAPH
+  {0xEE47, 0x73E3}, //7158 #CJK UNIFIED IDEOGRAPH
+  {0xEE48, 0x73D2}, //7159 #CJK UNIFIED IDEOGRAPH
+  {0xEE49, 0x7407}, //7160 #CJK UNIFIED IDEOGRAPH
+  {0xEE4A, 0x73F5}, //7161 #CJK UNIFIED IDEOGRAPH
+  {0xEE4B, 0x7426}, //7162 #CJK UNIFIED IDEOGRAPH
+  {0xEE4C, 0x742A}, //7163 #CJK UNIFIED IDEOGRAPH
+  {0xEE4D, 0x7429}, //7164 #CJK UNIFIED IDEOGRAPH
+  {0xEE4E, 0x742E}, //7165 #CJK UNIFIED IDEOGRAPH
+  {0xEE4F, 0x7462}, //7166 #CJK UNIFIED IDEOGRAPH
+  {0xEE50, 0x7489}, //7167 #CJK UNIFIED IDEOGRAPH
+  {0xEE51, 0x749F}, //7168 #CJK UNIFIED IDEOGRAPH
+  {0xEE52, 0x7501}, //7169 #CJK UNIFIED IDEOGRAPH
+  {0xEE53, 0x756F}, //7170 #CJK UNIFIED IDEOGRAPH
+  {0xEE54, 0x7682}, //7171 #CJK UNIFIED IDEOGRAPH
+  {0xEE55, 0x769C}, //7172 #CJK UNIFIED IDEOGRAPH
+  {0xEE56, 0x769E}, //7173 #CJK UNIFIED IDEOGRAPH
+  {0xEE57, 0x769B}, //7174 #CJK UNIFIED IDEOGRAPH
+  {0xEE58, 0x76A6}, //7175 #CJK UNIFIED IDEOGRAPH
+  {0xEE59, 0xFA17}, //7176 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE5A, 0x7746}, //7177 #CJK UNIFIED IDEOGRAPH
+  {0xEE5B, 0x52AF}, //7178 #CJK UNIFIED IDEOGRAPH
+  {0xEE5C, 0x7821}, //7179 #CJK UNIFIED IDEOGRAPH
+  {0xEE5D, 0x784E}, //7180 #CJK UNIFIED IDEOGRAPH
+  {0xEE5E, 0x7864}, //7181 #CJK UNIFIED IDEOGRAPH
+  {0xEE5F, 0x787A}, //7182 #CJK UNIFIED IDEOGRAPH
+  {0xEE60, 0x7930}, //7183 #CJK UNIFIED IDEOGRAPH
+  {0xEE61, 0xFA18}, //7184 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE62, 0xFA19}, //7185 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE63, 0xFA1A}, //7186 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE64, 0x7994}, //7187 #CJK UNIFIED IDEOGRAPH
+  {0xEE65, 0xFA1B}, //7188 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE66, 0x799B}, //7189 #CJK UNIFIED IDEOGRAPH
+  {0xEE67, 0x7AD1}, //7190 #CJK UNIFIED IDEOGRAPH
+  {0xEE68, 0x7AE7}, //7191 #CJK UNIFIED IDEOGRAPH
+  {0xEE69, 0xFA1C}, //7192 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE6A, 0x7AEB}, //7193 #CJK UNIFIED IDEOGRAPH
+  {0xEE6B, 0x7B9E}, //7194 #CJK UNIFIED IDEOGRAPH
+  {0xEE6C, 0xFA1D}, //7195 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE6D, 0x7D48}, //7196 #CJK UNIFIED IDEOGRAPH
+  {0xEE6E, 0x7D5C}, //7197 #CJK UNIFIED IDEOGRAPH
+  {0xEE6F, 0x7DB7}, //7198 #CJK UNIFIED IDEOGRAPH
+  {0xEE70, 0x7DA0}, //7199 #CJK UNIFIED IDEOGRAPH
+  {0xEE71, 0x7DD6}, //7200 #CJK UNIFIED IDEOGRAPH
+  {0xEE72, 0x7E52}, //7201 #CJK UNIFIED IDEOGRAPH
+  {0xEE73, 0x7F47}, //7202 #CJK UNIFIED IDEOGRAPH
+  {0xEE74, 0x7FA1}, //7203 #CJK UNIFIED IDEOGRAPH
+  {0xEE75, 0xFA1E}, //7204 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE76, 0x8301}, //7205 #CJK UNIFIED IDEOGRAPH
+  {0xEE77, 0x8362}, //7206 #CJK UNIFIED IDEOGRAPH
+  {0xEE78, 0x837F}, //7207 #CJK UNIFIED IDEOGRAPH
+  {0xEE79, 0x83C7}, //7208 #CJK UNIFIED IDEOGRAPH
+  {0xEE7A, 0x83F6}, //7209 #CJK UNIFIED IDEOGRAPH
+  {0xEE7B, 0x8448}, //7210 #CJK UNIFIED IDEOGRAPH
+  {0xEE7C, 0x84B4}, //7211 #CJK UNIFIED IDEOGRAPH
+  {0xEE7D, 0x8553}, //7212 #CJK UNIFIED IDEOGRAPH
+  {0xEE7E, 0x8559}, //7213 #CJK UNIFIED IDEOGRAPH
+  {0xEE80, 0x856B}, //7214 #CJK UNIFIED IDEOGRAPH
+  {0xEE81, 0xFA1F}, //7215 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE82, 0x85B0}, //7216 #CJK UNIFIED IDEOGRAPH
+  {0xEE83, 0xFA20}, //7217 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE84, 0xFA21}, //7218 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE85, 0x8807}, //7219 #CJK UNIFIED IDEOGRAPH
+  {0xEE86, 0x88F5}, //7220 #CJK UNIFIED IDEOGRAPH
+  {0xEE87, 0x8A12}, //7221 #CJK UNIFIED IDEOGRAPH
+  {0xEE88, 0x8A37}, //7222 #CJK UNIFIED IDEOGRAPH
+  {0xEE89, 0x8A79}, //7223 #CJK UNIFIED IDEOGRAPH
+  {0xEE8A, 0x8AA7}, //7224 #CJK UNIFIED IDEOGRAPH
+  {0xEE8B, 0x8ABE}, //7225 #CJK UNIFIED IDEOGRAPH
+  {0xEE8C, 0x8ADF}, //7226 #CJK UNIFIED IDEOGRAPH
+  {0xEE8D, 0xFA22}, //7227 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE8E, 0x8AF6}, //7228 #CJK UNIFIED IDEOGRAPH
+  {0xEE8F, 0x8B53}, //7229 #CJK UNIFIED IDEOGRAPH
+  {0xEE90, 0x8B7F}, //7230 #CJK UNIFIED IDEOGRAPH
+  {0xEE91, 0x8CF0}, //7231 #CJK UNIFIED IDEOGRAPH
+  {0xEE92, 0x8CF4}, //7232 #CJK UNIFIED IDEOGRAPH
+  {0xEE93, 0x8D12}, //7233 #CJK UNIFIED IDEOGRAPH
+  {0xEE94, 0x8D76}, //7234 #CJK UNIFIED IDEOGRAPH
+  {0xEE95, 0xFA23}, //7235 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE96, 0x8ECF}, //7236 #CJK UNIFIED IDEOGRAPH
+  {0xEE97, 0xFA24}, //7237 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE98, 0xFA25}, //7238 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE99, 0x9067}, //7239 #CJK UNIFIED IDEOGRAPH
+  {0xEE9A, 0x90DE}, //7240 #CJK UNIFIED IDEOGRAPH
+  {0xEE9B, 0xFA26}, //7241 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEE9C, 0x9115}, //7242 #CJK UNIFIED IDEOGRAPH
+  {0xEE9D, 0x9127}, //7243 #CJK UNIFIED IDEOGRAPH
+  {0xEE9E, 0x91DA}, //7244 #CJK UNIFIED IDEOGRAPH
+  {0xEE9F, 0x91D7}, //7245 #CJK UNIFIED IDEOGRAPH
+  {0xEEA0, 0x91DE}, //7246 #CJK UNIFIED IDEOGRAPH
+  {0xEEA1, 0x91ED}, //7247 #CJK UNIFIED IDEOGRAPH
+  {0xEEA2, 0x91EE}, //7248 #CJK UNIFIED IDEOGRAPH
+  {0xEEA3, 0x91E4}, //7249 #CJK UNIFIED IDEOGRAPH
+  {0xEEA4, 0x91E5}, //7250 #CJK UNIFIED IDEOGRAPH
+  {0xEEA5, 0x9206}, //7251 #CJK UNIFIED IDEOGRAPH
+  {0xEEA6, 0x9210}, //7252 #CJK UNIFIED IDEOGRAPH
+  {0xEEA7, 0x920A}, //7253 #CJK UNIFIED IDEOGRAPH
+  {0xEEA8, 0x923A}, //7254 #CJK UNIFIED IDEOGRAPH
+  {0xEEA9, 0x9240}, //7255 #CJK UNIFIED IDEOGRAPH
+  {0xEEAA, 0x923C}, //7256 #CJK UNIFIED IDEOGRAPH
+  {0xEEAB, 0x924E}, //7257 #CJK UNIFIED IDEOGRAPH
+  {0xEEAC, 0x9259}, //7258 #CJK UNIFIED IDEOGRAPH
+  {0xEEAD, 0x9251}, //7259 #CJK UNIFIED IDEOGRAPH
+  {0xEEAE, 0x9239}, //7260 #CJK UNIFIED IDEOGRAPH
+  {0xEEAF, 0x9267}, //7261 #CJK UNIFIED IDEOGRAPH
+  {0xEEB0, 0x92A7}, //7262 #CJK UNIFIED IDEOGRAPH
+  {0xEEB1, 0x9277}, //7263 #CJK UNIFIED IDEOGRAPH
+  {0xEEB2, 0x9278}, //7264 #CJK UNIFIED IDEOGRAPH
+  {0xEEB3, 0x92E7}, //7265 #CJK UNIFIED IDEOGRAPH
+  {0xEEB4, 0x92D7}, //7266 #CJK UNIFIED IDEOGRAPH
+  {0xEEB5, 0x92D9}, //7267 #CJK UNIFIED IDEOGRAPH
+  {0xEEB6, 0x92D0}, //7268 #CJK UNIFIED IDEOGRAPH
+  {0xEEB7, 0xFA27}, //7269 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEEB8, 0x92D5}, //7270 #CJK UNIFIED IDEOGRAPH
+  {0xEEB9, 0x92E0}, //7271 #CJK UNIFIED IDEOGRAPH
+  {0xEEBA, 0x92D3}, //7272 #CJK UNIFIED IDEOGRAPH
+  {0xEEBB, 0x9325}, //7273 #CJK UNIFIED IDEOGRAPH
+  {0xEEBC, 0x9321}, //7274 #CJK UNIFIED IDEOGRAPH
+  {0xEEBD, 0x92FB}, //7275 #CJK UNIFIED IDEOGRAPH
+  {0xEEBE, 0xFA28}, //7276 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEEBF, 0x931E}, //7277 #CJK UNIFIED IDEOGRAPH
+  {0xEEC0, 0x92FF}, //7278 #CJK UNIFIED IDEOGRAPH
+  {0xEEC1, 0x931D}, //7279 #CJK UNIFIED IDEOGRAPH
+  {0xEEC2, 0x9302}, //7280 #CJK UNIFIED IDEOGRAPH
+  {0xEEC3, 0x9370}, //7281 #CJK UNIFIED IDEOGRAPH
+  {0xEEC4, 0x9357}, //7282 #CJK UNIFIED IDEOGRAPH
+  {0xEEC5, 0x93A4}, //7283 #CJK UNIFIED IDEOGRAPH
+  {0xEEC6, 0x93C6}, //7284 #CJK UNIFIED IDEOGRAPH
+  {0xEEC7, 0x93DE}, //7285 #CJK UNIFIED IDEOGRAPH
+  {0xEEC8, 0x93F8}, //7286 #CJK UNIFIED IDEOGRAPH
+  {0xEEC9, 0x9431}, //7287 #CJK UNIFIED IDEOGRAPH
+  {0xEECA, 0x9445}, //7288 #CJK UNIFIED IDEOGRAPH
+  {0xEECB, 0x9448}, //7289 #CJK UNIFIED IDEOGRAPH
+  {0xEECC, 0x9592}, //7290 #CJK UNIFIED IDEOGRAPH
+  {0xEECD, 0xF9DC}, //7291 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEECE, 0xFA29}, //7292 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEECF, 0x969D}, //7293 #CJK UNIFIED IDEOGRAPH
+  {0xEED0, 0x96AF}, //7294 #CJK UNIFIED IDEOGRAPH
+  {0xEED1, 0x9733}, //7295 #CJK UNIFIED IDEOGRAPH
+  {0xEED2, 0x973B}, //7296 #CJK UNIFIED IDEOGRAPH
+  {0xEED3, 0x9743}, //7297 #CJK UNIFIED IDEOGRAPH
+  {0xEED4, 0x974D}, //7298 #CJK UNIFIED IDEOGRAPH
+  {0xEED5, 0x974F}, //7299 #CJK UNIFIED IDEOGRAPH
+  {0xEED6, 0x9751}, //7300 #CJK UNIFIED IDEOGRAPH
+  {0xEED7, 0x9755}, //7301 #CJK UNIFIED IDEOGRAPH
+  {0xEED8, 0x9857}, //7302 #CJK UNIFIED IDEOGRAPH
+  {0xEED9, 0x9865}, //7303 #CJK UNIFIED IDEOGRAPH
+  {0xEEDA, 0xFA2A}, //7304 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEEDB, 0xFA2B}, //7305 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEEDC, 0x9927}, //7306 #CJK UNIFIED IDEOGRAPH
+  {0xEEDD, 0xFA2C}, //7307 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEEDE, 0x999E}, //7308 #CJK UNIFIED IDEOGRAPH
+  {0xEEDF, 0x9A4E}, //7309 #CJK UNIFIED IDEOGRAPH
+  {0xEEE0, 0x9AD9}, //7310 #CJK UNIFIED IDEOGRAPH
+  {0xEEE1, 0x9ADC}, //7311 #CJK UNIFIED IDEOGRAPH
+  {0xEEE2, 0x9B75}, //7312 #CJK UNIFIED IDEOGRAPH
+  {0xEEE3, 0x9B72}, //7313 #CJK UNIFIED IDEOGRAPH
+  {0xEEE4, 0x9B8F}, //7314 #CJK UNIFIED IDEOGRAPH
+  {0xEEE5, 0x9BB1}, //7315 #CJK UNIFIED IDEOGRAPH
+  {0xEEE6, 0x9BBB}, //7316 #CJK UNIFIED IDEOGRAPH
+  {0xEEE7, 0x9C00}, //7317 #CJK UNIFIED IDEOGRAPH
+  {0xEEE8, 0x9D70}, //7318 #CJK UNIFIED IDEOGRAPH
+  {0xEEE9, 0x9D6B}, //7319 #CJK UNIFIED IDEOGRAPH
+  {0xEEEA, 0xFA2D}, //7320 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEEEB, 0x9E19}, //7321 #CJK UNIFIED IDEOGRAPH
+  {0xEEEC, 0x9ED1}, //7322 #CJK UNIFIED IDEOGRAPH
+  {0xEEEF, 0x2170}, //7323 #SMALL ROMAN NUMERAL ONE
+  {0xEEF0, 0x2171}, //7324 #SMALL ROMAN NUMERAL TWO
+  {0xEEF1, 0x2172}, //7325 #SMALL ROMAN NUMERAL THREE
+  {0xEEF2, 0x2173}, //7326 #SMALL ROMAN NUMERAL FOUR
+  {0xEEF3, 0x2174}, //7327 #SMALL ROMAN NUMERAL FIVE
+  {0xEEF4, 0x2175}, //7328 #SMALL ROMAN NUMERAL SIX
+  {0xEEF5, 0x2176}, //7329 #SMALL ROMAN NUMERAL SEVEN
+  {0xEEF6, 0x2177}, //7330 #SMALL ROMAN NUMERAL EIGHT
+  {0xEEF7, 0x2178}, //7331 #SMALL ROMAN NUMERAL NINE
+  {0xEEF8, 0x2179}, //7332 #SMALL ROMAN NUMERAL TEN
+  {0xEEF9, 0xFFE2}, //7333 #FULLWIDTH NOT SIGN
+  {0xEEFA, 0xFFE4}, //7334 #FULLWIDTH BROKEN BAR
+  {0xEEFB, 0xFF07}, //7335 #FULLWIDTH APOSTROPHE
+  {0xEEFC, 0xFF02}, //7336 #FULLWIDTH QUOTATION MARK
+  {0xFA40, 0x2170}, //7337 #SMALL ROMAN NUMERAL ONE
+  {0xFA41, 0x2171}, //7338 #SMALL ROMAN NUMERAL TWO
+  {0xFA42, 0x2172}, //7339 #SMALL ROMAN NUMERAL THREE
+  {0xFA43, 0x2173}, //7340 #SMALL ROMAN NUMERAL FOUR
+  {0xFA44, 0x2174}, //7341 #SMALL ROMAN NUMERAL FIVE
+  {0xFA45, 0x2175}, //7342 #SMALL ROMAN NUMERAL SIX
+  {0xFA46, 0x2176}, //7343 #SMALL ROMAN NUMERAL SEVEN
+  {0xFA47, 0x2177}, //7344 #SMALL ROMAN NUMERAL EIGHT
+  {0xFA48, 0x2178}, //7345 #SMALL ROMAN NUMERAL NINE
+  {0xFA49, 0x2179}, //7346 #SMALL ROMAN NUMERAL TEN
+  {0xFA4A, 0x2160}, //7347 #ROMAN NUMERAL ONE
+  {0xFA4B, 0x2161}, //7348 #ROMAN NUMERAL TWO
+  {0xFA4C, 0x2162}, //7349 #ROMAN NUMERAL THREE
+  {0xFA4D, 0x2163}, //7350 #ROMAN NUMERAL FOUR
+  {0xFA4E, 0x2164}, //7351 #ROMAN NUMERAL FIVE
+  {0xFA4F, 0x2165}, //7352 #ROMAN NUMERAL SIX
+  {0xFA50, 0x2166}, //7353 #ROMAN NUMERAL SEVEN
+  {0xFA51, 0x2167}, //7354 #ROMAN NUMERAL EIGHT
+  {0xFA52, 0x2168}, //7355 #ROMAN NUMERAL NINE
+  {0xFA53, 0x2169}, //7356 #ROMAN NUMERAL TEN
+  {0xFA54, 0xFFE2}, //7357 #FULLWIDTH NOT SIGN
+  {0xFA55, 0xFFE4}, //7358 #FULLWIDTH BROKEN BAR
+  {0xFA56, 0xFF07}, //7359 #FULLWIDTH APOSTROPHE
+  {0xFA57, 0xFF02}, //7360 #FULLWIDTH QUOTATION MARK
+  {0xFA58, 0x3231}, //7361 #PARENTHESIZED IDEOGRAPH STOCK
+  {0xFA59, 0x2116}, //7362 #NUMERO SIGN
+  {0xFA5A, 0x2121}, //7363 #TELEPHONE SIGN
+  {0xFA5B, 0x2235}, //7364 #BECAUSE
+  {0xFA5C, 0x7E8A}, //7365 #CJK UNIFIED IDEOGRAPH
+  {0xFA5D, 0x891C}, //7366 #CJK UNIFIED IDEOGRAPH
+  {0xFA5E, 0x9348}, //7367 #CJK UNIFIED IDEOGRAPH
+  {0xFA5F, 0x9288}, //7368 #CJK UNIFIED IDEOGRAPH
+  {0xFA60, 0x84DC}, //7369 #CJK UNIFIED IDEOGRAPH
+  {0xFA61, 0x4FC9}, //7370 #CJK UNIFIED IDEOGRAPH
+  {0xFA62, 0x70BB}, //7371 #CJK UNIFIED IDEOGRAPH
+  {0xFA63, 0x6631}, //7372 #CJK UNIFIED IDEOGRAPH
+  {0xFA64, 0x68C8}, //7373 #CJK UNIFIED IDEOGRAPH
+  {0xFA65, 0x92F9}, //7374 #CJK UNIFIED IDEOGRAPH
+  {0xFA66, 0x66FB}, //7375 #CJK UNIFIED IDEOGRAPH
+  {0xFA67, 0x5F45}, //7376 #CJK UNIFIED IDEOGRAPH
+  {0xFA68, 0x4E28}, //7377 #CJK UNIFIED IDEOGRAPH
+  {0xFA69, 0x4EE1}, //7378 #CJK UNIFIED IDEOGRAPH
+  {0xFA6A, 0x4EFC}, //7379 #CJK UNIFIED IDEOGRAPH
+  {0xFA6B, 0x4F00}, //7380 #CJK UNIFIED IDEOGRAPH
+  {0xFA6C, 0x4F03}, //7381 #CJK UNIFIED IDEOGRAPH
+  {0xFA6D, 0x4F39}, //7382 #CJK UNIFIED IDEOGRAPH
+  {0xFA6E, 0x4F56}, //7383 #CJK UNIFIED IDEOGRAPH
+  {0xFA6F, 0x4F92}, //7384 #CJK UNIFIED IDEOGRAPH
+  {0xFA70, 0x4F8A}, //7385 #CJK UNIFIED IDEOGRAPH
+  {0xFA71, 0x4F9A}, //7386 #CJK UNIFIED IDEOGRAPH
+  {0xFA72, 0x4F94}, //7387 #CJK UNIFIED IDEOGRAPH
+  {0xFA73, 0x4FCD}, //7388 #CJK UNIFIED IDEOGRAPH
+  {0xFA74, 0x5040}, //7389 #CJK UNIFIED IDEOGRAPH
+  {0xFA75, 0x5022}, //7390 #CJK UNIFIED IDEOGRAPH
+  {0xFA76, 0x4FFF}, //7391 #CJK UNIFIED IDEOGRAPH
+  {0xFA77, 0x501E}, //7392 #CJK UNIFIED IDEOGRAPH
+  {0xFA78, 0x5046}, //7393 #CJK UNIFIED IDEOGRAPH
+  {0xFA79, 0x5070}, //7394 #CJK UNIFIED IDEOGRAPH
+  {0xFA7A, 0x5042}, //7395 #CJK UNIFIED IDEOGRAPH
+  {0xFA7B, 0x5094}, //7396 #CJK UNIFIED IDEOGRAPH
+  {0xFA7C, 0x50F4}, //7397 #CJK UNIFIED IDEOGRAPH
+  {0xFA7D, 0x50D8}, //7398 #CJK UNIFIED IDEOGRAPH
+  {0xFA7E, 0x514A}, //7399 #CJK UNIFIED IDEOGRAPH
+  {0xFA80, 0x5164}, //7400 #CJK UNIFIED IDEOGRAPH
+  {0xFA81, 0x519D}, //7401 #CJK UNIFIED IDEOGRAPH
+  {0xFA82, 0x51BE}, //7402 #CJK UNIFIED IDEOGRAPH
+  {0xFA83, 0x51EC}, //7403 #CJK UNIFIED IDEOGRAPH
+  {0xFA84, 0x5215}, //7404 #CJK UNIFIED IDEOGRAPH
+  {0xFA85, 0x529C}, //7405 #CJK UNIFIED IDEOGRAPH
+  {0xFA86, 0x52A6}, //7406 #CJK UNIFIED IDEOGRAPH
+  {0xFA87, 0x52C0}, //7407 #CJK UNIFIED IDEOGRAPH
+  {0xFA88, 0x52DB}, //7408 #CJK UNIFIED IDEOGRAPH
+  {0xFA89, 0x5300}, //7409 #CJK UNIFIED IDEOGRAPH
+  {0xFA8A, 0x5307}, //7410 #CJK UNIFIED IDEOGRAPH
+  {0xFA8B, 0x5324}, //7411 #CJK UNIFIED IDEOGRAPH
+  {0xFA8C, 0x5372}, //7412 #CJK UNIFIED IDEOGRAPH
+  {0xFA8D, 0x5393}, //7413 #CJK UNIFIED IDEOGRAPH
+  {0xFA8E, 0x53B2}, //7414 #CJK UNIFIED IDEOGRAPH
+  {0xFA8F, 0x53DD}, //7415 #CJK UNIFIED IDEOGRAPH
+  {0xFA90, 0xFA0E}, //7416 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFA91, 0x549C}, //7417 #CJK UNIFIED IDEOGRAPH
+  {0xFA92, 0x548A}, //7418 #CJK UNIFIED IDEOGRAPH
+  {0xFA93, 0x54A9}, //7419 #CJK UNIFIED IDEOGRAPH
+  {0xFA94, 0x54FF}, //7420 #CJK UNIFIED IDEOGRAPH
+  {0xFA95, 0x5586}, //7421 #CJK UNIFIED IDEOGRAPH
+  {0xFA96, 0x5759}, //7422 #CJK UNIFIED IDEOGRAPH
+  {0xFA97, 0x5765}, //7423 #CJK UNIFIED IDEOGRAPH
+  {0xFA98, 0x57AC}, //7424 #CJK UNIFIED IDEOGRAPH
+  {0xFA99, 0x57C8}, //7425 #CJK UNIFIED IDEOGRAPH
+  {0xFA9A, 0x57C7}, //7426 #CJK UNIFIED IDEOGRAPH
+  {0xFA9B, 0xFA0F}, //7427 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFA9C, 0xFA10}, //7428 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFA9D, 0x589E}, //7429 #CJK UNIFIED IDEOGRAPH
+  {0xFA9E, 0x58B2}, //7430 #CJK UNIFIED IDEOGRAPH
+  {0xFA9F, 0x590B}, //7431 #CJK UNIFIED IDEOGRAPH
+  {0xFAA0, 0x5953}, //7432 #CJK UNIFIED IDEOGRAPH
+  {0xFAA1, 0x595B}, //7433 #CJK UNIFIED IDEOGRAPH
+  {0xFAA2, 0x595D}, //7434 #CJK UNIFIED IDEOGRAPH
+  {0xFAA3, 0x5963}, //7435 #CJK UNIFIED IDEOGRAPH
+  {0xFAA4, 0x59A4}, //7436 #CJK UNIFIED IDEOGRAPH
+  {0xFAA5, 0x59BA}, //7437 #CJK UNIFIED IDEOGRAPH
+  {0xFAA6, 0x5B56}, //7438 #CJK UNIFIED IDEOGRAPH
+  {0xFAA7, 0x5BC0}, //7439 #CJK UNIFIED IDEOGRAPH
+  {0xFAA8, 0x752F}, //7440 #CJK UNIFIED IDEOGRAPH
+  {0xFAA9, 0x5BD8}, //7441 #CJK UNIFIED IDEOGRAPH
+  {0xFAAA, 0x5BEC}, //7442 #CJK UNIFIED IDEOGRAPH
+  {0xFAAB, 0x5C1E}, //7443 #CJK UNIFIED IDEOGRAPH
+  {0xFAAC, 0x5CA6}, //7444 #CJK UNIFIED IDEOGRAPH
+  {0xFAAD, 0x5CBA}, //7445 #CJK UNIFIED IDEOGRAPH
+  {0xFAAE, 0x5CF5}, //7446 #CJK UNIFIED IDEOGRAPH
+  {0xFAAF, 0x5D27}, //7447 #CJK UNIFIED IDEOGRAPH
+  {0xFAB0, 0x5D53}, //7448 #CJK UNIFIED IDEOGRAPH
+  {0xFAB1, 0xFA11}, //7449 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFAB2, 0x5D42}, //7450 #CJK UNIFIED IDEOGRAPH
+  {0xFAB3, 0x5D6D}, //7451 #CJK UNIFIED IDEOGRAPH
+  {0xFAB4, 0x5DB8}, //7452 #CJK UNIFIED IDEOGRAPH
+  {0xFAB5, 0x5DB9}, //7453 #CJK UNIFIED IDEOGRAPH
+  {0xFAB6, 0x5DD0}, //7454 #CJK UNIFIED IDEOGRAPH
+  {0xFAB7, 0x5F21}, //7455 #CJK UNIFIED IDEOGRAPH
+  {0xFAB8, 0x5F34}, //7456 #CJK UNIFIED IDEOGRAPH
+  {0xFAB9, 0x5F67}, //7457 #CJK UNIFIED IDEOGRAPH
+  {0xFABA, 0x5FB7}, //7458 #CJK UNIFIED IDEOGRAPH
+  {0xFABB, 0x5FDE}, //7459 #CJK UNIFIED IDEOGRAPH
+  {0xFABC, 0x605D}, //7460 #CJK UNIFIED IDEOGRAPH
+  {0xFABD, 0x6085}, //7461 #CJK UNIFIED IDEOGRAPH
+  {0xFABE, 0x608A}, //7462 #CJK UNIFIED IDEOGRAPH
+  {0xFABF, 0x60DE}, //7463 #CJK UNIFIED IDEOGRAPH
+  {0xFAC0, 0x60D5}, //7464 #CJK UNIFIED IDEOGRAPH
+  {0xFAC1, 0x6120}, //7465 #CJK UNIFIED IDEOGRAPH
+  {0xFAC2, 0x60F2}, //7466 #CJK UNIFIED IDEOGRAPH
+  {0xFAC3, 0x6111}, //7467 #CJK UNIFIED IDEOGRAPH
+  {0xFAC4, 0x6137}, //7468 #CJK UNIFIED IDEOGRAPH
+  {0xFAC5, 0x6130}, //7469 #CJK UNIFIED IDEOGRAPH
+  {0xFAC6, 0x6198}, //7470 #CJK UNIFIED IDEOGRAPH
+  {0xFAC7, 0x6213}, //7471 #CJK UNIFIED IDEOGRAPH
+  {0xFAC8, 0x62A6}, //7472 #CJK UNIFIED IDEOGRAPH
+  {0xFAC9, 0x63F5}, //7473 #CJK UNIFIED IDEOGRAPH
+  {0xFACA, 0x6460}, //7474 #CJK UNIFIED IDEOGRAPH
+  {0xFACB, 0x649D}, //7475 #CJK UNIFIED IDEOGRAPH
+  {0xFACC, 0x64CE}, //7476 #CJK UNIFIED IDEOGRAPH
+  {0xFACD, 0x654E}, //7477 #CJK UNIFIED IDEOGRAPH
+  {0xFACE, 0x6600}, //7478 #CJK UNIFIED IDEOGRAPH
+  {0xFACF, 0x6615}, //7479 #CJK UNIFIED IDEOGRAPH
+  {0xFAD0, 0x663B}, //7480 #CJK UNIFIED IDEOGRAPH
+  {0xFAD1, 0x6609}, //7481 #CJK UNIFIED IDEOGRAPH
+  {0xFAD2, 0x662E}, //7482 #CJK UNIFIED IDEOGRAPH
+  {0xFAD3, 0x661E}, //7483 #CJK UNIFIED IDEOGRAPH
+  {0xFAD4, 0x6624}, //7484 #CJK UNIFIED IDEOGRAPH
+  {0xFAD5, 0x6665}, //7485 #CJK UNIFIED IDEOGRAPH
+  {0xFAD6, 0x6657}, //7486 #CJK UNIFIED IDEOGRAPH
+  {0xFAD7, 0x6659}, //7487 #CJK UNIFIED IDEOGRAPH
+  {0xFAD8, 0xFA12}, //7488 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFAD9, 0x6673}, //7489 #CJK UNIFIED IDEOGRAPH
+  {0xFADA, 0x6699}, //7490 #CJK UNIFIED IDEOGRAPH
+  {0xFADB, 0x66A0}, //7491 #CJK UNIFIED IDEOGRAPH
+  {0xFADC, 0x66B2}, //7492 #CJK UNIFIED IDEOGRAPH
+  {0xFADD, 0x66BF}, //7493 #CJK UNIFIED IDEOGRAPH
+  {0xFADE, 0x66FA}, //7494 #CJK UNIFIED IDEOGRAPH
+  {0xFADF, 0x670E}, //7495 #CJK UNIFIED IDEOGRAPH
+  {0xFAE0, 0xF929}, //7496 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFAE1, 0x6766}, //7497 #CJK UNIFIED IDEOGRAPH
+  {0xFAE2, 0x67BB}, //7498 #CJK UNIFIED IDEOGRAPH
+  {0xFAE3, 0x6852}, //7499 #CJK UNIFIED IDEOGRAPH
+  {0xFAE4, 0x67C0}, //7500 #CJK UNIFIED IDEOGRAPH
+  {0xFAE5, 0x6801}, //7501 #CJK UNIFIED IDEOGRAPH
+  {0xFAE6, 0x6844}, //7502 #CJK UNIFIED IDEOGRAPH
+  {0xFAE7, 0x68CF}, //7503 #CJK UNIFIED IDEOGRAPH
+  {0xFAE8, 0xFA13}, //7504 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFAE9, 0x6968}, //7505 #CJK UNIFIED IDEOGRAPH
+  {0xFAEA, 0xFA14}, //7506 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFAEB, 0x6998}, //7507 #CJK UNIFIED IDEOGRAPH
+  {0xFAEC, 0x69E2}, //7508 #CJK UNIFIED IDEOGRAPH
+  {0xFAED, 0x6A30}, //7509 #CJK UNIFIED IDEOGRAPH
+  {0xFAEE, 0x6A6B}, //7510 #CJK UNIFIED IDEOGRAPH
+  {0xFAEF, 0x6A46}, //7511 #CJK UNIFIED IDEOGRAPH
+  {0xFAF0, 0x6A73}, //7512 #CJK UNIFIED IDEOGRAPH
+  {0xFAF1, 0x6A7E}, //7513 #CJK UNIFIED IDEOGRAPH
+  {0xFAF2, 0x6AE2}, //7514 #CJK UNIFIED IDEOGRAPH
+  {0xFAF3, 0x6AE4}, //7515 #CJK UNIFIED IDEOGRAPH
+  {0xFAF4, 0x6BD6}, //7516 #CJK UNIFIED IDEOGRAPH
+  {0xFAF5, 0x6C3F}, //7517 #CJK UNIFIED IDEOGRAPH
+  {0xFAF6, 0x6C5C}, //7518 #CJK UNIFIED IDEOGRAPH
+  {0xFAF7, 0x6C86}, //7519 #CJK UNIFIED IDEOGRAPH
+  {0xFAF8, 0x6C6F}, //7520 #CJK UNIFIED IDEOGRAPH
+  {0xFAF9, 0x6CDA}, //7521 #CJK UNIFIED IDEOGRAPH
+  {0xFAFA, 0x6D04}, //7522 #CJK UNIFIED IDEOGRAPH
+  {0xFAFB, 0x6D87}, //7523 #CJK UNIFIED IDEOGRAPH
+  {0xFAFC, 0x6D6F}, //7524 #CJK UNIFIED IDEOGRAPH
+  {0xFB40, 0x6D96}, //7525 #CJK UNIFIED IDEOGRAPH
+  {0xFB41, 0x6DAC}, //7526 #CJK UNIFIED IDEOGRAPH
+  {0xFB42, 0x6DCF}, //7527 #CJK UNIFIED IDEOGRAPH
+  {0xFB43, 0x6DF8}, //7528 #CJK UNIFIED IDEOGRAPH
+  {0xFB44, 0x6DF2}, //7529 #CJK UNIFIED IDEOGRAPH
+  {0xFB45, 0x6DFC}, //7530 #CJK UNIFIED IDEOGRAPH
+  {0xFB46, 0x6E39}, //7531 #CJK UNIFIED IDEOGRAPH
+  {0xFB47, 0x6E5C}, //7532 #CJK UNIFIED IDEOGRAPH
+  {0xFB48, 0x6E27}, //7533 #CJK UNIFIED IDEOGRAPH
+  {0xFB49, 0x6E3C}, //7534 #CJK UNIFIED IDEOGRAPH
+  {0xFB4A, 0x6EBF}, //7535 #CJK UNIFIED IDEOGRAPH
+  {0xFB4B, 0x6F88}, //7536 #CJK UNIFIED IDEOGRAPH
+  {0xFB4C, 0x6FB5}, //7537 #CJK UNIFIED IDEOGRAPH
+  {0xFB4D, 0x6FF5}, //7538 #CJK UNIFIED IDEOGRAPH
+  {0xFB4E, 0x7005}, //7539 #CJK UNIFIED IDEOGRAPH
+  {0xFB4F, 0x7007}, //7540 #CJK UNIFIED IDEOGRAPH
+  {0xFB50, 0x7028}, //7541 #CJK UNIFIED IDEOGRAPH
+  {0xFB51, 0x7085}, //7542 #CJK UNIFIED IDEOGRAPH
+  {0xFB52, 0x70AB}, //7543 #CJK UNIFIED IDEOGRAPH
+  {0xFB53, 0x710F}, //7544 #CJK UNIFIED IDEOGRAPH
+  {0xFB54, 0x7104}, //7545 #CJK UNIFIED IDEOGRAPH
+  {0xFB55, 0x715C}, //7546 #CJK UNIFIED IDEOGRAPH
+  {0xFB56, 0x7146}, //7547 #CJK UNIFIED IDEOGRAPH
+  {0xFB57, 0x7147}, //7548 #CJK UNIFIED IDEOGRAPH
+  {0xFB58, 0xFA15}, //7549 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB59, 0x71C1}, //7550 #CJK UNIFIED IDEOGRAPH
+  {0xFB5A, 0x71FE}, //7551 #CJK UNIFIED IDEOGRAPH
+  {0xFB5B, 0x72B1}, //7552 #CJK UNIFIED IDEOGRAPH
+  {0xFB5C, 0x72BE}, //7553 #CJK UNIFIED IDEOGRAPH
+  {0xFB5D, 0x7324}, //7554 #CJK UNIFIED IDEOGRAPH
+  {0xFB5E, 0xFA16}, //7555 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB5F, 0x7377}, //7556 #CJK UNIFIED IDEOGRAPH
+  {0xFB60, 0x73BD}, //7557 #CJK UNIFIED IDEOGRAPH
+  {0xFB61, 0x73C9}, //7558 #CJK UNIFIED IDEOGRAPH
+  {0xFB62, 0x73D6}, //7559 #CJK UNIFIED IDEOGRAPH
+  {0xFB63, 0x73E3}, //7560 #CJK UNIFIED IDEOGRAPH
+  {0xFB64, 0x73D2}, //7561 #CJK UNIFIED IDEOGRAPH
+  {0xFB65, 0x7407}, //7562 #CJK UNIFIED IDEOGRAPH
+  {0xFB66, 0x73F5}, //7563 #CJK UNIFIED IDEOGRAPH
+  {0xFB67, 0x7426}, //7564 #CJK UNIFIED IDEOGRAPH
+  {0xFB68, 0x742A}, //7565 #CJK UNIFIED IDEOGRAPH
+  {0xFB69, 0x7429}, //7566 #CJK UNIFIED IDEOGRAPH
+  {0xFB6A, 0x742E}, //7567 #CJK UNIFIED IDEOGRAPH
+  {0xFB6B, 0x7462}, //7568 #CJK UNIFIED IDEOGRAPH
+  {0xFB6C, 0x7489}, //7569 #CJK UNIFIED IDEOGRAPH
+  {0xFB6D, 0x749F}, //7570 #CJK UNIFIED IDEOGRAPH
+  {0xFB6E, 0x7501}, //7571 #CJK UNIFIED IDEOGRAPH
+  {0xFB6F, 0x756F}, //7572 #CJK UNIFIED IDEOGRAPH
+  {0xFB70, 0x7682}, //7573 #CJK UNIFIED IDEOGRAPH
+  {0xFB71, 0x769C}, //7574 #CJK UNIFIED IDEOGRAPH
+  {0xFB72, 0x769E}, //7575 #CJK UNIFIED IDEOGRAPH
+  {0xFB73, 0x769B}, //7576 #CJK UNIFIED IDEOGRAPH
+  {0xFB74, 0x76A6}, //7577 #CJK UNIFIED IDEOGRAPH
+  {0xFB75, 0xFA17}, //7578 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB76, 0x7746}, //7579 #CJK UNIFIED IDEOGRAPH
+  {0xFB77, 0x52AF}, //7580 #CJK UNIFIED IDEOGRAPH
+  {0xFB78, 0x7821}, //7581 #CJK UNIFIED IDEOGRAPH
+  {0xFB79, 0x784E}, //7582 #CJK UNIFIED IDEOGRAPH
+  {0xFB7A, 0x7864}, //7583 #CJK UNIFIED IDEOGRAPH
+  {0xFB7B, 0x787A}, //7584 #CJK UNIFIED IDEOGRAPH
+  {0xFB7C, 0x7930}, //7585 #CJK UNIFIED IDEOGRAPH
+  {0xFB7D, 0xFA18}, //7586 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB7E, 0xFA19}, //7587 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB80, 0xFA1A}, //7588 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB81, 0x7994}, //7589 #CJK UNIFIED IDEOGRAPH
+  {0xFB82, 0xFA1B}, //7590 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB83, 0x799B}, //7591 #CJK UNIFIED IDEOGRAPH
+  {0xFB84, 0x7AD1}, //7592 #CJK UNIFIED IDEOGRAPH
+  {0xFB85, 0x7AE7}, //7593 #CJK UNIFIED IDEOGRAPH
+  {0xFB86, 0xFA1C}, //7594 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB87, 0x7AEB}, //7595 #CJK UNIFIED IDEOGRAPH
+  {0xFB88, 0x7B9E}, //7596 #CJK UNIFIED IDEOGRAPH
+  {0xFB89, 0xFA1D}, //7597 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB8A, 0x7D48}, //7598 #CJK UNIFIED IDEOGRAPH
+  {0xFB8B, 0x7D5C}, //7599 #CJK UNIFIED IDEOGRAPH
+  {0xFB8C, 0x7DB7}, //7600 #CJK UNIFIED IDEOGRAPH
+  {0xFB8D, 0x7DA0}, //7601 #CJK UNIFIED IDEOGRAPH
+  {0xFB8E, 0x7DD6}, //7602 #CJK UNIFIED IDEOGRAPH
+  {0xFB8F, 0x7E52}, //7603 #CJK UNIFIED IDEOGRAPH
+  {0xFB90, 0x7F47}, //7604 #CJK UNIFIED IDEOGRAPH
+  {0xFB91, 0x7FA1}, //7605 #CJK UNIFIED IDEOGRAPH
+  {0xFB92, 0xFA1E}, //7606 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB93, 0x8301}, //7607 #CJK UNIFIED IDEOGRAPH
+  {0xFB94, 0x8362}, //7608 #CJK UNIFIED IDEOGRAPH
+  {0xFB95, 0x837F}, //7609 #CJK UNIFIED IDEOGRAPH
+  {0xFB96, 0x83C7}, //7610 #CJK UNIFIED IDEOGRAPH
+  {0xFB97, 0x83F6}, //7611 #CJK UNIFIED IDEOGRAPH
+  {0xFB98, 0x8448}, //7612 #CJK UNIFIED IDEOGRAPH
+  {0xFB99, 0x84B4}, //7613 #CJK UNIFIED IDEOGRAPH
+  {0xFB9A, 0x8553}, //7614 #CJK UNIFIED IDEOGRAPH
+  {0xFB9B, 0x8559}, //7615 #CJK UNIFIED IDEOGRAPH
+  {0xFB9C, 0x856B}, //7616 #CJK UNIFIED IDEOGRAPH
+  {0xFB9D, 0xFA1F}, //7617 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFB9E, 0x85B0}, //7618 #CJK UNIFIED IDEOGRAPH
+  {0xFB9F, 0xFA20}, //7619 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBA0, 0xFA21}, //7620 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBA1, 0x8807}, //7621 #CJK UNIFIED IDEOGRAPH
+  {0xFBA2, 0x88F5}, //7622 #CJK UNIFIED IDEOGRAPH
+  {0xFBA3, 0x8A12}, //7623 #CJK UNIFIED IDEOGRAPH
+  {0xFBA4, 0x8A37}, //7624 #CJK UNIFIED IDEOGRAPH
+  {0xFBA5, 0x8A79}, //7625 #CJK UNIFIED IDEOGRAPH
+  {0xFBA6, 0x8AA7}, //7626 #CJK UNIFIED IDEOGRAPH
+  {0xFBA7, 0x8ABE}, //7627 #CJK UNIFIED IDEOGRAPH
+  {0xFBA8, 0x8ADF}, //7628 #CJK UNIFIED IDEOGRAPH
+  {0xFBA9, 0xFA22}, //7629 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBAA, 0x8AF6}, //7630 #CJK UNIFIED IDEOGRAPH
+  {0xFBAB, 0x8B53}, //7631 #CJK UNIFIED IDEOGRAPH
+  {0xFBAC, 0x8B7F}, //7632 #CJK UNIFIED IDEOGRAPH
+  {0xFBAD, 0x8CF0}, //7633 #CJK UNIFIED IDEOGRAPH
+  {0xFBAE, 0x8CF4}, //7634 #CJK UNIFIED IDEOGRAPH
+  {0xFBAF, 0x8D12}, //7635 #CJK UNIFIED IDEOGRAPH
+  {0xFBB0, 0x8D76}, //7636 #CJK UNIFIED IDEOGRAPH
+  {0xFBB1, 0xFA23}, //7637 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBB2, 0x8ECF}, //7638 #CJK UNIFIED IDEOGRAPH
+  {0xFBB3, 0xFA24}, //7639 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBB4, 0xFA25}, //7640 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBB5, 0x9067}, //7641 #CJK UNIFIED IDEOGRAPH
+  {0xFBB6, 0x90DE}, //7642 #CJK UNIFIED IDEOGRAPH
+  {0xFBB7, 0xFA26}, //7643 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBB8, 0x9115}, //7644 #CJK UNIFIED IDEOGRAPH
+  {0xFBB9, 0x9127}, //7645 #CJK UNIFIED IDEOGRAPH
+  {0xFBBA, 0x91DA}, //7646 #CJK UNIFIED IDEOGRAPH
+  {0xFBBB, 0x91D7}, //7647 #CJK UNIFIED IDEOGRAPH
+  {0xFBBC, 0x91DE}, //7648 #CJK UNIFIED IDEOGRAPH
+  {0xFBBD, 0x91ED}, //7649 #CJK UNIFIED IDEOGRAPH
+  {0xFBBE, 0x91EE}, //7650 #CJK UNIFIED IDEOGRAPH
+  {0xFBBF, 0x91E4}, //7651 #CJK UNIFIED IDEOGRAPH
+  {0xFBC0, 0x91E5}, //7652 #CJK UNIFIED IDEOGRAPH
+  {0xFBC1, 0x9206}, //7653 #CJK UNIFIED IDEOGRAPH
+  {0xFBC2, 0x9210}, //7654 #CJK UNIFIED IDEOGRAPH
+  {0xFBC3, 0x920A}, //7655 #CJK UNIFIED IDEOGRAPH
+  {0xFBC4, 0x923A}, //7656 #CJK UNIFIED IDEOGRAPH
+  {0xFBC5, 0x9240}, //7657 #CJK UNIFIED IDEOGRAPH
+  {0xFBC6, 0x923C}, //7658 #CJK UNIFIED IDEOGRAPH
+  {0xFBC7, 0x924E}, //7659 #CJK UNIFIED IDEOGRAPH
+  {0xFBC8, 0x9259}, //7660 #CJK UNIFIED IDEOGRAPH
+  {0xFBC9, 0x9251}, //7661 #CJK UNIFIED IDEOGRAPH
+  {0xFBCA, 0x9239}, //7662 #CJK UNIFIED IDEOGRAPH
+  {0xFBCB, 0x9267}, //7663 #CJK UNIFIED IDEOGRAPH
+  {0xFBCC, 0x92A7}, //7664 #CJK UNIFIED IDEOGRAPH
+  {0xFBCD, 0x9277}, //7665 #CJK UNIFIED IDEOGRAPH
+  {0xFBCE, 0x9278}, //7666 #CJK UNIFIED IDEOGRAPH
+  {0xFBCF, 0x92E7}, //7667 #CJK UNIFIED IDEOGRAPH
+  {0xFBD0, 0x92D7}, //7668 #CJK UNIFIED IDEOGRAPH
+  {0xFBD1, 0x92D9}, //7669 #CJK UNIFIED IDEOGRAPH
+  {0xFBD2, 0x92D0}, //7670 #CJK UNIFIED IDEOGRAPH
+  {0xFBD3, 0xFA27}, //7671 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBD4, 0x92D5}, //7672 #CJK UNIFIED IDEOGRAPH
+  {0xFBD5, 0x92E0}, //7673 #CJK UNIFIED IDEOGRAPH
+  {0xFBD6, 0x92D3}, //7674 #CJK UNIFIED IDEOGRAPH
+  {0xFBD7, 0x9325}, //7675 #CJK UNIFIED IDEOGRAPH
+  {0xFBD8, 0x9321}, //7676 #CJK UNIFIED IDEOGRAPH
+  {0xFBD9, 0x92FB}, //7677 #CJK UNIFIED IDEOGRAPH
+  {0xFBDA, 0xFA28}, //7678 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBDB, 0x931E}, //7679 #CJK UNIFIED IDEOGRAPH
+  {0xFBDC, 0x92FF}, //7680 #CJK UNIFIED IDEOGRAPH
+  {0xFBDD, 0x931D}, //7681 #CJK UNIFIED IDEOGRAPH
+  {0xFBDE, 0x9302}, //7682 #CJK UNIFIED IDEOGRAPH
+  {0xFBDF, 0x9370}, //7683 #CJK UNIFIED IDEOGRAPH
+  {0xFBE0, 0x9357}, //7684 #CJK UNIFIED IDEOGRAPH
+  {0xFBE1, 0x93A4}, //7685 #CJK UNIFIED IDEOGRAPH
+  {0xFBE2, 0x93C6}, //7686 #CJK UNIFIED IDEOGRAPH
+  {0xFBE3, 0x93DE}, //7687 #CJK UNIFIED IDEOGRAPH
+  {0xFBE4, 0x93F8}, //7688 #CJK UNIFIED IDEOGRAPH
+  {0xFBE5, 0x9431}, //7689 #CJK UNIFIED IDEOGRAPH
+  {0xFBE6, 0x9445}, //7690 #CJK UNIFIED IDEOGRAPH
+  {0xFBE7, 0x9448}, //7691 #CJK UNIFIED IDEOGRAPH
+  {0xFBE8, 0x9592}, //7692 #CJK UNIFIED IDEOGRAPH
+  {0xFBE9, 0xF9DC}, //7693 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBEA, 0xFA29}, //7694 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBEB, 0x969D}, //7695 #CJK UNIFIED IDEOGRAPH
+  {0xFBEC, 0x96AF}, //7696 #CJK UNIFIED IDEOGRAPH
+  {0xFBED, 0x9733}, //7697 #CJK UNIFIED IDEOGRAPH
+  {0xFBEE, 0x973B}, //7698 #CJK UNIFIED IDEOGRAPH
+  {0xFBEF, 0x9743}, //7699 #CJK UNIFIED IDEOGRAPH
+  {0xFBF0, 0x974D}, //7700 #CJK UNIFIED IDEOGRAPH
+  {0xFBF1, 0x974F}, //7701 #CJK UNIFIED IDEOGRAPH
+  {0xFBF2, 0x9751}, //7702 #CJK UNIFIED IDEOGRAPH
+  {0xFBF3, 0x9755}, //7703 #CJK UNIFIED IDEOGRAPH
+  {0xFBF4, 0x9857}, //7704 #CJK UNIFIED IDEOGRAPH
+  {0xFBF5, 0x9865}, //7705 #CJK UNIFIED IDEOGRAPH
+  {0xFBF6, 0xFA2A}, //7706 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBF7, 0xFA2B}, //7707 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBF8, 0x9927}, //7708 #CJK UNIFIED IDEOGRAPH
+  {0xFBF9, 0xFA2C}, //7709 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFBFA, 0x999E}, //7710 #CJK UNIFIED IDEOGRAPH
+  {0xFBFB, 0x9A4E}, //7711 #CJK UNIFIED IDEOGRAPH
+  {0xFBFC, 0x9AD9}, //7712 #CJK UNIFIED IDEOGRAPH
+  {0xFC40, 0x9ADC}, //7713 #CJK UNIFIED IDEOGRAPH
+  {0xFC41, 0x9B75}, //7714 #CJK UNIFIED IDEOGRAPH
+  {0xFC42, 0x9B72}, //7715 #CJK UNIFIED IDEOGRAPH
+  {0xFC43, 0x9B8F}, //7716 #CJK UNIFIED IDEOGRAPH
+  {0xFC44, 0x9BB1}, //7717 #CJK UNIFIED IDEOGRAPH
+  {0xFC45, 0x9BBB}, //7718 #CJK UNIFIED IDEOGRAPH
+  {0xFC46, 0x9C00}, //7719 #CJK UNIFIED IDEOGRAPH
+  {0xFC47, 0x9D70}, //7720 #CJK UNIFIED IDEOGRAPH
+  {0xFC48, 0x9D6B}, //7721 #CJK UNIFIED IDEOGRAPH
+  {0xFC49, 0xFA2D}, //7722 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFC4A, 0x9E19}, //7723 #CJK UNIFIED IDEOGRAPH
+  {0xFC4B, 0x9ED1}  //7724 #CJK UNIFIED IDEOGRAPH
+};
+#endif // DRW_CPTABLE932_H
diff --git a/src/app/dwg/libdxfrw/intern/drw_cptable936.h b/src/app/dwg/libdxfrw/intern/drw_cptable936.h
new file mode 100644
index 0000000..ceaeda1
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/drw_cptable936.h
@@ -0,0 +1,21946 @@
+#ifndef DRW_CPTABLE936_H
+#define DRW_CPTABLE936_H
+
+//Chinese PRC GBK (XGB)
+
+//first entry in this tables are 0x80
+#define CPOFFSET936 0x80
+#define CPLENGHT936 21791
+#define NOTFOUND936 0x003F
+
+//Table 949 one byte
+static const int DRW_Table936[] =
+{
+  0x20AC  //1 #EURO SIGN 0x80
+//    0xF8F5  //2 #EURO SIGN 0x80
+};
+
+//Table 936
+static const int DRW_LeadTable936[] =
+{
+  0, //1#DBCS LEAD BYTE 0x81
+  190, //2#DBCS LEAD BYTE 0x82
+  380, //3#DBCS LEAD BYTE 0x83
+  570, //4#DBCS LEAD BYTE 0x84
+  760, //5#DBCS LEAD BYTE 0x85
+  950, //6#DBCS LEAD BYTE 0x86
+  1140, //7#DBCS LEAD BYTE 0x87
+  1330, //8#DBCS LEAD BYTE 0x88
+  1520, //9#DBCS LEAD BYTE 0x89
+  1710, //10#DBCS LEAD BYTE 0x8A
+  1900, //11#DBCS LEAD BYTE 0x8B
+  2090, //12#DBCS LEAD BYTE 0x8C
+  2280, //13#DBCS LEAD BYTE 0x8D
+  2470, //14#DBCS LEAD BYTE 0x8E
+  2660, //15#DBCS LEAD BYTE 0x8F
+  2850, //16#DBCS LEAD BYTE 0x90
+  3040, //17#DBCS LEAD BYTE 0x91
+  3230, //18#DBCS LEAD BYTE 0x92
+  3420, //19#DBCS LEAD BYTE 0x93
+  3610, //20#DBCS LEAD BYTE 0x94
+  3800, //21#DBCS LEAD BYTE 0x95
+  3990, //22#DBCS LEAD BYTE 0x96
+  4180, //23#DBCS LEAD BYTE 0x97
+  4370, //24#DBCS LEAD BYTE 0x98
+  4560, //25#DBCS LEAD BYTE 0x99
+  4750, //26#DBCS LEAD BYTE 0x9A
+  4940, //27#DBCS LEAD BYTE 0x9B
+  5130, //28#DBCS LEAD BYTE 0x9C
+  5320, //29#DBCS LEAD BYTE 0x9D
+  5510, //30#DBCS LEAD BYTE 0x9E
+  5700, //31#DBCS LEAD BYTE 0x9F
+  5906, //32#DBCS LEAD BYTE 0xA0
+  6080, //33#DBCS LEAD BYTE 0xA1
+  6174, //34#DBCS LEAD BYTE 0xA2
+  6256, //35#DBCS LEAD BYTE 0xA3
+  6350, //36#DBCS LEAD BYTE 0xA4
+  6433, //37#DBCS LEAD BYTE 0xA5
+  6519, //38#DBCS LEAD BYTE 0xA6
+  6586, //39#DBCS LEAD BYTE 0xA7
+  6652, //40#DBCS LEAD BYTE 0xA8
+  6804, //41#DBCS LEAD BYTE 0xA9
+  6948, //42#DBCS LEAD BYTE 0xAA
+  7044, //43#DBCS LEAD BYTE 0xAB
+  7140, //44#DBCS LEAD BYTE 0xAC
+  7236, //45#DBCS LEAD BYTE 0xAD
+  7332, //46#DBCS LEAD BYTE 0xAE
+  7428, //47#DBCS LEAD BYTE 0xAF
+  7524, //48#DBCS LEAD BYTE 0xB0
+  7714, //49#DBCS LEAD BYTE 0xB1
+  7904, //50#DBCS LEAD BYTE 0xB2
+  8094, //51#DBCS LEAD BYTE 0xB3
+  8284, //52#DBCS LEAD BYTE 0xB4
+  8474, //53#DBCS LEAD BYTE 0xB5
+  8664, //54#DBCS LEAD BYTE 0xB6
+  8854, //55#DBCS LEAD BYTE 0xB7
+  9044, //56#DBCS LEAD BYTE 0xB8
+  9224, //57#DBCS LEAD BYTE 0xB9
+  9424, //58#DBCS LEAD BYTE 0xBA
+  9614, //59#DBCS LEAD BYTE 0xBB
+  9804, //60#DBCS LEAD BYTE 0xBC
+  9994, //61#DBCS LEAD BYTE 0xBD
+  10184, //62#DBCS LEAD BYTE 0xBE
+  10374, //63#DBCS LEAD BYTE 0xBF
+  10564, //64#DBCS LEAD BYTE 0xC0
+  10754, //65#DBCS LEAD BYTE 0xC1
+  10944, //66#DBCS LEAD BYTE 0xC2
+  11134, //67#DBCS LEAD BYTE 0xC3
+  11324, //68#DBCS LEAD BYTE 0xC4
+  11514, //69#DBCS LEAD BYTE 0xC5
+  11704, //70#DBCS LEAD BYTE 0xC6
+  11894, //71#DBCS LEAD BYTE 0xC7
+  12084, //72#DBCS LEAD BYTE 0xC8
+  12274, //73#DBCS LEAD BYTE 0xC9
+  12464, //74#DBCS LEAD BYTE 0xCA
+  12654, //75#DBCS LEAD BYTE 0xCB
+  12844, //76#DBCS LEAD BYTE 0xCC
+  13034, //77#DBCS LEAD BYTE 0xCD
+  13224, //78#DBCS LEAD BYTE 0xCE
+  13414, //79#DBCS LEAD BYTE 0xCF
+  13604, //80#DBCS LEAD BYTE 0xD0
+  13794, //81#DBCS LEAD BYTE 0xD1
+  13984, //82#DBCS LEAD BYTE 0xD2
+  14174, //83#DBCS LEAD BYTE 0xD3
+  14364, //84#DBCS LEAD BYTE 0xD4
+  14554, //85#DBCS LEAD BYTE 0xD5
+  14744, //86#DBCS LEAD BYTE 0xD6
+  14934, //87#DBCS LEAD BYTE 0xD7
+  15119, //88#DBCS LEAD BYTE 0xD8
+  15309, //89#DBCS LEAD BYTE 0xD9
+  15499, //90#DBCS LEAD BYTE 0xDA
+  15689, //91#DBCS LEAD BYTE 0xDB
+  15879, //92#DBCS LEAD BYTE 0xDC
+  16069, //93#DBCS LEAD BYTE 0xDD
+  16259, //94#DBCS LEAD BYTE 0xDE
+  16449, //95#DBCS LEAD BYTE 0xDF
+  16639, //96#DBCS LEAD BYTE 0xE0
+  16829, //97#DBCS LEAD BYTE 0xE1
+  17019, //98#DBCS LEAD BYTE 0xE2
+  17209, //99#DBCS LEAD BYTE 0xE3
+  17399, //100#DBCS LEAD BYTE 0xE4
+  17589, //101#DBCS LEAD BYTE 0xE5
+  17779, //102#DBCS LEAD BYTE 0xE6
+  17969, //103#DBCS LEAD BYTE 0xE7
+  18159, //104#DBCS LEAD BYTE 0xE8
+  18349, //105#DBCS LEAD BYTE 0xE9
+  18539, //106#DBCS LEAD BYTE 0xEA
+  18729, //107#DBCS LEAD BYTE 0xEB
+  18919, //108#DBCS LEAD BYTE 0xEC
+  19109, //109#DBCS LEAD BYTE 0xED
+  19299, //110#DBCS LEAD BYTE 0xEE
+  19489, //111#DBCS LEAD BYTE 0xEF
+  19679, //112#DBCS LEAD BYTE 0xF0
+  19869, //113#DBCS LEAD BYTE 0xF1
+  20059, //114#DBCS LEAD BYTE 0xF2
+  20249, //115#DBCS LEAD BYTE 0xF3
+  20439, //116#DBCS LEAD BYTE 0xF4
+  20659, //117#DBCS LEAD BYTE 0xF5
+  20819, //118#DBCS LEAD BYTE 0xF6
+  21009, //119#DBCS LEAD BYTE 0xF7
+  21199, //120#DBCS LEAD BYTE 0xF8
+  21295, //121#DBCS LEAD BYTE 0xF9
+  21391, //122#DBCS LEAD BYTE 0xFA
+  21487, //123#DBCS LEAD BYTE 0xFB
+  21583, //124#DBCS LEAD BYTE 0xFC
+  21679, //125#DBCS LEAD BYTE 0xFD
+  21775, //126#DBCS LEAD BYTE 0xFE
+  21791, //127#UNDEFINED 0xFF, END OF TABLE
+};
+
+//Table 936 tail byte
+static const int DRW_DoubleTable936[][2] =
+{
+  {0x8140, 0x4E02}, //1 #CJK UNIFIED IDEOGRAPH
+  {0x8141, 0x4E04}, //2 #CJK UNIFIED IDEOGRAPH
+  {0x8142, 0x4E05}, //3 #CJK UNIFIED IDEOGRAPH
+  {0x8143, 0x4E06}, //4 #CJK UNIFIED IDEOGRAPH
+  {0x8144, 0x4E0F}, //5 #CJK UNIFIED IDEOGRAPH
+  {0x8145, 0x4E12}, //6 #CJK UNIFIED IDEOGRAPH
+  {0x8146, 0x4E17}, //7 #CJK UNIFIED IDEOGRAPH
+  {0x8147, 0x4E1F}, //8 #CJK UNIFIED IDEOGRAPH
+  {0x8148, 0x4E20}, //9 #CJK UNIFIED IDEOGRAPH
+  {0x8149, 0x4E21}, //10 #CJK UNIFIED IDEOGRAPH
+  {0x814A, 0x4E23}, //11 #CJK UNIFIED IDEOGRAPH
+  {0x814B, 0x4E26}, //12 #CJK UNIFIED IDEOGRAPH
+  {0x814C, 0x4E29}, //13 #CJK UNIFIED IDEOGRAPH
+  {0x814D, 0x4E2E}, //14 #CJK UNIFIED IDEOGRAPH
+  {0x814E, 0x4E2F}, //15 #CJK UNIFIED IDEOGRAPH
+  {0x814F, 0x4E31}, //16 #CJK UNIFIED IDEOGRAPH
+  {0x8150, 0x4E33}, //17 #CJK UNIFIED IDEOGRAPH
+  {0x8151, 0x4E35}, //18 #CJK UNIFIED IDEOGRAPH
+  {0x8152, 0x4E37}, //19 #CJK UNIFIED IDEOGRAPH
+  {0x8153, 0x4E3C}, //20 #CJK UNIFIED IDEOGRAPH
+  {0x8154, 0x4E40}, //21 #CJK UNIFIED IDEOGRAPH
+  {0x8155, 0x4E41}, //22 #CJK UNIFIED IDEOGRAPH
+  {0x8156, 0x4E42}, //23 #CJK UNIFIED IDEOGRAPH
+  {0x8157, 0x4E44}, //24 #CJK UNIFIED IDEOGRAPH
+  {0x8158, 0x4E46}, //25 #CJK UNIFIED IDEOGRAPH
+  {0x8159, 0x4E4A}, //26 #CJK UNIFIED IDEOGRAPH
+  {0x815A, 0x4E51}, //27 #CJK UNIFIED IDEOGRAPH
+  {0x815B, 0x4E55}, //28 #CJK UNIFIED IDEOGRAPH
+  {0x815C, 0x4E57}, //29 #CJK UNIFIED IDEOGRAPH
+  {0x815D, 0x4E5A}, //30 #CJK UNIFIED IDEOGRAPH
+  {0x815E, 0x4E5B}, //31 #CJK UNIFIED IDEOGRAPH
+  {0x815F, 0x4E62}, //32 #CJK UNIFIED IDEOGRAPH
+  {0x8160, 0x4E63}, //33 #CJK UNIFIED IDEOGRAPH
+  {0x8161, 0x4E64}, //34 #CJK UNIFIED IDEOGRAPH
+  {0x8162, 0x4E65}, //35 #CJK UNIFIED IDEOGRAPH
+  {0x8163, 0x4E67}, //36 #CJK UNIFIED IDEOGRAPH
+  {0x8164, 0x4E68}, //37 #CJK UNIFIED IDEOGRAPH
+  {0x8165, 0x4E6A}, //38 #CJK UNIFIED IDEOGRAPH
+  {0x8166, 0x4E6B}, //39 #CJK UNIFIED IDEOGRAPH
+  {0x8167, 0x4E6C}, //40 #CJK UNIFIED IDEOGRAPH
+  {0x8168, 0x4E6D}, //41 #CJK UNIFIED IDEOGRAPH
+  {0x8169, 0x4E6E}, //42 #CJK UNIFIED IDEOGRAPH
+  {0x816A, 0x4E6F}, //43 #CJK UNIFIED IDEOGRAPH
+  {0x816B, 0x4E72}, //44 #CJK UNIFIED IDEOGRAPH
+  {0x816C, 0x4E74}, //45 #CJK UNIFIED IDEOGRAPH
+  {0x816D, 0x4E75}, //46 #CJK UNIFIED IDEOGRAPH
+  {0x816E, 0x4E76}, //47 #CJK UNIFIED IDEOGRAPH
+  {0x816F, 0x4E77}, //48 #CJK UNIFIED IDEOGRAPH
+  {0x8170, 0x4E78}, //49 #CJK UNIFIED IDEOGRAPH
+  {0x8171, 0x4E79}, //50 #CJK UNIFIED IDEOGRAPH
+  {0x8172, 0x4E7A}, //51 #CJK UNIFIED IDEOGRAPH
+  {0x8173, 0x4E7B}, //52 #CJK UNIFIED IDEOGRAPH
+  {0x8174, 0x4E7C}, //53 #CJK UNIFIED IDEOGRAPH
+  {0x8175, 0x4E7D}, //54 #CJK UNIFIED IDEOGRAPH
+  {0x8176, 0x4E7F}, //55 #CJK UNIFIED IDEOGRAPH
+  {0x8177, 0x4E80}, //56 #CJK UNIFIED IDEOGRAPH
+  {0x8178, 0x4E81}, //57 #CJK UNIFIED IDEOGRAPH
+  {0x8179, 0x4E82}, //58 #CJK UNIFIED IDEOGRAPH
+  {0x817A, 0x4E83}, //59 #CJK UNIFIED IDEOGRAPH
+  {0x817B, 0x4E84}, //60 #CJK UNIFIED IDEOGRAPH
+  {0x817C, 0x4E85}, //61 #CJK UNIFIED IDEOGRAPH
+  {0x817D, 0x4E87}, //62 #CJK UNIFIED IDEOGRAPH
+  {0x817E, 0x4E8A}, //63 #CJK UNIFIED IDEOGRAPH
+  {0x8180, 0x4E90}, //64 #CJK UNIFIED IDEOGRAPH
+  {0x8181, 0x4E96}, //65 #CJK UNIFIED IDEOGRAPH
+  {0x8182, 0x4E97}, //66 #CJK UNIFIED IDEOGRAPH
+  {0x8183, 0x4E99}, //67 #CJK UNIFIED IDEOGRAPH
+  {0x8184, 0x4E9C}, //68 #CJK UNIFIED IDEOGRAPH
+  {0x8185, 0x4E9D}, //69 #CJK UNIFIED IDEOGRAPH
+  {0x8186, 0x4E9E}, //70 #CJK UNIFIED IDEOGRAPH
+  {0x8187, 0x4EA3}, //71 #CJK UNIFIED IDEOGRAPH
+  {0x8188, 0x4EAA}, //72 #CJK UNIFIED IDEOGRAPH
+  {0x8189, 0x4EAF}, //73 #CJK UNIFIED IDEOGRAPH
+  {0x818A, 0x4EB0}, //74 #CJK UNIFIED IDEOGRAPH
+  {0x818B, 0x4EB1}, //75 #CJK UNIFIED IDEOGRAPH
+  {0x818C, 0x4EB4}, //76 #CJK UNIFIED IDEOGRAPH
+  {0x818D, 0x4EB6}, //77 #CJK UNIFIED IDEOGRAPH
+  {0x818E, 0x4EB7}, //78 #CJK UNIFIED IDEOGRAPH
+  {0x818F, 0x4EB8}, //79 #CJK UNIFIED IDEOGRAPH
+  {0x8190, 0x4EB9}, //80 #CJK UNIFIED IDEOGRAPH
+  {0x8191, 0x4EBC}, //81 #CJK UNIFIED IDEOGRAPH
+  {0x8192, 0x4EBD}, //82 #CJK UNIFIED IDEOGRAPH
+  {0x8193, 0x4EBE}, //83 #CJK UNIFIED IDEOGRAPH
+  {0x8194, 0x4EC8}, //84 #CJK UNIFIED IDEOGRAPH
+  {0x8195, 0x4ECC}, //85 #CJK UNIFIED IDEOGRAPH
+  {0x8196, 0x4ECF}, //86 #CJK UNIFIED IDEOGRAPH
+  {0x8197, 0x4ED0}, //87 #CJK UNIFIED IDEOGRAPH
+  {0x8198, 0x4ED2}, //88 #CJK UNIFIED IDEOGRAPH
+  {0x8199, 0x4EDA}, //89 #CJK UNIFIED IDEOGRAPH
+  {0x819A, 0x4EDB}, //90 #CJK UNIFIED IDEOGRAPH
+  {0x819B, 0x4EDC}, //91 #CJK UNIFIED IDEOGRAPH
+  {0x819C, 0x4EE0}, //92 #CJK UNIFIED IDEOGRAPH
+  {0x819D, 0x4EE2}, //93 #CJK UNIFIED IDEOGRAPH
+  {0x819E, 0x4EE6}, //94 #CJK UNIFIED IDEOGRAPH
+  {0x819F, 0x4EE7}, //95 #CJK UNIFIED IDEOGRAPH
+  {0x81A0, 0x4EE9}, //96 #CJK UNIFIED IDEOGRAPH
+  {0x81A1, 0x4EED}, //97 #CJK UNIFIED IDEOGRAPH
+  {0x81A2, 0x4EEE}, //98 #CJK UNIFIED IDEOGRAPH
+  {0x81A3, 0x4EEF}, //99 #CJK UNIFIED IDEOGRAPH
+  {0x81A4, 0x4EF1}, //100 #CJK UNIFIED IDEOGRAPH
+  {0x81A5, 0x4EF4}, //101 #CJK UNIFIED IDEOGRAPH
+  {0x81A6, 0x4EF8}, //102 #CJK UNIFIED IDEOGRAPH
+  {0x81A7, 0x4EF9}, //103 #CJK UNIFIED IDEOGRAPH
+  {0x81A8, 0x4EFA}, //104 #CJK UNIFIED IDEOGRAPH
+  {0x81A9, 0x4EFC}, //105 #CJK UNIFIED IDEOGRAPH
+  {0x81AA, 0x4EFE}, //106 #CJK UNIFIED IDEOGRAPH
+  {0x81AB, 0x4F00}, //107 #CJK UNIFIED IDEOGRAPH
+  {0x81AC, 0x4F02}, //108 #CJK UNIFIED IDEOGRAPH
+  {0x81AD, 0x4F03}, //109 #CJK UNIFIED IDEOGRAPH
+  {0x81AE, 0x4F04}, //110 #CJK UNIFIED IDEOGRAPH
+  {0x81AF, 0x4F05}, //111 #CJK UNIFIED IDEOGRAPH
+  {0x81B0, 0x4F06}, //112 #CJK UNIFIED IDEOGRAPH
+  {0x81B1, 0x4F07}, //113 #CJK UNIFIED IDEOGRAPH
+  {0x81B2, 0x4F08}, //114 #CJK UNIFIED IDEOGRAPH
+  {0x81B3, 0x4F0B}, //115 #CJK UNIFIED IDEOGRAPH
+  {0x81B4, 0x4F0C}, //116 #CJK UNIFIED IDEOGRAPH
+  {0x81B5, 0x4F12}, //117 #CJK UNIFIED IDEOGRAPH
+  {0x81B6, 0x4F13}, //118 #CJK UNIFIED IDEOGRAPH
+  {0x81B7, 0x4F14}, //119 #CJK UNIFIED IDEOGRAPH
+  {0x81B8, 0x4F15}, //120 #CJK UNIFIED IDEOGRAPH
+  {0x81B9, 0x4F16}, //121 #CJK UNIFIED IDEOGRAPH
+  {0x81BA, 0x4F1C}, //122 #CJK UNIFIED IDEOGRAPH
+  {0x81BB, 0x4F1D}, //123 #CJK UNIFIED IDEOGRAPH
+  {0x81BC, 0x4F21}, //124 #CJK UNIFIED IDEOGRAPH
+  {0x81BD, 0x4F23}, //125 #CJK UNIFIED IDEOGRAPH
+  {0x81BE, 0x4F28}, //126 #CJK UNIFIED IDEOGRAPH
+  {0x81BF, 0x4F29}, //127 #CJK UNIFIED IDEOGRAPH
+  {0x81C0, 0x4F2C}, //128 #CJK UNIFIED IDEOGRAPH
+  {0x81C1, 0x4F2D}, //129 #CJK UNIFIED IDEOGRAPH
+  {0x81C2, 0x4F2E}, //130 #CJK UNIFIED IDEOGRAPH
+  {0x81C3, 0x4F31}, //131 #CJK UNIFIED IDEOGRAPH
+  {0x81C4, 0x4F33}, //132 #CJK UNIFIED IDEOGRAPH
+  {0x81C5, 0x4F35}, //133 #CJK UNIFIED IDEOGRAPH
+  {0x81C6, 0x4F37}, //134 #CJK UNIFIED IDEOGRAPH
+  {0x81C7, 0x4F39}, //135 #CJK UNIFIED IDEOGRAPH
+  {0x81C8, 0x4F3B}, //136 #CJK UNIFIED IDEOGRAPH
+  {0x81C9, 0x4F3E}, //137 #CJK UNIFIED IDEOGRAPH
+  {0x81CA, 0x4F3F}, //138 #CJK UNIFIED IDEOGRAPH
+  {0x81CB, 0x4F40}, //139 #CJK UNIFIED IDEOGRAPH
+  {0x81CC, 0x4F41}, //140 #CJK UNIFIED IDEOGRAPH
+  {0x81CD, 0x4F42}, //141 #CJK UNIFIED IDEOGRAPH
+  {0x81CE, 0x4F44}, //142 #CJK UNIFIED IDEOGRAPH
+  {0x81CF, 0x4F45}, //143 #CJK UNIFIED IDEOGRAPH
+  {0x81D0, 0x4F47}, //144 #CJK UNIFIED IDEOGRAPH
+  {0x81D1, 0x4F48}, //145 #CJK UNIFIED IDEOGRAPH
+  {0x81D2, 0x4F49}, //146 #CJK UNIFIED IDEOGRAPH
+  {0x81D3, 0x4F4A}, //147 #CJK UNIFIED IDEOGRAPH
+  {0x81D4, 0x4F4B}, //148 #CJK UNIFIED IDEOGRAPH
+  {0x81D5, 0x4F4C}, //149 #CJK UNIFIED IDEOGRAPH
+  {0x81D6, 0x4F52}, //150 #CJK UNIFIED IDEOGRAPH
+  {0x81D7, 0x4F54}, //151 #CJK UNIFIED IDEOGRAPH
+  {0x81D8, 0x4F56}, //152 #CJK UNIFIED IDEOGRAPH
+  {0x81D9, 0x4F61}, //153 #CJK UNIFIED IDEOGRAPH
+  {0x81DA, 0x4F62}, //154 #CJK UNIFIED IDEOGRAPH
+  {0x81DB, 0x4F66}, //155 #CJK UNIFIED IDEOGRAPH
+  {0x81DC, 0x4F68}, //156 #CJK UNIFIED IDEOGRAPH
+  {0x81DD, 0x4F6A}, //157 #CJK UNIFIED IDEOGRAPH
+  {0x81DE, 0x4F6B}, //158 #CJK UNIFIED IDEOGRAPH
+  {0x81DF, 0x4F6D}, //159 #CJK UNIFIED IDEOGRAPH
+  {0x81E0, 0x4F6E}, //160 #CJK UNIFIED IDEOGRAPH
+  {0x81E1, 0x4F71}, //161 #CJK UNIFIED IDEOGRAPH
+  {0x81E2, 0x4F72}, //162 #CJK UNIFIED IDEOGRAPH
+  {0x81E3, 0x4F75}, //163 #CJK UNIFIED IDEOGRAPH
+  {0x81E4, 0x4F77}, //164 #CJK UNIFIED IDEOGRAPH
+  {0x81E5, 0x4F78}, //165 #CJK UNIFIED IDEOGRAPH
+  {0x81E6, 0x4F79}, //166 #CJK UNIFIED IDEOGRAPH
+  {0x81E7, 0x4F7A}, //167 #CJK UNIFIED IDEOGRAPH
+  {0x81E8, 0x4F7D}, //168 #CJK UNIFIED IDEOGRAPH
+  {0x81E9, 0x4F80}, //169 #CJK UNIFIED IDEOGRAPH
+  {0x81EA, 0x4F81}, //170 #CJK UNIFIED IDEOGRAPH
+  {0x81EB, 0x4F82}, //171 #CJK UNIFIED IDEOGRAPH
+  {0x81EC, 0x4F85}, //172 #CJK UNIFIED IDEOGRAPH
+  {0x81ED, 0x4F86}, //173 #CJK UNIFIED IDEOGRAPH
+  {0x81EE, 0x4F87}, //174 #CJK UNIFIED IDEOGRAPH
+  {0x81EF, 0x4F8A}, //175 #CJK UNIFIED IDEOGRAPH
+  {0x81F0, 0x4F8C}, //176 #CJK UNIFIED IDEOGRAPH
+  {0x81F1, 0x4F8E}, //177 #CJK UNIFIED IDEOGRAPH
+  {0x81F2, 0x4F90}, //178 #CJK UNIFIED IDEOGRAPH
+  {0x81F3, 0x4F92}, //179 #CJK UNIFIED IDEOGRAPH
+  {0x81F4, 0x4F93}, //180 #CJK UNIFIED IDEOGRAPH
+  {0x81F5, 0x4F95}, //181 #CJK UNIFIED IDEOGRAPH
+  {0x81F6, 0x4F96}, //182 #CJK UNIFIED IDEOGRAPH
+  {0x81F7, 0x4F98}, //183 #CJK UNIFIED IDEOGRAPH
+  {0x81F8, 0x4F99}, //184 #CJK UNIFIED IDEOGRAPH
+  {0x81F9, 0x4F9A}, //185 #CJK UNIFIED IDEOGRAPH
+  {0x81FA, 0x4F9C}, //186 #CJK UNIFIED IDEOGRAPH
+  {0x81FB, 0x4F9E}, //187 #CJK UNIFIED IDEOGRAPH
+  {0x81FC, 0x4F9F}, //188 #CJK UNIFIED IDEOGRAPH
+  {0x81FD, 0x4FA1}, //189 #CJK UNIFIED IDEOGRAPH
+  {0x81FE, 0x4FA2}, //190 #CJK UNIFIED IDEOGRAPH
+  {0x8240, 0x4FA4}, //191 #CJK UNIFIED IDEOGRAPH
+  {0x8241, 0x4FAB}, //192 #CJK UNIFIED IDEOGRAPH
+  {0x8242, 0x4FAD}, //193 #CJK UNIFIED IDEOGRAPH
+  {0x8243, 0x4FB0}, //194 #CJK UNIFIED IDEOGRAPH
+  {0x8244, 0x4FB1}, //195 #CJK UNIFIED IDEOGRAPH
+  {0x8245, 0x4FB2}, //196 #CJK UNIFIED IDEOGRAPH
+  {0x8246, 0x4FB3}, //197 #CJK UNIFIED IDEOGRAPH
+  {0x8247, 0x4FB4}, //198 #CJK UNIFIED IDEOGRAPH
+  {0x8248, 0x4FB6}, //199 #CJK UNIFIED IDEOGRAPH
+  {0x8249, 0x4FB7}, //200 #CJK UNIFIED IDEOGRAPH
+  {0x824A, 0x4FB8}, //201 #CJK UNIFIED IDEOGRAPH
+  {0x824B, 0x4FB9}, //202 #CJK UNIFIED IDEOGRAPH
+  {0x824C, 0x4FBA}, //203 #CJK UNIFIED IDEOGRAPH
+  {0x824D, 0x4FBB}, //204 #CJK UNIFIED IDEOGRAPH
+  {0x824E, 0x4FBC}, //205 #CJK UNIFIED IDEOGRAPH
+  {0x824F, 0x4FBD}, //206 #CJK UNIFIED IDEOGRAPH
+  {0x8250, 0x4FBE}, //207 #CJK UNIFIED IDEOGRAPH
+  {0x8251, 0x4FC0}, //208 #CJK UNIFIED IDEOGRAPH
+  {0x8252, 0x4FC1}, //209 #CJK UNIFIED IDEOGRAPH
+  {0x8253, 0x4FC2}, //210 #CJK UNIFIED IDEOGRAPH
+  {0x8254, 0x4FC6}, //211 #CJK UNIFIED IDEOGRAPH
+  {0x8255, 0x4FC7}, //212 #CJK UNIFIED IDEOGRAPH
+  {0x8256, 0x4FC8}, //213 #CJK UNIFIED IDEOGRAPH
+  {0x8257, 0x4FC9}, //214 #CJK UNIFIED IDEOGRAPH
+  {0x8258, 0x4FCB}, //215 #CJK UNIFIED IDEOGRAPH
+  {0x8259, 0x4FCC}, //216 #CJK UNIFIED IDEOGRAPH
+  {0x825A, 0x4FCD}, //217 #CJK UNIFIED IDEOGRAPH
+  {0x825B, 0x4FD2}, //218 #CJK UNIFIED IDEOGRAPH
+  {0x825C, 0x4FD3}, //219 #CJK UNIFIED IDEOGRAPH
+  {0x825D, 0x4FD4}, //220 #CJK UNIFIED IDEOGRAPH
+  {0x825E, 0x4FD5}, //221 #CJK UNIFIED IDEOGRAPH
+  {0x825F, 0x4FD6}, //222 #CJK UNIFIED IDEOGRAPH
+  {0x8260, 0x4FD9}, //223 #CJK UNIFIED IDEOGRAPH
+  {0x8261, 0x4FDB}, //224 #CJK UNIFIED IDEOGRAPH
+  {0x8262, 0x4FE0}, //225 #CJK UNIFIED IDEOGRAPH
+  {0x8263, 0x4FE2}, //226 #CJK UNIFIED IDEOGRAPH
+  {0x8264, 0x4FE4}, //227 #CJK UNIFIED IDEOGRAPH
+  {0x8265, 0x4FE5}, //228 #CJK UNIFIED IDEOGRAPH
+  {0x8266, 0x4FE7}, //229 #CJK UNIFIED IDEOGRAPH
+  {0x8267, 0x4FEB}, //230 #CJK UNIFIED IDEOGRAPH
+  {0x8268, 0x4FEC}, //231 #CJK UNIFIED IDEOGRAPH
+  {0x8269, 0x4FF0}, //232 #CJK UNIFIED IDEOGRAPH
+  {0x826A, 0x4FF2}, //233 #CJK UNIFIED IDEOGRAPH
+  {0x826B, 0x4FF4}, //234 #CJK UNIFIED IDEOGRAPH
+  {0x826C, 0x4FF5}, //235 #CJK UNIFIED IDEOGRAPH
+  {0x826D, 0x4FF6}, //236 #CJK UNIFIED IDEOGRAPH
+  {0x826E, 0x4FF7}, //237 #CJK UNIFIED IDEOGRAPH
+  {0x826F, 0x4FF9}, //238 #CJK UNIFIED IDEOGRAPH
+  {0x8270, 0x4FFB}, //239 #CJK UNIFIED IDEOGRAPH
+  {0x8271, 0x4FFC}, //240 #CJK UNIFIED IDEOGRAPH
+  {0x8272, 0x4FFD}, //241 #CJK UNIFIED IDEOGRAPH
+  {0x8273, 0x4FFF}, //242 #CJK UNIFIED IDEOGRAPH
+  {0x8274, 0x5000}, //243 #CJK UNIFIED IDEOGRAPH
+  {0x8275, 0x5001}, //244 #CJK UNIFIED IDEOGRAPH
+  {0x8276, 0x5002}, //245 #CJK UNIFIED IDEOGRAPH
+  {0x8277, 0x5003}, //246 #CJK UNIFIED IDEOGRAPH
+  {0x8278, 0x5004}, //247 #CJK UNIFIED IDEOGRAPH
+  {0x8279, 0x5005}, //248 #CJK UNIFIED IDEOGRAPH
+  {0x827A, 0x5006}, //249 #CJK UNIFIED IDEOGRAPH
+  {0x827B, 0x5007}, //250 #CJK UNIFIED IDEOGRAPH
+  {0x827C, 0x5008}, //251 #CJK UNIFIED IDEOGRAPH
+  {0x827D, 0x5009}, //252 #CJK UNIFIED IDEOGRAPH
+  {0x827E, 0x500A}, //253 #CJK UNIFIED IDEOGRAPH
+  {0x8280, 0x500B}, //254 #CJK UNIFIED IDEOGRAPH
+  {0x8281, 0x500E}, //255 #CJK UNIFIED IDEOGRAPH
+  {0x8282, 0x5010}, //256 #CJK UNIFIED IDEOGRAPH
+  {0x8283, 0x5011}, //257 #CJK UNIFIED IDEOGRAPH
+  {0x8284, 0x5013}, //258 #CJK UNIFIED IDEOGRAPH
+  {0x8285, 0x5015}, //259 #CJK UNIFIED IDEOGRAPH
+  {0x8286, 0x5016}, //260 #CJK UNIFIED IDEOGRAPH
+  {0x8287, 0x5017}, //261 #CJK UNIFIED IDEOGRAPH
+  {0x8288, 0x501B}, //262 #CJK UNIFIED IDEOGRAPH
+  {0x8289, 0x501D}, //263 #CJK UNIFIED IDEOGRAPH
+  {0x828A, 0x501E}, //264 #CJK UNIFIED IDEOGRAPH
+  {0x828B, 0x5020}, //265 #CJK UNIFIED IDEOGRAPH
+  {0x828C, 0x5022}, //266 #CJK UNIFIED IDEOGRAPH
+  {0x828D, 0x5023}, //267 #CJK UNIFIED IDEOGRAPH
+  {0x828E, 0x5024}, //268 #CJK UNIFIED IDEOGRAPH
+  {0x828F, 0x5027}, //269 #CJK UNIFIED IDEOGRAPH
+  {0x8290, 0x502B}, //270 #CJK UNIFIED IDEOGRAPH
+  {0x8291, 0x502F}, //271 #CJK UNIFIED IDEOGRAPH
+  {0x8292, 0x5030}, //272 #CJK UNIFIED IDEOGRAPH
+  {0x8293, 0x5031}, //273 #CJK UNIFIED IDEOGRAPH
+  {0x8294, 0x5032}, //274 #CJK UNIFIED IDEOGRAPH
+  {0x8295, 0x5033}, //275 #CJK UNIFIED IDEOGRAPH
+  {0x8296, 0x5034}, //276 #CJK UNIFIED IDEOGRAPH
+  {0x8297, 0x5035}, //277 #CJK UNIFIED IDEOGRAPH
+  {0x8298, 0x5036}, //278 #CJK UNIFIED IDEOGRAPH
+  {0x8299, 0x5037}, //279 #CJK UNIFIED IDEOGRAPH
+  {0x829A, 0x5038}, //280 #CJK UNIFIED IDEOGRAPH
+  {0x829B, 0x5039}, //281 #CJK UNIFIED IDEOGRAPH
+  {0x829C, 0x503B}, //282 #CJK UNIFIED IDEOGRAPH
+  {0x829D, 0x503D}, //283 #CJK UNIFIED IDEOGRAPH
+  {0x829E, 0x503F}, //284 #CJK UNIFIED IDEOGRAPH
+  {0x829F, 0x5040}, //285 #CJK UNIFIED IDEOGRAPH
+  {0x82A0, 0x5041}, //286 #CJK UNIFIED IDEOGRAPH
+  {0x82A1, 0x5042}, //287 #CJK UNIFIED IDEOGRAPH
+  {0x82A2, 0x5044}, //288 #CJK UNIFIED IDEOGRAPH
+  {0x82A3, 0x5045}, //289 #CJK UNIFIED IDEOGRAPH
+  {0x82A4, 0x5046}, //290 #CJK UNIFIED IDEOGRAPH
+  {0x82A5, 0x5049}, //291 #CJK UNIFIED IDEOGRAPH
+  {0x82A6, 0x504A}, //292 #CJK UNIFIED IDEOGRAPH
+  {0x82A7, 0x504B}, //293 #CJK UNIFIED IDEOGRAPH
+  {0x82A8, 0x504D}, //294 #CJK UNIFIED IDEOGRAPH
+  {0x82A9, 0x5050}, //295 #CJK UNIFIED IDEOGRAPH
+  {0x82AA, 0x5051}, //296 #CJK UNIFIED IDEOGRAPH
+  {0x82AB, 0x5052}, //297 #CJK UNIFIED IDEOGRAPH
+  {0x82AC, 0x5053}, //298 #CJK UNIFIED IDEOGRAPH
+  {0x82AD, 0x5054}, //299 #CJK UNIFIED IDEOGRAPH
+  {0x82AE, 0x5056}, //300 #CJK UNIFIED IDEOGRAPH
+  {0x82AF, 0x5057}, //301 #CJK UNIFIED IDEOGRAPH
+  {0x82B0, 0x5058}, //302 #CJK UNIFIED IDEOGRAPH
+  {0x82B1, 0x5059}, //303 #CJK UNIFIED IDEOGRAPH
+  {0x82B2, 0x505B}, //304 #CJK UNIFIED IDEOGRAPH
+  {0x82B3, 0x505D}, //305 #CJK UNIFIED IDEOGRAPH
+  {0x82B4, 0x505E}, //306 #CJK UNIFIED IDEOGRAPH
+  {0x82B5, 0x505F}, //307 #CJK UNIFIED IDEOGRAPH
+  {0x82B6, 0x5060}, //308 #CJK UNIFIED IDEOGRAPH
+  {0x82B7, 0x5061}, //309 #CJK UNIFIED IDEOGRAPH
+  {0x82B8, 0x5062}, //310 #CJK UNIFIED IDEOGRAPH
+  {0x82B9, 0x5063}, //311 #CJK UNIFIED IDEOGRAPH
+  {0x82BA, 0x5064}, //312 #CJK UNIFIED IDEOGRAPH
+  {0x82BB, 0x5066}, //313 #CJK UNIFIED IDEOGRAPH
+  {0x82BC, 0x5067}, //314 #CJK UNIFIED IDEOGRAPH
+  {0x82BD, 0x5068}, //315 #CJK UNIFIED IDEOGRAPH
+  {0x82BE, 0x5069}, //316 #CJK UNIFIED IDEOGRAPH
+  {0x82BF, 0x506A}, //317 #CJK UNIFIED IDEOGRAPH
+  {0x82C0, 0x506B}, //318 #CJK UNIFIED IDEOGRAPH
+  {0x82C1, 0x506D}, //319 #CJK UNIFIED IDEOGRAPH
+  {0x82C2, 0x506E}, //320 #CJK UNIFIED IDEOGRAPH
+  {0x82C3, 0x506F}, //321 #CJK UNIFIED IDEOGRAPH
+  {0x82C4, 0x5070}, //322 #CJK UNIFIED IDEOGRAPH
+  {0x82C5, 0x5071}, //323 #CJK UNIFIED IDEOGRAPH
+  {0x82C6, 0x5072}, //324 #CJK UNIFIED IDEOGRAPH
+  {0x82C7, 0x5073}, //325 #CJK UNIFIED IDEOGRAPH
+  {0x82C8, 0x5074}, //326 #CJK UNIFIED IDEOGRAPH
+  {0x82C9, 0x5075}, //327 #CJK UNIFIED IDEOGRAPH
+  {0x82CA, 0x5078}, //328 #CJK UNIFIED IDEOGRAPH
+  {0x82CB, 0x5079}, //329 #CJK UNIFIED IDEOGRAPH
+  {0x82CC, 0x507A}, //330 #CJK UNIFIED IDEOGRAPH
+  {0x82CD, 0x507C}, //331 #CJK UNIFIED IDEOGRAPH
+  {0x82CE, 0x507D}, //332 #CJK UNIFIED IDEOGRAPH
+  {0x82CF, 0x5081}, //333 #CJK UNIFIED IDEOGRAPH
+  {0x82D0, 0x5082}, //334 #CJK UNIFIED IDEOGRAPH
+  {0x82D1, 0x5083}, //335 #CJK UNIFIED IDEOGRAPH
+  {0x82D2, 0x5084}, //336 #CJK UNIFIED IDEOGRAPH
+  {0x82D3, 0x5086}, //337 #CJK UNIFIED IDEOGRAPH
+  {0x82D4, 0x5087}, //338 #CJK UNIFIED IDEOGRAPH
+  {0x82D5, 0x5089}, //339 #CJK UNIFIED IDEOGRAPH
+  {0x82D6, 0x508A}, //340 #CJK UNIFIED IDEOGRAPH
+  {0x82D7, 0x508B}, //341 #CJK UNIFIED IDEOGRAPH
+  {0x82D8, 0x508C}, //342 #CJK UNIFIED IDEOGRAPH
+  {0x82D9, 0x508E}, //343 #CJK UNIFIED IDEOGRAPH
+  {0x82DA, 0x508F}, //344 #CJK UNIFIED IDEOGRAPH
+  {0x82DB, 0x5090}, //345 #CJK UNIFIED IDEOGRAPH
+  {0x82DC, 0x5091}, //346 #CJK UNIFIED IDEOGRAPH
+  {0x82DD, 0x5092}, //347 #CJK UNIFIED IDEOGRAPH
+  {0x82DE, 0x5093}, //348 #CJK UNIFIED IDEOGRAPH
+  {0x82DF, 0x5094}, //349 #CJK UNIFIED IDEOGRAPH
+  {0x82E0, 0x5095}, //350 #CJK UNIFIED IDEOGRAPH
+  {0x82E1, 0x5096}, //351 #CJK UNIFIED IDEOGRAPH
+  {0x82E2, 0x5097}, //352 #CJK UNIFIED IDEOGRAPH
+  {0x82E3, 0x5098}, //353 #CJK UNIFIED IDEOGRAPH
+  {0x82E4, 0x5099}, //354 #CJK UNIFIED IDEOGRAPH
+  {0x82E5, 0x509A}, //355 #CJK UNIFIED IDEOGRAPH
+  {0x82E6, 0x509B}, //356 #CJK UNIFIED IDEOGRAPH
+  {0x82E7, 0x509C}, //357 #CJK UNIFIED IDEOGRAPH
+  {0x82E8, 0x509D}, //358 #CJK UNIFIED IDEOGRAPH
+  {0x82E9, 0x509E}, //359 #CJK UNIFIED IDEOGRAPH
+  {0x82EA, 0x509F}, //360 #CJK UNIFIED IDEOGRAPH
+  {0x82EB, 0x50A0}, //361 #CJK UNIFIED IDEOGRAPH
+  {0x82EC, 0x50A1}, //362 #CJK UNIFIED IDEOGRAPH
+  {0x82ED, 0x50A2}, //363 #CJK UNIFIED IDEOGRAPH
+  {0x82EE, 0x50A4}, //364 #CJK UNIFIED IDEOGRAPH
+  {0x82EF, 0x50A6}, //365 #CJK UNIFIED IDEOGRAPH
+  {0x82F0, 0x50AA}, //366 #CJK UNIFIED IDEOGRAPH
+  {0x82F1, 0x50AB}, //367 #CJK UNIFIED IDEOGRAPH
+  {0x82F2, 0x50AD}, //368 #CJK UNIFIED IDEOGRAPH
+  {0x82F3, 0x50AE}, //369 #CJK UNIFIED IDEOGRAPH
+  {0x82F4, 0x50AF}, //370 #CJK UNIFIED IDEOGRAPH
+  {0x82F5, 0x50B0}, //371 #CJK UNIFIED IDEOGRAPH
+  {0x82F6, 0x50B1}, //372 #CJK UNIFIED IDEOGRAPH
+  {0x82F7, 0x50B3}, //373 #CJK UNIFIED IDEOGRAPH
+  {0x82F8, 0x50B4}, //374 #CJK UNIFIED IDEOGRAPH
+  {0x82F9, 0x50B5}, //375 #CJK UNIFIED IDEOGRAPH
+  {0x82FA, 0x50B6}, //376 #CJK UNIFIED IDEOGRAPH
+  {0x82FB, 0x50B7}, //377 #CJK UNIFIED IDEOGRAPH
+  {0x82FC, 0x50B8}, //378 #CJK UNIFIED IDEOGRAPH
+  {0x82FD, 0x50B9}, //379 #CJK UNIFIED IDEOGRAPH
+  {0x82FE, 0x50BC}, //380 #CJK UNIFIED IDEOGRAPH
+  {0x8340, 0x50BD}, //381 #CJK UNIFIED IDEOGRAPH
+  {0x8341, 0x50BE}, //382 #CJK UNIFIED IDEOGRAPH
+  {0x8342, 0x50BF}, //383 #CJK UNIFIED IDEOGRAPH
+  {0x8343, 0x50C0}, //384 #CJK UNIFIED IDEOGRAPH
+  {0x8344, 0x50C1}, //385 #CJK UNIFIED IDEOGRAPH
+  {0x8345, 0x50C2}, //386 #CJK UNIFIED IDEOGRAPH
+  {0x8346, 0x50C3}, //387 #CJK UNIFIED IDEOGRAPH
+  {0x8347, 0x50C4}, //388 #CJK UNIFIED IDEOGRAPH
+  {0x8348, 0x50C5}, //389 #CJK UNIFIED IDEOGRAPH
+  {0x8349, 0x50C6}, //390 #CJK UNIFIED IDEOGRAPH
+  {0x834A, 0x50C7}, //391 #CJK UNIFIED IDEOGRAPH
+  {0x834B, 0x50C8}, //392 #CJK UNIFIED IDEOGRAPH
+  {0x834C, 0x50C9}, //393 #CJK UNIFIED IDEOGRAPH
+  {0x834D, 0x50CA}, //394 #CJK UNIFIED IDEOGRAPH
+  {0x834E, 0x50CB}, //395 #CJK UNIFIED IDEOGRAPH
+  {0x834F, 0x50CC}, //396 #CJK UNIFIED IDEOGRAPH
+  {0x8350, 0x50CD}, //397 #CJK UNIFIED IDEOGRAPH
+  {0x8351, 0x50CE}, //398 #CJK UNIFIED IDEOGRAPH
+  {0x8352, 0x50D0}, //399 #CJK UNIFIED IDEOGRAPH
+  {0x8353, 0x50D1}, //400 #CJK UNIFIED IDEOGRAPH
+  {0x8354, 0x50D2}, //401 #CJK UNIFIED IDEOGRAPH
+  {0x8355, 0x50D3}, //402 #CJK UNIFIED IDEOGRAPH
+  {0x8356, 0x50D4}, //403 #CJK UNIFIED IDEOGRAPH
+  {0x8357, 0x50D5}, //404 #CJK UNIFIED IDEOGRAPH
+  {0x8358, 0x50D7}, //405 #CJK UNIFIED IDEOGRAPH
+  {0x8359, 0x50D8}, //406 #CJK UNIFIED IDEOGRAPH
+  {0x835A, 0x50D9}, //407 #CJK UNIFIED IDEOGRAPH
+  {0x835B, 0x50DB}, //408 #CJK UNIFIED IDEOGRAPH
+  {0x835C, 0x50DC}, //409 #CJK UNIFIED IDEOGRAPH
+  {0x835D, 0x50DD}, //410 #CJK UNIFIED IDEOGRAPH
+  {0x835E, 0x50DE}, //411 #CJK UNIFIED IDEOGRAPH
+  {0x835F, 0x50DF}, //412 #CJK UNIFIED IDEOGRAPH
+  {0x8360, 0x50E0}, //413 #CJK UNIFIED IDEOGRAPH
+  {0x8361, 0x50E1}, //414 #CJK UNIFIED IDEOGRAPH
+  {0x8362, 0x50E2}, //415 #CJK UNIFIED IDEOGRAPH
+  {0x8363, 0x50E3}, //416 #CJK UNIFIED IDEOGRAPH
+  {0x8364, 0x50E4}, //417 #CJK UNIFIED IDEOGRAPH
+  {0x8365, 0x50E5}, //418 #CJK UNIFIED IDEOGRAPH
+  {0x8366, 0x50E8}, //419 #CJK UNIFIED IDEOGRAPH
+  {0x8367, 0x50E9}, //420 #CJK UNIFIED IDEOGRAPH
+  {0x8368, 0x50EA}, //421 #CJK UNIFIED IDEOGRAPH
+  {0x8369, 0x50EB}, //422 #CJK UNIFIED IDEOGRAPH
+  {0x836A, 0x50EF}, //423 #CJK UNIFIED IDEOGRAPH
+  {0x836B, 0x50F0}, //424 #CJK UNIFIED IDEOGRAPH
+  {0x836C, 0x50F1}, //425 #CJK UNIFIED IDEOGRAPH
+  {0x836D, 0x50F2}, //426 #CJK UNIFIED IDEOGRAPH
+  {0x836E, 0x50F4}, //427 #CJK UNIFIED IDEOGRAPH
+  {0x836F, 0x50F6}, //428 #CJK UNIFIED IDEOGRAPH
+  {0x8370, 0x50F7}, //429 #CJK UNIFIED IDEOGRAPH
+  {0x8371, 0x50F8}, //430 #CJK UNIFIED IDEOGRAPH
+  {0x8372, 0x50F9}, //431 #CJK UNIFIED IDEOGRAPH
+  {0x8373, 0x50FA}, //432 #CJK UNIFIED IDEOGRAPH
+  {0x8374, 0x50FC}, //433 #CJK UNIFIED IDEOGRAPH
+  {0x8375, 0x50FD}, //434 #CJK UNIFIED IDEOGRAPH
+  {0x8376, 0x50FE}, //435 #CJK UNIFIED IDEOGRAPH
+  {0x8377, 0x50FF}, //436 #CJK UNIFIED IDEOGRAPH
+  {0x8378, 0x5100}, //437 #CJK UNIFIED IDEOGRAPH
+  {0x8379, 0x5101}, //438 #CJK UNIFIED IDEOGRAPH
+  {0x837A, 0x5102}, //439 #CJK UNIFIED IDEOGRAPH
+  {0x837B, 0x5103}, //440 #CJK UNIFIED IDEOGRAPH
+  {0x837C, 0x5104}, //441 #CJK UNIFIED IDEOGRAPH
+  {0x837D, 0x5105}, //442 #CJK UNIFIED IDEOGRAPH
+  {0x837E, 0x5108}, //443 #CJK UNIFIED IDEOGRAPH
+  {0x8380, 0x5109}, //444 #CJK UNIFIED IDEOGRAPH
+  {0x8381, 0x510A}, //445 #CJK UNIFIED IDEOGRAPH
+  {0x8382, 0x510C}, //446 #CJK UNIFIED IDEOGRAPH
+  {0x8383, 0x510D}, //447 #CJK UNIFIED IDEOGRAPH
+  {0x8384, 0x510E}, //448 #CJK UNIFIED IDEOGRAPH
+  {0x8385, 0x510F}, //449 #CJK UNIFIED IDEOGRAPH
+  {0x8386, 0x5110}, //450 #CJK UNIFIED IDEOGRAPH
+  {0x8387, 0x5111}, //451 #CJK UNIFIED IDEOGRAPH
+  {0x8388, 0x5113}, //452 #CJK UNIFIED IDEOGRAPH
+  {0x8389, 0x5114}, //453 #CJK UNIFIED IDEOGRAPH
+  {0x838A, 0x5115}, //454 #CJK UNIFIED IDEOGRAPH
+  {0x838B, 0x5116}, //455 #CJK UNIFIED IDEOGRAPH
+  {0x838C, 0x5117}, //456 #CJK UNIFIED IDEOGRAPH
+  {0x838D, 0x5118}, //457 #CJK UNIFIED IDEOGRAPH
+  {0x838E, 0x5119}, //458 #CJK UNIFIED IDEOGRAPH
+  {0x838F, 0x511A}, //459 #CJK UNIFIED IDEOGRAPH
+  {0x8390, 0x511B}, //460 #CJK UNIFIED IDEOGRAPH
+  {0x8391, 0x511C}, //461 #CJK UNIFIED IDEOGRAPH
+  {0x8392, 0x511D}, //462 #CJK UNIFIED IDEOGRAPH
+  {0x8393, 0x511E}, //463 #CJK UNIFIED IDEOGRAPH
+  {0x8394, 0x511F}, //464 #CJK UNIFIED IDEOGRAPH
+  {0x8395, 0x5120}, //465 #CJK UNIFIED IDEOGRAPH
+  {0x8396, 0x5122}, //466 #CJK UNIFIED IDEOGRAPH
+  {0x8397, 0x5123}, //467 #CJK UNIFIED IDEOGRAPH
+  {0x8398, 0x5124}, //468 #CJK UNIFIED IDEOGRAPH
+  {0x8399, 0x5125}, //469 #CJK UNIFIED IDEOGRAPH
+  {0x839A, 0x5126}, //470 #CJK UNIFIED IDEOGRAPH
+  {0x839B, 0x5127}, //471 #CJK UNIFIED IDEOGRAPH
+  {0x839C, 0x5128}, //472 #CJK UNIFIED IDEOGRAPH
+  {0x839D, 0x5129}, //473 #CJK UNIFIED IDEOGRAPH
+  {0x839E, 0x512A}, //474 #CJK UNIFIED IDEOGRAPH
+  {0x839F, 0x512B}, //475 #CJK UNIFIED IDEOGRAPH
+  {0x83A0, 0x512C}, //476 #CJK UNIFIED IDEOGRAPH
+  {0x83A1, 0x512D}, //477 #CJK UNIFIED IDEOGRAPH
+  {0x83A2, 0x512E}, //478 #CJK UNIFIED IDEOGRAPH
+  {0x83A3, 0x512F}, //479 #CJK UNIFIED IDEOGRAPH
+  {0x83A4, 0x5130}, //480 #CJK UNIFIED IDEOGRAPH
+  {0x83A5, 0x5131}, //481 #CJK UNIFIED IDEOGRAPH
+  {0x83A6, 0x5132}, //482 #CJK UNIFIED IDEOGRAPH
+  {0x83A7, 0x5133}, //483 #CJK UNIFIED IDEOGRAPH
+  {0x83A8, 0x5134}, //484 #CJK UNIFIED IDEOGRAPH
+  {0x83A9, 0x5135}, //485 #CJK UNIFIED IDEOGRAPH
+  {0x83AA, 0x5136}, //486 #CJK UNIFIED IDEOGRAPH
+  {0x83AB, 0x5137}, //487 #CJK UNIFIED IDEOGRAPH
+  {0x83AC, 0x5138}, //488 #CJK UNIFIED IDEOGRAPH
+  {0x83AD, 0x5139}, //489 #CJK UNIFIED IDEOGRAPH
+  {0x83AE, 0x513A}, //490 #CJK UNIFIED IDEOGRAPH
+  {0x83AF, 0x513B}, //491 #CJK UNIFIED IDEOGRAPH
+  {0x83B0, 0x513C}, //492 #CJK UNIFIED IDEOGRAPH
+  {0x83B1, 0x513D}, //493 #CJK UNIFIED IDEOGRAPH
+  {0x83B2, 0x513E}, //494 #CJK UNIFIED IDEOGRAPH
+  {0x83B3, 0x5142}, //495 #CJK UNIFIED IDEOGRAPH
+  {0x83B4, 0x5147}, //496 #CJK UNIFIED IDEOGRAPH
+  {0x83B5, 0x514A}, //497 #CJK UNIFIED IDEOGRAPH
+  {0x83B6, 0x514C}, //498 #CJK UNIFIED IDEOGRAPH
+  {0x83B7, 0x514E}, //499 #CJK UNIFIED IDEOGRAPH
+  {0x83B8, 0x514F}, //500 #CJK UNIFIED IDEOGRAPH
+  {0x83B9, 0x5150}, //501 #CJK UNIFIED IDEOGRAPH
+  {0x83BA, 0x5152}, //502 #CJK UNIFIED IDEOGRAPH
+  {0x83BB, 0x5153}, //503 #CJK UNIFIED IDEOGRAPH
+  {0x83BC, 0x5157}, //504 #CJK UNIFIED IDEOGRAPH
+  {0x83BD, 0x5158}, //505 #CJK UNIFIED IDEOGRAPH
+  {0x83BE, 0x5159}, //506 #CJK UNIFIED IDEOGRAPH
+  {0x83BF, 0x515B}, //507 #CJK UNIFIED IDEOGRAPH
+  {0x83C0, 0x515D}, //508 #CJK UNIFIED IDEOGRAPH
+  {0x83C1, 0x515E}, //509 #CJK UNIFIED IDEOGRAPH
+  {0x83C2, 0x515F}, //510 #CJK UNIFIED IDEOGRAPH
+  {0x83C3, 0x5160}, //511 #CJK UNIFIED IDEOGRAPH
+  {0x83C4, 0x5161}, //512 #CJK UNIFIED IDEOGRAPH
+  {0x83C5, 0x5163}, //513 #CJK UNIFIED IDEOGRAPH
+  {0x83C6, 0x5164}, //514 #CJK UNIFIED IDEOGRAPH
+  {0x83C7, 0x5166}, //515 #CJK UNIFIED IDEOGRAPH
+  {0x83C8, 0x5167}, //516 #CJK UNIFIED IDEOGRAPH
+  {0x83C9, 0x5169}, //517 #CJK UNIFIED IDEOGRAPH
+  {0x83CA, 0x516A}, //518 #CJK UNIFIED IDEOGRAPH
+  {0x83CB, 0x516F}, //519 #CJK UNIFIED IDEOGRAPH
+  {0x83CC, 0x5172}, //520 #CJK UNIFIED IDEOGRAPH
+  {0x83CD, 0x517A}, //521 #CJK UNIFIED IDEOGRAPH
+  {0x83CE, 0x517E}, //522 #CJK UNIFIED IDEOGRAPH
+  {0x83CF, 0x517F}, //523 #CJK UNIFIED IDEOGRAPH
+  {0x83D0, 0x5183}, //524 #CJK UNIFIED IDEOGRAPH
+  {0x83D1, 0x5184}, //525 #CJK UNIFIED IDEOGRAPH
+  {0x83D2, 0x5186}, //526 #CJK UNIFIED IDEOGRAPH
+  {0x83D3, 0x5187}, //527 #CJK UNIFIED IDEOGRAPH
+  {0x83D4, 0x518A}, //528 #CJK UNIFIED IDEOGRAPH
+  {0x83D5, 0x518B}, //529 #CJK UNIFIED IDEOGRAPH
+  {0x83D6, 0x518E}, //530 #CJK UNIFIED IDEOGRAPH
+  {0x83D7, 0x518F}, //531 #CJK UNIFIED IDEOGRAPH
+  {0x83D8, 0x5190}, //532 #CJK UNIFIED IDEOGRAPH
+  {0x83D9, 0x5191}, //533 #CJK UNIFIED IDEOGRAPH
+  {0x83DA, 0x5193}, //534 #CJK UNIFIED IDEOGRAPH
+  {0x83DB, 0x5194}, //535 #CJK UNIFIED IDEOGRAPH
+  {0x83DC, 0x5198}, //536 #CJK UNIFIED IDEOGRAPH
+  {0x83DD, 0x519A}, //537 #CJK UNIFIED IDEOGRAPH
+  {0x83DE, 0x519D}, //538 #CJK UNIFIED IDEOGRAPH
+  {0x83DF, 0x519E}, //539 #CJK UNIFIED IDEOGRAPH
+  {0x83E0, 0x519F}, //540 #CJK UNIFIED IDEOGRAPH
+  {0x83E1, 0x51A1}, //541 #CJK UNIFIED IDEOGRAPH
+  {0x83E2, 0x51A3}, //542 #CJK UNIFIED IDEOGRAPH
+  {0x83E3, 0x51A6}, //543 #CJK UNIFIED IDEOGRAPH
+  {0x83E4, 0x51A7}, //544 #CJK UNIFIED IDEOGRAPH
+  {0x83E5, 0x51A8}, //545 #CJK UNIFIED IDEOGRAPH
+  {0x83E6, 0x51A9}, //546 #CJK UNIFIED IDEOGRAPH
+  {0x83E7, 0x51AA}, //547 #CJK UNIFIED IDEOGRAPH
+  {0x83E8, 0x51AD}, //548 #CJK UNIFIED IDEOGRAPH
+  {0x83E9, 0x51AE}, //549 #CJK UNIFIED IDEOGRAPH
+  {0x83EA, 0x51B4}, //550 #CJK UNIFIED IDEOGRAPH
+  {0x83EB, 0x51B8}, //551 #CJK UNIFIED IDEOGRAPH
+  {0x83EC, 0x51B9}, //552 #CJK UNIFIED IDEOGRAPH
+  {0x83ED, 0x51BA}, //553 #CJK UNIFIED IDEOGRAPH
+  {0x83EE, 0x51BE}, //554 #CJK UNIFIED IDEOGRAPH
+  {0x83EF, 0x51BF}, //555 #CJK UNIFIED IDEOGRAPH
+  {0x83F0, 0x51C1}, //556 #CJK UNIFIED IDEOGRAPH
+  {0x83F1, 0x51C2}, //557 #CJK UNIFIED IDEOGRAPH
+  {0x83F2, 0x51C3}, //558 #CJK UNIFIED IDEOGRAPH
+  {0x83F3, 0x51C5}, //559 #CJK UNIFIED IDEOGRAPH
+  {0x83F4, 0x51C8}, //560 #CJK UNIFIED IDEOGRAPH
+  {0x83F5, 0x51CA}, //561 #CJK UNIFIED IDEOGRAPH
+  {0x83F6, 0x51CD}, //562 #CJK UNIFIED IDEOGRAPH
+  {0x83F7, 0x51CE}, //563 #CJK UNIFIED IDEOGRAPH
+  {0x83F8, 0x51D0}, //564 #CJK UNIFIED IDEOGRAPH
+  {0x83F9, 0x51D2}, //565 #CJK UNIFIED IDEOGRAPH
+  {0x83FA, 0x51D3}, //566 #CJK UNIFIED IDEOGRAPH
+  {0x83FB, 0x51D4}, //567 #CJK UNIFIED IDEOGRAPH
+  {0x83FC, 0x51D5}, //568 #CJK UNIFIED IDEOGRAPH
+  {0x83FD, 0x51D6}, //569 #CJK UNIFIED IDEOGRAPH
+  {0x83FE, 0x51D7}, //570 #CJK UNIFIED IDEOGRAPH
+  {0x8440, 0x51D8}, //571 #CJK UNIFIED IDEOGRAPH
+  {0x8441, 0x51D9}, //572 #CJK UNIFIED IDEOGRAPH
+  {0x8442, 0x51DA}, //573 #CJK UNIFIED IDEOGRAPH
+  {0x8443, 0x51DC}, //574 #CJK UNIFIED IDEOGRAPH
+  {0x8444, 0x51DE}, //575 #CJK UNIFIED IDEOGRAPH
+  {0x8445, 0x51DF}, //576 #CJK UNIFIED IDEOGRAPH
+  {0x8446, 0x51E2}, //577 #CJK UNIFIED IDEOGRAPH
+  {0x8447, 0x51E3}, //578 #CJK UNIFIED IDEOGRAPH
+  {0x8448, 0x51E5}, //579 #CJK UNIFIED IDEOGRAPH
+  {0x8449, 0x51E6}, //580 #CJK UNIFIED IDEOGRAPH
+  {0x844A, 0x51E7}, //581 #CJK UNIFIED IDEOGRAPH
+  {0x844B, 0x51E8}, //582 #CJK UNIFIED IDEOGRAPH
+  {0x844C, 0x51E9}, //583 #CJK UNIFIED IDEOGRAPH
+  {0x844D, 0x51EA}, //584 #CJK UNIFIED IDEOGRAPH
+  {0x844E, 0x51EC}, //585 #CJK UNIFIED IDEOGRAPH
+  {0x844F, 0x51EE}, //586 #CJK UNIFIED IDEOGRAPH
+  {0x8450, 0x51F1}, //587 #CJK UNIFIED IDEOGRAPH
+  {0x8451, 0x51F2}, //588 #CJK UNIFIED IDEOGRAPH
+  {0x8452, 0x51F4}, //589 #CJK UNIFIED IDEOGRAPH
+  {0x8453, 0x51F7}, //590 #CJK UNIFIED IDEOGRAPH
+  {0x8454, 0x51FE}, //591 #CJK UNIFIED IDEOGRAPH
+  {0x8455, 0x5204}, //592 #CJK UNIFIED IDEOGRAPH
+  {0x8456, 0x5205}, //593 #CJK UNIFIED IDEOGRAPH
+  {0x8457, 0x5209}, //594 #CJK UNIFIED IDEOGRAPH
+  {0x8458, 0x520B}, //595 #CJK UNIFIED IDEOGRAPH
+  {0x8459, 0x520C}, //596 #CJK UNIFIED IDEOGRAPH
+  {0x845A, 0x520F}, //597 #CJK UNIFIED IDEOGRAPH
+  {0x845B, 0x5210}, //598 #CJK UNIFIED IDEOGRAPH
+  {0x845C, 0x5213}, //599 #CJK UNIFIED IDEOGRAPH
+  {0x845D, 0x5214}, //600 #CJK UNIFIED IDEOGRAPH
+  {0x845E, 0x5215}, //601 #CJK UNIFIED IDEOGRAPH
+  {0x845F, 0x521C}, //602 #CJK UNIFIED IDEOGRAPH
+  {0x8460, 0x521E}, //603 #CJK UNIFIED IDEOGRAPH
+  {0x8461, 0x521F}, //604 #CJK UNIFIED IDEOGRAPH
+  {0x8462, 0x5221}, //605 #CJK UNIFIED IDEOGRAPH
+  {0x8463, 0x5222}, //606 #CJK UNIFIED IDEOGRAPH
+  {0x8464, 0x5223}, //607 #CJK UNIFIED IDEOGRAPH
+  {0x8465, 0x5225}, //608 #CJK UNIFIED IDEOGRAPH
+  {0x8466, 0x5226}, //609 #CJK UNIFIED IDEOGRAPH
+  {0x8467, 0x5227}, //610 #CJK UNIFIED IDEOGRAPH
+  {0x8468, 0x522A}, //611 #CJK UNIFIED IDEOGRAPH
+  {0x8469, 0x522C}, //612 #CJK UNIFIED IDEOGRAPH
+  {0x846A, 0x522F}, //613 #CJK UNIFIED IDEOGRAPH
+  {0x846B, 0x5231}, //614 #CJK UNIFIED IDEOGRAPH
+  {0x846C, 0x5232}, //615 #CJK UNIFIED IDEOGRAPH
+  {0x846D, 0x5234}, //616 #CJK UNIFIED IDEOGRAPH
+  {0x846E, 0x5235}, //617 #CJK UNIFIED IDEOGRAPH
+  {0x846F, 0x523C}, //618 #CJK UNIFIED IDEOGRAPH
+  {0x8470, 0x523E}, //619 #CJK UNIFIED IDEOGRAPH
+  {0x8471, 0x5244}, //620 #CJK UNIFIED IDEOGRAPH
+  {0x8472, 0x5245}, //621 #CJK UNIFIED IDEOGRAPH
+  {0x8473, 0x5246}, //622 #CJK UNIFIED IDEOGRAPH
+  {0x8474, 0x5247}, //623 #CJK UNIFIED IDEOGRAPH
+  {0x8475, 0x5248}, //624 #CJK UNIFIED IDEOGRAPH
+  {0x8476, 0x5249}, //625 #CJK UNIFIED IDEOGRAPH
+  {0x8477, 0x524B}, //626 #CJK UNIFIED IDEOGRAPH
+  {0x8478, 0x524E}, //627 #CJK UNIFIED IDEOGRAPH
+  {0x8479, 0x524F}, //628 #CJK UNIFIED IDEOGRAPH
+  {0x847A, 0x5252}, //629 #CJK UNIFIED IDEOGRAPH
+  {0x847B, 0x5253}, //630 #CJK UNIFIED IDEOGRAPH
+  {0x847C, 0x5255}, //631 #CJK UNIFIED IDEOGRAPH
+  {0x847D, 0x5257}, //632 #CJK UNIFIED IDEOGRAPH
+  {0x847E, 0x5258}, //633 #CJK UNIFIED IDEOGRAPH
+  {0x8480, 0x5259}, //634 #CJK UNIFIED IDEOGRAPH
+  {0x8481, 0x525A}, //635 #CJK UNIFIED IDEOGRAPH
+  {0x8482, 0x525B}, //636 #CJK UNIFIED IDEOGRAPH
+  {0x8483, 0x525D}, //637 #CJK UNIFIED IDEOGRAPH
+  {0x8484, 0x525F}, //638 #CJK UNIFIED IDEOGRAPH
+  {0x8485, 0x5260}, //639 #CJK UNIFIED IDEOGRAPH
+  {0x8486, 0x5262}, //640 #CJK UNIFIED IDEOGRAPH
+  {0x8487, 0x5263}, //641 #CJK UNIFIED IDEOGRAPH
+  {0x8488, 0x5264}, //642 #CJK UNIFIED IDEOGRAPH
+  {0x8489, 0x5266}, //643 #CJK UNIFIED IDEOGRAPH
+  {0x848A, 0x5268}, //644 #CJK UNIFIED IDEOGRAPH
+  {0x848B, 0x526B}, //645 #CJK UNIFIED IDEOGRAPH
+  {0x848C, 0x526C}, //646 #CJK UNIFIED IDEOGRAPH
+  {0x848D, 0x526D}, //647 #CJK UNIFIED IDEOGRAPH
+  {0x848E, 0x526E}, //648 #CJK UNIFIED IDEOGRAPH
+  {0x848F, 0x5270}, //649 #CJK UNIFIED IDEOGRAPH
+  {0x8490, 0x5271}, //650 #CJK UNIFIED IDEOGRAPH
+  {0x8491, 0x5273}, //651 #CJK UNIFIED IDEOGRAPH
+  {0x8492, 0x5274}, //652 #CJK UNIFIED IDEOGRAPH
+  {0x8493, 0x5275}, //653 #CJK UNIFIED IDEOGRAPH
+  {0x8494, 0x5276}, //654 #CJK UNIFIED IDEOGRAPH
+  {0x8495, 0x5277}, //655 #CJK UNIFIED IDEOGRAPH
+  {0x8496, 0x5278}, //656 #CJK UNIFIED IDEOGRAPH
+  {0x8497, 0x5279}, //657 #CJK UNIFIED IDEOGRAPH
+  {0x8498, 0x527A}, //658 #CJK UNIFIED IDEOGRAPH
+  {0x8499, 0x527B}, //659 #CJK UNIFIED IDEOGRAPH
+  {0x849A, 0x527C}, //660 #CJK UNIFIED IDEOGRAPH
+  {0x849B, 0x527E}, //661 #CJK UNIFIED IDEOGRAPH
+  {0x849C, 0x5280}, //662 #CJK UNIFIED IDEOGRAPH
+  {0x849D, 0x5283}, //663 #CJK UNIFIED IDEOGRAPH
+  {0x849E, 0x5284}, //664 #CJK UNIFIED IDEOGRAPH
+  {0x849F, 0x5285}, //665 #CJK UNIFIED IDEOGRAPH
+  {0x84A0, 0x5286}, //666 #CJK UNIFIED IDEOGRAPH
+  {0x84A1, 0x5287}, //667 #CJK UNIFIED IDEOGRAPH
+  {0x84A2, 0x5289}, //668 #CJK UNIFIED IDEOGRAPH
+  {0x84A3, 0x528A}, //669 #CJK UNIFIED IDEOGRAPH
+  {0x84A4, 0x528B}, //670 #CJK UNIFIED IDEOGRAPH
+  {0x84A5, 0x528C}, //671 #CJK UNIFIED IDEOGRAPH
+  {0x84A6, 0x528D}, //672 #CJK UNIFIED IDEOGRAPH
+  {0x84A7, 0x528E}, //673 #CJK UNIFIED IDEOGRAPH
+  {0x84A8, 0x528F}, //674 #CJK UNIFIED IDEOGRAPH
+  {0x84A9, 0x5291}, //675 #CJK UNIFIED IDEOGRAPH
+  {0x84AA, 0x5292}, //676 #CJK UNIFIED IDEOGRAPH
+  {0x84AB, 0x5294}, //677 #CJK UNIFIED IDEOGRAPH
+  {0x84AC, 0x5295}, //678 #CJK UNIFIED IDEOGRAPH
+  {0x84AD, 0x5296}, //679 #CJK UNIFIED IDEOGRAPH
+  {0x84AE, 0x5297}, //680 #CJK UNIFIED IDEOGRAPH
+  {0x84AF, 0x5298}, //681 #CJK UNIFIED IDEOGRAPH
+  {0x84B0, 0x5299}, //682 #CJK UNIFIED IDEOGRAPH
+  {0x84B1, 0x529A}, //683 #CJK UNIFIED IDEOGRAPH
+  {0x84B2, 0x529C}, //684 #CJK UNIFIED IDEOGRAPH
+  {0x84B3, 0x52A4}, //685 #CJK UNIFIED IDEOGRAPH
+  {0x84B4, 0x52A5}, //686 #CJK UNIFIED IDEOGRAPH
+  {0x84B5, 0x52A6}, //687 #CJK UNIFIED IDEOGRAPH
+  {0x84B6, 0x52A7}, //688 #CJK UNIFIED IDEOGRAPH
+  {0x84B7, 0x52AE}, //689 #CJK UNIFIED IDEOGRAPH
+  {0x84B8, 0x52AF}, //690 #CJK UNIFIED IDEOGRAPH
+  {0x84B9, 0x52B0}, //691 #CJK UNIFIED IDEOGRAPH
+  {0x84BA, 0x52B4}, //692 #CJK UNIFIED IDEOGRAPH
+  {0x84BB, 0x52B5}, //693 #CJK UNIFIED IDEOGRAPH
+  {0x84BC, 0x52B6}, //694 #CJK UNIFIED IDEOGRAPH
+  {0x84BD, 0x52B7}, //695 #CJK UNIFIED IDEOGRAPH
+  {0x84BE, 0x52B8}, //696 #CJK UNIFIED IDEOGRAPH
+  {0x84BF, 0x52B9}, //697 #CJK UNIFIED IDEOGRAPH
+  {0x84C0, 0x52BA}, //698 #CJK UNIFIED IDEOGRAPH
+  {0x84C1, 0x52BB}, //699 #CJK UNIFIED IDEOGRAPH
+  {0x84C2, 0x52BC}, //700 #CJK UNIFIED IDEOGRAPH
+  {0x84C3, 0x52BD}, //701 #CJK UNIFIED IDEOGRAPH
+  {0x84C4, 0x52C0}, //702 #CJK UNIFIED IDEOGRAPH
+  {0x84C5, 0x52C1}, //703 #CJK UNIFIED IDEOGRAPH
+  {0x84C6, 0x52C2}, //704 #CJK UNIFIED IDEOGRAPH
+  {0x84C7, 0x52C4}, //705 #CJK UNIFIED IDEOGRAPH
+  {0x84C8, 0x52C5}, //706 #CJK UNIFIED IDEOGRAPH
+  {0x84C9, 0x52C6}, //707 #CJK UNIFIED IDEOGRAPH
+  {0x84CA, 0x52C8}, //708 #CJK UNIFIED IDEOGRAPH
+  {0x84CB, 0x52CA}, //709 #CJK UNIFIED IDEOGRAPH
+  {0x84CC, 0x52CC}, //710 #CJK UNIFIED IDEOGRAPH
+  {0x84CD, 0x52CD}, //711 #CJK UNIFIED IDEOGRAPH
+  {0x84CE, 0x52CE}, //712 #CJK UNIFIED IDEOGRAPH
+  {0x84CF, 0x52CF}, //713 #CJK UNIFIED IDEOGRAPH
+  {0x84D0, 0x52D1}, //714 #CJK UNIFIED IDEOGRAPH
+  {0x84D1, 0x52D3}, //715 #CJK UNIFIED IDEOGRAPH
+  {0x84D2, 0x52D4}, //716 #CJK UNIFIED IDEOGRAPH
+  {0x84D3, 0x52D5}, //717 #CJK UNIFIED IDEOGRAPH
+  {0x84D4, 0x52D7}, //718 #CJK UNIFIED IDEOGRAPH
+  {0x84D5, 0x52D9}, //719 #CJK UNIFIED IDEOGRAPH
+  {0x84D6, 0x52DA}, //720 #CJK UNIFIED IDEOGRAPH
+  {0x84D7, 0x52DB}, //721 #CJK UNIFIED IDEOGRAPH
+  {0x84D8, 0x52DC}, //722 #CJK UNIFIED IDEOGRAPH
+  {0x84D9, 0x52DD}, //723 #CJK UNIFIED IDEOGRAPH
+  {0x84DA, 0x52DE}, //724 #CJK UNIFIED IDEOGRAPH
+  {0x84DB, 0x52E0}, //725 #CJK UNIFIED IDEOGRAPH
+  {0x84DC, 0x52E1}, //726 #CJK UNIFIED IDEOGRAPH
+  {0x84DD, 0x52E2}, //727 #CJK UNIFIED IDEOGRAPH
+  {0x84DE, 0x52E3}, //728 #CJK UNIFIED IDEOGRAPH
+  {0x84DF, 0x52E5}, //729 #CJK UNIFIED IDEOGRAPH
+  {0x84E0, 0x52E6}, //730 #CJK UNIFIED IDEOGRAPH
+  {0x84E1, 0x52E7}, //731 #CJK UNIFIED IDEOGRAPH
+  {0x84E2, 0x52E8}, //732 #CJK UNIFIED IDEOGRAPH
+  {0x84E3, 0x52E9}, //733 #CJK UNIFIED IDEOGRAPH
+  {0x84E4, 0x52EA}, //734 #CJK UNIFIED IDEOGRAPH
+  {0x84E5, 0x52EB}, //735 #CJK UNIFIED IDEOGRAPH
+  {0x84E6, 0x52EC}, //736 #CJK UNIFIED IDEOGRAPH
+  {0x84E7, 0x52ED}, //737 #CJK UNIFIED IDEOGRAPH
+  {0x84E8, 0x52EE}, //738 #CJK UNIFIED IDEOGRAPH
+  {0x84E9, 0x52EF}, //739 #CJK UNIFIED IDEOGRAPH
+  {0x84EA, 0x52F1}, //740 #CJK UNIFIED IDEOGRAPH
+  {0x84EB, 0x52F2}, //741 #CJK UNIFIED IDEOGRAPH
+  {0x84EC, 0x52F3}, //742 #CJK UNIFIED IDEOGRAPH
+  {0x84ED, 0x52F4}, //743 #CJK UNIFIED IDEOGRAPH
+  {0x84EE, 0x52F5}, //744 #CJK UNIFIED IDEOGRAPH
+  {0x84EF, 0x52F6}, //745 #CJK UNIFIED IDEOGRAPH
+  {0x84F0, 0x52F7}, //746 #CJK UNIFIED IDEOGRAPH
+  {0x84F1, 0x52F8}, //747 #CJK UNIFIED IDEOGRAPH
+  {0x84F2, 0x52FB}, //748 #CJK UNIFIED IDEOGRAPH
+  {0x84F3, 0x52FC}, //749 #CJK UNIFIED IDEOGRAPH
+  {0x84F4, 0x52FD}, //750 #CJK UNIFIED IDEOGRAPH
+  {0x84F5, 0x5301}, //751 #CJK UNIFIED IDEOGRAPH
+  {0x84F6, 0x5302}, //752 #CJK UNIFIED IDEOGRAPH
+  {0x84F7, 0x5303}, //753 #CJK UNIFIED IDEOGRAPH
+  {0x84F8, 0x5304}, //754 #CJK UNIFIED IDEOGRAPH
+  {0x84F9, 0x5307}, //755 #CJK UNIFIED IDEOGRAPH
+  {0x84FA, 0x5309}, //756 #CJK UNIFIED IDEOGRAPH
+  {0x84FB, 0x530A}, //757 #CJK UNIFIED IDEOGRAPH
+  {0x84FC, 0x530B}, //758 #CJK UNIFIED IDEOGRAPH
+  {0x84FD, 0x530C}, //759 #CJK UNIFIED IDEOGRAPH
+  {0x84FE, 0x530E}, //760 #CJK UNIFIED IDEOGRAPH
+  {0x8540, 0x5311}, //761 #CJK UNIFIED IDEOGRAPH
+  {0x8541, 0x5312}, //762 #CJK UNIFIED IDEOGRAPH
+  {0x8542, 0x5313}, //763 #CJK UNIFIED IDEOGRAPH
+  {0x8543, 0x5314}, //764 #CJK UNIFIED IDEOGRAPH
+  {0x8544, 0x5318}, //765 #CJK UNIFIED IDEOGRAPH
+  {0x8545, 0x531B}, //766 #CJK UNIFIED IDEOGRAPH
+  {0x8546, 0x531C}, //767 #CJK UNIFIED IDEOGRAPH
+  {0x8547, 0x531E}, //768 #CJK UNIFIED IDEOGRAPH
+  {0x8548, 0x531F}, //769 #CJK UNIFIED IDEOGRAPH
+  {0x8549, 0x5322}, //770 #CJK UNIFIED IDEOGRAPH
+  {0x854A, 0x5324}, //771 #CJK UNIFIED IDEOGRAPH
+  {0x854B, 0x5325}, //772 #CJK UNIFIED IDEOGRAPH
+  {0x854C, 0x5327}, //773 #CJK UNIFIED IDEOGRAPH
+  {0x854D, 0x5328}, //774 #CJK UNIFIED IDEOGRAPH
+  {0x854E, 0x5329}, //775 #CJK UNIFIED IDEOGRAPH
+  {0x854F, 0x532B}, //776 #CJK UNIFIED IDEOGRAPH
+  {0x8550, 0x532C}, //777 #CJK UNIFIED IDEOGRAPH
+  {0x8551, 0x532D}, //778 #CJK UNIFIED IDEOGRAPH
+  {0x8552, 0x532F}, //779 #CJK UNIFIED IDEOGRAPH
+  {0x8553, 0x5330}, //780 #CJK UNIFIED IDEOGRAPH
+  {0x8554, 0x5331}, //781 #CJK UNIFIED IDEOGRAPH
+  {0x8555, 0x5332}, //782 #CJK UNIFIED IDEOGRAPH
+  {0x8556, 0x5333}, //783 #CJK UNIFIED IDEOGRAPH
+  {0x8557, 0x5334}, //784 #CJK UNIFIED IDEOGRAPH
+  {0x8558, 0x5335}, //785 #CJK UNIFIED IDEOGRAPH
+  {0x8559, 0x5336}, //786 #CJK UNIFIED IDEOGRAPH
+  {0x855A, 0x5337}, //787 #CJK UNIFIED IDEOGRAPH
+  {0x855B, 0x5338}, //788 #CJK UNIFIED IDEOGRAPH
+  {0x855C, 0x533C}, //789 #CJK UNIFIED IDEOGRAPH
+  {0x855D, 0x533D}, //790 #CJK UNIFIED IDEOGRAPH
+  {0x855E, 0x5340}, //791 #CJK UNIFIED IDEOGRAPH
+  {0x855F, 0x5342}, //792 #CJK UNIFIED IDEOGRAPH
+  {0x8560, 0x5344}, //793 #CJK UNIFIED IDEOGRAPH
+  {0x8561, 0x5346}, //794 #CJK UNIFIED IDEOGRAPH
+  {0x8562, 0x534B}, //795 #CJK UNIFIED IDEOGRAPH
+  {0x8563, 0x534C}, //796 #CJK UNIFIED IDEOGRAPH
+  {0x8564, 0x534D}, //797 #CJK UNIFIED IDEOGRAPH
+  {0x8565, 0x5350}, //798 #CJK UNIFIED IDEOGRAPH
+  {0x8566, 0x5354}, //799 #CJK UNIFIED IDEOGRAPH
+  {0x8567, 0x5358}, //800 #CJK UNIFIED IDEOGRAPH
+  {0x8568, 0x5359}, //801 #CJK UNIFIED IDEOGRAPH
+  {0x8569, 0x535B}, //802 #CJK UNIFIED IDEOGRAPH
+  {0x856A, 0x535D}, //803 #CJK UNIFIED IDEOGRAPH
+  {0x856B, 0x5365}, //804 #CJK UNIFIED IDEOGRAPH
+  {0x856C, 0x5368}, //805 #CJK UNIFIED IDEOGRAPH
+  {0x856D, 0x536A}, //806 #CJK UNIFIED IDEOGRAPH
+  {0x856E, 0x536C}, //807 #CJK UNIFIED IDEOGRAPH
+  {0x856F, 0x536D}, //808 #CJK UNIFIED IDEOGRAPH
+  {0x8570, 0x5372}, //809 #CJK UNIFIED IDEOGRAPH
+  {0x8571, 0x5376}, //810 #CJK UNIFIED IDEOGRAPH
+  {0x8572, 0x5379}, //811 #CJK UNIFIED IDEOGRAPH
+  {0x8573, 0x537B}, //812 #CJK UNIFIED IDEOGRAPH
+  {0x8574, 0x537C}, //813 #CJK UNIFIED IDEOGRAPH
+  {0x8575, 0x537D}, //814 #CJK UNIFIED IDEOGRAPH
+  {0x8576, 0x537E}, //815 #CJK UNIFIED IDEOGRAPH
+  {0x8577, 0x5380}, //816 #CJK UNIFIED IDEOGRAPH
+  {0x8578, 0x5381}, //817 #CJK UNIFIED IDEOGRAPH
+  {0x8579, 0x5383}, //818 #CJK UNIFIED IDEOGRAPH
+  {0x857A, 0x5387}, //819 #CJK UNIFIED IDEOGRAPH
+  {0x857B, 0x5388}, //820 #CJK UNIFIED IDEOGRAPH
+  {0x857C, 0x538A}, //821 #CJK UNIFIED IDEOGRAPH
+  {0x857D, 0x538E}, //822 #CJK UNIFIED IDEOGRAPH
+  {0x857E, 0x538F}, //823 #CJK UNIFIED IDEOGRAPH
+  {0x8580, 0x5390}, //824 #CJK UNIFIED IDEOGRAPH
+  {0x8581, 0x5391}, //825 #CJK UNIFIED IDEOGRAPH
+  {0x8582, 0x5392}, //826 #CJK UNIFIED IDEOGRAPH
+  {0x8583, 0x5393}, //827 #CJK UNIFIED IDEOGRAPH
+  {0x8584, 0x5394}, //828 #CJK UNIFIED IDEOGRAPH
+  {0x8585, 0x5396}, //829 #CJK UNIFIED IDEOGRAPH
+  {0x8586, 0x5397}, //830 #CJK UNIFIED IDEOGRAPH
+  {0x8587, 0x5399}, //831 #CJK UNIFIED IDEOGRAPH
+  {0x8588, 0x539B}, //832 #CJK UNIFIED IDEOGRAPH
+  {0x8589, 0x539C}, //833 #CJK UNIFIED IDEOGRAPH
+  {0x858A, 0x539E}, //834 #CJK UNIFIED IDEOGRAPH
+  {0x858B, 0x53A0}, //835 #CJK UNIFIED IDEOGRAPH
+  {0x858C, 0x53A1}, //836 #CJK UNIFIED IDEOGRAPH
+  {0x858D, 0x53A4}, //837 #CJK UNIFIED IDEOGRAPH
+  {0x858E, 0x53A7}, //838 #CJK UNIFIED IDEOGRAPH
+  {0x858F, 0x53AA}, //839 #CJK UNIFIED IDEOGRAPH
+  {0x8590, 0x53AB}, //840 #CJK UNIFIED IDEOGRAPH
+  {0x8591, 0x53AC}, //841 #CJK UNIFIED IDEOGRAPH
+  {0x8592, 0x53AD}, //842 #CJK UNIFIED IDEOGRAPH
+  {0x8593, 0x53AF}, //843 #CJK UNIFIED IDEOGRAPH
+  {0x8594, 0x53B0}, //844 #CJK UNIFIED IDEOGRAPH
+  {0x8595, 0x53B1}, //845 #CJK UNIFIED IDEOGRAPH
+  {0x8596, 0x53B2}, //846 #CJK UNIFIED IDEOGRAPH
+  {0x8597, 0x53B3}, //847 #CJK UNIFIED IDEOGRAPH
+  {0x8598, 0x53B4}, //848 #CJK UNIFIED IDEOGRAPH
+  {0x8599, 0x53B5}, //849 #CJK UNIFIED IDEOGRAPH
+  {0x859A, 0x53B7}, //850 #CJK UNIFIED IDEOGRAPH
+  {0x859B, 0x53B8}, //851 #CJK UNIFIED IDEOGRAPH
+  {0x859C, 0x53B9}, //852 #CJK UNIFIED IDEOGRAPH
+  {0x859D, 0x53BA}, //853 #CJK UNIFIED IDEOGRAPH
+  {0x859E, 0x53BC}, //854 #CJK UNIFIED IDEOGRAPH
+  {0x859F, 0x53BD}, //855 #CJK UNIFIED IDEOGRAPH
+  {0x85A0, 0x53BE}, //856 #CJK UNIFIED IDEOGRAPH
+  {0x85A1, 0x53C0}, //857 #CJK UNIFIED IDEOGRAPH
+  {0x85A2, 0x53C3}, //858 #CJK UNIFIED IDEOGRAPH
+  {0x85A3, 0x53C4}, //859 #CJK UNIFIED IDEOGRAPH
+  {0x85A4, 0x53C5}, //860 #CJK UNIFIED IDEOGRAPH
+  {0x85A5, 0x53C6}, //861 #CJK UNIFIED IDEOGRAPH
+  {0x85A6, 0x53C7}, //862 #CJK UNIFIED IDEOGRAPH
+  {0x85A7, 0x53CE}, //863 #CJK UNIFIED IDEOGRAPH
+  {0x85A8, 0x53CF}, //864 #CJK UNIFIED IDEOGRAPH
+  {0x85A9, 0x53D0}, //865 #CJK UNIFIED IDEOGRAPH
+  {0x85AA, 0x53D2}, //866 #CJK UNIFIED IDEOGRAPH
+  {0x85AB, 0x53D3}, //867 #CJK UNIFIED IDEOGRAPH
+  {0x85AC, 0x53D5}, //868 #CJK UNIFIED IDEOGRAPH
+  {0x85AD, 0x53DA}, //869 #CJK UNIFIED IDEOGRAPH
+  {0x85AE, 0x53DC}, //870 #CJK UNIFIED IDEOGRAPH
+  {0x85AF, 0x53DD}, //871 #CJK UNIFIED IDEOGRAPH
+  {0x85B0, 0x53DE}, //872 #CJK UNIFIED IDEOGRAPH
+  {0x85B1, 0x53E1}, //873 #CJK UNIFIED IDEOGRAPH
+  {0x85B2, 0x53E2}, //874 #CJK UNIFIED IDEOGRAPH
+  {0x85B3, 0x53E7}, //875 #CJK UNIFIED IDEOGRAPH
+  {0x85B4, 0x53F4}, //876 #CJK UNIFIED IDEOGRAPH
+  {0x85B5, 0x53FA}, //877 #CJK UNIFIED IDEOGRAPH
+  {0x85B6, 0x53FE}, //878 #CJK UNIFIED IDEOGRAPH
+  {0x85B7, 0x53FF}, //879 #CJK UNIFIED IDEOGRAPH
+  {0x85B8, 0x5400}, //880 #CJK UNIFIED IDEOGRAPH
+  {0x85B9, 0x5402}, //881 #CJK UNIFIED IDEOGRAPH
+  {0x85BA, 0x5405}, //882 #CJK UNIFIED IDEOGRAPH
+  {0x85BB, 0x5407}, //883 #CJK UNIFIED IDEOGRAPH
+  {0x85BC, 0x540B}, //884 #CJK UNIFIED IDEOGRAPH
+  {0x85BD, 0x5414}, //885 #CJK UNIFIED IDEOGRAPH
+  {0x85BE, 0x5418}, //886 #CJK UNIFIED IDEOGRAPH
+  {0x85BF, 0x5419}, //887 #CJK UNIFIED IDEOGRAPH
+  {0x85C0, 0x541A}, //888 #CJK UNIFIED IDEOGRAPH
+  {0x85C1, 0x541C}, //889 #CJK UNIFIED IDEOGRAPH
+  {0x85C2, 0x5422}, //890 #CJK UNIFIED IDEOGRAPH
+  {0x85C3, 0x5424}, //891 #CJK UNIFIED IDEOGRAPH
+  {0x85C4, 0x5425}, //892 #CJK UNIFIED IDEOGRAPH
+  {0x85C5, 0x542A}, //893 #CJK UNIFIED IDEOGRAPH
+  {0x85C6, 0x5430}, //894 #CJK UNIFIED IDEOGRAPH
+  {0x85C7, 0x5433}, //895 #CJK UNIFIED IDEOGRAPH
+  {0x85C8, 0x5436}, //896 #CJK UNIFIED IDEOGRAPH
+  {0x85C9, 0x5437}, //897 #CJK UNIFIED IDEOGRAPH
+  {0x85CA, 0x543A}, //898 #CJK UNIFIED IDEOGRAPH
+  {0x85CB, 0x543D}, //899 #CJK UNIFIED IDEOGRAPH
+  {0x85CC, 0x543F}, //900 #CJK UNIFIED IDEOGRAPH
+  {0x85CD, 0x5441}, //901 #CJK UNIFIED IDEOGRAPH
+  {0x85CE, 0x5442}, //902 #CJK UNIFIED IDEOGRAPH
+  {0x85CF, 0x5444}, //903 #CJK UNIFIED IDEOGRAPH
+  {0x85D0, 0x5445}, //904 #CJK UNIFIED IDEOGRAPH
+  {0x85D1, 0x5447}, //905 #CJK UNIFIED IDEOGRAPH
+  {0x85D2, 0x5449}, //906 #CJK UNIFIED IDEOGRAPH
+  {0x85D3, 0x544C}, //907 #CJK UNIFIED IDEOGRAPH
+  {0x85D4, 0x544D}, //908 #CJK UNIFIED IDEOGRAPH
+  {0x85D5, 0x544E}, //909 #CJK UNIFIED IDEOGRAPH
+  {0x85D6, 0x544F}, //910 #CJK UNIFIED IDEOGRAPH
+  {0x85D7, 0x5451}, //911 #CJK UNIFIED IDEOGRAPH
+  {0x85D8, 0x545A}, //912 #CJK UNIFIED IDEOGRAPH
+  {0x85D9, 0x545D}, //913 #CJK UNIFIED IDEOGRAPH
+  {0x85DA, 0x545E}, //914 #CJK UNIFIED IDEOGRAPH
+  {0x85DB, 0x545F}, //915 #CJK UNIFIED IDEOGRAPH
+  {0x85DC, 0x5460}, //916 #CJK UNIFIED IDEOGRAPH
+  {0x85DD, 0x5461}, //917 #CJK UNIFIED IDEOGRAPH
+  {0x85DE, 0x5463}, //918 #CJK UNIFIED IDEOGRAPH
+  {0x85DF, 0x5465}, //919 #CJK UNIFIED IDEOGRAPH
+  {0x85E0, 0x5467}, //920 #CJK UNIFIED IDEOGRAPH
+  {0x85E1, 0x5469}, //921 #CJK UNIFIED IDEOGRAPH
+  {0x85E2, 0x546A}, //922 #CJK UNIFIED IDEOGRAPH
+  {0x85E3, 0x546B}, //923 #CJK UNIFIED IDEOGRAPH
+  {0x85E4, 0x546C}, //924 #CJK UNIFIED IDEOGRAPH
+  {0x85E5, 0x546D}, //925 #CJK UNIFIED IDEOGRAPH
+  {0x85E6, 0x546E}, //926 #CJK UNIFIED IDEOGRAPH
+  {0x85E7, 0x546F}, //927 #CJK UNIFIED IDEOGRAPH
+  {0x85E8, 0x5470}, //928 #CJK UNIFIED IDEOGRAPH
+  {0x85E9, 0x5474}, //929 #CJK UNIFIED IDEOGRAPH
+  {0x85EA, 0x5479}, //930 #CJK UNIFIED IDEOGRAPH
+  {0x85EB, 0x547A}, //931 #CJK UNIFIED IDEOGRAPH
+  {0x85EC, 0x547E}, //932 #CJK UNIFIED IDEOGRAPH
+  {0x85ED, 0x547F}, //933 #CJK UNIFIED IDEOGRAPH
+  {0x85EE, 0x5481}, //934 #CJK UNIFIED IDEOGRAPH
+  {0x85EF, 0x5483}, //935 #CJK UNIFIED IDEOGRAPH
+  {0x85F0, 0x5485}, //936 #CJK UNIFIED IDEOGRAPH
+  {0x85F1, 0x5487}, //937 #CJK UNIFIED IDEOGRAPH
+  {0x85F2, 0x5488}, //938 #CJK UNIFIED IDEOGRAPH
+  {0x85F3, 0x5489}, //939 #CJK UNIFIED IDEOGRAPH
+  {0x85F4, 0x548A}, //940 #CJK UNIFIED IDEOGRAPH
+  {0x85F5, 0x548D}, //941 #CJK UNIFIED IDEOGRAPH
+  {0x85F6, 0x5491}, //942 #CJK UNIFIED IDEOGRAPH
+  {0x85F7, 0x5493}, //943 #CJK UNIFIED IDEOGRAPH
+  {0x85F8, 0x5497}, //944 #CJK UNIFIED IDEOGRAPH
+  {0x85F9, 0x5498}, //945 #CJK UNIFIED IDEOGRAPH
+  {0x85FA, 0x549C}, //946 #CJK UNIFIED IDEOGRAPH
+  {0x85FB, 0x549E}, //947 #CJK UNIFIED IDEOGRAPH
+  {0x85FC, 0x549F}, //948 #CJK UNIFIED IDEOGRAPH
+  {0x85FD, 0x54A0}, //949 #CJK UNIFIED IDEOGRAPH
+  {0x85FE, 0x54A1}, //950 #CJK UNIFIED IDEOGRAPH
+  {0x8640, 0x54A2}, //951 #CJK UNIFIED IDEOGRAPH
+  {0x8641, 0x54A5}, //952 #CJK UNIFIED IDEOGRAPH
+  {0x8642, 0x54AE}, //953 #CJK UNIFIED IDEOGRAPH
+  {0x8643, 0x54B0}, //954 #CJK UNIFIED IDEOGRAPH
+  {0x8644, 0x54B2}, //955 #CJK UNIFIED IDEOGRAPH
+  {0x8645, 0x54B5}, //956 #CJK UNIFIED IDEOGRAPH
+  {0x8646, 0x54B6}, //957 #CJK UNIFIED IDEOGRAPH
+  {0x8647, 0x54B7}, //958 #CJK UNIFIED IDEOGRAPH
+  {0x8648, 0x54B9}, //959 #CJK UNIFIED IDEOGRAPH
+  {0x8649, 0x54BA}, //960 #CJK UNIFIED IDEOGRAPH
+  {0x864A, 0x54BC}, //961 #CJK UNIFIED IDEOGRAPH
+  {0x864B, 0x54BE}, //962 #CJK UNIFIED IDEOGRAPH
+  {0x864C, 0x54C3}, //963 #CJK UNIFIED IDEOGRAPH
+  {0x864D, 0x54C5}, //964 #CJK UNIFIED IDEOGRAPH
+  {0x864E, 0x54CA}, //965 #CJK UNIFIED IDEOGRAPH
+  {0x864F, 0x54CB}, //966 #CJK UNIFIED IDEOGRAPH
+  {0x8650, 0x54D6}, //967 #CJK UNIFIED IDEOGRAPH
+  {0x8651, 0x54D8}, //968 #CJK UNIFIED IDEOGRAPH
+  {0x8652, 0x54DB}, //969 #CJK UNIFIED IDEOGRAPH
+  {0x8653, 0x54E0}, //970 #CJK UNIFIED IDEOGRAPH
+  {0x8654, 0x54E1}, //971 #CJK UNIFIED IDEOGRAPH
+  {0x8655, 0x54E2}, //972 #CJK UNIFIED IDEOGRAPH
+  {0x8656, 0x54E3}, //973 #CJK UNIFIED IDEOGRAPH
+  {0x8657, 0x54E4}, //974 #CJK UNIFIED IDEOGRAPH
+  {0x8658, 0x54EB}, //975 #CJK UNIFIED IDEOGRAPH
+  {0x8659, 0x54EC}, //976 #CJK UNIFIED IDEOGRAPH
+  {0x865A, 0x54EF}, //977 #CJK UNIFIED IDEOGRAPH
+  {0x865B, 0x54F0}, //978 #CJK UNIFIED IDEOGRAPH
+  {0x865C, 0x54F1}, //979 #CJK UNIFIED IDEOGRAPH
+  {0x865D, 0x54F4}, //980 #CJK UNIFIED IDEOGRAPH
+  {0x865E, 0x54F5}, //981 #CJK UNIFIED IDEOGRAPH
+  {0x865F, 0x54F6}, //982 #CJK UNIFIED IDEOGRAPH
+  {0x8660, 0x54F7}, //983 #CJK UNIFIED IDEOGRAPH
+  {0x8661, 0x54F8}, //984 #CJK UNIFIED IDEOGRAPH
+  {0x8662, 0x54F9}, //985 #CJK UNIFIED IDEOGRAPH
+  {0x8663, 0x54FB}, //986 #CJK UNIFIED IDEOGRAPH
+  {0x8664, 0x54FE}, //987 #CJK UNIFIED IDEOGRAPH
+  {0x8665, 0x5500}, //988 #CJK UNIFIED IDEOGRAPH
+  {0x8666, 0x5502}, //989 #CJK UNIFIED IDEOGRAPH
+  {0x8667, 0x5503}, //990 #CJK UNIFIED IDEOGRAPH
+  {0x8668, 0x5504}, //991 #CJK UNIFIED IDEOGRAPH
+  {0x8669, 0x5505}, //992 #CJK UNIFIED IDEOGRAPH
+  {0x866A, 0x5508}, //993 #CJK UNIFIED IDEOGRAPH
+  {0x866B, 0x550A}, //994 #CJK UNIFIED IDEOGRAPH
+  {0x866C, 0x550B}, //995 #CJK UNIFIED IDEOGRAPH
+  {0x866D, 0x550C}, //996 #CJK UNIFIED IDEOGRAPH
+  {0x866E, 0x550D}, //997 #CJK UNIFIED IDEOGRAPH
+  {0x866F, 0x550E}, //998 #CJK UNIFIED IDEOGRAPH
+  {0x8670, 0x5512}, //999 #CJK UNIFIED IDEOGRAPH
+  {0x8671, 0x5513}, //1000 #CJK UNIFIED IDEOGRAPH
+  {0x8672, 0x5515}, //1001 #CJK UNIFIED IDEOGRAPH
+  {0x8673, 0x5516}, //1002 #CJK UNIFIED IDEOGRAPH
+  {0x8674, 0x5517}, //1003 #CJK UNIFIED IDEOGRAPH
+  {0x8675, 0x5518}, //1004 #CJK UNIFIED IDEOGRAPH
+  {0x8676, 0x5519}, //1005 #CJK UNIFIED IDEOGRAPH
+  {0x8677, 0x551A}, //1006 #CJK UNIFIED IDEOGRAPH
+  {0x8678, 0x551C}, //1007 #CJK UNIFIED IDEOGRAPH
+  {0x8679, 0x551D}, //1008 #CJK UNIFIED IDEOGRAPH
+  {0x867A, 0x551E}, //1009 #CJK UNIFIED IDEOGRAPH
+  {0x867B, 0x551F}, //1010 #CJK UNIFIED IDEOGRAPH
+  {0x867C, 0x5521}, //1011 #CJK UNIFIED IDEOGRAPH
+  {0x867D, 0x5525}, //1012 #CJK UNIFIED IDEOGRAPH
+  {0x867E, 0x5526}, //1013 #CJK UNIFIED IDEOGRAPH
+  {0x8680, 0x5528}, //1014 #CJK UNIFIED IDEOGRAPH
+  {0x8681, 0x5529}, //1015 #CJK UNIFIED IDEOGRAPH
+  {0x8682, 0x552B}, //1016 #CJK UNIFIED IDEOGRAPH
+  {0x8683, 0x552D}, //1017 #CJK UNIFIED IDEOGRAPH
+  {0x8684, 0x5532}, //1018 #CJK UNIFIED IDEOGRAPH
+  {0x8685, 0x5534}, //1019 #CJK UNIFIED IDEOGRAPH
+  {0x8686, 0x5535}, //1020 #CJK UNIFIED IDEOGRAPH
+  {0x8687, 0x5536}, //1021 #CJK UNIFIED IDEOGRAPH
+  {0x8688, 0x5538}, //1022 #CJK UNIFIED IDEOGRAPH
+  {0x8689, 0x5539}, //1023 #CJK UNIFIED IDEOGRAPH
+  {0x868A, 0x553A}, //1024 #CJK UNIFIED IDEOGRAPH
+  {0x868B, 0x553B}, //1025 #CJK UNIFIED IDEOGRAPH
+  {0x868C, 0x553D}, //1026 #CJK UNIFIED IDEOGRAPH
+  {0x868D, 0x5540}, //1027 #CJK UNIFIED IDEOGRAPH
+  {0x868E, 0x5542}, //1028 #CJK UNIFIED IDEOGRAPH
+  {0x868F, 0x5545}, //1029 #CJK UNIFIED IDEOGRAPH
+  {0x8690, 0x5547}, //1030 #CJK UNIFIED IDEOGRAPH
+  {0x8691, 0x5548}, //1031 #CJK UNIFIED IDEOGRAPH
+  {0x8692, 0x554B}, //1032 #CJK UNIFIED IDEOGRAPH
+  {0x8693, 0x554C}, //1033 #CJK UNIFIED IDEOGRAPH
+  {0x8694, 0x554D}, //1034 #CJK UNIFIED IDEOGRAPH
+  {0x8695, 0x554E}, //1035 #CJK UNIFIED IDEOGRAPH
+  {0x8696, 0x554F}, //1036 #CJK UNIFIED IDEOGRAPH
+  {0x8697, 0x5551}, //1037 #CJK UNIFIED IDEOGRAPH
+  {0x8698, 0x5552}, //1038 #CJK UNIFIED IDEOGRAPH
+  {0x8699, 0x5553}, //1039 #CJK UNIFIED IDEOGRAPH
+  {0x869A, 0x5554}, //1040 #CJK UNIFIED IDEOGRAPH
+  {0x869B, 0x5557}, //1041 #CJK UNIFIED IDEOGRAPH
+  {0x869C, 0x5558}, //1042 #CJK UNIFIED IDEOGRAPH
+  {0x869D, 0x5559}, //1043 #CJK UNIFIED IDEOGRAPH
+  {0x869E, 0x555A}, //1044 #CJK UNIFIED IDEOGRAPH
+  {0x869F, 0x555B}, //1045 #CJK UNIFIED IDEOGRAPH
+  {0x86A0, 0x555D}, //1046 #CJK UNIFIED IDEOGRAPH
+  {0x86A1, 0x555E}, //1047 #CJK UNIFIED IDEOGRAPH
+  {0x86A2, 0x555F}, //1048 #CJK UNIFIED IDEOGRAPH
+  {0x86A3, 0x5560}, //1049 #CJK UNIFIED IDEOGRAPH
+  {0x86A4, 0x5562}, //1050 #CJK UNIFIED IDEOGRAPH
+  {0x86A5, 0x5563}, //1051 #CJK UNIFIED IDEOGRAPH
+  {0x86A6, 0x5568}, //1052 #CJK UNIFIED IDEOGRAPH
+  {0x86A7, 0x5569}, //1053 #CJK UNIFIED IDEOGRAPH
+  {0x86A8, 0x556B}, //1054 #CJK UNIFIED IDEOGRAPH
+  {0x86A9, 0x556F}, //1055 #CJK UNIFIED IDEOGRAPH
+  {0x86AA, 0x5570}, //1056 #CJK UNIFIED IDEOGRAPH
+  {0x86AB, 0x5571}, //1057 #CJK UNIFIED IDEOGRAPH
+  {0x86AC, 0x5572}, //1058 #CJK UNIFIED IDEOGRAPH
+  {0x86AD, 0x5573}, //1059 #CJK UNIFIED IDEOGRAPH
+  {0x86AE, 0x5574}, //1060 #CJK UNIFIED IDEOGRAPH
+  {0x86AF, 0x5579}, //1061 #CJK UNIFIED IDEOGRAPH
+  {0x86B0, 0x557A}, //1062 #CJK UNIFIED IDEOGRAPH
+  {0x86B1, 0x557D}, //1063 #CJK UNIFIED IDEOGRAPH
+  {0x86B2, 0x557F}, //1064 #CJK UNIFIED IDEOGRAPH
+  {0x86B3, 0x5585}, //1065 #CJK UNIFIED IDEOGRAPH
+  {0x86B4, 0x5586}, //1066 #CJK UNIFIED IDEOGRAPH
+  {0x86B5, 0x558C}, //1067 #CJK UNIFIED IDEOGRAPH
+  {0x86B6, 0x558D}, //1068 #CJK UNIFIED IDEOGRAPH
+  {0x86B7, 0x558E}, //1069 #CJK UNIFIED IDEOGRAPH
+  {0x86B8, 0x5590}, //1070 #CJK UNIFIED IDEOGRAPH
+  {0x86B9, 0x5592}, //1071 #CJK UNIFIED IDEOGRAPH
+  {0x86BA, 0x5593}, //1072 #CJK UNIFIED IDEOGRAPH
+  {0x86BB, 0x5595}, //1073 #CJK UNIFIED IDEOGRAPH
+  {0x86BC, 0x5596}, //1074 #CJK UNIFIED IDEOGRAPH
+  {0x86BD, 0x5597}, //1075 #CJK UNIFIED IDEOGRAPH
+  {0x86BE, 0x559A}, //1076 #CJK UNIFIED IDEOGRAPH
+  {0x86BF, 0x559B}, //1077 #CJK UNIFIED IDEOGRAPH
+  {0x86C0, 0x559E}, //1078 #CJK UNIFIED IDEOGRAPH
+  {0x86C1, 0x55A0}, //1079 #CJK UNIFIED IDEOGRAPH
+  {0x86C2, 0x55A1}, //1080 #CJK UNIFIED IDEOGRAPH
+  {0x86C3, 0x55A2}, //1081 #CJK UNIFIED IDEOGRAPH
+  {0x86C4, 0x55A3}, //1082 #CJK UNIFIED IDEOGRAPH
+  {0x86C5, 0x55A4}, //1083 #CJK UNIFIED IDEOGRAPH
+  {0x86C6, 0x55A5}, //1084 #CJK UNIFIED IDEOGRAPH
+  {0x86C7, 0x55A6}, //1085 #CJK UNIFIED IDEOGRAPH
+  {0x86C8, 0x55A8}, //1086 #CJK UNIFIED IDEOGRAPH
+  {0x86C9, 0x55A9}, //1087 #CJK UNIFIED IDEOGRAPH
+  {0x86CA, 0x55AA}, //1088 #CJK UNIFIED IDEOGRAPH
+  {0x86CB, 0x55AB}, //1089 #CJK UNIFIED IDEOGRAPH
+  {0x86CC, 0x55AC}, //1090 #CJK UNIFIED IDEOGRAPH
+  {0x86CD, 0x55AD}, //1091 #CJK UNIFIED IDEOGRAPH
+  {0x86CE, 0x55AE}, //1092 #CJK UNIFIED IDEOGRAPH
+  {0x86CF, 0x55AF}, //1093 #CJK UNIFIED IDEOGRAPH
+  {0x86D0, 0x55B0}, //1094 #CJK UNIFIED IDEOGRAPH
+  {0x86D1, 0x55B2}, //1095 #CJK UNIFIED IDEOGRAPH
+  {0x86D2, 0x55B4}, //1096 #CJK UNIFIED IDEOGRAPH
+  {0x86D3, 0x55B6}, //1097 #CJK UNIFIED IDEOGRAPH
+  {0x86D4, 0x55B8}, //1098 #CJK UNIFIED IDEOGRAPH
+  {0x86D5, 0x55BA}, //1099 #CJK UNIFIED IDEOGRAPH
+  {0x86D6, 0x55BC}, //1100 #CJK UNIFIED IDEOGRAPH
+  {0x86D7, 0x55BF}, //1101 #CJK UNIFIED IDEOGRAPH
+  {0x86D8, 0x55C0}, //1102 #CJK UNIFIED IDEOGRAPH
+  {0x86D9, 0x55C1}, //1103 #CJK UNIFIED IDEOGRAPH
+  {0x86DA, 0x55C2}, //1104 #CJK UNIFIED IDEOGRAPH
+  {0x86DB, 0x55C3}, //1105 #CJK UNIFIED IDEOGRAPH
+  {0x86DC, 0x55C6}, //1106 #CJK UNIFIED IDEOGRAPH
+  {0x86DD, 0x55C7}, //1107 #CJK UNIFIED IDEOGRAPH
+  {0x86DE, 0x55C8}, //1108 #CJK UNIFIED IDEOGRAPH
+  {0x86DF, 0x55CA}, //1109 #CJK UNIFIED IDEOGRAPH
+  {0x86E0, 0x55CB}, //1110 #CJK UNIFIED IDEOGRAPH
+  {0x86E1, 0x55CE}, //1111 #CJK UNIFIED IDEOGRAPH
+  {0x86E2, 0x55CF}, //1112 #CJK UNIFIED IDEOGRAPH
+  {0x86E3, 0x55D0}, //1113 #CJK UNIFIED IDEOGRAPH
+  {0x86E4, 0x55D5}, //1114 #CJK UNIFIED IDEOGRAPH
+  {0x86E5, 0x55D7}, //1115 #CJK UNIFIED IDEOGRAPH
+  {0x86E6, 0x55D8}, //1116 #CJK UNIFIED IDEOGRAPH
+  {0x86E7, 0x55D9}, //1117 #CJK UNIFIED IDEOGRAPH
+  {0x86E8, 0x55DA}, //1118 #CJK UNIFIED IDEOGRAPH
+  {0x86E9, 0x55DB}, //1119 #CJK UNIFIED IDEOGRAPH
+  {0x86EA, 0x55DE}, //1120 #CJK UNIFIED IDEOGRAPH
+  {0x86EB, 0x55E0}, //1121 #CJK UNIFIED IDEOGRAPH
+  {0x86EC, 0x55E2}, //1122 #CJK UNIFIED IDEOGRAPH
+  {0x86ED, 0x55E7}, //1123 #CJK UNIFIED IDEOGRAPH
+  {0x86EE, 0x55E9}, //1124 #CJK UNIFIED IDEOGRAPH
+  {0x86EF, 0x55ED}, //1125 #CJK UNIFIED IDEOGRAPH
+  {0x86F0, 0x55EE}, //1126 #CJK UNIFIED IDEOGRAPH
+  {0x86F1, 0x55F0}, //1127 #CJK UNIFIED IDEOGRAPH
+  {0x86F2, 0x55F1}, //1128 #CJK UNIFIED IDEOGRAPH
+  {0x86F3, 0x55F4}, //1129 #CJK UNIFIED IDEOGRAPH
+  {0x86F4, 0x55F6}, //1130 #CJK UNIFIED IDEOGRAPH
+  {0x86F5, 0x55F8}, //1131 #CJK UNIFIED IDEOGRAPH
+  {0x86F6, 0x55F9}, //1132 #CJK UNIFIED IDEOGRAPH
+  {0x86F7, 0x55FA}, //1133 #CJK UNIFIED IDEOGRAPH
+  {0x86F8, 0x55FB}, //1134 #CJK UNIFIED IDEOGRAPH
+  {0x86F9, 0x55FC}, //1135 #CJK UNIFIED IDEOGRAPH
+  {0x86FA, 0x55FF}, //1136 #CJK UNIFIED IDEOGRAPH
+  {0x86FB, 0x5602}, //1137 #CJK UNIFIED IDEOGRAPH
+  {0x86FC, 0x5603}, //1138 #CJK UNIFIED IDEOGRAPH
+  {0x86FD, 0x5604}, //1139 #CJK UNIFIED IDEOGRAPH
+  {0x86FE, 0x5605}, //1140 #CJK UNIFIED IDEOGRAPH
+  {0x8740, 0x5606}, //1141 #CJK UNIFIED IDEOGRAPH
+  {0x8741, 0x5607}, //1142 #CJK UNIFIED IDEOGRAPH
+  {0x8742, 0x560A}, //1143 #CJK UNIFIED IDEOGRAPH
+  {0x8743, 0x560B}, //1144 #CJK UNIFIED IDEOGRAPH
+  {0x8744, 0x560D}, //1145 #CJK UNIFIED IDEOGRAPH
+  {0x8745, 0x5610}, //1146 #CJK UNIFIED IDEOGRAPH
+  {0x8746, 0x5611}, //1147 #CJK UNIFIED IDEOGRAPH
+  {0x8747, 0x5612}, //1148 #CJK UNIFIED IDEOGRAPH
+  {0x8748, 0x5613}, //1149 #CJK UNIFIED IDEOGRAPH
+  {0x8749, 0x5614}, //1150 #CJK UNIFIED IDEOGRAPH
+  {0x874A, 0x5615}, //1151 #CJK UNIFIED IDEOGRAPH
+  {0x874B, 0x5616}, //1152 #CJK UNIFIED IDEOGRAPH
+  {0x874C, 0x5617}, //1153 #CJK UNIFIED IDEOGRAPH
+  {0x874D, 0x5619}, //1154 #CJK UNIFIED IDEOGRAPH
+  {0x874E, 0x561A}, //1155 #CJK UNIFIED IDEOGRAPH
+  {0x874F, 0x561C}, //1156 #CJK UNIFIED IDEOGRAPH
+  {0x8750, 0x561D}, //1157 #CJK UNIFIED IDEOGRAPH
+  {0x8751, 0x5620}, //1158 #CJK UNIFIED IDEOGRAPH
+  {0x8752, 0x5621}, //1159 #CJK UNIFIED IDEOGRAPH
+  {0x8753, 0x5622}, //1160 #CJK UNIFIED IDEOGRAPH
+  {0x8754, 0x5625}, //1161 #CJK UNIFIED IDEOGRAPH
+  {0x8755, 0x5626}, //1162 #CJK UNIFIED IDEOGRAPH
+  {0x8756, 0x5628}, //1163 #CJK UNIFIED IDEOGRAPH
+  {0x8757, 0x5629}, //1164 #CJK UNIFIED IDEOGRAPH
+  {0x8758, 0x562A}, //1165 #CJK UNIFIED IDEOGRAPH
+  {0x8759, 0x562B}, //1166 #CJK UNIFIED IDEOGRAPH
+  {0x875A, 0x562E}, //1167 #CJK UNIFIED IDEOGRAPH
+  {0x875B, 0x562F}, //1168 #CJK UNIFIED IDEOGRAPH
+  {0x875C, 0x5630}, //1169 #CJK UNIFIED IDEOGRAPH
+  {0x875D, 0x5633}, //1170 #CJK UNIFIED IDEOGRAPH
+  {0x875E, 0x5635}, //1171 #CJK UNIFIED IDEOGRAPH
+  {0x875F, 0x5637}, //1172 #CJK UNIFIED IDEOGRAPH
+  {0x8760, 0x5638}, //1173 #CJK UNIFIED IDEOGRAPH
+  {0x8761, 0x563A}, //1174 #CJK UNIFIED IDEOGRAPH
+  {0x8762, 0x563C}, //1175 #CJK UNIFIED IDEOGRAPH
+  {0x8763, 0x563D}, //1176 #CJK UNIFIED IDEOGRAPH
+  {0x8764, 0x563E}, //1177 #CJK UNIFIED IDEOGRAPH
+  {0x8765, 0x5640}, //1178 #CJK UNIFIED IDEOGRAPH
+  {0x8766, 0x5641}, //1179 #CJK UNIFIED IDEOGRAPH
+  {0x8767, 0x5642}, //1180 #CJK UNIFIED IDEOGRAPH
+  {0x8768, 0x5643}, //1181 #CJK UNIFIED IDEOGRAPH
+  {0x8769, 0x5644}, //1182 #CJK UNIFIED IDEOGRAPH
+  {0x876A, 0x5645}, //1183 #CJK UNIFIED IDEOGRAPH
+  {0x876B, 0x5646}, //1184 #CJK UNIFIED IDEOGRAPH
+  {0x876C, 0x5647}, //1185 #CJK UNIFIED IDEOGRAPH
+  {0x876D, 0x5648}, //1186 #CJK UNIFIED IDEOGRAPH
+  {0x876E, 0x5649}, //1187 #CJK UNIFIED IDEOGRAPH
+  {0x876F, 0x564A}, //1188 #CJK UNIFIED IDEOGRAPH
+  {0x8770, 0x564B}, //1189 #CJK UNIFIED IDEOGRAPH
+  {0x8771, 0x564F}, //1190 #CJK UNIFIED IDEOGRAPH
+  {0x8772, 0x5650}, //1191 #CJK UNIFIED IDEOGRAPH
+  {0x8773, 0x5651}, //1192 #CJK UNIFIED IDEOGRAPH
+  {0x8774, 0x5652}, //1193 #CJK UNIFIED IDEOGRAPH
+  {0x8775, 0x5653}, //1194 #CJK UNIFIED IDEOGRAPH
+  {0x8776, 0x5655}, //1195 #CJK UNIFIED IDEOGRAPH
+  {0x8777, 0x5656}, //1196 #CJK UNIFIED IDEOGRAPH
+  {0x8778, 0x565A}, //1197 #CJK UNIFIED IDEOGRAPH
+  {0x8779, 0x565B}, //1198 #CJK UNIFIED IDEOGRAPH
+  {0x877A, 0x565D}, //1199 #CJK UNIFIED IDEOGRAPH
+  {0x877B, 0x565E}, //1200 #CJK UNIFIED IDEOGRAPH
+  {0x877C, 0x565F}, //1201 #CJK UNIFIED IDEOGRAPH
+  {0x877D, 0x5660}, //1202 #CJK UNIFIED IDEOGRAPH
+  {0x877E, 0x5661}, //1203 #CJK UNIFIED IDEOGRAPH
+  {0x8780, 0x5663}, //1204 #CJK UNIFIED IDEOGRAPH
+  {0x8781, 0x5665}, //1205 #CJK UNIFIED IDEOGRAPH
+  {0x8782, 0x5666}, //1206 #CJK UNIFIED IDEOGRAPH
+  {0x8783, 0x5667}, //1207 #CJK UNIFIED IDEOGRAPH
+  {0x8784, 0x566D}, //1208 #CJK UNIFIED IDEOGRAPH
+  {0x8785, 0x566E}, //1209 #CJK UNIFIED IDEOGRAPH
+  {0x8786, 0x566F}, //1210 #CJK UNIFIED IDEOGRAPH
+  {0x8787, 0x5670}, //1211 #CJK UNIFIED IDEOGRAPH
+  {0x8788, 0x5672}, //1212 #CJK UNIFIED IDEOGRAPH
+  {0x8789, 0x5673}, //1213 #CJK UNIFIED IDEOGRAPH
+  {0x878A, 0x5674}, //1214 #CJK UNIFIED IDEOGRAPH
+  {0x878B, 0x5675}, //1215 #CJK UNIFIED IDEOGRAPH
+  {0x878C, 0x5677}, //1216 #CJK UNIFIED IDEOGRAPH
+  {0x878D, 0x5678}, //1217 #CJK UNIFIED IDEOGRAPH
+  {0x878E, 0x5679}, //1218 #CJK UNIFIED IDEOGRAPH
+  {0x878F, 0x567A}, //1219 #CJK UNIFIED IDEOGRAPH
+  {0x8790, 0x567D}, //1220 #CJK UNIFIED IDEOGRAPH
+  {0x8791, 0x567E}, //1221 #CJK UNIFIED IDEOGRAPH
+  {0x8792, 0x567F}, //1222 #CJK UNIFIED IDEOGRAPH
+  {0x8793, 0x5680}, //1223 #CJK UNIFIED IDEOGRAPH
+  {0x8794, 0x5681}, //1224 #CJK UNIFIED IDEOGRAPH
+  {0x8795, 0x5682}, //1225 #CJK UNIFIED IDEOGRAPH
+  {0x8796, 0x5683}, //1226 #CJK UNIFIED IDEOGRAPH
+  {0x8797, 0x5684}, //1227 #CJK UNIFIED IDEOGRAPH
+  {0x8798, 0x5687}, //1228 #CJK UNIFIED IDEOGRAPH
+  {0x8799, 0x5688}, //1229 #CJK UNIFIED IDEOGRAPH
+  {0x879A, 0x5689}, //1230 #CJK UNIFIED IDEOGRAPH
+  {0x879B, 0x568A}, //1231 #CJK UNIFIED IDEOGRAPH
+  {0x879C, 0x568B}, //1232 #CJK UNIFIED IDEOGRAPH
+  {0x879D, 0x568C}, //1233 #CJK UNIFIED IDEOGRAPH
+  {0x879E, 0x568D}, //1234 #CJK UNIFIED IDEOGRAPH
+  {0x879F, 0x5690}, //1235 #CJK UNIFIED IDEOGRAPH
+  {0x87A0, 0x5691}, //1236 #CJK UNIFIED IDEOGRAPH
+  {0x87A1, 0x5692}, //1237 #CJK UNIFIED IDEOGRAPH
+  {0x87A2, 0x5694}, //1238 #CJK UNIFIED IDEOGRAPH
+  {0x87A3, 0x5695}, //1239 #CJK UNIFIED IDEOGRAPH
+  {0x87A4, 0x5696}, //1240 #CJK UNIFIED IDEOGRAPH
+  {0x87A5, 0x5697}, //1241 #CJK UNIFIED IDEOGRAPH
+  {0x87A6, 0x5698}, //1242 #CJK UNIFIED IDEOGRAPH
+  {0x87A7, 0x5699}, //1243 #CJK UNIFIED IDEOGRAPH
+  {0x87A8, 0x569A}, //1244 #CJK UNIFIED IDEOGRAPH
+  {0x87A9, 0x569B}, //1245 #CJK UNIFIED IDEOGRAPH
+  {0x87AA, 0x569C}, //1246 #CJK UNIFIED IDEOGRAPH
+  {0x87AB, 0x569D}, //1247 #CJK UNIFIED IDEOGRAPH
+  {0x87AC, 0x569E}, //1248 #CJK UNIFIED IDEOGRAPH
+  {0x87AD, 0x569F}, //1249 #CJK UNIFIED IDEOGRAPH
+  {0x87AE, 0x56A0}, //1250 #CJK UNIFIED IDEOGRAPH
+  {0x87AF, 0x56A1}, //1251 #CJK UNIFIED IDEOGRAPH
+  {0x87B0, 0x56A2}, //1252 #CJK UNIFIED IDEOGRAPH
+  {0x87B1, 0x56A4}, //1253 #CJK UNIFIED IDEOGRAPH
+  {0x87B2, 0x56A5}, //1254 #CJK UNIFIED IDEOGRAPH
+  {0x87B3, 0x56A6}, //1255 #CJK UNIFIED IDEOGRAPH
+  {0x87B4, 0x56A7}, //1256 #CJK UNIFIED IDEOGRAPH
+  {0x87B5, 0x56A8}, //1257 #CJK UNIFIED IDEOGRAPH
+  {0x87B6, 0x56A9}, //1258 #CJK UNIFIED IDEOGRAPH
+  {0x87B7, 0x56AA}, //1259 #CJK UNIFIED IDEOGRAPH
+  {0x87B8, 0x56AB}, //1260 #CJK UNIFIED IDEOGRAPH
+  {0x87B9, 0x56AC}, //1261 #CJK UNIFIED IDEOGRAPH
+  {0x87BA, 0x56AD}, //1262 #CJK UNIFIED IDEOGRAPH
+  {0x87BB, 0x56AE}, //1263 #CJK UNIFIED IDEOGRAPH
+  {0x87BC, 0x56B0}, //1264 #CJK UNIFIED IDEOGRAPH
+  {0x87BD, 0x56B1}, //1265 #CJK UNIFIED IDEOGRAPH
+  {0x87BE, 0x56B2}, //1266 #CJK UNIFIED IDEOGRAPH
+  {0x87BF, 0x56B3}, //1267 #CJK UNIFIED IDEOGRAPH
+  {0x87C0, 0x56B4}, //1268 #CJK UNIFIED IDEOGRAPH
+  {0x87C1, 0x56B5}, //1269 #CJK UNIFIED IDEOGRAPH
+  {0x87C2, 0x56B6}, //1270 #CJK UNIFIED IDEOGRAPH
+  {0x87C3, 0x56B8}, //1271 #CJK UNIFIED IDEOGRAPH
+  {0x87C4, 0x56B9}, //1272 #CJK UNIFIED IDEOGRAPH
+  {0x87C5, 0x56BA}, //1273 #CJK UNIFIED IDEOGRAPH
+  {0x87C6, 0x56BB}, //1274 #CJK UNIFIED IDEOGRAPH
+  {0x87C7, 0x56BD}, //1275 #CJK UNIFIED IDEOGRAPH
+  {0x87C8, 0x56BE}, //1276 #CJK UNIFIED IDEOGRAPH
+  {0x87C9, 0x56BF}, //1277 #CJK UNIFIED IDEOGRAPH
+  {0x87CA, 0x56C0}, //1278 #CJK UNIFIED IDEOGRAPH
+  {0x87CB, 0x56C1}, //1279 #CJK UNIFIED IDEOGRAPH
+  {0x87CC, 0x56C2}, //1280 #CJK UNIFIED IDEOGRAPH
+  {0x87CD, 0x56C3}, //1281 #CJK UNIFIED IDEOGRAPH
+  {0x87CE, 0x56C4}, //1282 #CJK UNIFIED IDEOGRAPH
+  {0x87CF, 0x56C5}, //1283 #CJK UNIFIED IDEOGRAPH
+  {0x87D0, 0x56C6}, //1284 #CJK UNIFIED IDEOGRAPH
+  {0x87D1, 0x56C7}, //1285 #CJK UNIFIED IDEOGRAPH
+  {0x87D2, 0x56C8}, //1286 #CJK UNIFIED IDEOGRAPH
+  {0x87D3, 0x56C9}, //1287 #CJK UNIFIED IDEOGRAPH
+  {0x87D4, 0x56CB}, //1288 #CJK UNIFIED IDEOGRAPH
+  {0x87D5, 0x56CC}, //1289 #CJK UNIFIED IDEOGRAPH
+  {0x87D6, 0x56CD}, //1290 #CJK UNIFIED IDEOGRAPH
+  {0x87D7, 0x56CE}, //1291 #CJK UNIFIED IDEOGRAPH
+  {0x87D8, 0x56CF}, //1292 #CJK UNIFIED IDEOGRAPH
+  {0x87D9, 0x56D0}, //1293 #CJK UNIFIED IDEOGRAPH
+  {0x87DA, 0x56D1}, //1294 #CJK UNIFIED IDEOGRAPH
+  {0x87DB, 0x56D2}, //1295 #CJK UNIFIED IDEOGRAPH
+  {0x87DC, 0x56D3}, //1296 #CJK UNIFIED IDEOGRAPH
+  {0x87DD, 0x56D5}, //1297 #CJK UNIFIED IDEOGRAPH
+  {0x87DE, 0x56D6}, //1298 #CJK UNIFIED IDEOGRAPH
+  {0x87DF, 0x56D8}, //1299 #CJK UNIFIED IDEOGRAPH
+  {0x87E0, 0x56D9}, //1300 #CJK UNIFIED IDEOGRAPH
+  {0x87E1, 0x56DC}, //1301 #CJK UNIFIED IDEOGRAPH
+  {0x87E2, 0x56E3}, //1302 #CJK UNIFIED IDEOGRAPH
+  {0x87E3, 0x56E5}, //1303 #CJK UNIFIED IDEOGRAPH
+  {0x87E4, 0x56E6}, //1304 #CJK UNIFIED IDEOGRAPH
+  {0x87E5, 0x56E7}, //1305 #CJK UNIFIED IDEOGRAPH
+  {0x87E6, 0x56E8}, //1306 #CJK UNIFIED IDEOGRAPH
+  {0x87E7, 0x56E9}, //1307 #CJK UNIFIED IDEOGRAPH
+  {0x87E8, 0x56EA}, //1308 #CJK UNIFIED IDEOGRAPH
+  {0x87E9, 0x56EC}, //1309 #CJK UNIFIED IDEOGRAPH
+  {0x87EA, 0x56EE}, //1310 #CJK UNIFIED IDEOGRAPH
+  {0x87EB, 0x56EF}, //1311 #CJK UNIFIED IDEOGRAPH
+  {0x87EC, 0x56F2}, //1312 #CJK UNIFIED IDEOGRAPH
+  {0x87ED, 0x56F3}, //1313 #CJK UNIFIED IDEOGRAPH
+  {0x87EE, 0x56F6}, //1314 #CJK UNIFIED IDEOGRAPH
+  {0x87EF, 0x56F7}, //1315 #CJK UNIFIED IDEOGRAPH
+  {0x87F0, 0x56F8}, //1316 #CJK UNIFIED IDEOGRAPH
+  {0x87F1, 0x56FB}, //1317 #CJK UNIFIED IDEOGRAPH
+  {0x87F2, 0x56FC}, //1318 #CJK UNIFIED IDEOGRAPH
+  {0x87F3, 0x5700}, //1319 #CJK UNIFIED IDEOGRAPH
+  {0x87F4, 0x5701}, //1320 #CJK UNIFIED IDEOGRAPH
+  {0x87F5, 0x5702}, //1321 #CJK UNIFIED IDEOGRAPH
+  {0x87F6, 0x5705}, //1322 #CJK UNIFIED IDEOGRAPH
+  {0x87F7, 0x5707}, //1323 #CJK UNIFIED IDEOGRAPH
+  {0x87F8, 0x570B}, //1324 #CJK UNIFIED IDEOGRAPH
+  {0x87F9, 0x570C}, //1325 #CJK UNIFIED IDEOGRAPH
+  {0x87FA, 0x570D}, //1326 #CJK UNIFIED IDEOGRAPH
+  {0x87FB, 0x570E}, //1327 #CJK UNIFIED IDEOGRAPH
+  {0x87FC, 0x570F}, //1328 #CJK UNIFIED IDEOGRAPH
+  {0x87FD, 0x5710}, //1329 #CJK UNIFIED IDEOGRAPH
+  {0x87FE, 0x5711}, //1330 #CJK UNIFIED IDEOGRAPH
+  {0x8840, 0x5712}, //1331 #CJK UNIFIED IDEOGRAPH
+  {0x8841, 0x5713}, //1332 #CJK UNIFIED IDEOGRAPH
+  {0x8842, 0x5714}, //1333 #CJK UNIFIED IDEOGRAPH
+  {0x8843, 0x5715}, //1334 #CJK UNIFIED IDEOGRAPH
+  {0x8844, 0x5716}, //1335 #CJK UNIFIED IDEOGRAPH
+  {0x8845, 0x5717}, //1336 #CJK UNIFIED IDEOGRAPH
+  {0x8846, 0x5718}, //1337 #CJK UNIFIED IDEOGRAPH
+  {0x8847, 0x5719}, //1338 #CJK UNIFIED IDEOGRAPH
+  {0x8848, 0x571A}, //1339 #CJK UNIFIED IDEOGRAPH
+  {0x8849, 0x571B}, //1340 #CJK UNIFIED IDEOGRAPH
+  {0x884A, 0x571D}, //1341 #CJK UNIFIED IDEOGRAPH
+  {0x884B, 0x571E}, //1342 #CJK UNIFIED IDEOGRAPH
+  {0x884C, 0x5720}, //1343 #CJK UNIFIED IDEOGRAPH
+  {0x884D, 0x5721}, //1344 #CJK UNIFIED IDEOGRAPH
+  {0x884E, 0x5722}, //1345 #CJK UNIFIED IDEOGRAPH
+  {0x884F, 0x5724}, //1346 #CJK UNIFIED IDEOGRAPH
+  {0x8850, 0x5725}, //1347 #CJK UNIFIED IDEOGRAPH
+  {0x8851, 0x5726}, //1348 #CJK UNIFIED IDEOGRAPH
+  {0x8852, 0x5727}, //1349 #CJK UNIFIED IDEOGRAPH
+  {0x8853, 0x572B}, //1350 #CJK UNIFIED IDEOGRAPH
+  {0x8854, 0x5731}, //1351 #CJK UNIFIED IDEOGRAPH
+  {0x8855, 0x5732}, //1352 #CJK UNIFIED IDEOGRAPH
+  {0x8856, 0x5734}, //1353 #CJK UNIFIED IDEOGRAPH
+  {0x8857, 0x5735}, //1354 #CJK UNIFIED IDEOGRAPH
+  {0x8858, 0x5736}, //1355 #CJK UNIFIED IDEOGRAPH
+  {0x8859, 0x5737}, //1356 #CJK UNIFIED IDEOGRAPH
+  {0x885A, 0x5738}, //1357 #CJK UNIFIED IDEOGRAPH
+  {0x885B, 0x573C}, //1358 #CJK UNIFIED IDEOGRAPH
+  {0x885C, 0x573D}, //1359 #CJK UNIFIED IDEOGRAPH
+  {0x885D, 0x573F}, //1360 #CJK UNIFIED IDEOGRAPH
+  {0x885E, 0x5741}, //1361 #CJK UNIFIED IDEOGRAPH
+  {0x885F, 0x5743}, //1362 #CJK UNIFIED IDEOGRAPH
+  {0x8860, 0x5744}, //1363 #CJK UNIFIED IDEOGRAPH
+  {0x8861, 0x5745}, //1364 #CJK UNIFIED IDEOGRAPH
+  {0x8862, 0x5746}, //1365 #CJK UNIFIED IDEOGRAPH
+  {0x8863, 0x5748}, //1366 #CJK UNIFIED IDEOGRAPH
+  {0x8864, 0x5749}, //1367 #CJK UNIFIED IDEOGRAPH
+  {0x8865, 0x574B}, //1368 #CJK UNIFIED IDEOGRAPH
+  {0x8866, 0x5752}, //1369 #CJK UNIFIED IDEOGRAPH
+  {0x8867, 0x5753}, //1370 #CJK UNIFIED IDEOGRAPH
+  {0x8868, 0x5754}, //1371 #CJK UNIFIED IDEOGRAPH
+  {0x8869, 0x5755}, //1372 #CJK UNIFIED IDEOGRAPH
+  {0x886A, 0x5756}, //1373 #CJK UNIFIED IDEOGRAPH
+  {0x886B, 0x5758}, //1374 #CJK UNIFIED IDEOGRAPH
+  {0x886C, 0x5759}, //1375 #CJK UNIFIED IDEOGRAPH
+  {0x886D, 0x5762}, //1376 #CJK UNIFIED IDEOGRAPH
+  {0x886E, 0x5763}, //1377 #CJK UNIFIED IDEOGRAPH
+  {0x886F, 0x5765}, //1378 #CJK UNIFIED IDEOGRAPH
+  {0x8870, 0x5767}, //1379 #CJK UNIFIED IDEOGRAPH
+  {0x8871, 0x576C}, //1380 #CJK UNIFIED IDEOGRAPH
+  {0x8872, 0x576E}, //1381 #CJK UNIFIED IDEOGRAPH
+  {0x8873, 0x5770}, //1382 #CJK UNIFIED IDEOGRAPH
+  {0x8874, 0x5771}, //1383 #CJK UNIFIED IDEOGRAPH
+  {0x8875, 0x5772}, //1384 #CJK UNIFIED IDEOGRAPH
+  {0x8876, 0x5774}, //1385 #CJK UNIFIED IDEOGRAPH
+  {0x8877, 0x5775}, //1386 #CJK UNIFIED IDEOGRAPH
+  {0x8878, 0x5778}, //1387 #CJK UNIFIED IDEOGRAPH
+  {0x8879, 0x5779}, //1388 #CJK UNIFIED IDEOGRAPH
+  {0x887A, 0x577A}, //1389 #CJK UNIFIED IDEOGRAPH
+  {0x887B, 0x577D}, //1390 #CJK UNIFIED IDEOGRAPH
+  {0x887C, 0x577E}, //1391 #CJK UNIFIED IDEOGRAPH
+  {0x887D, 0x577F}, //1392 #CJK UNIFIED IDEOGRAPH
+  {0x887E, 0x5780}, //1393 #CJK UNIFIED IDEOGRAPH
+  {0x8880, 0x5781}, //1394 #CJK UNIFIED IDEOGRAPH
+  {0x8881, 0x5787}, //1395 #CJK UNIFIED IDEOGRAPH
+  {0x8882, 0x5788}, //1396 #CJK UNIFIED IDEOGRAPH
+  {0x8883, 0x5789}, //1397 #CJK UNIFIED IDEOGRAPH
+  {0x8884, 0x578A}, //1398 #CJK UNIFIED IDEOGRAPH
+  {0x8885, 0x578D}, //1399 #CJK UNIFIED IDEOGRAPH
+  {0x8886, 0x578E}, //1400 #CJK UNIFIED IDEOGRAPH
+  {0x8887, 0x578F}, //1401 #CJK UNIFIED IDEOGRAPH
+  {0x8888, 0x5790}, //1402 #CJK UNIFIED IDEOGRAPH
+  {0x8889, 0x5791}, //1403 #CJK UNIFIED IDEOGRAPH
+  {0x888A, 0x5794}, //1404 #CJK UNIFIED IDEOGRAPH
+  {0x888B, 0x5795}, //1405 #CJK UNIFIED IDEOGRAPH
+  {0x888C, 0x5796}, //1406 #CJK UNIFIED IDEOGRAPH
+  {0x888D, 0x5797}, //1407 #CJK UNIFIED IDEOGRAPH
+  {0x888E, 0x5798}, //1408 #CJK UNIFIED IDEOGRAPH
+  {0x888F, 0x5799}, //1409 #CJK UNIFIED IDEOGRAPH
+  {0x8890, 0x579A}, //1410 #CJK UNIFIED IDEOGRAPH
+  {0x8891, 0x579C}, //1411 #CJK UNIFIED IDEOGRAPH
+  {0x8892, 0x579D}, //1412 #CJK UNIFIED IDEOGRAPH
+  {0x8893, 0x579E}, //1413 #CJK UNIFIED IDEOGRAPH
+  {0x8894, 0x579F}, //1414 #CJK UNIFIED IDEOGRAPH
+  {0x8895, 0x57A5}, //1415 #CJK UNIFIED IDEOGRAPH
+  {0x8896, 0x57A8}, //1416 #CJK UNIFIED IDEOGRAPH
+  {0x8897, 0x57AA}, //1417 #CJK UNIFIED IDEOGRAPH
+  {0x8898, 0x57AC}, //1418 #CJK UNIFIED IDEOGRAPH
+  {0x8899, 0x57AF}, //1419 #CJK UNIFIED IDEOGRAPH
+  {0x889A, 0x57B0}, //1420 #CJK UNIFIED IDEOGRAPH
+  {0x889B, 0x57B1}, //1421 #CJK UNIFIED IDEOGRAPH
+  {0x889C, 0x57B3}, //1422 #CJK UNIFIED IDEOGRAPH
+  {0x889D, 0x57B5}, //1423 #CJK UNIFIED IDEOGRAPH
+  {0x889E, 0x57B6}, //1424 #CJK UNIFIED IDEOGRAPH
+  {0x889F, 0x57B7}, //1425 #CJK UNIFIED IDEOGRAPH
+  {0x88A0, 0x57B9}, //1426 #CJK UNIFIED IDEOGRAPH
+  {0x88A1, 0x57BA}, //1427 #CJK UNIFIED IDEOGRAPH
+  {0x88A2, 0x57BB}, //1428 #CJK UNIFIED IDEOGRAPH
+  {0x88A3, 0x57BC}, //1429 #CJK UNIFIED IDEOGRAPH
+  {0x88A4, 0x57BD}, //1430 #CJK UNIFIED IDEOGRAPH
+  {0x88A5, 0x57BE}, //1431 #CJK UNIFIED IDEOGRAPH
+  {0x88A6, 0x57BF}, //1432 #CJK UNIFIED IDEOGRAPH
+  {0x88A7, 0x57C0}, //1433 #CJK UNIFIED IDEOGRAPH
+  {0x88A8, 0x57C1}, //1434 #CJK UNIFIED IDEOGRAPH
+  {0x88A9, 0x57C4}, //1435 #CJK UNIFIED IDEOGRAPH
+  {0x88AA, 0x57C5}, //1436 #CJK UNIFIED IDEOGRAPH
+  {0x88AB, 0x57C6}, //1437 #CJK UNIFIED IDEOGRAPH
+  {0x88AC, 0x57C7}, //1438 #CJK UNIFIED IDEOGRAPH
+  {0x88AD, 0x57C8}, //1439 #CJK UNIFIED IDEOGRAPH
+  {0x88AE, 0x57C9}, //1440 #CJK UNIFIED IDEOGRAPH
+  {0x88AF, 0x57CA}, //1441 #CJK UNIFIED IDEOGRAPH
+  {0x88B0, 0x57CC}, //1442 #CJK UNIFIED IDEOGRAPH
+  {0x88B1, 0x57CD}, //1443 #CJK UNIFIED IDEOGRAPH
+  {0x88B2, 0x57D0}, //1444 #CJK UNIFIED IDEOGRAPH
+  {0x88B3, 0x57D1}, //1445 #CJK UNIFIED IDEOGRAPH
+  {0x88B4, 0x57D3}, //1446 #CJK UNIFIED IDEOGRAPH
+  {0x88B5, 0x57D6}, //1447 #CJK UNIFIED IDEOGRAPH
+  {0x88B6, 0x57D7}, //1448 #CJK UNIFIED IDEOGRAPH
+  {0x88B7, 0x57DB}, //1449 #CJK UNIFIED IDEOGRAPH
+  {0x88B8, 0x57DC}, //1450 #CJK UNIFIED IDEOGRAPH
+  {0x88B9, 0x57DE}, //1451 #CJK UNIFIED IDEOGRAPH
+  {0x88BA, 0x57E1}, //1452 #CJK UNIFIED IDEOGRAPH
+  {0x88BB, 0x57E2}, //1453 #CJK UNIFIED IDEOGRAPH
+  {0x88BC, 0x57E3}, //1454 #CJK UNIFIED IDEOGRAPH
+  {0x88BD, 0x57E5}, //1455 #CJK UNIFIED IDEOGRAPH
+  {0x88BE, 0x57E6}, //1456 #CJK UNIFIED IDEOGRAPH
+  {0x88BF, 0x57E7}, //1457 #CJK UNIFIED IDEOGRAPH
+  {0x88C0, 0x57E8}, //1458 #CJK UNIFIED IDEOGRAPH
+  {0x88C1, 0x57E9}, //1459 #CJK UNIFIED IDEOGRAPH
+  {0x88C2, 0x57EA}, //1460 #CJK UNIFIED IDEOGRAPH
+  {0x88C3, 0x57EB}, //1461 #CJK UNIFIED IDEOGRAPH
+  {0x88C4, 0x57EC}, //1462 #CJK UNIFIED IDEOGRAPH
+  {0x88C5, 0x57EE}, //1463 #CJK UNIFIED IDEOGRAPH
+  {0x88C6, 0x57F0}, //1464 #CJK UNIFIED IDEOGRAPH
+  {0x88C7, 0x57F1}, //1465 #CJK UNIFIED IDEOGRAPH
+  {0x88C8, 0x57F2}, //1466 #CJK UNIFIED IDEOGRAPH
+  {0x88C9, 0x57F3}, //1467 #CJK UNIFIED IDEOGRAPH
+  {0x88CA, 0x57F5}, //1468 #CJK UNIFIED IDEOGRAPH
+  {0x88CB, 0x57F6}, //1469 #CJK UNIFIED IDEOGRAPH
+  {0x88CC, 0x57F7}, //1470 #CJK UNIFIED IDEOGRAPH
+  {0x88CD, 0x57FB}, //1471 #CJK UNIFIED IDEOGRAPH
+  {0x88CE, 0x57FC}, //1472 #CJK UNIFIED IDEOGRAPH
+  {0x88CF, 0x57FE}, //1473 #CJK UNIFIED IDEOGRAPH
+  {0x88D0, 0x57FF}, //1474 #CJK UNIFIED IDEOGRAPH
+  {0x88D1, 0x5801}, //1475 #CJK UNIFIED IDEOGRAPH
+  {0x88D2, 0x5803}, //1476 #CJK UNIFIED IDEOGRAPH
+  {0x88D3, 0x5804}, //1477 #CJK UNIFIED IDEOGRAPH
+  {0x88D4, 0x5805}, //1478 #CJK UNIFIED IDEOGRAPH
+  {0x88D5, 0x5808}, //1479 #CJK UNIFIED IDEOGRAPH
+  {0x88D6, 0x5809}, //1480 #CJK UNIFIED IDEOGRAPH
+  {0x88D7, 0x580A}, //1481 #CJK UNIFIED IDEOGRAPH
+  {0x88D8, 0x580C}, //1482 #CJK UNIFIED IDEOGRAPH
+  {0x88D9, 0x580E}, //1483 #CJK UNIFIED IDEOGRAPH
+  {0x88DA, 0x580F}, //1484 #CJK UNIFIED IDEOGRAPH
+  {0x88DB, 0x5810}, //1485 #CJK UNIFIED IDEOGRAPH
+  {0x88DC, 0x5812}, //1486 #CJK UNIFIED IDEOGRAPH
+  {0x88DD, 0x5813}, //1487 #CJK UNIFIED IDEOGRAPH
+  {0x88DE, 0x5814}, //1488 #CJK UNIFIED IDEOGRAPH
+  {0x88DF, 0x5816}, //1489 #CJK UNIFIED IDEOGRAPH
+  {0x88E0, 0x5817}, //1490 #CJK UNIFIED IDEOGRAPH
+  {0x88E1, 0x5818}, //1491 #CJK UNIFIED IDEOGRAPH
+  {0x88E2, 0x581A}, //1492 #CJK UNIFIED IDEOGRAPH
+  {0x88E3, 0x581B}, //1493 #CJK UNIFIED IDEOGRAPH
+  {0x88E4, 0x581C}, //1494 #CJK UNIFIED IDEOGRAPH
+  {0x88E5, 0x581D}, //1495 #CJK UNIFIED IDEOGRAPH
+  {0x88E6, 0x581F}, //1496 #CJK UNIFIED IDEOGRAPH
+  {0x88E7, 0x5822}, //1497 #CJK UNIFIED IDEOGRAPH
+  {0x88E8, 0x5823}, //1498 #CJK UNIFIED IDEOGRAPH
+  {0x88E9, 0x5825}, //1499 #CJK UNIFIED IDEOGRAPH
+  {0x88EA, 0x5826}, //1500 #CJK UNIFIED IDEOGRAPH
+  {0x88EB, 0x5827}, //1501 #CJK UNIFIED IDEOGRAPH
+  {0x88EC, 0x5828}, //1502 #CJK UNIFIED IDEOGRAPH
+  {0x88ED, 0x5829}, //1503 #CJK UNIFIED IDEOGRAPH
+  {0x88EE, 0x582B}, //1504 #CJK UNIFIED IDEOGRAPH
+  {0x88EF, 0x582C}, //1505 #CJK UNIFIED IDEOGRAPH
+  {0x88F0, 0x582D}, //1506 #CJK UNIFIED IDEOGRAPH
+  {0x88F1, 0x582E}, //1507 #CJK UNIFIED IDEOGRAPH
+  {0x88F2, 0x582F}, //1508 #CJK UNIFIED IDEOGRAPH
+  {0x88F3, 0x5831}, //1509 #CJK UNIFIED IDEOGRAPH
+  {0x88F4, 0x5832}, //1510 #CJK UNIFIED IDEOGRAPH
+  {0x88F5, 0x5833}, //1511 #CJK UNIFIED IDEOGRAPH
+  {0x88F6, 0x5834}, //1512 #CJK UNIFIED IDEOGRAPH
+  {0x88F7, 0x5836}, //1513 #CJK UNIFIED IDEOGRAPH
+  {0x88F8, 0x5837}, //1514 #CJK UNIFIED IDEOGRAPH
+  {0x88F9, 0x5838}, //1515 #CJK UNIFIED IDEOGRAPH
+  {0x88FA, 0x5839}, //1516 #CJK UNIFIED IDEOGRAPH
+  {0x88FB, 0x583A}, //1517 #CJK UNIFIED IDEOGRAPH
+  {0x88FC, 0x583B}, //1518 #CJK UNIFIED IDEOGRAPH
+  {0x88FD, 0x583C}, //1519 #CJK UNIFIED IDEOGRAPH
+  {0x88FE, 0x583D}, //1520 #CJK UNIFIED IDEOGRAPH
+  {0x8940, 0x583E}, //1521 #CJK UNIFIED IDEOGRAPH
+  {0x8941, 0x583F}, //1522 #CJK UNIFIED IDEOGRAPH
+  {0x8942, 0x5840}, //1523 #CJK UNIFIED IDEOGRAPH
+  {0x8943, 0x5841}, //1524 #CJK UNIFIED IDEOGRAPH
+  {0x8944, 0x5842}, //1525 #CJK UNIFIED IDEOGRAPH
+  {0x8945, 0x5843}, //1526 #CJK UNIFIED IDEOGRAPH
+  {0x8946, 0x5845}, //1527 #CJK UNIFIED IDEOGRAPH
+  {0x8947, 0x5846}, //1528 #CJK UNIFIED IDEOGRAPH
+  {0x8948, 0x5847}, //1529 #CJK UNIFIED IDEOGRAPH
+  {0x8949, 0x5848}, //1530 #CJK UNIFIED IDEOGRAPH
+  {0x894A, 0x5849}, //1531 #CJK UNIFIED IDEOGRAPH
+  {0x894B, 0x584A}, //1532 #CJK UNIFIED IDEOGRAPH
+  {0x894C, 0x584B}, //1533 #CJK UNIFIED IDEOGRAPH
+  {0x894D, 0x584E}, //1534 #CJK UNIFIED IDEOGRAPH
+  {0x894E, 0x584F}, //1535 #CJK UNIFIED IDEOGRAPH
+  {0x894F, 0x5850}, //1536 #CJK UNIFIED IDEOGRAPH
+  {0x8950, 0x5852}, //1537 #CJK UNIFIED IDEOGRAPH
+  {0x8951, 0x5853}, //1538 #CJK UNIFIED IDEOGRAPH
+  {0x8952, 0x5855}, //1539 #CJK UNIFIED IDEOGRAPH
+  {0x8953, 0x5856}, //1540 #CJK UNIFIED IDEOGRAPH
+  {0x8954, 0x5857}, //1541 #CJK UNIFIED IDEOGRAPH
+  {0x8955, 0x5859}, //1542 #CJK UNIFIED IDEOGRAPH
+  {0x8956, 0x585A}, //1543 #CJK UNIFIED IDEOGRAPH
+  {0x8957, 0x585B}, //1544 #CJK UNIFIED IDEOGRAPH
+  {0x8958, 0x585C}, //1545 #CJK UNIFIED IDEOGRAPH
+  {0x8959, 0x585D}, //1546 #CJK UNIFIED IDEOGRAPH
+  {0x895A, 0x585F}, //1547 #CJK UNIFIED IDEOGRAPH
+  {0x895B, 0x5860}, //1548 #CJK UNIFIED IDEOGRAPH
+  {0x895C, 0x5861}, //1549 #CJK UNIFIED IDEOGRAPH
+  {0x895D, 0x5862}, //1550 #CJK UNIFIED IDEOGRAPH
+  {0x895E, 0x5863}, //1551 #CJK UNIFIED IDEOGRAPH
+  {0x895F, 0x5864}, //1552 #CJK UNIFIED IDEOGRAPH
+  {0x8960, 0x5866}, //1553 #CJK UNIFIED IDEOGRAPH
+  {0x8961, 0x5867}, //1554 #CJK UNIFIED IDEOGRAPH
+  {0x8962, 0x5868}, //1555 #CJK UNIFIED IDEOGRAPH
+  {0x8963, 0x5869}, //1556 #CJK UNIFIED IDEOGRAPH
+  {0x8964, 0x586A}, //1557 #CJK UNIFIED IDEOGRAPH
+  {0x8965, 0x586D}, //1558 #CJK UNIFIED IDEOGRAPH
+  {0x8966, 0x586E}, //1559 #CJK UNIFIED IDEOGRAPH
+  {0x8967, 0x586F}, //1560 #CJK UNIFIED IDEOGRAPH
+  {0x8968, 0x5870}, //1561 #CJK UNIFIED IDEOGRAPH
+  {0x8969, 0x5871}, //1562 #CJK UNIFIED IDEOGRAPH
+  {0x896A, 0x5872}, //1563 #CJK UNIFIED IDEOGRAPH
+  {0x896B, 0x5873}, //1564 #CJK UNIFIED IDEOGRAPH
+  {0x896C, 0x5874}, //1565 #CJK UNIFIED IDEOGRAPH
+  {0x896D, 0x5875}, //1566 #CJK UNIFIED IDEOGRAPH
+  {0x896E, 0x5876}, //1567 #CJK UNIFIED IDEOGRAPH
+  {0x896F, 0x5877}, //1568 #CJK UNIFIED IDEOGRAPH
+  {0x8970, 0x5878}, //1569 #CJK UNIFIED IDEOGRAPH
+  {0x8971, 0x5879}, //1570 #CJK UNIFIED IDEOGRAPH
+  {0x8972, 0x587A}, //1571 #CJK UNIFIED IDEOGRAPH
+  {0x8973, 0x587B}, //1572 #CJK UNIFIED IDEOGRAPH
+  {0x8974, 0x587C}, //1573 #CJK UNIFIED IDEOGRAPH
+  {0x8975, 0x587D}, //1574 #CJK UNIFIED IDEOGRAPH
+  {0x8976, 0x587F}, //1575 #CJK UNIFIED IDEOGRAPH
+  {0x8977, 0x5882}, //1576 #CJK UNIFIED IDEOGRAPH
+  {0x8978, 0x5884}, //1577 #CJK UNIFIED IDEOGRAPH
+  {0x8979, 0x5886}, //1578 #CJK UNIFIED IDEOGRAPH
+  {0x897A, 0x5887}, //1579 #CJK UNIFIED IDEOGRAPH
+  {0x897B, 0x5888}, //1580 #CJK UNIFIED IDEOGRAPH
+  {0x897C, 0x588A}, //1581 #CJK UNIFIED IDEOGRAPH
+  {0x897D, 0x588B}, //1582 #CJK UNIFIED IDEOGRAPH
+  {0x897E, 0x588C}, //1583 #CJK UNIFIED IDEOGRAPH
+  {0x8980, 0x588D}, //1584 #CJK UNIFIED IDEOGRAPH
+  {0x8981, 0x588E}, //1585 #CJK UNIFIED IDEOGRAPH
+  {0x8982, 0x588F}, //1586 #CJK UNIFIED IDEOGRAPH
+  {0x8983, 0x5890}, //1587 #CJK UNIFIED IDEOGRAPH
+  {0x8984, 0x5891}, //1588 #CJK UNIFIED IDEOGRAPH
+  {0x8985, 0x5894}, //1589 #CJK UNIFIED IDEOGRAPH
+  {0x8986, 0x5895}, //1590 #CJK UNIFIED IDEOGRAPH
+  {0x8987, 0x5896}, //1591 #CJK UNIFIED IDEOGRAPH
+  {0x8988, 0x5897}, //1592 #CJK UNIFIED IDEOGRAPH
+  {0x8989, 0x5898}, //1593 #CJK UNIFIED IDEOGRAPH
+  {0x898A, 0x589B}, //1594 #CJK UNIFIED IDEOGRAPH
+  {0x898B, 0x589C}, //1595 #CJK UNIFIED IDEOGRAPH
+  {0x898C, 0x589D}, //1596 #CJK UNIFIED IDEOGRAPH
+  {0x898D, 0x58A0}, //1597 #CJK UNIFIED IDEOGRAPH
+  {0x898E, 0x58A1}, //1598 #CJK UNIFIED IDEOGRAPH
+  {0x898F, 0x58A2}, //1599 #CJK UNIFIED IDEOGRAPH
+  {0x8990, 0x58A3}, //1600 #CJK UNIFIED IDEOGRAPH
+  {0x8991, 0x58A4}, //1601 #CJK UNIFIED IDEOGRAPH
+  {0x8992, 0x58A5}, //1602 #CJK UNIFIED IDEOGRAPH
+  {0x8993, 0x58A6}, //1603 #CJK UNIFIED IDEOGRAPH
+  {0x8994, 0x58A7}, //1604 #CJK UNIFIED IDEOGRAPH
+  {0x8995, 0x58AA}, //1605 #CJK UNIFIED IDEOGRAPH
+  {0x8996, 0x58AB}, //1606 #CJK UNIFIED IDEOGRAPH
+  {0x8997, 0x58AC}, //1607 #CJK UNIFIED IDEOGRAPH
+  {0x8998, 0x58AD}, //1608 #CJK UNIFIED IDEOGRAPH
+  {0x8999, 0x58AE}, //1609 #CJK UNIFIED IDEOGRAPH
+  {0x899A, 0x58AF}, //1610 #CJK UNIFIED IDEOGRAPH
+  {0x899B, 0x58B0}, //1611 #CJK UNIFIED IDEOGRAPH
+  {0x899C, 0x58B1}, //1612 #CJK UNIFIED IDEOGRAPH
+  {0x899D, 0x58B2}, //1613 #CJK UNIFIED IDEOGRAPH
+  {0x899E, 0x58B3}, //1614 #CJK UNIFIED IDEOGRAPH
+  {0x899F, 0x58B4}, //1615 #CJK UNIFIED IDEOGRAPH
+  {0x89A0, 0x58B5}, //1616 #CJK UNIFIED IDEOGRAPH
+  {0x89A1, 0x58B6}, //1617 #CJK UNIFIED IDEOGRAPH
+  {0x89A2, 0x58B7}, //1618 #CJK UNIFIED IDEOGRAPH
+  {0x89A3, 0x58B8}, //1619 #CJK UNIFIED IDEOGRAPH
+  {0x89A4, 0x58B9}, //1620 #CJK UNIFIED IDEOGRAPH
+  {0x89A5, 0x58BA}, //1621 #CJK UNIFIED IDEOGRAPH
+  {0x89A6, 0x58BB}, //1622 #CJK UNIFIED IDEOGRAPH
+  {0x89A7, 0x58BD}, //1623 #CJK UNIFIED IDEOGRAPH
+  {0x89A8, 0x58BE}, //1624 #CJK UNIFIED IDEOGRAPH
+  {0x89A9, 0x58BF}, //1625 #CJK UNIFIED IDEOGRAPH
+  {0x89AA, 0x58C0}, //1626 #CJK UNIFIED IDEOGRAPH
+  {0x89AB, 0x58C2}, //1627 #CJK UNIFIED IDEOGRAPH
+  {0x89AC, 0x58C3}, //1628 #CJK UNIFIED IDEOGRAPH
+  {0x89AD, 0x58C4}, //1629 #CJK UNIFIED IDEOGRAPH
+  {0x89AE, 0x58C6}, //1630 #CJK UNIFIED IDEOGRAPH
+  {0x89AF, 0x58C7}, //1631 #CJK UNIFIED IDEOGRAPH
+  {0x89B0, 0x58C8}, //1632 #CJK UNIFIED IDEOGRAPH
+  {0x89B1, 0x58C9}, //1633 #CJK UNIFIED IDEOGRAPH
+  {0x89B2, 0x58CA}, //1634 #CJK UNIFIED IDEOGRAPH
+  {0x89B3, 0x58CB}, //1635 #CJK UNIFIED IDEOGRAPH
+  {0x89B4, 0x58CC}, //1636 #CJK UNIFIED IDEOGRAPH
+  {0x89B5, 0x58CD}, //1637 #CJK UNIFIED IDEOGRAPH
+  {0x89B6, 0x58CE}, //1638 #CJK UNIFIED IDEOGRAPH
+  {0x89B7, 0x58CF}, //1639 #CJK UNIFIED IDEOGRAPH
+  {0x89B8, 0x58D0}, //1640 #CJK UNIFIED IDEOGRAPH
+  {0x89B9, 0x58D2}, //1641 #CJK UNIFIED IDEOGRAPH
+  {0x89BA, 0x58D3}, //1642 #CJK UNIFIED IDEOGRAPH
+  {0x89BB, 0x58D4}, //1643 #CJK UNIFIED IDEOGRAPH
+  {0x89BC, 0x58D6}, //1644 #CJK UNIFIED IDEOGRAPH
+  {0x89BD, 0x58D7}, //1645 #CJK UNIFIED IDEOGRAPH
+  {0x89BE, 0x58D8}, //1646 #CJK UNIFIED IDEOGRAPH
+  {0x89BF, 0x58D9}, //1647 #CJK UNIFIED IDEOGRAPH
+  {0x89C0, 0x58DA}, //1648 #CJK UNIFIED IDEOGRAPH
+  {0x89C1, 0x58DB}, //1649 #CJK UNIFIED IDEOGRAPH
+  {0x89C2, 0x58DC}, //1650 #CJK UNIFIED IDEOGRAPH
+  {0x89C3, 0x58DD}, //1651 #CJK UNIFIED IDEOGRAPH
+  {0x89C4, 0x58DE}, //1652 #CJK UNIFIED IDEOGRAPH
+  {0x89C5, 0x58DF}, //1653 #CJK UNIFIED IDEOGRAPH
+  {0x89C6, 0x58E0}, //1654 #CJK UNIFIED IDEOGRAPH
+  {0x89C7, 0x58E1}, //1655 #CJK UNIFIED IDEOGRAPH
+  {0x89C8, 0x58E2}, //1656 #CJK UNIFIED IDEOGRAPH
+  {0x89C9, 0x58E3}, //1657 #CJK UNIFIED IDEOGRAPH
+  {0x89CA, 0x58E5}, //1658 #CJK UNIFIED IDEOGRAPH
+  {0x89CB, 0x58E6}, //1659 #CJK UNIFIED IDEOGRAPH
+  {0x89CC, 0x58E7}, //1660 #CJK UNIFIED IDEOGRAPH
+  {0x89CD, 0x58E8}, //1661 #CJK UNIFIED IDEOGRAPH
+  {0x89CE, 0x58E9}, //1662 #CJK UNIFIED IDEOGRAPH
+  {0x89CF, 0x58EA}, //1663 #CJK UNIFIED IDEOGRAPH
+  {0x89D0, 0x58ED}, //1664 #CJK UNIFIED IDEOGRAPH
+  {0x89D1, 0x58EF}, //1665 #CJK UNIFIED IDEOGRAPH
+  {0x89D2, 0x58F1}, //1666 #CJK UNIFIED IDEOGRAPH
+  {0x89D3, 0x58F2}, //1667 #CJK UNIFIED IDEOGRAPH
+  {0x89D4, 0x58F4}, //1668 #CJK UNIFIED IDEOGRAPH
+  {0x89D5, 0x58F5}, //1669 #CJK UNIFIED IDEOGRAPH
+  {0x89D6, 0x58F7}, //1670 #CJK UNIFIED IDEOGRAPH
+  {0x89D7, 0x58F8}, //1671 #CJK UNIFIED IDEOGRAPH
+  {0x89D8, 0x58FA}, //1672 #CJK UNIFIED IDEOGRAPH
+  {0x89D9, 0x58FB}, //1673 #CJK UNIFIED IDEOGRAPH
+  {0x89DA, 0x58FC}, //1674 #CJK UNIFIED IDEOGRAPH
+  {0x89DB, 0x58FD}, //1675 #CJK UNIFIED IDEOGRAPH
+  {0x89DC, 0x58FE}, //1676 #CJK UNIFIED IDEOGRAPH
+  {0x89DD, 0x58FF}, //1677 #CJK UNIFIED IDEOGRAPH
+  {0x89DE, 0x5900}, //1678 #CJK UNIFIED IDEOGRAPH
+  {0x89DF, 0x5901}, //1679 #CJK UNIFIED IDEOGRAPH
+  {0x89E0, 0x5903}, //1680 #CJK UNIFIED IDEOGRAPH
+  {0x89E1, 0x5905}, //1681 #CJK UNIFIED IDEOGRAPH
+  {0x89E2, 0x5906}, //1682 #CJK UNIFIED IDEOGRAPH
+  {0x89E3, 0x5908}, //1683 #CJK UNIFIED IDEOGRAPH
+  {0x89E4, 0x5909}, //1684 #CJK UNIFIED IDEOGRAPH
+  {0x89E5, 0x590A}, //1685 #CJK UNIFIED IDEOGRAPH
+  {0x89E6, 0x590B}, //1686 #CJK UNIFIED IDEOGRAPH
+  {0x89E7, 0x590C}, //1687 #CJK UNIFIED IDEOGRAPH
+  {0x89E8, 0x590E}, //1688 #CJK UNIFIED IDEOGRAPH
+  {0x89E9, 0x5910}, //1689 #CJK UNIFIED IDEOGRAPH
+  {0x89EA, 0x5911}, //1690 #CJK UNIFIED IDEOGRAPH
+  {0x89EB, 0x5912}, //1691 #CJK UNIFIED IDEOGRAPH
+  {0x89EC, 0x5913}, //1692 #CJK UNIFIED IDEOGRAPH
+  {0x89ED, 0x5917}, //1693 #CJK UNIFIED IDEOGRAPH
+  {0x89EE, 0x5918}, //1694 #CJK UNIFIED IDEOGRAPH
+  {0x89EF, 0x591B}, //1695 #CJK UNIFIED IDEOGRAPH
+  {0x89F0, 0x591D}, //1696 #CJK UNIFIED IDEOGRAPH
+  {0x89F1, 0x591E}, //1697 #CJK UNIFIED IDEOGRAPH
+  {0x89F2, 0x5920}, //1698 #CJK UNIFIED IDEOGRAPH
+  {0x89F3, 0x5921}, //1699 #CJK UNIFIED IDEOGRAPH
+  {0x89F4, 0x5922}, //1700 #CJK UNIFIED IDEOGRAPH
+  {0x89F5, 0x5923}, //1701 #CJK UNIFIED IDEOGRAPH
+  {0x89F6, 0x5926}, //1702 #CJK UNIFIED IDEOGRAPH
+  {0x89F7, 0x5928}, //1703 #CJK UNIFIED IDEOGRAPH
+  {0x89F8, 0x592C}, //1704 #CJK UNIFIED IDEOGRAPH
+  {0x89F9, 0x5930}, //1705 #CJK UNIFIED IDEOGRAPH
+  {0x89FA, 0x5932}, //1706 #CJK UNIFIED IDEOGRAPH
+  {0x89FB, 0x5933}, //1707 #CJK UNIFIED IDEOGRAPH
+  {0x89FC, 0x5935}, //1708 #CJK UNIFIED IDEOGRAPH
+  {0x89FD, 0x5936}, //1709 #CJK UNIFIED IDEOGRAPH
+  {0x89FE, 0x593B}, //1710 #CJK UNIFIED IDEOGRAPH
+  {0x8A40, 0x593D}, //1711 #CJK UNIFIED IDEOGRAPH
+  {0x8A41, 0x593E}, //1712 #CJK UNIFIED IDEOGRAPH
+  {0x8A42, 0x593F}, //1713 #CJK UNIFIED IDEOGRAPH
+  {0x8A43, 0x5940}, //1714 #CJK UNIFIED IDEOGRAPH
+  {0x8A44, 0x5943}, //1715 #CJK UNIFIED IDEOGRAPH
+  {0x8A45, 0x5945}, //1716 #CJK UNIFIED IDEOGRAPH
+  {0x8A46, 0x5946}, //1717 #CJK UNIFIED IDEOGRAPH
+  {0x8A47, 0x594A}, //1718 #CJK UNIFIED IDEOGRAPH
+  {0x8A48, 0x594C}, //1719 #CJK UNIFIED IDEOGRAPH
+  {0x8A49, 0x594D}, //1720 #CJK UNIFIED IDEOGRAPH
+  {0x8A4A, 0x5950}, //1721 #CJK UNIFIED IDEOGRAPH
+  {0x8A4B, 0x5952}, //1722 #CJK UNIFIED IDEOGRAPH
+  {0x8A4C, 0x5953}, //1723 #CJK UNIFIED IDEOGRAPH
+  {0x8A4D, 0x5959}, //1724 #CJK UNIFIED IDEOGRAPH
+  {0x8A4E, 0x595B}, //1725 #CJK UNIFIED IDEOGRAPH
+  {0x8A4F, 0x595C}, //1726 #CJK UNIFIED IDEOGRAPH
+  {0x8A50, 0x595D}, //1727 #CJK UNIFIED IDEOGRAPH
+  {0x8A51, 0x595E}, //1728 #CJK UNIFIED IDEOGRAPH
+  {0x8A52, 0x595F}, //1729 #CJK UNIFIED IDEOGRAPH
+  {0x8A53, 0x5961}, //1730 #CJK UNIFIED IDEOGRAPH
+  {0x8A54, 0x5963}, //1731 #CJK UNIFIED IDEOGRAPH
+  {0x8A55, 0x5964}, //1732 #CJK UNIFIED IDEOGRAPH
+  {0x8A56, 0x5966}, //1733 #CJK UNIFIED IDEOGRAPH
+  {0x8A57, 0x5967}, //1734 #CJK UNIFIED IDEOGRAPH
+  {0x8A58, 0x5968}, //1735 #CJK UNIFIED IDEOGRAPH
+  {0x8A59, 0x5969}, //1736 #CJK UNIFIED IDEOGRAPH
+  {0x8A5A, 0x596A}, //1737 #CJK UNIFIED IDEOGRAPH
+  {0x8A5B, 0x596B}, //1738 #CJK UNIFIED IDEOGRAPH
+  {0x8A5C, 0x596C}, //1739 #CJK UNIFIED IDEOGRAPH
+  {0x8A5D, 0x596D}, //1740 #CJK UNIFIED IDEOGRAPH
+  {0x8A5E, 0x596E}, //1741 #CJK UNIFIED IDEOGRAPH
+  {0x8A5F, 0x596F}, //1742 #CJK UNIFIED IDEOGRAPH
+  {0x8A60, 0x5970}, //1743 #CJK UNIFIED IDEOGRAPH
+  {0x8A61, 0x5971}, //1744 #CJK UNIFIED IDEOGRAPH
+  {0x8A62, 0x5972}, //1745 #CJK UNIFIED IDEOGRAPH
+  {0x8A63, 0x5975}, //1746 #CJK UNIFIED IDEOGRAPH
+  {0x8A64, 0x5977}, //1747 #CJK UNIFIED IDEOGRAPH
+  {0x8A65, 0x597A}, //1748 #CJK UNIFIED IDEOGRAPH
+  {0x8A66, 0x597B}, //1749 #CJK UNIFIED IDEOGRAPH
+  {0x8A67, 0x597C}, //1750 #CJK UNIFIED IDEOGRAPH
+  {0x8A68, 0x597E}, //1751 #CJK UNIFIED IDEOGRAPH
+  {0x8A69, 0x597F}, //1752 #CJK UNIFIED IDEOGRAPH
+  {0x8A6A, 0x5980}, //1753 #CJK UNIFIED IDEOGRAPH
+  {0x8A6B, 0x5985}, //1754 #CJK UNIFIED IDEOGRAPH
+  {0x8A6C, 0x5989}, //1755 #CJK UNIFIED IDEOGRAPH
+  {0x8A6D, 0x598B}, //1756 #CJK UNIFIED IDEOGRAPH
+  {0x8A6E, 0x598C}, //1757 #CJK UNIFIED IDEOGRAPH
+  {0x8A6F, 0x598E}, //1758 #CJK UNIFIED IDEOGRAPH
+  {0x8A70, 0x598F}, //1759 #CJK UNIFIED IDEOGRAPH
+  {0x8A71, 0x5990}, //1760 #CJK UNIFIED IDEOGRAPH
+  {0x8A72, 0x5991}, //1761 #CJK UNIFIED IDEOGRAPH
+  {0x8A73, 0x5994}, //1762 #CJK UNIFIED IDEOGRAPH
+  {0x8A74, 0x5995}, //1763 #CJK UNIFIED IDEOGRAPH
+  {0x8A75, 0x5998}, //1764 #CJK UNIFIED IDEOGRAPH
+  {0x8A76, 0x599A}, //1765 #CJK UNIFIED IDEOGRAPH
+  {0x8A77, 0x599B}, //1766 #CJK UNIFIED IDEOGRAPH
+  {0x8A78, 0x599C}, //1767 #CJK UNIFIED IDEOGRAPH
+  {0x8A79, 0x599D}, //1768 #CJK UNIFIED IDEOGRAPH
+  {0x8A7A, 0x599F}, //1769 #CJK UNIFIED IDEOGRAPH
+  {0x8A7B, 0x59A0}, //1770 #CJK UNIFIED IDEOGRAPH
+  {0x8A7C, 0x59A1}, //1771 #CJK UNIFIED IDEOGRAPH
+  {0x8A7D, 0x59A2}, //1772 #CJK UNIFIED IDEOGRAPH
+  {0x8A7E, 0x59A6}, //1773 #CJK UNIFIED IDEOGRAPH
+  {0x8A80, 0x59A7}, //1774 #CJK UNIFIED IDEOGRAPH
+  {0x8A81, 0x59AC}, //1775 #CJK UNIFIED IDEOGRAPH
+  {0x8A82, 0x59AD}, //1776 #CJK UNIFIED IDEOGRAPH
+  {0x8A83, 0x59B0}, //1777 #CJK UNIFIED IDEOGRAPH
+  {0x8A84, 0x59B1}, //1778 #CJK UNIFIED IDEOGRAPH
+  {0x8A85, 0x59B3}, //1779 #CJK UNIFIED IDEOGRAPH
+  {0x8A86, 0x59B4}, //1780 #CJK UNIFIED IDEOGRAPH
+  {0x8A87, 0x59B5}, //1781 #CJK UNIFIED IDEOGRAPH
+  {0x8A88, 0x59B6}, //1782 #CJK UNIFIED IDEOGRAPH
+  {0x8A89, 0x59B7}, //1783 #CJK UNIFIED IDEOGRAPH
+  {0x8A8A, 0x59B8}, //1784 #CJK UNIFIED IDEOGRAPH
+  {0x8A8B, 0x59BA}, //1785 #CJK UNIFIED IDEOGRAPH
+  {0x8A8C, 0x59BC}, //1786 #CJK UNIFIED IDEOGRAPH
+  {0x8A8D, 0x59BD}, //1787 #CJK UNIFIED IDEOGRAPH
+  {0x8A8E, 0x59BF}, //1788 #CJK UNIFIED IDEOGRAPH
+  {0x8A8F, 0x59C0}, //1789 #CJK UNIFIED IDEOGRAPH
+  {0x8A90, 0x59C1}, //1790 #CJK UNIFIED IDEOGRAPH
+  {0x8A91, 0x59C2}, //1791 #CJK UNIFIED IDEOGRAPH
+  {0x8A92, 0x59C3}, //1792 #CJK UNIFIED IDEOGRAPH
+  {0x8A93, 0x59C4}, //1793 #CJK UNIFIED IDEOGRAPH
+  {0x8A94, 0x59C5}, //1794 #CJK UNIFIED IDEOGRAPH
+  {0x8A95, 0x59C7}, //1795 #CJK UNIFIED IDEOGRAPH
+  {0x8A96, 0x59C8}, //1796 #CJK UNIFIED IDEOGRAPH
+  {0x8A97, 0x59C9}, //1797 #CJK UNIFIED IDEOGRAPH
+  {0x8A98, 0x59CC}, //1798 #CJK UNIFIED IDEOGRAPH
+  {0x8A99, 0x59CD}, //1799 #CJK UNIFIED IDEOGRAPH
+  {0x8A9A, 0x59CE}, //1800 #CJK UNIFIED IDEOGRAPH
+  {0x8A9B, 0x59CF}, //1801 #CJK UNIFIED IDEOGRAPH
+  {0x8A9C, 0x59D5}, //1802 #CJK UNIFIED IDEOGRAPH
+  {0x8A9D, 0x59D6}, //1803 #CJK UNIFIED IDEOGRAPH
+  {0x8A9E, 0x59D9}, //1804 #CJK UNIFIED IDEOGRAPH
+  {0x8A9F, 0x59DB}, //1805 #CJK UNIFIED IDEOGRAPH
+  {0x8AA0, 0x59DE}, //1806 #CJK UNIFIED IDEOGRAPH
+  {0x8AA1, 0x59DF}, //1807 #CJK UNIFIED IDEOGRAPH
+  {0x8AA2, 0x59E0}, //1808 #CJK UNIFIED IDEOGRAPH
+  {0x8AA3, 0x59E1}, //1809 #CJK UNIFIED IDEOGRAPH
+  {0x8AA4, 0x59E2}, //1810 #CJK UNIFIED IDEOGRAPH
+  {0x8AA5, 0x59E4}, //1811 #CJK UNIFIED IDEOGRAPH
+  {0x8AA6, 0x59E6}, //1812 #CJK UNIFIED IDEOGRAPH
+  {0x8AA7, 0x59E7}, //1813 #CJK UNIFIED IDEOGRAPH
+  {0x8AA8, 0x59E9}, //1814 #CJK UNIFIED IDEOGRAPH
+  {0x8AA9, 0x59EA}, //1815 #CJK UNIFIED IDEOGRAPH
+  {0x8AAA, 0x59EB}, //1816 #CJK UNIFIED IDEOGRAPH
+  {0x8AAB, 0x59ED}, //1817 #CJK UNIFIED IDEOGRAPH
+  {0x8AAC, 0x59EE}, //1818 #CJK UNIFIED IDEOGRAPH
+  {0x8AAD, 0x59EF}, //1819 #CJK UNIFIED IDEOGRAPH
+  {0x8AAE, 0x59F0}, //1820 #CJK UNIFIED IDEOGRAPH
+  {0x8AAF, 0x59F1}, //1821 #CJK UNIFIED IDEOGRAPH
+  {0x8AB0, 0x59F2}, //1822 #CJK UNIFIED IDEOGRAPH
+  {0x8AB1, 0x59F3}, //1823 #CJK UNIFIED IDEOGRAPH
+  {0x8AB2, 0x59F4}, //1824 #CJK UNIFIED IDEOGRAPH
+  {0x8AB3, 0x59F5}, //1825 #CJK UNIFIED IDEOGRAPH
+  {0x8AB4, 0x59F6}, //1826 #CJK UNIFIED IDEOGRAPH
+  {0x8AB5, 0x59F7}, //1827 #CJK UNIFIED IDEOGRAPH
+  {0x8AB6, 0x59F8}, //1828 #CJK UNIFIED IDEOGRAPH
+  {0x8AB7, 0x59FA}, //1829 #CJK UNIFIED IDEOGRAPH
+  {0x8AB8, 0x59FC}, //1830 #CJK UNIFIED IDEOGRAPH
+  {0x8AB9, 0x59FD}, //1831 #CJK UNIFIED IDEOGRAPH
+  {0x8ABA, 0x59FE}, //1832 #CJK UNIFIED IDEOGRAPH
+  {0x8ABB, 0x5A00}, //1833 #CJK UNIFIED IDEOGRAPH
+  {0x8ABC, 0x5A02}, //1834 #CJK UNIFIED IDEOGRAPH
+  {0x8ABD, 0x5A0A}, //1835 #CJK UNIFIED IDEOGRAPH
+  {0x8ABE, 0x5A0B}, //1836 #CJK UNIFIED IDEOGRAPH
+  {0x8ABF, 0x5A0D}, //1837 #CJK UNIFIED IDEOGRAPH
+  {0x8AC0, 0x5A0E}, //1838 #CJK UNIFIED IDEOGRAPH
+  {0x8AC1, 0x5A0F}, //1839 #CJK UNIFIED IDEOGRAPH
+  {0x8AC2, 0x5A10}, //1840 #CJK UNIFIED IDEOGRAPH
+  {0x8AC3, 0x5A12}, //1841 #CJK UNIFIED IDEOGRAPH
+  {0x8AC4, 0x5A14}, //1842 #CJK UNIFIED IDEOGRAPH
+  {0x8AC5, 0x5A15}, //1843 #CJK UNIFIED IDEOGRAPH
+  {0x8AC6, 0x5A16}, //1844 #CJK UNIFIED IDEOGRAPH
+  {0x8AC7, 0x5A17}, //1845 #CJK UNIFIED IDEOGRAPH
+  {0x8AC8, 0x5A19}, //1846 #CJK UNIFIED IDEOGRAPH
+  {0x8AC9, 0x5A1A}, //1847 #CJK UNIFIED IDEOGRAPH
+  {0x8ACA, 0x5A1B}, //1848 #CJK UNIFIED IDEOGRAPH
+  {0x8ACB, 0x5A1D}, //1849 #CJK UNIFIED IDEOGRAPH
+  {0x8ACC, 0x5A1E}, //1850 #CJK UNIFIED IDEOGRAPH
+  {0x8ACD, 0x5A21}, //1851 #CJK UNIFIED IDEOGRAPH
+  {0x8ACE, 0x5A22}, //1852 #CJK UNIFIED IDEOGRAPH
+  {0x8ACF, 0x5A24}, //1853 #CJK UNIFIED IDEOGRAPH
+  {0x8AD0, 0x5A26}, //1854 #CJK UNIFIED IDEOGRAPH
+  {0x8AD1, 0x5A27}, //1855 #CJK UNIFIED IDEOGRAPH
+  {0x8AD2, 0x5A28}, //1856 #CJK UNIFIED IDEOGRAPH
+  {0x8AD3, 0x5A2A}, //1857 #CJK UNIFIED IDEOGRAPH
+  {0x8AD4, 0x5A2B}, //1858 #CJK UNIFIED IDEOGRAPH
+  {0x8AD5, 0x5A2C}, //1859 #CJK UNIFIED IDEOGRAPH
+  {0x8AD6, 0x5A2D}, //1860 #CJK UNIFIED IDEOGRAPH
+  {0x8AD7, 0x5A2E}, //1861 #CJK UNIFIED IDEOGRAPH
+  {0x8AD8, 0x5A2F}, //1862 #CJK UNIFIED IDEOGRAPH
+  {0x8AD9, 0x5A30}, //1863 #CJK UNIFIED IDEOGRAPH
+  {0x8ADA, 0x5A33}, //1864 #CJK UNIFIED IDEOGRAPH
+  {0x8ADB, 0x5A35}, //1865 #CJK UNIFIED IDEOGRAPH
+  {0x8ADC, 0x5A37}, //1866 #CJK UNIFIED IDEOGRAPH
+  {0x8ADD, 0x5A38}, //1867 #CJK UNIFIED IDEOGRAPH
+  {0x8ADE, 0x5A39}, //1868 #CJK UNIFIED IDEOGRAPH
+  {0x8ADF, 0x5A3A}, //1869 #CJK UNIFIED IDEOGRAPH
+  {0x8AE0, 0x5A3B}, //1870 #CJK UNIFIED IDEOGRAPH
+  {0x8AE1, 0x5A3D}, //1871 #CJK UNIFIED IDEOGRAPH
+  {0x8AE2, 0x5A3E}, //1872 #CJK UNIFIED IDEOGRAPH
+  {0x8AE3, 0x5A3F}, //1873 #CJK UNIFIED IDEOGRAPH
+  {0x8AE4, 0x5A41}, //1874 #CJK UNIFIED IDEOGRAPH
+  {0x8AE5, 0x5A42}, //1875 #CJK UNIFIED IDEOGRAPH
+  {0x8AE6, 0x5A43}, //1876 #CJK UNIFIED IDEOGRAPH
+  {0x8AE7, 0x5A44}, //1877 #CJK UNIFIED IDEOGRAPH
+  {0x8AE8, 0x5A45}, //1878 #CJK UNIFIED IDEOGRAPH
+  {0x8AE9, 0x5A47}, //1879 #CJK UNIFIED IDEOGRAPH
+  {0x8AEA, 0x5A48}, //1880 #CJK UNIFIED IDEOGRAPH
+  {0x8AEB, 0x5A4B}, //1881 #CJK UNIFIED IDEOGRAPH
+  {0x8AEC, 0x5A4C}, //1882 #CJK UNIFIED IDEOGRAPH
+  {0x8AED, 0x5A4D}, //1883 #CJK UNIFIED IDEOGRAPH
+  {0x8AEE, 0x5A4E}, //1884 #CJK UNIFIED IDEOGRAPH
+  {0x8AEF, 0x5A4F}, //1885 #CJK UNIFIED IDEOGRAPH
+  {0x8AF0, 0x5A50}, //1886 #CJK UNIFIED IDEOGRAPH
+  {0x8AF1, 0x5A51}, //1887 #CJK UNIFIED IDEOGRAPH
+  {0x8AF2, 0x5A52}, //1888 #CJK UNIFIED IDEOGRAPH
+  {0x8AF3, 0x5A53}, //1889 #CJK UNIFIED IDEOGRAPH
+  {0x8AF4, 0x5A54}, //1890 #CJK UNIFIED IDEOGRAPH
+  {0x8AF5, 0x5A56}, //1891 #CJK UNIFIED IDEOGRAPH
+  {0x8AF6, 0x5A57}, //1892 #CJK UNIFIED IDEOGRAPH
+  {0x8AF7, 0x5A58}, //1893 #CJK UNIFIED IDEOGRAPH
+  {0x8AF8, 0x5A59}, //1894 #CJK UNIFIED IDEOGRAPH
+  {0x8AF9, 0x5A5B}, //1895 #CJK UNIFIED IDEOGRAPH
+  {0x8AFA, 0x5A5C}, //1896 #CJK UNIFIED IDEOGRAPH
+  {0x8AFB, 0x5A5D}, //1897 #CJK UNIFIED IDEOGRAPH
+  {0x8AFC, 0x5A5E}, //1898 #CJK UNIFIED IDEOGRAPH
+  {0x8AFD, 0x5A5F}, //1899 #CJK UNIFIED IDEOGRAPH
+  {0x8AFE, 0x5A60}, //1900 #CJK UNIFIED IDEOGRAPH
+  {0x8B40, 0x5A61}, //1901 #CJK UNIFIED IDEOGRAPH
+  {0x8B41, 0x5A63}, //1902 #CJK UNIFIED IDEOGRAPH
+  {0x8B42, 0x5A64}, //1903 #CJK UNIFIED IDEOGRAPH
+  {0x8B43, 0x5A65}, //1904 #CJK UNIFIED IDEOGRAPH
+  {0x8B44, 0x5A66}, //1905 #CJK UNIFIED IDEOGRAPH
+  {0x8B45, 0x5A68}, //1906 #CJK UNIFIED IDEOGRAPH
+  {0x8B46, 0x5A69}, //1907 #CJK UNIFIED IDEOGRAPH
+  {0x8B47, 0x5A6B}, //1908 #CJK UNIFIED IDEOGRAPH
+  {0x8B48, 0x5A6C}, //1909 #CJK UNIFIED IDEOGRAPH
+  {0x8B49, 0x5A6D}, //1910 #CJK UNIFIED IDEOGRAPH
+  {0x8B4A, 0x5A6E}, //1911 #CJK UNIFIED IDEOGRAPH
+  {0x8B4B, 0x5A6F}, //1912 #CJK UNIFIED IDEOGRAPH
+  {0x8B4C, 0x5A70}, //1913 #CJK UNIFIED IDEOGRAPH
+  {0x8B4D, 0x5A71}, //1914 #CJK UNIFIED IDEOGRAPH
+  {0x8B4E, 0x5A72}, //1915 #CJK UNIFIED IDEOGRAPH
+  {0x8B4F, 0x5A73}, //1916 #CJK UNIFIED IDEOGRAPH
+  {0x8B50, 0x5A78}, //1917 #CJK UNIFIED IDEOGRAPH
+  {0x8B51, 0x5A79}, //1918 #CJK UNIFIED IDEOGRAPH
+  {0x8B52, 0x5A7B}, //1919 #CJK UNIFIED IDEOGRAPH
+  {0x8B53, 0x5A7C}, //1920 #CJK UNIFIED IDEOGRAPH
+  {0x8B54, 0x5A7D}, //1921 #CJK UNIFIED IDEOGRAPH
+  {0x8B55, 0x5A7E}, //1922 #CJK UNIFIED IDEOGRAPH
+  {0x8B56, 0x5A80}, //1923 #CJK UNIFIED IDEOGRAPH
+  {0x8B57, 0x5A81}, //1924 #CJK UNIFIED IDEOGRAPH
+  {0x8B58, 0x5A82}, //1925 #CJK UNIFIED IDEOGRAPH
+  {0x8B59, 0x5A83}, //1926 #CJK UNIFIED IDEOGRAPH
+  {0x8B5A, 0x5A84}, //1927 #CJK UNIFIED IDEOGRAPH
+  {0x8B5B, 0x5A85}, //1928 #CJK UNIFIED IDEOGRAPH
+  {0x8B5C, 0x5A86}, //1929 #CJK UNIFIED IDEOGRAPH
+  {0x8B5D, 0x5A87}, //1930 #CJK UNIFIED IDEOGRAPH
+  {0x8B5E, 0x5A88}, //1931 #CJK UNIFIED IDEOGRAPH
+  {0x8B5F, 0x5A89}, //1932 #CJK UNIFIED IDEOGRAPH
+  {0x8B60, 0x5A8A}, //1933 #CJK UNIFIED IDEOGRAPH
+  {0x8B61, 0x5A8B}, //1934 #CJK UNIFIED IDEOGRAPH
+  {0x8B62, 0x5A8C}, //1935 #CJK UNIFIED IDEOGRAPH
+  {0x8B63, 0x5A8D}, //1936 #CJK UNIFIED IDEOGRAPH
+  {0x8B64, 0x5A8E}, //1937 #CJK UNIFIED IDEOGRAPH
+  {0x8B65, 0x5A8F}, //1938 #CJK UNIFIED IDEOGRAPH
+  {0x8B66, 0x5A90}, //1939 #CJK UNIFIED IDEOGRAPH
+  {0x8B67, 0x5A91}, //1940 #CJK UNIFIED IDEOGRAPH
+  {0x8B68, 0x5A93}, //1941 #CJK UNIFIED IDEOGRAPH
+  {0x8B69, 0x5A94}, //1942 #CJK UNIFIED IDEOGRAPH
+  {0x8B6A, 0x5A95}, //1943 #CJK UNIFIED IDEOGRAPH
+  {0x8B6B, 0x5A96}, //1944 #CJK UNIFIED IDEOGRAPH
+  {0x8B6C, 0x5A97}, //1945 #CJK UNIFIED IDEOGRAPH
+  {0x8B6D, 0x5A98}, //1946 #CJK UNIFIED IDEOGRAPH
+  {0x8B6E, 0x5A99}, //1947 #CJK UNIFIED IDEOGRAPH
+  {0x8B6F, 0x5A9C}, //1948 #CJK UNIFIED IDEOGRAPH
+  {0x8B70, 0x5A9D}, //1949 #CJK UNIFIED IDEOGRAPH
+  {0x8B71, 0x5A9E}, //1950 #CJK UNIFIED IDEOGRAPH
+  {0x8B72, 0x5A9F}, //1951 #CJK UNIFIED IDEOGRAPH
+  {0x8B73, 0x5AA0}, //1952 #CJK UNIFIED IDEOGRAPH
+  {0x8B74, 0x5AA1}, //1953 #CJK UNIFIED IDEOGRAPH
+  {0x8B75, 0x5AA2}, //1954 #CJK UNIFIED IDEOGRAPH
+  {0x8B76, 0x5AA3}, //1955 #CJK UNIFIED IDEOGRAPH
+  {0x8B77, 0x5AA4}, //1956 #CJK UNIFIED IDEOGRAPH
+  {0x8B78, 0x5AA5}, //1957 #CJK UNIFIED IDEOGRAPH
+  {0x8B79, 0x5AA6}, //1958 #CJK UNIFIED IDEOGRAPH
+  {0x8B7A, 0x5AA7}, //1959 #CJK UNIFIED IDEOGRAPH
+  {0x8B7B, 0x5AA8}, //1960 #CJK UNIFIED IDEOGRAPH
+  {0x8B7C, 0x5AA9}, //1961 #CJK UNIFIED IDEOGRAPH
+  {0x8B7D, 0x5AAB}, //1962 #CJK UNIFIED IDEOGRAPH
+  {0x8B7E, 0x5AAC}, //1963 #CJK UNIFIED IDEOGRAPH
+  {0x8B80, 0x5AAD}, //1964 #CJK UNIFIED IDEOGRAPH
+  {0x8B81, 0x5AAE}, //1965 #CJK UNIFIED IDEOGRAPH
+  {0x8B82, 0x5AAF}, //1966 #CJK UNIFIED IDEOGRAPH
+  {0x8B83, 0x5AB0}, //1967 #CJK UNIFIED IDEOGRAPH
+  {0x8B84, 0x5AB1}, //1968 #CJK UNIFIED IDEOGRAPH
+  {0x8B85, 0x5AB4}, //1969 #CJK UNIFIED IDEOGRAPH
+  {0x8B86, 0x5AB6}, //1970 #CJK UNIFIED IDEOGRAPH
+  {0x8B87, 0x5AB7}, //1971 #CJK UNIFIED IDEOGRAPH
+  {0x8B88, 0x5AB9}, //1972 #CJK UNIFIED IDEOGRAPH
+  {0x8B89, 0x5ABA}, //1973 #CJK UNIFIED IDEOGRAPH
+  {0x8B8A, 0x5ABB}, //1974 #CJK UNIFIED IDEOGRAPH
+  {0x8B8B, 0x5ABC}, //1975 #CJK UNIFIED IDEOGRAPH
+  {0x8B8C, 0x5ABD}, //1976 #CJK UNIFIED IDEOGRAPH
+  {0x8B8D, 0x5ABF}, //1977 #CJK UNIFIED IDEOGRAPH
+  {0x8B8E, 0x5AC0}, //1978 #CJK UNIFIED IDEOGRAPH
+  {0x8B8F, 0x5AC3}, //1979 #CJK UNIFIED IDEOGRAPH
+  {0x8B90, 0x5AC4}, //1980 #CJK UNIFIED IDEOGRAPH
+  {0x8B91, 0x5AC5}, //1981 #CJK UNIFIED IDEOGRAPH
+  {0x8B92, 0x5AC6}, //1982 #CJK UNIFIED IDEOGRAPH
+  {0x8B93, 0x5AC7}, //1983 #CJK UNIFIED IDEOGRAPH
+  {0x8B94, 0x5AC8}, //1984 #CJK UNIFIED IDEOGRAPH
+  {0x8B95, 0x5ACA}, //1985 #CJK UNIFIED IDEOGRAPH
+  {0x8B96, 0x5ACB}, //1986 #CJK UNIFIED IDEOGRAPH
+  {0x8B97, 0x5ACD}, //1987 #CJK UNIFIED IDEOGRAPH
+  {0x8B98, 0x5ACE}, //1988 #CJK UNIFIED IDEOGRAPH
+  {0x8B99, 0x5ACF}, //1989 #CJK UNIFIED IDEOGRAPH
+  {0x8B9A, 0x5AD0}, //1990 #CJK UNIFIED IDEOGRAPH
+  {0x8B9B, 0x5AD1}, //1991 #CJK UNIFIED IDEOGRAPH
+  {0x8B9C, 0x5AD3}, //1992 #CJK UNIFIED IDEOGRAPH
+  {0x8B9D, 0x5AD5}, //1993 #CJK UNIFIED IDEOGRAPH
+  {0x8B9E, 0x5AD7}, //1994 #CJK UNIFIED IDEOGRAPH
+  {0x8B9F, 0x5AD9}, //1995 #CJK UNIFIED IDEOGRAPH
+  {0x8BA0, 0x5ADA}, //1996 #CJK UNIFIED IDEOGRAPH
+  {0x8BA1, 0x5ADB}, //1997 #CJK UNIFIED IDEOGRAPH
+  {0x8BA2, 0x5ADD}, //1998 #CJK UNIFIED IDEOGRAPH
+  {0x8BA3, 0x5ADE}, //1999 #CJK UNIFIED IDEOGRAPH
+  {0x8BA4, 0x5ADF}, //2000 #CJK UNIFIED IDEOGRAPH
+  {0x8BA5, 0x5AE2}, //2001 #CJK UNIFIED IDEOGRAPH
+  {0x8BA6, 0x5AE4}, //2002 #CJK UNIFIED IDEOGRAPH
+  {0x8BA7, 0x5AE5}, //2003 #CJK UNIFIED IDEOGRAPH
+  {0x8BA8, 0x5AE7}, //2004 #CJK UNIFIED IDEOGRAPH
+  {0x8BA9, 0x5AE8}, //2005 #CJK UNIFIED IDEOGRAPH
+  {0x8BAA, 0x5AEA}, //2006 #CJK UNIFIED IDEOGRAPH
+  {0x8BAB, 0x5AEC}, //2007 #CJK UNIFIED IDEOGRAPH
+  {0x8BAC, 0x5AED}, //2008 #CJK UNIFIED IDEOGRAPH
+  {0x8BAD, 0x5AEE}, //2009 #CJK UNIFIED IDEOGRAPH
+  {0x8BAE, 0x5AEF}, //2010 #CJK UNIFIED IDEOGRAPH
+  {0x8BAF, 0x5AF0}, //2011 #CJK UNIFIED IDEOGRAPH
+  {0x8BB0, 0x5AF2}, //2012 #CJK UNIFIED IDEOGRAPH
+  {0x8BB1, 0x5AF3}, //2013 #CJK UNIFIED IDEOGRAPH
+  {0x8BB2, 0x5AF4}, //2014 #CJK UNIFIED IDEOGRAPH
+  {0x8BB3, 0x5AF5}, //2015 #CJK UNIFIED IDEOGRAPH
+  {0x8BB4, 0x5AF6}, //2016 #CJK UNIFIED IDEOGRAPH
+  {0x8BB5, 0x5AF7}, //2017 #CJK UNIFIED IDEOGRAPH
+  {0x8BB6, 0x5AF8}, //2018 #CJK UNIFIED IDEOGRAPH
+  {0x8BB7, 0x5AF9}, //2019 #CJK UNIFIED IDEOGRAPH
+  {0x8BB8, 0x5AFA}, //2020 #CJK UNIFIED IDEOGRAPH
+  {0x8BB9, 0x5AFB}, //2021 #CJK UNIFIED IDEOGRAPH
+  {0x8BBA, 0x5AFC}, //2022 #CJK UNIFIED IDEOGRAPH
+  {0x8BBB, 0x5AFD}, //2023 #CJK UNIFIED IDEOGRAPH
+  {0x8BBC, 0x5AFE}, //2024 #CJK UNIFIED IDEOGRAPH
+  {0x8BBD, 0x5AFF}, //2025 #CJK UNIFIED IDEOGRAPH
+  {0x8BBE, 0x5B00}, //2026 #CJK UNIFIED IDEOGRAPH
+  {0x8BBF, 0x5B01}, //2027 #CJK UNIFIED IDEOGRAPH
+  {0x8BC0, 0x5B02}, //2028 #CJK UNIFIED IDEOGRAPH
+  {0x8BC1, 0x5B03}, //2029 #CJK UNIFIED IDEOGRAPH
+  {0x8BC2, 0x5B04}, //2030 #CJK UNIFIED IDEOGRAPH
+  {0x8BC3, 0x5B05}, //2031 #CJK UNIFIED IDEOGRAPH
+  {0x8BC4, 0x5B06}, //2032 #CJK UNIFIED IDEOGRAPH
+  {0x8BC5, 0x5B07}, //2033 #CJK UNIFIED IDEOGRAPH
+  {0x8BC6, 0x5B08}, //2034 #CJK UNIFIED IDEOGRAPH
+  {0x8BC7, 0x5B0A}, //2035 #CJK UNIFIED IDEOGRAPH
+  {0x8BC8, 0x5B0B}, //2036 #CJK UNIFIED IDEOGRAPH
+  {0x8BC9, 0x5B0C}, //2037 #CJK UNIFIED IDEOGRAPH
+  {0x8BCA, 0x5B0D}, //2038 #CJK UNIFIED IDEOGRAPH
+  {0x8BCB, 0x5B0E}, //2039 #CJK UNIFIED IDEOGRAPH
+  {0x8BCC, 0x5B0F}, //2040 #CJK UNIFIED IDEOGRAPH
+  {0x8BCD, 0x5B10}, //2041 #CJK UNIFIED IDEOGRAPH
+  {0x8BCE, 0x5B11}, //2042 #CJK UNIFIED IDEOGRAPH
+  {0x8BCF, 0x5B12}, //2043 #CJK UNIFIED IDEOGRAPH
+  {0x8BD0, 0x5B13}, //2044 #CJK UNIFIED IDEOGRAPH
+  {0x8BD1, 0x5B14}, //2045 #CJK UNIFIED IDEOGRAPH
+  {0x8BD2, 0x5B15}, //2046 #CJK UNIFIED IDEOGRAPH
+  {0x8BD3, 0x5B18}, //2047 #CJK UNIFIED IDEOGRAPH
+  {0x8BD4, 0x5B19}, //2048 #CJK UNIFIED IDEOGRAPH
+  {0x8BD5, 0x5B1A}, //2049 #CJK UNIFIED IDEOGRAPH
+  {0x8BD6, 0x5B1B}, //2050 #CJK UNIFIED IDEOGRAPH
+  {0x8BD7, 0x5B1C}, //2051 #CJK UNIFIED IDEOGRAPH
+  {0x8BD8, 0x5B1D}, //2052 #CJK UNIFIED IDEOGRAPH
+  {0x8BD9, 0x5B1E}, //2053 #CJK UNIFIED IDEOGRAPH
+  {0x8BDA, 0x5B1F}, //2054 #CJK UNIFIED IDEOGRAPH
+  {0x8BDB, 0x5B20}, //2055 #CJK UNIFIED IDEOGRAPH
+  {0x8BDC, 0x5B21}, //2056 #CJK UNIFIED IDEOGRAPH
+  {0x8BDD, 0x5B22}, //2057 #CJK UNIFIED IDEOGRAPH
+  {0x8BDE, 0x5B23}, //2058 #CJK UNIFIED IDEOGRAPH
+  {0x8BDF, 0x5B24}, //2059 #CJK UNIFIED IDEOGRAPH
+  {0x8BE0, 0x5B25}, //2060 #CJK UNIFIED IDEOGRAPH
+  {0x8BE1, 0x5B26}, //2061 #CJK UNIFIED IDEOGRAPH
+  {0x8BE2, 0x5B27}, //2062 #CJK UNIFIED IDEOGRAPH
+  {0x8BE3, 0x5B28}, //2063 #CJK UNIFIED IDEOGRAPH
+  {0x8BE4, 0x5B29}, //2064 #CJK UNIFIED IDEOGRAPH
+  {0x8BE5, 0x5B2A}, //2065 #CJK UNIFIED IDEOGRAPH
+  {0x8BE6, 0x5B2B}, //2066 #CJK UNIFIED IDEOGRAPH
+  {0x8BE7, 0x5B2C}, //2067 #CJK UNIFIED IDEOGRAPH
+  {0x8BE8, 0x5B2D}, //2068 #CJK UNIFIED IDEOGRAPH
+  {0x8BE9, 0x5B2E}, //2069 #CJK UNIFIED IDEOGRAPH
+  {0x8BEA, 0x5B2F}, //2070 #CJK UNIFIED IDEOGRAPH
+  {0x8BEB, 0x5B30}, //2071 #CJK UNIFIED IDEOGRAPH
+  {0x8BEC, 0x5B31}, //2072 #CJK UNIFIED IDEOGRAPH
+  {0x8BED, 0x5B33}, //2073 #CJK UNIFIED IDEOGRAPH
+  {0x8BEE, 0x5B35}, //2074 #CJK UNIFIED IDEOGRAPH
+  {0x8BEF, 0x5B36}, //2075 #CJK UNIFIED IDEOGRAPH
+  {0x8BF0, 0x5B38}, //2076 #CJK UNIFIED IDEOGRAPH
+  {0x8BF1, 0x5B39}, //2077 #CJK UNIFIED IDEOGRAPH
+  {0x8BF2, 0x5B3A}, //2078 #CJK UNIFIED IDEOGRAPH
+  {0x8BF3, 0x5B3B}, //2079 #CJK UNIFIED IDEOGRAPH
+  {0x8BF4, 0x5B3C}, //2080 #CJK UNIFIED IDEOGRAPH
+  {0x8BF5, 0x5B3D}, //2081 #CJK UNIFIED IDEOGRAPH
+  {0x8BF6, 0x5B3E}, //2082 #CJK UNIFIED IDEOGRAPH
+  {0x8BF7, 0x5B3F}, //2083 #CJK UNIFIED IDEOGRAPH
+  {0x8BF8, 0x5B41}, //2084 #CJK UNIFIED IDEOGRAPH
+  {0x8BF9, 0x5B42}, //2085 #CJK UNIFIED IDEOGRAPH
+  {0x8BFA, 0x5B43}, //2086 #CJK UNIFIED IDEOGRAPH
+  {0x8BFB, 0x5B44}, //2087 #CJK UNIFIED IDEOGRAPH
+  {0x8BFC, 0x5B45}, //2088 #CJK UNIFIED IDEOGRAPH
+  {0x8BFD, 0x5B46}, //2089 #CJK UNIFIED IDEOGRAPH
+  {0x8BFE, 0x5B47}, //2090 #CJK UNIFIED IDEOGRAPH
+  {0x8C40, 0x5B48}, //2091 #CJK UNIFIED IDEOGRAPH
+  {0x8C41, 0x5B49}, //2092 #CJK UNIFIED IDEOGRAPH
+  {0x8C42, 0x5B4A}, //2093 #CJK UNIFIED IDEOGRAPH
+  {0x8C43, 0x5B4B}, //2094 #CJK UNIFIED IDEOGRAPH
+  {0x8C44, 0x5B4C}, //2095 #CJK UNIFIED IDEOGRAPH
+  {0x8C45, 0x5B4D}, //2096 #CJK UNIFIED IDEOGRAPH
+  {0x8C46, 0x5B4E}, //2097 #CJK UNIFIED IDEOGRAPH
+  {0x8C47, 0x5B4F}, //2098 #CJK UNIFIED IDEOGRAPH
+  {0x8C48, 0x5B52}, //2099 #CJK UNIFIED IDEOGRAPH
+  {0x8C49, 0x5B56}, //2100 #CJK UNIFIED IDEOGRAPH
+  {0x8C4A, 0x5B5E}, //2101 #CJK UNIFIED IDEOGRAPH
+  {0x8C4B, 0x5B60}, //2102 #CJK UNIFIED IDEOGRAPH
+  {0x8C4C, 0x5B61}, //2103 #CJK UNIFIED IDEOGRAPH
+  {0x8C4D, 0x5B67}, //2104 #CJK UNIFIED IDEOGRAPH
+  {0x8C4E, 0x5B68}, //2105 #CJK UNIFIED IDEOGRAPH
+  {0x8C4F, 0x5B6B}, //2106 #CJK UNIFIED IDEOGRAPH
+  {0x8C50, 0x5B6D}, //2107 #CJK UNIFIED IDEOGRAPH
+  {0x8C51, 0x5B6E}, //2108 #CJK UNIFIED IDEOGRAPH
+  {0x8C52, 0x5B6F}, //2109 #CJK UNIFIED IDEOGRAPH
+  {0x8C53, 0x5B72}, //2110 #CJK UNIFIED IDEOGRAPH
+  {0x8C54, 0x5B74}, //2111 #CJK UNIFIED IDEOGRAPH
+  {0x8C55, 0x5B76}, //2112 #CJK UNIFIED IDEOGRAPH
+  {0x8C56, 0x5B77}, //2113 #CJK UNIFIED IDEOGRAPH
+  {0x8C57, 0x5B78}, //2114 #CJK UNIFIED IDEOGRAPH
+  {0x8C58, 0x5B79}, //2115 #CJK UNIFIED IDEOGRAPH
+  {0x8C59, 0x5B7B}, //2116 #CJK UNIFIED IDEOGRAPH
+  {0x8C5A, 0x5B7C}, //2117 #CJK UNIFIED IDEOGRAPH
+  {0x8C5B, 0x5B7E}, //2118 #CJK UNIFIED IDEOGRAPH
+  {0x8C5C, 0x5B7F}, //2119 #CJK UNIFIED IDEOGRAPH
+  {0x8C5D, 0x5B82}, //2120 #CJK UNIFIED IDEOGRAPH
+  {0x8C5E, 0x5B86}, //2121 #CJK UNIFIED IDEOGRAPH
+  {0x8C5F, 0x5B8A}, //2122 #CJK UNIFIED IDEOGRAPH
+  {0x8C60, 0x5B8D}, //2123 #CJK UNIFIED IDEOGRAPH
+  {0x8C61, 0x5B8E}, //2124 #CJK UNIFIED IDEOGRAPH
+  {0x8C62, 0x5B90}, //2125 #CJK UNIFIED IDEOGRAPH
+  {0x8C63, 0x5B91}, //2126 #CJK UNIFIED IDEOGRAPH
+  {0x8C64, 0x5B92}, //2127 #CJK UNIFIED IDEOGRAPH
+  {0x8C65, 0x5B94}, //2128 #CJK UNIFIED IDEOGRAPH
+  {0x8C66, 0x5B96}, //2129 #CJK UNIFIED IDEOGRAPH
+  {0x8C67, 0x5B9F}, //2130 #CJK UNIFIED IDEOGRAPH
+  {0x8C68, 0x5BA7}, //2131 #CJK UNIFIED IDEOGRAPH
+  {0x8C69, 0x5BA8}, //2132 #CJK UNIFIED IDEOGRAPH
+  {0x8C6A, 0x5BA9}, //2133 #CJK UNIFIED IDEOGRAPH
+  {0x8C6B, 0x5BAC}, //2134 #CJK UNIFIED IDEOGRAPH
+  {0x8C6C, 0x5BAD}, //2135 #CJK UNIFIED IDEOGRAPH
+  {0x8C6D, 0x5BAE}, //2136 #CJK UNIFIED IDEOGRAPH
+  {0x8C6E, 0x5BAF}, //2137 #CJK UNIFIED IDEOGRAPH
+  {0x8C6F, 0x5BB1}, //2138 #CJK UNIFIED IDEOGRAPH
+  {0x8C70, 0x5BB2}, //2139 #CJK UNIFIED IDEOGRAPH
+  {0x8C71, 0x5BB7}, //2140 #CJK UNIFIED IDEOGRAPH
+  {0x8C72, 0x5BBA}, //2141 #CJK UNIFIED IDEOGRAPH
+  {0x8C73, 0x5BBB}, //2142 #CJK UNIFIED IDEOGRAPH
+  {0x8C74, 0x5BBC}, //2143 #CJK UNIFIED IDEOGRAPH
+  {0x8C75, 0x5BC0}, //2144 #CJK UNIFIED IDEOGRAPH
+  {0x8C76, 0x5BC1}, //2145 #CJK UNIFIED IDEOGRAPH
+  {0x8C77, 0x5BC3}, //2146 #CJK UNIFIED IDEOGRAPH
+  {0x8C78, 0x5BC8}, //2147 #CJK UNIFIED IDEOGRAPH
+  {0x8C79, 0x5BC9}, //2148 #CJK UNIFIED IDEOGRAPH
+  {0x8C7A, 0x5BCA}, //2149 #CJK UNIFIED IDEOGRAPH
+  {0x8C7B, 0x5BCB}, //2150 #CJK UNIFIED IDEOGRAPH
+  {0x8C7C, 0x5BCD}, //2151 #CJK UNIFIED IDEOGRAPH
+  {0x8C7D, 0x5BCE}, //2152 #CJK UNIFIED IDEOGRAPH
+  {0x8C7E, 0x5BCF}, //2153 #CJK UNIFIED IDEOGRAPH
+  {0x8C80, 0x5BD1}, //2154 #CJK UNIFIED IDEOGRAPH
+  {0x8C81, 0x5BD4}, //2155 #CJK UNIFIED IDEOGRAPH
+  {0x8C82, 0x5BD5}, //2156 #CJK UNIFIED IDEOGRAPH
+  {0x8C83, 0x5BD6}, //2157 #CJK UNIFIED IDEOGRAPH
+  {0x8C84, 0x5BD7}, //2158 #CJK UNIFIED IDEOGRAPH
+  {0x8C85, 0x5BD8}, //2159 #CJK UNIFIED IDEOGRAPH
+  {0x8C86, 0x5BD9}, //2160 #CJK UNIFIED IDEOGRAPH
+  {0x8C87, 0x5BDA}, //2161 #CJK UNIFIED IDEOGRAPH
+  {0x8C88, 0x5BDB}, //2162 #CJK UNIFIED IDEOGRAPH
+  {0x8C89, 0x5BDC}, //2163 #CJK UNIFIED IDEOGRAPH
+  {0x8C8A, 0x5BE0}, //2164 #CJK UNIFIED IDEOGRAPH
+  {0x8C8B, 0x5BE2}, //2165 #CJK UNIFIED IDEOGRAPH
+  {0x8C8C, 0x5BE3}, //2166 #CJK UNIFIED IDEOGRAPH
+  {0x8C8D, 0x5BE6}, //2167 #CJK UNIFIED IDEOGRAPH
+  {0x8C8E, 0x5BE7}, //2168 #CJK UNIFIED IDEOGRAPH
+  {0x8C8F, 0x5BE9}, //2169 #CJK UNIFIED IDEOGRAPH
+  {0x8C90, 0x5BEA}, //2170 #CJK UNIFIED IDEOGRAPH
+  {0x8C91, 0x5BEB}, //2171 #CJK UNIFIED IDEOGRAPH
+  {0x8C92, 0x5BEC}, //2172 #CJK UNIFIED IDEOGRAPH
+  {0x8C93, 0x5BED}, //2173 #CJK UNIFIED IDEOGRAPH
+  {0x8C94, 0x5BEF}, //2174 #CJK UNIFIED IDEOGRAPH
+  {0x8C95, 0x5BF1}, //2175 #CJK UNIFIED IDEOGRAPH
+  {0x8C96, 0x5BF2}, //2176 #CJK UNIFIED IDEOGRAPH
+  {0x8C97, 0x5BF3}, //2177 #CJK UNIFIED IDEOGRAPH
+  {0x8C98, 0x5BF4}, //2178 #CJK UNIFIED IDEOGRAPH
+  {0x8C99, 0x5BF5}, //2179 #CJK UNIFIED IDEOGRAPH
+  {0x8C9A, 0x5BF6}, //2180 #CJK UNIFIED IDEOGRAPH
+  {0x8C9B, 0x5BF7}, //2181 #CJK UNIFIED IDEOGRAPH
+  {0x8C9C, 0x5BFD}, //2182 #CJK UNIFIED IDEOGRAPH
+  {0x8C9D, 0x5BFE}, //2183 #CJK UNIFIED IDEOGRAPH
+  {0x8C9E, 0x5C00}, //2184 #CJK UNIFIED IDEOGRAPH
+  {0x8C9F, 0x5C02}, //2185 #CJK UNIFIED IDEOGRAPH
+  {0x8CA0, 0x5C03}, //2186 #CJK UNIFIED IDEOGRAPH
+  {0x8CA1, 0x5C05}, //2187 #CJK UNIFIED IDEOGRAPH
+  {0x8CA2, 0x5C07}, //2188 #CJK UNIFIED IDEOGRAPH
+  {0x8CA3, 0x5C08}, //2189 #CJK UNIFIED IDEOGRAPH
+  {0x8CA4, 0x5C0B}, //2190 #CJK UNIFIED IDEOGRAPH
+  {0x8CA5, 0x5C0C}, //2191 #CJK UNIFIED IDEOGRAPH
+  {0x8CA6, 0x5C0D}, //2192 #CJK UNIFIED IDEOGRAPH
+  {0x8CA7, 0x5C0E}, //2193 #CJK UNIFIED IDEOGRAPH
+  {0x8CA8, 0x5C10}, //2194 #CJK UNIFIED IDEOGRAPH
+  {0x8CA9, 0x5C12}, //2195 #CJK UNIFIED IDEOGRAPH
+  {0x8CAA, 0x5C13}, //2196 #CJK UNIFIED IDEOGRAPH
+  {0x8CAB, 0x5C17}, //2197 #CJK UNIFIED IDEOGRAPH
+  {0x8CAC, 0x5C19}, //2198 #CJK UNIFIED IDEOGRAPH
+  {0x8CAD, 0x5C1B}, //2199 #CJK UNIFIED IDEOGRAPH
+  {0x8CAE, 0x5C1E}, //2200 #CJK UNIFIED IDEOGRAPH
+  {0x8CAF, 0x5C1F}, //2201 #CJK UNIFIED IDEOGRAPH
+  {0x8CB0, 0x5C20}, //2202 #CJK UNIFIED IDEOGRAPH
+  {0x8CB1, 0x5C21}, //2203 #CJK UNIFIED IDEOGRAPH
+  {0x8CB2, 0x5C23}, //2204 #CJK UNIFIED IDEOGRAPH
+  {0x8CB3, 0x5C26}, //2205 #CJK UNIFIED IDEOGRAPH
+  {0x8CB4, 0x5C28}, //2206 #CJK UNIFIED IDEOGRAPH
+  {0x8CB5, 0x5C29}, //2207 #CJK UNIFIED IDEOGRAPH
+  {0x8CB6, 0x5C2A}, //2208 #CJK UNIFIED IDEOGRAPH
+  {0x8CB7, 0x5C2B}, //2209 #CJK UNIFIED IDEOGRAPH
+  {0x8CB8, 0x5C2D}, //2210 #CJK UNIFIED IDEOGRAPH
+  {0x8CB9, 0x5C2E}, //2211 #CJK UNIFIED IDEOGRAPH
+  {0x8CBA, 0x5C2F}, //2212 #CJK UNIFIED IDEOGRAPH
+  {0x8CBB, 0x5C30}, //2213 #CJK UNIFIED IDEOGRAPH
+  {0x8CBC, 0x5C32}, //2214 #CJK UNIFIED IDEOGRAPH
+  {0x8CBD, 0x5C33}, //2215 #CJK UNIFIED IDEOGRAPH
+  {0x8CBE, 0x5C35}, //2216 #CJK UNIFIED IDEOGRAPH
+  {0x8CBF, 0x5C36}, //2217 #CJK UNIFIED IDEOGRAPH
+  {0x8CC0, 0x5C37}, //2218 #CJK UNIFIED IDEOGRAPH
+  {0x8CC1, 0x5C43}, //2219 #CJK UNIFIED IDEOGRAPH
+  {0x8CC2, 0x5C44}, //2220 #CJK UNIFIED IDEOGRAPH
+  {0x8CC3, 0x5C46}, //2221 #CJK UNIFIED IDEOGRAPH
+  {0x8CC4, 0x5C47}, //2222 #CJK UNIFIED IDEOGRAPH
+  {0x8CC5, 0x5C4C}, //2223 #CJK UNIFIED IDEOGRAPH
+  {0x8CC6, 0x5C4D}, //2224 #CJK UNIFIED IDEOGRAPH
+  {0x8CC7, 0x5C52}, //2225 #CJK UNIFIED IDEOGRAPH
+  {0x8CC8, 0x5C53}, //2226 #CJK UNIFIED IDEOGRAPH
+  {0x8CC9, 0x5C54}, //2227 #CJK UNIFIED IDEOGRAPH
+  {0x8CCA, 0x5C56}, //2228 #CJK UNIFIED IDEOGRAPH
+  {0x8CCB, 0x5C57}, //2229 #CJK UNIFIED IDEOGRAPH
+  {0x8CCC, 0x5C58}, //2230 #CJK UNIFIED IDEOGRAPH
+  {0x8CCD, 0x5C5A}, //2231 #CJK UNIFIED IDEOGRAPH
+  {0x8CCE, 0x5C5B}, //2232 #CJK UNIFIED IDEOGRAPH
+  {0x8CCF, 0x5C5C}, //2233 #CJK UNIFIED IDEOGRAPH
+  {0x8CD0, 0x5C5D}, //2234 #CJK UNIFIED IDEOGRAPH
+  {0x8CD1, 0x5C5F}, //2235 #CJK UNIFIED IDEOGRAPH
+  {0x8CD2, 0x5C62}, //2236 #CJK UNIFIED IDEOGRAPH
+  {0x8CD3, 0x5C64}, //2237 #CJK UNIFIED IDEOGRAPH
+  {0x8CD4, 0x5C67}, //2238 #CJK UNIFIED IDEOGRAPH
+  {0x8CD5, 0x5C68}, //2239 #CJK UNIFIED IDEOGRAPH
+  {0x8CD6, 0x5C69}, //2240 #CJK UNIFIED IDEOGRAPH
+  {0x8CD7, 0x5C6A}, //2241 #CJK UNIFIED IDEOGRAPH
+  {0x8CD8, 0x5C6B}, //2242 #CJK UNIFIED IDEOGRAPH
+  {0x8CD9, 0x5C6C}, //2243 #CJK UNIFIED IDEOGRAPH
+  {0x8CDA, 0x5C6D}, //2244 #CJK UNIFIED IDEOGRAPH
+  {0x8CDB, 0x5C70}, //2245 #CJK UNIFIED IDEOGRAPH
+  {0x8CDC, 0x5C72}, //2246 #CJK UNIFIED IDEOGRAPH
+  {0x8CDD, 0x5C73}, //2247 #CJK UNIFIED IDEOGRAPH
+  {0x8CDE, 0x5C74}, //2248 #CJK UNIFIED IDEOGRAPH
+  {0x8CDF, 0x5C75}, //2249 #CJK UNIFIED IDEOGRAPH
+  {0x8CE0, 0x5C76}, //2250 #CJK UNIFIED IDEOGRAPH
+  {0x8CE1, 0x5C77}, //2251 #CJK UNIFIED IDEOGRAPH
+  {0x8CE2, 0x5C78}, //2252 #CJK UNIFIED IDEOGRAPH
+  {0x8CE3, 0x5C7B}, //2253 #CJK UNIFIED IDEOGRAPH
+  {0x8CE4, 0x5C7C}, //2254 #CJK UNIFIED IDEOGRAPH
+  {0x8CE5, 0x5C7D}, //2255 #CJK UNIFIED IDEOGRAPH
+  {0x8CE6, 0x5C7E}, //2256 #CJK UNIFIED IDEOGRAPH
+  {0x8CE7, 0x5C80}, //2257 #CJK UNIFIED IDEOGRAPH
+  {0x8CE8, 0x5C83}, //2258 #CJK UNIFIED IDEOGRAPH
+  {0x8CE9, 0x5C84}, //2259 #CJK UNIFIED IDEOGRAPH
+  {0x8CEA, 0x5C85}, //2260 #CJK UNIFIED IDEOGRAPH
+  {0x8CEB, 0x5C86}, //2261 #CJK UNIFIED IDEOGRAPH
+  {0x8CEC, 0x5C87}, //2262 #CJK UNIFIED IDEOGRAPH
+  {0x8CED, 0x5C89}, //2263 #CJK UNIFIED IDEOGRAPH
+  {0x8CEE, 0x5C8A}, //2264 #CJK UNIFIED IDEOGRAPH
+  {0x8CEF, 0x5C8B}, //2265 #CJK UNIFIED IDEOGRAPH
+  {0x8CF0, 0x5C8E}, //2266 #CJK UNIFIED IDEOGRAPH
+  {0x8CF1, 0x5C8F}, //2267 #CJK UNIFIED IDEOGRAPH
+  {0x8CF2, 0x5C92}, //2268 #CJK UNIFIED IDEOGRAPH
+  {0x8CF3, 0x5C93}, //2269 #CJK UNIFIED IDEOGRAPH
+  {0x8CF4, 0x5C95}, //2270 #CJK UNIFIED IDEOGRAPH
+  {0x8CF5, 0x5C9D}, //2271 #CJK UNIFIED IDEOGRAPH
+  {0x8CF6, 0x5C9E}, //2272 #CJK UNIFIED IDEOGRAPH
+  {0x8CF7, 0x5C9F}, //2273 #CJK UNIFIED IDEOGRAPH
+  {0x8CF8, 0x5CA0}, //2274 #CJK UNIFIED IDEOGRAPH
+  {0x8CF9, 0x5CA1}, //2275 #CJK UNIFIED IDEOGRAPH
+  {0x8CFA, 0x5CA4}, //2276 #CJK UNIFIED IDEOGRAPH
+  {0x8CFB, 0x5CA5}, //2277 #CJK UNIFIED IDEOGRAPH
+  {0x8CFC, 0x5CA6}, //2278 #CJK UNIFIED IDEOGRAPH
+  {0x8CFD, 0x5CA7}, //2279 #CJK UNIFIED IDEOGRAPH
+  {0x8CFE, 0x5CA8}, //2280 #CJK UNIFIED IDEOGRAPH
+  {0x8D40, 0x5CAA}, //2281 #CJK UNIFIED IDEOGRAPH
+  {0x8D41, 0x5CAE}, //2282 #CJK UNIFIED IDEOGRAPH
+  {0x8D42, 0x5CAF}, //2283 #CJK UNIFIED IDEOGRAPH
+  {0x8D43, 0x5CB0}, //2284 #CJK UNIFIED IDEOGRAPH
+  {0x8D44, 0x5CB2}, //2285 #CJK UNIFIED IDEOGRAPH
+  {0x8D45, 0x5CB4}, //2286 #CJK UNIFIED IDEOGRAPH
+  {0x8D46, 0x5CB6}, //2287 #CJK UNIFIED IDEOGRAPH
+  {0x8D47, 0x5CB9}, //2288 #CJK UNIFIED IDEOGRAPH
+  {0x8D48, 0x5CBA}, //2289 #CJK UNIFIED IDEOGRAPH
+  {0x8D49, 0x5CBB}, //2290 #CJK UNIFIED IDEOGRAPH
+  {0x8D4A, 0x5CBC}, //2291 #CJK UNIFIED IDEOGRAPH
+  {0x8D4B, 0x5CBE}, //2292 #CJK UNIFIED IDEOGRAPH
+  {0x8D4C, 0x5CC0}, //2293 #CJK UNIFIED IDEOGRAPH
+  {0x8D4D, 0x5CC2}, //2294 #CJK UNIFIED IDEOGRAPH
+  {0x8D4E, 0x5CC3}, //2295 #CJK UNIFIED IDEOGRAPH
+  {0x8D4F, 0x5CC5}, //2296 #CJK UNIFIED IDEOGRAPH
+  {0x8D50, 0x5CC6}, //2297 #CJK UNIFIED IDEOGRAPH
+  {0x8D51, 0x5CC7}, //2298 #CJK UNIFIED IDEOGRAPH
+  {0x8D52, 0x5CC8}, //2299 #CJK UNIFIED IDEOGRAPH
+  {0x8D53, 0x5CC9}, //2300 #CJK UNIFIED IDEOGRAPH
+  {0x8D54, 0x5CCA}, //2301 #CJK UNIFIED IDEOGRAPH
+  {0x8D55, 0x5CCC}, //2302 #CJK UNIFIED IDEOGRAPH
+  {0x8D56, 0x5CCD}, //2303 #CJK UNIFIED IDEOGRAPH
+  {0x8D57, 0x5CCE}, //2304 #CJK UNIFIED IDEOGRAPH
+  {0x8D58, 0x5CCF}, //2305 #CJK UNIFIED IDEOGRAPH
+  {0x8D59, 0x5CD0}, //2306 #CJK UNIFIED IDEOGRAPH
+  {0x8D5A, 0x5CD1}, //2307 #CJK UNIFIED IDEOGRAPH
+  {0x8D5B, 0x5CD3}, //2308 #CJK UNIFIED IDEOGRAPH
+  {0x8D5C, 0x5CD4}, //2309 #CJK UNIFIED IDEOGRAPH
+  {0x8D5D, 0x5CD5}, //2310 #CJK UNIFIED IDEOGRAPH
+  {0x8D5E, 0x5CD6}, //2311 #CJK UNIFIED IDEOGRAPH
+  {0x8D5F, 0x5CD7}, //2312 #CJK UNIFIED IDEOGRAPH
+  {0x8D60, 0x5CD8}, //2313 #CJK UNIFIED IDEOGRAPH
+  {0x8D61, 0x5CDA}, //2314 #CJK UNIFIED IDEOGRAPH
+  {0x8D62, 0x5CDB}, //2315 #CJK UNIFIED IDEOGRAPH
+  {0x8D63, 0x5CDC}, //2316 #CJK UNIFIED IDEOGRAPH
+  {0x8D64, 0x5CDD}, //2317 #CJK UNIFIED IDEOGRAPH
+  {0x8D65, 0x5CDE}, //2318 #CJK UNIFIED IDEOGRAPH
+  {0x8D66, 0x5CDF}, //2319 #CJK UNIFIED IDEOGRAPH
+  {0x8D67, 0x5CE0}, //2320 #CJK UNIFIED IDEOGRAPH
+  {0x8D68, 0x5CE2}, //2321 #CJK UNIFIED IDEOGRAPH
+  {0x8D69, 0x5CE3}, //2322 #CJK UNIFIED IDEOGRAPH
+  {0x8D6A, 0x5CE7}, //2323 #CJK UNIFIED IDEOGRAPH
+  {0x8D6B, 0x5CE9}, //2324 #CJK UNIFIED IDEOGRAPH
+  {0x8D6C, 0x5CEB}, //2325 #CJK UNIFIED IDEOGRAPH
+  {0x8D6D, 0x5CEC}, //2326 #CJK UNIFIED IDEOGRAPH
+  {0x8D6E, 0x5CEE}, //2327 #CJK UNIFIED IDEOGRAPH
+  {0x8D6F, 0x5CEF}, //2328 #CJK UNIFIED IDEOGRAPH
+  {0x8D70, 0x5CF1}, //2329 #CJK UNIFIED IDEOGRAPH
+  {0x8D71, 0x5CF2}, //2330 #CJK UNIFIED IDEOGRAPH
+  {0x8D72, 0x5CF3}, //2331 #CJK UNIFIED IDEOGRAPH
+  {0x8D73, 0x5CF4}, //2332 #CJK UNIFIED IDEOGRAPH
+  {0x8D74, 0x5CF5}, //2333 #CJK UNIFIED IDEOGRAPH
+  {0x8D75, 0x5CF6}, //2334 #CJK UNIFIED IDEOGRAPH
+  {0x8D76, 0x5CF7}, //2335 #CJK UNIFIED IDEOGRAPH
+  {0x8D77, 0x5CF8}, //2336 #CJK UNIFIED IDEOGRAPH
+  {0x8D78, 0x5CF9}, //2337 #CJK UNIFIED IDEOGRAPH
+  {0x8D79, 0x5CFA}, //2338 #CJK UNIFIED IDEOGRAPH
+  {0x8D7A, 0x5CFC}, //2339 #CJK UNIFIED IDEOGRAPH
+  {0x8D7B, 0x5CFD}, //2340 #CJK UNIFIED IDEOGRAPH
+  {0x8D7C, 0x5CFE}, //2341 #CJK UNIFIED IDEOGRAPH
+  {0x8D7D, 0x5CFF}, //2342 #CJK UNIFIED IDEOGRAPH
+  {0x8D7E, 0x5D00}, //2343 #CJK UNIFIED IDEOGRAPH
+  {0x8D80, 0x5D01}, //2344 #CJK UNIFIED IDEOGRAPH
+  {0x8D81, 0x5D04}, //2345 #CJK UNIFIED IDEOGRAPH
+  {0x8D82, 0x5D05}, //2346 #CJK UNIFIED IDEOGRAPH
+  {0x8D83, 0x5D08}, //2347 #CJK UNIFIED IDEOGRAPH
+  {0x8D84, 0x5D09}, //2348 #CJK UNIFIED IDEOGRAPH
+  {0x8D85, 0x5D0A}, //2349 #CJK UNIFIED IDEOGRAPH
+  {0x8D86, 0x5D0B}, //2350 #CJK UNIFIED IDEOGRAPH
+  {0x8D87, 0x5D0C}, //2351 #CJK UNIFIED IDEOGRAPH
+  {0x8D88, 0x5D0D}, //2352 #CJK UNIFIED IDEOGRAPH
+  {0x8D89, 0x5D0F}, //2353 #CJK UNIFIED IDEOGRAPH
+  {0x8D8A, 0x5D10}, //2354 #CJK UNIFIED IDEOGRAPH
+  {0x8D8B, 0x5D11}, //2355 #CJK UNIFIED IDEOGRAPH
+  {0x8D8C, 0x5D12}, //2356 #CJK UNIFIED IDEOGRAPH
+  {0x8D8D, 0x5D13}, //2357 #CJK UNIFIED IDEOGRAPH
+  {0x8D8E, 0x5D15}, //2358 #CJK UNIFIED IDEOGRAPH
+  {0x8D8F, 0x5D17}, //2359 #CJK UNIFIED IDEOGRAPH
+  {0x8D90, 0x5D18}, //2360 #CJK UNIFIED IDEOGRAPH
+  {0x8D91, 0x5D19}, //2361 #CJK UNIFIED IDEOGRAPH
+  {0x8D92, 0x5D1A}, //2362 #CJK UNIFIED IDEOGRAPH
+  {0x8D93, 0x5D1C}, //2363 #CJK UNIFIED IDEOGRAPH
+  {0x8D94, 0x5D1D}, //2364 #CJK UNIFIED IDEOGRAPH
+  {0x8D95, 0x5D1F}, //2365 #CJK UNIFIED IDEOGRAPH
+  {0x8D96, 0x5D20}, //2366 #CJK UNIFIED IDEOGRAPH
+  {0x8D97, 0x5D21}, //2367 #CJK UNIFIED IDEOGRAPH
+  {0x8D98, 0x5D22}, //2368 #CJK UNIFIED IDEOGRAPH
+  {0x8D99, 0x5D23}, //2369 #CJK UNIFIED IDEOGRAPH
+  {0x8D9A, 0x5D25}, //2370 #CJK UNIFIED IDEOGRAPH
+  {0x8D9B, 0x5D28}, //2371 #CJK UNIFIED IDEOGRAPH
+  {0x8D9C, 0x5D2A}, //2372 #CJK UNIFIED IDEOGRAPH
+  {0x8D9D, 0x5D2B}, //2373 #CJK UNIFIED IDEOGRAPH
+  {0x8D9E, 0x5D2C}, //2374 #CJK UNIFIED IDEOGRAPH
+  {0x8D9F, 0x5D2F}, //2375 #CJK UNIFIED IDEOGRAPH
+  {0x8DA0, 0x5D30}, //2376 #CJK UNIFIED IDEOGRAPH
+  {0x8DA1, 0x5D31}, //2377 #CJK UNIFIED IDEOGRAPH
+  {0x8DA2, 0x5D32}, //2378 #CJK UNIFIED IDEOGRAPH
+  {0x8DA3, 0x5D33}, //2379 #CJK UNIFIED IDEOGRAPH
+  {0x8DA4, 0x5D35}, //2380 #CJK UNIFIED IDEOGRAPH
+  {0x8DA5, 0x5D36}, //2381 #CJK UNIFIED IDEOGRAPH
+  {0x8DA6, 0x5D37}, //2382 #CJK UNIFIED IDEOGRAPH
+  {0x8DA7, 0x5D38}, //2383 #CJK UNIFIED IDEOGRAPH
+  {0x8DA8, 0x5D39}, //2384 #CJK UNIFIED IDEOGRAPH
+  {0x8DA9, 0x5D3A}, //2385 #CJK UNIFIED IDEOGRAPH
+  {0x8DAA, 0x5D3B}, //2386 #CJK UNIFIED IDEOGRAPH
+  {0x8DAB, 0x5D3C}, //2387 #CJK UNIFIED IDEOGRAPH
+  {0x8DAC, 0x5D3F}, //2388 #CJK UNIFIED IDEOGRAPH
+  {0x8DAD, 0x5D40}, //2389 #CJK UNIFIED IDEOGRAPH
+  {0x8DAE, 0x5D41}, //2390 #CJK UNIFIED IDEOGRAPH
+  {0x8DAF, 0x5D42}, //2391 #CJK UNIFIED IDEOGRAPH
+  {0x8DB0, 0x5D43}, //2392 #CJK UNIFIED IDEOGRAPH
+  {0x8DB1, 0x5D44}, //2393 #CJK UNIFIED IDEOGRAPH
+  {0x8DB2, 0x5D45}, //2394 #CJK UNIFIED IDEOGRAPH
+  {0x8DB3, 0x5D46}, //2395 #CJK UNIFIED IDEOGRAPH
+  {0x8DB4, 0x5D48}, //2396 #CJK UNIFIED IDEOGRAPH
+  {0x8DB5, 0x5D49}, //2397 #CJK UNIFIED IDEOGRAPH
+  {0x8DB6, 0x5D4D}, //2398 #CJK UNIFIED IDEOGRAPH
+  {0x8DB7, 0x5D4E}, //2399 #CJK UNIFIED IDEOGRAPH
+  {0x8DB8, 0x5D4F}, //2400 #CJK UNIFIED IDEOGRAPH
+  {0x8DB9, 0x5D50}, //2401 #CJK UNIFIED IDEOGRAPH
+  {0x8DBA, 0x5D51}, //2402 #CJK UNIFIED IDEOGRAPH
+  {0x8DBB, 0x5D52}, //2403 #CJK UNIFIED IDEOGRAPH
+  {0x8DBC, 0x5D53}, //2404 #CJK UNIFIED IDEOGRAPH
+  {0x8DBD, 0x5D54}, //2405 #CJK UNIFIED IDEOGRAPH
+  {0x8DBE, 0x5D55}, //2406 #CJK UNIFIED IDEOGRAPH
+  {0x8DBF, 0x5D56}, //2407 #CJK UNIFIED IDEOGRAPH
+  {0x8DC0, 0x5D57}, //2408 #CJK UNIFIED IDEOGRAPH
+  {0x8DC1, 0x5D59}, //2409 #CJK UNIFIED IDEOGRAPH
+  {0x8DC2, 0x5D5A}, //2410 #CJK UNIFIED IDEOGRAPH
+  {0x8DC3, 0x5D5C}, //2411 #CJK UNIFIED IDEOGRAPH
+  {0x8DC4, 0x5D5E}, //2412 #CJK UNIFIED IDEOGRAPH
+  {0x8DC5, 0x5D5F}, //2413 #CJK UNIFIED IDEOGRAPH
+  {0x8DC6, 0x5D60}, //2414 #CJK UNIFIED IDEOGRAPH
+  {0x8DC7, 0x5D61}, //2415 #CJK UNIFIED IDEOGRAPH
+  {0x8DC8, 0x5D62}, //2416 #CJK UNIFIED IDEOGRAPH
+  {0x8DC9, 0x5D63}, //2417 #CJK UNIFIED IDEOGRAPH
+  {0x8DCA, 0x5D64}, //2418 #CJK UNIFIED IDEOGRAPH
+  {0x8DCB, 0x5D65}, //2419 #CJK UNIFIED IDEOGRAPH
+  {0x8DCC, 0x5D66}, //2420 #CJK UNIFIED IDEOGRAPH
+  {0x8DCD, 0x5D67}, //2421 #CJK UNIFIED IDEOGRAPH
+  {0x8DCE, 0x5D68}, //2422 #CJK UNIFIED IDEOGRAPH
+  {0x8DCF, 0x5D6A}, //2423 #CJK UNIFIED IDEOGRAPH
+  {0x8DD0, 0x5D6D}, //2424 #CJK UNIFIED IDEOGRAPH
+  {0x8DD1, 0x5D6E}, //2425 #CJK UNIFIED IDEOGRAPH
+  {0x8DD2, 0x5D70}, //2426 #CJK UNIFIED IDEOGRAPH
+  {0x8DD3, 0x5D71}, //2427 #CJK UNIFIED IDEOGRAPH
+  {0x8DD4, 0x5D72}, //2428 #CJK UNIFIED IDEOGRAPH
+  {0x8DD5, 0x5D73}, //2429 #CJK UNIFIED IDEOGRAPH
+  {0x8DD6, 0x5D75}, //2430 #CJK UNIFIED IDEOGRAPH
+  {0x8DD7, 0x5D76}, //2431 #CJK UNIFIED IDEOGRAPH
+  {0x8DD8, 0x5D77}, //2432 #CJK UNIFIED IDEOGRAPH
+  {0x8DD9, 0x5D78}, //2433 #CJK UNIFIED IDEOGRAPH
+  {0x8DDA, 0x5D79}, //2434 #CJK UNIFIED IDEOGRAPH
+  {0x8DDB, 0x5D7A}, //2435 #CJK UNIFIED IDEOGRAPH
+  {0x8DDC, 0x5D7B}, //2436 #CJK UNIFIED IDEOGRAPH
+  {0x8DDD, 0x5D7C}, //2437 #CJK UNIFIED IDEOGRAPH
+  {0x8DDE, 0x5D7D}, //2438 #CJK UNIFIED IDEOGRAPH
+  {0x8DDF, 0x5D7E}, //2439 #CJK UNIFIED IDEOGRAPH
+  {0x8DE0, 0x5D7F}, //2440 #CJK UNIFIED IDEOGRAPH
+  {0x8DE1, 0x5D80}, //2441 #CJK UNIFIED IDEOGRAPH
+  {0x8DE2, 0x5D81}, //2442 #CJK UNIFIED IDEOGRAPH
+  {0x8DE3, 0x5D83}, //2443 #CJK UNIFIED IDEOGRAPH
+  {0x8DE4, 0x5D84}, //2444 #CJK UNIFIED IDEOGRAPH
+  {0x8DE5, 0x5D85}, //2445 #CJK UNIFIED IDEOGRAPH
+  {0x8DE6, 0x5D86}, //2446 #CJK UNIFIED IDEOGRAPH
+  {0x8DE7, 0x5D87}, //2447 #CJK UNIFIED IDEOGRAPH
+  {0x8DE8, 0x5D88}, //2448 #CJK UNIFIED IDEOGRAPH
+  {0x8DE9, 0x5D89}, //2449 #CJK UNIFIED IDEOGRAPH
+  {0x8DEA, 0x5D8A}, //2450 #CJK UNIFIED IDEOGRAPH
+  {0x8DEB, 0x5D8B}, //2451 #CJK UNIFIED IDEOGRAPH
+  {0x8DEC, 0x5D8C}, //2452 #CJK UNIFIED IDEOGRAPH
+  {0x8DED, 0x5D8D}, //2453 #CJK UNIFIED IDEOGRAPH
+  {0x8DEE, 0x5D8E}, //2454 #CJK UNIFIED IDEOGRAPH
+  {0x8DEF, 0x5D8F}, //2455 #CJK UNIFIED IDEOGRAPH
+  {0x8DF0, 0x5D90}, //2456 #CJK UNIFIED IDEOGRAPH
+  {0x8DF1, 0x5D91}, //2457 #CJK UNIFIED IDEOGRAPH
+  {0x8DF2, 0x5D92}, //2458 #CJK UNIFIED IDEOGRAPH
+  {0x8DF3, 0x5D93}, //2459 #CJK UNIFIED IDEOGRAPH
+  {0x8DF4, 0x5D94}, //2460 #CJK UNIFIED IDEOGRAPH
+  {0x8DF5, 0x5D95}, //2461 #CJK UNIFIED IDEOGRAPH
+  {0x8DF6, 0x5D96}, //2462 #CJK UNIFIED IDEOGRAPH
+  {0x8DF7, 0x5D97}, //2463 #CJK UNIFIED IDEOGRAPH
+  {0x8DF8, 0x5D98}, //2464 #CJK UNIFIED IDEOGRAPH
+  {0x8DF9, 0x5D9A}, //2465 #CJK UNIFIED IDEOGRAPH
+  {0x8DFA, 0x5D9B}, //2466 #CJK UNIFIED IDEOGRAPH
+  {0x8DFB, 0x5D9C}, //2467 #CJK UNIFIED IDEOGRAPH
+  {0x8DFC, 0x5D9E}, //2468 #CJK UNIFIED IDEOGRAPH
+  {0x8DFD, 0x5D9F}, //2469 #CJK UNIFIED IDEOGRAPH
+  {0x8DFE, 0x5DA0}, //2470 #CJK UNIFIED IDEOGRAPH
+  {0x8E40, 0x5DA1}, //2471 #CJK UNIFIED IDEOGRAPH
+  {0x8E41, 0x5DA2}, //2472 #CJK UNIFIED IDEOGRAPH
+  {0x8E42, 0x5DA3}, //2473 #CJK UNIFIED IDEOGRAPH
+  {0x8E43, 0x5DA4}, //2474 #CJK UNIFIED IDEOGRAPH
+  {0x8E44, 0x5DA5}, //2475 #CJK UNIFIED IDEOGRAPH
+  {0x8E45, 0x5DA6}, //2476 #CJK UNIFIED IDEOGRAPH
+  {0x8E46, 0x5DA7}, //2477 #CJK UNIFIED IDEOGRAPH
+  {0x8E47, 0x5DA8}, //2478 #CJK UNIFIED IDEOGRAPH
+  {0x8E48, 0x5DA9}, //2479 #CJK UNIFIED IDEOGRAPH
+  {0x8E49, 0x5DAA}, //2480 #CJK UNIFIED IDEOGRAPH
+  {0x8E4A, 0x5DAB}, //2481 #CJK UNIFIED IDEOGRAPH
+  {0x8E4B, 0x5DAC}, //2482 #CJK UNIFIED IDEOGRAPH
+  {0x8E4C, 0x5DAD}, //2483 #CJK UNIFIED IDEOGRAPH
+  {0x8E4D, 0x5DAE}, //2484 #CJK UNIFIED IDEOGRAPH
+  {0x8E4E, 0x5DAF}, //2485 #CJK UNIFIED IDEOGRAPH
+  {0x8E4F, 0x5DB0}, //2486 #CJK UNIFIED IDEOGRAPH
+  {0x8E50, 0x5DB1}, //2487 #CJK UNIFIED IDEOGRAPH
+  {0x8E51, 0x5DB2}, //2488 #CJK UNIFIED IDEOGRAPH
+  {0x8E52, 0x5DB3}, //2489 #CJK UNIFIED IDEOGRAPH
+  {0x8E53, 0x5DB4}, //2490 #CJK UNIFIED IDEOGRAPH
+  {0x8E54, 0x5DB5}, //2491 #CJK UNIFIED IDEOGRAPH
+  {0x8E55, 0x5DB6}, //2492 #CJK UNIFIED IDEOGRAPH
+  {0x8E56, 0x5DB8}, //2493 #CJK UNIFIED IDEOGRAPH
+  {0x8E57, 0x5DB9}, //2494 #CJK UNIFIED IDEOGRAPH
+  {0x8E58, 0x5DBA}, //2495 #CJK UNIFIED IDEOGRAPH
+  {0x8E59, 0x5DBB}, //2496 #CJK UNIFIED IDEOGRAPH
+  {0x8E5A, 0x5DBC}, //2497 #CJK UNIFIED IDEOGRAPH
+  {0x8E5B, 0x5DBD}, //2498 #CJK UNIFIED IDEOGRAPH
+  {0x8E5C, 0x5DBE}, //2499 #CJK UNIFIED IDEOGRAPH
+  {0x8E5D, 0x5DBF}, //2500 #CJK UNIFIED IDEOGRAPH
+  {0x8E5E, 0x5DC0}, //2501 #CJK UNIFIED IDEOGRAPH
+  {0x8E5F, 0x5DC1}, //2502 #CJK UNIFIED IDEOGRAPH
+  {0x8E60, 0x5DC2}, //2503 #CJK UNIFIED IDEOGRAPH
+  {0x8E61, 0x5DC3}, //2504 #CJK UNIFIED IDEOGRAPH
+  {0x8E62, 0x5DC4}, //2505 #CJK UNIFIED IDEOGRAPH
+  {0x8E63, 0x5DC6}, //2506 #CJK UNIFIED IDEOGRAPH
+  {0x8E64, 0x5DC7}, //2507 #CJK UNIFIED IDEOGRAPH
+  {0x8E65, 0x5DC8}, //2508 #CJK UNIFIED IDEOGRAPH
+  {0x8E66, 0x5DC9}, //2509 #CJK UNIFIED IDEOGRAPH
+  {0x8E67, 0x5DCA}, //2510 #CJK UNIFIED IDEOGRAPH
+  {0x8E68, 0x5DCB}, //2511 #CJK UNIFIED IDEOGRAPH
+  {0x8E69, 0x5DCC}, //2512 #CJK UNIFIED IDEOGRAPH
+  {0x8E6A, 0x5DCE}, //2513 #CJK UNIFIED IDEOGRAPH
+  {0x8E6B, 0x5DCF}, //2514 #CJK UNIFIED IDEOGRAPH
+  {0x8E6C, 0x5DD0}, //2515 #CJK UNIFIED IDEOGRAPH
+  {0x8E6D, 0x5DD1}, //2516 #CJK UNIFIED IDEOGRAPH
+  {0x8E6E, 0x5DD2}, //2517 #CJK UNIFIED IDEOGRAPH
+  {0x8E6F, 0x5DD3}, //2518 #CJK UNIFIED IDEOGRAPH
+  {0x8E70, 0x5DD4}, //2519 #CJK UNIFIED IDEOGRAPH
+  {0x8E71, 0x5DD5}, //2520 #CJK UNIFIED IDEOGRAPH
+  {0x8E72, 0x5DD6}, //2521 #CJK UNIFIED IDEOGRAPH
+  {0x8E73, 0x5DD7}, //2522 #CJK UNIFIED IDEOGRAPH
+  {0x8E74, 0x5DD8}, //2523 #CJK UNIFIED IDEOGRAPH
+  {0x8E75, 0x5DD9}, //2524 #CJK UNIFIED IDEOGRAPH
+  {0x8E76, 0x5DDA}, //2525 #CJK UNIFIED IDEOGRAPH
+  {0x8E77, 0x5DDC}, //2526 #CJK UNIFIED IDEOGRAPH
+  {0x8E78, 0x5DDF}, //2527 #CJK UNIFIED IDEOGRAPH
+  {0x8E79, 0x5DE0}, //2528 #CJK UNIFIED IDEOGRAPH
+  {0x8E7A, 0x5DE3}, //2529 #CJK UNIFIED IDEOGRAPH
+  {0x8E7B, 0x5DE4}, //2530 #CJK UNIFIED IDEOGRAPH
+  {0x8E7C, 0x5DEA}, //2531 #CJK UNIFIED IDEOGRAPH
+  {0x8E7D, 0x5DEC}, //2532 #CJK UNIFIED IDEOGRAPH
+  {0x8E7E, 0x5DED}, //2533 #CJK UNIFIED IDEOGRAPH
+  {0x8E80, 0x5DF0}, //2534 #CJK UNIFIED IDEOGRAPH
+  {0x8E81, 0x5DF5}, //2535 #CJK UNIFIED IDEOGRAPH
+  {0x8E82, 0x5DF6}, //2536 #CJK UNIFIED IDEOGRAPH
+  {0x8E83, 0x5DF8}, //2537 #CJK UNIFIED IDEOGRAPH
+  {0x8E84, 0x5DF9}, //2538 #CJK UNIFIED IDEOGRAPH
+  {0x8E85, 0x5DFA}, //2539 #CJK UNIFIED IDEOGRAPH
+  {0x8E86, 0x5DFB}, //2540 #CJK UNIFIED IDEOGRAPH
+  {0x8E87, 0x5DFC}, //2541 #CJK UNIFIED IDEOGRAPH
+  {0x8E88, 0x5DFF}, //2542 #CJK UNIFIED IDEOGRAPH
+  {0x8E89, 0x5E00}, //2543 #CJK UNIFIED IDEOGRAPH
+  {0x8E8A, 0x5E04}, //2544 #CJK UNIFIED IDEOGRAPH
+  {0x8E8B, 0x5E07}, //2545 #CJK UNIFIED IDEOGRAPH
+  {0x8E8C, 0x5E09}, //2546 #CJK UNIFIED IDEOGRAPH
+  {0x8E8D, 0x5E0A}, //2547 #CJK UNIFIED IDEOGRAPH
+  {0x8E8E, 0x5E0B}, //2548 #CJK UNIFIED IDEOGRAPH
+  {0x8E8F, 0x5E0D}, //2549 #CJK UNIFIED IDEOGRAPH
+  {0x8E90, 0x5E0E}, //2550 #CJK UNIFIED IDEOGRAPH
+  {0x8E91, 0x5E12}, //2551 #CJK UNIFIED IDEOGRAPH
+  {0x8E92, 0x5E13}, //2552 #CJK UNIFIED IDEOGRAPH
+  {0x8E93, 0x5E17}, //2553 #CJK UNIFIED IDEOGRAPH
+  {0x8E94, 0x5E1E}, //2554 #CJK UNIFIED IDEOGRAPH
+  {0x8E95, 0x5E1F}, //2555 #CJK UNIFIED IDEOGRAPH
+  {0x8E96, 0x5E20}, //2556 #CJK UNIFIED IDEOGRAPH
+  {0x8E97, 0x5E21}, //2557 #CJK UNIFIED IDEOGRAPH
+  {0x8E98, 0x5E22}, //2558 #CJK UNIFIED IDEOGRAPH
+  {0x8E99, 0x5E23}, //2559 #CJK UNIFIED IDEOGRAPH
+  {0x8E9A, 0x5E24}, //2560 #CJK UNIFIED IDEOGRAPH
+  {0x8E9B, 0x5E25}, //2561 #CJK UNIFIED IDEOGRAPH
+  {0x8E9C, 0x5E28}, //2562 #CJK UNIFIED IDEOGRAPH
+  {0x8E9D, 0x5E29}, //2563 #CJK UNIFIED IDEOGRAPH
+  {0x8E9E, 0x5E2A}, //2564 #CJK UNIFIED IDEOGRAPH
+  {0x8E9F, 0x5E2B}, //2565 #CJK UNIFIED IDEOGRAPH
+  {0x8EA0, 0x5E2C}, //2566 #CJK UNIFIED IDEOGRAPH
+  {0x8EA1, 0x5E2F}, //2567 #CJK UNIFIED IDEOGRAPH
+  {0x8EA2, 0x5E30}, //2568 #CJK UNIFIED IDEOGRAPH
+  {0x8EA3, 0x5E32}, //2569 #CJK UNIFIED IDEOGRAPH
+  {0x8EA4, 0x5E33}, //2570 #CJK UNIFIED IDEOGRAPH
+  {0x8EA5, 0x5E34}, //2571 #CJK UNIFIED IDEOGRAPH
+  {0x8EA6, 0x5E35}, //2572 #CJK UNIFIED IDEOGRAPH
+  {0x8EA7, 0x5E36}, //2573 #CJK UNIFIED IDEOGRAPH
+  {0x8EA8, 0x5E39}, //2574 #CJK UNIFIED IDEOGRAPH
+  {0x8EA9, 0x5E3A}, //2575 #CJK UNIFIED IDEOGRAPH
+  {0x8EAA, 0x5E3E}, //2576 #CJK UNIFIED IDEOGRAPH
+  {0x8EAB, 0x5E3F}, //2577 #CJK UNIFIED IDEOGRAPH
+  {0x8EAC, 0x5E40}, //2578 #CJK UNIFIED IDEOGRAPH
+  {0x8EAD, 0x5E41}, //2579 #CJK UNIFIED IDEOGRAPH
+  {0x8EAE, 0x5E43}, //2580 #CJK UNIFIED IDEOGRAPH
+  {0x8EAF, 0x5E46}, //2581 #CJK UNIFIED IDEOGRAPH
+  {0x8EB0, 0x5E47}, //2582 #CJK UNIFIED IDEOGRAPH
+  {0x8EB1, 0x5E48}, //2583 #CJK UNIFIED IDEOGRAPH
+  {0x8EB2, 0x5E49}, //2584 #CJK UNIFIED IDEOGRAPH
+  {0x8EB3, 0x5E4A}, //2585 #CJK UNIFIED IDEOGRAPH
+  {0x8EB4, 0x5E4B}, //2586 #CJK UNIFIED IDEOGRAPH
+  {0x8EB5, 0x5E4D}, //2587 #CJK UNIFIED IDEOGRAPH
+  {0x8EB6, 0x5E4E}, //2588 #CJK UNIFIED IDEOGRAPH
+  {0x8EB7, 0x5E4F}, //2589 #CJK UNIFIED IDEOGRAPH
+  {0x8EB8, 0x5E50}, //2590 #CJK UNIFIED IDEOGRAPH
+  {0x8EB9, 0x5E51}, //2591 #CJK UNIFIED IDEOGRAPH
+  {0x8EBA, 0x5E52}, //2592 #CJK UNIFIED IDEOGRAPH
+  {0x8EBB, 0x5E53}, //2593 #CJK UNIFIED IDEOGRAPH
+  {0x8EBC, 0x5E56}, //2594 #CJK UNIFIED IDEOGRAPH
+  {0x8EBD, 0x5E57}, //2595 #CJK UNIFIED IDEOGRAPH
+  {0x8EBE, 0x5E58}, //2596 #CJK UNIFIED IDEOGRAPH
+  {0x8EBF, 0x5E59}, //2597 #CJK UNIFIED IDEOGRAPH
+  {0x8EC0, 0x5E5A}, //2598 #CJK UNIFIED IDEOGRAPH
+  {0x8EC1, 0x5E5C}, //2599 #CJK UNIFIED IDEOGRAPH
+  {0x8EC2, 0x5E5D}, //2600 #CJK UNIFIED IDEOGRAPH
+  {0x8EC3, 0x5E5F}, //2601 #CJK UNIFIED IDEOGRAPH
+  {0x8EC4, 0x5E60}, //2602 #CJK UNIFIED IDEOGRAPH
+  {0x8EC5, 0x5E63}, //2603 #CJK UNIFIED IDEOGRAPH
+  {0x8EC6, 0x5E64}, //2604 #CJK UNIFIED IDEOGRAPH
+  {0x8EC7, 0x5E65}, //2605 #CJK UNIFIED IDEOGRAPH
+  {0x8EC8, 0x5E66}, //2606 #CJK UNIFIED IDEOGRAPH
+  {0x8EC9, 0x5E67}, //2607 #CJK UNIFIED IDEOGRAPH
+  {0x8ECA, 0x5E68}, //2608 #CJK UNIFIED IDEOGRAPH
+  {0x8ECB, 0x5E69}, //2609 #CJK UNIFIED IDEOGRAPH
+  {0x8ECC, 0x5E6A}, //2610 #CJK UNIFIED IDEOGRAPH
+  {0x8ECD, 0x5E6B}, //2611 #CJK UNIFIED IDEOGRAPH
+  {0x8ECE, 0x5E6C}, //2612 #CJK UNIFIED IDEOGRAPH
+  {0x8ECF, 0x5E6D}, //2613 #CJK UNIFIED IDEOGRAPH
+  {0x8ED0, 0x5E6E}, //2614 #CJK UNIFIED IDEOGRAPH
+  {0x8ED1, 0x5E6F}, //2615 #CJK UNIFIED IDEOGRAPH
+  {0x8ED2, 0x5E70}, //2616 #CJK UNIFIED IDEOGRAPH
+  {0x8ED3, 0x5E71}, //2617 #CJK UNIFIED IDEOGRAPH
+  {0x8ED4, 0x5E75}, //2618 #CJK UNIFIED IDEOGRAPH
+  {0x8ED5, 0x5E77}, //2619 #CJK UNIFIED IDEOGRAPH
+  {0x8ED6, 0x5E79}, //2620 #CJK UNIFIED IDEOGRAPH
+  {0x8ED7, 0x5E7E}, //2621 #CJK UNIFIED IDEOGRAPH
+  {0x8ED8, 0x5E81}, //2622 #CJK UNIFIED IDEOGRAPH
+  {0x8ED9, 0x5E82}, //2623 #CJK UNIFIED IDEOGRAPH
+  {0x8EDA, 0x5E83}, //2624 #CJK UNIFIED IDEOGRAPH
+  {0x8EDB, 0x5E85}, //2625 #CJK UNIFIED IDEOGRAPH
+  {0x8EDC, 0x5E88}, //2626 #CJK UNIFIED IDEOGRAPH
+  {0x8EDD, 0x5E89}, //2627 #CJK UNIFIED IDEOGRAPH
+  {0x8EDE, 0x5E8C}, //2628 #CJK UNIFIED IDEOGRAPH
+  {0x8EDF, 0x5E8D}, //2629 #CJK UNIFIED IDEOGRAPH
+  {0x8EE0, 0x5E8E}, //2630 #CJK UNIFIED IDEOGRAPH
+  {0x8EE1, 0x5E92}, //2631 #CJK UNIFIED IDEOGRAPH
+  {0x8EE2, 0x5E98}, //2632 #CJK UNIFIED IDEOGRAPH
+  {0x8EE3, 0x5E9B}, //2633 #CJK UNIFIED IDEOGRAPH
+  {0x8EE4, 0x5E9D}, //2634 #CJK UNIFIED IDEOGRAPH
+  {0x8EE5, 0x5EA1}, //2635 #CJK UNIFIED IDEOGRAPH
+  {0x8EE6, 0x5EA2}, //2636 #CJK UNIFIED IDEOGRAPH
+  {0x8EE7, 0x5EA3}, //2637 #CJK UNIFIED IDEOGRAPH
+  {0x8EE8, 0x5EA4}, //2638 #CJK UNIFIED IDEOGRAPH
+  {0x8EE9, 0x5EA8}, //2639 #CJK UNIFIED IDEOGRAPH
+  {0x8EEA, 0x5EA9}, //2640 #CJK UNIFIED IDEOGRAPH
+  {0x8EEB, 0x5EAA}, //2641 #CJK UNIFIED IDEOGRAPH
+  {0x8EEC, 0x5EAB}, //2642 #CJK UNIFIED IDEOGRAPH
+  {0x8EED, 0x5EAC}, //2643 #CJK UNIFIED IDEOGRAPH
+  {0x8EEE, 0x5EAE}, //2644 #CJK UNIFIED IDEOGRAPH
+  {0x8EEF, 0x5EAF}, //2645 #CJK UNIFIED IDEOGRAPH
+  {0x8EF0, 0x5EB0}, //2646 #CJK UNIFIED IDEOGRAPH
+  {0x8EF1, 0x5EB1}, //2647 #CJK UNIFIED IDEOGRAPH
+  {0x8EF2, 0x5EB2}, //2648 #CJK UNIFIED IDEOGRAPH
+  {0x8EF3, 0x5EB4}, //2649 #CJK UNIFIED IDEOGRAPH
+  {0x8EF4, 0x5EBA}, //2650 #CJK UNIFIED IDEOGRAPH
+  {0x8EF5, 0x5EBB}, //2651 #CJK UNIFIED IDEOGRAPH
+  {0x8EF6, 0x5EBC}, //2652 #CJK UNIFIED IDEOGRAPH
+  {0x8EF7, 0x5EBD}, //2653 #CJK UNIFIED IDEOGRAPH
+  {0x8EF8, 0x5EBF}, //2654 #CJK UNIFIED IDEOGRAPH
+  {0x8EF9, 0x5EC0}, //2655 #CJK UNIFIED IDEOGRAPH
+  {0x8EFA, 0x5EC1}, //2656 #CJK UNIFIED IDEOGRAPH
+  {0x8EFB, 0x5EC2}, //2657 #CJK UNIFIED IDEOGRAPH
+  {0x8EFC, 0x5EC3}, //2658 #CJK UNIFIED IDEOGRAPH
+  {0x8EFD, 0x5EC4}, //2659 #CJK UNIFIED IDEOGRAPH
+  {0x8EFE, 0x5EC5}, //2660 #CJK UNIFIED IDEOGRAPH
+  {0x8F40, 0x5EC6}, //2661 #CJK UNIFIED IDEOGRAPH
+  {0x8F41, 0x5EC7}, //2662 #CJK UNIFIED IDEOGRAPH
+  {0x8F42, 0x5EC8}, //2663 #CJK UNIFIED IDEOGRAPH
+  {0x8F43, 0x5ECB}, //2664 #CJK UNIFIED IDEOGRAPH
+  {0x8F44, 0x5ECC}, //2665 #CJK UNIFIED IDEOGRAPH
+  {0x8F45, 0x5ECD}, //2666 #CJK UNIFIED IDEOGRAPH
+  {0x8F46, 0x5ECE}, //2667 #CJK UNIFIED IDEOGRAPH
+  {0x8F47, 0x5ECF}, //2668 #CJK UNIFIED IDEOGRAPH
+  {0x8F48, 0x5ED0}, //2669 #CJK UNIFIED IDEOGRAPH
+  {0x8F49, 0x5ED4}, //2670 #CJK UNIFIED IDEOGRAPH
+  {0x8F4A, 0x5ED5}, //2671 #CJK UNIFIED IDEOGRAPH
+  {0x8F4B, 0x5ED7}, //2672 #CJK UNIFIED IDEOGRAPH
+  {0x8F4C, 0x5ED8}, //2673 #CJK UNIFIED IDEOGRAPH
+  {0x8F4D, 0x5ED9}, //2674 #CJK UNIFIED IDEOGRAPH
+  {0x8F4E, 0x5EDA}, //2675 #CJK UNIFIED IDEOGRAPH
+  {0x8F4F, 0x5EDC}, //2676 #CJK UNIFIED IDEOGRAPH
+  {0x8F50, 0x5EDD}, //2677 #CJK UNIFIED IDEOGRAPH
+  {0x8F51, 0x5EDE}, //2678 #CJK UNIFIED IDEOGRAPH
+  {0x8F52, 0x5EDF}, //2679 #CJK UNIFIED IDEOGRAPH
+  {0x8F53, 0x5EE0}, //2680 #CJK UNIFIED IDEOGRAPH
+  {0x8F54, 0x5EE1}, //2681 #CJK UNIFIED IDEOGRAPH
+  {0x8F55, 0x5EE2}, //2682 #CJK UNIFIED IDEOGRAPH
+  {0x8F56, 0x5EE3}, //2683 #CJK UNIFIED IDEOGRAPH
+  {0x8F57, 0x5EE4}, //2684 #CJK UNIFIED IDEOGRAPH
+  {0x8F58, 0x5EE5}, //2685 #CJK UNIFIED IDEOGRAPH
+  {0x8F59, 0x5EE6}, //2686 #CJK UNIFIED IDEOGRAPH
+  {0x8F5A, 0x5EE7}, //2687 #CJK UNIFIED IDEOGRAPH
+  {0x8F5B, 0x5EE9}, //2688 #CJK UNIFIED IDEOGRAPH
+  {0x8F5C, 0x5EEB}, //2689 #CJK UNIFIED IDEOGRAPH
+  {0x8F5D, 0x5EEC}, //2690 #CJK UNIFIED IDEOGRAPH
+  {0x8F5E, 0x5EED}, //2691 #CJK UNIFIED IDEOGRAPH
+  {0x8F5F, 0x5EEE}, //2692 #CJK UNIFIED IDEOGRAPH
+  {0x8F60, 0x5EEF}, //2693 #CJK UNIFIED IDEOGRAPH
+  {0x8F61, 0x5EF0}, //2694 #CJK UNIFIED IDEOGRAPH
+  {0x8F62, 0x5EF1}, //2695 #CJK UNIFIED IDEOGRAPH
+  {0x8F63, 0x5EF2}, //2696 #CJK UNIFIED IDEOGRAPH
+  {0x8F64, 0x5EF3}, //2697 #CJK UNIFIED IDEOGRAPH
+  {0x8F65, 0x5EF5}, //2698 #CJK UNIFIED IDEOGRAPH
+  {0x8F66, 0x5EF8}, //2699 #CJK UNIFIED IDEOGRAPH
+  {0x8F67, 0x5EF9}, //2700 #CJK UNIFIED IDEOGRAPH
+  {0x8F68, 0x5EFB}, //2701 #CJK UNIFIED IDEOGRAPH
+  {0x8F69, 0x5EFC}, //2702 #CJK UNIFIED IDEOGRAPH
+  {0x8F6A, 0x5EFD}, //2703 #CJK UNIFIED IDEOGRAPH
+  {0x8F6B, 0x5F05}, //2704 #CJK UNIFIED IDEOGRAPH
+  {0x8F6C, 0x5F06}, //2705 #CJK UNIFIED IDEOGRAPH
+  {0x8F6D, 0x5F07}, //2706 #CJK UNIFIED IDEOGRAPH
+  {0x8F6E, 0x5F09}, //2707 #CJK UNIFIED IDEOGRAPH
+  {0x8F6F, 0x5F0C}, //2708 #CJK UNIFIED IDEOGRAPH
+  {0x8F70, 0x5F0D}, //2709 #CJK UNIFIED IDEOGRAPH
+  {0x8F71, 0x5F0E}, //2710 #CJK UNIFIED IDEOGRAPH
+  {0x8F72, 0x5F10}, //2711 #CJK UNIFIED IDEOGRAPH
+  {0x8F73, 0x5F12}, //2712 #CJK UNIFIED IDEOGRAPH
+  {0x8F74, 0x5F14}, //2713 #CJK UNIFIED IDEOGRAPH
+  {0x8F75, 0x5F16}, //2714 #CJK UNIFIED IDEOGRAPH
+  {0x8F76, 0x5F19}, //2715 #CJK UNIFIED IDEOGRAPH
+  {0x8F77, 0x5F1A}, //2716 #CJK UNIFIED IDEOGRAPH
+  {0x8F78, 0x5F1C}, //2717 #CJK UNIFIED IDEOGRAPH
+  {0x8F79, 0x5F1D}, //2718 #CJK UNIFIED IDEOGRAPH
+  {0x8F7A, 0x5F1E}, //2719 #CJK UNIFIED IDEOGRAPH
+  {0x8F7B, 0x5F21}, //2720 #CJK UNIFIED IDEOGRAPH
+  {0x8F7C, 0x5F22}, //2721 #CJK UNIFIED IDEOGRAPH
+  {0x8F7D, 0x5F23}, //2722 #CJK UNIFIED IDEOGRAPH
+  {0x8F7E, 0x5F24}, //2723 #CJK UNIFIED IDEOGRAPH
+  {0x8F80, 0x5F28}, //2724 #CJK UNIFIED IDEOGRAPH
+  {0x8F81, 0x5F2B}, //2725 #CJK UNIFIED IDEOGRAPH
+  {0x8F82, 0x5F2C}, //2726 #CJK UNIFIED IDEOGRAPH
+  {0x8F83, 0x5F2E}, //2727 #CJK UNIFIED IDEOGRAPH
+  {0x8F84, 0x5F30}, //2728 #CJK UNIFIED IDEOGRAPH
+  {0x8F85, 0x5F32}, //2729 #CJK UNIFIED IDEOGRAPH
+  {0x8F86, 0x5F33}, //2730 #CJK UNIFIED IDEOGRAPH
+  {0x8F87, 0x5F34}, //2731 #CJK UNIFIED IDEOGRAPH
+  {0x8F88, 0x5F35}, //2732 #CJK UNIFIED IDEOGRAPH
+  {0x8F89, 0x5F36}, //2733 #CJK UNIFIED IDEOGRAPH
+  {0x8F8A, 0x5F37}, //2734 #CJK UNIFIED IDEOGRAPH
+  {0x8F8B, 0x5F38}, //2735 #CJK UNIFIED IDEOGRAPH
+  {0x8F8C, 0x5F3B}, //2736 #CJK UNIFIED IDEOGRAPH
+  {0x8F8D, 0x5F3D}, //2737 #CJK UNIFIED IDEOGRAPH
+  {0x8F8E, 0x5F3E}, //2738 #CJK UNIFIED IDEOGRAPH
+  {0x8F8F, 0x5F3F}, //2739 #CJK UNIFIED IDEOGRAPH
+  {0x8F90, 0x5F41}, //2740 #CJK UNIFIED IDEOGRAPH
+  {0x8F91, 0x5F42}, //2741 #CJK UNIFIED IDEOGRAPH
+  {0x8F92, 0x5F43}, //2742 #CJK UNIFIED IDEOGRAPH
+  {0x8F93, 0x5F44}, //2743 #CJK UNIFIED IDEOGRAPH
+  {0x8F94, 0x5F45}, //2744 #CJK UNIFIED IDEOGRAPH
+  {0x8F95, 0x5F46}, //2745 #CJK UNIFIED IDEOGRAPH
+  {0x8F96, 0x5F47}, //2746 #CJK UNIFIED IDEOGRAPH
+  {0x8F97, 0x5F48}, //2747 #CJK UNIFIED IDEOGRAPH
+  {0x8F98, 0x5F49}, //2748 #CJK UNIFIED IDEOGRAPH
+  {0x8F99, 0x5F4A}, //2749 #CJK UNIFIED IDEOGRAPH
+  {0x8F9A, 0x5F4B}, //2750 #CJK UNIFIED IDEOGRAPH
+  {0x8F9B, 0x5F4C}, //2751 #CJK UNIFIED IDEOGRAPH
+  {0x8F9C, 0x5F4D}, //2752 #CJK UNIFIED IDEOGRAPH
+  {0x8F9D, 0x5F4E}, //2753 #CJK UNIFIED IDEOGRAPH
+  {0x8F9E, 0x5F4F}, //2754 #CJK UNIFIED IDEOGRAPH
+  {0x8F9F, 0x5F51}, //2755 #CJK UNIFIED IDEOGRAPH
+  {0x8FA0, 0x5F54}, //2756 #CJK UNIFIED IDEOGRAPH
+  {0x8FA1, 0x5F59}, //2757 #CJK UNIFIED IDEOGRAPH
+  {0x8FA2, 0x5F5A}, //2758 #CJK UNIFIED IDEOGRAPH
+  {0x8FA3, 0x5F5B}, //2759 #CJK UNIFIED IDEOGRAPH
+  {0x8FA4, 0x5F5C}, //2760 #CJK UNIFIED IDEOGRAPH
+  {0x8FA5, 0x5F5E}, //2761 #CJK UNIFIED IDEOGRAPH
+  {0x8FA6, 0x5F5F}, //2762 #CJK UNIFIED IDEOGRAPH
+  {0x8FA7, 0x5F60}, //2763 #CJK UNIFIED IDEOGRAPH
+  {0x8FA8, 0x5F63}, //2764 #CJK UNIFIED IDEOGRAPH
+  {0x8FA9, 0x5F65}, //2765 #CJK UNIFIED IDEOGRAPH
+  {0x8FAA, 0x5F67}, //2766 #CJK UNIFIED IDEOGRAPH
+  {0x8FAB, 0x5F68}, //2767 #CJK UNIFIED IDEOGRAPH
+  {0x8FAC, 0x5F6B}, //2768 #CJK UNIFIED IDEOGRAPH
+  {0x8FAD, 0x5F6E}, //2769 #CJK UNIFIED IDEOGRAPH
+  {0x8FAE, 0x5F6F}, //2770 #CJK UNIFIED IDEOGRAPH
+  {0x8FAF, 0x5F72}, //2771 #CJK UNIFIED IDEOGRAPH
+  {0x8FB0, 0x5F74}, //2772 #CJK UNIFIED IDEOGRAPH
+  {0x8FB1, 0x5F75}, //2773 #CJK UNIFIED IDEOGRAPH
+  {0x8FB2, 0x5F76}, //2774 #CJK UNIFIED IDEOGRAPH
+  {0x8FB3, 0x5F78}, //2775 #CJK UNIFIED IDEOGRAPH
+  {0x8FB4, 0x5F7A}, //2776 #CJK UNIFIED IDEOGRAPH
+  {0x8FB5, 0x5F7D}, //2777 #CJK UNIFIED IDEOGRAPH
+  {0x8FB6, 0x5F7E}, //2778 #CJK UNIFIED IDEOGRAPH
+  {0x8FB7, 0x5F7F}, //2779 #CJK UNIFIED IDEOGRAPH
+  {0x8FB8, 0x5F83}, //2780 #CJK UNIFIED IDEOGRAPH
+  {0x8FB9, 0x5F86}, //2781 #CJK UNIFIED IDEOGRAPH
+  {0x8FBA, 0x5F8D}, //2782 #CJK UNIFIED IDEOGRAPH
+  {0x8FBB, 0x5F8E}, //2783 #CJK UNIFIED IDEOGRAPH
+  {0x8FBC, 0x5F8F}, //2784 #CJK UNIFIED IDEOGRAPH
+  {0x8FBD, 0x5F91}, //2785 #CJK UNIFIED IDEOGRAPH
+  {0x8FBE, 0x5F93}, //2786 #CJK UNIFIED IDEOGRAPH
+  {0x8FBF, 0x5F94}, //2787 #CJK UNIFIED IDEOGRAPH
+  {0x8FC0, 0x5F96}, //2788 #CJK UNIFIED IDEOGRAPH
+  {0x8FC1, 0x5F9A}, //2789 #CJK UNIFIED IDEOGRAPH
+  {0x8FC2, 0x5F9B}, //2790 #CJK UNIFIED IDEOGRAPH
+  {0x8FC3, 0x5F9D}, //2791 #CJK UNIFIED IDEOGRAPH
+  {0x8FC4, 0x5F9E}, //2792 #CJK UNIFIED IDEOGRAPH
+  {0x8FC5, 0x5F9F}, //2793 #CJK UNIFIED IDEOGRAPH
+  {0x8FC6, 0x5FA0}, //2794 #CJK UNIFIED IDEOGRAPH
+  {0x8FC7, 0x5FA2}, //2795 #CJK UNIFIED IDEOGRAPH
+  {0x8FC8, 0x5FA3}, //2796 #CJK UNIFIED IDEOGRAPH
+  {0x8FC9, 0x5FA4}, //2797 #CJK UNIFIED IDEOGRAPH
+  {0x8FCA, 0x5FA5}, //2798 #CJK UNIFIED IDEOGRAPH
+  {0x8FCB, 0x5FA6}, //2799 #CJK UNIFIED IDEOGRAPH
+  {0x8FCC, 0x5FA7}, //2800 #CJK UNIFIED IDEOGRAPH
+  {0x8FCD, 0x5FA9}, //2801 #CJK UNIFIED IDEOGRAPH
+  {0x8FCE, 0x5FAB}, //2802 #CJK UNIFIED IDEOGRAPH
+  {0x8FCF, 0x5FAC}, //2803 #CJK UNIFIED IDEOGRAPH
+  {0x8FD0, 0x5FAF}, //2804 #CJK UNIFIED IDEOGRAPH
+  {0x8FD1, 0x5FB0}, //2805 #CJK UNIFIED IDEOGRAPH
+  {0x8FD2, 0x5FB1}, //2806 #CJK UNIFIED IDEOGRAPH
+  {0x8FD3, 0x5FB2}, //2807 #CJK UNIFIED IDEOGRAPH
+  {0x8FD4, 0x5FB3}, //2808 #CJK UNIFIED IDEOGRAPH
+  {0x8FD5, 0x5FB4}, //2809 #CJK UNIFIED IDEOGRAPH
+  {0x8FD6, 0x5FB6}, //2810 #CJK UNIFIED IDEOGRAPH
+  {0x8FD7, 0x5FB8}, //2811 #CJK UNIFIED IDEOGRAPH
+  {0x8FD8, 0x5FB9}, //2812 #CJK UNIFIED IDEOGRAPH
+  {0x8FD9, 0x5FBA}, //2813 #CJK UNIFIED IDEOGRAPH
+  {0x8FDA, 0x5FBB}, //2814 #CJK UNIFIED IDEOGRAPH
+  {0x8FDB, 0x5FBE}, //2815 #CJK UNIFIED IDEOGRAPH
+  {0x8FDC, 0x5FBF}, //2816 #CJK UNIFIED IDEOGRAPH
+  {0x8FDD, 0x5FC0}, //2817 #CJK UNIFIED IDEOGRAPH
+  {0x8FDE, 0x5FC1}, //2818 #CJK UNIFIED IDEOGRAPH
+  {0x8FDF, 0x5FC2}, //2819 #CJK UNIFIED IDEOGRAPH
+  {0x8FE0, 0x5FC7}, //2820 #CJK UNIFIED IDEOGRAPH
+  {0x8FE1, 0x5FC8}, //2821 #CJK UNIFIED IDEOGRAPH
+  {0x8FE2, 0x5FCA}, //2822 #CJK UNIFIED IDEOGRAPH
+  {0x8FE3, 0x5FCB}, //2823 #CJK UNIFIED IDEOGRAPH
+  {0x8FE4, 0x5FCE}, //2824 #CJK UNIFIED IDEOGRAPH
+  {0x8FE5, 0x5FD3}, //2825 #CJK UNIFIED IDEOGRAPH
+  {0x8FE6, 0x5FD4}, //2826 #CJK UNIFIED IDEOGRAPH
+  {0x8FE7, 0x5FD5}, //2827 #CJK UNIFIED IDEOGRAPH
+  {0x8FE8, 0x5FDA}, //2828 #CJK UNIFIED IDEOGRAPH
+  {0x8FE9, 0x5FDB}, //2829 #CJK UNIFIED IDEOGRAPH
+  {0x8FEA, 0x5FDC}, //2830 #CJK UNIFIED IDEOGRAPH
+  {0x8FEB, 0x5FDE}, //2831 #CJK UNIFIED IDEOGRAPH
+  {0x8FEC, 0x5FDF}, //2832 #CJK UNIFIED IDEOGRAPH
+  {0x8FED, 0x5FE2}, //2833 #CJK UNIFIED IDEOGRAPH
+  {0x8FEE, 0x5FE3}, //2834 #CJK UNIFIED IDEOGRAPH
+  {0x8FEF, 0x5FE5}, //2835 #CJK UNIFIED IDEOGRAPH
+  {0x8FF0, 0x5FE6}, //2836 #CJK UNIFIED IDEOGRAPH
+  {0x8FF1, 0x5FE8}, //2837 #CJK UNIFIED IDEOGRAPH
+  {0x8FF2, 0x5FE9}, //2838 #CJK UNIFIED IDEOGRAPH
+  {0x8FF3, 0x5FEC}, //2839 #CJK UNIFIED IDEOGRAPH
+  {0x8FF4, 0x5FEF}, //2840 #CJK UNIFIED IDEOGRAPH
+  {0x8FF5, 0x5FF0}, //2841 #CJK UNIFIED IDEOGRAPH
+  {0x8FF6, 0x5FF2}, //2842 #CJK UNIFIED IDEOGRAPH
+  {0x8FF7, 0x5FF3}, //2843 #CJK UNIFIED IDEOGRAPH
+  {0x8FF8, 0x5FF4}, //2844 #CJK UNIFIED IDEOGRAPH
+  {0x8FF9, 0x5FF6}, //2845 #CJK UNIFIED IDEOGRAPH
+  {0x8FFA, 0x5FF7}, //2846 #CJK UNIFIED IDEOGRAPH
+  {0x8FFB, 0x5FF9}, //2847 #CJK UNIFIED IDEOGRAPH
+  {0x8FFC, 0x5FFA}, //2848 #CJK UNIFIED IDEOGRAPH
+  {0x8FFD, 0x5FFC}, //2849 #CJK UNIFIED IDEOGRAPH
+  {0x8FFE, 0x6007}, //2850 #CJK UNIFIED IDEOGRAPH
+  {0x9040, 0x6008}, //2851 #CJK UNIFIED IDEOGRAPH
+  {0x9041, 0x6009}, //2852 #CJK UNIFIED IDEOGRAPH
+  {0x9042, 0x600B}, //2853 #CJK UNIFIED IDEOGRAPH
+  {0x9043, 0x600C}, //2854 #CJK UNIFIED IDEOGRAPH
+  {0x9044, 0x6010}, //2855 #CJK UNIFIED IDEOGRAPH
+  {0x9045, 0x6011}, //2856 #CJK UNIFIED IDEOGRAPH
+  {0x9046, 0x6013}, //2857 #CJK UNIFIED IDEOGRAPH
+  {0x9047, 0x6017}, //2858 #CJK UNIFIED IDEOGRAPH
+  {0x9048, 0x6018}, //2859 #CJK UNIFIED IDEOGRAPH
+  {0x9049, 0x601A}, //2860 #CJK UNIFIED IDEOGRAPH
+  {0x904A, 0x601E}, //2861 #CJK UNIFIED IDEOGRAPH
+  {0x904B, 0x601F}, //2862 #CJK UNIFIED IDEOGRAPH
+  {0x904C, 0x6022}, //2863 #CJK UNIFIED IDEOGRAPH
+  {0x904D, 0x6023}, //2864 #CJK UNIFIED IDEOGRAPH
+  {0x904E, 0x6024}, //2865 #CJK UNIFIED IDEOGRAPH
+  {0x904F, 0x602C}, //2866 #CJK UNIFIED IDEOGRAPH
+  {0x9050, 0x602D}, //2867 #CJK UNIFIED IDEOGRAPH
+  {0x9051, 0x602E}, //2868 #CJK UNIFIED IDEOGRAPH
+  {0x9052, 0x6030}, //2869 #CJK UNIFIED IDEOGRAPH
+  {0x9053, 0x6031}, //2870 #CJK UNIFIED IDEOGRAPH
+  {0x9054, 0x6032}, //2871 #CJK UNIFIED IDEOGRAPH
+  {0x9055, 0x6033}, //2872 #CJK UNIFIED IDEOGRAPH
+  {0x9056, 0x6034}, //2873 #CJK UNIFIED IDEOGRAPH
+  {0x9057, 0x6036}, //2874 #CJK UNIFIED IDEOGRAPH
+  {0x9058, 0x6037}, //2875 #CJK UNIFIED IDEOGRAPH
+  {0x9059, 0x6038}, //2876 #CJK UNIFIED IDEOGRAPH
+  {0x905A, 0x6039}, //2877 #CJK UNIFIED IDEOGRAPH
+  {0x905B, 0x603A}, //2878 #CJK UNIFIED IDEOGRAPH
+  {0x905C, 0x603D}, //2879 #CJK UNIFIED IDEOGRAPH
+  {0x905D, 0x603E}, //2880 #CJK UNIFIED IDEOGRAPH
+  {0x905E, 0x6040}, //2881 #CJK UNIFIED IDEOGRAPH
+  {0x905F, 0x6044}, //2882 #CJK UNIFIED IDEOGRAPH
+  {0x9060, 0x6045}, //2883 #CJK UNIFIED IDEOGRAPH
+  {0x9061, 0x6046}, //2884 #CJK UNIFIED IDEOGRAPH
+  {0x9062, 0x6047}, //2885 #CJK UNIFIED IDEOGRAPH
+  {0x9063, 0x6048}, //2886 #CJK UNIFIED IDEOGRAPH
+  {0x9064, 0x6049}, //2887 #CJK UNIFIED IDEOGRAPH
+  {0x9065, 0x604A}, //2888 #CJK UNIFIED IDEOGRAPH
+  {0x9066, 0x604C}, //2889 #CJK UNIFIED IDEOGRAPH
+  {0x9067, 0x604E}, //2890 #CJK UNIFIED IDEOGRAPH
+  {0x9068, 0x604F}, //2891 #CJK UNIFIED IDEOGRAPH
+  {0x9069, 0x6051}, //2892 #CJK UNIFIED IDEOGRAPH
+  {0x906A, 0x6053}, //2893 #CJK UNIFIED IDEOGRAPH
+  {0x906B, 0x6054}, //2894 #CJK UNIFIED IDEOGRAPH
+  {0x906C, 0x6056}, //2895 #CJK UNIFIED IDEOGRAPH
+  {0x906D, 0x6057}, //2896 #CJK UNIFIED IDEOGRAPH
+  {0x906E, 0x6058}, //2897 #CJK UNIFIED IDEOGRAPH
+  {0x906F, 0x605B}, //2898 #CJK UNIFIED IDEOGRAPH
+  {0x9070, 0x605C}, //2899 #CJK UNIFIED IDEOGRAPH
+  {0x9071, 0x605E}, //2900 #CJK UNIFIED IDEOGRAPH
+  {0x9072, 0x605F}, //2901 #CJK UNIFIED IDEOGRAPH
+  {0x9073, 0x6060}, //2902 #CJK UNIFIED IDEOGRAPH
+  {0x9074, 0x6061}, //2903 #CJK UNIFIED IDEOGRAPH
+  {0x9075, 0x6065}, //2904 #CJK UNIFIED IDEOGRAPH
+  {0x9076, 0x6066}, //2905 #CJK UNIFIED IDEOGRAPH
+  {0x9077, 0x606E}, //2906 #CJK UNIFIED IDEOGRAPH
+  {0x9078, 0x6071}, //2907 #CJK UNIFIED IDEOGRAPH
+  {0x9079, 0x6072}, //2908 #CJK UNIFIED IDEOGRAPH
+  {0x907A, 0x6074}, //2909 #CJK UNIFIED IDEOGRAPH
+  {0x907B, 0x6075}, //2910 #CJK UNIFIED IDEOGRAPH
+  {0x907C, 0x6077}, //2911 #CJK UNIFIED IDEOGRAPH
+  {0x907D, 0x607E}, //2912 #CJK UNIFIED IDEOGRAPH
+  {0x907E, 0x6080}, //2913 #CJK UNIFIED IDEOGRAPH
+  {0x9080, 0x6081}, //2914 #CJK UNIFIED IDEOGRAPH
+  {0x9081, 0x6082}, //2915 #CJK UNIFIED IDEOGRAPH
+  {0x9082, 0x6085}, //2916 #CJK UNIFIED IDEOGRAPH
+  {0x9083, 0x6086}, //2917 #CJK UNIFIED IDEOGRAPH
+  {0x9084, 0x6087}, //2918 #CJK UNIFIED IDEOGRAPH
+  {0x9085, 0x6088}, //2919 #CJK UNIFIED IDEOGRAPH
+  {0x9086, 0x608A}, //2920 #CJK UNIFIED IDEOGRAPH
+  {0x9087, 0x608B}, //2921 #CJK UNIFIED IDEOGRAPH
+  {0x9088, 0x608E}, //2922 #CJK UNIFIED IDEOGRAPH
+  {0x9089, 0x608F}, //2923 #CJK UNIFIED IDEOGRAPH
+  {0x908A, 0x6090}, //2924 #CJK UNIFIED IDEOGRAPH
+  {0x908B, 0x6091}, //2925 #CJK UNIFIED IDEOGRAPH
+  {0x908C, 0x6093}, //2926 #CJK UNIFIED IDEOGRAPH
+  {0x908D, 0x6095}, //2927 #CJK UNIFIED IDEOGRAPH
+  {0x908E, 0x6097}, //2928 #CJK UNIFIED IDEOGRAPH
+  {0x908F, 0x6098}, //2929 #CJK UNIFIED IDEOGRAPH
+  {0x9090, 0x6099}, //2930 #CJK UNIFIED IDEOGRAPH
+  {0x9091, 0x609C}, //2931 #CJK UNIFIED IDEOGRAPH
+  {0x9092, 0x609E}, //2932 #CJK UNIFIED IDEOGRAPH
+  {0x9093, 0x60A1}, //2933 #CJK UNIFIED IDEOGRAPH
+  {0x9094, 0x60A2}, //2934 #CJK UNIFIED IDEOGRAPH
+  {0x9095, 0x60A4}, //2935 #CJK UNIFIED IDEOGRAPH
+  {0x9096, 0x60A5}, //2936 #CJK UNIFIED IDEOGRAPH
+  {0x9097, 0x60A7}, //2937 #CJK UNIFIED IDEOGRAPH
+  {0x9098, 0x60A9}, //2938 #CJK UNIFIED IDEOGRAPH
+  {0x9099, 0x60AA}, //2939 #CJK UNIFIED IDEOGRAPH
+  {0x909A, 0x60AE}, //2940 #CJK UNIFIED IDEOGRAPH
+  {0x909B, 0x60B0}, //2941 #CJK UNIFIED IDEOGRAPH
+  {0x909C, 0x60B3}, //2942 #CJK UNIFIED IDEOGRAPH
+  {0x909D, 0x60B5}, //2943 #CJK UNIFIED IDEOGRAPH
+  {0x909E, 0x60B6}, //2944 #CJK UNIFIED IDEOGRAPH
+  {0x909F, 0x60B7}, //2945 #CJK UNIFIED IDEOGRAPH
+  {0x90A0, 0x60B9}, //2946 #CJK UNIFIED IDEOGRAPH
+  {0x90A1, 0x60BA}, //2947 #CJK UNIFIED IDEOGRAPH
+  {0x90A2, 0x60BD}, //2948 #CJK UNIFIED IDEOGRAPH
+  {0x90A3, 0x60BE}, //2949 #CJK UNIFIED IDEOGRAPH
+  {0x90A4, 0x60BF}, //2950 #CJK UNIFIED IDEOGRAPH
+  {0x90A5, 0x60C0}, //2951 #CJK UNIFIED IDEOGRAPH
+  {0x90A6, 0x60C1}, //2952 #CJK UNIFIED IDEOGRAPH
+  {0x90A7, 0x60C2}, //2953 #CJK UNIFIED IDEOGRAPH
+  {0x90A8, 0x60C3}, //2954 #CJK UNIFIED IDEOGRAPH
+  {0x90A9, 0x60C4}, //2955 #CJK UNIFIED IDEOGRAPH
+  {0x90AA, 0x60C7}, //2956 #CJK UNIFIED IDEOGRAPH
+  {0x90AB, 0x60C8}, //2957 #CJK UNIFIED IDEOGRAPH
+  {0x90AC, 0x60C9}, //2958 #CJK UNIFIED IDEOGRAPH
+  {0x90AD, 0x60CC}, //2959 #CJK UNIFIED IDEOGRAPH
+  {0x90AE, 0x60CD}, //2960 #CJK UNIFIED IDEOGRAPH
+  {0x90AF, 0x60CE}, //2961 #CJK UNIFIED IDEOGRAPH
+  {0x90B0, 0x60CF}, //2962 #CJK UNIFIED IDEOGRAPH
+  {0x90B1, 0x60D0}, //2963 #CJK UNIFIED IDEOGRAPH
+  {0x90B2, 0x60D2}, //2964 #CJK UNIFIED IDEOGRAPH
+  {0x90B3, 0x60D3}, //2965 #CJK UNIFIED IDEOGRAPH
+  {0x90B4, 0x60D4}, //2966 #CJK UNIFIED IDEOGRAPH
+  {0x90B5, 0x60D6}, //2967 #CJK UNIFIED IDEOGRAPH
+  {0x90B6, 0x60D7}, //2968 #CJK UNIFIED IDEOGRAPH
+  {0x90B7, 0x60D9}, //2969 #CJK UNIFIED IDEOGRAPH
+  {0x90B8, 0x60DB}, //2970 #CJK UNIFIED IDEOGRAPH
+  {0x90B9, 0x60DE}, //2971 #CJK UNIFIED IDEOGRAPH
+  {0x90BA, 0x60E1}, //2972 #CJK UNIFIED IDEOGRAPH
+  {0x90BB, 0x60E2}, //2973 #CJK UNIFIED IDEOGRAPH
+  {0x90BC, 0x60E3}, //2974 #CJK UNIFIED IDEOGRAPH
+  {0x90BD, 0x60E4}, //2975 #CJK UNIFIED IDEOGRAPH
+  {0x90BE, 0x60E5}, //2976 #CJK UNIFIED IDEOGRAPH
+  {0x90BF, 0x60EA}, //2977 #CJK UNIFIED IDEOGRAPH
+  {0x90C0, 0x60F1}, //2978 #CJK UNIFIED IDEOGRAPH
+  {0x90C1, 0x60F2}, //2979 #CJK UNIFIED IDEOGRAPH
+  {0x90C2, 0x60F5}, //2980 #CJK UNIFIED IDEOGRAPH
+  {0x90C3, 0x60F7}, //2981 #CJK UNIFIED IDEOGRAPH
+  {0x90C4, 0x60F8}, //2982 #CJK UNIFIED IDEOGRAPH
+  {0x90C5, 0x60FB}, //2983 #CJK UNIFIED IDEOGRAPH
+  {0x90C6, 0x60FC}, //2984 #CJK UNIFIED IDEOGRAPH
+  {0x90C7, 0x60FD}, //2985 #CJK UNIFIED IDEOGRAPH
+  {0x90C8, 0x60FE}, //2986 #CJK UNIFIED IDEOGRAPH
+  {0x90C9, 0x60FF}, //2987 #CJK UNIFIED IDEOGRAPH
+  {0x90CA, 0x6102}, //2988 #CJK UNIFIED IDEOGRAPH
+  {0x90CB, 0x6103}, //2989 #CJK UNIFIED IDEOGRAPH
+  {0x90CC, 0x6104}, //2990 #CJK UNIFIED IDEOGRAPH
+  {0x90CD, 0x6105}, //2991 #CJK UNIFIED IDEOGRAPH
+  {0x90CE, 0x6107}, //2992 #CJK UNIFIED IDEOGRAPH
+  {0x90CF, 0x610A}, //2993 #CJK UNIFIED IDEOGRAPH
+  {0x90D0, 0x610B}, //2994 #CJK UNIFIED IDEOGRAPH
+  {0x90D1, 0x610C}, //2995 #CJK UNIFIED IDEOGRAPH
+  {0x90D2, 0x6110}, //2996 #CJK UNIFIED IDEOGRAPH
+  {0x90D3, 0x6111}, //2997 #CJK UNIFIED IDEOGRAPH
+  {0x90D4, 0x6112}, //2998 #CJK UNIFIED IDEOGRAPH
+  {0x90D5, 0x6113}, //2999 #CJK UNIFIED IDEOGRAPH
+  {0x90D6, 0x6114}, //3000 #CJK UNIFIED IDEOGRAPH
+  {0x90D7, 0x6116}, //3001 #CJK UNIFIED IDEOGRAPH
+  {0x90D8, 0x6117}, //3002 #CJK UNIFIED IDEOGRAPH
+  {0x90D9, 0x6118}, //3003 #CJK UNIFIED IDEOGRAPH
+  {0x90DA, 0x6119}, //3004 #CJK UNIFIED IDEOGRAPH
+  {0x90DB, 0x611B}, //3005 #CJK UNIFIED IDEOGRAPH
+  {0x90DC, 0x611C}, //3006 #CJK UNIFIED IDEOGRAPH
+  {0x90DD, 0x611D}, //3007 #CJK UNIFIED IDEOGRAPH
+  {0x90DE, 0x611E}, //3008 #CJK UNIFIED IDEOGRAPH
+  {0x90DF, 0x6121}, //3009 #CJK UNIFIED IDEOGRAPH
+  {0x90E0, 0x6122}, //3010 #CJK UNIFIED IDEOGRAPH
+  {0x90E1, 0x6125}, //3011 #CJK UNIFIED IDEOGRAPH
+  {0x90E2, 0x6128}, //3012 #CJK UNIFIED IDEOGRAPH
+  {0x90E3, 0x6129}, //3013 #CJK UNIFIED IDEOGRAPH
+  {0x90E4, 0x612A}, //3014 #CJK UNIFIED IDEOGRAPH
+  {0x90E5, 0x612C}, //3015 #CJK UNIFIED IDEOGRAPH
+  {0x90E6, 0x612D}, //3016 #CJK UNIFIED IDEOGRAPH
+  {0x90E7, 0x612E}, //3017 #CJK UNIFIED IDEOGRAPH
+  {0x90E8, 0x612F}, //3018 #CJK UNIFIED IDEOGRAPH
+  {0x90E9, 0x6130}, //3019 #CJK UNIFIED IDEOGRAPH
+  {0x90EA, 0x6131}, //3020 #CJK UNIFIED IDEOGRAPH
+  {0x90EB, 0x6132}, //3021 #CJK UNIFIED IDEOGRAPH
+  {0x90EC, 0x6133}, //3022 #CJK UNIFIED IDEOGRAPH
+  {0x90ED, 0x6134}, //3023 #CJK UNIFIED IDEOGRAPH
+  {0x90EE, 0x6135}, //3024 #CJK UNIFIED IDEOGRAPH
+  {0x90EF, 0x6136}, //3025 #CJK UNIFIED IDEOGRAPH
+  {0x90F0, 0x6137}, //3026 #CJK UNIFIED IDEOGRAPH
+  {0x90F1, 0x6138}, //3027 #CJK UNIFIED IDEOGRAPH
+  {0x90F2, 0x6139}, //3028 #CJK UNIFIED IDEOGRAPH
+  {0x90F3, 0x613A}, //3029 #CJK UNIFIED IDEOGRAPH
+  {0x90F4, 0x613B}, //3030 #CJK UNIFIED IDEOGRAPH
+  {0x90F5, 0x613C}, //3031 #CJK UNIFIED IDEOGRAPH
+  {0x90F6, 0x613D}, //3032 #CJK UNIFIED IDEOGRAPH
+  {0x90F7, 0x613E}, //3033 #CJK UNIFIED IDEOGRAPH
+  {0x90F8, 0x6140}, //3034 #CJK UNIFIED IDEOGRAPH
+  {0x90F9, 0x6141}, //3035 #CJK UNIFIED IDEOGRAPH
+  {0x90FA, 0x6142}, //3036 #CJK UNIFIED IDEOGRAPH
+  {0x90FB, 0x6143}, //3037 #CJK UNIFIED IDEOGRAPH
+  {0x90FC, 0x6144}, //3038 #CJK UNIFIED IDEOGRAPH
+  {0x90FD, 0x6145}, //3039 #CJK UNIFIED IDEOGRAPH
+  {0x90FE, 0x6146}, //3040 #CJK UNIFIED IDEOGRAPH
+  {0x9140, 0x6147}, //3041 #CJK UNIFIED IDEOGRAPH
+  {0x9141, 0x6149}, //3042 #CJK UNIFIED IDEOGRAPH
+  {0x9142, 0x614B}, //3043 #CJK UNIFIED IDEOGRAPH
+  {0x9143, 0x614D}, //3044 #CJK UNIFIED IDEOGRAPH
+  {0x9144, 0x614F}, //3045 #CJK UNIFIED IDEOGRAPH
+  {0x9145, 0x6150}, //3046 #CJK UNIFIED IDEOGRAPH
+  {0x9146, 0x6152}, //3047 #CJK UNIFIED IDEOGRAPH
+  {0x9147, 0x6153}, //3048 #CJK UNIFIED IDEOGRAPH
+  {0x9148, 0x6154}, //3049 #CJK UNIFIED IDEOGRAPH
+  {0x9149, 0x6156}, //3050 #CJK UNIFIED IDEOGRAPH
+  {0x914A, 0x6157}, //3051 #CJK UNIFIED IDEOGRAPH
+  {0x914B, 0x6158}, //3052 #CJK UNIFIED IDEOGRAPH
+  {0x914C, 0x6159}, //3053 #CJK UNIFIED IDEOGRAPH
+  {0x914D, 0x615A}, //3054 #CJK UNIFIED IDEOGRAPH
+  {0x914E, 0x615B}, //3055 #CJK UNIFIED IDEOGRAPH
+  {0x914F, 0x615C}, //3056 #CJK UNIFIED IDEOGRAPH
+  {0x9150, 0x615E}, //3057 #CJK UNIFIED IDEOGRAPH
+  {0x9151, 0x615F}, //3058 #CJK UNIFIED IDEOGRAPH
+  {0x9152, 0x6160}, //3059 #CJK UNIFIED IDEOGRAPH
+  {0x9153, 0x6161}, //3060 #CJK UNIFIED IDEOGRAPH
+  {0x9154, 0x6163}, //3061 #CJK UNIFIED IDEOGRAPH
+  {0x9155, 0x6164}, //3062 #CJK UNIFIED IDEOGRAPH
+  {0x9156, 0x6165}, //3063 #CJK UNIFIED IDEOGRAPH
+  {0x9157, 0x6166}, //3064 #CJK UNIFIED IDEOGRAPH
+  {0x9158, 0x6169}, //3065 #CJK UNIFIED IDEOGRAPH
+  {0x9159, 0x616A}, //3066 #CJK UNIFIED IDEOGRAPH
+  {0x915A, 0x616B}, //3067 #CJK UNIFIED IDEOGRAPH
+  {0x915B, 0x616C}, //3068 #CJK UNIFIED IDEOGRAPH
+  {0x915C, 0x616D}, //3069 #CJK UNIFIED IDEOGRAPH
+  {0x915D, 0x616E}, //3070 #CJK UNIFIED IDEOGRAPH
+  {0x915E, 0x616F}, //3071 #CJK UNIFIED IDEOGRAPH
+  {0x915F, 0x6171}, //3072 #CJK UNIFIED IDEOGRAPH
+  {0x9160, 0x6172}, //3073 #CJK UNIFIED IDEOGRAPH
+  {0x9161, 0x6173}, //3074 #CJK UNIFIED IDEOGRAPH
+  {0x9162, 0x6174}, //3075 #CJK UNIFIED IDEOGRAPH
+  {0x9163, 0x6176}, //3076 #CJK UNIFIED IDEOGRAPH
+  {0x9164, 0x6178}, //3077 #CJK UNIFIED IDEOGRAPH
+  {0x9165, 0x6179}, //3078 #CJK UNIFIED IDEOGRAPH
+  {0x9166, 0x617A}, //3079 #CJK UNIFIED IDEOGRAPH
+  {0x9167, 0x617B}, //3080 #CJK UNIFIED IDEOGRAPH
+  {0x9168, 0x617C}, //3081 #CJK UNIFIED IDEOGRAPH
+  {0x9169, 0x617D}, //3082 #CJK UNIFIED IDEOGRAPH
+  {0x916A, 0x617E}, //3083 #CJK UNIFIED IDEOGRAPH
+  {0x916B, 0x617F}, //3084 #CJK UNIFIED IDEOGRAPH
+  {0x916C, 0x6180}, //3085 #CJK UNIFIED IDEOGRAPH
+  {0x916D, 0x6181}, //3086 #CJK UNIFIED IDEOGRAPH
+  {0x916E, 0x6182}, //3087 #CJK UNIFIED IDEOGRAPH
+  {0x916F, 0x6183}, //3088 #CJK UNIFIED IDEOGRAPH
+  {0x9170, 0x6184}, //3089 #CJK UNIFIED IDEOGRAPH
+  {0x9171, 0x6185}, //3090 #CJK UNIFIED IDEOGRAPH
+  {0x9172, 0x6186}, //3091 #CJK UNIFIED IDEOGRAPH
+  {0x9173, 0x6187}, //3092 #CJK UNIFIED IDEOGRAPH
+  {0x9174, 0x6188}, //3093 #CJK UNIFIED IDEOGRAPH
+  {0x9175, 0x6189}, //3094 #CJK UNIFIED IDEOGRAPH
+  {0x9176, 0x618A}, //3095 #CJK UNIFIED IDEOGRAPH
+  {0x9177, 0x618C}, //3096 #CJK UNIFIED IDEOGRAPH
+  {0x9178, 0x618D}, //3097 #CJK UNIFIED IDEOGRAPH
+  {0x9179, 0x618F}, //3098 #CJK UNIFIED IDEOGRAPH
+  {0x917A, 0x6190}, //3099 #CJK UNIFIED IDEOGRAPH
+  {0x917B, 0x6191}, //3100 #CJK UNIFIED IDEOGRAPH
+  {0x917C, 0x6192}, //3101 #CJK UNIFIED IDEOGRAPH
+  {0x917D, 0x6193}, //3102 #CJK UNIFIED IDEOGRAPH
+  {0x917E, 0x6195}, //3103 #CJK UNIFIED IDEOGRAPH
+  {0x9180, 0x6196}, //3104 #CJK UNIFIED IDEOGRAPH
+  {0x9181, 0x6197}, //3105 #CJK UNIFIED IDEOGRAPH
+  {0x9182, 0x6198}, //3106 #CJK UNIFIED IDEOGRAPH
+  {0x9183, 0x6199}, //3107 #CJK UNIFIED IDEOGRAPH
+  {0x9184, 0x619A}, //3108 #CJK UNIFIED IDEOGRAPH
+  {0x9185, 0x619B}, //3109 #CJK UNIFIED IDEOGRAPH
+  {0x9186, 0x619C}, //3110 #CJK UNIFIED IDEOGRAPH
+  {0x9187, 0x619E}, //3111 #CJK UNIFIED IDEOGRAPH
+  {0x9188, 0x619F}, //3112 #CJK UNIFIED IDEOGRAPH
+  {0x9189, 0x61A0}, //3113 #CJK UNIFIED IDEOGRAPH
+  {0x918A, 0x61A1}, //3114 #CJK UNIFIED IDEOGRAPH
+  {0x918B, 0x61A2}, //3115 #CJK UNIFIED IDEOGRAPH
+  {0x918C, 0x61A3}, //3116 #CJK UNIFIED IDEOGRAPH
+  {0x918D, 0x61A4}, //3117 #CJK UNIFIED IDEOGRAPH
+  {0x918E, 0x61A5}, //3118 #CJK UNIFIED IDEOGRAPH
+  {0x918F, 0x61A6}, //3119 #CJK UNIFIED IDEOGRAPH
+  {0x9190, 0x61AA}, //3120 #CJK UNIFIED IDEOGRAPH
+  {0x9191, 0x61AB}, //3121 #CJK UNIFIED IDEOGRAPH
+  {0x9192, 0x61AD}, //3122 #CJK UNIFIED IDEOGRAPH
+  {0x9193, 0x61AE}, //3123 #CJK UNIFIED IDEOGRAPH
+  {0x9194, 0x61AF}, //3124 #CJK UNIFIED IDEOGRAPH
+  {0x9195, 0x61B0}, //3125 #CJK UNIFIED IDEOGRAPH
+  {0x9196, 0x61B1}, //3126 #CJK UNIFIED IDEOGRAPH
+  {0x9197, 0x61B2}, //3127 #CJK UNIFIED IDEOGRAPH
+  {0x9198, 0x61B3}, //3128 #CJK UNIFIED IDEOGRAPH
+  {0x9199, 0x61B4}, //3129 #CJK UNIFIED IDEOGRAPH
+  {0x919A, 0x61B5}, //3130 #CJK UNIFIED IDEOGRAPH
+  {0x919B, 0x61B6}, //3131 #CJK UNIFIED IDEOGRAPH
+  {0x919C, 0x61B8}, //3132 #CJK UNIFIED IDEOGRAPH
+  {0x919D, 0x61B9}, //3133 #CJK UNIFIED IDEOGRAPH
+  {0x919E, 0x61BA}, //3134 #CJK UNIFIED IDEOGRAPH
+  {0x919F, 0x61BB}, //3135 #CJK UNIFIED IDEOGRAPH
+  {0x91A0, 0x61BC}, //3136 #CJK UNIFIED IDEOGRAPH
+  {0x91A1, 0x61BD}, //3137 #CJK UNIFIED IDEOGRAPH
+  {0x91A2, 0x61BF}, //3138 #CJK UNIFIED IDEOGRAPH
+  {0x91A3, 0x61C0}, //3139 #CJK UNIFIED IDEOGRAPH
+  {0x91A4, 0x61C1}, //3140 #CJK UNIFIED IDEOGRAPH
+  {0x91A5, 0x61C3}, //3141 #CJK UNIFIED IDEOGRAPH
+  {0x91A6, 0x61C4}, //3142 #CJK UNIFIED IDEOGRAPH
+  {0x91A7, 0x61C5}, //3143 #CJK UNIFIED IDEOGRAPH
+  {0x91A8, 0x61C6}, //3144 #CJK UNIFIED IDEOGRAPH
+  {0x91A9, 0x61C7}, //3145 #CJK UNIFIED IDEOGRAPH
+  {0x91AA, 0x61C9}, //3146 #CJK UNIFIED IDEOGRAPH
+  {0x91AB, 0x61CC}, //3147 #CJK UNIFIED IDEOGRAPH
+  {0x91AC, 0x61CD}, //3148 #CJK UNIFIED IDEOGRAPH
+  {0x91AD, 0x61CE}, //3149 #CJK UNIFIED IDEOGRAPH
+  {0x91AE, 0x61CF}, //3150 #CJK UNIFIED IDEOGRAPH
+  {0x91AF, 0x61D0}, //3151 #CJK UNIFIED IDEOGRAPH
+  {0x91B0, 0x61D3}, //3152 #CJK UNIFIED IDEOGRAPH
+  {0x91B1, 0x61D5}, //3153 #CJK UNIFIED IDEOGRAPH
+  {0x91B2, 0x61D6}, //3154 #CJK UNIFIED IDEOGRAPH
+  {0x91B3, 0x61D7}, //3155 #CJK UNIFIED IDEOGRAPH
+  {0x91B4, 0x61D8}, //3156 #CJK UNIFIED IDEOGRAPH
+  {0x91B5, 0x61D9}, //3157 #CJK UNIFIED IDEOGRAPH
+  {0x91B6, 0x61DA}, //3158 #CJK UNIFIED IDEOGRAPH
+  {0x91B7, 0x61DB}, //3159 #CJK UNIFIED IDEOGRAPH
+  {0x91B8, 0x61DC}, //3160 #CJK UNIFIED IDEOGRAPH
+  {0x91B9, 0x61DD}, //3161 #CJK UNIFIED IDEOGRAPH
+  {0x91BA, 0x61DE}, //3162 #CJK UNIFIED IDEOGRAPH
+  {0x91BB, 0x61DF}, //3163 #CJK UNIFIED IDEOGRAPH
+  {0x91BC, 0x61E0}, //3164 #CJK UNIFIED IDEOGRAPH
+  {0x91BD, 0x61E1}, //3165 #CJK UNIFIED IDEOGRAPH
+  {0x91BE, 0x61E2}, //3166 #CJK UNIFIED IDEOGRAPH
+  {0x91BF, 0x61E3}, //3167 #CJK UNIFIED IDEOGRAPH
+  {0x91C0, 0x61E4}, //3168 #CJK UNIFIED IDEOGRAPH
+  {0x91C1, 0x61E5}, //3169 #CJK UNIFIED IDEOGRAPH
+  {0x91C2, 0x61E7}, //3170 #CJK UNIFIED IDEOGRAPH
+  {0x91C3, 0x61E8}, //3171 #CJK UNIFIED IDEOGRAPH
+  {0x91C4, 0x61E9}, //3172 #CJK UNIFIED IDEOGRAPH
+  {0x91C5, 0x61EA}, //3173 #CJK UNIFIED IDEOGRAPH
+  {0x91C6, 0x61EB}, //3174 #CJK UNIFIED IDEOGRAPH
+  {0x91C7, 0x61EC}, //3175 #CJK UNIFIED IDEOGRAPH
+  {0x91C8, 0x61ED}, //3176 #CJK UNIFIED IDEOGRAPH
+  {0x91C9, 0x61EE}, //3177 #CJK UNIFIED IDEOGRAPH
+  {0x91CA, 0x61EF}, //3178 #CJK UNIFIED IDEOGRAPH
+  {0x91CB, 0x61F0}, //3179 #CJK UNIFIED IDEOGRAPH
+  {0x91CC, 0x61F1}, //3180 #CJK UNIFIED IDEOGRAPH
+  {0x91CD, 0x61F2}, //3181 #CJK UNIFIED IDEOGRAPH
+  {0x91CE, 0x61F3}, //3182 #CJK UNIFIED IDEOGRAPH
+  {0x91CF, 0x61F4}, //3183 #CJK UNIFIED IDEOGRAPH
+  {0x91D0, 0x61F6}, //3184 #CJK UNIFIED IDEOGRAPH
+  {0x91D1, 0x61F7}, //3185 #CJK UNIFIED IDEOGRAPH
+  {0x91D2, 0x61F8}, //3186 #CJK UNIFIED IDEOGRAPH
+  {0x91D3, 0x61F9}, //3187 #CJK UNIFIED IDEOGRAPH
+  {0x91D4, 0x61FA}, //3188 #CJK UNIFIED IDEOGRAPH
+  {0x91D5, 0x61FB}, //3189 #CJK UNIFIED IDEOGRAPH
+  {0x91D6, 0x61FC}, //3190 #CJK UNIFIED IDEOGRAPH
+  {0x91D7, 0x61FD}, //3191 #CJK UNIFIED IDEOGRAPH
+  {0x91D8, 0x61FE}, //3192 #CJK UNIFIED IDEOGRAPH
+  {0x91D9, 0x6200}, //3193 #CJK UNIFIED IDEOGRAPH
+  {0x91DA, 0x6201}, //3194 #CJK UNIFIED IDEOGRAPH
+  {0x91DB, 0x6202}, //3195 #CJK UNIFIED IDEOGRAPH
+  {0x91DC, 0x6203}, //3196 #CJK UNIFIED IDEOGRAPH
+  {0x91DD, 0x6204}, //3197 #CJK UNIFIED IDEOGRAPH
+  {0x91DE, 0x6205}, //3198 #CJK UNIFIED IDEOGRAPH
+  {0x91DF, 0x6207}, //3199 #CJK UNIFIED IDEOGRAPH
+  {0x91E0, 0x6209}, //3200 #CJK UNIFIED IDEOGRAPH
+  {0x91E1, 0x6213}, //3201 #CJK UNIFIED IDEOGRAPH
+  {0x91E2, 0x6214}, //3202 #CJK UNIFIED IDEOGRAPH
+  {0x91E3, 0x6219}, //3203 #CJK UNIFIED IDEOGRAPH
+  {0x91E4, 0x621C}, //3204 #CJK UNIFIED IDEOGRAPH
+  {0x91E5, 0x621D}, //3205 #CJK UNIFIED IDEOGRAPH
+  {0x91E6, 0x621E}, //3206 #CJK UNIFIED IDEOGRAPH
+  {0x91E7, 0x6220}, //3207 #CJK UNIFIED IDEOGRAPH
+  {0x91E8, 0x6223}, //3208 #CJK UNIFIED IDEOGRAPH
+  {0x91E9, 0x6226}, //3209 #CJK UNIFIED IDEOGRAPH
+  {0x91EA, 0x6227}, //3210 #CJK UNIFIED IDEOGRAPH
+  {0x91EB, 0x6228}, //3211 #CJK UNIFIED IDEOGRAPH
+  {0x91EC, 0x6229}, //3212 #CJK UNIFIED IDEOGRAPH
+  {0x91ED, 0x622B}, //3213 #CJK UNIFIED IDEOGRAPH
+  {0x91EE, 0x622D}, //3214 #CJK UNIFIED IDEOGRAPH
+  {0x91EF, 0x622F}, //3215 #CJK UNIFIED IDEOGRAPH
+  {0x91F0, 0x6230}, //3216 #CJK UNIFIED IDEOGRAPH
+  {0x91F1, 0x6231}, //3217 #CJK UNIFIED IDEOGRAPH
+  {0x91F2, 0x6232}, //3218 #CJK UNIFIED IDEOGRAPH
+  {0x91F3, 0x6235}, //3219 #CJK UNIFIED IDEOGRAPH
+  {0x91F4, 0x6236}, //3220 #CJK UNIFIED IDEOGRAPH
+  {0x91F5, 0x6238}, //3221 #CJK UNIFIED IDEOGRAPH
+  {0x91F6, 0x6239}, //3222 #CJK UNIFIED IDEOGRAPH
+  {0x91F7, 0x623A}, //3223 #CJK UNIFIED IDEOGRAPH
+  {0x91F8, 0x623B}, //3224 #CJK UNIFIED IDEOGRAPH
+  {0x91F9, 0x623C}, //3225 #CJK UNIFIED IDEOGRAPH
+  {0x91FA, 0x6242}, //3226 #CJK UNIFIED IDEOGRAPH
+  {0x91FB, 0x6244}, //3227 #CJK UNIFIED IDEOGRAPH
+  {0x91FC, 0x6245}, //3228 #CJK UNIFIED IDEOGRAPH
+  {0x91FD, 0x6246}, //3229 #CJK UNIFIED IDEOGRAPH
+  {0x91FE, 0x624A}, //3230 #CJK UNIFIED IDEOGRAPH
+  {0x9240, 0x624F}, //3231 #CJK UNIFIED IDEOGRAPH
+  {0x9241, 0x6250}, //3232 #CJK UNIFIED IDEOGRAPH
+  {0x9242, 0x6255}, //3233 #CJK UNIFIED IDEOGRAPH
+  {0x9243, 0x6256}, //3234 #CJK UNIFIED IDEOGRAPH
+  {0x9244, 0x6257}, //3235 #CJK UNIFIED IDEOGRAPH
+  {0x9245, 0x6259}, //3236 #CJK UNIFIED IDEOGRAPH
+  {0x9246, 0x625A}, //3237 #CJK UNIFIED IDEOGRAPH
+  {0x9247, 0x625C}, //3238 #CJK UNIFIED IDEOGRAPH
+  {0x9248, 0x625D}, //3239 #CJK UNIFIED IDEOGRAPH
+  {0x9249, 0x625E}, //3240 #CJK UNIFIED IDEOGRAPH
+  {0x924A, 0x625F}, //3241 #CJK UNIFIED IDEOGRAPH
+  {0x924B, 0x6260}, //3242 #CJK UNIFIED IDEOGRAPH
+  {0x924C, 0x6261}, //3243 #CJK UNIFIED IDEOGRAPH
+  {0x924D, 0x6262}, //3244 #CJK UNIFIED IDEOGRAPH
+  {0x924E, 0x6264}, //3245 #CJK UNIFIED IDEOGRAPH
+  {0x924F, 0x6265}, //3246 #CJK UNIFIED IDEOGRAPH
+  {0x9250, 0x6268}, //3247 #CJK UNIFIED IDEOGRAPH
+  {0x9251, 0x6271}, //3248 #CJK UNIFIED IDEOGRAPH
+  {0x9252, 0x6272}, //3249 #CJK UNIFIED IDEOGRAPH
+  {0x9253, 0x6274}, //3250 #CJK UNIFIED IDEOGRAPH
+  {0x9254, 0x6275}, //3251 #CJK UNIFIED IDEOGRAPH
+  {0x9255, 0x6277}, //3252 #CJK UNIFIED IDEOGRAPH
+  {0x9256, 0x6278}, //3253 #CJK UNIFIED IDEOGRAPH
+  {0x9257, 0x627A}, //3254 #CJK UNIFIED IDEOGRAPH
+  {0x9258, 0x627B}, //3255 #CJK UNIFIED IDEOGRAPH
+  {0x9259, 0x627D}, //3256 #CJK UNIFIED IDEOGRAPH
+  {0x925A, 0x6281}, //3257 #CJK UNIFIED IDEOGRAPH
+  {0x925B, 0x6282}, //3258 #CJK UNIFIED IDEOGRAPH
+  {0x925C, 0x6283}, //3259 #CJK UNIFIED IDEOGRAPH
+  {0x925D, 0x6285}, //3260 #CJK UNIFIED IDEOGRAPH
+  {0x925E, 0x6286}, //3261 #CJK UNIFIED IDEOGRAPH
+  {0x925F, 0x6287}, //3262 #CJK UNIFIED IDEOGRAPH
+  {0x9260, 0x6288}, //3263 #CJK UNIFIED IDEOGRAPH
+  {0x9261, 0x628B}, //3264 #CJK UNIFIED IDEOGRAPH
+  {0x9262, 0x628C}, //3265 #CJK UNIFIED IDEOGRAPH
+  {0x9263, 0x628D}, //3266 #CJK UNIFIED IDEOGRAPH
+  {0x9264, 0x628E}, //3267 #CJK UNIFIED IDEOGRAPH
+  {0x9265, 0x628F}, //3268 #CJK UNIFIED IDEOGRAPH
+  {0x9266, 0x6290}, //3269 #CJK UNIFIED IDEOGRAPH
+  {0x9267, 0x6294}, //3270 #CJK UNIFIED IDEOGRAPH
+  {0x9268, 0x6299}, //3271 #CJK UNIFIED IDEOGRAPH
+  {0x9269, 0x629C}, //3272 #CJK UNIFIED IDEOGRAPH
+  {0x926A, 0x629D}, //3273 #CJK UNIFIED IDEOGRAPH
+  {0x926B, 0x629E}, //3274 #CJK UNIFIED IDEOGRAPH
+  {0x926C, 0x62A3}, //3275 #CJK UNIFIED IDEOGRAPH
+  {0x926D, 0x62A6}, //3276 #CJK UNIFIED IDEOGRAPH
+  {0x926E, 0x62A7}, //3277 #CJK UNIFIED IDEOGRAPH
+  {0x926F, 0x62A9}, //3278 #CJK UNIFIED IDEOGRAPH
+  {0x9270, 0x62AA}, //3279 #CJK UNIFIED IDEOGRAPH
+  {0x9271, 0x62AD}, //3280 #CJK UNIFIED IDEOGRAPH
+  {0x9272, 0x62AE}, //3281 #CJK UNIFIED IDEOGRAPH
+  {0x9273, 0x62AF}, //3282 #CJK UNIFIED IDEOGRAPH
+  {0x9274, 0x62B0}, //3283 #CJK UNIFIED IDEOGRAPH
+  {0x9275, 0x62B2}, //3284 #CJK UNIFIED IDEOGRAPH
+  {0x9276, 0x62B3}, //3285 #CJK UNIFIED IDEOGRAPH
+  {0x9277, 0x62B4}, //3286 #CJK UNIFIED IDEOGRAPH
+  {0x9278, 0x62B6}, //3287 #CJK UNIFIED IDEOGRAPH
+  {0x9279, 0x62B7}, //3288 #CJK UNIFIED IDEOGRAPH
+  {0x927A, 0x62B8}, //3289 #CJK UNIFIED IDEOGRAPH
+  {0x927B, 0x62BA}, //3290 #CJK UNIFIED IDEOGRAPH
+  {0x927C, 0x62BE}, //3291 #CJK UNIFIED IDEOGRAPH
+  {0x927D, 0x62C0}, //3292 #CJK UNIFIED IDEOGRAPH
+  {0x927E, 0x62C1}, //3293 #CJK UNIFIED IDEOGRAPH
+  {0x9280, 0x62C3}, //3294 #CJK UNIFIED IDEOGRAPH
+  {0x9281, 0x62CB}, //3295 #CJK UNIFIED IDEOGRAPH
+  {0x9282, 0x62CF}, //3296 #CJK UNIFIED IDEOGRAPH
+  {0x9283, 0x62D1}, //3297 #CJK UNIFIED IDEOGRAPH
+  {0x9284, 0x62D5}, //3298 #CJK UNIFIED IDEOGRAPH
+  {0x9285, 0x62DD}, //3299 #CJK UNIFIED IDEOGRAPH
+  {0x9286, 0x62DE}, //3300 #CJK UNIFIED IDEOGRAPH
+  {0x9287, 0x62E0}, //3301 #CJK UNIFIED IDEOGRAPH
+  {0x9288, 0x62E1}, //3302 #CJK UNIFIED IDEOGRAPH
+  {0x9289, 0x62E4}, //3303 #CJK UNIFIED IDEOGRAPH
+  {0x928A, 0x62EA}, //3304 #CJK UNIFIED IDEOGRAPH
+  {0x928B, 0x62EB}, //3305 #CJK UNIFIED IDEOGRAPH
+  {0x928C, 0x62F0}, //3306 #CJK UNIFIED IDEOGRAPH
+  {0x928D, 0x62F2}, //3307 #CJK UNIFIED IDEOGRAPH
+  {0x928E, 0x62F5}, //3308 #CJK UNIFIED IDEOGRAPH
+  {0x928F, 0x62F8}, //3309 #CJK UNIFIED IDEOGRAPH
+  {0x9290, 0x62F9}, //3310 #CJK UNIFIED IDEOGRAPH
+  {0x9291, 0x62FA}, //3311 #CJK UNIFIED IDEOGRAPH
+  {0x9292, 0x62FB}, //3312 #CJK UNIFIED IDEOGRAPH
+  {0x9293, 0x6300}, //3313 #CJK UNIFIED IDEOGRAPH
+  {0x9294, 0x6303}, //3314 #CJK UNIFIED IDEOGRAPH
+  {0x9295, 0x6304}, //3315 #CJK UNIFIED IDEOGRAPH
+  {0x9296, 0x6305}, //3316 #CJK UNIFIED IDEOGRAPH
+  {0x9297, 0x6306}, //3317 #CJK UNIFIED IDEOGRAPH
+  {0x9298, 0x630A}, //3318 #CJK UNIFIED IDEOGRAPH
+  {0x9299, 0x630B}, //3319 #CJK UNIFIED IDEOGRAPH
+  {0x929A, 0x630C}, //3320 #CJK UNIFIED IDEOGRAPH
+  {0x929B, 0x630D}, //3321 #CJK UNIFIED IDEOGRAPH
+  {0x929C, 0x630F}, //3322 #CJK UNIFIED IDEOGRAPH
+  {0x929D, 0x6310}, //3323 #CJK UNIFIED IDEOGRAPH
+  {0x929E, 0x6312}, //3324 #CJK UNIFIED IDEOGRAPH
+  {0x929F, 0x6313}, //3325 #CJK UNIFIED IDEOGRAPH
+  {0x92A0, 0x6314}, //3326 #CJK UNIFIED IDEOGRAPH
+  {0x92A1, 0x6315}, //3327 #CJK UNIFIED IDEOGRAPH
+  {0x92A2, 0x6317}, //3328 #CJK UNIFIED IDEOGRAPH
+  {0x92A3, 0x6318}, //3329 #CJK UNIFIED IDEOGRAPH
+  {0x92A4, 0x6319}, //3330 #CJK UNIFIED IDEOGRAPH
+  {0x92A5, 0x631C}, //3331 #CJK UNIFIED IDEOGRAPH
+  {0x92A6, 0x6326}, //3332 #CJK UNIFIED IDEOGRAPH
+  {0x92A7, 0x6327}, //3333 #CJK UNIFIED IDEOGRAPH
+  {0x92A8, 0x6329}, //3334 #CJK UNIFIED IDEOGRAPH
+  {0x92A9, 0x632C}, //3335 #CJK UNIFIED IDEOGRAPH
+  {0x92AA, 0x632D}, //3336 #CJK UNIFIED IDEOGRAPH
+  {0x92AB, 0x632E}, //3337 #CJK UNIFIED IDEOGRAPH
+  {0x92AC, 0x6330}, //3338 #CJK UNIFIED IDEOGRAPH
+  {0x92AD, 0x6331}, //3339 #CJK UNIFIED IDEOGRAPH
+  {0x92AE, 0x6333}, //3340 #CJK UNIFIED IDEOGRAPH
+  {0x92AF, 0x6334}, //3341 #CJK UNIFIED IDEOGRAPH
+  {0x92B0, 0x6335}, //3342 #CJK UNIFIED IDEOGRAPH
+  {0x92B1, 0x6336}, //3343 #CJK UNIFIED IDEOGRAPH
+  {0x92B2, 0x6337}, //3344 #CJK UNIFIED IDEOGRAPH
+  {0x92B3, 0x6338}, //3345 #CJK UNIFIED IDEOGRAPH
+  {0x92B4, 0x633B}, //3346 #CJK UNIFIED IDEOGRAPH
+  {0x92B5, 0x633C}, //3347 #CJK UNIFIED IDEOGRAPH
+  {0x92B6, 0x633E}, //3348 #CJK UNIFIED IDEOGRAPH
+  {0x92B7, 0x633F}, //3349 #CJK UNIFIED IDEOGRAPH
+  {0x92B8, 0x6340}, //3350 #CJK UNIFIED IDEOGRAPH
+  {0x92B9, 0x6341}, //3351 #CJK UNIFIED IDEOGRAPH
+  {0x92BA, 0x6344}, //3352 #CJK UNIFIED IDEOGRAPH
+  {0x92BB, 0x6347}, //3353 #CJK UNIFIED IDEOGRAPH
+  {0x92BC, 0x6348}, //3354 #CJK UNIFIED IDEOGRAPH
+  {0x92BD, 0x634A}, //3355 #CJK UNIFIED IDEOGRAPH
+  {0x92BE, 0x6351}, //3356 #CJK UNIFIED IDEOGRAPH
+  {0x92BF, 0x6352}, //3357 #CJK UNIFIED IDEOGRAPH
+  {0x92C0, 0x6353}, //3358 #CJK UNIFIED IDEOGRAPH
+  {0x92C1, 0x6354}, //3359 #CJK UNIFIED IDEOGRAPH
+  {0x92C2, 0x6356}, //3360 #CJK UNIFIED IDEOGRAPH
+  {0x92C3, 0x6357}, //3361 #CJK UNIFIED IDEOGRAPH
+  {0x92C4, 0x6358}, //3362 #CJK UNIFIED IDEOGRAPH
+  {0x92C5, 0x6359}, //3363 #CJK UNIFIED IDEOGRAPH
+  {0x92C6, 0x635A}, //3364 #CJK UNIFIED IDEOGRAPH
+  {0x92C7, 0x635B}, //3365 #CJK UNIFIED IDEOGRAPH
+  {0x92C8, 0x635C}, //3366 #CJK UNIFIED IDEOGRAPH
+  {0x92C9, 0x635D}, //3367 #CJK UNIFIED IDEOGRAPH
+  {0x92CA, 0x6360}, //3368 #CJK UNIFIED IDEOGRAPH
+  {0x92CB, 0x6364}, //3369 #CJK UNIFIED IDEOGRAPH
+  {0x92CC, 0x6365}, //3370 #CJK UNIFIED IDEOGRAPH
+  {0x92CD, 0x6366}, //3371 #CJK UNIFIED IDEOGRAPH
+  {0x92CE, 0x6368}, //3372 #CJK UNIFIED IDEOGRAPH
+  {0x92CF, 0x636A}, //3373 #CJK UNIFIED IDEOGRAPH
+  {0x92D0, 0x636B}, //3374 #CJK UNIFIED IDEOGRAPH
+  {0x92D1, 0x636C}, //3375 #CJK UNIFIED IDEOGRAPH
+  {0x92D2, 0x636F}, //3376 #CJK UNIFIED IDEOGRAPH
+  {0x92D3, 0x6370}, //3377 #CJK UNIFIED IDEOGRAPH
+  {0x92D4, 0x6372}, //3378 #CJK UNIFIED IDEOGRAPH
+  {0x92D5, 0x6373}, //3379 #CJK UNIFIED IDEOGRAPH
+  {0x92D6, 0x6374}, //3380 #CJK UNIFIED IDEOGRAPH
+  {0x92D7, 0x6375}, //3381 #CJK UNIFIED IDEOGRAPH
+  {0x92D8, 0x6378}, //3382 #CJK UNIFIED IDEOGRAPH
+  {0x92D9, 0x6379}, //3383 #CJK UNIFIED IDEOGRAPH
+  {0x92DA, 0x637C}, //3384 #CJK UNIFIED IDEOGRAPH
+  {0x92DB, 0x637D}, //3385 #CJK UNIFIED IDEOGRAPH
+  {0x92DC, 0x637E}, //3386 #CJK UNIFIED IDEOGRAPH
+  {0x92DD, 0x637F}, //3387 #CJK UNIFIED IDEOGRAPH
+  {0x92DE, 0x6381}, //3388 #CJK UNIFIED IDEOGRAPH
+  {0x92DF, 0x6383}, //3389 #CJK UNIFIED IDEOGRAPH
+  {0x92E0, 0x6384}, //3390 #CJK UNIFIED IDEOGRAPH
+  {0x92E1, 0x6385}, //3391 #CJK UNIFIED IDEOGRAPH
+  {0x92E2, 0x6386}, //3392 #CJK UNIFIED IDEOGRAPH
+  {0x92E3, 0x638B}, //3393 #CJK UNIFIED IDEOGRAPH
+  {0x92E4, 0x638D}, //3394 #CJK UNIFIED IDEOGRAPH
+  {0x92E5, 0x6391}, //3395 #CJK UNIFIED IDEOGRAPH
+  {0x92E6, 0x6393}, //3396 #CJK UNIFIED IDEOGRAPH
+  {0x92E7, 0x6394}, //3397 #CJK UNIFIED IDEOGRAPH
+  {0x92E8, 0x6395}, //3398 #CJK UNIFIED IDEOGRAPH
+  {0x92E9, 0x6397}, //3399 #CJK UNIFIED IDEOGRAPH
+  {0x92EA, 0x6399}, //3400 #CJK UNIFIED IDEOGRAPH
+  {0x92EB, 0x639A}, //3401 #CJK UNIFIED IDEOGRAPH
+  {0x92EC, 0x639B}, //3402 #CJK UNIFIED IDEOGRAPH
+  {0x92ED, 0x639C}, //3403 #CJK UNIFIED IDEOGRAPH
+  {0x92EE, 0x639D}, //3404 #CJK UNIFIED IDEOGRAPH
+  {0x92EF, 0x639E}, //3405 #CJK UNIFIED IDEOGRAPH
+  {0x92F0, 0x639F}, //3406 #CJK UNIFIED IDEOGRAPH
+  {0x92F1, 0x63A1}, //3407 #CJK UNIFIED IDEOGRAPH
+  {0x92F2, 0x63A4}, //3408 #CJK UNIFIED IDEOGRAPH
+  {0x92F3, 0x63A6}, //3409 #CJK UNIFIED IDEOGRAPH
+  {0x92F4, 0x63AB}, //3410 #CJK UNIFIED IDEOGRAPH
+  {0x92F5, 0x63AF}, //3411 #CJK UNIFIED IDEOGRAPH
+  {0x92F6, 0x63B1}, //3412 #CJK UNIFIED IDEOGRAPH
+  {0x92F7, 0x63B2}, //3413 #CJK UNIFIED IDEOGRAPH
+  {0x92F8, 0x63B5}, //3414 #CJK UNIFIED IDEOGRAPH
+  {0x92F9, 0x63B6}, //3415 #CJK UNIFIED IDEOGRAPH
+  {0x92FA, 0x63B9}, //3416 #CJK UNIFIED IDEOGRAPH
+  {0x92FB, 0x63BB}, //3417 #CJK UNIFIED IDEOGRAPH
+  {0x92FC, 0x63BD}, //3418 #CJK UNIFIED IDEOGRAPH
+  {0x92FD, 0x63BF}, //3419 #CJK UNIFIED IDEOGRAPH
+  {0x92FE, 0x63C0}, //3420 #CJK UNIFIED IDEOGRAPH
+  {0x9340, 0x63C1}, //3421 #CJK UNIFIED IDEOGRAPH
+  {0x9341, 0x63C2}, //3422 #CJK UNIFIED IDEOGRAPH
+  {0x9342, 0x63C3}, //3423 #CJK UNIFIED IDEOGRAPH
+  {0x9343, 0x63C5}, //3424 #CJK UNIFIED IDEOGRAPH
+  {0x9344, 0x63C7}, //3425 #CJK UNIFIED IDEOGRAPH
+  {0x9345, 0x63C8}, //3426 #CJK UNIFIED IDEOGRAPH
+  {0x9346, 0x63CA}, //3427 #CJK UNIFIED IDEOGRAPH
+  {0x9347, 0x63CB}, //3428 #CJK UNIFIED IDEOGRAPH
+  {0x9348, 0x63CC}, //3429 #CJK UNIFIED IDEOGRAPH
+  {0x9349, 0x63D1}, //3430 #CJK UNIFIED IDEOGRAPH
+  {0x934A, 0x63D3}, //3431 #CJK UNIFIED IDEOGRAPH
+  {0x934B, 0x63D4}, //3432 #CJK UNIFIED IDEOGRAPH
+  {0x934C, 0x63D5}, //3433 #CJK UNIFIED IDEOGRAPH
+  {0x934D, 0x63D7}, //3434 #CJK UNIFIED IDEOGRAPH
+  {0x934E, 0x63D8}, //3435 #CJK UNIFIED IDEOGRAPH
+  {0x934F, 0x63D9}, //3436 #CJK UNIFIED IDEOGRAPH
+  {0x9350, 0x63DA}, //3437 #CJK UNIFIED IDEOGRAPH
+  {0x9351, 0x63DB}, //3438 #CJK UNIFIED IDEOGRAPH
+  {0x9352, 0x63DC}, //3439 #CJK UNIFIED IDEOGRAPH
+  {0x9353, 0x63DD}, //3440 #CJK UNIFIED IDEOGRAPH
+  {0x9354, 0x63DF}, //3441 #CJK UNIFIED IDEOGRAPH
+  {0x9355, 0x63E2}, //3442 #CJK UNIFIED IDEOGRAPH
+  {0x9356, 0x63E4}, //3443 #CJK UNIFIED IDEOGRAPH
+  {0x9357, 0x63E5}, //3444 #CJK UNIFIED IDEOGRAPH
+  {0x9358, 0x63E6}, //3445 #CJK UNIFIED IDEOGRAPH
+  {0x9359, 0x63E7}, //3446 #CJK UNIFIED IDEOGRAPH
+  {0x935A, 0x63E8}, //3447 #CJK UNIFIED IDEOGRAPH
+  {0x935B, 0x63EB}, //3448 #CJK UNIFIED IDEOGRAPH
+  {0x935C, 0x63EC}, //3449 #CJK UNIFIED IDEOGRAPH
+  {0x935D, 0x63EE}, //3450 #CJK UNIFIED IDEOGRAPH
+  {0x935E, 0x63EF}, //3451 #CJK UNIFIED IDEOGRAPH
+  {0x935F, 0x63F0}, //3452 #CJK UNIFIED IDEOGRAPH
+  {0x9360, 0x63F1}, //3453 #CJK UNIFIED IDEOGRAPH
+  {0x9361, 0x63F3}, //3454 #CJK UNIFIED IDEOGRAPH
+  {0x9362, 0x63F5}, //3455 #CJK UNIFIED IDEOGRAPH
+  {0x9363, 0x63F7}, //3456 #CJK UNIFIED IDEOGRAPH
+  {0x9364, 0x63F9}, //3457 #CJK UNIFIED IDEOGRAPH
+  {0x9365, 0x63FA}, //3458 #CJK UNIFIED IDEOGRAPH
+  {0x9366, 0x63FB}, //3459 #CJK UNIFIED IDEOGRAPH
+  {0x9367, 0x63FC}, //3460 #CJK UNIFIED IDEOGRAPH
+  {0x9368, 0x63FE}, //3461 #CJK UNIFIED IDEOGRAPH
+  {0x9369, 0x6403}, //3462 #CJK UNIFIED IDEOGRAPH
+  {0x936A, 0x6404}, //3463 #CJK UNIFIED IDEOGRAPH
+  {0x936B, 0x6406}, //3464 #CJK UNIFIED IDEOGRAPH
+  {0x936C, 0x6407}, //3465 #CJK UNIFIED IDEOGRAPH
+  {0x936D, 0x6408}, //3466 #CJK UNIFIED IDEOGRAPH
+  {0x936E, 0x6409}, //3467 #CJK UNIFIED IDEOGRAPH
+  {0x936F, 0x640A}, //3468 #CJK UNIFIED IDEOGRAPH
+  {0x9370, 0x640D}, //3469 #CJK UNIFIED IDEOGRAPH
+  {0x9371, 0x640E}, //3470 #CJK UNIFIED IDEOGRAPH
+  {0x9372, 0x6411}, //3471 #CJK UNIFIED IDEOGRAPH
+  {0x9373, 0x6412}, //3472 #CJK UNIFIED IDEOGRAPH
+  {0x9374, 0x6415}, //3473 #CJK UNIFIED IDEOGRAPH
+  {0x9375, 0x6416}, //3474 #CJK UNIFIED IDEOGRAPH
+  {0x9376, 0x6417}, //3475 #CJK UNIFIED IDEOGRAPH
+  {0x9377, 0x6418}, //3476 #CJK UNIFIED IDEOGRAPH
+  {0x9378, 0x6419}, //3477 #CJK UNIFIED IDEOGRAPH
+  {0x9379, 0x641A}, //3478 #CJK UNIFIED IDEOGRAPH
+  {0x937A, 0x641D}, //3479 #CJK UNIFIED IDEOGRAPH
+  {0x937B, 0x641F}, //3480 #CJK UNIFIED IDEOGRAPH
+  {0x937C, 0x6422}, //3481 #CJK UNIFIED IDEOGRAPH
+  {0x937D, 0x6423}, //3482 #CJK UNIFIED IDEOGRAPH
+  {0x937E, 0x6424}, //3483 #CJK UNIFIED IDEOGRAPH
+  {0x9380, 0x6425}, //3484 #CJK UNIFIED IDEOGRAPH
+  {0x9381, 0x6427}, //3485 #CJK UNIFIED IDEOGRAPH
+  {0x9382, 0x6428}, //3486 #CJK UNIFIED IDEOGRAPH
+  {0x9383, 0x6429}, //3487 #CJK UNIFIED IDEOGRAPH
+  {0x9384, 0x642B}, //3488 #CJK UNIFIED IDEOGRAPH
+  {0x9385, 0x642E}, //3489 #CJK UNIFIED IDEOGRAPH
+  {0x9386, 0x642F}, //3490 #CJK UNIFIED IDEOGRAPH
+  {0x9387, 0x6430}, //3491 #CJK UNIFIED IDEOGRAPH
+  {0x9388, 0x6431}, //3492 #CJK UNIFIED IDEOGRAPH
+  {0x9389, 0x6432}, //3493 #CJK UNIFIED IDEOGRAPH
+  {0x938A, 0x6433}, //3494 #CJK UNIFIED IDEOGRAPH
+  {0x938B, 0x6435}, //3495 #CJK UNIFIED IDEOGRAPH
+  {0x938C, 0x6436}, //3496 #CJK UNIFIED IDEOGRAPH
+  {0x938D, 0x6437}, //3497 #CJK UNIFIED IDEOGRAPH
+  {0x938E, 0x6438}, //3498 #CJK UNIFIED IDEOGRAPH
+  {0x938F, 0x6439}, //3499 #CJK UNIFIED IDEOGRAPH
+  {0x9390, 0x643B}, //3500 #CJK UNIFIED IDEOGRAPH
+  {0x9391, 0x643C}, //3501 #CJK UNIFIED IDEOGRAPH
+  {0x9392, 0x643E}, //3502 #CJK UNIFIED IDEOGRAPH
+  {0x9393, 0x6440}, //3503 #CJK UNIFIED IDEOGRAPH
+  {0x9394, 0x6442}, //3504 #CJK UNIFIED IDEOGRAPH
+  {0x9395, 0x6443}, //3505 #CJK UNIFIED IDEOGRAPH
+  {0x9396, 0x6449}, //3506 #CJK UNIFIED IDEOGRAPH
+  {0x9397, 0x644B}, //3507 #CJK UNIFIED IDEOGRAPH
+  {0x9398, 0x644C}, //3508 #CJK UNIFIED IDEOGRAPH
+  {0x9399, 0x644D}, //3509 #CJK UNIFIED IDEOGRAPH
+  {0x939A, 0x644E}, //3510 #CJK UNIFIED IDEOGRAPH
+  {0x939B, 0x644F}, //3511 #CJK UNIFIED IDEOGRAPH
+  {0x939C, 0x6450}, //3512 #CJK UNIFIED IDEOGRAPH
+  {0x939D, 0x6451}, //3513 #CJK UNIFIED IDEOGRAPH
+  {0x939E, 0x6453}, //3514 #CJK UNIFIED IDEOGRAPH
+  {0x939F, 0x6455}, //3515 #CJK UNIFIED IDEOGRAPH
+  {0x93A0, 0x6456}, //3516 #CJK UNIFIED IDEOGRAPH
+  {0x93A1, 0x6457}, //3517 #CJK UNIFIED IDEOGRAPH
+  {0x93A2, 0x6459}, //3518 #CJK UNIFIED IDEOGRAPH
+  {0x93A3, 0x645A}, //3519 #CJK UNIFIED IDEOGRAPH
+  {0x93A4, 0x645B}, //3520 #CJK UNIFIED IDEOGRAPH
+  {0x93A5, 0x645C}, //3521 #CJK UNIFIED IDEOGRAPH
+  {0x93A6, 0x645D}, //3522 #CJK UNIFIED IDEOGRAPH
+  {0x93A7, 0x645F}, //3523 #CJK UNIFIED IDEOGRAPH
+  {0x93A8, 0x6460}, //3524 #CJK UNIFIED IDEOGRAPH
+  {0x93A9, 0x6461}, //3525 #CJK UNIFIED IDEOGRAPH
+  {0x93AA, 0x6462}, //3526 #CJK UNIFIED IDEOGRAPH
+  {0x93AB, 0x6463}, //3527 #CJK UNIFIED IDEOGRAPH
+  {0x93AC, 0x6464}, //3528 #CJK UNIFIED IDEOGRAPH
+  {0x93AD, 0x6465}, //3529 #CJK UNIFIED IDEOGRAPH
+  {0x93AE, 0x6466}, //3530 #CJK UNIFIED IDEOGRAPH
+  {0x93AF, 0x6468}, //3531 #CJK UNIFIED IDEOGRAPH
+  {0x93B0, 0x646A}, //3532 #CJK UNIFIED IDEOGRAPH
+  {0x93B1, 0x646B}, //3533 #CJK UNIFIED IDEOGRAPH
+  {0x93B2, 0x646C}, //3534 #CJK UNIFIED IDEOGRAPH
+  {0x93B3, 0x646E}, //3535 #CJK UNIFIED IDEOGRAPH
+  {0x93B4, 0x646F}, //3536 #CJK UNIFIED IDEOGRAPH
+  {0x93B5, 0x6470}, //3537 #CJK UNIFIED IDEOGRAPH
+  {0x93B6, 0x6471}, //3538 #CJK UNIFIED IDEOGRAPH
+  {0x93B7, 0x6472}, //3539 #CJK UNIFIED IDEOGRAPH
+  {0x93B8, 0x6473}, //3540 #CJK UNIFIED IDEOGRAPH
+  {0x93B9, 0x6474}, //3541 #CJK UNIFIED IDEOGRAPH
+  {0x93BA, 0x6475}, //3542 #CJK UNIFIED IDEOGRAPH
+  {0x93BB, 0x6476}, //3543 #CJK UNIFIED IDEOGRAPH
+  {0x93BC, 0x6477}, //3544 #CJK UNIFIED IDEOGRAPH
+  {0x93BD, 0x647B}, //3545 #CJK UNIFIED IDEOGRAPH
+  {0x93BE, 0x647C}, //3546 #CJK UNIFIED IDEOGRAPH
+  {0x93BF, 0x647D}, //3547 #CJK UNIFIED IDEOGRAPH
+  {0x93C0, 0x647E}, //3548 #CJK UNIFIED IDEOGRAPH
+  {0x93C1, 0x647F}, //3549 #CJK UNIFIED IDEOGRAPH
+  {0x93C2, 0x6480}, //3550 #CJK UNIFIED IDEOGRAPH
+  {0x93C3, 0x6481}, //3551 #CJK UNIFIED IDEOGRAPH
+  {0x93C4, 0x6483}, //3552 #CJK UNIFIED IDEOGRAPH
+  {0x93C5, 0x6486}, //3553 #CJK UNIFIED IDEOGRAPH
+  {0x93C6, 0x6488}, //3554 #CJK UNIFIED IDEOGRAPH
+  {0x93C7, 0x6489}, //3555 #CJK UNIFIED IDEOGRAPH
+  {0x93C8, 0x648A}, //3556 #CJK UNIFIED IDEOGRAPH
+  {0x93C9, 0x648B}, //3557 #CJK UNIFIED IDEOGRAPH
+  {0x93CA, 0x648C}, //3558 #CJK UNIFIED IDEOGRAPH
+  {0x93CB, 0x648D}, //3559 #CJK UNIFIED IDEOGRAPH
+  {0x93CC, 0x648E}, //3560 #CJK UNIFIED IDEOGRAPH
+  {0x93CD, 0x648F}, //3561 #CJK UNIFIED IDEOGRAPH
+  {0x93CE, 0x6490}, //3562 #CJK UNIFIED IDEOGRAPH
+  {0x93CF, 0x6493}, //3563 #CJK UNIFIED IDEOGRAPH
+  {0x93D0, 0x6494}, //3564 #CJK UNIFIED IDEOGRAPH
+  {0x93D1, 0x6497}, //3565 #CJK UNIFIED IDEOGRAPH
+  {0x93D2, 0x6498}, //3566 #CJK UNIFIED IDEOGRAPH
+  {0x93D3, 0x649A}, //3567 #CJK UNIFIED IDEOGRAPH
+  {0x93D4, 0x649B}, //3568 #CJK UNIFIED IDEOGRAPH
+  {0x93D5, 0x649C}, //3569 #CJK UNIFIED IDEOGRAPH
+  {0x93D6, 0x649D}, //3570 #CJK UNIFIED IDEOGRAPH
+  {0x93D7, 0x649F}, //3571 #CJK UNIFIED IDEOGRAPH
+  {0x93D8, 0x64A0}, //3572 #CJK UNIFIED IDEOGRAPH
+  {0x93D9, 0x64A1}, //3573 #CJK UNIFIED IDEOGRAPH
+  {0x93DA, 0x64A2}, //3574 #CJK UNIFIED IDEOGRAPH
+  {0x93DB, 0x64A3}, //3575 #CJK UNIFIED IDEOGRAPH
+  {0x93DC, 0x64A5}, //3576 #CJK UNIFIED IDEOGRAPH
+  {0x93DD, 0x64A6}, //3577 #CJK UNIFIED IDEOGRAPH
+  {0x93DE, 0x64A7}, //3578 #CJK UNIFIED IDEOGRAPH
+  {0x93DF, 0x64A8}, //3579 #CJK UNIFIED IDEOGRAPH
+  {0x93E0, 0x64AA}, //3580 #CJK UNIFIED IDEOGRAPH
+  {0x93E1, 0x64AB}, //3581 #CJK UNIFIED IDEOGRAPH
+  {0x93E2, 0x64AF}, //3582 #CJK UNIFIED IDEOGRAPH
+  {0x93E3, 0x64B1}, //3583 #CJK UNIFIED IDEOGRAPH
+  {0x93E4, 0x64B2}, //3584 #CJK UNIFIED IDEOGRAPH
+  {0x93E5, 0x64B3}, //3585 #CJK UNIFIED IDEOGRAPH
+  {0x93E6, 0x64B4}, //3586 #CJK UNIFIED IDEOGRAPH
+  {0x93E7, 0x64B6}, //3587 #CJK UNIFIED IDEOGRAPH
+  {0x93E8, 0x64B9}, //3588 #CJK UNIFIED IDEOGRAPH
+  {0x93E9, 0x64BB}, //3589 #CJK UNIFIED IDEOGRAPH
+  {0x93EA, 0x64BD}, //3590 #CJK UNIFIED IDEOGRAPH
+  {0x93EB, 0x64BE}, //3591 #CJK UNIFIED IDEOGRAPH
+  {0x93EC, 0x64BF}, //3592 #CJK UNIFIED IDEOGRAPH
+  {0x93ED, 0x64C1}, //3593 #CJK UNIFIED IDEOGRAPH
+  {0x93EE, 0x64C3}, //3594 #CJK UNIFIED IDEOGRAPH
+  {0x93EF, 0x64C4}, //3595 #CJK UNIFIED IDEOGRAPH
+  {0x93F0, 0x64C6}, //3596 #CJK UNIFIED IDEOGRAPH
+  {0x93F1, 0x64C7}, //3597 #CJK UNIFIED IDEOGRAPH
+  {0x93F2, 0x64C8}, //3598 #CJK UNIFIED IDEOGRAPH
+  {0x93F3, 0x64C9}, //3599 #CJK UNIFIED IDEOGRAPH
+  {0x93F4, 0x64CA}, //3600 #CJK UNIFIED IDEOGRAPH
+  {0x93F5, 0x64CB}, //3601 #CJK UNIFIED IDEOGRAPH
+  {0x93F6, 0x64CC}, //3602 #CJK UNIFIED IDEOGRAPH
+  {0x93F7, 0x64CF}, //3603 #CJK UNIFIED IDEOGRAPH
+  {0x93F8, 0x64D1}, //3604 #CJK UNIFIED IDEOGRAPH
+  {0x93F9, 0x64D3}, //3605 #CJK UNIFIED IDEOGRAPH
+  {0x93FA, 0x64D4}, //3606 #CJK UNIFIED IDEOGRAPH
+  {0x93FB, 0x64D5}, //3607 #CJK UNIFIED IDEOGRAPH
+  {0x93FC, 0x64D6}, //3608 #CJK UNIFIED IDEOGRAPH
+  {0x93FD, 0x64D9}, //3609 #CJK UNIFIED IDEOGRAPH
+  {0x93FE, 0x64DA}, //3610 #CJK UNIFIED IDEOGRAPH
+  {0x9440, 0x64DB}, //3611 #CJK UNIFIED IDEOGRAPH
+  {0x9441, 0x64DC}, //3612 #CJK UNIFIED IDEOGRAPH
+  {0x9442, 0x64DD}, //3613 #CJK UNIFIED IDEOGRAPH
+  {0x9443, 0x64DF}, //3614 #CJK UNIFIED IDEOGRAPH
+  {0x9444, 0x64E0}, //3615 #CJK UNIFIED IDEOGRAPH
+  {0x9445, 0x64E1}, //3616 #CJK UNIFIED IDEOGRAPH
+  {0x9446, 0x64E3}, //3617 #CJK UNIFIED IDEOGRAPH
+  {0x9447, 0x64E5}, //3618 #CJK UNIFIED IDEOGRAPH
+  {0x9448, 0x64E7}, //3619 #CJK UNIFIED IDEOGRAPH
+  {0x9449, 0x64E8}, //3620 #CJK UNIFIED IDEOGRAPH
+  {0x944A, 0x64E9}, //3621 #CJK UNIFIED IDEOGRAPH
+  {0x944B, 0x64EA}, //3622 #CJK UNIFIED IDEOGRAPH
+  {0x944C, 0x64EB}, //3623 #CJK UNIFIED IDEOGRAPH
+  {0x944D, 0x64EC}, //3624 #CJK UNIFIED IDEOGRAPH
+  {0x944E, 0x64ED}, //3625 #CJK UNIFIED IDEOGRAPH
+  {0x944F, 0x64EE}, //3626 #CJK UNIFIED IDEOGRAPH
+  {0x9450, 0x64EF}, //3627 #CJK UNIFIED IDEOGRAPH
+  {0x9451, 0x64F0}, //3628 #CJK UNIFIED IDEOGRAPH
+  {0x9452, 0x64F1}, //3629 #CJK UNIFIED IDEOGRAPH
+  {0x9453, 0x64F2}, //3630 #CJK UNIFIED IDEOGRAPH
+  {0x9454, 0x64F3}, //3631 #CJK UNIFIED IDEOGRAPH
+  {0x9455, 0x64F4}, //3632 #CJK UNIFIED IDEOGRAPH
+  {0x9456, 0x64F5}, //3633 #CJK UNIFIED IDEOGRAPH
+  {0x9457, 0x64F6}, //3634 #CJK UNIFIED IDEOGRAPH
+  {0x9458, 0x64F7}, //3635 #CJK UNIFIED IDEOGRAPH
+  {0x9459, 0x64F8}, //3636 #CJK UNIFIED IDEOGRAPH
+  {0x945A, 0x64F9}, //3637 #CJK UNIFIED IDEOGRAPH
+  {0x945B, 0x64FA}, //3638 #CJK UNIFIED IDEOGRAPH
+  {0x945C, 0x64FB}, //3639 #CJK UNIFIED IDEOGRAPH
+  {0x945D, 0x64FC}, //3640 #CJK UNIFIED IDEOGRAPH
+  {0x945E, 0x64FD}, //3641 #CJK UNIFIED IDEOGRAPH
+  {0x945F, 0x64FE}, //3642 #CJK UNIFIED IDEOGRAPH
+  {0x9460, 0x64FF}, //3643 #CJK UNIFIED IDEOGRAPH
+  {0x9461, 0x6501}, //3644 #CJK UNIFIED IDEOGRAPH
+  {0x9462, 0x6502}, //3645 #CJK UNIFIED IDEOGRAPH
+  {0x9463, 0x6503}, //3646 #CJK UNIFIED IDEOGRAPH
+  {0x9464, 0x6504}, //3647 #CJK UNIFIED IDEOGRAPH
+  {0x9465, 0x6505}, //3648 #CJK UNIFIED IDEOGRAPH
+  {0x9466, 0x6506}, //3649 #CJK UNIFIED IDEOGRAPH
+  {0x9467, 0x6507}, //3650 #CJK UNIFIED IDEOGRAPH
+  {0x9468, 0x6508}, //3651 #CJK UNIFIED IDEOGRAPH
+  {0x9469, 0x650A}, //3652 #CJK UNIFIED IDEOGRAPH
+  {0x946A, 0x650B}, //3653 #CJK UNIFIED IDEOGRAPH
+  {0x946B, 0x650C}, //3654 #CJK UNIFIED IDEOGRAPH
+  {0x946C, 0x650D}, //3655 #CJK UNIFIED IDEOGRAPH
+  {0x946D, 0x650E}, //3656 #CJK UNIFIED IDEOGRAPH
+  {0x946E, 0x650F}, //3657 #CJK UNIFIED IDEOGRAPH
+  {0x946F, 0x6510}, //3658 #CJK UNIFIED IDEOGRAPH
+  {0x9470, 0x6511}, //3659 #CJK UNIFIED IDEOGRAPH
+  {0x9471, 0x6513}, //3660 #CJK UNIFIED IDEOGRAPH
+  {0x9472, 0x6514}, //3661 #CJK UNIFIED IDEOGRAPH
+  {0x9473, 0x6515}, //3662 #CJK UNIFIED IDEOGRAPH
+  {0x9474, 0x6516}, //3663 #CJK UNIFIED IDEOGRAPH
+  {0x9475, 0x6517}, //3664 #CJK UNIFIED IDEOGRAPH
+  {0x9476, 0x6519}, //3665 #CJK UNIFIED IDEOGRAPH
+  {0x9477, 0x651A}, //3666 #CJK UNIFIED IDEOGRAPH
+  {0x9478, 0x651B}, //3667 #CJK UNIFIED IDEOGRAPH
+  {0x9479, 0x651C}, //3668 #CJK UNIFIED IDEOGRAPH
+  {0x947A, 0x651D}, //3669 #CJK UNIFIED IDEOGRAPH
+  {0x947B, 0x651E}, //3670 #CJK UNIFIED IDEOGRAPH
+  {0x947C, 0x651F}, //3671 #CJK UNIFIED IDEOGRAPH
+  {0x947D, 0x6520}, //3672 #CJK UNIFIED IDEOGRAPH
+  {0x947E, 0x6521}, //3673 #CJK UNIFIED IDEOGRAPH
+  {0x9480, 0x6522}, //3674 #CJK UNIFIED IDEOGRAPH
+  {0x9481, 0x6523}, //3675 #CJK UNIFIED IDEOGRAPH
+  {0x9482, 0x6524}, //3676 #CJK UNIFIED IDEOGRAPH
+  {0x9483, 0x6526}, //3677 #CJK UNIFIED IDEOGRAPH
+  {0x9484, 0x6527}, //3678 #CJK UNIFIED IDEOGRAPH
+  {0x9485, 0x6528}, //3679 #CJK UNIFIED IDEOGRAPH
+  {0x9486, 0x6529}, //3680 #CJK UNIFIED IDEOGRAPH
+  {0x9487, 0x652A}, //3681 #CJK UNIFIED IDEOGRAPH
+  {0x9488, 0x652C}, //3682 #CJK UNIFIED IDEOGRAPH
+  {0x9489, 0x652D}, //3683 #CJK UNIFIED IDEOGRAPH
+  {0x948A, 0x6530}, //3684 #CJK UNIFIED IDEOGRAPH
+  {0x948B, 0x6531}, //3685 #CJK UNIFIED IDEOGRAPH
+  {0x948C, 0x6532}, //3686 #CJK UNIFIED IDEOGRAPH
+  {0x948D, 0x6533}, //3687 #CJK UNIFIED IDEOGRAPH
+  {0x948E, 0x6537}, //3688 #CJK UNIFIED IDEOGRAPH
+  {0x948F, 0x653A}, //3689 #CJK UNIFIED IDEOGRAPH
+  {0x9490, 0x653C}, //3690 #CJK UNIFIED IDEOGRAPH
+  {0x9491, 0x653D}, //3691 #CJK UNIFIED IDEOGRAPH
+  {0x9492, 0x6540}, //3692 #CJK UNIFIED IDEOGRAPH
+  {0x9493, 0x6541}, //3693 #CJK UNIFIED IDEOGRAPH
+  {0x9494, 0x6542}, //3694 #CJK UNIFIED IDEOGRAPH
+  {0x9495, 0x6543}, //3695 #CJK UNIFIED IDEOGRAPH
+  {0x9496, 0x6544}, //3696 #CJK UNIFIED IDEOGRAPH
+  {0x9497, 0x6546}, //3697 #CJK UNIFIED IDEOGRAPH
+  {0x9498, 0x6547}, //3698 #CJK UNIFIED IDEOGRAPH
+  {0x9499, 0x654A}, //3699 #CJK UNIFIED IDEOGRAPH
+  {0x949A, 0x654B}, //3700 #CJK UNIFIED IDEOGRAPH
+  {0x949B, 0x654D}, //3701 #CJK UNIFIED IDEOGRAPH
+  {0x949C, 0x654E}, //3702 #CJK UNIFIED IDEOGRAPH
+  {0x949D, 0x6550}, //3703 #CJK UNIFIED IDEOGRAPH
+  {0x949E, 0x6552}, //3704 #CJK UNIFIED IDEOGRAPH
+  {0x949F, 0x6553}, //3705 #CJK UNIFIED IDEOGRAPH
+  {0x94A0, 0x6554}, //3706 #CJK UNIFIED IDEOGRAPH
+  {0x94A1, 0x6557}, //3707 #CJK UNIFIED IDEOGRAPH
+  {0x94A2, 0x6558}, //3708 #CJK UNIFIED IDEOGRAPH
+  {0x94A3, 0x655A}, //3709 #CJK UNIFIED IDEOGRAPH
+  {0x94A4, 0x655C}, //3710 #CJK UNIFIED IDEOGRAPH
+  {0x94A5, 0x655F}, //3711 #CJK UNIFIED IDEOGRAPH
+  {0x94A6, 0x6560}, //3712 #CJK UNIFIED IDEOGRAPH
+  {0x94A7, 0x6561}, //3713 #CJK UNIFIED IDEOGRAPH
+  {0x94A8, 0x6564}, //3714 #CJK UNIFIED IDEOGRAPH
+  {0x94A9, 0x6565}, //3715 #CJK UNIFIED IDEOGRAPH
+  {0x94AA, 0x6567}, //3716 #CJK UNIFIED IDEOGRAPH
+  {0x94AB, 0x6568}, //3717 #CJK UNIFIED IDEOGRAPH
+  {0x94AC, 0x6569}, //3718 #CJK UNIFIED IDEOGRAPH
+  {0x94AD, 0x656A}, //3719 #CJK UNIFIED IDEOGRAPH
+  {0x94AE, 0x656D}, //3720 #CJK UNIFIED IDEOGRAPH
+  {0x94AF, 0x656E}, //3721 #CJK UNIFIED IDEOGRAPH
+  {0x94B0, 0x656F}, //3722 #CJK UNIFIED IDEOGRAPH
+  {0x94B1, 0x6571}, //3723 #CJK UNIFIED IDEOGRAPH
+  {0x94B2, 0x6573}, //3724 #CJK UNIFIED IDEOGRAPH
+  {0x94B3, 0x6575}, //3725 #CJK UNIFIED IDEOGRAPH
+  {0x94B4, 0x6576}, //3726 #CJK UNIFIED IDEOGRAPH
+  {0x94B5, 0x6578}, //3727 #CJK UNIFIED IDEOGRAPH
+  {0x94B6, 0x6579}, //3728 #CJK UNIFIED IDEOGRAPH
+  {0x94B7, 0x657A}, //3729 #CJK UNIFIED IDEOGRAPH
+  {0x94B8, 0x657B}, //3730 #CJK UNIFIED IDEOGRAPH
+  {0x94B9, 0x657C}, //3731 #CJK UNIFIED IDEOGRAPH
+  {0x94BA, 0x657D}, //3732 #CJK UNIFIED IDEOGRAPH
+  {0x94BB, 0x657E}, //3733 #CJK UNIFIED IDEOGRAPH
+  {0x94BC, 0x657F}, //3734 #CJK UNIFIED IDEOGRAPH
+  {0x94BD, 0x6580}, //3735 #CJK UNIFIED IDEOGRAPH
+  {0x94BE, 0x6581}, //3736 #CJK UNIFIED IDEOGRAPH
+  {0x94BF, 0x6582}, //3737 #CJK UNIFIED IDEOGRAPH
+  {0x94C0, 0x6583}, //3738 #CJK UNIFIED IDEOGRAPH
+  {0x94C1, 0x6584}, //3739 #CJK UNIFIED IDEOGRAPH
+  {0x94C2, 0x6585}, //3740 #CJK UNIFIED IDEOGRAPH
+  {0x94C3, 0x6586}, //3741 #CJK UNIFIED IDEOGRAPH
+  {0x94C4, 0x6588}, //3742 #CJK UNIFIED IDEOGRAPH
+  {0x94C5, 0x6589}, //3743 #CJK UNIFIED IDEOGRAPH
+  {0x94C6, 0x658A}, //3744 #CJK UNIFIED IDEOGRAPH
+  {0x94C7, 0x658D}, //3745 #CJK UNIFIED IDEOGRAPH
+  {0x94C8, 0x658E}, //3746 #CJK UNIFIED IDEOGRAPH
+  {0x94C9, 0x658F}, //3747 #CJK UNIFIED IDEOGRAPH
+  {0x94CA, 0x6592}, //3748 #CJK UNIFIED IDEOGRAPH
+  {0x94CB, 0x6594}, //3749 #CJK UNIFIED IDEOGRAPH
+  {0x94CC, 0x6595}, //3750 #CJK UNIFIED IDEOGRAPH
+  {0x94CD, 0x6596}, //3751 #CJK UNIFIED IDEOGRAPH
+  {0x94CE, 0x6598}, //3752 #CJK UNIFIED IDEOGRAPH
+  {0x94CF, 0x659A}, //3753 #CJK UNIFIED IDEOGRAPH
+  {0x94D0, 0x659D}, //3754 #CJK UNIFIED IDEOGRAPH
+  {0x94D1, 0x659E}, //3755 #CJK UNIFIED IDEOGRAPH
+  {0x94D2, 0x65A0}, //3756 #CJK UNIFIED IDEOGRAPH
+  {0x94D3, 0x65A2}, //3757 #CJK UNIFIED IDEOGRAPH
+  {0x94D4, 0x65A3}, //3758 #CJK UNIFIED IDEOGRAPH
+  {0x94D5, 0x65A6}, //3759 #CJK UNIFIED IDEOGRAPH
+  {0x94D6, 0x65A8}, //3760 #CJK UNIFIED IDEOGRAPH
+  {0x94D7, 0x65AA}, //3761 #CJK UNIFIED IDEOGRAPH
+  {0x94D8, 0x65AC}, //3762 #CJK UNIFIED IDEOGRAPH
+  {0x94D9, 0x65AE}, //3763 #CJK UNIFIED IDEOGRAPH
+  {0x94DA, 0x65B1}, //3764 #CJK UNIFIED IDEOGRAPH
+  {0x94DB, 0x65B2}, //3765 #CJK UNIFIED IDEOGRAPH
+  {0x94DC, 0x65B3}, //3766 #CJK UNIFIED IDEOGRAPH
+  {0x94DD, 0x65B4}, //3767 #CJK UNIFIED IDEOGRAPH
+  {0x94DE, 0x65B5}, //3768 #CJK UNIFIED IDEOGRAPH
+  {0x94DF, 0x65B6}, //3769 #CJK UNIFIED IDEOGRAPH
+  {0x94E0, 0x65B7}, //3770 #CJK UNIFIED IDEOGRAPH
+  {0x94E1, 0x65B8}, //3771 #CJK UNIFIED IDEOGRAPH
+  {0x94E2, 0x65BA}, //3772 #CJK UNIFIED IDEOGRAPH
+  {0x94E3, 0x65BB}, //3773 #CJK UNIFIED IDEOGRAPH
+  {0x94E4, 0x65BE}, //3774 #CJK UNIFIED IDEOGRAPH
+  {0x94E5, 0x65BF}, //3775 #CJK UNIFIED IDEOGRAPH
+  {0x94E6, 0x65C0}, //3776 #CJK UNIFIED IDEOGRAPH
+  {0x94E7, 0x65C2}, //3777 #CJK UNIFIED IDEOGRAPH
+  {0x94E8, 0x65C7}, //3778 #CJK UNIFIED IDEOGRAPH
+  {0x94E9, 0x65C8}, //3779 #CJK UNIFIED IDEOGRAPH
+  {0x94EA, 0x65C9}, //3780 #CJK UNIFIED IDEOGRAPH
+  {0x94EB, 0x65CA}, //3781 #CJK UNIFIED IDEOGRAPH
+  {0x94EC, 0x65CD}, //3782 #CJK UNIFIED IDEOGRAPH
+  {0x94ED, 0x65D0}, //3783 #CJK UNIFIED IDEOGRAPH
+  {0x94EE, 0x65D1}, //3784 #CJK UNIFIED IDEOGRAPH
+  {0x94EF, 0x65D3}, //3785 #CJK UNIFIED IDEOGRAPH
+  {0x94F0, 0x65D4}, //3786 #CJK UNIFIED IDEOGRAPH
+  {0x94F1, 0x65D5}, //3787 #CJK UNIFIED IDEOGRAPH
+  {0x94F2, 0x65D8}, //3788 #CJK UNIFIED IDEOGRAPH
+  {0x94F3, 0x65D9}, //3789 #CJK UNIFIED IDEOGRAPH
+  {0x94F4, 0x65DA}, //3790 #CJK UNIFIED IDEOGRAPH
+  {0x94F5, 0x65DB}, //3791 #CJK UNIFIED IDEOGRAPH
+  {0x94F6, 0x65DC}, //3792 #CJK UNIFIED IDEOGRAPH
+  {0x94F7, 0x65DD}, //3793 #CJK UNIFIED IDEOGRAPH
+  {0x94F8, 0x65DE}, //3794 #CJK UNIFIED IDEOGRAPH
+  {0x94F9, 0x65DF}, //3795 #CJK UNIFIED IDEOGRAPH
+  {0x94FA, 0x65E1}, //3796 #CJK UNIFIED IDEOGRAPH
+  {0x94FB, 0x65E3}, //3797 #CJK UNIFIED IDEOGRAPH
+  {0x94FC, 0x65E4}, //3798 #CJK UNIFIED IDEOGRAPH
+  {0x94FD, 0x65EA}, //3799 #CJK UNIFIED IDEOGRAPH
+  {0x94FE, 0x65EB}, //3800 #CJK UNIFIED IDEOGRAPH
+  {0x9540, 0x65F2}, //3801 #CJK UNIFIED IDEOGRAPH
+  {0x9541, 0x65F3}, //3802 #CJK UNIFIED IDEOGRAPH
+  {0x9542, 0x65F4}, //3803 #CJK UNIFIED IDEOGRAPH
+  {0x9543, 0x65F5}, //3804 #CJK UNIFIED IDEOGRAPH
+  {0x9544, 0x65F8}, //3805 #CJK UNIFIED IDEOGRAPH
+  {0x9545, 0x65F9}, //3806 #CJK UNIFIED IDEOGRAPH
+  {0x9546, 0x65FB}, //3807 #CJK UNIFIED IDEOGRAPH
+  {0x9547, 0x65FC}, //3808 #CJK UNIFIED IDEOGRAPH
+  {0x9548, 0x65FD}, //3809 #CJK UNIFIED IDEOGRAPH
+  {0x9549, 0x65FE}, //3810 #CJK UNIFIED IDEOGRAPH
+  {0x954A, 0x65FF}, //3811 #CJK UNIFIED IDEOGRAPH
+  {0x954B, 0x6601}, //3812 #CJK UNIFIED IDEOGRAPH
+  {0x954C, 0x6604}, //3813 #CJK UNIFIED IDEOGRAPH
+  {0x954D, 0x6605}, //3814 #CJK UNIFIED IDEOGRAPH
+  {0x954E, 0x6607}, //3815 #CJK UNIFIED IDEOGRAPH
+  {0x954F, 0x6608}, //3816 #CJK UNIFIED IDEOGRAPH
+  {0x9550, 0x6609}, //3817 #CJK UNIFIED IDEOGRAPH
+  {0x9551, 0x660B}, //3818 #CJK UNIFIED IDEOGRAPH
+  {0x9552, 0x660D}, //3819 #CJK UNIFIED IDEOGRAPH
+  {0x9553, 0x6610}, //3820 #CJK UNIFIED IDEOGRAPH
+  {0x9554, 0x6611}, //3821 #CJK UNIFIED IDEOGRAPH
+  {0x9555, 0x6612}, //3822 #CJK UNIFIED IDEOGRAPH
+  {0x9556, 0x6616}, //3823 #CJK UNIFIED IDEOGRAPH
+  {0x9557, 0x6617}, //3824 #CJK UNIFIED IDEOGRAPH
+  {0x9558, 0x6618}, //3825 #CJK UNIFIED IDEOGRAPH
+  {0x9559, 0x661A}, //3826 #CJK UNIFIED IDEOGRAPH
+  {0x955A, 0x661B}, //3827 #CJK UNIFIED IDEOGRAPH
+  {0x955B, 0x661C}, //3828 #CJK UNIFIED IDEOGRAPH
+  {0x955C, 0x661E}, //3829 #CJK UNIFIED IDEOGRAPH
+  {0x955D, 0x6621}, //3830 #CJK UNIFIED IDEOGRAPH
+  {0x955E, 0x6622}, //3831 #CJK UNIFIED IDEOGRAPH
+  {0x955F, 0x6623}, //3832 #CJK UNIFIED IDEOGRAPH
+  {0x9560, 0x6624}, //3833 #CJK UNIFIED IDEOGRAPH
+  {0x9561, 0x6626}, //3834 #CJK UNIFIED IDEOGRAPH
+  {0x9562, 0x6629}, //3835 #CJK UNIFIED IDEOGRAPH
+  {0x9563, 0x662A}, //3836 #CJK UNIFIED IDEOGRAPH
+  {0x9564, 0x662B}, //3837 #CJK UNIFIED IDEOGRAPH
+  {0x9565, 0x662C}, //3838 #CJK UNIFIED IDEOGRAPH
+  {0x9566, 0x662E}, //3839 #CJK UNIFIED IDEOGRAPH
+  {0x9567, 0x6630}, //3840 #CJK UNIFIED IDEOGRAPH
+  {0x9568, 0x6632}, //3841 #CJK UNIFIED IDEOGRAPH
+  {0x9569, 0x6633}, //3842 #CJK UNIFIED IDEOGRAPH
+  {0x956A, 0x6637}, //3843 #CJK UNIFIED IDEOGRAPH
+  {0x956B, 0x6638}, //3844 #CJK UNIFIED IDEOGRAPH
+  {0x956C, 0x6639}, //3845 #CJK UNIFIED IDEOGRAPH
+  {0x956D, 0x663A}, //3846 #CJK UNIFIED IDEOGRAPH
+  {0x956E, 0x663B}, //3847 #CJK UNIFIED IDEOGRAPH
+  {0x956F, 0x663D}, //3848 #CJK UNIFIED IDEOGRAPH
+  {0x9570, 0x663F}, //3849 #CJK UNIFIED IDEOGRAPH
+  {0x9571, 0x6640}, //3850 #CJK UNIFIED IDEOGRAPH
+  {0x9572, 0x6642}, //3851 #CJK UNIFIED IDEOGRAPH
+  {0x9573, 0x6644}, //3852 #CJK UNIFIED IDEOGRAPH
+  {0x9574, 0x6645}, //3853 #CJK UNIFIED IDEOGRAPH
+  {0x9575, 0x6646}, //3854 #CJK UNIFIED IDEOGRAPH
+  {0x9576, 0x6647}, //3855 #CJK UNIFIED IDEOGRAPH
+  {0x9577, 0x6648}, //3856 #CJK UNIFIED IDEOGRAPH
+  {0x9578, 0x6649}, //3857 #CJK UNIFIED IDEOGRAPH
+  {0x9579, 0x664A}, //3858 #CJK UNIFIED IDEOGRAPH
+  {0x957A, 0x664D}, //3859 #CJK UNIFIED IDEOGRAPH
+  {0x957B, 0x664E}, //3860 #CJK UNIFIED IDEOGRAPH
+  {0x957C, 0x6650}, //3861 #CJK UNIFIED IDEOGRAPH
+  {0x957D, 0x6651}, //3862 #CJK UNIFIED IDEOGRAPH
+  {0x957E, 0x6658}, //3863 #CJK UNIFIED IDEOGRAPH
+  {0x9580, 0x6659}, //3864 #CJK UNIFIED IDEOGRAPH
+  {0x9581, 0x665B}, //3865 #CJK UNIFIED IDEOGRAPH
+  {0x9582, 0x665C}, //3866 #CJK UNIFIED IDEOGRAPH
+  {0x9583, 0x665D}, //3867 #CJK UNIFIED IDEOGRAPH
+  {0x9584, 0x665E}, //3868 #CJK UNIFIED IDEOGRAPH
+  {0x9585, 0x6660}, //3869 #CJK UNIFIED IDEOGRAPH
+  {0x9586, 0x6662}, //3870 #CJK UNIFIED IDEOGRAPH
+  {0x9587, 0x6663}, //3871 #CJK UNIFIED IDEOGRAPH
+  {0x9588, 0x6665}, //3872 #CJK UNIFIED IDEOGRAPH
+  {0x9589, 0x6667}, //3873 #CJK UNIFIED IDEOGRAPH
+  {0x958A, 0x6669}, //3874 #CJK UNIFIED IDEOGRAPH
+  {0x958B, 0x666A}, //3875 #CJK UNIFIED IDEOGRAPH
+  {0x958C, 0x666B}, //3876 #CJK UNIFIED IDEOGRAPH
+  {0x958D, 0x666C}, //3877 #CJK UNIFIED IDEOGRAPH
+  {0x958E, 0x666D}, //3878 #CJK UNIFIED IDEOGRAPH
+  {0x958F, 0x6671}, //3879 #CJK UNIFIED IDEOGRAPH
+  {0x9590, 0x6672}, //3880 #CJK UNIFIED IDEOGRAPH
+  {0x9591, 0x6673}, //3881 #CJK UNIFIED IDEOGRAPH
+  {0x9592, 0x6675}, //3882 #CJK UNIFIED IDEOGRAPH
+  {0x9593, 0x6678}, //3883 #CJK UNIFIED IDEOGRAPH
+  {0x9594, 0x6679}, //3884 #CJK UNIFIED IDEOGRAPH
+  {0x9595, 0x667B}, //3885 #CJK UNIFIED IDEOGRAPH
+  {0x9596, 0x667C}, //3886 #CJK UNIFIED IDEOGRAPH
+  {0x9597, 0x667D}, //3887 #CJK UNIFIED IDEOGRAPH
+  {0x9598, 0x667F}, //3888 #CJK UNIFIED IDEOGRAPH
+  {0x9599, 0x6680}, //3889 #CJK UNIFIED IDEOGRAPH
+  {0x959A, 0x6681}, //3890 #CJK UNIFIED IDEOGRAPH
+  {0x959B, 0x6683}, //3891 #CJK UNIFIED IDEOGRAPH
+  {0x959C, 0x6685}, //3892 #CJK UNIFIED IDEOGRAPH
+  {0x959D, 0x6686}, //3893 #CJK UNIFIED IDEOGRAPH
+  {0x959E, 0x6688}, //3894 #CJK UNIFIED IDEOGRAPH
+  {0x959F, 0x6689}, //3895 #CJK UNIFIED IDEOGRAPH
+  {0x95A0, 0x668A}, //3896 #CJK UNIFIED IDEOGRAPH
+  {0x95A1, 0x668B}, //3897 #CJK UNIFIED IDEOGRAPH
+  {0x95A2, 0x668D}, //3898 #CJK UNIFIED IDEOGRAPH
+  {0x95A3, 0x668E}, //3899 #CJK UNIFIED IDEOGRAPH
+  {0x95A4, 0x668F}, //3900 #CJK UNIFIED IDEOGRAPH
+  {0x95A5, 0x6690}, //3901 #CJK UNIFIED IDEOGRAPH
+  {0x95A6, 0x6692}, //3902 #CJK UNIFIED IDEOGRAPH
+  {0x95A7, 0x6693}, //3903 #CJK UNIFIED IDEOGRAPH
+  {0x95A8, 0x6694}, //3904 #CJK UNIFIED IDEOGRAPH
+  {0x95A9, 0x6695}, //3905 #CJK UNIFIED IDEOGRAPH
+  {0x95AA, 0x6698}, //3906 #CJK UNIFIED IDEOGRAPH
+  {0x95AB, 0x6699}, //3907 #CJK UNIFIED IDEOGRAPH
+  {0x95AC, 0x669A}, //3908 #CJK UNIFIED IDEOGRAPH
+  {0x95AD, 0x669B}, //3909 #CJK UNIFIED IDEOGRAPH
+  {0x95AE, 0x669C}, //3910 #CJK UNIFIED IDEOGRAPH
+  {0x95AF, 0x669E}, //3911 #CJK UNIFIED IDEOGRAPH
+  {0x95B0, 0x669F}, //3912 #CJK UNIFIED IDEOGRAPH
+  {0x95B1, 0x66A0}, //3913 #CJK UNIFIED IDEOGRAPH
+  {0x95B2, 0x66A1}, //3914 #CJK UNIFIED IDEOGRAPH
+  {0x95B3, 0x66A2}, //3915 #CJK UNIFIED IDEOGRAPH
+  {0x95B4, 0x66A3}, //3916 #CJK UNIFIED IDEOGRAPH
+  {0x95B5, 0x66A4}, //3917 #CJK UNIFIED IDEOGRAPH
+  {0x95B6, 0x66A5}, //3918 #CJK UNIFIED IDEOGRAPH
+  {0x95B7, 0x66A6}, //3919 #CJK UNIFIED IDEOGRAPH
+  {0x95B8, 0x66A9}, //3920 #CJK UNIFIED IDEOGRAPH
+  {0x95B9, 0x66AA}, //3921 #CJK UNIFIED IDEOGRAPH
+  {0x95BA, 0x66AB}, //3922 #CJK UNIFIED IDEOGRAPH
+  {0x95BB, 0x66AC}, //3923 #CJK UNIFIED IDEOGRAPH
+  {0x95BC, 0x66AD}, //3924 #CJK UNIFIED IDEOGRAPH
+  {0x95BD, 0x66AF}, //3925 #CJK UNIFIED IDEOGRAPH
+  {0x95BE, 0x66B0}, //3926 #CJK UNIFIED IDEOGRAPH
+  {0x95BF, 0x66B1}, //3927 #CJK UNIFIED IDEOGRAPH
+  {0x95C0, 0x66B2}, //3928 #CJK UNIFIED IDEOGRAPH
+  {0x95C1, 0x66B3}, //3929 #CJK UNIFIED IDEOGRAPH
+  {0x95C2, 0x66B5}, //3930 #CJK UNIFIED IDEOGRAPH
+  {0x95C3, 0x66B6}, //3931 #CJK UNIFIED IDEOGRAPH
+  {0x95C4, 0x66B7}, //3932 #CJK UNIFIED IDEOGRAPH
+  {0x95C5, 0x66B8}, //3933 #CJK UNIFIED IDEOGRAPH
+  {0x95C6, 0x66BA}, //3934 #CJK UNIFIED IDEOGRAPH
+  {0x95C7, 0x66BB}, //3935 #CJK UNIFIED IDEOGRAPH
+  {0x95C8, 0x66BC}, //3936 #CJK UNIFIED IDEOGRAPH
+  {0x95C9, 0x66BD}, //3937 #CJK UNIFIED IDEOGRAPH
+  {0x95CA, 0x66BF}, //3938 #CJK UNIFIED IDEOGRAPH
+  {0x95CB, 0x66C0}, //3939 #CJK UNIFIED IDEOGRAPH
+  {0x95CC, 0x66C1}, //3940 #CJK UNIFIED IDEOGRAPH
+  {0x95CD, 0x66C2}, //3941 #CJK UNIFIED IDEOGRAPH
+  {0x95CE, 0x66C3}, //3942 #CJK UNIFIED IDEOGRAPH
+  {0x95CF, 0x66C4}, //3943 #CJK UNIFIED IDEOGRAPH
+  {0x95D0, 0x66C5}, //3944 #CJK UNIFIED IDEOGRAPH
+  {0x95D1, 0x66C6}, //3945 #CJK UNIFIED IDEOGRAPH
+  {0x95D2, 0x66C7}, //3946 #CJK UNIFIED IDEOGRAPH
+  {0x95D3, 0x66C8}, //3947 #CJK UNIFIED IDEOGRAPH
+  {0x95D4, 0x66C9}, //3948 #CJK UNIFIED IDEOGRAPH
+  {0x95D5, 0x66CA}, //3949 #CJK UNIFIED IDEOGRAPH
+  {0x95D6, 0x66CB}, //3950 #CJK UNIFIED IDEOGRAPH
+  {0x95D7, 0x66CC}, //3951 #CJK UNIFIED IDEOGRAPH
+  {0x95D8, 0x66CD}, //3952 #CJK UNIFIED IDEOGRAPH
+  {0x95D9, 0x66CE}, //3953 #CJK UNIFIED IDEOGRAPH
+  {0x95DA, 0x66CF}, //3954 #CJK UNIFIED IDEOGRAPH
+  {0x95DB, 0x66D0}, //3955 #CJK UNIFIED IDEOGRAPH
+  {0x95DC, 0x66D1}, //3956 #CJK UNIFIED IDEOGRAPH
+  {0x95DD, 0x66D2}, //3957 #CJK UNIFIED IDEOGRAPH
+  {0x95DE, 0x66D3}, //3958 #CJK UNIFIED IDEOGRAPH
+  {0x95DF, 0x66D4}, //3959 #CJK UNIFIED IDEOGRAPH
+  {0x95E0, 0x66D5}, //3960 #CJK UNIFIED IDEOGRAPH
+  {0x95E1, 0x66D6}, //3961 #CJK UNIFIED IDEOGRAPH
+  {0x95E2, 0x66D7}, //3962 #CJK UNIFIED IDEOGRAPH
+  {0x95E3, 0x66D8}, //3963 #CJK UNIFIED IDEOGRAPH
+  {0x95E4, 0x66DA}, //3964 #CJK UNIFIED IDEOGRAPH
+  {0x95E5, 0x66DE}, //3965 #CJK UNIFIED IDEOGRAPH
+  {0x95E6, 0x66DF}, //3966 #CJK UNIFIED IDEOGRAPH
+  {0x95E7, 0x66E0}, //3967 #CJK UNIFIED IDEOGRAPH
+  {0x95E8, 0x66E1}, //3968 #CJK UNIFIED IDEOGRAPH
+  {0x95E9, 0x66E2}, //3969 #CJK UNIFIED IDEOGRAPH
+  {0x95EA, 0x66E3}, //3970 #CJK UNIFIED IDEOGRAPH
+  {0x95EB, 0x66E4}, //3971 #CJK UNIFIED IDEOGRAPH
+  {0x95EC, 0x66E5}, //3972 #CJK UNIFIED IDEOGRAPH
+  {0x95ED, 0x66E7}, //3973 #CJK UNIFIED IDEOGRAPH
+  {0x95EE, 0x66E8}, //3974 #CJK UNIFIED IDEOGRAPH
+  {0x95EF, 0x66EA}, //3975 #CJK UNIFIED IDEOGRAPH
+  {0x95F0, 0x66EB}, //3976 #CJK UNIFIED IDEOGRAPH
+  {0x95F1, 0x66EC}, //3977 #CJK UNIFIED IDEOGRAPH
+  {0x95F2, 0x66ED}, //3978 #CJK UNIFIED IDEOGRAPH
+  {0x95F3, 0x66EE}, //3979 #CJK UNIFIED IDEOGRAPH
+  {0x95F4, 0x66EF}, //3980 #CJK UNIFIED IDEOGRAPH
+  {0x95F5, 0x66F1}, //3981 #CJK UNIFIED IDEOGRAPH
+  {0x95F6, 0x66F5}, //3982 #CJK UNIFIED IDEOGRAPH
+  {0x95F7, 0x66F6}, //3983 #CJK UNIFIED IDEOGRAPH
+  {0x95F8, 0x66F8}, //3984 #CJK UNIFIED IDEOGRAPH
+  {0x95F9, 0x66FA}, //3985 #CJK UNIFIED IDEOGRAPH
+  {0x95FA, 0x66FB}, //3986 #CJK UNIFIED IDEOGRAPH
+  {0x95FB, 0x66FD}, //3987 #CJK UNIFIED IDEOGRAPH
+  {0x95FC, 0x6701}, //3988 #CJK UNIFIED IDEOGRAPH
+  {0x95FD, 0x6702}, //3989 #CJK UNIFIED IDEOGRAPH
+  {0x95FE, 0x6703}, //3990 #CJK UNIFIED IDEOGRAPH
+  {0x9640, 0x6704}, //3991 #CJK UNIFIED IDEOGRAPH
+  {0x9641, 0x6705}, //3992 #CJK UNIFIED IDEOGRAPH
+  {0x9642, 0x6706}, //3993 #CJK UNIFIED IDEOGRAPH
+  {0x9643, 0x6707}, //3994 #CJK UNIFIED IDEOGRAPH
+  {0x9644, 0x670C}, //3995 #CJK UNIFIED IDEOGRAPH
+  {0x9645, 0x670E}, //3996 #CJK UNIFIED IDEOGRAPH
+  {0x9646, 0x670F}, //3997 #CJK UNIFIED IDEOGRAPH
+  {0x9647, 0x6711}, //3998 #CJK UNIFIED IDEOGRAPH
+  {0x9648, 0x6712}, //3999 #CJK UNIFIED IDEOGRAPH
+  {0x9649, 0x6713}, //4000 #CJK UNIFIED IDEOGRAPH
+  {0x964A, 0x6716}, //4001 #CJK UNIFIED IDEOGRAPH
+  {0x964B, 0x6718}, //4002 #CJK UNIFIED IDEOGRAPH
+  {0x964C, 0x6719}, //4003 #CJK UNIFIED IDEOGRAPH
+  {0x964D, 0x671A}, //4004 #CJK UNIFIED IDEOGRAPH
+  {0x964E, 0x671C}, //4005 #CJK UNIFIED IDEOGRAPH
+  {0x964F, 0x671E}, //4006 #CJK UNIFIED IDEOGRAPH
+  {0x9650, 0x6720}, //4007 #CJK UNIFIED IDEOGRAPH
+  {0x9651, 0x6721}, //4008 #CJK UNIFIED IDEOGRAPH
+  {0x9652, 0x6722}, //4009 #CJK UNIFIED IDEOGRAPH
+  {0x9653, 0x6723}, //4010 #CJK UNIFIED IDEOGRAPH
+  {0x9654, 0x6724}, //4011 #CJK UNIFIED IDEOGRAPH
+  {0x9655, 0x6725}, //4012 #CJK UNIFIED IDEOGRAPH
+  {0x9656, 0x6727}, //4013 #CJK UNIFIED IDEOGRAPH
+  {0x9657, 0x6729}, //4014 #CJK UNIFIED IDEOGRAPH
+  {0x9658, 0x672E}, //4015 #CJK UNIFIED IDEOGRAPH
+  {0x9659, 0x6730}, //4016 #CJK UNIFIED IDEOGRAPH
+  {0x965A, 0x6732}, //4017 #CJK UNIFIED IDEOGRAPH
+  {0x965B, 0x6733}, //4018 #CJK UNIFIED IDEOGRAPH
+  {0x965C, 0x6736}, //4019 #CJK UNIFIED IDEOGRAPH
+  {0x965D, 0x6737}, //4020 #CJK UNIFIED IDEOGRAPH
+  {0x965E, 0x6738}, //4021 #CJK UNIFIED IDEOGRAPH
+  {0x965F, 0x6739}, //4022 #CJK UNIFIED IDEOGRAPH
+  {0x9660, 0x673B}, //4023 #CJK UNIFIED IDEOGRAPH
+  {0x9661, 0x673C}, //4024 #CJK UNIFIED IDEOGRAPH
+  {0x9662, 0x673E}, //4025 #CJK UNIFIED IDEOGRAPH
+  {0x9663, 0x673F}, //4026 #CJK UNIFIED IDEOGRAPH
+  {0x9664, 0x6741}, //4027 #CJK UNIFIED IDEOGRAPH
+  {0x9665, 0x6744}, //4028 #CJK UNIFIED IDEOGRAPH
+  {0x9666, 0x6745}, //4029 #CJK UNIFIED IDEOGRAPH
+  {0x9667, 0x6747}, //4030 #CJK UNIFIED IDEOGRAPH
+  {0x9668, 0x674A}, //4031 #CJK UNIFIED IDEOGRAPH
+  {0x9669, 0x674B}, //4032 #CJK UNIFIED IDEOGRAPH
+  {0x966A, 0x674D}, //4033 #CJK UNIFIED IDEOGRAPH
+  {0x966B, 0x6752}, //4034 #CJK UNIFIED IDEOGRAPH
+  {0x966C, 0x6754}, //4035 #CJK UNIFIED IDEOGRAPH
+  {0x966D, 0x6755}, //4036 #CJK UNIFIED IDEOGRAPH
+  {0x966E, 0x6757}, //4037 #CJK UNIFIED IDEOGRAPH
+  {0x966F, 0x6758}, //4038 #CJK UNIFIED IDEOGRAPH
+  {0x9670, 0x6759}, //4039 #CJK UNIFIED IDEOGRAPH
+  {0x9671, 0x675A}, //4040 #CJK UNIFIED IDEOGRAPH
+  {0x9672, 0x675B}, //4041 #CJK UNIFIED IDEOGRAPH
+  {0x9673, 0x675D}, //4042 #CJK UNIFIED IDEOGRAPH
+  {0x9674, 0x6762}, //4043 #CJK UNIFIED IDEOGRAPH
+  {0x9675, 0x6763}, //4044 #CJK UNIFIED IDEOGRAPH
+  {0x9676, 0x6764}, //4045 #CJK UNIFIED IDEOGRAPH
+  {0x9677, 0x6766}, //4046 #CJK UNIFIED IDEOGRAPH
+  {0x9678, 0x6767}, //4047 #CJK UNIFIED IDEOGRAPH
+  {0x9679, 0x676B}, //4048 #CJK UNIFIED IDEOGRAPH
+  {0x967A, 0x676C}, //4049 #CJK UNIFIED IDEOGRAPH
+  {0x967B, 0x676E}, //4050 #CJK UNIFIED IDEOGRAPH
+  {0x967C, 0x6771}, //4051 #CJK UNIFIED IDEOGRAPH
+  {0x967D, 0x6774}, //4052 #CJK UNIFIED IDEOGRAPH
+  {0x967E, 0x6776}, //4053 #CJK UNIFIED IDEOGRAPH
+  {0x9680, 0x6778}, //4054 #CJK UNIFIED IDEOGRAPH
+  {0x9681, 0x6779}, //4055 #CJK UNIFIED IDEOGRAPH
+  {0x9682, 0x677A}, //4056 #CJK UNIFIED IDEOGRAPH
+  {0x9683, 0x677B}, //4057 #CJK UNIFIED IDEOGRAPH
+  {0x9684, 0x677D}, //4058 #CJK UNIFIED IDEOGRAPH
+  {0x9685, 0x6780}, //4059 #CJK UNIFIED IDEOGRAPH
+  {0x9686, 0x6782}, //4060 #CJK UNIFIED IDEOGRAPH
+  {0x9687, 0x6783}, //4061 #CJK UNIFIED IDEOGRAPH
+  {0x9688, 0x6785}, //4062 #CJK UNIFIED IDEOGRAPH
+  {0x9689, 0x6786}, //4063 #CJK UNIFIED IDEOGRAPH
+  {0x968A, 0x6788}, //4064 #CJK UNIFIED IDEOGRAPH
+  {0x968B, 0x678A}, //4065 #CJK UNIFIED IDEOGRAPH
+  {0x968C, 0x678C}, //4066 #CJK UNIFIED IDEOGRAPH
+  {0x968D, 0x678D}, //4067 #CJK UNIFIED IDEOGRAPH
+  {0x968E, 0x678E}, //4068 #CJK UNIFIED IDEOGRAPH
+  {0x968F, 0x678F}, //4069 #CJK UNIFIED IDEOGRAPH
+  {0x9690, 0x6791}, //4070 #CJK UNIFIED IDEOGRAPH
+  {0x9691, 0x6792}, //4071 #CJK UNIFIED IDEOGRAPH
+  {0x9692, 0x6793}, //4072 #CJK UNIFIED IDEOGRAPH
+  {0x9693, 0x6794}, //4073 #CJK UNIFIED IDEOGRAPH
+  {0x9694, 0x6796}, //4074 #CJK UNIFIED IDEOGRAPH
+  {0x9695, 0x6799}, //4075 #CJK UNIFIED IDEOGRAPH
+  {0x9696, 0x679B}, //4076 #CJK UNIFIED IDEOGRAPH
+  {0x9697, 0x679F}, //4077 #CJK UNIFIED IDEOGRAPH
+  {0x9698, 0x67A0}, //4078 #CJK UNIFIED IDEOGRAPH
+  {0x9699, 0x67A1}, //4079 #CJK UNIFIED IDEOGRAPH
+  {0x969A, 0x67A4}, //4080 #CJK UNIFIED IDEOGRAPH
+  {0x969B, 0x67A6}, //4081 #CJK UNIFIED IDEOGRAPH
+  {0x969C, 0x67A9}, //4082 #CJK UNIFIED IDEOGRAPH
+  {0x969D, 0x67AC}, //4083 #CJK UNIFIED IDEOGRAPH
+  {0x969E, 0x67AE}, //4084 #CJK UNIFIED IDEOGRAPH
+  {0x969F, 0x67B1}, //4085 #CJK UNIFIED IDEOGRAPH
+  {0x96A0, 0x67B2}, //4086 #CJK UNIFIED IDEOGRAPH
+  {0x96A1, 0x67B4}, //4087 #CJK UNIFIED IDEOGRAPH
+  {0x96A2, 0x67B9}, //4088 #CJK UNIFIED IDEOGRAPH
+  {0x96A3, 0x67BA}, //4089 #CJK UNIFIED IDEOGRAPH
+  {0x96A4, 0x67BB}, //4090 #CJK UNIFIED IDEOGRAPH
+  {0x96A5, 0x67BC}, //4091 #CJK UNIFIED IDEOGRAPH
+  {0x96A6, 0x67BD}, //4092 #CJK UNIFIED IDEOGRAPH
+  {0x96A7, 0x67BE}, //4093 #CJK UNIFIED IDEOGRAPH
+  {0x96A8, 0x67BF}, //4094 #CJK UNIFIED IDEOGRAPH
+  {0x96A9, 0x67C0}, //4095 #CJK UNIFIED IDEOGRAPH
+  {0x96AA, 0x67C2}, //4096 #CJK UNIFIED IDEOGRAPH
+  {0x96AB, 0x67C5}, //4097 #CJK UNIFIED IDEOGRAPH
+  {0x96AC, 0x67C6}, //4098 #CJK UNIFIED IDEOGRAPH
+  {0x96AD, 0x67C7}, //4099 #CJK UNIFIED IDEOGRAPH
+  {0x96AE, 0x67C8}, //4100 #CJK UNIFIED IDEOGRAPH
+  {0x96AF, 0x67C9}, //4101 #CJK UNIFIED IDEOGRAPH
+  {0x96B0, 0x67CA}, //4102 #CJK UNIFIED IDEOGRAPH
+  {0x96B1, 0x67CB}, //4103 #CJK UNIFIED IDEOGRAPH
+  {0x96B2, 0x67CC}, //4104 #CJK UNIFIED IDEOGRAPH
+  {0x96B3, 0x67CD}, //4105 #CJK UNIFIED IDEOGRAPH
+  {0x96B4, 0x67CE}, //4106 #CJK UNIFIED IDEOGRAPH
+  {0x96B5, 0x67D5}, //4107 #CJK UNIFIED IDEOGRAPH
+  {0x96B6, 0x67D6}, //4108 #CJK UNIFIED IDEOGRAPH
+  {0x96B7, 0x67D7}, //4109 #CJK UNIFIED IDEOGRAPH
+  {0x96B8, 0x67DB}, //4110 #CJK UNIFIED IDEOGRAPH
+  {0x96B9, 0x67DF}, //4111 #CJK UNIFIED IDEOGRAPH
+  {0x96BA, 0x67E1}, //4112 #CJK UNIFIED IDEOGRAPH
+  {0x96BB, 0x67E3}, //4113 #CJK UNIFIED IDEOGRAPH
+  {0x96BC, 0x67E4}, //4114 #CJK UNIFIED IDEOGRAPH
+  {0x96BD, 0x67E6}, //4115 #CJK UNIFIED IDEOGRAPH
+  {0x96BE, 0x67E7}, //4116 #CJK UNIFIED IDEOGRAPH
+  {0x96BF, 0x67E8}, //4117 #CJK UNIFIED IDEOGRAPH
+  {0x96C0, 0x67EA}, //4118 #CJK UNIFIED IDEOGRAPH
+  {0x96C1, 0x67EB}, //4119 #CJK UNIFIED IDEOGRAPH
+  {0x96C2, 0x67ED}, //4120 #CJK UNIFIED IDEOGRAPH
+  {0x96C3, 0x67EE}, //4121 #CJK UNIFIED IDEOGRAPH
+  {0x96C4, 0x67F2}, //4122 #CJK UNIFIED IDEOGRAPH
+  {0x96C5, 0x67F5}, //4123 #CJK UNIFIED IDEOGRAPH
+  {0x96C6, 0x67F6}, //4124 #CJK UNIFIED IDEOGRAPH
+  {0x96C7, 0x67F7}, //4125 #CJK UNIFIED IDEOGRAPH
+  {0x96C8, 0x67F8}, //4126 #CJK UNIFIED IDEOGRAPH
+  {0x96C9, 0x67F9}, //4127 #CJK UNIFIED IDEOGRAPH
+  {0x96CA, 0x67FA}, //4128 #CJK UNIFIED IDEOGRAPH
+  {0x96CB, 0x67FB}, //4129 #CJK UNIFIED IDEOGRAPH
+  {0x96CC, 0x67FC}, //4130 #CJK UNIFIED IDEOGRAPH
+  {0x96CD, 0x67FE}, //4131 #CJK UNIFIED IDEOGRAPH
+  {0x96CE, 0x6801}, //4132 #CJK UNIFIED IDEOGRAPH
+  {0x96CF, 0x6802}, //4133 #CJK UNIFIED IDEOGRAPH
+  {0x96D0, 0x6803}, //4134 #CJK UNIFIED IDEOGRAPH
+  {0x96D1, 0x6804}, //4135 #CJK UNIFIED IDEOGRAPH
+  {0x96D2, 0x6806}, //4136 #CJK UNIFIED IDEOGRAPH
+  {0x96D3, 0x680D}, //4137 #CJK UNIFIED IDEOGRAPH
+  {0x96D4, 0x6810}, //4138 #CJK UNIFIED IDEOGRAPH
+  {0x96D5, 0x6812}, //4139 #CJK UNIFIED IDEOGRAPH
+  {0x96D6, 0x6814}, //4140 #CJK UNIFIED IDEOGRAPH
+  {0x96D7, 0x6815}, //4141 #CJK UNIFIED IDEOGRAPH
+  {0x96D8, 0x6818}, //4142 #CJK UNIFIED IDEOGRAPH
+  {0x96D9, 0x6819}, //4143 #CJK UNIFIED IDEOGRAPH
+  {0x96DA, 0x681A}, //4144 #CJK UNIFIED IDEOGRAPH
+  {0x96DB, 0x681B}, //4145 #CJK UNIFIED IDEOGRAPH
+  {0x96DC, 0x681C}, //4146 #CJK UNIFIED IDEOGRAPH
+  {0x96DD, 0x681E}, //4147 #CJK UNIFIED IDEOGRAPH
+  {0x96DE, 0x681F}, //4148 #CJK UNIFIED IDEOGRAPH
+  {0x96DF, 0x6820}, //4149 #CJK UNIFIED IDEOGRAPH
+  {0x96E0, 0x6822}, //4150 #CJK UNIFIED IDEOGRAPH
+  {0x96E1, 0x6823}, //4151 #CJK UNIFIED IDEOGRAPH
+  {0x96E2, 0x6824}, //4152 #CJK UNIFIED IDEOGRAPH
+  {0x96E3, 0x6825}, //4153 #CJK UNIFIED IDEOGRAPH
+  {0x96E4, 0x6826}, //4154 #CJK UNIFIED IDEOGRAPH
+  {0x96E5, 0x6827}, //4155 #CJK UNIFIED IDEOGRAPH
+  {0x96E6, 0x6828}, //4156 #CJK UNIFIED IDEOGRAPH
+  {0x96E7, 0x682B}, //4157 #CJK UNIFIED IDEOGRAPH
+  {0x96E8, 0x682C}, //4158 #CJK UNIFIED IDEOGRAPH
+  {0x96E9, 0x682D}, //4159 #CJK UNIFIED IDEOGRAPH
+  {0x96EA, 0x682E}, //4160 #CJK UNIFIED IDEOGRAPH
+  {0x96EB, 0x682F}, //4161 #CJK UNIFIED IDEOGRAPH
+  {0x96EC, 0x6830}, //4162 #CJK UNIFIED IDEOGRAPH
+  {0x96ED, 0x6831}, //4163 #CJK UNIFIED IDEOGRAPH
+  {0x96EE, 0x6834}, //4164 #CJK UNIFIED IDEOGRAPH
+  {0x96EF, 0x6835}, //4165 #CJK UNIFIED IDEOGRAPH
+  {0x96F0, 0x6836}, //4166 #CJK UNIFIED IDEOGRAPH
+  {0x96F1, 0x683A}, //4167 #CJK UNIFIED IDEOGRAPH
+  {0x96F2, 0x683B}, //4168 #CJK UNIFIED IDEOGRAPH
+  {0x96F3, 0x683F}, //4169 #CJK UNIFIED IDEOGRAPH
+  {0x96F4, 0x6847}, //4170 #CJK UNIFIED IDEOGRAPH
+  {0x96F5, 0x684B}, //4171 #CJK UNIFIED IDEOGRAPH
+  {0x96F6, 0x684D}, //4172 #CJK UNIFIED IDEOGRAPH
+  {0x96F7, 0x684F}, //4173 #CJK UNIFIED IDEOGRAPH
+  {0x96F8, 0x6852}, //4174 #CJK UNIFIED IDEOGRAPH
+  {0x96F9, 0x6856}, //4175 #CJK UNIFIED IDEOGRAPH
+  {0x96FA, 0x6857}, //4176 #CJK UNIFIED IDEOGRAPH
+  {0x96FB, 0x6858}, //4177 #CJK UNIFIED IDEOGRAPH
+  {0x96FC, 0x6859}, //4178 #CJK UNIFIED IDEOGRAPH
+  {0x96FD, 0x685A}, //4179 #CJK UNIFIED IDEOGRAPH
+  {0x96FE, 0x685B}, //4180 #CJK UNIFIED IDEOGRAPH
+  {0x9740, 0x685C}, //4181 #CJK UNIFIED IDEOGRAPH
+  {0x9741, 0x685D}, //4182 #CJK UNIFIED IDEOGRAPH
+  {0x9742, 0x685E}, //4183 #CJK UNIFIED IDEOGRAPH
+  {0x9743, 0x685F}, //4184 #CJK UNIFIED IDEOGRAPH
+  {0x9744, 0x686A}, //4185 #CJK UNIFIED IDEOGRAPH
+  {0x9745, 0x686C}, //4186 #CJK UNIFIED IDEOGRAPH
+  {0x9746, 0x686D}, //4187 #CJK UNIFIED IDEOGRAPH
+  {0x9747, 0x686E}, //4188 #CJK UNIFIED IDEOGRAPH
+  {0x9748, 0x686F}, //4189 #CJK UNIFIED IDEOGRAPH
+  {0x9749, 0x6870}, //4190 #CJK UNIFIED IDEOGRAPH
+  {0x974A, 0x6871}, //4191 #CJK UNIFIED IDEOGRAPH
+  {0x974B, 0x6872}, //4192 #CJK UNIFIED IDEOGRAPH
+  {0x974C, 0x6873}, //4193 #CJK UNIFIED IDEOGRAPH
+  {0x974D, 0x6875}, //4194 #CJK UNIFIED IDEOGRAPH
+  {0x974E, 0x6878}, //4195 #CJK UNIFIED IDEOGRAPH
+  {0x974F, 0x6879}, //4196 #CJK UNIFIED IDEOGRAPH
+  {0x9750, 0x687A}, //4197 #CJK UNIFIED IDEOGRAPH
+  {0x9751, 0x687B}, //4198 #CJK UNIFIED IDEOGRAPH
+  {0x9752, 0x687C}, //4199 #CJK UNIFIED IDEOGRAPH
+  {0x9753, 0x687D}, //4200 #CJK UNIFIED IDEOGRAPH
+  {0x9754, 0x687E}, //4201 #CJK UNIFIED IDEOGRAPH
+  {0x9755, 0x687F}, //4202 #CJK UNIFIED IDEOGRAPH
+  {0x9756, 0x6880}, //4203 #CJK UNIFIED IDEOGRAPH
+  {0x9757, 0x6882}, //4204 #CJK UNIFIED IDEOGRAPH
+  {0x9758, 0x6884}, //4205 #CJK UNIFIED IDEOGRAPH
+  {0x9759, 0x6887}, //4206 #CJK UNIFIED IDEOGRAPH
+  {0x975A, 0x6888}, //4207 #CJK UNIFIED IDEOGRAPH
+  {0x975B, 0x6889}, //4208 #CJK UNIFIED IDEOGRAPH
+  {0x975C, 0x688A}, //4209 #CJK UNIFIED IDEOGRAPH
+  {0x975D, 0x688B}, //4210 #CJK UNIFIED IDEOGRAPH
+  {0x975E, 0x688C}, //4211 #CJK UNIFIED IDEOGRAPH
+  {0x975F, 0x688D}, //4212 #CJK UNIFIED IDEOGRAPH
+  {0x9760, 0x688E}, //4213 #CJK UNIFIED IDEOGRAPH
+  {0x9761, 0x6890}, //4214 #CJK UNIFIED IDEOGRAPH
+  {0x9762, 0x6891}, //4215 #CJK UNIFIED IDEOGRAPH
+  {0x9763, 0x6892}, //4216 #CJK UNIFIED IDEOGRAPH
+  {0x9764, 0x6894}, //4217 #CJK UNIFIED IDEOGRAPH
+  {0x9765, 0x6895}, //4218 #CJK UNIFIED IDEOGRAPH
+  {0x9766, 0x6896}, //4219 #CJK UNIFIED IDEOGRAPH
+  {0x9767, 0x6898}, //4220 #CJK UNIFIED IDEOGRAPH
+  {0x9768, 0x6899}, //4221 #CJK UNIFIED IDEOGRAPH
+  {0x9769, 0x689A}, //4222 #CJK UNIFIED IDEOGRAPH
+  {0x976A, 0x689B}, //4223 #CJK UNIFIED IDEOGRAPH
+  {0x976B, 0x689C}, //4224 #CJK UNIFIED IDEOGRAPH
+  {0x976C, 0x689D}, //4225 #CJK UNIFIED IDEOGRAPH
+  {0x976D, 0x689E}, //4226 #CJK UNIFIED IDEOGRAPH
+  {0x976E, 0x689F}, //4227 #CJK UNIFIED IDEOGRAPH
+  {0x976F, 0x68A0}, //4228 #CJK UNIFIED IDEOGRAPH
+  {0x9770, 0x68A1}, //4229 #CJK UNIFIED IDEOGRAPH
+  {0x9771, 0x68A3}, //4230 #CJK UNIFIED IDEOGRAPH
+  {0x9772, 0x68A4}, //4231 #CJK UNIFIED IDEOGRAPH
+  {0x9773, 0x68A5}, //4232 #CJK UNIFIED IDEOGRAPH
+  {0x9774, 0x68A9}, //4233 #CJK UNIFIED IDEOGRAPH
+  {0x9775, 0x68AA}, //4234 #CJK UNIFIED IDEOGRAPH
+  {0x9776, 0x68AB}, //4235 #CJK UNIFIED IDEOGRAPH
+  {0x9777, 0x68AC}, //4236 #CJK UNIFIED IDEOGRAPH
+  {0x9778, 0x68AE}, //4237 #CJK UNIFIED IDEOGRAPH
+  {0x9779, 0x68B1}, //4238 #CJK UNIFIED IDEOGRAPH
+  {0x977A, 0x68B2}, //4239 #CJK UNIFIED IDEOGRAPH
+  {0x977B, 0x68B4}, //4240 #CJK UNIFIED IDEOGRAPH
+  {0x977C, 0x68B6}, //4241 #CJK UNIFIED IDEOGRAPH
+  {0x977D, 0x68B7}, //4242 #CJK UNIFIED IDEOGRAPH
+  {0x977E, 0x68B8}, //4243 #CJK UNIFIED IDEOGRAPH
+  {0x9780, 0x68B9}, //4244 #CJK UNIFIED IDEOGRAPH
+  {0x9781, 0x68BA}, //4245 #CJK UNIFIED IDEOGRAPH
+  {0x9782, 0x68BB}, //4246 #CJK UNIFIED IDEOGRAPH
+  {0x9783, 0x68BC}, //4247 #CJK UNIFIED IDEOGRAPH
+  {0x9784, 0x68BD}, //4248 #CJK UNIFIED IDEOGRAPH
+  {0x9785, 0x68BE}, //4249 #CJK UNIFIED IDEOGRAPH
+  {0x9786, 0x68BF}, //4250 #CJK UNIFIED IDEOGRAPH
+  {0x9787, 0x68C1}, //4251 #CJK UNIFIED IDEOGRAPH
+  {0x9788, 0x68C3}, //4252 #CJK UNIFIED IDEOGRAPH
+  {0x9789, 0x68C4}, //4253 #CJK UNIFIED IDEOGRAPH
+  {0x978A, 0x68C5}, //4254 #CJK UNIFIED IDEOGRAPH
+  {0x978B, 0x68C6}, //4255 #CJK UNIFIED IDEOGRAPH
+  {0x978C, 0x68C7}, //4256 #CJK UNIFIED IDEOGRAPH
+  {0x978D, 0x68C8}, //4257 #CJK UNIFIED IDEOGRAPH
+  {0x978E, 0x68CA}, //4258 #CJK UNIFIED IDEOGRAPH
+  {0x978F, 0x68CC}, //4259 #CJK UNIFIED IDEOGRAPH
+  {0x9790, 0x68CE}, //4260 #CJK UNIFIED IDEOGRAPH
+  {0x9791, 0x68CF}, //4261 #CJK UNIFIED IDEOGRAPH
+  {0x9792, 0x68D0}, //4262 #CJK UNIFIED IDEOGRAPH
+  {0x9793, 0x68D1}, //4263 #CJK UNIFIED IDEOGRAPH
+  {0x9794, 0x68D3}, //4264 #CJK UNIFIED IDEOGRAPH
+  {0x9795, 0x68D4}, //4265 #CJK UNIFIED IDEOGRAPH
+  {0x9796, 0x68D6}, //4266 #CJK UNIFIED IDEOGRAPH
+  {0x9797, 0x68D7}, //4267 #CJK UNIFIED IDEOGRAPH
+  {0x9798, 0x68D9}, //4268 #CJK UNIFIED IDEOGRAPH
+  {0x9799, 0x68DB}, //4269 #CJK UNIFIED IDEOGRAPH
+  {0x979A, 0x68DC}, //4270 #CJK UNIFIED IDEOGRAPH
+  {0x979B, 0x68DD}, //4271 #CJK UNIFIED IDEOGRAPH
+  {0x979C, 0x68DE}, //4272 #CJK UNIFIED IDEOGRAPH
+  {0x979D, 0x68DF}, //4273 #CJK UNIFIED IDEOGRAPH
+  {0x979E, 0x68E1}, //4274 #CJK UNIFIED IDEOGRAPH
+  {0x979F, 0x68E2}, //4275 #CJK UNIFIED IDEOGRAPH
+  {0x97A0, 0x68E4}, //4276 #CJK UNIFIED IDEOGRAPH
+  {0x97A1, 0x68E5}, //4277 #CJK UNIFIED IDEOGRAPH
+  {0x97A2, 0x68E6}, //4278 #CJK UNIFIED IDEOGRAPH
+  {0x97A3, 0x68E7}, //4279 #CJK UNIFIED IDEOGRAPH
+  {0x97A4, 0x68E8}, //4280 #CJK UNIFIED IDEOGRAPH
+  {0x97A5, 0x68E9}, //4281 #CJK UNIFIED IDEOGRAPH
+  {0x97A6, 0x68EA}, //4282 #CJK UNIFIED IDEOGRAPH
+  {0x97A7, 0x68EB}, //4283 #CJK UNIFIED IDEOGRAPH
+  {0x97A8, 0x68EC}, //4284 #CJK UNIFIED IDEOGRAPH
+  {0x97A9, 0x68ED}, //4285 #CJK UNIFIED IDEOGRAPH
+  {0x97AA, 0x68EF}, //4286 #CJK UNIFIED IDEOGRAPH
+  {0x97AB, 0x68F2}, //4287 #CJK UNIFIED IDEOGRAPH
+  {0x97AC, 0x68F3}, //4288 #CJK UNIFIED IDEOGRAPH
+  {0x97AD, 0x68F4}, //4289 #CJK UNIFIED IDEOGRAPH
+  {0x97AE, 0x68F6}, //4290 #CJK UNIFIED IDEOGRAPH
+  {0x97AF, 0x68F7}, //4291 #CJK UNIFIED IDEOGRAPH
+  {0x97B0, 0x68F8}, //4292 #CJK UNIFIED IDEOGRAPH
+  {0x97B1, 0x68FB}, //4293 #CJK UNIFIED IDEOGRAPH
+  {0x97B2, 0x68FD}, //4294 #CJK UNIFIED IDEOGRAPH
+  {0x97B3, 0x68FE}, //4295 #CJK UNIFIED IDEOGRAPH
+  {0x97B4, 0x68FF}, //4296 #CJK UNIFIED IDEOGRAPH
+  {0x97B5, 0x6900}, //4297 #CJK UNIFIED IDEOGRAPH
+  {0x97B6, 0x6902}, //4298 #CJK UNIFIED IDEOGRAPH
+  {0x97B7, 0x6903}, //4299 #CJK UNIFIED IDEOGRAPH
+  {0x97B8, 0x6904}, //4300 #CJK UNIFIED IDEOGRAPH
+  {0x97B9, 0x6906}, //4301 #CJK UNIFIED IDEOGRAPH
+  {0x97BA, 0x6907}, //4302 #CJK UNIFIED IDEOGRAPH
+  {0x97BB, 0x6908}, //4303 #CJK UNIFIED IDEOGRAPH
+  {0x97BC, 0x6909}, //4304 #CJK UNIFIED IDEOGRAPH
+  {0x97BD, 0x690A}, //4305 #CJK UNIFIED IDEOGRAPH
+  {0x97BE, 0x690C}, //4306 #CJK UNIFIED IDEOGRAPH
+  {0x97BF, 0x690F}, //4307 #CJK UNIFIED IDEOGRAPH
+  {0x97C0, 0x6911}, //4308 #CJK UNIFIED IDEOGRAPH
+  {0x97C1, 0x6913}, //4309 #CJK UNIFIED IDEOGRAPH
+  {0x97C2, 0x6914}, //4310 #CJK UNIFIED IDEOGRAPH
+  {0x97C3, 0x6915}, //4311 #CJK UNIFIED IDEOGRAPH
+  {0x97C4, 0x6916}, //4312 #CJK UNIFIED IDEOGRAPH
+  {0x97C5, 0x6917}, //4313 #CJK UNIFIED IDEOGRAPH
+  {0x97C6, 0x6918}, //4314 #CJK UNIFIED IDEOGRAPH
+  {0x97C7, 0x6919}, //4315 #CJK UNIFIED IDEOGRAPH
+  {0x97C8, 0x691A}, //4316 #CJK UNIFIED IDEOGRAPH
+  {0x97C9, 0x691B}, //4317 #CJK UNIFIED IDEOGRAPH
+  {0x97CA, 0x691C}, //4318 #CJK UNIFIED IDEOGRAPH
+  {0x97CB, 0x691D}, //4319 #CJK UNIFIED IDEOGRAPH
+  {0x97CC, 0x691E}, //4320 #CJK UNIFIED IDEOGRAPH
+  {0x97CD, 0x6921}, //4321 #CJK UNIFIED IDEOGRAPH
+  {0x97CE, 0x6922}, //4322 #CJK UNIFIED IDEOGRAPH
+  {0x97CF, 0x6923}, //4323 #CJK UNIFIED IDEOGRAPH
+  {0x97D0, 0x6925}, //4324 #CJK UNIFIED IDEOGRAPH
+  {0x97D1, 0x6926}, //4325 #CJK UNIFIED IDEOGRAPH
+  {0x97D2, 0x6927}, //4326 #CJK UNIFIED IDEOGRAPH
+  {0x97D3, 0x6928}, //4327 #CJK UNIFIED IDEOGRAPH
+  {0x97D4, 0x6929}, //4328 #CJK UNIFIED IDEOGRAPH
+  {0x97D5, 0x692A}, //4329 #CJK UNIFIED IDEOGRAPH
+  {0x97D6, 0x692B}, //4330 #CJK UNIFIED IDEOGRAPH
+  {0x97D7, 0x692C}, //4331 #CJK UNIFIED IDEOGRAPH
+  {0x97D8, 0x692E}, //4332 #CJK UNIFIED IDEOGRAPH
+  {0x97D9, 0x692F}, //4333 #CJK UNIFIED IDEOGRAPH
+  {0x97DA, 0x6931}, //4334 #CJK UNIFIED IDEOGRAPH
+  {0x97DB, 0x6932}, //4335 #CJK UNIFIED IDEOGRAPH
+  {0x97DC, 0x6933}, //4336 #CJK UNIFIED IDEOGRAPH
+  {0x97DD, 0x6935}, //4337 #CJK UNIFIED IDEOGRAPH
+  {0x97DE, 0x6936}, //4338 #CJK UNIFIED IDEOGRAPH
+  {0x97DF, 0x6937}, //4339 #CJK UNIFIED IDEOGRAPH
+  {0x97E0, 0x6938}, //4340 #CJK UNIFIED IDEOGRAPH
+  {0x97E1, 0x693A}, //4341 #CJK UNIFIED IDEOGRAPH
+  {0x97E2, 0x693B}, //4342 #CJK UNIFIED IDEOGRAPH
+  {0x97E3, 0x693C}, //4343 #CJK UNIFIED IDEOGRAPH
+  {0x97E4, 0x693E}, //4344 #CJK UNIFIED IDEOGRAPH
+  {0x97E5, 0x6940}, //4345 #CJK UNIFIED IDEOGRAPH
+  {0x97E6, 0x6941}, //4346 #CJK UNIFIED IDEOGRAPH
+  {0x97E7, 0x6943}, //4347 #CJK UNIFIED IDEOGRAPH
+  {0x97E8, 0x6944}, //4348 #CJK UNIFIED IDEOGRAPH
+  {0x97E9, 0x6945}, //4349 #CJK UNIFIED IDEOGRAPH
+  {0x97EA, 0x6946}, //4350 #CJK UNIFIED IDEOGRAPH
+  {0x97EB, 0x6947}, //4351 #CJK UNIFIED IDEOGRAPH
+  {0x97EC, 0x6948}, //4352 #CJK UNIFIED IDEOGRAPH
+  {0x97ED, 0x6949}, //4353 #CJK UNIFIED IDEOGRAPH
+  {0x97EE, 0x694A}, //4354 #CJK UNIFIED IDEOGRAPH
+  {0x97EF, 0x694B}, //4355 #CJK UNIFIED IDEOGRAPH
+  {0x97F0, 0x694C}, //4356 #CJK UNIFIED IDEOGRAPH
+  {0x97F1, 0x694D}, //4357 #CJK UNIFIED IDEOGRAPH
+  {0x97F2, 0x694E}, //4358 #CJK UNIFIED IDEOGRAPH
+  {0x97F3, 0x694F}, //4359 #CJK UNIFIED IDEOGRAPH
+  {0x97F4, 0x6950}, //4360 #CJK UNIFIED IDEOGRAPH
+  {0x97F5, 0x6951}, //4361 #CJK UNIFIED IDEOGRAPH
+  {0x97F6, 0x6952}, //4362 #CJK UNIFIED IDEOGRAPH
+  {0x97F7, 0x6953}, //4363 #CJK UNIFIED IDEOGRAPH
+  {0x97F8, 0x6955}, //4364 #CJK UNIFIED IDEOGRAPH
+  {0x97F9, 0x6956}, //4365 #CJK UNIFIED IDEOGRAPH
+  {0x97FA, 0x6958}, //4366 #CJK UNIFIED IDEOGRAPH
+  {0x97FB, 0x6959}, //4367 #CJK UNIFIED IDEOGRAPH
+  {0x97FC, 0x695B}, //4368 #CJK UNIFIED IDEOGRAPH
+  {0x97FD, 0x695C}, //4369 #CJK UNIFIED IDEOGRAPH
+  {0x97FE, 0x695F}, //4370 #CJK UNIFIED IDEOGRAPH
+  {0x9840, 0x6961}, //4371 #CJK UNIFIED IDEOGRAPH
+  {0x9841, 0x6962}, //4372 #CJK UNIFIED IDEOGRAPH
+  {0x9842, 0x6964}, //4373 #CJK UNIFIED IDEOGRAPH
+  {0x9843, 0x6965}, //4374 #CJK UNIFIED IDEOGRAPH
+  {0x9844, 0x6967}, //4375 #CJK UNIFIED IDEOGRAPH
+  {0x9845, 0x6968}, //4376 #CJK UNIFIED IDEOGRAPH
+  {0x9846, 0x6969}, //4377 #CJK UNIFIED IDEOGRAPH
+  {0x9847, 0x696A}, //4378 #CJK UNIFIED IDEOGRAPH
+  {0x9848, 0x696C}, //4379 #CJK UNIFIED IDEOGRAPH
+  {0x9849, 0x696D}, //4380 #CJK UNIFIED IDEOGRAPH
+  {0x984A, 0x696F}, //4381 #CJK UNIFIED IDEOGRAPH
+  {0x984B, 0x6970}, //4382 #CJK UNIFIED IDEOGRAPH
+  {0x984C, 0x6972}, //4383 #CJK UNIFIED IDEOGRAPH
+  {0x984D, 0x6973}, //4384 #CJK UNIFIED IDEOGRAPH
+  {0x984E, 0x6974}, //4385 #CJK UNIFIED IDEOGRAPH
+  {0x984F, 0x6975}, //4386 #CJK UNIFIED IDEOGRAPH
+  {0x9850, 0x6976}, //4387 #CJK UNIFIED IDEOGRAPH
+  {0x9851, 0x697A}, //4388 #CJK UNIFIED IDEOGRAPH
+  {0x9852, 0x697B}, //4389 #CJK UNIFIED IDEOGRAPH
+  {0x9853, 0x697D}, //4390 #CJK UNIFIED IDEOGRAPH
+  {0x9854, 0x697E}, //4391 #CJK UNIFIED IDEOGRAPH
+  {0x9855, 0x697F}, //4392 #CJK UNIFIED IDEOGRAPH
+  {0x9856, 0x6981}, //4393 #CJK UNIFIED IDEOGRAPH
+  {0x9857, 0x6983}, //4394 #CJK UNIFIED IDEOGRAPH
+  {0x9858, 0x6985}, //4395 #CJK UNIFIED IDEOGRAPH
+  {0x9859, 0x698A}, //4396 #CJK UNIFIED IDEOGRAPH
+  {0x985A, 0x698B}, //4397 #CJK UNIFIED IDEOGRAPH
+  {0x985B, 0x698C}, //4398 #CJK UNIFIED IDEOGRAPH
+  {0x985C, 0x698E}, //4399 #CJK UNIFIED IDEOGRAPH
+  {0x985D, 0x698F}, //4400 #CJK UNIFIED IDEOGRAPH
+  {0x985E, 0x6990}, //4401 #CJK UNIFIED IDEOGRAPH
+  {0x985F, 0x6991}, //4402 #CJK UNIFIED IDEOGRAPH
+  {0x9860, 0x6992}, //4403 #CJK UNIFIED IDEOGRAPH
+  {0x9861, 0x6993}, //4404 #CJK UNIFIED IDEOGRAPH
+  {0x9862, 0x6996}, //4405 #CJK UNIFIED IDEOGRAPH
+  {0x9863, 0x6997}, //4406 #CJK UNIFIED IDEOGRAPH
+  {0x9864, 0x6999}, //4407 #CJK UNIFIED IDEOGRAPH
+  {0x9865, 0x699A}, //4408 #CJK UNIFIED IDEOGRAPH
+  {0x9866, 0x699D}, //4409 #CJK UNIFIED IDEOGRAPH
+  {0x9867, 0x699E}, //4410 #CJK UNIFIED IDEOGRAPH
+  {0x9868, 0x699F}, //4411 #CJK UNIFIED IDEOGRAPH
+  {0x9869, 0x69A0}, //4412 #CJK UNIFIED IDEOGRAPH
+  {0x986A, 0x69A1}, //4413 #CJK UNIFIED IDEOGRAPH
+  {0x986B, 0x69A2}, //4414 #CJK UNIFIED IDEOGRAPH
+  {0x986C, 0x69A3}, //4415 #CJK UNIFIED IDEOGRAPH
+  {0x986D, 0x69A4}, //4416 #CJK UNIFIED IDEOGRAPH
+  {0x986E, 0x69A5}, //4417 #CJK UNIFIED IDEOGRAPH
+  {0x986F, 0x69A6}, //4418 #CJK UNIFIED IDEOGRAPH
+  {0x9870, 0x69A9}, //4419 #CJK UNIFIED IDEOGRAPH
+  {0x9871, 0x69AA}, //4420 #CJK UNIFIED IDEOGRAPH
+  {0x9872, 0x69AC}, //4421 #CJK UNIFIED IDEOGRAPH
+  {0x9873, 0x69AE}, //4422 #CJK UNIFIED IDEOGRAPH
+  {0x9874, 0x69AF}, //4423 #CJK UNIFIED IDEOGRAPH
+  {0x9875, 0x69B0}, //4424 #CJK UNIFIED IDEOGRAPH
+  {0x9876, 0x69B2}, //4425 #CJK UNIFIED IDEOGRAPH
+  {0x9877, 0x69B3}, //4426 #CJK UNIFIED IDEOGRAPH
+  {0x9878, 0x69B5}, //4427 #CJK UNIFIED IDEOGRAPH
+  {0x9879, 0x69B6}, //4428 #CJK UNIFIED IDEOGRAPH
+  {0x987A, 0x69B8}, //4429 #CJK UNIFIED IDEOGRAPH
+  {0x987B, 0x69B9}, //4430 #CJK UNIFIED IDEOGRAPH
+  {0x987C, 0x69BA}, //4431 #CJK UNIFIED IDEOGRAPH
+  {0x987D, 0x69BC}, //4432 #CJK UNIFIED IDEOGRAPH
+  {0x987E, 0x69BD}, //4433 #CJK UNIFIED IDEOGRAPH
+  {0x9880, 0x69BE}, //4434 #CJK UNIFIED IDEOGRAPH
+  {0x9881, 0x69BF}, //4435 #CJK UNIFIED IDEOGRAPH
+  {0x9882, 0x69C0}, //4436 #CJK UNIFIED IDEOGRAPH
+  {0x9883, 0x69C2}, //4437 #CJK UNIFIED IDEOGRAPH
+  {0x9884, 0x69C3}, //4438 #CJK UNIFIED IDEOGRAPH
+  {0x9885, 0x69C4}, //4439 #CJK UNIFIED IDEOGRAPH
+  {0x9886, 0x69C5}, //4440 #CJK UNIFIED IDEOGRAPH
+  {0x9887, 0x69C6}, //4441 #CJK UNIFIED IDEOGRAPH
+  {0x9888, 0x69C7}, //4442 #CJK UNIFIED IDEOGRAPH
+  {0x9889, 0x69C8}, //4443 #CJK UNIFIED IDEOGRAPH
+  {0x988A, 0x69C9}, //4444 #CJK UNIFIED IDEOGRAPH
+  {0x988B, 0x69CB}, //4445 #CJK UNIFIED IDEOGRAPH
+  {0x988C, 0x69CD}, //4446 #CJK UNIFIED IDEOGRAPH
+  {0x988D, 0x69CF}, //4447 #CJK UNIFIED IDEOGRAPH
+  {0x988E, 0x69D1}, //4448 #CJK UNIFIED IDEOGRAPH
+  {0x988F, 0x69D2}, //4449 #CJK UNIFIED IDEOGRAPH
+  {0x9890, 0x69D3}, //4450 #CJK UNIFIED IDEOGRAPH
+  {0x9891, 0x69D5}, //4451 #CJK UNIFIED IDEOGRAPH
+  {0x9892, 0x69D6}, //4452 #CJK UNIFIED IDEOGRAPH
+  {0x9893, 0x69D7}, //4453 #CJK UNIFIED IDEOGRAPH
+  {0x9894, 0x69D8}, //4454 #CJK UNIFIED IDEOGRAPH
+  {0x9895, 0x69D9}, //4455 #CJK UNIFIED IDEOGRAPH
+  {0x9896, 0x69DA}, //4456 #CJK UNIFIED IDEOGRAPH
+  {0x9897, 0x69DC}, //4457 #CJK UNIFIED IDEOGRAPH
+  {0x9898, 0x69DD}, //4458 #CJK UNIFIED IDEOGRAPH
+  {0x9899, 0x69DE}, //4459 #CJK UNIFIED IDEOGRAPH
+  {0x989A, 0x69E1}, //4460 #CJK UNIFIED IDEOGRAPH
+  {0x989B, 0x69E2}, //4461 #CJK UNIFIED IDEOGRAPH
+  {0x989C, 0x69E3}, //4462 #CJK UNIFIED IDEOGRAPH
+  {0x989D, 0x69E4}, //4463 #CJK UNIFIED IDEOGRAPH
+  {0x989E, 0x69E5}, //4464 #CJK UNIFIED IDEOGRAPH
+  {0x989F, 0x69E6}, //4465 #CJK UNIFIED IDEOGRAPH
+  {0x98A0, 0x69E7}, //4466 #CJK UNIFIED IDEOGRAPH
+  {0x98A1, 0x69E8}, //4467 #CJK UNIFIED IDEOGRAPH
+  {0x98A2, 0x69E9}, //4468 #CJK UNIFIED IDEOGRAPH
+  {0x98A3, 0x69EA}, //4469 #CJK UNIFIED IDEOGRAPH
+  {0x98A4, 0x69EB}, //4470 #CJK UNIFIED IDEOGRAPH
+  {0x98A5, 0x69EC}, //4471 #CJK UNIFIED IDEOGRAPH
+  {0x98A6, 0x69EE}, //4472 #CJK UNIFIED IDEOGRAPH
+  {0x98A7, 0x69EF}, //4473 #CJK UNIFIED IDEOGRAPH
+  {0x98A8, 0x69F0}, //4474 #CJK UNIFIED IDEOGRAPH
+  {0x98A9, 0x69F1}, //4475 #CJK UNIFIED IDEOGRAPH
+  {0x98AA, 0x69F3}, //4476 #CJK UNIFIED IDEOGRAPH
+  {0x98AB, 0x69F4}, //4477 #CJK UNIFIED IDEOGRAPH
+  {0x98AC, 0x69F5}, //4478 #CJK UNIFIED IDEOGRAPH
+  {0x98AD, 0x69F6}, //4479 #CJK UNIFIED IDEOGRAPH
+  {0x98AE, 0x69F7}, //4480 #CJK UNIFIED IDEOGRAPH
+  {0x98AF, 0x69F8}, //4481 #CJK UNIFIED IDEOGRAPH
+  {0x98B0, 0x69F9}, //4482 #CJK UNIFIED IDEOGRAPH
+  {0x98B1, 0x69FA}, //4483 #CJK UNIFIED IDEOGRAPH
+  {0x98B2, 0x69FB}, //4484 #CJK UNIFIED IDEOGRAPH
+  {0x98B3, 0x69FC}, //4485 #CJK UNIFIED IDEOGRAPH
+  {0x98B4, 0x69FE}, //4486 #CJK UNIFIED IDEOGRAPH
+  {0x98B5, 0x6A00}, //4487 #CJK UNIFIED IDEOGRAPH
+  {0x98B6, 0x6A01}, //4488 #CJK UNIFIED IDEOGRAPH
+  {0x98B7, 0x6A02}, //4489 #CJK UNIFIED IDEOGRAPH
+  {0x98B8, 0x6A03}, //4490 #CJK UNIFIED IDEOGRAPH
+  {0x98B9, 0x6A04}, //4491 #CJK UNIFIED IDEOGRAPH
+  {0x98BA, 0x6A05}, //4492 #CJK UNIFIED IDEOGRAPH
+  {0x98BB, 0x6A06}, //4493 #CJK UNIFIED IDEOGRAPH
+  {0x98BC, 0x6A07}, //4494 #CJK UNIFIED IDEOGRAPH
+  {0x98BD, 0x6A08}, //4495 #CJK UNIFIED IDEOGRAPH
+  {0x98BE, 0x6A09}, //4496 #CJK UNIFIED IDEOGRAPH
+  {0x98BF, 0x6A0B}, //4497 #CJK UNIFIED IDEOGRAPH
+  {0x98C0, 0x6A0C}, //4498 #CJK UNIFIED IDEOGRAPH
+  {0x98C1, 0x6A0D}, //4499 #CJK UNIFIED IDEOGRAPH
+  {0x98C2, 0x6A0E}, //4500 #CJK UNIFIED IDEOGRAPH
+  {0x98C3, 0x6A0F}, //4501 #CJK UNIFIED IDEOGRAPH
+  {0x98C4, 0x6A10}, //4502 #CJK UNIFIED IDEOGRAPH
+  {0x98C5, 0x6A11}, //4503 #CJK UNIFIED IDEOGRAPH
+  {0x98C6, 0x6A12}, //4504 #CJK UNIFIED IDEOGRAPH
+  {0x98C7, 0x6A13}, //4505 #CJK UNIFIED IDEOGRAPH
+  {0x98C8, 0x6A14}, //4506 #CJK UNIFIED IDEOGRAPH
+  {0x98C9, 0x6A15}, //4507 #CJK UNIFIED IDEOGRAPH
+  {0x98CA, 0x6A16}, //4508 #CJK UNIFIED IDEOGRAPH
+  {0x98CB, 0x6A19}, //4509 #CJK UNIFIED IDEOGRAPH
+  {0x98CC, 0x6A1A}, //4510 #CJK UNIFIED IDEOGRAPH
+  {0x98CD, 0x6A1B}, //4511 #CJK UNIFIED IDEOGRAPH
+  {0x98CE, 0x6A1C}, //4512 #CJK UNIFIED IDEOGRAPH
+  {0x98CF, 0x6A1D}, //4513 #CJK UNIFIED IDEOGRAPH
+  {0x98D0, 0x6A1E}, //4514 #CJK UNIFIED IDEOGRAPH
+  {0x98D1, 0x6A20}, //4515 #CJK UNIFIED IDEOGRAPH
+  {0x98D2, 0x6A22}, //4516 #CJK UNIFIED IDEOGRAPH
+  {0x98D3, 0x6A23}, //4517 #CJK UNIFIED IDEOGRAPH
+  {0x98D4, 0x6A24}, //4518 #CJK UNIFIED IDEOGRAPH
+  {0x98D5, 0x6A25}, //4519 #CJK UNIFIED IDEOGRAPH
+  {0x98D6, 0x6A26}, //4520 #CJK UNIFIED IDEOGRAPH
+  {0x98D7, 0x6A27}, //4521 #CJK UNIFIED IDEOGRAPH
+  {0x98D8, 0x6A29}, //4522 #CJK UNIFIED IDEOGRAPH
+  {0x98D9, 0x6A2B}, //4523 #CJK UNIFIED IDEOGRAPH
+  {0x98DA, 0x6A2C}, //4524 #CJK UNIFIED IDEOGRAPH
+  {0x98DB, 0x6A2D}, //4525 #CJK UNIFIED IDEOGRAPH
+  {0x98DC, 0x6A2E}, //4526 #CJK UNIFIED IDEOGRAPH
+  {0x98DD, 0x6A30}, //4527 #CJK UNIFIED IDEOGRAPH
+  {0x98DE, 0x6A32}, //4528 #CJK UNIFIED IDEOGRAPH
+  {0x98DF, 0x6A33}, //4529 #CJK UNIFIED IDEOGRAPH
+  {0x98E0, 0x6A34}, //4530 #CJK UNIFIED IDEOGRAPH
+  {0x98E1, 0x6A36}, //4531 #CJK UNIFIED IDEOGRAPH
+  {0x98E2, 0x6A37}, //4532 #CJK UNIFIED IDEOGRAPH
+  {0x98E3, 0x6A38}, //4533 #CJK UNIFIED IDEOGRAPH
+  {0x98E4, 0x6A39}, //4534 #CJK UNIFIED IDEOGRAPH
+  {0x98E5, 0x6A3A}, //4535 #CJK UNIFIED IDEOGRAPH
+  {0x98E6, 0x6A3B}, //4536 #CJK UNIFIED IDEOGRAPH
+  {0x98E7, 0x6A3C}, //4537 #CJK UNIFIED IDEOGRAPH
+  {0x98E8, 0x6A3F}, //4538 #CJK UNIFIED IDEOGRAPH
+  {0x98E9, 0x6A40}, //4539 #CJK UNIFIED IDEOGRAPH
+  {0x98EA, 0x6A41}, //4540 #CJK UNIFIED IDEOGRAPH
+  {0x98EB, 0x6A42}, //4541 #CJK UNIFIED IDEOGRAPH
+  {0x98EC, 0x6A43}, //4542 #CJK UNIFIED IDEOGRAPH
+  {0x98ED, 0x6A45}, //4543 #CJK UNIFIED IDEOGRAPH
+  {0x98EE, 0x6A46}, //4544 #CJK UNIFIED IDEOGRAPH
+  {0x98EF, 0x6A48}, //4545 #CJK UNIFIED IDEOGRAPH
+  {0x98F0, 0x6A49}, //4546 #CJK UNIFIED IDEOGRAPH
+  {0x98F1, 0x6A4A}, //4547 #CJK UNIFIED IDEOGRAPH
+  {0x98F2, 0x6A4B}, //4548 #CJK UNIFIED IDEOGRAPH
+  {0x98F3, 0x6A4C}, //4549 #CJK UNIFIED IDEOGRAPH
+  {0x98F4, 0x6A4D}, //4550 #CJK UNIFIED IDEOGRAPH
+  {0x98F5, 0x6A4E}, //4551 #CJK UNIFIED IDEOGRAPH
+  {0x98F6, 0x6A4F}, //4552 #CJK UNIFIED IDEOGRAPH
+  {0x98F7, 0x6A51}, //4553 #CJK UNIFIED IDEOGRAPH
+  {0x98F8, 0x6A52}, //4554 #CJK UNIFIED IDEOGRAPH
+  {0x98F9, 0x6A53}, //4555 #CJK UNIFIED IDEOGRAPH
+  {0x98FA, 0x6A54}, //4556 #CJK UNIFIED IDEOGRAPH
+  {0x98FB, 0x6A55}, //4557 #CJK UNIFIED IDEOGRAPH
+  {0x98FC, 0x6A56}, //4558 #CJK UNIFIED IDEOGRAPH
+  {0x98FD, 0x6A57}, //4559 #CJK UNIFIED IDEOGRAPH
+  {0x98FE, 0x6A5A}, //4560 #CJK UNIFIED IDEOGRAPH
+  {0x9940, 0x6A5C}, //4561 #CJK UNIFIED IDEOGRAPH
+  {0x9941, 0x6A5D}, //4562 #CJK UNIFIED IDEOGRAPH
+  {0x9942, 0x6A5E}, //4563 #CJK UNIFIED IDEOGRAPH
+  {0x9943, 0x6A5F}, //4564 #CJK UNIFIED IDEOGRAPH
+  {0x9944, 0x6A60}, //4565 #CJK UNIFIED IDEOGRAPH
+  {0x9945, 0x6A62}, //4566 #CJK UNIFIED IDEOGRAPH
+  {0x9946, 0x6A63}, //4567 #CJK UNIFIED IDEOGRAPH
+  {0x9947, 0x6A64}, //4568 #CJK UNIFIED IDEOGRAPH
+  {0x9948, 0x6A66}, //4569 #CJK UNIFIED IDEOGRAPH
+  {0x9949, 0x6A67}, //4570 #CJK UNIFIED IDEOGRAPH
+  {0x994A, 0x6A68}, //4571 #CJK UNIFIED IDEOGRAPH
+  {0x994B, 0x6A69}, //4572 #CJK UNIFIED IDEOGRAPH
+  {0x994C, 0x6A6A}, //4573 #CJK UNIFIED IDEOGRAPH
+  {0x994D, 0x6A6B}, //4574 #CJK UNIFIED IDEOGRAPH
+  {0x994E, 0x6A6C}, //4575 #CJK UNIFIED IDEOGRAPH
+  {0x994F, 0x6A6D}, //4576 #CJK UNIFIED IDEOGRAPH
+  {0x9950, 0x6A6E}, //4577 #CJK UNIFIED IDEOGRAPH
+  {0x9951, 0x6A6F}, //4578 #CJK UNIFIED IDEOGRAPH
+  {0x9952, 0x6A70}, //4579 #CJK UNIFIED IDEOGRAPH
+  {0x9953, 0x6A72}, //4580 #CJK UNIFIED IDEOGRAPH
+  {0x9954, 0x6A73}, //4581 #CJK UNIFIED IDEOGRAPH
+  {0x9955, 0x6A74}, //4582 #CJK UNIFIED IDEOGRAPH
+  {0x9956, 0x6A75}, //4583 #CJK UNIFIED IDEOGRAPH
+  {0x9957, 0x6A76}, //4584 #CJK UNIFIED IDEOGRAPH
+  {0x9958, 0x6A77}, //4585 #CJK UNIFIED IDEOGRAPH
+  {0x9959, 0x6A78}, //4586 #CJK UNIFIED IDEOGRAPH
+  {0x995A, 0x6A7A}, //4587 #CJK UNIFIED IDEOGRAPH
+  {0x995B, 0x6A7B}, //4588 #CJK UNIFIED IDEOGRAPH
+  {0x995C, 0x6A7D}, //4589 #CJK UNIFIED IDEOGRAPH
+  {0x995D, 0x6A7E}, //4590 #CJK UNIFIED IDEOGRAPH
+  {0x995E, 0x6A7F}, //4591 #CJK UNIFIED IDEOGRAPH
+  {0x995F, 0x6A81}, //4592 #CJK UNIFIED IDEOGRAPH
+  {0x9960, 0x6A82}, //4593 #CJK UNIFIED IDEOGRAPH
+  {0x9961, 0x6A83}, //4594 #CJK UNIFIED IDEOGRAPH
+  {0x9962, 0x6A85}, //4595 #CJK UNIFIED IDEOGRAPH
+  {0x9963, 0x6A86}, //4596 #CJK UNIFIED IDEOGRAPH
+  {0x9964, 0x6A87}, //4597 #CJK UNIFIED IDEOGRAPH
+  {0x9965, 0x6A88}, //4598 #CJK UNIFIED IDEOGRAPH
+  {0x9966, 0x6A89}, //4599 #CJK UNIFIED IDEOGRAPH
+  {0x9967, 0x6A8A}, //4600 #CJK UNIFIED IDEOGRAPH
+  {0x9968, 0x6A8B}, //4601 #CJK UNIFIED IDEOGRAPH
+  {0x9969, 0x6A8C}, //4602 #CJK UNIFIED IDEOGRAPH
+  {0x996A, 0x6A8D}, //4603 #CJK UNIFIED IDEOGRAPH
+  {0x996B, 0x6A8F}, //4604 #CJK UNIFIED IDEOGRAPH
+  {0x996C, 0x6A92}, //4605 #CJK UNIFIED IDEOGRAPH
+  {0x996D, 0x6A93}, //4606 #CJK UNIFIED IDEOGRAPH
+  {0x996E, 0x6A94}, //4607 #CJK UNIFIED IDEOGRAPH
+  {0x996F, 0x6A95}, //4608 #CJK UNIFIED IDEOGRAPH
+  {0x9970, 0x6A96}, //4609 #CJK UNIFIED IDEOGRAPH
+  {0x9971, 0x6A98}, //4610 #CJK UNIFIED IDEOGRAPH
+  {0x9972, 0x6A99}, //4611 #CJK UNIFIED IDEOGRAPH
+  {0x9973, 0x6A9A}, //4612 #CJK UNIFIED IDEOGRAPH
+  {0x9974, 0x6A9B}, //4613 #CJK UNIFIED IDEOGRAPH
+  {0x9975, 0x6A9C}, //4614 #CJK UNIFIED IDEOGRAPH
+  {0x9976, 0x6A9D}, //4615 #CJK UNIFIED IDEOGRAPH
+  {0x9977, 0x6A9E}, //4616 #CJK UNIFIED IDEOGRAPH
+  {0x9978, 0x6A9F}, //4617 #CJK UNIFIED IDEOGRAPH
+  {0x9979, 0x6AA1}, //4618 #CJK UNIFIED IDEOGRAPH
+  {0x997A, 0x6AA2}, //4619 #CJK UNIFIED IDEOGRAPH
+  {0x997B, 0x6AA3}, //4620 #CJK UNIFIED IDEOGRAPH
+  {0x997C, 0x6AA4}, //4621 #CJK UNIFIED IDEOGRAPH
+  {0x997D, 0x6AA5}, //4622 #CJK UNIFIED IDEOGRAPH
+  {0x997E, 0x6AA6}, //4623 #CJK UNIFIED IDEOGRAPH
+  {0x9980, 0x6AA7}, //4624 #CJK UNIFIED IDEOGRAPH
+  {0x9981, 0x6AA8}, //4625 #CJK UNIFIED IDEOGRAPH
+  {0x9982, 0x6AAA}, //4626 #CJK UNIFIED IDEOGRAPH
+  {0x9983, 0x6AAD}, //4627 #CJK UNIFIED IDEOGRAPH
+  {0x9984, 0x6AAE}, //4628 #CJK UNIFIED IDEOGRAPH
+  {0x9985, 0x6AAF}, //4629 #CJK UNIFIED IDEOGRAPH
+  {0x9986, 0x6AB0}, //4630 #CJK UNIFIED IDEOGRAPH
+  {0x9987, 0x6AB1}, //4631 #CJK UNIFIED IDEOGRAPH
+  {0x9988, 0x6AB2}, //4632 #CJK UNIFIED IDEOGRAPH
+  {0x9989, 0x6AB3}, //4633 #CJK UNIFIED IDEOGRAPH
+  {0x998A, 0x6AB4}, //4634 #CJK UNIFIED IDEOGRAPH
+  {0x998B, 0x6AB5}, //4635 #CJK UNIFIED IDEOGRAPH
+  {0x998C, 0x6AB6}, //4636 #CJK UNIFIED IDEOGRAPH
+  {0x998D, 0x6AB7}, //4637 #CJK UNIFIED IDEOGRAPH
+  {0x998E, 0x6AB8}, //4638 #CJK UNIFIED IDEOGRAPH
+  {0x998F, 0x6AB9}, //4639 #CJK UNIFIED IDEOGRAPH
+  {0x9990, 0x6ABA}, //4640 #CJK UNIFIED IDEOGRAPH
+  {0x9991, 0x6ABB}, //4641 #CJK UNIFIED IDEOGRAPH
+  {0x9992, 0x6ABC}, //4642 #CJK UNIFIED IDEOGRAPH
+  {0x9993, 0x6ABD}, //4643 #CJK UNIFIED IDEOGRAPH
+  {0x9994, 0x6ABE}, //4644 #CJK UNIFIED IDEOGRAPH
+  {0x9995, 0x6ABF}, //4645 #CJK UNIFIED IDEOGRAPH
+  {0x9996, 0x6AC0}, //4646 #CJK UNIFIED IDEOGRAPH
+  {0x9997, 0x6AC1}, //4647 #CJK UNIFIED IDEOGRAPH
+  {0x9998, 0x6AC2}, //4648 #CJK UNIFIED IDEOGRAPH
+  {0x9999, 0x6AC3}, //4649 #CJK UNIFIED IDEOGRAPH
+  {0x999A, 0x6AC4}, //4650 #CJK UNIFIED IDEOGRAPH
+  {0x999B, 0x6AC5}, //4651 #CJK UNIFIED IDEOGRAPH
+  {0x999C, 0x6AC6}, //4652 #CJK UNIFIED IDEOGRAPH
+  {0x999D, 0x6AC7}, //4653 #CJK UNIFIED IDEOGRAPH
+  {0x999E, 0x6AC8}, //4654 #CJK UNIFIED IDEOGRAPH
+  {0x999F, 0x6AC9}, //4655 #CJK UNIFIED IDEOGRAPH
+  {0x99A0, 0x6ACA}, //4656 #CJK UNIFIED IDEOGRAPH
+  {0x99A1, 0x6ACB}, //4657 #CJK UNIFIED IDEOGRAPH
+  {0x99A2, 0x6ACC}, //4658 #CJK UNIFIED IDEOGRAPH
+  {0x99A3, 0x6ACD}, //4659 #CJK UNIFIED IDEOGRAPH
+  {0x99A4, 0x6ACE}, //4660 #CJK UNIFIED IDEOGRAPH
+  {0x99A5, 0x6ACF}, //4661 #CJK UNIFIED IDEOGRAPH
+  {0x99A6, 0x6AD0}, //4662 #CJK UNIFIED IDEOGRAPH
+  {0x99A7, 0x6AD1}, //4663 #CJK UNIFIED IDEOGRAPH
+  {0x99A8, 0x6AD2}, //4664 #CJK UNIFIED IDEOGRAPH
+  {0x99A9, 0x6AD3}, //4665 #CJK UNIFIED IDEOGRAPH
+  {0x99AA, 0x6AD4}, //4666 #CJK UNIFIED IDEOGRAPH
+  {0x99AB, 0x6AD5}, //4667 #CJK UNIFIED IDEOGRAPH
+  {0x99AC, 0x6AD6}, //4668 #CJK UNIFIED IDEOGRAPH
+  {0x99AD, 0x6AD7}, //4669 #CJK UNIFIED IDEOGRAPH
+  {0x99AE, 0x6AD8}, //4670 #CJK UNIFIED IDEOGRAPH
+  {0x99AF, 0x6AD9}, //4671 #CJK UNIFIED IDEOGRAPH
+  {0x99B0, 0x6ADA}, //4672 #CJK UNIFIED IDEOGRAPH
+  {0x99B1, 0x6ADB}, //4673 #CJK UNIFIED IDEOGRAPH
+  {0x99B2, 0x6ADC}, //4674 #CJK UNIFIED IDEOGRAPH
+  {0x99B3, 0x6ADD}, //4675 #CJK UNIFIED IDEOGRAPH
+  {0x99B4, 0x6ADE}, //4676 #CJK UNIFIED IDEOGRAPH
+  {0x99B5, 0x6ADF}, //4677 #CJK UNIFIED IDEOGRAPH
+  {0x99B6, 0x6AE0}, //4678 #CJK UNIFIED IDEOGRAPH
+  {0x99B7, 0x6AE1}, //4679 #CJK UNIFIED IDEOGRAPH
+  {0x99B8, 0x6AE2}, //4680 #CJK UNIFIED IDEOGRAPH
+  {0x99B9, 0x6AE3}, //4681 #CJK UNIFIED IDEOGRAPH
+  {0x99BA, 0x6AE4}, //4682 #CJK UNIFIED IDEOGRAPH
+  {0x99BB, 0x6AE5}, //4683 #CJK UNIFIED IDEOGRAPH
+  {0x99BC, 0x6AE6}, //4684 #CJK UNIFIED IDEOGRAPH
+  {0x99BD, 0x6AE7}, //4685 #CJK UNIFIED IDEOGRAPH
+  {0x99BE, 0x6AE8}, //4686 #CJK UNIFIED IDEOGRAPH
+  {0x99BF, 0x6AE9}, //4687 #CJK UNIFIED IDEOGRAPH
+  {0x99C0, 0x6AEA}, //4688 #CJK UNIFIED IDEOGRAPH
+  {0x99C1, 0x6AEB}, //4689 #CJK UNIFIED IDEOGRAPH
+  {0x99C2, 0x6AEC}, //4690 #CJK UNIFIED IDEOGRAPH
+  {0x99C3, 0x6AED}, //4691 #CJK UNIFIED IDEOGRAPH
+  {0x99C4, 0x6AEE}, //4692 #CJK UNIFIED IDEOGRAPH
+  {0x99C5, 0x6AEF}, //4693 #CJK UNIFIED IDEOGRAPH
+  {0x99C6, 0x6AF0}, //4694 #CJK UNIFIED IDEOGRAPH
+  {0x99C7, 0x6AF1}, //4695 #CJK UNIFIED IDEOGRAPH
+  {0x99C8, 0x6AF2}, //4696 #CJK UNIFIED IDEOGRAPH
+  {0x99C9, 0x6AF3}, //4697 #CJK UNIFIED IDEOGRAPH
+  {0x99CA, 0x6AF4}, //4698 #CJK UNIFIED IDEOGRAPH
+  {0x99CB, 0x6AF5}, //4699 #CJK UNIFIED IDEOGRAPH
+  {0x99CC, 0x6AF6}, //4700 #CJK UNIFIED IDEOGRAPH
+  {0x99CD, 0x6AF7}, //4701 #CJK UNIFIED IDEOGRAPH
+  {0x99CE, 0x6AF8}, //4702 #CJK UNIFIED IDEOGRAPH
+  {0x99CF, 0x6AF9}, //4703 #CJK UNIFIED IDEOGRAPH
+  {0x99D0, 0x6AFA}, //4704 #CJK UNIFIED IDEOGRAPH
+  {0x99D1, 0x6AFB}, //4705 #CJK UNIFIED IDEOGRAPH
+  {0x99D2, 0x6AFC}, //4706 #CJK UNIFIED IDEOGRAPH
+  {0x99D3, 0x6AFD}, //4707 #CJK UNIFIED IDEOGRAPH
+  {0x99D4, 0x6AFE}, //4708 #CJK UNIFIED IDEOGRAPH
+  {0x99D5, 0x6AFF}, //4709 #CJK UNIFIED IDEOGRAPH
+  {0x99D6, 0x6B00}, //4710 #CJK UNIFIED IDEOGRAPH
+  {0x99D7, 0x6B01}, //4711 #CJK UNIFIED IDEOGRAPH
+  {0x99D8, 0x6B02}, //4712 #CJK UNIFIED IDEOGRAPH
+  {0x99D9, 0x6B03}, //4713 #CJK UNIFIED IDEOGRAPH
+  {0x99DA, 0x6B04}, //4714 #CJK UNIFIED IDEOGRAPH
+  {0x99DB, 0x6B05}, //4715 #CJK UNIFIED IDEOGRAPH
+  {0x99DC, 0x6B06}, //4716 #CJK UNIFIED IDEOGRAPH
+  {0x99DD, 0x6B07}, //4717 #CJK UNIFIED IDEOGRAPH
+  {0x99DE, 0x6B08}, //4718 #CJK UNIFIED IDEOGRAPH
+  {0x99DF, 0x6B09}, //4719 #CJK UNIFIED IDEOGRAPH
+  {0x99E0, 0x6B0A}, //4720 #CJK UNIFIED IDEOGRAPH
+  {0x99E1, 0x6B0B}, //4721 #CJK UNIFIED IDEOGRAPH
+  {0x99E2, 0x6B0C}, //4722 #CJK UNIFIED IDEOGRAPH
+  {0x99E3, 0x6B0D}, //4723 #CJK UNIFIED IDEOGRAPH
+  {0x99E4, 0x6B0E}, //4724 #CJK UNIFIED IDEOGRAPH
+  {0x99E5, 0x6B0F}, //4725 #CJK UNIFIED IDEOGRAPH
+  {0x99E6, 0x6B10}, //4726 #CJK UNIFIED IDEOGRAPH
+  {0x99E7, 0x6B11}, //4727 #CJK UNIFIED IDEOGRAPH
+  {0x99E8, 0x6B12}, //4728 #CJK UNIFIED IDEOGRAPH
+  {0x99E9, 0x6B13}, //4729 #CJK UNIFIED IDEOGRAPH
+  {0x99EA, 0x6B14}, //4730 #CJK UNIFIED IDEOGRAPH
+  {0x99EB, 0x6B15}, //4731 #CJK UNIFIED IDEOGRAPH
+  {0x99EC, 0x6B16}, //4732 #CJK UNIFIED IDEOGRAPH
+  {0x99ED, 0x6B17}, //4733 #CJK UNIFIED IDEOGRAPH
+  {0x99EE, 0x6B18}, //4734 #CJK UNIFIED IDEOGRAPH
+  {0x99EF, 0x6B19}, //4735 #CJK UNIFIED IDEOGRAPH
+  {0x99F0, 0x6B1A}, //4736 #CJK UNIFIED IDEOGRAPH
+  {0x99F1, 0x6B1B}, //4737 #CJK UNIFIED IDEOGRAPH
+  {0x99F2, 0x6B1C}, //4738 #CJK UNIFIED IDEOGRAPH
+  {0x99F3, 0x6B1D}, //4739 #CJK UNIFIED IDEOGRAPH
+  {0x99F4, 0x6B1E}, //4740 #CJK UNIFIED IDEOGRAPH
+  {0x99F5, 0x6B1F}, //4741 #CJK UNIFIED IDEOGRAPH
+  {0x99F6, 0x6B25}, //4742 #CJK UNIFIED IDEOGRAPH
+  {0x99F7, 0x6B26}, //4743 #CJK UNIFIED IDEOGRAPH
+  {0x99F8, 0x6B28}, //4744 #CJK UNIFIED IDEOGRAPH
+  {0x99F9, 0x6B29}, //4745 #CJK UNIFIED IDEOGRAPH
+  {0x99FA, 0x6B2A}, //4746 #CJK UNIFIED IDEOGRAPH
+  {0x99FB, 0x6B2B}, //4747 #CJK UNIFIED IDEOGRAPH
+  {0x99FC, 0x6B2C}, //4748 #CJK UNIFIED IDEOGRAPH
+  {0x99FD, 0x6B2D}, //4749 #CJK UNIFIED IDEOGRAPH
+  {0x99FE, 0x6B2E}, //4750 #CJK UNIFIED IDEOGRAPH
+  {0x9A40, 0x6B2F}, //4751 #CJK UNIFIED IDEOGRAPH
+  {0x9A41, 0x6B30}, //4752 #CJK UNIFIED IDEOGRAPH
+  {0x9A42, 0x6B31}, //4753 #CJK UNIFIED IDEOGRAPH
+  {0x9A43, 0x6B33}, //4754 #CJK UNIFIED IDEOGRAPH
+  {0x9A44, 0x6B34}, //4755 #CJK UNIFIED IDEOGRAPH
+  {0x9A45, 0x6B35}, //4756 #CJK UNIFIED IDEOGRAPH
+  {0x9A46, 0x6B36}, //4757 #CJK UNIFIED IDEOGRAPH
+  {0x9A47, 0x6B38}, //4758 #CJK UNIFIED IDEOGRAPH
+  {0x9A48, 0x6B3B}, //4759 #CJK UNIFIED IDEOGRAPH
+  {0x9A49, 0x6B3C}, //4760 #CJK UNIFIED IDEOGRAPH
+  {0x9A4A, 0x6B3D}, //4761 #CJK UNIFIED IDEOGRAPH
+  {0x9A4B, 0x6B3F}, //4762 #CJK UNIFIED IDEOGRAPH
+  {0x9A4C, 0x6B40}, //4763 #CJK UNIFIED IDEOGRAPH
+  {0x9A4D, 0x6B41}, //4764 #CJK UNIFIED IDEOGRAPH
+  {0x9A4E, 0x6B42}, //4765 #CJK UNIFIED IDEOGRAPH
+  {0x9A4F, 0x6B44}, //4766 #CJK UNIFIED IDEOGRAPH
+  {0x9A50, 0x6B45}, //4767 #CJK UNIFIED IDEOGRAPH
+  {0x9A51, 0x6B48}, //4768 #CJK UNIFIED IDEOGRAPH
+  {0x9A52, 0x6B4A}, //4769 #CJK UNIFIED IDEOGRAPH
+  {0x9A53, 0x6B4B}, //4770 #CJK UNIFIED IDEOGRAPH
+  {0x9A54, 0x6B4D}, //4771 #CJK UNIFIED IDEOGRAPH
+  {0x9A55, 0x6B4E}, //4772 #CJK UNIFIED IDEOGRAPH
+  {0x9A56, 0x6B4F}, //4773 #CJK UNIFIED IDEOGRAPH
+  {0x9A57, 0x6B50}, //4774 #CJK UNIFIED IDEOGRAPH
+  {0x9A58, 0x6B51}, //4775 #CJK UNIFIED IDEOGRAPH
+  {0x9A59, 0x6B52}, //4776 #CJK UNIFIED IDEOGRAPH
+  {0x9A5A, 0x6B53}, //4777 #CJK UNIFIED IDEOGRAPH
+  {0x9A5B, 0x6B54}, //4778 #CJK UNIFIED IDEOGRAPH
+  {0x9A5C, 0x6B55}, //4779 #CJK UNIFIED IDEOGRAPH
+  {0x9A5D, 0x6B56}, //4780 #CJK UNIFIED IDEOGRAPH
+  {0x9A5E, 0x6B57}, //4781 #CJK UNIFIED IDEOGRAPH
+  {0x9A5F, 0x6B58}, //4782 #CJK UNIFIED IDEOGRAPH
+  {0x9A60, 0x6B5A}, //4783 #CJK UNIFIED IDEOGRAPH
+  {0x9A61, 0x6B5B}, //4784 #CJK UNIFIED IDEOGRAPH
+  {0x9A62, 0x6B5C}, //4785 #CJK UNIFIED IDEOGRAPH
+  {0x9A63, 0x6B5D}, //4786 #CJK UNIFIED IDEOGRAPH
+  {0x9A64, 0x6B5E}, //4787 #CJK UNIFIED IDEOGRAPH
+  {0x9A65, 0x6B5F}, //4788 #CJK UNIFIED IDEOGRAPH
+  {0x9A66, 0x6B60}, //4789 #CJK UNIFIED IDEOGRAPH
+  {0x9A67, 0x6B61}, //4790 #CJK UNIFIED IDEOGRAPH
+  {0x9A68, 0x6B68}, //4791 #CJK UNIFIED IDEOGRAPH
+  {0x9A69, 0x6B69}, //4792 #CJK UNIFIED IDEOGRAPH
+  {0x9A6A, 0x6B6B}, //4793 #CJK UNIFIED IDEOGRAPH
+  {0x9A6B, 0x6B6C}, //4794 #CJK UNIFIED IDEOGRAPH
+  {0x9A6C, 0x6B6D}, //4795 #CJK UNIFIED IDEOGRAPH
+  {0x9A6D, 0x6B6E}, //4796 #CJK UNIFIED IDEOGRAPH
+  {0x9A6E, 0x6B6F}, //4797 #CJK UNIFIED IDEOGRAPH
+  {0x9A6F, 0x6B70}, //4798 #CJK UNIFIED IDEOGRAPH
+  {0x9A70, 0x6B71}, //4799 #CJK UNIFIED IDEOGRAPH
+  {0x9A71, 0x6B72}, //4800 #CJK UNIFIED IDEOGRAPH
+  {0x9A72, 0x6B73}, //4801 #CJK UNIFIED IDEOGRAPH
+  {0x9A73, 0x6B74}, //4802 #CJK UNIFIED IDEOGRAPH
+  {0x9A74, 0x6B75}, //4803 #CJK UNIFIED IDEOGRAPH
+  {0x9A75, 0x6B76}, //4804 #CJK UNIFIED IDEOGRAPH
+  {0x9A76, 0x6B77}, //4805 #CJK UNIFIED IDEOGRAPH
+  {0x9A77, 0x6B78}, //4806 #CJK UNIFIED IDEOGRAPH
+  {0x9A78, 0x6B7A}, //4807 #CJK UNIFIED IDEOGRAPH
+  {0x9A79, 0x6B7D}, //4808 #CJK UNIFIED IDEOGRAPH
+  {0x9A7A, 0x6B7E}, //4809 #CJK UNIFIED IDEOGRAPH
+  {0x9A7B, 0x6B7F}, //4810 #CJK UNIFIED IDEOGRAPH
+  {0x9A7C, 0x6B80}, //4811 #CJK UNIFIED IDEOGRAPH
+  {0x9A7D, 0x6B85}, //4812 #CJK UNIFIED IDEOGRAPH
+  {0x9A7E, 0x6B88}, //4813 #CJK UNIFIED IDEOGRAPH
+  {0x9A80, 0x6B8C}, //4814 #CJK UNIFIED IDEOGRAPH
+  {0x9A81, 0x6B8E}, //4815 #CJK UNIFIED IDEOGRAPH
+  {0x9A82, 0x6B8F}, //4816 #CJK UNIFIED IDEOGRAPH
+  {0x9A83, 0x6B90}, //4817 #CJK UNIFIED IDEOGRAPH
+  {0x9A84, 0x6B91}, //4818 #CJK UNIFIED IDEOGRAPH
+  {0x9A85, 0x6B94}, //4819 #CJK UNIFIED IDEOGRAPH
+  {0x9A86, 0x6B95}, //4820 #CJK UNIFIED IDEOGRAPH
+  {0x9A87, 0x6B97}, //4821 #CJK UNIFIED IDEOGRAPH
+  {0x9A88, 0x6B98}, //4822 #CJK UNIFIED IDEOGRAPH
+  {0x9A89, 0x6B99}, //4823 #CJK UNIFIED IDEOGRAPH
+  {0x9A8A, 0x6B9C}, //4824 #CJK UNIFIED IDEOGRAPH
+  {0x9A8B, 0x6B9D}, //4825 #CJK UNIFIED IDEOGRAPH
+  {0x9A8C, 0x6B9E}, //4826 #CJK UNIFIED IDEOGRAPH
+  {0x9A8D, 0x6B9F}, //4827 #CJK UNIFIED IDEOGRAPH
+  {0x9A8E, 0x6BA0}, //4828 #CJK UNIFIED IDEOGRAPH
+  {0x9A8F, 0x6BA2}, //4829 #CJK UNIFIED IDEOGRAPH
+  {0x9A90, 0x6BA3}, //4830 #CJK UNIFIED IDEOGRAPH
+  {0x9A91, 0x6BA4}, //4831 #CJK UNIFIED IDEOGRAPH
+  {0x9A92, 0x6BA5}, //4832 #CJK UNIFIED IDEOGRAPH
+  {0x9A93, 0x6BA6}, //4833 #CJK UNIFIED IDEOGRAPH
+  {0x9A94, 0x6BA7}, //4834 #CJK UNIFIED IDEOGRAPH
+  {0x9A95, 0x6BA8}, //4835 #CJK UNIFIED IDEOGRAPH
+  {0x9A96, 0x6BA9}, //4836 #CJK UNIFIED IDEOGRAPH
+  {0x9A97, 0x6BAB}, //4837 #CJK UNIFIED IDEOGRAPH
+  {0x9A98, 0x6BAC}, //4838 #CJK UNIFIED IDEOGRAPH
+  {0x9A99, 0x6BAD}, //4839 #CJK UNIFIED IDEOGRAPH
+  {0x9A9A, 0x6BAE}, //4840 #CJK UNIFIED IDEOGRAPH
+  {0x9A9B, 0x6BAF}, //4841 #CJK UNIFIED IDEOGRAPH
+  {0x9A9C, 0x6BB0}, //4842 #CJK UNIFIED IDEOGRAPH
+  {0x9A9D, 0x6BB1}, //4843 #CJK UNIFIED IDEOGRAPH
+  {0x9A9E, 0x6BB2}, //4844 #CJK UNIFIED IDEOGRAPH
+  {0x9A9F, 0x6BB6}, //4845 #CJK UNIFIED IDEOGRAPH
+  {0x9AA0, 0x6BB8}, //4846 #CJK UNIFIED IDEOGRAPH
+  {0x9AA1, 0x6BB9}, //4847 #CJK UNIFIED IDEOGRAPH
+  {0x9AA2, 0x6BBA}, //4848 #CJK UNIFIED IDEOGRAPH
+  {0x9AA3, 0x6BBB}, //4849 #CJK UNIFIED IDEOGRAPH
+  {0x9AA4, 0x6BBC}, //4850 #CJK UNIFIED IDEOGRAPH
+  {0x9AA5, 0x6BBD}, //4851 #CJK UNIFIED IDEOGRAPH
+  {0x9AA6, 0x6BBE}, //4852 #CJK UNIFIED IDEOGRAPH
+  {0x9AA7, 0x6BC0}, //4853 #CJK UNIFIED IDEOGRAPH
+  {0x9AA8, 0x6BC3}, //4854 #CJK UNIFIED IDEOGRAPH
+  {0x9AA9, 0x6BC4}, //4855 #CJK UNIFIED IDEOGRAPH
+  {0x9AAA, 0x6BC6}, //4856 #CJK UNIFIED IDEOGRAPH
+  {0x9AAB, 0x6BC7}, //4857 #CJK UNIFIED IDEOGRAPH
+  {0x9AAC, 0x6BC8}, //4858 #CJK UNIFIED IDEOGRAPH
+  {0x9AAD, 0x6BC9}, //4859 #CJK UNIFIED IDEOGRAPH
+  {0x9AAE, 0x6BCA}, //4860 #CJK UNIFIED IDEOGRAPH
+  {0x9AAF, 0x6BCC}, //4861 #CJK UNIFIED IDEOGRAPH
+  {0x9AB0, 0x6BCE}, //4862 #CJK UNIFIED IDEOGRAPH
+  {0x9AB1, 0x6BD0}, //4863 #CJK UNIFIED IDEOGRAPH
+  {0x9AB2, 0x6BD1}, //4864 #CJK UNIFIED IDEOGRAPH
+  {0x9AB3, 0x6BD8}, //4865 #CJK UNIFIED IDEOGRAPH
+  {0x9AB4, 0x6BDA}, //4866 #CJK UNIFIED IDEOGRAPH
+  {0x9AB5, 0x6BDC}, //4867 #CJK UNIFIED IDEOGRAPH
+  {0x9AB6, 0x6BDD}, //4868 #CJK UNIFIED IDEOGRAPH
+  {0x9AB7, 0x6BDE}, //4869 #CJK UNIFIED IDEOGRAPH
+  {0x9AB8, 0x6BDF}, //4870 #CJK UNIFIED IDEOGRAPH
+  {0x9AB9, 0x6BE0}, //4871 #CJK UNIFIED IDEOGRAPH
+  {0x9ABA, 0x6BE2}, //4872 #CJK UNIFIED IDEOGRAPH
+  {0x9ABB, 0x6BE3}, //4873 #CJK UNIFIED IDEOGRAPH
+  {0x9ABC, 0x6BE4}, //4874 #CJK UNIFIED IDEOGRAPH
+  {0x9ABD, 0x6BE5}, //4875 #CJK UNIFIED IDEOGRAPH
+  {0x9ABE, 0x6BE6}, //4876 #CJK UNIFIED IDEOGRAPH
+  {0x9ABF, 0x6BE7}, //4877 #CJK UNIFIED IDEOGRAPH
+  {0x9AC0, 0x6BE8}, //4878 #CJK UNIFIED IDEOGRAPH
+  {0x9AC1, 0x6BE9}, //4879 #CJK UNIFIED IDEOGRAPH
+  {0x9AC2, 0x6BEC}, //4880 #CJK UNIFIED IDEOGRAPH
+  {0x9AC3, 0x6BED}, //4881 #CJK UNIFIED IDEOGRAPH
+  {0x9AC4, 0x6BEE}, //4882 #CJK UNIFIED IDEOGRAPH
+  {0x9AC5, 0x6BF0}, //4883 #CJK UNIFIED IDEOGRAPH
+  {0x9AC6, 0x6BF1}, //4884 #CJK UNIFIED IDEOGRAPH
+  {0x9AC7, 0x6BF2}, //4885 #CJK UNIFIED IDEOGRAPH
+  {0x9AC8, 0x6BF4}, //4886 #CJK UNIFIED IDEOGRAPH
+  {0x9AC9, 0x6BF6}, //4887 #CJK UNIFIED IDEOGRAPH
+  {0x9ACA, 0x6BF7}, //4888 #CJK UNIFIED IDEOGRAPH
+  {0x9ACB, 0x6BF8}, //4889 #CJK UNIFIED IDEOGRAPH
+  {0x9ACC, 0x6BFA}, //4890 #CJK UNIFIED IDEOGRAPH
+  {0x9ACD, 0x6BFB}, //4891 #CJK UNIFIED IDEOGRAPH
+  {0x9ACE, 0x6BFC}, //4892 #CJK UNIFIED IDEOGRAPH
+  {0x9ACF, 0x6BFE}, //4893 #CJK UNIFIED IDEOGRAPH
+  {0x9AD0, 0x6BFF}, //4894 #CJK UNIFIED IDEOGRAPH
+  {0x9AD1, 0x6C00}, //4895 #CJK UNIFIED IDEOGRAPH
+  {0x9AD2, 0x6C01}, //4896 #CJK UNIFIED IDEOGRAPH
+  {0x9AD3, 0x6C02}, //4897 #CJK UNIFIED IDEOGRAPH
+  {0x9AD4, 0x6C03}, //4898 #CJK UNIFIED IDEOGRAPH
+  {0x9AD5, 0x6C04}, //4899 #CJK UNIFIED IDEOGRAPH
+  {0x9AD6, 0x6C08}, //4900 #CJK UNIFIED IDEOGRAPH
+  {0x9AD7, 0x6C09}, //4901 #CJK UNIFIED IDEOGRAPH
+  {0x9AD8, 0x6C0A}, //4902 #CJK UNIFIED IDEOGRAPH
+  {0x9AD9, 0x6C0B}, //4903 #CJK UNIFIED IDEOGRAPH
+  {0x9ADA, 0x6C0C}, //4904 #CJK UNIFIED IDEOGRAPH
+  {0x9ADB, 0x6C0E}, //4905 #CJK UNIFIED IDEOGRAPH
+  {0x9ADC, 0x6C12}, //4906 #CJK UNIFIED IDEOGRAPH
+  {0x9ADD, 0x6C17}, //4907 #CJK UNIFIED IDEOGRAPH
+  {0x9ADE, 0x6C1C}, //4908 #CJK UNIFIED IDEOGRAPH
+  {0x9ADF, 0x6C1D}, //4909 #CJK UNIFIED IDEOGRAPH
+  {0x9AE0, 0x6C1E}, //4910 #CJK UNIFIED IDEOGRAPH
+  {0x9AE1, 0x6C20}, //4911 #CJK UNIFIED IDEOGRAPH
+  {0x9AE2, 0x6C23}, //4912 #CJK UNIFIED IDEOGRAPH
+  {0x9AE3, 0x6C25}, //4913 #CJK UNIFIED IDEOGRAPH
+  {0x9AE4, 0x6C2B}, //4914 #CJK UNIFIED IDEOGRAPH
+  {0x9AE5, 0x6C2C}, //4915 #CJK UNIFIED IDEOGRAPH
+  {0x9AE6, 0x6C2D}, //4916 #CJK UNIFIED IDEOGRAPH
+  {0x9AE7, 0x6C31}, //4917 #CJK UNIFIED IDEOGRAPH
+  {0x9AE8, 0x6C33}, //4918 #CJK UNIFIED IDEOGRAPH
+  {0x9AE9, 0x6C36}, //4919 #CJK UNIFIED IDEOGRAPH
+  {0x9AEA, 0x6C37}, //4920 #CJK UNIFIED IDEOGRAPH
+  {0x9AEB, 0x6C39}, //4921 #CJK UNIFIED IDEOGRAPH
+  {0x9AEC, 0x6C3A}, //4922 #CJK UNIFIED IDEOGRAPH
+  {0x9AED, 0x6C3B}, //4923 #CJK UNIFIED IDEOGRAPH
+  {0x9AEE, 0x6C3C}, //4924 #CJK UNIFIED IDEOGRAPH
+  {0x9AEF, 0x6C3E}, //4925 #CJK UNIFIED IDEOGRAPH
+  {0x9AF0, 0x6C3F}, //4926 #CJK UNIFIED IDEOGRAPH
+  {0x9AF1, 0x6C43}, //4927 #CJK UNIFIED IDEOGRAPH
+  {0x9AF2, 0x6C44}, //4928 #CJK UNIFIED IDEOGRAPH
+  {0x9AF3, 0x6C45}, //4929 #CJK UNIFIED IDEOGRAPH
+  {0x9AF4, 0x6C48}, //4930 #CJK UNIFIED IDEOGRAPH
+  {0x9AF5, 0x6C4B}, //4931 #CJK UNIFIED IDEOGRAPH
+  {0x9AF6, 0x6C4C}, //4932 #CJK UNIFIED IDEOGRAPH
+  {0x9AF7, 0x6C4D}, //4933 #CJK UNIFIED IDEOGRAPH
+  {0x9AF8, 0x6C4E}, //4934 #CJK UNIFIED IDEOGRAPH
+  {0x9AF9, 0x6C4F}, //4935 #CJK UNIFIED IDEOGRAPH
+  {0x9AFA, 0x6C51}, //4936 #CJK UNIFIED IDEOGRAPH
+  {0x9AFB, 0x6C52}, //4937 #CJK UNIFIED IDEOGRAPH
+  {0x9AFC, 0x6C53}, //4938 #CJK UNIFIED IDEOGRAPH
+  {0x9AFD, 0x6C56}, //4939 #CJK UNIFIED IDEOGRAPH
+  {0x9AFE, 0x6C58}, //4940 #CJK UNIFIED IDEOGRAPH
+  {0x9B40, 0x6C59}, //4941 #CJK UNIFIED IDEOGRAPH
+  {0x9B41, 0x6C5A}, //4942 #CJK UNIFIED IDEOGRAPH
+  {0x9B42, 0x6C62}, //4943 #CJK UNIFIED IDEOGRAPH
+  {0x9B43, 0x6C63}, //4944 #CJK UNIFIED IDEOGRAPH
+  {0x9B44, 0x6C65}, //4945 #CJK UNIFIED IDEOGRAPH
+  {0x9B45, 0x6C66}, //4946 #CJK UNIFIED IDEOGRAPH
+  {0x9B46, 0x6C67}, //4947 #CJK UNIFIED IDEOGRAPH
+  {0x9B47, 0x6C6B}, //4948 #CJK UNIFIED IDEOGRAPH
+  {0x9B48, 0x6C6C}, //4949 #CJK UNIFIED IDEOGRAPH
+  {0x9B49, 0x6C6D}, //4950 #CJK UNIFIED IDEOGRAPH
+  {0x9B4A, 0x6C6E}, //4951 #CJK UNIFIED IDEOGRAPH
+  {0x9B4B, 0x6C6F}, //4952 #CJK UNIFIED IDEOGRAPH
+  {0x9B4C, 0x6C71}, //4953 #CJK UNIFIED IDEOGRAPH
+  {0x9B4D, 0x6C73}, //4954 #CJK UNIFIED IDEOGRAPH
+  {0x9B4E, 0x6C75}, //4955 #CJK UNIFIED IDEOGRAPH
+  {0x9B4F, 0x6C77}, //4956 #CJK UNIFIED IDEOGRAPH
+  {0x9B50, 0x6C78}, //4957 #CJK UNIFIED IDEOGRAPH
+  {0x9B51, 0x6C7A}, //4958 #CJK UNIFIED IDEOGRAPH
+  {0x9B52, 0x6C7B}, //4959 #CJK UNIFIED IDEOGRAPH
+  {0x9B53, 0x6C7C}, //4960 #CJK UNIFIED IDEOGRAPH
+  {0x9B54, 0x6C7F}, //4961 #CJK UNIFIED IDEOGRAPH
+  {0x9B55, 0x6C80}, //4962 #CJK UNIFIED IDEOGRAPH
+  {0x9B56, 0x6C84}, //4963 #CJK UNIFIED IDEOGRAPH
+  {0x9B57, 0x6C87}, //4964 #CJK UNIFIED IDEOGRAPH
+  {0x9B58, 0x6C8A}, //4965 #CJK UNIFIED IDEOGRAPH
+  {0x9B59, 0x6C8B}, //4966 #CJK UNIFIED IDEOGRAPH
+  {0x9B5A, 0x6C8D}, //4967 #CJK UNIFIED IDEOGRAPH
+  {0x9B5B, 0x6C8E}, //4968 #CJK UNIFIED IDEOGRAPH
+  {0x9B5C, 0x6C91}, //4969 #CJK UNIFIED IDEOGRAPH
+  {0x9B5D, 0x6C92}, //4970 #CJK UNIFIED IDEOGRAPH
+  {0x9B5E, 0x6C95}, //4971 #CJK UNIFIED IDEOGRAPH
+  {0x9B5F, 0x6C96}, //4972 #CJK UNIFIED IDEOGRAPH
+  {0x9B60, 0x6C97}, //4973 #CJK UNIFIED IDEOGRAPH
+  {0x9B61, 0x6C98}, //4974 #CJK UNIFIED IDEOGRAPH
+  {0x9B62, 0x6C9A}, //4975 #CJK UNIFIED IDEOGRAPH
+  {0x9B63, 0x6C9C}, //4976 #CJK UNIFIED IDEOGRAPH
+  {0x9B64, 0x6C9D}, //4977 #CJK UNIFIED IDEOGRAPH
+  {0x9B65, 0x6C9E}, //4978 #CJK UNIFIED IDEOGRAPH
+  {0x9B66, 0x6CA0}, //4979 #CJK UNIFIED IDEOGRAPH
+  {0x9B67, 0x6CA2}, //4980 #CJK UNIFIED IDEOGRAPH
+  {0x9B68, 0x6CA8}, //4981 #CJK UNIFIED IDEOGRAPH
+  {0x9B69, 0x6CAC}, //4982 #CJK UNIFIED IDEOGRAPH
+  {0x9B6A, 0x6CAF}, //4983 #CJK UNIFIED IDEOGRAPH
+  {0x9B6B, 0x6CB0}, //4984 #CJK UNIFIED IDEOGRAPH
+  {0x9B6C, 0x6CB4}, //4985 #CJK UNIFIED IDEOGRAPH
+  {0x9B6D, 0x6CB5}, //4986 #CJK UNIFIED IDEOGRAPH
+  {0x9B6E, 0x6CB6}, //4987 #CJK UNIFIED IDEOGRAPH
+  {0x9B6F, 0x6CB7}, //4988 #CJK UNIFIED IDEOGRAPH
+  {0x9B70, 0x6CBA}, //4989 #CJK UNIFIED IDEOGRAPH
+  {0x9B71, 0x6CC0}, //4990 #CJK UNIFIED IDEOGRAPH
+  {0x9B72, 0x6CC1}, //4991 #CJK UNIFIED IDEOGRAPH
+  {0x9B73, 0x6CC2}, //4992 #CJK UNIFIED IDEOGRAPH
+  {0x9B74, 0x6CC3}, //4993 #CJK UNIFIED IDEOGRAPH
+  {0x9B75, 0x6CC6}, //4994 #CJK UNIFIED IDEOGRAPH
+  {0x9B76, 0x6CC7}, //4995 #CJK UNIFIED IDEOGRAPH
+  {0x9B77, 0x6CC8}, //4996 #CJK UNIFIED IDEOGRAPH
+  {0x9B78, 0x6CCB}, //4997 #CJK UNIFIED IDEOGRAPH
+  {0x9B79, 0x6CCD}, //4998 #CJK UNIFIED IDEOGRAPH
+  {0x9B7A, 0x6CCE}, //4999 #CJK UNIFIED IDEOGRAPH
+  {0x9B7B, 0x6CCF}, //5000 #CJK UNIFIED IDEOGRAPH
+  {0x9B7C, 0x6CD1}, //5001 #CJK UNIFIED IDEOGRAPH
+  {0x9B7D, 0x6CD2}, //5002 #CJK UNIFIED IDEOGRAPH
+  {0x9B7E, 0x6CD8}, //5003 #CJK UNIFIED IDEOGRAPH
+  {0x9B80, 0x6CD9}, //5004 #CJK UNIFIED IDEOGRAPH
+  {0x9B81, 0x6CDA}, //5005 #CJK UNIFIED IDEOGRAPH
+  {0x9B82, 0x6CDC}, //5006 #CJK UNIFIED IDEOGRAPH
+  {0x9B83, 0x6CDD}, //5007 #CJK UNIFIED IDEOGRAPH
+  {0x9B84, 0x6CDF}, //5008 #CJK UNIFIED IDEOGRAPH
+  {0x9B85, 0x6CE4}, //5009 #CJK UNIFIED IDEOGRAPH
+  {0x9B86, 0x6CE6}, //5010 #CJK UNIFIED IDEOGRAPH
+  {0x9B87, 0x6CE7}, //5011 #CJK UNIFIED IDEOGRAPH
+  {0x9B88, 0x6CE9}, //5012 #CJK UNIFIED IDEOGRAPH
+  {0x9B89, 0x6CEC}, //5013 #CJK UNIFIED IDEOGRAPH
+  {0x9B8A, 0x6CED}, //5014 #CJK UNIFIED IDEOGRAPH
+  {0x9B8B, 0x6CF2}, //5015 #CJK UNIFIED IDEOGRAPH
+  {0x9B8C, 0x6CF4}, //5016 #CJK UNIFIED IDEOGRAPH
+  {0x9B8D, 0x6CF9}, //5017 #CJK UNIFIED IDEOGRAPH
+  {0x9B8E, 0x6CFF}, //5018 #CJK UNIFIED IDEOGRAPH
+  {0x9B8F, 0x6D00}, //5019 #CJK UNIFIED IDEOGRAPH
+  {0x9B90, 0x6D02}, //5020 #CJK UNIFIED IDEOGRAPH
+  {0x9B91, 0x6D03}, //5021 #CJK UNIFIED IDEOGRAPH
+  {0x9B92, 0x6D05}, //5022 #CJK UNIFIED IDEOGRAPH
+  {0x9B93, 0x6D06}, //5023 #CJK UNIFIED IDEOGRAPH
+  {0x9B94, 0x6D08}, //5024 #CJK UNIFIED IDEOGRAPH
+  {0x9B95, 0x6D09}, //5025 #CJK UNIFIED IDEOGRAPH
+  {0x9B96, 0x6D0A}, //5026 #CJK UNIFIED IDEOGRAPH
+  {0x9B97, 0x6D0D}, //5027 #CJK UNIFIED IDEOGRAPH
+  {0x9B98, 0x6D0F}, //5028 #CJK UNIFIED IDEOGRAPH
+  {0x9B99, 0x6D10}, //5029 #CJK UNIFIED IDEOGRAPH
+  {0x9B9A, 0x6D11}, //5030 #CJK UNIFIED IDEOGRAPH
+  {0x9B9B, 0x6D13}, //5031 #CJK UNIFIED IDEOGRAPH
+  {0x9B9C, 0x6D14}, //5032 #CJK UNIFIED IDEOGRAPH
+  {0x9B9D, 0x6D15}, //5033 #CJK UNIFIED IDEOGRAPH
+  {0x9B9E, 0x6D16}, //5034 #CJK UNIFIED IDEOGRAPH
+  {0x9B9F, 0x6D18}, //5035 #CJK UNIFIED IDEOGRAPH
+  {0x9BA0, 0x6D1C}, //5036 #CJK UNIFIED IDEOGRAPH
+  {0x9BA1, 0x6D1D}, //5037 #CJK UNIFIED IDEOGRAPH
+  {0x9BA2, 0x6D1F}, //5038 #CJK UNIFIED IDEOGRAPH
+  {0x9BA3, 0x6D20}, //5039 #CJK UNIFIED IDEOGRAPH
+  {0x9BA4, 0x6D21}, //5040 #CJK UNIFIED IDEOGRAPH
+  {0x9BA5, 0x6D22}, //5041 #CJK UNIFIED IDEOGRAPH
+  {0x9BA6, 0x6D23}, //5042 #CJK UNIFIED IDEOGRAPH
+  {0x9BA7, 0x6D24}, //5043 #CJK UNIFIED IDEOGRAPH
+  {0x9BA8, 0x6D26}, //5044 #CJK UNIFIED IDEOGRAPH
+  {0x9BA9, 0x6D28}, //5045 #CJK UNIFIED IDEOGRAPH
+  {0x9BAA, 0x6D29}, //5046 #CJK UNIFIED IDEOGRAPH
+  {0x9BAB, 0x6D2C}, //5047 #CJK UNIFIED IDEOGRAPH
+  {0x9BAC, 0x6D2D}, //5048 #CJK UNIFIED IDEOGRAPH
+  {0x9BAD, 0x6D2F}, //5049 #CJK UNIFIED IDEOGRAPH
+  {0x9BAE, 0x6D30}, //5050 #CJK UNIFIED IDEOGRAPH
+  {0x9BAF, 0x6D34}, //5051 #CJK UNIFIED IDEOGRAPH
+  {0x9BB0, 0x6D36}, //5052 #CJK UNIFIED IDEOGRAPH
+  {0x9BB1, 0x6D37}, //5053 #CJK UNIFIED IDEOGRAPH
+  {0x9BB2, 0x6D38}, //5054 #CJK UNIFIED IDEOGRAPH
+  {0x9BB3, 0x6D3A}, //5055 #CJK UNIFIED IDEOGRAPH
+  {0x9BB4, 0x6D3F}, //5056 #CJK UNIFIED IDEOGRAPH
+  {0x9BB5, 0x6D40}, //5057 #CJK UNIFIED IDEOGRAPH
+  {0x9BB6, 0x6D42}, //5058 #CJK UNIFIED IDEOGRAPH
+  {0x9BB7, 0x6D44}, //5059 #CJK UNIFIED IDEOGRAPH
+  {0x9BB8, 0x6D49}, //5060 #CJK UNIFIED IDEOGRAPH
+  {0x9BB9, 0x6D4C}, //5061 #CJK UNIFIED IDEOGRAPH
+  {0x9BBA, 0x6D50}, //5062 #CJK UNIFIED IDEOGRAPH
+  {0x9BBB, 0x6D55}, //5063 #CJK UNIFIED IDEOGRAPH
+  {0x9BBC, 0x6D56}, //5064 #CJK UNIFIED IDEOGRAPH
+  {0x9BBD, 0x6D57}, //5065 #CJK UNIFIED IDEOGRAPH
+  {0x9BBE, 0x6D58}, //5066 #CJK UNIFIED IDEOGRAPH
+  {0x9BBF, 0x6D5B}, //5067 #CJK UNIFIED IDEOGRAPH
+  {0x9BC0, 0x6D5D}, //5068 #CJK UNIFIED IDEOGRAPH
+  {0x9BC1, 0x6D5F}, //5069 #CJK UNIFIED IDEOGRAPH
+  {0x9BC2, 0x6D61}, //5070 #CJK UNIFIED IDEOGRAPH
+  {0x9BC3, 0x6D62}, //5071 #CJK UNIFIED IDEOGRAPH
+  {0x9BC4, 0x6D64}, //5072 #CJK UNIFIED IDEOGRAPH
+  {0x9BC5, 0x6D65}, //5073 #CJK UNIFIED IDEOGRAPH
+  {0x9BC6, 0x6D67}, //5074 #CJK UNIFIED IDEOGRAPH
+  {0x9BC7, 0x6D68}, //5075 #CJK UNIFIED IDEOGRAPH
+  {0x9BC8, 0x6D6B}, //5076 #CJK UNIFIED IDEOGRAPH
+  {0x9BC9, 0x6D6C}, //5077 #CJK UNIFIED IDEOGRAPH
+  {0x9BCA, 0x6D6D}, //5078 #CJK UNIFIED IDEOGRAPH
+  {0x9BCB, 0x6D70}, //5079 #CJK UNIFIED IDEOGRAPH
+  {0x9BCC, 0x6D71}, //5080 #CJK UNIFIED IDEOGRAPH
+  {0x9BCD, 0x6D72}, //5081 #CJK UNIFIED IDEOGRAPH
+  {0x9BCE, 0x6D73}, //5082 #CJK UNIFIED IDEOGRAPH
+  {0x9BCF, 0x6D75}, //5083 #CJK UNIFIED IDEOGRAPH
+  {0x9BD0, 0x6D76}, //5084 #CJK UNIFIED IDEOGRAPH
+  {0x9BD1, 0x6D79}, //5085 #CJK UNIFIED IDEOGRAPH
+  {0x9BD2, 0x6D7A}, //5086 #CJK UNIFIED IDEOGRAPH
+  {0x9BD3, 0x6D7B}, //5087 #CJK UNIFIED IDEOGRAPH
+  {0x9BD4, 0x6D7D}, //5088 #CJK UNIFIED IDEOGRAPH
+  {0x9BD5, 0x6D7E}, //5089 #CJK UNIFIED IDEOGRAPH
+  {0x9BD6, 0x6D7F}, //5090 #CJK UNIFIED IDEOGRAPH
+  {0x9BD7, 0x6D80}, //5091 #CJK UNIFIED IDEOGRAPH
+  {0x9BD8, 0x6D81}, //5092 #CJK UNIFIED IDEOGRAPH
+  {0x9BD9, 0x6D83}, //5093 #CJK UNIFIED IDEOGRAPH
+  {0x9BDA, 0x6D84}, //5094 #CJK UNIFIED IDEOGRAPH
+  {0x9BDB, 0x6D86}, //5095 #CJK UNIFIED IDEOGRAPH
+  {0x9BDC, 0x6D87}, //5096 #CJK UNIFIED IDEOGRAPH
+  {0x9BDD, 0x6D8A}, //5097 #CJK UNIFIED IDEOGRAPH
+  {0x9BDE, 0x6D8B}, //5098 #CJK UNIFIED IDEOGRAPH
+  {0x9BDF, 0x6D8D}, //5099 #CJK UNIFIED IDEOGRAPH
+  {0x9BE0, 0x6D8F}, //5100 #CJK UNIFIED IDEOGRAPH
+  {0x9BE1, 0x6D90}, //5101 #CJK UNIFIED IDEOGRAPH
+  {0x9BE2, 0x6D92}, //5102 #CJK UNIFIED IDEOGRAPH
+  {0x9BE3, 0x6D96}, //5103 #CJK UNIFIED IDEOGRAPH
+  {0x9BE4, 0x6D97}, //5104 #CJK UNIFIED IDEOGRAPH
+  {0x9BE5, 0x6D98}, //5105 #CJK UNIFIED IDEOGRAPH
+  {0x9BE6, 0x6D99}, //5106 #CJK UNIFIED IDEOGRAPH
+  {0x9BE7, 0x6D9A}, //5107 #CJK UNIFIED IDEOGRAPH
+  {0x9BE8, 0x6D9C}, //5108 #CJK UNIFIED IDEOGRAPH
+  {0x9BE9, 0x6DA2}, //5109 #CJK UNIFIED IDEOGRAPH
+  {0x9BEA, 0x6DA5}, //5110 #CJK UNIFIED IDEOGRAPH
+  {0x9BEB, 0x6DAC}, //5111 #CJK UNIFIED IDEOGRAPH
+  {0x9BEC, 0x6DAD}, //5112 #CJK UNIFIED IDEOGRAPH
+  {0x9BED, 0x6DB0}, //5113 #CJK UNIFIED IDEOGRAPH
+  {0x9BEE, 0x6DB1}, //5114 #CJK UNIFIED IDEOGRAPH
+  {0x9BEF, 0x6DB3}, //5115 #CJK UNIFIED IDEOGRAPH
+  {0x9BF0, 0x6DB4}, //5116 #CJK UNIFIED IDEOGRAPH
+  {0x9BF1, 0x6DB6}, //5117 #CJK UNIFIED IDEOGRAPH
+  {0x9BF2, 0x6DB7}, //5118 #CJK UNIFIED IDEOGRAPH
+  {0x9BF3, 0x6DB9}, //5119 #CJK UNIFIED IDEOGRAPH
+  {0x9BF4, 0x6DBA}, //5120 #CJK UNIFIED IDEOGRAPH
+  {0x9BF5, 0x6DBB}, //5121 #CJK UNIFIED IDEOGRAPH
+  {0x9BF6, 0x6DBC}, //5122 #CJK UNIFIED IDEOGRAPH
+  {0x9BF7, 0x6DBD}, //5123 #CJK UNIFIED IDEOGRAPH
+  {0x9BF8, 0x6DBE}, //5124 #CJK UNIFIED IDEOGRAPH
+  {0x9BF9, 0x6DC1}, //5125 #CJK UNIFIED IDEOGRAPH
+  {0x9BFA, 0x6DC2}, //5126 #CJK UNIFIED IDEOGRAPH
+  {0x9BFB, 0x6DC3}, //5127 #CJK UNIFIED IDEOGRAPH
+  {0x9BFC, 0x6DC8}, //5128 #CJK UNIFIED IDEOGRAPH
+  {0x9BFD, 0x6DC9}, //5129 #CJK UNIFIED IDEOGRAPH
+  {0x9BFE, 0x6DCA}, //5130 #CJK UNIFIED IDEOGRAPH
+  {0x9C40, 0x6DCD}, //5131 #CJK UNIFIED IDEOGRAPH
+  {0x9C41, 0x6DCE}, //5132 #CJK UNIFIED IDEOGRAPH
+  {0x9C42, 0x6DCF}, //5133 #CJK UNIFIED IDEOGRAPH
+  {0x9C43, 0x6DD0}, //5134 #CJK UNIFIED IDEOGRAPH
+  {0x9C44, 0x6DD2}, //5135 #CJK UNIFIED IDEOGRAPH
+  {0x9C45, 0x6DD3}, //5136 #CJK UNIFIED IDEOGRAPH
+  {0x9C46, 0x6DD4}, //5137 #CJK UNIFIED IDEOGRAPH
+  {0x9C47, 0x6DD5}, //5138 #CJK UNIFIED IDEOGRAPH
+  {0x9C48, 0x6DD7}, //5139 #CJK UNIFIED IDEOGRAPH
+  {0x9C49, 0x6DDA}, //5140 #CJK UNIFIED IDEOGRAPH
+  {0x9C4A, 0x6DDB}, //5141 #CJK UNIFIED IDEOGRAPH
+  {0x9C4B, 0x6DDC}, //5142 #CJK UNIFIED IDEOGRAPH
+  {0x9C4C, 0x6DDF}, //5143 #CJK UNIFIED IDEOGRAPH
+  {0x9C4D, 0x6DE2}, //5144 #CJK UNIFIED IDEOGRAPH
+  {0x9C4E, 0x6DE3}, //5145 #CJK UNIFIED IDEOGRAPH
+  {0x9C4F, 0x6DE5}, //5146 #CJK UNIFIED IDEOGRAPH
+  {0x9C50, 0x6DE7}, //5147 #CJK UNIFIED IDEOGRAPH
+  {0x9C51, 0x6DE8}, //5148 #CJK UNIFIED IDEOGRAPH
+  {0x9C52, 0x6DE9}, //5149 #CJK UNIFIED IDEOGRAPH
+  {0x9C53, 0x6DEA}, //5150 #CJK UNIFIED IDEOGRAPH
+  {0x9C54, 0x6DED}, //5151 #CJK UNIFIED IDEOGRAPH
+  {0x9C55, 0x6DEF}, //5152 #CJK UNIFIED IDEOGRAPH
+  {0x9C56, 0x6DF0}, //5153 #CJK UNIFIED IDEOGRAPH
+  {0x9C57, 0x6DF2}, //5154 #CJK UNIFIED IDEOGRAPH
+  {0x9C58, 0x6DF4}, //5155 #CJK UNIFIED IDEOGRAPH
+  {0x9C59, 0x6DF5}, //5156 #CJK UNIFIED IDEOGRAPH
+  {0x9C5A, 0x6DF6}, //5157 #CJK UNIFIED IDEOGRAPH
+  {0x9C5B, 0x6DF8}, //5158 #CJK UNIFIED IDEOGRAPH
+  {0x9C5C, 0x6DFA}, //5159 #CJK UNIFIED IDEOGRAPH
+  {0x9C5D, 0x6DFD}, //5160 #CJK UNIFIED IDEOGRAPH
+  {0x9C5E, 0x6DFE}, //5161 #CJK UNIFIED IDEOGRAPH
+  {0x9C5F, 0x6DFF}, //5162 #CJK UNIFIED IDEOGRAPH
+  {0x9C60, 0x6E00}, //5163 #CJK UNIFIED IDEOGRAPH
+  {0x9C61, 0x6E01}, //5164 #CJK UNIFIED IDEOGRAPH
+  {0x9C62, 0x6E02}, //5165 #CJK UNIFIED IDEOGRAPH
+  {0x9C63, 0x6E03}, //5166 #CJK UNIFIED IDEOGRAPH
+  {0x9C64, 0x6E04}, //5167 #CJK UNIFIED IDEOGRAPH
+  {0x9C65, 0x6E06}, //5168 #CJK UNIFIED IDEOGRAPH
+  {0x9C66, 0x6E07}, //5169 #CJK UNIFIED IDEOGRAPH
+  {0x9C67, 0x6E08}, //5170 #CJK UNIFIED IDEOGRAPH
+  {0x9C68, 0x6E09}, //5171 #CJK UNIFIED IDEOGRAPH
+  {0x9C69, 0x6E0B}, //5172 #CJK UNIFIED IDEOGRAPH
+  {0x9C6A, 0x6E0F}, //5173 #CJK UNIFIED IDEOGRAPH
+  {0x9C6B, 0x6E12}, //5174 #CJK UNIFIED IDEOGRAPH
+  {0x9C6C, 0x6E13}, //5175 #CJK UNIFIED IDEOGRAPH
+  {0x9C6D, 0x6E15}, //5176 #CJK UNIFIED IDEOGRAPH
+  {0x9C6E, 0x6E18}, //5177 #CJK UNIFIED IDEOGRAPH
+  {0x9C6F, 0x6E19}, //5178 #CJK UNIFIED IDEOGRAPH
+  {0x9C70, 0x6E1B}, //5179 #CJK UNIFIED IDEOGRAPH
+  {0x9C71, 0x6E1C}, //5180 #CJK UNIFIED IDEOGRAPH
+  {0x9C72, 0x6E1E}, //5181 #CJK UNIFIED IDEOGRAPH
+  {0x9C73, 0x6E1F}, //5182 #CJK UNIFIED IDEOGRAPH
+  {0x9C74, 0x6E22}, //5183 #CJK UNIFIED IDEOGRAPH
+  {0x9C75, 0x6E26}, //5184 #CJK UNIFIED IDEOGRAPH
+  {0x9C76, 0x6E27}, //5185 #CJK UNIFIED IDEOGRAPH
+  {0x9C77, 0x6E28}, //5186 #CJK UNIFIED IDEOGRAPH
+  {0x9C78, 0x6E2A}, //5187 #CJK UNIFIED IDEOGRAPH
+  {0x9C79, 0x6E2C}, //5188 #CJK UNIFIED IDEOGRAPH
+  {0x9C7A, 0x6E2E}, //5189 #CJK UNIFIED IDEOGRAPH
+  {0x9C7B, 0x6E30}, //5190 #CJK UNIFIED IDEOGRAPH
+  {0x9C7C, 0x6E31}, //5191 #CJK UNIFIED IDEOGRAPH
+  {0x9C7D, 0x6E33}, //5192 #CJK UNIFIED IDEOGRAPH
+  {0x9C7E, 0x6E35}, //5193 #CJK UNIFIED IDEOGRAPH
+  {0x9C80, 0x6E36}, //5194 #CJK UNIFIED IDEOGRAPH
+  {0x9C81, 0x6E37}, //5195 #CJK UNIFIED IDEOGRAPH
+  {0x9C82, 0x6E39}, //5196 #CJK UNIFIED IDEOGRAPH
+  {0x9C83, 0x6E3B}, //5197 #CJK UNIFIED IDEOGRAPH
+  {0x9C84, 0x6E3C}, //5198 #CJK UNIFIED IDEOGRAPH
+  {0x9C85, 0x6E3D}, //5199 #CJK UNIFIED IDEOGRAPH
+  {0x9C86, 0x6E3E}, //5200 #CJK UNIFIED IDEOGRAPH
+  {0x9C87, 0x6E3F}, //5201 #CJK UNIFIED IDEOGRAPH
+  {0x9C88, 0x6E40}, //5202 #CJK UNIFIED IDEOGRAPH
+  {0x9C89, 0x6E41}, //5203 #CJK UNIFIED IDEOGRAPH
+  {0x9C8A, 0x6E42}, //5204 #CJK UNIFIED IDEOGRAPH
+  {0x9C8B, 0x6E45}, //5205 #CJK UNIFIED IDEOGRAPH
+  {0x9C8C, 0x6E46}, //5206 #CJK UNIFIED IDEOGRAPH
+  {0x9C8D, 0x6E47}, //5207 #CJK UNIFIED IDEOGRAPH
+  {0x9C8E, 0x6E48}, //5208 #CJK UNIFIED IDEOGRAPH
+  {0x9C8F, 0x6E49}, //5209 #CJK UNIFIED IDEOGRAPH
+  {0x9C90, 0x6E4A}, //5210 #CJK UNIFIED IDEOGRAPH
+  {0x9C91, 0x6E4B}, //5211 #CJK UNIFIED IDEOGRAPH
+  {0x9C92, 0x6E4C}, //5212 #CJK UNIFIED IDEOGRAPH
+  {0x9C93, 0x6E4F}, //5213 #CJK UNIFIED IDEOGRAPH
+  {0x9C94, 0x6E50}, //5214 #CJK UNIFIED IDEOGRAPH
+  {0x9C95, 0x6E51}, //5215 #CJK UNIFIED IDEOGRAPH
+  {0x9C96, 0x6E52}, //5216 #CJK UNIFIED IDEOGRAPH
+  {0x9C97, 0x6E55}, //5217 #CJK UNIFIED IDEOGRAPH
+  {0x9C98, 0x6E57}, //5218 #CJK UNIFIED IDEOGRAPH
+  {0x9C99, 0x6E59}, //5219 #CJK UNIFIED IDEOGRAPH
+  {0x9C9A, 0x6E5A}, //5220 #CJK UNIFIED IDEOGRAPH
+  {0x9C9B, 0x6E5C}, //5221 #CJK UNIFIED IDEOGRAPH
+  {0x9C9C, 0x6E5D}, //5222 #CJK UNIFIED IDEOGRAPH
+  {0x9C9D, 0x6E5E}, //5223 #CJK UNIFIED IDEOGRAPH
+  {0x9C9E, 0x6E60}, //5224 #CJK UNIFIED IDEOGRAPH
+  {0x9C9F, 0x6E61}, //5225 #CJK UNIFIED IDEOGRAPH
+  {0x9CA0, 0x6E62}, //5226 #CJK UNIFIED IDEOGRAPH
+  {0x9CA1, 0x6E63}, //5227 #CJK UNIFIED IDEOGRAPH
+  {0x9CA2, 0x6E64}, //5228 #CJK UNIFIED IDEOGRAPH
+  {0x9CA3, 0x6E65}, //5229 #CJK UNIFIED IDEOGRAPH
+  {0x9CA4, 0x6E66}, //5230 #CJK UNIFIED IDEOGRAPH
+  {0x9CA5, 0x6E67}, //5231 #CJK UNIFIED IDEOGRAPH
+  {0x9CA6, 0x6E68}, //5232 #CJK UNIFIED IDEOGRAPH
+  {0x9CA7, 0x6E69}, //5233 #CJK UNIFIED IDEOGRAPH
+  {0x9CA8, 0x6E6A}, //5234 #CJK UNIFIED IDEOGRAPH
+  {0x9CA9, 0x6E6C}, //5235 #CJK UNIFIED IDEOGRAPH
+  {0x9CAA, 0x6E6D}, //5236 #CJK UNIFIED IDEOGRAPH
+  {0x9CAB, 0x6E6F}, //5237 #CJK UNIFIED IDEOGRAPH
+  {0x9CAC, 0x6E70}, //5238 #CJK UNIFIED IDEOGRAPH
+  {0x9CAD, 0x6E71}, //5239 #CJK UNIFIED IDEOGRAPH
+  {0x9CAE, 0x6E72}, //5240 #CJK UNIFIED IDEOGRAPH
+  {0x9CAF, 0x6E73}, //5241 #CJK UNIFIED IDEOGRAPH
+  {0x9CB0, 0x6E74}, //5242 #CJK UNIFIED IDEOGRAPH
+  {0x9CB1, 0x6E75}, //5243 #CJK UNIFIED IDEOGRAPH
+  {0x9CB2, 0x6E76}, //5244 #CJK UNIFIED IDEOGRAPH
+  {0x9CB3, 0x6E77}, //5245 #CJK UNIFIED IDEOGRAPH
+  {0x9CB4, 0x6E78}, //5246 #CJK UNIFIED IDEOGRAPH
+  {0x9CB5, 0x6E79}, //5247 #CJK UNIFIED IDEOGRAPH
+  {0x9CB6, 0x6E7A}, //5248 #CJK UNIFIED IDEOGRAPH
+  {0x9CB7, 0x6E7B}, //5249 #CJK UNIFIED IDEOGRAPH
+  {0x9CB8, 0x6E7C}, //5250 #CJK UNIFIED IDEOGRAPH
+  {0x9CB9, 0x6E7D}, //5251 #CJK UNIFIED IDEOGRAPH
+  {0x9CBA, 0x6E80}, //5252 #CJK UNIFIED IDEOGRAPH
+  {0x9CBB, 0x6E81}, //5253 #CJK UNIFIED IDEOGRAPH
+  {0x9CBC, 0x6E82}, //5254 #CJK UNIFIED IDEOGRAPH
+  {0x9CBD, 0x6E84}, //5255 #CJK UNIFIED IDEOGRAPH
+  {0x9CBE, 0x6E87}, //5256 #CJK UNIFIED IDEOGRAPH
+  {0x9CBF, 0x6E88}, //5257 #CJK UNIFIED IDEOGRAPH
+  {0x9CC0, 0x6E8A}, //5258 #CJK UNIFIED IDEOGRAPH
+  {0x9CC1, 0x6E8B}, //5259 #CJK UNIFIED IDEOGRAPH
+  {0x9CC2, 0x6E8C}, //5260 #CJK UNIFIED IDEOGRAPH
+  {0x9CC3, 0x6E8D}, //5261 #CJK UNIFIED IDEOGRAPH
+  {0x9CC4, 0x6E8E}, //5262 #CJK UNIFIED IDEOGRAPH
+  {0x9CC5, 0x6E91}, //5263 #CJK UNIFIED IDEOGRAPH
+  {0x9CC6, 0x6E92}, //5264 #CJK UNIFIED IDEOGRAPH
+  {0x9CC7, 0x6E93}, //5265 #CJK UNIFIED IDEOGRAPH
+  {0x9CC8, 0x6E94}, //5266 #CJK UNIFIED IDEOGRAPH
+  {0x9CC9, 0x6E95}, //5267 #CJK UNIFIED IDEOGRAPH
+  {0x9CCA, 0x6E96}, //5268 #CJK UNIFIED IDEOGRAPH
+  {0x9CCB, 0x6E97}, //5269 #CJK UNIFIED IDEOGRAPH
+  {0x9CCC, 0x6E99}, //5270 #CJK UNIFIED IDEOGRAPH
+  {0x9CCD, 0x6E9A}, //5271 #CJK UNIFIED IDEOGRAPH
+  {0x9CCE, 0x6E9B}, //5272 #CJK UNIFIED IDEOGRAPH
+  {0x9CCF, 0x6E9D}, //5273 #CJK UNIFIED IDEOGRAPH
+  {0x9CD0, 0x6E9E}, //5274 #CJK UNIFIED IDEOGRAPH
+  {0x9CD1, 0x6EA0}, //5275 #CJK UNIFIED IDEOGRAPH
+  {0x9CD2, 0x6EA1}, //5276 #CJK UNIFIED IDEOGRAPH
+  {0x9CD3, 0x6EA3}, //5277 #CJK UNIFIED IDEOGRAPH
+  {0x9CD4, 0x6EA4}, //5278 #CJK UNIFIED IDEOGRAPH
+  {0x9CD5, 0x6EA6}, //5279 #CJK UNIFIED IDEOGRAPH
+  {0x9CD6, 0x6EA8}, //5280 #CJK UNIFIED IDEOGRAPH
+  {0x9CD7, 0x6EA9}, //5281 #CJK UNIFIED IDEOGRAPH
+  {0x9CD8, 0x6EAB}, //5282 #CJK UNIFIED IDEOGRAPH
+  {0x9CD9, 0x6EAC}, //5283 #CJK UNIFIED IDEOGRAPH
+  {0x9CDA, 0x6EAD}, //5284 #CJK UNIFIED IDEOGRAPH
+  {0x9CDB, 0x6EAE}, //5285 #CJK UNIFIED IDEOGRAPH
+  {0x9CDC, 0x6EB0}, //5286 #CJK UNIFIED IDEOGRAPH
+  {0x9CDD, 0x6EB3}, //5287 #CJK UNIFIED IDEOGRAPH
+  {0x9CDE, 0x6EB5}, //5288 #CJK UNIFIED IDEOGRAPH
+  {0x9CDF, 0x6EB8}, //5289 #CJK UNIFIED IDEOGRAPH
+  {0x9CE0, 0x6EB9}, //5290 #CJK UNIFIED IDEOGRAPH
+  {0x9CE1, 0x6EBC}, //5291 #CJK UNIFIED IDEOGRAPH
+  {0x9CE2, 0x6EBE}, //5292 #CJK UNIFIED IDEOGRAPH
+  {0x9CE3, 0x6EBF}, //5293 #CJK UNIFIED IDEOGRAPH
+  {0x9CE4, 0x6EC0}, //5294 #CJK UNIFIED IDEOGRAPH
+  {0x9CE5, 0x6EC3}, //5295 #CJK UNIFIED IDEOGRAPH
+  {0x9CE6, 0x6EC4}, //5296 #CJK UNIFIED IDEOGRAPH
+  {0x9CE7, 0x6EC5}, //5297 #CJK UNIFIED IDEOGRAPH
+  {0x9CE8, 0x6EC6}, //5298 #CJK UNIFIED IDEOGRAPH
+  {0x9CE9, 0x6EC8}, //5299 #CJK UNIFIED IDEOGRAPH
+  {0x9CEA, 0x6EC9}, //5300 #CJK UNIFIED IDEOGRAPH
+  {0x9CEB, 0x6ECA}, //5301 #CJK UNIFIED IDEOGRAPH
+  {0x9CEC, 0x6ECC}, //5302 #CJK UNIFIED IDEOGRAPH
+  {0x9CED, 0x6ECD}, //5303 #CJK UNIFIED IDEOGRAPH
+  {0x9CEE, 0x6ECE}, //5304 #CJK UNIFIED IDEOGRAPH
+  {0x9CEF, 0x6ED0}, //5305 #CJK UNIFIED IDEOGRAPH
+  {0x9CF0, 0x6ED2}, //5306 #CJK UNIFIED IDEOGRAPH
+  {0x9CF1, 0x6ED6}, //5307 #CJK UNIFIED IDEOGRAPH
+  {0x9CF2, 0x6ED8}, //5308 #CJK UNIFIED IDEOGRAPH
+  {0x9CF3, 0x6ED9}, //5309 #CJK UNIFIED IDEOGRAPH
+  {0x9CF4, 0x6EDB}, //5310 #CJK UNIFIED IDEOGRAPH
+  {0x9CF5, 0x6EDC}, //5311 #CJK UNIFIED IDEOGRAPH
+  {0x9CF6, 0x6EDD}, //5312 #CJK UNIFIED IDEOGRAPH
+  {0x9CF7, 0x6EE3}, //5313 #CJK UNIFIED IDEOGRAPH
+  {0x9CF8, 0x6EE7}, //5314 #CJK UNIFIED IDEOGRAPH
+  {0x9CF9, 0x6EEA}, //5315 #CJK UNIFIED IDEOGRAPH
+  {0x9CFA, 0x6EEB}, //5316 #CJK UNIFIED IDEOGRAPH
+  {0x9CFB, 0x6EEC}, //5317 #CJK UNIFIED IDEOGRAPH
+  {0x9CFC, 0x6EED}, //5318 #CJK UNIFIED IDEOGRAPH
+  {0x9CFD, 0x6EEE}, //5319 #CJK UNIFIED IDEOGRAPH
+  {0x9CFE, 0x6EEF}, //5320 #CJK UNIFIED IDEOGRAPH
+  {0x9D40, 0x6EF0}, //5321 #CJK UNIFIED IDEOGRAPH
+  {0x9D41, 0x6EF1}, //5322 #CJK UNIFIED IDEOGRAPH
+  {0x9D42, 0x6EF2}, //5323 #CJK UNIFIED IDEOGRAPH
+  {0x9D43, 0x6EF3}, //5324 #CJK UNIFIED IDEOGRAPH
+  {0x9D44, 0x6EF5}, //5325 #CJK UNIFIED IDEOGRAPH
+  {0x9D45, 0x6EF6}, //5326 #CJK UNIFIED IDEOGRAPH
+  {0x9D46, 0x6EF7}, //5327 #CJK UNIFIED IDEOGRAPH
+  {0x9D47, 0x6EF8}, //5328 #CJK UNIFIED IDEOGRAPH
+  {0x9D48, 0x6EFA}, //5329 #CJK UNIFIED IDEOGRAPH
+  {0x9D49, 0x6EFB}, //5330 #CJK UNIFIED IDEOGRAPH
+  {0x9D4A, 0x6EFC}, //5331 #CJK UNIFIED IDEOGRAPH
+  {0x9D4B, 0x6EFD}, //5332 #CJK UNIFIED IDEOGRAPH
+  {0x9D4C, 0x6EFE}, //5333 #CJK UNIFIED IDEOGRAPH
+  {0x9D4D, 0x6EFF}, //5334 #CJK UNIFIED IDEOGRAPH
+  {0x9D4E, 0x6F00}, //5335 #CJK UNIFIED IDEOGRAPH
+  {0x9D4F, 0x6F01}, //5336 #CJK UNIFIED IDEOGRAPH
+  {0x9D50, 0x6F03}, //5337 #CJK UNIFIED IDEOGRAPH
+  {0x9D51, 0x6F04}, //5338 #CJK UNIFIED IDEOGRAPH
+  {0x9D52, 0x6F05}, //5339 #CJK UNIFIED IDEOGRAPH
+  {0x9D53, 0x6F07}, //5340 #CJK UNIFIED IDEOGRAPH
+  {0x9D54, 0x6F08}, //5341 #CJK UNIFIED IDEOGRAPH
+  {0x9D55, 0x6F0A}, //5342 #CJK UNIFIED IDEOGRAPH
+  {0x9D56, 0x6F0B}, //5343 #CJK UNIFIED IDEOGRAPH
+  {0x9D57, 0x6F0C}, //5344 #CJK UNIFIED IDEOGRAPH
+  {0x9D58, 0x6F0D}, //5345 #CJK UNIFIED IDEOGRAPH
+  {0x9D59, 0x6F0E}, //5346 #CJK UNIFIED IDEOGRAPH
+  {0x9D5A, 0x6F10}, //5347 #CJK UNIFIED IDEOGRAPH
+  {0x9D5B, 0x6F11}, //5348 #CJK UNIFIED IDEOGRAPH
+  {0x9D5C, 0x6F12}, //5349 #CJK UNIFIED IDEOGRAPH
+  {0x9D5D, 0x6F16}, //5350 #CJK UNIFIED IDEOGRAPH
+  {0x9D5E, 0x6F17}, //5351 #CJK UNIFIED IDEOGRAPH
+  {0x9D5F, 0x6F18}, //5352 #CJK UNIFIED IDEOGRAPH
+  {0x9D60, 0x6F19}, //5353 #CJK UNIFIED IDEOGRAPH
+  {0x9D61, 0x6F1A}, //5354 #CJK UNIFIED IDEOGRAPH
+  {0x9D62, 0x6F1B}, //5355 #CJK UNIFIED IDEOGRAPH
+  {0x9D63, 0x6F1C}, //5356 #CJK UNIFIED IDEOGRAPH
+  {0x9D64, 0x6F1D}, //5357 #CJK UNIFIED IDEOGRAPH
+  {0x9D65, 0x6F1E}, //5358 #CJK UNIFIED IDEOGRAPH
+  {0x9D66, 0x6F1F}, //5359 #CJK UNIFIED IDEOGRAPH
+  {0x9D67, 0x6F21}, //5360 #CJK UNIFIED IDEOGRAPH
+  {0x9D68, 0x6F22}, //5361 #CJK UNIFIED IDEOGRAPH
+  {0x9D69, 0x6F23}, //5362 #CJK UNIFIED IDEOGRAPH
+  {0x9D6A, 0x6F25}, //5363 #CJK UNIFIED IDEOGRAPH
+  {0x9D6B, 0x6F26}, //5364 #CJK UNIFIED IDEOGRAPH
+  {0x9D6C, 0x6F27}, //5365 #CJK UNIFIED IDEOGRAPH
+  {0x9D6D, 0x6F28}, //5366 #CJK UNIFIED IDEOGRAPH
+  {0x9D6E, 0x6F2C}, //5367 #CJK UNIFIED IDEOGRAPH
+  {0x9D6F, 0x6F2E}, //5368 #CJK UNIFIED IDEOGRAPH
+  {0x9D70, 0x6F30}, //5369 #CJK UNIFIED IDEOGRAPH
+  {0x9D71, 0x6F32}, //5370 #CJK UNIFIED IDEOGRAPH
+  {0x9D72, 0x6F34}, //5371 #CJK UNIFIED IDEOGRAPH
+  {0x9D73, 0x6F35}, //5372 #CJK UNIFIED IDEOGRAPH
+  {0x9D74, 0x6F37}, //5373 #CJK UNIFIED IDEOGRAPH
+  {0x9D75, 0x6F38}, //5374 #CJK UNIFIED IDEOGRAPH
+  {0x9D76, 0x6F39}, //5375 #CJK UNIFIED IDEOGRAPH
+  {0x9D77, 0x6F3A}, //5376 #CJK UNIFIED IDEOGRAPH
+  {0x9D78, 0x6F3B}, //5377 #CJK UNIFIED IDEOGRAPH
+  {0x9D79, 0x6F3C}, //5378 #CJK UNIFIED IDEOGRAPH
+  {0x9D7A, 0x6F3D}, //5379 #CJK UNIFIED IDEOGRAPH
+  {0x9D7B, 0x6F3F}, //5380 #CJK UNIFIED IDEOGRAPH
+  {0x9D7C, 0x6F40}, //5381 #CJK UNIFIED IDEOGRAPH
+  {0x9D7D, 0x6F41}, //5382 #CJK UNIFIED IDEOGRAPH
+  {0x9D7E, 0x6F42}, //5383 #CJK UNIFIED IDEOGRAPH
+  {0x9D80, 0x6F43}, //5384 #CJK UNIFIED IDEOGRAPH
+  {0x9D81, 0x6F44}, //5385 #CJK UNIFIED IDEOGRAPH
+  {0x9D82, 0x6F45}, //5386 #CJK UNIFIED IDEOGRAPH
+  {0x9D83, 0x6F48}, //5387 #CJK UNIFIED IDEOGRAPH
+  {0x9D84, 0x6F49}, //5388 #CJK UNIFIED IDEOGRAPH
+  {0x9D85, 0x6F4A}, //5389 #CJK UNIFIED IDEOGRAPH
+  {0x9D86, 0x6F4C}, //5390 #CJK UNIFIED IDEOGRAPH
+  {0x9D87, 0x6F4E}, //5391 #CJK UNIFIED IDEOGRAPH
+  {0x9D88, 0x6F4F}, //5392 #CJK UNIFIED IDEOGRAPH
+  {0x9D89, 0x6F50}, //5393 #CJK UNIFIED IDEOGRAPH
+  {0x9D8A, 0x6F51}, //5394 #CJK UNIFIED IDEOGRAPH
+  {0x9D8B, 0x6F52}, //5395 #CJK UNIFIED IDEOGRAPH
+  {0x9D8C, 0x6F53}, //5396 #CJK UNIFIED IDEOGRAPH
+  {0x9D8D, 0x6F54}, //5397 #CJK UNIFIED IDEOGRAPH
+  {0x9D8E, 0x6F55}, //5398 #CJK UNIFIED IDEOGRAPH
+  {0x9D8F, 0x6F56}, //5399 #CJK UNIFIED IDEOGRAPH
+  {0x9D90, 0x6F57}, //5400 #CJK UNIFIED IDEOGRAPH
+  {0x9D91, 0x6F59}, //5401 #CJK UNIFIED IDEOGRAPH
+  {0x9D92, 0x6F5A}, //5402 #CJK UNIFIED IDEOGRAPH
+  {0x9D93, 0x6F5B}, //5403 #CJK UNIFIED IDEOGRAPH
+  {0x9D94, 0x6F5D}, //5404 #CJK UNIFIED IDEOGRAPH
+  {0x9D95, 0x6F5F}, //5405 #CJK UNIFIED IDEOGRAPH
+  {0x9D96, 0x6F60}, //5406 #CJK UNIFIED IDEOGRAPH
+  {0x9D97, 0x6F61}, //5407 #CJK UNIFIED IDEOGRAPH
+  {0x9D98, 0x6F63}, //5408 #CJK UNIFIED IDEOGRAPH
+  {0x9D99, 0x6F64}, //5409 #CJK UNIFIED IDEOGRAPH
+  {0x9D9A, 0x6F65}, //5410 #CJK UNIFIED IDEOGRAPH
+  {0x9D9B, 0x6F67}, //5411 #CJK UNIFIED IDEOGRAPH
+  {0x9D9C, 0x6F68}, //5412 #CJK UNIFIED IDEOGRAPH
+  {0x9D9D, 0x6F69}, //5413 #CJK UNIFIED IDEOGRAPH
+  {0x9D9E, 0x6F6A}, //5414 #CJK UNIFIED IDEOGRAPH
+  {0x9D9F, 0x6F6B}, //5415 #CJK UNIFIED IDEOGRAPH
+  {0x9DA0, 0x6F6C}, //5416 #CJK UNIFIED IDEOGRAPH
+  {0x9DA1, 0x6F6F}, //5417 #CJK UNIFIED IDEOGRAPH
+  {0x9DA2, 0x6F70}, //5418 #CJK UNIFIED IDEOGRAPH
+  {0x9DA3, 0x6F71}, //5419 #CJK UNIFIED IDEOGRAPH
+  {0x9DA4, 0x6F73}, //5420 #CJK UNIFIED IDEOGRAPH
+  {0x9DA5, 0x6F75}, //5421 #CJK UNIFIED IDEOGRAPH
+  {0x9DA6, 0x6F76}, //5422 #CJK UNIFIED IDEOGRAPH
+  {0x9DA7, 0x6F77}, //5423 #CJK UNIFIED IDEOGRAPH
+  {0x9DA8, 0x6F79}, //5424 #CJK UNIFIED IDEOGRAPH
+  {0x9DA9, 0x6F7B}, //5425 #CJK UNIFIED IDEOGRAPH
+  {0x9DAA, 0x6F7D}, //5426 #CJK UNIFIED IDEOGRAPH
+  {0x9DAB, 0x6F7E}, //5427 #CJK UNIFIED IDEOGRAPH
+  {0x9DAC, 0x6F7F}, //5428 #CJK UNIFIED IDEOGRAPH
+  {0x9DAD, 0x6F80}, //5429 #CJK UNIFIED IDEOGRAPH
+  {0x9DAE, 0x6F81}, //5430 #CJK UNIFIED IDEOGRAPH
+  {0x9DAF, 0x6F82}, //5431 #CJK UNIFIED IDEOGRAPH
+  {0x9DB0, 0x6F83}, //5432 #CJK UNIFIED IDEOGRAPH
+  {0x9DB1, 0x6F85}, //5433 #CJK UNIFIED IDEOGRAPH
+  {0x9DB2, 0x6F86}, //5434 #CJK UNIFIED IDEOGRAPH
+  {0x9DB3, 0x6F87}, //5435 #CJK UNIFIED IDEOGRAPH
+  {0x9DB4, 0x6F8A}, //5436 #CJK UNIFIED IDEOGRAPH
+  {0x9DB5, 0x6F8B}, //5437 #CJK UNIFIED IDEOGRAPH
+  {0x9DB6, 0x6F8F}, //5438 #CJK UNIFIED IDEOGRAPH
+  {0x9DB7, 0x6F90}, //5439 #CJK UNIFIED IDEOGRAPH
+  {0x9DB8, 0x6F91}, //5440 #CJK UNIFIED IDEOGRAPH
+  {0x9DB9, 0x6F92}, //5441 #CJK UNIFIED IDEOGRAPH
+  {0x9DBA, 0x6F93}, //5442 #CJK UNIFIED IDEOGRAPH
+  {0x9DBB, 0x6F94}, //5443 #CJK UNIFIED IDEOGRAPH
+  {0x9DBC, 0x6F95}, //5444 #CJK UNIFIED IDEOGRAPH
+  {0x9DBD, 0x6F96}, //5445 #CJK UNIFIED IDEOGRAPH
+  {0x9DBE, 0x6F97}, //5446 #CJK UNIFIED IDEOGRAPH
+  {0x9DBF, 0x6F98}, //5447 #CJK UNIFIED IDEOGRAPH
+  {0x9DC0, 0x6F99}, //5448 #CJK UNIFIED IDEOGRAPH
+  {0x9DC1, 0x6F9A}, //5449 #CJK UNIFIED IDEOGRAPH
+  {0x9DC2, 0x6F9B}, //5450 #CJK UNIFIED IDEOGRAPH
+  {0x9DC3, 0x6F9D}, //5451 #CJK UNIFIED IDEOGRAPH
+  {0x9DC4, 0x6F9E}, //5452 #CJK UNIFIED IDEOGRAPH
+  {0x9DC5, 0x6F9F}, //5453 #CJK UNIFIED IDEOGRAPH
+  {0x9DC6, 0x6FA0}, //5454 #CJK UNIFIED IDEOGRAPH
+  {0x9DC7, 0x6FA2}, //5455 #CJK UNIFIED IDEOGRAPH
+  {0x9DC8, 0x6FA3}, //5456 #CJK UNIFIED IDEOGRAPH
+  {0x9DC9, 0x6FA4}, //5457 #CJK UNIFIED IDEOGRAPH
+  {0x9DCA, 0x6FA5}, //5458 #CJK UNIFIED IDEOGRAPH
+  {0x9DCB, 0x6FA6}, //5459 #CJK UNIFIED IDEOGRAPH
+  {0x9DCC, 0x6FA8}, //5460 #CJK UNIFIED IDEOGRAPH
+  {0x9DCD, 0x6FA9}, //5461 #CJK UNIFIED IDEOGRAPH
+  {0x9DCE, 0x6FAA}, //5462 #CJK UNIFIED IDEOGRAPH
+  {0x9DCF, 0x6FAB}, //5463 #CJK UNIFIED IDEOGRAPH
+  {0x9DD0, 0x6FAC}, //5464 #CJK UNIFIED IDEOGRAPH
+  {0x9DD1, 0x6FAD}, //5465 #CJK UNIFIED IDEOGRAPH
+  {0x9DD2, 0x6FAE}, //5466 #CJK UNIFIED IDEOGRAPH
+  {0x9DD3, 0x6FAF}, //5467 #CJK UNIFIED IDEOGRAPH
+  {0x9DD4, 0x6FB0}, //5468 #CJK UNIFIED IDEOGRAPH
+  {0x9DD5, 0x6FB1}, //5469 #CJK UNIFIED IDEOGRAPH
+  {0x9DD6, 0x6FB2}, //5470 #CJK UNIFIED IDEOGRAPH
+  {0x9DD7, 0x6FB4}, //5471 #CJK UNIFIED IDEOGRAPH
+  {0x9DD8, 0x6FB5}, //5472 #CJK UNIFIED IDEOGRAPH
+  {0x9DD9, 0x6FB7}, //5473 #CJK UNIFIED IDEOGRAPH
+  {0x9DDA, 0x6FB8}, //5474 #CJK UNIFIED IDEOGRAPH
+  {0x9DDB, 0x6FBA}, //5475 #CJK UNIFIED IDEOGRAPH
+  {0x9DDC, 0x6FBB}, //5476 #CJK UNIFIED IDEOGRAPH
+  {0x9DDD, 0x6FBC}, //5477 #CJK UNIFIED IDEOGRAPH
+  {0x9DDE, 0x6FBD}, //5478 #CJK UNIFIED IDEOGRAPH
+  {0x9DDF, 0x6FBE}, //5479 #CJK UNIFIED IDEOGRAPH
+  {0x9DE0, 0x6FBF}, //5480 #CJK UNIFIED IDEOGRAPH
+  {0x9DE1, 0x6FC1}, //5481 #CJK UNIFIED IDEOGRAPH
+  {0x9DE2, 0x6FC3}, //5482 #CJK UNIFIED IDEOGRAPH
+  {0x9DE3, 0x6FC4}, //5483 #CJK UNIFIED IDEOGRAPH
+  {0x9DE4, 0x6FC5}, //5484 #CJK UNIFIED IDEOGRAPH
+  {0x9DE5, 0x6FC6}, //5485 #CJK UNIFIED IDEOGRAPH
+  {0x9DE6, 0x6FC7}, //5486 #CJK UNIFIED IDEOGRAPH
+  {0x9DE7, 0x6FC8}, //5487 #CJK UNIFIED IDEOGRAPH
+  {0x9DE8, 0x6FCA}, //5488 #CJK UNIFIED IDEOGRAPH
+  {0x9DE9, 0x6FCB}, //5489 #CJK UNIFIED IDEOGRAPH
+  {0x9DEA, 0x6FCC}, //5490 #CJK UNIFIED IDEOGRAPH
+  {0x9DEB, 0x6FCD}, //5491 #CJK UNIFIED IDEOGRAPH
+  {0x9DEC, 0x6FCE}, //5492 #CJK UNIFIED IDEOGRAPH
+  {0x9DED, 0x6FCF}, //5493 #CJK UNIFIED IDEOGRAPH
+  {0x9DEE, 0x6FD0}, //5494 #CJK UNIFIED IDEOGRAPH
+  {0x9DEF, 0x6FD3}, //5495 #CJK UNIFIED IDEOGRAPH
+  {0x9DF0, 0x6FD4}, //5496 #CJK UNIFIED IDEOGRAPH
+  {0x9DF1, 0x6FD5}, //5497 #CJK UNIFIED IDEOGRAPH
+  {0x9DF2, 0x6FD6}, //5498 #CJK UNIFIED IDEOGRAPH
+  {0x9DF3, 0x6FD7}, //5499 #CJK UNIFIED IDEOGRAPH
+  {0x9DF4, 0x6FD8}, //5500 #CJK UNIFIED IDEOGRAPH
+  {0x9DF5, 0x6FD9}, //5501 #CJK UNIFIED IDEOGRAPH
+  {0x9DF6, 0x6FDA}, //5502 #CJK UNIFIED IDEOGRAPH
+  {0x9DF7, 0x6FDB}, //5503 #CJK UNIFIED IDEOGRAPH
+  {0x9DF8, 0x6FDC}, //5504 #CJK UNIFIED IDEOGRAPH
+  {0x9DF9, 0x6FDD}, //5505 #CJK UNIFIED IDEOGRAPH
+  {0x9DFA, 0x6FDF}, //5506 #CJK UNIFIED IDEOGRAPH
+  {0x9DFB, 0x6FE2}, //5507 #CJK UNIFIED IDEOGRAPH
+  {0x9DFC, 0x6FE3}, //5508 #CJK UNIFIED IDEOGRAPH
+  {0x9DFD, 0x6FE4}, //5509 #CJK UNIFIED IDEOGRAPH
+  {0x9DFE, 0x6FE5}, //5510 #CJK UNIFIED IDEOGRAPH
+  {0x9E40, 0x6FE6}, //5511 #CJK UNIFIED IDEOGRAPH
+  {0x9E41, 0x6FE7}, //5512 #CJK UNIFIED IDEOGRAPH
+  {0x9E42, 0x6FE8}, //5513 #CJK UNIFIED IDEOGRAPH
+  {0x9E43, 0x6FE9}, //5514 #CJK UNIFIED IDEOGRAPH
+  {0x9E44, 0x6FEA}, //5515 #CJK UNIFIED IDEOGRAPH
+  {0x9E45, 0x6FEB}, //5516 #CJK UNIFIED IDEOGRAPH
+  {0x9E46, 0x6FEC}, //5517 #CJK UNIFIED IDEOGRAPH
+  {0x9E47, 0x6FED}, //5518 #CJK UNIFIED IDEOGRAPH
+  {0x9E48, 0x6FF0}, //5519 #CJK UNIFIED IDEOGRAPH
+  {0x9E49, 0x6FF1}, //5520 #CJK UNIFIED IDEOGRAPH
+  {0x9E4A, 0x6FF2}, //5521 #CJK UNIFIED IDEOGRAPH
+  {0x9E4B, 0x6FF3}, //5522 #CJK UNIFIED IDEOGRAPH
+  {0x9E4C, 0x6FF4}, //5523 #CJK UNIFIED IDEOGRAPH
+  {0x9E4D, 0x6FF5}, //5524 #CJK UNIFIED IDEOGRAPH
+  {0x9E4E, 0x6FF6}, //5525 #CJK UNIFIED IDEOGRAPH
+  {0x9E4F, 0x6FF7}, //5526 #CJK UNIFIED IDEOGRAPH
+  {0x9E50, 0x6FF8}, //5527 #CJK UNIFIED IDEOGRAPH
+  {0x9E51, 0x6FF9}, //5528 #CJK UNIFIED IDEOGRAPH
+  {0x9E52, 0x6FFA}, //5529 #CJK UNIFIED IDEOGRAPH
+  {0x9E53, 0x6FFB}, //5530 #CJK UNIFIED IDEOGRAPH
+  {0x9E54, 0x6FFC}, //5531 #CJK UNIFIED IDEOGRAPH
+  {0x9E55, 0x6FFD}, //5532 #CJK UNIFIED IDEOGRAPH
+  {0x9E56, 0x6FFE}, //5533 #CJK UNIFIED IDEOGRAPH
+  {0x9E57, 0x6FFF}, //5534 #CJK UNIFIED IDEOGRAPH
+  {0x9E58, 0x7000}, //5535 #CJK UNIFIED IDEOGRAPH
+  {0x9E59, 0x7001}, //5536 #CJK UNIFIED IDEOGRAPH
+  {0x9E5A, 0x7002}, //5537 #CJK UNIFIED IDEOGRAPH
+  {0x9E5B, 0x7003}, //5538 #CJK UNIFIED IDEOGRAPH
+  {0x9E5C, 0x7004}, //5539 #CJK UNIFIED IDEOGRAPH
+  {0x9E5D, 0x7005}, //5540 #CJK UNIFIED IDEOGRAPH
+  {0x9E5E, 0x7006}, //5541 #CJK UNIFIED IDEOGRAPH
+  {0x9E5F, 0x7007}, //5542 #CJK UNIFIED IDEOGRAPH
+  {0x9E60, 0x7008}, //5543 #CJK UNIFIED IDEOGRAPH
+  {0x9E61, 0x7009}, //5544 #CJK UNIFIED IDEOGRAPH
+  {0x9E62, 0x700A}, //5545 #CJK UNIFIED IDEOGRAPH
+  {0x9E63, 0x700B}, //5546 #CJK UNIFIED IDEOGRAPH
+  {0x9E64, 0x700C}, //5547 #CJK UNIFIED IDEOGRAPH
+  {0x9E65, 0x700D}, //5548 #CJK UNIFIED IDEOGRAPH
+  {0x9E66, 0x700E}, //5549 #CJK UNIFIED IDEOGRAPH
+  {0x9E67, 0x700F}, //5550 #CJK UNIFIED IDEOGRAPH
+  {0x9E68, 0x7010}, //5551 #CJK UNIFIED IDEOGRAPH
+  {0x9E69, 0x7012}, //5552 #CJK UNIFIED IDEOGRAPH
+  {0x9E6A, 0x7013}, //5553 #CJK UNIFIED IDEOGRAPH
+  {0x9E6B, 0x7014}, //5554 #CJK UNIFIED IDEOGRAPH
+  {0x9E6C, 0x7015}, //5555 #CJK UNIFIED IDEOGRAPH
+  {0x9E6D, 0x7016}, //5556 #CJK UNIFIED IDEOGRAPH
+  {0x9E6E, 0x7017}, //5557 #CJK UNIFIED IDEOGRAPH
+  {0x9E6F, 0x7018}, //5558 #CJK UNIFIED IDEOGRAPH
+  {0x9E70, 0x7019}, //5559 #CJK UNIFIED IDEOGRAPH
+  {0x9E71, 0x701C}, //5560 #CJK UNIFIED IDEOGRAPH
+  {0x9E72, 0x701D}, //5561 #CJK UNIFIED IDEOGRAPH
+  {0x9E73, 0x701E}, //5562 #CJK UNIFIED IDEOGRAPH
+  {0x9E74, 0x701F}, //5563 #CJK UNIFIED IDEOGRAPH
+  {0x9E75, 0x7020}, //5564 #CJK UNIFIED IDEOGRAPH
+  {0x9E76, 0x7021}, //5565 #CJK UNIFIED IDEOGRAPH
+  {0x9E77, 0x7022}, //5566 #CJK UNIFIED IDEOGRAPH
+  {0x9E78, 0x7024}, //5567 #CJK UNIFIED IDEOGRAPH
+  {0x9E79, 0x7025}, //5568 #CJK UNIFIED IDEOGRAPH
+  {0x9E7A, 0x7026}, //5569 #CJK UNIFIED IDEOGRAPH
+  {0x9E7B, 0x7027}, //5570 #CJK UNIFIED IDEOGRAPH
+  {0x9E7C, 0x7028}, //5571 #CJK UNIFIED IDEOGRAPH
+  {0x9E7D, 0x7029}, //5572 #CJK UNIFIED IDEOGRAPH
+  {0x9E7E, 0x702A}, //5573 #CJK UNIFIED IDEOGRAPH
+  {0x9E80, 0x702B}, //5574 #CJK UNIFIED IDEOGRAPH
+  {0x9E81, 0x702C}, //5575 #CJK UNIFIED IDEOGRAPH
+  {0x9E82, 0x702D}, //5576 #CJK UNIFIED IDEOGRAPH
+  {0x9E83, 0x702E}, //5577 #CJK UNIFIED IDEOGRAPH
+  {0x9E84, 0x702F}, //5578 #CJK UNIFIED IDEOGRAPH
+  {0x9E85, 0x7030}, //5579 #CJK UNIFIED IDEOGRAPH
+  {0x9E86, 0x7031}, //5580 #CJK UNIFIED IDEOGRAPH
+  {0x9E87, 0x7032}, //5581 #CJK UNIFIED IDEOGRAPH
+  {0x9E88, 0x7033}, //5582 #CJK UNIFIED IDEOGRAPH
+  {0x9E89, 0x7034}, //5583 #CJK UNIFIED IDEOGRAPH
+  {0x9E8A, 0x7036}, //5584 #CJK UNIFIED IDEOGRAPH
+  {0x9E8B, 0x7037}, //5585 #CJK UNIFIED IDEOGRAPH
+  {0x9E8C, 0x7038}, //5586 #CJK UNIFIED IDEOGRAPH
+  {0x9E8D, 0x703A}, //5587 #CJK UNIFIED IDEOGRAPH
+  {0x9E8E, 0x703B}, //5588 #CJK UNIFIED IDEOGRAPH
+  {0x9E8F, 0x703C}, //5589 #CJK UNIFIED IDEOGRAPH
+  {0x9E90, 0x703D}, //5590 #CJK UNIFIED IDEOGRAPH
+  {0x9E91, 0x703E}, //5591 #CJK UNIFIED IDEOGRAPH
+  {0x9E92, 0x703F}, //5592 #CJK UNIFIED IDEOGRAPH
+  {0x9E93, 0x7040}, //5593 #CJK UNIFIED IDEOGRAPH
+  {0x9E94, 0x7041}, //5594 #CJK UNIFIED IDEOGRAPH
+  {0x9E95, 0x7042}, //5595 #CJK UNIFIED IDEOGRAPH
+  {0x9E96, 0x7043}, //5596 #CJK UNIFIED IDEOGRAPH
+  {0x9E97, 0x7044}, //5597 #CJK UNIFIED IDEOGRAPH
+  {0x9E98, 0x7045}, //5598 #CJK UNIFIED IDEOGRAPH
+  {0x9E99, 0x7046}, //5599 #CJK UNIFIED IDEOGRAPH
+  {0x9E9A, 0x7047}, //5600 #CJK UNIFIED IDEOGRAPH
+  {0x9E9B, 0x7048}, //5601 #CJK UNIFIED IDEOGRAPH
+  {0x9E9C, 0x7049}, //5602 #CJK UNIFIED IDEOGRAPH
+  {0x9E9D, 0x704A}, //5603 #CJK UNIFIED IDEOGRAPH
+  {0x9E9E, 0x704B}, //5604 #CJK UNIFIED IDEOGRAPH
+  {0x9E9F, 0x704D}, //5605 #CJK UNIFIED IDEOGRAPH
+  {0x9EA0, 0x704E}, //5606 #CJK UNIFIED IDEOGRAPH
+  {0x9EA1, 0x7050}, //5607 #CJK UNIFIED IDEOGRAPH
+  {0x9EA2, 0x7051}, //5608 #CJK UNIFIED IDEOGRAPH
+  {0x9EA3, 0x7052}, //5609 #CJK UNIFIED IDEOGRAPH
+  {0x9EA4, 0x7053}, //5610 #CJK UNIFIED IDEOGRAPH
+  {0x9EA5, 0x7054}, //5611 #CJK UNIFIED IDEOGRAPH
+  {0x9EA6, 0x7055}, //5612 #CJK UNIFIED IDEOGRAPH
+  {0x9EA7, 0x7056}, //5613 #CJK UNIFIED IDEOGRAPH
+  {0x9EA8, 0x7057}, //5614 #CJK UNIFIED IDEOGRAPH
+  {0x9EA9, 0x7058}, //5615 #CJK UNIFIED IDEOGRAPH
+  {0x9EAA, 0x7059}, //5616 #CJK UNIFIED IDEOGRAPH
+  {0x9EAB, 0x705A}, //5617 #CJK UNIFIED IDEOGRAPH
+  {0x9EAC, 0x705B}, //5618 #CJK UNIFIED IDEOGRAPH
+  {0x9EAD, 0x705C}, //5619 #CJK UNIFIED IDEOGRAPH
+  {0x9EAE, 0x705D}, //5620 #CJK UNIFIED IDEOGRAPH
+  {0x9EAF, 0x705F}, //5621 #CJK UNIFIED IDEOGRAPH
+  {0x9EB0, 0x7060}, //5622 #CJK UNIFIED IDEOGRAPH
+  {0x9EB1, 0x7061}, //5623 #CJK UNIFIED IDEOGRAPH
+  {0x9EB2, 0x7062}, //5624 #CJK UNIFIED IDEOGRAPH
+  {0x9EB3, 0x7063}, //5625 #CJK UNIFIED IDEOGRAPH
+  {0x9EB4, 0x7064}, //5626 #CJK UNIFIED IDEOGRAPH
+  {0x9EB5, 0x7065}, //5627 #CJK UNIFIED IDEOGRAPH
+  {0x9EB6, 0x7066}, //5628 #CJK UNIFIED IDEOGRAPH
+  {0x9EB7, 0x7067}, //5629 #CJK UNIFIED IDEOGRAPH
+  {0x9EB8, 0x7068}, //5630 #CJK UNIFIED IDEOGRAPH
+  {0x9EB9, 0x7069}, //5631 #CJK UNIFIED IDEOGRAPH
+  {0x9EBA, 0x706A}, //5632 #CJK UNIFIED IDEOGRAPH
+  {0x9EBB, 0x706E}, //5633 #CJK UNIFIED IDEOGRAPH
+  {0x9EBC, 0x7071}, //5634 #CJK UNIFIED IDEOGRAPH
+  {0x9EBD, 0x7072}, //5635 #CJK UNIFIED IDEOGRAPH
+  {0x9EBE, 0x7073}, //5636 #CJK UNIFIED IDEOGRAPH
+  {0x9EBF, 0x7074}, //5637 #CJK UNIFIED IDEOGRAPH
+  {0x9EC0, 0x7077}, //5638 #CJK UNIFIED IDEOGRAPH
+  {0x9EC1, 0x7079}, //5639 #CJK UNIFIED IDEOGRAPH
+  {0x9EC2, 0x707A}, //5640 #CJK UNIFIED IDEOGRAPH
+  {0x9EC3, 0x707B}, //5641 #CJK UNIFIED IDEOGRAPH
+  {0x9EC4, 0x707D}, //5642 #CJK UNIFIED IDEOGRAPH
+  {0x9EC5, 0x7081}, //5643 #CJK UNIFIED IDEOGRAPH
+  {0x9EC6, 0x7082}, //5644 #CJK UNIFIED IDEOGRAPH
+  {0x9EC7, 0x7083}, //5645 #CJK UNIFIED IDEOGRAPH
+  {0x9EC8, 0x7084}, //5646 #CJK UNIFIED IDEOGRAPH
+  {0x9EC9, 0x7086}, //5647 #CJK UNIFIED IDEOGRAPH
+  {0x9ECA, 0x7087}, //5648 #CJK UNIFIED IDEOGRAPH
+  {0x9ECB, 0x7088}, //5649 #CJK UNIFIED IDEOGRAPH
+  {0x9ECC, 0x708B}, //5650 #CJK UNIFIED IDEOGRAPH
+  {0x9ECD, 0x708C}, //5651 #CJK UNIFIED IDEOGRAPH
+  {0x9ECE, 0x708D}, //5652 #CJK UNIFIED IDEOGRAPH
+  {0x9ECF, 0x708F}, //5653 #CJK UNIFIED IDEOGRAPH
+  {0x9ED0, 0x7090}, //5654 #CJK UNIFIED IDEOGRAPH
+  {0x9ED1, 0x7091}, //5655 #CJK UNIFIED IDEOGRAPH
+  {0x9ED2, 0x7093}, //5656 #CJK UNIFIED IDEOGRAPH
+  {0x9ED3, 0x7097}, //5657 #CJK UNIFIED IDEOGRAPH
+  {0x9ED4, 0x7098}, //5658 #CJK UNIFIED IDEOGRAPH
+  {0x9ED5, 0x709A}, //5659 #CJK UNIFIED IDEOGRAPH
+  {0x9ED6, 0x709B}, //5660 #CJK UNIFIED IDEOGRAPH
+  {0x9ED7, 0x709E}, //5661 #CJK UNIFIED IDEOGRAPH
+  {0x9ED8, 0x709F}, //5662 #CJK UNIFIED IDEOGRAPH
+  {0x9ED9, 0x70A0}, //5663 #CJK UNIFIED IDEOGRAPH
+  {0x9EDA, 0x70A1}, //5664 #CJK UNIFIED IDEOGRAPH
+  {0x9EDB, 0x70A2}, //5665 #CJK UNIFIED IDEOGRAPH
+  {0x9EDC, 0x70A3}, //5666 #CJK UNIFIED IDEOGRAPH
+  {0x9EDD, 0x70A4}, //5667 #CJK UNIFIED IDEOGRAPH
+  {0x9EDE, 0x70A5}, //5668 #CJK UNIFIED IDEOGRAPH
+  {0x9EDF, 0x70A6}, //5669 #CJK UNIFIED IDEOGRAPH
+  {0x9EE0, 0x70A7}, //5670 #CJK UNIFIED IDEOGRAPH
+  {0x9EE1, 0x70A8}, //5671 #CJK UNIFIED IDEOGRAPH
+  {0x9EE2, 0x70A9}, //5672 #CJK UNIFIED IDEOGRAPH
+  {0x9EE3, 0x70AA}, //5673 #CJK UNIFIED IDEOGRAPH
+  {0x9EE4, 0x70B0}, //5674 #CJK UNIFIED IDEOGRAPH
+  {0x9EE5, 0x70B2}, //5675 #CJK UNIFIED IDEOGRAPH
+  {0x9EE6, 0x70B4}, //5676 #CJK UNIFIED IDEOGRAPH
+  {0x9EE7, 0x70B5}, //5677 #CJK UNIFIED IDEOGRAPH
+  {0x9EE8, 0x70B6}, //5678 #CJK UNIFIED IDEOGRAPH
+  {0x9EE9, 0x70BA}, //5679 #CJK UNIFIED IDEOGRAPH
+  {0x9EEA, 0x70BE}, //5680 #CJK UNIFIED IDEOGRAPH
+  {0x9EEB, 0x70BF}, //5681 #CJK UNIFIED IDEOGRAPH
+  {0x9EEC, 0x70C4}, //5682 #CJK UNIFIED IDEOGRAPH
+  {0x9EED, 0x70C5}, //5683 #CJK UNIFIED IDEOGRAPH
+  {0x9EEE, 0x70C6}, //5684 #CJK UNIFIED IDEOGRAPH
+  {0x9EEF, 0x70C7}, //5685 #CJK UNIFIED IDEOGRAPH
+  {0x9EF0, 0x70C9}, //5686 #CJK UNIFIED IDEOGRAPH
+  {0x9EF1, 0x70CB}, //5687 #CJK UNIFIED IDEOGRAPH
+  {0x9EF2, 0x70CC}, //5688 #CJK UNIFIED IDEOGRAPH
+  {0x9EF3, 0x70CD}, //5689 #CJK UNIFIED IDEOGRAPH
+  {0x9EF4, 0x70CE}, //5690 #CJK UNIFIED IDEOGRAPH
+  {0x9EF5, 0x70CF}, //5691 #CJK UNIFIED IDEOGRAPH
+  {0x9EF6, 0x70D0}, //5692 #CJK UNIFIED IDEOGRAPH
+  {0x9EF7, 0x70D1}, //5693 #CJK UNIFIED IDEOGRAPH
+  {0x9EF8, 0x70D2}, //5694 #CJK UNIFIED IDEOGRAPH
+  {0x9EF9, 0x70D3}, //5695 #CJK UNIFIED IDEOGRAPH
+  {0x9EFA, 0x70D4}, //5696 #CJK UNIFIED IDEOGRAPH
+  {0x9EFB, 0x70D5}, //5697 #CJK UNIFIED IDEOGRAPH
+  {0x9EFC, 0x70D6}, //5698 #CJK UNIFIED IDEOGRAPH
+  {0x9EFD, 0x70D7}, //5699 #CJK UNIFIED IDEOGRAPH
+  {0x9EFE, 0x70DA}, //5700 #CJK UNIFIED IDEOGRAPH
+  {0x9F40, 0x70DC}, //5701 #CJK UNIFIED IDEOGRAPH
+  {0x9F41, 0x70DD}, //5702 #CJK UNIFIED IDEOGRAPH
+  {0x9F42, 0x70DE}, //5703 #CJK UNIFIED IDEOGRAPH
+  {0x9F43, 0x70E0}, //5704 #CJK UNIFIED IDEOGRAPH
+  {0x9F44, 0x70E1}, //5705 #CJK UNIFIED IDEOGRAPH
+  {0x9F45, 0x70E2}, //5706 #CJK UNIFIED IDEOGRAPH
+  {0x9F46, 0x70E3}, //5707 #CJK UNIFIED IDEOGRAPH
+  {0x9F47, 0x70E5}, //5708 #CJK UNIFIED IDEOGRAPH
+  {0x9F48, 0x70EA}, //5709 #CJK UNIFIED IDEOGRAPH
+  {0x9F49, 0x70EE}, //5710 #CJK UNIFIED IDEOGRAPH
+  {0x9F4A, 0x70F0}, //5711 #CJK UNIFIED IDEOGRAPH
+  {0x9F4B, 0x70F1}, //5712 #CJK UNIFIED IDEOGRAPH
+  {0x9F4C, 0x70F2}, //5713 #CJK UNIFIED IDEOGRAPH
+  {0x9F4D, 0x70F3}, //5714 #CJK UNIFIED IDEOGRAPH
+  {0x9F4E, 0x70F4}, //5715 #CJK UNIFIED IDEOGRAPH
+  {0x9F4F, 0x70F5}, //5716 #CJK UNIFIED IDEOGRAPH
+  {0x9F50, 0x70F6}, //5717 #CJK UNIFIED IDEOGRAPH
+  {0x9F51, 0x70F8}, //5718 #CJK UNIFIED IDEOGRAPH
+  {0x9F52, 0x70FA}, //5719 #CJK UNIFIED IDEOGRAPH
+  {0x9F53, 0x70FB}, //5720 #CJK UNIFIED IDEOGRAPH
+  {0x9F54, 0x70FC}, //5721 #CJK UNIFIED IDEOGRAPH
+  {0x9F55, 0x70FE}, //5722 #CJK UNIFIED IDEOGRAPH
+  {0x9F56, 0x70FF}, //5723 #CJK UNIFIED IDEOGRAPH
+  {0x9F57, 0x7100}, //5724 #CJK UNIFIED IDEOGRAPH
+  {0x9F58, 0x7101}, //5725 #CJK UNIFIED IDEOGRAPH
+  {0x9F59, 0x7102}, //5726 #CJK UNIFIED IDEOGRAPH
+  {0x9F5A, 0x7103}, //5727 #CJK UNIFIED IDEOGRAPH
+  {0x9F5B, 0x7104}, //5728 #CJK UNIFIED IDEOGRAPH
+  {0x9F5C, 0x7105}, //5729 #CJK UNIFIED IDEOGRAPH
+  {0x9F5D, 0x7106}, //5730 #CJK UNIFIED IDEOGRAPH
+  {0x9F5E, 0x7107}, //5731 #CJK UNIFIED IDEOGRAPH
+  {0x9F5F, 0x7108}, //5732 #CJK UNIFIED IDEOGRAPH
+  {0x9F60, 0x710B}, //5733 #CJK UNIFIED IDEOGRAPH
+  {0x9F61, 0x710C}, //5734 #CJK UNIFIED IDEOGRAPH
+  {0x9F62, 0x710D}, //5735 #CJK UNIFIED IDEOGRAPH
+  {0x9F63, 0x710E}, //5736 #CJK UNIFIED IDEOGRAPH
+  {0x9F64, 0x710F}, //5737 #CJK UNIFIED IDEOGRAPH
+  {0x9F65, 0x7111}, //5738 #CJK UNIFIED IDEOGRAPH
+  {0x9F66, 0x7112}, //5739 #CJK UNIFIED IDEOGRAPH
+  {0x9F67, 0x7114}, //5740 #CJK UNIFIED IDEOGRAPH
+  {0x9F68, 0x7117}, //5741 #CJK UNIFIED IDEOGRAPH
+  {0x9F69, 0x711B}, //5742 #CJK UNIFIED IDEOGRAPH
+  {0x9F6A, 0x711C}, //5743 #CJK UNIFIED IDEOGRAPH
+  {0x9F6B, 0x711D}, //5744 #CJK UNIFIED IDEOGRAPH
+  {0x9F6C, 0x711E}, //5745 #CJK UNIFIED IDEOGRAPH
+  {0x9F6D, 0x711F}, //5746 #CJK UNIFIED IDEOGRAPH
+  {0x9F6E, 0x7120}, //5747 #CJK UNIFIED IDEOGRAPH
+  {0x9F6F, 0x7121}, //5748 #CJK UNIFIED IDEOGRAPH
+  {0x9F70, 0x7122}, //5749 #CJK UNIFIED IDEOGRAPH
+  {0x9F71, 0x7123}, //5750 #CJK UNIFIED IDEOGRAPH
+  {0x9F72, 0x7124}, //5751 #CJK UNIFIED IDEOGRAPH
+  {0x9F73, 0x7125}, //5752 #CJK UNIFIED IDEOGRAPH
+  {0x9F74, 0x7127}, //5753 #CJK UNIFIED IDEOGRAPH
+  {0x9F75, 0x7128}, //5754 #CJK UNIFIED IDEOGRAPH
+  {0x9F76, 0x7129}, //5755 #CJK UNIFIED IDEOGRAPH
+  {0x9F77, 0x712A}, //5756 #CJK UNIFIED IDEOGRAPH
+  {0x9F78, 0x712B}, //5757 #CJK UNIFIED IDEOGRAPH
+  {0x9F79, 0x712C}, //5758 #CJK UNIFIED IDEOGRAPH
+  {0x9F7A, 0x712D}, //5759 #CJK UNIFIED IDEOGRAPH
+  {0x9F7B, 0x712E}, //5760 #CJK UNIFIED IDEOGRAPH
+  {0x9F7C, 0x7132}, //5761 #CJK UNIFIED IDEOGRAPH
+  {0x9F7D, 0x7133}, //5762 #CJK UNIFIED IDEOGRAPH
+  {0x9F7E, 0x7134}, //5763 #CJK UNIFIED IDEOGRAPH
+  {0x9F80, 0x7135}, //5764 #CJK UNIFIED IDEOGRAPH
+  {0x9F81, 0x7137}, //5765 #CJK UNIFIED IDEOGRAPH
+  {0x9F82, 0x7138}, //5766 #CJK UNIFIED IDEOGRAPH
+  {0x9F83, 0x7139}, //5767 #CJK UNIFIED IDEOGRAPH
+  {0x9F84, 0x713A}, //5768 #CJK UNIFIED IDEOGRAPH
+  {0x9F85, 0x713B}, //5769 #CJK UNIFIED IDEOGRAPH
+  {0x9F86, 0x713C}, //5770 #CJK UNIFIED IDEOGRAPH
+  {0x9F87, 0x713D}, //5771 #CJK UNIFIED IDEOGRAPH
+  {0x9F88, 0x713E}, //5772 #CJK UNIFIED IDEOGRAPH
+  {0x9F89, 0x713F}, //5773 #CJK UNIFIED IDEOGRAPH
+  {0x9F8A, 0x7140}, //5774 #CJK UNIFIED IDEOGRAPH
+  {0x9F8B, 0x7141}, //5775 #CJK UNIFIED IDEOGRAPH
+  {0x9F8C, 0x7142}, //5776 #CJK UNIFIED IDEOGRAPH
+  {0x9F8D, 0x7143}, //5777 #CJK UNIFIED IDEOGRAPH
+  {0x9F8E, 0x7144}, //5778 #CJK UNIFIED IDEOGRAPH
+  {0x9F8F, 0x7146}, //5779 #CJK UNIFIED IDEOGRAPH
+  {0x9F90, 0x7147}, //5780 #CJK UNIFIED IDEOGRAPH
+  {0x9F91, 0x7148}, //5781 #CJK UNIFIED IDEOGRAPH
+  {0x9F92, 0x7149}, //5782 #CJK UNIFIED IDEOGRAPH
+  {0x9F93, 0x714B}, //5783 #CJK UNIFIED IDEOGRAPH
+  {0x9F94, 0x714D}, //5784 #CJK UNIFIED IDEOGRAPH
+  {0x9F95, 0x714F}, //5785 #CJK UNIFIED IDEOGRAPH
+  {0x9F96, 0x7150}, //5786 #CJK UNIFIED IDEOGRAPH
+  {0x9F97, 0x7151}, //5787 #CJK UNIFIED IDEOGRAPH
+  {0x9F98, 0x7152}, //5788 #CJK UNIFIED IDEOGRAPH
+  {0x9F99, 0x7153}, //5789 #CJK UNIFIED IDEOGRAPH
+  {0x9F9A, 0x7154}, //5790 #CJK UNIFIED IDEOGRAPH
+  {0x9F9B, 0x7155}, //5791 #CJK UNIFIED IDEOGRAPH
+  {0x9F9C, 0x7156}, //5792 #CJK UNIFIED IDEOGRAPH
+  {0x9F9D, 0x7157}, //5793 #CJK UNIFIED IDEOGRAPH
+  {0x9F9E, 0x7158}, //5794 #CJK UNIFIED IDEOGRAPH
+  {0x9F9F, 0x7159}, //5795 #CJK UNIFIED IDEOGRAPH
+  {0x9FA0, 0x715A}, //5796 #CJK UNIFIED IDEOGRAPH
+  {0x9FA1, 0x715B}, //5797 #CJK UNIFIED IDEOGRAPH
+  {0x9FA2, 0x715D}, //5798 #CJK UNIFIED IDEOGRAPH
+  {0x9FA3, 0x715F}, //5799 #CJK UNIFIED IDEOGRAPH
+  {0x9FA4, 0x7160}, //5800 #CJK UNIFIED IDEOGRAPH
+  {0x9FA5, 0x7161}, //5801 #CJK UNIFIED IDEOGRAPH
+  {0x9FA6, 0x7162}, //5802 #CJK UNIFIED IDEOGRAPH
+  {0x9FA7, 0x7163}, //5803 #CJK UNIFIED IDEOGRAPH
+  {0x9FA8, 0x7165}, //5804 #CJK UNIFIED IDEOGRAPH
+  {0x9FA9, 0x7169}, //5805 #CJK UNIFIED IDEOGRAPH
+  {0x9FAA, 0x716A}, //5806 #CJK UNIFIED IDEOGRAPH
+  {0x9FAB, 0x716B}, //5807 #CJK UNIFIED IDEOGRAPH
+  {0x9FAC, 0x716C}, //5808 #CJK UNIFIED IDEOGRAPH
+  {0x9FAD, 0x716D}, //5809 #CJK UNIFIED IDEOGRAPH
+  {0x9FAE, 0x716F}, //5810 #CJK UNIFIED IDEOGRAPH
+  {0x9FAF, 0x7170}, //5811 #CJK UNIFIED IDEOGRAPH
+  {0x9FB0, 0x7171}, //5812 #CJK UNIFIED IDEOGRAPH
+  {0x9FB1, 0x7174}, //5813 #CJK UNIFIED IDEOGRAPH
+  {0x9FB2, 0x7175}, //5814 #CJK UNIFIED IDEOGRAPH
+  {0x9FB3, 0x7176}, //5815 #CJK UNIFIED IDEOGRAPH
+  {0x9FB4, 0x7177}, //5816 #CJK UNIFIED IDEOGRAPH
+  {0x9FB5, 0x7179}, //5817 #CJK UNIFIED IDEOGRAPH
+  {0x9FB6, 0x717B}, //5818 #CJK UNIFIED IDEOGRAPH
+  {0x9FB7, 0x717C}, //5819 #CJK UNIFIED IDEOGRAPH
+  {0x9FB8, 0x717E}, //5820 #CJK UNIFIED IDEOGRAPH
+  {0x9FB9, 0x717F}, //5821 #CJK UNIFIED IDEOGRAPH
+  {0x9FBA, 0x7180}, //5822 #CJK UNIFIED IDEOGRAPH
+  {0x9FBB, 0x7181}, //5823 #CJK UNIFIED IDEOGRAPH
+  {0x9FBC, 0x7182}, //5824 #CJK UNIFIED IDEOGRAPH
+  {0x9FBD, 0x7183}, //5825 #CJK UNIFIED IDEOGRAPH
+  {0x9FBE, 0x7185}, //5826 #CJK UNIFIED IDEOGRAPH
+  {0x9FBF, 0x7186}, //5827 #CJK UNIFIED IDEOGRAPH
+  {0x9FC0, 0x7187}, //5828 #CJK UNIFIED IDEOGRAPH
+  {0x9FC1, 0x7188}, //5829 #CJK UNIFIED IDEOGRAPH
+  {0x9FC2, 0x7189}, //5830 #CJK UNIFIED IDEOGRAPH
+  {0x9FC3, 0x718B}, //5831 #CJK UNIFIED IDEOGRAPH
+  {0x9FC4, 0x718C}, //5832 #CJK UNIFIED IDEOGRAPH
+  {0x9FC5, 0x718D}, //5833 #CJK UNIFIED IDEOGRAPH
+  {0x9FC6, 0x718E}, //5834 #CJK UNIFIED IDEOGRAPH
+  {0x9FC7, 0x7190}, //5835 #CJK UNIFIED IDEOGRAPH
+  {0x9FC8, 0x7191}, //5836 #CJK UNIFIED IDEOGRAPH
+  {0x9FC9, 0x7192}, //5837 #CJK UNIFIED IDEOGRAPH
+  {0x9FCA, 0x7193}, //5838 #CJK UNIFIED IDEOGRAPH
+  {0x9FCB, 0x7195}, //5839 #CJK UNIFIED IDEOGRAPH
+  {0x9FCC, 0x7196}, //5840 #CJK UNIFIED IDEOGRAPH
+  {0x9FCD, 0x7197}, //5841 #CJK UNIFIED IDEOGRAPH
+  {0x9FCE, 0x719A}, //5842 #CJK UNIFIED IDEOGRAPH
+  {0x9FCF, 0x719B}, //5843 #CJK UNIFIED IDEOGRAPH
+  {0x9FD0, 0x719C}, //5844 #CJK UNIFIED IDEOGRAPH
+  {0x9FD1, 0x719D}, //5845 #CJK UNIFIED IDEOGRAPH
+  {0x9FD2, 0x719E}, //5846 #CJK UNIFIED IDEOGRAPH
+  {0x9FD3, 0x71A1}, //5847 #CJK UNIFIED IDEOGRAPH
+  {0x9FD4, 0x71A2}, //5848 #CJK UNIFIED IDEOGRAPH
+  {0x9FD5, 0x71A3}, //5849 #CJK UNIFIED IDEOGRAPH
+  {0x9FD6, 0x71A4}, //5850 #CJK UNIFIED IDEOGRAPH
+  {0x9FD7, 0x71A5}, //5851 #CJK UNIFIED IDEOGRAPH
+  {0x9FD8, 0x71A6}, //5852 #CJK UNIFIED IDEOGRAPH
+  {0x9FD9, 0x71A7}, //5853 #CJK UNIFIED IDEOGRAPH
+  {0x9FDA, 0x71A9}, //5854 #CJK UNIFIED IDEOGRAPH
+  {0x9FDB, 0x71AA}, //5855 #CJK UNIFIED IDEOGRAPH
+  {0x9FDC, 0x71AB}, //5856 #CJK UNIFIED IDEOGRAPH
+  {0x9FDD, 0x71AD}, //5857 #CJK UNIFIED IDEOGRAPH
+  {0x9FDE, 0x71AE}, //5858 #CJK UNIFIED IDEOGRAPH
+  {0x9FDF, 0x71AF}, //5859 #CJK UNIFIED IDEOGRAPH
+  {0x9FE0, 0x71B0}, //5860 #CJK UNIFIED IDEOGRAPH
+  {0x9FE1, 0x71B1}, //5861 #CJK UNIFIED IDEOGRAPH
+  {0x9FE2, 0x71B2}, //5862 #CJK UNIFIED IDEOGRAPH
+  {0x9FE3, 0x71B4}, //5863 #CJK UNIFIED IDEOGRAPH
+  {0x9FE4, 0x71B6}, //5864 #CJK UNIFIED IDEOGRAPH
+  {0x9FE5, 0x71B7}, //5865 #CJK UNIFIED IDEOGRAPH
+  {0x9FE6, 0x71B8}, //5866 #CJK UNIFIED IDEOGRAPH
+  {0x9FE7, 0x71BA}, //5867 #CJK UNIFIED IDEOGRAPH
+  {0x9FE8, 0x71BB}, //5868 #CJK UNIFIED IDEOGRAPH
+  {0x9FE9, 0x71BC}, //5869 #CJK UNIFIED IDEOGRAPH
+  {0x9FEA, 0x71BD}, //5870 #CJK UNIFIED IDEOGRAPH
+  {0x9FEB, 0x71BE}, //5871 #CJK UNIFIED IDEOGRAPH
+  {0x9FEC, 0x71BF}, //5872 #CJK UNIFIED IDEOGRAPH
+  {0x9FED, 0x71C0}, //5873 #CJK UNIFIED IDEOGRAPH
+  {0x9FEE, 0x71C1}, //5874 #CJK UNIFIED IDEOGRAPH
+  {0x9FEF, 0x71C2}, //5875 #CJK UNIFIED IDEOGRAPH
+  {0x9FF0, 0x71C4}, //5876 #CJK UNIFIED IDEOGRAPH
+  {0x9FF1, 0x71C5}, //5877 #CJK UNIFIED IDEOGRAPH
+  {0x9FF2, 0x71C6}, //5878 #CJK UNIFIED IDEOGRAPH
+  {0x9FF3, 0x71C7}, //5879 #CJK UNIFIED IDEOGRAPH
+  {0x9FF4, 0x71C8}, //5880 #CJK UNIFIED IDEOGRAPH
+  {0x9FF5, 0x71C9}, //5881 #CJK UNIFIED IDEOGRAPH
+  {0x9FF6, 0x71CA}, //5882 #CJK UNIFIED IDEOGRAPH
+  {0x9FF7, 0x71CB}, //5883 #CJK UNIFIED IDEOGRAPH
+  {0x9FF8, 0x71CC}, //5884 #CJK UNIFIED IDEOGRAPH
+  {0x9FF9, 0x71CD}, //5885 #CJK UNIFIED IDEOGRAPH
+  {0x9FFA, 0x71CF}, //5886 #CJK UNIFIED IDEOGRAPH
+  {0x9FFB, 0x71D0}, //5887 #CJK UNIFIED IDEOGRAPH
+  {0x9FFC, 0x71D1}, //5888 #CJK UNIFIED IDEOGRAPH
+  {0x9FFD, 0x71D2}, //5889 #CJK UNIFIED IDEOGRAPH
+  {0x9FFE, 0x71D3}, //5890 #CJK UNIFIED IDEOGRAPH
+  {0xA040, 0x71D6}, //5891 #CJK UNIFIED IDEOGRAPH
+  {0xA041, 0x71D7}, //5892 #CJK UNIFIED IDEOGRAPH
+  {0xA042, 0x71D8}, //5893 #CJK UNIFIED IDEOGRAPH
+  {0xA043, 0x71D9}, //5894 #CJK UNIFIED IDEOGRAPH
+  {0xA044, 0x71DA}, //5895 #CJK UNIFIED IDEOGRAPH
+  {0xA045, 0x71DB}, //5896 #CJK UNIFIED IDEOGRAPH
+  {0xA046, 0x71DC}, //5897 #CJK UNIFIED IDEOGRAPH
+  {0xA047, 0x71DD}, //5898 #CJK UNIFIED IDEOGRAPH
+  {0xA048, 0x71DE}, //5899 #CJK UNIFIED IDEOGRAPH
+  {0xA049, 0x71DF}, //5900 #CJK UNIFIED IDEOGRAPH
+  {0xA04A, 0x71E1}, //5901 #CJK UNIFIED IDEOGRAPH
+  {0xA04B, 0x71E2}, //5902 #CJK UNIFIED IDEOGRAPH
+  {0xA04C, 0x71E3}, //5903 #CJK UNIFIED IDEOGRAPH
+  {0xA04D, 0x71E4}, //5904 #CJK UNIFIED IDEOGRAPH
+  {0xA04E, 0x71E6}, //5905 #CJK UNIFIED IDEOGRAPH
+  {0xA04F, 0x71E8}, //5906 #CJK UNIFIED IDEOGRAPH
+  {0xA050, 0x71E9}, //5907 #CJK UNIFIED IDEOGRAPH
+  {0xA051, 0x71EA}, //5908 #CJK UNIFIED IDEOGRAPH
+  {0xA052, 0x71EB}, //5909 #CJK UNIFIED IDEOGRAPH
+  {0xA053, 0x71EC}, //5910 #CJK UNIFIED IDEOGRAPH
+  {0xA054, 0x71ED}, //5911 #CJK UNIFIED IDEOGRAPH
+  {0xA055, 0x71EF}, //5912 #CJK UNIFIED IDEOGRAPH
+  {0xA056, 0x71F0}, //5913 #CJK UNIFIED IDEOGRAPH
+  {0xA057, 0x71F1}, //5914 #CJK UNIFIED IDEOGRAPH
+  {0xA058, 0x71F2}, //5915 #CJK UNIFIED IDEOGRAPH
+  {0xA059, 0x71F3}, //5916 #CJK UNIFIED IDEOGRAPH
+  {0xA05A, 0x71F4}, //5917 #CJK UNIFIED IDEOGRAPH
+  {0xA05B, 0x71F5}, //5918 #CJK UNIFIED IDEOGRAPH
+  {0xA05C, 0x71F6}, //5919 #CJK UNIFIED IDEOGRAPH
+  {0xA05D, 0x71F7}, //5920 #CJK UNIFIED IDEOGRAPH
+  {0xA05E, 0x71F8}, //5921 #CJK UNIFIED IDEOGRAPH
+  {0xA05F, 0x71FA}, //5922 #CJK UNIFIED IDEOGRAPH
+  {0xA060, 0x71FB}, //5923 #CJK UNIFIED IDEOGRAPH
+  {0xA061, 0x71FC}, //5924 #CJK UNIFIED IDEOGRAPH
+  {0xA062, 0x71FD}, //5925 #CJK UNIFIED IDEOGRAPH
+  {0xA063, 0x71FE}, //5926 #CJK UNIFIED IDEOGRAPH
+  {0xA064, 0x71FF}, //5927 #CJK UNIFIED IDEOGRAPH
+  {0xA065, 0x7200}, //5928 #CJK UNIFIED IDEOGRAPH
+  {0xA066, 0x7201}, //5929 #CJK UNIFIED IDEOGRAPH
+  {0xA067, 0x7202}, //5930 #CJK UNIFIED IDEOGRAPH
+  {0xA068, 0x7203}, //5931 #CJK UNIFIED IDEOGRAPH
+  {0xA069, 0x7204}, //5932 #CJK UNIFIED IDEOGRAPH
+  {0xA06A, 0x7205}, //5933 #CJK UNIFIED IDEOGRAPH
+  {0xA06B, 0x7207}, //5934 #CJK UNIFIED IDEOGRAPH
+  {0xA06C, 0x7208}, //5935 #CJK UNIFIED IDEOGRAPH
+  {0xA06D, 0x7209}, //5936 #CJK UNIFIED IDEOGRAPH
+  {0xA06E, 0x720A}, //5937 #CJK UNIFIED IDEOGRAPH
+  {0xA06F, 0x720B}, //5938 #CJK UNIFIED IDEOGRAPH
+  {0xA070, 0x720C}, //5939 #CJK UNIFIED IDEOGRAPH
+  {0xA071, 0x720D}, //5940 #CJK UNIFIED IDEOGRAPH
+  {0xA072, 0x720E}, //5941 #CJK UNIFIED IDEOGRAPH
+  {0xA073, 0x720F}, //5942 #CJK UNIFIED IDEOGRAPH
+  {0xA074, 0x7210}, //5943 #CJK UNIFIED IDEOGRAPH
+  {0xA075, 0x7211}, //5944 #CJK UNIFIED IDEOGRAPH
+  {0xA076, 0x7212}, //5945 #CJK UNIFIED IDEOGRAPH
+  {0xA077, 0x7213}, //5946 #CJK UNIFIED IDEOGRAPH
+  {0xA078, 0x7214}, //5947 #CJK UNIFIED IDEOGRAPH
+  {0xA079, 0x7215}, //5948 #CJK UNIFIED IDEOGRAPH
+  {0xA07A, 0x7216}, //5949 #CJK UNIFIED IDEOGRAPH
+  {0xA07B, 0x7217}, //5950 #CJK UNIFIED IDEOGRAPH
+  {0xA07C, 0x7218}, //5951 #CJK UNIFIED IDEOGRAPH
+  {0xA07D, 0x7219}, //5952 #CJK UNIFIED IDEOGRAPH
+  {0xA07E, 0x721A}, //5953 #CJK UNIFIED IDEOGRAPH
+  {0xA080, 0x721B}, //5954 #CJK UNIFIED IDEOGRAPH
+  {0xA081, 0x721C}, //5955 #CJK UNIFIED IDEOGRAPH
+  {0xA082, 0x721E}, //5956 #CJK UNIFIED IDEOGRAPH
+  {0xA083, 0x721F}, //5957 #CJK UNIFIED IDEOGRAPH
+  {0xA084, 0x7220}, //5958 #CJK UNIFIED IDEOGRAPH
+  {0xA085, 0x7221}, //5959 #CJK UNIFIED IDEOGRAPH
+  {0xA086, 0x7222}, //5960 #CJK UNIFIED IDEOGRAPH
+  {0xA087, 0x7223}, //5961 #CJK UNIFIED IDEOGRAPH
+  {0xA088, 0x7224}, //5962 #CJK UNIFIED IDEOGRAPH
+  {0xA089, 0x7225}, //5963 #CJK UNIFIED IDEOGRAPH
+  {0xA08A, 0x7226}, //5964 #CJK UNIFIED IDEOGRAPH
+  {0xA08B, 0x7227}, //5965 #CJK UNIFIED IDEOGRAPH
+  {0xA08C, 0x7229}, //5966 #CJK UNIFIED IDEOGRAPH
+  {0xA08D, 0x722B}, //5967 #CJK UNIFIED IDEOGRAPH
+  {0xA08E, 0x722D}, //5968 #CJK UNIFIED IDEOGRAPH
+  {0xA08F, 0x722E}, //5969 #CJK UNIFIED IDEOGRAPH
+  {0xA090, 0x722F}, //5970 #CJK UNIFIED IDEOGRAPH
+  {0xA091, 0x7232}, //5971 #CJK UNIFIED IDEOGRAPH
+  {0xA092, 0x7233}, //5972 #CJK UNIFIED IDEOGRAPH
+  {0xA093, 0x7234}, //5973 #CJK UNIFIED IDEOGRAPH
+  {0xA094, 0x723A}, //5974 #CJK UNIFIED IDEOGRAPH
+  {0xA095, 0x723C}, //5975 #CJK UNIFIED IDEOGRAPH
+  {0xA096, 0x723E}, //5976 #CJK UNIFIED IDEOGRAPH
+  {0xA097, 0x7240}, //5977 #CJK UNIFIED IDEOGRAPH
+  {0xA098, 0x7241}, //5978 #CJK UNIFIED IDEOGRAPH
+  {0xA099, 0x7242}, //5979 #CJK UNIFIED IDEOGRAPH
+  {0xA09A, 0x7243}, //5980 #CJK UNIFIED IDEOGRAPH
+  {0xA09B, 0x7244}, //5981 #CJK UNIFIED IDEOGRAPH
+  {0xA09C, 0x7245}, //5982 #CJK UNIFIED IDEOGRAPH
+  {0xA09D, 0x7246}, //5983 #CJK UNIFIED IDEOGRAPH
+  {0xA09E, 0x7249}, //5984 #CJK UNIFIED IDEOGRAPH
+  {0xA09F, 0x724A}, //5985 #CJK UNIFIED IDEOGRAPH
+  {0xA0A0, 0x724B}, //5986 #CJK UNIFIED IDEOGRAPH
+  {0xA0A1, 0x724E}, //5987 #CJK UNIFIED IDEOGRAPH
+  {0xA0A2, 0x724F}, //5988 #CJK UNIFIED IDEOGRAPH
+  {0xA0A3, 0x7250}, //5989 #CJK UNIFIED IDEOGRAPH
+  {0xA0A4, 0x7251}, //5990 #CJK UNIFIED IDEOGRAPH
+  {0xA0A5, 0x7253}, //5991 #CJK UNIFIED IDEOGRAPH
+  {0xA0A6, 0x7254}, //5992 #CJK UNIFIED IDEOGRAPH
+  {0xA0A7, 0x7255}, //5993 #CJK UNIFIED IDEOGRAPH
+  {0xA0A8, 0x7257}, //5994 #CJK UNIFIED IDEOGRAPH
+  {0xA0A9, 0x7258}, //5995 #CJK UNIFIED IDEOGRAPH
+  {0xA0AA, 0x725A}, //5996 #CJK UNIFIED IDEOGRAPH
+  {0xA0AB, 0x725C}, //5997 #CJK UNIFIED IDEOGRAPH
+  {0xA0AC, 0x725E}, //5998 #CJK UNIFIED IDEOGRAPH
+  {0xA0AD, 0x7260}, //5999 #CJK UNIFIED IDEOGRAPH
+  {0xA0AE, 0x7263}, //6000 #CJK UNIFIED IDEOGRAPH
+  {0xA0AF, 0x7264}, //6001 #CJK UNIFIED IDEOGRAPH
+  {0xA0B0, 0x7265}, //6002 #CJK UNIFIED IDEOGRAPH
+  {0xA0B1, 0x7268}, //6003 #CJK UNIFIED IDEOGRAPH
+  {0xA0B2, 0x726A}, //6004 #CJK UNIFIED IDEOGRAPH
+  {0xA0B3, 0x726B}, //6005 #CJK UNIFIED IDEOGRAPH
+  {0xA0B4, 0x726C}, //6006 #CJK UNIFIED IDEOGRAPH
+  {0xA0B5, 0x726D}, //6007 #CJK UNIFIED IDEOGRAPH
+  {0xA0B6, 0x7270}, //6008 #CJK UNIFIED IDEOGRAPH
+  {0xA0B7, 0x7271}, //6009 #CJK UNIFIED IDEOGRAPH
+  {0xA0B8, 0x7273}, //6010 #CJK UNIFIED IDEOGRAPH
+  {0xA0B9, 0x7274}, //6011 #CJK UNIFIED IDEOGRAPH
+  {0xA0BA, 0x7276}, //6012 #CJK UNIFIED IDEOGRAPH
+  {0xA0BB, 0x7277}, //6013 #CJK UNIFIED IDEOGRAPH
+  {0xA0BC, 0x7278}, //6014 #CJK UNIFIED IDEOGRAPH
+  {0xA0BD, 0x727B}, //6015 #CJK UNIFIED IDEOGRAPH
+  {0xA0BE, 0x727C}, //6016 #CJK UNIFIED IDEOGRAPH
+  {0xA0BF, 0x727D}, //6017 #CJK UNIFIED IDEOGRAPH
+  {0xA0C0, 0x7282}, //6018 #CJK UNIFIED IDEOGRAPH
+  {0xA0C1, 0x7283}, //6019 #CJK UNIFIED IDEOGRAPH
+  {0xA0C2, 0x7285}, //6020 #CJK UNIFIED IDEOGRAPH
+  {0xA0C3, 0x7286}, //6021 #CJK UNIFIED IDEOGRAPH
+  {0xA0C4, 0x7287}, //6022 #CJK UNIFIED IDEOGRAPH
+  {0xA0C5, 0x7288}, //6023 #CJK UNIFIED IDEOGRAPH
+  {0xA0C6, 0x7289}, //6024 #CJK UNIFIED IDEOGRAPH
+  {0xA0C7, 0x728C}, //6025 #CJK UNIFIED IDEOGRAPH
+  {0xA0C8, 0x728E}, //6026 #CJK UNIFIED IDEOGRAPH
+  {0xA0C9, 0x7290}, //6027 #CJK UNIFIED IDEOGRAPH
+  {0xA0CA, 0x7291}, //6028 #CJK UNIFIED IDEOGRAPH
+  {0xA0CB, 0x7293}, //6029 #CJK UNIFIED IDEOGRAPH
+  {0xA0CC, 0x7294}, //6030 #CJK UNIFIED IDEOGRAPH
+  {0xA0CD, 0x7295}, //6031 #CJK UNIFIED IDEOGRAPH
+  {0xA0CE, 0x7296}, //6032 #CJK UNIFIED IDEOGRAPH
+  {0xA0CF, 0x7297}, //6033 #CJK UNIFIED IDEOGRAPH
+  {0xA0D0, 0x7298}, //6034 #CJK UNIFIED IDEOGRAPH
+  {0xA0D1, 0x7299}, //6035 #CJK UNIFIED IDEOGRAPH
+  {0xA0D2, 0x729A}, //6036 #CJK UNIFIED IDEOGRAPH
+  {0xA0D3, 0x729B}, //6037 #CJK UNIFIED IDEOGRAPH
+  {0xA0D4, 0x729C}, //6038 #CJK UNIFIED IDEOGRAPH
+  {0xA0D5, 0x729D}, //6039 #CJK UNIFIED IDEOGRAPH
+  {0xA0D6, 0x729E}, //6040 #CJK UNIFIED IDEOGRAPH
+  {0xA0D7, 0x72A0}, //6041 #CJK UNIFIED IDEOGRAPH
+  {0xA0D8, 0x72A1}, //6042 #CJK UNIFIED IDEOGRAPH
+  {0xA0D9, 0x72A2}, //6043 #CJK UNIFIED IDEOGRAPH
+  {0xA0DA, 0x72A3}, //6044 #CJK UNIFIED IDEOGRAPH
+  {0xA0DB, 0x72A4}, //6045 #CJK UNIFIED IDEOGRAPH
+  {0xA0DC, 0x72A5}, //6046 #CJK UNIFIED IDEOGRAPH
+  {0xA0DD, 0x72A6}, //6047 #CJK UNIFIED IDEOGRAPH
+  {0xA0DE, 0x72A7}, //6048 #CJK UNIFIED IDEOGRAPH
+  {0xA0DF, 0x72A8}, //6049 #CJK UNIFIED IDEOGRAPH
+  {0xA0E0, 0x72A9}, //6050 #CJK UNIFIED IDEOGRAPH
+  {0xA0E1, 0x72AA}, //6051 #CJK UNIFIED IDEOGRAPH
+  {0xA0E2, 0x72AB}, //6052 #CJK UNIFIED IDEOGRAPH
+  {0xA0E3, 0x72AE}, //6053 #CJK UNIFIED IDEOGRAPH
+  {0xA0E4, 0x72B1}, //6054 #CJK UNIFIED IDEOGRAPH
+  {0xA0E5, 0x72B2}, //6055 #CJK UNIFIED IDEOGRAPH
+  {0xA0E6, 0x72B3}, //6056 #CJK UNIFIED IDEOGRAPH
+  {0xA0E7, 0x72B5}, //6057 #CJK UNIFIED IDEOGRAPH
+  {0xA0E8, 0x72BA}, //6058 #CJK UNIFIED IDEOGRAPH
+  {0xA0E9, 0x72BB}, //6059 #CJK UNIFIED IDEOGRAPH
+  {0xA0EA, 0x72BC}, //6060 #CJK UNIFIED IDEOGRAPH
+  {0xA0EB, 0x72BD}, //6061 #CJK UNIFIED IDEOGRAPH
+  {0xA0EC, 0x72BE}, //6062 #CJK UNIFIED IDEOGRAPH
+  {0xA0ED, 0x72BF}, //6063 #CJK UNIFIED IDEOGRAPH
+  {0xA0EE, 0x72C0}, //6064 #CJK UNIFIED IDEOGRAPH
+  {0xA0EF, 0x72C5}, //6065 #CJK UNIFIED IDEOGRAPH
+  {0xA0F0, 0x72C6}, //6066 #CJK UNIFIED IDEOGRAPH
+  {0xA0F1, 0x72C7}, //6067 #CJK UNIFIED IDEOGRAPH
+  {0xA0F2, 0x72C9}, //6068 #CJK UNIFIED IDEOGRAPH
+  {0xA0F3, 0x72CA}, //6069 #CJK UNIFIED IDEOGRAPH
+  {0xA0F4, 0x72CB}, //6070 #CJK UNIFIED IDEOGRAPH
+  {0xA0F5, 0x72CC}, //6071 #CJK UNIFIED IDEOGRAPH
+  {0xA0F6, 0x72CF}, //6072 #CJK UNIFIED IDEOGRAPH
+  {0xA0F7, 0x72D1}, //6073 #CJK UNIFIED IDEOGRAPH
+  {0xA0F8, 0x72D3}, //6074 #CJK UNIFIED IDEOGRAPH
+  {0xA0F9, 0x72D4}, //6075 #CJK UNIFIED IDEOGRAPH
+  {0xA0FA, 0x72D5}, //6076 #CJK UNIFIED IDEOGRAPH
+  {0xA0FB, 0x72D6}, //6077 #CJK UNIFIED IDEOGRAPH
+  {0xA0FC, 0x72D8}, //6078 #CJK UNIFIED IDEOGRAPH
+  {0xA0FD, 0x72DA}, //6079 #CJK UNIFIED IDEOGRAPH
+  {0xA0FE, 0x72DB}, //6080 #CJK UNIFIED IDEOGRAPH
+  {0xA1A1, 0x3000}, //6081 #IDEOGRAPHIC SPACE
+  {0xA1A2, 0x3001}, //6082 #IDEOGRAPHIC COMMA
+  {0xA1A3, 0x3002}, //6083 #IDEOGRAPHIC FULL STOP
+  {0xA1A4, 0x00B7}, //6084 #MIDDLE DOT
+  {0xA1A5, 0x02C9}, //6085 #MODIFIER LETTER MACRON
+  {0xA1A6, 0x02C7}, //6086 #CARON
+  {0xA1A7, 0x00A8}, //6087 #DIAERESIS
+  {0xA1A8, 0x3003}, //6088 #DITTO MARK
+  {0xA1A9, 0x3005}, //6089 #IDEOGRAPHIC ITERATION MARK
+  {0xA1AA, 0x2014}, //6090 #EM DASH
+  {0xA1AB, 0xFF5E}, //6091 #FULLWIDTH TILDE
+  {0xA1AC, 0x2016}, //6092 #DOUBLE VERTICAL LINE
+  {0xA1AD, 0x2026}, //6093 #HORIZONTAL ELLIPSIS
+  {0xA1AE, 0x2018}, //6094 #LEFT SINGLE QUOTATION MARK
+  {0xA1AF, 0x2019}, //6095 #RIGHT SINGLE QUOTATION MARK
+  {0xA1B0, 0x201C}, //6096 #LEFT DOUBLE QUOTATION MARK
+  {0xA1B1, 0x201D}, //6097 #RIGHT DOUBLE QUOTATION MARK
+  {0xA1B2, 0x3014}, //6098 #LEFT TORTOISE SHELL BRACKET
+  {0xA1B3, 0x3015}, //6099 #RIGHT TORTOISE SHELL BRACKET
+  {0xA1B4, 0x3008}, //6100 #LEFT ANGLE BRACKET
+  {0xA1B5, 0x3009}, //6101 #RIGHT ANGLE BRACKET
+  {0xA1B6, 0x300A}, //6102 #LEFT DOUBLE ANGLE BRACKET
+  {0xA1B7, 0x300B}, //6103 #RIGHT DOUBLE ANGLE BRACKET
+  {0xA1B8, 0x300C}, //6104 #LEFT CORNER BRACKET
+  {0xA1B9, 0x300D}, //6105 #RIGHT CORNER BRACKET
+  {0xA1BA, 0x300E}, //6106 #LEFT WHITE CORNER BRACKET
+  {0xA1BB, 0x300F}, //6107 #RIGHT WHITE CORNER BRACKET
+  {0xA1BC, 0x3016}, //6108 #LEFT WHITE LENTICULAR BRACKET
+  {0xA1BD, 0x3017}, //6109 #RIGHT WHITE LENTICULAR BRACKET
+  {0xA1BE, 0x3010}, //6110 #LEFT BLACK LENTICULAR BRACKET
+  {0xA1BF, 0x3011}, //6111 #RIGHT BLACK LENTICULAR BRACKET
+  {0xA1C0, 0x00B1}, //6112 #PLUS-MINUS SIGN
+  {0xA1C1, 0x00D7}, //6113 #MULTIPLICATION SIGN
+  {0xA1C2, 0x00F7}, //6114 #DIVISION SIGN
+  {0xA1C3, 0x2236}, //6115 #RATIO
+  {0xA1C4, 0x2227}, //6116 #LOGICAL AND
+  {0xA1C5, 0x2228}, //6117 #LOGICAL OR
+  {0xA1C6, 0x2211}, //6118 #N-ARY SUMMATION
+  {0xA1C7, 0x220F}, //6119 #N-ARY PRODUCT
+  {0xA1C8, 0x222A}, //6120 #UNION
+  {0xA1C9, 0x2229}, //6121 #INTERSECTION
+  {0xA1CA, 0x2208}, //6122 #ELEMENT OF
+  {0xA1CB, 0x2237}, //6123 #PROPORTION
+  {0xA1CC, 0x221A}, //6124 #SQUARE ROOT
+  {0xA1CD, 0x22A5}, //6125 #UP TACK
+  {0xA1CE, 0x2225}, //6126 #PARALLEL TO
+  {0xA1CF, 0x2220}, //6127 #ANGLE
+  {0xA1D0, 0x2312}, //6128 #ARC
+  {0xA1D1, 0x2299}, //6129 #CIRCLED DOT OPERATOR
+  {0xA1D2, 0x222B}, //6130 #INTEGRAL
+  {0xA1D3, 0x222E}, //6131 #CONTOUR INTEGRAL
+  {0xA1D4, 0x2261}, //6132 #IDENTICAL TO
+  {0xA1D5, 0x224C}, //6133 #ALL EQUAL TO
+  {0xA1D6, 0x2248}, //6134 #ALMOST EQUAL TO
+  {0xA1D7, 0x223D}, //6135 #REVERSED TILDE
+  {0xA1D8, 0x221D}, //6136 #PROPORTIONAL TO
+  {0xA1D9, 0x2260}, //6137 #NOT EQUAL TO
+  {0xA1DA, 0x226E}, //6138 #NOT LESS-THAN
+  {0xA1DB, 0x226F}, //6139 #NOT GREATER-THAN
+  {0xA1DC, 0x2264}, //6140 #LESS-THAN OR EQUAL TO
+  {0xA1DD, 0x2265}, //6141 #GREATER-THAN OR EQUAL TO
+  {0xA1DE, 0x221E}, //6142 #INFINITY
+  {0xA1DF, 0x2235}, //6143 #BECAUSE
+  {0xA1E0, 0x2234}, //6144 #THEREFORE
+  {0xA1E1, 0x2642}, //6145 #MALE SIGN
+  {0xA1E2, 0x2640}, //6146 #FEMALE SIGN
+  {0xA1E3, 0x00B0}, //6147 #DEGREE SIGN
+  {0xA1E4, 0x2032}, //6148 #PRIME
+  {0xA1E5, 0x2033}, //6149 #DOUBLE PRIME
+  {0xA1E6, 0x2103}, //6150 #DEGREE CELSIUS
+  {0xA1E7, 0xFF04}, //6151 #FULLWIDTH DOLLAR SIGN
+  {0xA1E8, 0x00A4}, //6152 #CURRENCY SIGN
+  {0xA1E9, 0xFFE0}, //6153 #FULLWIDTH CENT SIGN
+  {0xA1EA, 0xFFE1}, //6154 #FULLWIDTH POUND SIGN
+  {0xA1EB, 0x2030}, //6155 #PER MILLE SIGN
+  {0xA1EC, 0x00A7}, //6156 #SECTION SIGN
+  {0xA1ED, 0x2116}, //6157 #NUMERO SIGN
+  {0xA1EE, 0x2606}, //6158 #WHITE STAR
+  {0xA1EF, 0x2605}, //6159 #BLACK STAR
+  {0xA1F0, 0x25CB}, //6160 #WHITE CIRCLE
+  {0xA1F1, 0x25CF}, //6161 #BLACK CIRCLE
+  {0xA1F2, 0x25CE}, //6162 #BULLSEYE
+  {0xA1F3, 0x25C7}, //6163 #WHITE DIAMOND
+  {0xA1F4, 0x25C6}, //6164 #BLACK DIAMOND
+  {0xA1F5, 0x25A1}, //6165 #WHITE SQUARE
+  {0xA1F6, 0x25A0}, //6166 #BLACK SQUARE
+  {0xA1F7, 0x25B3}, //6167 #WHITE UP-POINTING TRIANGLE
+  {0xA1F8, 0x25B2}, //6168 #BLACK UP-POINTING TRIANGLE
+  {0xA1F9, 0x203B}, //6169 #REFERENCE MARK
+  {0xA1FA, 0x2192}, //6170 #RIGHTWARDS ARROW
+  {0xA1FB, 0x2190}, //6171 #LEFTWARDS ARROW
+  {0xA1FC, 0x2191}, //6172 #UPWARDS ARROW
+  {0xA1FD, 0x2193}, //6173 #DOWNWARDS ARROW
+  {0xA1FE, 0x3013}, //6174 #GETA MARK
+  {0xA2A1, 0x2170}, //6175 #SMALL ROMAN NUMERAL ONE
+  {0xA2A2, 0x2171}, //6176 #SMALL ROMAN NUMERAL TWO
+  {0xA2A3, 0x2172}, //6177 #SMALL ROMAN NUMERAL THREE
+  {0xA2A4, 0x2173}, //6178 #SMALL ROMAN NUMERAL FOUR
+  {0xA2A5, 0x2174}, //6179 #SMALL ROMAN NUMERAL FIVE
+  {0xA2A6, 0x2175}, //6180 #SMALL ROMAN NUMERAL SIX
+  {0xA2A7, 0x2176}, //6181 #SMALL ROMAN NUMERAL SEVEN
+  {0xA2A8, 0x2177}, //6182 #SMALL ROMAN NUMERAL EIGHT
+  {0xA2A9, 0x2178}, //6183 #SMALL ROMAN NUMERAL NINE
+  {0xA2AA, 0x2179}, //6184 #SMALL ROMAN NUMERAL TEN
+  {0xA2B1, 0x2488}, //6185 #DIGIT ONE FULL STOP
+  {0xA2B2, 0x2489}, //6186 #DIGIT TWO FULL STOP
+  {0xA2B3, 0x248A}, //6187 #DIGIT THREE FULL STOP
+  {0xA2B4, 0x248B}, //6188 #DIGIT FOUR FULL STOP
+  {0xA2B5, 0x248C}, //6189 #DIGIT FIVE FULL STOP
+  {0xA2B6, 0x248D}, //6190 #DIGIT SIX FULL STOP
+  {0xA2B7, 0x248E}, //6191 #DIGIT SEVEN FULL STOP
+  {0xA2B8, 0x248F}, //6192 #DIGIT EIGHT FULL STOP
+  {0xA2B9, 0x2490}, //6193 #DIGIT NINE FULL STOP
+  {0xA2BA, 0x2491}, //6194 #NUMBER TEN FULL STOP
+  {0xA2BB, 0x2492}, //6195 #NUMBER ELEVEN FULL STOP
+  {0xA2BC, 0x2493}, //6196 #NUMBER TWELVE FULL STOP
+  {0xA2BD, 0x2494}, //6197 #NUMBER THIRTEEN FULL STOP
+  {0xA2BE, 0x2495}, //6198 #NUMBER FOURTEEN FULL STOP
+  {0xA2BF, 0x2496}, //6199 #NUMBER FIFTEEN FULL STOP
+  {0xA2C0, 0x2497}, //6200 #NUMBER SIXTEEN FULL STOP
+  {0xA2C1, 0x2498}, //6201 #NUMBER SEVENTEEN FULL STOP
+  {0xA2C2, 0x2499}, //6202 #NUMBER EIGHTEEN FULL STOP
+  {0xA2C3, 0x249A}, //6203 #NUMBER NINETEEN FULL STOP
+  {0xA2C4, 0x249B}, //6204 #NUMBER TWENTY FULL STOP
+  {0xA2C5, 0x2474}, //6205 #PARENTHESIZED DIGIT ONE
+  {0xA2C6, 0x2475}, //6206 #PARENTHESIZED DIGIT TWO
+  {0xA2C7, 0x2476}, //6207 #PARENTHESIZED DIGIT THREE
+  {0xA2C8, 0x2477}, //6208 #PARENTHESIZED DIGIT FOUR
+  {0xA2C9, 0x2478}, //6209 #PARENTHESIZED DIGIT FIVE
+  {0xA2CA, 0x2479}, //6210 #PARENTHESIZED DIGIT SIX
+  {0xA2CB, 0x247A}, //6211 #PARENTHESIZED DIGIT SEVEN
+  {0xA2CC, 0x247B}, //6212 #PARENTHESIZED DIGIT EIGHT
+  {0xA2CD, 0x247C}, //6213 #PARENTHESIZED DIGIT NINE
+  {0xA2CE, 0x247D}, //6214 #PARENTHESIZED NUMBER TEN
+  {0xA2CF, 0x247E}, //6215 #PARENTHESIZED NUMBER ELEVEN
+  {0xA2D0, 0x247F}, //6216 #PARENTHESIZED NUMBER TWELVE
+  {0xA2D1, 0x2480}, //6217 #PARENTHESIZED NUMBER THIRTEEN
+  {0xA2D2, 0x2481}, //6218 #PARENTHESIZED NUMBER FOURTEEN
+  {0xA2D3, 0x2482}, //6219 #PARENTHESIZED NUMBER FIFTEEN
+  {0xA2D4, 0x2483}, //6220 #PARENTHESIZED NUMBER SIXTEEN
+  {0xA2D5, 0x2484}, //6221 #PARENTHESIZED NUMBER SEVENTEEN
+  {0xA2D6, 0x2485}, //6222 #PARENTHESIZED NUMBER EIGHTEEN
+  {0xA2D7, 0x2486}, //6223 #PARENTHESIZED NUMBER NINETEEN
+  {0xA2D8, 0x2487}, //6224 #PARENTHESIZED NUMBER TWENTY
+  {0xA2D9, 0x2460}, //6225 #CIRCLED DIGIT ONE
+  {0xA2DA, 0x2461}, //6226 #CIRCLED DIGIT TWO
+  {0xA2DB, 0x2462}, //6227 #CIRCLED DIGIT THREE
+  {0xA2DC, 0x2463}, //6228 #CIRCLED DIGIT FOUR
+  {0xA2DD, 0x2464}, //6229 #CIRCLED DIGIT FIVE
+  {0xA2DE, 0x2465}, //6230 #CIRCLED DIGIT SIX
+  {0xA2DF, 0x2466}, //6231 #CIRCLED DIGIT SEVEN
+  {0xA2E0, 0x2467}, //6232 #CIRCLED DIGIT EIGHT
+  {0xA2E1, 0x2468}, //6233 #CIRCLED DIGIT NINE
+  {0xA2E2, 0x2469}, //6234 #CIRCLED NUMBER TEN
+  {0xA2E5, 0x3220}, //6235 #PARENTHESIZED IDEOGRAPH ONE
+  {0xA2E6, 0x3221}, //6236 #PARENTHESIZED IDEOGRAPH TWO
+  {0xA2E7, 0x3222}, //6237 #PARENTHESIZED IDEOGRAPH THREE
+  {0xA2E8, 0x3223}, //6238 #PARENTHESIZED IDEOGRAPH FOUR
+  {0xA2E9, 0x3224}, //6239 #PARENTHESIZED IDEOGRAPH FIVE
+  {0xA2EA, 0x3225}, //6240 #PARENTHESIZED IDEOGRAPH SIX
+  {0xA2EB, 0x3226}, //6241 #PARENTHESIZED IDEOGRAPH SEVEN
+  {0xA2EC, 0x3227}, //6242 #PARENTHESIZED IDEOGRAPH EIGHT
+  {0xA2ED, 0x3228}, //6243 #PARENTHESIZED IDEOGRAPH NINE
+  {0xA2EE, 0x3229}, //6244 #PARENTHESIZED IDEOGRAPH TEN
+  {0xA2F1, 0x2160}, //6245 #ROMAN NUMERAL ONE
+  {0xA2F2, 0x2161}, //6246 #ROMAN NUMERAL TWO
+  {0xA2F3, 0x2162}, //6247 #ROMAN NUMERAL THREE
+  {0xA2F4, 0x2163}, //6248 #ROMAN NUMERAL FOUR
+  {0xA2F5, 0x2164}, //6249 #ROMAN NUMERAL FIVE
+  {0xA2F6, 0x2165}, //6250 #ROMAN NUMERAL SIX
+  {0xA2F7, 0x2166}, //6251 #ROMAN NUMERAL SEVEN
+  {0xA2F8, 0x2167}, //6252 #ROMAN NUMERAL EIGHT
+  {0xA2F9, 0x2168}, //6253 #ROMAN NUMERAL NINE
+  {0xA2FA, 0x2169}, //6254 #ROMAN NUMERAL TEN
+  {0xA2FB, 0x216A}, //6255 #ROMAN NUMERAL ELEVEN
+  {0xA2FC, 0x216B}, //6256 #ROMAN NUMERAL TWELVE
+  {0xA3A1, 0xFF01}, //6257 #FULLWIDTH EXCLAMATION MARK
+  {0xA3A2, 0xFF02}, //6258 #FULLWIDTH QUOTATION MARK
+  {0xA3A3, 0xFF03}, //6259 #FULLWIDTH NUMBER SIGN
+  {0xA3A4, 0xFFE5}, //6260 #FULLWIDTH YEN SIGN
+  {0xA3A5, 0xFF05}, //6261 #FULLWIDTH PERCENT SIGN
+  {0xA3A6, 0xFF06}, //6262 #FULLWIDTH AMPERSAND
+  {0xA3A7, 0xFF07}, //6263 #FULLWIDTH APOSTROPHE
+  {0xA3A8, 0xFF08}, //6264 #FULLWIDTH LEFT PARENTHESIS
+  {0xA3A9, 0xFF09}, //6265 #FULLWIDTH RIGHT PARENTHESIS
+  {0xA3AA, 0xFF0A}, //6266 #FULLWIDTH ASTERISK
+  {0xA3AB, 0xFF0B}, //6267 #FULLWIDTH PLUS SIGN
+  {0xA3AC, 0xFF0C}, //6268 #FULLWIDTH COMMA
+  {0xA3AD, 0xFF0D}, //6269 #FULLWIDTH HYPHEN-MINUS
+  {0xA3AE, 0xFF0E}, //6270 #FULLWIDTH FULL STOP
+  {0xA3AF, 0xFF0F}, //6271 #FULLWIDTH SOLIDUS
+  {0xA3B0, 0xFF10}, //6272 #FULLWIDTH DIGIT ZERO
+  {0xA3B1, 0xFF11}, //6273 #FULLWIDTH DIGIT ONE
+  {0xA3B2, 0xFF12}, //6274 #FULLWIDTH DIGIT TWO
+  {0xA3B3, 0xFF13}, //6275 #FULLWIDTH DIGIT THREE
+  {0xA3B4, 0xFF14}, //6276 #FULLWIDTH DIGIT FOUR
+  {0xA3B5, 0xFF15}, //6277 #FULLWIDTH DIGIT FIVE
+  {0xA3B6, 0xFF16}, //6278 #FULLWIDTH DIGIT SIX
+  {0xA3B7, 0xFF17}, //6279 #FULLWIDTH DIGIT SEVEN
+  {0xA3B8, 0xFF18}, //6280 #FULLWIDTH DIGIT EIGHT
+  {0xA3B9, 0xFF19}, //6281 #FULLWIDTH DIGIT NINE
+  {0xA3BA, 0xFF1A}, //6282 #FULLWIDTH COLON
+  {0xA3BB, 0xFF1B}, //6283 #FULLWIDTH SEMICOLON
+  {0xA3BC, 0xFF1C}, //6284 #FULLWIDTH LESS-THAN SIGN
+  {0xA3BD, 0xFF1D}, //6285 #FULLWIDTH EQUALS SIGN
+  {0xA3BE, 0xFF1E}, //6286 #FULLWIDTH GREATER-THAN SIGN
+  {0xA3BF, 0xFF1F}, //6287 #FULLWIDTH QUESTION MARK
+  {0xA3C0, 0xFF20}, //6288 #FULLWIDTH COMMERCIAL AT
+  {0xA3C1, 0xFF21}, //6289 #FULLWIDTH LATIN CAPITAL LETTER A
+  {0xA3C2, 0xFF22}, //6290 #FULLWIDTH LATIN CAPITAL LETTER B
+  {0xA3C3, 0xFF23}, //6291 #FULLWIDTH LATIN CAPITAL LETTER C
+  {0xA3C4, 0xFF24}, //6292 #FULLWIDTH LATIN CAPITAL LETTER D
+  {0xA3C5, 0xFF25}, //6293 #FULLWIDTH LATIN CAPITAL LETTER E
+  {0xA3C6, 0xFF26}, //6294 #FULLWIDTH LATIN CAPITAL LETTER F
+  {0xA3C7, 0xFF27}, //6295 #FULLWIDTH LATIN CAPITAL LETTER G
+  {0xA3C8, 0xFF28}, //6296 #FULLWIDTH LATIN CAPITAL LETTER H
+  {0xA3C9, 0xFF29}, //6297 #FULLWIDTH LATIN CAPITAL LETTER I
+  {0xA3CA, 0xFF2A}, //6298 #FULLWIDTH LATIN CAPITAL LETTER J
+  {0xA3CB, 0xFF2B}, //6299 #FULLWIDTH LATIN CAPITAL LETTER K
+  {0xA3CC, 0xFF2C}, //6300 #FULLWIDTH LATIN CAPITAL LETTER L
+  {0xA3CD, 0xFF2D}, //6301 #FULLWIDTH LATIN CAPITAL LETTER M
+  {0xA3CE, 0xFF2E}, //6302 #FULLWIDTH LATIN CAPITAL LETTER N
+  {0xA3CF, 0xFF2F}, //6303 #FULLWIDTH LATIN CAPITAL LETTER O
+  {0xA3D0, 0xFF30}, //6304 #FULLWIDTH LATIN CAPITAL LETTER P
+  {0xA3D1, 0xFF31}, //6305 #FULLWIDTH LATIN CAPITAL LETTER Q
+  {0xA3D2, 0xFF32}, //6306 #FULLWIDTH LATIN CAPITAL LETTER R
+  {0xA3D3, 0xFF33}, //6307 #FULLWIDTH LATIN CAPITAL LETTER S
+  {0xA3D4, 0xFF34}, //6308 #FULLWIDTH LATIN CAPITAL LETTER T
+  {0xA3D5, 0xFF35}, //6309 #FULLWIDTH LATIN CAPITAL LETTER U
+  {0xA3D6, 0xFF36}, //6310 #FULLWIDTH LATIN CAPITAL LETTER V
+  {0xA3D7, 0xFF37}, //6311 #FULLWIDTH LATIN CAPITAL LETTER W
+  {0xA3D8, 0xFF38}, //6312 #FULLWIDTH LATIN CAPITAL LETTER X
+  {0xA3D9, 0xFF39}, //6313 #FULLWIDTH LATIN CAPITAL LETTER Y
+  {0xA3DA, 0xFF3A}, //6314 #FULLWIDTH LATIN CAPITAL LETTER Z
+  {0xA3DB, 0xFF3B}, //6315 #FULLWIDTH LEFT SQUARE BRACKET
+  {0xA3DC, 0xFF3C}, //6316 #FULLWIDTH REVERSE SOLIDUS
+  {0xA3DD, 0xFF3D}, //6317 #FULLWIDTH RIGHT SQUARE BRACKET
+  {0xA3DE, 0xFF3E}, //6318 #FULLWIDTH CIRCUMFLEX ACCENT
+  {0xA3DF, 0xFF3F}, //6319 #FULLWIDTH LOW LINE
+  {0xA3E0, 0xFF40}, //6320 #FULLWIDTH GRAVE ACCENT
+  {0xA3E1, 0xFF41}, //6321 #FULLWIDTH LATIN SMALL LETTER A
+  {0xA3E2, 0xFF42}, //6322 #FULLWIDTH LATIN SMALL LETTER B
+  {0xA3E3, 0xFF43}, //6323 #FULLWIDTH LATIN SMALL LETTER C
+  {0xA3E4, 0xFF44}, //6324 #FULLWIDTH LATIN SMALL LETTER D
+  {0xA3E5, 0xFF45}, //6325 #FULLWIDTH LATIN SMALL LETTER E
+  {0xA3E6, 0xFF46}, //6326 #FULLWIDTH LATIN SMALL LETTER F
+  {0xA3E7, 0xFF47}, //6327 #FULLWIDTH LATIN SMALL LETTER G
+  {0xA3E8, 0xFF48}, //6328 #FULLWIDTH LATIN SMALL LETTER H
+  {0xA3E9, 0xFF49}, //6329 #FULLWIDTH LATIN SMALL LETTER I
+  {0xA3EA, 0xFF4A}, //6330 #FULLWIDTH LATIN SMALL LETTER J
+  {0xA3EB, 0xFF4B}, //6331 #FULLWIDTH LATIN SMALL LETTER K
+  {0xA3EC, 0xFF4C}, //6332 #FULLWIDTH LATIN SMALL LETTER L
+  {0xA3ED, 0xFF4D}, //6333 #FULLWIDTH LATIN SMALL LETTER M
+  {0xA3EE, 0xFF4E}, //6334 #FULLWIDTH LATIN SMALL LETTER N
+  {0xA3EF, 0xFF4F}, //6335 #FULLWIDTH LATIN SMALL LETTER O
+  {0xA3F0, 0xFF50}, //6336 #FULLWIDTH LATIN SMALL LETTER P
+  {0xA3F1, 0xFF51}, //6337 #FULLWIDTH LATIN SMALL LETTER Q
+  {0xA3F2, 0xFF52}, //6338 #FULLWIDTH LATIN SMALL LETTER R
+  {0xA3F3, 0xFF53}, //6339 #FULLWIDTH LATIN SMALL LETTER S
+  {0xA3F4, 0xFF54}, //6340 #FULLWIDTH LATIN SMALL LETTER T
+  {0xA3F5, 0xFF55}, //6341 #FULLWIDTH LATIN SMALL LETTER U
+  {0xA3F6, 0xFF56}, //6342 #FULLWIDTH LATIN SMALL LETTER V
+  {0xA3F7, 0xFF57}, //6343 #FULLWIDTH LATIN SMALL LETTER W
+  {0xA3F8, 0xFF58}, //6344 #FULLWIDTH LATIN SMALL LETTER X
+  {0xA3F9, 0xFF59}, //6345 #FULLWIDTH LATIN SMALL LETTER Y
+  {0xA3FA, 0xFF5A}, //6346 #FULLWIDTH LATIN SMALL LETTER Z
+  {0xA3FB, 0xFF5B}, //6347 #FULLWIDTH LEFT CURLY BRACKET
+  {0xA3FC, 0xFF5C}, //6348 #FULLWIDTH VERTICAL LINE
+  {0xA3FD, 0xFF5D}, //6349 #FULLWIDTH RIGHT CURLY BRACKET
+  {0xA3FE, 0xFFE3}, //6350 #FULLWIDTH MACRON
+  {0xA4A1, 0x3041}, //6351 #HIRAGANA LETTER SMALL A
+  {0xA4A2, 0x3042}, //6352 #HIRAGANA LETTER A
+  {0xA4A3, 0x3043}, //6353 #HIRAGANA LETTER SMALL I
+  {0xA4A4, 0x3044}, //6354 #HIRAGANA LETTER I
+  {0xA4A5, 0x3045}, //6355 #HIRAGANA LETTER SMALL U
+  {0xA4A6, 0x3046}, //6356 #HIRAGANA LETTER U
+  {0xA4A7, 0x3047}, //6357 #HIRAGANA LETTER SMALL E
+  {0xA4A8, 0x3048}, //6358 #HIRAGANA LETTER E
+  {0xA4A9, 0x3049}, //6359 #HIRAGANA LETTER SMALL O
+  {0xA4AA, 0x304A}, //6360 #HIRAGANA LETTER O
+  {0xA4AB, 0x304B}, //6361 #HIRAGANA LETTER KA
+  {0xA4AC, 0x304C}, //6362 #HIRAGANA LETTER GA
+  {0xA4AD, 0x304D}, //6363 #HIRAGANA LETTER KI
+  {0xA4AE, 0x304E}, //6364 #HIRAGANA LETTER GI
+  {0xA4AF, 0x304F}, //6365 #HIRAGANA LETTER KU
+  {0xA4B0, 0x3050}, //6366 #HIRAGANA LETTER GU
+  {0xA4B1, 0x3051}, //6367 #HIRAGANA LETTER KE
+  {0xA4B2, 0x3052}, //6368 #HIRAGANA LETTER GE
+  {0xA4B3, 0x3053}, //6369 #HIRAGANA LETTER KO
+  {0xA4B4, 0x3054}, //6370 #HIRAGANA LETTER GO
+  {0xA4B5, 0x3055}, //6371 #HIRAGANA LETTER SA
+  {0xA4B6, 0x3056}, //6372 #HIRAGANA LETTER ZA
+  {0xA4B7, 0x3057}, //6373 #HIRAGANA LETTER SI
+  {0xA4B8, 0x3058}, //6374 #HIRAGANA LETTER ZI
+  {0xA4B9, 0x3059}, //6375 #HIRAGANA LETTER SU
+  {0xA4BA, 0x305A}, //6376 #HIRAGANA LETTER ZU
+  {0xA4BB, 0x305B}, //6377 #HIRAGANA LETTER SE
+  {0xA4BC, 0x305C}, //6378 #HIRAGANA LETTER ZE
+  {0xA4BD, 0x305D}, //6379 #HIRAGANA LETTER SO
+  {0xA4BE, 0x305E}, //6380 #HIRAGANA LETTER ZO
+  {0xA4BF, 0x305F}, //6381 #HIRAGANA LETTER TA
+  {0xA4C0, 0x3060}, //6382 #HIRAGANA LETTER DA
+  {0xA4C1, 0x3061}, //6383 #HIRAGANA LETTER TI
+  {0xA4C2, 0x3062}, //6384 #HIRAGANA LETTER DI
+  {0xA4C3, 0x3063}, //6385 #HIRAGANA LETTER SMALL TU
+  {0xA4C4, 0x3064}, //6386 #HIRAGANA LETTER TU
+  {0xA4C5, 0x3065}, //6387 #HIRAGANA LETTER DU
+  {0xA4C6, 0x3066}, //6388 #HIRAGANA LETTER TE
+  {0xA4C7, 0x3067}, //6389 #HIRAGANA LETTER DE
+  {0xA4C8, 0x3068}, //6390 #HIRAGANA LETTER TO
+  {0xA4C9, 0x3069}, //6391 #HIRAGANA LETTER DO
+  {0xA4CA, 0x306A}, //6392 #HIRAGANA LETTER NA
+  {0xA4CB, 0x306B}, //6393 #HIRAGANA LETTER NI
+  {0xA4CC, 0x306C}, //6394 #HIRAGANA LETTER NU
+  {0xA4CD, 0x306D}, //6395 #HIRAGANA LETTER NE
+  {0xA4CE, 0x306E}, //6396 #HIRAGANA LETTER NO
+  {0xA4CF, 0x306F}, //6397 #HIRAGANA LETTER HA
+  {0xA4D0, 0x3070}, //6398 #HIRAGANA LETTER BA
+  {0xA4D1, 0x3071}, //6399 #HIRAGANA LETTER PA
+  {0xA4D2, 0x3072}, //6400 #HIRAGANA LETTER HI
+  {0xA4D3, 0x3073}, //6401 #HIRAGANA LETTER BI
+  {0xA4D4, 0x3074}, //6402 #HIRAGANA LETTER PI
+  {0xA4D5, 0x3075}, //6403 #HIRAGANA LETTER HU
+  {0xA4D6, 0x3076}, //6404 #HIRAGANA LETTER BU
+  {0xA4D7, 0x3077}, //6405 #HIRAGANA LETTER PU
+  {0xA4D8, 0x3078}, //6406 #HIRAGANA LETTER HE
+  {0xA4D9, 0x3079}, //6407 #HIRAGANA LETTER BE
+  {0xA4DA, 0x307A}, //6408 #HIRAGANA LETTER PE
+  {0xA4DB, 0x307B}, //6409 #HIRAGANA LETTER HO
+  {0xA4DC, 0x307C}, //6410 #HIRAGANA LETTER BO
+  {0xA4DD, 0x307D}, //6411 #HIRAGANA LETTER PO
+  {0xA4DE, 0x307E}, //6412 #HIRAGANA LETTER MA
+  {0xA4DF, 0x307F}, //6413 #HIRAGANA LETTER MI
+  {0xA4E0, 0x3080}, //6414 #HIRAGANA LETTER MU
+  {0xA4E1, 0x3081}, //6415 #HIRAGANA LETTER ME
+  {0xA4E2, 0x3082}, //6416 #HIRAGANA LETTER MO
+  {0xA4E3, 0x3083}, //6417 #HIRAGANA LETTER SMALL YA
+  {0xA4E4, 0x3084}, //6418 #HIRAGANA LETTER YA
+  {0xA4E5, 0x3085}, //6419 #HIRAGANA LETTER SMALL YU
+  {0xA4E6, 0x3086}, //6420 #HIRAGANA LETTER YU
+  {0xA4E7, 0x3087}, //6421 #HIRAGANA LETTER SMALL YO
+  {0xA4E8, 0x3088}, //6422 #HIRAGANA LETTER YO
+  {0xA4E9, 0x3089}, //6423 #HIRAGANA LETTER RA
+  {0xA4EA, 0x308A}, //6424 #HIRAGANA LETTER RI
+  {0xA4EB, 0x308B}, //6425 #HIRAGANA LETTER RU
+  {0xA4EC, 0x308C}, //6426 #HIRAGANA LETTER RE
+  {0xA4ED, 0x308D}, //6427 #HIRAGANA LETTER RO
+  {0xA4EE, 0x308E}, //6428 #HIRAGANA LETTER SMALL WA
+  {0xA4EF, 0x308F}, //6429 #HIRAGANA LETTER WA
+  {0xA4F0, 0x3090}, //6430 #HIRAGANA LETTER WI
+  {0xA4F1, 0x3091}, //6431 #HIRAGANA LETTER WE
+  {0xA4F2, 0x3092}, //6432 #HIRAGANA LETTER WO
+  {0xA4F3, 0x3093}, //6433 #HIRAGANA LETTER N
+  {0xA5A1, 0x30A1}, //6434 #KATAKANA LETTER SMALL A
+  {0xA5A2, 0x30A2}, //6435 #KATAKANA LETTER A
+  {0xA5A3, 0x30A3}, //6436 #KATAKANA LETTER SMALL I
+  {0xA5A4, 0x30A4}, //6437 #KATAKANA LETTER I
+  {0xA5A5, 0x30A5}, //6438 #KATAKANA LETTER SMALL U
+  {0xA5A6, 0x30A6}, //6439 #KATAKANA LETTER U
+  {0xA5A7, 0x30A7}, //6440 #KATAKANA LETTER SMALL E
+  {0xA5A8, 0x30A8}, //6441 #KATAKANA LETTER E
+  {0xA5A9, 0x30A9}, //6442 #KATAKANA LETTER SMALL O
+  {0xA5AA, 0x30AA}, //6443 #KATAKANA LETTER O
+  {0xA5AB, 0x30AB}, //6444 #KATAKANA LETTER KA
+  {0xA5AC, 0x30AC}, //6445 #KATAKANA LETTER GA
+  {0xA5AD, 0x30AD}, //6446 #KATAKANA LETTER KI
+  {0xA5AE, 0x30AE}, //6447 #KATAKANA LETTER GI
+  {0xA5AF, 0x30AF}, //6448 #KATAKANA LETTER KU
+  {0xA5B0, 0x30B0}, //6449 #KATAKANA LETTER GU
+  {0xA5B1, 0x30B1}, //6450 #KATAKANA LETTER KE
+  {0xA5B2, 0x30B2}, //6451 #KATAKANA LETTER GE
+  {0xA5B3, 0x30B3}, //6452 #KATAKANA LETTER KO
+  {0xA5B4, 0x30B4}, //6453 #KATAKANA LETTER GO
+  {0xA5B5, 0x30B5}, //6454 #KATAKANA LETTER SA
+  {0xA5B6, 0x30B6}, //6455 #KATAKANA LETTER ZA
+  {0xA5B7, 0x30B7}, //6456 #KATAKANA LETTER SI
+  {0xA5B8, 0x30B8}, //6457 #KATAKANA LETTER ZI
+  {0xA5B9, 0x30B9}, //6458 #KATAKANA LETTER SU
+  {0xA5BA, 0x30BA}, //6459 #KATAKANA LETTER ZU
+  {0xA5BB, 0x30BB}, //6460 #KATAKANA LETTER SE
+  {0xA5BC, 0x30BC}, //6461 #KATAKANA LETTER ZE
+  {0xA5BD, 0x30BD}, //6462 #KATAKANA LETTER SO
+  {0xA5BE, 0x30BE}, //6463 #KATAKANA LETTER ZO
+  {0xA5BF, 0x30BF}, //6464 #KATAKANA LETTER TA
+  {0xA5C0, 0x30C0}, //6465 #KATAKANA LETTER DA
+  {0xA5C1, 0x30C1}, //6466 #KATAKANA LETTER TI
+  {0xA5C2, 0x30C2}, //6467 #KATAKANA LETTER DI
+  {0xA5C3, 0x30C3}, //6468 #KATAKANA LETTER SMALL TU
+  {0xA5C4, 0x30C4}, //6469 #KATAKANA LETTER TU
+  {0xA5C5, 0x30C5}, //6470 #KATAKANA LETTER DU
+  {0xA5C6, 0x30C6}, //6471 #KATAKANA LETTER TE
+  {0xA5C7, 0x30C7}, //6472 #KATAKANA LETTER DE
+  {0xA5C8, 0x30C8}, //6473 #KATAKANA LETTER TO
+  {0xA5C9, 0x30C9}, //6474 #KATAKANA LETTER DO
+  {0xA5CA, 0x30CA}, //6475 #KATAKANA LETTER NA
+  {0xA5CB, 0x30CB}, //6476 #KATAKANA LETTER NI
+  {0xA5CC, 0x30CC}, //6477 #KATAKANA LETTER NU
+  {0xA5CD, 0x30CD}, //6478 #KATAKANA LETTER NE
+  {0xA5CE, 0x30CE}, //6479 #KATAKANA LETTER NO
+  {0xA5CF, 0x30CF}, //6480 #KATAKANA LETTER HA
+  {0xA5D0, 0x30D0}, //6481 #KATAKANA LETTER BA
+  {0xA5D1, 0x30D1}, //6482 #KATAKANA LETTER PA
+  {0xA5D2, 0x30D2}, //6483 #KATAKANA LETTER HI
+  {0xA5D3, 0x30D3}, //6484 #KATAKANA LETTER BI
+  {0xA5D4, 0x30D4}, //6485 #KATAKANA LETTER PI
+  {0xA5D5, 0x30D5}, //6486 #KATAKANA LETTER HU
+  {0xA5D6, 0x30D6}, //6487 #KATAKANA LETTER BU
+  {0xA5D7, 0x30D7}, //6488 #KATAKANA LETTER PU
+  {0xA5D8, 0x30D8}, //6489 #KATAKANA LETTER HE
+  {0xA5D9, 0x30D9}, //6490 #KATAKANA LETTER BE
+  {0xA5DA, 0x30DA}, //6491 #KATAKANA LETTER PE
+  {0xA5DB, 0x30DB}, //6492 #KATAKANA LETTER HO
+  {0xA5DC, 0x30DC}, //6493 #KATAKANA LETTER BO
+  {0xA5DD, 0x30DD}, //6494 #KATAKANA LETTER PO
+  {0xA5DE, 0x30DE}, //6495 #KATAKANA LETTER MA
+  {0xA5DF, 0x30DF}, //6496 #KATAKANA LETTER MI
+  {0xA5E0, 0x30E0}, //6497 #KATAKANA LETTER MU
+  {0xA5E1, 0x30E1}, //6498 #KATAKANA LETTER ME
+  {0xA5E2, 0x30E2}, //6499 #KATAKANA LETTER MO
+  {0xA5E3, 0x30E3}, //6500 #KATAKANA LETTER SMALL YA
+  {0xA5E4, 0x30E4}, //6501 #KATAKANA LETTER YA
+  {0xA5E5, 0x30E5}, //6502 #KATAKANA LETTER SMALL YU
+  {0xA5E6, 0x30E6}, //6503 #KATAKANA LETTER YU
+  {0xA5E7, 0x30E7}, //6504 #KATAKANA LETTER SMALL YO
+  {0xA5E8, 0x30E8}, //6505 #KATAKANA LETTER YO
+  {0xA5E9, 0x30E9}, //6506 #KATAKANA LETTER RA
+  {0xA5EA, 0x30EA}, //6507 #KATAKANA LETTER RI
+  {0xA5EB, 0x30EB}, //6508 #KATAKANA LETTER RU
+  {0xA5EC, 0x30EC}, //6509 #KATAKANA LETTER RE
+  {0xA5ED, 0x30ED}, //6510 #KATAKANA LETTER RO
+  {0xA5EE, 0x30EE}, //6511 #KATAKANA LETTER SMALL WA
+  {0xA5EF, 0x30EF}, //6512 #KATAKANA LETTER WA
+  {0xA5F0, 0x30F0}, //6513 #KATAKANA LETTER WI
+  {0xA5F1, 0x30F1}, //6514 #KATAKANA LETTER WE
+  {0xA5F2, 0x30F2}, //6515 #KATAKANA LETTER WO
+  {0xA5F3, 0x30F3}, //6516 #KATAKANA LETTER N
+  {0xA5F4, 0x30F4}, //6517 #KATAKANA LETTER VU
+  {0xA5F5, 0x30F5}, //6518 #KATAKANA LETTER SMALL KA
+  {0xA5F6, 0x30F6}, //6519 #KATAKANA LETTER SMALL KE
+  {0xA6A1, 0x0391}, //6520 #GREEK CAPITAL LETTER ALPHA
+  {0xA6A2, 0x0392}, //6521 #GREEK CAPITAL LETTER BETA
+  {0xA6A3, 0x0393}, //6522 #GREEK CAPITAL LETTER GAMMA
+  {0xA6A4, 0x0394}, //6523 #GREEK CAPITAL LETTER DELTA
+  {0xA6A5, 0x0395}, //6524 #GREEK CAPITAL LETTER EPSILON
+  {0xA6A6, 0x0396}, //6525 #GREEK CAPITAL LETTER ZETA
+  {0xA6A7, 0x0397}, //6526 #GREEK CAPITAL LETTER ETA
+  {0xA6A8, 0x0398}, //6527 #GREEK CAPITAL LETTER THETA
+  {0xA6A9, 0x0399}, //6528 #GREEK CAPITAL LETTER IOTA
+  {0xA6AA, 0x039A}, //6529 #GREEK CAPITAL LETTER KAPPA
+  {0xA6AB, 0x039B}, //6530 #GREEK CAPITAL LETTER LAMDA
+  {0xA6AC, 0x039C}, //6531 #GREEK CAPITAL LETTER MU
+  {0xA6AD, 0x039D}, //6532 #GREEK CAPITAL LETTER NU
+  {0xA6AE, 0x039E}, //6533 #GREEK CAPITAL LETTER XI
+  {0xA6AF, 0x039F}, //6534 #GREEK CAPITAL LETTER OMICRON
+  {0xA6B0, 0x03A0}, //6535 #GREEK CAPITAL LETTER PI
+  {0xA6B1, 0x03A1}, //6536 #GREEK CAPITAL LETTER RHO
+  {0xA6B2, 0x03A3}, //6537 #GREEK CAPITAL LETTER SIGMA
+  {0xA6B3, 0x03A4}, //6538 #GREEK CAPITAL LETTER TAU
+  {0xA6B4, 0x03A5}, //6539 #GREEK CAPITAL LETTER UPSILON
+  {0xA6B5, 0x03A6}, //6540 #GREEK CAPITAL LETTER PHI
+  {0xA6B6, 0x03A7}, //6541 #GREEK CAPITAL LETTER CHI
+  {0xA6B7, 0x03A8}, //6542 #GREEK CAPITAL LETTER PSI
+  {0xA6B8, 0x03A9}, //6543 #GREEK CAPITAL LETTER OMEGA
+  {0xA6C1, 0x03B1}, //6544 #GREEK SMALL LETTER ALPHA
+  {0xA6C2, 0x03B2}, //6545 #GREEK SMALL LETTER BETA
+  {0xA6C3, 0x03B3}, //6546 #GREEK SMALL LETTER GAMMA
+  {0xA6C4, 0x03B4}, //6547 #GREEK SMALL LETTER DELTA
+  {0xA6C5, 0x03B5}, //6548 #GREEK SMALL LETTER EPSILON
+  {0xA6C6, 0x03B6}, //6549 #GREEK SMALL LETTER ZETA
+  {0xA6C7, 0x03B7}, //6550 #GREEK SMALL LETTER ETA
+  {0xA6C8, 0x03B8}, //6551 #GREEK SMALL LETTER THETA
+  {0xA6C9, 0x03B9}, //6552 #GREEK SMALL LETTER IOTA
+  {0xA6CA, 0x03BA}, //6553 #GREEK SMALL LETTER KAPPA
+  {0xA6CB, 0x03BB}, //6554 #GREEK SMALL LETTER LAMDA
+  {0xA6CC, 0x03BC}, //6555 #GREEK SMALL LETTER MU
+  {0xA6CD, 0x03BD}, //6556 #GREEK SMALL LETTER NU
+  {0xA6CE, 0x03BE}, //6557 #GREEK SMALL LETTER XI
+  {0xA6CF, 0x03BF}, //6558 #GREEK SMALL LETTER OMICRON
+  {0xA6D0, 0x03C0}, //6559 #GREEK SMALL LETTER PI
+  {0xA6D1, 0x03C1}, //6560 #GREEK SMALL LETTER RHO
+  {0xA6D2, 0x03C3}, //6561 #GREEK SMALL LETTER SIGMA
+  {0xA6D3, 0x03C4}, //6562 #GREEK SMALL LETTER TAU
+  {0xA6D4, 0x03C5}, //6563 #GREEK SMALL LETTER UPSILON
+  {0xA6D5, 0x03C6}, //6564 #GREEK SMALL LETTER PHI
+  {0xA6D6, 0x03C7}, //6565 #GREEK SMALL LETTER CHI
+  {0xA6D7, 0x03C8}, //6566 #GREEK SMALL LETTER PSI
+  {0xA6D8, 0x03C9}, //6567 #GREEK SMALL LETTER OMEGA
+  {0xA6E0, 0xFE35}, //6568 #PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+  {0xA6E1, 0xFE36}, //6569 #PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+  {0xA6E2, 0xFE39}, //6570 #PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+  {0xA6E3, 0xFE3A}, //6571 #PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+  {0xA6E4, 0xFE3F}, //6572 #PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+  {0xA6E5, 0xFE40}, //6573 #PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+  {0xA6E6, 0xFE3D}, //6574 #PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+  {0xA6E7, 0xFE3E}, //6575 #PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+  {0xA6E8, 0xFE41}, //6576 #PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+  {0xA6E9, 0xFE42}, //6577 #PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+  {0xA6EA, 0xFE43}, //6578 #PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+  {0xA6EB, 0xFE44}, //6579 #PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+  {0xA6EE, 0xFE3B}, //6580 #PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+  {0xA6EF, 0xFE3C}, //6581 #PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+  {0xA6F0, 0xFE37}, //6582 #PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+  {0xA6F1, 0xFE38}, //6583 #PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+  {0xA6F2, 0xFE31}, //6584 #PRESENTATION FORM FOR VERTICAL EM DASH
+  {0xA6F4, 0xFE33}, //6585 #PRESENTATION FORM FOR VERTICAL LOW LINE
+  {0xA6F5, 0xFE34}, //6586 #PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
+  {0xA7A1, 0x0410}, //6587 #CYRILLIC CAPITAL LETTER A
+  {0xA7A2, 0x0411}, //6588 #CYRILLIC CAPITAL LETTER BE
+  {0xA7A3, 0x0412}, //6589 #CYRILLIC CAPITAL LETTER VE
+  {0xA7A4, 0x0413}, //6590 #CYRILLIC CAPITAL LETTER GHE
+  {0xA7A5, 0x0414}, //6591 #CYRILLIC CAPITAL LETTER DE
+  {0xA7A6, 0x0415}, //6592 #CYRILLIC CAPITAL LETTER IE
+  {0xA7A7, 0x0401}, //6593 #CYRILLIC CAPITAL LETTER IO
+  {0xA7A8, 0x0416}, //6594 #CYRILLIC CAPITAL LETTER ZHE
+  {0xA7A9, 0x0417}, //6595 #CYRILLIC CAPITAL LETTER ZE
+  {0xA7AA, 0x0418}, //6596 #CYRILLIC CAPITAL LETTER I
+  {0xA7AB, 0x0419}, //6597 #CYRILLIC CAPITAL LETTER SHORT I
+  {0xA7AC, 0x041A}, //6598 #CYRILLIC CAPITAL LETTER KA
+  {0xA7AD, 0x041B}, //6599 #CYRILLIC CAPITAL LETTER EL
+  {0xA7AE, 0x041C}, //6600 #CYRILLIC CAPITAL LETTER EM
+  {0xA7AF, 0x041D}, //6601 #CYRILLIC CAPITAL LETTER EN
+  {0xA7B0, 0x041E}, //6602 #CYRILLIC CAPITAL LETTER O
+  {0xA7B1, 0x041F}, //6603 #CYRILLIC CAPITAL LETTER PE
+  {0xA7B2, 0x0420}, //6604 #CYRILLIC CAPITAL LETTER ER
+  {0xA7B3, 0x0421}, //6605 #CYRILLIC CAPITAL LETTER ES
+  {0xA7B4, 0x0422}, //6606 #CYRILLIC CAPITAL LETTER TE
+  {0xA7B5, 0x0423}, //6607 #CYRILLIC CAPITAL LETTER U
+  {0xA7B6, 0x0424}, //6608 #CYRILLIC CAPITAL LETTER EF
+  {0xA7B7, 0x0425}, //6609 #CYRILLIC CAPITAL LETTER HA
+  {0xA7B8, 0x0426}, //6610 #CYRILLIC CAPITAL LETTER TSE
+  {0xA7B9, 0x0427}, //6611 #CYRILLIC CAPITAL LETTER CHE
+  {0xA7BA, 0x0428}, //6612 #CYRILLIC CAPITAL LETTER SHA
+  {0xA7BB, 0x0429}, //6613 #CYRILLIC CAPITAL LETTER SHCHA
+  {0xA7BC, 0x042A}, //6614 #CYRILLIC CAPITAL LETTER HARD SIGN
+  {0xA7BD, 0x042B}, //6615 #CYRILLIC CAPITAL LETTER YERU
+  {0xA7BE, 0x042C}, //6616 #CYRILLIC CAPITAL LETTER SOFT SIGN
+  {0xA7BF, 0x042D}, //6617 #CYRILLIC CAPITAL LETTER E
+  {0xA7C0, 0x042E}, //6618 #CYRILLIC CAPITAL LETTER YU
+  {0xA7C1, 0x042F}, //6619 #CYRILLIC CAPITAL LETTER YA
+  {0xA7D1, 0x0430}, //6620 #CYRILLIC SMALL LETTER A
+  {0xA7D2, 0x0431}, //6621 #CYRILLIC SMALL LETTER BE
+  {0xA7D3, 0x0432}, //6622 #CYRILLIC SMALL LETTER VE
+  {0xA7D4, 0x0433}, //6623 #CYRILLIC SMALL LETTER GHE
+  {0xA7D5, 0x0434}, //6624 #CYRILLIC SMALL LETTER DE
+  {0xA7D6, 0x0435}, //6625 #CYRILLIC SMALL LETTER IE
+  {0xA7D7, 0x0451}, //6626 #CYRILLIC SMALL LETTER IO
+  {0xA7D8, 0x0436}, //6627 #CYRILLIC SMALL LETTER ZHE
+  {0xA7D9, 0x0437}, //6628 #CYRILLIC SMALL LETTER ZE
+  {0xA7DA, 0x0438}, //6629 #CYRILLIC SMALL LETTER I
+  {0xA7DB, 0x0439}, //6630 #CYRILLIC SMALL LETTER SHORT I
+  {0xA7DC, 0x043A}, //6631 #CYRILLIC SMALL LETTER KA
+  {0xA7DD, 0x043B}, //6632 #CYRILLIC SMALL LETTER EL
+  {0xA7DE, 0x043C}, //6633 #CYRILLIC SMALL LETTER EM
+  {0xA7DF, 0x043D}, //6634 #CYRILLIC SMALL LETTER EN
+  {0xA7E0, 0x043E}, //6635 #CYRILLIC SMALL LETTER O
+  {0xA7E1, 0x043F}, //6636 #CYRILLIC SMALL LETTER PE
+  {0xA7E2, 0x0440}, //6637 #CYRILLIC SMALL LETTER ER
+  {0xA7E3, 0x0441}, //6638 #CYRILLIC SMALL LETTER ES
+  {0xA7E4, 0x0442}, //6639 #CYRILLIC SMALL LETTER TE
+  {0xA7E5, 0x0443}, //6640 #CYRILLIC SMALL LETTER U
+  {0xA7E6, 0x0444}, //6641 #CYRILLIC SMALL LETTER EF
+  {0xA7E7, 0x0445}, //6642 #CYRILLIC SMALL LETTER HA
+  {0xA7E8, 0x0446}, //6643 #CYRILLIC SMALL LETTER TSE
+  {0xA7E9, 0x0447}, //6644 #CYRILLIC SMALL LETTER CHE
+  {0xA7EA, 0x0448}, //6645 #CYRILLIC SMALL LETTER SHA
+  {0xA7EB, 0x0449}, //6646 #CYRILLIC SMALL LETTER SHCHA
+  {0xA7EC, 0x044A}, //6647 #CYRILLIC SMALL LETTER HARD SIGN
+  {0xA7ED, 0x044B}, //6648 #CYRILLIC SMALL LETTER YERU
+  {0xA7EE, 0x044C}, //6649 #CYRILLIC SMALL LETTER SOFT SIGN
+  {0xA7EF, 0x044D}, //6650 #CYRILLIC SMALL LETTER E
+  {0xA7F0, 0x044E}, //6651 #CYRILLIC SMALL LETTER YU
+  {0xA7F1, 0x044F}, //6652 #CYRILLIC SMALL LETTER YA
+  {0xA840, 0x02CA}, //6653 #MODIFIER LETTER ACUTE ACCENT
+  {0xA841, 0x02CB}, //6654 #MODIFIER LETTER GRAVE ACCENT
+  {0xA842, 0x02D9}, //6655 #DOT ABOVE
+  {0xA843, 0x2013}, //6656 #EN DASH
+  {0xA844, 0x2015}, //6657 #HORIZONTAL BAR
+  {0xA845, 0x2025}, //6658 #TWO DOT LEADER
+  {0xA846, 0x2035}, //6659 #REVERSED PRIME
+  {0xA847, 0x2105}, //6660 #CARE OF
+  {0xA848, 0x2109}, //6661 #DEGREE FAHRENHEIT
+  {0xA849, 0x2196}, //6662 #NORTH WEST ARROW
+  {0xA84A, 0x2197}, //6663 #NORTH EAST ARROW
+  {0xA84B, 0x2198}, //6664 #SOUTH EAST ARROW
+  {0xA84C, 0x2199}, //6665 #SOUTH WEST ARROW
+  {0xA84D, 0x2215}, //6666 #DIVISION SLASH
+  {0xA84E, 0x221F}, //6667 #RIGHT ANGLE
+  {0xA84F, 0x2223}, //6668 #DIVIDES
+  {0xA850, 0x2252}, //6669 #APPROXIMATELY EQUAL TO OR THE IMAGE OF
+  {0xA851, 0x2266}, //6670 #LESS-THAN OVER EQUAL TO
+  {0xA852, 0x2267}, //6671 #GREATER-THAN OVER EQUAL TO
+  {0xA853, 0x22BF}, //6672 #RIGHT TRIANGLE
+  {0xA854, 0x2550}, //6673 #BOX DRAWINGS DOUBLE HORIZONTAL
+  {0xA855, 0x2551}, //6674 #BOX DRAWINGS DOUBLE VERTICAL
+  {0xA856, 0x2552}, //6675 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+  {0xA857, 0x2553}, //6676 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+  {0xA858, 0x2554}, //6677 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+  {0xA859, 0x2555}, //6678 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+  {0xA85A, 0x2556}, //6679 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+  {0xA85B, 0x2557}, //6680 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+  {0xA85C, 0x2558}, //6681 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+  {0xA85D, 0x2559}, //6682 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+  {0xA85E, 0x255A}, //6683 #BOX DRAWINGS DOUBLE UP AND RIGHT
+  {0xA85F, 0x255B}, //6684 #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+  {0xA860, 0x255C}, //6685 #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+  {0xA861, 0x255D}, //6686 #BOX DRAWINGS DOUBLE UP AND LEFT
+  {0xA862, 0x255E}, //6687 #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+  {0xA863, 0x255F}, //6688 #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+  {0xA864, 0x2560}, //6689 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+  {0xA865, 0x2561}, //6690 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+  {0xA866, 0x2562}, //6691 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+  {0xA867, 0x2563}, //6692 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+  {0xA868, 0x2564}, //6693 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+  {0xA869, 0x2565}, //6694 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+  {0xA86A, 0x2566}, //6695 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+  {0xA86B, 0x2567}, //6696 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+  {0xA86C, 0x2568}, //6697 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+  {0xA86D, 0x2569}, //6698 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+  {0xA86E, 0x256A}, //6699 #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+  {0xA86F, 0x256B}, //6700 #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+  {0xA870, 0x256C}, //6701 #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+  {0xA871, 0x256D}, //6702 #BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+  {0xA872, 0x256E}, //6703 #BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+  {0xA873, 0x256F}, //6704 #BOX DRAWINGS LIGHT ARC UP AND LEFT
+  {0xA874, 0x2570}, //6705 #BOX DRAWINGS LIGHT ARC UP AND RIGHT
+  {0xA875, 0x2571}, //6706 #BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+  {0xA876, 0x2572}, //6707 #BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+  {0xA877, 0x2573}, //6708 #BOX DRAWINGS LIGHT DIAGONAL CROSS
+  {0xA878, 0x2581}, //6709 #LOWER ONE EIGHTH BLOCK
+  {0xA879, 0x2582}, //6710 #LOWER ONE QUARTER BLOCK
+  {0xA87A, 0x2583}, //6711 #LOWER THREE EIGHTHS BLOCK
+  {0xA87B, 0x2584}, //6712 #LOWER HALF BLOCK
+  {0xA87C, 0x2585}, //6713 #LOWER FIVE EIGHTHS BLOCK
+  {0xA87D, 0x2586}, //6714 #LOWER THREE QUARTERS BLOCK
+  {0xA87E, 0x2587}, //6715 #LOWER SEVEN EIGHTHS BLOCK
+  {0xA880, 0x2588}, //6716 #FULL BLOCK
+  {0xA881, 0x2589}, //6717 #LEFT SEVEN EIGHTHS BLOCK
+  {0xA882, 0x258A}, //6718 #LEFT THREE QUARTERS BLOCK
+  {0xA883, 0x258B}, //6719 #LEFT FIVE EIGHTHS BLOCK
+  {0xA884, 0x258C}, //6720 #LEFT HALF BLOCK
+  {0xA885, 0x258D}, //6721 #LEFT THREE EIGHTHS BLOCK
+  {0xA886, 0x258E}, //6722 #LEFT ONE QUARTER BLOCK
+  {0xA887, 0x258F}, //6723 #LEFT ONE EIGHTH BLOCK
+  {0xA888, 0x2593}, //6724 #DARK SHADE
+  {0xA889, 0x2594}, //6725 #UPPER ONE EIGHTH BLOCK
+  {0xA88A, 0x2595}, //6726 #RIGHT ONE EIGHTH BLOCK
+  {0xA88B, 0x25BC}, //6727 #BLACK DOWN-POINTING TRIANGLE
+  {0xA88C, 0x25BD}, //6728 #WHITE DOWN-POINTING TRIANGLE
+  {0xA88D, 0x25E2}, //6729 #BLACK LOWER RIGHT TRIANGLE
+  {0xA88E, 0x25E3}, //6730 #BLACK LOWER LEFT TRIANGLE
+  {0xA88F, 0x25E4}, //6731 #BLACK UPPER LEFT TRIANGLE
+  {0xA890, 0x25E5}, //6732 #BLACK UPPER RIGHT TRIANGLE
+  {0xA891, 0x2609}, //6733 #SUN
+  {0xA892, 0x2295}, //6734 #CIRCLED PLUS
+  {0xA893, 0x3012}, //6735 #POSTAL MARK
+  {0xA894, 0x301D}, //6736 #REVERSED DOUBLE PRIME QUOTATION MARK
+  {0xA895, 0x301E}, //6737 #DOUBLE PRIME QUOTATION MARK
+  {0xA8A1, 0x0101}, //6738 #LATIN SMALL LETTER A WITH MACRON
+  {0xA8A2, 0x00E1}, //6739 #LATIN SMALL LETTER A WITH ACUTE
+  {0xA8A3, 0x01CE}, //6740 #LATIN SMALL LETTER A WITH CARON
+  {0xA8A4, 0x00E0}, //6741 #LATIN SMALL LETTER A WITH GRAVE
+  {0xA8A5, 0x0113}, //6742 #LATIN SMALL LETTER E WITH MACRON
+  {0xA8A6, 0x00E9}, //6743 #LATIN SMALL LETTER E WITH ACUTE
+  {0xA8A7, 0x011B}, //6744 #LATIN SMALL LETTER E WITH CARON
+  {0xA8A8, 0x00E8}, //6745 #LATIN SMALL LETTER E WITH GRAVE
+  {0xA8A9, 0x012B}, //6746 #LATIN SMALL LETTER I WITH MACRON
+  {0xA8AA, 0x00ED}, //6747 #LATIN SMALL LETTER I WITH ACUTE
+  {0xA8AB, 0x01D0}, //6748 #LATIN SMALL LETTER I WITH CARON
+  {0xA8AC, 0x00EC}, //6749 #LATIN SMALL LETTER I WITH GRAVE
+  {0xA8AD, 0x014D}, //6750 #LATIN SMALL LETTER O WITH MACRON
+  {0xA8AE, 0x00F3}, //6751 #LATIN SMALL LETTER O WITH ACUTE
+  {0xA8AF, 0x01D2}, //6752 #LATIN SMALL LETTER O WITH CARON
+  {0xA8B0, 0x00F2}, //6753 #LATIN SMALL LETTER O WITH GRAVE
+  {0xA8B1, 0x016B}, //6754 #LATIN SMALL LETTER U WITH MACRON
+  {0xA8B2, 0x00FA}, //6755 #LATIN SMALL LETTER U WITH ACUTE
+  {0xA8B3, 0x01D4}, //6756 #LATIN SMALL LETTER U WITH CARON
+  {0xA8B4, 0x00F9}, //6757 #LATIN SMALL LETTER U WITH GRAVE
+  {0xA8B5, 0x01D6}, //6758 #LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+  {0xA8B6, 0x01D8}, //6759 #LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+  {0xA8B7, 0x01DA}, //6760 #LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+  {0xA8B8, 0x01DC}, //6761 #LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+  {0xA8B9, 0x00FC}, //6762 #LATIN SMALL LETTER U WITH DIAERESIS
+  {0xA8BA, 0x00EA}, //6763 #LATIN SMALL LETTER E WITH CIRCUMFLEX
+  {0xA8BB, 0x0251}, //6764 #LATIN SMALL LETTER ALPHA
+  {0xA8BD, 0x0144}, //6765 #LATIN SMALL LETTER N WITH ACUTE
+  {0xA8BE, 0x0148}, //6766 #LATIN SMALL LETTER N WITH CARON
+  {0xA8C0, 0x0261}, //6767 #LATIN SMALL LETTER SCRIPT G
+  {0xA8C5, 0x3105}, //6768 #BOPOMOFO LETTER B
+  {0xA8C6, 0x3106}, //6769 #BOPOMOFO LETTER P
+  {0xA8C7, 0x3107}, //6770 #BOPOMOFO LETTER M
+  {0xA8C8, 0x3108}, //6771 #BOPOMOFO LETTER F
+  {0xA8C9, 0x3109}, //6772 #BOPOMOFO LETTER D
+  {0xA8CA, 0x310A}, //6773 #BOPOMOFO LETTER T
+  {0xA8CB, 0x310B}, //6774 #BOPOMOFO LETTER N
+  {0xA8CC, 0x310C}, //6775 #BOPOMOFO LETTER L
+  {0xA8CD, 0x310D}, //6776 #BOPOMOFO LETTER G
+  {0xA8CE, 0x310E}, //6777 #BOPOMOFO LETTER K
+  {0xA8CF, 0x310F}, //6778 #BOPOMOFO LETTER H
+  {0xA8D0, 0x3110}, //6779 #BOPOMOFO LETTER J
+  {0xA8D1, 0x3111}, //6780 #BOPOMOFO LETTER Q
+  {0xA8D2, 0x3112}, //6781 #BOPOMOFO LETTER X
+  {0xA8D3, 0x3113}, //6782 #BOPOMOFO LETTER ZH
+  {0xA8D4, 0x3114}, //6783 #BOPOMOFO LETTER CH
+  {0xA8D5, 0x3115}, //6784 #BOPOMOFO LETTER SH
+  {0xA8D6, 0x3116}, //6785 #BOPOMOFO LETTER R
+  {0xA8D7, 0x3117}, //6786 #BOPOMOFO LETTER Z
+  {0xA8D8, 0x3118}, //6787 #BOPOMOFO LETTER C
+  {0xA8D9, 0x3119}, //6788 #BOPOMOFO LETTER S
+  {0xA8DA, 0x311A}, //6789 #BOPOMOFO LETTER A
+  {0xA8DB, 0x311B}, //6790 #BOPOMOFO LETTER O
+  {0xA8DC, 0x311C}, //6791 #BOPOMOFO LETTER E
+  {0xA8DD, 0x311D}, //6792 #BOPOMOFO LETTER EH
+  {0xA8DE, 0x311E}, //6793 #BOPOMOFO LETTER AI
+  {0xA8DF, 0x311F}, //6794 #BOPOMOFO LETTER EI
+  {0xA8E0, 0x3120}, //6795 #BOPOMOFO LETTER AU
+  {0xA8E1, 0x3121}, //6796 #BOPOMOFO LETTER OU
+  {0xA8E2, 0x3122}, //6797 #BOPOMOFO LETTER AN
+  {0xA8E3, 0x3123}, //6798 #BOPOMOFO LETTER EN
+  {0xA8E4, 0x3124}, //6799 #BOPOMOFO LETTER ANG
+  {0xA8E5, 0x3125}, //6800 #BOPOMOFO LETTER ENG
+  {0xA8E6, 0x3126}, //6801 #BOPOMOFO LETTER ER
+  {0xA8E7, 0x3127}, //6802 #BOPOMOFO LETTER I
+  {0xA8E8, 0x3128}, //6803 #BOPOMOFO LETTER U
+  {0xA8E9, 0x3129}, //6804 #BOPOMOFO LETTER IU
+  {0xA940, 0x3021}, //6805 #HANGZHOU NUMERAL ONE
+  {0xA941, 0x3022}, //6806 #HANGZHOU NUMERAL TWO
+  {0xA942, 0x3023}, //6807 #HANGZHOU NUMERAL THREE
+  {0xA943, 0x3024}, //6808 #HANGZHOU NUMERAL FOUR
+  {0xA944, 0x3025}, //6809 #HANGZHOU NUMERAL FIVE
+  {0xA945, 0x3026}, //6810 #HANGZHOU NUMERAL SIX
+  {0xA946, 0x3027}, //6811 #HANGZHOU NUMERAL SEVEN
+  {0xA947, 0x3028}, //6812 #HANGZHOU NUMERAL EIGHT
+  {0xA948, 0x3029}, //6813 #HANGZHOU NUMERAL NINE
+  {0xA949, 0x32A3}, //6814 #CIRCLED IDEOGRAPH CORRECT
+  {0xA94A, 0x338E}, //6815 #SQUARE MG
+  {0xA94B, 0x338F}, //6816 #SQUARE KG
+  {0xA94C, 0x339C}, //6817 #SQUARE MM
+  {0xA94D, 0x339D}, //6818 #SQUARE CM
+  {0xA94E, 0x339E}, //6819 #SQUARE KM
+  {0xA94F, 0x33A1}, //6820 #SQUARE M SQUARED
+  {0xA950, 0x33C4}, //6821 #SQUARE CC
+  {0xA951, 0x33CE}, //6822 #SQUARE KM CAPITAL
+  {0xA952, 0x33D1}, //6823 #SQUARE LN
+  {0xA953, 0x33D2}, //6824 #SQUARE LOG
+  {0xA954, 0x33D5}, //6825 #SQUARE MIL
+  {0xA955, 0xFE30}, //6826 #PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+  {0xA956, 0xFFE2}, //6827 #FULLWIDTH NOT SIGN
+  {0xA957, 0xFFE4}, //6828 #FULLWIDTH BROKEN BAR
+  {0xA959, 0x2121}, //6829 #TELEPHONE SIGN
+  {0xA95A, 0x3231}, //6830 #PARENTHESIZED IDEOGRAPH STOCK
+  {0xA95C, 0x2010}, //6831 #HYPHEN
+  {0xA960, 0x30FC}, //6832 #KATAKANA-HIRAGANA PROLONGED SOUND MARK
+  {0xA961, 0x309B}, //6833 #KATAKANA-HIRAGANA VOICED SOUND MARK
+  {0xA962, 0x309C}, //6834 #KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+  {0xA963, 0x30FD}, //6835 #KATAKANA ITERATION MARK
+  {0xA964, 0x30FE}, //6836 #KATAKANA VOICED ITERATION MARK
+  {0xA965, 0x3006}, //6837 #IDEOGRAPHIC CLOSING MARK
+  {0xA966, 0x309D}, //6838 #HIRAGANA ITERATION MARK
+  {0xA967, 0x309E}, //6839 #HIRAGANA VOICED ITERATION MARK
+  {0xA968, 0xFE49}, //6840 #DASHED OVERLINE
+  {0xA969, 0xFE4A}, //6841 #CENTRELINE OVERLINE
+  {0xA96A, 0xFE4B}, //6842 #WAVY OVERLINE
+  {0xA96B, 0xFE4C}, //6843 #DOUBLE WAVY OVERLINE
+  {0xA96C, 0xFE4D}, //6844 #DASHED LOW LINE
+  {0xA96D, 0xFE4E}, //6845 #CENTRELINE LOW LINE
+  {0xA96E, 0xFE4F}, //6846 #WAVY LOW LINE
+  {0xA96F, 0xFE50}, //6847 #SMALL COMMA
+  {0xA970, 0xFE51}, //6848 #SMALL IDEOGRAPHIC COMMA
+  {0xA971, 0xFE52}, //6849 #SMALL FULL STOP
+  {0xA972, 0xFE54}, //6850 #SMALL SEMICOLON
+  {0xA973, 0xFE55}, //6851 #SMALL COLON
+  {0xA974, 0xFE56}, //6852 #SMALL QUESTION MARK
+  {0xA975, 0xFE57}, //6853 #SMALL EXCLAMATION MARK
+  {0xA976, 0xFE59}, //6854 #SMALL LEFT PARENTHESIS
+  {0xA977, 0xFE5A}, //6855 #SMALL RIGHT PARENTHESIS
+  {0xA978, 0xFE5B}, //6856 #SMALL LEFT CURLY BRACKET
+  {0xA979, 0xFE5C}, //6857 #SMALL RIGHT CURLY BRACKET
+  {0xA97A, 0xFE5D}, //6858 #SMALL LEFT TORTOISE SHELL BRACKET
+  {0xA97B, 0xFE5E}, //6859 #SMALL RIGHT TORTOISE SHELL BRACKET
+  {0xA97C, 0xFE5F}, //6860 #SMALL NUMBER SIGN
+  {0xA97D, 0xFE60}, //6861 #SMALL AMPERSAND
+  {0xA97E, 0xFE61}, //6862 #SMALL ASTERISK
+  {0xA980, 0xFE62}, //6863 #SMALL PLUS SIGN
+  {0xA981, 0xFE63}, //6864 #SMALL HYPHEN-MINUS
+  {0xA982, 0xFE64}, //6865 #SMALL LESS-THAN SIGN
+  {0xA983, 0xFE65}, //6866 #SMALL GREATER-THAN SIGN
+  {0xA984, 0xFE66}, //6867 #SMALL EQUALS SIGN
+  {0xA985, 0xFE68}, //6868 #SMALL REVERSE SOLIDUS
+  {0xA986, 0xFE69}, //6869 #SMALL DOLLAR SIGN
+  {0xA987, 0xFE6A}, //6870 #SMALL PERCENT SIGN
+  {0xA988, 0xFE6B}, //6871 #SMALL COMMERCIAL AT
+  {0xA996, 0x3007}, //6872 #IDEOGRAPHIC NUMBER ZERO
+  {0xA9A4, 0x2500}, //6873 #BOX DRAWINGS LIGHT HORIZONTAL
+  {0xA9A5, 0x2501}, //6874 #BOX DRAWINGS HEAVY HORIZONTAL
+  {0xA9A6, 0x2502}, //6875 #BOX DRAWINGS LIGHT VERTICAL
+  {0xA9A7, 0x2503}, //6876 #BOX DRAWINGS HEAVY VERTICAL
+  {0xA9A8, 0x2504}, //6877 #BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+  {0xA9A9, 0x2505}, //6878 #BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+  {0xA9AA, 0x2506}, //6879 #BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+  {0xA9AB, 0x2507}, //6880 #BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+  {0xA9AC, 0x2508}, //6881 #BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+  {0xA9AD, 0x2509}, //6882 #BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+  {0xA9AE, 0x250A}, //6883 #BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+  {0xA9AF, 0x250B}, //6884 #BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+  {0xA9B0, 0x250C}, //6885 #BOX DRAWINGS LIGHT DOWN AND RIGHT
+  {0xA9B1, 0x250D}, //6886 #BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+  {0xA9B2, 0x250E}, //6887 #BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+  {0xA9B3, 0x250F}, //6888 #BOX DRAWINGS HEAVY DOWN AND RIGHT
+  {0xA9B4, 0x2510}, //6889 #BOX DRAWINGS LIGHT DOWN AND LEFT
+  {0xA9B5, 0x2511}, //6890 #BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+  {0xA9B6, 0x2512}, //6891 #BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+  {0xA9B7, 0x2513}, //6892 #BOX DRAWINGS HEAVY DOWN AND LEFT
+  {0xA9B8, 0x2514}, //6893 #BOX DRAWINGS LIGHT UP AND RIGHT
+  {0xA9B9, 0x2515}, //6894 #BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+  {0xA9BA, 0x2516}, //6895 #BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+  {0xA9BB, 0x2517}, //6896 #BOX DRAWINGS HEAVY UP AND RIGHT
+  {0xA9BC, 0x2518}, //6897 #BOX DRAWINGS LIGHT UP AND LEFT
+  {0xA9BD, 0x2519}, //6898 #BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+  {0xA9BE, 0x251A}, //6899 #BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+  {0xA9BF, 0x251B}, //6900 #BOX DRAWINGS HEAVY UP AND LEFT
+  {0xA9C0, 0x251C}, //6901 #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+  {0xA9C1, 0x251D}, //6902 #BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+  {0xA9C2, 0x251E}, //6903 #BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+  {0xA9C3, 0x251F}, //6904 #BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+  {0xA9C4, 0x2520}, //6905 #BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+  {0xA9C5, 0x2521}, //6906 #BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+  {0xA9C6, 0x2522}, //6907 #BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+  {0xA9C7, 0x2523}, //6908 #BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+  {0xA9C8, 0x2524}, //6909 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+  {0xA9C9, 0x2525}, //6910 #BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+  {0xA9CA, 0x2526}, //6911 #BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+  {0xA9CB, 0x2527}, //6912 #BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+  {0xA9CC, 0x2528}, //6913 #BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+  {0xA9CD, 0x2529}, //6914 #BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+  {0xA9CE, 0x252A}, //6915 #BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+  {0xA9CF, 0x252B}, //6916 #BOX DRAWINGS HEAVY VERTICAL AND LEFT
+  {0xA9D0, 0x252C}, //6917 #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+  {0xA9D1, 0x252D}, //6918 #BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+  {0xA9D2, 0x252E}, //6919 #BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+  {0xA9D3, 0x252F}, //6920 #BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+  {0xA9D4, 0x2530}, //6921 #BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+  {0xA9D5, 0x2531}, //6922 #BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+  {0xA9D6, 0x2532}, //6923 #BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+  {0xA9D7, 0x2533}, //6924 #BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+  {0xA9D8, 0x2534}, //6925 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+  {0xA9D9, 0x2535}, //6926 #BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+  {0xA9DA, 0x2536}, //6927 #BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+  {0xA9DB, 0x2537}, //6928 #BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+  {0xA9DC, 0x2538}, //6929 #BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+  {0xA9DD, 0x2539}, //6930 #BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+  {0xA9DE, 0x253A}, //6931 #BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+  {0xA9DF, 0x253B}, //6932 #BOX DRAWINGS HEAVY UP AND HORIZONTAL
+  {0xA9E0, 0x253C}, //6933 #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+  {0xA9E1, 0x253D}, //6934 #BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+  {0xA9E2, 0x253E}, //6935 #BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+  {0xA9E3, 0x253F}, //6936 #BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+  {0xA9E4, 0x2540}, //6937 #BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+  {0xA9E5, 0x2541}, //6938 #BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+  {0xA9E6, 0x2542}, //6939 #BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+  {0xA9E7, 0x2543}, //6940 #BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+  {0xA9E8, 0x2544}, //6941 #BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+  {0xA9E9, 0x2545}, //6942 #BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+  {0xA9EA, 0x2546}, //6943 #BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+  {0xA9EB, 0x2547}, //6944 #BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+  {0xA9EC, 0x2548}, //6945 #BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+  {0xA9ED, 0x2549}, //6946 #BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+  {0xA9EE, 0x254A}, //6947 #BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+  {0xA9EF, 0x254B}, //6948 #BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+  {0xAA40, 0x72DC}, //6949 #CJK UNIFIED IDEOGRAPH
+  {0xAA41, 0x72DD}, //6950 #CJK UNIFIED IDEOGRAPH
+  {0xAA42, 0x72DF}, //6951 #CJK UNIFIED IDEOGRAPH
+  {0xAA43, 0x72E2}, //6952 #CJK UNIFIED IDEOGRAPH
+  {0xAA44, 0x72E3}, //6953 #CJK UNIFIED IDEOGRAPH
+  {0xAA45, 0x72E4}, //6954 #CJK UNIFIED IDEOGRAPH
+  {0xAA46, 0x72E5}, //6955 #CJK UNIFIED IDEOGRAPH
+  {0xAA47, 0x72E6}, //6956 #CJK UNIFIED IDEOGRAPH
+  {0xAA48, 0x72E7}, //6957 #CJK UNIFIED IDEOGRAPH
+  {0xAA49, 0x72EA}, //6958 #CJK UNIFIED IDEOGRAPH
+  {0xAA4A, 0x72EB}, //6959 #CJK UNIFIED IDEOGRAPH
+  {0xAA4B, 0x72F5}, //6960 #CJK UNIFIED IDEOGRAPH
+  {0xAA4C, 0x72F6}, //6961 #CJK UNIFIED IDEOGRAPH
+  {0xAA4D, 0x72F9}, //6962 #CJK UNIFIED IDEOGRAPH
+  {0xAA4E, 0x72FD}, //6963 #CJK UNIFIED IDEOGRAPH
+  {0xAA4F, 0x72FE}, //6964 #CJK UNIFIED IDEOGRAPH
+  {0xAA50, 0x72FF}, //6965 #CJK UNIFIED IDEOGRAPH
+  {0xAA51, 0x7300}, //6966 #CJK UNIFIED IDEOGRAPH
+  {0xAA52, 0x7302}, //6967 #CJK UNIFIED IDEOGRAPH
+  {0xAA53, 0x7304}, //6968 #CJK UNIFIED IDEOGRAPH
+  {0xAA54, 0x7305}, //6969 #CJK UNIFIED IDEOGRAPH
+  {0xAA55, 0x7306}, //6970 #CJK UNIFIED IDEOGRAPH
+  {0xAA56, 0x7307}, //6971 #CJK UNIFIED IDEOGRAPH
+  {0xAA57, 0x7308}, //6972 #CJK UNIFIED IDEOGRAPH
+  {0xAA58, 0x7309}, //6973 #CJK UNIFIED IDEOGRAPH
+  {0xAA59, 0x730B}, //6974 #CJK UNIFIED IDEOGRAPH
+  {0xAA5A, 0x730C}, //6975 #CJK UNIFIED IDEOGRAPH
+  {0xAA5B, 0x730D}, //6976 #CJK UNIFIED IDEOGRAPH
+  {0xAA5C, 0x730F}, //6977 #CJK UNIFIED IDEOGRAPH
+  {0xAA5D, 0x7310}, //6978 #CJK UNIFIED IDEOGRAPH
+  {0xAA5E, 0x7311}, //6979 #CJK UNIFIED IDEOGRAPH
+  {0xAA5F, 0x7312}, //6980 #CJK UNIFIED IDEOGRAPH
+  {0xAA60, 0x7314}, //6981 #CJK UNIFIED IDEOGRAPH
+  {0xAA61, 0x7318}, //6982 #CJK UNIFIED IDEOGRAPH
+  {0xAA62, 0x7319}, //6983 #CJK UNIFIED IDEOGRAPH
+  {0xAA63, 0x731A}, //6984 #CJK UNIFIED IDEOGRAPH
+  {0xAA64, 0x731F}, //6985 #CJK UNIFIED IDEOGRAPH
+  {0xAA65, 0x7320}, //6986 #CJK UNIFIED IDEOGRAPH
+  {0xAA66, 0x7323}, //6987 #CJK UNIFIED IDEOGRAPH
+  {0xAA67, 0x7324}, //6988 #CJK UNIFIED IDEOGRAPH
+  {0xAA68, 0x7326}, //6989 #CJK UNIFIED IDEOGRAPH
+  {0xAA69, 0x7327}, //6990 #CJK UNIFIED IDEOGRAPH
+  {0xAA6A, 0x7328}, //6991 #CJK UNIFIED IDEOGRAPH
+  {0xAA6B, 0x732D}, //6992 #CJK UNIFIED IDEOGRAPH
+  {0xAA6C, 0x732F}, //6993 #CJK UNIFIED IDEOGRAPH
+  {0xAA6D, 0x7330}, //6994 #CJK UNIFIED IDEOGRAPH
+  {0xAA6E, 0x7332}, //6995 #CJK UNIFIED IDEOGRAPH
+  {0xAA6F, 0x7333}, //6996 #CJK UNIFIED IDEOGRAPH
+  {0xAA70, 0x7335}, //6997 #CJK UNIFIED IDEOGRAPH
+  {0xAA71, 0x7336}, //6998 #CJK UNIFIED IDEOGRAPH
+  {0xAA72, 0x733A}, //6999 #CJK UNIFIED IDEOGRAPH
+  {0xAA73, 0x733B}, //7000 #CJK UNIFIED IDEOGRAPH
+  {0xAA74, 0x733C}, //7001 #CJK UNIFIED IDEOGRAPH
+  {0xAA75, 0x733D}, //7002 #CJK UNIFIED IDEOGRAPH
+  {0xAA76, 0x7340}, //7003 #CJK UNIFIED IDEOGRAPH
+  {0xAA77, 0x7341}, //7004 #CJK UNIFIED IDEOGRAPH
+  {0xAA78, 0x7342}, //7005 #CJK UNIFIED IDEOGRAPH
+  {0xAA79, 0x7343}, //7006 #CJK UNIFIED IDEOGRAPH
+  {0xAA7A, 0x7344}, //7007 #CJK UNIFIED IDEOGRAPH
+  {0xAA7B, 0x7345}, //7008 #CJK UNIFIED IDEOGRAPH
+  {0xAA7C, 0x7346}, //7009 #CJK UNIFIED IDEOGRAPH
+  {0xAA7D, 0x7347}, //7010 #CJK UNIFIED IDEOGRAPH
+  {0xAA7E, 0x7348}, //7011 #CJK UNIFIED IDEOGRAPH
+  {0xAA80, 0x7349}, //7012 #CJK UNIFIED IDEOGRAPH
+  {0xAA81, 0x734A}, //7013 #CJK UNIFIED IDEOGRAPH
+  {0xAA82, 0x734B}, //7014 #CJK UNIFIED IDEOGRAPH
+  {0xAA83, 0x734C}, //7015 #CJK UNIFIED IDEOGRAPH
+  {0xAA84, 0x734E}, //7016 #CJK UNIFIED IDEOGRAPH
+  {0xAA85, 0x734F}, //7017 #CJK UNIFIED IDEOGRAPH
+  {0xAA86, 0x7351}, //7018 #CJK UNIFIED IDEOGRAPH
+  {0xAA87, 0x7353}, //7019 #CJK UNIFIED IDEOGRAPH
+  {0xAA88, 0x7354}, //7020 #CJK UNIFIED IDEOGRAPH
+  {0xAA89, 0x7355}, //7021 #CJK UNIFIED IDEOGRAPH
+  {0xAA8A, 0x7356}, //7022 #CJK UNIFIED IDEOGRAPH
+  {0xAA8B, 0x7358}, //7023 #CJK UNIFIED IDEOGRAPH
+  {0xAA8C, 0x7359}, //7024 #CJK UNIFIED IDEOGRAPH
+  {0xAA8D, 0x735A}, //7025 #CJK UNIFIED IDEOGRAPH
+  {0xAA8E, 0x735B}, //7026 #CJK UNIFIED IDEOGRAPH
+  {0xAA8F, 0x735C}, //7027 #CJK UNIFIED IDEOGRAPH
+  {0xAA90, 0x735D}, //7028 #CJK UNIFIED IDEOGRAPH
+  {0xAA91, 0x735E}, //7029 #CJK UNIFIED IDEOGRAPH
+  {0xAA92, 0x735F}, //7030 #CJK UNIFIED IDEOGRAPH
+  {0xAA93, 0x7361}, //7031 #CJK UNIFIED IDEOGRAPH
+  {0xAA94, 0x7362}, //7032 #CJK UNIFIED IDEOGRAPH
+  {0xAA95, 0x7363}, //7033 #CJK UNIFIED IDEOGRAPH
+  {0xAA96, 0x7364}, //7034 #CJK UNIFIED IDEOGRAPH
+  {0xAA97, 0x7365}, //7035 #CJK UNIFIED IDEOGRAPH
+  {0xAA98, 0x7366}, //7036 #CJK UNIFIED IDEOGRAPH
+  {0xAA99, 0x7367}, //7037 #CJK UNIFIED IDEOGRAPH
+  {0xAA9A, 0x7368}, //7038 #CJK UNIFIED IDEOGRAPH
+  {0xAA9B, 0x7369}, //7039 #CJK UNIFIED IDEOGRAPH
+  {0xAA9C, 0x736A}, //7040 #CJK UNIFIED IDEOGRAPH
+  {0xAA9D, 0x736B}, //7041 #CJK UNIFIED IDEOGRAPH
+  {0xAA9E, 0x736E}, //7042 #CJK UNIFIED IDEOGRAPH
+  {0xAA9F, 0x7370}, //7043 #CJK UNIFIED IDEOGRAPH
+  {0xAAA0, 0x7371}, //7044 #CJK UNIFIED IDEOGRAPH
+  {0xAB40, 0x7372}, //7045 #CJK UNIFIED IDEOGRAPH
+  {0xAB41, 0x7373}, //7046 #CJK UNIFIED IDEOGRAPH
+  {0xAB42, 0x7374}, //7047 #CJK UNIFIED IDEOGRAPH
+  {0xAB43, 0x7375}, //7048 #CJK UNIFIED IDEOGRAPH
+  {0xAB44, 0x7376}, //7049 #CJK UNIFIED IDEOGRAPH
+  {0xAB45, 0x7377}, //7050 #CJK UNIFIED IDEOGRAPH
+  {0xAB46, 0x7378}, //7051 #CJK UNIFIED IDEOGRAPH
+  {0xAB47, 0x7379}, //7052 #CJK UNIFIED IDEOGRAPH
+  {0xAB48, 0x737A}, //7053 #CJK UNIFIED IDEOGRAPH
+  {0xAB49, 0x737B}, //7054 #CJK UNIFIED IDEOGRAPH
+  {0xAB4A, 0x737C}, //7055 #CJK UNIFIED IDEOGRAPH
+  {0xAB4B, 0x737D}, //7056 #CJK UNIFIED IDEOGRAPH
+  {0xAB4C, 0x737F}, //7057 #CJK UNIFIED IDEOGRAPH
+  {0xAB4D, 0x7380}, //7058 #CJK UNIFIED IDEOGRAPH
+  {0xAB4E, 0x7381}, //7059 #CJK UNIFIED IDEOGRAPH
+  {0xAB4F, 0x7382}, //7060 #CJK UNIFIED IDEOGRAPH
+  {0xAB50, 0x7383}, //7061 #CJK UNIFIED IDEOGRAPH
+  {0xAB51, 0x7385}, //7062 #CJK UNIFIED IDEOGRAPH
+  {0xAB52, 0x7386}, //7063 #CJK UNIFIED IDEOGRAPH
+  {0xAB53, 0x7388}, //7064 #CJK UNIFIED IDEOGRAPH
+  {0xAB54, 0x738A}, //7065 #CJK UNIFIED IDEOGRAPH
+  {0xAB55, 0x738C}, //7066 #CJK UNIFIED IDEOGRAPH
+  {0xAB56, 0x738D}, //7067 #CJK UNIFIED IDEOGRAPH
+  {0xAB57, 0x738F}, //7068 #CJK UNIFIED IDEOGRAPH
+  {0xAB58, 0x7390}, //7069 #CJK UNIFIED IDEOGRAPH
+  {0xAB59, 0x7392}, //7070 #CJK UNIFIED IDEOGRAPH
+  {0xAB5A, 0x7393}, //7071 #CJK UNIFIED IDEOGRAPH
+  {0xAB5B, 0x7394}, //7072 #CJK UNIFIED IDEOGRAPH
+  {0xAB5C, 0x7395}, //7073 #CJK UNIFIED IDEOGRAPH
+  {0xAB5D, 0x7397}, //7074 #CJK UNIFIED IDEOGRAPH
+  {0xAB5E, 0x7398}, //7075 #CJK UNIFIED IDEOGRAPH
+  {0xAB5F, 0x7399}, //7076 #CJK UNIFIED IDEOGRAPH
+  {0xAB60, 0x739A}, //7077 #CJK UNIFIED IDEOGRAPH
+  {0xAB61, 0x739C}, //7078 #CJK UNIFIED IDEOGRAPH
+  {0xAB62, 0x739D}, //7079 #CJK UNIFIED IDEOGRAPH
+  {0xAB63, 0x739E}, //7080 #CJK UNIFIED IDEOGRAPH
+  {0xAB64, 0x73A0}, //7081 #CJK UNIFIED IDEOGRAPH
+  {0xAB65, 0x73A1}, //7082 #CJK UNIFIED IDEOGRAPH
+  {0xAB66, 0x73A3}, //7083 #CJK UNIFIED IDEOGRAPH
+  {0xAB67, 0x73A4}, //7084 #CJK UNIFIED IDEOGRAPH
+  {0xAB68, 0x73A5}, //7085 #CJK UNIFIED IDEOGRAPH
+  {0xAB69, 0x73A6}, //7086 #CJK UNIFIED IDEOGRAPH
+  {0xAB6A, 0x73A7}, //7087 #CJK UNIFIED IDEOGRAPH
+  {0xAB6B, 0x73A8}, //7088 #CJK UNIFIED IDEOGRAPH
+  {0xAB6C, 0x73AA}, //7089 #CJK UNIFIED IDEOGRAPH
+  {0xAB6D, 0x73AC}, //7090 #CJK UNIFIED IDEOGRAPH
+  {0xAB6E, 0x73AD}, //7091 #CJK UNIFIED IDEOGRAPH
+  {0xAB6F, 0x73B1}, //7092 #CJK UNIFIED IDEOGRAPH
+  {0xAB70, 0x73B4}, //7093 #CJK UNIFIED IDEOGRAPH
+  {0xAB71, 0x73B5}, //7094 #CJK UNIFIED IDEOGRAPH
+  {0xAB72, 0x73B6}, //7095 #CJK UNIFIED IDEOGRAPH
+  {0xAB73, 0x73B8}, //7096 #CJK UNIFIED IDEOGRAPH
+  {0xAB74, 0x73B9}, //7097 #CJK UNIFIED IDEOGRAPH
+  {0xAB75, 0x73BC}, //7098 #CJK UNIFIED IDEOGRAPH
+  {0xAB76, 0x73BD}, //7099 #CJK UNIFIED IDEOGRAPH
+  {0xAB77, 0x73BE}, //7100 #CJK UNIFIED IDEOGRAPH
+  {0xAB78, 0x73BF}, //7101 #CJK UNIFIED IDEOGRAPH
+  {0xAB79, 0x73C1}, //7102 #CJK UNIFIED IDEOGRAPH
+  {0xAB7A, 0x73C3}, //7103 #CJK UNIFIED IDEOGRAPH
+  {0xAB7B, 0x73C4}, //7104 #CJK UNIFIED IDEOGRAPH
+  {0xAB7C, 0x73C5}, //7105 #CJK UNIFIED IDEOGRAPH
+  {0xAB7D, 0x73C6}, //7106 #CJK UNIFIED IDEOGRAPH
+  {0xAB7E, 0x73C7}, //7107 #CJK UNIFIED IDEOGRAPH
+  {0xAB80, 0x73CB}, //7108 #CJK UNIFIED IDEOGRAPH
+  {0xAB81, 0x73CC}, //7109 #CJK UNIFIED IDEOGRAPH
+  {0xAB82, 0x73CE}, //7110 #CJK UNIFIED IDEOGRAPH
+  {0xAB83, 0x73D2}, //7111 #CJK UNIFIED IDEOGRAPH
+  {0xAB84, 0x73D3}, //7112 #CJK UNIFIED IDEOGRAPH
+  {0xAB85, 0x73D4}, //7113 #CJK UNIFIED IDEOGRAPH
+  {0xAB86, 0x73D5}, //7114 #CJK UNIFIED IDEOGRAPH
+  {0xAB87, 0x73D6}, //7115 #CJK UNIFIED IDEOGRAPH
+  {0xAB88, 0x73D7}, //7116 #CJK UNIFIED IDEOGRAPH
+  {0xAB89, 0x73D8}, //7117 #CJK UNIFIED IDEOGRAPH
+  {0xAB8A, 0x73DA}, //7118 #CJK UNIFIED IDEOGRAPH
+  {0xAB8B, 0x73DB}, //7119 #CJK UNIFIED IDEOGRAPH
+  {0xAB8C, 0x73DC}, //7120 #CJK UNIFIED IDEOGRAPH
+  {0xAB8D, 0x73DD}, //7121 #CJK UNIFIED IDEOGRAPH
+  {0xAB8E, 0x73DF}, //7122 #CJK UNIFIED IDEOGRAPH
+  {0xAB8F, 0x73E1}, //7123 #CJK UNIFIED IDEOGRAPH
+  {0xAB90, 0x73E2}, //7124 #CJK UNIFIED IDEOGRAPH
+  {0xAB91, 0x73E3}, //7125 #CJK UNIFIED IDEOGRAPH
+  {0xAB92, 0x73E4}, //7126 #CJK UNIFIED IDEOGRAPH
+  {0xAB93, 0x73E6}, //7127 #CJK UNIFIED IDEOGRAPH
+  {0xAB94, 0x73E8}, //7128 #CJK UNIFIED IDEOGRAPH
+  {0xAB95, 0x73EA}, //7129 #CJK UNIFIED IDEOGRAPH
+  {0xAB96, 0x73EB}, //7130 #CJK UNIFIED IDEOGRAPH
+  {0xAB97, 0x73EC}, //7131 #CJK UNIFIED IDEOGRAPH
+  {0xAB98, 0x73EE}, //7132 #CJK UNIFIED IDEOGRAPH
+  {0xAB99, 0x73EF}, //7133 #CJK UNIFIED IDEOGRAPH
+  {0xAB9A, 0x73F0}, //7134 #CJK UNIFIED IDEOGRAPH
+  {0xAB9B, 0x73F1}, //7135 #CJK UNIFIED IDEOGRAPH
+  {0xAB9C, 0x73F3}, //7136 #CJK UNIFIED IDEOGRAPH
+  {0xAB9D, 0x73F4}, //7137 #CJK UNIFIED IDEOGRAPH
+  {0xAB9E, 0x73F5}, //7138 #CJK UNIFIED IDEOGRAPH
+  {0xAB9F, 0x73F6}, //7139 #CJK UNIFIED IDEOGRAPH
+  {0xABA0, 0x73F7}, //7140 #CJK UNIFIED IDEOGRAPH
+  {0xAC40, 0x73F8}, //7141 #CJK UNIFIED IDEOGRAPH
+  {0xAC41, 0x73F9}, //7142 #CJK UNIFIED IDEOGRAPH
+  {0xAC42, 0x73FA}, //7143 #CJK UNIFIED IDEOGRAPH
+  {0xAC43, 0x73FB}, //7144 #CJK UNIFIED IDEOGRAPH
+  {0xAC44, 0x73FC}, //7145 #CJK UNIFIED IDEOGRAPH
+  {0xAC45, 0x73FD}, //7146 #CJK UNIFIED IDEOGRAPH
+  {0xAC46, 0x73FE}, //7147 #CJK UNIFIED IDEOGRAPH
+  {0xAC47, 0x73FF}, //7148 #CJK UNIFIED IDEOGRAPH
+  {0xAC48, 0x7400}, //7149 #CJK UNIFIED IDEOGRAPH
+  {0xAC49, 0x7401}, //7150 #CJK UNIFIED IDEOGRAPH
+  {0xAC4A, 0x7402}, //7151 #CJK UNIFIED IDEOGRAPH
+  {0xAC4B, 0x7404}, //7152 #CJK UNIFIED IDEOGRAPH
+  {0xAC4C, 0x7407}, //7153 #CJK UNIFIED IDEOGRAPH
+  {0xAC4D, 0x7408}, //7154 #CJK UNIFIED IDEOGRAPH
+  {0xAC4E, 0x740B}, //7155 #CJK UNIFIED IDEOGRAPH
+  {0xAC4F, 0x740C}, //7156 #CJK UNIFIED IDEOGRAPH
+  {0xAC50, 0x740D}, //7157 #CJK UNIFIED IDEOGRAPH
+  {0xAC51, 0x740E}, //7158 #CJK UNIFIED IDEOGRAPH
+  {0xAC52, 0x7411}, //7159 #CJK UNIFIED IDEOGRAPH
+  {0xAC53, 0x7412}, //7160 #CJK UNIFIED IDEOGRAPH
+  {0xAC54, 0x7413}, //7161 #CJK UNIFIED IDEOGRAPH
+  {0xAC55, 0x7414}, //7162 #CJK UNIFIED IDEOGRAPH
+  {0xAC56, 0x7415}, //7163 #CJK UNIFIED IDEOGRAPH
+  {0xAC57, 0x7416}, //7164 #CJK UNIFIED IDEOGRAPH
+  {0xAC58, 0x7417}, //7165 #CJK UNIFIED IDEOGRAPH
+  {0xAC59, 0x7418}, //7166 #CJK UNIFIED IDEOGRAPH
+  {0xAC5A, 0x7419}, //7167 #CJK UNIFIED IDEOGRAPH
+  {0xAC5B, 0x741C}, //7168 #CJK UNIFIED IDEOGRAPH
+  {0xAC5C, 0x741D}, //7169 #CJK UNIFIED IDEOGRAPH
+  {0xAC5D, 0x741E}, //7170 #CJK UNIFIED IDEOGRAPH
+  {0xAC5E, 0x741F}, //7171 #CJK UNIFIED IDEOGRAPH
+  {0xAC5F, 0x7420}, //7172 #CJK UNIFIED IDEOGRAPH
+  {0xAC60, 0x7421}, //7173 #CJK UNIFIED IDEOGRAPH
+  {0xAC61, 0x7423}, //7174 #CJK UNIFIED IDEOGRAPH
+  {0xAC62, 0x7424}, //7175 #CJK UNIFIED IDEOGRAPH
+  {0xAC63, 0x7427}, //7176 #CJK UNIFIED IDEOGRAPH
+  {0xAC64, 0x7429}, //7177 #CJK UNIFIED IDEOGRAPH
+  {0xAC65, 0x742B}, //7178 #CJK UNIFIED IDEOGRAPH
+  {0xAC66, 0x742D}, //7179 #CJK UNIFIED IDEOGRAPH
+  {0xAC67, 0x742F}, //7180 #CJK UNIFIED IDEOGRAPH
+  {0xAC68, 0x7431}, //7181 #CJK UNIFIED IDEOGRAPH
+  {0xAC69, 0x7432}, //7182 #CJK UNIFIED IDEOGRAPH
+  {0xAC6A, 0x7437}, //7183 #CJK UNIFIED IDEOGRAPH
+  {0xAC6B, 0x7438}, //7184 #CJK UNIFIED IDEOGRAPH
+  {0xAC6C, 0x7439}, //7185 #CJK UNIFIED IDEOGRAPH
+  {0xAC6D, 0x743A}, //7186 #CJK UNIFIED IDEOGRAPH
+  {0xAC6E, 0x743B}, //7187 #CJK UNIFIED IDEOGRAPH
+  {0xAC6F, 0x743D}, //7188 #CJK UNIFIED IDEOGRAPH
+  {0xAC70, 0x743E}, //7189 #CJK UNIFIED IDEOGRAPH
+  {0xAC71, 0x743F}, //7190 #CJK UNIFIED IDEOGRAPH
+  {0xAC72, 0x7440}, //7191 #CJK UNIFIED IDEOGRAPH
+  {0xAC73, 0x7442}, //7192 #CJK UNIFIED IDEOGRAPH
+  {0xAC74, 0x7443}, //7193 #CJK UNIFIED IDEOGRAPH
+  {0xAC75, 0x7444}, //7194 #CJK UNIFIED IDEOGRAPH
+  {0xAC76, 0x7445}, //7195 #CJK UNIFIED IDEOGRAPH
+  {0xAC77, 0x7446}, //7196 #CJK UNIFIED IDEOGRAPH
+  {0xAC78, 0x7447}, //7197 #CJK UNIFIED IDEOGRAPH
+  {0xAC79, 0x7448}, //7198 #CJK UNIFIED IDEOGRAPH
+  {0xAC7A, 0x7449}, //7199 #CJK UNIFIED IDEOGRAPH
+  {0xAC7B, 0x744A}, //7200 #CJK UNIFIED IDEOGRAPH
+  {0xAC7C, 0x744B}, //7201 #CJK UNIFIED IDEOGRAPH
+  {0xAC7D, 0x744C}, //7202 #CJK UNIFIED IDEOGRAPH
+  {0xAC7E, 0x744D}, //7203 #CJK UNIFIED IDEOGRAPH
+  {0xAC80, 0x744E}, //7204 #CJK UNIFIED IDEOGRAPH
+  {0xAC81, 0x744F}, //7205 #CJK UNIFIED IDEOGRAPH
+  {0xAC82, 0x7450}, //7206 #CJK UNIFIED IDEOGRAPH
+  {0xAC83, 0x7451}, //7207 #CJK UNIFIED IDEOGRAPH
+  {0xAC84, 0x7452}, //7208 #CJK UNIFIED IDEOGRAPH
+  {0xAC85, 0x7453}, //7209 #CJK UNIFIED IDEOGRAPH
+  {0xAC86, 0x7454}, //7210 #CJK UNIFIED IDEOGRAPH
+  {0xAC87, 0x7456}, //7211 #CJK UNIFIED IDEOGRAPH
+  {0xAC88, 0x7458}, //7212 #CJK UNIFIED IDEOGRAPH
+  {0xAC89, 0x745D}, //7213 #CJK UNIFIED IDEOGRAPH
+  {0xAC8A, 0x7460}, //7214 #CJK UNIFIED IDEOGRAPH
+  {0xAC8B, 0x7461}, //7215 #CJK UNIFIED IDEOGRAPH
+  {0xAC8C, 0x7462}, //7216 #CJK UNIFIED IDEOGRAPH
+  {0xAC8D, 0x7463}, //7217 #CJK UNIFIED IDEOGRAPH
+  {0xAC8E, 0x7464}, //7218 #CJK UNIFIED IDEOGRAPH
+  {0xAC8F, 0x7465}, //7219 #CJK UNIFIED IDEOGRAPH
+  {0xAC90, 0x7466}, //7220 #CJK UNIFIED IDEOGRAPH
+  {0xAC91, 0x7467}, //7221 #CJK UNIFIED IDEOGRAPH
+  {0xAC92, 0x7468}, //7222 #CJK UNIFIED IDEOGRAPH
+  {0xAC93, 0x7469}, //7223 #CJK UNIFIED IDEOGRAPH
+  {0xAC94, 0x746A}, //7224 #CJK UNIFIED IDEOGRAPH
+  {0xAC95, 0x746B}, //7225 #CJK UNIFIED IDEOGRAPH
+  {0xAC96, 0x746C}, //7226 #CJK UNIFIED IDEOGRAPH
+  {0xAC97, 0x746E}, //7227 #CJK UNIFIED IDEOGRAPH
+  {0xAC98, 0x746F}, //7228 #CJK UNIFIED IDEOGRAPH
+  {0xAC99, 0x7471}, //7229 #CJK UNIFIED IDEOGRAPH
+  {0xAC9A, 0x7472}, //7230 #CJK UNIFIED IDEOGRAPH
+  {0xAC9B, 0x7473}, //7231 #CJK UNIFIED IDEOGRAPH
+  {0xAC9C, 0x7474}, //7232 #CJK UNIFIED IDEOGRAPH
+  {0xAC9D, 0x7475}, //7233 #CJK UNIFIED IDEOGRAPH
+  {0xAC9E, 0x7478}, //7234 #CJK UNIFIED IDEOGRAPH
+  {0xAC9F, 0x7479}, //7235 #CJK UNIFIED IDEOGRAPH
+  {0xACA0, 0x747A}, //7236 #CJK UNIFIED IDEOGRAPH
+  {0xAD40, 0x747B}, //7237 #CJK UNIFIED IDEOGRAPH
+  {0xAD41, 0x747C}, //7238 #CJK UNIFIED IDEOGRAPH
+  {0xAD42, 0x747D}, //7239 #CJK UNIFIED IDEOGRAPH
+  {0xAD43, 0x747F}, //7240 #CJK UNIFIED IDEOGRAPH
+  {0xAD44, 0x7482}, //7241 #CJK UNIFIED IDEOGRAPH
+  {0xAD45, 0x7484}, //7242 #CJK UNIFIED IDEOGRAPH
+  {0xAD46, 0x7485}, //7243 #CJK UNIFIED IDEOGRAPH
+  {0xAD47, 0x7486}, //7244 #CJK UNIFIED IDEOGRAPH
+  {0xAD48, 0x7488}, //7245 #CJK UNIFIED IDEOGRAPH
+  {0xAD49, 0x7489}, //7246 #CJK UNIFIED IDEOGRAPH
+  {0xAD4A, 0x748A}, //7247 #CJK UNIFIED IDEOGRAPH
+  {0xAD4B, 0x748C}, //7248 #CJK UNIFIED IDEOGRAPH
+  {0xAD4C, 0x748D}, //7249 #CJK UNIFIED IDEOGRAPH
+  {0xAD4D, 0x748F}, //7250 #CJK UNIFIED IDEOGRAPH
+  {0xAD4E, 0x7491}, //7251 #CJK UNIFIED IDEOGRAPH
+  {0xAD4F, 0x7492}, //7252 #CJK UNIFIED IDEOGRAPH
+  {0xAD50, 0x7493}, //7253 #CJK UNIFIED IDEOGRAPH
+  {0xAD51, 0x7494}, //7254 #CJK UNIFIED IDEOGRAPH
+  {0xAD52, 0x7495}, //7255 #CJK UNIFIED IDEOGRAPH
+  {0xAD53, 0x7496}, //7256 #CJK UNIFIED IDEOGRAPH
+  {0xAD54, 0x7497}, //7257 #CJK UNIFIED IDEOGRAPH
+  {0xAD55, 0x7498}, //7258 #CJK UNIFIED IDEOGRAPH
+  {0xAD56, 0x7499}, //7259 #CJK UNIFIED IDEOGRAPH
+  {0xAD57, 0x749A}, //7260 #CJK UNIFIED IDEOGRAPH
+  {0xAD58, 0x749B}, //7261 #CJK UNIFIED IDEOGRAPH
+  {0xAD59, 0x749D}, //7262 #CJK UNIFIED IDEOGRAPH
+  {0xAD5A, 0x749F}, //7263 #CJK UNIFIED IDEOGRAPH
+  {0xAD5B, 0x74A0}, //7264 #CJK UNIFIED IDEOGRAPH
+  {0xAD5C, 0x74A1}, //7265 #CJK UNIFIED IDEOGRAPH
+  {0xAD5D, 0x74A2}, //7266 #CJK UNIFIED IDEOGRAPH
+  {0xAD5E, 0x74A3}, //7267 #CJK UNIFIED IDEOGRAPH
+  {0xAD5F, 0x74A4}, //7268 #CJK UNIFIED IDEOGRAPH
+  {0xAD60, 0x74A5}, //7269 #CJK UNIFIED IDEOGRAPH
+  {0xAD61, 0x74A6}, //7270 #CJK UNIFIED IDEOGRAPH
+  {0xAD62, 0x74AA}, //7271 #CJK UNIFIED IDEOGRAPH
+  {0xAD63, 0x74AB}, //7272 #CJK UNIFIED IDEOGRAPH
+  {0xAD64, 0x74AC}, //7273 #CJK UNIFIED IDEOGRAPH
+  {0xAD65, 0x74AD}, //7274 #CJK UNIFIED IDEOGRAPH
+  {0xAD66, 0x74AE}, //7275 #CJK UNIFIED IDEOGRAPH
+  {0xAD67, 0x74AF}, //7276 #CJK UNIFIED IDEOGRAPH
+  {0xAD68, 0x74B0}, //7277 #CJK UNIFIED IDEOGRAPH
+  {0xAD69, 0x74B1}, //7278 #CJK UNIFIED IDEOGRAPH
+  {0xAD6A, 0x74B2}, //7279 #CJK UNIFIED IDEOGRAPH
+  {0xAD6B, 0x74B3}, //7280 #CJK UNIFIED IDEOGRAPH
+  {0xAD6C, 0x74B4}, //7281 #CJK UNIFIED IDEOGRAPH
+  {0xAD6D, 0x74B5}, //7282 #CJK UNIFIED IDEOGRAPH
+  {0xAD6E, 0x74B6}, //7283 #CJK UNIFIED IDEOGRAPH
+  {0xAD6F, 0x74B7}, //7284 #CJK UNIFIED IDEOGRAPH
+  {0xAD70, 0x74B8}, //7285 #CJK UNIFIED IDEOGRAPH
+  {0xAD71, 0x74B9}, //7286 #CJK UNIFIED IDEOGRAPH
+  {0xAD72, 0x74BB}, //7287 #CJK UNIFIED IDEOGRAPH
+  {0xAD73, 0x74BC}, //7288 #CJK UNIFIED IDEOGRAPH
+  {0xAD74, 0x74BD}, //7289 #CJK UNIFIED IDEOGRAPH
+  {0xAD75, 0x74BE}, //7290 #CJK UNIFIED IDEOGRAPH
+  {0xAD76, 0x74BF}, //7291 #CJK UNIFIED IDEOGRAPH
+  {0xAD77, 0x74C0}, //7292 #CJK UNIFIED IDEOGRAPH
+  {0xAD78, 0x74C1}, //7293 #CJK UNIFIED IDEOGRAPH
+  {0xAD79, 0x74C2}, //7294 #CJK UNIFIED IDEOGRAPH
+  {0xAD7A, 0x74C3}, //7295 #CJK UNIFIED IDEOGRAPH
+  {0xAD7B, 0x74C4}, //7296 #CJK UNIFIED IDEOGRAPH
+  {0xAD7C, 0x74C5}, //7297 #CJK UNIFIED IDEOGRAPH
+  {0xAD7D, 0x74C6}, //7298 #CJK UNIFIED IDEOGRAPH
+  {0xAD7E, 0x74C7}, //7299 #CJK UNIFIED IDEOGRAPH
+  {0xAD80, 0x74C8}, //7300 #CJK UNIFIED IDEOGRAPH
+  {0xAD81, 0x74C9}, //7301 #CJK UNIFIED IDEOGRAPH
+  {0xAD82, 0x74CA}, //7302 #CJK UNIFIED IDEOGRAPH
+  {0xAD83, 0x74CB}, //7303 #CJK UNIFIED IDEOGRAPH
+  {0xAD84, 0x74CC}, //7304 #CJK UNIFIED IDEOGRAPH
+  {0xAD85, 0x74CD}, //7305 #CJK UNIFIED IDEOGRAPH
+  {0xAD86, 0x74CE}, //7306 #CJK UNIFIED IDEOGRAPH
+  {0xAD87, 0x74CF}, //7307 #CJK UNIFIED IDEOGRAPH
+  {0xAD88, 0x74D0}, //7308 #CJK UNIFIED IDEOGRAPH
+  {0xAD89, 0x74D1}, //7309 #CJK UNIFIED IDEOGRAPH
+  {0xAD8A, 0x74D3}, //7310 #CJK UNIFIED IDEOGRAPH
+  {0xAD8B, 0x74D4}, //7311 #CJK UNIFIED IDEOGRAPH
+  {0xAD8C, 0x74D5}, //7312 #CJK UNIFIED IDEOGRAPH
+  {0xAD8D, 0x74D6}, //7313 #CJK UNIFIED IDEOGRAPH
+  {0xAD8E, 0x74D7}, //7314 #CJK UNIFIED IDEOGRAPH
+  {0xAD8F, 0x74D8}, //7315 #CJK UNIFIED IDEOGRAPH
+  {0xAD90, 0x74D9}, //7316 #CJK UNIFIED IDEOGRAPH
+  {0xAD91, 0x74DA}, //7317 #CJK UNIFIED IDEOGRAPH
+  {0xAD92, 0x74DB}, //7318 #CJK UNIFIED IDEOGRAPH
+  {0xAD93, 0x74DD}, //7319 #CJK UNIFIED IDEOGRAPH
+  {0xAD94, 0x74DF}, //7320 #CJK UNIFIED IDEOGRAPH
+  {0xAD95, 0x74E1}, //7321 #CJK UNIFIED IDEOGRAPH
+  {0xAD96, 0x74E5}, //7322 #CJK UNIFIED IDEOGRAPH
+  {0xAD97, 0x74E7}, //7323 #CJK UNIFIED IDEOGRAPH
+  {0xAD98, 0x74E8}, //7324 #CJK UNIFIED IDEOGRAPH
+  {0xAD99, 0x74E9}, //7325 #CJK UNIFIED IDEOGRAPH
+  {0xAD9A, 0x74EA}, //7326 #CJK UNIFIED IDEOGRAPH
+  {0xAD9B, 0x74EB}, //7327 #CJK UNIFIED IDEOGRAPH
+  {0xAD9C, 0x74EC}, //7328 #CJK UNIFIED IDEOGRAPH
+  {0xAD9D, 0x74ED}, //7329 #CJK UNIFIED IDEOGRAPH
+  {0xAD9E, 0x74F0}, //7330 #CJK UNIFIED IDEOGRAPH
+  {0xAD9F, 0x74F1}, //7331 #CJK UNIFIED IDEOGRAPH
+  {0xADA0, 0x74F2}, //7332 #CJK UNIFIED IDEOGRAPH
+  {0xAE40, 0x74F3}, //7333 #CJK UNIFIED IDEOGRAPH
+  {0xAE41, 0x74F5}, //7334 #CJK UNIFIED IDEOGRAPH
+  {0xAE42, 0x74F8}, //7335 #CJK UNIFIED IDEOGRAPH
+  {0xAE43, 0x74F9}, //7336 #CJK UNIFIED IDEOGRAPH
+  {0xAE44, 0x74FA}, //7337 #CJK UNIFIED IDEOGRAPH
+  {0xAE45, 0x74FB}, //7338 #CJK UNIFIED IDEOGRAPH
+  {0xAE46, 0x74FC}, //7339 #CJK UNIFIED IDEOGRAPH
+  {0xAE47, 0x74FD}, //7340 #CJK UNIFIED IDEOGRAPH
+  {0xAE48, 0x74FE}, //7341 #CJK UNIFIED IDEOGRAPH
+  {0xAE49, 0x7500}, //7342 #CJK UNIFIED IDEOGRAPH
+  {0xAE4A, 0x7501}, //7343 #CJK UNIFIED IDEOGRAPH
+  {0xAE4B, 0x7502}, //7344 #CJK UNIFIED IDEOGRAPH
+  {0xAE4C, 0x7503}, //7345 #CJK UNIFIED IDEOGRAPH
+  {0xAE4D, 0x7505}, //7346 #CJK UNIFIED IDEOGRAPH
+  {0xAE4E, 0x7506}, //7347 #CJK UNIFIED IDEOGRAPH
+  {0xAE4F, 0x7507}, //7348 #CJK UNIFIED IDEOGRAPH
+  {0xAE50, 0x7508}, //7349 #CJK UNIFIED IDEOGRAPH
+  {0xAE51, 0x7509}, //7350 #CJK UNIFIED IDEOGRAPH
+  {0xAE52, 0x750A}, //7351 #CJK UNIFIED IDEOGRAPH
+  {0xAE53, 0x750B}, //7352 #CJK UNIFIED IDEOGRAPH
+  {0xAE54, 0x750C}, //7353 #CJK UNIFIED IDEOGRAPH
+  {0xAE55, 0x750E}, //7354 #CJK UNIFIED IDEOGRAPH
+  {0xAE56, 0x7510}, //7355 #CJK UNIFIED IDEOGRAPH
+  {0xAE57, 0x7512}, //7356 #CJK UNIFIED IDEOGRAPH
+  {0xAE58, 0x7514}, //7357 #CJK UNIFIED IDEOGRAPH
+  {0xAE59, 0x7515}, //7358 #CJK UNIFIED IDEOGRAPH
+  {0xAE5A, 0x7516}, //7359 #CJK UNIFIED IDEOGRAPH
+  {0xAE5B, 0x7517}, //7360 #CJK UNIFIED IDEOGRAPH
+  {0xAE5C, 0x751B}, //7361 #CJK UNIFIED IDEOGRAPH
+  {0xAE5D, 0x751D}, //7362 #CJK UNIFIED IDEOGRAPH
+  {0xAE5E, 0x751E}, //7363 #CJK UNIFIED IDEOGRAPH
+  {0xAE5F, 0x7520}, //7364 #CJK UNIFIED IDEOGRAPH
+  {0xAE60, 0x7521}, //7365 #CJK UNIFIED IDEOGRAPH
+  {0xAE61, 0x7522}, //7366 #CJK UNIFIED IDEOGRAPH
+  {0xAE62, 0x7523}, //7367 #CJK UNIFIED IDEOGRAPH
+  {0xAE63, 0x7524}, //7368 #CJK UNIFIED IDEOGRAPH
+  {0xAE64, 0x7526}, //7369 #CJK UNIFIED IDEOGRAPH
+  {0xAE65, 0x7527}, //7370 #CJK UNIFIED IDEOGRAPH
+  {0xAE66, 0x752A}, //7371 #CJK UNIFIED IDEOGRAPH
+  {0xAE67, 0x752E}, //7372 #CJK UNIFIED IDEOGRAPH
+  {0xAE68, 0x7534}, //7373 #CJK UNIFIED IDEOGRAPH
+  {0xAE69, 0x7536}, //7374 #CJK UNIFIED IDEOGRAPH
+  {0xAE6A, 0x7539}, //7375 #CJK UNIFIED IDEOGRAPH
+  {0xAE6B, 0x753C}, //7376 #CJK UNIFIED IDEOGRAPH
+  {0xAE6C, 0x753D}, //7377 #CJK UNIFIED IDEOGRAPH
+  {0xAE6D, 0x753F}, //7378 #CJK UNIFIED IDEOGRAPH
+  {0xAE6E, 0x7541}, //7379 #CJK UNIFIED IDEOGRAPH
+  {0xAE6F, 0x7542}, //7380 #CJK UNIFIED IDEOGRAPH
+  {0xAE70, 0x7543}, //7381 #CJK UNIFIED IDEOGRAPH
+  {0xAE71, 0x7544}, //7382 #CJK UNIFIED IDEOGRAPH
+  {0xAE72, 0x7546}, //7383 #CJK UNIFIED IDEOGRAPH
+  {0xAE73, 0x7547}, //7384 #CJK UNIFIED IDEOGRAPH
+  {0xAE74, 0x7549}, //7385 #CJK UNIFIED IDEOGRAPH
+  {0xAE75, 0x754A}, //7386 #CJK UNIFIED IDEOGRAPH
+  {0xAE76, 0x754D}, //7387 #CJK UNIFIED IDEOGRAPH
+  {0xAE77, 0x7550}, //7388 #CJK UNIFIED IDEOGRAPH
+  {0xAE78, 0x7551}, //7389 #CJK UNIFIED IDEOGRAPH
+  {0xAE79, 0x7552}, //7390 #CJK UNIFIED IDEOGRAPH
+  {0xAE7A, 0x7553}, //7391 #CJK UNIFIED IDEOGRAPH
+  {0xAE7B, 0x7555}, //7392 #CJK UNIFIED IDEOGRAPH
+  {0xAE7C, 0x7556}, //7393 #CJK UNIFIED IDEOGRAPH
+  {0xAE7D, 0x7557}, //7394 #CJK UNIFIED IDEOGRAPH
+  {0xAE7E, 0x7558}, //7395 #CJK UNIFIED IDEOGRAPH
+  {0xAE80, 0x755D}, //7396 #CJK UNIFIED IDEOGRAPH
+  {0xAE81, 0x755E}, //7397 #CJK UNIFIED IDEOGRAPH
+  {0xAE82, 0x755F}, //7398 #CJK UNIFIED IDEOGRAPH
+  {0xAE83, 0x7560}, //7399 #CJK UNIFIED IDEOGRAPH
+  {0xAE84, 0x7561}, //7400 #CJK UNIFIED IDEOGRAPH
+  {0xAE85, 0x7562}, //7401 #CJK UNIFIED IDEOGRAPH
+  {0xAE86, 0x7563}, //7402 #CJK UNIFIED IDEOGRAPH
+  {0xAE87, 0x7564}, //7403 #CJK UNIFIED IDEOGRAPH
+  {0xAE88, 0x7567}, //7404 #CJK UNIFIED IDEOGRAPH
+  {0xAE89, 0x7568}, //7405 #CJK UNIFIED IDEOGRAPH
+  {0xAE8A, 0x7569}, //7406 #CJK UNIFIED IDEOGRAPH
+  {0xAE8B, 0x756B}, //7407 #CJK UNIFIED IDEOGRAPH
+  {0xAE8C, 0x756C}, //7408 #CJK UNIFIED IDEOGRAPH
+  {0xAE8D, 0x756D}, //7409 #CJK UNIFIED IDEOGRAPH
+  {0xAE8E, 0x756E}, //7410 #CJK UNIFIED IDEOGRAPH
+  {0xAE8F, 0x756F}, //7411 #CJK UNIFIED IDEOGRAPH
+  {0xAE90, 0x7570}, //7412 #CJK UNIFIED IDEOGRAPH
+  {0xAE91, 0x7571}, //7413 #CJK UNIFIED IDEOGRAPH
+  {0xAE92, 0x7573}, //7414 #CJK UNIFIED IDEOGRAPH
+  {0xAE93, 0x7575}, //7415 #CJK UNIFIED IDEOGRAPH
+  {0xAE94, 0x7576}, //7416 #CJK UNIFIED IDEOGRAPH
+  {0xAE95, 0x7577}, //7417 #CJK UNIFIED IDEOGRAPH
+  {0xAE96, 0x757A}, //7418 #CJK UNIFIED IDEOGRAPH
+  {0xAE97, 0x757B}, //7419 #CJK UNIFIED IDEOGRAPH
+  {0xAE98, 0x757C}, //7420 #CJK UNIFIED IDEOGRAPH
+  {0xAE99, 0x757D}, //7421 #CJK UNIFIED IDEOGRAPH
+  {0xAE9A, 0x757E}, //7422 #CJK UNIFIED IDEOGRAPH
+  {0xAE9B, 0x7580}, //7423 #CJK UNIFIED IDEOGRAPH
+  {0xAE9C, 0x7581}, //7424 #CJK UNIFIED IDEOGRAPH
+  {0xAE9D, 0x7582}, //7425 #CJK UNIFIED IDEOGRAPH
+  {0xAE9E, 0x7584}, //7426 #CJK UNIFIED IDEOGRAPH
+  {0xAE9F, 0x7585}, //7427 #CJK UNIFIED IDEOGRAPH
+  {0xAEA0, 0x7587}, //7428 #CJK UNIFIED IDEOGRAPH
+  {0xAF40, 0x7588}, //7429 #CJK UNIFIED IDEOGRAPH
+  {0xAF41, 0x7589}, //7430 #CJK UNIFIED IDEOGRAPH
+  {0xAF42, 0x758A}, //7431 #CJK UNIFIED IDEOGRAPH
+  {0xAF43, 0x758C}, //7432 #CJK UNIFIED IDEOGRAPH
+  {0xAF44, 0x758D}, //7433 #CJK UNIFIED IDEOGRAPH
+  {0xAF45, 0x758E}, //7434 #CJK UNIFIED IDEOGRAPH
+  {0xAF46, 0x7590}, //7435 #CJK UNIFIED IDEOGRAPH
+  {0xAF47, 0x7593}, //7436 #CJK UNIFIED IDEOGRAPH
+  {0xAF48, 0x7595}, //7437 #CJK UNIFIED IDEOGRAPH
+  {0xAF49, 0x7598}, //7438 #CJK UNIFIED IDEOGRAPH
+  {0xAF4A, 0x759B}, //7439 #CJK UNIFIED IDEOGRAPH
+  {0xAF4B, 0x759C}, //7440 #CJK UNIFIED IDEOGRAPH
+  {0xAF4C, 0x759E}, //7441 #CJK UNIFIED IDEOGRAPH
+  {0xAF4D, 0x75A2}, //7442 #CJK UNIFIED IDEOGRAPH
+  {0xAF4E, 0x75A6}, //7443 #CJK UNIFIED IDEOGRAPH
+  {0xAF4F, 0x75A7}, //7444 #CJK UNIFIED IDEOGRAPH
+  {0xAF50, 0x75A8}, //7445 #CJK UNIFIED IDEOGRAPH
+  {0xAF51, 0x75A9}, //7446 #CJK UNIFIED IDEOGRAPH
+  {0xAF52, 0x75AA}, //7447 #CJK UNIFIED IDEOGRAPH
+  {0xAF53, 0x75AD}, //7448 #CJK UNIFIED IDEOGRAPH
+  {0xAF54, 0x75B6}, //7449 #CJK UNIFIED IDEOGRAPH
+  {0xAF55, 0x75B7}, //7450 #CJK UNIFIED IDEOGRAPH
+  {0xAF56, 0x75BA}, //7451 #CJK UNIFIED IDEOGRAPH
+  {0xAF57, 0x75BB}, //7452 #CJK UNIFIED IDEOGRAPH
+  {0xAF58, 0x75BF}, //7453 #CJK UNIFIED IDEOGRAPH
+  {0xAF59, 0x75C0}, //7454 #CJK UNIFIED IDEOGRAPH
+  {0xAF5A, 0x75C1}, //7455 #CJK UNIFIED IDEOGRAPH
+  {0xAF5B, 0x75C6}, //7456 #CJK UNIFIED IDEOGRAPH
+  {0xAF5C, 0x75CB}, //7457 #CJK UNIFIED IDEOGRAPH
+  {0xAF5D, 0x75CC}, //7458 #CJK UNIFIED IDEOGRAPH
+  {0xAF5E, 0x75CE}, //7459 #CJK UNIFIED IDEOGRAPH
+  {0xAF5F, 0x75CF}, //7460 #CJK UNIFIED IDEOGRAPH
+  {0xAF60, 0x75D0}, //7461 #CJK UNIFIED IDEOGRAPH
+  {0xAF61, 0x75D1}, //7462 #CJK UNIFIED IDEOGRAPH
+  {0xAF62, 0x75D3}, //7463 #CJK UNIFIED IDEOGRAPH
+  {0xAF63, 0x75D7}, //7464 #CJK UNIFIED IDEOGRAPH
+  {0xAF64, 0x75D9}, //7465 #CJK UNIFIED IDEOGRAPH
+  {0xAF65, 0x75DA}, //7466 #CJK UNIFIED IDEOGRAPH
+  {0xAF66, 0x75DC}, //7467 #CJK UNIFIED IDEOGRAPH
+  {0xAF67, 0x75DD}, //7468 #CJK UNIFIED IDEOGRAPH
+  {0xAF68, 0x75DF}, //7469 #CJK UNIFIED IDEOGRAPH
+  {0xAF69, 0x75E0}, //7470 #CJK UNIFIED IDEOGRAPH
+  {0xAF6A, 0x75E1}, //7471 #CJK UNIFIED IDEOGRAPH
+  {0xAF6B, 0x75E5}, //7472 #CJK UNIFIED IDEOGRAPH
+  {0xAF6C, 0x75E9}, //7473 #CJK UNIFIED IDEOGRAPH
+  {0xAF6D, 0x75EC}, //7474 #CJK UNIFIED IDEOGRAPH
+  {0xAF6E, 0x75ED}, //7475 #CJK UNIFIED IDEOGRAPH
+  {0xAF6F, 0x75EE}, //7476 #CJK UNIFIED IDEOGRAPH
+  {0xAF70, 0x75EF}, //7477 #CJK UNIFIED IDEOGRAPH
+  {0xAF71, 0x75F2}, //7478 #CJK UNIFIED IDEOGRAPH
+  {0xAF72, 0x75F3}, //7479 #CJK UNIFIED IDEOGRAPH
+  {0xAF73, 0x75F5}, //7480 #CJK UNIFIED IDEOGRAPH
+  {0xAF74, 0x75F6}, //7481 #CJK UNIFIED IDEOGRAPH
+  {0xAF75, 0x75F7}, //7482 #CJK UNIFIED IDEOGRAPH
+  {0xAF76, 0x75F8}, //7483 #CJK UNIFIED IDEOGRAPH
+  {0xAF77, 0x75FA}, //7484 #CJK UNIFIED IDEOGRAPH
+  {0xAF78, 0x75FB}, //7485 #CJK UNIFIED IDEOGRAPH
+  {0xAF79, 0x75FD}, //7486 #CJK UNIFIED IDEOGRAPH
+  {0xAF7A, 0x75FE}, //7487 #CJK UNIFIED IDEOGRAPH
+  {0xAF7B, 0x7602}, //7488 #CJK UNIFIED IDEOGRAPH
+  {0xAF7C, 0x7604}, //7489 #CJK UNIFIED IDEOGRAPH
+  {0xAF7D, 0x7606}, //7490 #CJK UNIFIED IDEOGRAPH
+  {0xAF7E, 0x7607}, //7491 #CJK UNIFIED IDEOGRAPH
+  {0xAF80, 0x7608}, //7492 #CJK UNIFIED IDEOGRAPH
+  {0xAF81, 0x7609}, //7493 #CJK UNIFIED IDEOGRAPH
+  {0xAF82, 0x760B}, //7494 #CJK UNIFIED IDEOGRAPH
+  {0xAF83, 0x760D}, //7495 #CJK UNIFIED IDEOGRAPH
+  {0xAF84, 0x760E}, //7496 #CJK UNIFIED IDEOGRAPH
+  {0xAF85, 0x760F}, //7497 #CJK UNIFIED IDEOGRAPH
+  {0xAF86, 0x7611}, //7498 #CJK UNIFIED IDEOGRAPH
+  {0xAF87, 0x7612}, //7499 #CJK UNIFIED IDEOGRAPH
+  {0xAF88, 0x7613}, //7500 #CJK UNIFIED IDEOGRAPH
+  {0xAF89, 0x7614}, //7501 #CJK UNIFIED IDEOGRAPH
+  {0xAF8A, 0x7616}, //7502 #CJK UNIFIED IDEOGRAPH
+  {0xAF8B, 0x761A}, //7503 #CJK UNIFIED IDEOGRAPH
+  {0xAF8C, 0x761C}, //7504 #CJK UNIFIED IDEOGRAPH
+  {0xAF8D, 0x761D}, //7505 #CJK UNIFIED IDEOGRAPH
+  {0xAF8E, 0x761E}, //7506 #CJK UNIFIED IDEOGRAPH
+  {0xAF8F, 0x7621}, //7507 #CJK UNIFIED IDEOGRAPH
+  {0xAF90, 0x7623}, //7508 #CJK UNIFIED IDEOGRAPH
+  {0xAF91, 0x7627}, //7509 #CJK UNIFIED IDEOGRAPH
+  {0xAF92, 0x7628}, //7510 #CJK UNIFIED IDEOGRAPH
+  {0xAF93, 0x762C}, //7511 #CJK UNIFIED IDEOGRAPH
+  {0xAF94, 0x762E}, //7512 #CJK UNIFIED IDEOGRAPH
+  {0xAF95, 0x762F}, //7513 #CJK UNIFIED IDEOGRAPH
+  {0xAF96, 0x7631}, //7514 #CJK UNIFIED IDEOGRAPH
+  {0xAF97, 0x7632}, //7515 #CJK UNIFIED IDEOGRAPH
+  {0xAF98, 0x7636}, //7516 #CJK UNIFIED IDEOGRAPH
+  {0xAF99, 0x7637}, //7517 #CJK UNIFIED IDEOGRAPH
+  {0xAF9A, 0x7639}, //7518 #CJK UNIFIED IDEOGRAPH
+  {0xAF9B, 0x763A}, //7519 #CJK UNIFIED IDEOGRAPH
+  {0xAF9C, 0x763B}, //7520 #CJK UNIFIED IDEOGRAPH
+  {0xAF9D, 0x763D}, //7521 #CJK UNIFIED IDEOGRAPH
+  {0xAF9E, 0x7641}, //7522 #CJK UNIFIED IDEOGRAPH
+  {0xAF9F, 0x7642}, //7523 #CJK UNIFIED IDEOGRAPH
+  {0xAFA0, 0x7644}, //7524 #CJK UNIFIED IDEOGRAPH
+  {0xB040, 0x7645}, //7525 #CJK UNIFIED IDEOGRAPH
+  {0xB041, 0x7646}, //7526 #CJK UNIFIED IDEOGRAPH
+  {0xB042, 0x7647}, //7527 #CJK UNIFIED IDEOGRAPH
+  {0xB043, 0x7648}, //7528 #CJK UNIFIED IDEOGRAPH
+  {0xB044, 0x7649}, //7529 #CJK UNIFIED IDEOGRAPH
+  {0xB045, 0x764A}, //7530 #CJK UNIFIED IDEOGRAPH
+  {0xB046, 0x764B}, //7531 #CJK UNIFIED IDEOGRAPH
+  {0xB047, 0x764E}, //7532 #CJK UNIFIED IDEOGRAPH
+  {0xB048, 0x764F}, //7533 #CJK UNIFIED IDEOGRAPH
+  {0xB049, 0x7650}, //7534 #CJK UNIFIED IDEOGRAPH
+  {0xB04A, 0x7651}, //7535 #CJK UNIFIED IDEOGRAPH
+  {0xB04B, 0x7652}, //7536 #CJK UNIFIED IDEOGRAPH
+  {0xB04C, 0x7653}, //7537 #CJK UNIFIED IDEOGRAPH
+  {0xB04D, 0x7655}, //7538 #CJK UNIFIED IDEOGRAPH
+  {0xB04E, 0x7657}, //7539 #CJK UNIFIED IDEOGRAPH
+  {0xB04F, 0x7658}, //7540 #CJK UNIFIED IDEOGRAPH
+  {0xB050, 0x7659}, //7541 #CJK UNIFIED IDEOGRAPH
+  {0xB051, 0x765A}, //7542 #CJK UNIFIED IDEOGRAPH
+  {0xB052, 0x765B}, //7543 #CJK UNIFIED IDEOGRAPH
+  {0xB053, 0x765D}, //7544 #CJK UNIFIED IDEOGRAPH
+  {0xB054, 0x765F}, //7545 #CJK UNIFIED IDEOGRAPH
+  {0xB055, 0x7660}, //7546 #CJK UNIFIED IDEOGRAPH
+  {0xB056, 0x7661}, //7547 #CJK UNIFIED IDEOGRAPH
+  {0xB057, 0x7662}, //7548 #CJK UNIFIED IDEOGRAPH
+  {0xB058, 0x7664}, //7549 #CJK UNIFIED IDEOGRAPH
+  {0xB059, 0x7665}, //7550 #CJK UNIFIED IDEOGRAPH
+  {0xB05A, 0x7666}, //7551 #CJK UNIFIED IDEOGRAPH
+  {0xB05B, 0x7667}, //7552 #CJK UNIFIED IDEOGRAPH
+  {0xB05C, 0x7668}, //7553 #CJK UNIFIED IDEOGRAPH
+  {0xB05D, 0x7669}, //7554 #CJK UNIFIED IDEOGRAPH
+  {0xB05E, 0x766A}, //7555 #CJK UNIFIED IDEOGRAPH
+  {0xB05F, 0x766C}, //7556 #CJK UNIFIED IDEOGRAPH
+  {0xB060, 0x766D}, //7557 #CJK UNIFIED IDEOGRAPH
+  {0xB061, 0x766E}, //7558 #CJK UNIFIED IDEOGRAPH
+  {0xB062, 0x7670}, //7559 #CJK UNIFIED IDEOGRAPH
+  {0xB063, 0x7671}, //7560 #CJK UNIFIED IDEOGRAPH
+  {0xB064, 0x7672}, //7561 #CJK UNIFIED IDEOGRAPH
+  {0xB065, 0x7673}, //7562 #CJK UNIFIED IDEOGRAPH
+  {0xB066, 0x7674}, //7563 #CJK UNIFIED IDEOGRAPH
+  {0xB067, 0x7675}, //7564 #CJK UNIFIED IDEOGRAPH
+  {0xB068, 0x7676}, //7565 #CJK UNIFIED IDEOGRAPH
+  {0xB069, 0x7677}, //7566 #CJK UNIFIED IDEOGRAPH
+  {0xB06A, 0x7679}, //7567 #CJK UNIFIED IDEOGRAPH
+  {0xB06B, 0x767A}, //7568 #CJK UNIFIED IDEOGRAPH
+  {0xB06C, 0x767C}, //7569 #CJK UNIFIED IDEOGRAPH
+  {0xB06D, 0x767F}, //7570 #CJK UNIFIED IDEOGRAPH
+  {0xB06E, 0x7680}, //7571 #CJK UNIFIED IDEOGRAPH
+  {0xB06F, 0x7681}, //7572 #CJK UNIFIED IDEOGRAPH
+  {0xB070, 0x7683}, //7573 #CJK UNIFIED IDEOGRAPH
+  {0xB071, 0x7685}, //7574 #CJK UNIFIED IDEOGRAPH
+  {0xB072, 0x7689}, //7575 #CJK UNIFIED IDEOGRAPH
+  {0xB073, 0x768A}, //7576 #CJK UNIFIED IDEOGRAPH
+  {0xB074, 0x768C}, //7577 #CJK UNIFIED IDEOGRAPH
+  {0xB075, 0x768D}, //7578 #CJK UNIFIED IDEOGRAPH
+  {0xB076, 0x768F}, //7579 #CJK UNIFIED IDEOGRAPH
+  {0xB077, 0x7690}, //7580 #CJK UNIFIED IDEOGRAPH
+  {0xB078, 0x7692}, //7581 #CJK UNIFIED IDEOGRAPH
+  {0xB079, 0x7694}, //7582 #CJK UNIFIED IDEOGRAPH
+  {0xB07A, 0x7695}, //7583 #CJK UNIFIED IDEOGRAPH
+  {0xB07B, 0x7697}, //7584 #CJK UNIFIED IDEOGRAPH
+  {0xB07C, 0x7698}, //7585 #CJK UNIFIED IDEOGRAPH
+  {0xB07D, 0x769A}, //7586 #CJK UNIFIED IDEOGRAPH
+  {0xB07E, 0x769B}, //7587 #CJK UNIFIED IDEOGRAPH
+  {0xB080, 0x769C}, //7588 #CJK UNIFIED IDEOGRAPH
+  {0xB081, 0x769D}, //7589 #CJK UNIFIED IDEOGRAPH
+  {0xB082, 0x769E}, //7590 #CJK UNIFIED IDEOGRAPH
+  {0xB083, 0x769F}, //7591 #CJK UNIFIED IDEOGRAPH
+  {0xB084, 0x76A0}, //7592 #CJK UNIFIED IDEOGRAPH
+  {0xB085, 0x76A1}, //7593 #CJK UNIFIED IDEOGRAPH
+  {0xB086, 0x76A2}, //7594 #CJK UNIFIED IDEOGRAPH
+  {0xB087, 0x76A3}, //7595 #CJK UNIFIED IDEOGRAPH
+  {0xB088, 0x76A5}, //7596 #CJK UNIFIED IDEOGRAPH
+  {0xB089, 0x76A6}, //7597 #CJK UNIFIED IDEOGRAPH
+  {0xB08A, 0x76A7}, //7598 #CJK UNIFIED IDEOGRAPH
+  {0xB08B, 0x76A8}, //7599 #CJK UNIFIED IDEOGRAPH
+  {0xB08C, 0x76A9}, //7600 #CJK UNIFIED IDEOGRAPH
+  {0xB08D, 0x76AA}, //7601 #CJK UNIFIED IDEOGRAPH
+  {0xB08E, 0x76AB}, //7602 #CJK UNIFIED IDEOGRAPH
+  {0xB08F, 0x76AC}, //7603 #CJK UNIFIED IDEOGRAPH
+  {0xB090, 0x76AD}, //7604 #CJK UNIFIED IDEOGRAPH
+  {0xB091, 0x76AF}, //7605 #CJK UNIFIED IDEOGRAPH
+  {0xB092, 0x76B0}, //7606 #CJK UNIFIED IDEOGRAPH
+  {0xB093, 0x76B3}, //7607 #CJK UNIFIED IDEOGRAPH
+  {0xB094, 0x76B5}, //7608 #CJK UNIFIED IDEOGRAPH
+  {0xB095, 0x76B6}, //7609 #CJK UNIFIED IDEOGRAPH
+  {0xB096, 0x76B7}, //7610 #CJK UNIFIED IDEOGRAPH
+  {0xB097, 0x76B8}, //7611 #CJK UNIFIED IDEOGRAPH
+  {0xB098, 0x76B9}, //7612 #CJK UNIFIED IDEOGRAPH
+  {0xB099, 0x76BA}, //7613 #CJK UNIFIED IDEOGRAPH
+  {0xB09A, 0x76BB}, //7614 #CJK UNIFIED IDEOGRAPH
+  {0xB09B, 0x76BC}, //7615 #CJK UNIFIED IDEOGRAPH
+  {0xB09C, 0x76BD}, //7616 #CJK UNIFIED IDEOGRAPH
+  {0xB09D, 0x76BE}, //7617 #CJK UNIFIED IDEOGRAPH
+  {0xB09E, 0x76C0}, //7618 #CJK UNIFIED IDEOGRAPH
+  {0xB09F, 0x76C1}, //7619 #CJK UNIFIED IDEOGRAPH
+  {0xB0A0, 0x76C3}, //7620 #CJK UNIFIED IDEOGRAPH
+  {0xB0A1, 0x554A}, //7621 #CJK UNIFIED IDEOGRAPH
+  {0xB0A2, 0x963F}, //7622 #CJK UNIFIED IDEOGRAPH
+  {0xB0A3, 0x57C3}, //7623 #CJK UNIFIED IDEOGRAPH
+  {0xB0A4, 0x6328}, //7624 #CJK UNIFIED IDEOGRAPH
+  {0xB0A5, 0x54CE}, //7625 #CJK UNIFIED IDEOGRAPH
+  {0xB0A6, 0x5509}, //7626 #CJK UNIFIED IDEOGRAPH
+  {0xB0A7, 0x54C0}, //7627 #CJK UNIFIED IDEOGRAPH
+  {0xB0A8, 0x7691}, //7628 #CJK UNIFIED IDEOGRAPH
+  {0xB0A9, 0x764C}, //7629 #CJK UNIFIED IDEOGRAPH
+  {0xB0AA, 0x853C}, //7630 #CJK UNIFIED IDEOGRAPH
+  {0xB0AB, 0x77EE}, //7631 #CJK UNIFIED IDEOGRAPH
+  {0xB0AC, 0x827E}, //7632 #CJK UNIFIED IDEOGRAPH
+  {0xB0AD, 0x788D}, //7633 #CJK UNIFIED IDEOGRAPH
+  {0xB0AE, 0x7231}, //7634 #CJK UNIFIED IDEOGRAPH
+  {0xB0AF, 0x9698}, //7635 #CJK UNIFIED IDEOGRAPH
+  {0xB0B0, 0x978D}, //7636 #CJK UNIFIED IDEOGRAPH
+  {0xB0B1, 0x6C28}, //7637 #CJK UNIFIED IDEOGRAPH
+  {0xB0B2, 0x5B89}, //7638 #CJK UNIFIED IDEOGRAPH
+  {0xB0B3, 0x4FFA}, //7639 #CJK UNIFIED IDEOGRAPH
+  {0xB0B4, 0x6309}, //7640 #CJK UNIFIED IDEOGRAPH
+  {0xB0B5, 0x6697}, //7641 #CJK UNIFIED IDEOGRAPH
+  {0xB0B6, 0x5CB8}, //7642 #CJK UNIFIED IDEOGRAPH
+  {0xB0B7, 0x80FA}, //7643 #CJK UNIFIED IDEOGRAPH
+  {0xB0B8, 0x6848}, //7644 #CJK UNIFIED IDEOGRAPH
+  {0xB0B9, 0x80AE}, //7645 #CJK UNIFIED IDEOGRAPH
+  {0xB0BA, 0x6602}, //7646 #CJK UNIFIED IDEOGRAPH
+  {0xB0BB, 0x76CE}, //7647 #CJK UNIFIED IDEOGRAPH
+  {0xB0BC, 0x51F9}, //7648 #CJK UNIFIED IDEOGRAPH
+  {0xB0BD, 0x6556}, //7649 #CJK UNIFIED IDEOGRAPH
+  {0xB0BE, 0x71AC}, //7650 #CJK UNIFIED IDEOGRAPH
+  {0xB0BF, 0x7FF1}, //7651 #CJK UNIFIED IDEOGRAPH
+  {0xB0C0, 0x8884}, //7652 #CJK UNIFIED IDEOGRAPH
+  {0xB0C1, 0x50B2}, //7653 #CJK UNIFIED IDEOGRAPH
+  {0xB0C2, 0x5965}, //7654 #CJK UNIFIED IDEOGRAPH
+  {0xB0C3, 0x61CA}, //7655 #CJK UNIFIED IDEOGRAPH
+  {0xB0C4, 0x6FB3}, //7656 #CJK UNIFIED IDEOGRAPH
+  {0xB0C5, 0x82AD}, //7657 #CJK UNIFIED IDEOGRAPH
+  {0xB0C6, 0x634C}, //7658 #CJK UNIFIED IDEOGRAPH
+  {0xB0C7, 0x6252}, //7659 #CJK UNIFIED IDEOGRAPH
+  {0xB0C8, 0x53ED}, //7660 #CJK UNIFIED IDEOGRAPH
+  {0xB0C9, 0x5427}, //7661 #CJK UNIFIED IDEOGRAPH
+  {0xB0CA, 0x7B06}, //7662 #CJK UNIFIED IDEOGRAPH
+  {0xB0CB, 0x516B}, //7663 #CJK UNIFIED IDEOGRAPH
+  {0xB0CC, 0x75A4}, //7664 #CJK UNIFIED IDEOGRAPH
+  {0xB0CD, 0x5DF4}, //7665 #CJK UNIFIED IDEOGRAPH
+  {0xB0CE, 0x62D4}, //7666 #CJK UNIFIED IDEOGRAPH
+  {0xB0CF, 0x8DCB}, //7667 #CJK UNIFIED IDEOGRAPH
+  {0xB0D0, 0x9776}, //7668 #CJK UNIFIED IDEOGRAPH
+  {0xB0D1, 0x628A}, //7669 #CJK UNIFIED IDEOGRAPH
+  {0xB0D2, 0x8019}, //7670 #CJK UNIFIED IDEOGRAPH
+  {0xB0D3, 0x575D}, //7671 #CJK UNIFIED IDEOGRAPH
+  {0xB0D4, 0x9738}, //7672 #CJK UNIFIED IDEOGRAPH
+  {0xB0D5, 0x7F62}, //7673 #CJK UNIFIED IDEOGRAPH
+  {0xB0D6, 0x7238}, //7674 #CJK UNIFIED IDEOGRAPH
+  {0xB0D7, 0x767D}, //7675 #CJK UNIFIED IDEOGRAPH
+  {0xB0D8, 0x67CF}, //7676 #CJK UNIFIED IDEOGRAPH
+  {0xB0D9, 0x767E}, //7677 #CJK UNIFIED IDEOGRAPH
+  {0xB0DA, 0x6446}, //7678 #CJK UNIFIED IDEOGRAPH
+  {0xB0DB, 0x4F70}, //7679 #CJK UNIFIED IDEOGRAPH
+  {0xB0DC, 0x8D25}, //7680 #CJK UNIFIED IDEOGRAPH
+  {0xB0DD, 0x62DC}, //7681 #CJK UNIFIED IDEOGRAPH
+  {0xB0DE, 0x7A17}, //7682 #CJK UNIFIED IDEOGRAPH
+  {0xB0DF, 0x6591}, //7683 #CJK UNIFIED IDEOGRAPH
+  {0xB0E0, 0x73ED}, //7684 #CJK UNIFIED IDEOGRAPH
+  {0xB0E1, 0x642C}, //7685 #CJK UNIFIED IDEOGRAPH
+  {0xB0E2, 0x6273}, //7686 #CJK UNIFIED IDEOGRAPH
+  {0xB0E3, 0x822C}, //7687 #CJK UNIFIED IDEOGRAPH
+  {0xB0E4, 0x9881}, //7688 #CJK UNIFIED IDEOGRAPH
+  {0xB0E5, 0x677F}, //7689 #CJK UNIFIED IDEOGRAPH
+  {0xB0E6, 0x7248}, //7690 #CJK UNIFIED IDEOGRAPH
+  {0xB0E7, 0x626E}, //7691 #CJK UNIFIED IDEOGRAPH
+  {0xB0E8, 0x62CC}, //7692 #CJK UNIFIED IDEOGRAPH
+  {0xB0E9, 0x4F34}, //7693 #CJK UNIFIED IDEOGRAPH
+  {0xB0EA, 0x74E3}, //7694 #CJK UNIFIED IDEOGRAPH
+  {0xB0EB, 0x534A}, //7695 #CJK UNIFIED IDEOGRAPH
+  {0xB0EC, 0x529E}, //7696 #CJK UNIFIED IDEOGRAPH
+  {0xB0ED, 0x7ECA}, //7697 #CJK UNIFIED IDEOGRAPH
+  {0xB0EE, 0x90A6}, //7698 #CJK UNIFIED IDEOGRAPH
+  {0xB0EF, 0x5E2E}, //7699 #CJK UNIFIED IDEOGRAPH
+  {0xB0F0, 0x6886}, //7700 #CJK UNIFIED IDEOGRAPH
+  {0xB0F1, 0x699C}, //7701 #CJK UNIFIED IDEOGRAPH
+  {0xB0F2, 0x8180}, //7702 #CJK UNIFIED IDEOGRAPH
+  {0xB0F3, 0x7ED1}, //7703 #CJK UNIFIED IDEOGRAPH
+  {0xB0F4, 0x68D2}, //7704 #CJK UNIFIED IDEOGRAPH
+  {0xB0F5, 0x78C5}, //7705 #CJK UNIFIED IDEOGRAPH
+  {0xB0F6, 0x868C}, //7706 #CJK UNIFIED IDEOGRAPH
+  {0xB0F7, 0x9551}, //7707 #CJK UNIFIED IDEOGRAPH
+  {0xB0F8, 0x508D}, //7708 #CJK UNIFIED IDEOGRAPH
+  {0xB0F9, 0x8C24}, //7709 #CJK UNIFIED IDEOGRAPH
+  {0xB0FA, 0x82DE}, //7710 #CJK UNIFIED IDEOGRAPH
+  {0xB0FB, 0x80DE}, //7711 #CJK UNIFIED IDEOGRAPH
+  {0xB0FC, 0x5305}, //7712 #CJK UNIFIED IDEOGRAPH
+  {0xB0FD, 0x8912}, //7713 #CJK UNIFIED IDEOGRAPH
+  {0xB0FE, 0x5265}, //7714 #CJK UNIFIED IDEOGRAPH
+  {0xB140, 0x76C4}, //7715 #CJK UNIFIED IDEOGRAPH
+  {0xB141, 0x76C7}, //7716 #CJK UNIFIED IDEOGRAPH
+  {0xB142, 0x76C9}, //7717 #CJK UNIFIED IDEOGRAPH
+  {0xB143, 0x76CB}, //7718 #CJK UNIFIED IDEOGRAPH
+  {0xB144, 0x76CC}, //7719 #CJK UNIFIED IDEOGRAPH
+  {0xB145, 0x76D3}, //7720 #CJK UNIFIED IDEOGRAPH
+  {0xB146, 0x76D5}, //7721 #CJK UNIFIED IDEOGRAPH
+  {0xB147, 0x76D9}, //7722 #CJK UNIFIED IDEOGRAPH
+  {0xB148, 0x76DA}, //7723 #CJK UNIFIED IDEOGRAPH
+  {0xB149, 0x76DC}, //7724 #CJK UNIFIED IDEOGRAPH
+  {0xB14A, 0x76DD}, //7725 #CJK UNIFIED IDEOGRAPH
+  {0xB14B, 0x76DE}, //7726 #CJK UNIFIED IDEOGRAPH
+  {0xB14C, 0x76E0}, //7727 #CJK UNIFIED IDEOGRAPH
+  {0xB14D, 0x76E1}, //7728 #CJK UNIFIED IDEOGRAPH
+  {0xB14E, 0x76E2}, //7729 #CJK UNIFIED IDEOGRAPH
+  {0xB14F, 0x76E3}, //7730 #CJK UNIFIED IDEOGRAPH
+  {0xB150, 0x76E4}, //7731 #CJK UNIFIED IDEOGRAPH
+  {0xB151, 0x76E6}, //7732 #CJK UNIFIED IDEOGRAPH
+  {0xB152, 0x76E7}, //7733 #CJK UNIFIED IDEOGRAPH
+  {0xB153, 0x76E8}, //7734 #CJK UNIFIED IDEOGRAPH
+  {0xB154, 0x76E9}, //7735 #CJK UNIFIED IDEOGRAPH
+  {0xB155, 0x76EA}, //7736 #CJK UNIFIED IDEOGRAPH
+  {0xB156, 0x76EB}, //7737 #CJK UNIFIED IDEOGRAPH
+  {0xB157, 0x76EC}, //7738 #CJK UNIFIED IDEOGRAPH
+  {0xB158, 0x76ED}, //7739 #CJK UNIFIED IDEOGRAPH
+  {0xB159, 0x76F0}, //7740 #CJK UNIFIED IDEOGRAPH
+  {0xB15A, 0x76F3}, //7741 #CJK UNIFIED IDEOGRAPH
+  {0xB15B, 0x76F5}, //7742 #CJK UNIFIED IDEOGRAPH
+  {0xB15C, 0x76F6}, //7743 #CJK UNIFIED IDEOGRAPH
+  {0xB15D, 0x76F7}, //7744 #CJK UNIFIED IDEOGRAPH
+  {0xB15E, 0x76FA}, //7745 #CJK UNIFIED IDEOGRAPH
+  {0xB15F, 0x76FB}, //7746 #CJK UNIFIED IDEOGRAPH
+  {0xB160, 0x76FD}, //7747 #CJK UNIFIED IDEOGRAPH
+  {0xB161, 0x76FF}, //7748 #CJK UNIFIED IDEOGRAPH
+  {0xB162, 0x7700}, //7749 #CJK UNIFIED IDEOGRAPH
+  {0xB163, 0x7702}, //7750 #CJK UNIFIED IDEOGRAPH
+  {0xB164, 0x7703}, //7751 #CJK UNIFIED IDEOGRAPH
+  {0xB165, 0x7705}, //7752 #CJK UNIFIED IDEOGRAPH
+  {0xB166, 0x7706}, //7753 #CJK UNIFIED IDEOGRAPH
+  {0xB167, 0x770A}, //7754 #CJK UNIFIED IDEOGRAPH
+  {0xB168, 0x770C}, //7755 #CJK UNIFIED IDEOGRAPH
+  {0xB169, 0x770E}, //7756 #CJK UNIFIED IDEOGRAPH
+  {0xB16A, 0x770F}, //7757 #CJK UNIFIED IDEOGRAPH
+  {0xB16B, 0x7710}, //7758 #CJK UNIFIED IDEOGRAPH
+  {0xB16C, 0x7711}, //7759 #CJK UNIFIED IDEOGRAPH
+  {0xB16D, 0x7712}, //7760 #CJK UNIFIED IDEOGRAPH
+  {0xB16E, 0x7713}, //7761 #CJK UNIFIED IDEOGRAPH
+  {0xB16F, 0x7714}, //7762 #CJK UNIFIED IDEOGRAPH
+  {0xB170, 0x7715}, //7763 #CJK UNIFIED IDEOGRAPH
+  {0xB171, 0x7716}, //7764 #CJK UNIFIED IDEOGRAPH
+  {0xB172, 0x7717}, //7765 #CJK UNIFIED IDEOGRAPH
+  {0xB173, 0x7718}, //7766 #CJK UNIFIED IDEOGRAPH
+  {0xB174, 0x771B}, //7767 #CJK UNIFIED IDEOGRAPH
+  {0xB175, 0x771C}, //7768 #CJK UNIFIED IDEOGRAPH
+  {0xB176, 0x771D}, //7769 #CJK UNIFIED IDEOGRAPH
+  {0xB177, 0x771E}, //7770 #CJK UNIFIED IDEOGRAPH
+  {0xB178, 0x7721}, //7771 #CJK UNIFIED IDEOGRAPH
+  {0xB179, 0x7723}, //7772 #CJK UNIFIED IDEOGRAPH
+  {0xB17A, 0x7724}, //7773 #CJK UNIFIED IDEOGRAPH
+  {0xB17B, 0x7725}, //7774 #CJK UNIFIED IDEOGRAPH
+  {0xB17C, 0x7727}, //7775 #CJK UNIFIED IDEOGRAPH
+  {0xB17D, 0x772A}, //7776 #CJK UNIFIED IDEOGRAPH
+  {0xB17E, 0x772B}, //7777 #CJK UNIFIED IDEOGRAPH
+  {0xB180, 0x772C}, //7778 #CJK UNIFIED IDEOGRAPH
+  {0xB181, 0x772E}, //7779 #CJK UNIFIED IDEOGRAPH
+  {0xB182, 0x7730}, //7780 #CJK UNIFIED IDEOGRAPH
+  {0xB183, 0x7731}, //7781 #CJK UNIFIED IDEOGRAPH
+  {0xB184, 0x7732}, //7782 #CJK UNIFIED IDEOGRAPH
+  {0xB185, 0x7733}, //7783 #CJK UNIFIED IDEOGRAPH
+  {0xB186, 0x7734}, //7784 #CJK UNIFIED IDEOGRAPH
+  {0xB187, 0x7739}, //7785 #CJK UNIFIED IDEOGRAPH
+  {0xB188, 0x773B}, //7786 #CJK UNIFIED IDEOGRAPH
+  {0xB189, 0x773D}, //7787 #CJK UNIFIED IDEOGRAPH
+  {0xB18A, 0x773E}, //7788 #CJK UNIFIED IDEOGRAPH
+  {0xB18B, 0x773F}, //7789 #CJK UNIFIED IDEOGRAPH
+  {0xB18C, 0x7742}, //7790 #CJK UNIFIED IDEOGRAPH
+  {0xB18D, 0x7744}, //7791 #CJK UNIFIED IDEOGRAPH
+  {0xB18E, 0x7745}, //7792 #CJK UNIFIED IDEOGRAPH
+  {0xB18F, 0x7746}, //7793 #CJK UNIFIED IDEOGRAPH
+  {0xB190, 0x7748}, //7794 #CJK UNIFIED IDEOGRAPH
+  {0xB191, 0x7749}, //7795 #CJK UNIFIED IDEOGRAPH
+  {0xB192, 0x774A}, //7796 #CJK UNIFIED IDEOGRAPH
+  {0xB193, 0x774B}, //7797 #CJK UNIFIED IDEOGRAPH
+  {0xB194, 0x774C}, //7798 #CJK UNIFIED IDEOGRAPH
+  {0xB195, 0x774D}, //7799 #CJK UNIFIED IDEOGRAPH
+  {0xB196, 0x774E}, //7800 #CJK UNIFIED IDEOGRAPH
+  {0xB197, 0x774F}, //7801 #CJK UNIFIED IDEOGRAPH
+  {0xB198, 0x7752}, //7802 #CJK UNIFIED IDEOGRAPH
+  {0xB199, 0x7753}, //7803 #CJK UNIFIED IDEOGRAPH
+  {0xB19A, 0x7754}, //7804 #CJK UNIFIED IDEOGRAPH
+  {0xB19B, 0x7755}, //7805 #CJK UNIFIED IDEOGRAPH
+  {0xB19C, 0x7756}, //7806 #CJK UNIFIED IDEOGRAPH
+  {0xB19D, 0x7757}, //7807 #CJK UNIFIED IDEOGRAPH
+  {0xB19E, 0x7758}, //7808 #CJK UNIFIED IDEOGRAPH
+  {0xB19F, 0x7759}, //7809 #CJK UNIFIED IDEOGRAPH
+  {0xB1A0, 0x775C}, //7810 #CJK UNIFIED IDEOGRAPH
+  {0xB1A1, 0x8584}, //7811 #CJK UNIFIED IDEOGRAPH
+  {0xB1A2, 0x96F9}, //7812 #CJK UNIFIED IDEOGRAPH
+  {0xB1A3, 0x4FDD}, //7813 #CJK UNIFIED IDEOGRAPH
+  {0xB1A4, 0x5821}, //7814 #CJK UNIFIED IDEOGRAPH
+  {0xB1A5, 0x9971}, //7815 #CJK UNIFIED IDEOGRAPH
+  {0xB1A6, 0x5B9D}, //7816 #CJK UNIFIED IDEOGRAPH
+  {0xB1A7, 0x62B1}, //7817 #CJK UNIFIED IDEOGRAPH
+  {0xB1A8, 0x62A5}, //7818 #CJK UNIFIED IDEOGRAPH
+  {0xB1A9, 0x66B4}, //7819 #CJK UNIFIED IDEOGRAPH
+  {0xB1AA, 0x8C79}, //7820 #CJK UNIFIED IDEOGRAPH
+  {0xB1AB, 0x9C8D}, //7821 #CJK UNIFIED IDEOGRAPH
+  {0xB1AC, 0x7206}, //7822 #CJK UNIFIED IDEOGRAPH
+  {0xB1AD, 0x676F}, //7823 #CJK UNIFIED IDEOGRAPH
+  {0xB1AE, 0x7891}, //7824 #CJK UNIFIED IDEOGRAPH
+  {0xB1AF, 0x60B2}, //7825 #CJK UNIFIED IDEOGRAPH
+  {0xB1B0, 0x5351}, //7826 #CJK UNIFIED IDEOGRAPH
+  {0xB1B1, 0x5317}, //7827 #CJK UNIFIED IDEOGRAPH
+  {0xB1B2, 0x8F88}, //7828 #CJK UNIFIED IDEOGRAPH
+  {0xB1B3, 0x80CC}, //7829 #CJK UNIFIED IDEOGRAPH
+  {0xB1B4, 0x8D1D}, //7830 #CJK UNIFIED IDEOGRAPH
+  {0xB1B5, 0x94A1}, //7831 #CJK UNIFIED IDEOGRAPH
+  {0xB1B6, 0x500D}, //7832 #CJK UNIFIED IDEOGRAPH
+  {0xB1B7, 0x72C8}, //7833 #CJK UNIFIED IDEOGRAPH
+  {0xB1B8, 0x5907}, //7834 #CJK UNIFIED IDEOGRAPH
+  {0xB1B9, 0x60EB}, //7835 #CJK UNIFIED IDEOGRAPH
+  {0xB1BA, 0x7119}, //7836 #CJK UNIFIED IDEOGRAPH
+  {0xB1BB, 0x88AB}, //7837 #CJK UNIFIED IDEOGRAPH
+  {0xB1BC, 0x5954}, //7838 #CJK UNIFIED IDEOGRAPH
+  {0xB1BD, 0x82EF}, //7839 #CJK UNIFIED IDEOGRAPH
+  {0xB1BE, 0x672C}, //7840 #CJK UNIFIED IDEOGRAPH
+  {0xB1BF, 0x7B28}, //7841 #CJK UNIFIED IDEOGRAPH
+  {0xB1C0, 0x5D29}, //7842 #CJK UNIFIED IDEOGRAPH
+  {0xB1C1, 0x7EF7}, //7843 #CJK UNIFIED IDEOGRAPH
+  {0xB1C2, 0x752D}, //7844 #CJK UNIFIED IDEOGRAPH
+  {0xB1C3, 0x6CF5}, //7845 #CJK UNIFIED IDEOGRAPH
+  {0xB1C4, 0x8E66}, //7846 #CJK UNIFIED IDEOGRAPH
+  {0xB1C5, 0x8FF8}, //7847 #CJK UNIFIED IDEOGRAPH
+  {0xB1C6, 0x903C}, //7848 #CJK UNIFIED IDEOGRAPH
+  {0xB1C7, 0x9F3B}, //7849 #CJK UNIFIED IDEOGRAPH
+  {0xB1C8, 0x6BD4}, //7850 #CJK UNIFIED IDEOGRAPH
+  {0xB1C9, 0x9119}, //7851 #CJK UNIFIED IDEOGRAPH
+  {0xB1CA, 0x7B14}, //7852 #CJK UNIFIED IDEOGRAPH
+  {0xB1CB, 0x5F7C}, //7853 #CJK UNIFIED IDEOGRAPH
+  {0xB1CC, 0x78A7}, //7854 #CJK UNIFIED IDEOGRAPH
+  {0xB1CD, 0x84D6}, //7855 #CJK UNIFIED IDEOGRAPH
+  {0xB1CE, 0x853D}, //7856 #CJK UNIFIED IDEOGRAPH
+  {0xB1CF, 0x6BD5}, //7857 #CJK UNIFIED IDEOGRAPH
+  {0xB1D0, 0x6BD9}, //7858 #CJK UNIFIED IDEOGRAPH
+  {0xB1D1, 0x6BD6}, //7859 #CJK UNIFIED IDEOGRAPH
+  {0xB1D2, 0x5E01}, //7860 #CJK UNIFIED IDEOGRAPH
+  {0xB1D3, 0x5E87}, //7861 #CJK UNIFIED IDEOGRAPH
+  {0xB1D4, 0x75F9}, //7862 #CJK UNIFIED IDEOGRAPH
+  {0xB1D5, 0x95ED}, //7863 #CJK UNIFIED IDEOGRAPH
+  {0xB1D6, 0x655D}, //7864 #CJK UNIFIED IDEOGRAPH
+  {0xB1D7, 0x5F0A}, //7865 #CJK UNIFIED IDEOGRAPH
+  {0xB1D8, 0x5FC5}, //7866 #CJK UNIFIED IDEOGRAPH
+  {0xB1D9, 0x8F9F}, //7867 #CJK UNIFIED IDEOGRAPH
+  {0xB1DA, 0x58C1}, //7868 #CJK UNIFIED IDEOGRAPH
+  {0xB1DB, 0x81C2}, //7869 #CJK UNIFIED IDEOGRAPH
+  {0xB1DC, 0x907F}, //7870 #CJK UNIFIED IDEOGRAPH
+  {0xB1DD, 0x965B}, //7871 #CJK UNIFIED IDEOGRAPH
+  {0xB1DE, 0x97AD}, //7872 #CJK UNIFIED IDEOGRAPH
+  {0xB1DF, 0x8FB9}, //7873 #CJK UNIFIED IDEOGRAPH
+  {0xB1E0, 0x7F16}, //7874 #CJK UNIFIED IDEOGRAPH
+  {0xB1E1, 0x8D2C}, //7875 #CJK UNIFIED IDEOGRAPH
+  {0xB1E2, 0x6241}, //7876 #CJK UNIFIED IDEOGRAPH
+  {0xB1E3, 0x4FBF}, //7877 #CJK UNIFIED IDEOGRAPH
+  {0xB1E4, 0x53D8}, //7878 #CJK UNIFIED IDEOGRAPH
+  {0xB1E5, 0x535E}, //7879 #CJK UNIFIED IDEOGRAPH
+  {0xB1E6, 0x8FA8}, //7880 #CJK UNIFIED IDEOGRAPH
+  {0xB1E7, 0x8FA9}, //7881 #CJK UNIFIED IDEOGRAPH
+  {0xB1E8, 0x8FAB}, //7882 #CJK UNIFIED IDEOGRAPH
+  {0xB1E9, 0x904D}, //7883 #CJK UNIFIED IDEOGRAPH
+  {0xB1EA, 0x6807}, //7884 #CJK UNIFIED IDEOGRAPH
+  {0xB1EB, 0x5F6A}, //7885 #CJK UNIFIED IDEOGRAPH
+  {0xB1EC, 0x8198}, //7886 #CJK UNIFIED IDEOGRAPH
+  {0xB1ED, 0x8868}, //7887 #CJK UNIFIED IDEOGRAPH
+  {0xB1EE, 0x9CD6}, //7888 #CJK UNIFIED IDEOGRAPH
+  {0xB1EF, 0x618B}, //7889 #CJK UNIFIED IDEOGRAPH
+  {0xB1F0, 0x522B}, //7890 #CJK UNIFIED IDEOGRAPH
+  {0xB1F1, 0x762A}, //7891 #CJK UNIFIED IDEOGRAPH
+  {0xB1F2, 0x5F6C}, //7892 #CJK UNIFIED IDEOGRAPH
+  {0xB1F3, 0x658C}, //7893 #CJK UNIFIED IDEOGRAPH
+  {0xB1F4, 0x6FD2}, //7894 #CJK UNIFIED IDEOGRAPH
+  {0xB1F5, 0x6EE8}, //7895 #CJK UNIFIED IDEOGRAPH
+  {0xB1F6, 0x5BBE}, //7896 #CJK UNIFIED IDEOGRAPH
+  {0xB1F7, 0x6448}, //7897 #CJK UNIFIED IDEOGRAPH
+  {0xB1F8, 0x5175}, //7898 #CJK UNIFIED IDEOGRAPH
+  {0xB1F9, 0x51B0}, //7899 #CJK UNIFIED IDEOGRAPH
+  {0xB1FA, 0x67C4}, //7900 #CJK UNIFIED IDEOGRAPH
+  {0xB1FB, 0x4E19}, //7901 #CJK UNIFIED IDEOGRAPH
+  {0xB1FC, 0x79C9}, //7902 #CJK UNIFIED IDEOGRAPH
+  {0xB1FD, 0x997C}, //7903 #CJK UNIFIED IDEOGRAPH
+  {0xB1FE, 0x70B3}, //7904 #CJK UNIFIED IDEOGRAPH
+  {0xB240, 0x775D}, //7905 #CJK UNIFIED IDEOGRAPH
+  {0xB241, 0x775E}, //7906 #CJK UNIFIED IDEOGRAPH
+  {0xB242, 0x775F}, //7907 #CJK UNIFIED IDEOGRAPH
+  {0xB243, 0x7760}, //7908 #CJK UNIFIED IDEOGRAPH
+  {0xB244, 0x7764}, //7909 #CJK UNIFIED IDEOGRAPH
+  {0xB245, 0x7767}, //7910 #CJK UNIFIED IDEOGRAPH
+  {0xB246, 0x7769}, //7911 #CJK UNIFIED IDEOGRAPH
+  {0xB247, 0x776A}, //7912 #CJK UNIFIED IDEOGRAPH
+  {0xB248, 0x776D}, //7913 #CJK UNIFIED IDEOGRAPH
+  {0xB249, 0x776E}, //7914 #CJK UNIFIED IDEOGRAPH
+  {0xB24A, 0x776F}, //7915 #CJK UNIFIED IDEOGRAPH
+  {0xB24B, 0x7770}, //7916 #CJK UNIFIED IDEOGRAPH
+  {0xB24C, 0x7771}, //7917 #CJK UNIFIED IDEOGRAPH
+  {0xB24D, 0x7772}, //7918 #CJK UNIFIED IDEOGRAPH
+  {0xB24E, 0x7773}, //7919 #CJK UNIFIED IDEOGRAPH
+  {0xB24F, 0x7774}, //7920 #CJK UNIFIED IDEOGRAPH
+  {0xB250, 0x7775}, //7921 #CJK UNIFIED IDEOGRAPH
+  {0xB251, 0x7776}, //7922 #CJK UNIFIED IDEOGRAPH
+  {0xB252, 0x7777}, //7923 #CJK UNIFIED IDEOGRAPH
+  {0xB253, 0x7778}, //7924 #CJK UNIFIED IDEOGRAPH
+  {0xB254, 0x777A}, //7925 #CJK UNIFIED IDEOGRAPH
+  {0xB255, 0x777B}, //7926 #CJK UNIFIED IDEOGRAPH
+  {0xB256, 0x777C}, //7927 #CJK UNIFIED IDEOGRAPH
+  {0xB257, 0x7781}, //7928 #CJK UNIFIED IDEOGRAPH
+  {0xB258, 0x7782}, //7929 #CJK UNIFIED IDEOGRAPH
+  {0xB259, 0x7783}, //7930 #CJK UNIFIED IDEOGRAPH
+  {0xB25A, 0x7786}, //7931 #CJK UNIFIED IDEOGRAPH
+  {0xB25B, 0x7787}, //7932 #CJK UNIFIED IDEOGRAPH
+  {0xB25C, 0x7788}, //7933 #CJK UNIFIED IDEOGRAPH
+  {0xB25D, 0x7789}, //7934 #CJK UNIFIED IDEOGRAPH
+  {0xB25E, 0x778A}, //7935 #CJK UNIFIED IDEOGRAPH
+  {0xB25F, 0x778B}, //7936 #CJK UNIFIED IDEOGRAPH
+  {0xB260, 0x778F}, //7937 #CJK UNIFIED IDEOGRAPH
+  {0xB261, 0x7790}, //7938 #CJK UNIFIED IDEOGRAPH
+  {0xB262, 0x7793}, //7939 #CJK UNIFIED IDEOGRAPH
+  {0xB263, 0x7794}, //7940 #CJK UNIFIED IDEOGRAPH
+  {0xB264, 0x7795}, //7941 #CJK UNIFIED IDEOGRAPH
+  {0xB265, 0x7796}, //7942 #CJK UNIFIED IDEOGRAPH
+  {0xB266, 0x7797}, //7943 #CJK UNIFIED IDEOGRAPH
+  {0xB267, 0x7798}, //7944 #CJK UNIFIED IDEOGRAPH
+  {0xB268, 0x7799}, //7945 #CJK UNIFIED IDEOGRAPH
+  {0xB269, 0x779A}, //7946 #CJK UNIFIED IDEOGRAPH
+  {0xB26A, 0x779B}, //7947 #CJK UNIFIED IDEOGRAPH
+  {0xB26B, 0x779C}, //7948 #CJK UNIFIED IDEOGRAPH
+  {0xB26C, 0x779D}, //7949 #CJK UNIFIED IDEOGRAPH
+  {0xB26D, 0x779E}, //7950 #CJK UNIFIED IDEOGRAPH
+  {0xB26E, 0x77A1}, //7951 #CJK UNIFIED IDEOGRAPH
+  {0xB26F, 0x77A3}, //7952 #CJK UNIFIED IDEOGRAPH
+  {0xB270, 0x77A4}, //7953 #CJK UNIFIED IDEOGRAPH
+  {0xB271, 0x77A6}, //7954 #CJK UNIFIED IDEOGRAPH
+  {0xB272, 0x77A8}, //7955 #CJK UNIFIED IDEOGRAPH
+  {0xB273, 0x77AB}, //7956 #CJK UNIFIED IDEOGRAPH
+  {0xB274, 0x77AD}, //7957 #CJK UNIFIED IDEOGRAPH
+  {0xB275, 0x77AE}, //7958 #CJK UNIFIED IDEOGRAPH
+  {0xB276, 0x77AF}, //7959 #CJK UNIFIED IDEOGRAPH
+  {0xB277, 0x77B1}, //7960 #CJK UNIFIED IDEOGRAPH
+  {0xB278, 0x77B2}, //7961 #CJK UNIFIED IDEOGRAPH
+  {0xB279, 0x77B4}, //7962 #CJK UNIFIED IDEOGRAPH
+  {0xB27A, 0x77B6}, //7963 #CJK UNIFIED IDEOGRAPH
+  {0xB27B, 0x77B7}, //7964 #CJK UNIFIED IDEOGRAPH
+  {0xB27C, 0x77B8}, //7965 #CJK UNIFIED IDEOGRAPH
+  {0xB27D, 0x77B9}, //7966 #CJK UNIFIED IDEOGRAPH
+  {0xB27E, 0x77BA}, //7967 #CJK UNIFIED IDEOGRAPH
+  {0xB280, 0x77BC}, //7968 #CJK UNIFIED IDEOGRAPH
+  {0xB281, 0x77BE}, //7969 #CJK UNIFIED IDEOGRAPH
+  {0xB282, 0x77C0}, //7970 #CJK UNIFIED IDEOGRAPH
+  {0xB283, 0x77C1}, //7971 #CJK UNIFIED IDEOGRAPH
+  {0xB284, 0x77C2}, //7972 #CJK UNIFIED IDEOGRAPH
+  {0xB285, 0x77C3}, //7973 #CJK UNIFIED IDEOGRAPH
+  {0xB286, 0x77C4}, //7974 #CJK UNIFIED IDEOGRAPH
+  {0xB287, 0x77C5}, //7975 #CJK UNIFIED IDEOGRAPH
+  {0xB288, 0x77C6}, //7976 #CJK UNIFIED IDEOGRAPH
+  {0xB289, 0x77C7}, //7977 #CJK UNIFIED IDEOGRAPH
+  {0xB28A, 0x77C8}, //7978 #CJK UNIFIED IDEOGRAPH
+  {0xB28B, 0x77C9}, //7979 #CJK UNIFIED IDEOGRAPH
+  {0xB28C, 0x77CA}, //7980 #CJK UNIFIED IDEOGRAPH
+  {0xB28D, 0x77CB}, //7981 #CJK UNIFIED IDEOGRAPH
+  {0xB28E, 0x77CC}, //7982 #CJK UNIFIED IDEOGRAPH
+  {0xB28F, 0x77CE}, //7983 #CJK UNIFIED IDEOGRAPH
+  {0xB290, 0x77CF}, //7984 #CJK UNIFIED IDEOGRAPH
+  {0xB291, 0x77D0}, //7985 #CJK UNIFIED IDEOGRAPH
+  {0xB292, 0x77D1}, //7986 #CJK UNIFIED IDEOGRAPH
+  {0xB293, 0x77D2}, //7987 #CJK UNIFIED IDEOGRAPH
+  {0xB294, 0x77D3}, //7988 #CJK UNIFIED IDEOGRAPH
+  {0xB295, 0x77D4}, //7989 #CJK UNIFIED IDEOGRAPH
+  {0xB296, 0x77D5}, //7990 #CJK UNIFIED IDEOGRAPH
+  {0xB297, 0x77D6}, //7991 #CJK UNIFIED IDEOGRAPH
+  {0xB298, 0x77D8}, //7992 #CJK UNIFIED IDEOGRAPH
+  {0xB299, 0x77D9}, //7993 #CJK UNIFIED IDEOGRAPH
+  {0xB29A, 0x77DA}, //7994 #CJK UNIFIED IDEOGRAPH
+  {0xB29B, 0x77DD}, //7995 #CJK UNIFIED IDEOGRAPH
+  {0xB29C, 0x77DE}, //7996 #CJK UNIFIED IDEOGRAPH
+  {0xB29D, 0x77DF}, //7997 #CJK UNIFIED IDEOGRAPH
+  {0xB29E, 0x77E0}, //7998 #CJK UNIFIED IDEOGRAPH
+  {0xB29F, 0x77E1}, //7999 #CJK UNIFIED IDEOGRAPH
+  {0xB2A0, 0x77E4}, //8000 #CJK UNIFIED IDEOGRAPH
+  {0xB2A1, 0x75C5}, //8001 #CJK UNIFIED IDEOGRAPH
+  {0xB2A2, 0x5E76}, //8002 #CJK UNIFIED IDEOGRAPH
+  {0xB2A3, 0x73BB}, //8003 #CJK UNIFIED IDEOGRAPH
+  {0xB2A4, 0x83E0}, //8004 #CJK UNIFIED IDEOGRAPH
+  {0xB2A5, 0x64AD}, //8005 #CJK UNIFIED IDEOGRAPH
+  {0xB2A6, 0x62E8}, //8006 #CJK UNIFIED IDEOGRAPH
+  {0xB2A7, 0x94B5}, //8007 #CJK UNIFIED IDEOGRAPH
+  {0xB2A8, 0x6CE2}, //8008 #CJK UNIFIED IDEOGRAPH
+  {0xB2A9, 0x535A}, //8009 #CJK UNIFIED IDEOGRAPH
+  {0xB2AA, 0x52C3}, //8010 #CJK UNIFIED IDEOGRAPH
+  {0xB2AB, 0x640F}, //8011 #CJK UNIFIED IDEOGRAPH
+  {0xB2AC, 0x94C2}, //8012 #CJK UNIFIED IDEOGRAPH
+  {0xB2AD, 0x7B94}, //8013 #CJK UNIFIED IDEOGRAPH
+  {0xB2AE, 0x4F2F}, //8014 #CJK UNIFIED IDEOGRAPH
+  {0xB2AF, 0x5E1B}, //8015 #CJK UNIFIED IDEOGRAPH
+  {0xB2B0, 0x8236}, //8016 #CJK UNIFIED IDEOGRAPH
+  {0xB2B1, 0x8116}, //8017 #CJK UNIFIED IDEOGRAPH
+  {0xB2B2, 0x818A}, //8018 #CJK UNIFIED IDEOGRAPH
+  {0xB2B3, 0x6E24}, //8019 #CJK UNIFIED IDEOGRAPH
+  {0xB2B4, 0x6CCA}, //8020 #CJK UNIFIED IDEOGRAPH
+  {0xB2B5, 0x9A73}, //8021 #CJK UNIFIED IDEOGRAPH
+  {0xB2B6, 0x6355}, //8022 #CJK UNIFIED IDEOGRAPH
+  {0xB2B7, 0x535C}, //8023 #CJK UNIFIED IDEOGRAPH
+  {0xB2B8, 0x54FA}, //8024 #CJK UNIFIED IDEOGRAPH
+  {0xB2B9, 0x8865}, //8025 #CJK UNIFIED IDEOGRAPH
+  {0xB2BA, 0x57E0}, //8026 #CJK UNIFIED IDEOGRAPH
+  {0xB2BB, 0x4E0D}, //8027 #CJK UNIFIED IDEOGRAPH
+  {0xB2BC, 0x5E03}, //8028 #CJK UNIFIED IDEOGRAPH
+  {0xB2BD, 0x6B65}, //8029 #CJK UNIFIED IDEOGRAPH
+  {0xB2BE, 0x7C3F}, //8030 #CJK UNIFIED IDEOGRAPH
+  {0xB2BF, 0x90E8}, //8031 #CJK UNIFIED IDEOGRAPH
+  {0xB2C0, 0x6016}, //8032 #CJK UNIFIED IDEOGRAPH
+  {0xB2C1, 0x64E6}, //8033 #CJK UNIFIED IDEOGRAPH
+  {0xB2C2, 0x731C}, //8034 #CJK UNIFIED IDEOGRAPH
+  {0xB2C3, 0x88C1}, //8035 #CJK UNIFIED IDEOGRAPH
+  {0xB2C4, 0x6750}, //8036 #CJK UNIFIED IDEOGRAPH
+  {0xB2C5, 0x624D}, //8037 #CJK UNIFIED IDEOGRAPH
+  {0xB2C6, 0x8D22}, //8038 #CJK UNIFIED IDEOGRAPH
+  {0xB2C7, 0x776C}, //8039 #CJK UNIFIED IDEOGRAPH
+  {0xB2C8, 0x8E29}, //8040 #CJK UNIFIED IDEOGRAPH
+  {0xB2C9, 0x91C7}, //8041 #CJK UNIFIED IDEOGRAPH
+  {0xB2CA, 0x5F69}, //8042 #CJK UNIFIED IDEOGRAPH
+  {0xB2CB, 0x83DC}, //8043 #CJK UNIFIED IDEOGRAPH
+  {0xB2CC, 0x8521}, //8044 #CJK UNIFIED IDEOGRAPH
+  {0xB2CD, 0x9910}, //8045 #CJK UNIFIED IDEOGRAPH
+  {0xB2CE, 0x53C2}, //8046 #CJK UNIFIED IDEOGRAPH
+  {0xB2CF, 0x8695}, //8047 #CJK UNIFIED IDEOGRAPH
+  {0xB2D0, 0x6B8B}, //8048 #CJK UNIFIED IDEOGRAPH
+  {0xB2D1, 0x60ED}, //8049 #CJK UNIFIED IDEOGRAPH
+  {0xB2D2, 0x60E8}, //8050 #CJK UNIFIED IDEOGRAPH
+  {0xB2D3, 0x707F}, //8051 #CJK UNIFIED IDEOGRAPH
+  {0xB2D4, 0x82CD}, //8052 #CJK UNIFIED IDEOGRAPH
+  {0xB2D5, 0x8231}, //8053 #CJK UNIFIED IDEOGRAPH
+  {0xB2D6, 0x4ED3}, //8054 #CJK UNIFIED IDEOGRAPH
+  {0xB2D7, 0x6CA7}, //8055 #CJK UNIFIED IDEOGRAPH
+  {0xB2D8, 0x85CF}, //8056 #CJK UNIFIED IDEOGRAPH
+  {0xB2D9, 0x64CD}, //8057 #CJK UNIFIED IDEOGRAPH
+  {0xB2DA, 0x7CD9}, //8058 #CJK UNIFIED IDEOGRAPH
+  {0xB2DB, 0x69FD}, //8059 #CJK UNIFIED IDEOGRAPH
+  {0xB2DC, 0x66F9}, //8060 #CJK UNIFIED IDEOGRAPH
+  {0xB2DD, 0x8349}, //8061 #CJK UNIFIED IDEOGRAPH
+  {0xB2DE, 0x5395}, //8062 #CJK UNIFIED IDEOGRAPH
+  {0xB2DF, 0x7B56}, //8063 #CJK UNIFIED IDEOGRAPH
+  {0xB2E0, 0x4FA7}, //8064 #CJK UNIFIED IDEOGRAPH
+  {0xB2E1, 0x518C}, //8065 #CJK UNIFIED IDEOGRAPH
+  {0xB2E2, 0x6D4B}, //8066 #CJK UNIFIED IDEOGRAPH
+  {0xB2E3, 0x5C42}, //8067 #CJK UNIFIED IDEOGRAPH
+  {0xB2E4, 0x8E6D}, //8068 #CJK UNIFIED IDEOGRAPH
+  {0xB2E5, 0x63D2}, //8069 #CJK UNIFIED IDEOGRAPH
+  {0xB2E6, 0x53C9}, //8070 #CJK UNIFIED IDEOGRAPH
+  {0xB2E7, 0x832C}, //8071 #CJK UNIFIED IDEOGRAPH
+  {0xB2E8, 0x8336}, //8072 #CJK UNIFIED IDEOGRAPH
+  {0xB2E9, 0x67E5}, //8073 #CJK UNIFIED IDEOGRAPH
+  {0xB2EA, 0x78B4}, //8074 #CJK UNIFIED IDEOGRAPH
+  {0xB2EB, 0x643D}, //8075 #CJK UNIFIED IDEOGRAPH
+  {0xB2EC, 0x5BDF}, //8076 #CJK UNIFIED IDEOGRAPH
+  {0xB2ED, 0x5C94}, //8077 #CJK UNIFIED IDEOGRAPH
+  {0xB2EE, 0x5DEE}, //8078 #CJK UNIFIED IDEOGRAPH
+  {0xB2EF, 0x8BE7}, //8079 #CJK UNIFIED IDEOGRAPH
+  {0xB2F0, 0x62C6}, //8080 #CJK UNIFIED IDEOGRAPH
+  {0xB2F1, 0x67F4}, //8081 #CJK UNIFIED IDEOGRAPH
+  {0xB2F2, 0x8C7A}, //8082 #CJK UNIFIED IDEOGRAPH
+  {0xB2F3, 0x6400}, //8083 #CJK UNIFIED IDEOGRAPH
+  {0xB2F4, 0x63BA}, //8084 #CJK UNIFIED IDEOGRAPH
+  {0xB2F5, 0x8749}, //8085 #CJK UNIFIED IDEOGRAPH
+  {0xB2F6, 0x998B}, //8086 #CJK UNIFIED IDEOGRAPH
+  {0xB2F7, 0x8C17}, //8087 #CJK UNIFIED IDEOGRAPH
+  {0xB2F8, 0x7F20}, //8088 #CJK UNIFIED IDEOGRAPH
+  {0xB2F9, 0x94F2}, //8089 #CJK UNIFIED IDEOGRAPH
+  {0xB2FA, 0x4EA7}, //8090 #CJK UNIFIED IDEOGRAPH
+  {0xB2FB, 0x9610}, //8091 #CJK UNIFIED IDEOGRAPH
+  {0xB2FC, 0x98A4}, //8092 #CJK UNIFIED IDEOGRAPH
+  {0xB2FD, 0x660C}, //8093 #CJK UNIFIED IDEOGRAPH
+  {0xB2FE, 0x7316}, //8094 #CJK UNIFIED IDEOGRAPH
+  {0xB340, 0x77E6}, //8095 #CJK UNIFIED IDEOGRAPH
+  {0xB341, 0x77E8}, //8096 #CJK UNIFIED IDEOGRAPH
+  {0xB342, 0x77EA}, //8097 #CJK UNIFIED IDEOGRAPH
+  {0xB343, 0x77EF}, //8098 #CJK UNIFIED IDEOGRAPH
+  {0xB344, 0x77F0}, //8099 #CJK UNIFIED IDEOGRAPH
+  {0xB345, 0x77F1}, //8100 #CJK UNIFIED IDEOGRAPH
+  {0xB346, 0x77F2}, //8101 #CJK UNIFIED IDEOGRAPH
+  {0xB347, 0x77F4}, //8102 #CJK UNIFIED IDEOGRAPH
+  {0xB348, 0x77F5}, //8103 #CJK UNIFIED IDEOGRAPH
+  {0xB349, 0x77F7}, //8104 #CJK UNIFIED IDEOGRAPH
+  {0xB34A, 0x77F9}, //8105 #CJK UNIFIED IDEOGRAPH
+  {0xB34B, 0x77FA}, //8106 #CJK UNIFIED IDEOGRAPH
+  {0xB34C, 0x77FB}, //8107 #CJK UNIFIED IDEOGRAPH
+  {0xB34D, 0x77FC}, //8108 #CJK UNIFIED IDEOGRAPH
+  {0xB34E, 0x7803}, //8109 #CJK UNIFIED IDEOGRAPH
+  {0xB34F, 0x7804}, //8110 #CJK UNIFIED IDEOGRAPH
+  {0xB350, 0x7805}, //8111 #CJK UNIFIED IDEOGRAPH
+  {0xB351, 0x7806}, //8112 #CJK UNIFIED IDEOGRAPH
+  {0xB352, 0x7807}, //8113 #CJK UNIFIED IDEOGRAPH
+  {0xB353, 0x7808}, //8114 #CJK UNIFIED IDEOGRAPH
+  {0xB354, 0x780A}, //8115 #CJK UNIFIED IDEOGRAPH
+  {0xB355, 0x780B}, //8116 #CJK UNIFIED IDEOGRAPH
+  {0xB356, 0x780E}, //8117 #CJK UNIFIED IDEOGRAPH
+  {0xB357, 0x780F}, //8118 #CJK UNIFIED IDEOGRAPH
+  {0xB358, 0x7810}, //8119 #CJK UNIFIED IDEOGRAPH
+  {0xB359, 0x7813}, //8120 #CJK UNIFIED IDEOGRAPH
+  {0xB35A, 0x7815}, //8121 #CJK UNIFIED IDEOGRAPH
+  {0xB35B, 0x7819}, //8122 #CJK UNIFIED IDEOGRAPH
+  {0xB35C, 0x781B}, //8123 #CJK UNIFIED IDEOGRAPH
+  {0xB35D, 0x781E}, //8124 #CJK UNIFIED IDEOGRAPH
+  {0xB35E, 0x7820}, //8125 #CJK UNIFIED IDEOGRAPH
+  {0xB35F, 0x7821}, //8126 #CJK UNIFIED IDEOGRAPH
+  {0xB360, 0x7822}, //8127 #CJK UNIFIED IDEOGRAPH
+  {0xB361, 0x7824}, //8128 #CJK UNIFIED IDEOGRAPH
+  {0xB362, 0x7828}, //8129 #CJK UNIFIED IDEOGRAPH
+  {0xB363, 0x782A}, //8130 #CJK UNIFIED IDEOGRAPH
+  {0xB364, 0x782B}, //8131 #CJK UNIFIED IDEOGRAPH
+  {0xB365, 0x782E}, //8132 #CJK UNIFIED IDEOGRAPH
+  {0xB366, 0x782F}, //8133 #CJK UNIFIED IDEOGRAPH
+  {0xB367, 0x7831}, //8134 #CJK UNIFIED IDEOGRAPH
+  {0xB368, 0x7832}, //8135 #CJK UNIFIED IDEOGRAPH
+  {0xB369, 0x7833}, //8136 #CJK UNIFIED IDEOGRAPH
+  {0xB36A, 0x7835}, //8137 #CJK UNIFIED IDEOGRAPH
+  {0xB36B, 0x7836}, //8138 #CJK UNIFIED IDEOGRAPH
+  {0xB36C, 0x783D}, //8139 #CJK UNIFIED IDEOGRAPH
+  {0xB36D, 0x783F}, //8140 #CJK UNIFIED IDEOGRAPH
+  {0xB36E, 0x7841}, //8141 #CJK UNIFIED IDEOGRAPH
+  {0xB36F, 0x7842}, //8142 #CJK UNIFIED IDEOGRAPH
+  {0xB370, 0x7843}, //8143 #CJK UNIFIED IDEOGRAPH
+  {0xB371, 0x7844}, //8144 #CJK UNIFIED IDEOGRAPH
+  {0xB372, 0x7846}, //8145 #CJK UNIFIED IDEOGRAPH
+  {0xB373, 0x7848}, //8146 #CJK UNIFIED IDEOGRAPH
+  {0xB374, 0x7849}, //8147 #CJK UNIFIED IDEOGRAPH
+  {0xB375, 0x784A}, //8148 #CJK UNIFIED IDEOGRAPH
+  {0xB376, 0x784B}, //8149 #CJK UNIFIED IDEOGRAPH
+  {0xB377, 0x784D}, //8150 #CJK UNIFIED IDEOGRAPH
+  {0xB378, 0x784F}, //8151 #CJK UNIFIED IDEOGRAPH
+  {0xB379, 0x7851}, //8152 #CJK UNIFIED IDEOGRAPH
+  {0xB37A, 0x7853}, //8153 #CJK UNIFIED IDEOGRAPH
+  {0xB37B, 0x7854}, //8154 #CJK UNIFIED IDEOGRAPH
+  {0xB37C, 0x7858}, //8155 #CJK UNIFIED IDEOGRAPH
+  {0xB37D, 0x7859}, //8156 #CJK UNIFIED IDEOGRAPH
+  {0xB37E, 0x785A}, //8157 #CJK UNIFIED IDEOGRAPH
+  {0xB380, 0x785B}, //8158 #CJK UNIFIED IDEOGRAPH
+  {0xB381, 0x785C}, //8159 #CJK UNIFIED IDEOGRAPH
+  {0xB382, 0x785E}, //8160 #CJK UNIFIED IDEOGRAPH
+  {0xB383, 0x785F}, //8161 #CJK UNIFIED IDEOGRAPH
+  {0xB384, 0x7860}, //8162 #CJK UNIFIED IDEOGRAPH
+  {0xB385, 0x7861}, //8163 #CJK UNIFIED IDEOGRAPH
+  {0xB386, 0x7862}, //8164 #CJK UNIFIED IDEOGRAPH
+  {0xB387, 0x7863}, //8165 #CJK UNIFIED IDEOGRAPH
+  {0xB388, 0x7864}, //8166 #CJK UNIFIED IDEOGRAPH
+  {0xB389, 0x7865}, //8167 #CJK UNIFIED IDEOGRAPH
+  {0xB38A, 0x7866}, //8168 #CJK UNIFIED IDEOGRAPH
+  {0xB38B, 0x7867}, //8169 #CJK UNIFIED IDEOGRAPH
+  {0xB38C, 0x7868}, //8170 #CJK UNIFIED IDEOGRAPH
+  {0xB38D, 0x7869}, //8171 #CJK UNIFIED IDEOGRAPH
+  {0xB38E, 0x786F}, //8172 #CJK UNIFIED IDEOGRAPH
+  {0xB38F, 0x7870}, //8173 #CJK UNIFIED IDEOGRAPH
+  {0xB390, 0x7871}, //8174 #CJK UNIFIED IDEOGRAPH
+  {0xB391, 0x7872}, //8175 #CJK UNIFIED IDEOGRAPH
+  {0xB392, 0x7873}, //8176 #CJK UNIFIED IDEOGRAPH
+  {0xB393, 0x7874}, //8177 #CJK UNIFIED IDEOGRAPH
+  {0xB394, 0x7875}, //8178 #CJK UNIFIED IDEOGRAPH
+  {0xB395, 0x7876}, //8179 #CJK UNIFIED IDEOGRAPH
+  {0xB396, 0x7878}, //8180 #CJK UNIFIED IDEOGRAPH
+  {0xB397, 0x7879}, //8181 #CJK UNIFIED IDEOGRAPH
+  {0xB398, 0x787A}, //8182 #CJK UNIFIED IDEOGRAPH
+  {0xB399, 0x787B}, //8183 #CJK UNIFIED IDEOGRAPH
+  {0xB39A, 0x787D}, //8184 #CJK UNIFIED IDEOGRAPH
+  {0xB39B, 0x787E}, //8185 #CJK UNIFIED IDEOGRAPH
+  {0xB39C, 0x787F}, //8186 #CJK UNIFIED IDEOGRAPH
+  {0xB39D, 0x7880}, //8187 #CJK UNIFIED IDEOGRAPH
+  {0xB39E, 0x7881}, //8188 #CJK UNIFIED IDEOGRAPH
+  {0xB39F, 0x7882}, //8189 #CJK UNIFIED IDEOGRAPH
+  {0xB3A0, 0x7883}, //8190 #CJK UNIFIED IDEOGRAPH
+  {0xB3A1, 0x573A}, //8191 #CJK UNIFIED IDEOGRAPH
+  {0xB3A2, 0x5C1D}, //8192 #CJK UNIFIED IDEOGRAPH
+  {0xB3A3, 0x5E38}, //8193 #CJK UNIFIED IDEOGRAPH
+  {0xB3A4, 0x957F}, //8194 #CJK UNIFIED IDEOGRAPH
+  {0xB3A5, 0x507F}, //8195 #CJK UNIFIED IDEOGRAPH
+  {0xB3A6, 0x80A0}, //8196 #CJK UNIFIED IDEOGRAPH
+  {0xB3A7, 0x5382}, //8197 #CJK UNIFIED IDEOGRAPH
+  {0xB3A8, 0x655E}, //8198 #CJK UNIFIED IDEOGRAPH
+  {0xB3A9, 0x7545}, //8199 #CJK UNIFIED IDEOGRAPH
+  {0xB3AA, 0x5531}, //8200 #CJK UNIFIED IDEOGRAPH
+  {0xB3AB, 0x5021}, //8201 #CJK UNIFIED IDEOGRAPH
+  {0xB3AC, 0x8D85}, //8202 #CJK UNIFIED IDEOGRAPH
+  {0xB3AD, 0x6284}, //8203 #CJK UNIFIED IDEOGRAPH
+  {0xB3AE, 0x949E}, //8204 #CJK UNIFIED IDEOGRAPH
+  {0xB3AF, 0x671D}, //8205 #CJK UNIFIED IDEOGRAPH
+  {0xB3B0, 0x5632}, //8206 #CJK UNIFIED IDEOGRAPH
+  {0xB3B1, 0x6F6E}, //8207 #CJK UNIFIED IDEOGRAPH
+  {0xB3B2, 0x5DE2}, //8208 #CJK UNIFIED IDEOGRAPH
+  {0xB3B3, 0x5435}, //8209 #CJK UNIFIED IDEOGRAPH
+  {0xB3B4, 0x7092}, //8210 #CJK UNIFIED IDEOGRAPH
+  {0xB3B5, 0x8F66}, //8211 #CJK UNIFIED IDEOGRAPH
+  {0xB3B6, 0x626F}, //8212 #CJK UNIFIED IDEOGRAPH
+  {0xB3B7, 0x64A4}, //8213 #CJK UNIFIED IDEOGRAPH
+  {0xB3B8, 0x63A3}, //8214 #CJK UNIFIED IDEOGRAPH
+  {0xB3B9, 0x5F7B}, //8215 #CJK UNIFIED IDEOGRAPH
+  {0xB3BA, 0x6F88}, //8216 #CJK UNIFIED IDEOGRAPH
+  {0xB3BB, 0x90F4}, //8217 #CJK UNIFIED IDEOGRAPH
+  {0xB3BC, 0x81E3}, //8218 #CJK UNIFIED IDEOGRAPH
+  {0xB3BD, 0x8FB0}, //8219 #CJK UNIFIED IDEOGRAPH
+  {0xB3BE, 0x5C18}, //8220 #CJK UNIFIED IDEOGRAPH
+  {0xB3BF, 0x6668}, //8221 #CJK UNIFIED IDEOGRAPH
+  {0xB3C0, 0x5FF1}, //8222 #CJK UNIFIED IDEOGRAPH
+  {0xB3C1, 0x6C89}, //8223 #CJK UNIFIED IDEOGRAPH
+  {0xB3C2, 0x9648}, //8224 #CJK UNIFIED IDEOGRAPH
+  {0xB3C3, 0x8D81}, //8225 #CJK UNIFIED IDEOGRAPH
+  {0xB3C4, 0x886C}, //8226 #CJK UNIFIED IDEOGRAPH
+  {0xB3C5, 0x6491}, //8227 #CJK UNIFIED IDEOGRAPH
+  {0xB3C6, 0x79F0}, //8228 #CJK UNIFIED IDEOGRAPH
+  {0xB3C7, 0x57CE}, //8229 #CJK UNIFIED IDEOGRAPH
+  {0xB3C8, 0x6A59}, //8230 #CJK UNIFIED IDEOGRAPH
+  {0xB3C9, 0x6210}, //8231 #CJK UNIFIED IDEOGRAPH
+  {0xB3CA, 0x5448}, //8232 #CJK UNIFIED IDEOGRAPH
+  {0xB3CB, 0x4E58}, //8233 #CJK UNIFIED IDEOGRAPH
+  {0xB3CC, 0x7A0B}, //8234 #CJK UNIFIED IDEOGRAPH
+  {0xB3CD, 0x60E9}, //8235 #CJK UNIFIED IDEOGRAPH
+  {0xB3CE, 0x6F84}, //8236 #CJK UNIFIED IDEOGRAPH
+  {0xB3CF, 0x8BDA}, //8237 #CJK UNIFIED IDEOGRAPH
+  {0xB3D0, 0x627F}, //8238 #CJK UNIFIED IDEOGRAPH
+  {0xB3D1, 0x901E}, //8239 #CJK UNIFIED IDEOGRAPH
+  {0xB3D2, 0x9A8B}, //8240 #CJK UNIFIED IDEOGRAPH
+  {0xB3D3, 0x79E4}, //8241 #CJK UNIFIED IDEOGRAPH
+  {0xB3D4, 0x5403}, //8242 #CJK UNIFIED IDEOGRAPH
+  {0xB3D5, 0x75F4}, //8243 #CJK UNIFIED IDEOGRAPH
+  {0xB3D6, 0x6301}, //8244 #CJK UNIFIED IDEOGRAPH
+  {0xB3D7, 0x5319}, //8245 #CJK UNIFIED IDEOGRAPH
+  {0xB3D8, 0x6C60}, //8246 #CJK UNIFIED IDEOGRAPH
+  {0xB3D9, 0x8FDF}, //8247 #CJK UNIFIED IDEOGRAPH
+  {0xB3DA, 0x5F1B}, //8248 #CJK UNIFIED IDEOGRAPH
+  {0xB3DB, 0x9A70}, //8249 #CJK UNIFIED IDEOGRAPH
+  {0xB3DC, 0x803B}, //8250 #CJK UNIFIED IDEOGRAPH
+  {0xB3DD, 0x9F7F}, //8251 #CJK UNIFIED IDEOGRAPH
+  {0xB3DE, 0x4F88}, //8252 #CJK UNIFIED IDEOGRAPH
+  {0xB3DF, 0x5C3A}, //8253 #CJK UNIFIED IDEOGRAPH
+  {0xB3E0, 0x8D64}, //8254 #CJK UNIFIED IDEOGRAPH
+  {0xB3E1, 0x7FC5}, //8255 #CJK UNIFIED IDEOGRAPH
+  {0xB3E2, 0x65A5}, //8256 #CJK UNIFIED IDEOGRAPH
+  {0xB3E3, 0x70BD}, //8257 #CJK UNIFIED IDEOGRAPH
+  {0xB3E4, 0x5145}, //8258 #CJK UNIFIED IDEOGRAPH
+  {0xB3E5, 0x51B2}, //8259 #CJK UNIFIED IDEOGRAPH
+  {0xB3E6, 0x866B}, //8260 #CJK UNIFIED IDEOGRAPH
+  {0xB3E7, 0x5D07}, //8261 #CJK UNIFIED IDEOGRAPH
+  {0xB3E8, 0x5BA0}, //8262 #CJK UNIFIED IDEOGRAPH
+  {0xB3E9, 0x62BD}, //8263 #CJK UNIFIED IDEOGRAPH
+  {0xB3EA, 0x916C}, //8264 #CJK UNIFIED IDEOGRAPH
+  {0xB3EB, 0x7574}, //8265 #CJK UNIFIED IDEOGRAPH
+  {0xB3EC, 0x8E0C}, //8266 #CJK UNIFIED IDEOGRAPH
+  {0xB3ED, 0x7A20}, //8267 #CJK UNIFIED IDEOGRAPH
+  {0xB3EE, 0x6101}, //8268 #CJK UNIFIED IDEOGRAPH
+  {0xB3EF, 0x7B79}, //8269 #CJK UNIFIED IDEOGRAPH
+  {0xB3F0, 0x4EC7}, //8270 #CJK UNIFIED IDEOGRAPH
+  {0xB3F1, 0x7EF8}, //8271 #CJK UNIFIED IDEOGRAPH
+  {0xB3F2, 0x7785}, //8272 #CJK UNIFIED IDEOGRAPH
+  {0xB3F3, 0x4E11}, //8273 #CJK UNIFIED IDEOGRAPH
+  {0xB3F4, 0x81ED}, //8274 #CJK UNIFIED IDEOGRAPH
+  {0xB3F5, 0x521D}, //8275 #CJK UNIFIED IDEOGRAPH
+  {0xB3F6, 0x51FA}, //8276 #CJK UNIFIED IDEOGRAPH
+  {0xB3F7, 0x6A71}, //8277 #CJK UNIFIED IDEOGRAPH
+  {0xB3F8, 0x53A8}, //8278 #CJK UNIFIED IDEOGRAPH
+  {0xB3F9, 0x8E87}, //8279 #CJK UNIFIED IDEOGRAPH
+  {0xB3FA, 0x9504}, //8280 #CJK UNIFIED IDEOGRAPH
+  {0xB3FB, 0x96CF}, //8281 #CJK UNIFIED IDEOGRAPH
+  {0xB3FC, 0x6EC1}, //8282 #CJK UNIFIED IDEOGRAPH
+  {0xB3FD, 0x9664}, //8283 #CJK UNIFIED IDEOGRAPH
+  {0xB3FE, 0x695A}, //8284 #CJK UNIFIED IDEOGRAPH
+  {0xB440, 0x7884}, //8285 #CJK UNIFIED IDEOGRAPH
+  {0xB441, 0x7885}, //8286 #CJK UNIFIED IDEOGRAPH
+  {0xB442, 0x7886}, //8287 #CJK UNIFIED IDEOGRAPH
+  {0xB443, 0x7888}, //8288 #CJK UNIFIED IDEOGRAPH
+  {0xB444, 0x788A}, //8289 #CJK UNIFIED IDEOGRAPH
+  {0xB445, 0x788B}, //8290 #CJK UNIFIED IDEOGRAPH
+  {0xB446, 0x788F}, //8291 #CJK UNIFIED IDEOGRAPH
+  {0xB447, 0x7890}, //8292 #CJK UNIFIED IDEOGRAPH
+  {0xB448, 0x7892}, //8293 #CJK UNIFIED IDEOGRAPH
+  {0xB449, 0x7894}, //8294 #CJK UNIFIED IDEOGRAPH
+  {0xB44A, 0x7895}, //8295 #CJK UNIFIED IDEOGRAPH
+  {0xB44B, 0x7896}, //8296 #CJK UNIFIED IDEOGRAPH
+  {0xB44C, 0x7899}, //8297 #CJK UNIFIED IDEOGRAPH
+  {0xB44D, 0x789D}, //8298 #CJK UNIFIED IDEOGRAPH
+  {0xB44E, 0x789E}, //8299 #CJK UNIFIED IDEOGRAPH
+  {0xB44F, 0x78A0}, //8300 #CJK UNIFIED IDEOGRAPH
+  {0xB450, 0x78A2}, //8301 #CJK UNIFIED IDEOGRAPH
+  {0xB451, 0x78A4}, //8302 #CJK UNIFIED IDEOGRAPH
+  {0xB452, 0x78A6}, //8303 #CJK UNIFIED IDEOGRAPH
+  {0xB453, 0x78A8}, //8304 #CJK UNIFIED IDEOGRAPH
+  {0xB454, 0x78A9}, //8305 #CJK UNIFIED IDEOGRAPH
+  {0xB455, 0x78AA}, //8306 #CJK UNIFIED IDEOGRAPH
+  {0xB456, 0x78AB}, //8307 #CJK UNIFIED IDEOGRAPH
+  {0xB457, 0x78AC}, //8308 #CJK UNIFIED IDEOGRAPH
+  {0xB458, 0x78AD}, //8309 #CJK UNIFIED IDEOGRAPH
+  {0xB459, 0x78AE}, //8310 #CJK UNIFIED IDEOGRAPH
+  {0xB45A, 0x78AF}, //8311 #CJK UNIFIED IDEOGRAPH
+  {0xB45B, 0x78B5}, //8312 #CJK UNIFIED IDEOGRAPH
+  {0xB45C, 0x78B6}, //8313 #CJK UNIFIED IDEOGRAPH
+  {0xB45D, 0x78B7}, //8314 #CJK UNIFIED IDEOGRAPH
+  {0xB45E, 0x78B8}, //8315 #CJK UNIFIED IDEOGRAPH
+  {0xB45F, 0x78BA}, //8316 #CJK UNIFIED IDEOGRAPH
+  {0xB460, 0x78BB}, //8317 #CJK UNIFIED IDEOGRAPH
+  {0xB461, 0x78BC}, //8318 #CJK UNIFIED IDEOGRAPH
+  {0xB462, 0x78BD}, //8319 #CJK UNIFIED IDEOGRAPH
+  {0xB463, 0x78BF}, //8320 #CJK UNIFIED IDEOGRAPH
+  {0xB464, 0x78C0}, //8321 #CJK UNIFIED IDEOGRAPH
+  {0xB465, 0x78C2}, //8322 #CJK UNIFIED IDEOGRAPH
+  {0xB466, 0x78C3}, //8323 #CJK UNIFIED IDEOGRAPH
+  {0xB467, 0x78C4}, //8324 #CJK UNIFIED IDEOGRAPH
+  {0xB468, 0x78C6}, //8325 #CJK UNIFIED IDEOGRAPH
+  {0xB469, 0x78C7}, //8326 #CJK UNIFIED IDEOGRAPH
+  {0xB46A, 0x78C8}, //8327 #CJK UNIFIED IDEOGRAPH
+  {0xB46B, 0x78CC}, //8328 #CJK UNIFIED IDEOGRAPH
+  {0xB46C, 0x78CD}, //8329 #CJK UNIFIED IDEOGRAPH
+  {0xB46D, 0x78CE}, //8330 #CJK UNIFIED IDEOGRAPH
+  {0xB46E, 0x78CF}, //8331 #CJK UNIFIED IDEOGRAPH
+  {0xB46F, 0x78D1}, //8332 #CJK UNIFIED IDEOGRAPH
+  {0xB470, 0x78D2}, //8333 #CJK UNIFIED IDEOGRAPH
+  {0xB471, 0x78D3}, //8334 #CJK UNIFIED IDEOGRAPH
+  {0xB472, 0x78D6}, //8335 #CJK UNIFIED IDEOGRAPH
+  {0xB473, 0x78D7}, //8336 #CJK UNIFIED IDEOGRAPH
+  {0xB474, 0x78D8}, //8337 #CJK UNIFIED IDEOGRAPH
+  {0xB475, 0x78DA}, //8338 #CJK UNIFIED IDEOGRAPH
+  {0xB476, 0x78DB}, //8339 #CJK UNIFIED IDEOGRAPH
+  {0xB477, 0x78DC}, //8340 #CJK UNIFIED IDEOGRAPH
+  {0xB478, 0x78DD}, //8341 #CJK UNIFIED IDEOGRAPH
+  {0xB479, 0x78DE}, //8342 #CJK UNIFIED IDEOGRAPH
+  {0xB47A, 0x78DF}, //8343 #CJK UNIFIED IDEOGRAPH
+  {0xB47B, 0x78E0}, //8344 #CJK UNIFIED IDEOGRAPH
+  {0xB47C, 0x78E1}, //8345 #CJK UNIFIED IDEOGRAPH
+  {0xB47D, 0x78E2}, //8346 #CJK UNIFIED IDEOGRAPH
+  {0xB47E, 0x78E3}, //8347 #CJK UNIFIED IDEOGRAPH
+  {0xB480, 0x78E4}, //8348 #CJK UNIFIED IDEOGRAPH
+  {0xB481, 0x78E5}, //8349 #CJK UNIFIED IDEOGRAPH
+  {0xB482, 0x78E6}, //8350 #CJK UNIFIED IDEOGRAPH
+  {0xB483, 0x78E7}, //8351 #CJK UNIFIED IDEOGRAPH
+  {0xB484, 0x78E9}, //8352 #CJK UNIFIED IDEOGRAPH
+  {0xB485, 0x78EA}, //8353 #CJK UNIFIED IDEOGRAPH
+  {0xB486, 0x78EB}, //8354 #CJK UNIFIED IDEOGRAPH
+  {0xB487, 0x78ED}, //8355 #CJK UNIFIED IDEOGRAPH
+  {0xB488, 0x78EE}, //8356 #CJK UNIFIED IDEOGRAPH
+  {0xB489, 0x78EF}, //8357 #CJK UNIFIED IDEOGRAPH
+  {0xB48A, 0x78F0}, //8358 #CJK UNIFIED IDEOGRAPH
+  {0xB48B, 0x78F1}, //8359 #CJK UNIFIED IDEOGRAPH
+  {0xB48C, 0x78F3}, //8360 #CJK UNIFIED IDEOGRAPH
+  {0xB48D, 0x78F5}, //8361 #CJK UNIFIED IDEOGRAPH
+  {0xB48E, 0x78F6}, //8362 #CJK UNIFIED IDEOGRAPH
+  {0xB48F, 0x78F8}, //8363 #CJK UNIFIED IDEOGRAPH
+  {0xB490, 0x78F9}, //8364 #CJK UNIFIED IDEOGRAPH
+  {0xB491, 0x78FB}, //8365 #CJK UNIFIED IDEOGRAPH
+  {0xB492, 0x78FC}, //8366 #CJK UNIFIED IDEOGRAPH
+  {0xB493, 0x78FD}, //8367 #CJK UNIFIED IDEOGRAPH
+  {0xB494, 0x78FE}, //8368 #CJK UNIFIED IDEOGRAPH
+  {0xB495, 0x78FF}, //8369 #CJK UNIFIED IDEOGRAPH
+  {0xB496, 0x7900}, //8370 #CJK UNIFIED IDEOGRAPH
+  {0xB497, 0x7902}, //8371 #CJK UNIFIED IDEOGRAPH
+  {0xB498, 0x7903}, //8372 #CJK UNIFIED IDEOGRAPH
+  {0xB499, 0x7904}, //8373 #CJK UNIFIED IDEOGRAPH
+  {0xB49A, 0x7906}, //8374 #CJK UNIFIED IDEOGRAPH
+  {0xB49B, 0x7907}, //8375 #CJK UNIFIED IDEOGRAPH
+  {0xB49C, 0x7908}, //8376 #CJK UNIFIED IDEOGRAPH
+  {0xB49D, 0x7909}, //8377 #CJK UNIFIED IDEOGRAPH
+  {0xB49E, 0x790A}, //8378 #CJK UNIFIED IDEOGRAPH
+  {0xB49F, 0x790B}, //8379 #CJK UNIFIED IDEOGRAPH
+  {0xB4A0, 0x790C}, //8380 #CJK UNIFIED IDEOGRAPH
+  {0xB4A1, 0x7840}, //8381 #CJK UNIFIED IDEOGRAPH
+  {0xB4A2, 0x50A8}, //8382 #CJK UNIFIED IDEOGRAPH
+  {0xB4A3, 0x77D7}, //8383 #CJK UNIFIED IDEOGRAPH
+  {0xB4A4, 0x6410}, //8384 #CJK UNIFIED IDEOGRAPH
+  {0xB4A5, 0x89E6}, //8385 #CJK UNIFIED IDEOGRAPH
+  {0xB4A6, 0x5904}, //8386 #CJK UNIFIED IDEOGRAPH
+  {0xB4A7, 0x63E3}, //8387 #CJK UNIFIED IDEOGRAPH
+  {0xB4A8, 0x5DDD}, //8388 #CJK UNIFIED IDEOGRAPH
+  {0xB4A9, 0x7A7F}, //8389 #CJK UNIFIED IDEOGRAPH
+  {0xB4AA, 0x693D}, //8390 #CJK UNIFIED IDEOGRAPH
+  {0xB4AB, 0x4F20}, //8391 #CJK UNIFIED IDEOGRAPH
+  {0xB4AC, 0x8239}, //8392 #CJK UNIFIED IDEOGRAPH
+  {0xB4AD, 0x5598}, //8393 #CJK UNIFIED IDEOGRAPH
+  {0xB4AE, 0x4E32}, //8394 #CJK UNIFIED IDEOGRAPH
+  {0xB4AF, 0x75AE}, //8395 #CJK UNIFIED IDEOGRAPH
+  {0xB4B0, 0x7A97}, //8396 #CJK UNIFIED IDEOGRAPH
+  {0xB4B1, 0x5E62}, //8397 #CJK UNIFIED IDEOGRAPH
+  {0xB4B2, 0x5E8A}, //8398 #CJK UNIFIED IDEOGRAPH
+  {0xB4B3, 0x95EF}, //8399 #CJK UNIFIED IDEOGRAPH
+  {0xB4B4, 0x521B}, //8400 #CJK UNIFIED IDEOGRAPH
+  {0xB4B5, 0x5439}, //8401 #CJK UNIFIED IDEOGRAPH
+  {0xB4B6, 0x708A}, //8402 #CJK UNIFIED IDEOGRAPH
+  {0xB4B7, 0x6376}, //8403 #CJK UNIFIED IDEOGRAPH
+  {0xB4B8, 0x9524}, //8404 #CJK UNIFIED IDEOGRAPH
+  {0xB4B9, 0x5782}, //8405 #CJK UNIFIED IDEOGRAPH
+  {0xB4BA, 0x6625}, //8406 #CJK UNIFIED IDEOGRAPH
+  {0xB4BB, 0x693F}, //8407 #CJK UNIFIED IDEOGRAPH
+  {0xB4BC, 0x9187}, //8408 #CJK UNIFIED IDEOGRAPH
+  {0xB4BD, 0x5507}, //8409 #CJK UNIFIED IDEOGRAPH
+  {0xB4BE, 0x6DF3}, //8410 #CJK UNIFIED IDEOGRAPH
+  {0xB4BF, 0x7EAF}, //8411 #CJK UNIFIED IDEOGRAPH
+  {0xB4C0, 0x8822}, //8412 #CJK UNIFIED IDEOGRAPH
+  {0xB4C1, 0x6233}, //8413 #CJK UNIFIED IDEOGRAPH
+  {0xB4C2, 0x7EF0}, //8414 #CJK UNIFIED IDEOGRAPH
+  {0xB4C3, 0x75B5}, //8415 #CJK UNIFIED IDEOGRAPH
+  {0xB4C4, 0x8328}, //8416 #CJK UNIFIED IDEOGRAPH
+  {0xB4C5, 0x78C1}, //8417 #CJK UNIFIED IDEOGRAPH
+  {0xB4C6, 0x96CC}, //8418 #CJK UNIFIED IDEOGRAPH
+  {0xB4C7, 0x8F9E}, //8419 #CJK UNIFIED IDEOGRAPH
+  {0xB4C8, 0x6148}, //8420 #CJK UNIFIED IDEOGRAPH
+  {0xB4C9, 0x74F7}, //8421 #CJK UNIFIED IDEOGRAPH
+  {0xB4CA, 0x8BCD}, //8422 #CJK UNIFIED IDEOGRAPH
+  {0xB4CB, 0x6B64}, //8423 #CJK UNIFIED IDEOGRAPH
+  {0xB4CC, 0x523A}, //8424 #CJK UNIFIED IDEOGRAPH
+  {0xB4CD, 0x8D50}, //8425 #CJK UNIFIED IDEOGRAPH
+  {0xB4CE, 0x6B21}, //8426 #CJK UNIFIED IDEOGRAPH
+  {0xB4CF, 0x806A}, //8427 #CJK UNIFIED IDEOGRAPH
+  {0xB4D0, 0x8471}, //8428 #CJK UNIFIED IDEOGRAPH
+  {0xB4D1, 0x56F1}, //8429 #CJK UNIFIED IDEOGRAPH
+  {0xB4D2, 0x5306}, //8430 #CJK UNIFIED IDEOGRAPH
+  {0xB4D3, 0x4ECE}, //8431 #CJK UNIFIED IDEOGRAPH
+  {0xB4D4, 0x4E1B}, //8432 #CJK UNIFIED IDEOGRAPH
+  {0xB4D5, 0x51D1}, //8433 #CJK UNIFIED IDEOGRAPH
+  {0xB4D6, 0x7C97}, //8434 #CJK UNIFIED IDEOGRAPH
+  {0xB4D7, 0x918B}, //8435 #CJK UNIFIED IDEOGRAPH
+  {0xB4D8, 0x7C07}, //8436 #CJK UNIFIED IDEOGRAPH
+  {0xB4D9, 0x4FC3}, //8437 #CJK UNIFIED IDEOGRAPH
+  {0xB4DA, 0x8E7F}, //8438 #CJK UNIFIED IDEOGRAPH
+  {0xB4DB, 0x7BE1}, //8439 #CJK UNIFIED IDEOGRAPH
+  {0xB4DC, 0x7A9C}, //8440 #CJK UNIFIED IDEOGRAPH
+  {0xB4DD, 0x6467}, //8441 #CJK UNIFIED IDEOGRAPH
+  {0xB4DE, 0x5D14}, //8442 #CJK UNIFIED IDEOGRAPH
+  {0xB4DF, 0x50AC}, //8443 #CJK UNIFIED IDEOGRAPH
+  {0xB4E0, 0x8106}, //8444 #CJK UNIFIED IDEOGRAPH
+  {0xB4E1, 0x7601}, //8445 #CJK UNIFIED IDEOGRAPH
+  {0xB4E2, 0x7CB9}, //8446 #CJK UNIFIED IDEOGRAPH
+  {0xB4E3, 0x6DEC}, //8447 #CJK UNIFIED IDEOGRAPH
+  {0xB4E4, 0x7FE0}, //8448 #CJK UNIFIED IDEOGRAPH
+  {0xB4E5, 0x6751}, //8449 #CJK UNIFIED IDEOGRAPH
+  {0xB4E6, 0x5B58}, //8450 #CJK UNIFIED IDEOGRAPH
+  {0xB4E7, 0x5BF8}, //8451 #CJK UNIFIED IDEOGRAPH
+  {0xB4E8, 0x78CB}, //8452 #CJK UNIFIED IDEOGRAPH
+  {0xB4E9, 0x64AE}, //8453 #CJK UNIFIED IDEOGRAPH
+  {0xB4EA, 0x6413}, //8454 #CJK UNIFIED IDEOGRAPH
+  {0xB4EB, 0x63AA}, //8455 #CJK UNIFIED IDEOGRAPH
+  {0xB4EC, 0x632B}, //8456 #CJK UNIFIED IDEOGRAPH
+  {0xB4ED, 0x9519}, //8457 #CJK UNIFIED IDEOGRAPH
+  {0xB4EE, 0x642D}, //8458 #CJK UNIFIED IDEOGRAPH
+  {0xB4EF, 0x8FBE}, //8459 #CJK UNIFIED IDEOGRAPH
+  {0xB4F0, 0x7B54}, //8460 #CJK UNIFIED IDEOGRAPH
+  {0xB4F1, 0x7629}, //8461 #CJK UNIFIED IDEOGRAPH
+  {0xB4F2, 0x6253}, //8462 #CJK UNIFIED IDEOGRAPH
+  {0xB4F3, 0x5927}, //8463 #CJK UNIFIED IDEOGRAPH
+  {0xB4F4, 0x5446}, //8464 #CJK UNIFIED IDEOGRAPH
+  {0xB4F5, 0x6B79}, //8465 #CJK UNIFIED IDEOGRAPH
+  {0xB4F6, 0x50A3}, //8466 #CJK UNIFIED IDEOGRAPH
+  {0xB4F7, 0x6234}, //8467 #CJK UNIFIED IDEOGRAPH
+  {0xB4F8, 0x5E26}, //8468 #CJK UNIFIED IDEOGRAPH
+  {0xB4F9, 0x6B86}, //8469 #CJK UNIFIED IDEOGRAPH
+  {0xB4FA, 0x4EE3}, //8470 #CJK UNIFIED IDEOGRAPH
+  {0xB4FB, 0x8D37}, //8471 #CJK UNIFIED IDEOGRAPH
+  {0xB4FC, 0x888B}, //8472 #CJK UNIFIED IDEOGRAPH
+  {0xB4FD, 0x5F85}, //8473 #CJK UNIFIED IDEOGRAPH
+  {0xB4FE, 0x902E}, //8474 #CJK UNIFIED IDEOGRAPH
+  {0xB540, 0x790D}, //8475 #CJK UNIFIED IDEOGRAPH
+  {0xB541, 0x790E}, //8476 #CJK UNIFIED IDEOGRAPH
+  {0xB542, 0x790F}, //8477 #CJK UNIFIED IDEOGRAPH
+  {0xB543, 0x7910}, //8478 #CJK UNIFIED IDEOGRAPH
+  {0xB544, 0x7911}, //8479 #CJK UNIFIED IDEOGRAPH
+  {0xB545, 0x7912}, //8480 #CJK UNIFIED IDEOGRAPH
+  {0xB546, 0x7914}, //8481 #CJK UNIFIED IDEOGRAPH
+  {0xB547, 0x7915}, //8482 #CJK UNIFIED IDEOGRAPH
+  {0xB548, 0x7916}, //8483 #CJK UNIFIED IDEOGRAPH
+  {0xB549, 0x7917}, //8484 #CJK UNIFIED IDEOGRAPH
+  {0xB54A, 0x7918}, //8485 #CJK UNIFIED IDEOGRAPH
+  {0xB54B, 0x7919}, //8486 #CJK UNIFIED IDEOGRAPH
+  {0xB54C, 0x791A}, //8487 #CJK UNIFIED IDEOGRAPH
+  {0xB54D, 0x791B}, //8488 #CJK UNIFIED IDEOGRAPH
+  {0xB54E, 0x791C}, //8489 #CJK UNIFIED IDEOGRAPH
+  {0xB54F, 0x791D}, //8490 #CJK UNIFIED IDEOGRAPH
+  {0xB550, 0x791F}, //8491 #CJK UNIFIED IDEOGRAPH
+  {0xB551, 0x7920}, //8492 #CJK UNIFIED IDEOGRAPH
+  {0xB552, 0x7921}, //8493 #CJK UNIFIED IDEOGRAPH
+  {0xB553, 0x7922}, //8494 #CJK UNIFIED IDEOGRAPH
+  {0xB554, 0x7923}, //8495 #CJK UNIFIED IDEOGRAPH
+  {0xB555, 0x7925}, //8496 #CJK UNIFIED IDEOGRAPH
+  {0xB556, 0x7926}, //8497 #CJK UNIFIED IDEOGRAPH
+  {0xB557, 0x7927}, //8498 #CJK UNIFIED IDEOGRAPH
+  {0xB558, 0x7928}, //8499 #CJK UNIFIED IDEOGRAPH
+  {0xB559, 0x7929}, //8500 #CJK UNIFIED IDEOGRAPH
+  {0xB55A, 0x792A}, //8501 #CJK UNIFIED IDEOGRAPH
+  {0xB55B, 0x792B}, //8502 #CJK UNIFIED IDEOGRAPH
+  {0xB55C, 0x792C}, //8503 #CJK UNIFIED IDEOGRAPH
+  {0xB55D, 0x792D}, //8504 #CJK UNIFIED IDEOGRAPH
+  {0xB55E, 0x792E}, //8505 #CJK UNIFIED IDEOGRAPH
+  {0xB55F, 0x792F}, //8506 #CJK UNIFIED IDEOGRAPH
+  {0xB560, 0x7930}, //8507 #CJK UNIFIED IDEOGRAPH
+  {0xB561, 0x7931}, //8508 #CJK UNIFIED IDEOGRAPH
+  {0xB562, 0x7932}, //8509 #CJK UNIFIED IDEOGRAPH
+  {0xB563, 0x7933}, //8510 #CJK UNIFIED IDEOGRAPH
+  {0xB564, 0x7935}, //8511 #CJK UNIFIED IDEOGRAPH
+  {0xB565, 0x7936}, //8512 #CJK UNIFIED IDEOGRAPH
+  {0xB566, 0x7937}, //8513 #CJK UNIFIED IDEOGRAPH
+  {0xB567, 0x7938}, //8514 #CJK UNIFIED IDEOGRAPH
+  {0xB568, 0x7939}, //8515 #CJK UNIFIED IDEOGRAPH
+  {0xB569, 0x793D}, //8516 #CJK UNIFIED IDEOGRAPH
+  {0xB56A, 0x793F}, //8517 #CJK UNIFIED IDEOGRAPH
+  {0xB56B, 0x7942}, //8518 #CJK UNIFIED IDEOGRAPH
+  {0xB56C, 0x7943}, //8519 #CJK UNIFIED IDEOGRAPH
+  {0xB56D, 0x7944}, //8520 #CJK UNIFIED IDEOGRAPH
+  {0xB56E, 0x7945}, //8521 #CJK UNIFIED IDEOGRAPH
+  {0xB56F, 0x7947}, //8522 #CJK UNIFIED IDEOGRAPH
+  {0xB570, 0x794A}, //8523 #CJK UNIFIED IDEOGRAPH
+  {0xB571, 0x794B}, //8524 #CJK UNIFIED IDEOGRAPH
+  {0xB572, 0x794C}, //8525 #CJK UNIFIED IDEOGRAPH
+  {0xB573, 0x794D}, //8526 #CJK UNIFIED IDEOGRAPH
+  {0xB574, 0x794E}, //8527 #CJK UNIFIED IDEOGRAPH
+  {0xB575, 0x794F}, //8528 #CJK UNIFIED IDEOGRAPH
+  {0xB576, 0x7950}, //8529 #CJK UNIFIED IDEOGRAPH
+  {0xB577, 0x7951}, //8530 #CJK UNIFIED IDEOGRAPH
+  {0xB578, 0x7952}, //8531 #CJK UNIFIED IDEOGRAPH
+  {0xB579, 0x7954}, //8532 #CJK UNIFIED IDEOGRAPH
+  {0xB57A, 0x7955}, //8533 #CJK UNIFIED IDEOGRAPH
+  {0xB57B, 0x7958}, //8534 #CJK UNIFIED IDEOGRAPH
+  {0xB57C, 0x7959}, //8535 #CJK UNIFIED IDEOGRAPH
+  {0xB57D, 0x7961}, //8536 #CJK UNIFIED IDEOGRAPH
+  {0xB57E, 0x7963}, //8537 #CJK UNIFIED IDEOGRAPH
+  {0xB580, 0x7964}, //8538 #CJK UNIFIED IDEOGRAPH
+  {0xB581, 0x7966}, //8539 #CJK UNIFIED IDEOGRAPH
+  {0xB582, 0x7969}, //8540 #CJK UNIFIED IDEOGRAPH
+  {0xB583, 0x796A}, //8541 #CJK UNIFIED IDEOGRAPH
+  {0xB584, 0x796B}, //8542 #CJK UNIFIED IDEOGRAPH
+  {0xB585, 0x796C}, //8543 #CJK UNIFIED IDEOGRAPH
+  {0xB586, 0x796E}, //8544 #CJK UNIFIED IDEOGRAPH
+  {0xB587, 0x7970}, //8545 #CJK UNIFIED IDEOGRAPH
+  {0xB588, 0x7971}, //8546 #CJK UNIFIED IDEOGRAPH
+  {0xB589, 0x7972}, //8547 #CJK UNIFIED IDEOGRAPH
+  {0xB58A, 0x7973}, //8548 #CJK UNIFIED IDEOGRAPH
+  {0xB58B, 0x7974}, //8549 #CJK UNIFIED IDEOGRAPH
+  {0xB58C, 0x7975}, //8550 #CJK UNIFIED IDEOGRAPH
+  {0xB58D, 0x7976}, //8551 #CJK UNIFIED IDEOGRAPH
+  {0xB58E, 0x7979}, //8552 #CJK UNIFIED IDEOGRAPH
+  {0xB58F, 0x797B}, //8553 #CJK UNIFIED IDEOGRAPH
+  {0xB590, 0x797C}, //8554 #CJK UNIFIED IDEOGRAPH
+  {0xB591, 0x797D}, //8555 #CJK UNIFIED IDEOGRAPH
+  {0xB592, 0x797E}, //8556 #CJK UNIFIED IDEOGRAPH
+  {0xB593, 0x797F}, //8557 #CJK UNIFIED IDEOGRAPH
+  {0xB594, 0x7982}, //8558 #CJK UNIFIED IDEOGRAPH
+  {0xB595, 0x7983}, //8559 #CJK UNIFIED IDEOGRAPH
+  {0xB596, 0x7986}, //8560 #CJK UNIFIED IDEOGRAPH
+  {0xB597, 0x7987}, //8561 #CJK UNIFIED IDEOGRAPH
+  {0xB598, 0x7988}, //8562 #CJK UNIFIED IDEOGRAPH
+  {0xB599, 0x7989}, //8563 #CJK UNIFIED IDEOGRAPH
+  {0xB59A, 0x798B}, //8564 #CJK UNIFIED IDEOGRAPH
+  {0xB59B, 0x798C}, //8565 #CJK UNIFIED IDEOGRAPH
+  {0xB59C, 0x798D}, //8566 #CJK UNIFIED IDEOGRAPH
+  {0xB59D, 0x798E}, //8567 #CJK UNIFIED IDEOGRAPH
+  {0xB59E, 0x7990}, //8568 #CJK UNIFIED IDEOGRAPH
+  {0xB59F, 0x7991}, //8569 #CJK UNIFIED IDEOGRAPH
+  {0xB5A0, 0x7992}, //8570 #CJK UNIFIED IDEOGRAPH
+  {0xB5A1, 0x6020}, //8571 #CJK UNIFIED IDEOGRAPH
+  {0xB5A2, 0x803D}, //8572 #CJK UNIFIED IDEOGRAPH
+  {0xB5A3, 0x62C5}, //8573 #CJK UNIFIED IDEOGRAPH
+  {0xB5A4, 0x4E39}, //8574 #CJK UNIFIED IDEOGRAPH
+  {0xB5A5, 0x5355}, //8575 #CJK UNIFIED IDEOGRAPH
+  {0xB5A6, 0x90F8}, //8576 #CJK UNIFIED IDEOGRAPH
+  {0xB5A7, 0x63B8}, //8577 #CJK UNIFIED IDEOGRAPH
+  {0xB5A8, 0x80C6}, //8578 #CJK UNIFIED IDEOGRAPH
+  {0xB5A9, 0x65E6}, //8579 #CJK UNIFIED IDEOGRAPH
+  {0xB5AA, 0x6C2E}, //8580 #CJK UNIFIED IDEOGRAPH
+  {0xB5AB, 0x4F46}, //8581 #CJK UNIFIED IDEOGRAPH
+  {0xB5AC, 0x60EE}, //8582 #CJK UNIFIED IDEOGRAPH
+  {0xB5AD, 0x6DE1}, //8583 #CJK UNIFIED IDEOGRAPH
+  {0xB5AE, 0x8BDE}, //8584 #CJK UNIFIED IDEOGRAPH
+  {0xB5AF, 0x5F39}, //8585 #CJK UNIFIED IDEOGRAPH
+  {0xB5B0, 0x86CB}, //8586 #CJK UNIFIED IDEOGRAPH
+  {0xB5B1, 0x5F53}, //8587 #CJK UNIFIED IDEOGRAPH
+  {0xB5B2, 0x6321}, //8588 #CJK UNIFIED IDEOGRAPH
+  {0xB5B3, 0x515A}, //8589 #CJK UNIFIED IDEOGRAPH
+  {0xB5B4, 0x8361}, //8590 #CJK UNIFIED IDEOGRAPH
+  {0xB5B5, 0x6863}, //8591 #CJK UNIFIED IDEOGRAPH
+  {0xB5B6, 0x5200}, //8592 #CJK UNIFIED IDEOGRAPH
+  {0xB5B7, 0x6363}, //8593 #CJK UNIFIED IDEOGRAPH
+  {0xB5B8, 0x8E48}, //8594 #CJK UNIFIED IDEOGRAPH
+  {0xB5B9, 0x5012}, //8595 #CJK UNIFIED IDEOGRAPH
+  {0xB5BA, 0x5C9B}, //8596 #CJK UNIFIED IDEOGRAPH
+  {0xB5BB, 0x7977}, //8597 #CJK UNIFIED IDEOGRAPH
+  {0xB5BC, 0x5BFC}, //8598 #CJK UNIFIED IDEOGRAPH
+  {0xB5BD, 0x5230}, //8599 #CJK UNIFIED IDEOGRAPH
+  {0xB5BE, 0x7A3B}, //8600 #CJK UNIFIED IDEOGRAPH
+  {0xB5BF, 0x60BC}, //8601 #CJK UNIFIED IDEOGRAPH
+  {0xB5C0, 0x9053}, //8602 #CJK UNIFIED IDEOGRAPH
+  {0xB5C1, 0x76D7}, //8603 #CJK UNIFIED IDEOGRAPH
+  {0xB5C2, 0x5FB7}, //8604 #CJK UNIFIED IDEOGRAPH
+  {0xB5C3, 0x5F97}, //8605 #CJK UNIFIED IDEOGRAPH
+  {0xB5C4, 0x7684}, //8606 #CJK UNIFIED IDEOGRAPH
+  {0xB5C5, 0x8E6C}, //8607 #CJK UNIFIED IDEOGRAPH
+  {0xB5C6, 0x706F}, //8608 #CJK UNIFIED IDEOGRAPH
+  {0xB5C7, 0x767B}, //8609 #CJK UNIFIED IDEOGRAPH
+  {0xB5C8, 0x7B49}, //8610 #CJK UNIFIED IDEOGRAPH
+  {0xB5C9, 0x77AA}, //8611 #CJK UNIFIED IDEOGRAPH
+  {0xB5CA, 0x51F3}, //8612 #CJK UNIFIED IDEOGRAPH
+  {0xB5CB, 0x9093}, //8613 #CJK UNIFIED IDEOGRAPH
+  {0xB5CC, 0x5824}, //8614 #CJK UNIFIED IDEOGRAPH
+  {0xB5CD, 0x4F4E}, //8615 #CJK UNIFIED IDEOGRAPH
+  {0xB5CE, 0x6EF4}, //8616 #CJK UNIFIED IDEOGRAPH
+  {0xB5CF, 0x8FEA}, //8617 #CJK UNIFIED IDEOGRAPH
+  {0xB5D0, 0x654C}, //8618 #CJK UNIFIED IDEOGRAPH
+  {0xB5D1, 0x7B1B}, //8619 #CJK UNIFIED IDEOGRAPH
+  {0xB5D2, 0x72C4}, //8620 #CJK UNIFIED IDEOGRAPH
+  {0xB5D3, 0x6DA4}, //8621 #CJK UNIFIED IDEOGRAPH
+  {0xB5D4, 0x7FDF}, //8622 #CJK UNIFIED IDEOGRAPH
+  {0xB5D5, 0x5AE1}, //8623 #CJK UNIFIED IDEOGRAPH
+  {0xB5D6, 0x62B5}, //8624 #CJK UNIFIED IDEOGRAPH
+  {0xB5D7, 0x5E95}, //8625 #CJK UNIFIED IDEOGRAPH
+  {0xB5D8, 0x5730}, //8626 #CJK UNIFIED IDEOGRAPH
+  {0xB5D9, 0x8482}, //8627 #CJK UNIFIED IDEOGRAPH
+  {0xB5DA, 0x7B2C}, //8628 #CJK UNIFIED IDEOGRAPH
+  {0xB5DB, 0x5E1D}, //8629 #CJK UNIFIED IDEOGRAPH
+  {0xB5DC, 0x5F1F}, //8630 #CJK UNIFIED IDEOGRAPH
+  {0xB5DD, 0x9012}, //8631 #CJK UNIFIED IDEOGRAPH
+  {0xB5DE, 0x7F14}, //8632 #CJK UNIFIED IDEOGRAPH
+  {0xB5DF, 0x98A0}, //8633 #CJK UNIFIED IDEOGRAPH
+  {0xB5E0, 0x6382}, //8634 #CJK UNIFIED IDEOGRAPH
+  {0xB5E1, 0x6EC7}, //8635 #CJK UNIFIED IDEOGRAPH
+  {0xB5E2, 0x7898}, //8636 #CJK UNIFIED IDEOGRAPH
+  {0xB5E3, 0x70B9}, //8637 #CJK UNIFIED IDEOGRAPH
+  {0xB5E4, 0x5178}, //8638 #CJK UNIFIED IDEOGRAPH
+  {0xB5E5, 0x975B}, //8639 #CJK UNIFIED IDEOGRAPH
+  {0xB5E6, 0x57AB}, //8640 #CJK UNIFIED IDEOGRAPH
+  {0xB5E7, 0x7535}, //8641 #CJK UNIFIED IDEOGRAPH
+  {0xB5E8, 0x4F43}, //8642 #CJK UNIFIED IDEOGRAPH
+  {0xB5E9, 0x7538}, //8643 #CJK UNIFIED IDEOGRAPH
+  {0xB5EA, 0x5E97}, //8644 #CJK UNIFIED IDEOGRAPH
+  {0xB5EB, 0x60E6}, //8645 #CJK UNIFIED IDEOGRAPH
+  {0xB5EC, 0x5960}, //8646 #CJK UNIFIED IDEOGRAPH
+  {0xB5ED, 0x6DC0}, //8647 #CJK UNIFIED IDEOGRAPH
+  {0xB5EE, 0x6BBF}, //8648 #CJK UNIFIED IDEOGRAPH
+  {0xB5EF, 0x7889}, //8649 #CJK UNIFIED IDEOGRAPH
+  {0xB5F0, 0x53FC}, //8650 #CJK UNIFIED IDEOGRAPH
+  {0xB5F1, 0x96D5}, //8651 #CJK UNIFIED IDEOGRAPH
+  {0xB5F2, 0x51CB}, //8652 #CJK UNIFIED IDEOGRAPH
+  {0xB5F3, 0x5201}, //8653 #CJK UNIFIED IDEOGRAPH
+  {0xB5F4, 0x6389}, //8654 #CJK UNIFIED IDEOGRAPH
+  {0xB5F5, 0x540A}, //8655 #CJK UNIFIED IDEOGRAPH
+  {0xB5F6, 0x9493}, //8656 #CJK UNIFIED IDEOGRAPH
+  {0xB5F7, 0x8C03}, //8657 #CJK UNIFIED IDEOGRAPH
+  {0xB5F8, 0x8DCC}, //8658 #CJK UNIFIED IDEOGRAPH
+  {0xB5F9, 0x7239}, //8659 #CJK UNIFIED IDEOGRAPH
+  {0xB5FA, 0x789F}, //8660 #CJK UNIFIED IDEOGRAPH
+  {0xB5FB, 0x8776}, //8661 #CJK UNIFIED IDEOGRAPH
+  {0xB5FC, 0x8FED}, //8662 #CJK UNIFIED IDEOGRAPH
+  {0xB5FD, 0x8C0D}, //8663 #CJK UNIFIED IDEOGRAPH
+  {0xB5FE, 0x53E0}, //8664 #CJK UNIFIED IDEOGRAPH
+  {0xB640, 0x7993}, //8665 #CJK UNIFIED IDEOGRAPH
+  {0xB641, 0x7994}, //8666 #CJK UNIFIED IDEOGRAPH
+  {0xB642, 0x7995}, //8667 #CJK UNIFIED IDEOGRAPH
+  {0xB643, 0x7996}, //8668 #CJK UNIFIED IDEOGRAPH
+  {0xB644, 0x7997}, //8669 #CJK UNIFIED IDEOGRAPH
+  {0xB645, 0x7998}, //8670 #CJK UNIFIED IDEOGRAPH
+  {0xB646, 0x7999}, //8671 #CJK UNIFIED IDEOGRAPH
+  {0xB647, 0x799B}, //8672 #CJK UNIFIED IDEOGRAPH
+  {0xB648, 0x799C}, //8673 #CJK UNIFIED IDEOGRAPH
+  {0xB649, 0x799D}, //8674 #CJK UNIFIED IDEOGRAPH
+  {0xB64A, 0x799E}, //8675 #CJK UNIFIED IDEOGRAPH
+  {0xB64B, 0x799F}, //8676 #CJK UNIFIED IDEOGRAPH
+  {0xB64C, 0x79A0}, //8677 #CJK UNIFIED IDEOGRAPH
+  {0xB64D, 0x79A1}, //8678 #CJK UNIFIED IDEOGRAPH
+  {0xB64E, 0x79A2}, //8679 #CJK UNIFIED IDEOGRAPH
+  {0xB64F, 0x79A3}, //8680 #CJK UNIFIED IDEOGRAPH
+  {0xB650, 0x79A4}, //8681 #CJK UNIFIED IDEOGRAPH
+  {0xB651, 0x79A5}, //8682 #CJK UNIFIED IDEOGRAPH
+  {0xB652, 0x79A6}, //8683 #CJK UNIFIED IDEOGRAPH
+  {0xB653, 0x79A8}, //8684 #CJK UNIFIED IDEOGRAPH
+  {0xB654, 0x79A9}, //8685 #CJK UNIFIED IDEOGRAPH
+  {0xB655, 0x79AA}, //8686 #CJK UNIFIED IDEOGRAPH
+  {0xB656, 0x79AB}, //8687 #CJK UNIFIED IDEOGRAPH
+  {0xB657, 0x79AC}, //8688 #CJK UNIFIED IDEOGRAPH
+  {0xB658, 0x79AD}, //8689 #CJK UNIFIED IDEOGRAPH
+  {0xB659, 0x79AE}, //8690 #CJK UNIFIED IDEOGRAPH
+  {0xB65A, 0x79AF}, //8691 #CJK UNIFIED IDEOGRAPH
+  {0xB65B, 0x79B0}, //8692 #CJK UNIFIED IDEOGRAPH
+  {0xB65C, 0x79B1}, //8693 #CJK UNIFIED IDEOGRAPH
+  {0xB65D, 0x79B2}, //8694 #CJK UNIFIED IDEOGRAPH
+  {0xB65E, 0x79B4}, //8695 #CJK UNIFIED IDEOGRAPH
+  {0xB65F, 0x79B5}, //8696 #CJK UNIFIED IDEOGRAPH
+  {0xB660, 0x79B6}, //8697 #CJK UNIFIED IDEOGRAPH
+  {0xB661, 0x79B7}, //8698 #CJK UNIFIED IDEOGRAPH
+  {0xB662, 0x79B8}, //8699 #CJK UNIFIED IDEOGRAPH
+  {0xB663, 0x79BC}, //8700 #CJK UNIFIED IDEOGRAPH
+  {0xB664, 0x79BF}, //8701 #CJK UNIFIED IDEOGRAPH
+  {0xB665, 0x79C2}, //8702 #CJK UNIFIED IDEOGRAPH
+  {0xB666, 0x79C4}, //8703 #CJK UNIFIED IDEOGRAPH
+  {0xB667, 0x79C5}, //8704 #CJK UNIFIED IDEOGRAPH
+  {0xB668, 0x79C7}, //8705 #CJK UNIFIED IDEOGRAPH
+  {0xB669, 0x79C8}, //8706 #CJK UNIFIED IDEOGRAPH
+  {0xB66A, 0x79CA}, //8707 #CJK UNIFIED IDEOGRAPH
+  {0xB66B, 0x79CC}, //8708 #CJK UNIFIED IDEOGRAPH
+  {0xB66C, 0x79CE}, //8709 #CJK UNIFIED IDEOGRAPH
+  {0xB66D, 0x79CF}, //8710 #CJK UNIFIED IDEOGRAPH
+  {0xB66E, 0x79D0}, //8711 #CJK UNIFIED IDEOGRAPH
+  {0xB66F, 0x79D3}, //8712 #CJK UNIFIED IDEOGRAPH
+  {0xB670, 0x79D4}, //8713 #CJK UNIFIED IDEOGRAPH
+  {0xB671, 0x79D6}, //8714 #CJK UNIFIED IDEOGRAPH
+  {0xB672, 0x79D7}, //8715 #CJK UNIFIED IDEOGRAPH
+  {0xB673, 0x79D9}, //8716 #CJK UNIFIED IDEOGRAPH
+  {0xB674, 0x79DA}, //8717 #CJK UNIFIED IDEOGRAPH
+  {0xB675, 0x79DB}, //8718 #CJK UNIFIED IDEOGRAPH
+  {0xB676, 0x79DC}, //8719 #CJK UNIFIED IDEOGRAPH
+  {0xB677, 0x79DD}, //8720 #CJK UNIFIED IDEOGRAPH
+  {0xB678, 0x79DE}, //8721 #CJK UNIFIED IDEOGRAPH
+  {0xB679, 0x79E0}, //8722 #CJK UNIFIED IDEOGRAPH
+  {0xB67A, 0x79E1}, //8723 #CJK UNIFIED IDEOGRAPH
+  {0xB67B, 0x79E2}, //8724 #CJK UNIFIED IDEOGRAPH
+  {0xB67C, 0x79E5}, //8725 #CJK UNIFIED IDEOGRAPH
+  {0xB67D, 0x79E8}, //8726 #CJK UNIFIED IDEOGRAPH
+  {0xB67E, 0x79EA}, //8727 #CJK UNIFIED IDEOGRAPH
+  {0xB680, 0x79EC}, //8728 #CJK UNIFIED IDEOGRAPH
+  {0xB681, 0x79EE}, //8729 #CJK UNIFIED IDEOGRAPH
+  {0xB682, 0x79F1}, //8730 #CJK UNIFIED IDEOGRAPH
+  {0xB683, 0x79F2}, //8731 #CJK UNIFIED IDEOGRAPH
+  {0xB684, 0x79F3}, //8732 #CJK UNIFIED IDEOGRAPH
+  {0xB685, 0x79F4}, //8733 #CJK UNIFIED IDEOGRAPH
+  {0xB686, 0x79F5}, //8734 #CJK UNIFIED IDEOGRAPH
+  {0xB687, 0x79F6}, //8735 #CJK UNIFIED IDEOGRAPH
+  {0xB688, 0x79F7}, //8736 #CJK UNIFIED IDEOGRAPH
+  {0xB689, 0x79F9}, //8737 #CJK UNIFIED IDEOGRAPH
+  {0xB68A, 0x79FA}, //8738 #CJK UNIFIED IDEOGRAPH
+  {0xB68B, 0x79FC}, //8739 #CJK UNIFIED IDEOGRAPH
+  {0xB68C, 0x79FE}, //8740 #CJK UNIFIED IDEOGRAPH
+  {0xB68D, 0x79FF}, //8741 #CJK UNIFIED IDEOGRAPH
+  {0xB68E, 0x7A01}, //8742 #CJK UNIFIED IDEOGRAPH
+  {0xB68F, 0x7A04}, //8743 #CJK UNIFIED IDEOGRAPH
+  {0xB690, 0x7A05}, //8744 #CJK UNIFIED IDEOGRAPH
+  {0xB691, 0x7A07}, //8745 #CJK UNIFIED IDEOGRAPH
+  {0xB692, 0x7A08}, //8746 #CJK UNIFIED IDEOGRAPH
+  {0xB693, 0x7A09}, //8747 #CJK UNIFIED IDEOGRAPH
+  {0xB694, 0x7A0A}, //8748 #CJK UNIFIED IDEOGRAPH
+  {0xB695, 0x7A0C}, //8749 #CJK UNIFIED IDEOGRAPH
+  {0xB696, 0x7A0F}, //8750 #CJK UNIFIED IDEOGRAPH
+  {0xB697, 0x7A10}, //8751 #CJK UNIFIED IDEOGRAPH
+  {0xB698, 0x7A11}, //8752 #CJK UNIFIED IDEOGRAPH
+  {0xB699, 0x7A12}, //8753 #CJK UNIFIED IDEOGRAPH
+  {0xB69A, 0x7A13}, //8754 #CJK UNIFIED IDEOGRAPH
+  {0xB69B, 0x7A15}, //8755 #CJK UNIFIED IDEOGRAPH
+  {0xB69C, 0x7A16}, //8756 #CJK UNIFIED IDEOGRAPH
+  {0xB69D, 0x7A18}, //8757 #CJK UNIFIED IDEOGRAPH
+  {0xB69E, 0x7A19}, //8758 #CJK UNIFIED IDEOGRAPH
+  {0xB69F, 0x7A1B}, //8759 #CJK UNIFIED IDEOGRAPH
+  {0xB6A0, 0x7A1C}, //8760 #CJK UNIFIED IDEOGRAPH
+  {0xB6A1, 0x4E01}, //8761 #CJK UNIFIED IDEOGRAPH
+  {0xB6A2, 0x76EF}, //8762 #CJK UNIFIED IDEOGRAPH
+  {0xB6A3, 0x53EE}, //8763 #CJK UNIFIED IDEOGRAPH
+  {0xB6A4, 0x9489}, //8764 #CJK UNIFIED IDEOGRAPH
+  {0xB6A5, 0x9876}, //8765 #CJK UNIFIED IDEOGRAPH
+  {0xB6A6, 0x9F0E}, //8766 #CJK UNIFIED IDEOGRAPH
+  {0xB6A7, 0x952D}, //8767 #CJK UNIFIED IDEOGRAPH
+  {0xB6A8, 0x5B9A}, //8768 #CJK UNIFIED IDEOGRAPH
+  {0xB6A9, 0x8BA2}, //8769 #CJK UNIFIED IDEOGRAPH
+  {0xB6AA, 0x4E22}, //8770 #CJK UNIFIED IDEOGRAPH
+  {0xB6AB, 0x4E1C}, //8771 #CJK UNIFIED IDEOGRAPH
+  {0xB6AC, 0x51AC}, //8772 #CJK UNIFIED IDEOGRAPH
+  {0xB6AD, 0x8463}, //8773 #CJK UNIFIED IDEOGRAPH
+  {0xB6AE, 0x61C2}, //8774 #CJK UNIFIED IDEOGRAPH
+  {0xB6AF, 0x52A8}, //8775 #CJK UNIFIED IDEOGRAPH
+  {0xB6B0, 0x680B}, //8776 #CJK UNIFIED IDEOGRAPH
+  {0xB6B1, 0x4F97}, //8777 #CJK UNIFIED IDEOGRAPH
+  {0xB6B2, 0x606B}, //8778 #CJK UNIFIED IDEOGRAPH
+  {0xB6B3, 0x51BB}, //8779 #CJK UNIFIED IDEOGRAPH
+  {0xB6B4, 0x6D1E}, //8780 #CJK UNIFIED IDEOGRAPH
+  {0xB6B5, 0x515C}, //8781 #CJK UNIFIED IDEOGRAPH
+  {0xB6B6, 0x6296}, //8782 #CJK UNIFIED IDEOGRAPH
+  {0xB6B7, 0x6597}, //8783 #CJK UNIFIED IDEOGRAPH
+  {0xB6B8, 0x9661}, //8784 #CJK UNIFIED IDEOGRAPH
+  {0xB6B9, 0x8C46}, //8785 #CJK UNIFIED IDEOGRAPH
+  {0xB6BA, 0x9017}, //8786 #CJK UNIFIED IDEOGRAPH
+  {0xB6BB, 0x75D8}, //8787 #CJK UNIFIED IDEOGRAPH
+  {0xB6BC, 0x90FD}, //8788 #CJK UNIFIED IDEOGRAPH
+  {0xB6BD, 0x7763}, //8789 #CJK UNIFIED IDEOGRAPH
+  {0xB6BE, 0x6BD2}, //8790 #CJK UNIFIED IDEOGRAPH
+  {0xB6BF, 0x728A}, //8791 #CJK UNIFIED IDEOGRAPH
+  {0xB6C0, 0x72EC}, //8792 #CJK UNIFIED IDEOGRAPH
+  {0xB6C1, 0x8BFB}, //8793 #CJK UNIFIED IDEOGRAPH
+  {0xB6C2, 0x5835}, //8794 #CJK UNIFIED IDEOGRAPH
+  {0xB6C3, 0x7779}, //8795 #CJK UNIFIED IDEOGRAPH
+  {0xB6C4, 0x8D4C}, //8796 #CJK UNIFIED IDEOGRAPH
+  {0xB6C5, 0x675C}, //8797 #CJK UNIFIED IDEOGRAPH
+  {0xB6C6, 0x9540}, //8798 #CJK UNIFIED IDEOGRAPH
+  {0xB6C7, 0x809A}, //8799 #CJK UNIFIED IDEOGRAPH
+  {0xB6C8, 0x5EA6}, //8800 #CJK UNIFIED IDEOGRAPH
+  {0xB6C9, 0x6E21}, //8801 #CJK UNIFIED IDEOGRAPH
+  {0xB6CA, 0x5992}, //8802 #CJK UNIFIED IDEOGRAPH
+  {0xB6CB, 0x7AEF}, //8803 #CJK UNIFIED IDEOGRAPH
+  {0xB6CC, 0x77ED}, //8804 #CJK UNIFIED IDEOGRAPH
+  {0xB6CD, 0x953B}, //8805 #CJK UNIFIED IDEOGRAPH
+  {0xB6CE, 0x6BB5}, //8806 #CJK UNIFIED IDEOGRAPH
+  {0xB6CF, 0x65AD}, //8807 #CJK UNIFIED IDEOGRAPH
+  {0xB6D0, 0x7F0E}, //8808 #CJK UNIFIED IDEOGRAPH
+  {0xB6D1, 0x5806}, //8809 #CJK UNIFIED IDEOGRAPH
+  {0xB6D2, 0x5151}, //8810 #CJK UNIFIED IDEOGRAPH
+  {0xB6D3, 0x961F}, //8811 #CJK UNIFIED IDEOGRAPH
+  {0xB6D4, 0x5BF9}, //8812 #CJK UNIFIED IDEOGRAPH
+  {0xB6D5, 0x58A9}, //8813 #CJK UNIFIED IDEOGRAPH
+  {0xB6D6, 0x5428}, //8814 #CJK UNIFIED IDEOGRAPH
+  {0xB6D7, 0x8E72}, //8815 #CJK UNIFIED IDEOGRAPH
+  {0xB6D8, 0x6566}, //8816 #CJK UNIFIED IDEOGRAPH
+  {0xB6D9, 0x987F}, //8817 #CJK UNIFIED IDEOGRAPH
+  {0xB6DA, 0x56E4}, //8818 #CJK UNIFIED IDEOGRAPH
+  {0xB6DB, 0x949D}, //8819 #CJK UNIFIED IDEOGRAPH
+  {0xB6DC, 0x76FE}, //8820 #CJK UNIFIED IDEOGRAPH
+  {0xB6DD, 0x9041}, //8821 #CJK UNIFIED IDEOGRAPH
+  {0xB6DE, 0x6387}, //8822 #CJK UNIFIED IDEOGRAPH
+  {0xB6DF, 0x54C6}, //8823 #CJK UNIFIED IDEOGRAPH
+  {0xB6E0, 0x591A}, //8824 #CJK UNIFIED IDEOGRAPH
+  {0xB6E1, 0x593A}, //8825 #CJK UNIFIED IDEOGRAPH
+  {0xB6E2, 0x579B}, //8826 #CJK UNIFIED IDEOGRAPH
+  {0xB6E3, 0x8EB2}, //8827 #CJK UNIFIED IDEOGRAPH
+  {0xB6E4, 0x6735}, //8828 #CJK UNIFIED IDEOGRAPH
+  {0xB6E5, 0x8DFA}, //8829 #CJK UNIFIED IDEOGRAPH
+  {0xB6E6, 0x8235}, //8830 #CJK UNIFIED IDEOGRAPH
+  {0xB6E7, 0x5241}, //8831 #CJK UNIFIED IDEOGRAPH
+  {0xB6E8, 0x60F0}, //8832 #CJK UNIFIED IDEOGRAPH
+  {0xB6E9, 0x5815}, //8833 #CJK UNIFIED IDEOGRAPH
+  {0xB6EA, 0x86FE}, //8834 #CJK UNIFIED IDEOGRAPH
+  {0xB6EB, 0x5CE8}, //8835 #CJK UNIFIED IDEOGRAPH
+  {0xB6EC, 0x9E45}, //8836 #CJK UNIFIED IDEOGRAPH
+  {0xB6ED, 0x4FC4}, //8837 #CJK UNIFIED IDEOGRAPH
+  {0xB6EE, 0x989D}, //8838 #CJK UNIFIED IDEOGRAPH
+  {0xB6EF, 0x8BB9}, //8839 #CJK UNIFIED IDEOGRAPH
+  {0xB6F0, 0x5A25}, //8840 #CJK UNIFIED IDEOGRAPH
+  {0xB6F1, 0x6076}, //8841 #CJK UNIFIED IDEOGRAPH
+  {0xB6F2, 0x5384}, //8842 #CJK UNIFIED IDEOGRAPH
+  {0xB6F3, 0x627C}, //8843 #CJK UNIFIED IDEOGRAPH
+  {0xB6F4, 0x904F}, //8844 #CJK UNIFIED IDEOGRAPH
+  {0xB6F5, 0x9102}, //8845 #CJK UNIFIED IDEOGRAPH
+  {0xB6F6, 0x997F}, //8846 #CJK UNIFIED IDEOGRAPH
+  {0xB6F7, 0x6069}, //8847 #CJK UNIFIED IDEOGRAPH
+  {0xB6F8, 0x800C}, //8848 #CJK UNIFIED IDEOGRAPH
+  {0xB6F9, 0x513F}, //8849 #CJK UNIFIED IDEOGRAPH
+  {0xB6FA, 0x8033}, //8850 #CJK UNIFIED IDEOGRAPH
+  {0xB6FB, 0x5C14}, //8851 #CJK UNIFIED IDEOGRAPH
+  {0xB6FC, 0x9975}, //8852 #CJK UNIFIED IDEOGRAPH
+  {0xB6FD, 0x6D31}, //8853 #CJK UNIFIED IDEOGRAPH
+  {0xB6FE, 0x4E8C}, //8854 #CJK UNIFIED IDEOGRAPH
+  {0xB740, 0x7A1D}, //8855 #CJK UNIFIED IDEOGRAPH
+  {0xB741, 0x7A1F}, //8856 #CJK UNIFIED IDEOGRAPH
+  {0xB742, 0x7A21}, //8857 #CJK UNIFIED IDEOGRAPH
+  {0xB743, 0x7A22}, //8858 #CJK UNIFIED IDEOGRAPH
+  {0xB744, 0x7A24}, //8859 #CJK UNIFIED IDEOGRAPH
+  {0xB745, 0x7A25}, //8860 #CJK UNIFIED IDEOGRAPH
+  {0xB746, 0x7A26}, //8861 #CJK UNIFIED IDEOGRAPH
+  {0xB747, 0x7A27}, //8862 #CJK UNIFIED IDEOGRAPH
+  {0xB748, 0x7A28}, //8863 #CJK UNIFIED IDEOGRAPH
+  {0xB749, 0x7A29}, //8864 #CJK UNIFIED IDEOGRAPH
+  {0xB74A, 0x7A2A}, //8865 #CJK UNIFIED IDEOGRAPH
+  {0xB74B, 0x7A2B}, //8866 #CJK UNIFIED IDEOGRAPH
+  {0xB74C, 0x7A2C}, //8867 #CJK UNIFIED IDEOGRAPH
+  {0xB74D, 0x7A2D}, //8868 #CJK UNIFIED IDEOGRAPH
+  {0xB74E, 0x7A2E}, //8869 #CJK UNIFIED IDEOGRAPH
+  {0xB74F, 0x7A2F}, //8870 #CJK UNIFIED IDEOGRAPH
+  {0xB750, 0x7A30}, //8871 #CJK UNIFIED IDEOGRAPH
+  {0xB751, 0x7A31}, //8872 #CJK UNIFIED IDEOGRAPH
+  {0xB752, 0x7A32}, //8873 #CJK UNIFIED IDEOGRAPH
+  {0xB753, 0x7A34}, //8874 #CJK UNIFIED IDEOGRAPH
+  {0xB754, 0x7A35}, //8875 #CJK UNIFIED IDEOGRAPH
+  {0xB755, 0x7A36}, //8876 #CJK UNIFIED IDEOGRAPH
+  {0xB756, 0x7A38}, //8877 #CJK UNIFIED IDEOGRAPH
+  {0xB757, 0x7A3A}, //8878 #CJK UNIFIED IDEOGRAPH
+  {0xB758, 0x7A3E}, //8879 #CJK UNIFIED IDEOGRAPH
+  {0xB759, 0x7A40}, //8880 #CJK UNIFIED IDEOGRAPH
+  {0xB75A, 0x7A41}, //8881 #CJK UNIFIED IDEOGRAPH
+  {0xB75B, 0x7A42}, //8882 #CJK UNIFIED IDEOGRAPH
+  {0xB75C, 0x7A43}, //8883 #CJK UNIFIED IDEOGRAPH
+  {0xB75D, 0x7A44}, //8884 #CJK UNIFIED IDEOGRAPH
+  {0xB75E, 0x7A45}, //8885 #CJK UNIFIED IDEOGRAPH
+  {0xB75F, 0x7A47}, //8886 #CJK UNIFIED IDEOGRAPH
+  {0xB760, 0x7A48}, //8887 #CJK UNIFIED IDEOGRAPH
+  {0xB761, 0x7A49}, //8888 #CJK UNIFIED IDEOGRAPH
+  {0xB762, 0x7A4A}, //8889 #CJK UNIFIED IDEOGRAPH
+  {0xB763, 0x7A4B}, //8890 #CJK UNIFIED IDEOGRAPH
+  {0xB764, 0x7A4C}, //8891 #CJK UNIFIED IDEOGRAPH
+  {0xB765, 0x7A4D}, //8892 #CJK UNIFIED IDEOGRAPH
+  {0xB766, 0x7A4E}, //8893 #CJK UNIFIED IDEOGRAPH
+  {0xB767, 0x7A4F}, //8894 #CJK UNIFIED IDEOGRAPH
+  {0xB768, 0x7A50}, //8895 #CJK UNIFIED IDEOGRAPH
+  {0xB769, 0x7A52}, //8896 #CJK UNIFIED IDEOGRAPH
+  {0xB76A, 0x7A53}, //8897 #CJK UNIFIED IDEOGRAPH
+  {0xB76B, 0x7A54}, //8898 #CJK UNIFIED IDEOGRAPH
+  {0xB76C, 0x7A55}, //8899 #CJK UNIFIED IDEOGRAPH
+  {0xB76D, 0x7A56}, //8900 #CJK UNIFIED IDEOGRAPH
+  {0xB76E, 0x7A58}, //8901 #CJK UNIFIED IDEOGRAPH
+  {0xB76F, 0x7A59}, //8902 #CJK UNIFIED IDEOGRAPH
+  {0xB770, 0x7A5A}, //8903 #CJK UNIFIED IDEOGRAPH
+  {0xB771, 0x7A5B}, //8904 #CJK UNIFIED IDEOGRAPH
+  {0xB772, 0x7A5C}, //8905 #CJK UNIFIED IDEOGRAPH
+  {0xB773, 0x7A5D}, //8906 #CJK UNIFIED IDEOGRAPH
+  {0xB774, 0x7A5E}, //8907 #CJK UNIFIED IDEOGRAPH
+  {0xB775, 0x7A5F}, //8908 #CJK UNIFIED IDEOGRAPH
+  {0xB776, 0x7A60}, //8909 #CJK UNIFIED IDEOGRAPH
+  {0xB777, 0x7A61}, //8910 #CJK UNIFIED IDEOGRAPH
+  {0xB778, 0x7A62}, //8911 #CJK UNIFIED IDEOGRAPH
+  {0xB779, 0x7A63}, //8912 #CJK UNIFIED IDEOGRAPH
+  {0xB77A, 0x7A64}, //8913 #CJK UNIFIED IDEOGRAPH
+  {0xB77B, 0x7A65}, //8914 #CJK UNIFIED IDEOGRAPH
+  {0xB77C, 0x7A66}, //8915 #CJK UNIFIED IDEOGRAPH
+  {0xB77D, 0x7A67}, //8916 #CJK UNIFIED IDEOGRAPH
+  {0xB77E, 0x7A68}, //8917 #CJK UNIFIED IDEOGRAPH
+  {0xB780, 0x7A69}, //8918 #CJK UNIFIED IDEOGRAPH
+  {0xB781, 0x7A6A}, //8919 #CJK UNIFIED IDEOGRAPH
+  {0xB782, 0x7A6B}, //8920 #CJK UNIFIED IDEOGRAPH
+  {0xB783, 0x7A6C}, //8921 #CJK UNIFIED IDEOGRAPH
+  {0xB784, 0x7A6D}, //8922 #CJK UNIFIED IDEOGRAPH
+  {0xB785, 0x7A6E}, //8923 #CJK UNIFIED IDEOGRAPH
+  {0xB786, 0x7A6F}, //8924 #CJK UNIFIED IDEOGRAPH
+  {0xB787, 0x7A71}, //8925 #CJK UNIFIED IDEOGRAPH
+  {0xB788, 0x7A72}, //8926 #CJK UNIFIED IDEOGRAPH
+  {0xB789, 0x7A73}, //8927 #CJK UNIFIED IDEOGRAPH
+  {0xB78A, 0x7A75}, //8928 #CJK UNIFIED IDEOGRAPH
+  {0xB78B, 0x7A7B}, //8929 #CJK UNIFIED IDEOGRAPH
+  {0xB78C, 0x7A7C}, //8930 #CJK UNIFIED IDEOGRAPH
+  {0xB78D, 0x7A7D}, //8931 #CJK UNIFIED IDEOGRAPH
+  {0xB78E, 0x7A7E}, //8932 #CJK UNIFIED IDEOGRAPH
+  {0xB78F, 0x7A82}, //8933 #CJK UNIFIED IDEOGRAPH
+  {0xB790, 0x7A85}, //8934 #CJK UNIFIED IDEOGRAPH
+  {0xB791, 0x7A87}, //8935 #CJK UNIFIED IDEOGRAPH
+  {0xB792, 0x7A89}, //8936 #CJK UNIFIED IDEOGRAPH
+  {0xB793, 0x7A8A}, //8937 #CJK UNIFIED IDEOGRAPH
+  {0xB794, 0x7A8B}, //8938 #CJK UNIFIED IDEOGRAPH
+  {0xB795, 0x7A8C}, //8939 #CJK UNIFIED IDEOGRAPH
+  {0xB796, 0x7A8E}, //8940 #CJK UNIFIED IDEOGRAPH
+  {0xB797, 0x7A8F}, //8941 #CJK UNIFIED IDEOGRAPH
+  {0xB798, 0x7A90}, //8942 #CJK UNIFIED IDEOGRAPH
+  {0xB799, 0x7A93}, //8943 #CJK UNIFIED IDEOGRAPH
+  {0xB79A, 0x7A94}, //8944 #CJK UNIFIED IDEOGRAPH
+  {0xB79B, 0x7A99}, //8945 #CJK UNIFIED IDEOGRAPH
+  {0xB79C, 0x7A9A}, //8946 #CJK UNIFIED IDEOGRAPH
+  {0xB79D, 0x7A9B}, //8947 #CJK UNIFIED IDEOGRAPH
+  {0xB79E, 0x7A9E}, //8948 #CJK UNIFIED IDEOGRAPH
+  {0xB79F, 0x7AA1}, //8949 #CJK UNIFIED IDEOGRAPH
+  {0xB7A0, 0x7AA2}, //8950 #CJK UNIFIED IDEOGRAPH
+  {0xB7A1, 0x8D30}, //8951 #CJK UNIFIED IDEOGRAPH
+  {0xB7A2, 0x53D1}, //8952 #CJK UNIFIED IDEOGRAPH
+  {0xB7A3, 0x7F5A}, //8953 #CJK UNIFIED IDEOGRAPH
+  {0xB7A4, 0x7B4F}, //8954 #CJK UNIFIED IDEOGRAPH
+  {0xB7A5, 0x4F10}, //8955 #CJK UNIFIED IDEOGRAPH
+  {0xB7A6, 0x4E4F}, //8956 #CJK UNIFIED IDEOGRAPH
+  {0xB7A7, 0x9600}, //8957 #CJK UNIFIED IDEOGRAPH
+  {0xB7A8, 0x6CD5}, //8958 #CJK UNIFIED IDEOGRAPH
+  {0xB7A9, 0x73D0}, //8959 #CJK UNIFIED IDEOGRAPH
+  {0xB7AA, 0x85E9}, //8960 #CJK UNIFIED IDEOGRAPH
+  {0xB7AB, 0x5E06}, //8961 #CJK UNIFIED IDEOGRAPH
+  {0xB7AC, 0x756A}, //8962 #CJK UNIFIED IDEOGRAPH
+  {0xB7AD, 0x7FFB}, //8963 #CJK UNIFIED IDEOGRAPH
+  {0xB7AE, 0x6A0A}, //8964 #CJK UNIFIED IDEOGRAPH
+  {0xB7AF, 0x77FE}, //8965 #CJK UNIFIED IDEOGRAPH
+  {0xB7B0, 0x9492}, //8966 #CJK UNIFIED IDEOGRAPH
+  {0xB7B1, 0x7E41}, //8967 #CJK UNIFIED IDEOGRAPH
+  {0xB7B2, 0x51E1}, //8968 #CJK UNIFIED IDEOGRAPH
+  {0xB7B3, 0x70E6}, //8969 #CJK UNIFIED IDEOGRAPH
+  {0xB7B4, 0x53CD}, //8970 #CJK UNIFIED IDEOGRAPH
+  {0xB7B5, 0x8FD4}, //8971 #CJK UNIFIED IDEOGRAPH
+  {0xB7B6, 0x8303}, //8972 #CJK UNIFIED IDEOGRAPH
+  {0xB7B7, 0x8D29}, //8973 #CJK UNIFIED IDEOGRAPH
+  {0xB7B8, 0x72AF}, //8974 #CJK UNIFIED IDEOGRAPH
+  {0xB7B9, 0x996D}, //8975 #CJK UNIFIED IDEOGRAPH
+  {0xB7BA, 0x6CDB}, //8976 #CJK UNIFIED IDEOGRAPH
+  {0xB7BB, 0x574A}, //8977 #CJK UNIFIED IDEOGRAPH
+  {0xB7BC, 0x82B3}, //8978 #CJK UNIFIED IDEOGRAPH
+  {0xB7BD, 0x65B9}, //8979 #CJK UNIFIED IDEOGRAPH
+  {0xB7BE, 0x80AA}, //8980 #CJK UNIFIED IDEOGRAPH
+  {0xB7BF, 0x623F}, //8981 #CJK UNIFIED IDEOGRAPH
+  {0xB7C0, 0x9632}, //8982 #CJK UNIFIED IDEOGRAPH
+  {0xB7C1, 0x59A8}, //8983 #CJK UNIFIED IDEOGRAPH
+  {0xB7C2, 0x4EFF}, //8984 #CJK UNIFIED IDEOGRAPH
+  {0xB7C3, 0x8BBF}, //8985 #CJK UNIFIED IDEOGRAPH
+  {0xB7C4, 0x7EBA}, //8986 #CJK UNIFIED IDEOGRAPH
+  {0xB7C5, 0x653E}, //8987 #CJK UNIFIED IDEOGRAPH
+  {0xB7C6, 0x83F2}, //8988 #CJK UNIFIED IDEOGRAPH
+  {0xB7C7, 0x975E}, //8989 #CJK UNIFIED IDEOGRAPH
+  {0xB7C8, 0x5561}, //8990 #CJK UNIFIED IDEOGRAPH
+  {0xB7C9, 0x98DE}, //8991 #CJK UNIFIED IDEOGRAPH
+  {0xB7CA, 0x80A5}, //8992 #CJK UNIFIED IDEOGRAPH
+  {0xB7CB, 0x532A}, //8993 #CJK UNIFIED IDEOGRAPH
+  {0xB7CC, 0x8BFD}, //8994 #CJK UNIFIED IDEOGRAPH
+  {0xB7CD, 0x5420}, //8995 #CJK UNIFIED IDEOGRAPH
+  {0xB7CE, 0x80BA}, //8996 #CJK UNIFIED IDEOGRAPH
+  {0xB7CF, 0x5E9F}, //8997 #CJK UNIFIED IDEOGRAPH
+  {0xB7D0, 0x6CB8}, //8998 #CJK UNIFIED IDEOGRAPH
+  {0xB7D1, 0x8D39}, //8999 #CJK UNIFIED IDEOGRAPH
+  {0xB7D2, 0x82AC}, //9000 #CJK UNIFIED IDEOGRAPH
+  {0xB7D3, 0x915A}, //9001 #CJK UNIFIED IDEOGRAPH
+  {0xB7D4, 0x5429}, //9002 #CJK UNIFIED IDEOGRAPH
+  {0xB7D5, 0x6C1B}, //9003 #CJK UNIFIED IDEOGRAPH
+  {0xB7D6, 0x5206}, //9004 #CJK UNIFIED IDEOGRAPH
+  {0xB7D7, 0x7EB7}, //9005 #CJK UNIFIED IDEOGRAPH
+  {0xB7D8, 0x575F}, //9006 #CJK UNIFIED IDEOGRAPH
+  {0xB7D9, 0x711A}, //9007 #CJK UNIFIED IDEOGRAPH
+  {0xB7DA, 0x6C7E}, //9008 #CJK UNIFIED IDEOGRAPH
+  {0xB7DB, 0x7C89}, //9009 #CJK UNIFIED IDEOGRAPH
+  {0xB7DC, 0x594B}, //9010 #CJK UNIFIED IDEOGRAPH
+  {0xB7DD, 0x4EFD}, //9011 #CJK UNIFIED IDEOGRAPH
+  {0xB7DE, 0x5FFF}, //9012 #CJK UNIFIED IDEOGRAPH
+  {0xB7DF, 0x6124}, //9013 #CJK UNIFIED IDEOGRAPH
+  {0xB7E0, 0x7CAA}, //9014 #CJK UNIFIED IDEOGRAPH
+  {0xB7E1, 0x4E30}, //9015 #CJK UNIFIED IDEOGRAPH
+  {0xB7E2, 0x5C01}, //9016 #CJK UNIFIED IDEOGRAPH
+  {0xB7E3, 0x67AB}, //9017 #CJK UNIFIED IDEOGRAPH
+  {0xB7E4, 0x8702}, //9018 #CJK UNIFIED IDEOGRAPH
+  {0xB7E5, 0x5CF0}, //9019 #CJK UNIFIED IDEOGRAPH
+  {0xB7E6, 0x950B}, //9020 #CJK UNIFIED IDEOGRAPH
+  {0xB7E7, 0x98CE}, //9021 #CJK UNIFIED IDEOGRAPH
+  {0xB7E8, 0x75AF}, //9022 #CJK UNIFIED IDEOGRAPH
+  {0xB7E9, 0x70FD}, //9023 #CJK UNIFIED IDEOGRAPH
+  {0xB7EA, 0x9022}, //9024 #CJK UNIFIED IDEOGRAPH
+  {0xB7EB, 0x51AF}, //9025 #CJK UNIFIED IDEOGRAPH
+  {0xB7EC, 0x7F1D}, //9026 #CJK UNIFIED IDEOGRAPH
+  {0xB7ED, 0x8BBD}, //9027 #CJK UNIFIED IDEOGRAPH
+  {0xB7EE, 0x5949}, //9028 #CJK UNIFIED IDEOGRAPH
+  {0xB7EF, 0x51E4}, //9029 #CJK UNIFIED IDEOGRAPH
+  {0xB7F0, 0x4F5B}, //9030 #CJK UNIFIED IDEOGRAPH
+  {0xB7F1, 0x5426}, //9031 #CJK UNIFIED IDEOGRAPH
+  {0xB7F2, 0x592B}, //9032 #CJK UNIFIED IDEOGRAPH
+  {0xB7F3, 0x6577}, //9033 #CJK UNIFIED IDEOGRAPH
+  {0xB7F4, 0x80A4}, //9034 #CJK UNIFIED IDEOGRAPH
+  {0xB7F5, 0x5B75}, //9035 #CJK UNIFIED IDEOGRAPH
+  {0xB7F6, 0x6276}, //9036 #CJK UNIFIED IDEOGRAPH
+  {0xB7F7, 0x62C2}, //9037 #CJK UNIFIED IDEOGRAPH
+  {0xB7F8, 0x8F90}, //9038 #CJK UNIFIED IDEOGRAPH
+  {0xB7F9, 0x5E45}, //9039 #CJK UNIFIED IDEOGRAPH
+  {0xB7FA, 0x6C1F}, //9040 #CJK UNIFIED IDEOGRAPH
+  {0xB7FB, 0x7B26}, //9041 #CJK UNIFIED IDEOGRAPH
+  {0xB7FC, 0x4F0F}, //9042 #CJK UNIFIED IDEOGRAPH
+  {0xB7FD, 0x4FD8}, //9043 #CJK UNIFIED IDEOGRAPH
+  {0xB7FE, 0x670D}, //9044 #CJK UNIFIED IDEOGRAPH
+  {0xB840, 0x7AA3}, //9045 #CJK UNIFIED IDEOGRAPH
+  {0xB841, 0x7AA4}, //9046 #CJK UNIFIED IDEOGRAPH
+  {0xB842, 0x7AA7}, //9047 #CJK UNIFIED IDEOGRAPH
+  {0xB843, 0x7AA9}, //9048 #CJK UNIFIED IDEOGRAPH
+  {0xB844, 0x7AAA}, //9049 #CJK UNIFIED IDEOGRAPH
+  {0xB845, 0x7AAB}, //9050 #CJK UNIFIED IDEOGRAPH
+  {0xB846, 0x7AAE}, //9051 #CJK UNIFIED IDEOGRAPH
+  {0xB847, 0x7AAF}, //9052 #CJK UNIFIED IDEOGRAPH
+  {0xB848, 0x7AB0}, //9053 #CJK UNIFIED IDEOGRAPH
+  {0xB849, 0x7AB1}, //9054 #CJK UNIFIED IDEOGRAPH
+  {0xB84A, 0x7AB2}, //9055 #CJK UNIFIED IDEOGRAPH
+  {0xB84B, 0x7AB4}, //9056 #CJK UNIFIED IDEOGRAPH
+  {0xB84C, 0x7AB5}, //9057 #CJK UNIFIED IDEOGRAPH
+  {0xB84D, 0x7AB6}, //9058 #CJK UNIFIED IDEOGRAPH
+  {0xB84E, 0x7AB7}, //9059 #CJK UNIFIED IDEOGRAPH
+  {0xB84F, 0x7AB8}, //9060 #CJK UNIFIED IDEOGRAPH
+  {0xB850, 0x7AB9}, //9061 #CJK UNIFIED IDEOGRAPH
+  {0xB851, 0x7ABA}, //9062 #CJK UNIFIED IDEOGRAPH
+  {0xB852, 0x7ABB}, //9063 #CJK UNIFIED IDEOGRAPH
+  {0xB853, 0x7ABC}, //9064 #CJK UNIFIED IDEOGRAPH
+  {0xB854, 0x7ABD}, //9065 #CJK UNIFIED IDEOGRAPH
+  {0xB855, 0x7ABE}, //9066 #CJK UNIFIED IDEOGRAPH
+  {0xB856, 0x7AC0}, //9067 #CJK UNIFIED IDEOGRAPH
+  {0xB857, 0x7AC1}, //9068 #CJK UNIFIED IDEOGRAPH
+  {0xB858, 0x7AC2}, //9069 #CJK UNIFIED IDEOGRAPH
+  {0xB859, 0x7AC3}, //9070 #CJK UNIFIED IDEOGRAPH
+  {0xB85A, 0x7AC4}, //9071 #CJK UNIFIED IDEOGRAPH
+  {0xB85B, 0x7AC5}, //9072 #CJK UNIFIED IDEOGRAPH
+  {0xB85C, 0x7AC6}, //9073 #CJK UNIFIED IDEOGRAPH
+  {0xB85D, 0x7AC7}, //9074 #CJK UNIFIED IDEOGRAPH
+  {0xB85E, 0x7AC8}, //9075 #CJK UNIFIED IDEOGRAPH
+  {0xB85F, 0x7AC9}, //9076 #CJK UNIFIED IDEOGRAPH
+  {0xB860, 0x7ACA}, //9077 #CJK UNIFIED IDEOGRAPH
+  {0xB861, 0x7ACC}, //9078 #CJK UNIFIED IDEOGRAPH
+  {0xB862, 0x7ACD}, //9079 #CJK UNIFIED IDEOGRAPH
+  {0xB863, 0x7ACE}, //9080 #CJK UNIFIED IDEOGRAPH
+  {0xB864, 0x7ACF}, //9081 #CJK UNIFIED IDEOGRAPH
+  {0xB865, 0x7AD0}, //9082 #CJK UNIFIED IDEOGRAPH
+  {0xB866, 0x7AD1}, //9083 #CJK UNIFIED IDEOGRAPH
+  {0xB867, 0x7AD2}, //9084 #CJK UNIFIED IDEOGRAPH
+  {0xB868, 0x7AD3}, //9085 #CJK UNIFIED IDEOGRAPH
+  {0xB869, 0x7AD4}, //9086 #CJK UNIFIED IDEOGRAPH
+  {0xB86A, 0x7AD5}, //9087 #CJK UNIFIED IDEOGRAPH
+  {0xB86B, 0x7AD7}, //9088 #CJK UNIFIED IDEOGRAPH
+  {0xB86C, 0x7AD8}, //9089 #CJK UNIFIED IDEOGRAPH
+  {0xB86D, 0x7ADA}, //9090 #CJK UNIFIED IDEOGRAPH
+  {0xB86E, 0x7ADB}, //9091 #CJK UNIFIED IDEOGRAPH
+  {0xB86F, 0x7ADC}, //9092 #CJK UNIFIED IDEOGRAPH
+  {0xB870, 0x7ADD}, //9093 #CJK UNIFIED IDEOGRAPH
+  {0xB871, 0x7AE1}, //9094 #CJK UNIFIED IDEOGRAPH
+  {0xB872, 0x7AE2}, //9095 #CJK UNIFIED IDEOGRAPH
+  {0xB873, 0x7AE4}, //9096 #CJK UNIFIED IDEOGRAPH
+  {0xB874, 0x7AE7}, //9097 #CJK UNIFIED IDEOGRAPH
+  {0xB875, 0x7AE8}, //9098 #CJK UNIFIED IDEOGRAPH
+  {0xB876, 0x7AE9}, //9099 #CJK UNIFIED IDEOGRAPH
+  {0xB877, 0x7AEA}, //9100 #CJK UNIFIED IDEOGRAPH
+  {0xB878, 0x7AEB}, //9101 #CJK UNIFIED IDEOGRAPH
+  {0xB879, 0x7AEC}, //9102 #CJK UNIFIED IDEOGRAPH
+  {0xB87A, 0x7AEE}, //9103 #CJK UNIFIED IDEOGRAPH
+  {0xB87B, 0x7AF0}, //9104 #CJK UNIFIED IDEOGRAPH
+  {0xB87C, 0x7AF1}, //9105 #CJK UNIFIED IDEOGRAPH
+  {0xB87D, 0x7AF2}, //9106 #CJK UNIFIED IDEOGRAPH
+  {0xB87E, 0x7AF3}, //9107 #CJK UNIFIED IDEOGRAPH
+  {0xB880, 0x7AF4}, //9108 #CJK UNIFIED IDEOGRAPH
+  {0xB881, 0x7AF5}, //9109 #CJK UNIFIED IDEOGRAPH
+  {0xB882, 0x7AF6}, //9110 #CJK UNIFIED IDEOGRAPH
+  {0xB883, 0x7AF7}, //9111 #CJK UNIFIED IDEOGRAPH
+  {0xB884, 0x7AF8}, //9112 #CJK UNIFIED IDEOGRAPH
+  {0xB885, 0x7AFB}, //9113 #CJK UNIFIED IDEOGRAPH
+  {0xB886, 0x7AFC}, //9114 #CJK UNIFIED IDEOGRAPH
+  {0xB887, 0x7AFE}, //9115 #CJK UNIFIED IDEOGRAPH
+  {0xB888, 0x7B00}, //9116 #CJK UNIFIED IDEOGRAPH
+  {0xB889, 0x7B01}, //9117 #CJK UNIFIED IDEOGRAPH
+  {0xB88A, 0x7B02}, //9118 #CJK UNIFIED IDEOGRAPH
+  {0xB88B, 0x7B05}, //9119 #CJK UNIFIED IDEOGRAPH
+  {0xB88C, 0x7B07}, //9120 #CJK UNIFIED IDEOGRAPH
+  {0xB88D, 0x7B09}, //9121 #CJK UNIFIED IDEOGRAPH
+  {0xB88E, 0x7B0C}, //9122 #CJK UNIFIED IDEOGRAPH
+  {0xB88F, 0x7B0D}, //9123 #CJK UNIFIED IDEOGRAPH
+  {0xB890, 0x7B0E}, //9124 #CJK UNIFIED IDEOGRAPH
+  {0xB891, 0x7B10}, //9125 #CJK UNIFIED IDEOGRAPH
+  {0xB892, 0x7B12}, //9126 #CJK UNIFIED IDEOGRAPH
+  {0xB893, 0x7B13}, //9127 #CJK UNIFIED IDEOGRAPH
+  {0xB894, 0x7B16}, //9128 #CJK UNIFIED IDEOGRAPH
+  {0xB895, 0x7B17}, //9129 #CJK UNIFIED IDEOGRAPH
+  {0xB896, 0x7B18}, //9130 #CJK UNIFIED IDEOGRAPH
+  {0xB897, 0x7B1A}, //9131 #CJK UNIFIED IDEOGRAPH
+  {0xB898, 0x7B1C}, //9132 #CJK UNIFIED IDEOGRAPH
+  {0xB899, 0x7B1D}, //9133 #CJK UNIFIED IDEOGRAPH
+  {0xB89A, 0x7B1F}, //9134 #CJK UNIFIED IDEOGRAPH
+  {0xB89B, 0x7B21}, //9135 #CJK UNIFIED IDEOGRAPH
+  {0xB89C, 0x7B22}, //9136 #CJK UNIFIED IDEOGRAPH
+  {0xB89D, 0x7B23}, //9137 #CJK UNIFIED IDEOGRAPH
+  {0xB89E, 0x7B27}, //9138 #CJK UNIFIED IDEOGRAPH
+  {0xB89F, 0x7B29}, //9139 #CJK UNIFIED IDEOGRAPH
+  {0xB8A0, 0x7B2D}, //9140 #CJK UNIFIED IDEOGRAPH
+  {0xB8A1, 0x6D6E}, //9141 #CJK UNIFIED IDEOGRAPH
+  {0xB8A2, 0x6DAA}, //9142 #CJK UNIFIED IDEOGRAPH
+  {0xB8A3, 0x798F}, //9143 #CJK UNIFIED IDEOGRAPH
+  {0xB8A4, 0x88B1}, //9144 #CJK UNIFIED IDEOGRAPH
+  {0xB8A5, 0x5F17}, //9145 #CJK UNIFIED IDEOGRAPH
+  {0xB8A6, 0x752B}, //9146 #CJK UNIFIED IDEOGRAPH
+  {0xB8A7, 0x629A}, //9147 #CJK UNIFIED IDEOGRAPH
+  {0xB8A8, 0x8F85}, //9148 #CJK UNIFIED IDEOGRAPH
+  {0xB8A9, 0x4FEF}, //9149 #CJK UNIFIED IDEOGRAPH
+  {0xB8AA, 0x91DC}, //9150 #CJK UNIFIED IDEOGRAPH
+  {0xB8AB, 0x65A7}, //9151 #CJK UNIFIED IDEOGRAPH
+  {0xB8AC, 0x812F}, //9152 #CJK UNIFIED IDEOGRAPH
+  {0xB8AD, 0x8151}, //9153 #CJK UNIFIED IDEOGRAPH
+  {0xB8AE, 0x5E9C}, //9154 #CJK UNIFIED IDEOGRAPH
+  {0xB8AF, 0x8150}, //9155 #CJK UNIFIED IDEOGRAPH
+  {0xB8B0, 0x8D74}, //9156 #CJK UNIFIED IDEOGRAPH
+  {0xB8B1, 0x526F}, //9157 #CJK UNIFIED IDEOGRAPH
+  {0xB8B2, 0x8986}, //9158 #CJK UNIFIED IDEOGRAPH
+  {0xB8B3, 0x8D4B}, //9159 #CJK UNIFIED IDEOGRAPH
+  {0xB8B4, 0x590D}, //9160 #CJK UNIFIED IDEOGRAPH
+  {0xB8B5, 0x5085}, //9161 #CJK UNIFIED IDEOGRAPH
+  {0xB8B6, 0x4ED8}, //9162 #CJK UNIFIED IDEOGRAPH
+  {0xB8B7, 0x961C}, //9163 #CJK UNIFIED IDEOGRAPH
+  {0xB8B8, 0x7236}, //9164 #CJK UNIFIED IDEOGRAPH
+  {0xB8B9, 0x8179}, //9165 #CJK UNIFIED IDEOGRAPH
+  {0xB8BA, 0x8D1F}, //9166 #CJK UNIFIED IDEOGRAPH
+  {0xB8BB, 0x5BCC}, //9167 #CJK UNIFIED IDEOGRAPH
+  {0xB8BC, 0x8BA3}, //9168 #CJK UNIFIED IDEOGRAPH
+  {0xB8BD, 0x9644}, //9169 #CJK UNIFIED IDEOGRAPH
+  {0xB8BE, 0x5987}, //9170 #CJK UNIFIED IDEOGRAPH
+  {0xB8BF, 0x7F1A}, //9171 #CJK UNIFIED IDEOGRAPH
+  {0xB8C0, 0x5490}, //9172 #CJK UNIFIED IDEOGRAPH
+  {0xB8C1, 0x5676}, //9173 #CJK UNIFIED IDEOGRAPH
+  {0xB8C2, 0x560E}, //9174 #CJK UNIFIED IDEOGRAPH
+  {0xB8C3, 0x8BE5}, //9175 #CJK UNIFIED IDEOGRAPH
+  {0xB8C4, 0x6539}, //9176 #CJK UNIFIED IDEOGRAPH
+  {0xB8C5, 0x6982}, //9177 #CJK UNIFIED IDEOGRAPH
+  {0xB8C6, 0x9499}, //9178 #CJK UNIFIED IDEOGRAPH
+  {0xB8C7, 0x76D6}, //9179 #CJK UNIFIED IDEOGRAPH
+  {0xB8C8, 0x6E89}, //9180 #CJK UNIFIED IDEOGRAPH
+  {0xB8C9, 0x5E72}, //9181 #CJK UNIFIED IDEOGRAPH
+  {0xB8CA, 0x7518}, //9182 #CJK UNIFIED IDEOGRAPH
+  {0xB8CB, 0x6746}, //9183 #CJK UNIFIED IDEOGRAPH
+  {0xB8CC, 0x67D1}, //9184 #CJK UNIFIED IDEOGRAPH
+  {0xB8CD, 0x7AFF}, //9185 #CJK UNIFIED IDEOGRAPH
+  {0xB8CE, 0x809D}, //9186 #CJK UNIFIED IDEOGRAPH
+  {0xB8CF, 0x8D76}, //9187 #CJK UNIFIED IDEOGRAPH
+  {0xB8D0, 0x611F}, //9188 #CJK UNIFIED IDEOGRAPH
+  {0xB8D1, 0x79C6}, //9189 #CJK UNIFIED IDEOGRAPH
+  {0xB8D2, 0x6562}, //9190 #CJK UNIFIED IDEOGRAPH
+  {0xB8D3, 0x8D63}, //9191 #CJK UNIFIED IDEOGRAPH
+  {0xB8D4, 0x5188}, //9192 #CJK UNIFIED IDEOGRAPH
+  {0xB8D5, 0x521A}, //9193 #CJK UNIFIED IDEOGRAPH
+  {0xB8D6, 0x94A2}, //9194 #CJK UNIFIED IDEOGRAPH
+  {0xB8D7, 0x7F38}, //9195 #CJK UNIFIED IDEOGRAPH
+  {0xB8D8, 0x809B}, //9196 #CJK UNIFIED IDEOGRAPH
+  {0xB8D9, 0x7EB2}, //9197 #CJK UNIFIED IDEOGRAPH
+  {0xB8DA, 0x5C97}, //9198 #CJK UNIFIED IDEOGRAPH
+  {0xB8DB, 0x6E2F}, //9199 #CJK UNIFIED IDEOGRAPH
+  {0xB8DC, 0x6760}, //9200 #CJK UNIFIED IDEOGRAPH
+  {0xB8DD, 0x7BD9}, //9201 #CJK UNIFIED IDEOGRAPH
+  {0xB8DE, 0x768B}, //9202 #CJK UNIFIED IDEOGRAPH
+  {0xB8DF, 0x9AD8}, //9203 #CJK UNIFIED IDEOGRAPH
+  {0xB8E0, 0x818F}, //9204 #CJK UNIFIED IDEOGRAPH
+  {0xB8E1, 0x7F94}, //9205 #CJK UNIFIED IDEOGRAPH
+  {0xB8E2, 0x7CD5}, //9206 #CJK UNIFIED IDEOGRAPH
+  {0xB8E3, 0x641E}, //9207 #CJK UNIFIED IDEOGRAPH
+  {0xB8E4, 0x9550}, //9208 #CJK UNIFIED IDEOGRAPH
+  {0xB8E5, 0x7A3F}, //9209 #CJK UNIFIED IDEOGRAPH
+  {0xB8E6, 0x544A}, //9210 #CJK UNIFIED IDEOGRAPH
+  {0xB8E7, 0x54E5}, //9211 #CJK UNIFIED IDEOGRAPH
+  {0xB8E8, 0x6B4C}, //9212 #CJK UNIFIED IDEOGRAPH
+  {0xB8E9, 0x6401}, //9213 #CJK UNIFIED IDEOGRAPH
+  {0xB8EA, 0x6208}, //9214 #CJK UNIFIED IDEOGRAPH
+  {0xB8EB, 0x9E3D}, //9215 #CJK UNIFIED IDEOGRAPH
+  {0xB8EC, 0x80F3}, //9216 #CJK UNIFIED IDEOGRAPH
+  {0xB8ED, 0x7599}, //9217 #CJK UNIFIED IDEOGRAPH
+  {0xB8EE, 0x5272}, //9218 #CJK UNIFIED IDEOGRAPH
+  {0xB8EF, 0x9769}, //9219 #CJK UNIFIED IDEOGRAPH
+  {0xB8F0, 0x845B}, //9220 #CJK UNIFIED IDEOGRAPH
+  {0xB8F1, 0x683C}, //9221 #CJK UNIFIED IDEOGRAPH
+  {0xB8F2, 0x86E4}, //9222 #CJK UNIFIED IDEOGRAPH
+  {0xB8F3, 0x9601}, //9223 #CJK UNIFIED IDEOGRAPH
+  {0xB8F4, 0x9694}, //9224 #CJK UNIFIED IDEOGRAPH
+  {0xB8F5, 0x94EC}, //9225 #CJK UNIFIED IDEOGRAPH
+  {0xB8F6, 0x4E2A}, //9226 #CJK UNIFIED IDEOGRAPH
+  {0xB8F7, 0x5404}, //9227 #CJK UNIFIED IDEOGRAPH
+  {0xB8F8, 0x7ED9}, //9228 #CJK UNIFIED IDEOGRAPH
+  {0xB8F9, 0x6839}, //9229 #CJK UNIFIED IDEOGRAPH
+  {0xB8FA, 0x8DDF}, //9230 #CJK UNIFIED IDEOGRAPH
+  {0xB8FB, 0x8015}, //9231 #CJK UNIFIED IDEOGRAPH
+  {0xB8FC, 0x66F4}, //9232 #CJK UNIFIED IDEOGRAPH
+  {0xB8FD, 0x5E9A}, //9233 #CJK UNIFIED IDEOGRAPH
+  {0xB8FE, 0x7FB9}, //9234 #CJK UNIFIED IDEOGRAPH
+  {0xB940, 0x7B2F}, //9235 #CJK UNIFIED IDEOGRAPH
+  {0xB941, 0x7B30}, //9236 #CJK UNIFIED IDEOGRAPH
+  {0xB942, 0x7B32}, //9237 #CJK UNIFIED IDEOGRAPH
+  {0xB943, 0x7B34}, //9238 #CJK UNIFIED IDEOGRAPH
+  {0xB944, 0x7B35}, //9239 #CJK UNIFIED IDEOGRAPH
+  {0xB945, 0x7B36}, //9240 #CJK UNIFIED IDEOGRAPH
+  {0xB946, 0x7B37}, //9241 #CJK UNIFIED IDEOGRAPH
+  {0xB947, 0x7B39}, //9242 #CJK UNIFIED IDEOGRAPH
+  {0xB948, 0x7B3B}, //9243 #CJK UNIFIED IDEOGRAPH
+  {0xB949, 0x7B3D}, //9244 #CJK UNIFIED IDEOGRAPH
+  {0xB94A, 0x7B3F}, //9245 #CJK UNIFIED IDEOGRAPH
+  {0xB94B, 0x7B40}, //9246 #CJK UNIFIED IDEOGRAPH
+  {0xB94C, 0x7B41}, //9247 #CJK UNIFIED IDEOGRAPH
+  {0xB94D, 0x7B42}, //9248 #CJK UNIFIED IDEOGRAPH
+  {0xB94E, 0x7B43}, //9249 #CJK UNIFIED IDEOGRAPH
+  {0xB94F, 0x7B44}, //9250 #CJK UNIFIED IDEOGRAPH
+  {0xB950, 0x7B46}, //9251 #CJK UNIFIED IDEOGRAPH
+  {0xB951, 0x7B48}, //9252 #CJK UNIFIED IDEOGRAPH
+  {0xB952, 0x7B4A}, //9253 #CJK UNIFIED IDEOGRAPH
+  {0xB953, 0x7B4D}, //9254 #CJK UNIFIED IDEOGRAPH
+  {0xB954, 0x7B4E}, //9255 #CJK UNIFIED IDEOGRAPH
+  {0xB955, 0x7B53}, //9256 #CJK UNIFIED IDEOGRAPH
+  {0xB956, 0x7B55}, //9257 #CJK UNIFIED IDEOGRAPH
+  {0xB957, 0x7B57}, //9258 #CJK UNIFIED IDEOGRAPH
+  {0xB958, 0x7B59}, //9259 #CJK UNIFIED IDEOGRAPH
+  {0xB959, 0x7B5C}, //9260 #CJK UNIFIED IDEOGRAPH
+  {0xB95A, 0x7B5E}, //9261 #CJK UNIFIED IDEOGRAPH
+  {0xB95B, 0x7B5F}, //9262 #CJK UNIFIED IDEOGRAPH
+  {0xB95C, 0x7B61}, //9263 #CJK UNIFIED IDEOGRAPH
+  {0xB95D, 0x7B63}, //9264 #CJK UNIFIED IDEOGRAPH
+  {0xB95E, 0x7B64}, //9265 #CJK UNIFIED IDEOGRAPH
+  {0xB95F, 0x7B65}, //9266 #CJK UNIFIED IDEOGRAPH
+  {0xB960, 0x7B66}, //9267 #CJK UNIFIED IDEOGRAPH
+  {0xB961, 0x7B67}, //9268 #CJK UNIFIED IDEOGRAPH
+  {0xB962, 0x7B68}, //9269 #CJK UNIFIED IDEOGRAPH
+  {0xB963, 0x7B69}, //9270 #CJK UNIFIED IDEOGRAPH
+  {0xB964, 0x7B6A}, //9271 #CJK UNIFIED IDEOGRAPH
+  {0xB965, 0x7B6B}, //9272 #CJK UNIFIED IDEOGRAPH
+  {0xB966, 0x7B6C}, //9273 #CJK UNIFIED IDEOGRAPH
+  {0xB967, 0x7B6D}, //9274 #CJK UNIFIED IDEOGRAPH
+  {0xB968, 0x7B6F}, //9275 #CJK UNIFIED IDEOGRAPH
+  {0xB969, 0x7B70}, //9276 #CJK UNIFIED IDEOGRAPH
+  {0xB96A, 0x7B73}, //9277 #CJK UNIFIED IDEOGRAPH
+  {0xB96B, 0x7B74}, //9278 #CJK UNIFIED IDEOGRAPH
+  {0xB96C, 0x7B76}, //9279 #CJK UNIFIED IDEOGRAPH
+  {0xB96D, 0x7B78}, //9280 #CJK UNIFIED IDEOGRAPH
+  {0xB96E, 0x7B7A}, //9281 #CJK UNIFIED IDEOGRAPH
+  {0xB96F, 0x7B7C}, //9282 #CJK UNIFIED IDEOGRAPH
+  {0xB970, 0x7B7D}, //9283 #CJK UNIFIED IDEOGRAPH
+  {0xB971, 0x7B7F}, //9284 #CJK UNIFIED IDEOGRAPH
+  {0xB972, 0x7B81}, //9285 #CJK UNIFIED IDEOGRAPH
+  {0xB973, 0x7B82}, //9286 #CJK UNIFIED IDEOGRAPH
+  {0xB974, 0x7B83}, //9287 #CJK UNIFIED IDEOGRAPH
+  {0xB975, 0x7B84}, //9288 #CJK UNIFIED IDEOGRAPH
+  {0xB976, 0x7B86}, //9289 #CJK UNIFIED IDEOGRAPH
+  {0xB977, 0x7B87}, //9290 #CJK UNIFIED IDEOGRAPH
+  {0xB978, 0x7B88}, //9291 #CJK UNIFIED IDEOGRAPH
+  {0xB979, 0x7B89}, //9292 #CJK UNIFIED IDEOGRAPH
+  {0xB97A, 0x7B8A}, //9293 #CJK UNIFIED IDEOGRAPH
+  {0xB97B, 0x7B8B}, //9294 #CJK UNIFIED IDEOGRAPH
+  {0xB97C, 0x7B8C}, //9295 #CJK UNIFIED IDEOGRAPH
+  {0xB97D, 0x7B8E}, //9296 #CJK UNIFIED IDEOGRAPH
+  {0xB97E, 0x7B8F}, //9297 #CJK UNIFIED IDEOGRAPH
+  {0xB980, 0x7B91}, //9298 #CJK UNIFIED IDEOGRAPH
+  {0xB981, 0x7B92}, //9299 #CJK UNIFIED IDEOGRAPH
+  {0xB982, 0x7B93}, //9300 #CJK UNIFIED IDEOGRAPH
+  {0xB983, 0x7B96}, //9301 #CJK UNIFIED IDEOGRAPH
+  {0xB984, 0x7B98}, //9302 #CJK UNIFIED IDEOGRAPH
+  {0xB985, 0x7B99}, //9303 #CJK UNIFIED IDEOGRAPH
+  {0xB986, 0x7B9A}, //9304 #CJK UNIFIED IDEOGRAPH
+  {0xB987, 0x7B9B}, //9305 #CJK UNIFIED IDEOGRAPH
+  {0xB988, 0x7B9E}, //9306 #CJK UNIFIED IDEOGRAPH
+  {0xB989, 0x7B9F}, //9307 #CJK UNIFIED IDEOGRAPH
+  {0xB98A, 0x7BA0}, //9308 #CJK UNIFIED IDEOGRAPH
+  {0xB98B, 0x7BA3}, //9309 #CJK UNIFIED IDEOGRAPH
+  {0xB98C, 0x7BA4}, //9310 #CJK UNIFIED IDEOGRAPH
+  {0xB98D, 0x7BA5}, //9311 #CJK UNIFIED IDEOGRAPH
+  {0xB98E, 0x7BAE}, //9312 #CJK UNIFIED IDEOGRAPH
+  {0xB98F, 0x7BAF}, //9313 #CJK UNIFIED IDEOGRAPH
+  {0xB990, 0x7BB0}, //9314 #CJK UNIFIED IDEOGRAPH
+  {0xB991, 0x7BB2}, //9315 #CJK UNIFIED IDEOGRAPH
+  {0xB992, 0x7BB3}, //9316 #CJK UNIFIED IDEOGRAPH
+  {0xB993, 0x7BB5}, //9317 #CJK UNIFIED IDEOGRAPH
+  {0xB994, 0x7BB6}, //9318 #CJK UNIFIED IDEOGRAPH
+  {0xB995, 0x7BB7}, //9319 #CJK UNIFIED IDEOGRAPH
+  {0xB996, 0x7BB9}, //9320 #CJK UNIFIED IDEOGRAPH
+  {0xB997, 0x7BBA}, //9321 #CJK UNIFIED IDEOGRAPH
+  {0xB998, 0x7BBB}, //9322 #CJK UNIFIED IDEOGRAPH
+  {0xB999, 0x7BBC}, //9323 #CJK UNIFIED IDEOGRAPH
+  {0xB99A, 0x7BBD}, //9324 #CJK UNIFIED IDEOGRAPH
+  {0xB99B, 0x7BBE}, //9325 #CJK UNIFIED IDEOGRAPH
+  {0xB99C, 0x7BBF}, //9326 #CJK UNIFIED IDEOGRAPH
+  {0xB99D, 0x7BC0}, //9327 #CJK UNIFIED IDEOGRAPH
+  {0xB99E, 0x7BC2}, //9328 #CJK UNIFIED IDEOGRAPH
+  {0xB99F, 0x7BC3}, //9329 #CJK UNIFIED IDEOGRAPH
+  {0xB9A0, 0x7BC4}, //9330 #CJK UNIFIED IDEOGRAPH
+  {0xB9A1, 0x57C2}, //9331 #CJK UNIFIED IDEOGRAPH
+  {0xB9A2, 0x803F}, //9332 #CJK UNIFIED IDEOGRAPH
+  {0xB9A3, 0x6897}, //9333 #CJK UNIFIED IDEOGRAPH
+  {0xB9A4, 0x5DE5}, //9334 #CJK UNIFIED IDEOGRAPH
+  {0xB9A5, 0x653B}, //9335 #CJK UNIFIED IDEOGRAPH
+  {0xB9A6, 0x529F}, //9336 #CJK UNIFIED IDEOGRAPH
+  {0xB9A7, 0x606D}, //9337 #CJK UNIFIED IDEOGRAPH
+  {0xB9A8, 0x9F9A}, //9338 #CJK UNIFIED IDEOGRAPH
+  {0xB9A9, 0x4F9B}, //9339 #CJK UNIFIED IDEOGRAPH
+  {0xB9AA, 0x8EAC}, //9340 #CJK UNIFIED IDEOGRAPH
+  {0xB9AB, 0x516C}, //9341 #CJK UNIFIED IDEOGRAPH
+  {0xB9AC, 0x5BAB}, //9342 #CJK UNIFIED IDEOGRAPH
+  {0xB9AD, 0x5F13}, //9343 #CJK UNIFIED IDEOGRAPH
+  {0xB9AE, 0x5DE9}, //9344 #CJK UNIFIED IDEOGRAPH
+  {0xB9AF, 0x6C5E}, //9345 #CJK UNIFIED IDEOGRAPH
+  {0xB9B0, 0x62F1}, //9346 #CJK UNIFIED IDEOGRAPH
+  {0xB9B1, 0x8D21}, //9347 #CJK UNIFIED IDEOGRAPH
+  {0xB9B2, 0x5171}, //9348 #CJK UNIFIED IDEOGRAPH
+  {0xB9B3, 0x94A9}, //9349 #CJK UNIFIED IDEOGRAPH
+  {0xB9B4, 0x52FE}, //9350 #CJK UNIFIED IDEOGRAPH
+  {0xB9B5, 0x6C9F}, //9351 #CJK UNIFIED IDEOGRAPH
+  {0xB9B6, 0x82DF}, //9352 #CJK UNIFIED IDEOGRAPH
+  {0xB9B7, 0x72D7}, //9353 #CJK UNIFIED IDEOGRAPH
+  {0xB9B8, 0x57A2}, //9354 #CJK UNIFIED IDEOGRAPH
+  {0xB9B9, 0x6784}, //9355 #CJK UNIFIED IDEOGRAPH
+  {0xB9BA, 0x8D2D}, //9356 #CJK UNIFIED IDEOGRAPH
+  {0xB9BB, 0x591F}, //9357 #CJK UNIFIED IDEOGRAPH
+  {0xB9BC, 0x8F9C}, //9358 #CJK UNIFIED IDEOGRAPH
+  {0xB9BD, 0x83C7}, //9359 #CJK UNIFIED IDEOGRAPH
+  {0xB9BE, 0x5495}, //9360 #CJK UNIFIED IDEOGRAPH
+  {0xB9BF, 0x7B8D}, //9361 #CJK UNIFIED IDEOGRAPH
+  {0xB9C0, 0x4F30}, //9362 #CJK UNIFIED IDEOGRAPH
+  {0xB9C1, 0x6CBD}, //9363 #CJK UNIFIED IDEOGRAPH
+  {0xB9C2, 0x5B64}, //9364 #CJK UNIFIED IDEOGRAPH
+  {0xB9C3, 0x59D1}, //9365 #CJK UNIFIED IDEOGRAPH
+  {0xB9C4, 0x9F13}, //9366 #CJK UNIFIED IDEOGRAPH
+  {0xB9C5, 0x53E4}, //9367 #CJK UNIFIED IDEOGRAPH
+  {0xB9C6, 0x86CA}, //9368 #CJK UNIFIED IDEOGRAPH
+  {0xB9C7, 0x9AA8}, //9369 #CJK UNIFIED IDEOGRAPH
+  {0xB9C8, 0x8C37}, //9370 #CJK UNIFIED IDEOGRAPH
+  {0xB9C9, 0x80A1}, //9371 #CJK UNIFIED IDEOGRAPH
+  {0xB9CA, 0x6545}, //9372 #CJK UNIFIED IDEOGRAPH
+  {0xB9CB, 0x987E}, //9373 #CJK UNIFIED IDEOGRAPH
+  {0xB9CC, 0x56FA}, //9374 #CJK UNIFIED IDEOGRAPH
+  {0xB9CD, 0x96C7}, //9375 #CJK UNIFIED IDEOGRAPH
+  {0xB9CE, 0x522E}, //9376 #CJK UNIFIED IDEOGRAPH
+  {0xB9CF, 0x74DC}, //9377 #CJK UNIFIED IDEOGRAPH
+  {0xB9D0, 0x5250}, //9378 #CJK UNIFIED IDEOGRAPH
+  {0xB9D1, 0x5BE1}, //9379 #CJK UNIFIED IDEOGRAPH
+  {0xB9D2, 0x6302}, //9380 #CJK UNIFIED IDEOGRAPH
+  {0xB9D3, 0x8902}, //9381 #CJK UNIFIED IDEOGRAPH
+  {0xB9D4, 0x4E56}, //9382 #CJK UNIFIED IDEOGRAPH
+  {0xB9D5, 0x62D0}, //9383 #CJK UNIFIED IDEOGRAPH
+  {0xB9D6, 0x602A}, //9384 #CJK UNIFIED IDEOGRAPH
+  {0xB9D7, 0x68FA}, //9385 #CJK UNIFIED IDEOGRAPH
+  {0xB9D8, 0x5173}, //9386 #CJK UNIFIED IDEOGRAPH
+  {0xB9D9, 0x5B98}, //9387 #CJK UNIFIED IDEOGRAPH
+  {0xB9DA, 0x51A0}, //9388 #CJK UNIFIED IDEOGRAPH
+  {0xB9DB, 0x89C2}, //9389 #CJK UNIFIED IDEOGRAPH
+  {0xB9DC, 0x7BA1}, //9390 #CJK UNIFIED IDEOGRAPH
+  {0xB9DD, 0x9986}, //9391 #CJK UNIFIED IDEOGRAPH
+  {0xB9DE, 0x7F50}, //9392 #CJK UNIFIED IDEOGRAPH
+  {0xB9DF, 0x60EF}, //9393 #CJK UNIFIED IDEOGRAPH
+  {0xB9E0, 0x704C}, //9394 #CJK UNIFIED IDEOGRAPH
+  {0xB9E1, 0x8D2F}, //9395 #CJK UNIFIED IDEOGRAPH
+  {0xB9E2, 0x5149}, //9396 #CJK UNIFIED IDEOGRAPH
+  {0xB9E3, 0x5E7F}, //9397 #CJK UNIFIED IDEOGRAPH
+  {0xB9E4, 0x901B}, //9398 #CJK UNIFIED IDEOGRAPH
+  {0xB9E5, 0x7470}, //9399 #CJK UNIFIED IDEOGRAPH
+  {0xB9E6, 0x89C4}, //9400 #CJK UNIFIED IDEOGRAPH
+  {0xB9E7, 0x572D}, //9401 #CJK UNIFIED IDEOGRAPH
+  {0xB9E8, 0x7845}, //9402 #CJK UNIFIED IDEOGRAPH
+  {0xB9E9, 0x5F52}, //9403 #CJK UNIFIED IDEOGRAPH
+  {0xB9EA, 0x9F9F}, //9404 #CJK UNIFIED IDEOGRAPH
+  {0xB9EB, 0x95FA}, //9405 #CJK UNIFIED IDEOGRAPH
+  {0xB9EC, 0x8F68}, //9406 #CJK UNIFIED IDEOGRAPH
+  {0xB9ED, 0x9B3C}, //9407 #CJK UNIFIED IDEOGRAPH
+  {0xB9EE, 0x8BE1}, //9408 #CJK UNIFIED IDEOGRAPH
+  {0xB9EF, 0x7678}, //9409 #CJK UNIFIED IDEOGRAPH
+  {0xB9F0, 0x6842}, //9410 #CJK UNIFIED IDEOGRAPH
+  {0xB9F1, 0x67DC}, //9411 #CJK UNIFIED IDEOGRAPH
+  {0xB9F2, 0x8DEA}, //9412 #CJK UNIFIED IDEOGRAPH
+  {0xB9F3, 0x8D35}, //9413 #CJK UNIFIED IDEOGRAPH
+  {0xB9F4, 0x523D}, //9414 #CJK UNIFIED IDEOGRAPH
+  {0xB9F5, 0x8F8A}, //9415 #CJK UNIFIED IDEOGRAPH
+  {0xB9F6, 0x6EDA}, //9416 #CJK UNIFIED IDEOGRAPH
+  {0xB9F7, 0x68CD}, //9417 #CJK UNIFIED IDEOGRAPH
+  {0xB9F8, 0x9505}, //9418 #CJK UNIFIED IDEOGRAPH
+  {0xB9F9, 0x90ED}, //9419 #CJK UNIFIED IDEOGRAPH
+  {0xB9FA, 0x56FD}, //9420 #CJK UNIFIED IDEOGRAPH
+  {0xB9FB, 0x679C}, //9421 #CJK UNIFIED IDEOGRAPH
+  {0xB9FC, 0x88F9}, //9422 #CJK UNIFIED IDEOGRAPH
+  {0xB9FD, 0x8FC7}, //9423 #CJK UNIFIED IDEOGRAPH
+  {0xB9FE, 0x54C8}, //9424 #CJK UNIFIED IDEOGRAPH
+  {0xBA40, 0x7BC5}, //9425 #CJK UNIFIED IDEOGRAPH
+  {0xBA41, 0x7BC8}, //9426 #CJK UNIFIED IDEOGRAPH
+  {0xBA42, 0x7BC9}, //9427 #CJK UNIFIED IDEOGRAPH
+  {0xBA43, 0x7BCA}, //9428 #CJK UNIFIED IDEOGRAPH
+  {0xBA44, 0x7BCB}, //9429 #CJK UNIFIED IDEOGRAPH
+  {0xBA45, 0x7BCD}, //9430 #CJK UNIFIED IDEOGRAPH
+  {0xBA46, 0x7BCE}, //9431 #CJK UNIFIED IDEOGRAPH
+  {0xBA47, 0x7BCF}, //9432 #CJK UNIFIED IDEOGRAPH
+  {0xBA48, 0x7BD0}, //9433 #CJK UNIFIED IDEOGRAPH
+  {0xBA49, 0x7BD2}, //9434 #CJK UNIFIED IDEOGRAPH
+  {0xBA4A, 0x7BD4}, //9435 #CJK UNIFIED IDEOGRAPH
+  {0xBA4B, 0x7BD5}, //9436 #CJK UNIFIED IDEOGRAPH
+  {0xBA4C, 0x7BD6}, //9437 #CJK UNIFIED IDEOGRAPH
+  {0xBA4D, 0x7BD7}, //9438 #CJK UNIFIED IDEOGRAPH
+  {0xBA4E, 0x7BD8}, //9439 #CJK UNIFIED IDEOGRAPH
+  {0xBA4F, 0x7BDB}, //9440 #CJK UNIFIED IDEOGRAPH
+  {0xBA50, 0x7BDC}, //9441 #CJK UNIFIED IDEOGRAPH
+  {0xBA51, 0x7BDE}, //9442 #CJK UNIFIED IDEOGRAPH
+  {0xBA52, 0x7BDF}, //9443 #CJK UNIFIED IDEOGRAPH
+  {0xBA53, 0x7BE0}, //9444 #CJK UNIFIED IDEOGRAPH
+  {0xBA54, 0x7BE2}, //9445 #CJK UNIFIED IDEOGRAPH
+  {0xBA55, 0x7BE3}, //9446 #CJK UNIFIED IDEOGRAPH
+  {0xBA56, 0x7BE4}, //9447 #CJK UNIFIED IDEOGRAPH
+  {0xBA57, 0x7BE7}, //9448 #CJK UNIFIED IDEOGRAPH
+  {0xBA58, 0x7BE8}, //9449 #CJK UNIFIED IDEOGRAPH
+  {0xBA59, 0x7BE9}, //9450 #CJK UNIFIED IDEOGRAPH
+  {0xBA5A, 0x7BEB}, //9451 #CJK UNIFIED IDEOGRAPH
+  {0xBA5B, 0x7BEC}, //9452 #CJK UNIFIED IDEOGRAPH
+  {0xBA5C, 0x7BED}, //9453 #CJK UNIFIED IDEOGRAPH
+  {0xBA5D, 0x7BEF}, //9454 #CJK UNIFIED IDEOGRAPH
+  {0xBA5E, 0x7BF0}, //9455 #CJK UNIFIED IDEOGRAPH
+  {0xBA5F, 0x7BF2}, //9456 #CJK UNIFIED IDEOGRAPH
+  {0xBA60, 0x7BF3}, //9457 #CJK UNIFIED IDEOGRAPH
+  {0xBA61, 0x7BF4}, //9458 #CJK UNIFIED IDEOGRAPH
+  {0xBA62, 0x7BF5}, //9459 #CJK UNIFIED IDEOGRAPH
+  {0xBA63, 0x7BF6}, //9460 #CJK UNIFIED IDEOGRAPH
+  {0xBA64, 0x7BF8}, //9461 #CJK UNIFIED IDEOGRAPH
+  {0xBA65, 0x7BF9}, //9462 #CJK UNIFIED IDEOGRAPH
+  {0xBA66, 0x7BFA}, //9463 #CJK UNIFIED IDEOGRAPH
+  {0xBA67, 0x7BFB}, //9464 #CJK UNIFIED IDEOGRAPH
+  {0xBA68, 0x7BFD}, //9465 #CJK UNIFIED IDEOGRAPH
+  {0xBA69, 0x7BFF}, //9466 #CJK UNIFIED IDEOGRAPH
+  {0xBA6A, 0x7C00}, //9467 #CJK UNIFIED IDEOGRAPH
+  {0xBA6B, 0x7C01}, //9468 #CJK UNIFIED IDEOGRAPH
+  {0xBA6C, 0x7C02}, //9469 #CJK UNIFIED IDEOGRAPH
+  {0xBA6D, 0x7C03}, //9470 #CJK UNIFIED IDEOGRAPH
+  {0xBA6E, 0x7C04}, //9471 #CJK UNIFIED IDEOGRAPH
+  {0xBA6F, 0x7C05}, //9472 #CJK UNIFIED IDEOGRAPH
+  {0xBA70, 0x7C06}, //9473 #CJK UNIFIED IDEOGRAPH
+  {0xBA71, 0x7C08}, //9474 #CJK UNIFIED IDEOGRAPH
+  {0xBA72, 0x7C09}, //9475 #CJK UNIFIED IDEOGRAPH
+  {0xBA73, 0x7C0A}, //9476 #CJK UNIFIED IDEOGRAPH
+  {0xBA74, 0x7C0D}, //9477 #CJK UNIFIED IDEOGRAPH
+  {0xBA75, 0x7C0E}, //9478 #CJK UNIFIED IDEOGRAPH
+  {0xBA76, 0x7C10}, //9479 #CJK UNIFIED IDEOGRAPH
+  {0xBA77, 0x7C11}, //9480 #CJK UNIFIED IDEOGRAPH
+  {0xBA78, 0x7C12}, //9481 #CJK UNIFIED IDEOGRAPH
+  {0xBA79, 0x7C13}, //9482 #CJK UNIFIED IDEOGRAPH
+  {0xBA7A, 0x7C14}, //9483 #CJK UNIFIED IDEOGRAPH
+  {0xBA7B, 0x7C15}, //9484 #CJK UNIFIED IDEOGRAPH
+  {0xBA7C, 0x7C17}, //9485 #CJK UNIFIED IDEOGRAPH
+  {0xBA7D, 0x7C18}, //9486 #CJK UNIFIED IDEOGRAPH
+  {0xBA7E, 0x7C19}, //9487 #CJK UNIFIED IDEOGRAPH
+  {0xBA80, 0x7C1A}, //9488 #CJK UNIFIED IDEOGRAPH
+  {0xBA81, 0x7C1B}, //9489 #CJK UNIFIED IDEOGRAPH
+  {0xBA82, 0x7C1C}, //9490 #CJK UNIFIED IDEOGRAPH
+  {0xBA83, 0x7C1D}, //9491 #CJK UNIFIED IDEOGRAPH
+  {0xBA84, 0x7C1E}, //9492 #CJK UNIFIED IDEOGRAPH
+  {0xBA85, 0x7C20}, //9493 #CJK UNIFIED IDEOGRAPH
+  {0xBA86, 0x7C21}, //9494 #CJK UNIFIED IDEOGRAPH
+  {0xBA87, 0x7C22}, //9495 #CJK UNIFIED IDEOGRAPH
+  {0xBA88, 0x7C23}, //9496 #CJK UNIFIED IDEOGRAPH
+  {0xBA89, 0x7C24}, //9497 #CJK UNIFIED IDEOGRAPH
+  {0xBA8A, 0x7C25}, //9498 #CJK UNIFIED IDEOGRAPH
+  {0xBA8B, 0x7C28}, //9499 #CJK UNIFIED IDEOGRAPH
+  {0xBA8C, 0x7C29}, //9500 #CJK UNIFIED IDEOGRAPH
+  {0xBA8D, 0x7C2B}, //9501 #CJK UNIFIED IDEOGRAPH
+  {0xBA8E, 0x7C2C}, //9502 #CJK UNIFIED IDEOGRAPH
+  {0xBA8F, 0x7C2D}, //9503 #CJK UNIFIED IDEOGRAPH
+  {0xBA90, 0x7C2E}, //9504 #CJK UNIFIED IDEOGRAPH
+  {0xBA91, 0x7C2F}, //9505 #CJK UNIFIED IDEOGRAPH
+  {0xBA92, 0x7C30}, //9506 #CJK UNIFIED IDEOGRAPH
+  {0xBA93, 0x7C31}, //9507 #CJK UNIFIED IDEOGRAPH
+  {0xBA94, 0x7C32}, //9508 #CJK UNIFIED IDEOGRAPH
+  {0xBA95, 0x7C33}, //9509 #CJK UNIFIED IDEOGRAPH
+  {0xBA96, 0x7C34}, //9510 #CJK UNIFIED IDEOGRAPH
+  {0xBA97, 0x7C35}, //9511 #CJK UNIFIED IDEOGRAPH
+  {0xBA98, 0x7C36}, //9512 #CJK UNIFIED IDEOGRAPH
+  {0xBA99, 0x7C37}, //9513 #CJK UNIFIED IDEOGRAPH
+  {0xBA9A, 0x7C39}, //9514 #CJK UNIFIED IDEOGRAPH
+  {0xBA9B, 0x7C3A}, //9515 #CJK UNIFIED IDEOGRAPH
+  {0xBA9C, 0x7C3B}, //9516 #CJK UNIFIED IDEOGRAPH
+  {0xBA9D, 0x7C3C}, //9517 #CJK UNIFIED IDEOGRAPH
+  {0xBA9E, 0x7C3D}, //9518 #CJK UNIFIED IDEOGRAPH
+  {0xBA9F, 0x7C3E}, //9519 #CJK UNIFIED IDEOGRAPH
+  {0xBAA0, 0x7C42}, //9520 #CJK UNIFIED IDEOGRAPH
+  {0xBAA1, 0x9AB8}, //9521 #CJK UNIFIED IDEOGRAPH
+  {0xBAA2, 0x5B69}, //9522 #CJK UNIFIED IDEOGRAPH
+  {0xBAA3, 0x6D77}, //9523 #CJK UNIFIED IDEOGRAPH
+  {0xBAA4, 0x6C26}, //9524 #CJK UNIFIED IDEOGRAPH
+  {0xBAA5, 0x4EA5}, //9525 #CJK UNIFIED IDEOGRAPH
+  {0xBAA6, 0x5BB3}, //9526 #CJK UNIFIED IDEOGRAPH
+  {0xBAA7, 0x9A87}, //9527 #CJK UNIFIED IDEOGRAPH
+  {0xBAA8, 0x9163}, //9528 #CJK UNIFIED IDEOGRAPH
+  {0xBAA9, 0x61A8}, //9529 #CJK UNIFIED IDEOGRAPH
+  {0xBAAA, 0x90AF}, //9530 #CJK UNIFIED IDEOGRAPH
+  {0xBAAB, 0x97E9}, //9531 #CJK UNIFIED IDEOGRAPH
+  {0xBAAC, 0x542B}, //9532 #CJK UNIFIED IDEOGRAPH
+  {0xBAAD, 0x6DB5}, //9533 #CJK UNIFIED IDEOGRAPH
+  {0xBAAE, 0x5BD2}, //9534 #CJK UNIFIED IDEOGRAPH
+  {0xBAAF, 0x51FD}, //9535 #CJK UNIFIED IDEOGRAPH
+  {0xBAB0, 0x558A}, //9536 #CJK UNIFIED IDEOGRAPH
+  {0xBAB1, 0x7F55}, //9537 #CJK UNIFIED IDEOGRAPH
+  {0xBAB2, 0x7FF0}, //9538 #CJK UNIFIED IDEOGRAPH
+  {0xBAB3, 0x64BC}, //9539 #CJK UNIFIED IDEOGRAPH
+  {0xBAB4, 0x634D}, //9540 #CJK UNIFIED IDEOGRAPH
+  {0xBAB5, 0x65F1}, //9541 #CJK UNIFIED IDEOGRAPH
+  {0xBAB6, 0x61BE}, //9542 #CJK UNIFIED IDEOGRAPH
+  {0xBAB7, 0x608D}, //9543 #CJK UNIFIED IDEOGRAPH
+  {0xBAB8, 0x710A}, //9544 #CJK UNIFIED IDEOGRAPH
+  {0xBAB9, 0x6C57}, //9545 #CJK UNIFIED IDEOGRAPH
+  {0xBABA, 0x6C49}, //9546 #CJK UNIFIED IDEOGRAPH
+  {0xBABB, 0x592F}, //9547 #CJK UNIFIED IDEOGRAPH
+  {0xBABC, 0x676D}, //9548 #CJK UNIFIED IDEOGRAPH
+  {0xBABD, 0x822A}, //9549 #CJK UNIFIED IDEOGRAPH
+  {0xBABE, 0x58D5}, //9550 #CJK UNIFIED IDEOGRAPH
+  {0xBABF, 0x568E}, //9551 #CJK UNIFIED IDEOGRAPH
+  {0xBAC0, 0x8C6A}, //9552 #CJK UNIFIED IDEOGRAPH
+  {0xBAC1, 0x6BEB}, //9553 #CJK UNIFIED IDEOGRAPH
+  {0xBAC2, 0x90DD}, //9554 #CJK UNIFIED IDEOGRAPH
+  {0xBAC3, 0x597D}, //9555 #CJK UNIFIED IDEOGRAPH
+  {0xBAC4, 0x8017}, //9556 #CJK UNIFIED IDEOGRAPH
+  {0xBAC5, 0x53F7}, //9557 #CJK UNIFIED IDEOGRAPH
+  {0xBAC6, 0x6D69}, //9558 #CJK UNIFIED IDEOGRAPH
+  {0xBAC7, 0x5475}, //9559 #CJK UNIFIED IDEOGRAPH
+  {0xBAC8, 0x559D}, //9560 #CJK UNIFIED IDEOGRAPH
+  {0xBAC9, 0x8377}, //9561 #CJK UNIFIED IDEOGRAPH
+  {0xBACA, 0x83CF}, //9562 #CJK UNIFIED IDEOGRAPH
+  {0xBACB, 0x6838}, //9563 #CJK UNIFIED IDEOGRAPH
+  {0xBACC, 0x79BE}, //9564 #CJK UNIFIED IDEOGRAPH
+  {0xBACD, 0x548C}, //9565 #CJK UNIFIED IDEOGRAPH
+  {0xBACE, 0x4F55}, //9566 #CJK UNIFIED IDEOGRAPH
+  {0xBACF, 0x5408}, //9567 #CJK UNIFIED IDEOGRAPH
+  {0xBAD0, 0x76D2}, //9568 #CJK UNIFIED IDEOGRAPH
+  {0xBAD1, 0x8C89}, //9569 #CJK UNIFIED IDEOGRAPH
+  {0xBAD2, 0x9602}, //9570 #CJK UNIFIED IDEOGRAPH
+  {0xBAD3, 0x6CB3}, //9571 #CJK UNIFIED IDEOGRAPH
+  {0xBAD4, 0x6DB8}, //9572 #CJK UNIFIED IDEOGRAPH
+  {0xBAD5, 0x8D6B}, //9573 #CJK UNIFIED IDEOGRAPH
+  {0xBAD6, 0x8910}, //9574 #CJK UNIFIED IDEOGRAPH
+  {0xBAD7, 0x9E64}, //9575 #CJK UNIFIED IDEOGRAPH
+  {0xBAD8, 0x8D3A}, //9576 #CJK UNIFIED IDEOGRAPH
+  {0xBAD9, 0x563F}, //9577 #CJK UNIFIED IDEOGRAPH
+  {0xBADA, 0x9ED1}, //9578 #CJK UNIFIED IDEOGRAPH
+  {0xBADB, 0x75D5}, //9579 #CJK UNIFIED IDEOGRAPH
+  {0xBADC, 0x5F88}, //9580 #CJK UNIFIED IDEOGRAPH
+  {0xBADD, 0x72E0}, //9581 #CJK UNIFIED IDEOGRAPH
+  {0xBADE, 0x6068}, //9582 #CJK UNIFIED IDEOGRAPH
+  {0xBADF, 0x54FC}, //9583 #CJK UNIFIED IDEOGRAPH
+  {0xBAE0, 0x4EA8}, //9584 #CJK UNIFIED IDEOGRAPH
+  {0xBAE1, 0x6A2A}, //9585 #CJK UNIFIED IDEOGRAPH
+  {0xBAE2, 0x8861}, //9586 #CJK UNIFIED IDEOGRAPH
+  {0xBAE3, 0x6052}, //9587 #CJK UNIFIED IDEOGRAPH
+  {0xBAE4, 0x8F70}, //9588 #CJK UNIFIED IDEOGRAPH
+  {0xBAE5, 0x54C4}, //9589 #CJK UNIFIED IDEOGRAPH
+  {0xBAE6, 0x70D8}, //9590 #CJK UNIFIED IDEOGRAPH
+  {0xBAE7, 0x8679}, //9591 #CJK UNIFIED IDEOGRAPH
+  {0xBAE8, 0x9E3F}, //9592 #CJK UNIFIED IDEOGRAPH
+  {0xBAE9, 0x6D2A}, //9593 #CJK UNIFIED IDEOGRAPH
+  {0xBAEA, 0x5B8F}, //9594 #CJK UNIFIED IDEOGRAPH
+  {0xBAEB, 0x5F18}, //9595 #CJK UNIFIED IDEOGRAPH
+  {0xBAEC, 0x7EA2}, //9596 #CJK UNIFIED IDEOGRAPH
+  {0xBAED, 0x5589}, //9597 #CJK UNIFIED IDEOGRAPH
+  {0xBAEE, 0x4FAF}, //9598 #CJK UNIFIED IDEOGRAPH
+  {0xBAEF, 0x7334}, //9599 #CJK UNIFIED IDEOGRAPH
+  {0xBAF0, 0x543C}, //9600 #CJK UNIFIED IDEOGRAPH
+  {0xBAF1, 0x539A}, //9601 #CJK UNIFIED IDEOGRAPH
+  {0xBAF2, 0x5019}, //9602 #CJK UNIFIED IDEOGRAPH
+  {0xBAF3, 0x540E}, //9603 #CJK UNIFIED IDEOGRAPH
+  {0xBAF4, 0x547C}, //9604 #CJK UNIFIED IDEOGRAPH
+  {0xBAF5, 0x4E4E}, //9605 #CJK UNIFIED IDEOGRAPH
+  {0xBAF6, 0x5FFD}, //9606 #CJK UNIFIED IDEOGRAPH
+  {0xBAF7, 0x745A}, //9607 #CJK UNIFIED IDEOGRAPH
+  {0xBAF8, 0x58F6}, //9608 #CJK UNIFIED IDEOGRAPH
+  {0xBAF9, 0x846B}, //9609 #CJK UNIFIED IDEOGRAPH
+  {0xBAFA, 0x80E1}, //9610 #CJK UNIFIED IDEOGRAPH
+  {0xBAFB, 0x8774}, //9611 #CJK UNIFIED IDEOGRAPH
+  {0xBAFC, 0x72D0}, //9612 #CJK UNIFIED IDEOGRAPH
+  {0xBAFD, 0x7CCA}, //9613 #CJK UNIFIED IDEOGRAPH
+  {0xBAFE, 0x6E56}, //9614 #CJK UNIFIED IDEOGRAPH
+  {0xBB40, 0x7C43}, //9615 #CJK UNIFIED IDEOGRAPH
+  {0xBB41, 0x7C44}, //9616 #CJK UNIFIED IDEOGRAPH
+  {0xBB42, 0x7C45}, //9617 #CJK UNIFIED IDEOGRAPH
+  {0xBB43, 0x7C46}, //9618 #CJK UNIFIED IDEOGRAPH
+  {0xBB44, 0x7C47}, //9619 #CJK UNIFIED IDEOGRAPH
+  {0xBB45, 0x7C48}, //9620 #CJK UNIFIED IDEOGRAPH
+  {0xBB46, 0x7C49}, //9621 #CJK UNIFIED IDEOGRAPH
+  {0xBB47, 0x7C4A}, //9622 #CJK UNIFIED IDEOGRAPH
+  {0xBB48, 0x7C4B}, //9623 #CJK UNIFIED IDEOGRAPH
+  {0xBB49, 0x7C4C}, //9624 #CJK UNIFIED IDEOGRAPH
+  {0xBB4A, 0x7C4E}, //9625 #CJK UNIFIED IDEOGRAPH
+  {0xBB4B, 0x7C4F}, //9626 #CJK UNIFIED IDEOGRAPH
+  {0xBB4C, 0x7C50}, //9627 #CJK UNIFIED IDEOGRAPH
+  {0xBB4D, 0x7C51}, //9628 #CJK UNIFIED IDEOGRAPH
+  {0xBB4E, 0x7C52}, //9629 #CJK UNIFIED IDEOGRAPH
+  {0xBB4F, 0x7C53}, //9630 #CJK UNIFIED IDEOGRAPH
+  {0xBB50, 0x7C54}, //9631 #CJK UNIFIED IDEOGRAPH
+  {0xBB51, 0x7C55}, //9632 #CJK UNIFIED IDEOGRAPH
+  {0xBB52, 0x7C56}, //9633 #CJK UNIFIED IDEOGRAPH
+  {0xBB53, 0x7C57}, //9634 #CJK UNIFIED IDEOGRAPH
+  {0xBB54, 0x7C58}, //9635 #CJK UNIFIED IDEOGRAPH
+  {0xBB55, 0x7C59}, //9636 #CJK UNIFIED IDEOGRAPH
+  {0xBB56, 0x7C5A}, //9637 #CJK UNIFIED IDEOGRAPH
+  {0xBB57, 0x7C5B}, //9638 #CJK UNIFIED IDEOGRAPH
+  {0xBB58, 0x7C5C}, //9639 #CJK UNIFIED IDEOGRAPH
+  {0xBB59, 0x7C5D}, //9640 #CJK UNIFIED IDEOGRAPH
+  {0xBB5A, 0x7C5E}, //9641 #CJK UNIFIED IDEOGRAPH
+  {0xBB5B, 0x7C5F}, //9642 #CJK UNIFIED IDEOGRAPH
+  {0xBB5C, 0x7C60}, //9643 #CJK UNIFIED IDEOGRAPH
+  {0xBB5D, 0x7C61}, //9644 #CJK UNIFIED IDEOGRAPH
+  {0xBB5E, 0x7C62}, //9645 #CJK UNIFIED IDEOGRAPH
+  {0xBB5F, 0x7C63}, //9646 #CJK UNIFIED IDEOGRAPH
+  {0xBB60, 0x7C64}, //9647 #CJK UNIFIED IDEOGRAPH
+  {0xBB61, 0x7C65}, //9648 #CJK UNIFIED IDEOGRAPH
+  {0xBB62, 0x7C66}, //9649 #CJK UNIFIED IDEOGRAPH
+  {0xBB63, 0x7C67}, //9650 #CJK UNIFIED IDEOGRAPH
+  {0xBB64, 0x7C68}, //9651 #CJK UNIFIED IDEOGRAPH
+  {0xBB65, 0x7C69}, //9652 #CJK UNIFIED IDEOGRAPH
+  {0xBB66, 0x7C6A}, //9653 #CJK UNIFIED IDEOGRAPH
+  {0xBB67, 0x7C6B}, //9654 #CJK UNIFIED IDEOGRAPH
+  {0xBB68, 0x7C6C}, //9655 #CJK UNIFIED IDEOGRAPH
+  {0xBB69, 0x7C6D}, //9656 #CJK UNIFIED IDEOGRAPH
+  {0xBB6A, 0x7C6E}, //9657 #CJK UNIFIED IDEOGRAPH
+  {0xBB6B, 0x7C6F}, //9658 #CJK UNIFIED IDEOGRAPH
+  {0xBB6C, 0x7C70}, //9659 #CJK UNIFIED IDEOGRAPH
+  {0xBB6D, 0x7C71}, //9660 #CJK UNIFIED IDEOGRAPH
+  {0xBB6E, 0x7C72}, //9661 #CJK UNIFIED IDEOGRAPH
+  {0xBB6F, 0x7C75}, //9662 #CJK UNIFIED IDEOGRAPH
+  {0xBB70, 0x7C76}, //9663 #CJK UNIFIED IDEOGRAPH
+  {0xBB71, 0x7C77}, //9664 #CJK UNIFIED IDEOGRAPH
+  {0xBB72, 0x7C78}, //9665 #CJK UNIFIED IDEOGRAPH
+  {0xBB73, 0x7C79}, //9666 #CJK UNIFIED IDEOGRAPH
+  {0xBB74, 0x7C7A}, //9667 #CJK UNIFIED IDEOGRAPH
+  {0xBB75, 0x7C7E}, //9668 #CJK UNIFIED IDEOGRAPH
+  {0xBB76, 0x7C7F}, //9669 #CJK UNIFIED IDEOGRAPH
+  {0xBB77, 0x7C80}, //9670 #CJK UNIFIED IDEOGRAPH
+  {0xBB78, 0x7C81}, //9671 #CJK UNIFIED IDEOGRAPH
+  {0xBB79, 0x7C82}, //9672 #CJK UNIFIED IDEOGRAPH
+  {0xBB7A, 0x7C83}, //9673 #CJK UNIFIED IDEOGRAPH
+  {0xBB7B, 0x7C84}, //9674 #CJK UNIFIED IDEOGRAPH
+  {0xBB7C, 0x7C85}, //9675 #CJK UNIFIED IDEOGRAPH
+  {0xBB7D, 0x7C86}, //9676 #CJK UNIFIED IDEOGRAPH
+  {0xBB7E, 0x7C87}, //9677 #CJK UNIFIED IDEOGRAPH
+  {0xBB80, 0x7C88}, //9678 #CJK UNIFIED IDEOGRAPH
+  {0xBB81, 0x7C8A}, //9679 #CJK UNIFIED IDEOGRAPH
+  {0xBB82, 0x7C8B}, //9680 #CJK UNIFIED IDEOGRAPH
+  {0xBB83, 0x7C8C}, //9681 #CJK UNIFIED IDEOGRAPH
+  {0xBB84, 0x7C8D}, //9682 #CJK UNIFIED IDEOGRAPH
+  {0xBB85, 0x7C8E}, //9683 #CJK UNIFIED IDEOGRAPH
+  {0xBB86, 0x7C8F}, //9684 #CJK UNIFIED IDEOGRAPH
+  {0xBB87, 0x7C90}, //9685 #CJK UNIFIED IDEOGRAPH
+  {0xBB88, 0x7C93}, //9686 #CJK UNIFIED IDEOGRAPH
+  {0xBB89, 0x7C94}, //9687 #CJK UNIFIED IDEOGRAPH
+  {0xBB8A, 0x7C96}, //9688 #CJK UNIFIED IDEOGRAPH
+  {0xBB8B, 0x7C99}, //9689 #CJK UNIFIED IDEOGRAPH
+  {0xBB8C, 0x7C9A}, //9690 #CJK UNIFIED IDEOGRAPH
+  {0xBB8D, 0x7C9B}, //9691 #CJK UNIFIED IDEOGRAPH
+  {0xBB8E, 0x7CA0}, //9692 #CJK UNIFIED IDEOGRAPH
+  {0xBB8F, 0x7CA1}, //9693 #CJK UNIFIED IDEOGRAPH
+  {0xBB90, 0x7CA3}, //9694 #CJK UNIFIED IDEOGRAPH
+  {0xBB91, 0x7CA6}, //9695 #CJK UNIFIED IDEOGRAPH
+  {0xBB92, 0x7CA7}, //9696 #CJK UNIFIED IDEOGRAPH
+  {0xBB93, 0x7CA8}, //9697 #CJK UNIFIED IDEOGRAPH
+  {0xBB94, 0x7CA9}, //9698 #CJK UNIFIED IDEOGRAPH
+  {0xBB95, 0x7CAB}, //9699 #CJK UNIFIED IDEOGRAPH
+  {0xBB96, 0x7CAC}, //9700 #CJK UNIFIED IDEOGRAPH
+  {0xBB97, 0x7CAD}, //9701 #CJK UNIFIED IDEOGRAPH
+  {0xBB98, 0x7CAF}, //9702 #CJK UNIFIED IDEOGRAPH
+  {0xBB99, 0x7CB0}, //9703 #CJK UNIFIED IDEOGRAPH
+  {0xBB9A, 0x7CB4}, //9704 #CJK UNIFIED IDEOGRAPH
+  {0xBB9B, 0x7CB5}, //9705 #CJK UNIFIED IDEOGRAPH
+  {0xBB9C, 0x7CB6}, //9706 #CJK UNIFIED IDEOGRAPH
+  {0xBB9D, 0x7CB7}, //9707 #CJK UNIFIED IDEOGRAPH
+  {0xBB9E, 0x7CB8}, //9708 #CJK UNIFIED IDEOGRAPH
+  {0xBB9F, 0x7CBA}, //9709 #CJK UNIFIED IDEOGRAPH
+  {0xBBA0, 0x7CBB}, //9710 #CJK UNIFIED IDEOGRAPH
+  {0xBBA1, 0x5F27}, //9711 #CJK UNIFIED IDEOGRAPH
+  {0xBBA2, 0x864E}, //9712 #CJK UNIFIED IDEOGRAPH
+  {0xBBA3, 0x552C}, //9713 #CJK UNIFIED IDEOGRAPH
+  {0xBBA4, 0x62A4}, //9714 #CJK UNIFIED IDEOGRAPH
+  {0xBBA5, 0x4E92}, //9715 #CJK UNIFIED IDEOGRAPH
+  {0xBBA6, 0x6CAA}, //9716 #CJK UNIFIED IDEOGRAPH
+  {0xBBA7, 0x6237}, //9717 #CJK UNIFIED IDEOGRAPH
+  {0xBBA8, 0x82B1}, //9718 #CJK UNIFIED IDEOGRAPH
+  {0xBBA9, 0x54D7}, //9719 #CJK UNIFIED IDEOGRAPH
+  {0xBBAA, 0x534E}, //9720 #CJK UNIFIED IDEOGRAPH
+  {0xBBAB, 0x733E}, //9721 #CJK UNIFIED IDEOGRAPH
+  {0xBBAC, 0x6ED1}, //9722 #CJK UNIFIED IDEOGRAPH
+  {0xBBAD, 0x753B}, //9723 #CJK UNIFIED IDEOGRAPH
+  {0xBBAE, 0x5212}, //9724 #CJK UNIFIED IDEOGRAPH
+  {0xBBAF, 0x5316}, //9725 #CJK UNIFIED IDEOGRAPH
+  {0xBBB0, 0x8BDD}, //9726 #CJK UNIFIED IDEOGRAPH
+  {0xBBB1, 0x69D0}, //9727 #CJK UNIFIED IDEOGRAPH
+  {0xBBB2, 0x5F8A}, //9728 #CJK UNIFIED IDEOGRAPH
+  {0xBBB3, 0x6000}, //9729 #CJK UNIFIED IDEOGRAPH
+  {0xBBB4, 0x6DEE}, //9730 #CJK UNIFIED IDEOGRAPH
+  {0xBBB5, 0x574F}, //9731 #CJK UNIFIED IDEOGRAPH
+  {0xBBB6, 0x6B22}, //9732 #CJK UNIFIED IDEOGRAPH
+  {0xBBB7, 0x73AF}, //9733 #CJK UNIFIED IDEOGRAPH
+  {0xBBB8, 0x6853}, //9734 #CJK UNIFIED IDEOGRAPH
+  {0xBBB9, 0x8FD8}, //9735 #CJK UNIFIED IDEOGRAPH
+  {0xBBBA, 0x7F13}, //9736 #CJK UNIFIED IDEOGRAPH
+  {0xBBBB, 0x6362}, //9737 #CJK UNIFIED IDEOGRAPH
+  {0xBBBC, 0x60A3}, //9738 #CJK UNIFIED IDEOGRAPH
+  {0xBBBD, 0x5524}, //9739 #CJK UNIFIED IDEOGRAPH
+  {0xBBBE, 0x75EA}, //9740 #CJK UNIFIED IDEOGRAPH
+  {0xBBBF, 0x8C62}, //9741 #CJK UNIFIED IDEOGRAPH
+  {0xBBC0, 0x7115}, //9742 #CJK UNIFIED IDEOGRAPH
+  {0xBBC1, 0x6DA3}, //9743 #CJK UNIFIED IDEOGRAPH
+  {0xBBC2, 0x5BA6}, //9744 #CJK UNIFIED IDEOGRAPH
+  {0xBBC3, 0x5E7B}, //9745 #CJK UNIFIED IDEOGRAPH
+  {0xBBC4, 0x8352}, //9746 #CJK UNIFIED IDEOGRAPH
+  {0xBBC5, 0x614C}, //9747 #CJK UNIFIED IDEOGRAPH
+  {0xBBC6, 0x9EC4}, //9748 #CJK UNIFIED IDEOGRAPH
+  {0xBBC7, 0x78FA}, //9749 #CJK UNIFIED IDEOGRAPH
+  {0xBBC8, 0x8757}, //9750 #CJK UNIFIED IDEOGRAPH
+  {0xBBC9, 0x7C27}, //9751 #CJK UNIFIED IDEOGRAPH
+  {0xBBCA, 0x7687}, //9752 #CJK UNIFIED IDEOGRAPH
+  {0xBBCB, 0x51F0}, //9753 #CJK UNIFIED IDEOGRAPH
+  {0xBBCC, 0x60F6}, //9754 #CJK UNIFIED IDEOGRAPH
+  {0xBBCD, 0x714C}, //9755 #CJK UNIFIED IDEOGRAPH
+  {0xBBCE, 0x6643}, //9756 #CJK UNIFIED IDEOGRAPH
+  {0xBBCF, 0x5E4C}, //9757 #CJK UNIFIED IDEOGRAPH
+  {0xBBD0, 0x604D}, //9758 #CJK UNIFIED IDEOGRAPH
+  {0xBBD1, 0x8C0E}, //9759 #CJK UNIFIED IDEOGRAPH
+  {0xBBD2, 0x7070}, //9760 #CJK UNIFIED IDEOGRAPH
+  {0xBBD3, 0x6325}, //9761 #CJK UNIFIED IDEOGRAPH
+  {0xBBD4, 0x8F89}, //9762 #CJK UNIFIED IDEOGRAPH
+  {0xBBD5, 0x5FBD}, //9763 #CJK UNIFIED IDEOGRAPH
+  {0xBBD6, 0x6062}, //9764 #CJK UNIFIED IDEOGRAPH
+  {0xBBD7, 0x86D4}, //9765 #CJK UNIFIED IDEOGRAPH
+  {0xBBD8, 0x56DE}, //9766 #CJK UNIFIED IDEOGRAPH
+  {0xBBD9, 0x6BC1}, //9767 #CJK UNIFIED IDEOGRAPH
+  {0xBBDA, 0x6094}, //9768 #CJK UNIFIED IDEOGRAPH
+  {0xBBDB, 0x6167}, //9769 #CJK UNIFIED IDEOGRAPH
+  {0xBBDC, 0x5349}, //9770 #CJK UNIFIED IDEOGRAPH
+  {0xBBDD, 0x60E0}, //9771 #CJK UNIFIED IDEOGRAPH
+  {0xBBDE, 0x6666}, //9772 #CJK UNIFIED IDEOGRAPH
+  {0xBBDF, 0x8D3F}, //9773 #CJK UNIFIED IDEOGRAPH
+  {0xBBE0, 0x79FD}, //9774 #CJK UNIFIED IDEOGRAPH
+  {0xBBE1, 0x4F1A}, //9775 #CJK UNIFIED IDEOGRAPH
+  {0xBBE2, 0x70E9}, //9776 #CJK UNIFIED IDEOGRAPH
+  {0xBBE3, 0x6C47}, //9777 #CJK UNIFIED IDEOGRAPH
+  {0xBBE4, 0x8BB3}, //9778 #CJK UNIFIED IDEOGRAPH
+  {0xBBE5, 0x8BF2}, //9779 #CJK UNIFIED IDEOGRAPH
+  {0xBBE6, 0x7ED8}, //9780 #CJK UNIFIED IDEOGRAPH
+  {0xBBE7, 0x8364}, //9781 #CJK UNIFIED IDEOGRAPH
+  {0xBBE8, 0x660F}, //9782 #CJK UNIFIED IDEOGRAPH
+  {0xBBE9, 0x5A5A}, //9783 #CJK UNIFIED IDEOGRAPH
+  {0xBBEA, 0x9B42}, //9784 #CJK UNIFIED IDEOGRAPH
+  {0xBBEB, 0x6D51}, //9785 #CJK UNIFIED IDEOGRAPH
+  {0xBBEC, 0x6DF7}, //9786 #CJK UNIFIED IDEOGRAPH
+  {0xBBED, 0x8C41}, //9787 #CJK UNIFIED IDEOGRAPH
+  {0xBBEE, 0x6D3B}, //9788 #CJK UNIFIED IDEOGRAPH
+  {0xBBEF, 0x4F19}, //9789 #CJK UNIFIED IDEOGRAPH
+  {0xBBF0, 0x706B}, //9790 #CJK UNIFIED IDEOGRAPH
+  {0xBBF1, 0x83B7}, //9791 #CJK UNIFIED IDEOGRAPH
+  {0xBBF2, 0x6216}, //9792 #CJK UNIFIED IDEOGRAPH
+  {0xBBF3, 0x60D1}, //9793 #CJK UNIFIED IDEOGRAPH
+  {0xBBF4, 0x970D}, //9794 #CJK UNIFIED IDEOGRAPH
+  {0xBBF5, 0x8D27}, //9795 #CJK UNIFIED IDEOGRAPH
+  {0xBBF6, 0x7978}, //9796 #CJK UNIFIED IDEOGRAPH
+  {0xBBF7, 0x51FB}, //9797 #CJK UNIFIED IDEOGRAPH
+  {0xBBF8, 0x573E}, //9798 #CJK UNIFIED IDEOGRAPH
+  {0xBBF9, 0x57FA}, //9799 #CJK UNIFIED IDEOGRAPH
+  {0xBBFA, 0x673A}, //9800 #CJK UNIFIED IDEOGRAPH
+  {0xBBFB, 0x7578}, //9801 #CJK UNIFIED IDEOGRAPH
+  {0xBBFC, 0x7A3D}, //9802 #CJK UNIFIED IDEOGRAPH
+  {0xBBFD, 0x79EF}, //9803 #CJK UNIFIED IDEOGRAPH
+  {0xBBFE, 0x7B95}, //9804 #CJK UNIFIED IDEOGRAPH
+  {0xBC40, 0x7CBF}, //9805 #CJK UNIFIED IDEOGRAPH
+  {0xBC41, 0x7CC0}, //9806 #CJK UNIFIED IDEOGRAPH
+  {0xBC42, 0x7CC2}, //9807 #CJK UNIFIED IDEOGRAPH
+  {0xBC43, 0x7CC3}, //9808 #CJK UNIFIED IDEOGRAPH
+  {0xBC44, 0x7CC4}, //9809 #CJK UNIFIED IDEOGRAPH
+  {0xBC45, 0x7CC6}, //9810 #CJK UNIFIED IDEOGRAPH
+  {0xBC46, 0x7CC9}, //9811 #CJK UNIFIED IDEOGRAPH
+  {0xBC47, 0x7CCB}, //9812 #CJK UNIFIED IDEOGRAPH
+  {0xBC48, 0x7CCE}, //9813 #CJK UNIFIED IDEOGRAPH
+  {0xBC49, 0x7CCF}, //9814 #CJK UNIFIED IDEOGRAPH
+  {0xBC4A, 0x7CD0}, //9815 #CJK UNIFIED IDEOGRAPH
+  {0xBC4B, 0x7CD1}, //9816 #CJK UNIFIED IDEOGRAPH
+  {0xBC4C, 0x7CD2}, //9817 #CJK UNIFIED IDEOGRAPH
+  {0xBC4D, 0x7CD3}, //9818 #CJK UNIFIED IDEOGRAPH
+  {0xBC4E, 0x7CD4}, //9819 #CJK UNIFIED IDEOGRAPH
+  {0xBC4F, 0x7CD8}, //9820 #CJK UNIFIED IDEOGRAPH
+  {0xBC50, 0x7CDA}, //9821 #CJK UNIFIED IDEOGRAPH
+  {0xBC51, 0x7CDB}, //9822 #CJK UNIFIED IDEOGRAPH
+  {0xBC52, 0x7CDD}, //9823 #CJK UNIFIED IDEOGRAPH
+  {0xBC53, 0x7CDE}, //9824 #CJK UNIFIED IDEOGRAPH
+  {0xBC54, 0x7CE1}, //9825 #CJK UNIFIED IDEOGRAPH
+  {0xBC55, 0x7CE2}, //9826 #CJK UNIFIED IDEOGRAPH
+  {0xBC56, 0x7CE3}, //9827 #CJK UNIFIED IDEOGRAPH
+  {0xBC57, 0x7CE4}, //9828 #CJK UNIFIED IDEOGRAPH
+  {0xBC58, 0x7CE5}, //9829 #CJK UNIFIED IDEOGRAPH
+  {0xBC59, 0x7CE6}, //9830 #CJK UNIFIED IDEOGRAPH
+  {0xBC5A, 0x7CE7}, //9831 #CJK UNIFIED IDEOGRAPH
+  {0xBC5B, 0x7CE9}, //9832 #CJK UNIFIED IDEOGRAPH
+  {0xBC5C, 0x7CEA}, //9833 #CJK UNIFIED IDEOGRAPH
+  {0xBC5D, 0x7CEB}, //9834 #CJK UNIFIED IDEOGRAPH
+  {0xBC5E, 0x7CEC}, //9835 #CJK UNIFIED IDEOGRAPH
+  {0xBC5F, 0x7CED}, //9836 #CJK UNIFIED IDEOGRAPH
+  {0xBC60, 0x7CEE}, //9837 #CJK UNIFIED IDEOGRAPH
+  {0xBC61, 0x7CF0}, //9838 #CJK UNIFIED IDEOGRAPH
+  {0xBC62, 0x7CF1}, //9839 #CJK UNIFIED IDEOGRAPH
+  {0xBC63, 0x7CF2}, //9840 #CJK UNIFIED IDEOGRAPH
+  {0xBC64, 0x7CF3}, //9841 #CJK UNIFIED IDEOGRAPH
+  {0xBC65, 0x7CF4}, //9842 #CJK UNIFIED IDEOGRAPH
+  {0xBC66, 0x7CF5}, //9843 #CJK UNIFIED IDEOGRAPH
+  {0xBC67, 0x7CF6}, //9844 #CJK UNIFIED IDEOGRAPH
+  {0xBC68, 0x7CF7}, //9845 #CJK UNIFIED IDEOGRAPH
+  {0xBC69, 0x7CF9}, //9846 #CJK UNIFIED IDEOGRAPH
+  {0xBC6A, 0x7CFA}, //9847 #CJK UNIFIED IDEOGRAPH
+  {0xBC6B, 0x7CFC}, //9848 #CJK UNIFIED IDEOGRAPH
+  {0xBC6C, 0x7CFD}, //9849 #CJK UNIFIED IDEOGRAPH
+  {0xBC6D, 0x7CFE}, //9850 #CJK UNIFIED IDEOGRAPH
+  {0xBC6E, 0x7CFF}, //9851 #CJK UNIFIED IDEOGRAPH
+  {0xBC6F, 0x7D00}, //9852 #CJK UNIFIED IDEOGRAPH
+  {0xBC70, 0x7D01}, //9853 #CJK UNIFIED IDEOGRAPH
+  {0xBC71, 0x7D02}, //9854 #CJK UNIFIED IDEOGRAPH
+  {0xBC72, 0x7D03}, //9855 #CJK UNIFIED IDEOGRAPH
+  {0xBC73, 0x7D04}, //9856 #CJK UNIFIED IDEOGRAPH
+  {0xBC74, 0x7D05}, //9857 #CJK UNIFIED IDEOGRAPH
+  {0xBC75, 0x7D06}, //9858 #CJK UNIFIED IDEOGRAPH
+  {0xBC76, 0x7D07}, //9859 #CJK UNIFIED IDEOGRAPH
+  {0xBC77, 0x7D08}, //9860 #CJK UNIFIED IDEOGRAPH
+  {0xBC78, 0x7D09}, //9861 #CJK UNIFIED IDEOGRAPH
+  {0xBC79, 0x7D0B}, //9862 #CJK UNIFIED IDEOGRAPH
+  {0xBC7A, 0x7D0C}, //9863 #CJK UNIFIED IDEOGRAPH
+  {0xBC7B, 0x7D0D}, //9864 #CJK UNIFIED IDEOGRAPH
+  {0xBC7C, 0x7D0E}, //9865 #CJK UNIFIED IDEOGRAPH
+  {0xBC7D, 0x7D0F}, //9866 #CJK UNIFIED IDEOGRAPH
+  {0xBC7E, 0x7D10}, //9867 #CJK UNIFIED IDEOGRAPH
+  {0xBC80, 0x7D11}, //9868 #CJK UNIFIED IDEOGRAPH
+  {0xBC81, 0x7D12}, //9869 #CJK UNIFIED IDEOGRAPH
+  {0xBC82, 0x7D13}, //9870 #CJK UNIFIED IDEOGRAPH
+  {0xBC83, 0x7D14}, //9871 #CJK UNIFIED IDEOGRAPH
+  {0xBC84, 0x7D15}, //9872 #CJK UNIFIED IDEOGRAPH
+  {0xBC85, 0x7D16}, //9873 #CJK UNIFIED IDEOGRAPH
+  {0xBC86, 0x7D17}, //9874 #CJK UNIFIED IDEOGRAPH
+  {0xBC87, 0x7D18}, //9875 #CJK UNIFIED IDEOGRAPH
+  {0xBC88, 0x7D19}, //9876 #CJK UNIFIED IDEOGRAPH
+  {0xBC89, 0x7D1A}, //9877 #CJK UNIFIED IDEOGRAPH
+  {0xBC8A, 0x7D1B}, //9878 #CJK UNIFIED IDEOGRAPH
+  {0xBC8B, 0x7D1C}, //9879 #CJK UNIFIED IDEOGRAPH
+  {0xBC8C, 0x7D1D}, //9880 #CJK UNIFIED IDEOGRAPH
+  {0xBC8D, 0x7D1E}, //9881 #CJK UNIFIED IDEOGRAPH
+  {0xBC8E, 0x7D1F}, //9882 #CJK UNIFIED IDEOGRAPH
+  {0xBC8F, 0x7D21}, //9883 #CJK UNIFIED IDEOGRAPH
+  {0xBC90, 0x7D23}, //9884 #CJK UNIFIED IDEOGRAPH
+  {0xBC91, 0x7D24}, //9885 #CJK UNIFIED IDEOGRAPH
+  {0xBC92, 0x7D25}, //9886 #CJK UNIFIED IDEOGRAPH
+  {0xBC93, 0x7D26}, //9887 #CJK UNIFIED IDEOGRAPH
+  {0xBC94, 0x7D28}, //9888 #CJK UNIFIED IDEOGRAPH
+  {0xBC95, 0x7D29}, //9889 #CJK UNIFIED IDEOGRAPH
+  {0xBC96, 0x7D2A}, //9890 #CJK UNIFIED IDEOGRAPH
+  {0xBC97, 0x7D2C}, //9891 #CJK UNIFIED IDEOGRAPH
+  {0xBC98, 0x7D2D}, //9892 #CJK UNIFIED IDEOGRAPH
+  {0xBC99, 0x7D2E}, //9893 #CJK UNIFIED IDEOGRAPH
+  {0xBC9A, 0x7D30}, //9894 #CJK UNIFIED IDEOGRAPH
+  {0xBC9B, 0x7D31}, //9895 #CJK UNIFIED IDEOGRAPH
+  {0xBC9C, 0x7D32}, //9896 #CJK UNIFIED IDEOGRAPH
+  {0xBC9D, 0x7D33}, //9897 #CJK UNIFIED IDEOGRAPH
+  {0xBC9E, 0x7D34}, //9898 #CJK UNIFIED IDEOGRAPH
+  {0xBC9F, 0x7D35}, //9899 #CJK UNIFIED IDEOGRAPH
+  {0xBCA0, 0x7D36}, //9900 #CJK UNIFIED IDEOGRAPH
+  {0xBCA1, 0x808C}, //9901 #CJK UNIFIED IDEOGRAPH
+  {0xBCA2, 0x9965}, //9902 #CJK UNIFIED IDEOGRAPH
+  {0xBCA3, 0x8FF9}, //9903 #CJK UNIFIED IDEOGRAPH
+  {0xBCA4, 0x6FC0}, //9904 #CJK UNIFIED IDEOGRAPH
+  {0xBCA5, 0x8BA5}, //9905 #CJK UNIFIED IDEOGRAPH
+  {0xBCA6, 0x9E21}, //9906 #CJK UNIFIED IDEOGRAPH
+  {0xBCA7, 0x59EC}, //9907 #CJK UNIFIED IDEOGRAPH
+  {0xBCA8, 0x7EE9}, //9908 #CJK UNIFIED IDEOGRAPH
+  {0xBCA9, 0x7F09}, //9909 #CJK UNIFIED IDEOGRAPH
+  {0xBCAA, 0x5409}, //9910 #CJK UNIFIED IDEOGRAPH
+  {0xBCAB, 0x6781}, //9911 #CJK UNIFIED IDEOGRAPH
+  {0xBCAC, 0x68D8}, //9912 #CJK UNIFIED IDEOGRAPH
+  {0xBCAD, 0x8F91}, //9913 #CJK UNIFIED IDEOGRAPH
+  {0xBCAE, 0x7C4D}, //9914 #CJK UNIFIED IDEOGRAPH
+  {0xBCAF, 0x96C6}, //9915 #CJK UNIFIED IDEOGRAPH
+  {0xBCB0, 0x53CA}, //9916 #CJK UNIFIED IDEOGRAPH
+  {0xBCB1, 0x6025}, //9917 #CJK UNIFIED IDEOGRAPH
+  {0xBCB2, 0x75BE}, //9918 #CJK UNIFIED IDEOGRAPH
+  {0xBCB3, 0x6C72}, //9919 #CJK UNIFIED IDEOGRAPH
+  {0xBCB4, 0x5373}, //9920 #CJK UNIFIED IDEOGRAPH
+  {0xBCB5, 0x5AC9}, //9921 #CJK UNIFIED IDEOGRAPH
+  {0xBCB6, 0x7EA7}, //9922 #CJK UNIFIED IDEOGRAPH
+  {0xBCB7, 0x6324}, //9923 #CJK UNIFIED IDEOGRAPH
+  {0xBCB8, 0x51E0}, //9924 #CJK UNIFIED IDEOGRAPH
+  {0xBCB9, 0x810A}, //9925 #CJK UNIFIED IDEOGRAPH
+  {0xBCBA, 0x5DF1}, //9926 #CJK UNIFIED IDEOGRAPH
+  {0xBCBB, 0x84DF}, //9927 #CJK UNIFIED IDEOGRAPH
+  {0xBCBC, 0x6280}, //9928 #CJK UNIFIED IDEOGRAPH
+  {0xBCBD, 0x5180}, //9929 #CJK UNIFIED IDEOGRAPH
+  {0xBCBE, 0x5B63}, //9930 #CJK UNIFIED IDEOGRAPH
+  {0xBCBF, 0x4F0E}, //9931 #CJK UNIFIED IDEOGRAPH
+  {0xBCC0, 0x796D}, //9932 #CJK UNIFIED IDEOGRAPH
+  {0xBCC1, 0x5242}, //9933 #CJK UNIFIED IDEOGRAPH
+  {0xBCC2, 0x60B8}, //9934 #CJK UNIFIED IDEOGRAPH
+  {0xBCC3, 0x6D4E}, //9935 #CJK UNIFIED IDEOGRAPH
+  {0xBCC4, 0x5BC4}, //9936 #CJK UNIFIED IDEOGRAPH
+  {0xBCC5, 0x5BC2}, //9937 #CJK UNIFIED IDEOGRAPH
+  {0xBCC6, 0x8BA1}, //9938 #CJK UNIFIED IDEOGRAPH
+  {0xBCC7, 0x8BB0}, //9939 #CJK UNIFIED IDEOGRAPH
+  {0xBCC8, 0x65E2}, //9940 #CJK UNIFIED IDEOGRAPH
+  {0xBCC9, 0x5FCC}, //9941 #CJK UNIFIED IDEOGRAPH
+  {0xBCCA, 0x9645}, //9942 #CJK UNIFIED IDEOGRAPH
+  {0xBCCB, 0x5993}, //9943 #CJK UNIFIED IDEOGRAPH
+  {0xBCCC, 0x7EE7}, //9944 #CJK UNIFIED IDEOGRAPH
+  {0xBCCD, 0x7EAA}, //9945 #CJK UNIFIED IDEOGRAPH
+  {0xBCCE, 0x5609}, //9946 #CJK UNIFIED IDEOGRAPH
+  {0xBCCF, 0x67B7}, //9947 #CJK UNIFIED IDEOGRAPH
+  {0xBCD0, 0x5939}, //9948 #CJK UNIFIED IDEOGRAPH
+  {0xBCD1, 0x4F73}, //9949 #CJK UNIFIED IDEOGRAPH
+  {0xBCD2, 0x5BB6}, //9950 #CJK UNIFIED IDEOGRAPH
+  {0xBCD3, 0x52A0}, //9951 #CJK UNIFIED IDEOGRAPH
+  {0xBCD4, 0x835A}, //9952 #CJK UNIFIED IDEOGRAPH
+  {0xBCD5, 0x988A}, //9953 #CJK UNIFIED IDEOGRAPH
+  {0xBCD6, 0x8D3E}, //9954 #CJK UNIFIED IDEOGRAPH
+  {0xBCD7, 0x7532}, //9955 #CJK UNIFIED IDEOGRAPH
+  {0xBCD8, 0x94BE}, //9956 #CJK UNIFIED IDEOGRAPH
+  {0xBCD9, 0x5047}, //9957 #CJK UNIFIED IDEOGRAPH
+  {0xBCDA, 0x7A3C}, //9958 #CJK UNIFIED IDEOGRAPH
+  {0xBCDB, 0x4EF7}, //9959 #CJK UNIFIED IDEOGRAPH
+  {0xBCDC, 0x67B6}, //9960 #CJK UNIFIED IDEOGRAPH
+  {0xBCDD, 0x9A7E}, //9961 #CJK UNIFIED IDEOGRAPH
+  {0xBCDE, 0x5AC1}, //9962 #CJK UNIFIED IDEOGRAPH
+  {0xBCDF, 0x6B7C}, //9963 #CJK UNIFIED IDEOGRAPH
+  {0xBCE0, 0x76D1}, //9964 #CJK UNIFIED IDEOGRAPH
+  {0xBCE1, 0x575A}, //9965 #CJK UNIFIED IDEOGRAPH
+  {0xBCE2, 0x5C16}, //9966 #CJK UNIFIED IDEOGRAPH
+  {0xBCE3, 0x7B3A}, //9967 #CJK UNIFIED IDEOGRAPH
+  {0xBCE4, 0x95F4}, //9968 #CJK UNIFIED IDEOGRAPH
+  {0xBCE5, 0x714E}, //9969 #CJK UNIFIED IDEOGRAPH
+  {0xBCE6, 0x517C}, //9970 #CJK UNIFIED IDEOGRAPH
+  {0xBCE7, 0x80A9}, //9971 #CJK UNIFIED IDEOGRAPH
+  {0xBCE8, 0x8270}, //9972 #CJK UNIFIED IDEOGRAPH
+  {0xBCE9, 0x5978}, //9973 #CJK UNIFIED IDEOGRAPH
+  {0xBCEA, 0x7F04}, //9974 #CJK UNIFIED IDEOGRAPH
+  {0xBCEB, 0x8327}, //9975 #CJK UNIFIED IDEOGRAPH
+  {0xBCEC, 0x68C0}, //9976 #CJK UNIFIED IDEOGRAPH
+  {0xBCED, 0x67EC}, //9977 #CJK UNIFIED IDEOGRAPH
+  {0xBCEE, 0x78B1}, //9978 #CJK UNIFIED IDEOGRAPH
+  {0xBCEF, 0x7877}, //9979 #CJK UNIFIED IDEOGRAPH
+  {0xBCF0, 0x62E3}, //9980 #CJK UNIFIED IDEOGRAPH
+  {0xBCF1, 0x6361}, //9981 #CJK UNIFIED IDEOGRAPH
+  {0xBCF2, 0x7B80}, //9982 #CJK UNIFIED IDEOGRAPH
+  {0xBCF3, 0x4FED}, //9983 #CJK UNIFIED IDEOGRAPH
+  {0xBCF4, 0x526A}, //9984 #CJK UNIFIED IDEOGRAPH
+  {0xBCF5, 0x51CF}, //9985 #CJK UNIFIED IDEOGRAPH
+  {0xBCF6, 0x8350}, //9986 #CJK UNIFIED IDEOGRAPH
+  {0xBCF7, 0x69DB}, //9987 #CJK UNIFIED IDEOGRAPH
+  {0xBCF8, 0x9274}, //9988 #CJK UNIFIED IDEOGRAPH
+  {0xBCF9, 0x8DF5}, //9989 #CJK UNIFIED IDEOGRAPH
+  {0xBCFA, 0x8D31}, //9990 #CJK UNIFIED IDEOGRAPH
+  {0xBCFB, 0x89C1}, //9991 #CJK UNIFIED IDEOGRAPH
+  {0xBCFC, 0x952E}, //9992 #CJK UNIFIED IDEOGRAPH
+  {0xBCFD, 0x7BAD}, //9993 #CJK UNIFIED IDEOGRAPH
+  {0xBCFE, 0x4EF6}, //9994 #CJK UNIFIED IDEOGRAPH
+  {0xBD40, 0x7D37}, //9995 #CJK UNIFIED IDEOGRAPH
+  {0xBD41, 0x7D38}, //9996 #CJK UNIFIED IDEOGRAPH
+  {0xBD42, 0x7D39}, //9997 #CJK UNIFIED IDEOGRAPH
+  {0xBD43, 0x7D3A}, //9998 #CJK UNIFIED IDEOGRAPH
+  {0xBD44, 0x7D3B}, //9999 #CJK UNIFIED IDEOGRAPH
+  {0xBD45, 0x7D3C}, //10000 #CJK UNIFIED IDEOGRAPH
+  {0xBD46, 0x7D3D}, //10001 #CJK UNIFIED IDEOGRAPH
+  {0xBD47, 0x7D3E}, //10002 #CJK UNIFIED IDEOGRAPH
+  {0xBD48, 0x7D3F}, //10003 #CJK UNIFIED IDEOGRAPH
+  {0xBD49, 0x7D40}, //10004 #CJK UNIFIED IDEOGRAPH
+  {0xBD4A, 0x7D41}, //10005 #CJK UNIFIED IDEOGRAPH
+  {0xBD4B, 0x7D42}, //10006 #CJK UNIFIED IDEOGRAPH
+  {0xBD4C, 0x7D43}, //10007 #CJK UNIFIED IDEOGRAPH
+  {0xBD4D, 0x7D44}, //10008 #CJK UNIFIED IDEOGRAPH
+  {0xBD4E, 0x7D45}, //10009 #CJK UNIFIED IDEOGRAPH
+  {0xBD4F, 0x7D46}, //10010 #CJK UNIFIED IDEOGRAPH
+  {0xBD50, 0x7D47}, //10011 #CJK UNIFIED IDEOGRAPH
+  {0xBD51, 0x7D48}, //10012 #CJK UNIFIED IDEOGRAPH
+  {0xBD52, 0x7D49}, //10013 #CJK UNIFIED IDEOGRAPH
+  {0xBD53, 0x7D4A}, //10014 #CJK UNIFIED IDEOGRAPH
+  {0xBD54, 0x7D4B}, //10015 #CJK UNIFIED IDEOGRAPH
+  {0xBD55, 0x7D4C}, //10016 #CJK UNIFIED IDEOGRAPH
+  {0xBD56, 0x7D4D}, //10017 #CJK UNIFIED IDEOGRAPH
+  {0xBD57, 0x7D4E}, //10018 #CJK UNIFIED IDEOGRAPH
+  {0xBD58, 0x7D4F}, //10019 #CJK UNIFIED IDEOGRAPH
+  {0xBD59, 0x7D50}, //10020 #CJK UNIFIED IDEOGRAPH
+  {0xBD5A, 0x7D51}, //10021 #CJK UNIFIED IDEOGRAPH
+  {0xBD5B, 0x7D52}, //10022 #CJK UNIFIED IDEOGRAPH
+  {0xBD5C, 0x7D53}, //10023 #CJK UNIFIED IDEOGRAPH
+  {0xBD5D, 0x7D54}, //10024 #CJK UNIFIED IDEOGRAPH
+  {0xBD5E, 0x7D55}, //10025 #CJK UNIFIED IDEOGRAPH
+  {0xBD5F, 0x7D56}, //10026 #CJK UNIFIED IDEOGRAPH
+  {0xBD60, 0x7D57}, //10027 #CJK UNIFIED IDEOGRAPH
+  {0xBD61, 0x7D58}, //10028 #CJK UNIFIED IDEOGRAPH
+  {0xBD62, 0x7D59}, //10029 #CJK UNIFIED IDEOGRAPH
+  {0xBD63, 0x7D5A}, //10030 #CJK UNIFIED IDEOGRAPH
+  {0xBD64, 0x7D5B}, //10031 #CJK UNIFIED IDEOGRAPH
+  {0xBD65, 0x7D5C}, //10032 #CJK UNIFIED IDEOGRAPH
+  {0xBD66, 0x7D5D}, //10033 #CJK UNIFIED IDEOGRAPH
+  {0xBD67, 0x7D5E}, //10034 #CJK UNIFIED IDEOGRAPH
+  {0xBD68, 0x7D5F}, //10035 #CJK UNIFIED IDEOGRAPH
+  {0xBD69, 0x7D60}, //10036 #CJK UNIFIED IDEOGRAPH
+  {0xBD6A, 0x7D61}, //10037 #CJK UNIFIED IDEOGRAPH
+  {0xBD6B, 0x7D62}, //10038 #CJK UNIFIED IDEOGRAPH
+  {0xBD6C, 0x7D63}, //10039 #CJK UNIFIED IDEOGRAPH
+  {0xBD6D, 0x7D64}, //10040 #CJK UNIFIED IDEOGRAPH
+  {0xBD6E, 0x7D65}, //10041 #CJK UNIFIED IDEOGRAPH
+  {0xBD6F, 0x7D66}, //10042 #CJK UNIFIED IDEOGRAPH
+  {0xBD70, 0x7D67}, //10043 #CJK UNIFIED IDEOGRAPH
+  {0xBD71, 0x7D68}, //10044 #CJK UNIFIED IDEOGRAPH
+  {0xBD72, 0x7D69}, //10045 #CJK UNIFIED IDEOGRAPH
+  {0xBD73, 0x7D6A}, //10046 #CJK UNIFIED IDEOGRAPH
+  {0xBD74, 0x7D6B}, //10047 #CJK UNIFIED IDEOGRAPH
+  {0xBD75, 0x7D6C}, //10048 #CJK UNIFIED IDEOGRAPH
+  {0xBD76, 0x7D6D}, //10049 #CJK UNIFIED IDEOGRAPH
+  {0xBD77, 0x7D6F}, //10050 #CJK UNIFIED IDEOGRAPH
+  {0xBD78, 0x7D70}, //10051 #CJK UNIFIED IDEOGRAPH
+  {0xBD79, 0x7D71}, //10052 #CJK UNIFIED IDEOGRAPH
+  {0xBD7A, 0x7D72}, //10053 #CJK UNIFIED IDEOGRAPH
+  {0xBD7B, 0x7D73}, //10054 #CJK UNIFIED IDEOGRAPH
+  {0xBD7C, 0x7D74}, //10055 #CJK UNIFIED IDEOGRAPH
+  {0xBD7D, 0x7D75}, //10056 #CJK UNIFIED IDEOGRAPH
+  {0xBD7E, 0x7D76}, //10057 #CJK UNIFIED IDEOGRAPH
+  {0xBD80, 0x7D78}, //10058 #CJK UNIFIED IDEOGRAPH
+  {0xBD81, 0x7D79}, //10059 #CJK UNIFIED IDEOGRAPH
+  {0xBD82, 0x7D7A}, //10060 #CJK UNIFIED IDEOGRAPH
+  {0xBD83, 0x7D7B}, //10061 #CJK UNIFIED IDEOGRAPH
+  {0xBD84, 0x7D7C}, //10062 #CJK UNIFIED IDEOGRAPH
+  {0xBD85, 0x7D7D}, //10063 #CJK UNIFIED IDEOGRAPH
+  {0xBD86, 0x7D7E}, //10064 #CJK UNIFIED IDEOGRAPH
+  {0xBD87, 0x7D7F}, //10065 #CJK UNIFIED IDEOGRAPH
+  {0xBD88, 0x7D80}, //10066 #CJK UNIFIED IDEOGRAPH
+  {0xBD89, 0x7D81}, //10067 #CJK UNIFIED IDEOGRAPH
+  {0xBD8A, 0x7D82}, //10068 #CJK UNIFIED IDEOGRAPH
+  {0xBD8B, 0x7D83}, //10069 #CJK UNIFIED IDEOGRAPH
+  {0xBD8C, 0x7D84}, //10070 #CJK UNIFIED IDEOGRAPH
+  {0xBD8D, 0x7D85}, //10071 #CJK UNIFIED IDEOGRAPH
+  {0xBD8E, 0x7D86}, //10072 #CJK UNIFIED IDEOGRAPH
+  {0xBD8F, 0x7D87}, //10073 #CJK UNIFIED IDEOGRAPH
+  {0xBD90, 0x7D88}, //10074 #CJK UNIFIED IDEOGRAPH
+  {0xBD91, 0x7D89}, //10075 #CJK UNIFIED IDEOGRAPH
+  {0xBD92, 0x7D8A}, //10076 #CJK UNIFIED IDEOGRAPH
+  {0xBD93, 0x7D8B}, //10077 #CJK UNIFIED IDEOGRAPH
+  {0xBD94, 0x7D8C}, //10078 #CJK UNIFIED IDEOGRAPH
+  {0xBD95, 0x7D8D}, //10079 #CJK UNIFIED IDEOGRAPH
+  {0xBD96, 0x7D8E}, //10080 #CJK UNIFIED IDEOGRAPH
+  {0xBD97, 0x7D8F}, //10081 #CJK UNIFIED IDEOGRAPH
+  {0xBD98, 0x7D90}, //10082 #CJK UNIFIED IDEOGRAPH
+  {0xBD99, 0x7D91}, //10083 #CJK UNIFIED IDEOGRAPH
+  {0xBD9A, 0x7D92}, //10084 #CJK UNIFIED IDEOGRAPH
+  {0xBD9B, 0x7D93}, //10085 #CJK UNIFIED IDEOGRAPH
+  {0xBD9C, 0x7D94}, //10086 #CJK UNIFIED IDEOGRAPH
+  {0xBD9D, 0x7D95}, //10087 #CJK UNIFIED IDEOGRAPH
+  {0xBD9E, 0x7D96}, //10088 #CJK UNIFIED IDEOGRAPH
+  {0xBD9F, 0x7D97}, //10089 #CJK UNIFIED IDEOGRAPH
+  {0xBDA0, 0x7D98}, //10090 #CJK UNIFIED IDEOGRAPH
+  {0xBDA1, 0x5065}, //10091 #CJK UNIFIED IDEOGRAPH
+  {0xBDA2, 0x8230}, //10092 #CJK UNIFIED IDEOGRAPH
+  {0xBDA3, 0x5251}, //10093 #CJK UNIFIED IDEOGRAPH
+  {0xBDA4, 0x996F}, //10094 #CJK UNIFIED IDEOGRAPH
+  {0xBDA5, 0x6E10}, //10095 #CJK UNIFIED IDEOGRAPH
+  {0xBDA6, 0x6E85}, //10096 #CJK UNIFIED IDEOGRAPH
+  {0xBDA7, 0x6DA7}, //10097 #CJK UNIFIED IDEOGRAPH
+  {0xBDA8, 0x5EFA}, //10098 #CJK UNIFIED IDEOGRAPH
+  {0xBDA9, 0x50F5}, //10099 #CJK UNIFIED IDEOGRAPH
+  {0xBDAA, 0x59DC}, //10100 #CJK UNIFIED IDEOGRAPH
+  {0xBDAB, 0x5C06}, //10101 #CJK UNIFIED IDEOGRAPH
+  {0xBDAC, 0x6D46}, //10102 #CJK UNIFIED IDEOGRAPH
+  {0xBDAD, 0x6C5F}, //10103 #CJK UNIFIED IDEOGRAPH
+  {0xBDAE, 0x7586}, //10104 #CJK UNIFIED IDEOGRAPH
+  {0xBDAF, 0x848B}, //10105 #CJK UNIFIED IDEOGRAPH
+  {0xBDB0, 0x6868}, //10106 #CJK UNIFIED IDEOGRAPH
+  {0xBDB1, 0x5956}, //10107 #CJK UNIFIED IDEOGRAPH
+  {0xBDB2, 0x8BB2}, //10108 #CJK UNIFIED IDEOGRAPH
+  {0xBDB3, 0x5320}, //10109 #CJK UNIFIED IDEOGRAPH
+  {0xBDB4, 0x9171}, //10110 #CJK UNIFIED IDEOGRAPH
+  {0xBDB5, 0x964D}, //10111 #CJK UNIFIED IDEOGRAPH
+  {0xBDB6, 0x8549}, //10112 #CJK UNIFIED IDEOGRAPH
+  {0xBDB7, 0x6912}, //10113 #CJK UNIFIED IDEOGRAPH
+  {0xBDB8, 0x7901}, //10114 #CJK UNIFIED IDEOGRAPH
+  {0xBDB9, 0x7126}, //10115 #CJK UNIFIED IDEOGRAPH
+  {0xBDBA, 0x80F6}, //10116 #CJK UNIFIED IDEOGRAPH
+  {0xBDBB, 0x4EA4}, //10117 #CJK UNIFIED IDEOGRAPH
+  {0xBDBC, 0x90CA}, //10118 #CJK UNIFIED IDEOGRAPH
+  {0xBDBD, 0x6D47}, //10119 #CJK UNIFIED IDEOGRAPH
+  {0xBDBE, 0x9A84}, //10120 #CJK UNIFIED IDEOGRAPH
+  {0xBDBF, 0x5A07}, //10121 #CJK UNIFIED IDEOGRAPH
+  {0xBDC0, 0x56BC}, //10122 #CJK UNIFIED IDEOGRAPH
+  {0xBDC1, 0x6405}, //10123 #CJK UNIFIED IDEOGRAPH
+  {0xBDC2, 0x94F0}, //10124 #CJK UNIFIED IDEOGRAPH
+  {0xBDC3, 0x77EB}, //10125 #CJK UNIFIED IDEOGRAPH
+  {0xBDC4, 0x4FA5}, //10126 #CJK UNIFIED IDEOGRAPH
+  {0xBDC5, 0x811A}, //10127 #CJK UNIFIED IDEOGRAPH
+  {0xBDC6, 0x72E1}, //10128 #CJK UNIFIED IDEOGRAPH
+  {0xBDC7, 0x89D2}, //10129 #CJK UNIFIED IDEOGRAPH
+  {0xBDC8, 0x997A}, //10130 #CJK UNIFIED IDEOGRAPH
+  {0xBDC9, 0x7F34}, //10131 #CJK UNIFIED IDEOGRAPH
+  {0xBDCA, 0x7EDE}, //10132 #CJK UNIFIED IDEOGRAPH
+  {0xBDCB, 0x527F}, //10133 #CJK UNIFIED IDEOGRAPH
+  {0xBDCC, 0x6559}, //10134 #CJK UNIFIED IDEOGRAPH
+  {0xBDCD, 0x9175}, //10135 #CJK UNIFIED IDEOGRAPH
+  {0xBDCE, 0x8F7F}, //10136 #CJK UNIFIED IDEOGRAPH
+  {0xBDCF, 0x8F83}, //10137 #CJK UNIFIED IDEOGRAPH
+  {0xBDD0, 0x53EB}, //10138 #CJK UNIFIED IDEOGRAPH
+  {0xBDD1, 0x7A96}, //10139 #CJK UNIFIED IDEOGRAPH
+  {0xBDD2, 0x63ED}, //10140 #CJK UNIFIED IDEOGRAPH
+  {0xBDD3, 0x63A5}, //10141 #CJK UNIFIED IDEOGRAPH
+  {0xBDD4, 0x7686}, //10142 #CJK UNIFIED IDEOGRAPH
+  {0xBDD5, 0x79F8}, //10143 #CJK UNIFIED IDEOGRAPH
+  {0xBDD6, 0x8857}, //10144 #CJK UNIFIED IDEOGRAPH
+  {0xBDD7, 0x9636}, //10145 #CJK UNIFIED IDEOGRAPH
+  {0xBDD8, 0x622A}, //10146 #CJK UNIFIED IDEOGRAPH
+  {0xBDD9, 0x52AB}, //10147 #CJK UNIFIED IDEOGRAPH
+  {0xBDDA, 0x8282}, //10148 #CJK UNIFIED IDEOGRAPH
+  {0xBDDB, 0x6854}, //10149 #CJK UNIFIED IDEOGRAPH
+  {0xBDDC, 0x6770}, //10150 #CJK UNIFIED IDEOGRAPH
+  {0xBDDD, 0x6377}, //10151 #CJK UNIFIED IDEOGRAPH
+  {0xBDDE, 0x776B}, //10152 #CJK UNIFIED IDEOGRAPH
+  {0xBDDF, 0x7AED}, //10153 #CJK UNIFIED IDEOGRAPH
+  {0xBDE0, 0x6D01}, //10154 #CJK UNIFIED IDEOGRAPH
+  {0xBDE1, 0x7ED3}, //10155 #CJK UNIFIED IDEOGRAPH
+  {0xBDE2, 0x89E3}, //10156 #CJK UNIFIED IDEOGRAPH
+  {0xBDE3, 0x59D0}, //10157 #CJK UNIFIED IDEOGRAPH
+  {0xBDE4, 0x6212}, //10158 #CJK UNIFIED IDEOGRAPH
+  {0xBDE5, 0x85C9}, //10159 #CJK UNIFIED IDEOGRAPH
+  {0xBDE6, 0x82A5}, //10160 #CJK UNIFIED IDEOGRAPH
+  {0xBDE7, 0x754C}, //10161 #CJK UNIFIED IDEOGRAPH
+  {0xBDE8, 0x501F}, //10162 #CJK UNIFIED IDEOGRAPH
+  {0xBDE9, 0x4ECB}, //10163 #CJK UNIFIED IDEOGRAPH
+  {0xBDEA, 0x75A5}, //10164 #CJK UNIFIED IDEOGRAPH
+  {0xBDEB, 0x8BEB}, //10165 #CJK UNIFIED IDEOGRAPH
+  {0xBDEC, 0x5C4A}, //10166 #CJK UNIFIED IDEOGRAPH
+  {0xBDED, 0x5DFE}, //10167 #CJK UNIFIED IDEOGRAPH
+  {0xBDEE, 0x7B4B}, //10168 #CJK UNIFIED IDEOGRAPH
+  {0xBDEF, 0x65A4}, //10169 #CJK UNIFIED IDEOGRAPH
+  {0xBDF0, 0x91D1}, //10170 #CJK UNIFIED IDEOGRAPH
+  {0xBDF1, 0x4ECA}, //10171 #CJK UNIFIED IDEOGRAPH
+  {0xBDF2, 0x6D25}, //10172 #CJK UNIFIED IDEOGRAPH
+  {0xBDF3, 0x895F}, //10173 #CJK UNIFIED IDEOGRAPH
+  {0xBDF4, 0x7D27}, //10174 #CJK UNIFIED IDEOGRAPH
+  {0xBDF5, 0x9526}, //10175 #CJK UNIFIED IDEOGRAPH
+  {0xBDF6, 0x4EC5}, //10176 #CJK UNIFIED IDEOGRAPH
+  {0xBDF7, 0x8C28}, //10177 #CJK UNIFIED IDEOGRAPH
+  {0xBDF8, 0x8FDB}, //10178 #CJK UNIFIED IDEOGRAPH
+  {0xBDF9, 0x9773}, //10179 #CJK UNIFIED IDEOGRAPH
+  {0xBDFA, 0x664B}, //10180 #CJK UNIFIED IDEOGRAPH
+  {0xBDFB, 0x7981}, //10181 #CJK UNIFIED IDEOGRAPH
+  {0xBDFC, 0x8FD1}, //10182 #CJK UNIFIED IDEOGRAPH
+  {0xBDFD, 0x70EC}, //10183 #CJK UNIFIED IDEOGRAPH
+  {0xBDFE, 0x6D78}, //10184 #CJK UNIFIED IDEOGRAPH
+  {0xBE40, 0x7D99}, //10185 #CJK UNIFIED IDEOGRAPH
+  {0xBE41, 0x7D9A}, //10186 #CJK UNIFIED IDEOGRAPH
+  {0xBE42, 0x7D9B}, //10187 #CJK UNIFIED IDEOGRAPH
+  {0xBE43, 0x7D9C}, //10188 #CJK UNIFIED IDEOGRAPH
+  {0xBE44, 0x7D9D}, //10189 #CJK UNIFIED IDEOGRAPH
+  {0xBE45, 0x7D9E}, //10190 #CJK UNIFIED IDEOGRAPH
+  {0xBE46, 0x7D9F}, //10191 #CJK UNIFIED IDEOGRAPH
+  {0xBE47, 0x7DA0}, //10192 #CJK UNIFIED IDEOGRAPH
+  {0xBE48, 0x7DA1}, //10193 #CJK UNIFIED IDEOGRAPH
+  {0xBE49, 0x7DA2}, //10194 #CJK UNIFIED IDEOGRAPH
+  {0xBE4A, 0x7DA3}, //10195 #CJK UNIFIED IDEOGRAPH
+  {0xBE4B, 0x7DA4}, //10196 #CJK UNIFIED IDEOGRAPH
+  {0xBE4C, 0x7DA5}, //10197 #CJK UNIFIED IDEOGRAPH
+  {0xBE4D, 0x7DA7}, //10198 #CJK UNIFIED IDEOGRAPH
+  {0xBE4E, 0x7DA8}, //10199 #CJK UNIFIED IDEOGRAPH
+  {0xBE4F, 0x7DA9}, //10200 #CJK UNIFIED IDEOGRAPH
+  {0xBE50, 0x7DAA}, //10201 #CJK UNIFIED IDEOGRAPH
+  {0xBE51, 0x7DAB}, //10202 #CJK UNIFIED IDEOGRAPH
+  {0xBE52, 0x7DAC}, //10203 #CJK UNIFIED IDEOGRAPH
+  {0xBE53, 0x7DAD}, //10204 #CJK UNIFIED IDEOGRAPH
+  {0xBE54, 0x7DAF}, //10205 #CJK UNIFIED IDEOGRAPH
+  {0xBE55, 0x7DB0}, //10206 #CJK UNIFIED IDEOGRAPH
+  {0xBE56, 0x7DB1}, //10207 #CJK UNIFIED IDEOGRAPH
+  {0xBE57, 0x7DB2}, //10208 #CJK UNIFIED IDEOGRAPH
+  {0xBE58, 0x7DB3}, //10209 #CJK UNIFIED IDEOGRAPH
+  {0xBE59, 0x7DB4}, //10210 #CJK UNIFIED IDEOGRAPH
+  {0xBE5A, 0x7DB5}, //10211 #CJK UNIFIED IDEOGRAPH
+  {0xBE5B, 0x7DB6}, //10212 #CJK UNIFIED IDEOGRAPH
+  {0xBE5C, 0x7DB7}, //10213 #CJK UNIFIED IDEOGRAPH
+  {0xBE5D, 0x7DB8}, //10214 #CJK UNIFIED IDEOGRAPH
+  {0xBE5E, 0x7DB9}, //10215 #CJK UNIFIED IDEOGRAPH
+  {0xBE5F, 0x7DBA}, //10216 #CJK UNIFIED IDEOGRAPH
+  {0xBE60, 0x7DBB}, //10217 #CJK UNIFIED IDEOGRAPH
+  {0xBE61, 0x7DBC}, //10218 #CJK UNIFIED IDEOGRAPH
+  {0xBE62, 0x7DBD}, //10219 #CJK UNIFIED IDEOGRAPH
+  {0xBE63, 0x7DBE}, //10220 #CJK UNIFIED IDEOGRAPH
+  {0xBE64, 0x7DBF}, //10221 #CJK UNIFIED IDEOGRAPH
+  {0xBE65, 0x7DC0}, //10222 #CJK UNIFIED IDEOGRAPH
+  {0xBE66, 0x7DC1}, //10223 #CJK UNIFIED IDEOGRAPH
+  {0xBE67, 0x7DC2}, //10224 #CJK UNIFIED IDEOGRAPH
+  {0xBE68, 0x7DC3}, //10225 #CJK UNIFIED IDEOGRAPH
+  {0xBE69, 0x7DC4}, //10226 #CJK UNIFIED IDEOGRAPH
+  {0xBE6A, 0x7DC5}, //10227 #CJK UNIFIED IDEOGRAPH
+  {0xBE6B, 0x7DC6}, //10228 #CJK UNIFIED IDEOGRAPH
+  {0xBE6C, 0x7DC7}, //10229 #CJK UNIFIED IDEOGRAPH
+  {0xBE6D, 0x7DC8}, //10230 #CJK UNIFIED IDEOGRAPH
+  {0xBE6E, 0x7DC9}, //10231 #CJK UNIFIED IDEOGRAPH
+  {0xBE6F, 0x7DCA}, //10232 #CJK UNIFIED IDEOGRAPH
+  {0xBE70, 0x7DCB}, //10233 #CJK UNIFIED IDEOGRAPH
+  {0xBE71, 0x7DCC}, //10234 #CJK UNIFIED IDEOGRAPH
+  {0xBE72, 0x7DCD}, //10235 #CJK UNIFIED IDEOGRAPH
+  {0xBE73, 0x7DCE}, //10236 #CJK UNIFIED IDEOGRAPH
+  {0xBE74, 0x7DCF}, //10237 #CJK UNIFIED IDEOGRAPH
+  {0xBE75, 0x7DD0}, //10238 #CJK UNIFIED IDEOGRAPH
+  {0xBE76, 0x7DD1}, //10239 #CJK UNIFIED IDEOGRAPH
+  {0xBE77, 0x7DD2}, //10240 #CJK UNIFIED IDEOGRAPH
+  {0xBE78, 0x7DD3}, //10241 #CJK UNIFIED IDEOGRAPH
+  {0xBE79, 0x7DD4}, //10242 #CJK UNIFIED IDEOGRAPH
+  {0xBE7A, 0x7DD5}, //10243 #CJK UNIFIED IDEOGRAPH
+  {0xBE7B, 0x7DD6}, //10244 #CJK UNIFIED IDEOGRAPH
+  {0xBE7C, 0x7DD7}, //10245 #CJK UNIFIED IDEOGRAPH
+  {0xBE7D, 0x7DD8}, //10246 #CJK UNIFIED IDEOGRAPH
+  {0xBE7E, 0x7DD9}, //10247 #CJK UNIFIED IDEOGRAPH
+  {0xBE80, 0x7DDA}, //10248 #CJK UNIFIED IDEOGRAPH
+  {0xBE81, 0x7DDB}, //10249 #CJK UNIFIED IDEOGRAPH
+  {0xBE82, 0x7DDC}, //10250 #CJK UNIFIED IDEOGRAPH
+  {0xBE83, 0x7DDD}, //10251 #CJK UNIFIED IDEOGRAPH
+  {0xBE84, 0x7DDE}, //10252 #CJK UNIFIED IDEOGRAPH
+  {0xBE85, 0x7DDF}, //10253 #CJK UNIFIED IDEOGRAPH
+  {0xBE86, 0x7DE0}, //10254 #CJK UNIFIED IDEOGRAPH
+  {0xBE87, 0x7DE1}, //10255 #CJK UNIFIED IDEOGRAPH
+  {0xBE88, 0x7DE2}, //10256 #CJK UNIFIED IDEOGRAPH
+  {0xBE89, 0x7DE3}, //10257 #CJK UNIFIED IDEOGRAPH
+  {0xBE8A, 0x7DE4}, //10258 #CJK UNIFIED IDEOGRAPH
+  {0xBE8B, 0x7DE5}, //10259 #CJK UNIFIED IDEOGRAPH
+  {0xBE8C, 0x7DE6}, //10260 #CJK UNIFIED IDEOGRAPH
+  {0xBE8D, 0x7DE7}, //10261 #CJK UNIFIED IDEOGRAPH
+  {0xBE8E, 0x7DE8}, //10262 #CJK UNIFIED IDEOGRAPH
+  {0xBE8F, 0x7DE9}, //10263 #CJK UNIFIED IDEOGRAPH
+  {0xBE90, 0x7DEA}, //10264 #CJK UNIFIED IDEOGRAPH
+  {0xBE91, 0x7DEB}, //10265 #CJK UNIFIED IDEOGRAPH
+  {0xBE92, 0x7DEC}, //10266 #CJK UNIFIED IDEOGRAPH
+  {0xBE93, 0x7DED}, //10267 #CJK UNIFIED IDEOGRAPH
+  {0xBE94, 0x7DEE}, //10268 #CJK UNIFIED IDEOGRAPH
+  {0xBE95, 0x7DEF}, //10269 #CJK UNIFIED IDEOGRAPH
+  {0xBE96, 0x7DF0}, //10270 #CJK UNIFIED IDEOGRAPH
+  {0xBE97, 0x7DF1}, //10271 #CJK UNIFIED IDEOGRAPH
+  {0xBE98, 0x7DF2}, //10272 #CJK UNIFIED IDEOGRAPH
+  {0xBE99, 0x7DF3}, //10273 #CJK UNIFIED IDEOGRAPH
+  {0xBE9A, 0x7DF4}, //10274 #CJK UNIFIED IDEOGRAPH
+  {0xBE9B, 0x7DF5}, //10275 #CJK UNIFIED IDEOGRAPH
+  {0xBE9C, 0x7DF6}, //10276 #CJK UNIFIED IDEOGRAPH
+  {0xBE9D, 0x7DF7}, //10277 #CJK UNIFIED IDEOGRAPH
+  {0xBE9E, 0x7DF8}, //10278 #CJK UNIFIED IDEOGRAPH
+  {0xBE9F, 0x7DF9}, //10279 #CJK UNIFIED IDEOGRAPH
+  {0xBEA0, 0x7DFA}, //10280 #CJK UNIFIED IDEOGRAPH
+  {0xBEA1, 0x5C3D}, //10281 #CJK UNIFIED IDEOGRAPH
+  {0xBEA2, 0x52B2}, //10282 #CJK UNIFIED IDEOGRAPH
+  {0xBEA3, 0x8346}, //10283 #CJK UNIFIED IDEOGRAPH
+  {0xBEA4, 0x5162}, //10284 #CJK UNIFIED IDEOGRAPH
+  {0xBEA5, 0x830E}, //10285 #CJK UNIFIED IDEOGRAPH
+  {0xBEA6, 0x775B}, //10286 #CJK UNIFIED IDEOGRAPH
+  {0xBEA7, 0x6676}, //10287 #CJK UNIFIED IDEOGRAPH
+  {0xBEA8, 0x9CB8}, //10288 #CJK UNIFIED IDEOGRAPH
+  {0xBEA9, 0x4EAC}, //10289 #CJK UNIFIED IDEOGRAPH
+  {0xBEAA, 0x60CA}, //10290 #CJK UNIFIED IDEOGRAPH
+  {0xBEAB, 0x7CBE}, //10291 #CJK UNIFIED IDEOGRAPH
+  {0xBEAC, 0x7CB3}, //10292 #CJK UNIFIED IDEOGRAPH
+  {0xBEAD, 0x7ECF}, //10293 #CJK UNIFIED IDEOGRAPH
+  {0xBEAE, 0x4E95}, //10294 #CJK UNIFIED IDEOGRAPH
+  {0xBEAF, 0x8B66}, //10295 #CJK UNIFIED IDEOGRAPH
+  {0xBEB0, 0x666F}, //10296 #CJK UNIFIED IDEOGRAPH
+  {0xBEB1, 0x9888}, //10297 #CJK UNIFIED IDEOGRAPH
+  {0xBEB2, 0x9759}, //10298 #CJK UNIFIED IDEOGRAPH
+  {0xBEB3, 0x5883}, //10299 #CJK UNIFIED IDEOGRAPH
+  {0xBEB4, 0x656C}, //10300 #CJK UNIFIED IDEOGRAPH
+  {0xBEB5, 0x955C}, //10301 #CJK UNIFIED IDEOGRAPH
+  {0xBEB6, 0x5F84}, //10302 #CJK UNIFIED IDEOGRAPH
+  {0xBEB7, 0x75C9}, //10303 #CJK UNIFIED IDEOGRAPH
+  {0xBEB8, 0x9756}, //10304 #CJK UNIFIED IDEOGRAPH
+  {0xBEB9, 0x7ADF}, //10305 #CJK UNIFIED IDEOGRAPH
+  {0xBEBA, 0x7ADE}, //10306 #CJK UNIFIED IDEOGRAPH
+  {0xBEBB, 0x51C0}, //10307 #CJK UNIFIED IDEOGRAPH
+  {0xBEBC, 0x70AF}, //10308 #CJK UNIFIED IDEOGRAPH
+  {0xBEBD, 0x7A98}, //10309 #CJK UNIFIED IDEOGRAPH
+  {0xBEBE, 0x63EA}, //10310 #CJK UNIFIED IDEOGRAPH
+  {0xBEBF, 0x7A76}, //10311 #CJK UNIFIED IDEOGRAPH
+  {0xBEC0, 0x7EA0}, //10312 #CJK UNIFIED IDEOGRAPH
+  {0xBEC1, 0x7396}, //10313 #CJK UNIFIED IDEOGRAPH
+  {0xBEC2, 0x97ED}, //10314 #CJK UNIFIED IDEOGRAPH
+  {0xBEC3, 0x4E45}, //10315 #CJK UNIFIED IDEOGRAPH
+  {0xBEC4, 0x7078}, //10316 #CJK UNIFIED IDEOGRAPH
+  {0xBEC5, 0x4E5D}, //10317 #CJK UNIFIED IDEOGRAPH
+  {0xBEC6, 0x9152}, //10318 #CJK UNIFIED IDEOGRAPH
+  {0xBEC7, 0x53A9}, //10319 #CJK UNIFIED IDEOGRAPH
+  {0xBEC8, 0x6551}, //10320 #CJK UNIFIED IDEOGRAPH
+  {0xBEC9, 0x65E7}, //10321 #CJK UNIFIED IDEOGRAPH
+  {0xBECA, 0x81FC}, //10322 #CJK UNIFIED IDEOGRAPH
+  {0xBECB, 0x8205}, //10323 #CJK UNIFIED IDEOGRAPH
+  {0xBECC, 0x548E}, //10324 #CJK UNIFIED IDEOGRAPH
+  {0xBECD, 0x5C31}, //10325 #CJK UNIFIED IDEOGRAPH
+  {0xBECE, 0x759A}, //10326 #CJK UNIFIED IDEOGRAPH
+  {0xBECF, 0x97A0}, //10327 #CJK UNIFIED IDEOGRAPH
+  {0xBED0, 0x62D8}, //10328 #CJK UNIFIED IDEOGRAPH
+  {0xBED1, 0x72D9}, //10329 #CJK UNIFIED IDEOGRAPH
+  {0xBED2, 0x75BD}, //10330 #CJK UNIFIED IDEOGRAPH
+  {0xBED3, 0x5C45}, //10331 #CJK UNIFIED IDEOGRAPH
+  {0xBED4, 0x9A79}, //10332 #CJK UNIFIED IDEOGRAPH
+  {0xBED5, 0x83CA}, //10333 #CJK UNIFIED IDEOGRAPH
+  {0xBED6, 0x5C40}, //10334 #CJK UNIFIED IDEOGRAPH
+  {0xBED7, 0x5480}, //10335 #CJK UNIFIED IDEOGRAPH
+  {0xBED8, 0x77E9}, //10336 #CJK UNIFIED IDEOGRAPH
+  {0xBED9, 0x4E3E}, //10337 #CJK UNIFIED IDEOGRAPH
+  {0xBEDA, 0x6CAE}, //10338 #CJK UNIFIED IDEOGRAPH
+  {0xBEDB, 0x805A}, //10339 #CJK UNIFIED IDEOGRAPH
+  {0xBEDC, 0x62D2}, //10340 #CJK UNIFIED IDEOGRAPH
+  {0xBEDD, 0x636E}, //10341 #CJK UNIFIED IDEOGRAPH
+  {0xBEDE, 0x5DE8}, //10342 #CJK UNIFIED IDEOGRAPH
+  {0xBEDF, 0x5177}, //10343 #CJK UNIFIED IDEOGRAPH
+  {0xBEE0, 0x8DDD}, //10344 #CJK UNIFIED IDEOGRAPH
+  {0xBEE1, 0x8E1E}, //10345 #CJK UNIFIED IDEOGRAPH
+  {0xBEE2, 0x952F}, //10346 #CJK UNIFIED IDEOGRAPH
+  {0xBEE3, 0x4FF1}, //10347 #CJK UNIFIED IDEOGRAPH
+  {0xBEE4, 0x53E5}, //10348 #CJK UNIFIED IDEOGRAPH
+  {0xBEE5, 0x60E7}, //10349 #CJK UNIFIED IDEOGRAPH
+  {0xBEE6, 0x70AC}, //10350 #CJK UNIFIED IDEOGRAPH
+  {0xBEE7, 0x5267}, //10351 #CJK UNIFIED IDEOGRAPH
+  {0xBEE8, 0x6350}, //10352 #CJK UNIFIED IDEOGRAPH
+  {0xBEE9, 0x9E43}, //10353 #CJK UNIFIED IDEOGRAPH
+  {0xBEEA, 0x5A1F}, //10354 #CJK UNIFIED IDEOGRAPH
+  {0xBEEB, 0x5026}, //10355 #CJK UNIFIED IDEOGRAPH
+  {0xBEEC, 0x7737}, //10356 #CJK UNIFIED IDEOGRAPH
+  {0xBEED, 0x5377}, //10357 #CJK UNIFIED IDEOGRAPH
+  {0xBEEE, 0x7EE2}, //10358 #CJK UNIFIED IDEOGRAPH
+  {0xBEEF, 0x6485}, //10359 #CJK UNIFIED IDEOGRAPH
+  {0xBEF0, 0x652B}, //10360 #CJK UNIFIED IDEOGRAPH
+  {0xBEF1, 0x6289}, //10361 #CJK UNIFIED IDEOGRAPH
+  {0xBEF2, 0x6398}, //10362 #CJK UNIFIED IDEOGRAPH
+  {0xBEF3, 0x5014}, //10363 #CJK UNIFIED IDEOGRAPH
+  {0xBEF4, 0x7235}, //10364 #CJK UNIFIED IDEOGRAPH
+  {0xBEF5, 0x89C9}, //10365 #CJK UNIFIED IDEOGRAPH
+  {0xBEF6, 0x51B3}, //10366 #CJK UNIFIED IDEOGRAPH
+  {0xBEF7, 0x8BC0}, //10367 #CJK UNIFIED IDEOGRAPH
+  {0xBEF8, 0x7EDD}, //10368 #CJK UNIFIED IDEOGRAPH
+  {0xBEF9, 0x5747}, //10369 #CJK UNIFIED IDEOGRAPH
+  {0xBEFA, 0x83CC}, //10370 #CJK UNIFIED IDEOGRAPH
+  {0xBEFB, 0x94A7}, //10371 #CJK UNIFIED IDEOGRAPH
+  {0xBEFC, 0x519B}, //10372 #CJK UNIFIED IDEOGRAPH
+  {0xBEFD, 0x541B}, //10373 #CJK UNIFIED IDEOGRAPH
+  {0xBEFE, 0x5CFB}, //10374 #CJK UNIFIED IDEOGRAPH
+  {0xBF40, 0x7DFB}, //10375 #CJK UNIFIED IDEOGRAPH
+  {0xBF41, 0x7DFC}, //10376 #CJK UNIFIED IDEOGRAPH
+  {0xBF42, 0x7DFD}, //10377 #CJK UNIFIED IDEOGRAPH
+  {0xBF43, 0x7DFE}, //10378 #CJK UNIFIED IDEOGRAPH
+  {0xBF44, 0x7DFF}, //10379 #CJK UNIFIED IDEOGRAPH
+  {0xBF45, 0x7E00}, //10380 #CJK UNIFIED IDEOGRAPH
+  {0xBF46, 0x7E01}, //10381 #CJK UNIFIED IDEOGRAPH
+  {0xBF47, 0x7E02}, //10382 #CJK UNIFIED IDEOGRAPH
+  {0xBF48, 0x7E03}, //10383 #CJK UNIFIED IDEOGRAPH
+  {0xBF49, 0x7E04}, //10384 #CJK UNIFIED IDEOGRAPH
+  {0xBF4A, 0x7E05}, //10385 #CJK UNIFIED IDEOGRAPH
+  {0xBF4B, 0x7E06}, //10386 #CJK UNIFIED IDEOGRAPH
+  {0xBF4C, 0x7E07}, //10387 #CJK UNIFIED IDEOGRAPH
+  {0xBF4D, 0x7E08}, //10388 #CJK UNIFIED IDEOGRAPH
+  {0xBF4E, 0x7E09}, //10389 #CJK UNIFIED IDEOGRAPH
+  {0xBF4F, 0x7E0A}, //10390 #CJK UNIFIED IDEOGRAPH
+  {0xBF50, 0x7E0B}, //10391 #CJK UNIFIED IDEOGRAPH
+  {0xBF51, 0x7E0C}, //10392 #CJK UNIFIED IDEOGRAPH
+  {0xBF52, 0x7E0D}, //10393 #CJK UNIFIED IDEOGRAPH
+  {0xBF53, 0x7E0E}, //10394 #CJK UNIFIED IDEOGRAPH
+  {0xBF54, 0x7E0F}, //10395 #CJK UNIFIED IDEOGRAPH
+  {0xBF55, 0x7E10}, //10396 #CJK UNIFIED IDEOGRAPH
+  {0xBF56, 0x7E11}, //10397 #CJK UNIFIED IDEOGRAPH
+  {0xBF57, 0x7E12}, //10398 #CJK UNIFIED IDEOGRAPH
+  {0xBF58, 0x7E13}, //10399 #CJK UNIFIED IDEOGRAPH
+  {0xBF59, 0x7E14}, //10400 #CJK UNIFIED IDEOGRAPH
+  {0xBF5A, 0x7E15}, //10401 #CJK UNIFIED IDEOGRAPH
+  {0xBF5B, 0x7E16}, //10402 #CJK UNIFIED IDEOGRAPH
+  {0xBF5C, 0x7E17}, //10403 #CJK UNIFIED IDEOGRAPH
+  {0xBF5D, 0x7E18}, //10404 #CJK UNIFIED IDEOGRAPH
+  {0xBF5E, 0x7E19}, //10405 #CJK UNIFIED IDEOGRAPH
+  {0xBF5F, 0x7E1A}, //10406 #CJK UNIFIED IDEOGRAPH
+  {0xBF60, 0x7E1B}, //10407 #CJK UNIFIED IDEOGRAPH
+  {0xBF61, 0x7E1C}, //10408 #CJK UNIFIED IDEOGRAPH
+  {0xBF62, 0x7E1D}, //10409 #CJK UNIFIED IDEOGRAPH
+  {0xBF63, 0x7E1E}, //10410 #CJK UNIFIED IDEOGRAPH
+  {0xBF64, 0x7E1F}, //10411 #CJK UNIFIED IDEOGRAPH
+  {0xBF65, 0x7E20}, //10412 #CJK UNIFIED IDEOGRAPH
+  {0xBF66, 0x7E21}, //10413 #CJK UNIFIED IDEOGRAPH
+  {0xBF67, 0x7E22}, //10414 #CJK UNIFIED IDEOGRAPH
+  {0xBF68, 0x7E23}, //10415 #CJK UNIFIED IDEOGRAPH
+  {0xBF69, 0x7E24}, //10416 #CJK UNIFIED IDEOGRAPH
+  {0xBF6A, 0x7E25}, //10417 #CJK UNIFIED IDEOGRAPH
+  {0xBF6B, 0x7E26}, //10418 #CJK UNIFIED IDEOGRAPH
+  {0xBF6C, 0x7E27}, //10419 #CJK UNIFIED IDEOGRAPH
+  {0xBF6D, 0x7E28}, //10420 #CJK UNIFIED IDEOGRAPH
+  {0xBF6E, 0x7E29}, //10421 #CJK UNIFIED IDEOGRAPH
+  {0xBF6F, 0x7E2A}, //10422 #CJK UNIFIED IDEOGRAPH
+  {0xBF70, 0x7E2B}, //10423 #CJK UNIFIED IDEOGRAPH
+  {0xBF71, 0x7E2C}, //10424 #CJK UNIFIED IDEOGRAPH
+  {0xBF72, 0x7E2D}, //10425 #CJK UNIFIED IDEOGRAPH
+  {0xBF73, 0x7E2E}, //10426 #CJK UNIFIED IDEOGRAPH
+  {0xBF74, 0x7E2F}, //10427 #CJK UNIFIED IDEOGRAPH
+  {0xBF75, 0x7E30}, //10428 #CJK UNIFIED IDEOGRAPH
+  {0xBF76, 0x7E31}, //10429 #CJK UNIFIED IDEOGRAPH
+  {0xBF77, 0x7E32}, //10430 #CJK UNIFIED IDEOGRAPH
+  {0xBF78, 0x7E33}, //10431 #CJK UNIFIED IDEOGRAPH
+  {0xBF79, 0x7E34}, //10432 #CJK UNIFIED IDEOGRAPH
+  {0xBF7A, 0x7E35}, //10433 #CJK UNIFIED IDEOGRAPH
+  {0xBF7B, 0x7E36}, //10434 #CJK UNIFIED IDEOGRAPH
+  {0xBF7C, 0x7E37}, //10435 #CJK UNIFIED IDEOGRAPH
+  {0xBF7D, 0x7E38}, //10436 #CJK UNIFIED IDEOGRAPH
+  {0xBF7E, 0x7E39}, //10437 #CJK UNIFIED IDEOGRAPH
+  {0xBF80, 0x7E3A}, //10438 #CJK UNIFIED IDEOGRAPH
+  {0xBF81, 0x7E3C}, //10439 #CJK UNIFIED IDEOGRAPH
+  {0xBF82, 0x7E3D}, //10440 #CJK UNIFIED IDEOGRAPH
+  {0xBF83, 0x7E3E}, //10441 #CJK UNIFIED IDEOGRAPH
+  {0xBF84, 0x7E3F}, //10442 #CJK UNIFIED IDEOGRAPH
+  {0xBF85, 0x7E40}, //10443 #CJK UNIFIED IDEOGRAPH
+  {0xBF86, 0x7E42}, //10444 #CJK UNIFIED IDEOGRAPH
+  {0xBF87, 0x7E43}, //10445 #CJK UNIFIED IDEOGRAPH
+  {0xBF88, 0x7E44}, //10446 #CJK UNIFIED IDEOGRAPH
+  {0xBF89, 0x7E45}, //10447 #CJK UNIFIED IDEOGRAPH
+  {0xBF8A, 0x7E46}, //10448 #CJK UNIFIED IDEOGRAPH
+  {0xBF8B, 0x7E48}, //10449 #CJK UNIFIED IDEOGRAPH
+  {0xBF8C, 0x7E49}, //10450 #CJK UNIFIED IDEOGRAPH
+  {0xBF8D, 0x7E4A}, //10451 #CJK UNIFIED IDEOGRAPH
+  {0xBF8E, 0x7E4B}, //10452 #CJK UNIFIED IDEOGRAPH
+  {0xBF8F, 0x7E4C}, //10453 #CJK UNIFIED IDEOGRAPH
+  {0xBF90, 0x7E4D}, //10454 #CJK UNIFIED IDEOGRAPH
+  {0xBF91, 0x7E4E}, //10455 #CJK UNIFIED IDEOGRAPH
+  {0xBF92, 0x7E4F}, //10456 #CJK UNIFIED IDEOGRAPH
+  {0xBF93, 0x7E50}, //10457 #CJK UNIFIED IDEOGRAPH
+  {0xBF94, 0x7E51}, //10458 #CJK UNIFIED IDEOGRAPH
+  {0xBF95, 0x7E52}, //10459 #CJK UNIFIED IDEOGRAPH
+  {0xBF96, 0x7E53}, //10460 #CJK UNIFIED IDEOGRAPH
+  {0xBF97, 0x7E54}, //10461 #CJK UNIFIED IDEOGRAPH
+  {0xBF98, 0x7E55}, //10462 #CJK UNIFIED IDEOGRAPH
+  {0xBF99, 0x7E56}, //10463 #CJK UNIFIED IDEOGRAPH
+  {0xBF9A, 0x7E57}, //10464 #CJK UNIFIED IDEOGRAPH
+  {0xBF9B, 0x7E58}, //10465 #CJK UNIFIED IDEOGRAPH
+  {0xBF9C, 0x7E59}, //10466 #CJK UNIFIED IDEOGRAPH
+  {0xBF9D, 0x7E5A}, //10467 #CJK UNIFIED IDEOGRAPH
+  {0xBF9E, 0x7E5B}, //10468 #CJK UNIFIED IDEOGRAPH
+  {0xBF9F, 0x7E5C}, //10469 #CJK UNIFIED IDEOGRAPH
+  {0xBFA0, 0x7E5D}, //10470 #CJK UNIFIED IDEOGRAPH
+  {0xBFA1, 0x4FCA}, //10471 #CJK UNIFIED IDEOGRAPH
+  {0xBFA2, 0x7AE3}, //10472 #CJK UNIFIED IDEOGRAPH
+  {0xBFA3, 0x6D5A}, //10473 #CJK UNIFIED IDEOGRAPH
+  {0xBFA4, 0x90E1}, //10474 #CJK UNIFIED IDEOGRAPH
+  {0xBFA5, 0x9A8F}, //10475 #CJK UNIFIED IDEOGRAPH
+  {0xBFA6, 0x5580}, //10476 #CJK UNIFIED IDEOGRAPH
+  {0xBFA7, 0x5496}, //10477 #CJK UNIFIED IDEOGRAPH
+  {0xBFA8, 0x5361}, //10478 #CJK UNIFIED IDEOGRAPH
+  {0xBFA9, 0x54AF}, //10479 #CJK UNIFIED IDEOGRAPH
+  {0xBFAA, 0x5F00}, //10480 #CJK UNIFIED IDEOGRAPH
+  {0xBFAB, 0x63E9}, //10481 #CJK UNIFIED IDEOGRAPH
+  {0xBFAC, 0x6977}, //10482 #CJK UNIFIED IDEOGRAPH
+  {0xBFAD, 0x51EF}, //10483 #CJK UNIFIED IDEOGRAPH
+  {0xBFAE, 0x6168}, //10484 #CJK UNIFIED IDEOGRAPH
+  {0xBFAF, 0x520A}, //10485 #CJK UNIFIED IDEOGRAPH
+  {0xBFB0, 0x582A}, //10486 #CJK UNIFIED IDEOGRAPH
+  {0xBFB1, 0x52D8}, //10487 #CJK UNIFIED IDEOGRAPH
+  {0xBFB2, 0x574E}, //10488 #CJK UNIFIED IDEOGRAPH
+  {0xBFB3, 0x780D}, //10489 #CJK UNIFIED IDEOGRAPH
+  {0xBFB4, 0x770B}, //10490 #CJK UNIFIED IDEOGRAPH
+  {0xBFB5, 0x5EB7}, //10491 #CJK UNIFIED IDEOGRAPH
+  {0xBFB6, 0x6177}, //10492 #CJK UNIFIED IDEOGRAPH
+  {0xBFB7, 0x7CE0}, //10493 #CJK UNIFIED IDEOGRAPH
+  {0xBFB8, 0x625B}, //10494 #CJK UNIFIED IDEOGRAPH
+  {0xBFB9, 0x6297}, //10495 #CJK UNIFIED IDEOGRAPH
+  {0xBFBA, 0x4EA2}, //10496 #CJK UNIFIED IDEOGRAPH
+  {0xBFBB, 0x7095}, //10497 #CJK UNIFIED IDEOGRAPH
+  {0xBFBC, 0x8003}, //10498 #CJK UNIFIED IDEOGRAPH
+  {0xBFBD, 0x62F7}, //10499 #CJK UNIFIED IDEOGRAPH
+  {0xBFBE, 0x70E4}, //10500 #CJK UNIFIED IDEOGRAPH
+  {0xBFBF, 0x9760}, //10501 #CJK UNIFIED IDEOGRAPH
+  {0xBFC0, 0x5777}, //10502 #CJK UNIFIED IDEOGRAPH
+  {0xBFC1, 0x82DB}, //10503 #CJK UNIFIED IDEOGRAPH
+  {0xBFC2, 0x67EF}, //10504 #CJK UNIFIED IDEOGRAPH
+  {0xBFC3, 0x68F5}, //10505 #CJK UNIFIED IDEOGRAPH
+  {0xBFC4, 0x78D5}, //10506 #CJK UNIFIED IDEOGRAPH
+  {0xBFC5, 0x9897}, //10507 #CJK UNIFIED IDEOGRAPH
+  {0xBFC6, 0x79D1}, //10508 #CJK UNIFIED IDEOGRAPH
+  {0xBFC7, 0x58F3}, //10509 #CJK UNIFIED IDEOGRAPH
+  {0xBFC8, 0x54B3}, //10510 #CJK UNIFIED IDEOGRAPH
+  {0xBFC9, 0x53EF}, //10511 #CJK UNIFIED IDEOGRAPH
+  {0xBFCA, 0x6E34}, //10512 #CJK UNIFIED IDEOGRAPH
+  {0xBFCB, 0x514B}, //10513 #CJK UNIFIED IDEOGRAPH
+  {0xBFCC, 0x523B}, //10514 #CJK UNIFIED IDEOGRAPH
+  {0xBFCD, 0x5BA2}, //10515 #CJK UNIFIED IDEOGRAPH
+  {0xBFCE, 0x8BFE}, //10516 #CJK UNIFIED IDEOGRAPH
+  {0xBFCF, 0x80AF}, //10517 #CJK UNIFIED IDEOGRAPH
+  {0xBFD0, 0x5543}, //10518 #CJK UNIFIED IDEOGRAPH
+  {0xBFD1, 0x57A6}, //10519 #CJK UNIFIED IDEOGRAPH
+  {0xBFD2, 0x6073}, //10520 #CJK UNIFIED IDEOGRAPH
+  {0xBFD3, 0x5751}, //10521 #CJK UNIFIED IDEOGRAPH
+  {0xBFD4, 0x542D}, //10522 #CJK UNIFIED IDEOGRAPH
+  {0xBFD5, 0x7A7A}, //10523 #CJK UNIFIED IDEOGRAPH
+  {0xBFD6, 0x6050}, //10524 #CJK UNIFIED IDEOGRAPH
+  {0xBFD7, 0x5B54}, //10525 #CJK UNIFIED IDEOGRAPH
+  {0xBFD8, 0x63A7}, //10526 #CJK UNIFIED IDEOGRAPH
+  {0xBFD9, 0x62A0}, //10527 #CJK UNIFIED IDEOGRAPH
+  {0xBFDA, 0x53E3}, //10528 #CJK UNIFIED IDEOGRAPH
+  {0xBFDB, 0x6263}, //10529 #CJK UNIFIED IDEOGRAPH
+  {0xBFDC, 0x5BC7}, //10530 #CJK UNIFIED IDEOGRAPH
+  {0xBFDD, 0x67AF}, //10531 #CJK UNIFIED IDEOGRAPH
+  {0xBFDE, 0x54ED}, //10532 #CJK UNIFIED IDEOGRAPH
+  {0xBFDF, 0x7A9F}, //10533 #CJK UNIFIED IDEOGRAPH
+  {0xBFE0, 0x82E6}, //10534 #CJK UNIFIED IDEOGRAPH
+  {0xBFE1, 0x9177}, //10535 #CJK UNIFIED IDEOGRAPH
+  {0xBFE2, 0x5E93}, //10536 #CJK UNIFIED IDEOGRAPH
+  {0xBFE3, 0x88E4}, //10537 #CJK UNIFIED IDEOGRAPH
+  {0xBFE4, 0x5938}, //10538 #CJK UNIFIED IDEOGRAPH
+  {0xBFE5, 0x57AE}, //10539 #CJK UNIFIED IDEOGRAPH
+  {0xBFE6, 0x630E}, //10540 #CJK UNIFIED IDEOGRAPH
+  {0xBFE7, 0x8DE8}, //10541 #CJK UNIFIED IDEOGRAPH
+  {0xBFE8, 0x80EF}, //10542 #CJK UNIFIED IDEOGRAPH
+  {0xBFE9, 0x5757}, //10543 #CJK UNIFIED IDEOGRAPH
+  {0xBFEA, 0x7B77}, //10544 #CJK UNIFIED IDEOGRAPH
+  {0xBFEB, 0x4FA9}, //10545 #CJK UNIFIED IDEOGRAPH
+  {0xBFEC, 0x5FEB}, //10546 #CJK UNIFIED IDEOGRAPH
+  {0xBFED, 0x5BBD}, //10547 #CJK UNIFIED IDEOGRAPH
+  {0xBFEE, 0x6B3E}, //10548 #CJK UNIFIED IDEOGRAPH
+  {0xBFEF, 0x5321}, //10549 #CJK UNIFIED IDEOGRAPH
+  {0xBFF0, 0x7B50}, //10550 #CJK UNIFIED IDEOGRAPH
+  {0xBFF1, 0x72C2}, //10551 #CJK UNIFIED IDEOGRAPH
+  {0xBFF2, 0x6846}, //10552 #CJK UNIFIED IDEOGRAPH
+  {0xBFF3, 0x77FF}, //10553 #CJK UNIFIED IDEOGRAPH
+  {0xBFF4, 0x7736}, //10554 #CJK UNIFIED IDEOGRAPH
+  {0xBFF5, 0x65F7}, //10555 #CJK UNIFIED IDEOGRAPH
+  {0xBFF6, 0x51B5}, //10556 #CJK UNIFIED IDEOGRAPH
+  {0xBFF7, 0x4E8F}, //10557 #CJK UNIFIED IDEOGRAPH
+  {0xBFF8, 0x76D4}, //10558 #CJK UNIFIED IDEOGRAPH
+  {0xBFF9, 0x5CBF}, //10559 #CJK UNIFIED IDEOGRAPH
+  {0xBFFA, 0x7AA5}, //10560 #CJK UNIFIED IDEOGRAPH
+  {0xBFFB, 0x8475}, //10561 #CJK UNIFIED IDEOGRAPH
+  {0xBFFC, 0x594E}, //10562 #CJK UNIFIED IDEOGRAPH
+  {0xBFFD, 0x9B41}, //10563 #CJK UNIFIED IDEOGRAPH
+  {0xBFFE, 0x5080}, //10564 #CJK UNIFIED IDEOGRAPH
+  {0xC040, 0x7E5E}, //10565 #CJK UNIFIED IDEOGRAPH
+  {0xC041, 0x7E5F}, //10566 #CJK UNIFIED IDEOGRAPH
+  {0xC042, 0x7E60}, //10567 #CJK UNIFIED IDEOGRAPH
+  {0xC043, 0x7E61}, //10568 #CJK UNIFIED IDEOGRAPH
+  {0xC044, 0x7E62}, //10569 #CJK UNIFIED IDEOGRAPH
+  {0xC045, 0x7E63}, //10570 #CJK UNIFIED IDEOGRAPH
+  {0xC046, 0x7E64}, //10571 #CJK UNIFIED IDEOGRAPH
+  {0xC047, 0x7E65}, //10572 #CJK UNIFIED IDEOGRAPH
+  {0xC048, 0x7E66}, //10573 #CJK UNIFIED IDEOGRAPH
+  {0xC049, 0x7E67}, //10574 #CJK UNIFIED IDEOGRAPH
+  {0xC04A, 0x7E68}, //10575 #CJK UNIFIED IDEOGRAPH
+  {0xC04B, 0x7E69}, //10576 #CJK UNIFIED IDEOGRAPH
+  {0xC04C, 0x7E6A}, //10577 #CJK UNIFIED IDEOGRAPH
+  {0xC04D, 0x7E6B}, //10578 #CJK UNIFIED IDEOGRAPH
+  {0xC04E, 0x7E6C}, //10579 #CJK UNIFIED IDEOGRAPH
+  {0xC04F, 0x7E6D}, //10580 #CJK UNIFIED IDEOGRAPH
+  {0xC050, 0x7E6E}, //10581 #CJK UNIFIED IDEOGRAPH
+  {0xC051, 0x7E6F}, //10582 #CJK UNIFIED IDEOGRAPH
+  {0xC052, 0x7E70}, //10583 #CJK UNIFIED IDEOGRAPH
+  {0xC053, 0x7E71}, //10584 #CJK UNIFIED IDEOGRAPH
+  {0xC054, 0x7E72}, //10585 #CJK UNIFIED IDEOGRAPH
+  {0xC055, 0x7E73}, //10586 #CJK UNIFIED IDEOGRAPH
+  {0xC056, 0x7E74}, //10587 #CJK UNIFIED IDEOGRAPH
+  {0xC057, 0x7E75}, //10588 #CJK UNIFIED IDEOGRAPH
+  {0xC058, 0x7E76}, //10589 #CJK UNIFIED IDEOGRAPH
+  {0xC059, 0x7E77}, //10590 #CJK UNIFIED IDEOGRAPH
+  {0xC05A, 0x7E78}, //10591 #CJK UNIFIED IDEOGRAPH
+  {0xC05B, 0x7E79}, //10592 #CJK UNIFIED IDEOGRAPH
+  {0xC05C, 0x7E7A}, //10593 #CJK UNIFIED IDEOGRAPH
+  {0xC05D, 0x7E7B}, //10594 #CJK UNIFIED IDEOGRAPH
+  {0xC05E, 0x7E7C}, //10595 #CJK UNIFIED IDEOGRAPH
+  {0xC05F, 0x7E7D}, //10596 #CJK UNIFIED IDEOGRAPH
+  {0xC060, 0x7E7E}, //10597 #CJK UNIFIED IDEOGRAPH
+  {0xC061, 0x7E7F}, //10598 #CJK UNIFIED IDEOGRAPH
+  {0xC062, 0x7E80}, //10599 #CJK UNIFIED IDEOGRAPH
+  {0xC063, 0x7E81}, //10600 #CJK UNIFIED IDEOGRAPH
+  {0xC064, 0x7E83}, //10601 #CJK UNIFIED IDEOGRAPH
+  {0xC065, 0x7E84}, //10602 #CJK UNIFIED IDEOGRAPH
+  {0xC066, 0x7E85}, //10603 #CJK UNIFIED IDEOGRAPH
+  {0xC067, 0x7E86}, //10604 #CJK UNIFIED IDEOGRAPH
+  {0xC068, 0x7E87}, //10605 #CJK UNIFIED IDEOGRAPH
+  {0xC069, 0x7E88}, //10606 #CJK UNIFIED IDEOGRAPH
+  {0xC06A, 0x7E89}, //10607 #CJK UNIFIED IDEOGRAPH
+  {0xC06B, 0x7E8A}, //10608 #CJK UNIFIED IDEOGRAPH
+  {0xC06C, 0x7E8B}, //10609 #CJK UNIFIED IDEOGRAPH
+  {0xC06D, 0x7E8C}, //10610 #CJK UNIFIED IDEOGRAPH
+  {0xC06E, 0x7E8D}, //10611 #CJK UNIFIED IDEOGRAPH
+  {0xC06F, 0x7E8E}, //10612 #CJK UNIFIED IDEOGRAPH
+  {0xC070, 0x7E8F}, //10613 #CJK UNIFIED IDEOGRAPH
+  {0xC071, 0x7E90}, //10614 #CJK UNIFIED IDEOGRAPH
+  {0xC072, 0x7E91}, //10615 #CJK UNIFIED IDEOGRAPH
+  {0xC073, 0x7E92}, //10616 #CJK UNIFIED IDEOGRAPH
+  {0xC074, 0x7E93}, //10617 #CJK UNIFIED IDEOGRAPH
+  {0xC075, 0x7E94}, //10618 #CJK UNIFIED IDEOGRAPH
+  {0xC076, 0x7E95}, //10619 #CJK UNIFIED IDEOGRAPH
+  {0xC077, 0x7E96}, //10620 #CJK UNIFIED IDEOGRAPH
+  {0xC078, 0x7E97}, //10621 #CJK UNIFIED IDEOGRAPH
+  {0xC079, 0x7E98}, //10622 #CJK UNIFIED IDEOGRAPH
+  {0xC07A, 0x7E99}, //10623 #CJK UNIFIED IDEOGRAPH
+  {0xC07B, 0x7E9A}, //10624 #CJK UNIFIED IDEOGRAPH
+  {0xC07C, 0x7E9C}, //10625 #CJK UNIFIED IDEOGRAPH
+  {0xC07D, 0x7E9D}, //10626 #CJK UNIFIED IDEOGRAPH
+  {0xC07E, 0x7E9E}, //10627 #CJK UNIFIED IDEOGRAPH
+  {0xC080, 0x7EAE}, //10628 #CJK UNIFIED IDEOGRAPH
+  {0xC081, 0x7EB4}, //10629 #CJK UNIFIED IDEOGRAPH
+  {0xC082, 0x7EBB}, //10630 #CJK UNIFIED IDEOGRAPH
+  {0xC083, 0x7EBC}, //10631 #CJK UNIFIED IDEOGRAPH
+  {0xC084, 0x7ED6}, //10632 #CJK UNIFIED IDEOGRAPH
+  {0xC085, 0x7EE4}, //10633 #CJK UNIFIED IDEOGRAPH
+  {0xC086, 0x7EEC}, //10634 #CJK UNIFIED IDEOGRAPH
+  {0xC087, 0x7EF9}, //10635 #CJK UNIFIED IDEOGRAPH
+  {0xC088, 0x7F0A}, //10636 #CJK UNIFIED IDEOGRAPH
+  {0xC089, 0x7F10}, //10637 #CJK UNIFIED IDEOGRAPH
+  {0xC08A, 0x7F1E}, //10638 #CJK UNIFIED IDEOGRAPH
+  {0xC08B, 0x7F37}, //10639 #CJK UNIFIED IDEOGRAPH
+  {0xC08C, 0x7F39}, //10640 #CJK UNIFIED IDEOGRAPH
+  {0xC08D, 0x7F3B}, //10641 #CJK UNIFIED IDEOGRAPH
+  {0xC08E, 0x7F3C}, //10642 #CJK UNIFIED IDEOGRAPH
+  {0xC08F, 0x7F3D}, //10643 #CJK UNIFIED IDEOGRAPH
+  {0xC090, 0x7F3E}, //10644 #CJK UNIFIED IDEOGRAPH
+  {0xC091, 0x7F3F}, //10645 #CJK UNIFIED IDEOGRAPH
+  {0xC092, 0x7F40}, //10646 #CJK UNIFIED IDEOGRAPH
+  {0xC093, 0x7F41}, //10647 #CJK UNIFIED IDEOGRAPH
+  {0xC094, 0x7F43}, //10648 #CJK UNIFIED IDEOGRAPH
+  {0xC095, 0x7F46}, //10649 #CJK UNIFIED IDEOGRAPH
+  {0xC096, 0x7F47}, //10650 #CJK UNIFIED IDEOGRAPH
+  {0xC097, 0x7F48}, //10651 #CJK UNIFIED IDEOGRAPH
+  {0xC098, 0x7F49}, //10652 #CJK UNIFIED IDEOGRAPH
+  {0xC099, 0x7F4A}, //10653 #CJK UNIFIED IDEOGRAPH
+  {0xC09A, 0x7F4B}, //10654 #CJK UNIFIED IDEOGRAPH
+  {0xC09B, 0x7F4C}, //10655 #CJK UNIFIED IDEOGRAPH
+  {0xC09C, 0x7F4D}, //10656 #CJK UNIFIED IDEOGRAPH
+  {0xC09D, 0x7F4E}, //10657 #CJK UNIFIED IDEOGRAPH
+  {0xC09E, 0x7F4F}, //10658 #CJK UNIFIED IDEOGRAPH
+  {0xC09F, 0x7F52}, //10659 #CJK UNIFIED IDEOGRAPH
+  {0xC0A0, 0x7F53}, //10660 #CJK UNIFIED IDEOGRAPH
+  {0xC0A1, 0x9988}, //10661 #CJK UNIFIED IDEOGRAPH
+  {0xC0A2, 0x6127}, //10662 #CJK UNIFIED IDEOGRAPH
+  {0xC0A3, 0x6E83}, //10663 #CJK UNIFIED IDEOGRAPH
+  {0xC0A4, 0x5764}, //10664 #CJK UNIFIED IDEOGRAPH
+  {0xC0A5, 0x6606}, //10665 #CJK UNIFIED IDEOGRAPH
+  {0xC0A6, 0x6346}, //10666 #CJK UNIFIED IDEOGRAPH
+  {0xC0A7, 0x56F0}, //10667 #CJK UNIFIED IDEOGRAPH
+  {0xC0A8, 0x62EC}, //10668 #CJK UNIFIED IDEOGRAPH
+  {0xC0A9, 0x6269}, //10669 #CJK UNIFIED IDEOGRAPH
+  {0xC0AA, 0x5ED3}, //10670 #CJK UNIFIED IDEOGRAPH
+  {0xC0AB, 0x9614}, //10671 #CJK UNIFIED IDEOGRAPH
+  {0xC0AC, 0x5783}, //10672 #CJK UNIFIED IDEOGRAPH
+  {0xC0AD, 0x62C9}, //10673 #CJK UNIFIED IDEOGRAPH
+  {0xC0AE, 0x5587}, //10674 #CJK UNIFIED IDEOGRAPH
+  {0xC0AF, 0x8721}, //10675 #CJK UNIFIED IDEOGRAPH
+  {0xC0B0, 0x814A}, //10676 #CJK UNIFIED IDEOGRAPH
+  {0xC0B1, 0x8FA3}, //10677 #CJK UNIFIED IDEOGRAPH
+  {0xC0B2, 0x5566}, //10678 #CJK UNIFIED IDEOGRAPH
+  {0xC0B3, 0x83B1}, //10679 #CJK UNIFIED IDEOGRAPH
+  {0xC0B4, 0x6765}, //10680 #CJK UNIFIED IDEOGRAPH
+  {0xC0B5, 0x8D56}, //10681 #CJK UNIFIED IDEOGRAPH
+  {0xC0B6, 0x84DD}, //10682 #CJK UNIFIED IDEOGRAPH
+  {0xC0B7, 0x5A6A}, //10683 #CJK UNIFIED IDEOGRAPH
+  {0xC0B8, 0x680F}, //10684 #CJK UNIFIED IDEOGRAPH
+  {0xC0B9, 0x62E6}, //10685 #CJK UNIFIED IDEOGRAPH
+  {0xC0BA, 0x7BEE}, //10686 #CJK UNIFIED IDEOGRAPH
+  {0xC0BB, 0x9611}, //10687 #CJK UNIFIED IDEOGRAPH
+  {0xC0BC, 0x5170}, //10688 #CJK UNIFIED IDEOGRAPH
+  {0xC0BD, 0x6F9C}, //10689 #CJK UNIFIED IDEOGRAPH
+  {0xC0BE, 0x8C30}, //10690 #CJK UNIFIED IDEOGRAPH
+  {0xC0BF, 0x63FD}, //10691 #CJK UNIFIED IDEOGRAPH
+  {0xC0C0, 0x89C8}, //10692 #CJK UNIFIED IDEOGRAPH
+  {0xC0C1, 0x61D2}, //10693 #CJK UNIFIED IDEOGRAPH
+  {0xC0C2, 0x7F06}, //10694 #CJK UNIFIED IDEOGRAPH
+  {0xC0C3, 0x70C2}, //10695 #CJK UNIFIED IDEOGRAPH
+  {0xC0C4, 0x6EE5}, //10696 #CJK UNIFIED IDEOGRAPH
+  {0xC0C5, 0x7405}, //10697 #CJK UNIFIED IDEOGRAPH
+  {0xC0C6, 0x6994}, //10698 #CJK UNIFIED IDEOGRAPH
+  {0xC0C7, 0x72FC}, //10699 #CJK UNIFIED IDEOGRAPH
+  {0xC0C8, 0x5ECA}, //10700 #CJK UNIFIED IDEOGRAPH
+  {0xC0C9, 0x90CE}, //10701 #CJK UNIFIED IDEOGRAPH
+  {0xC0CA, 0x6717}, //10702 #CJK UNIFIED IDEOGRAPH
+  {0xC0CB, 0x6D6A}, //10703 #CJK UNIFIED IDEOGRAPH
+  {0xC0CC, 0x635E}, //10704 #CJK UNIFIED IDEOGRAPH
+  {0xC0CD, 0x52B3}, //10705 #CJK UNIFIED IDEOGRAPH
+  {0xC0CE, 0x7262}, //10706 #CJK UNIFIED IDEOGRAPH
+  {0xC0CF, 0x8001}, //10707 #CJK UNIFIED IDEOGRAPH
+  {0xC0D0, 0x4F6C}, //10708 #CJK UNIFIED IDEOGRAPH
+  {0xC0D1, 0x59E5}, //10709 #CJK UNIFIED IDEOGRAPH
+  {0xC0D2, 0x916A}, //10710 #CJK UNIFIED IDEOGRAPH
+  {0xC0D3, 0x70D9}, //10711 #CJK UNIFIED IDEOGRAPH
+  {0xC0D4, 0x6D9D}, //10712 #CJK UNIFIED IDEOGRAPH
+  {0xC0D5, 0x52D2}, //10713 #CJK UNIFIED IDEOGRAPH
+  {0xC0D6, 0x4E50}, //10714 #CJK UNIFIED IDEOGRAPH
+  {0xC0D7, 0x96F7}, //10715 #CJK UNIFIED IDEOGRAPH
+  {0xC0D8, 0x956D}, //10716 #CJK UNIFIED IDEOGRAPH
+  {0xC0D9, 0x857E}, //10717 #CJK UNIFIED IDEOGRAPH
+  {0xC0DA, 0x78CA}, //10718 #CJK UNIFIED IDEOGRAPH
+  {0xC0DB, 0x7D2F}, //10719 #CJK UNIFIED IDEOGRAPH
+  {0xC0DC, 0x5121}, //10720 #CJK UNIFIED IDEOGRAPH
+  {0xC0DD, 0x5792}, //10721 #CJK UNIFIED IDEOGRAPH
+  {0xC0DE, 0x64C2}, //10722 #CJK UNIFIED IDEOGRAPH
+  {0xC0DF, 0x808B}, //10723 #CJK UNIFIED IDEOGRAPH
+  {0xC0E0, 0x7C7B}, //10724 #CJK UNIFIED IDEOGRAPH
+  {0xC0E1, 0x6CEA}, //10725 #CJK UNIFIED IDEOGRAPH
+  {0xC0E2, 0x68F1}, //10726 #CJK UNIFIED IDEOGRAPH
+  {0xC0E3, 0x695E}, //10727 #CJK UNIFIED IDEOGRAPH
+  {0xC0E4, 0x51B7}, //10728 #CJK UNIFIED IDEOGRAPH
+  {0xC0E5, 0x5398}, //10729 #CJK UNIFIED IDEOGRAPH
+  {0xC0E6, 0x68A8}, //10730 #CJK UNIFIED IDEOGRAPH
+  {0xC0E7, 0x7281}, //10731 #CJK UNIFIED IDEOGRAPH
+  {0xC0E8, 0x9ECE}, //10732 #CJK UNIFIED IDEOGRAPH
+  {0xC0E9, 0x7BF1}, //10733 #CJK UNIFIED IDEOGRAPH
+  {0xC0EA, 0x72F8}, //10734 #CJK UNIFIED IDEOGRAPH
+  {0xC0EB, 0x79BB}, //10735 #CJK UNIFIED IDEOGRAPH
+  {0xC0EC, 0x6F13}, //10736 #CJK UNIFIED IDEOGRAPH
+  {0xC0ED, 0x7406}, //10737 #CJK UNIFIED IDEOGRAPH
+  {0xC0EE, 0x674E}, //10738 #CJK UNIFIED IDEOGRAPH
+  {0xC0EF, 0x91CC}, //10739 #CJK UNIFIED IDEOGRAPH
+  {0xC0F0, 0x9CA4}, //10740 #CJK UNIFIED IDEOGRAPH
+  {0xC0F1, 0x793C}, //10741 #CJK UNIFIED IDEOGRAPH
+  {0xC0F2, 0x8389}, //10742 #CJK UNIFIED IDEOGRAPH
+  {0xC0F3, 0x8354}, //10743 #CJK UNIFIED IDEOGRAPH
+  {0xC0F4, 0x540F}, //10744 #CJK UNIFIED IDEOGRAPH
+  {0xC0F5, 0x6817}, //10745 #CJK UNIFIED IDEOGRAPH
+  {0xC0F6, 0x4E3D}, //10746 #CJK UNIFIED IDEOGRAPH
+  {0xC0F7, 0x5389}, //10747 #CJK UNIFIED IDEOGRAPH
+  {0xC0F8, 0x52B1}, //10748 #CJK UNIFIED IDEOGRAPH
+  {0xC0F9, 0x783E}, //10749 #CJK UNIFIED IDEOGRAPH
+  {0xC0FA, 0x5386}, //10750 #CJK UNIFIED IDEOGRAPH
+  {0xC0FB, 0x5229}, //10751 #CJK UNIFIED IDEOGRAPH
+  {0xC0FC, 0x5088}, //10752 #CJK UNIFIED IDEOGRAPH
+  {0xC0FD, 0x4F8B}, //10753 #CJK UNIFIED IDEOGRAPH
+  {0xC0FE, 0x4FD0}, //10754 #CJK UNIFIED IDEOGRAPH
+  {0xC140, 0x7F56}, //10755 #CJK UNIFIED IDEOGRAPH
+  {0xC141, 0x7F59}, //10756 #CJK UNIFIED IDEOGRAPH
+  {0xC142, 0x7F5B}, //10757 #CJK UNIFIED IDEOGRAPH
+  {0xC143, 0x7F5C}, //10758 #CJK UNIFIED IDEOGRAPH
+  {0xC144, 0x7F5D}, //10759 #CJK UNIFIED IDEOGRAPH
+  {0xC145, 0x7F5E}, //10760 #CJK UNIFIED IDEOGRAPH
+  {0xC146, 0x7F60}, //10761 #CJK UNIFIED IDEOGRAPH
+  {0xC147, 0x7F63}, //10762 #CJK UNIFIED IDEOGRAPH
+  {0xC148, 0x7F64}, //10763 #CJK UNIFIED IDEOGRAPH
+  {0xC149, 0x7F65}, //10764 #CJK UNIFIED IDEOGRAPH
+  {0xC14A, 0x7F66}, //10765 #CJK UNIFIED IDEOGRAPH
+  {0xC14B, 0x7F67}, //10766 #CJK UNIFIED IDEOGRAPH
+  {0xC14C, 0x7F6B}, //10767 #CJK UNIFIED IDEOGRAPH
+  {0xC14D, 0x7F6C}, //10768 #CJK UNIFIED IDEOGRAPH
+  {0xC14E, 0x7F6D}, //10769 #CJK UNIFIED IDEOGRAPH
+  {0xC14F, 0x7F6F}, //10770 #CJK UNIFIED IDEOGRAPH
+  {0xC150, 0x7F70}, //10771 #CJK UNIFIED IDEOGRAPH
+  {0xC151, 0x7F73}, //10772 #CJK UNIFIED IDEOGRAPH
+  {0xC152, 0x7F75}, //10773 #CJK UNIFIED IDEOGRAPH
+  {0xC153, 0x7F76}, //10774 #CJK UNIFIED IDEOGRAPH
+  {0xC154, 0x7F77}, //10775 #CJK UNIFIED IDEOGRAPH
+  {0xC155, 0x7F78}, //10776 #CJK UNIFIED IDEOGRAPH
+  {0xC156, 0x7F7A}, //10777 #CJK UNIFIED IDEOGRAPH
+  {0xC157, 0x7F7B}, //10778 #CJK UNIFIED IDEOGRAPH
+  {0xC158, 0x7F7C}, //10779 #CJK UNIFIED IDEOGRAPH
+  {0xC159, 0x7F7D}, //10780 #CJK UNIFIED IDEOGRAPH
+  {0xC15A, 0x7F7F}, //10781 #CJK UNIFIED IDEOGRAPH
+  {0xC15B, 0x7F80}, //10782 #CJK UNIFIED IDEOGRAPH
+  {0xC15C, 0x7F82}, //10783 #CJK UNIFIED IDEOGRAPH
+  {0xC15D, 0x7F83}, //10784 #CJK UNIFIED IDEOGRAPH
+  {0xC15E, 0x7F84}, //10785 #CJK UNIFIED IDEOGRAPH
+  {0xC15F, 0x7F85}, //10786 #CJK UNIFIED IDEOGRAPH
+  {0xC160, 0x7F86}, //10787 #CJK UNIFIED IDEOGRAPH
+  {0xC161, 0x7F87}, //10788 #CJK UNIFIED IDEOGRAPH
+  {0xC162, 0x7F88}, //10789 #CJK UNIFIED IDEOGRAPH
+  {0xC163, 0x7F89}, //10790 #CJK UNIFIED IDEOGRAPH
+  {0xC164, 0x7F8B}, //10791 #CJK UNIFIED IDEOGRAPH
+  {0xC165, 0x7F8D}, //10792 #CJK UNIFIED IDEOGRAPH
+  {0xC166, 0x7F8F}, //10793 #CJK UNIFIED IDEOGRAPH
+  {0xC167, 0x7F90}, //10794 #CJK UNIFIED IDEOGRAPH
+  {0xC168, 0x7F91}, //10795 #CJK UNIFIED IDEOGRAPH
+  {0xC169, 0x7F92}, //10796 #CJK UNIFIED IDEOGRAPH
+  {0xC16A, 0x7F93}, //10797 #CJK UNIFIED IDEOGRAPH
+  {0xC16B, 0x7F95}, //10798 #CJK UNIFIED IDEOGRAPH
+  {0xC16C, 0x7F96}, //10799 #CJK UNIFIED IDEOGRAPH
+  {0xC16D, 0x7F97}, //10800 #CJK UNIFIED IDEOGRAPH
+  {0xC16E, 0x7F98}, //10801 #CJK UNIFIED IDEOGRAPH
+  {0xC16F, 0x7F99}, //10802 #CJK UNIFIED IDEOGRAPH
+  {0xC170, 0x7F9B}, //10803 #CJK UNIFIED IDEOGRAPH
+  {0xC171, 0x7F9C}, //10804 #CJK UNIFIED IDEOGRAPH
+  {0xC172, 0x7FA0}, //10805 #CJK UNIFIED IDEOGRAPH
+  {0xC173, 0x7FA2}, //10806 #CJK UNIFIED IDEOGRAPH
+  {0xC174, 0x7FA3}, //10807 #CJK UNIFIED IDEOGRAPH
+  {0xC175, 0x7FA5}, //10808 #CJK UNIFIED IDEOGRAPH
+  {0xC176, 0x7FA6}, //10809 #CJK UNIFIED IDEOGRAPH
+  {0xC177, 0x7FA8}, //10810 #CJK UNIFIED IDEOGRAPH
+  {0xC178, 0x7FA9}, //10811 #CJK UNIFIED IDEOGRAPH
+  {0xC179, 0x7FAA}, //10812 #CJK UNIFIED IDEOGRAPH
+  {0xC17A, 0x7FAB}, //10813 #CJK UNIFIED IDEOGRAPH
+  {0xC17B, 0x7FAC}, //10814 #CJK UNIFIED IDEOGRAPH
+  {0xC17C, 0x7FAD}, //10815 #CJK UNIFIED IDEOGRAPH
+  {0xC17D, 0x7FAE}, //10816 #CJK UNIFIED IDEOGRAPH
+  {0xC17E, 0x7FB1}, //10817 #CJK UNIFIED IDEOGRAPH
+  {0xC180, 0x7FB3}, //10818 #CJK UNIFIED IDEOGRAPH
+  {0xC181, 0x7FB4}, //10819 #CJK UNIFIED IDEOGRAPH
+  {0xC182, 0x7FB5}, //10820 #CJK UNIFIED IDEOGRAPH
+  {0xC183, 0x7FB6}, //10821 #CJK UNIFIED IDEOGRAPH
+  {0xC184, 0x7FB7}, //10822 #CJK UNIFIED IDEOGRAPH
+  {0xC185, 0x7FBA}, //10823 #CJK UNIFIED IDEOGRAPH
+  {0xC186, 0x7FBB}, //10824 #CJK UNIFIED IDEOGRAPH
+  {0xC187, 0x7FBE}, //10825 #CJK UNIFIED IDEOGRAPH
+  {0xC188, 0x7FC0}, //10826 #CJK UNIFIED IDEOGRAPH
+  {0xC189, 0x7FC2}, //10827 #CJK UNIFIED IDEOGRAPH
+  {0xC18A, 0x7FC3}, //10828 #CJK UNIFIED IDEOGRAPH
+  {0xC18B, 0x7FC4}, //10829 #CJK UNIFIED IDEOGRAPH
+  {0xC18C, 0x7FC6}, //10830 #CJK UNIFIED IDEOGRAPH
+  {0xC18D, 0x7FC7}, //10831 #CJK UNIFIED IDEOGRAPH
+  {0xC18E, 0x7FC8}, //10832 #CJK UNIFIED IDEOGRAPH
+  {0xC18F, 0x7FC9}, //10833 #CJK UNIFIED IDEOGRAPH
+  {0xC190, 0x7FCB}, //10834 #CJK UNIFIED IDEOGRAPH
+  {0xC191, 0x7FCD}, //10835 #CJK UNIFIED IDEOGRAPH
+  {0xC192, 0x7FCF}, //10836 #CJK UNIFIED IDEOGRAPH
+  {0xC193, 0x7FD0}, //10837 #CJK UNIFIED IDEOGRAPH
+  {0xC194, 0x7FD1}, //10838 #CJK UNIFIED IDEOGRAPH
+  {0xC195, 0x7FD2}, //10839 #CJK UNIFIED IDEOGRAPH
+  {0xC196, 0x7FD3}, //10840 #CJK UNIFIED IDEOGRAPH
+  {0xC197, 0x7FD6}, //10841 #CJK UNIFIED IDEOGRAPH
+  {0xC198, 0x7FD7}, //10842 #CJK UNIFIED IDEOGRAPH
+  {0xC199, 0x7FD9}, //10843 #CJK UNIFIED IDEOGRAPH
+  {0xC19A, 0x7FDA}, //10844 #CJK UNIFIED IDEOGRAPH
+  {0xC19B, 0x7FDB}, //10845 #CJK UNIFIED IDEOGRAPH
+  {0xC19C, 0x7FDC}, //10846 #CJK UNIFIED IDEOGRAPH
+  {0xC19D, 0x7FDD}, //10847 #CJK UNIFIED IDEOGRAPH
+  {0xC19E, 0x7FDE}, //10848 #CJK UNIFIED IDEOGRAPH
+  {0xC19F, 0x7FE2}, //10849 #CJK UNIFIED IDEOGRAPH
+  {0xC1A0, 0x7FE3}, //10850 #CJK UNIFIED IDEOGRAPH
+  {0xC1A1, 0x75E2}, //10851 #CJK UNIFIED IDEOGRAPH
+  {0xC1A2, 0x7ACB}, //10852 #CJK UNIFIED IDEOGRAPH
+  {0xC1A3, 0x7C92}, //10853 #CJK UNIFIED IDEOGRAPH
+  {0xC1A4, 0x6CA5}, //10854 #CJK UNIFIED IDEOGRAPH
+  {0xC1A5, 0x96B6}, //10855 #CJK UNIFIED IDEOGRAPH
+  {0xC1A6, 0x529B}, //10856 #CJK UNIFIED IDEOGRAPH
+  {0xC1A7, 0x7483}, //10857 #CJK UNIFIED IDEOGRAPH
+  {0xC1A8, 0x54E9}, //10858 #CJK UNIFIED IDEOGRAPH
+  {0xC1A9, 0x4FE9}, //10859 #CJK UNIFIED IDEOGRAPH
+  {0xC1AA, 0x8054}, //10860 #CJK UNIFIED IDEOGRAPH
+  {0xC1AB, 0x83B2}, //10861 #CJK UNIFIED IDEOGRAPH
+  {0xC1AC, 0x8FDE}, //10862 #CJK UNIFIED IDEOGRAPH
+  {0xC1AD, 0x9570}, //10863 #CJK UNIFIED IDEOGRAPH
+  {0xC1AE, 0x5EC9}, //10864 #CJK UNIFIED IDEOGRAPH
+  {0xC1AF, 0x601C}, //10865 #CJK UNIFIED IDEOGRAPH
+  {0xC1B0, 0x6D9F}, //10866 #CJK UNIFIED IDEOGRAPH
+  {0xC1B1, 0x5E18}, //10867 #CJK UNIFIED IDEOGRAPH
+  {0xC1B2, 0x655B}, //10868 #CJK UNIFIED IDEOGRAPH
+  {0xC1B3, 0x8138}, //10869 #CJK UNIFIED IDEOGRAPH
+  {0xC1B4, 0x94FE}, //10870 #CJK UNIFIED IDEOGRAPH
+  {0xC1B5, 0x604B}, //10871 #CJK UNIFIED IDEOGRAPH
+  {0xC1B6, 0x70BC}, //10872 #CJK UNIFIED IDEOGRAPH
+  {0xC1B7, 0x7EC3}, //10873 #CJK UNIFIED IDEOGRAPH
+  {0xC1B8, 0x7CAE}, //10874 #CJK UNIFIED IDEOGRAPH
+  {0xC1B9, 0x51C9}, //10875 #CJK UNIFIED IDEOGRAPH
+  {0xC1BA, 0x6881}, //10876 #CJK UNIFIED IDEOGRAPH
+  {0xC1BB, 0x7CB1}, //10877 #CJK UNIFIED IDEOGRAPH
+  {0xC1BC, 0x826F}, //10878 #CJK UNIFIED IDEOGRAPH
+  {0xC1BD, 0x4E24}, //10879 #CJK UNIFIED IDEOGRAPH
+  {0xC1BE, 0x8F86}, //10880 #CJK UNIFIED IDEOGRAPH
+  {0xC1BF, 0x91CF}, //10881 #CJK UNIFIED IDEOGRAPH
+  {0xC1C0, 0x667E}, //10882 #CJK UNIFIED IDEOGRAPH
+  {0xC1C1, 0x4EAE}, //10883 #CJK UNIFIED IDEOGRAPH
+  {0xC1C2, 0x8C05}, //10884 #CJK UNIFIED IDEOGRAPH
+  {0xC1C3, 0x64A9}, //10885 #CJK UNIFIED IDEOGRAPH
+  {0xC1C4, 0x804A}, //10886 #CJK UNIFIED IDEOGRAPH
+  {0xC1C5, 0x50DA}, //10887 #CJK UNIFIED IDEOGRAPH
+  {0xC1C6, 0x7597}, //10888 #CJK UNIFIED IDEOGRAPH
+  {0xC1C7, 0x71CE}, //10889 #CJK UNIFIED IDEOGRAPH
+  {0xC1C8, 0x5BE5}, //10890 #CJK UNIFIED IDEOGRAPH
+  {0xC1C9, 0x8FBD}, //10891 #CJK UNIFIED IDEOGRAPH
+  {0xC1CA, 0x6F66}, //10892 #CJK UNIFIED IDEOGRAPH
+  {0xC1CB, 0x4E86}, //10893 #CJK UNIFIED IDEOGRAPH
+  {0xC1CC, 0x6482}, //10894 #CJK UNIFIED IDEOGRAPH
+  {0xC1CD, 0x9563}, //10895 #CJK UNIFIED IDEOGRAPH
+  {0xC1CE, 0x5ED6}, //10896 #CJK UNIFIED IDEOGRAPH
+  {0xC1CF, 0x6599}, //10897 #CJK UNIFIED IDEOGRAPH
+  {0xC1D0, 0x5217}, //10898 #CJK UNIFIED IDEOGRAPH
+  {0xC1D1, 0x88C2}, //10899 #CJK UNIFIED IDEOGRAPH
+  {0xC1D2, 0x70C8}, //10900 #CJK UNIFIED IDEOGRAPH
+  {0xC1D3, 0x52A3}, //10901 #CJK UNIFIED IDEOGRAPH
+  {0xC1D4, 0x730E}, //10902 #CJK UNIFIED IDEOGRAPH
+  {0xC1D5, 0x7433}, //10903 #CJK UNIFIED IDEOGRAPH
+  {0xC1D6, 0x6797}, //10904 #CJK UNIFIED IDEOGRAPH
+  {0xC1D7, 0x78F7}, //10905 #CJK UNIFIED IDEOGRAPH
+  {0xC1D8, 0x9716}, //10906 #CJK UNIFIED IDEOGRAPH
+  {0xC1D9, 0x4E34}, //10907 #CJK UNIFIED IDEOGRAPH
+  {0xC1DA, 0x90BB}, //10908 #CJK UNIFIED IDEOGRAPH
+  {0xC1DB, 0x9CDE}, //10909 #CJK UNIFIED IDEOGRAPH
+  {0xC1DC, 0x6DCB}, //10910 #CJK UNIFIED IDEOGRAPH
+  {0xC1DD, 0x51DB}, //10911 #CJK UNIFIED IDEOGRAPH
+  {0xC1DE, 0x8D41}, //10912 #CJK UNIFIED IDEOGRAPH
+  {0xC1DF, 0x541D}, //10913 #CJK UNIFIED IDEOGRAPH
+  {0xC1E0, 0x62CE}, //10914 #CJK UNIFIED IDEOGRAPH
+  {0xC1E1, 0x73B2}, //10915 #CJK UNIFIED IDEOGRAPH
+  {0xC1E2, 0x83F1}, //10916 #CJK UNIFIED IDEOGRAPH
+  {0xC1E3, 0x96F6}, //10917 #CJK UNIFIED IDEOGRAPH
+  {0xC1E4, 0x9F84}, //10918 #CJK UNIFIED IDEOGRAPH
+  {0xC1E5, 0x94C3}, //10919 #CJK UNIFIED IDEOGRAPH
+  {0xC1E6, 0x4F36}, //10920 #CJK UNIFIED IDEOGRAPH
+  {0xC1E7, 0x7F9A}, //10921 #CJK UNIFIED IDEOGRAPH
+  {0xC1E8, 0x51CC}, //10922 #CJK UNIFIED IDEOGRAPH
+  {0xC1E9, 0x7075}, //10923 #CJK UNIFIED IDEOGRAPH
+  {0xC1EA, 0x9675}, //10924 #CJK UNIFIED IDEOGRAPH
+  {0xC1EB, 0x5CAD}, //10925 #CJK UNIFIED IDEOGRAPH
+  {0xC1EC, 0x9886}, //10926 #CJK UNIFIED IDEOGRAPH
+  {0xC1ED, 0x53E6}, //10927 #CJK UNIFIED IDEOGRAPH
+  {0xC1EE, 0x4EE4}, //10928 #CJK UNIFIED IDEOGRAPH
+  {0xC1EF, 0x6E9C}, //10929 #CJK UNIFIED IDEOGRAPH
+  {0xC1F0, 0x7409}, //10930 #CJK UNIFIED IDEOGRAPH
+  {0xC1F1, 0x69B4}, //10931 #CJK UNIFIED IDEOGRAPH
+  {0xC1F2, 0x786B}, //10932 #CJK UNIFIED IDEOGRAPH
+  {0xC1F3, 0x998F}, //10933 #CJK UNIFIED IDEOGRAPH
+  {0xC1F4, 0x7559}, //10934 #CJK UNIFIED IDEOGRAPH
+  {0xC1F5, 0x5218}, //10935 #CJK UNIFIED IDEOGRAPH
+  {0xC1F6, 0x7624}, //10936 #CJK UNIFIED IDEOGRAPH
+  {0xC1F7, 0x6D41}, //10937 #CJK UNIFIED IDEOGRAPH
+  {0xC1F8, 0x67F3}, //10938 #CJK UNIFIED IDEOGRAPH
+  {0xC1F9, 0x516D}, //10939 #CJK UNIFIED IDEOGRAPH
+  {0xC1FA, 0x9F99}, //10940 #CJK UNIFIED IDEOGRAPH
+  {0xC1FB, 0x804B}, //10941 #CJK UNIFIED IDEOGRAPH
+  {0xC1FC, 0x5499}, //10942 #CJK UNIFIED IDEOGRAPH
+  {0xC1FD, 0x7B3C}, //10943 #CJK UNIFIED IDEOGRAPH
+  {0xC1FE, 0x7ABF}, //10944 #CJK UNIFIED IDEOGRAPH
+  {0xC240, 0x7FE4}, //10945 #CJK UNIFIED IDEOGRAPH
+  {0xC241, 0x7FE7}, //10946 #CJK UNIFIED IDEOGRAPH
+  {0xC242, 0x7FE8}, //10947 #CJK UNIFIED IDEOGRAPH
+  {0xC243, 0x7FEA}, //10948 #CJK UNIFIED IDEOGRAPH
+  {0xC244, 0x7FEB}, //10949 #CJK UNIFIED IDEOGRAPH
+  {0xC245, 0x7FEC}, //10950 #CJK UNIFIED IDEOGRAPH
+  {0xC246, 0x7FED}, //10951 #CJK UNIFIED IDEOGRAPH
+  {0xC247, 0x7FEF}, //10952 #CJK UNIFIED IDEOGRAPH
+  {0xC248, 0x7FF2}, //10953 #CJK UNIFIED IDEOGRAPH
+  {0xC249, 0x7FF4}, //10954 #CJK UNIFIED IDEOGRAPH
+  {0xC24A, 0x7FF5}, //10955 #CJK UNIFIED IDEOGRAPH
+  {0xC24B, 0x7FF6}, //10956 #CJK UNIFIED IDEOGRAPH
+  {0xC24C, 0x7FF7}, //10957 #CJK UNIFIED IDEOGRAPH
+  {0xC24D, 0x7FF8}, //10958 #CJK UNIFIED IDEOGRAPH
+  {0xC24E, 0x7FF9}, //10959 #CJK UNIFIED IDEOGRAPH
+  {0xC24F, 0x7FFA}, //10960 #CJK UNIFIED IDEOGRAPH
+  {0xC250, 0x7FFD}, //10961 #CJK UNIFIED IDEOGRAPH
+  {0xC251, 0x7FFE}, //10962 #CJK UNIFIED IDEOGRAPH
+  {0xC252, 0x7FFF}, //10963 #CJK UNIFIED IDEOGRAPH
+  {0xC253, 0x8002}, //10964 #CJK UNIFIED IDEOGRAPH
+  {0xC254, 0x8007}, //10965 #CJK UNIFIED IDEOGRAPH
+  {0xC255, 0x8008}, //10966 #CJK UNIFIED IDEOGRAPH
+  {0xC256, 0x8009}, //10967 #CJK UNIFIED IDEOGRAPH
+  {0xC257, 0x800A}, //10968 #CJK UNIFIED IDEOGRAPH
+  {0xC258, 0x800E}, //10969 #CJK UNIFIED IDEOGRAPH
+  {0xC259, 0x800F}, //10970 #CJK UNIFIED IDEOGRAPH
+  {0xC25A, 0x8011}, //10971 #CJK UNIFIED IDEOGRAPH
+  {0xC25B, 0x8013}, //10972 #CJK UNIFIED IDEOGRAPH
+  {0xC25C, 0x801A}, //10973 #CJK UNIFIED IDEOGRAPH
+  {0xC25D, 0x801B}, //10974 #CJK UNIFIED IDEOGRAPH
+  {0xC25E, 0x801D}, //10975 #CJK UNIFIED IDEOGRAPH
+  {0xC25F, 0x801E}, //10976 #CJK UNIFIED IDEOGRAPH
+  {0xC260, 0x801F}, //10977 #CJK UNIFIED IDEOGRAPH
+  {0xC261, 0x8021}, //10978 #CJK UNIFIED IDEOGRAPH
+  {0xC262, 0x8023}, //10979 #CJK UNIFIED IDEOGRAPH
+  {0xC263, 0x8024}, //10980 #CJK UNIFIED IDEOGRAPH
+  {0xC264, 0x802B}, //10981 #CJK UNIFIED IDEOGRAPH
+  {0xC265, 0x802C}, //10982 #CJK UNIFIED IDEOGRAPH
+  {0xC266, 0x802D}, //10983 #CJK UNIFIED IDEOGRAPH
+  {0xC267, 0x802E}, //10984 #CJK UNIFIED IDEOGRAPH
+  {0xC268, 0x802F}, //10985 #CJK UNIFIED IDEOGRAPH
+  {0xC269, 0x8030}, //10986 #CJK UNIFIED IDEOGRAPH
+  {0xC26A, 0x8032}, //10987 #CJK UNIFIED IDEOGRAPH
+  {0xC26B, 0x8034}, //10988 #CJK UNIFIED IDEOGRAPH
+  {0xC26C, 0x8039}, //10989 #CJK UNIFIED IDEOGRAPH
+  {0xC26D, 0x803A}, //10990 #CJK UNIFIED IDEOGRAPH
+  {0xC26E, 0x803C}, //10991 #CJK UNIFIED IDEOGRAPH
+  {0xC26F, 0x803E}, //10992 #CJK UNIFIED IDEOGRAPH
+  {0xC270, 0x8040}, //10993 #CJK UNIFIED IDEOGRAPH
+  {0xC271, 0x8041}, //10994 #CJK UNIFIED IDEOGRAPH
+  {0xC272, 0x8044}, //10995 #CJK UNIFIED IDEOGRAPH
+  {0xC273, 0x8045}, //10996 #CJK UNIFIED IDEOGRAPH
+  {0xC274, 0x8047}, //10997 #CJK UNIFIED IDEOGRAPH
+  {0xC275, 0x8048}, //10998 #CJK UNIFIED IDEOGRAPH
+  {0xC276, 0x8049}, //10999 #CJK UNIFIED IDEOGRAPH
+  {0xC277, 0x804E}, //11000 #CJK UNIFIED IDEOGRAPH
+  {0xC278, 0x804F}, //11001 #CJK UNIFIED IDEOGRAPH
+  {0xC279, 0x8050}, //11002 #CJK UNIFIED IDEOGRAPH
+  {0xC27A, 0x8051}, //11003 #CJK UNIFIED IDEOGRAPH
+  {0xC27B, 0x8053}, //11004 #CJK UNIFIED IDEOGRAPH
+  {0xC27C, 0x8055}, //11005 #CJK UNIFIED IDEOGRAPH
+  {0xC27D, 0x8056}, //11006 #CJK UNIFIED IDEOGRAPH
+  {0xC27E, 0x8057}, //11007 #CJK UNIFIED IDEOGRAPH
+  {0xC280, 0x8059}, //11008 #CJK UNIFIED IDEOGRAPH
+  {0xC281, 0x805B}, //11009 #CJK UNIFIED IDEOGRAPH
+  {0xC282, 0x805C}, //11010 #CJK UNIFIED IDEOGRAPH
+  {0xC283, 0x805D}, //11011 #CJK UNIFIED IDEOGRAPH
+  {0xC284, 0x805E}, //11012 #CJK UNIFIED IDEOGRAPH
+  {0xC285, 0x805F}, //11013 #CJK UNIFIED IDEOGRAPH
+  {0xC286, 0x8060}, //11014 #CJK UNIFIED IDEOGRAPH
+  {0xC287, 0x8061}, //11015 #CJK UNIFIED IDEOGRAPH
+  {0xC288, 0x8062}, //11016 #CJK UNIFIED IDEOGRAPH
+  {0xC289, 0x8063}, //11017 #CJK UNIFIED IDEOGRAPH
+  {0xC28A, 0x8064}, //11018 #CJK UNIFIED IDEOGRAPH
+  {0xC28B, 0x8065}, //11019 #CJK UNIFIED IDEOGRAPH
+  {0xC28C, 0x8066}, //11020 #CJK UNIFIED IDEOGRAPH
+  {0xC28D, 0x8067}, //11021 #CJK UNIFIED IDEOGRAPH
+  {0xC28E, 0x8068}, //11022 #CJK UNIFIED IDEOGRAPH
+  {0xC28F, 0x806B}, //11023 #CJK UNIFIED IDEOGRAPH
+  {0xC290, 0x806C}, //11024 #CJK UNIFIED IDEOGRAPH
+  {0xC291, 0x806D}, //11025 #CJK UNIFIED IDEOGRAPH
+  {0xC292, 0x806E}, //11026 #CJK UNIFIED IDEOGRAPH
+  {0xC293, 0x806F}, //11027 #CJK UNIFIED IDEOGRAPH
+  {0xC294, 0x8070}, //11028 #CJK UNIFIED IDEOGRAPH
+  {0xC295, 0x8072}, //11029 #CJK UNIFIED IDEOGRAPH
+  {0xC296, 0x8073}, //11030 #CJK UNIFIED IDEOGRAPH
+  {0xC297, 0x8074}, //11031 #CJK UNIFIED IDEOGRAPH
+  {0xC298, 0x8075}, //11032 #CJK UNIFIED IDEOGRAPH
+  {0xC299, 0x8076}, //11033 #CJK UNIFIED IDEOGRAPH
+  {0xC29A, 0x8077}, //11034 #CJK UNIFIED IDEOGRAPH
+  {0xC29B, 0x8078}, //11035 #CJK UNIFIED IDEOGRAPH
+  {0xC29C, 0x8079}, //11036 #CJK UNIFIED IDEOGRAPH
+  {0xC29D, 0x807A}, //11037 #CJK UNIFIED IDEOGRAPH
+  {0xC29E, 0x807B}, //11038 #CJK UNIFIED IDEOGRAPH
+  {0xC29F, 0x807C}, //11039 #CJK UNIFIED IDEOGRAPH
+  {0xC2A0, 0x807D}, //11040 #CJK UNIFIED IDEOGRAPH
+  {0xC2A1, 0x9686}, //11041 #CJK UNIFIED IDEOGRAPH
+  {0xC2A2, 0x5784}, //11042 #CJK UNIFIED IDEOGRAPH
+  {0xC2A3, 0x62E2}, //11043 #CJK UNIFIED IDEOGRAPH
+  {0xC2A4, 0x9647}, //11044 #CJK UNIFIED IDEOGRAPH
+  {0xC2A5, 0x697C}, //11045 #CJK UNIFIED IDEOGRAPH
+  {0xC2A6, 0x5A04}, //11046 #CJK UNIFIED IDEOGRAPH
+  {0xC2A7, 0x6402}, //11047 #CJK UNIFIED IDEOGRAPH
+  {0xC2A8, 0x7BD3}, //11048 #CJK UNIFIED IDEOGRAPH
+  {0xC2A9, 0x6F0F}, //11049 #CJK UNIFIED IDEOGRAPH
+  {0xC2AA, 0x964B}, //11050 #CJK UNIFIED IDEOGRAPH
+  {0xC2AB, 0x82A6}, //11051 #CJK UNIFIED IDEOGRAPH
+  {0xC2AC, 0x5362}, //11052 #CJK UNIFIED IDEOGRAPH
+  {0xC2AD, 0x9885}, //11053 #CJK UNIFIED IDEOGRAPH
+  {0xC2AE, 0x5E90}, //11054 #CJK UNIFIED IDEOGRAPH
+  {0xC2AF, 0x7089}, //11055 #CJK UNIFIED IDEOGRAPH
+  {0xC2B0, 0x63B3}, //11056 #CJK UNIFIED IDEOGRAPH
+  {0xC2B1, 0x5364}, //11057 #CJK UNIFIED IDEOGRAPH
+  {0xC2B2, 0x864F}, //11058 #CJK UNIFIED IDEOGRAPH
+  {0xC2B3, 0x9C81}, //11059 #CJK UNIFIED IDEOGRAPH
+  {0xC2B4, 0x9E93}, //11060 #CJK UNIFIED IDEOGRAPH
+  {0xC2B5, 0x788C}, //11061 #CJK UNIFIED IDEOGRAPH
+  {0xC2B6, 0x9732}, //11062 #CJK UNIFIED IDEOGRAPH
+  {0xC2B7, 0x8DEF}, //11063 #CJK UNIFIED IDEOGRAPH
+  {0xC2B8, 0x8D42}, //11064 #CJK UNIFIED IDEOGRAPH
+  {0xC2B9, 0x9E7F}, //11065 #CJK UNIFIED IDEOGRAPH
+  {0xC2BA, 0x6F5E}, //11066 #CJK UNIFIED IDEOGRAPH
+  {0xC2BB, 0x7984}, //11067 #CJK UNIFIED IDEOGRAPH
+  {0xC2BC, 0x5F55}, //11068 #CJK UNIFIED IDEOGRAPH
+  {0xC2BD, 0x9646}, //11069 #CJK UNIFIED IDEOGRAPH
+  {0xC2BE, 0x622E}, //11070 #CJK UNIFIED IDEOGRAPH
+  {0xC2BF, 0x9A74}, //11071 #CJK UNIFIED IDEOGRAPH
+  {0xC2C0, 0x5415}, //11072 #CJK UNIFIED IDEOGRAPH
+  {0xC2C1, 0x94DD}, //11073 #CJK UNIFIED IDEOGRAPH
+  {0xC2C2, 0x4FA3}, //11074 #CJK UNIFIED IDEOGRAPH
+  {0xC2C3, 0x65C5}, //11075 #CJK UNIFIED IDEOGRAPH
+  {0xC2C4, 0x5C65}, //11076 #CJK UNIFIED IDEOGRAPH
+  {0xC2C5, 0x5C61}, //11077 #CJK UNIFIED IDEOGRAPH
+  {0xC2C6, 0x7F15}, //11078 #CJK UNIFIED IDEOGRAPH
+  {0xC2C7, 0x8651}, //11079 #CJK UNIFIED IDEOGRAPH
+  {0xC2C8, 0x6C2F}, //11080 #CJK UNIFIED IDEOGRAPH
+  {0xC2C9, 0x5F8B}, //11081 #CJK UNIFIED IDEOGRAPH
+  {0xC2CA, 0x7387}, //11082 #CJK UNIFIED IDEOGRAPH
+  {0xC2CB, 0x6EE4}, //11083 #CJK UNIFIED IDEOGRAPH
+  {0xC2CC, 0x7EFF}, //11084 #CJK UNIFIED IDEOGRAPH
+  {0xC2CD, 0x5CE6}, //11085 #CJK UNIFIED IDEOGRAPH
+  {0xC2CE, 0x631B}, //11086 #CJK UNIFIED IDEOGRAPH
+  {0xC2CF, 0x5B6A}, //11087 #CJK UNIFIED IDEOGRAPH
+  {0xC2D0, 0x6EE6}, //11088 #CJK UNIFIED IDEOGRAPH
+  {0xC2D1, 0x5375}, //11089 #CJK UNIFIED IDEOGRAPH
+  {0xC2D2, 0x4E71}, //11090 #CJK UNIFIED IDEOGRAPH
+  {0xC2D3, 0x63A0}, //11091 #CJK UNIFIED IDEOGRAPH
+  {0xC2D4, 0x7565}, //11092 #CJK UNIFIED IDEOGRAPH
+  {0xC2D5, 0x62A1}, //11093 #CJK UNIFIED IDEOGRAPH
+  {0xC2D6, 0x8F6E}, //11094 #CJK UNIFIED IDEOGRAPH
+  {0xC2D7, 0x4F26}, //11095 #CJK UNIFIED IDEOGRAPH
+  {0xC2D8, 0x4ED1}, //11096 #CJK UNIFIED IDEOGRAPH
+  {0xC2D9, 0x6CA6}, //11097 #CJK UNIFIED IDEOGRAPH
+  {0xC2DA, 0x7EB6}, //11098 #CJK UNIFIED IDEOGRAPH
+  {0xC2DB, 0x8BBA}, //11099 #CJK UNIFIED IDEOGRAPH
+  {0xC2DC, 0x841D}, //11100 #CJK UNIFIED IDEOGRAPH
+  {0xC2DD, 0x87BA}, //11101 #CJK UNIFIED IDEOGRAPH
+  {0xC2DE, 0x7F57}, //11102 #CJK UNIFIED IDEOGRAPH
+  {0xC2DF, 0x903B}, //11103 #CJK UNIFIED IDEOGRAPH
+  {0xC2E0, 0x9523}, //11104 #CJK UNIFIED IDEOGRAPH
+  {0xC2E1, 0x7BA9}, //11105 #CJK UNIFIED IDEOGRAPH
+  {0xC2E2, 0x9AA1}, //11106 #CJK UNIFIED IDEOGRAPH
+  {0xC2E3, 0x88F8}, //11107 #CJK UNIFIED IDEOGRAPH
+  {0xC2E4, 0x843D}, //11108 #CJK UNIFIED IDEOGRAPH
+  {0xC2E5, 0x6D1B}, //11109 #CJK UNIFIED IDEOGRAPH
+  {0xC2E6, 0x9A86}, //11110 #CJK UNIFIED IDEOGRAPH
+  {0xC2E7, 0x7EDC}, //11111 #CJK UNIFIED IDEOGRAPH
+  {0xC2E8, 0x5988}, //11112 #CJK UNIFIED IDEOGRAPH
+  {0xC2E9, 0x9EBB}, //11113 #CJK UNIFIED IDEOGRAPH
+  {0xC2EA, 0x739B}, //11114 #CJK UNIFIED IDEOGRAPH
+  {0xC2EB, 0x7801}, //11115 #CJK UNIFIED IDEOGRAPH
+  {0xC2EC, 0x8682}, //11116 #CJK UNIFIED IDEOGRAPH
+  {0xC2ED, 0x9A6C}, //11117 #CJK UNIFIED IDEOGRAPH
+  {0xC2EE, 0x9A82}, //11118 #CJK UNIFIED IDEOGRAPH
+  {0xC2EF, 0x561B}, //11119 #CJK UNIFIED IDEOGRAPH
+  {0xC2F0, 0x5417}, //11120 #CJK UNIFIED IDEOGRAPH
+  {0xC2F1, 0x57CB}, //11121 #CJK UNIFIED IDEOGRAPH
+  {0xC2F2, 0x4E70}, //11122 #CJK UNIFIED IDEOGRAPH
+  {0xC2F3, 0x9EA6}, //11123 #CJK UNIFIED IDEOGRAPH
+  {0xC2F4, 0x5356}, //11124 #CJK UNIFIED IDEOGRAPH
+  {0xC2F5, 0x8FC8}, //11125 #CJK UNIFIED IDEOGRAPH
+  {0xC2F6, 0x8109}, //11126 #CJK UNIFIED IDEOGRAPH
+  {0xC2F7, 0x7792}, //11127 #CJK UNIFIED IDEOGRAPH
+  {0xC2F8, 0x9992}, //11128 #CJK UNIFIED IDEOGRAPH
+  {0xC2F9, 0x86EE}, //11129 #CJK UNIFIED IDEOGRAPH
+  {0xC2FA, 0x6EE1}, //11130 #CJK UNIFIED IDEOGRAPH
+  {0xC2FB, 0x8513}, //11131 #CJK UNIFIED IDEOGRAPH
+  {0xC2FC, 0x66FC}, //11132 #CJK UNIFIED IDEOGRAPH
+  {0xC2FD, 0x6162}, //11133 #CJK UNIFIED IDEOGRAPH
+  {0xC2FE, 0x6F2B}, //11134 #CJK UNIFIED IDEOGRAPH
+  {0xC340, 0x807E}, //11135 #CJK UNIFIED IDEOGRAPH
+  {0xC341, 0x8081}, //11136 #CJK UNIFIED IDEOGRAPH
+  {0xC342, 0x8082}, //11137 #CJK UNIFIED IDEOGRAPH
+  {0xC343, 0x8085}, //11138 #CJK UNIFIED IDEOGRAPH
+  {0xC344, 0x8088}, //11139 #CJK UNIFIED IDEOGRAPH
+  {0xC345, 0x808A}, //11140 #CJK UNIFIED IDEOGRAPH
+  {0xC346, 0x808D}, //11141 #CJK UNIFIED IDEOGRAPH
+  {0xC347, 0x808E}, //11142 #CJK UNIFIED IDEOGRAPH
+  {0xC348, 0x808F}, //11143 #CJK UNIFIED IDEOGRAPH
+  {0xC349, 0x8090}, //11144 #CJK UNIFIED IDEOGRAPH
+  {0xC34A, 0x8091}, //11145 #CJK UNIFIED IDEOGRAPH
+  {0xC34B, 0x8092}, //11146 #CJK UNIFIED IDEOGRAPH
+  {0xC34C, 0x8094}, //11147 #CJK UNIFIED IDEOGRAPH
+  {0xC34D, 0x8095}, //11148 #CJK UNIFIED IDEOGRAPH
+  {0xC34E, 0x8097}, //11149 #CJK UNIFIED IDEOGRAPH
+  {0xC34F, 0x8099}, //11150 #CJK UNIFIED IDEOGRAPH
+  {0xC350, 0x809E}, //11151 #CJK UNIFIED IDEOGRAPH
+  {0xC351, 0x80A3}, //11152 #CJK UNIFIED IDEOGRAPH
+  {0xC352, 0x80A6}, //11153 #CJK UNIFIED IDEOGRAPH
+  {0xC353, 0x80A7}, //11154 #CJK UNIFIED IDEOGRAPH
+  {0xC354, 0x80A8}, //11155 #CJK UNIFIED IDEOGRAPH
+  {0xC355, 0x80AC}, //11156 #CJK UNIFIED IDEOGRAPH
+  {0xC356, 0x80B0}, //11157 #CJK UNIFIED IDEOGRAPH
+  {0xC357, 0x80B3}, //11158 #CJK UNIFIED IDEOGRAPH
+  {0xC358, 0x80B5}, //11159 #CJK UNIFIED IDEOGRAPH
+  {0xC359, 0x80B6}, //11160 #CJK UNIFIED IDEOGRAPH
+  {0xC35A, 0x80B8}, //11161 #CJK UNIFIED IDEOGRAPH
+  {0xC35B, 0x80B9}, //11162 #CJK UNIFIED IDEOGRAPH
+  {0xC35C, 0x80BB}, //11163 #CJK UNIFIED IDEOGRAPH
+  {0xC35D, 0x80C5}, //11164 #CJK UNIFIED IDEOGRAPH
+  {0xC35E, 0x80C7}, //11165 #CJK UNIFIED IDEOGRAPH
+  {0xC35F, 0x80C8}, //11166 #CJK UNIFIED IDEOGRAPH
+  {0xC360, 0x80C9}, //11167 #CJK UNIFIED IDEOGRAPH
+  {0xC361, 0x80CA}, //11168 #CJK UNIFIED IDEOGRAPH
+  {0xC362, 0x80CB}, //11169 #CJK UNIFIED IDEOGRAPH
+  {0xC363, 0x80CF}, //11170 #CJK UNIFIED IDEOGRAPH
+  {0xC364, 0x80D0}, //11171 #CJK UNIFIED IDEOGRAPH
+  {0xC365, 0x80D1}, //11172 #CJK UNIFIED IDEOGRAPH
+  {0xC366, 0x80D2}, //11173 #CJK UNIFIED IDEOGRAPH
+  {0xC367, 0x80D3}, //11174 #CJK UNIFIED IDEOGRAPH
+  {0xC368, 0x80D4}, //11175 #CJK UNIFIED IDEOGRAPH
+  {0xC369, 0x80D5}, //11176 #CJK UNIFIED IDEOGRAPH
+  {0xC36A, 0x80D8}, //11177 #CJK UNIFIED IDEOGRAPH
+  {0xC36B, 0x80DF}, //11178 #CJK UNIFIED IDEOGRAPH
+  {0xC36C, 0x80E0}, //11179 #CJK UNIFIED IDEOGRAPH
+  {0xC36D, 0x80E2}, //11180 #CJK UNIFIED IDEOGRAPH
+  {0xC36E, 0x80E3}, //11181 #CJK UNIFIED IDEOGRAPH
+  {0xC36F, 0x80E6}, //11182 #CJK UNIFIED IDEOGRAPH
+  {0xC370, 0x80EE}, //11183 #CJK UNIFIED IDEOGRAPH
+  {0xC371, 0x80F5}, //11184 #CJK UNIFIED IDEOGRAPH
+  {0xC372, 0x80F7}, //11185 #CJK UNIFIED IDEOGRAPH
+  {0xC373, 0x80F9}, //11186 #CJK UNIFIED IDEOGRAPH
+  {0xC374, 0x80FB}, //11187 #CJK UNIFIED IDEOGRAPH
+  {0xC375, 0x80FE}, //11188 #CJK UNIFIED IDEOGRAPH
+  {0xC376, 0x80FF}, //11189 #CJK UNIFIED IDEOGRAPH
+  {0xC377, 0x8100}, //11190 #CJK UNIFIED IDEOGRAPH
+  {0xC378, 0x8101}, //11191 #CJK UNIFIED IDEOGRAPH
+  {0xC379, 0x8103}, //11192 #CJK UNIFIED IDEOGRAPH
+  {0xC37A, 0x8104}, //11193 #CJK UNIFIED IDEOGRAPH
+  {0xC37B, 0x8105}, //11194 #CJK UNIFIED IDEOGRAPH
+  {0xC37C, 0x8107}, //11195 #CJK UNIFIED IDEOGRAPH
+  {0xC37D, 0x8108}, //11196 #CJK UNIFIED IDEOGRAPH
+  {0xC37E, 0x810B}, //11197 #CJK UNIFIED IDEOGRAPH
+  {0xC380, 0x810C}, //11198 #CJK UNIFIED IDEOGRAPH
+  {0xC381, 0x8115}, //11199 #CJK UNIFIED IDEOGRAPH
+  {0xC382, 0x8117}, //11200 #CJK UNIFIED IDEOGRAPH
+  {0xC383, 0x8119}, //11201 #CJK UNIFIED IDEOGRAPH
+  {0xC384, 0x811B}, //11202 #CJK UNIFIED IDEOGRAPH
+  {0xC385, 0x811C}, //11203 #CJK UNIFIED IDEOGRAPH
+  {0xC386, 0x811D}, //11204 #CJK UNIFIED IDEOGRAPH
+  {0xC387, 0x811F}, //11205 #CJK UNIFIED IDEOGRAPH
+  {0xC388, 0x8120}, //11206 #CJK UNIFIED IDEOGRAPH
+  {0xC389, 0x8121}, //11207 #CJK UNIFIED IDEOGRAPH
+  {0xC38A, 0x8122}, //11208 #CJK UNIFIED IDEOGRAPH
+  {0xC38B, 0x8123}, //11209 #CJK UNIFIED IDEOGRAPH
+  {0xC38C, 0x8124}, //11210 #CJK UNIFIED IDEOGRAPH
+  {0xC38D, 0x8125}, //11211 #CJK UNIFIED IDEOGRAPH
+  {0xC38E, 0x8126}, //11212 #CJK UNIFIED IDEOGRAPH
+  {0xC38F, 0x8127}, //11213 #CJK UNIFIED IDEOGRAPH
+  {0xC390, 0x8128}, //11214 #CJK UNIFIED IDEOGRAPH
+  {0xC391, 0x8129}, //11215 #CJK UNIFIED IDEOGRAPH
+  {0xC392, 0x812A}, //11216 #CJK UNIFIED IDEOGRAPH
+  {0xC393, 0x812B}, //11217 #CJK UNIFIED IDEOGRAPH
+  {0xC394, 0x812D}, //11218 #CJK UNIFIED IDEOGRAPH
+  {0xC395, 0x812E}, //11219 #CJK UNIFIED IDEOGRAPH
+  {0xC396, 0x8130}, //11220 #CJK UNIFIED IDEOGRAPH
+  {0xC397, 0x8133}, //11221 #CJK UNIFIED IDEOGRAPH
+  {0xC398, 0x8134}, //11222 #CJK UNIFIED IDEOGRAPH
+  {0xC399, 0x8135}, //11223 #CJK UNIFIED IDEOGRAPH
+  {0xC39A, 0x8137}, //11224 #CJK UNIFIED IDEOGRAPH
+  {0xC39B, 0x8139}, //11225 #CJK UNIFIED IDEOGRAPH
+  {0xC39C, 0x813A}, //11226 #CJK UNIFIED IDEOGRAPH
+  {0xC39D, 0x813B}, //11227 #CJK UNIFIED IDEOGRAPH
+  {0xC39E, 0x813C}, //11228 #CJK UNIFIED IDEOGRAPH
+  {0xC39F, 0x813D}, //11229 #CJK UNIFIED IDEOGRAPH
+  {0xC3A0, 0x813F}, //11230 #CJK UNIFIED IDEOGRAPH
+  {0xC3A1, 0x8C29}, //11231 #CJK UNIFIED IDEOGRAPH
+  {0xC3A2, 0x8292}, //11232 #CJK UNIFIED IDEOGRAPH
+  {0xC3A3, 0x832B}, //11233 #CJK UNIFIED IDEOGRAPH
+  {0xC3A4, 0x76F2}, //11234 #CJK UNIFIED IDEOGRAPH
+  {0xC3A5, 0x6C13}, //11235 #CJK UNIFIED IDEOGRAPH
+  {0xC3A6, 0x5FD9}, //11236 #CJK UNIFIED IDEOGRAPH
+  {0xC3A7, 0x83BD}, //11237 #CJK UNIFIED IDEOGRAPH
+  {0xC3A8, 0x732B}, //11238 #CJK UNIFIED IDEOGRAPH
+  {0xC3A9, 0x8305}, //11239 #CJK UNIFIED IDEOGRAPH
+  {0xC3AA, 0x951A}, //11240 #CJK UNIFIED IDEOGRAPH
+  {0xC3AB, 0x6BDB}, //11241 #CJK UNIFIED IDEOGRAPH
+  {0xC3AC, 0x77DB}, //11242 #CJK UNIFIED IDEOGRAPH
+  {0xC3AD, 0x94C6}, //11243 #CJK UNIFIED IDEOGRAPH
+  {0xC3AE, 0x536F}, //11244 #CJK UNIFIED IDEOGRAPH
+  {0xC3AF, 0x8302}, //11245 #CJK UNIFIED IDEOGRAPH
+  {0xC3B0, 0x5192}, //11246 #CJK UNIFIED IDEOGRAPH
+  {0xC3B1, 0x5E3D}, //11247 #CJK UNIFIED IDEOGRAPH
+  {0xC3B2, 0x8C8C}, //11248 #CJK UNIFIED IDEOGRAPH
+  {0xC3B3, 0x8D38}, //11249 #CJK UNIFIED IDEOGRAPH
+  {0xC3B4, 0x4E48}, //11250 #CJK UNIFIED IDEOGRAPH
+  {0xC3B5, 0x73AB}, //11251 #CJK UNIFIED IDEOGRAPH
+  {0xC3B6, 0x679A}, //11252 #CJK UNIFIED IDEOGRAPH
+  {0xC3B7, 0x6885}, //11253 #CJK UNIFIED IDEOGRAPH
+  {0xC3B8, 0x9176}, //11254 #CJK UNIFIED IDEOGRAPH
+  {0xC3B9, 0x9709}, //11255 #CJK UNIFIED IDEOGRAPH
+  {0xC3BA, 0x7164}, //11256 #CJK UNIFIED IDEOGRAPH
+  {0xC3BB, 0x6CA1}, //11257 #CJK UNIFIED IDEOGRAPH
+  {0xC3BC, 0x7709}, //11258 #CJK UNIFIED IDEOGRAPH
+  {0xC3BD, 0x5A92}, //11259 #CJK UNIFIED IDEOGRAPH
+  {0xC3BE, 0x9541}, //11260 #CJK UNIFIED IDEOGRAPH
+  {0xC3BF, 0x6BCF}, //11261 #CJK UNIFIED IDEOGRAPH
+  {0xC3C0, 0x7F8E}, //11262 #CJK UNIFIED IDEOGRAPH
+  {0xC3C1, 0x6627}, //11263 #CJK UNIFIED IDEOGRAPH
+  {0xC3C2, 0x5BD0}, //11264 #CJK UNIFIED IDEOGRAPH
+  {0xC3C3, 0x59B9}, //11265 #CJK UNIFIED IDEOGRAPH
+  {0xC3C4, 0x5A9A}, //11266 #CJK UNIFIED IDEOGRAPH
+  {0xC3C5, 0x95E8}, //11267 #CJK UNIFIED IDEOGRAPH
+  {0xC3C6, 0x95F7}, //11268 #CJK UNIFIED IDEOGRAPH
+  {0xC3C7, 0x4EEC}, //11269 #CJK UNIFIED IDEOGRAPH
+  {0xC3C8, 0x840C}, //11270 #CJK UNIFIED IDEOGRAPH
+  {0xC3C9, 0x8499}, //11271 #CJK UNIFIED IDEOGRAPH
+  {0xC3CA, 0x6AAC}, //11272 #CJK UNIFIED IDEOGRAPH
+  {0xC3CB, 0x76DF}, //11273 #CJK UNIFIED IDEOGRAPH
+  {0xC3CC, 0x9530}, //11274 #CJK UNIFIED IDEOGRAPH
+  {0xC3CD, 0x731B}, //11275 #CJK UNIFIED IDEOGRAPH
+  {0xC3CE, 0x68A6}, //11276 #CJK UNIFIED IDEOGRAPH
+  {0xC3CF, 0x5B5F}, //11277 #CJK UNIFIED IDEOGRAPH
+  {0xC3D0, 0x772F}, //11278 #CJK UNIFIED IDEOGRAPH
+  {0xC3D1, 0x919A}, //11279 #CJK UNIFIED IDEOGRAPH
+  {0xC3D2, 0x9761}, //11280 #CJK UNIFIED IDEOGRAPH
+  {0xC3D3, 0x7CDC}, //11281 #CJK UNIFIED IDEOGRAPH
+  {0xC3D4, 0x8FF7}, //11282 #CJK UNIFIED IDEOGRAPH
+  {0xC3D5, 0x8C1C}, //11283 #CJK UNIFIED IDEOGRAPH
+  {0xC3D6, 0x5F25}, //11284 #CJK UNIFIED IDEOGRAPH
+  {0xC3D7, 0x7C73}, //11285 #CJK UNIFIED IDEOGRAPH
+  {0xC3D8, 0x79D8}, //11286 #CJK UNIFIED IDEOGRAPH
+  {0xC3D9, 0x89C5}, //11287 #CJK UNIFIED IDEOGRAPH
+  {0xC3DA, 0x6CCC}, //11288 #CJK UNIFIED IDEOGRAPH
+  {0xC3DB, 0x871C}, //11289 #CJK UNIFIED IDEOGRAPH
+  {0xC3DC, 0x5BC6}, //11290 #CJK UNIFIED IDEOGRAPH
+  {0xC3DD, 0x5E42}, //11291 #CJK UNIFIED IDEOGRAPH
+  {0xC3DE, 0x68C9}, //11292 #CJK UNIFIED IDEOGRAPH
+  {0xC3DF, 0x7720}, //11293 #CJK UNIFIED IDEOGRAPH
+  {0xC3E0, 0x7EF5}, //11294 #CJK UNIFIED IDEOGRAPH
+  {0xC3E1, 0x5195}, //11295 #CJK UNIFIED IDEOGRAPH
+  {0xC3E2, 0x514D}, //11296 #CJK UNIFIED IDEOGRAPH
+  {0xC3E3, 0x52C9}, //11297 #CJK UNIFIED IDEOGRAPH
+  {0xC3E4, 0x5A29}, //11298 #CJK UNIFIED IDEOGRAPH
+  {0xC3E5, 0x7F05}, //11299 #CJK UNIFIED IDEOGRAPH
+  {0xC3E6, 0x9762}, //11300 #CJK UNIFIED IDEOGRAPH
+  {0xC3E7, 0x82D7}, //11301 #CJK UNIFIED IDEOGRAPH
+  {0xC3E8, 0x63CF}, //11302 #CJK UNIFIED IDEOGRAPH
+  {0xC3E9, 0x7784}, //11303 #CJK UNIFIED IDEOGRAPH
+  {0xC3EA, 0x85D0}, //11304 #CJK UNIFIED IDEOGRAPH
+  {0xC3EB, 0x79D2}, //11305 #CJK UNIFIED IDEOGRAPH
+  {0xC3EC, 0x6E3A}, //11306 #CJK UNIFIED IDEOGRAPH
+  {0xC3ED, 0x5E99}, //11307 #CJK UNIFIED IDEOGRAPH
+  {0xC3EE, 0x5999}, //11308 #CJK UNIFIED IDEOGRAPH
+  {0xC3EF, 0x8511}, //11309 #CJK UNIFIED IDEOGRAPH
+  {0xC3F0, 0x706D}, //11310 #CJK UNIFIED IDEOGRAPH
+  {0xC3F1, 0x6C11}, //11311 #CJK UNIFIED IDEOGRAPH
+  {0xC3F2, 0x62BF}, //11312 #CJK UNIFIED IDEOGRAPH
+  {0xC3F3, 0x76BF}, //11313 #CJK UNIFIED IDEOGRAPH
+  {0xC3F4, 0x654F}, //11314 #CJK UNIFIED IDEOGRAPH
+  {0xC3F5, 0x60AF}, //11315 #CJK UNIFIED IDEOGRAPH
+  {0xC3F6, 0x95FD}, //11316 #CJK UNIFIED IDEOGRAPH
+  {0xC3F7, 0x660E}, //11317 #CJK UNIFIED IDEOGRAPH
+  {0xC3F8, 0x879F}, //11318 #CJK UNIFIED IDEOGRAPH
+  {0xC3F9, 0x9E23}, //11319 #CJK UNIFIED IDEOGRAPH
+  {0xC3FA, 0x94ED}, //11320 #CJK UNIFIED IDEOGRAPH
+  {0xC3FB, 0x540D}, //11321 #CJK UNIFIED IDEOGRAPH
+  {0xC3FC, 0x547D}, //11322 #CJK UNIFIED IDEOGRAPH
+  {0xC3FD, 0x8C2C}, //11323 #CJK UNIFIED IDEOGRAPH
+  {0xC3FE, 0x6478}, //11324 #CJK UNIFIED IDEOGRAPH
+  {0xC440, 0x8140}, //11325 #CJK UNIFIED IDEOGRAPH
+  {0xC441, 0x8141}, //11326 #CJK UNIFIED IDEOGRAPH
+  {0xC442, 0x8142}, //11327 #CJK UNIFIED IDEOGRAPH
+  {0xC443, 0x8143}, //11328 #CJK UNIFIED IDEOGRAPH
+  {0xC444, 0x8144}, //11329 #CJK UNIFIED IDEOGRAPH
+  {0xC445, 0x8145}, //11330 #CJK UNIFIED IDEOGRAPH
+  {0xC446, 0x8147}, //11331 #CJK UNIFIED IDEOGRAPH
+  {0xC447, 0x8149}, //11332 #CJK UNIFIED IDEOGRAPH
+  {0xC448, 0x814D}, //11333 #CJK UNIFIED IDEOGRAPH
+  {0xC449, 0x814E}, //11334 #CJK UNIFIED IDEOGRAPH
+  {0xC44A, 0x814F}, //11335 #CJK UNIFIED IDEOGRAPH
+  {0xC44B, 0x8152}, //11336 #CJK UNIFIED IDEOGRAPH
+  {0xC44C, 0x8156}, //11337 #CJK UNIFIED IDEOGRAPH
+  {0xC44D, 0x8157}, //11338 #CJK UNIFIED IDEOGRAPH
+  {0xC44E, 0x8158}, //11339 #CJK UNIFIED IDEOGRAPH
+  {0xC44F, 0x815B}, //11340 #CJK UNIFIED IDEOGRAPH
+  {0xC450, 0x815C}, //11341 #CJK UNIFIED IDEOGRAPH
+  {0xC451, 0x815D}, //11342 #CJK UNIFIED IDEOGRAPH
+  {0xC452, 0x815E}, //11343 #CJK UNIFIED IDEOGRAPH
+  {0xC453, 0x815F}, //11344 #CJK UNIFIED IDEOGRAPH
+  {0xC454, 0x8161}, //11345 #CJK UNIFIED IDEOGRAPH
+  {0xC455, 0x8162}, //11346 #CJK UNIFIED IDEOGRAPH
+  {0xC456, 0x8163}, //11347 #CJK UNIFIED IDEOGRAPH
+  {0xC457, 0x8164}, //11348 #CJK UNIFIED IDEOGRAPH
+  {0xC458, 0x8166}, //11349 #CJK UNIFIED IDEOGRAPH
+  {0xC459, 0x8168}, //11350 #CJK UNIFIED IDEOGRAPH
+  {0xC45A, 0x816A}, //11351 #CJK UNIFIED IDEOGRAPH
+  {0xC45B, 0x816B}, //11352 #CJK UNIFIED IDEOGRAPH
+  {0xC45C, 0x816C}, //11353 #CJK UNIFIED IDEOGRAPH
+  {0xC45D, 0x816F}, //11354 #CJK UNIFIED IDEOGRAPH
+  {0xC45E, 0x8172}, //11355 #CJK UNIFIED IDEOGRAPH
+  {0xC45F, 0x8173}, //11356 #CJK UNIFIED IDEOGRAPH
+  {0xC460, 0x8175}, //11357 #CJK UNIFIED IDEOGRAPH
+  {0xC461, 0x8176}, //11358 #CJK UNIFIED IDEOGRAPH
+  {0xC462, 0x8177}, //11359 #CJK UNIFIED IDEOGRAPH
+  {0xC463, 0x8178}, //11360 #CJK UNIFIED IDEOGRAPH
+  {0xC464, 0x8181}, //11361 #CJK UNIFIED IDEOGRAPH
+  {0xC465, 0x8183}, //11362 #CJK UNIFIED IDEOGRAPH
+  {0xC466, 0x8184}, //11363 #CJK UNIFIED IDEOGRAPH
+  {0xC467, 0x8185}, //11364 #CJK UNIFIED IDEOGRAPH
+  {0xC468, 0x8186}, //11365 #CJK UNIFIED IDEOGRAPH
+  {0xC469, 0x8187}, //11366 #CJK UNIFIED IDEOGRAPH
+  {0xC46A, 0x8189}, //11367 #CJK UNIFIED IDEOGRAPH
+  {0xC46B, 0x818B}, //11368 #CJK UNIFIED IDEOGRAPH
+  {0xC46C, 0x818C}, //11369 #CJK UNIFIED IDEOGRAPH
+  {0xC46D, 0x818D}, //11370 #CJK UNIFIED IDEOGRAPH
+  {0xC46E, 0x818E}, //11371 #CJK UNIFIED IDEOGRAPH
+  {0xC46F, 0x8190}, //11372 #CJK UNIFIED IDEOGRAPH
+  {0xC470, 0x8192}, //11373 #CJK UNIFIED IDEOGRAPH
+  {0xC471, 0x8193}, //11374 #CJK UNIFIED IDEOGRAPH
+  {0xC472, 0x8194}, //11375 #CJK UNIFIED IDEOGRAPH
+  {0xC473, 0x8195}, //11376 #CJK UNIFIED IDEOGRAPH
+  {0xC474, 0x8196}, //11377 #CJK UNIFIED IDEOGRAPH
+  {0xC475, 0x8197}, //11378 #CJK UNIFIED IDEOGRAPH
+  {0xC476, 0x8199}, //11379 #CJK UNIFIED IDEOGRAPH
+  {0xC477, 0x819A}, //11380 #CJK UNIFIED IDEOGRAPH
+  {0xC478, 0x819E}, //11381 #CJK UNIFIED IDEOGRAPH
+  {0xC479, 0x819F}, //11382 #CJK UNIFIED IDEOGRAPH
+  {0xC47A, 0x81A0}, //11383 #CJK UNIFIED IDEOGRAPH
+  {0xC47B, 0x81A1}, //11384 #CJK UNIFIED IDEOGRAPH
+  {0xC47C, 0x81A2}, //11385 #CJK UNIFIED IDEOGRAPH
+  {0xC47D, 0x81A4}, //11386 #CJK UNIFIED IDEOGRAPH
+  {0xC47E, 0x81A5}, //11387 #CJK UNIFIED IDEOGRAPH
+  {0xC480, 0x81A7}, //11388 #CJK UNIFIED IDEOGRAPH
+  {0xC481, 0x81A9}, //11389 #CJK UNIFIED IDEOGRAPH
+  {0xC482, 0x81AB}, //11390 #CJK UNIFIED IDEOGRAPH
+  {0xC483, 0x81AC}, //11391 #CJK UNIFIED IDEOGRAPH
+  {0xC484, 0x81AD}, //11392 #CJK UNIFIED IDEOGRAPH
+  {0xC485, 0x81AE}, //11393 #CJK UNIFIED IDEOGRAPH
+  {0xC486, 0x81AF}, //11394 #CJK UNIFIED IDEOGRAPH
+  {0xC487, 0x81B0}, //11395 #CJK UNIFIED IDEOGRAPH
+  {0xC488, 0x81B1}, //11396 #CJK UNIFIED IDEOGRAPH
+  {0xC489, 0x81B2}, //11397 #CJK UNIFIED IDEOGRAPH
+  {0xC48A, 0x81B4}, //11398 #CJK UNIFIED IDEOGRAPH
+  {0xC48B, 0x81B5}, //11399 #CJK UNIFIED IDEOGRAPH
+  {0xC48C, 0x81B6}, //11400 #CJK UNIFIED IDEOGRAPH
+  {0xC48D, 0x81B7}, //11401 #CJK UNIFIED IDEOGRAPH
+  {0xC48E, 0x81B8}, //11402 #CJK UNIFIED IDEOGRAPH
+  {0xC48F, 0x81B9}, //11403 #CJK UNIFIED IDEOGRAPH
+  {0xC490, 0x81BC}, //11404 #CJK UNIFIED IDEOGRAPH
+  {0xC491, 0x81BD}, //11405 #CJK UNIFIED IDEOGRAPH
+  {0xC492, 0x81BE}, //11406 #CJK UNIFIED IDEOGRAPH
+  {0xC493, 0x81BF}, //11407 #CJK UNIFIED IDEOGRAPH
+  {0xC494, 0x81C4}, //11408 #CJK UNIFIED IDEOGRAPH
+  {0xC495, 0x81C5}, //11409 #CJK UNIFIED IDEOGRAPH
+  {0xC496, 0x81C7}, //11410 #CJK UNIFIED IDEOGRAPH
+  {0xC497, 0x81C8}, //11411 #CJK UNIFIED IDEOGRAPH
+  {0xC498, 0x81C9}, //11412 #CJK UNIFIED IDEOGRAPH
+  {0xC499, 0x81CB}, //11413 #CJK UNIFIED IDEOGRAPH
+  {0xC49A, 0x81CD}, //11414 #CJK UNIFIED IDEOGRAPH
+  {0xC49B, 0x81CE}, //11415 #CJK UNIFIED IDEOGRAPH
+  {0xC49C, 0x81CF}, //11416 #CJK UNIFIED IDEOGRAPH
+  {0xC49D, 0x81D0}, //11417 #CJK UNIFIED IDEOGRAPH
+  {0xC49E, 0x81D1}, //11418 #CJK UNIFIED IDEOGRAPH
+  {0xC49F, 0x81D2}, //11419 #CJK UNIFIED IDEOGRAPH
+  {0xC4A0, 0x81D3}, //11420 #CJK UNIFIED IDEOGRAPH
+  {0xC4A1, 0x6479}, //11421 #CJK UNIFIED IDEOGRAPH
+  {0xC4A2, 0x8611}, //11422 #CJK UNIFIED IDEOGRAPH
+  {0xC4A3, 0x6A21}, //11423 #CJK UNIFIED IDEOGRAPH
+  {0xC4A4, 0x819C}, //11424 #CJK UNIFIED IDEOGRAPH
+  {0xC4A5, 0x78E8}, //11425 #CJK UNIFIED IDEOGRAPH
+  {0xC4A6, 0x6469}, //11426 #CJK UNIFIED IDEOGRAPH
+  {0xC4A7, 0x9B54}, //11427 #CJK UNIFIED IDEOGRAPH
+  {0xC4A8, 0x62B9}, //11428 #CJK UNIFIED IDEOGRAPH
+  {0xC4A9, 0x672B}, //11429 #CJK UNIFIED IDEOGRAPH
+  {0xC4AA, 0x83AB}, //11430 #CJK UNIFIED IDEOGRAPH
+  {0xC4AB, 0x58A8}, //11431 #CJK UNIFIED IDEOGRAPH
+  {0xC4AC, 0x9ED8}, //11432 #CJK UNIFIED IDEOGRAPH
+  {0xC4AD, 0x6CAB}, //11433 #CJK UNIFIED IDEOGRAPH
+  {0xC4AE, 0x6F20}, //11434 #CJK UNIFIED IDEOGRAPH
+  {0xC4AF, 0x5BDE}, //11435 #CJK UNIFIED IDEOGRAPH
+  {0xC4B0, 0x964C}, //11436 #CJK UNIFIED IDEOGRAPH
+  {0xC4B1, 0x8C0B}, //11437 #CJK UNIFIED IDEOGRAPH
+  {0xC4B2, 0x725F}, //11438 #CJK UNIFIED IDEOGRAPH
+  {0xC4B3, 0x67D0}, //11439 #CJK UNIFIED IDEOGRAPH
+  {0xC4B4, 0x62C7}, //11440 #CJK UNIFIED IDEOGRAPH
+  {0xC4B5, 0x7261}, //11441 #CJK UNIFIED IDEOGRAPH
+  {0xC4B6, 0x4EA9}, //11442 #CJK UNIFIED IDEOGRAPH
+  {0xC4B7, 0x59C6}, //11443 #CJK UNIFIED IDEOGRAPH
+  {0xC4B8, 0x6BCD}, //11444 #CJK UNIFIED IDEOGRAPH
+  {0xC4B9, 0x5893}, //11445 #CJK UNIFIED IDEOGRAPH
+  {0xC4BA, 0x66AE}, //11446 #CJK UNIFIED IDEOGRAPH
+  {0xC4BB, 0x5E55}, //11447 #CJK UNIFIED IDEOGRAPH
+  {0xC4BC, 0x52DF}, //11448 #CJK UNIFIED IDEOGRAPH
+  {0xC4BD, 0x6155}, //11449 #CJK UNIFIED IDEOGRAPH
+  {0xC4BE, 0x6728}, //11450 #CJK UNIFIED IDEOGRAPH
+  {0xC4BF, 0x76EE}, //11451 #CJK UNIFIED IDEOGRAPH
+  {0xC4C0, 0x7766}, //11452 #CJK UNIFIED IDEOGRAPH
+  {0xC4C1, 0x7267}, //11453 #CJK UNIFIED IDEOGRAPH
+  {0xC4C2, 0x7A46}, //11454 #CJK UNIFIED IDEOGRAPH
+  {0xC4C3, 0x62FF}, //11455 #CJK UNIFIED IDEOGRAPH
+  {0xC4C4, 0x54EA}, //11456 #CJK UNIFIED IDEOGRAPH
+  {0xC4C5, 0x5450}, //11457 #CJK UNIFIED IDEOGRAPH
+  {0xC4C6, 0x94A0}, //11458 #CJK UNIFIED IDEOGRAPH
+  {0xC4C7, 0x90A3}, //11459 #CJK UNIFIED IDEOGRAPH
+  {0xC4C8, 0x5A1C}, //11460 #CJK UNIFIED IDEOGRAPH
+  {0xC4C9, 0x7EB3}, //11461 #CJK UNIFIED IDEOGRAPH
+  {0xC4CA, 0x6C16}, //11462 #CJK UNIFIED IDEOGRAPH
+  {0xC4CB, 0x4E43}, //11463 #CJK UNIFIED IDEOGRAPH
+  {0xC4CC, 0x5976}, //11464 #CJK UNIFIED IDEOGRAPH
+  {0xC4CD, 0x8010}, //11465 #CJK UNIFIED IDEOGRAPH
+  {0xC4CE, 0x5948}, //11466 #CJK UNIFIED IDEOGRAPH
+  {0xC4CF, 0x5357}, //11467 #CJK UNIFIED IDEOGRAPH
+  {0xC4D0, 0x7537}, //11468 #CJK UNIFIED IDEOGRAPH
+  {0xC4D1, 0x96BE}, //11469 #CJK UNIFIED IDEOGRAPH
+  {0xC4D2, 0x56CA}, //11470 #CJK UNIFIED IDEOGRAPH
+  {0xC4D3, 0x6320}, //11471 #CJK UNIFIED IDEOGRAPH
+  {0xC4D4, 0x8111}, //11472 #CJK UNIFIED IDEOGRAPH
+  {0xC4D5, 0x607C}, //11473 #CJK UNIFIED IDEOGRAPH
+  {0xC4D6, 0x95F9}, //11474 #CJK UNIFIED IDEOGRAPH
+  {0xC4D7, 0x6DD6}, //11475 #CJK UNIFIED IDEOGRAPH
+  {0xC4D8, 0x5462}, //11476 #CJK UNIFIED IDEOGRAPH
+  {0xC4D9, 0x9981}, //11477 #CJK UNIFIED IDEOGRAPH
+  {0xC4DA, 0x5185}, //11478 #CJK UNIFIED IDEOGRAPH
+  {0xC4DB, 0x5AE9}, //11479 #CJK UNIFIED IDEOGRAPH
+  {0xC4DC, 0x80FD}, //11480 #CJK UNIFIED IDEOGRAPH
+  {0xC4DD, 0x59AE}, //11481 #CJK UNIFIED IDEOGRAPH
+  {0xC4DE, 0x9713}, //11482 #CJK UNIFIED IDEOGRAPH
+  {0xC4DF, 0x502A}, //11483 #CJK UNIFIED IDEOGRAPH
+  {0xC4E0, 0x6CE5}, //11484 #CJK UNIFIED IDEOGRAPH
+  {0xC4E1, 0x5C3C}, //11485 #CJK UNIFIED IDEOGRAPH
+  {0xC4E2, 0x62DF}, //11486 #CJK UNIFIED IDEOGRAPH
+  {0xC4E3, 0x4F60}, //11487 #CJK UNIFIED IDEOGRAPH
+  {0xC4E4, 0x533F}, //11488 #CJK UNIFIED IDEOGRAPH
+  {0xC4E5, 0x817B}, //11489 #CJK UNIFIED IDEOGRAPH
+  {0xC4E6, 0x9006}, //11490 #CJK UNIFIED IDEOGRAPH
+  {0xC4E7, 0x6EBA}, //11491 #CJK UNIFIED IDEOGRAPH
+  {0xC4E8, 0x852B}, //11492 #CJK UNIFIED IDEOGRAPH
+  {0xC4E9, 0x62C8}, //11493 #CJK UNIFIED IDEOGRAPH
+  {0xC4EA, 0x5E74}, //11494 #CJK UNIFIED IDEOGRAPH
+  {0xC4EB, 0x78BE}, //11495 #CJK UNIFIED IDEOGRAPH
+  {0xC4EC, 0x64B5}, //11496 #CJK UNIFIED IDEOGRAPH
+  {0xC4ED, 0x637B}, //11497 #CJK UNIFIED IDEOGRAPH
+  {0xC4EE, 0x5FF5}, //11498 #CJK UNIFIED IDEOGRAPH
+  {0xC4EF, 0x5A18}, //11499 #CJK UNIFIED IDEOGRAPH
+  {0xC4F0, 0x917F}, //11500 #CJK UNIFIED IDEOGRAPH
+  {0xC4F1, 0x9E1F}, //11501 #CJK UNIFIED IDEOGRAPH
+  {0xC4F2, 0x5C3F}, //11502 #CJK UNIFIED IDEOGRAPH
+  {0xC4F3, 0x634F}, //11503 #CJK UNIFIED IDEOGRAPH
+  {0xC4F4, 0x8042}, //11504 #CJK UNIFIED IDEOGRAPH
+  {0xC4F5, 0x5B7D}, //11505 #CJK UNIFIED IDEOGRAPH
+  {0xC4F6, 0x556E}, //11506 #CJK UNIFIED IDEOGRAPH
+  {0xC4F7, 0x954A}, //11507 #CJK UNIFIED IDEOGRAPH
+  {0xC4F8, 0x954D}, //11508 #CJK UNIFIED IDEOGRAPH
+  {0xC4F9, 0x6D85}, //11509 #CJK UNIFIED IDEOGRAPH
+  {0xC4FA, 0x60A8}, //11510 #CJK UNIFIED IDEOGRAPH
+  {0xC4FB, 0x67E0}, //11511 #CJK UNIFIED IDEOGRAPH
+  {0xC4FC, 0x72DE}, //11512 #CJK UNIFIED IDEOGRAPH
+  {0xC4FD, 0x51DD}, //11513 #CJK UNIFIED IDEOGRAPH
+  {0xC4FE, 0x5B81}, //11514 #CJK UNIFIED IDEOGRAPH
+  {0xC540, 0x81D4}, //11515 #CJK UNIFIED IDEOGRAPH
+  {0xC541, 0x81D5}, //11516 #CJK UNIFIED IDEOGRAPH
+  {0xC542, 0x81D6}, //11517 #CJK UNIFIED IDEOGRAPH
+  {0xC543, 0x81D7}, //11518 #CJK UNIFIED IDEOGRAPH
+  {0xC544, 0x81D8}, //11519 #CJK UNIFIED IDEOGRAPH
+  {0xC545, 0x81D9}, //11520 #CJK UNIFIED IDEOGRAPH
+  {0xC546, 0x81DA}, //11521 #CJK UNIFIED IDEOGRAPH
+  {0xC547, 0x81DB}, //11522 #CJK UNIFIED IDEOGRAPH
+  {0xC548, 0x81DC}, //11523 #CJK UNIFIED IDEOGRAPH
+  {0xC549, 0x81DD}, //11524 #CJK UNIFIED IDEOGRAPH
+  {0xC54A, 0x81DE}, //11525 #CJK UNIFIED IDEOGRAPH
+  {0xC54B, 0x81DF}, //11526 #CJK UNIFIED IDEOGRAPH
+  {0xC54C, 0x81E0}, //11527 #CJK UNIFIED IDEOGRAPH
+  {0xC54D, 0x81E1}, //11528 #CJK UNIFIED IDEOGRAPH
+  {0xC54E, 0x81E2}, //11529 #CJK UNIFIED IDEOGRAPH
+  {0xC54F, 0x81E4}, //11530 #CJK UNIFIED IDEOGRAPH
+  {0xC550, 0x81E5}, //11531 #CJK UNIFIED IDEOGRAPH
+  {0xC551, 0x81E6}, //11532 #CJK UNIFIED IDEOGRAPH
+  {0xC552, 0x81E8}, //11533 #CJK UNIFIED IDEOGRAPH
+  {0xC553, 0x81E9}, //11534 #CJK UNIFIED IDEOGRAPH
+  {0xC554, 0x81EB}, //11535 #CJK UNIFIED IDEOGRAPH
+  {0xC555, 0x81EE}, //11536 #CJK UNIFIED IDEOGRAPH
+  {0xC556, 0x81EF}, //11537 #CJK UNIFIED IDEOGRAPH
+  {0xC557, 0x81F0}, //11538 #CJK UNIFIED IDEOGRAPH
+  {0xC558, 0x81F1}, //11539 #CJK UNIFIED IDEOGRAPH
+  {0xC559, 0x81F2}, //11540 #CJK UNIFIED IDEOGRAPH
+  {0xC55A, 0x81F5}, //11541 #CJK UNIFIED IDEOGRAPH
+  {0xC55B, 0x81F6}, //11542 #CJK UNIFIED IDEOGRAPH
+  {0xC55C, 0x81F7}, //11543 #CJK UNIFIED IDEOGRAPH
+  {0xC55D, 0x81F8}, //11544 #CJK UNIFIED IDEOGRAPH
+  {0xC55E, 0x81F9}, //11545 #CJK UNIFIED IDEOGRAPH
+  {0xC55F, 0x81FA}, //11546 #CJK UNIFIED IDEOGRAPH
+  {0xC560, 0x81FD}, //11547 #CJK UNIFIED IDEOGRAPH
+  {0xC561, 0x81FF}, //11548 #CJK UNIFIED IDEOGRAPH
+  {0xC562, 0x8203}, //11549 #CJK UNIFIED IDEOGRAPH
+  {0xC563, 0x8207}, //11550 #CJK UNIFIED IDEOGRAPH
+  {0xC564, 0x8208}, //11551 #CJK UNIFIED IDEOGRAPH
+  {0xC565, 0x8209}, //11552 #CJK UNIFIED IDEOGRAPH
+  {0xC566, 0x820A}, //11553 #CJK UNIFIED IDEOGRAPH
+  {0xC567, 0x820B}, //11554 #CJK UNIFIED IDEOGRAPH
+  {0xC568, 0x820E}, //11555 #CJK UNIFIED IDEOGRAPH
+  {0xC569, 0x820F}, //11556 #CJK UNIFIED IDEOGRAPH
+  {0xC56A, 0x8211}, //11557 #CJK UNIFIED IDEOGRAPH
+  {0xC56B, 0x8213}, //11558 #CJK UNIFIED IDEOGRAPH
+  {0xC56C, 0x8215}, //11559 #CJK UNIFIED IDEOGRAPH
+  {0xC56D, 0x8216}, //11560 #CJK UNIFIED IDEOGRAPH
+  {0xC56E, 0x8217}, //11561 #CJK UNIFIED IDEOGRAPH
+  {0xC56F, 0x8218}, //11562 #CJK UNIFIED IDEOGRAPH
+  {0xC570, 0x8219}, //11563 #CJK UNIFIED IDEOGRAPH
+  {0xC571, 0x821A}, //11564 #CJK UNIFIED IDEOGRAPH
+  {0xC572, 0x821D}, //11565 #CJK UNIFIED IDEOGRAPH
+  {0xC573, 0x8220}, //11566 #CJK UNIFIED IDEOGRAPH
+  {0xC574, 0x8224}, //11567 #CJK UNIFIED IDEOGRAPH
+  {0xC575, 0x8225}, //11568 #CJK UNIFIED IDEOGRAPH
+  {0xC576, 0x8226}, //11569 #CJK UNIFIED IDEOGRAPH
+  {0xC577, 0x8227}, //11570 #CJK UNIFIED IDEOGRAPH
+  {0xC578, 0x8229}, //11571 #CJK UNIFIED IDEOGRAPH
+  {0xC579, 0x822E}, //11572 #CJK UNIFIED IDEOGRAPH
+  {0xC57A, 0x8232}, //11573 #CJK UNIFIED IDEOGRAPH
+  {0xC57B, 0x823A}, //11574 #CJK UNIFIED IDEOGRAPH
+  {0xC57C, 0x823C}, //11575 #CJK UNIFIED IDEOGRAPH
+  {0xC57D, 0x823D}, //11576 #CJK UNIFIED IDEOGRAPH
+  {0xC57E, 0x823F}, //11577 #CJK UNIFIED IDEOGRAPH
+  {0xC580, 0x8240}, //11578 #CJK UNIFIED IDEOGRAPH
+  {0xC581, 0x8241}, //11579 #CJK UNIFIED IDEOGRAPH
+  {0xC582, 0x8242}, //11580 #CJK UNIFIED IDEOGRAPH
+  {0xC583, 0x8243}, //11581 #CJK UNIFIED IDEOGRAPH
+  {0xC584, 0x8245}, //11582 #CJK UNIFIED IDEOGRAPH
+  {0xC585, 0x8246}, //11583 #CJK UNIFIED IDEOGRAPH
+  {0xC586, 0x8248}, //11584 #CJK UNIFIED IDEOGRAPH
+  {0xC587, 0x824A}, //11585 #CJK UNIFIED IDEOGRAPH
+  {0xC588, 0x824C}, //11586 #CJK UNIFIED IDEOGRAPH
+  {0xC589, 0x824D}, //11587 #CJK UNIFIED IDEOGRAPH
+  {0xC58A, 0x824E}, //11588 #CJK UNIFIED IDEOGRAPH
+  {0xC58B, 0x8250}, //11589 #CJK UNIFIED IDEOGRAPH
+  {0xC58C, 0x8251}, //11590 #CJK UNIFIED IDEOGRAPH
+  {0xC58D, 0x8252}, //11591 #CJK UNIFIED IDEOGRAPH
+  {0xC58E, 0x8253}, //11592 #CJK UNIFIED IDEOGRAPH
+  {0xC58F, 0x8254}, //11593 #CJK UNIFIED IDEOGRAPH
+  {0xC590, 0x8255}, //11594 #CJK UNIFIED IDEOGRAPH
+  {0xC591, 0x8256}, //11595 #CJK UNIFIED IDEOGRAPH
+  {0xC592, 0x8257}, //11596 #CJK UNIFIED IDEOGRAPH
+  {0xC593, 0x8259}, //11597 #CJK UNIFIED IDEOGRAPH
+  {0xC594, 0x825B}, //11598 #CJK UNIFIED IDEOGRAPH
+  {0xC595, 0x825C}, //11599 #CJK UNIFIED IDEOGRAPH
+  {0xC596, 0x825D}, //11600 #CJK UNIFIED IDEOGRAPH
+  {0xC597, 0x825E}, //11601 #CJK UNIFIED IDEOGRAPH
+  {0xC598, 0x8260}, //11602 #CJK UNIFIED IDEOGRAPH
+  {0xC599, 0x8261}, //11603 #CJK UNIFIED IDEOGRAPH
+  {0xC59A, 0x8262}, //11604 #CJK UNIFIED IDEOGRAPH
+  {0xC59B, 0x8263}, //11605 #CJK UNIFIED IDEOGRAPH
+  {0xC59C, 0x8264}, //11606 #CJK UNIFIED IDEOGRAPH
+  {0xC59D, 0x8265}, //11607 #CJK UNIFIED IDEOGRAPH
+  {0xC59E, 0x8266}, //11608 #CJK UNIFIED IDEOGRAPH
+  {0xC59F, 0x8267}, //11609 #CJK UNIFIED IDEOGRAPH
+  {0xC5A0, 0x8269}, //11610 #CJK UNIFIED IDEOGRAPH
+  {0xC5A1, 0x62E7}, //11611 #CJK UNIFIED IDEOGRAPH
+  {0xC5A2, 0x6CDE}, //11612 #CJK UNIFIED IDEOGRAPH
+  {0xC5A3, 0x725B}, //11613 #CJK UNIFIED IDEOGRAPH
+  {0xC5A4, 0x626D}, //11614 #CJK UNIFIED IDEOGRAPH
+  {0xC5A5, 0x94AE}, //11615 #CJK UNIFIED IDEOGRAPH
+  {0xC5A6, 0x7EBD}, //11616 #CJK UNIFIED IDEOGRAPH
+  {0xC5A7, 0x8113}, //11617 #CJK UNIFIED IDEOGRAPH
+  {0xC5A8, 0x6D53}, //11618 #CJK UNIFIED IDEOGRAPH
+  {0xC5A9, 0x519C}, //11619 #CJK UNIFIED IDEOGRAPH
+  {0xC5AA, 0x5F04}, //11620 #CJK UNIFIED IDEOGRAPH
+  {0xC5AB, 0x5974}, //11621 #CJK UNIFIED IDEOGRAPH
+  {0xC5AC, 0x52AA}, //11622 #CJK UNIFIED IDEOGRAPH
+  {0xC5AD, 0x6012}, //11623 #CJK UNIFIED IDEOGRAPH
+  {0xC5AE, 0x5973}, //11624 #CJK UNIFIED IDEOGRAPH
+  {0xC5AF, 0x6696}, //11625 #CJK UNIFIED IDEOGRAPH
+  {0xC5B0, 0x8650}, //11626 #CJK UNIFIED IDEOGRAPH
+  {0xC5B1, 0x759F}, //11627 #CJK UNIFIED IDEOGRAPH
+  {0xC5B2, 0x632A}, //11628 #CJK UNIFIED IDEOGRAPH
+  {0xC5B3, 0x61E6}, //11629 #CJK UNIFIED IDEOGRAPH
+  {0xC5B4, 0x7CEF}, //11630 #CJK UNIFIED IDEOGRAPH
+  {0xC5B5, 0x8BFA}, //11631 #CJK UNIFIED IDEOGRAPH
+  {0xC5B6, 0x54E6}, //11632 #CJK UNIFIED IDEOGRAPH
+  {0xC5B7, 0x6B27}, //11633 #CJK UNIFIED IDEOGRAPH
+  {0xC5B8, 0x9E25}, //11634 #CJK UNIFIED IDEOGRAPH
+  {0xC5B9, 0x6BB4}, //11635 #CJK UNIFIED IDEOGRAPH
+  {0xC5BA, 0x85D5}, //11636 #CJK UNIFIED IDEOGRAPH
+  {0xC5BB, 0x5455}, //11637 #CJK UNIFIED IDEOGRAPH
+  {0xC5BC, 0x5076}, //11638 #CJK UNIFIED IDEOGRAPH
+  {0xC5BD, 0x6CA4}, //11639 #CJK UNIFIED IDEOGRAPH
+  {0xC5BE, 0x556A}, //11640 #CJK UNIFIED IDEOGRAPH
+  {0xC5BF, 0x8DB4}, //11641 #CJK UNIFIED IDEOGRAPH
+  {0xC5C0, 0x722C}, //11642 #CJK UNIFIED IDEOGRAPH
+  {0xC5C1, 0x5E15}, //11643 #CJK UNIFIED IDEOGRAPH
+  {0xC5C2, 0x6015}, //11644 #CJK UNIFIED IDEOGRAPH
+  {0xC5C3, 0x7436}, //11645 #CJK UNIFIED IDEOGRAPH
+  {0xC5C4, 0x62CD}, //11646 #CJK UNIFIED IDEOGRAPH
+  {0xC5C5, 0x6392}, //11647 #CJK UNIFIED IDEOGRAPH
+  {0xC5C6, 0x724C}, //11648 #CJK UNIFIED IDEOGRAPH
+  {0xC5C7, 0x5F98}, //11649 #CJK UNIFIED IDEOGRAPH
+  {0xC5C8, 0x6E43}, //11650 #CJK UNIFIED IDEOGRAPH
+  {0xC5C9, 0x6D3E}, //11651 #CJK UNIFIED IDEOGRAPH
+  {0xC5CA, 0x6500}, //11652 #CJK UNIFIED IDEOGRAPH
+  {0xC5CB, 0x6F58}, //11653 #CJK UNIFIED IDEOGRAPH
+  {0xC5CC, 0x76D8}, //11654 #CJK UNIFIED IDEOGRAPH
+  {0xC5CD, 0x78D0}, //11655 #CJK UNIFIED IDEOGRAPH
+  {0xC5CE, 0x76FC}, //11656 #CJK UNIFIED IDEOGRAPH
+  {0xC5CF, 0x7554}, //11657 #CJK UNIFIED IDEOGRAPH
+  {0xC5D0, 0x5224}, //11658 #CJK UNIFIED IDEOGRAPH
+  {0xC5D1, 0x53DB}, //11659 #CJK UNIFIED IDEOGRAPH
+  {0xC5D2, 0x4E53}, //11660 #CJK UNIFIED IDEOGRAPH
+  {0xC5D3, 0x5E9E}, //11661 #CJK UNIFIED IDEOGRAPH
+  {0xC5D4, 0x65C1}, //11662 #CJK UNIFIED IDEOGRAPH
+  {0xC5D5, 0x802A}, //11663 #CJK UNIFIED IDEOGRAPH
+  {0xC5D6, 0x80D6}, //11664 #CJK UNIFIED IDEOGRAPH
+  {0xC5D7, 0x629B}, //11665 #CJK UNIFIED IDEOGRAPH
+  {0xC5D8, 0x5486}, //11666 #CJK UNIFIED IDEOGRAPH
+  {0xC5D9, 0x5228}, //11667 #CJK UNIFIED IDEOGRAPH
+  {0xC5DA, 0x70AE}, //11668 #CJK UNIFIED IDEOGRAPH
+  {0xC5DB, 0x888D}, //11669 #CJK UNIFIED IDEOGRAPH
+  {0xC5DC, 0x8DD1}, //11670 #CJK UNIFIED IDEOGRAPH
+  {0xC5DD, 0x6CE1}, //11671 #CJK UNIFIED IDEOGRAPH
+  {0xC5DE, 0x5478}, //11672 #CJK UNIFIED IDEOGRAPH
+  {0xC5DF, 0x80DA}, //11673 #CJK UNIFIED IDEOGRAPH
+  {0xC5E0, 0x57F9}, //11674 #CJK UNIFIED IDEOGRAPH
+  {0xC5E1, 0x88F4}, //11675 #CJK UNIFIED IDEOGRAPH
+  {0xC5E2, 0x8D54}, //11676 #CJK UNIFIED IDEOGRAPH
+  {0xC5E3, 0x966A}, //11677 #CJK UNIFIED IDEOGRAPH
+  {0xC5E4, 0x914D}, //11678 #CJK UNIFIED IDEOGRAPH
+  {0xC5E5, 0x4F69}, //11679 #CJK UNIFIED IDEOGRAPH
+  {0xC5E6, 0x6C9B}, //11680 #CJK UNIFIED IDEOGRAPH
+  {0xC5E7, 0x55B7}, //11681 #CJK UNIFIED IDEOGRAPH
+  {0xC5E8, 0x76C6}, //11682 #CJK UNIFIED IDEOGRAPH
+  {0xC5E9, 0x7830}, //11683 #CJK UNIFIED IDEOGRAPH
+  {0xC5EA, 0x62A8}, //11684 #CJK UNIFIED IDEOGRAPH
+  {0xC5EB, 0x70F9}, //11685 #CJK UNIFIED IDEOGRAPH
+  {0xC5EC, 0x6F8E}, //11686 #CJK UNIFIED IDEOGRAPH
+  {0xC5ED, 0x5F6D}, //11687 #CJK UNIFIED IDEOGRAPH
+  {0xC5EE, 0x84EC}, //11688 #CJK UNIFIED IDEOGRAPH
+  {0xC5EF, 0x68DA}, //11689 #CJK UNIFIED IDEOGRAPH
+  {0xC5F0, 0x787C}, //11690 #CJK UNIFIED IDEOGRAPH
+  {0xC5F1, 0x7BF7}, //11691 #CJK UNIFIED IDEOGRAPH
+  {0xC5F2, 0x81A8}, //11692 #CJK UNIFIED IDEOGRAPH
+  {0xC5F3, 0x670B}, //11693 #CJK UNIFIED IDEOGRAPH
+  {0xC5F4, 0x9E4F}, //11694 #CJK UNIFIED IDEOGRAPH
+  {0xC5F5, 0x6367}, //11695 #CJK UNIFIED IDEOGRAPH
+  {0xC5F6, 0x78B0}, //11696 #CJK UNIFIED IDEOGRAPH
+  {0xC5F7, 0x576F}, //11697 #CJK UNIFIED IDEOGRAPH
+  {0xC5F8, 0x7812}, //11698 #CJK UNIFIED IDEOGRAPH
+  {0xC5F9, 0x9739}, //11699 #CJK UNIFIED IDEOGRAPH
+  {0xC5FA, 0x6279}, //11700 #CJK UNIFIED IDEOGRAPH
+  {0xC5FB, 0x62AB}, //11701 #CJK UNIFIED IDEOGRAPH
+  {0xC5FC, 0x5288}, //11702 #CJK UNIFIED IDEOGRAPH
+  {0xC5FD, 0x7435}, //11703 #CJK UNIFIED IDEOGRAPH
+  {0xC5FE, 0x6BD7}, //11704 #CJK UNIFIED IDEOGRAPH
+  {0xC640, 0x826A}, //11705 #CJK UNIFIED IDEOGRAPH
+  {0xC641, 0x826B}, //11706 #CJK UNIFIED IDEOGRAPH
+  {0xC642, 0x826C}, //11707 #CJK UNIFIED IDEOGRAPH
+  {0xC643, 0x826D}, //11708 #CJK UNIFIED IDEOGRAPH
+  {0xC644, 0x8271}, //11709 #CJK UNIFIED IDEOGRAPH
+  {0xC645, 0x8275}, //11710 #CJK UNIFIED IDEOGRAPH
+  {0xC646, 0x8276}, //11711 #CJK UNIFIED IDEOGRAPH
+  {0xC647, 0x8277}, //11712 #CJK UNIFIED IDEOGRAPH
+  {0xC648, 0x8278}, //11713 #CJK UNIFIED IDEOGRAPH
+  {0xC649, 0x827B}, //11714 #CJK UNIFIED IDEOGRAPH
+  {0xC64A, 0x827C}, //11715 #CJK UNIFIED IDEOGRAPH
+  {0xC64B, 0x8280}, //11716 #CJK UNIFIED IDEOGRAPH
+  {0xC64C, 0x8281}, //11717 #CJK UNIFIED IDEOGRAPH
+  {0xC64D, 0x8283}, //11718 #CJK UNIFIED IDEOGRAPH
+  {0xC64E, 0x8285}, //11719 #CJK UNIFIED IDEOGRAPH
+  {0xC64F, 0x8286}, //11720 #CJK UNIFIED IDEOGRAPH
+  {0xC650, 0x8287}, //11721 #CJK UNIFIED IDEOGRAPH
+  {0xC651, 0x8289}, //11722 #CJK UNIFIED IDEOGRAPH
+  {0xC652, 0x828C}, //11723 #CJK UNIFIED IDEOGRAPH
+  {0xC653, 0x8290}, //11724 #CJK UNIFIED IDEOGRAPH
+  {0xC654, 0x8293}, //11725 #CJK UNIFIED IDEOGRAPH
+  {0xC655, 0x8294}, //11726 #CJK UNIFIED IDEOGRAPH
+  {0xC656, 0x8295}, //11727 #CJK UNIFIED IDEOGRAPH
+  {0xC657, 0x8296}, //11728 #CJK UNIFIED IDEOGRAPH
+  {0xC658, 0x829A}, //11729 #CJK UNIFIED IDEOGRAPH
+  {0xC659, 0x829B}, //11730 #CJK UNIFIED IDEOGRAPH
+  {0xC65A, 0x829E}, //11731 #CJK UNIFIED IDEOGRAPH
+  {0xC65B, 0x82A0}, //11732 #CJK UNIFIED IDEOGRAPH
+  {0xC65C, 0x82A2}, //11733 #CJK UNIFIED IDEOGRAPH
+  {0xC65D, 0x82A3}, //11734 #CJK UNIFIED IDEOGRAPH
+  {0xC65E, 0x82A7}, //11735 #CJK UNIFIED IDEOGRAPH
+  {0xC65F, 0x82B2}, //11736 #CJK UNIFIED IDEOGRAPH
+  {0xC660, 0x82B5}, //11737 #CJK UNIFIED IDEOGRAPH
+  {0xC661, 0x82B6}, //11738 #CJK UNIFIED IDEOGRAPH
+  {0xC662, 0x82BA}, //11739 #CJK UNIFIED IDEOGRAPH
+  {0xC663, 0x82BB}, //11740 #CJK UNIFIED IDEOGRAPH
+  {0xC664, 0x82BC}, //11741 #CJK UNIFIED IDEOGRAPH
+  {0xC665, 0x82BF}, //11742 #CJK UNIFIED IDEOGRAPH
+  {0xC666, 0x82C0}, //11743 #CJK UNIFIED IDEOGRAPH
+  {0xC667, 0x82C2}, //11744 #CJK UNIFIED IDEOGRAPH
+  {0xC668, 0x82C3}, //11745 #CJK UNIFIED IDEOGRAPH
+  {0xC669, 0x82C5}, //11746 #CJK UNIFIED IDEOGRAPH
+  {0xC66A, 0x82C6}, //11747 #CJK UNIFIED IDEOGRAPH
+  {0xC66B, 0x82C9}, //11748 #CJK UNIFIED IDEOGRAPH
+  {0xC66C, 0x82D0}, //11749 #CJK UNIFIED IDEOGRAPH
+  {0xC66D, 0x82D6}, //11750 #CJK UNIFIED IDEOGRAPH
+  {0xC66E, 0x82D9}, //11751 #CJK UNIFIED IDEOGRAPH
+  {0xC66F, 0x82DA}, //11752 #CJK UNIFIED IDEOGRAPH
+  {0xC670, 0x82DD}, //11753 #CJK UNIFIED IDEOGRAPH
+  {0xC671, 0x82E2}, //11754 #CJK UNIFIED IDEOGRAPH
+  {0xC672, 0x82E7}, //11755 #CJK UNIFIED IDEOGRAPH
+  {0xC673, 0x82E8}, //11756 #CJK UNIFIED IDEOGRAPH
+  {0xC674, 0x82E9}, //11757 #CJK UNIFIED IDEOGRAPH
+  {0xC675, 0x82EA}, //11758 #CJK UNIFIED IDEOGRAPH
+  {0xC676, 0x82EC}, //11759 #CJK UNIFIED IDEOGRAPH
+  {0xC677, 0x82ED}, //11760 #CJK UNIFIED IDEOGRAPH
+  {0xC678, 0x82EE}, //11761 #CJK UNIFIED IDEOGRAPH
+  {0xC679, 0x82F0}, //11762 #CJK UNIFIED IDEOGRAPH
+  {0xC67A, 0x82F2}, //11763 #CJK UNIFIED IDEOGRAPH
+  {0xC67B, 0x82F3}, //11764 #CJK UNIFIED IDEOGRAPH
+  {0xC67C, 0x82F5}, //11765 #CJK UNIFIED IDEOGRAPH
+  {0xC67D, 0x82F6}, //11766 #CJK UNIFIED IDEOGRAPH
+  {0xC67E, 0x82F8}, //11767 #CJK UNIFIED IDEOGRAPH
+  {0xC680, 0x82FA}, //11768 #CJK UNIFIED IDEOGRAPH
+  {0xC681, 0x82FC}, //11769 #CJK UNIFIED IDEOGRAPH
+  {0xC682, 0x82FD}, //11770 #CJK UNIFIED IDEOGRAPH
+  {0xC683, 0x82FE}, //11771 #CJK UNIFIED IDEOGRAPH
+  {0xC684, 0x82FF}, //11772 #CJK UNIFIED IDEOGRAPH
+  {0xC685, 0x8300}, //11773 #CJK UNIFIED IDEOGRAPH
+  {0xC686, 0x830A}, //11774 #CJK UNIFIED IDEOGRAPH
+  {0xC687, 0x830B}, //11775 #CJK UNIFIED IDEOGRAPH
+  {0xC688, 0x830D}, //11776 #CJK UNIFIED IDEOGRAPH
+  {0xC689, 0x8310}, //11777 #CJK UNIFIED IDEOGRAPH
+  {0xC68A, 0x8312}, //11778 #CJK UNIFIED IDEOGRAPH
+  {0xC68B, 0x8313}, //11779 #CJK UNIFIED IDEOGRAPH
+  {0xC68C, 0x8316}, //11780 #CJK UNIFIED IDEOGRAPH
+  {0xC68D, 0x8318}, //11781 #CJK UNIFIED IDEOGRAPH
+  {0xC68E, 0x8319}, //11782 #CJK UNIFIED IDEOGRAPH
+  {0xC68F, 0x831D}, //11783 #CJK UNIFIED IDEOGRAPH
+  {0xC690, 0x831E}, //11784 #CJK UNIFIED IDEOGRAPH
+  {0xC691, 0x831F}, //11785 #CJK UNIFIED IDEOGRAPH
+  {0xC692, 0x8320}, //11786 #CJK UNIFIED IDEOGRAPH
+  {0xC693, 0x8321}, //11787 #CJK UNIFIED IDEOGRAPH
+  {0xC694, 0x8322}, //11788 #CJK UNIFIED IDEOGRAPH
+  {0xC695, 0x8323}, //11789 #CJK UNIFIED IDEOGRAPH
+  {0xC696, 0x8324}, //11790 #CJK UNIFIED IDEOGRAPH
+  {0xC697, 0x8325}, //11791 #CJK UNIFIED IDEOGRAPH
+  {0xC698, 0x8326}, //11792 #CJK UNIFIED IDEOGRAPH
+  {0xC699, 0x8329}, //11793 #CJK UNIFIED IDEOGRAPH
+  {0xC69A, 0x832A}, //11794 #CJK UNIFIED IDEOGRAPH
+  {0xC69B, 0x832E}, //11795 #CJK UNIFIED IDEOGRAPH
+  {0xC69C, 0x8330}, //11796 #CJK UNIFIED IDEOGRAPH
+  {0xC69D, 0x8332}, //11797 #CJK UNIFIED IDEOGRAPH
+  {0xC69E, 0x8337}, //11798 #CJK UNIFIED IDEOGRAPH
+  {0xC69F, 0x833B}, //11799 #CJK UNIFIED IDEOGRAPH
+  {0xC6A0, 0x833D}, //11800 #CJK UNIFIED IDEOGRAPH
+  {0xC6A1, 0x5564}, //11801 #CJK UNIFIED IDEOGRAPH
+  {0xC6A2, 0x813E}, //11802 #CJK UNIFIED IDEOGRAPH
+  {0xC6A3, 0x75B2}, //11803 #CJK UNIFIED IDEOGRAPH
+  {0xC6A4, 0x76AE}, //11804 #CJK UNIFIED IDEOGRAPH
+  {0xC6A5, 0x5339}, //11805 #CJK UNIFIED IDEOGRAPH
+  {0xC6A6, 0x75DE}, //11806 #CJK UNIFIED IDEOGRAPH
+  {0xC6A7, 0x50FB}, //11807 #CJK UNIFIED IDEOGRAPH
+  {0xC6A8, 0x5C41}, //11808 #CJK UNIFIED IDEOGRAPH
+  {0xC6A9, 0x8B6C}, //11809 #CJK UNIFIED IDEOGRAPH
+  {0xC6AA, 0x7BC7}, //11810 #CJK UNIFIED IDEOGRAPH
+  {0xC6AB, 0x504F}, //11811 #CJK UNIFIED IDEOGRAPH
+  {0xC6AC, 0x7247}, //11812 #CJK UNIFIED IDEOGRAPH
+  {0xC6AD, 0x9A97}, //11813 #CJK UNIFIED IDEOGRAPH
+  {0xC6AE, 0x98D8}, //11814 #CJK UNIFIED IDEOGRAPH
+  {0xC6AF, 0x6F02}, //11815 #CJK UNIFIED IDEOGRAPH
+  {0xC6B0, 0x74E2}, //11816 #CJK UNIFIED IDEOGRAPH
+  {0xC6B1, 0x7968}, //11817 #CJK UNIFIED IDEOGRAPH
+  {0xC6B2, 0x6487}, //11818 #CJK UNIFIED IDEOGRAPH
+  {0xC6B3, 0x77A5}, //11819 #CJK UNIFIED IDEOGRAPH
+  {0xC6B4, 0x62FC}, //11820 #CJK UNIFIED IDEOGRAPH
+  {0xC6B5, 0x9891}, //11821 #CJK UNIFIED IDEOGRAPH
+  {0xC6B6, 0x8D2B}, //11822 #CJK UNIFIED IDEOGRAPH
+  {0xC6B7, 0x54C1}, //11823 #CJK UNIFIED IDEOGRAPH
+  {0xC6B8, 0x8058}, //11824 #CJK UNIFIED IDEOGRAPH
+  {0xC6B9, 0x4E52}, //11825 #CJK UNIFIED IDEOGRAPH
+  {0xC6BA, 0x576A}, //11826 #CJK UNIFIED IDEOGRAPH
+  {0xC6BB, 0x82F9}, //11827 #CJK UNIFIED IDEOGRAPH
+  {0xC6BC, 0x840D}, //11828 #CJK UNIFIED IDEOGRAPH
+  {0xC6BD, 0x5E73}, //11829 #CJK UNIFIED IDEOGRAPH
+  {0xC6BE, 0x51ED}, //11830 #CJK UNIFIED IDEOGRAPH
+  {0xC6BF, 0x74F6}, //11831 #CJK UNIFIED IDEOGRAPH
+  {0xC6C0, 0x8BC4}, //11832 #CJK UNIFIED IDEOGRAPH
+  {0xC6C1, 0x5C4F}, //11833 #CJK UNIFIED IDEOGRAPH
+  {0xC6C2, 0x5761}, //11834 #CJK UNIFIED IDEOGRAPH
+  {0xC6C3, 0x6CFC}, //11835 #CJK UNIFIED IDEOGRAPH
+  {0xC6C4, 0x9887}, //11836 #CJK UNIFIED IDEOGRAPH
+  {0xC6C5, 0x5A46}, //11837 #CJK UNIFIED IDEOGRAPH
+  {0xC6C6, 0x7834}, //11838 #CJK UNIFIED IDEOGRAPH
+  {0xC6C7, 0x9B44}, //11839 #CJK UNIFIED IDEOGRAPH
+  {0xC6C8, 0x8FEB}, //11840 #CJK UNIFIED IDEOGRAPH
+  {0xC6C9, 0x7C95}, //11841 #CJK UNIFIED IDEOGRAPH
+  {0xC6CA, 0x5256}, //11842 #CJK UNIFIED IDEOGRAPH
+  {0xC6CB, 0x6251}, //11843 #CJK UNIFIED IDEOGRAPH
+  {0xC6CC, 0x94FA}, //11844 #CJK UNIFIED IDEOGRAPH
+  {0xC6CD, 0x4EC6}, //11845 #CJK UNIFIED IDEOGRAPH
+  {0xC6CE, 0x8386}, //11846 #CJK UNIFIED IDEOGRAPH
+  {0xC6CF, 0x8461}, //11847 #CJK UNIFIED IDEOGRAPH
+  {0xC6D0, 0x83E9}, //11848 #CJK UNIFIED IDEOGRAPH
+  {0xC6D1, 0x84B2}, //11849 #CJK UNIFIED IDEOGRAPH
+  {0xC6D2, 0x57D4}, //11850 #CJK UNIFIED IDEOGRAPH
+  {0xC6D3, 0x6734}, //11851 #CJK UNIFIED IDEOGRAPH
+  {0xC6D4, 0x5703}, //11852 #CJK UNIFIED IDEOGRAPH
+  {0xC6D5, 0x666E}, //11853 #CJK UNIFIED IDEOGRAPH
+  {0xC6D6, 0x6D66}, //11854 #CJK UNIFIED IDEOGRAPH
+  {0xC6D7, 0x8C31}, //11855 #CJK UNIFIED IDEOGRAPH
+  {0xC6D8, 0x66DD}, //11856 #CJK UNIFIED IDEOGRAPH
+  {0xC6D9, 0x7011}, //11857 #CJK UNIFIED IDEOGRAPH
+  {0xC6DA, 0x671F}, //11858 #CJK UNIFIED IDEOGRAPH
+  {0xC6DB, 0x6B3A}, //11859 #CJK UNIFIED IDEOGRAPH
+  {0xC6DC, 0x6816}, //11860 #CJK UNIFIED IDEOGRAPH
+  {0xC6DD, 0x621A}, //11861 #CJK UNIFIED IDEOGRAPH
+  {0xC6DE, 0x59BB}, //11862 #CJK UNIFIED IDEOGRAPH
+  {0xC6DF, 0x4E03}, //11863 #CJK UNIFIED IDEOGRAPH
+  {0xC6E0, 0x51C4}, //11864 #CJK UNIFIED IDEOGRAPH
+  {0xC6E1, 0x6F06}, //11865 #CJK UNIFIED IDEOGRAPH
+  {0xC6E2, 0x67D2}, //11866 #CJK UNIFIED IDEOGRAPH
+  {0xC6E3, 0x6C8F}, //11867 #CJK UNIFIED IDEOGRAPH
+  {0xC6E4, 0x5176}, //11868 #CJK UNIFIED IDEOGRAPH
+  {0xC6E5, 0x68CB}, //11869 #CJK UNIFIED IDEOGRAPH
+  {0xC6E6, 0x5947}, //11870 #CJK UNIFIED IDEOGRAPH
+  {0xC6E7, 0x6B67}, //11871 #CJK UNIFIED IDEOGRAPH
+  {0xC6E8, 0x7566}, //11872 #CJK UNIFIED IDEOGRAPH
+  {0xC6E9, 0x5D0E}, //11873 #CJK UNIFIED IDEOGRAPH
+  {0xC6EA, 0x8110}, //11874 #CJK UNIFIED IDEOGRAPH
+  {0xC6EB, 0x9F50}, //11875 #CJK UNIFIED IDEOGRAPH
+  {0xC6EC, 0x65D7}, //11876 #CJK UNIFIED IDEOGRAPH
+  {0xC6ED, 0x7948}, //11877 #CJK UNIFIED IDEOGRAPH
+  {0xC6EE, 0x7941}, //11878 #CJK UNIFIED IDEOGRAPH
+  {0xC6EF, 0x9A91}, //11879 #CJK UNIFIED IDEOGRAPH
+  {0xC6F0, 0x8D77}, //11880 #CJK UNIFIED IDEOGRAPH
+  {0xC6F1, 0x5C82}, //11881 #CJK UNIFIED IDEOGRAPH
+  {0xC6F2, 0x4E5E}, //11882 #CJK UNIFIED IDEOGRAPH
+  {0xC6F3, 0x4F01}, //11883 #CJK UNIFIED IDEOGRAPH
+  {0xC6F4, 0x542F}, //11884 #CJK UNIFIED IDEOGRAPH
+  {0xC6F5, 0x5951}, //11885 #CJK UNIFIED IDEOGRAPH
+  {0xC6F6, 0x780C}, //11886 #CJK UNIFIED IDEOGRAPH
+  {0xC6F7, 0x5668}, //11887 #CJK UNIFIED IDEOGRAPH
+  {0xC6F8, 0x6C14}, //11888 #CJK UNIFIED IDEOGRAPH
+  {0xC6F9, 0x8FC4}, //11889 #CJK UNIFIED IDEOGRAPH
+  {0xC6FA, 0x5F03}, //11890 #CJK UNIFIED IDEOGRAPH
+  {0xC6FB, 0x6C7D}, //11891 #CJK UNIFIED IDEOGRAPH
+  {0xC6FC, 0x6CE3}, //11892 #CJK UNIFIED IDEOGRAPH
+  {0xC6FD, 0x8BAB}, //11893 #CJK UNIFIED IDEOGRAPH
+  {0xC6FE, 0x6390}, //11894 #CJK UNIFIED IDEOGRAPH
+  {0xC740, 0x833E}, //11895 #CJK UNIFIED IDEOGRAPH
+  {0xC741, 0x833F}, //11896 #CJK UNIFIED IDEOGRAPH
+  {0xC742, 0x8341}, //11897 #CJK UNIFIED IDEOGRAPH
+  {0xC743, 0x8342}, //11898 #CJK UNIFIED IDEOGRAPH
+  {0xC744, 0x8344}, //11899 #CJK UNIFIED IDEOGRAPH
+  {0xC745, 0x8345}, //11900 #CJK UNIFIED IDEOGRAPH
+  {0xC746, 0x8348}, //11901 #CJK UNIFIED IDEOGRAPH
+  {0xC747, 0x834A}, //11902 #CJK UNIFIED IDEOGRAPH
+  {0xC748, 0x834B}, //11903 #CJK UNIFIED IDEOGRAPH
+  {0xC749, 0x834C}, //11904 #CJK UNIFIED IDEOGRAPH
+  {0xC74A, 0x834D}, //11905 #CJK UNIFIED IDEOGRAPH
+  {0xC74B, 0x834E}, //11906 #CJK UNIFIED IDEOGRAPH
+  {0xC74C, 0x8353}, //11907 #CJK UNIFIED IDEOGRAPH
+  {0xC74D, 0x8355}, //11908 #CJK UNIFIED IDEOGRAPH
+  {0xC74E, 0x8356}, //11909 #CJK UNIFIED IDEOGRAPH
+  {0xC74F, 0x8357}, //11910 #CJK UNIFIED IDEOGRAPH
+  {0xC750, 0x8358}, //11911 #CJK UNIFIED IDEOGRAPH
+  {0xC751, 0x8359}, //11912 #CJK UNIFIED IDEOGRAPH
+  {0xC752, 0x835D}, //11913 #CJK UNIFIED IDEOGRAPH
+  {0xC753, 0x8362}, //11914 #CJK UNIFIED IDEOGRAPH
+  {0xC754, 0x8370}, //11915 #CJK UNIFIED IDEOGRAPH
+  {0xC755, 0x8371}, //11916 #CJK UNIFIED IDEOGRAPH
+  {0xC756, 0x8372}, //11917 #CJK UNIFIED IDEOGRAPH
+  {0xC757, 0x8373}, //11918 #CJK UNIFIED IDEOGRAPH
+  {0xC758, 0x8374}, //11919 #CJK UNIFIED IDEOGRAPH
+  {0xC759, 0x8375}, //11920 #CJK UNIFIED IDEOGRAPH
+  {0xC75A, 0x8376}, //11921 #CJK UNIFIED IDEOGRAPH
+  {0xC75B, 0x8379}, //11922 #CJK UNIFIED IDEOGRAPH
+  {0xC75C, 0x837A}, //11923 #CJK UNIFIED IDEOGRAPH
+  {0xC75D, 0x837E}, //11924 #CJK UNIFIED IDEOGRAPH
+  {0xC75E, 0x837F}, //11925 #CJK UNIFIED IDEOGRAPH
+  {0xC75F, 0x8380}, //11926 #CJK UNIFIED IDEOGRAPH
+  {0xC760, 0x8381}, //11927 #CJK UNIFIED IDEOGRAPH
+  {0xC761, 0x8382}, //11928 #CJK UNIFIED IDEOGRAPH
+  {0xC762, 0x8383}, //11929 #CJK UNIFIED IDEOGRAPH
+  {0xC763, 0x8384}, //11930 #CJK UNIFIED IDEOGRAPH
+  {0xC764, 0x8387}, //11931 #CJK UNIFIED IDEOGRAPH
+  {0xC765, 0x8388}, //11932 #CJK UNIFIED IDEOGRAPH
+  {0xC766, 0x838A}, //11933 #CJK UNIFIED IDEOGRAPH
+  {0xC767, 0x838B}, //11934 #CJK UNIFIED IDEOGRAPH
+  {0xC768, 0x838C}, //11935 #CJK UNIFIED IDEOGRAPH
+  {0xC769, 0x838D}, //11936 #CJK UNIFIED IDEOGRAPH
+  {0xC76A, 0x838F}, //11937 #CJK UNIFIED IDEOGRAPH
+  {0xC76B, 0x8390}, //11938 #CJK UNIFIED IDEOGRAPH
+  {0xC76C, 0x8391}, //11939 #CJK UNIFIED IDEOGRAPH
+  {0xC76D, 0x8394}, //11940 #CJK UNIFIED IDEOGRAPH
+  {0xC76E, 0x8395}, //11941 #CJK UNIFIED IDEOGRAPH
+  {0xC76F, 0x8396}, //11942 #CJK UNIFIED IDEOGRAPH
+  {0xC770, 0x8397}, //11943 #CJK UNIFIED IDEOGRAPH
+  {0xC771, 0x8399}, //11944 #CJK UNIFIED IDEOGRAPH
+  {0xC772, 0x839A}, //11945 #CJK UNIFIED IDEOGRAPH
+  {0xC773, 0x839D}, //11946 #CJK UNIFIED IDEOGRAPH
+  {0xC774, 0x839F}, //11947 #CJK UNIFIED IDEOGRAPH
+  {0xC775, 0x83A1}, //11948 #CJK UNIFIED IDEOGRAPH
+  {0xC776, 0x83A2}, //11949 #CJK UNIFIED IDEOGRAPH
+  {0xC777, 0x83A3}, //11950 #CJK UNIFIED IDEOGRAPH
+  {0xC778, 0x83A4}, //11951 #CJK UNIFIED IDEOGRAPH
+  {0xC779, 0x83A5}, //11952 #CJK UNIFIED IDEOGRAPH
+  {0xC77A, 0x83A6}, //11953 #CJK UNIFIED IDEOGRAPH
+  {0xC77B, 0x83A7}, //11954 #CJK UNIFIED IDEOGRAPH
+  {0xC77C, 0x83AC}, //11955 #CJK UNIFIED IDEOGRAPH
+  {0xC77D, 0x83AD}, //11956 #CJK UNIFIED IDEOGRAPH
+  {0xC77E, 0x83AE}, //11957 #CJK UNIFIED IDEOGRAPH
+  {0xC780, 0x83AF}, //11958 #CJK UNIFIED IDEOGRAPH
+  {0xC781, 0x83B5}, //11959 #CJK UNIFIED IDEOGRAPH
+  {0xC782, 0x83BB}, //11960 #CJK UNIFIED IDEOGRAPH
+  {0xC783, 0x83BE}, //11961 #CJK UNIFIED IDEOGRAPH
+  {0xC784, 0x83BF}, //11962 #CJK UNIFIED IDEOGRAPH
+  {0xC785, 0x83C2}, //11963 #CJK UNIFIED IDEOGRAPH
+  {0xC786, 0x83C3}, //11964 #CJK UNIFIED IDEOGRAPH
+  {0xC787, 0x83C4}, //11965 #CJK UNIFIED IDEOGRAPH
+  {0xC788, 0x83C6}, //11966 #CJK UNIFIED IDEOGRAPH
+  {0xC789, 0x83C8}, //11967 #CJK UNIFIED IDEOGRAPH
+  {0xC78A, 0x83C9}, //11968 #CJK UNIFIED IDEOGRAPH
+  {0xC78B, 0x83CB}, //11969 #CJK UNIFIED IDEOGRAPH
+  {0xC78C, 0x83CD}, //11970 #CJK UNIFIED IDEOGRAPH
+  {0xC78D, 0x83CE}, //11971 #CJK UNIFIED IDEOGRAPH
+  {0xC78E, 0x83D0}, //11972 #CJK UNIFIED IDEOGRAPH
+  {0xC78F, 0x83D1}, //11973 #CJK UNIFIED IDEOGRAPH
+  {0xC790, 0x83D2}, //11974 #CJK UNIFIED IDEOGRAPH
+  {0xC791, 0x83D3}, //11975 #CJK UNIFIED IDEOGRAPH
+  {0xC792, 0x83D5}, //11976 #CJK UNIFIED IDEOGRAPH
+  {0xC793, 0x83D7}, //11977 #CJK UNIFIED IDEOGRAPH
+  {0xC794, 0x83D9}, //11978 #CJK UNIFIED IDEOGRAPH
+  {0xC795, 0x83DA}, //11979 #CJK UNIFIED IDEOGRAPH
+  {0xC796, 0x83DB}, //11980 #CJK UNIFIED IDEOGRAPH
+  {0xC797, 0x83DE}, //11981 #CJK UNIFIED IDEOGRAPH
+  {0xC798, 0x83E2}, //11982 #CJK UNIFIED IDEOGRAPH
+  {0xC799, 0x83E3}, //11983 #CJK UNIFIED IDEOGRAPH
+  {0xC79A, 0x83E4}, //11984 #CJK UNIFIED IDEOGRAPH
+  {0xC79B, 0x83E6}, //11985 #CJK UNIFIED IDEOGRAPH
+  {0xC79C, 0x83E7}, //11986 #CJK UNIFIED IDEOGRAPH
+  {0xC79D, 0x83E8}, //11987 #CJK UNIFIED IDEOGRAPH
+  {0xC79E, 0x83EB}, //11988 #CJK UNIFIED IDEOGRAPH
+  {0xC79F, 0x83EC}, //11989 #CJK UNIFIED IDEOGRAPH
+  {0xC7A0, 0x83ED}, //11990 #CJK UNIFIED IDEOGRAPH
+  {0xC7A1, 0x6070}, //11991 #CJK UNIFIED IDEOGRAPH
+  {0xC7A2, 0x6D3D}, //11992 #CJK UNIFIED IDEOGRAPH
+  {0xC7A3, 0x7275}, //11993 #CJK UNIFIED IDEOGRAPH
+  {0xC7A4, 0x6266}, //11994 #CJK UNIFIED IDEOGRAPH
+  {0xC7A5, 0x948E}, //11995 #CJK UNIFIED IDEOGRAPH
+  {0xC7A6, 0x94C5}, //11996 #CJK UNIFIED IDEOGRAPH
+  {0xC7A7, 0x5343}, //11997 #CJK UNIFIED IDEOGRAPH
+  {0xC7A8, 0x8FC1}, //11998 #CJK UNIFIED IDEOGRAPH
+  {0xC7A9, 0x7B7E}, //11999 #CJK UNIFIED IDEOGRAPH
+  {0xC7AA, 0x4EDF}, //12000 #CJK UNIFIED IDEOGRAPH
+  {0xC7AB, 0x8C26}, //12001 #CJK UNIFIED IDEOGRAPH
+  {0xC7AC, 0x4E7E}, //12002 #CJK UNIFIED IDEOGRAPH
+  {0xC7AD, 0x9ED4}, //12003 #CJK UNIFIED IDEOGRAPH
+  {0xC7AE, 0x94B1}, //12004 #CJK UNIFIED IDEOGRAPH
+  {0xC7AF, 0x94B3}, //12005 #CJK UNIFIED IDEOGRAPH
+  {0xC7B0, 0x524D}, //12006 #CJK UNIFIED IDEOGRAPH
+  {0xC7B1, 0x6F5C}, //12007 #CJK UNIFIED IDEOGRAPH
+  {0xC7B2, 0x9063}, //12008 #CJK UNIFIED IDEOGRAPH
+  {0xC7B3, 0x6D45}, //12009 #CJK UNIFIED IDEOGRAPH
+  {0xC7B4, 0x8C34}, //12010 #CJK UNIFIED IDEOGRAPH
+  {0xC7B5, 0x5811}, //12011 #CJK UNIFIED IDEOGRAPH
+  {0xC7B6, 0x5D4C}, //12012 #CJK UNIFIED IDEOGRAPH
+  {0xC7B7, 0x6B20}, //12013 #CJK UNIFIED IDEOGRAPH
+  {0xC7B8, 0x6B49}, //12014 #CJK UNIFIED IDEOGRAPH
+  {0xC7B9, 0x67AA}, //12015 #CJK UNIFIED IDEOGRAPH
+  {0xC7BA, 0x545B}, //12016 #CJK UNIFIED IDEOGRAPH
+  {0xC7BB, 0x8154}, //12017 #CJK UNIFIED IDEOGRAPH
+  {0xC7BC, 0x7F8C}, //12018 #CJK UNIFIED IDEOGRAPH
+  {0xC7BD, 0x5899}, //12019 #CJK UNIFIED IDEOGRAPH
+  {0xC7BE, 0x8537}, //12020 #CJK UNIFIED IDEOGRAPH
+  {0xC7BF, 0x5F3A}, //12021 #CJK UNIFIED IDEOGRAPH
+  {0xC7C0, 0x62A2}, //12022 #CJK UNIFIED IDEOGRAPH
+  {0xC7C1, 0x6A47}, //12023 #CJK UNIFIED IDEOGRAPH
+  {0xC7C2, 0x9539}, //12024 #CJK UNIFIED IDEOGRAPH
+  {0xC7C3, 0x6572}, //12025 #CJK UNIFIED IDEOGRAPH
+  {0xC7C4, 0x6084}, //12026 #CJK UNIFIED IDEOGRAPH
+  {0xC7C5, 0x6865}, //12027 #CJK UNIFIED IDEOGRAPH
+  {0xC7C6, 0x77A7}, //12028 #CJK UNIFIED IDEOGRAPH
+  {0xC7C7, 0x4E54}, //12029 #CJK UNIFIED IDEOGRAPH
+  {0xC7C8, 0x4FA8}, //12030 #CJK UNIFIED IDEOGRAPH
+  {0xC7C9, 0x5DE7}, //12031 #CJK UNIFIED IDEOGRAPH
+  {0xC7CA, 0x9798}, //12032 #CJK UNIFIED IDEOGRAPH
+  {0xC7CB, 0x64AC}, //12033 #CJK UNIFIED IDEOGRAPH
+  {0xC7CC, 0x7FD8}, //12034 #CJK UNIFIED IDEOGRAPH
+  {0xC7CD, 0x5CED}, //12035 #CJK UNIFIED IDEOGRAPH
+  {0xC7CE, 0x4FCF}, //12036 #CJK UNIFIED IDEOGRAPH
+  {0xC7CF, 0x7A8D}, //12037 #CJK UNIFIED IDEOGRAPH
+  {0xC7D0, 0x5207}, //12038 #CJK UNIFIED IDEOGRAPH
+  {0xC7D1, 0x8304}, //12039 #CJK UNIFIED IDEOGRAPH
+  {0xC7D2, 0x4E14}, //12040 #CJK UNIFIED IDEOGRAPH
+  {0xC7D3, 0x602F}, //12041 #CJK UNIFIED IDEOGRAPH
+  {0xC7D4, 0x7A83}, //12042 #CJK UNIFIED IDEOGRAPH
+  {0xC7D5, 0x94A6}, //12043 #CJK UNIFIED IDEOGRAPH
+  {0xC7D6, 0x4FB5}, //12044 #CJK UNIFIED IDEOGRAPH
+  {0xC7D7, 0x4EB2}, //12045 #CJK UNIFIED IDEOGRAPH
+  {0xC7D8, 0x79E6}, //12046 #CJK UNIFIED IDEOGRAPH
+  {0xC7D9, 0x7434}, //12047 #CJK UNIFIED IDEOGRAPH
+  {0xC7DA, 0x52E4}, //12048 #CJK UNIFIED IDEOGRAPH
+  {0xC7DB, 0x82B9}, //12049 #CJK UNIFIED IDEOGRAPH
+  {0xC7DC, 0x64D2}, //12050 #CJK UNIFIED IDEOGRAPH
+  {0xC7DD, 0x79BD}, //12051 #CJK UNIFIED IDEOGRAPH
+  {0xC7DE, 0x5BDD}, //12052 #CJK UNIFIED IDEOGRAPH
+  {0xC7DF, 0x6C81}, //12053 #CJK UNIFIED IDEOGRAPH
+  {0xC7E0, 0x9752}, //12054 #CJK UNIFIED IDEOGRAPH
+  {0xC7E1, 0x8F7B}, //12055 #CJK UNIFIED IDEOGRAPH
+  {0xC7E2, 0x6C22}, //12056 #CJK UNIFIED IDEOGRAPH
+  {0xC7E3, 0x503E}, //12057 #CJK UNIFIED IDEOGRAPH
+  {0xC7E4, 0x537F}, //12058 #CJK UNIFIED IDEOGRAPH
+  {0xC7E5, 0x6E05}, //12059 #CJK UNIFIED IDEOGRAPH
+  {0xC7E6, 0x64CE}, //12060 #CJK UNIFIED IDEOGRAPH
+  {0xC7E7, 0x6674}, //12061 #CJK UNIFIED IDEOGRAPH
+  {0xC7E8, 0x6C30}, //12062 #CJK UNIFIED IDEOGRAPH
+  {0xC7E9, 0x60C5}, //12063 #CJK UNIFIED IDEOGRAPH
+  {0xC7EA, 0x9877}, //12064 #CJK UNIFIED IDEOGRAPH
+  {0xC7EB, 0x8BF7}, //12065 #CJK UNIFIED IDEOGRAPH
+  {0xC7EC, 0x5E86}, //12066 #CJK UNIFIED IDEOGRAPH
+  {0xC7ED, 0x743C}, //12067 #CJK UNIFIED IDEOGRAPH
+  {0xC7EE, 0x7A77}, //12068 #CJK UNIFIED IDEOGRAPH
+  {0xC7EF, 0x79CB}, //12069 #CJK UNIFIED IDEOGRAPH
+  {0xC7F0, 0x4E18}, //12070 #CJK UNIFIED IDEOGRAPH
+  {0xC7F1, 0x90B1}, //12071 #CJK UNIFIED IDEOGRAPH
+  {0xC7F2, 0x7403}, //12072 #CJK UNIFIED IDEOGRAPH
+  {0xC7F3, 0x6C42}, //12073 #CJK UNIFIED IDEOGRAPH
+  {0xC7F4, 0x56DA}, //12074 #CJK UNIFIED IDEOGRAPH
+  {0xC7F5, 0x914B}, //12075 #CJK UNIFIED IDEOGRAPH
+  {0xC7F6, 0x6CC5}, //12076 #CJK UNIFIED IDEOGRAPH
+  {0xC7F7, 0x8D8B}, //12077 #CJK UNIFIED IDEOGRAPH
+  {0xC7F8, 0x533A}, //12078 #CJK UNIFIED IDEOGRAPH
+  {0xC7F9, 0x86C6}, //12079 #CJK UNIFIED IDEOGRAPH
+  {0xC7FA, 0x66F2}, //12080 #CJK UNIFIED IDEOGRAPH
+  {0xC7FB, 0x8EAF}, //12081 #CJK UNIFIED IDEOGRAPH
+  {0xC7FC, 0x5C48}, //12082 #CJK UNIFIED IDEOGRAPH
+  {0xC7FD, 0x9A71}, //12083 #CJK UNIFIED IDEOGRAPH
+  {0xC7FE, 0x6E20}, //12084 #CJK UNIFIED IDEOGRAPH
+  {0xC840, 0x83EE}, //12085 #CJK UNIFIED IDEOGRAPH
+  {0xC841, 0x83EF}, //12086 #CJK UNIFIED IDEOGRAPH
+  {0xC842, 0x83F3}, //12087 #CJK UNIFIED IDEOGRAPH
+  {0xC843, 0x83F4}, //12088 #CJK UNIFIED IDEOGRAPH
+  {0xC844, 0x83F5}, //12089 #CJK UNIFIED IDEOGRAPH
+  {0xC845, 0x83F6}, //12090 #CJK UNIFIED IDEOGRAPH
+  {0xC846, 0x83F7}, //12091 #CJK UNIFIED IDEOGRAPH
+  {0xC847, 0x83FA}, //12092 #CJK UNIFIED IDEOGRAPH
+  {0xC848, 0x83FB}, //12093 #CJK UNIFIED IDEOGRAPH
+  {0xC849, 0x83FC}, //12094 #CJK UNIFIED IDEOGRAPH
+  {0xC84A, 0x83FE}, //12095 #CJK UNIFIED IDEOGRAPH
+  {0xC84B, 0x83FF}, //12096 #CJK UNIFIED IDEOGRAPH
+  {0xC84C, 0x8400}, //12097 #CJK UNIFIED IDEOGRAPH
+  {0xC84D, 0x8402}, //12098 #CJK UNIFIED IDEOGRAPH
+  {0xC84E, 0x8405}, //12099 #CJK UNIFIED IDEOGRAPH
+  {0xC84F, 0x8407}, //12100 #CJK UNIFIED IDEOGRAPH
+  {0xC850, 0x8408}, //12101 #CJK UNIFIED IDEOGRAPH
+  {0xC851, 0x8409}, //12102 #CJK UNIFIED IDEOGRAPH
+  {0xC852, 0x840A}, //12103 #CJK UNIFIED IDEOGRAPH
+  {0xC853, 0x8410}, //12104 #CJK UNIFIED IDEOGRAPH
+  {0xC854, 0x8412}, //12105 #CJK UNIFIED IDEOGRAPH
+  {0xC855, 0x8413}, //12106 #CJK UNIFIED IDEOGRAPH
+  {0xC856, 0x8414}, //12107 #CJK UNIFIED IDEOGRAPH
+  {0xC857, 0x8415}, //12108 #CJK UNIFIED IDEOGRAPH
+  {0xC858, 0x8416}, //12109 #CJK UNIFIED IDEOGRAPH
+  {0xC859, 0x8417}, //12110 #CJK UNIFIED IDEOGRAPH
+  {0xC85A, 0x8419}, //12111 #CJK UNIFIED IDEOGRAPH
+  {0xC85B, 0x841A}, //12112 #CJK UNIFIED IDEOGRAPH
+  {0xC85C, 0x841B}, //12113 #CJK UNIFIED IDEOGRAPH
+  {0xC85D, 0x841E}, //12114 #CJK UNIFIED IDEOGRAPH
+  {0xC85E, 0x841F}, //12115 #CJK UNIFIED IDEOGRAPH
+  {0xC85F, 0x8420}, //12116 #CJK UNIFIED IDEOGRAPH
+  {0xC860, 0x8421}, //12117 #CJK UNIFIED IDEOGRAPH
+  {0xC861, 0x8422}, //12118 #CJK UNIFIED IDEOGRAPH
+  {0xC862, 0x8423}, //12119 #CJK UNIFIED IDEOGRAPH
+  {0xC863, 0x8429}, //12120 #CJK UNIFIED IDEOGRAPH
+  {0xC864, 0x842A}, //12121 #CJK UNIFIED IDEOGRAPH
+  {0xC865, 0x842B}, //12122 #CJK UNIFIED IDEOGRAPH
+  {0xC866, 0x842C}, //12123 #CJK UNIFIED IDEOGRAPH
+  {0xC867, 0x842D}, //12124 #CJK UNIFIED IDEOGRAPH
+  {0xC868, 0x842E}, //12125 #CJK UNIFIED IDEOGRAPH
+  {0xC869, 0x842F}, //12126 #CJK UNIFIED IDEOGRAPH
+  {0xC86A, 0x8430}, //12127 #CJK UNIFIED IDEOGRAPH
+  {0xC86B, 0x8432}, //12128 #CJK UNIFIED IDEOGRAPH
+  {0xC86C, 0x8433}, //12129 #CJK UNIFIED IDEOGRAPH
+  {0xC86D, 0x8434}, //12130 #CJK UNIFIED IDEOGRAPH
+  {0xC86E, 0x8435}, //12131 #CJK UNIFIED IDEOGRAPH
+  {0xC86F, 0x8436}, //12132 #CJK UNIFIED IDEOGRAPH
+  {0xC870, 0x8437}, //12133 #CJK UNIFIED IDEOGRAPH
+  {0xC871, 0x8439}, //12134 #CJK UNIFIED IDEOGRAPH
+  {0xC872, 0x843A}, //12135 #CJK UNIFIED IDEOGRAPH
+  {0xC873, 0x843B}, //12136 #CJK UNIFIED IDEOGRAPH
+  {0xC874, 0x843E}, //12137 #CJK UNIFIED IDEOGRAPH
+  {0xC875, 0x843F}, //12138 #CJK UNIFIED IDEOGRAPH
+  {0xC876, 0x8440}, //12139 #CJK UNIFIED IDEOGRAPH
+  {0xC877, 0x8441}, //12140 #CJK UNIFIED IDEOGRAPH
+  {0xC878, 0x8442}, //12141 #CJK UNIFIED IDEOGRAPH
+  {0xC879, 0x8443}, //12142 #CJK UNIFIED IDEOGRAPH
+  {0xC87A, 0x8444}, //12143 #CJK UNIFIED IDEOGRAPH
+  {0xC87B, 0x8445}, //12144 #CJK UNIFIED IDEOGRAPH
+  {0xC87C, 0x8447}, //12145 #CJK UNIFIED IDEOGRAPH
+  {0xC87D, 0x8448}, //12146 #CJK UNIFIED IDEOGRAPH
+  {0xC87E, 0x8449}, //12147 #CJK UNIFIED IDEOGRAPH
+  {0xC880, 0x844A}, //12148 #CJK UNIFIED IDEOGRAPH
+  {0xC881, 0x844B}, //12149 #CJK UNIFIED IDEOGRAPH
+  {0xC882, 0x844C}, //12150 #CJK UNIFIED IDEOGRAPH
+  {0xC883, 0x844D}, //12151 #CJK UNIFIED IDEOGRAPH
+  {0xC884, 0x844E}, //12152 #CJK UNIFIED IDEOGRAPH
+  {0xC885, 0x844F}, //12153 #CJK UNIFIED IDEOGRAPH
+  {0xC886, 0x8450}, //12154 #CJK UNIFIED IDEOGRAPH
+  {0xC887, 0x8452}, //12155 #CJK UNIFIED IDEOGRAPH
+  {0xC888, 0x8453}, //12156 #CJK UNIFIED IDEOGRAPH
+  {0xC889, 0x8454}, //12157 #CJK UNIFIED IDEOGRAPH
+  {0xC88A, 0x8455}, //12158 #CJK UNIFIED IDEOGRAPH
+  {0xC88B, 0x8456}, //12159 #CJK UNIFIED IDEOGRAPH
+  {0xC88C, 0x8458}, //12160 #CJK UNIFIED IDEOGRAPH
+  {0xC88D, 0x845D}, //12161 #CJK UNIFIED IDEOGRAPH
+  {0xC88E, 0x845E}, //12162 #CJK UNIFIED IDEOGRAPH
+  {0xC88F, 0x845F}, //12163 #CJK UNIFIED IDEOGRAPH
+  {0xC890, 0x8460}, //12164 #CJK UNIFIED IDEOGRAPH
+  {0xC891, 0x8462}, //12165 #CJK UNIFIED IDEOGRAPH
+  {0xC892, 0x8464}, //12166 #CJK UNIFIED IDEOGRAPH
+  {0xC893, 0x8465}, //12167 #CJK UNIFIED IDEOGRAPH
+  {0xC894, 0x8466}, //12168 #CJK UNIFIED IDEOGRAPH
+  {0xC895, 0x8467}, //12169 #CJK UNIFIED IDEOGRAPH
+  {0xC896, 0x8468}, //12170 #CJK UNIFIED IDEOGRAPH
+  {0xC897, 0x846A}, //12171 #CJK UNIFIED IDEOGRAPH
+  {0xC898, 0x846E}, //12172 #CJK UNIFIED IDEOGRAPH
+  {0xC899, 0x846F}, //12173 #CJK UNIFIED IDEOGRAPH
+  {0xC89A, 0x8470}, //12174 #CJK UNIFIED IDEOGRAPH
+  {0xC89B, 0x8472}, //12175 #CJK UNIFIED IDEOGRAPH
+  {0xC89C, 0x8474}, //12176 #CJK UNIFIED IDEOGRAPH
+  {0xC89D, 0x8477}, //12177 #CJK UNIFIED IDEOGRAPH
+  {0xC89E, 0x8479}, //12178 #CJK UNIFIED IDEOGRAPH
+  {0xC89F, 0x847B}, //12179 #CJK UNIFIED IDEOGRAPH
+  {0xC8A0, 0x847C}, //12180 #CJK UNIFIED IDEOGRAPH
+  {0xC8A1, 0x53D6}, //12181 #CJK UNIFIED IDEOGRAPH
+  {0xC8A2, 0x5A36}, //12182 #CJK UNIFIED IDEOGRAPH
+  {0xC8A3, 0x9F8B}, //12183 #CJK UNIFIED IDEOGRAPH
+  {0xC8A4, 0x8DA3}, //12184 #CJK UNIFIED IDEOGRAPH
+  {0xC8A5, 0x53BB}, //12185 #CJK UNIFIED IDEOGRAPH
+  {0xC8A6, 0x5708}, //12186 #CJK UNIFIED IDEOGRAPH
+  {0xC8A7, 0x98A7}, //12187 #CJK UNIFIED IDEOGRAPH
+  {0xC8A8, 0x6743}, //12188 #CJK UNIFIED IDEOGRAPH
+  {0xC8A9, 0x919B}, //12189 #CJK UNIFIED IDEOGRAPH
+  {0xC8AA, 0x6CC9}, //12190 #CJK UNIFIED IDEOGRAPH
+  {0xC8AB, 0x5168}, //12191 #CJK UNIFIED IDEOGRAPH
+  {0xC8AC, 0x75CA}, //12192 #CJK UNIFIED IDEOGRAPH
+  {0xC8AD, 0x62F3}, //12193 #CJK UNIFIED IDEOGRAPH
+  {0xC8AE, 0x72AC}, //12194 #CJK UNIFIED IDEOGRAPH
+  {0xC8AF, 0x5238}, //12195 #CJK UNIFIED IDEOGRAPH
+  {0xC8B0, 0x529D}, //12196 #CJK UNIFIED IDEOGRAPH
+  {0xC8B1, 0x7F3A}, //12197 #CJK UNIFIED IDEOGRAPH
+  {0xC8B2, 0x7094}, //12198 #CJK UNIFIED IDEOGRAPH
+  {0xC8B3, 0x7638}, //12199 #CJK UNIFIED IDEOGRAPH
+  {0xC8B4, 0x5374}, //12200 #CJK UNIFIED IDEOGRAPH
+  {0xC8B5, 0x9E4A}, //12201 #CJK UNIFIED IDEOGRAPH
+  {0xC8B6, 0x69B7}, //12202 #CJK UNIFIED IDEOGRAPH
+  {0xC8B7, 0x786E}, //12203 #CJK UNIFIED IDEOGRAPH
+  {0xC8B8, 0x96C0}, //12204 #CJK UNIFIED IDEOGRAPH
+  {0xC8B9, 0x88D9}, //12205 #CJK UNIFIED IDEOGRAPH
+  {0xC8BA, 0x7FA4}, //12206 #CJK UNIFIED IDEOGRAPH
+  {0xC8BB, 0x7136}, //12207 #CJK UNIFIED IDEOGRAPH
+  {0xC8BC, 0x71C3}, //12208 #CJK UNIFIED IDEOGRAPH
+  {0xC8BD, 0x5189}, //12209 #CJK UNIFIED IDEOGRAPH
+  {0xC8BE, 0x67D3}, //12210 #CJK UNIFIED IDEOGRAPH
+  {0xC8BF, 0x74E4}, //12211 #CJK UNIFIED IDEOGRAPH
+  {0xC8C0, 0x58E4}, //12212 #CJK UNIFIED IDEOGRAPH
+  {0xC8C1, 0x6518}, //12213 #CJK UNIFIED IDEOGRAPH
+  {0xC8C2, 0x56B7}, //12214 #CJK UNIFIED IDEOGRAPH
+  {0xC8C3, 0x8BA9}, //12215 #CJK UNIFIED IDEOGRAPH
+  {0xC8C4, 0x9976}, //12216 #CJK UNIFIED IDEOGRAPH
+  {0xC8C5, 0x6270}, //12217 #CJK UNIFIED IDEOGRAPH
+  {0xC8C6, 0x7ED5}, //12218 #CJK UNIFIED IDEOGRAPH
+  {0xC8C7, 0x60F9}, //12219 #CJK UNIFIED IDEOGRAPH
+  {0xC8C8, 0x70ED}, //12220 #CJK UNIFIED IDEOGRAPH
+  {0xC8C9, 0x58EC}, //12221 #CJK UNIFIED IDEOGRAPH
+  {0xC8CA, 0x4EC1}, //12222 #CJK UNIFIED IDEOGRAPH
+  {0xC8CB, 0x4EBA}, //12223 #CJK UNIFIED IDEOGRAPH
+  {0xC8CC, 0x5FCD}, //12224 #CJK UNIFIED IDEOGRAPH
+  {0xC8CD, 0x97E7}, //12225 #CJK UNIFIED IDEOGRAPH
+  {0xC8CE, 0x4EFB}, //12226 #CJK UNIFIED IDEOGRAPH
+  {0xC8CF, 0x8BA4}, //12227 #CJK UNIFIED IDEOGRAPH
+  {0xC8D0, 0x5203}, //12228 #CJK UNIFIED IDEOGRAPH
+  {0xC8D1, 0x598A}, //12229 #CJK UNIFIED IDEOGRAPH
+  {0xC8D2, 0x7EAB}, //12230 #CJK UNIFIED IDEOGRAPH
+  {0xC8D3, 0x6254}, //12231 #CJK UNIFIED IDEOGRAPH
+  {0xC8D4, 0x4ECD}, //12232 #CJK UNIFIED IDEOGRAPH
+  {0xC8D5, 0x65E5}, //12233 #CJK UNIFIED IDEOGRAPH
+  {0xC8D6, 0x620E}, //12234 #CJK UNIFIED IDEOGRAPH
+  {0xC8D7, 0x8338}, //12235 #CJK UNIFIED IDEOGRAPH
+  {0xC8D8, 0x84C9}, //12236 #CJK UNIFIED IDEOGRAPH
+  {0xC8D9, 0x8363}, //12237 #CJK UNIFIED IDEOGRAPH
+  {0xC8DA, 0x878D}, //12238 #CJK UNIFIED IDEOGRAPH
+  {0xC8DB, 0x7194}, //12239 #CJK UNIFIED IDEOGRAPH
+  {0xC8DC, 0x6EB6}, //12240 #CJK UNIFIED IDEOGRAPH
+  {0xC8DD, 0x5BB9}, //12241 #CJK UNIFIED IDEOGRAPH
+  {0xC8DE, 0x7ED2}, //12242 #CJK UNIFIED IDEOGRAPH
+  {0xC8DF, 0x5197}, //12243 #CJK UNIFIED IDEOGRAPH
+  {0xC8E0, 0x63C9}, //12244 #CJK UNIFIED IDEOGRAPH
+  {0xC8E1, 0x67D4}, //12245 #CJK UNIFIED IDEOGRAPH
+  {0xC8E2, 0x8089}, //12246 #CJK UNIFIED IDEOGRAPH
+  {0xC8E3, 0x8339}, //12247 #CJK UNIFIED IDEOGRAPH
+  {0xC8E4, 0x8815}, //12248 #CJK UNIFIED IDEOGRAPH
+  {0xC8E5, 0x5112}, //12249 #CJK UNIFIED IDEOGRAPH
+  {0xC8E6, 0x5B7A}, //12250 #CJK UNIFIED IDEOGRAPH
+  {0xC8E7, 0x5982}, //12251 #CJK UNIFIED IDEOGRAPH
+  {0xC8E8, 0x8FB1}, //12252 #CJK UNIFIED IDEOGRAPH
+  {0xC8E9, 0x4E73}, //12253 #CJK UNIFIED IDEOGRAPH
+  {0xC8EA, 0x6C5D}, //12254 #CJK UNIFIED IDEOGRAPH
+  {0xC8EB, 0x5165}, //12255 #CJK UNIFIED IDEOGRAPH
+  {0xC8EC, 0x8925}, //12256 #CJK UNIFIED IDEOGRAPH
+  {0xC8ED, 0x8F6F}, //12257 #CJK UNIFIED IDEOGRAPH
+  {0xC8EE, 0x962E}, //12258 #CJK UNIFIED IDEOGRAPH
+  {0xC8EF, 0x854A}, //12259 #CJK UNIFIED IDEOGRAPH
+  {0xC8F0, 0x745E}, //12260 #CJK UNIFIED IDEOGRAPH
+  {0xC8F1, 0x9510}, //12261 #CJK UNIFIED IDEOGRAPH
+  {0xC8F2, 0x95F0}, //12262 #CJK UNIFIED IDEOGRAPH
+  {0xC8F3, 0x6DA6}, //12263 #CJK UNIFIED IDEOGRAPH
+  {0xC8F4, 0x82E5}, //12264 #CJK UNIFIED IDEOGRAPH
+  {0xC8F5, 0x5F31}, //12265 #CJK UNIFIED IDEOGRAPH
+  {0xC8F6, 0x6492}, //12266 #CJK UNIFIED IDEOGRAPH
+  {0xC8F7, 0x6D12}, //12267 #CJK UNIFIED IDEOGRAPH
+  {0xC8F8, 0x8428}, //12268 #CJK UNIFIED IDEOGRAPH
+  {0xC8F9, 0x816E}, //12269 #CJK UNIFIED IDEOGRAPH
+  {0xC8FA, 0x9CC3}, //12270 #CJK UNIFIED IDEOGRAPH
+  {0xC8FB, 0x585E}, //12271 #CJK UNIFIED IDEOGRAPH
+  {0xC8FC, 0x8D5B}, //12272 #CJK UNIFIED IDEOGRAPH
+  {0xC8FD, 0x4E09}, //12273 #CJK UNIFIED IDEOGRAPH
+  {0xC8FE, 0x53C1}, //12274 #CJK UNIFIED IDEOGRAPH
+  {0xC940, 0x847D}, //12275 #CJK UNIFIED IDEOGRAPH
+  {0xC941, 0x847E}, //12276 #CJK UNIFIED IDEOGRAPH
+  {0xC942, 0x847F}, //12277 #CJK UNIFIED IDEOGRAPH
+  {0xC943, 0x8480}, //12278 #CJK UNIFIED IDEOGRAPH
+  {0xC944, 0x8481}, //12279 #CJK UNIFIED IDEOGRAPH
+  {0xC945, 0x8483}, //12280 #CJK UNIFIED IDEOGRAPH
+  {0xC946, 0x8484}, //12281 #CJK UNIFIED IDEOGRAPH
+  {0xC947, 0x8485}, //12282 #CJK UNIFIED IDEOGRAPH
+  {0xC948, 0x8486}, //12283 #CJK UNIFIED IDEOGRAPH
+  {0xC949, 0x848A}, //12284 #CJK UNIFIED IDEOGRAPH
+  {0xC94A, 0x848D}, //12285 #CJK UNIFIED IDEOGRAPH
+  {0xC94B, 0x848F}, //12286 #CJK UNIFIED IDEOGRAPH
+  {0xC94C, 0x8490}, //12287 #CJK UNIFIED IDEOGRAPH
+  {0xC94D, 0x8491}, //12288 #CJK UNIFIED IDEOGRAPH
+  {0xC94E, 0x8492}, //12289 #CJK UNIFIED IDEOGRAPH
+  {0xC94F, 0x8493}, //12290 #CJK UNIFIED IDEOGRAPH
+  {0xC950, 0x8494}, //12291 #CJK UNIFIED IDEOGRAPH
+  {0xC951, 0x8495}, //12292 #CJK UNIFIED IDEOGRAPH
+  {0xC952, 0x8496}, //12293 #CJK UNIFIED IDEOGRAPH
+  {0xC953, 0x8498}, //12294 #CJK UNIFIED IDEOGRAPH
+  {0xC954, 0x849A}, //12295 #CJK UNIFIED IDEOGRAPH
+  {0xC955, 0x849B}, //12296 #CJK UNIFIED IDEOGRAPH
+  {0xC956, 0x849D}, //12297 #CJK UNIFIED IDEOGRAPH
+  {0xC957, 0x849E}, //12298 #CJK UNIFIED IDEOGRAPH
+  {0xC958, 0x849F}, //12299 #CJK UNIFIED IDEOGRAPH
+  {0xC959, 0x84A0}, //12300 #CJK UNIFIED IDEOGRAPH
+  {0xC95A, 0x84A2}, //12301 #CJK UNIFIED IDEOGRAPH
+  {0xC95B, 0x84A3}, //12302 #CJK UNIFIED IDEOGRAPH
+  {0xC95C, 0x84A4}, //12303 #CJK UNIFIED IDEOGRAPH
+  {0xC95D, 0x84A5}, //12304 #CJK UNIFIED IDEOGRAPH
+  {0xC95E, 0x84A6}, //12305 #CJK UNIFIED IDEOGRAPH
+  {0xC95F, 0x84A7}, //12306 #CJK UNIFIED IDEOGRAPH
+  {0xC960, 0x84A8}, //12307 #CJK UNIFIED IDEOGRAPH
+  {0xC961, 0x84A9}, //12308 #CJK UNIFIED IDEOGRAPH
+  {0xC962, 0x84AA}, //12309 #CJK UNIFIED IDEOGRAPH
+  {0xC963, 0x84AB}, //12310 #CJK UNIFIED IDEOGRAPH
+  {0xC964, 0x84AC}, //12311 #CJK UNIFIED IDEOGRAPH
+  {0xC965, 0x84AD}, //12312 #CJK UNIFIED IDEOGRAPH
+  {0xC966, 0x84AE}, //12313 #CJK UNIFIED IDEOGRAPH
+  {0xC967, 0x84B0}, //12314 #CJK UNIFIED IDEOGRAPH
+  {0xC968, 0x84B1}, //12315 #CJK UNIFIED IDEOGRAPH
+  {0xC969, 0x84B3}, //12316 #CJK UNIFIED IDEOGRAPH
+  {0xC96A, 0x84B5}, //12317 #CJK UNIFIED IDEOGRAPH
+  {0xC96B, 0x84B6}, //12318 #CJK UNIFIED IDEOGRAPH
+  {0xC96C, 0x84B7}, //12319 #CJK UNIFIED IDEOGRAPH
+  {0xC96D, 0x84BB}, //12320 #CJK UNIFIED IDEOGRAPH
+  {0xC96E, 0x84BC}, //12321 #CJK UNIFIED IDEOGRAPH
+  {0xC96F, 0x84BE}, //12322 #CJK UNIFIED IDEOGRAPH
+  {0xC970, 0x84C0}, //12323 #CJK UNIFIED IDEOGRAPH
+  {0xC971, 0x84C2}, //12324 #CJK UNIFIED IDEOGRAPH
+  {0xC972, 0x84C3}, //12325 #CJK UNIFIED IDEOGRAPH
+  {0xC973, 0x84C5}, //12326 #CJK UNIFIED IDEOGRAPH
+  {0xC974, 0x84C6}, //12327 #CJK UNIFIED IDEOGRAPH
+  {0xC975, 0x84C7}, //12328 #CJK UNIFIED IDEOGRAPH
+  {0xC976, 0x84C8}, //12329 #CJK UNIFIED IDEOGRAPH
+  {0xC977, 0x84CB}, //12330 #CJK UNIFIED IDEOGRAPH
+  {0xC978, 0x84CC}, //12331 #CJK UNIFIED IDEOGRAPH
+  {0xC979, 0x84CE}, //12332 #CJK UNIFIED IDEOGRAPH
+  {0xC97A, 0x84CF}, //12333 #CJK UNIFIED IDEOGRAPH
+  {0xC97B, 0x84D2}, //12334 #CJK UNIFIED IDEOGRAPH
+  {0xC97C, 0x84D4}, //12335 #CJK UNIFIED IDEOGRAPH
+  {0xC97D, 0x84D5}, //12336 #CJK UNIFIED IDEOGRAPH
+  {0xC97E, 0x84D7}, //12337 #CJK UNIFIED IDEOGRAPH
+  {0xC980, 0x84D8}, //12338 #CJK UNIFIED IDEOGRAPH
+  {0xC981, 0x84D9}, //12339 #CJK UNIFIED IDEOGRAPH
+  {0xC982, 0x84DA}, //12340 #CJK UNIFIED IDEOGRAPH
+  {0xC983, 0x84DB}, //12341 #CJK UNIFIED IDEOGRAPH
+  {0xC984, 0x84DC}, //12342 #CJK UNIFIED IDEOGRAPH
+  {0xC985, 0x84DE}, //12343 #CJK UNIFIED IDEOGRAPH
+  {0xC986, 0x84E1}, //12344 #CJK UNIFIED IDEOGRAPH
+  {0xC987, 0x84E2}, //12345 #CJK UNIFIED IDEOGRAPH
+  {0xC988, 0x84E4}, //12346 #CJK UNIFIED IDEOGRAPH
+  {0xC989, 0x84E7}, //12347 #CJK UNIFIED IDEOGRAPH
+  {0xC98A, 0x84E8}, //12348 #CJK UNIFIED IDEOGRAPH
+  {0xC98B, 0x84E9}, //12349 #CJK UNIFIED IDEOGRAPH
+  {0xC98C, 0x84EA}, //12350 #CJK UNIFIED IDEOGRAPH
+  {0xC98D, 0x84EB}, //12351 #CJK UNIFIED IDEOGRAPH
+  {0xC98E, 0x84ED}, //12352 #CJK UNIFIED IDEOGRAPH
+  {0xC98F, 0x84EE}, //12353 #CJK UNIFIED IDEOGRAPH
+  {0xC990, 0x84EF}, //12354 #CJK UNIFIED IDEOGRAPH
+  {0xC991, 0x84F1}, //12355 #CJK UNIFIED IDEOGRAPH
+  {0xC992, 0x84F2}, //12356 #CJK UNIFIED IDEOGRAPH
+  {0xC993, 0x84F3}, //12357 #CJK UNIFIED IDEOGRAPH
+  {0xC994, 0x84F4}, //12358 #CJK UNIFIED IDEOGRAPH
+  {0xC995, 0x84F5}, //12359 #CJK UNIFIED IDEOGRAPH
+  {0xC996, 0x84F6}, //12360 #CJK UNIFIED IDEOGRAPH
+  {0xC997, 0x84F7}, //12361 #CJK UNIFIED IDEOGRAPH
+  {0xC998, 0x84F8}, //12362 #CJK UNIFIED IDEOGRAPH
+  {0xC999, 0x84F9}, //12363 #CJK UNIFIED IDEOGRAPH
+  {0xC99A, 0x84FA}, //12364 #CJK UNIFIED IDEOGRAPH
+  {0xC99B, 0x84FB}, //12365 #CJK UNIFIED IDEOGRAPH
+  {0xC99C, 0x84FD}, //12366 #CJK UNIFIED IDEOGRAPH
+  {0xC99D, 0x84FE}, //12367 #CJK UNIFIED IDEOGRAPH
+  {0xC99E, 0x8500}, //12368 #CJK UNIFIED IDEOGRAPH
+  {0xC99F, 0x8501}, //12369 #CJK UNIFIED IDEOGRAPH
+  {0xC9A0, 0x8502}, //12370 #CJK UNIFIED IDEOGRAPH
+  {0xC9A1, 0x4F1E}, //12371 #CJK UNIFIED IDEOGRAPH
+  {0xC9A2, 0x6563}, //12372 #CJK UNIFIED IDEOGRAPH
+  {0xC9A3, 0x6851}, //12373 #CJK UNIFIED IDEOGRAPH
+  {0xC9A4, 0x55D3}, //12374 #CJK UNIFIED IDEOGRAPH
+  {0xC9A5, 0x4E27}, //12375 #CJK UNIFIED IDEOGRAPH
+  {0xC9A6, 0x6414}, //12376 #CJK UNIFIED IDEOGRAPH
+  {0xC9A7, 0x9A9A}, //12377 #CJK UNIFIED IDEOGRAPH
+  {0xC9A8, 0x626B}, //12378 #CJK UNIFIED IDEOGRAPH
+  {0xC9A9, 0x5AC2}, //12379 #CJK UNIFIED IDEOGRAPH
+  {0xC9AA, 0x745F}, //12380 #CJK UNIFIED IDEOGRAPH
+  {0xC9AB, 0x8272}, //12381 #CJK UNIFIED IDEOGRAPH
+  {0xC9AC, 0x6DA9}, //12382 #CJK UNIFIED IDEOGRAPH
+  {0xC9AD, 0x68EE}, //12383 #CJK UNIFIED IDEOGRAPH
+  {0xC9AE, 0x50E7}, //12384 #CJK UNIFIED IDEOGRAPH
+  {0xC9AF, 0x838E}, //12385 #CJK UNIFIED IDEOGRAPH
+  {0xC9B0, 0x7802}, //12386 #CJK UNIFIED IDEOGRAPH
+  {0xC9B1, 0x6740}, //12387 #CJK UNIFIED IDEOGRAPH
+  {0xC9B2, 0x5239}, //12388 #CJK UNIFIED IDEOGRAPH
+  {0xC9B3, 0x6C99}, //12389 #CJK UNIFIED IDEOGRAPH
+  {0xC9B4, 0x7EB1}, //12390 #CJK UNIFIED IDEOGRAPH
+  {0xC9B5, 0x50BB}, //12391 #CJK UNIFIED IDEOGRAPH
+  {0xC9B6, 0x5565}, //12392 #CJK UNIFIED IDEOGRAPH
+  {0xC9B7, 0x715E}, //12393 #CJK UNIFIED IDEOGRAPH
+  {0xC9B8, 0x7B5B}, //12394 #CJK UNIFIED IDEOGRAPH
+  {0xC9B9, 0x6652}, //12395 #CJK UNIFIED IDEOGRAPH
+  {0xC9BA, 0x73CA}, //12396 #CJK UNIFIED IDEOGRAPH
+  {0xC9BB, 0x82EB}, //12397 #CJK UNIFIED IDEOGRAPH
+  {0xC9BC, 0x6749}, //12398 #CJK UNIFIED IDEOGRAPH
+  {0xC9BD, 0x5C71}, //12399 #CJK UNIFIED IDEOGRAPH
+  {0xC9BE, 0x5220}, //12400 #CJK UNIFIED IDEOGRAPH
+  {0xC9BF, 0x717D}, //12401 #CJK UNIFIED IDEOGRAPH
+  {0xC9C0, 0x886B}, //12402 #CJK UNIFIED IDEOGRAPH
+  {0xC9C1, 0x95EA}, //12403 #CJK UNIFIED IDEOGRAPH
+  {0xC9C2, 0x9655}, //12404 #CJK UNIFIED IDEOGRAPH
+  {0xC9C3, 0x64C5}, //12405 #CJK UNIFIED IDEOGRAPH
+  {0xC9C4, 0x8D61}, //12406 #CJK UNIFIED IDEOGRAPH
+  {0xC9C5, 0x81B3}, //12407 #CJK UNIFIED IDEOGRAPH
+  {0xC9C6, 0x5584}, //12408 #CJK UNIFIED IDEOGRAPH
+  {0xC9C7, 0x6C55}, //12409 #CJK UNIFIED IDEOGRAPH
+  {0xC9C8, 0x6247}, //12410 #CJK UNIFIED IDEOGRAPH
+  {0xC9C9, 0x7F2E}, //12411 #CJK UNIFIED IDEOGRAPH
+  {0xC9CA, 0x5892}, //12412 #CJK UNIFIED IDEOGRAPH
+  {0xC9CB, 0x4F24}, //12413 #CJK UNIFIED IDEOGRAPH
+  {0xC9CC, 0x5546}, //12414 #CJK UNIFIED IDEOGRAPH
+  {0xC9CD, 0x8D4F}, //12415 #CJK UNIFIED IDEOGRAPH
+  {0xC9CE, 0x664C}, //12416 #CJK UNIFIED IDEOGRAPH
+  {0xC9CF, 0x4E0A}, //12417 #CJK UNIFIED IDEOGRAPH
+  {0xC9D0, 0x5C1A}, //12418 #CJK UNIFIED IDEOGRAPH
+  {0xC9D1, 0x88F3}, //12419 #CJK UNIFIED IDEOGRAPH
+  {0xC9D2, 0x68A2}, //12420 #CJK UNIFIED IDEOGRAPH
+  {0xC9D3, 0x634E}, //12421 #CJK UNIFIED IDEOGRAPH
+  {0xC9D4, 0x7A0D}, //12422 #CJK UNIFIED IDEOGRAPH
+  {0xC9D5, 0x70E7}, //12423 #CJK UNIFIED IDEOGRAPH
+  {0xC9D6, 0x828D}, //12424 #CJK UNIFIED IDEOGRAPH
+  {0xC9D7, 0x52FA}, //12425 #CJK UNIFIED IDEOGRAPH
+  {0xC9D8, 0x97F6}, //12426 #CJK UNIFIED IDEOGRAPH
+  {0xC9D9, 0x5C11}, //12427 #CJK UNIFIED IDEOGRAPH
+  {0xC9DA, 0x54E8}, //12428 #CJK UNIFIED IDEOGRAPH
+  {0xC9DB, 0x90B5}, //12429 #CJK UNIFIED IDEOGRAPH
+  {0xC9DC, 0x7ECD}, //12430 #CJK UNIFIED IDEOGRAPH
+  {0xC9DD, 0x5962}, //12431 #CJK UNIFIED IDEOGRAPH
+  {0xC9DE, 0x8D4A}, //12432 #CJK UNIFIED IDEOGRAPH
+  {0xC9DF, 0x86C7}, //12433 #CJK UNIFIED IDEOGRAPH
+  {0xC9E0, 0x820C}, //12434 #CJK UNIFIED IDEOGRAPH
+  {0xC9E1, 0x820D}, //12435 #CJK UNIFIED IDEOGRAPH
+  {0xC9E2, 0x8D66}, //12436 #CJK UNIFIED IDEOGRAPH
+  {0xC9E3, 0x6444}, //12437 #CJK UNIFIED IDEOGRAPH
+  {0xC9E4, 0x5C04}, //12438 #CJK UNIFIED IDEOGRAPH
+  {0xC9E5, 0x6151}, //12439 #CJK UNIFIED IDEOGRAPH
+  {0xC9E6, 0x6D89}, //12440 #CJK UNIFIED IDEOGRAPH
+  {0xC9E7, 0x793E}, //12441 #CJK UNIFIED IDEOGRAPH
+  {0xC9E8, 0x8BBE}, //12442 #CJK UNIFIED IDEOGRAPH
+  {0xC9E9, 0x7837}, //12443 #CJK UNIFIED IDEOGRAPH
+  {0xC9EA, 0x7533}, //12444 #CJK UNIFIED IDEOGRAPH
+  {0xC9EB, 0x547B}, //12445 #CJK UNIFIED IDEOGRAPH
+  {0xC9EC, 0x4F38}, //12446 #CJK UNIFIED IDEOGRAPH
+  {0xC9ED, 0x8EAB}, //12447 #CJK UNIFIED IDEOGRAPH
+  {0xC9EE, 0x6DF1}, //12448 #CJK UNIFIED IDEOGRAPH
+  {0xC9EF, 0x5A20}, //12449 #CJK UNIFIED IDEOGRAPH
+  {0xC9F0, 0x7EC5}, //12450 #CJK UNIFIED IDEOGRAPH
+  {0xC9F1, 0x795E}, //12451 #CJK UNIFIED IDEOGRAPH
+  {0xC9F2, 0x6C88}, //12452 #CJK UNIFIED IDEOGRAPH
+  {0xC9F3, 0x5BA1}, //12453 #CJK UNIFIED IDEOGRAPH
+  {0xC9F4, 0x5A76}, //12454 #CJK UNIFIED IDEOGRAPH
+  {0xC9F5, 0x751A}, //12455 #CJK UNIFIED IDEOGRAPH
+  {0xC9F6, 0x80BE}, //12456 #CJK UNIFIED IDEOGRAPH
+  {0xC9F7, 0x614E}, //12457 #CJK UNIFIED IDEOGRAPH
+  {0xC9F8, 0x6E17}, //12458 #CJK UNIFIED IDEOGRAPH
+  {0xC9F9, 0x58F0}, //12459 #CJK UNIFIED IDEOGRAPH
+  {0xC9FA, 0x751F}, //12460 #CJK UNIFIED IDEOGRAPH
+  {0xC9FB, 0x7525}, //12461 #CJK UNIFIED IDEOGRAPH
+  {0xC9FC, 0x7272}, //12462 #CJK UNIFIED IDEOGRAPH
+  {0xC9FD, 0x5347}, //12463 #CJK UNIFIED IDEOGRAPH
+  {0xC9FE, 0x7EF3}, //12464 #CJK UNIFIED IDEOGRAPH
+  {0xCA40, 0x8503}, //12465 #CJK UNIFIED IDEOGRAPH
+  {0xCA41, 0x8504}, //12466 #CJK UNIFIED IDEOGRAPH
+  {0xCA42, 0x8505}, //12467 #CJK UNIFIED IDEOGRAPH
+  {0xCA43, 0x8506}, //12468 #CJK UNIFIED IDEOGRAPH
+  {0xCA44, 0x8507}, //12469 #CJK UNIFIED IDEOGRAPH
+  {0xCA45, 0x8508}, //12470 #CJK UNIFIED IDEOGRAPH
+  {0xCA46, 0x8509}, //12471 #CJK UNIFIED IDEOGRAPH
+  {0xCA47, 0x850A}, //12472 #CJK UNIFIED IDEOGRAPH
+  {0xCA48, 0x850B}, //12473 #CJK UNIFIED IDEOGRAPH
+  {0xCA49, 0x850D}, //12474 #CJK UNIFIED IDEOGRAPH
+  {0xCA4A, 0x850E}, //12475 #CJK UNIFIED IDEOGRAPH
+  {0xCA4B, 0x850F}, //12476 #CJK UNIFIED IDEOGRAPH
+  {0xCA4C, 0x8510}, //12477 #CJK UNIFIED IDEOGRAPH
+  {0xCA4D, 0x8512}, //12478 #CJK UNIFIED IDEOGRAPH
+  {0xCA4E, 0x8514}, //12479 #CJK UNIFIED IDEOGRAPH
+  {0xCA4F, 0x8515}, //12480 #CJK UNIFIED IDEOGRAPH
+  {0xCA50, 0x8516}, //12481 #CJK UNIFIED IDEOGRAPH
+  {0xCA51, 0x8518}, //12482 #CJK UNIFIED IDEOGRAPH
+  {0xCA52, 0x8519}, //12483 #CJK UNIFIED IDEOGRAPH
+  {0xCA53, 0x851B}, //12484 #CJK UNIFIED IDEOGRAPH
+  {0xCA54, 0x851C}, //12485 #CJK UNIFIED IDEOGRAPH
+  {0xCA55, 0x851D}, //12486 #CJK UNIFIED IDEOGRAPH
+  {0xCA56, 0x851E}, //12487 #CJK UNIFIED IDEOGRAPH
+  {0xCA57, 0x8520}, //12488 #CJK UNIFIED IDEOGRAPH
+  {0xCA58, 0x8522}, //12489 #CJK UNIFIED IDEOGRAPH
+  {0xCA59, 0x8523}, //12490 #CJK UNIFIED IDEOGRAPH
+  {0xCA5A, 0x8524}, //12491 #CJK UNIFIED IDEOGRAPH
+  {0xCA5B, 0x8525}, //12492 #CJK UNIFIED IDEOGRAPH
+  {0xCA5C, 0x8526}, //12493 #CJK UNIFIED IDEOGRAPH
+  {0xCA5D, 0x8527}, //12494 #CJK UNIFIED IDEOGRAPH
+  {0xCA5E, 0x8528}, //12495 #CJK UNIFIED IDEOGRAPH
+  {0xCA5F, 0x8529}, //12496 #CJK UNIFIED IDEOGRAPH
+  {0xCA60, 0x852A}, //12497 #CJK UNIFIED IDEOGRAPH
+  {0xCA61, 0x852D}, //12498 #CJK UNIFIED IDEOGRAPH
+  {0xCA62, 0x852E}, //12499 #CJK UNIFIED IDEOGRAPH
+  {0xCA63, 0x852F}, //12500 #CJK UNIFIED IDEOGRAPH
+  {0xCA64, 0x8530}, //12501 #CJK UNIFIED IDEOGRAPH
+  {0xCA65, 0x8531}, //12502 #CJK UNIFIED IDEOGRAPH
+  {0xCA66, 0x8532}, //12503 #CJK UNIFIED IDEOGRAPH
+  {0xCA67, 0x8533}, //12504 #CJK UNIFIED IDEOGRAPH
+  {0xCA68, 0x8534}, //12505 #CJK UNIFIED IDEOGRAPH
+  {0xCA69, 0x8535}, //12506 #CJK UNIFIED IDEOGRAPH
+  {0xCA6A, 0x8536}, //12507 #CJK UNIFIED IDEOGRAPH
+  {0xCA6B, 0x853E}, //12508 #CJK UNIFIED IDEOGRAPH
+  {0xCA6C, 0x853F}, //12509 #CJK UNIFIED IDEOGRAPH
+  {0xCA6D, 0x8540}, //12510 #CJK UNIFIED IDEOGRAPH
+  {0xCA6E, 0x8541}, //12511 #CJK UNIFIED IDEOGRAPH
+  {0xCA6F, 0x8542}, //12512 #CJK UNIFIED IDEOGRAPH
+  {0xCA70, 0x8544}, //12513 #CJK UNIFIED IDEOGRAPH
+  {0xCA71, 0x8545}, //12514 #CJK UNIFIED IDEOGRAPH
+  {0xCA72, 0x8546}, //12515 #CJK UNIFIED IDEOGRAPH
+  {0xCA73, 0x8547}, //12516 #CJK UNIFIED IDEOGRAPH
+  {0xCA74, 0x854B}, //12517 #CJK UNIFIED IDEOGRAPH
+  {0xCA75, 0x854C}, //12518 #CJK UNIFIED IDEOGRAPH
+  {0xCA76, 0x854D}, //12519 #CJK UNIFIED IDEOGRAPH
+  {0xCA77, 0x854E}, //12520 #CJK UNIFIED IDEOGRAPH
+  {0xCA78, 0x854F}, //12521 #CJK UNIFIED IDEOGRAPH
+  {0xCA79, 0x8550}, //12522 #CJK UNIFIED IDEOGRAPH
+  {0xCA7A, 0x8551}, //12523 #CJK UNIFIED IDEOGRAPH
+  {0xCA7B, 0x8552}, //12524 #CJK UNIFIED IDEOGRAPH
+  {0xCA7C, 0x8553}, //12525 #CJK UNIFIED IDEOGRAPH
+  {0xCA7D, 0x8554}, //12526 #CJK UNIFIED IDEOGRAPH
+  {0xCA7E, 0x8555}, //12527 #CJK UNIFIED IDEOGRAPH
+  {0xCA80, 0x8557}, //12528 #CJK UNIFIED IDEOGRAPH
+  {0xCA81, 0x8558}, //12529 #CJK UNIFIED IDEOGRAPH
+  {0xCA82, 0x855A}, //12530 #CJK UNIFIED IDEOGRAPH
+  {0xCA83, 0x855B}, //12531 #CJK UNIFIED IDEOGRAPH
+  {0xCA84, 0x855C}, //12532 #CJK UNIFIED IDEOGRAPH
+  {0xCA85, 0x855D}, //12533 #CJK UNIFIED IDEOGRAPH
+  {0xCA86, 0x855F}, //12534 #CJK UNIFIED IDEOGRAPH
+  {0xCA87, 0x8560}, //12535 #CJK UNIFIED IDEOGRAPH
+  {0xCA88, 0x8561}, //12536 #CJK UNIFIED IDEOGRAPH
+  {0xCA89, 0x8562}, //12537 #CJK UNIFIED IDEOGRAPH
+  {0xCA8A, 0x8563}, //12538 #CJK UNIFIED IDEOGRAPH
+  {0xCA8B, 0x8565}, //12539 #CJK UNIFIED IDEOGRAPH
+  {0xCA8C, 0x8566}, //12540 #CJK UNIFIED IDEOGRAPH
+  {0xCA8D, 0x8567}, //12541 #CJK UNIFIED IDEOGRAPH
+  {0xCA8E, 0x8569}, //12542 #CJK UNIFIED IDEOGRAPH
+  {0xCA8F, 0x856A}, //12543 #CJK UNIFIED IDEOGRAPH
+  {0xCA90, 0x856B}, //12544 #CJK UNIFIED IDEOGRAPH
+  {0xCA91, 0x856C}, //12545 #CJK UNIFIED IDEOGRAPH
+  {0xCA92, 0x856D}, //12546 #CJK UNIFIED IDEOGRAPH
+  {0xCA93, 0x856E}, //12547 #CJK UNIFIED IDEOGRAPH
+  {0xCA94, 0x856F}, //12548 #CJK UNIFIED IDEOGRAPH
+  {0xCA95, 0x8570}, //12549 #CJK UNIFIED IDEOGRAPH
+  {0xCA96, 0x8571}, //12550 #CJK UNIFIED IDEOGRAPH
+  {0xCA97, 0x8573}, //12551 #CJK UNIFIED IDEOGRAPH
+  {0xCA98, 0x8575}, //12552 #CJK UNIFIED IDEOGRAPH
+  {0xCA99, 0x8576}, //12553 #CJK UNIFIED IDEOGRAPH
+  {0xCA9A, 0x8577}, //12554 #CJK UNIFIED IDEOGRAPH
+  {0xCA9B, 0x8578}, //12555 #CJK UNIFIED IDEOGRAPH
+  {0xCA9C, 0x857C}, //12556 #CJK UNIFIED IDEOGRAPH
+  {0xCA9D, 0x857D}, //12557 #CJK UNIFIED IDEOGRAPH
+  {0xCA9E, 0x857F}, //12558 #CJK UNIFIED IDEOGRAPH
+  {0xCA9F, 0x8580}, //12559 #CJK UNIFIED IDEOGRAPH
+  {0xCAA0, 0x8581}, //12560 #CJK UNIFIED IDEOGRAPH
+  {0xCAA1, 0x7701}, //12561 #CJK UNIFIED IDEOGRAPH
+  {0xCAA2, 0x76DB}, //12562 #CJK UNIFIED IDEOGRAPH
+  {0xCAA3, 0x5269}, //12563 #CJK UNIFIED IDEOGRAPH
+  {0xCAA4, 0x80DC}, //12564 #CJK UNIFIED IDEOGRAPH
+  {0xCAA5, 0x5723}, //12565 #CJK UNIFIED IDEOGRAPH
+  {0xCAA6, 0x5E08}, //12566 #CJK UNIFIED IDEOGRAPH
+  {0xCAA7, 0x5931}, //12567 #CJK UNIFIED IDEOGRAPH
+  {0xCAA8, 0x72EE}, //12568 #CJK UNIFIED IDEOGRAPH
+  {0xCAA9, 0x65BD}, //12569 #CJK UNIFIED IDEOGRAPH
+  {0xCAAA, 0x6E7F}, //12570 #CJK UNIFIED IDEOGRAPH
+  {0xCAAB, 0x8BD7}, //12571 #CJK UNIFIED IDEOGRAPH
+  {0xCAAC, 0x5C38}, //12572 #CJK UNIFIED IDEOGRAPH
+  {0xCAAD, 0x8671}, //12573 #CJK UNIFIED IDEOGRAPH
+  {0xCAAE, 0x5341}, //12574 #CJK UNIFIED IDEOGRAPH
+  {0xCAAF, 0x77F3}, //12575 #CJK UNIFIED IDEOGRAPH
+  {0xCAB0, 0x62FE}, //12576 #CJK UNIFIED IDEOGRAPH
+  {0xCAB1, 0x65F6}, //12577 #CJK UNIFIED IDEOGRAPH
+  {0xCAB2, 0x4EC0}, //12578 #CJK UNIFIED IDEOGRAPH
+  {0xCAB3, 0x98DF}, //12579 #CJK UNIFIED IDEOGRAPH
+  {0xCAB4, 0x8680}, //12580 #CJK UNIFIED IDEOGRAPH
+  {0xCAB5, 0x5B9E}, //12581 #CJK UNIFIED IDEOGRAPH
+  {0xCAB6, 0x8BC6}, //12582 #CJK UNIFIED IDEOGRAPH
+  {0xCAB7, 0x53F2}, //12583 #CJK UNIFIED IDEOGRAPH
+  {0xCAB8, 0x77E2}, //12584 #CJK UNIFIED IDEOGRAPH
+  {0xCAB9, 0x4F7F}, //12585 #CJK UNIFIED IDEOGRAPH
+  {0xCABA, 0x5C4E}, //12586 #CJK UNIFIED IDEOGRAPH
+  {0xCABB, 0x9A76}, //12587 #CJK UNIFIED IDEOGRAPH
+  {0xCABC, 0x59CB}, //12588 #CJK UNIFIED IDEOGRAPH
+  {0xCABD, 0x5F0F}, //12589 #CJK UNIFIED IDEOGRAPH
+  {0xCABE, 0x793A}, //12590 #CJK UNIFIED IDEOGRAPH
+  {0xCABF, 0x58EB}, //12591 #CJK UNIFIED IDEOGRAPH
+  {0xCAC0, 0x4E16}, //12592 #CJK UNIFIED IDEOGRAPH
+  {0xCAC1, 0x67FF}, //12593 #CJK UNIFIED IDEOGRAPH
+  {0xCAC2, 0x4E8B}, //12594 #CJK UNIFIED IDEOGRAPH
+  {0xCAC3, 0x62ED}, //12595 #CJK UNIFIED IDEOGRAPH
+  {0xCAC4, 0x8A93}, //12596 #CJK UNIFIED IDEOGRAPH
+  {0xCAC5, 0x901D}, //12597 #CJK UNIFIED IDEOGRAPH
+  {0xCAC6, 0x52BF}, //12598 #CJK UNIFIED IDEOGRAPH
+  {0xCAC7, 0x662F}, //12599 #CJK UNIFIED IDEOGRAPH
+  {0xCAC8, 0x55DC}, //12600 #CJK UNIFIED IDEOGRAPH
+  {0xCAC9, 0x566C}, //12601 #CJK UNIFIED IDEOGRAPH
+  {0xCACA, 0x9002}, //12602 #CJK UNIFIED IDEOGRAPH
+  {0xCACB, 0x4ED5}, //12603 #CJK UNIFIED IDEOGRAPH
+  {0xCACC, 0x4F8D}, //12604 #CJK UNIFIED IDEOGRAPH
+  {0xCACD, 0x91CA}, //12605 #CJK UNIFIED IDEOGRAPH
+  {0xCACE, 0x9970}, //12606 #CJK UNIFIED IDEOGRAPH
+  {0xCACF, 0x6C0F}, //12607 #CJK UNIFIED IDEOGRAPH
+  {0xCAD0, 0x5E02}, //12608 #CJK UNIFIED IDEOGRAPH
+  {0xCAD1, 0x6043}, //12609 #CJK UNIFIED IDEOGRAPH
+  {0xCAD2, 0x5BA4}, //12610 #CJK UNIFIED IDEOGRAPH
+  {0xCAD3, 0x89C6}, //12611 #CJK UNIFIED IDEOGRAPH
+  {0xCAD4, 0x8BD5}, //12612 #CJK UNIFIED IDEOGRAPH
+  {0xCAD5, 0x6536}, //12613 #CJK UNIFIED IDEOGRAPH
+  {0xCAD6, 0x624B}, //12614 #CJK UNIFIED IDEOGRAPH
+  {0xCAD7, 0x9996}, //12615 #CJK UNIFIED IDEOGRAPH
+  {0xCAD8, 0x5B88}, //12616 #CJK UNIFIED IDEOGRAPH
+  {0xCAD9, 0x5BFF}, //12617 #CJK UNIFIED IDEOGRAPH
+  {0xCADA, 0x6388}, //12618 #CJK UNIFIED IDEOGRAPH
+  {0xCADB, 0x552E}, //12619 #CJK UNIFIED IDEOGRAPH
+  {0xCADC, 0x53D7}, //12620 #CJK UNIFIED IDEOGRAPH
+  {0xCADD, 0x7626}, //12621 #CJK UNIFIED IDEOGRAPH
+  {0xCADE, 0x517D}, //12622 #CJK UNIFIED IDEOGRAPH
+  {0xCADF, 0x852C}, //12623 #CJK UNIFIED IDEOGRAPH
+  {0xCAE0, 0x67A2}, //12624 #CJK UNIFIED IDEOGRAPH
+  {0xCAE1, 0x68B3}, //12625 #CJK UNIFIED IDEOGRAPH
+  {0xCAE2, 0x6B8A}, //12626 #CJK UNIFIED IDEOGRAPH
+  {0xCAE3, 0x6292}, //12627 #CJK UNIFIED IDEOGRAPH
+  {0xCAE4, 0x8F93}, //12628 #CJK UNIFIED IDEOGRAPH
+  {0xCAE5, 0x53D4}, //12629 #CJK UNIFIED IDEOGRAPH
+  {0xCAE6, 0x8212}, //12630 #CJK UNIFIED IDEOGRAPH
+  {0xCAE7, 0x6DD1}, //12631 #CJK UNIFIED IDEOGRAPH
+  {0xCAE8, 0x758F}, //12632 #CJK UNIFIED IDEOGRAPH
+  {0xCAE9, 0x4E66}, //12633 #CJK UNIFIED IDEOGRAPH
+  {0xCAEA, 0x8D4E}, //12634 #CJK UNIFIED IDEOGRAPH
+  {0xCAEB, 0x5B70}, //12635 #CJK UNIFIED IDEOGRAPH
+  {0xCAEC, 0x719F}, //12636 #CJK UNIFIED IDEOGRAPH
+  {0xCAED, 0x85AF}, //12637 #CJK UNIFIED IDEOGRAPH
+  {0xCAEE, 0x6691}, //12638 #CJK UNIFIED IDEOGRAPH
+  {0xCAEF, 0x66D9}, //12639 #CJK UNIFIED IDEOGRAPH
+  {0xCAF0, 0x7F72}, //12640 #CJK UNIFIED IDEOGRAPH
+  {0xCAF1, 0x8700}, //12641 #CJK UNIFIED IDEOGRAPH
+  {0xCAF2, 0x9ECD}, //12642 #CJK UNIFIED IDEOGRAPH
+  {0xCAF3, 0x9F20}, //12643 #CJK UNIFIED IDEOGRAPH
+  {0xCAF4, 0x5C5E}, //12644 #CJK UNIFIED IDEOGRAPH
+  {0xCAF5, 0x672F}, //12645 #CJK UNIFIED IDEOGRAPH
+  {0xCAF6, 0x8FF0}, //12646 #CJK UNIFIED IDEOGRAPH
+  {0xCAF7, 0x6811}, //12647 #CJK UNIFIED IDEOGRAPH
+  {0xCAF8, 0x675F}, //12648 #CJK UNIFIED IDEOGRAPH
+  {0xCAF9, 0x620D}, //12649 #CJK UNIFIED IDEOGRAPH
+  {0xCAFA, 0x7AD6}, //12650 #CJK UNIFIED IDEOGRAPH
+  {0xCAFB, 0x5885}, //12651 #CJK UNIFIED IDEOGRAPH
+  {0xCAFC, 0x5EB6}, //12652 #CJK UNIFIED IDEOGRAPH
+  {0xCAFD, 0x6570}, //12653 #CJK UNIFIED IDEOGRAPH
+  {0xCAFE, 0x6F31}, //12654 #CJK UNIFIED IDEOGRAPH
+  {0xCB40, 0x8582}, //12655 #CJK UNIFIED IDEOGRAPH
+  {0xCB41, 0x8583}, //12656 #CJK UNIFIED IDEOGRAPH
+  {0xCB42, 0x8586}, //12657 #CJK UNIFIED IDEOGRAPH
+  {0xCB43, 0x8588}, //12658 #CJK UNIFIED IDEOGRAPH
+  {0xCB44, 0x8589}, //12659 #CJK UNIFIED IDEOGRAPH
+  {0xCB45, 0x858A}, //12660 #CJK UNIFIED IDEOGRAPH
+  {0xCB46, 0x858B}, //12661 #CJK UNIFIED IDEOGRAPH
+  {0xCB47, 0x858C}, //12662 #CJK UNIFIED IDEOGRAPH
+  {0xCB48, 0x858D}, //12663 #CJK UNIFIED IDEOGRAPH
+  {0xCB49, 0x858E}, //12664 #CJK UNIFIED IDEOGRAPH
+  {0xCB4A, 0x8590}, //12665 #CJK UNIFIED IDEOGRAPH
+  {0xCB4B, 0x8591}, //12666 #CJK UNIFIED IDEOGRAPH
+  {0xCB4C, 0x8592}, //12667 #CJK UNIFIED IDEOGRAPH
+  {0xCB4D, 0x8593}, //12668 #CJK UNIFIED IDEOGRAPH
+  {0xCB4E, 0x8594}, //12669 #CJK UNIFIED IDEOGRAPH
+  {0xCB4F, 0x8595}, //12670 #CJK UNIFIED IDEOGRAPH
+  {0xCB50, 0x8596}, //12671 #CJK UNIFIED IDEOGRAPH
+  {0xCB51, 0x8597}, //12672 #CJK UNIFIED IDEOGRAPH
+  {0xCB52, 0x8598}, //12673 #CJK UNIFIED IDEOGRAPH
+  {0xCB53, 0x8599}, //12674 #CJK UNIFIED IDEOGRAPH
+  {0xCB54, 0x859A}, //12675 #CJK UNIFIED IDEOGRAPH
+  {0xCB55, 0x859D}, //12676 #CJK UNIFIED IDEOGRAPH
+  {0xCB56, 0x859E}, //12677 #CJK UNIFIED IDEOGRAPH
+  {0xCB57, 0x859F}, //12678 #CJK UNIFIED IDEOGRAPH
+  {0xCB58, 0x85A0}, //12679 #CJK UNIFIED IDEOGRAPH
+  {0xCB59, 0x85A1}, //12680 #CJK UNIFIED IDEOGRAPH
+  {0xCB5A, 0x85A2}, //12681 #CJK UNIFIED IDEOGRAPH
+  {0xCB5B, 0x85A3}, //12682 #CJK UNIFIED IDEOGRAPH
+  {0xCB5C, 0x85A5}, //12683 #CJK UNIFIED IDEOGRAPH
+  {0xCB5D, 0x85A6}, //12684 #CJK UNIFIED IDEOGRAPH
+  {0xCB5E, 0x85A7}, //12685 #CJK UNIFIED IDEOGRAPH
+  {0xCB5F, 0x85A9}, //12686 #CJK UNIFIED IDEOGRAPH
+  {0xCB60, 0x85AB}, //12687 #CJK UNIFIED IDEOGRAPH
+  {0xCB61, 0x85AC}, //12688 #CJK UNIFIED IDEOGRAPH
+  {0xCB62, 0x85AD}, //12689 #CJK UNIFIED IDEOGRAPH
+  {0xCB63, 0x85B1}, //12690 #CJK UNIFIED IDEOGRAPH
+  {0xCB64, 0x85B2}, //12691 #CJK UNIFIED IDEOGRAPH
+  {0xCB65, 0x85B3}, //12692 #CJK UNIFIED IDEOGRAPH
+  {0xCB66, 0x85B4}, //12693 #CJK UNIFIED IDEOGRAPH
+  {0xCB67, 0x85B5}, //12694 #CJK UNIFIED IDEOGRAPH
+  {0xCB68, 0x85B6}, //12695 #CJK UNIFIED IDEOGRAPH
+  {0xCB69, 0x85B8}, //12696 #CJK UNIFIED IDEOGRAPH
+  {0xCB6A, 0x85BA}, //12697 #CJK UNIFIED IDEOGRAPH
+  {0xCB6B, 0x85BB}, //12698 #CJK UNIFIED IDEOGRAPH
+  {0xCB6C, 0x85BC}, //12699 #CJK UNIFIED IDEOGRAPH
+  {0xCB6D, 0x85BD}, //12700 #CJK UNIFIED IDEOGRAPH
+  {0xCB6E, 0x85BE}, //12701 #CJK UNIFIED IDEOGRAPH
+  {0xCB6F, 0x85BF}, //12702 #CJK UNIFIED IDEOGRAPH
+  {0xCB70, 0x85C0}, //12703 #CJK UNIFIED IDEOGRAPH
+  {0xCB71, 0x85C2}, //12704 #CJK UNIFIED IDEOGRAPH
+  {0xCB72, 0x85C3}, //12705 #CJK UNIFIED IDEOGRAPH
+  {0xCB73, 0x85C4}, //12706 #CJK UNIFIED IDEOGRAPH
+  {0xCB74, 0x85C5}, //12707 #CJK UNIFIED IDEOGRAPH
+  {0xCB75, 0x85C6}, //12708 #CJK UNIFIED IDEOGRAPH
+  {0xCB76, 0x85C7}, //12709 #CJK UNIFIED IDEOGRAPH
+  {0xCB77, 0x85C8}, //12710 #CJK UNIFIED IDEOGRAPH
+  {0xCB78, 0x85CA}, //12711 #CJK UNIFIED IDEOGRAPH
+  {0xCB79, 0x85CB}, //12712 #CJK UNIFIED IDEOGRAPH
+  {0xCB7A, 0x85CC}, //12713 #CJK UNIFIED IDEOGRAPH
+  {0xCB7B, 0x85CD}, //12714 #CJK UNIFIED IDEOGRAPH
+  {0xCB7C, 0x85CE}, //12715 #CJK UNIFIED IDEOGRAPH
+  {0xCB7D, 0x85D1}, //12716 #CJK UNIFIED IDEOGRAPH
+  {0xCB7E, 0x85D2}, //12717 #CJK UNIFIED IDEOGRAPH
+  {0xCB80, 0x85D4}, //12718 #CJK UNIFIED IDEOGRAPH
+  {0xCB81, 0x85D6}, //12719 #CJK UNIFIED IDEOGRAPH
+  {0xCB82, 0x85D7}, //12720 #CJK UNIFIED IDEOGRAPH
+  {0xCB83, 0x85D8}, //12721 #CJK UNIFIED IDEOGRAPH
+  {0xCB84, 0x85D9}, //12722 #CJK UNIFIED IDEOGRAPH
+  {0xCB85, 0x85DA}, //12723 #CJK UNIFIED IDEOGRAPH
+  {0xCB86, 0x85DB}, //12724 #CJK UNIFIED IDEOGRAPH
+  {0xCB87, 0x85DD}, //12725 #CJK UNIFIED IDEOGRAPH
+  {0xCB88, 0x85DE}, //12726 #CJK UNIFIED IDEOGRAPH
+  {0xCB89, 0x85DF}, //12727 #CJK UNIFIED IDEOGRAPH
+  {0xCB8A, 0x85E0}, //12728 #CJK UNIFIED IDEOGRAPH
+  {0xCB8B, 0x85E1}, //12729 #CJK UNIFIED IDEOGRAPH
+  {0xCB8C, 0x85E2}, //12730 #CJK UNIFIED IDEOGRAPH
+  {0xCB8D, 0x85E3}, //12731 #CJK UNIFIED IDEOGRAPH
+  {0xCB8E, 0x85E5}, //12732 #CJK UNIFIED IDEOGRAPH
+  {0xCB8F, 0x85E6}, //12733 #CJK UNIFIED IDEOGRAPH
+  {0xCB90, 0x85E7}, //12734 #CJK UNIFIED IDEOGRAPH
+  {0xCB91, 0x85E8}, //12735 #CJK UNIFIED IDEOGRAPH
+  {0xCB92, 0x85EA}, //12736 #CJK UNIFIED IDEOGRAPH
+  {0xCB93, 0x85EB}, //12737 #CJK UNIFIED IDEOGRAPH
+  {0xCB94, 0x85EC}, //12738 #CJK UNIFIED IDEOGRAPH
+  {0xCB95, 0x85ED}, //12739 #CJK UNIFIED IDEOGRAPH
+  {0xCB96, 0x85EE}, //12740 #CJK UNIFIED IDEOGRAPH
+  {0xCB97, 0x85EF}, //12741 #CJK UNIFIED IDEOGRAPH
+  {0xCB98, 0x85F0}, //12742 #CJK UNIFIED IDEOGRAPH
+  {0xCB99, 0x85F1}, //12743 #CJK UNIFIED IDEOGRAPH
+  {0xCB9A, 0x85F2}, //12744 #CJK UNIFIED IDEOGRAPH
+  {0xCB9B, 0x85F3}, //12745 #CJK UNIFIED IDEOGRAPH
+  {0xCB9C, 0x85F4}, //12746 #CJK UNIFIED IDEOGRAPH
+  {0xCB9D, 0x85F5}, //12747 #CJK UNIFIED IDEOGRAPH
+  {0xCB9E, 0x85F6}, //12748 #CJK UNIFIED IDEOGRAPH
+  {0xCB9F, 0x85F7}, //12749 #CJK UNIFIED IDEOGRAPH
+  {0xCBA0, 0x85F8}, //12750 #CJK UNIFIED IDEOGRAPH
+  {0xCBA1, 0x6055}, //12751 #CJK UNIFIED IDEOGRAPH
+  {0xCBA2, 0x5237}, //12752 #CJK UNIFIED IDEOGRAPH
+  {0xCBA3, 0x800D}, //12753 #CJK UNIFIED IDEOGRAPH
+  {0xCBA4, 0x6454}, //12754 #CJK UNIFIED IDEOGRAPH
+  {0xCBA5, 0x8870}, //12755 #CJK UNIFIED IDEOGRAPH
+  {0xCBA6, 0x7529}, //12756 #CJK UNIFIED IDEOGRAPH
+  {0xCBA7, 0x5E05}, //12757 #CJK UNIFIED IDEOGRAPH
+  {0xCBA8, 0x6813}, //12758 #CJK UNIFIED IDEOGRAPH
+  {0xCBA9, 0x62F4}, //12759 #CJK UNIFIED IDEOGRAPH
+  {0xCBAA, 0x971C}, //12760 #CJK UNIFIED IDEOGRAPH
+  {0xCBAB, 0x53CC}, //12761 #CJK UNIFIED IDEOGRAPH
+  {0xCBAC, 0x723D}, //12762 #CJK UNIFIED IDEOGRAPH
+  {0xCBAD, 0x8C01}, //12763 #CJK UNIFIED IDEOGRAPH
+  {0xCBAE, 0x6C34}, //12764 #CJK UNIFIED IDEOGRAPH
+  {0xCBAF, 0x7761}, //12765 #CJK UNIFIED IDEOGRAPH
+  {0xCBB0, 0x7A0E}, //12766 #CJK UNIFIED IDEOGRAPH
+  {0xCBB1, 0x542E}, //12767 #CJK UNIFIED IDEOGRAPH
+  {0xCBB2, 0x77AC}, //12768 #CJK UNIFIED IDEOGRAPH
+  {0xCBB3, 0x987A}, //12769 #CJK UNIFIED IDEOGRAPH
+  {0xCBB4, 0x821C}, //12770 #CJK UNIFIED IDEOGRAPH
+  {0xCBB5, 0x8BF4}, //12771 #CJK UNIFIED IDEOGRAPH
+  {0xCBB6, 0x7855}, //12772 #CJK UNIFIED IDEOGRAPH
+  {0xCBB7, 0x6714}, //12773 #CJK UNIFIED IDEOGRAPH
+  {0xCBB8, 0x70C1}, //12774 #CJK UNIFIED IDEOGRAPH
+  {0xCBB9, 0x65AF}, //12775 #CJK UNIFIED IDEOGRAPH
+  {0xCBBA, 0x6495}, //12776 #CJK UNIFIED IDEOGRAPH
+  {0xCBBB, 0x5636}, //12777 #CJK UNIFIED IDEOGRAPH
+  {0xCBBC, 0x601D}, //12778 #CJK UNIFIED IDEOGRAPH
+  {0xCBBD, 0x79C1}, //12779 #CJK UNIFIED IDEOGRAPH
+  {0xCBBE, 0x53F8}, //12780 #CJK UNIFIED IDEOGRAPH
+  {0xCBBF, 0x4E1D}, //12781 #CJK UNIFIED IDEOGRAPH
+  {0xCBC0, 0x6B7B}, //12782 #CJK UNIFIED IDEOGRAPH
+  {0xCBC1, 0x8086}, //12783 #CJK UNIFIED IDEOGRAPH
+  {0xCBC2, 0x5BFA}, //12784 #CJK UNIFIED IDEOGRAPH
+  {0xCBC3, 0x55E3}, //12785 #CJK UNIFIED IDEOGRAPH
+  {0xCBC4, 0x56DB}, //12786 #CJK UNIFIED IDEOGRAPH
+  {0xCBC5, 0x4F3A}, //12787 #CJK UNIFIED IDEOGRAPH
+  {0xCBC6, 0x4F3C}, //12788 #CJK UNIFIED IDEOGRAPH
+  {0xCBC7, 0x9972}, //12789 #CJK UNIFIED IDEOGRAPH
+  {0xCBC8, 0x5DF3}, //12790 #CJK UNIFIED IDEOGRAPH
+  {0xCBC9, 0x677E}, //12791 #CJK UNIFIED IDEOGRAPH
+  {0xCBCA, 0x8038}, //12792 #CJK UNIFIED IDEOGRAPH
+  {0xCBCB, 0x6002}, //12793 #CJK UNIFIED IDEOGRAPH
+  {0xCBCC, 0x9882}, //12794 #CJK UNIFIED IDEOGRAPH
+  {0xCBCD, 0x9001}, //12795 #CJK UNIFIED IDEOGRAPH
+  {0xCBCE, 0x5B8B}, //12796 #CJK UNIFIED IDEOGRAPH
+  {0xCBCF, 0x8BBC}, //12797 #CJK UNIFIED IDEOGRAPH
+  {0xCBD0, 0x8BF5}, //12798 #CJK UNIFIED IDEOGRAPH
+  {0xCBD1, 0x641C}, //12799 #CJK UNIFIED IDEOGRAPH
+  {0xCBD2, 0x8258}, //12800 #CJK UNIFIED IDEOGRAPH
+  {0xCBD3, 0x64DE}, //12801 #CJK UNIFIED IDEOGRAPH
+  {0xCBD4, 0x55FD}, //12802 #CJK UNIFIED IDEOGRAPH
+  {0xCBD5, 0x82CF}, //12803 #CJK UNIFIED IDEOGRAPH
+  {0xCBD6, 0x9165}, //12804 #CJK UNIFIED IDEOGRAPH
+  {0xCBD7, 0x4FD7}, //12805 #CJK UNIFIED IDEOGRAPH
+  {0xCBD8, 0x7D20}, //12806 #CJK UNIFIED IDEOGRAPH
+  {0xCBD9, 0x901F}, //12807 #CJK UNIFIED IDEOGRAPH
+  {0xCBDA, 0x7C9F}, //12808 #CJK UNIFIED IDEOGRAPH
+  {0xCBDB, 0x50F3}, //12809 #CJK UNIFIED IDEOGRAPH
+  {0xCBDC, 0x5851}, //12810 #CJK UNIFIED IDEOGRAPH
+  {0xCBDD, 0x6EAF}, //12811 #CJK UNIFIED IDEOGRAPH
+  {0xCBDE, 0x5BBF}, //12812 #CJK UNIFIED IDEOGRAPH
+  {0xCBDF, 0x8BC9}, //12813 #CJK UNIFIED IDEOGRAPH
+  {0xCBE0, 0x8083}, //12814 #CJK UNIFIED IDEOGRAPH
+  {0xCBE1, 0x9178}, //12815 #CJK UNIFIED IDEOGRAPH
+  {0xCBE2, 0x849C}, //12816 #CJK UNIFIED IDEOGRAPH
+  {0xCBE3, 0x7B97}, //12817 #CJK UNIFIED IDEOGRAPH
+  {0xCBE4, 0x867D}, //12818 #CJK UNIFIED IDEOGRAPH
+  {0xCBE5, 0x968B}, //12819 #CJK UNIFIED IDEOGRAPH
+  {0xCBE6, 0x968F}, //12820 #CJK UNIFIED IDEOGRAPH
+  {0xCBE7, 0x7EE5}, //12821 #CJK UNIFIED IDEOGRAPH
+  {0xCBE8, 0x9AD3}, //12822 #CJK UNIFIED IDEOGRAPH
+  {0xCBE9, 0x788E}, //12823 #CJK UNIFIED IDEOGRAPH
+  {0xCBEA, 0x5C81}, //12824 #CJK UNIFIED IDEOGRAPH
+  {0xCBEB, 0x7A57}, //12825 #CJK UNIFIED IDEOGRAPH
+  {0xCBEC, 0x9042}, //12826 #CJK UNIFIED IDEOGRAPH
+  {0xCBED, 0x96A7}, //12827 #CJK UNIFIED IDEOGRAPH
+  {0xCBEE, 0x795F}, //12828 #CJK UNIFIED IDEOGRAPH
+  {0xCBEF, 0x5B59}, //12829 #CJK UNIFIED IDEOGRAPH
+  {0xCBF0, 0x635F}, //12830 #CJK UNIFIED IDEOGRAPH
+  {0xCBF1, 0x7B0B}, //12831 #CJK UNIFIED IDEOGRAPH
+  {0xCBF2, 0x84D1}, //12832 #CJK UNIFIED IDEOGRAPH
+  {0xCBF3, 0x68AD}, //12833 #CJK UNIFIED IDEOGRAPH
+  {0xCBF4, 0x5506}, //12834 #CJK UNIFIED IDEOGRAPH
+  {0xCBF5, 0x7F29}, //12835 #CJK UNIFIED IDEOGRAPH
+  {0xCBF6, 0x7410}, //12836 #CJK UNIFIED IDEOGRAPH
+  {0xCBF7, 0x7D22}, //12837 #CJK UNIFIED IDEOGRAPH
+  {0xCBF8, 0x9501}, //12838 #CJK UNIFIED IDEOGRAPH
+  {0xCBF9, 0x6240}, //12839 #CJK UNIFIED IDEOGRAPH
+  {0xCBFA, 0x584C}, //12840 #CJK UNIFIED IDEOGRAPH
+  {0xCBFB, 0x4ED6}, //12841 #CJK UNIFIED IDEOGRAPH
+  {0xCBFC, 0x5B83}, //12842 #CJK UNIFIED IDEOGRAPH
+  {0xCBFD, 0x5979}, //12843 #CJK UNIFIED IDEOGRAPH
+  {0xCBFE, 0x5854}, //12844 #CJK UNIFIED IDEOGRAPH
+  {0xCC40, 0x85F9}, //12845 #CJK UNIFIED IDEOGRAPH
+  {0xCC41, 0x85FA}, //12846 #CJK UNIFIED IDEOGRAPH
+  {0xCC42, 0x85FC}, //12847 #CJK UNIFIED IDEOGRAPH
+  {0xCC43, 0x85FD}, //12848 #CJK UNIFIED IDEOGRAPH
+  {0xCC44, 0x85FE}, //12849 #CJK UNIFIED IDEOGRAPH
+  {0xCC45, 0x8600}, //12850 #CJK UNIFIED IDEOGRAPH
+  {0xCC46, 0x8601}, //12851 #CJK UNIFIED IDEOGRAPH
+  {0xCC47, 0x8602}, //12852 #CJK UNIFIED IDEOGRAPH
+  {0xCC48, 0x8603}, //12853 #CJK UNIFIED IDEOGRAPH
+  {0xCC49, 0x8604}, //12854 #CJK UNIFIED IDEOGRAPH
+  {0xCC4A, 0x8606}, //12855 #CJK UNIFIED IDEOGRAPH
+  {0xCC4B, 0x8607}, //12856 #CJK UNIFIED IDEOGRAPH
+  {0xCC4C, 0x8608}, //12857 #CJK UNIFIED IDEOGRAPH
+  {0xCC4D, 0x8609}, //12858 #CJK UNIFIED IDEOGRAPH
+  {0xCC4E, 0x860A}, //12859 #CJK UNIFIED IDEOGRAPH
+  {0xCC4F, 0x860B}, //12860 #CJK UNIFIED IDEOGRAPH
+  {0xCC50, 0x860C}, //12861 #CJK UNIFIED IDEOGRAPH
+  {0xCC51, 0x860D}, //12862 #CJK UNIFIED IDEOGRAPH
+  {0xCC52, 0x860E}, //12863 #CJK UNIFIED IDEOGRAPH
+  {0xCC53, 0x860F}, //12864 #CJK UNIFIED IDEOGRAPH
+  {0xCC54, 0x8610}, //12865 #CJK UNIFIED IDEOGRAPH
+  {0xCC55, 0x8612}, //12866 #CJK UNIFIED IDEOGRAPH
+  {0xCC56, 0x8613}, //12867 #CJK UNIFIED IDEOGRAPH
+  {0xCC57, 0x8614}, //12868 #CJK UNIFIED IDEOGRAPH
+  {0xCC58, 0x8615}, //12869 #CJK UNIFIED IDEOGRAPH
+  {0xCC59, 0x8617}, //12870 #CJK UNIFIED IDEOGRAPH
+  {0xCC5A, 0x8618}, //12871 #CJK UNIFIED IDEOGRAPH
+  {0xCC5B, 0x8619}, //12872 #CJK UNIFIED IDEOGRAPH
+  {0xCC5C, 0x861A}, //12873 #CJK UNIFIED IDEOGRAPH
+  {0xCC5D, 0x861B}, //12874 #CJK UNIFIED IDEOGRAPH
+  {0xCC5E, 0x861C}, //12875 #CJK UNIFIED IDEOGRAPH
+  {0xCC5F, 0x861D}, //12876 #CJK UNIFIED IDEOGRAPH
+  {0xCC60, 0x861E}, //12877 #CJK UNIFIED IDEOGRAPH
+  {0xCC61, 0x861F}, //12878 #CJK UNIFIED IDEOGRAPH
+  {0xCC62, 0x8620}, //12879 #CJK UNIFIED IDEOGRAPH
+  {0xCC63, 0x8621}, //12880 #CJK UNIFIED IDEOGRAPH
+  {0xCC64, 0x8622}, //12881 #CJK UNIFIED IDEOGRAPH
+  {0xCC65, 0x8623}, //12882 #CJK UNIFIED IDEOGRAPH
+  {0xCC66, 0x8624}, //12883 #CJK UNIFIED IDEOGRAPH
+  {0xCC67, 0x8625}, //12884 #CJK UNIFIED IDEOGRAPH
+  {0xCC68, 0x8626}, //12885 #CJK UNIFIED IDEOGRAPH
+  {0xCC69, 0x8628}, //12886 #CJK UNIFIED IDEOGRAPH
+  {0xCC6A, 0x862A}, //12887 #CJK UNIFIED IDEOGRAPH
+  {0xCC6B, 0x862B}, //12888 #CJK UNIFIED IDEOGRAPH
+  {0xCC6C, 0x862C}, //12889 #CJK UNIFIED IDEOGRAPH
+  {0xCC6D, 0x862D}, //12890 #CJK UNIFIED IDEOGRAPH
+  {0xCC6E, 0x862E}, //12891 #CJK UNIFIED IDEOGRAPH
+  {0xCC6F, 0x862F}, //12892 #CJK UNIFIED IDEOGRAPH
+  {0xCC70, 0x8630}, //12893 #CJK UNIFIED IDEOGRAPH
+  {0xCC71, 0x8631}, //12894 #CJK UNIFIED IDEOGRAPH
+  {0xCC72, 0x8632}, //12895 #CJK UNIFIED IDEOGRAPH
+  {0xCC73, 0x8633}, //12896 #CJK UNIFIED IDEOGRAPH
+  {0xCC74, 0x8634}, //12897 #CJK UNIFIED IDEOGRAPH
+  {0xCC75, 0x8635}, //12898 #CJK UNIFIED IDEOGRAPH
+  {0xCC76, 0x8636}, //12899 #CJK UNIFIED IDEOGRAPH
+  {0xCC77, 0x8637}, //12900 #CJK UNIFIED IDEOGRAPH
+  {0xCC78, 0x8639}, //12901 #CJK UNIFIED IDEOGRAPH
+  {0xCC79, 0x863A}, //12902 #CJK UNIFIED IDEOGRAPH
+  {0xCC7A, 0x863B}, //12903 #CJK UNIFIED IDEOGRAPH
+  {0xCC7B, 0x863D}, //12904 #CJK UNIFIED IDEOGRAPH
+  {0xCC7C, 0x863E}, //12905 #CJK UNIFIED IDEOGRAPH
+  {0xCC7D, 0x863F}, //12906 #CJK UNIFIED IDEOGRAPH
+  {0xCC7E, 0x8640}, //12907 #CJK UNIFIED IDEOGRAPH
+  {0xCC80, 0x8641}, //12908 #CJK UNIFIED IDEOGRAPH
+  {0xCC81, 0x8642}, //12909 #CJK UNIFIED IDEOGRAPH
+  {0xCC82, 0x8643}, //12910 #CJK UNIFIED IDEOGRAPH
+  {0xCC83, 0x8644}, //12911 #CJK UNIFIED IDEOGRAPH
+  {0xCC84, 0x8645}, //12912 #CJK UNIFIED IDEOGRAPH
+  {0xCC85, 0x8646}, //12913 #CJK UNIFIED IDEOGRAPH
+  {0xCC86, 0x8647}, //12914 #CJK UNIFIED IDEOGRAPH
+  {0xCC87, 0x8648}, //12915 #CJK UNIFIED IDEOGRAPH
+  {0xCC88, 0x8649}, //12916 #CJK UNIFIED IDEOGRAPH
+  {0xCC89, 0x864A}, //12917 #CJK UNIFIED IDEOGRAPH
+  {0xCC8A, 0x864B}, //12918 #CJK UNIFIED IDEOGRAPH
+  {0xCC8B, 0x864C}, //12919 #CJK UNIFIED IDEOGRAPH
+  {0xCC8C, 0x8652}, //12920 #CJK UNIFIED IDEOGRAPH
+  {0xCC8D, 0x8653}, //12921 #CJK UNIFIED IDEOGRAPH
+  {0xCC8E, 0x8655}, //12922 #CJK UNIFIED IDEOGRAPH
+  {0xCC8F, 0x8656}, //12923 #CJK UNIFIED IDEOGRAPH
+  {0xCC90, 0x8657}, //12924 #CJK UNIFIED IDEOGRAPH
+  {0xCC91, 0x8658}, //12925 #CJK UNIFIED IDEOGRAPH
+  {0xCC92, 0x8659}, //12926 #CJK UNIFIED IDEOGRAPH
+  {0xCC93, 0x865B}, //12927 #CJK UNIFIED IDEOGRAPH
+  {0xCC94, 0x865C}, //12928 #CJK UNIFIED IDEOGRAPH
+  {0xCC95, 0x865D}, //12929 #CJK UNIFIED IDEOGRAPH
+  {0xCC96, 0x865F}, //12930 #CJK UNIFIED IDEOGRAPH
+  {0xCC97, 0x8660}, //12931 #CJK UNIFIED IDEOGRAPH
+  {0xCC98, 0x8661}, //12932 #CJK UNIFIED IDEOGRAPH
+  {0xCC99, 0x8663}, //12933 #CJK UNIFIED IDEOGRAPH
+  {0xCC9A, 0x8664}, //12934 #CJK UNIFIED IDEOGRAPH
+  {0xCC9B, 0x8665}, //12935 #CJK UNIFIED IDEOGRAPH
+  {0xCC9C, 0x8666}, //12936 #CJK UNIFIED IDEOGRAPH
+  {0xCC9D, 0x8667}, //12937 #CJK UNIFIED IDEOGRAPH
+  {0xCC9E, 0x8668}, //12938 #CJK UNIFIED IDEOGRAPH
+  {0xCC9F, 0x8669}, //12939 #CJK UNIFIED IDEOGRAPH
+  {0xCCA0, 0x866A}, //12940 #CJK UNIFIED IDEOGRAPH
+  {0xCCA1, 0x736D}, //12941 #CJK UNIFIED IDEOGRAPH
+  {0xCCA2, 0x631E}, //12942 #CJK UNIFIED IDEOGRAPH
+  {0xCCA3, 0x8E4B}, //12943 #CJK UNIFIED IDEOGRAPH
+  {0xCCA4, 0x8E0F}, //12944 #CJK UNIFIED IDEOGRAPH
+  {0xCCA5, 0x80CE}, //12945 #CJK UNIFIED IDEOGRAPH
+  {0xCCA6, 0x82D4}, //12946 #CJK UNIFIED IDEOGRAPH
+  {0xCCA7, 0x62AC}, //12947 #CJK UNIFIED IDEOGRAPH
+  {0xCCA8, 0x53F0}, //12948 #CJK UNIFIED IDEOGRAPH
+  {0xCCA9, 0x6CF0}, //12949 #CJK UNIFIED IDEOGRAPH
+  {0xCCAA, 0x915E}, //12950 #CJK UNIFIED IDEOGRAPH
+  {0xCCAB, 0x592A}, //12951 #CJK UNIFIED IDEOGRAPH
+  {0xCCAC, 0x6001}, //12952 #CJK UNIFIED IDEOGRAPH
+  {0xCCAD, 0x6C70}, //12953 #CJK UNIFIED IDEOGRAPH
+  {0xCCAE, 0x574D}, //12954 #CJK UNIFIED IDEOGRAPH
+  {0xCCAF, 0x644A}, //12955 #CJK UNIFIED IDEOGRAPH
+  {0xCCB0, 0x8D2A}, //12956 #CJK UNIFIED IDEOGRAPH
+  {0xCCB1, 0x762B}, //12957 #CJK UNIFIED IDEOGRAPH
+  {0xCCB2, 0x6EE9}, //12958 #CJK UNIFIED IDEOGRAPH
+  {0xCCB3, 0x575B}, //12959 #CJK UNIFIED IDEOGRAPH
+  {0xCCB4, 0x6A80}, //12960 #CJK UNIFIED IDEOGRAPH
+  {0xCCB5, 0x75F0}, //12961 #CJK UNIFIED IDEOGRAPH
+  {0xCCB6, 0x6F6D}, //12962 #CJK UNIFIED IDEOGRAPH
+  {0xCCB7, 0x8C2D}, //12963 #CJK UNIFIED IDEOGRAPH
+  {0xCCB8, 0x8C08}, //12964 #CJK UNIFIED IDEOGRAPH
+  {0xCCB9, 0x5766}, //12965 #CJK UNIFIED IDEOGRAPH
+  {0xCCBA, 0x6BEF}, //12966 #CJK UNIFIED IDEOGRAPH
+  {0xCCBB, 0x8892}, //12967 #CJK UNIFIED IDEOGRAPH
+  {0xCCBC, 0x78B3}, //12968 #CJK UNIFIED IDEOGRAPH
+  {0xCCBD, 0x63A2}, //12969 #CJK UNIFIED IDEOGRAPH
+  {0xCCBE, 0x53F9}, //12970 #CJK UNIFIED IDEOGRAPH
+  {0xCCBF, 0x70AD}, //12971 #CJK UNIFIED IDEOGRAPH
+  {0xCCC0, 0x6C64}, //12972 #CJK UNIFIED IDEOGRAPH
+  {0xCCC1, 0x5858}, //12973 #CJK UNIFIED IDEOGRAPH
+  {0xCCC2, 0x642A}, //12974 #CJK UNIFIED IDEOGRAPH
+  {0xCCC3, 0x5802}, //12975 #CJK UNIFIED IDEOGRAPH
+  {0xCCC4, 0x68E0}, //12976 #CJK UNIFIED IDEOGRAPH
+  {0xCCC5, 0x819B}, //12977 #CJK UNIFIED IDEOGRAPH
+  {0xCCC6, 0x5510}, //12978 #CJK UNIFIED IDEOGRAPH
+  {0xCCC7, 0x7CD6}, //12979 #CJK UNIFIED IDEOGRAPH
+  {0xCCC8, 0x5018}, //12980 #CJK UNIFIED IDEOGRAPH
+  {0xCCC9, 0x8EBA}, //12981 #CJK UNIFIED IDEOGRAPH
+  {0xCCCA, 0x6DCC}, //12982 #CJK UNIFIED IDEOGRAPH
+  {0xCCCB, 0x8D9F}, //12983 #CJK UNIFIED IDEOGRAPH
+  {0xCCCC, 0x70EB}, //12984 #CJK UNIFIED IDEOGRAPH
+  {0xCCCD, 0x638F}, //12985 #CJK UNIFIED IDEOGRAPH
+  {0xCCCE, 0x6D9B}, //12986 #CJK UNIFIED IDEOGRAPH
+  {0xCCCF, 0x6ED4}, //12987 #CJK UNIFIED IDEOGRAPH
+  {0xCCD0, 0x7EE6}, //12988 #CJK UNIFIED IDEOGRAPH
+  {0xCCD1, 0x8404}, //12989 #CJK UNIFIED IDEOGRAPH
+  {0xCCD2, 0x6843}, //12990 #CJK UNIFIED IDEOGRAPH
+  {0xCCD3, 0x9003}, //12991 #CJK UNIFIED IDEOGRAPH
+  {0xCCD4, 0x6DD8}, //12992 #CJK UNIFIED IDEOGRAPH
+  {0xCCD5, 0x9676}, //12993 #CJK UNIFIED IDEOGRAPH
+  {0xCCD6, 0x8BA8}, //12994 #CJK UNIFIED IDEOGRAPH
+  {0xCCD7, 0x5957}, //12995 #CJK UNIFIED IDEOGRAPH
+  {0xCCD8, 0x7279}, //12996 #CJK UNIFIED IDEOGRAPH
+  {0xCCD9, 0x85E4}, //12997 #CJK UNIFIED IDEOGRAPH
+  {0xCCDA, 0x817E}, //12998 #CJK UNIFIED IDEOGRAPH
+  {0xCCDB, 0x75BC}, //12999 #CJK UNIFIED IDEOGRAPH
+  {0xCCDC, 0x8A8A}, //13000 #CJK UNIFIED IDEOGRAPH
+  {0xCCDD, 0x68AF}, //13001 #CJK UNIFIED IDEOGRAPH
+  {0xCCDE, 0x5254}, //13002 #CJK UNIFIED IDEOGRAPH
+  {0xCCDF, 0x8E22}, //13003 #CJK UNIFIED IDEOGRAPH
+  {0xCCE0, 0x9511}, //13004 #CJK UNIFIED IDEOGRAPH
+  {0xCCE1, 0x63D0}, //13005 #CJK UNIFIED IDEOGRAPH
+  {0xCCE2, 0x9898}, //13006 #CJK UNIFIED IDEOGRAPH
+  {0xCCE3, 0x8E44}, //13007 #CJK UNIFIED IDEOGRAPH
+  {0xCCE4, 0x557C}, //13008 #CJK UNIFIED IDEOGRAPH
+  {0xCCE5, 0x4F53}, //13009 #CJK UNIFIED IDEOGRAPH
+  {0xCCE6, 0x66FF}, //13010 #CJK UNIFIED IDEOGRAPH
+  {0xCCE7, 0x568F}, //13011 #CJK UNIFIED IDEOGRAPH
+  {0xCCE8, 0x60D5}, //13012 #CJK UNIFIED IDEOGRAPH
+  {0xCCE9, 0x6D95}, //13013 #CJK UNIFIED IDEOGRAPH
+  {0xCCEA, 0x5243}, //13014 #CJK UNIFIED IDEOGRAPH
+  {0xCCEB, 0x5C49}, //13015 #CJK UNIFIED IDEOGRAPH
+  {0xCCEC, 0x5929}, //13016 #CJK UNIFIED IDEOGRAPH
+  {0xCCED, 0x6DFB}, //13017 #CJK UNIFIED IDEOGRAPH
+  {0xCCEE, 0x586B}, //13018 #CJK UNIFIED IDEOGRAPH
+  {0xCCEF, 0x7530}, //13019 #CJK UNIFIED IDEOGRAPH
+  {0xCCF0, 0x751C}, //13020 #CJK UNIFIED IDEOGRAPH
+  {0xCCF1, 0x606C}, //13021 #CJK UNIFIED IDEOGRAPH
+  {0xCCF2, 0x8214}, //13022 #CJK UNIFIED IDEOGRAPH
+  {0xCCF3, 0x8146}, //13023 #CJK UNIFIED IDEOGRAPH
+  {0xCCF4, 0x6311}, //13024 #CJK UNIFIED IDEOGRAPH
+  {0xCCF5, 0x6761}, //13025 #CJK UNIFIED IDEOGRAPH
+  {0xCCF6, 0x8FE2}, //13026 #CJK UNIFIED IDEOGRAPH
+  {0xCCF7, 0x773A}, //13027 #CJK UNIFIED IDEOGRAPH
+  {0xCCF8, 0x8DF3}, //13028 #CJK UNIFIED IDEOGRAPH
+  {0xCCF9, 0x8D34}, //13029 #CJK UNIFIED IDEOGRAPH
+  {0xCCFA, 0x94C1}, //13030 #CJK UNIFIED IDEOGRAPH
+  {0xCCFB, 0x5E16}, //13031 #CJK UNIFIED IDEOGRAPH
+  {0xCCFC, 0x5385}, //13032 #CJK UNIFIED IDEOGRAPH
+  {0xCCFD, 0x542C}, //13033 #CJK UNIFIED IDEOGRAPH
+  {0xCCFE, 0x70C3}, //13034 #CJK UNIFIED IDEOGRAPH
+  {0xCD40, 0x866D}, //13035 #CJK UNIFIED IDEOGRAPH
+  {0xCD41, 0x866F}, //13036 #CJK UNIFIED IDEOGRAPH
+  {0xCD42, 0x8670}, //13037 #CJK UNIFIED IDEOGRAPH
+  {0xCD43, 0x8672}, //13038 #CJK UNIFIED IDEOGRAPH
+  {0xCD44, 0x8673}, //13039 #CJK UNIFIED IDEOGRAPH
+  {0xCD45, 0x8674}, //13040 #CJK UNIFIED IDEOGRAPH
+  {0xCD46, 0x8675}, //13041 #CJK UNIFIED IDEOGRAPH
+  {0xCD47, 0x8676}, //13042 #CJK UNIFIED IDEOGRAPH
+  {0xCD48, 0x8677}, //13043 #CJK UNIFIED IDEOGRAPH
+  {0xCD49, 0x8678}, //13044 #CJK UNIFIED IDEOGRAPH
+  {0xCD4A, 0x8683}, //13045 #CJK UNIFIED IDEOGRAPH
+  {0xCD4B, 0x8684}, //13046 #CJK UNIFIED IDEOGRAPH
+  {0xCD4C, 0x8685}, //13047 #CJK UNIFIED IDEOGRAPH
+  {0xCD4D, 0x8686}, //13048 #CJK UNIFIED IDEOGRAPH
+  {0xCD4E, 0x8687}, //13049 #CJK UNIFIED IDEOGRAPH
+  {0xCD4F, 0x8688}, //13050 #CJK UNIFIED IDEOGRAPH
+  {0xCD50, 0x8689}, //13051 #CJK UNIFIED IDEOGRAPH
+  {0xCD51, 0x868E}, //13052 #CJK UNIFIED IDEOGRAPH
+  {0xCD52, 0x868F}, //13053 #CJK UNIFIED IDEOGRAPH
+  {0xCD53, 0x8690}, //13054 #CJK UNIFIED IDEOGRAPH
+  {0xCD54, 0x8691}, //13055 #CJK UNIFIED IDEOGRAPH
+  {0xCD55, 0x8692}, //13056 #CJK UNIFIED IDEOGRAPH
+  {0xCD56, 0x8694}, //13057 #CJK UNIFIED IDEOGRAPH
+  {0xCD57, 0x8696}, //13058 #CJK UNIFIED IDEOGRAPH
+  {0xCD58, 0x8697}, //13059 #CJK UNIFIED IDEOGRAPH
+  {0xCD59, 0x8698}, //13060 #CJK UNIFIED IDEOGRAPH
+  {0xCD5A, 0x8699}, //13061 #CJK UNIFIED IDEOGRAPH
+  {0xCD5B, 0x869A}, //13062 #CJK UNIFIED IDEOGRAPH
+  {0xCD5C, 0x869B}, //13063 #CJK UNIFIED IDEOGRAPH
+  {0xCD5D, 0x869E}, //13064 #CJK UNIFIED IDEOGRAPH
+  {0xCD5E, 0x869F}, //13065 #CJK UNIFIED IDEOGRAPH
+  {0xCD5F, 0x86A0}, //13066 #CJK UNIFIED IDEOGRAPH
+  {0xCD60, 0x86A1}, //13067 #CJK UNIFIED IDEOGRAPH
+  {0xCD61, 0x86A2}, //13068 #CJK UNIFIED IDEOGRAPH
+  {0xCD62, 0x86A5}, //13069 #CJK UNIFIED IDEOGRAPH
+  {0xCD63, 0x86A6}, //13070 #CJK UNIFIED IDEOGRAPH
+  {0xCD64, 0x86AB}, //13071 #CJK UNIFIED IDEOGRAPH
+  {0xCD65, 0x86AD}, //13072 #CJK UNIFIED IDEOGRAPH
+  {0xCD66, 0x86AE}, //13073 #CJK UNIFIED IDEOGRAPH
+  {0xCD67, 0x86B2}, //13074 #CJK UNIFIED IDEOGRAPH
+  {0xCD68, 0x86B3}, //13075 #CJK UNIFIED IDEOGRAPH
+  {0xCD69, 0x86B7}, //13076 #CJK UNIFIED IDEOGRAPH
+  {0xCD6A, 0x86B8}, //13077 #CJK UNIFIED IDEOGRAPH
+  {0xCD6B, 0x86B9}, //13078 #CJK UNIFIED IDEOGRAPH
+  {0xCD6C, 0x86BB}, //13079 #CJK UNIFIED IDEOGRAPH
+  {0xCD6D, 0x86BC}, //13080 #CJK UNIFIED IDEOGRAPH
+  {0xCD6E, 0x86BD}, //13081 #CJK UNIFIED IDEOGRAPH
+  {0xCD6F, 0x86BE}, //13082 #CJK UNIFIED IDEOGRAPH
+  {0xCD70, 0x86BF}, //13083 #CJK UNIFIED IDEOGRAPH
+  {0xCD71, 0x86C1}, //13084 #CJK UNIFIED IDEOGRAPH
+  {0xCD72, 0x86C2}, //13085 #CJK UNIFIED IDEOGRAPH
+  {0xCD73, 0x86C3}, //13086 #CJK UNIFIED IDEOGRAPH
+  {0xCD74, 0x86C5}, //13087 #CJK UNIFIED IDEOGRAPH
+  {0xCD75, 0x86C8}, //13088 #CJK UNIFIED IDEOGRAPH
+  {0xCD76, 0x86CC}, //13089 #CJK UNIFIED IDEOGRAPH
+  {0xCD77, 0x86CD}, //13090 #CJK UNIFIED IDEOGRAPH
+  {0xCD78, 0x86D2}, //13091 #CJK UNIFIED IDEOGRAPH
+  {0xCD79, 0x86D3}, //13092 #CJK UNIFIED IDEOGRAPH
+  {0xCD7A, 0x86D5}, //13093 #CJK UNIFIED IDEOGRAPH
+  {0xCD7B, 0x86D6}, //13094 #CJK UNIFIED IDEOGRAPH
+  {0xCD7C, 0x86D7}, //13095 #CJK UNIFIED IDEOGRAPH
+  {0xCD7D, 0x86DA}, //13096 #CJK UNIFIED IDEOGRAPH
+  {0xCD7E, 0x86DC}, //13097 #CJK UNIFIED IDEOGRAPH
+  {0xCD80, 0x86DD}, //13098 #CJK UNIFIED IDEOGRAPH
+  {0xCD81, 0x86E0}, //13099 #CJK UNIFIED IDEOGRAPH
+  {0xCD82, 0x86E1}, //13100 #CJK UNIFIED IDEOGRAPH
+  {0xCD83, 0x86E2}, //13101 #CJK UNIFIED IDEOGRAPH
+  {0xCD84, 0x86E3}, //13102 #CJK UNIFIED IDEOGRAPH
+  {0xCD85, 0x86E5}, //13103 #CJK UNIFIED IDEOGRAPH
+  {0xCD86, 0x86E6}, //13104 #CJK UNIFIED IDEOGRAPH
+  {0xCD87, 0x86E7}, //13105 #CJK UNIFIED IDEOGRAPH
+  {0xCD88, 0x86E8}, //13106 #CJK UNIFIED IDEOGRAPH
+  {0xCD89, 0x86EA}, //13107 #CJK UNIFIED IDEOGRAPH
+  {0xCD8A, 0x86EB}, //13108 #CJK UNIFIED IDEOGRAPH
+  {0xCD8B, 0x86EC}, //13109 #CJK UNIFIED IDEOGRAPH
+  {0xCD8C, 0x86EF}, //13110 #CJK UNIFIED IDEOGRAPH
+  {0xCD8D, 0x86F5}, //13111 #CJK UNIFIED IDEOGRAPH
+  {0xCD8E, 0x86F6}, //13112 #CJK UNIFIED IDEOGRAPH
+  {0xCD8F, 0x86F7}, //13113 #CJK UNIFIED IDEOGRAPH
+  {0xCD90, 0x86FA}, //13114 #CJK UNIFIED IDEOGRAPH
+  {0xCD91, 0x86FB}, //13115 #CJK UNIFIED IDEOGRAPH
+  {0xCD92, 0x86FC}, //13116 #CJK UNIFIED IDEOGRAPH
+  {0xCD93, 0x86FD}, //13117 #CJK UNIFIED IDEOGRAPH
+  {0xCD94, 0x86FF}, //13118 #CJK UNIFIED IDEOGRAPH
+  {0xCD95, 0x8701}, //13119 #CJK UNIFIED IDEOGRAPH
+  {0xCD96, 0x8704}, //13120 #CJK UNIFIED IDEOGRAPH
+  {0xCD97, 0x8705}, //13121 #CJK UNIFIED IDEOGRAPH
+  {0xCD98, 0x8706}, //13122 #CJK UNIFIED IDEOGRAPH
+  {0xCD99, 0x870B}, //13123 #CJK UNIFIED IDEOGRAPH
+  {0xCD9A, 0x870C}, //13124 #CJK UNIFIED IDEOGRAPH
+  {0xCD9B, 0x870E}, //13125 #CJK UNIFIED IDEOGRAPH
+  {0xCD9C, 0x870F}, //13126 #CJK UNIFIED IDEOGRAPH
+  {0xCD9D, 0x8710}, //13127 #CJK UNIFIED IDEOGRAPH
+  {0xCD9E, 0x8711}, //13128 #CJK UNIFIED IDEOGRAPH
+  {0xCD9F, 0x8714}, //13129 #CJK UNIFIED IDEOGRAPH
+  {0xCDA0, 0x8716}, //13130 #CJK UNIFIED IDEOGRAPH
+  {0xCDA1, 0x6C40}, //13131 #CJK UNIFIED IDEOGRAPH
+  {0xCDA2, 0x5EF7}, //13132 #CJK UNIFIED IDEOGRAPH
+  {0xCDA3, 0x505C}, //13133 #CJK UNIFIED IDEOGRAPH
+  {0xCDA4, 0x4EAD}, //13134 #CJK UNIFIED IDEOGRAPH
+  {0xCDA5, 0x5EAD}, //13135 #CJK UNIFIED IDEOGRAPH
+  {0xCDA6, 0x633A}, //13136 #CJK UNIFIED IDEOGRAPH
+  {0xCDA7, 0x8247}, //13137 #CJK UNIFIED IDEOGRAPH
+  {0xCDA8, 0x901A}, //13138 #CJK UNIFIED IDEOGRAPH
+  {0xCDA9, 0x6850}, //13139 #CJK UNIFIED IDEOGRAPH
+  {0xCDAA, 0x916E}, //13140 #CJK UNIFIED IDEOGRAPH
+  {0xCDAB, 0x77B3}, //13141 #CJK UNIFIED IDEOGRAPH
+  {0xCDAC, 0x540C}, //13142 #CJK UNIFIED IDEOGRAPH
+  {0xCDAD, 0x94DC}, //13143 #CJK UNIFIED IDEOGRAPH
+  {0xCDAE, 0x5F64}, //13144 #CJK UNIFIED IDEOGRAPH
+  {0xCDAF, 0x7AE5}, //13145 #CJK UNIFIED IDEOGRAPH
+  {0xCDB0, 0x6876}, //13146 #CJK UNIFIED IDEOGRAPH
+  {0xCDB1, 0x6345}, //13147 #CJK UNIFIED IDEOGRAPH
+  {0xCDB2, 0x7B52}, //13148 #CJK UNIFIED IDEOGRAPH
+  {0xCDB3, 0x7EDF}, //13149 #CJK UNIFIED IDEOGRAPH
+  {0xCDB4, 0x75DB}, //13150 #CJK UNIFIED IDEOGRAPH
+  {0xCDB5, 0x5077}, //13151 #CJK UNIFIED IDEOGRAPH
+  {0xCDB6, 0x6295}, //13152 #CJK UNIFIED IDEOGRAPH
+  {0xCDB7, 0x5934}, //13153 #CJK UNIFIED IDEOGRAPH
+  {0xCDB8, 0x900F}, //13154 #CJK UNIFIED IDEOGRAPH
+  {0xCDB9, 0x51F8}, //13155 #CJK UNIFIED IDEOGRAPH
+  {0xCDBA, 0x79C3}, //13156 #CJK UNIFIED IDEOGRAPH
+  {0xCDBB, 0x7A81}, //13157 #CJK UNIFIED IDEOGRAPH
+  {0xCDBC, 0x56FE}, //13158 #CJK UNIFIED IDEOGRAPH
+  {0xCDBD, 0x5F92}, //13159 #CJK UNIFIED IDEOGRAPH
+  {0xCDBE, 0x9014}, //13160 #CJK UNIFIED IDEOGRAPH
+  {0xCDBF, 0x6D82}, //13161 #CJK UNIFIED IDEOGRAPH
+  {0xCDC0, 0x5C60}, //13162 #CJK UNIFIED IDEOGRAPH
+  {0xCDC1, 0x571F}, //13163 #CJK UNIFIED IDEOGRAPH
+  {0xCDC2, 0x5410}, //13164 #CJK UNIFIED IDEOGRAPH
+  {0xCDC3, 0x5154}, //13165 #CJK UNIFIED IDEOGRAPH
+  {0xCDC4, 0x6E4D}, //13166 #CJK UNIFIED IDEOGRAPH
+  {0xCDC5, 0x56E2}, //13167 #CJK UNIFIED IDEOGRAPH
+  {0xCDC6, 0x63A8}, //13168 #CJK UNIFIED IDEOGRAPH
+  {0xCDC7, 0x9893}, //13169 #CJK UNIFIED IDEOGRAPH
+  {0xCDC8, 0x817F}, //13170 #CJK UNIFIED IDEOGRAPH
+  {0xCDC9, 0x8715}, //13171 #CJK UNIFIED IDEOGRAPH
+  {0xCDCA, 0x892A}, //13172 #CJK UNIFIED IDEOGRAPH
+  {0xCDCB, 0x9000}, //13173 #CJK UNIFIED IDEOGRAPH
+  {0xCDCC, 0x541E}, //13174 #CJK UNIFIED IDEOGRAPH
+  {0xCDCD, 0x5C6F}, //13175 #CJK UNIFIED IDEOGRAPH
+  {0xCDCE, 0x81C0}, //13176 #CJK UNIFIED IDEOGRAPH
+  {0xCDCF, 0x62D6}, //13177 #CJK UNIFIED IDEOGRAPH
+  {0xCDD0, 0x6258}, //13178 #CJK UNIFIED IDEOGRAPH
+  {0xCDD1, 0x8131}, //13179 #CJK UNIFIED IDEOGRAPH
+  {0xCDD2, 0x9E35}, //13180 #CJK UNIFIED IDEOGRAPH
+  {0xCDD3, 0x9640}, //13181 #CJK UNIFIED IDEOGRAPH
+  {0xCDD4, 0x9A6E}, //13182 #CJK UNIFIED IDEOGRAPH
+  {0xCDD5, 0x9A7C}, //13183 #CJK UNIFIED IDEOGRAPH
+  {0xCDD6, 0x692D}, //13184 #CJK UNIFIED IDEOGRAPH
+  {0xCDD7, 0x59A5}, //13185 #CJK UNIFIED IDEOGRAPH
+  {0xCDD8, 0x62D3}, //13186 #CJK UNIFIED IDEOGRAPH
+  {0xCDD9, 0x553E}, //13187 #CJK UNIFIED IDEOGRAPH
+  {0xCDDA, 0x6316}, //13188 #CJK UNIFIED IDEOGRAPH
+  {0xCDDB, 0x54C7}, //13189 #CJK UNIFIED IDEOGRAPH
+  {0xCDDC, 0x86D9}, //13190 #CJK UNIFIED IDEOGRAPH
+  {0xCDDD, 0x6D3C}, //13191 #CJK UNIFIED IDEOGRAPH
+  {0xCDDE, 0x5A03}, //13192 #CJK UNIFIED IDEOGRAPH
+  {0xCDDF, 0x74E6}, //13193 #CJK UNIFIED IDEOGRAPH
+  {0xCDE0, 0x889C}, //13194 #CJK UNIFIED IDEOGRAPH
+  {0xCDE1, 0x6B6A}, //13195 #CJK UNIFIED IDEOGRAPH
+  {0xCDE2, 0x5916}, //13196 #CJK UNIFIED IDEOGRAPH
+  {0xCDE3, 0x8C4C}, //13197 #CJK UNIFIED IDEOGRAPH
+  {0xCDE4, 0x5F2F}, //13198 #CJK UNIFIED IDEOGRAPH
+  {0xCDE5, 0x6E7E}, //13199 #CJK UNIFIED IDEOGRAPH
+  {0xCDE6, 0x73A9}, //13200 #CJK UNIFIED IDEOGRAPH
+  {0xCDE7, 0x987D}, //13201 #CJK UNIFIED IDEOGRAPH
+  {0xCDE8, 0x4E38}, //13202 #CJK UNIFIED IDEOGRAPH
+  {0xCDE9, 0x70F7}, //13203 #CJK UNIFIED IDEOGRAPH
+  {0xCDEA, 0x5B8C}, //13204 #CJK UNIFIED IDEOGRAPH
+  {0xCDEB, 0x7897}, //13205 #CJK UNIFIED IDEOGRAPH
+  {0xCDEC, 0x633D}, //13206 #CJK UNIFIED IDEOGRAPH
+  {0xCDED, 0x665A}, //13207 #CJK UNIFIED IDEOGRAPH
+  {0xCDEE, 0x7696}, //13208 #CJK UNIFIED IDEOGRAPH
+  {0xCDEF, 0x60CB}, //13209 #CJK UNIFIED IDEOGRAPH
+  {0xCDF0, 0x5B9B}, //13210 #CJK UNIFIED IDEOGRAPH
+  {0xCDF1, 0x5A49}, //13211 #CJK UNIFIED IDEOGRAPH
+  {0xCDF2, 0x4E07}, //13212 #CJK UNIFIED IDEOGRAPH
+  {0xCDF3, 0x8155}, //13213 #CJK UNIFIED IDEOGRAPH
+  {0xCDF4, 0x6C6A}, //13214 #CJK UNIFIED IDEOGRAPH
+  {0xCDF5, 0x738B}, //13215 #CJK UNIFIED IDEOGRAPH
+  {0xCDF6, 0x4EA1}, //13216 #CJK UNIFIED IDEOGRAPH
+  {0xCDF7, 0x6789}, //13217 #CJK UNIFIED IDEOGRAPH
+  {0xCDF8, 0x7F51}, //13218 #CJK UNIFIED IDEOGRAPH
+  {0xCDF9, 0x5F80}, //13219 #CJK UNIFIED IDEOGRAPH
+  {0xCDFA, 0x65FA}, //13220 #CJK UNIFIED IDEOGRAPH
+  {0xCDFB, 0x671B}, //13221 #CJK UNIFIED IDEOGRAPH
+  {0xCDFC, 0x5FD8}, //13222 #CJK UNIFIED IDEOGRAPH
+  {0xCDFD, 0x5984}, //13223 #CJK UNIFIED IDEOGRAPH
+  {0xCDFE, 0x5A01}, //13224 #CJK UNIFIED IDEOGRAPH
+  {0xCE40, 0x8719}, //13225 #CJK UNIFIED IDEOGRAPH
+  {0xCE41, 0x871B}, //13226 #CJK UNIFIED IDEOGRAPH
+  {0xCE42, 0x871D}, //13227 #CJK UNIFIED IDEOGRAPH
+  {0xCE43, 0x871F}, //13228 #CJK UNIFIED IDEOGRAPH
+  {0xCE44, 0x8720}, //13229 #CJK UNIFIED IDEOGRAPH
+  {0xCE45, 0x8724}, //13230 #CJK UNIFIED IDEOGRAPH
+  {0xCE46, 0x8726}, //13231 #CJK UNIFIED IDEOGRAPH
+  {0xCE47, 0x8727}, //13232 #CJK UNIFIED IDEOGRAPH
+  {0xCE48, 0x8728}, //13233 #CJK UNIFIED IDEOGRAPH
+  {0xCE49, 0x872A}, //13234 #CJK UNIFIED IDEOGRAPH
+  {0xCE4A, 0x872B}, //13235 #CJK UNIFIED IDEOGRAPH
+  {0xCE4B, 0x872C}, //13236 #CJK UNIFIED IDEOGRAPH
+  {0xCE4C, 0x872D}, //13237 #CJK UNIFIED IDEOGRAPH
+  {0xCE4D, 0x872F}, //13238 #CJK UNIFIED IDEOGRAPH
+  {0xCE4E, 0x8730}, //13239 #CJK UNIFIED IDEOGRAPH
+  {0xCE4F, 0x8732}, //13240 #CJK UNIFIED IDEOGRAPH
+  {0xCE50, 0x8733}, //13241 #CJK UNIFIED IDEOGRAPH
+  {0xCE51, 0x8735}, //13242 #CJK UNIFIED IDEOGRAPH
+  {0xCE52, 0x8736}, //13243 #CJK UNIFIED IDEOGRAPH
+  {0xCE53, 0x8738}, //13244 #CJK UNIFIED IDEOGRAPH
+  {0xCE54, 0x8739}, //13245 #CJK UNIFIED IDEOGRAPH
+  {0xCE55, 0x873A}, //13246 #CJK UNIFIED IDEOGRAPH
+  {0xCE56, 0x873C}, //13247 #CJK UNIFIED IDEOGRAPH
+  {0xCE57, 0x873D}, //13248 #CJK UNIFIED IDEOGRAPH
+  {0xCE58, 0x8740}, //13249 #CJK UNIFIED IDEOGRAPH
+  {0xCE59, 0x8741}, //13250 #CJK UNIFIED IDEOGRAPH
+  {0xCE5A, 0x8742}, //13251 #CJK UNIFIED IDEOGRAPH
+  {0xCE5B, 0x8743}, //13252 #CJK UNIFIED IDEOGRAPH
+  {0xCE5C, 0x8744}, //13253 #CJK UNIFIED IDEOGRAPH
+  {0xCE5D, 0x8745}, //13254 #CJK UNIFIED IDEOGRAPH
+  {0xCE5E, 0x8746}, //13255 #CJK UNIFIED IDEOGRAPH
+  {0xCE5F, 0x874A}, //13256 #CJK UNIFIED IDEOGRAPH
+  {0xCE60, 0x874B}, //13257 #CJK UNIFIED IDEOGRAPH
+  {0xCE61, 0x874D}, //13258 #CJK UNIFIED IDEOGRAPH
+  {0xCE62, 0x874F}, //13259 #CJK UNIFIED IDEOGRAPH
+  {0xCE63, 0x8750}, //13260 #CJK UNIFIED IDEOGRAPH
+  {0xCE64, 0x8751}, //13261 #CJK UNIFIED IDEOGRAPH
+  {0xCE65, 0x8752}, //13262 #CJK UNIFIED IDEOGRAPH
+  {0xCE66, 0x8754}, //13263 #CJK UNIFIED IDEOGRAPH
+  {0xCE67, 0x8755}, //13264 #CJK UNIFIED IDEOGRAPH
+  {0xCE68, 0x8756}, //13265 #CJK UNIFIED IDEOGRAPH
+  {0xCE69, 0x8758}, //13266 #CJK UNIFIED IDEOGRAPH
+  {0xCE6A, 0x875A}, //13267 #CJK UNIFIED IDEOGRAPH
+  {0xCE6B, 0x875B}, //13268 #CJK UNIFIED IDEOGRAPH
+  {0xCE6C, 0x875C}, //13269 #CJK UNIFIED IDEOGRAPH
+  {0xCE6D, 0x875D}, //13270 #CJK UNIFIED IDEOGRAPH
+  {0xCE6E, 0x875E}, //13271 #CJK UNIFIED IDEOGRAPH
+  {0xCE6F, 0x875F}, //13272 #CJK UNIFIED IDEOGRAPH
+  {0xCE70, 0x8761}, //13273 #CJK UNIFIED IDEOGRAPH
+  {0xCE71, 0x8762}, //13274 #CJK UNIFIED IDEOGRAPH
+  {0xCE72, 0x8766}, //13275 #CJK UNIFIED IDEOGRAPH
+  {0xCE73, 0x8767}, //13276 #CJK UNIFIED IDEOGRAPH
+  {0xCE74, 0x8768}, //13277 #CJK UNIFIED IDEOGRAPH
+  {0xCE75, 0x8769}, //13278 #CJK UNIFIED IDEOGRAPH
+  {0xCE76, 0x876A}, //13279 #CJK UNIFIED IDEOGRAPH
+  {0xCE77, 0x876B}, //13280 #CJK UNIFIED IDEOGRAPH
+  {0xCE78, 0x876C}, //13281 #CJK UNIFIED IDEOGRAPH
+  {0xCE79, 0x876D}, //13282 #CJK UNIFIED IDEOGRAPH
+  {0xCE7A, 0x876F}, //13283 #CJK UNIFIED IDEOGRAPH
+  {0xCE7B, 0x8771}, //13284 #CJK UNIFIED IDEOGRAPH
+  {0xCE7C, 0x8772}, //13285 #CJK UNIFIED IDEOGRAPH
+  {0xCE7D, 0x8773}, //13286 #CJK UNIFIED IDEOGRAPH
+  {0xCE7E, 0x8775}, //13287 #CJK UNIFIED IDEOGRAPH
+  {0xCE80, 0x8777}, //13288 #CJK UNIFIED IDEOGRAPH
+  {0xCE81, 0x8778}, //13289 #CJK UNIFIED IDEOGRAPH
+  {0xCE82, 0x8779}, //13290 #CJK UNIFIED IDEOGRAPH
+  {0xCE83, 0x877A}, //13291 #CJK UNIFIED IDEOGRAPH
+  {0xCE84, 0x877F}, //13292 #CJK UNIFIED IDEOGRAPH
+  {0xCE85, 0x8780}, //13293 #CJK UNIFIED IDEOGRAPH
+  {0xCE86, 0x8781}, //13294 #CJK UNIFIED IDEOGRAPH
+  {0xCE87, 0x8784}, //13295 #CJK UNIFIED IDEOGRAPH
+  {0xCE88, 0x8786}, //13296 #CJK UNIFIED IDEOGRAPH
+  {0xCE89, 0x8787}, //13297 #CJK UNIFIED IDEOGRAPH
+  {0xCE8A, 0x8789}, //13298 #CJK UNIFIED IDEOGRAPH
+  {0xCE8B, 0x878A}, //13299 #CJK UNIFIED IDEOGRAPH
+  {0xCE8C, 0x878C}, //13300 #CJK UNIFIED IDEOGRAPH
+  {0xCE8D, 0x878E}, //13301 #CJK UNIFIED IDEOGRAPH
+  {0xCE8E, 0x878F}, //13302 #CJK UNIFIED IDEOGRAPH
+  {0xCE8F, 0x8790}, //13303 #CJK UNIFIED IDEOGRAPH
+  {0xCE90, 0x8791}, //13304 #CJK UNIFIED IDEOGRAPH
+  {0xCE91, 0x8792}, //13305 #CJK UNIFIED IDEOGRAPH
+  {0xCE92, 0x8794}, //13306 #CJK UNIFIED IDEOGRAPH
+  {0xCE93, 0x8795}, //13307 #CJK UNIFIED IDEOGRAPH
+  {0xCE94, 0x8796}, //13308 #CJK UNIFIED IDEOGRAPH
+  {0xCE95, 0x8798}, //13309 #CJK UNIFIED IDEOGRAPH
+  {0xCE96, 0x8799}, //13310 #CJK UNIFIED IDEOGRAPH
+  {0xCE97, 0x879A}, //13311 #CJK UNIFIED IDEOGRAPH
+  {0xCE98, 0x879B}, //13312 #CJK UNIFIED IDEOGRAPH
+  {0xCE99, 0x879C}, //13313 #CJK UNIFIED IDEOGRAPH
+  {0xCE9A, 0x879D}, //13314 #CJK UNIFIED IDEOGRAPH
+  {0xCE9B, 0x879E}, //13315 #CJK UNIFIED IDEOGRAPH
+  {0xCE9C, 0x87A0}, //13316 #CJK UNIFIED IDEOGRAPH
+  {0xCE9D, 0x87A1}, //13317 #CJK UNIFIED IDEOGRAPH
+  {0xCE9E, 0x87A2}, //13318 #CJK UNIFIED IDEOGRAPH
+  {0xCE9F, 0x87A3}, //13319 #CJK UNIFIED IDEOGRAPH
+  {0xCEA0, 0x87A4}, //13320 #CJK UNIFIED IDEOGRAPH
+  {0xCEA1, 0x5DCD}, //13321 #CJK UNIFIED IDEOGRAPH
+  {0xCEA2, 0x5FAE}, //13322 #CJK UNIFIED IDEOGRAPH
+  {0xCEA3, 0x5371}, //13323 #CJK UNIFIED IDEOGRAPH
+  {0xCEA4, 0x97E6}, //13324 #CJK UNIFIED IDEOGRAPH
+  {0xCEA5, 0x8FDD}, //13325 #CJK UNIFIED IDEOGRAPH
+  {0xCEA6, 0x6845}, //13326 #CJK UNIFIED IDEOGRAPH
+  {0xCEA7, 0x56F4}, //13327 #CJK UNIFIED IDEOGRAPH
+  {0xCEA8, 0x552F}, //13328 #CJK UNIFIED IDEOGRAPH
+  {0xCEA9, 0x60DF}, //13329 #CJK UNIFIED IDEOGRAPH
+  {0xCEAA, 0x4E3A}, //13330 #CJK UNIFIED IDEOGRAPH
+  {0xCEAB, 0x6F4D}, //13331 #CJK UNIFIED IDEOGRAPH
+  {0xCEAC, 0x7EF4}, //13332 #CJK UNIFIED IDEOGRAPH
+  {0xCEAD, 0x82C7}, //13333 #CJK UNIFIED IDEOGRAPH
+  {0xCEAE, 0x840E}, //13334 #CJK UNIFIED IDEOGRAPH
+  {0xCEAF, 0x59D4}, //13335 #CJK UNIFIED IDEOGRAPH
+  {0xCEB0, 0x4F1F}, //13336 #CJK UNIFIED IDEOGRAPH
+  {0xCEB1, 0x4F2A}, //13337 #CJK UNIFIED IDEOGRAPH
+  {0xCEB2, 0x5C3E}, //13338 #CJK UNIFIED IDEOGRAPH
+  {0xCEB3, 0x7EAC}, //13339 #CJK UNIFIED IDEOGRAPH
+  {0xCEB4, 0x672A}, //13340 #CJK UNIFIED IDEOGRAPH
+  {0xCEB5, 0x851A}, //13341 #CJK UNIFIED IDEOGRAPH
+  {0xCEB6, 0x5473}, //13342 #CJK UNIFIED IDEOGRAPH
+  {0xCEB7, 0x754F}, //13343 #CJK UNIFIED IDEOGRAPH
+  {0xCEB8, 0x80C3}, //13344 #CJK UNIFIED IDEOGRAPH
+  {0xCEB9, 0x5582}, //13345 #CJK UNIFIED IDEOGRAPH
+  {0xCEBA, 0x9B4F}, //13346 #CJK UNIFIED IDEOGRAPH
+  {0xCEBB, 0x4F4D}, //13347 #CJK UNIFIED IDEOGRAPH
+  {0xCEBC, 0x6E2D}, //13348 #CJK UNIFIED IDEOGRAPH
+  {0xCEBD, 0x8C13}, //13349 #CJK UNIFIED IDEOGRAPH
+  {0xCEBE, 0x5C09}, //13350 #CJK UNIFIED IDEOGRAPH
+  {0xCEBF, 0x6170}, //13351 #CJK UNIFIED IDEOGRAPH
+  {0xCEC0, 0x536B}, //13352 #CJK UNIFIED IDEOGRAPH
+  {0xCEC1, 0x761F}, //13353 #CJK UNIFIED IDEOGRAPH
+  {0xCEC2, 0x6E29}, //13354 #CJK UNIFIED IDEOGRAPH
+  {0xCEC3, 0x868A}, //13355 #CJK UNIFIED IDEOGRAPH
+  {0xCEC4, 0x6587}, //13356 #CJK UNIFIED IDEOGRAPH
+  {0xCEC5, 0x95FB}, //13357 #CJK UNIFIED IDEOGRAPH
+  {0xCEC6, 0x7EB9}, //13358 #CJK UNIFIED IDEOGRAPH
+  {0xCEC7, 0x543B}, //13359 #CJK UNIFIED IDEOGRAPH
+  {0xCEC8, 0x7A33}, //13360 #CJK UNIFIED IDEOGRAPH
+  {0xCEC9, 0x7D0A}, //13361 #CJK UNIFIED IDEOGRAPH
+  {0xCECA, 0x95EE}, //13362 #CJK UNIFIED IDEOGRAPH
+  {0xCECB, 0x55E1}, //13363 #CJK UNIFIED IDEOGRAPH
+  {0xCECC, 0x7FC1}, //13364 #CJK UNIFIED IDEOGRAPH
+  {0xCECD, 0x74EE}, //13365 #CJK UNIFIED IDEOGRAPH
+  {0xCECE, 0x631D}, //13366 #CJK UNIFIED IDEOGRAPH
+  {0xCECF, 0x8717}, //13367 #CJK UNIFIED IDEOGRAPH
+  {0xCED0, 0x6DA1}, //13368 #CJK UNIFIED IDEOGRAPH
+  {0xCED1, 0x7A9D}, //13369 #CJK UNIFIED IDEOGRAPH
+  {0xCED2, 0x6211}, //13370 #CJK UNIFIED IDEOGRAPH
+  {0xCED3, 0x65A1}, //13371 #CJK UNIFIED IDEOGRAPH
+  {0xCED4, 0x5367}, //13372 #CJK UNIFIED IDEOGRAPH
+  {0xCED5, 0x63E1}, //13373 #CJK UNIFIED IDEOGRAPH
+  {0xCED6, 0x6C83}, //13374 #CJK UNIFIED IDEOGRAPH
+  {0xCED7, 0x5DEB}, //13375 #CJK UNIFIED IDEOGRAPH
+  {0xCED8, 0x545C}, //13376 #CJK UNIFIED IDEOGRAPH
+  {0xCED9, 0x94A8}, //13377 #CJK UNIFIED IDEOGRAPH
+  {0xCEDA, 0x4E4C}, //13378 #CJK UNIFIED IDEOGRAPH
+  {0xCEDB, 0x6C61}, //13379 #CJK UNIFIED IDEOGRAPH
+  {0xCEDC, 0x8BEC}, //13380 #CJK UNIFIED IDEOGRAPH
+  {0xCEDD, 0x5C4B}, //13381 #CJK UNIFIED IDEOGRAPH
+  {0xCEDE, 0x65E0}, //13382 #CJK UNIFIED IDEOGRAPH
+  {0xCEDF, 0x829C}, //13383 #CJK UNIFIED IDEOGRAPH
+  {0xCEE0, 0x68A7}, //13384 #CJK UNIFIED IDEOGRAPH
+  {0xCEE1, 0x543E}, //13385 #CJK UNIFIED IDEOGRAPH
+  {0xCEE2, 0x5434}, //13386 #CJK UNIFIED IDEOGRAPH
+  {0xCEE3, 0x6BCB}, //13387 #CJK UNIFIED IDEOGRAPH
+  {0xCEE4, 0x6B66}, //13388 #CJK UNIFIED IDEOGRAPH
+  {0xCEE5, 0x4E94}, //13389 #CJK UNIFIED IDEOGRAPH
+  {0xCEE6, 0x6342}, //13390 #CJK UNIFIED IDEOGRAPH
+  {0xCEE7, 0x5348}, //13391 #CJK UNIFIED IDEOGRAPH
+  {0xCEE8, 0x821E}, //13392 #CJK UNIFIED IDEOGRAPH
+  {0xCEE9, 0x4F0D}, //13393 #CJK UNIFIED IDEOGRAPH
+  {0xCEEA, 0x4FAE}, //13394 #CJK UNIFIED IDEOGRAPH
+  {0xCEEB, 0x575E}, //13395 #CJK UNIFIED IDEOGRAPH
+  {0xCEEC, 0x620A}, //13396 #CJK UNIFIED IDEOGRAPH
+  {0xCEED, 0x96FE}, //13397 #CJK UNIFIED IDEOGRAPH
+  {0xCEEE, 0x6664}, //13398 #CJK UNIFIED IDEOGRAPH
+  {0xCEEF, 0x7269}, //13399 #CJK UNIFIED IDEOGRAPH
+  {0xCEF0, 0x52FF}, //13400 #CJK UNIFIED IDEOGRAPH
+  {0xCEF1, 0x52A1}, //13401 #CJK UNIFIED IDEOGRAPH
+  {0xCEF2, 0x609F}, //13402 #CJK UNIFIED IDEOGRAPH
+  {0xCEF3, 0x8BEF}, //13403 #CJK UNIFIED IDEOGRAPH
+  {0xCEF4, 0x6614}, //13404 #CJK UNIFIED IDEOGRAPH
+  {0xCEF5, 0x7199}, //13405 #CJK UNIFIED IDEOGRAPH
+  {0xCEF6, 0x6790}, //13406 #CJK UNIFIED IDEOGRAPH
+  {0xCEF7, 0x897F}, //13407 #CJK UNIFIED IDEOGRAPH
+  {0xCEF8, 0x7852}, //13408 #CJK UNIFIED IDEOGRAPH
+  {0xCEF9, 0x77FD}, //13409 #CJK UNIFIED IDEOGRAPH
+  {0xCEFA, 0x6670}, //13410 #CJK UNIFIED IDEOGRAPH
+  {0xCEFB, 0x563B}, //13411 #CJK UNIFIED IDEOGRAPH
+  {0xCEFC, 0x5438}, //13412 #CJK UNIFIED IDEOGRAPH
+  {0xCEFD, 0x9521}, //13413 #CJK UNIFIED IDEOGRAPH
+  {0xCEFE, 0x727A}, //13414 #CJK UNIFIED IDEOGRAPH
+  {0xCF40, 0x87A5}, //13415 #CJK UNIFIED IDEOGRAPH
+  {0xCF41, 0x87A6}, //13416 #CJK UNIFIED IDEOGRAPH
+  {0xCF42, 0x87A7}, //13417 #CJK UNIFIED IDEOGRAPH
+  {0xCF43, 0x87A9}, //13418 #CJK UNIFIED IDEOGRAPH
+  {0xCF44, 0x87AA}, //13419 #CJK UNIFIED IDEOGRAPH
+  {0xCF45, 0x87AE}, //13420 #CJK UNIFIED IDEOGRAPH
+  {0xCF46, 0x87B0}, //13421 #CJK UNIFIED IDEOGRAPH
+  {0xCF47, 0x87B1}, //13422 #CJK UNIFIED IDEOGRAPH
+  {0xCF48, 0x87B2}, //13423 #CJK UNIFIED IDEOGRAPH
+  {0xCF49, 0x87B4}, //13424 #CJK UNIFIED IDEOGRAPH
+  {0xCF4A, 0x87B6}, //13425 #CJK UNIFIED IDEOGRAPH
+  {0xCF4B, 0x87B7}, //13426 #CJK UNIFIED IDEOGRAPH
+  {0xCF4C, 0x87B8}, //13427 #CJK UNIFIED IDEOGRAPH
+  {0xCF4D, 0x87B9}, //13428 #CJK UNIFIED IDEOGRAPH
+  {0xCF4E, 0x87BB}, //13429 #CJK UNIFIED IDEOGRAPH
+  {0xCF4F, 0x87BC}, //13430 #CJK UNIFIED IDEOGRAPH
+  {0xCF50, 0x87BE}, //13431 #CJK UNIFIED IDEOGRAPH
+  {0xCF51, 0x87BF}, //13432 #CJK UNIFIED IDEOGRAPH
+  {0xCF52, 0x87C1}, //13433 #CJK UNIFIED IDEOGRAPH
+  {0xCF53, 0x87C2}, //13434 #CJK UNIFIED IDEOGRAPH
+  {0xCF54, 0x87C3}, //13435 #CJK UNIFIED IDEOGRAPH
+  {0xCF55, 0x87C4}, //13436 #CJK UNIFIED IDEOGRAPH
+  {0xCF56, 0x87C5}, //13437 #CJK UNIFIED IDEOGRAPH
+  {0xCF57, 0x87C7}, //13438 #CJK UNIFIED IDEOGRAPH
+  {0xCF58, 0x87C8}, //13439 #CJK UNIFIED IDEOGRAPH
+  {0xCF59, 0x87C9}, //13440 #CJK UNIFIED IDEOGRAPH
+  {0xCF5A, 0x87CC}, //13441 #CJK UNIFIED IDEOGRAPH
+  {0xCF5B, 0x87CD}, //13442 #CJK UNIFIED IDEOGRAPH
+  {0xCF5C, 0x87CE}, //13443 #CJK UNIFIED IDEOGRAPH
+  {0xCF5D, 0x87CF}, //13444 #CJK UNIFIED IDEOGRAPH
+  {0xCF5E, 0x87D0}, //13445 #CJK UNIFIED IDEOGRAPH
+  {0xCF5F, 0x87D4}, //13446 #CJK UNIFIED IDEOGRAPH
+  {0xCF60, 0x87D5}, //13447 #CJK UNIFIED IDEOGRAPH
+  {0xCF61, 0x87D6}, //13448 #CJK UNIFIED IDEOGRAPH
+  {0xCF62, 0x87D7}, //13449 #CJK UNIFIED IDEOGRAPH
+  {0xCF63, 0x87D8}, //13450 #CJK UNIFIED IDEOGRAPH
+  {0xCF64, 0x87D9}, //13451 #CJK UNIFIED IDEOGRAPH
+  {0xCF65, 0x87DA}, //13452 #CJK UNIFIED IDEOGRAPH
+  {0xCF66, 0x87DC}, //13453 #CJK UNIFIED IDEOGRAPH
+  {0xCF67, 0x87DD}, //13454 #CJK UNIFIED IDEOGRAPH
+  {0xCF68, 0x87DE}, //13455 #CJK UNIFIED IDEOGRAPH
+  {0xCF69, 0x87DF}, //13456 #CJK UNIFIED IDEOGRAPH
+  {0xCF6A, 0x87E1}, //13457 #CJK UNIFIED IDEOGRAPH
+  {0xCF6B, 0x87E2}, //13458 #CJK UNIFIED IDEOGRAPH
+  {0xCF6C, 0x87E3}, //13459 #CJK UNIFIED IDEOGRAPH
+  {0xCF6D, 0x87E4}, //13460 #CJK UNIFIED IDEOGRAPH
+  {0xCF6E, 0x87E6}, //13461 #CJK UNIFIED IDEOGRAPH
+  {0xCF6F, 0x87E7}, //13462 #CJK UNIFIED IDEOGRAPH
+  {0xCF70, 0x87E8}, //13463 #CJK UNIFIED IDEOGRAPH
+  {0xCF71, 0x87E9}, //13464 #CJK UNIFIED IDEOGRAPH
+  {0xCF72, 0x87EB}, //13465 #CJK UNIFIED IDEOGRAPH
+  {0xCF73, 0x87EC}, //13466 #CJK UNIFIED IDEOGRAPH
+  {0xCF74, 0x87ED}, //13467 #CJK UNIFIED IDEOGRAPH
+  {0xCF75, 0x87EF}, //13468 #CJK UNIFIED IDEOGRAPH
+  {0xCF76, 0x87F0}, //13469 #CJK UNIFIED IDEOGRAPH
+  {0xCF77, 0x87F1}, //13470 #CJK UNIFIED IDEOGRAPH
+  {0xCF78, 0x87F2}, //13471 #CJK UNIFIED IDEOGRAPH
+  {0xCF79, 0x87F3}, //13472 #CJK UNIFIED IDEOGRAPH
+  {0xCF7A, 0x87F4}, //13473 #CJK UNIFIED IDEOGRAPH
+  {0xCF7B, 0x87F5}, //13474 #CJK UNIFIED IDEOGRAPH
+  {0xCF7C, 0x87F6}, //13475 #CJK UNIFIED IDEOGRAPH
+  {0xCF7D, 0x87F7}, //13476 #CJK UNIFIED IDEOGRAPH
+  {0xCF7E, 0x87F8}, //13477 #CJK UNIFIED IDEOGRAPH
+  {0xCF80, 0x87FA}, //13478 #CJK UNIFIED IDEOGRAPH
+  {0xCF81, 0x87FB}, //13479 #CJK UNIFIED IDEOGRAPH
+  {0xCF82, 0x87FC}, //13480 #CJK UNIFIED IDEOGRAPH
+  {0xCF83, 0x87FD}, //13481 #CJK UNIFIED IDEOGRAPH
+  {0xCF84, 0x87FF}, //13482 #CJK UNIFIED IDEOGRAPH
+  {0xCF85, 0x8800}, //13483 #CJK UNIFIED IDEOGRAPH
+  {0xCF86, 0x8801}, //13484 #CJK UNIFIED IDEOGRAPH
+  {0xCF87, 0x8802}, //13485 #CJK UNIFIED IDEOGRAPH
+  {0xCF88, 0x8804}, //13486 #CJK UNIFIED IDEOGRAPH
+  {0xCF89, 0x8805}, //13487 #CJK UNIFIED IDEOGRAPH
+  {0xCF8A, 0x8806}, //13488 #CJK UNIFIED IDEOGRAPH
+  {0xCF8B, 0x8807}, //13489 #CJK UNIFIED IDEOGRAPH
+  {0xCF8C, 0x8808}, //13490 #CJK UNIFIED IDEOGRAPH
+  {0xCF8D, 0x8809}, //13491 #CJK UNIFIED IDEOGRAPH
+  {0xCF8E, 0x880B}, //13492 #CJK UNIFIED IDEOGRAPH
+  {0xCF8F, 0x880C}, //13493 #CJK UNIFIED IDEOGRAPH
+  {0xCF90, 0x880D}, //13494 #CJK UNIFIED IDEOGRAPH
+  {0xCF91, 0x880E}, //13495 #CJK UNIFIED IDEOGRAPH
+  {0xCF92, 0x880F}, //13496 #CJK UNIFIED IDEOGRAPH
+  {0xCF93, 0x8810}, //13497 #CJK UNIFIED IDEOGRAPH
+  {0xCF94, 0x8811}, //13498 #CJK UNIFIED IDEOGRAPH
+  {0xCF95, 0x8812}, //13499 #CJK UNIFIED IDEOGRAPH
+  {0xCF96, 0x8814}, //13500 #CJK UNIFIED IDEOGRAPH
+  {0xCF97, 0x8817}, //13501 #CJK UNIFIED IDEOGRAPH
+  {0xCF98, 0x8818}, //13502 #CJK UNIFIED IDEOGRAPH
+  {0xCF99, 0x8819}, //13503 #CJK UNIFIED IDEOGRAPH
+  {0xCF9A, 0x881A}, //13504 #CJK UNIFIED IDEOGRAPH
+  {0xCF9B, 0x881C}, //13505 #CJK UNIFIED IDEOGRAPH
+  {0xCF9C, 0x881D}, //13506 #CJK UNIFIED IDEOGRAPH
+  {0xCF9D, 0x881E}, //13507 #CJK UNIFIED IDEOGRAPH
+  {0xCF9E, 0x881F}, //13508 #CJK UNIFIED IDEOGRAPH
+  {0xCF9F, 0x8820}, //13509 #CJK UNIFIED IDEOGRAPH
+  {0xCFA0, 0x8823}, //13510 #CJK UNIFIED IDEOGRAPH
+  {0xCFA1, 0x7A00}, //13511 #CJK UNIFIED IDEOGRAPH
+  {0xCFA2, 0x606F}, //13512 #CJK UNIFIED IDEOGRAPH
+  {0xCFA3, 0x5E0C}, //13513 #CJK UNIFIED IDEOGRAPH
+  {0xCFA4, 0x6089}, //13514 #CJK UNIFIED IDEOGRAPH
+  {0xCFA5, 0x819D}, //13515 #CJK UNIFIED IDEOGRAPH
+  {0xCFA6, 0x5915}, //13516 #CJK UNIFIED IDEOGRAPH
+  {0xCFA7, 0x60DC}, //13517 #CJK UNIFIED IDEOGRAPH
+  {0xCFA8, 0x7184}, //13518 #CJK UNIFIED IDEOGRAPH
+  {0xCFA9, 0x70EF}, //13519 #CJK UNIFIED IDEOGRAPH
+  {0xCFAA, 0x6EAA}, //13520 #CJK UNIFIED IDEOGRAPH
+  {0xCFAB, 0x6C50}, //13521 #CJK UNIFIED IDEOGRAPH
+  {0xCFAC, 0x7280}, //13522 #CJK UNIFIED IDEOGRAPH
+  {0xCFAD, 0x6A84}, //13523 #CJK UNIFIED IDEOGRAPH
+  {0xCFAE, 0x88AD}, //13524 #CJK UNIFIED IDEOGRAPH
+  {0xCFAF, 0x5E2D}, //13525 #CJK UNIFIED IDEOGRAPH
+  {0xCFB0, 0x4E60}, //13526 #CJK UNIFIED IDEOGRAPH
+  {0xCFB1, 0x5AB3}, //13527 #CJK UNIFIED IDEOGRAPH
+  {0xCFB2, 0x559C}, //13528 #CJK UNIFIED IDEOGRAPH
+  {0xCFB3, 0x94E3}, //13529 #CJK UNIFIED IDEOGRAPH
+  {0xCFB4, 0x6D17}, //13530 #CJK UNIFIED IDEOGRAPH
+  {0xCFB5, 0x7CFB}, //13531 #CJK UNIFIED IDEOGRAPH
+  {0xCFB6, 0x9699}, //13532 #CJK UNIFIED IDEOGRAPH
+  {0xCFB7, 0x620F}, //13533 #CJK UNIFIED IDEOGRAPH
+  {0xCFB8, 0x7EC6}, //13534 #CJK UNIFIED IDEOGRAPH
+  {0xCFB9, 0x778E}, //13535 #CJK UNIFIED IDEOGRAPH
+  {0xCFBA, 0x867E}, //13536 #CJK UNIFIED IDEOGRAPH
+  {0xCFBB, 0x5323}, //13537 #CJK UNIFIED IDEOGRAPH
+  {0xCFBC, 0x971E}, //13538 #CJK UNIFIED IDEOGRAPH
+  {0xCFBD, 0x8F96}, //13539 #CJK UNIFIED IDEOGRAPH
+  {0xCFBE, 0x6687}, //13540 #CJK UNIFIED IDEOGRAPH
+  {0xCFBF, 0x5CE1}, //13541 #CJK UNIFIED IDEOGRAPH
+  {0xCFC0, 0x4FA0}, //13542 #CJK UNIFIED IDEOGRAPH
+  {0xCFC1, 0x72ED}, //13543 #CJK UNIFIED IDEOGRAPH
+  {0xCFC2, 0x4E0B}, //13544 #CJK UNIFIED IDEOGRAPH
+  {0xCFC3, 0x53A6}, //13545 #CJK UNIFIED IDEOGRAPH
+  {0xCFC4, 0x590F}, //13546 #CJK UNIFIED IDEOGRAPH
+  {0xCFC5, 0x5413}, //13547 #CJK UNIFIED IDEOGRAPH
+  {0xCFC6, 0x6380}, //13548 #CJK UNIFIED IDEOGRAPH
+  {0xCFC7, 0x9528}, //13549 #CJK UNIFIED IDEOGRAPH
+  {0xCFC8, 0x5148}, //13550 #CJK UNIFIED IDEOGRAPH
+  {0xCFC9, 0x4ED9}, //13551 #CJK UNIFIED IDEOGRAPH
+  {0xCFCA, 0x9C9C}, //13552 #CJK UNIFIED IDEOGRAPH
+  {0xCFCB, 0x7EA4}, //13553 #CJK UNIFIED IDEOGRAPH
+  {0xCFCC, 0x54B8}, //13554 #CJK UNIFIED IDEOGRAPH
+  {0xCFCD, 0x8D24}, //13555 #CJK UNIFIED IDEOGRAPH
+  {0xCFCE, 0x8854}, //13556 #CJK UNIFIED IDEOGRAPH
+  {0xCFCF, 0x8237}, //13557 #CJK UNIFIED IDEOGRAPH
+  {0xCFD0, 0x95F2}, //13558 #CJK UNIFIED IDEOGRAPH
+  {0xCFD1, 0x6D8E}, //13559 #CJK UNIFIED IDEOGRAPH
+  {0xCFD2, 0x5F26}, //13560 #CJK UNIFIED IDEOGRAPH
+  {0xCFD3, 0x5ACC}, //13561 #CJK UNIFIED IDEOGRAPH
+  {0xCFD4, 0x663E}, //13562 #CJK UNIFIED IDEOGRAPH
+  {0xCFD5, 0x9669}, //13563 #CJK UNIFIED IDEOGRAPH
+  {0xCFD6, 0x73B0}, //13564 #CJK UNIFIED IDEOGRAPH
+  {0xCFD7, 0x732E}, //13565 #CJK UNIFIED IDEOGRAPH
+  {0xCFD8, 0x53BF}, //13566 #CJK UNIFIED IDEOGRAPH
+  {0xCFD9, 0x817A}, //13567 #CJK UNIFIED IDEOGRAPH
+  {0xCFDA, 0x9985}, //13568 #CJK UNIFIED IDEOGRAPH
+  {0xCFDB, 0x7FA1}, //13569 #CJK UNIFIED IDEOGRAPH
+  {0xCFDC, 0x5BAA}, //13570 #CJK UNIFIED IDEOGRAPH
+  {0xCFDD, 0x9677}, //13571 #CJK UNIFIED IDEOGRAPH
+  {0xCFDE, 0x9650}, //13572 #CJK UNIFIED IDEOGRAPH
+  {0xCFDF, 0x7EBF}, //13573 #CJK UNIFIED IDEOGRAPH
+  {0xCFE0, 0x76F8}, //13574 #CJK UNIFIED IDEOGRAPH
+  {0xCFE1, 0x53A2}, //13575 #CJK UNIFIED IDEOGRAPH
+  {0xCFE2, 0x9576}, //13576 #CJK UNIFIED IDEOGRAPH
+  {0xCFE3, 0x9999}, //13577 #CJK UNIFIED IDEOGRAPH
+  {0xCFE4, 0x7BB1}, //13578 #CJK UNIFIED IDEOGRAPH
+  {0xCFE5, 0x8944}, //13579 #CJK UNIFIED IDEOGRAPH
+  {0xCFE6, 0x6E58}, //13580 #CJK UNIFIED IDEOGRAPH
+  {0xCFE7, 0x4E61}, //13581 #CJK UNIFIED IDEOGRAPH
+  {0xCFE8, 0x7FD4}, //13582 #CJK UNIFIED IDEOGRAPH
+  {0xCFE9, 0x7965}, //13583 #CJK UNIFIED IDEOGRAPH
+  {0xCFEA, 0x8BE6}, //13584 #CJK UNIFIED IDEOGRAPH
+  {0xCFEB, 0x60F3}, //13585 #CJK UNIFIED IDEOGRAPH
+  {0xCFEC, 0x54CD}, //13586 #CJK UNIFIED IDEOGRAPH
+  {0xCFED, 0x4EAB}, //13587 #CJK UNIFIED IDEOGRAPH
+  {0xCFEE, 0x9879}, //13588 #CJK UNIFIED IDEOGRAPH
+  {0xCFEF, 0x5DF7}, //13589 #CJK UNIFIED IDEOGRAPH
+  {0xCFF0, 0x6A61}, //13590 #CJK UNIFIED IDEOGRAPH
+  {0xCFF1, 0x50CF}, //13591 #CJK UNIFIED IDEOGRAPH
+  {0xCFF2, 0x5411}, //13592 #CJK UNIFIED IDEOGRAPH
+  {0xCFF3, 0x8C61}, //13593 #CJK UNIFIED IDEOGRAPH
+  {0xCFF4, 0x8427}, //13594 #CJK UNIFIED IDEOGRAPH
+  {0xCFF5, 0x785D}, //13595 #CJK UNIFIED IDEOGRAPH
+  {0xCFF6, 0x9704}, //13596 #CJK UNIFIED IDEOGRAPH
+  {0xCFF7, 0x524A}, //13597 #CJK UNIFIED IDEOGRAPH
+  {0xCFF8, 0x54EE}, //13598 #CJK UNIFIED IDEOGRAPH
+  {0xCFF9, 0x56A3}, //13599 #CJK UNIFIED IDEOGRAPH
+  {0xCFFA, 0x9500}, //13600 #CJK UNIFIED IDEOGRAPH
+  {0xCFFB, 0x6D88}, //13601 #CJK UNIFIED IDEOGRAPH
+  {0xCFFC, 0x5BB5}, //13602 #CJK UNIFIED IDEOGRAPH
+  {0xCFFD, 0x6DC6}, //13603 #CJK UNIFIED IDEOGRAPH
+  {0xCFFE, 0x6653}, //13604 #CJK UNIFIED IDEOGRAPH
+  {0xD040, 0x8824}, //13605 #CJK UNIFIED IDEOGRAPH
+  {0xD041, 0x8825}, //13606 #CJK UNIFIED IDEOGRAPH
+  {0xD042, 0x8826}, //13607 #CJK UNIFIED IDEOGRAPH
+  {0xD043, 0x8827}, //13608 #CJK UNIFIED IDEOGRAPH
+  {0xD044, 0x8828}, //13609 #CJK UNIFIED IDEOGRAPH
+  {0xD045, 0x8829}, //13610 #CJK UNIFIED IDEOGRAPH
+  {0xD046, 0x882A}, //13611 #CJK UNIFIED IDEOGRAPH
+  {0xD047, 0x882B}, //13612 #CJK UNIFIED IDEOGRAPH
+  {0xD048, 0x882C}, //13613 #CJK UNIFIED IDEOGRAPH
+  {0xD049, 0x882D}, //13614 #CJK UNIFIED IDEOGRAPH
+  {0xD04A, 0x882E}, //13615 #CJK UNIFIED IDEOGRAPH
+  {0xD04B, 0x882F}, //13616 #CJK UNIFIED IDEOGRAPH
+  {0xD04C, 0x8830}, //13617 #CJK UNIFIED IDEOGRAPH
+  {0xD04D, 0x8831}, //13618 #CJK UNIFIED IDEOGRAPH
+  {0xD04E, 0x8833}, //13619 #CJK UNIFIED IDEOGRAPH
+  {0xD04F, 0x8834}, //13620 #CJK UNIFIED IDEOGRAPH
+  {0xD050, 0x8835}, //13621 #CJK UNIFIED IDEOGRAPH
+  {0xD051, 0x8836}, //13622 #CJK UNIFIED IDEOGRAPH
+  {0xD052, 0x8837}, //13623 #CJK UNIFIED IDEOGRAPH
+  {0xD053, 0x8838}, //13624 #CJK UNIFIED IDEOGRAPH
+  {0xD054, 0x883A}, //13625 #CJK UNIFIED IDEOGRAPH
+  {0xD055, 0x883B}, //13626 #CJK UNIFIED IDEOGRAPH
+  {0xD056, 0x883D}, //13627 #CJK UNIFIED IDEOGRAPH
+  {0xD057, 0x883E}, //13628 #CJK UNIFIED IDEOGRAPH
+  {0xD058, 0x883F}, //13629 #CJK UNIFIED IDEOGRAPH
+  {0xD059, 0x8841}, //13630 #CJK UNIFIED IDEOGRAPH
+  {0xD05A, 0x8842}, //13631 #CJK UNIFIED IDEOGRAPH
+  {0xD05B, 0x8843}, //13632 #CJK UNIFIED IDEOGRAPH
+  {0xD05C, 0x8846}, //13633 #CJK UNIFIED IDEOGRAPH
+  {0xD05D, 0x8847}, //13634 #CJK UNIFIED IDEOGRAPH
+  {0xD05E, 0x8848}, //13635 #CJK UNIFIED IDEOGRAPH
+  {0xD05F, 0x8849}, //13636 #CJK UNIFIED IDEOGRAPH
+  {0xD060, 0x884A}, //13637 #CJK UNIFIED IDEOGRAPH
+  {0xD061, 0x884B}, //13638 #CJK UNIFIED IDEOGRAPH
+  {0xD062, 0x884E}, //13639 #CJK UNIFIED IDEOGRAPH
+  {0xD063, 0x884F}, //13640 #CJK UNIFIED IDEOGRAPH
+  {0xD064, 0x8850}, //13641 #CJK UNIFIED IDEOGRAPH
+  {0xD065, 0x8851}, //13642 #CJK UNIFIED IDEOGRAPH
+  {0xD066, 0x8852}, //13643 #CJK UNIFIED IDEOGRAPH
+  {0xD067, 0x8853}, //13644 #CJK UNIFIED IDEOGRAPH
+  {0xD068, 0x8855}, //13645 #CJK UNIFIED IDEOGRAPH
+  {0xD069, 0x8856}, //13646 #CJK UNIFIED IDEOGRAPH
+  {0xD06A, 0x8858}, //13647 #CJK UNIFIED IDEOGRAPH
+  {0xD06B, 0x885A}, //13648 #CJK UNIFIED IDEOGRAPH
+  {0xD06C, 0x885B}, //13649 #CJK UNIFIED IDEOGRAPH
+  {0xD06D, 0x885C}, //13650 #CJK UNIFIED IDEOGRAPH
+  {0xD06E, 0x885D}, //13651 #CJK UNIFIED IDEOGRAPH
+  {0xD06F, 0x885E}, //13652 #CJK UNIFIED IDEOGRAPH
+  {0xD070, 0x885F}, //13653 #CJK UNIFIED IDEOGRAPH
+  {0xD071, 0x8860}, //13654 #CJK UNIFIED IDEOGRAPH
+  {0xD072, 0x8866}, //13655 #CJK UNIFIED IDEOGRAPH
+  {0xD073, 0x8867}, //13656 #CJK UNIFIED IDEOGRAPH
+  {0xD074, 0x886A}, //13657 #CJK UNIFIED IDEOGRAPH
+  {0xD075, 0x886D}, //13658 #CJK UNIFIED IDEOGRAPH
+  {0xD076, 0x886F}, //13659 #CJK UNIFIED IDEOGRAPH
+  {0xD077, 0x8871}, //13660 #CJK UNIFIED IDEOGRAPH
+  {0xD078, 0x8873}, //13661 #CJK UNIFIED IDEOGRAPH
+  {0xD079, 0x8874}, //13662 #CJK UNIFIED IDEOGRAPH
+  {0xD07A, 0x8875}, //13663 #CJK UNIFIED IDEOGRAPH
+  {0xD07B, 0x8876}, //13664 #CJK UNIFIED IDEOGRAPH
+  {0xD07C, 0x8878}, //13665 #CJK UNIFIED IDEOGRAPH
+  {0xD07D, 0x8879}, //13666 #CJK UNIFIED IDEOGRAPH
+  {0xD07E, 0x887A}, //13667 #CJK UNIFIED IDEOGRAPH
+  {0xD080, 0x887B}, //13668 #CJK UNIFIED IDEOGRAPH
+  {0xD081, 0x887C}, //13669 #CJK UNIFIED IDEOGRAPH
+  {0xD082, 0x8880}, //13670 #CJK UNIFIED IDEOGRAPH
+  {0xD083, 0x8883}, //13671 #CJK UNIFIED IDEOGRAPH
+  {0xD084, 0x8886}, //13672 #CJK UNIFIED IDEOGRAPH
+  {0xD085, 0x8887}, //13673 #CJK UNIFIED IDEOGRAPH
+  {0xD086, 0x8889}, //13674 #CJK UNIFIED IDEOGRAPH
+  {0xD087, 0x888A}, //13675 #CJK UNIFIED IDEOGRAPH
+  {0xD088, 0x888C}, //13676 #CJK UNIFIED IDEOGRAPH
+  {0xD089, 0x888E}, //13677 #CJK UNIFIED IDEOGRAPH
+  {0xD08A, 0x888F}, //13678 #CJK UNIFIED IDEOGRAPH
+  {0xD08B, 0x8890}, //13679 #CJK UNIFIED IDEOGRAPH
+  {0xD08C, 0x8891}, //13680 #CJK UNIFIED IDEOGRAPH
+  {0xD08D, 0x8893}, //13681 #CJK UNIFIED IDEOGRAPH
+  {0xD08E, 0x8894}, //13682 #CJK UNIFIED IDEOGRAPH
+  {0xD08F, 0x8895}, //13683 #CJK UNIFIED IDEOGRAPH
+  {0xD090, 0x8897}, //13684 #CJK UNIFIED IDEOGRAPH
+  {0xD091, 0x8898}, //13685 #CJK UNIFIED IDEOGRAPH
+  {0xD092, 0x8899}, //13686 #CJK UNIFIED IDEOGRAPH
+  {0xD093, 0x889A}, //13687 #CJK UNIFIED IDEOGRAPH
+  {0xD094, 0x889B}, //13688 #CJK UNIFIED IDEOGRAPH
+  {0xD095, 0x889D}, //13689 #CJK UNIFIED IDEOGRAPH
+  {0xD096, 0x889E}, //13690 #CJK UNIFIED IDEOGRAPH
+  {0xD097, 0x889F}, //13691 #CJK UNIFIED IDEOGRAPH
+  {0xD098, 0x88A0}, //13692 #CJK UNIFIED IDEOGRAPH
+  {0xD099, 0x88A1}, //13693 #CJK UNIFIED IDEOGRAPH
+  {0xD09A, 0x88A3}, //13694 #CJK UNIFIED IDEOGRAPH
+  {0xD09B, 0x88A5}, //13695 #CJK UNIFIED IDEOGRAPH
+  {0xD09C, 0x88A6}, //13696 #CJK UNIFIED IDEOGRAPH
+  {0xD09D, 0x88A7}, //13697 #CJK UNIFIED IDEOGRAPH
+  {0xD09E, 0x88A8}, //13698 #CJK UNIFIED IDEOGRAPH
+  {0xD09F, 0x88A9}, //13699 #CJK UNIFIED IDEOGRAPH
+  {0xD0A0, 0x88AA}, //13700 #CJK UNIFIED IDEOGRAPH
+  {0xD0A1, 0x5C0F}, //13701 #CJK UNIFIED IDEOGRAPH
+  {0xD0A2, 0x5B5D}, //13702 #CJK UNIFIED IDEOGRAPH
+  {0xD0A3, 0x6821}, //13703 #CJK UNIFIED IDEOGRAPH
+  {0xD0A4, 0x8096}, //13704 #CJK UNIFIED IDEOGRAPH
+  {0xD0A5, 0x5578}, //13705 #CJK UNIFIED IDEOGRAPH
+  {0xD0A6, 0x7B11}, //13706 #CJK UNIFIED IDEOGRAPH
+  {0xD0A7, 0x6548}, //13707 #CJK UNIFIED IDEOGRAPH
+  {0xD0A8, 0x6954}, //13708 #CJK UNIFIED IDEOGRAPH
+  {0xD0A9, 0x4E9B}, //13709 #CJK UNIFIED IDEOGRAPH
+  {0xD0AA, 0x6B47}, //13710 #CJK UNIFIED IDEOGRAPH
+  {0xD0AB, 0x874E}, //13711 #CJK UNIFIED IDEOGRAPH
+  {0xD0AC, 0x978B}, //13712 #CJK UNIFIED IDEOGRAPH
+  {0xD0AD, 0x534F}, //13713 #CJK UNIFIED IDEOGRAPH
+  {0xD0AE, 0x631F}, //13714 #CJK UNIFIED IDEOGRAPH
+  {0xD0AF, 0x643A}, //13715 #CJK UNIFIED IDEOGRAPH
+  {0xD0B0, 0x90AA}, //13716 #CJK UNIFIED IDEOGRAPH
+  {0xD0B1, 0x659C}, //13717 #CJK UNIFIED IDEOGRAPH
+  {0xD0B2, 0x80C1}, //13718 #CJK UNIFIED IDEOGRAPH
+  {0xD0B3, 0x8C10}, //13719 #CJK UNIFIED IDEOGRAPH
+  {0xD0B4, 0x5199}, //13720 #CJK UNIFIED IDEOGRAPH
+  {0xD0B5, 0x68B0}, //13721 #CJK UNIFIED IDEOGRAPH
+  {0xD0B6, 0x5378}, //13722 #CJK UNIFIED IDEOGRAPH
+  {0xD0B7, 0x87F9}, //13723 #CJK UNIFIED IDEOGRAPH
+  {0xD0B8, 0x61C8}, //13724 #CJK UNIFIED IDEOGRAPH
+  {0xD0B9, 0x6CC4}, //13725 #CJK UNIFIED IDEOGRAPH
+  {0xD0BA, 0x6CFB}, //13726 #CJK UNIFIED IDEOGRAPH
+  {0xD0BB, 0x8C22}, //13727 #CJK UNIFIED IDEOGRAPH
+  {0xD0BC, 0x5C51}, //13728 #CJK UNIFIED IDEOGRAPH
+  {0xD0BD, 0x85AA}, //13729 #CJK UNIFIED IDEOGRAPH
+  {0xD0BE, 0x82AF}, //13730 #CJK UNIFIED IDEOGRAPH
+  {0xD0BF, 0x950C}, //13731 #CJK UNIFIED IDEOGRAPH
+  {0xD0C0, 0x6B23}, //13732 #CJK UNIFIED IDEOGRAPH
+  {0xD0C1, 0x8F9B}, //13733 #CJK UNIFIED IDEOGRAPH
+  {0xD0C2, 0x65B0}, //13734 #CJK UNIFIED IDEOGRAPH
+  {0xD0C3, 0x5FFB}, //13735 #CJK UNIFIED IDEOGRAPH
+  {0xD0C4, 0x5FC3}, //13736 #CJK UNIFIED IDEOGRAPH
+  {0xD0C5, 0x4FE1}, //13737 #CJK UNIFIED IDEOGRAPH
+  {0xD0C6, 0x8845}, //13738 #CJK UNIFIED IDEOGRAPH
+  {0xD0C7, 0x661F}, //13739 #CJK UNIFIED IDEOGRAPH
+  {0xD0C8, 0x8165}, //13740 #CJK UNIFIED IDEOGRAPH
+  {0xD0C9, 0x7329}, //13741 #CJK UNIFIED IDEOGRAPH
+  {0xD0CA, 0x60FA}, //13742 #CJK UNIFIED IDEOGRAPH
+  {0xD0CB, 0x5174}, //13743 #CJK UNIFIED IDEOGRAPH
+  {0xD0CC, 0x5211}, //13744 #CJK UNIFIED IDEOGRAPH
+  {0xD0CD, 0x578B}, //13745 #CJK UNIFIED IDEOGRAPH
+  {0xD0CE, 0x5F62}, //13746 #CJK UNIFIED IDEOGRAPH
+  {0xD0CF, 0x90A2}, //13747 #CJK UNIFIED IDEOGRAPH
+  {0xD0D0, 0x884C}, //13748 #CJK UNIFIED IDEOGRAPH
+  {0xD0D1, 0x9192}, //13749 #CJK UNIFIED IDEOGRAPH
+  {0xD0D2, 0x5E78}, //13750 #CJK UNIFIED IDEOGRAPH
+  {0xD0D3, 0x674F}, //13751 #CJK UNIFIED IDEOGRAPH
+  {0xD0D4, 0x6027}, //13752 #CJK UNIFIED IDEOGRAPH
+  {0xD0D5, 0x59D3}, //13753 #CJK UNIFIED IDEOGRAPH
+  {0xD0D6, 0x5144}, //13754 #CJK UNIFIED IDEOGRAPH
+  {0xD0D7, 0x51F6}, //13755 #CJK UNIFIED IDEOGRAPH
+  {0xD0D8, 0x80F8}, //13756 #CJK UNIFIED IDEOGRAPH
+  {0xD0D9, 0x5308}, //13757 #CJK UNIFIED IDEOGRAPH
+  {0xD0DA, 0x6C79}, //13758 #CJK UNIFIED IDEOGRAPH
+  {0xD0DB, 0x96C4}, //13759 #CJK UNIFIED IDEOGRAPH
+  {0xD0DC, 0x718A}, //13760 #CJK UNIFIED IDEOGRAPH
+  {0xD0DD, 0x4F11}, //13761 #CJK UNIFIED IDEOGRAPH
+  {0xD0DE, 0x4FEE}, //13762 #CJK UNIFIED IDEOGRAPH
+  {0xD0DF, 0x7F9E}, //13763 #CJK UNIFIED IDEOGRAPH
+  {0xD0E0, 0x673D}, //13764 #CJK UNIFIED IDEOGRAPH
+  {0xD0E1, 0x55C5}, //13765 #CJK UNIFIED IDEOGRAPH
+  {0xD0E2, 0x9508}, //13766 #CJK UNIFIED IDEOGRAPH
+  {0xD0E3, 0x79C0}, //13767 #CJK UNIFIED IDEOGRAPH
+  {0xD0E4, 0x8896}, //13768 #CJK UNIFIED IDEOGRAPH
+  {0xD0E5, 0x7EE3}, //13769 #CJK UNIFIED IDEOGRAPH
+  {0xD0E6, 0x589F}, //13770 #CJK UNIFIED IDEOGRAPH
+  {0xD0E7, 0x620C}, //13771 #CJK UNIFIED IDEOGRAPH
+  {0xD0E8, 0x9700}, //13772 #CJK UNIFIED IDEOGRAPH
+  {0xD0E9, 0x865A}, //13773 #CJK UNIFIED IDEOGRAPH
+  {0xD0EA, 0x5618}, //13774 #CJK UNIFIED IDEOGRAPH
+  {0xD0EB, 0x987B}, //13775 #CJK UNIFIED IDEOGRAPH
+  {0xD0EC, 0x5F90}, //13776 #CJK UNIFIED IDEOGRAPH
+  {0xD0ED, 0x8BB8}, //13777 #CJK UNIFIED IDEOGRAPH
+  {0xD0EE, 0x84C4}, //13778 #CJK UNIFIED IDEOGRAPH
+  {0xD0EF, 0x9157}, //13779 #CJK UNIFIED IDEOGRAPH
+  {0xD0F0, 0x53D9}, //13780 #CJK UNIFIED IDEOGRAPH
+  {0xD0F1, 0x65ED}, //13781 #CJK UNIFIED IDEOGRAPH
+  {0xD0F2, 0x5E8F}, //13782 #CJK UNIFIED IDEOGRAPH
+  {0xD0F3, 0x755C}, //13783 #CJK UNIFIED IDEOGRAPH
+  {0xD0F4, 0x6064}, //13784 #CJK UNIFIED IDEOGRAPH
+  {0xD0F5, 0x7D6E}, //13785 #CJK UNIFIED IDEOGRAPH
+  {0xD0F6, 0x5A7F}, //13786 #CJK UNIFIED IDEOGRAPH
+  {0xD0F7, 0x7EEA}, //13787 #CJK UNIFIED IDEOGRAPH
+  {0xD0F8, 0x7EED}, //13788 #CJK UNIFIED IDEOGRAPH
+  {0xD0F9, 0x8F69}, //13789 #CJK UNIFIED IDEOGRAPH
+  {0xD0FA, 0x55A7}, //13790 #CJK UNIFIED IDEOGRAPH
+  {0xD0FB, 0x5BA3}, //13791 #CJK UNIFIED IDEOGRAPH
+  {0xD0FC, 0x60AC}, //13792 #CJK UNIFIED IDEOGRAPH
+  {0xD0FD, 0x65CB}, //13793 #CJK UNIFIED IDEOGRAPH
+  {0xD0FE, 0x7384}, //13794 #CJK UNIFIED IDEOGRAPH
+  {0xD140, 0x88AC}, //13795 #CJK UNIFIED IDEOGRAPH
+  {0xD141, 0x88AE}, //13796 #CJK UNIFIED IDEOGRAPH
+  {0xD142, 0x88AF}, //13797 #CJK UNIFIED IDEOGRAPH
+  {0xD143, 0x88B0}, //13798 #CJK UNIFIED IDEOGRAPH
+  {0xD144, 0x88B2}, //13799 #CJK UNIFIED IDEOGRAPH
+  {0xD145, 0x88B3}, //13800 #CJK UNIFIED IDEOGRAPH
+  {0xD146, 0x88B4}, //13801 #CJK UNIFIED IDEOGRAPH
+  {0xD147, 0x88B5}, //13802 #CJK UNIFIED IDEOGRAPH
+  {0xD148, 0x88B6}, //13803 #CJK UNIFIED IDEOGRAPH
+  {0xD149, 0x88B8}, //13804 #CJK UNIFIED IDEOGRAPH
+  {0xD14A, 0x88B9}, //13805 #CJK UNIFIED IDEOGRAPH
+  {0xD14B, 0x88BA}, //13806 #CJK UNIFIED IDEOGRAPH
+  {0xD14C, 0x88BB}, //13807 #CJK UNIFIED IDEOGRAPH
+  {0xD14D, 0x88BD}, //13808 #CJK UNIFIED IDEOGRAPH
+  {0xD14E, 0x88BE}, //13809 #CJK UNIFIED IDEOGRAPH
+  {0xD14F, 0x88BF}, //13810 #CJK UNIFIED IDEOGRAPH
+  {0xD150, 0x88C0}, //13811 #CJK UNIFIED IDEOGRAPH
+  {0xD151, 0x88C3}, //13812 #CJK UNIFIED IDEOGRAPH
+  {0xD152, 0x88C4}, //13813 #CJK UNIFIED IDEOGRAPH
+  {0xD153, 0x88C7}, //13814 #CJK UNIFIED IDEOGRAPH
+  {0xD154, 0x88C8}, //13815 #CJK UNIFIED IDEOGRAPH
+  {0xD155, 0x88CA}, //13816 #CJK UNIFIED IDEOGRAPH
+  {0xD156, 0x88CB}, //13817 #CJK UNIFIED IDEOGRAPH
+  {0xD157, 0x88CC}, //13818 #CJK UNIFIED IDEOGRAPH
+  {0xD158, 0x88CD}, //13819 #CJK UNIFIED IDEOGRAPH
+  {0xD159, 0x88CF}, //13820 #CJK UNIFIED IDEOGRAPH
+  {0xD15A, 0x88D0}, //13821 #CJK UNIFIED IDEOGRAPH
+  {0xD15B, 0x88D1}, //13822 #CJK UNIFIED IDEOGRAPH
+  {0xD15C, 0x88D3}, //13823 #CJK UNIFIED IDEOGRAPH
+  {0xD15D, 0x88D6}, //13824 #CJK UNIFIED IDEOGRAPH
+  {0xD15E, 0x88D7}, //13825 #CJK UNIFIED IDEOGRAPH
+  {0xD15F, 0x88DA}, //13826 #CJK UNIFIED IDEOGRAPH
+  {0xD160, 0x88DB}, //13827 #CJK UNIFIED IDEOGRAPH
+  {0xD161, 0x88DC}, //13828 #CJK UNIFIED IDEOGRAPH
+  {0xD162, 0x88DD}, //13829 #CJK UNIFIED IDEOGRAPH
+  {0xD163, 0x88DE}, //13830 #CJK UNIFIED IDEOGRAPH
+  {0xD164, 0x88E0}, //13831 #CJK UNIFIED IDEOGRAPH
+  {0xD165, 0x88E1}, //13832 #CJK UNIFIED IDEOGRAPH
+  {0xD166, 0x88E6}, //13833 #CJK UNIFIED IDEOGRAPH
+  {0xD167, 0x88E7}, //13834 #CJK UNIFIED IDEOGRAPH
+  {0xD168, 0x88E9}, //13835 #CJK UNIFIED IDEOGRAPH
+  {0xD169, 0x88EA}, //13836 #CJK UNIFIED IDEOGRAPH
+  {0xD16A, 0x88EB}, //13837 #CJK UNIFIED IDEOGRAPH
+  {0xD16B, 0x88EC}, //13838 #CJK UNIFIED IDEOGRAPH
+  {0xD16C, 0x88ED}, //13839 #CJK UNIFIED IDEOGRAPH
+  {0xD16D, 0x88EE}, //13840 #CJK UNIFIED IDEOGRAPH
+  {0xD16E, 0x88EF}, //13841 #CJK UNIFIED IDEOGRAPH
+  {0xD16F, 0x88F2}, //13842 #CJK UNIFIED IDEOGRAPH
+  {0xD170, 0x88F5}, //13843 #CJK UNIFIED IDEOGRAPH
+  {0xD171, 0x88F6}, //13844 #CJK UNIFIED IDEOGRAPH
+  {0xD172, 0x88F7}, //13845 #CJK UNIFIED IDEOGRAPH
+  {0xD173, 0x88FA}, //13846 #CJK UNIFIED IDEOGRAPH
+  {0xD174, 0x88FB}, //13847 #CJK UNIFIED IDEOGRAPH
+  {0xD175, 0x88FD}, //13848 #CJK UNIFIED IDEOGRAPH
+  {0xD176, 0x88FF}, //13849 #CJK UNIFIED IDEOGRAPH
+  {0xD177, 0x8900}, //13850 #CJK UNIFIED IDEOGRAPH
+  {0xD178, 0x8901}, //13851 #CJK UNIFIED IDEOGRAPH
+  {0xD179, 0x8903}, //13852 #CJK UNIFIED IDEOGRAPH
+  {0xD17A, 0x8904}, //13853 #CJK UNIFIED IDEOGRAPH
+  {0xD17B, 0x8905}, //13854 #CJK UNIFIED IDEOGRAPH
+  {0xD17C, 0x8906}, //13855 #CJK UNIFIED IDEOGRAPH
+  {0xD17D, 0x8907}, //13856 #CJK UNIFIED IDEOGRAPH
+  {0xD17E, 0x8908}, //13857 #CJK UNIFIED IDEOGRAPH
+  {0xD180, 0x8909}, //13858 #CJK UNIFIED IDEOGRAPH
+  {0xD181, 0x890B}, //13859 #CJK UNIFIED IDEOGRAPH
+  {0xD182, 0x890C}, //13860 #CJK UNIFIED IDEOGRAPH
+  {0xD183, 0x890D}, //13861 #CJK UNIFIED IDEOGRAPH
+  {0xD184, 0x890E}, //13862 #CJK UNIFIED IDEOGRAPH
+  {0xD185, 0x890F}, //13863 #CJK UNIFIED IDEOGRAPH
+  {0xD186, 0x8911}, //13864 #CJK UNIFIED IDEOGRAPH
+  {0xD187, 0x8914}, //13865 #CJK UNIFIED IDEOGRAPH
+  {0xD188, 0x8915}, //13866 #CJK UNIFIED IDEOGRAPH
+  {0xD189, 0x8916}, //13867 #CJK UNIFIED IDEOGRAPH
+  {0xD18A, 0x8917}, //13868 #CJK UNIFIED IDEOGRAPH
+  {0xD18B, 0x8918}, //13869 #CJK UNIFIED IDEOGRAPH
+  {0xD18C, 0x891C}, //13870 #CJK UNIFIED IDEOGRAPH
+  {0xD18D, 0x891D}, //13871 #CJK UNIFIED IDEOGRAPH
+  {0xD18E, 0x891E}, //13872 #CJK UNIFIED IDEOGRAPH
+  {0xD18F, 0x891F}, //13873 #CJK UNIFIED IDEOGRAPH
+  {0xD190, 0x8920}, //13874 #CJK UNIFIED IDEOGRAPH
+  {0xD191, 0x8922}, //13875 #CJK UNIFIED IDEOGRAPH
+  {0xD192, 0x8923}, //13876 #CJK UNIFIED IDEOGRAPH
+  {0xD193, 0x8924}, //13877 #CJK UNIFIED IDEOGRAPH
+  {0xD194, 0x8926}, //13878 #CJK UNIFIED IDEOGRAPH
+  {0xD195, 0x8927}, //13879 #CJK UNIFIED IDEOGRAPH
+  {0xD196, 0x8928}, //13880 #CJK UNIFIED IDEOGRAPH
+  {0xD197, 0x8929}, //13881 #CJK UNIFIED IDEOGRAPH
+  {0xD198, 0x892C}, //13882 #CJK UNIFIED IDEOGRAPH
+  {0xD199, 0x892D}, //13883 #CJK UNIFIED IDEOGRAPH
+  {0xD19A, 0x892E}, //13884 #CJK UNIFIED IDEOGRAPH
+  {0xD19B, 0x892F}, //13885 #CJK UNIFIED IDEOGRAPH
+  {0xD19C, 0x8931}, //13886 #CJK UNIFIED IDEOGRAPH
+  {0xD19D, 0x8932}, //13887 #CJK UNIFIED IDEOGRAPH
+  {0xD19E, 0x8933}, //13888 #CJK UNIFIED IDEOGRAPH
+  {0xD19F, 0x8935}, //13889 #CJK UNIFIED IDEOGRAPH
+  {0xD1A0, 0x8937}, //13890 #CJK UNIFIED IDEOGRAPH
+  {0xD1A1, 0x9009}, //13891 #CJK UNIFIED IDEOGRAPH
+  {0xD1A2, 0x7663}, //13892 #CJK UNIFIED IDEOGRAPH
+  {0xD1A3, 0x7729}, //13893 #CJK UNIFIED IDEOGRAPH
+  {0xD1A4, 0x7EDA}, //13894 #CJK UNIFIED IDEOGRAPH
+  {0xD1A5, 0x9774}, //13895 #CJK UNIFIED IDEOGRAPH
+  {0xD1A6, 0x859B}, //13896 #CJK UNIFIED IDEOGRAPH
+  {0xD1A7, 0x5B66}, //13897 #CJK UNIFIED IDEOGRAPH
+  {0xD1A8, 0x7A74}, //13898 #CJK UNIFIED IDEOGRAPH
+  {0xD1A9, 0x96EA}, //13899 #CJK UNIFIED IDEOGRAPH
+  {0xD1AA, 0x8840}, //13900 #CJK UNIFIED IDEOGRAPH
+  {0xD1AB, 0x52CB}, //13901 #CJK UNIFIED IDEOGRAPH
+  {0xD1AC, 0x718F}, //13902 #CJK UNIFIED IDEOGRAPH
+  {0xD1AD, 0x5FAA}, //13903 #CJK UNIFIED IDEOGRAPH
+  {0xD1AE, 0x65EC}, //13904 #CJK UNIFIED IDEOGRAPH
+  {0xD1AF, 0x8BE2}, //13905 #CJK UNIFIED IDEOGRAPH
+  {0xD1B0, 0x5BFB}, //13906 #CJK UNIFIED IDEOGRAPH
+  {0xD1B1, 0x9A6F}, //13907 #CJK UNIFIED IDEOGRAPH
+  {0xD1B2, 0x5DE1}, //13908 #CJK UNIFIED IDEOGRAPH
+  {0xD1B3, 0x6B89}, //13909 #CJK UNIFIED IDEOGRAPH
+  {0xD1B4, 0x6C5B}, //13910 #CJK UNIFIED IDEOGRAPH
+  {0xD1B5, 0x8BAD}, //13911 #CJK UNIFIED IDEOGRAPH
+  {0xD1B6, 0x8BAF}, //13912 #CJK UNIFIED IDEOGRAPH
+  {0xD1B7, 0x900A}, //13913 #CJK UNIFIED IDEOGRAPH
+  {0xD1B8, 0x8FC5}, //13914 #CJK UNIFIED IDEOGRAPH
+  {0xD1B9, 0x538B}, //13915 #CJK UNIFIED IDEOGRAPH
+  {0xD1BA, 0x62BC}, //13916 #CJK UNIFIED IDEOGRAPH
+  {0xD1BB, 0x9E26}, //13917 #CJK UNIFIED IDEOGRAPH
+  {0xD1BC, 0x9E2D}, //13918 #CJK UNIFIED IDEOGRAPH
+  {0xD1BD, 0x5440}, //13919 #CJK UNIFIED IDEOGRAPH
+  {0xD1BE, 0x4E2B}, //13920 #CJK UNIFIED IDEOGRAPH
+  {0xD1BF, 0x82BD}, //13921 #CJK UNIFIED IDEOGRAPH
+  {0xD1C0, 0x7259}, //13922 #CJK UNIFIED IDEOGRAPH
+  {0xD1C1, 0x869C}, //13923 #CJK UNIFIED IDEOGRAPH
+  {0xD1C2, 0x5D16}, //13924 #CJK UNIFIED IDEOGRAPH
+  {0xD1C3, 0x8859}, //13925 #CJK UNIFIED IDEOGRAPH
+  {0xD1C4, 0x6DAF}, //13926 #CJK UNIFIED IDEOGRAPH
+  {0xD1C5, 0x96C5}, //13927 #CJK UNIFIED IDEOGRAPH
+  {0xD1C6, 0x54D1}, //13928 #CJK UNIFIED IDEOGRAPH
+  {0xD1C7, 0x4E9A}, //13929 #CJK UNIFIED IDEOGRAPH
+  {0xD1C8, 0x8BB6}, //13930 #CJK UNIFIED IDEOGRAPH
+  {0xD1C9, 0x7109}, //13931 #CJK UNIFIED IDEOGRAPH
+  {0xD1CA, 0x54BD}, //13932 #CJK UNIFIED IDEOGRAPH
+  {0xD1CB, 0x9609}, //13933 #CJK UNIFIED IDEOGRAPH
+  {0xD1CC, 0x70DF}, //13934 #CJK UNIFIED IDEOGRAPH
+  {0xD1CD, 0x6DF9}, //13935 #CJK UNIFIED IDEOGRAPH
+  {0xD1CE, 0x76D0}, //13936 #CJK UNIFIED IDEOGRAPH
+  {0xD1CF, 0x4E25}, //13937 #CJK UNIFIED IDEOGRAPH
+  {0xD1D0, 0x7814}, //13938 #CJK UNIFIED IDEOGRAPH
+  {0xD1D1, 0x8712}, //13939 #CJK UNIFIED IDEOGRAPH
+  {0xD1D2, 0x5CA9}, //13940 #CJK UNIFIED IDEOGRAPH
+  {0xD1D3, 0x5EF6}, //13941 #CJK UNIFIED IDEOGRAPH
+  {0xD1D4, 0x8A00}, //13942 #CJK UNIFIED IDEOGRAPH
+  {0xD1D5, 0x989C}, //13943 #CJK UNIFIED IDEOGRAPH
+  {0xD1D6, 0x960E}, //13944 #CJK UNIFIED IDEOGRAPH
+  {0xD1D7, 0x708E}, //13945 #CJK UNIFIED IDEOGRAPH
+  {0xD1D8, 0x6CBF}, //13946 #CJK UNIFIED IDEOGRAPH
+  {0xD1D9, 0x5944}, //13947 #CJK UNIFIED IDEOGRAPH
+  {0xD1DA, 0x63A9}, //13948 #CJK UNIFIED IDEOGRAPH
+  {0xD1DB, 0x773C}, //13949 #CJK UNIFIED IDEOGRAPH
+  {0xD1DC, 0x884D}, //13950 #CJK UNIFIED IDEOGRAPH
+  {0xD1DD, 0x6F14}, //13951 #CJK UNIFIED IDEOGRAPH
+  {0xD1DE, 0x8273}, //13952 #CJK UNIFIED IDEOGRAPH
+  {0xD1DF, 0x5830}, //13953 #CJK UNIFIED IDEOGRAPH
+  {0xD1E0, 0x71D5}, //13954 #CJK UNIFIED IDEOGRAPH
+  {0xD1E1, 0x538C}, //13955 #CJK UNIFIED IDEOGRAPH
+  {0xD1E2, 0x781A}, //13956 #CJK UNIFIED IDEOGRAPH
+  {0xD1E3, 0x96C1}, //13957 #CJK UNIFIED IDEOGRAPH
+  {0xD1E4, 0x5501}, //13958 #CJK UNIFIED IDEOGRAPH
+  {0xD1E5, 0x5F66}, //13959 #CJK UNIFIED IDEOGRAPH
+  {0xD1E6, 0x7130}, //13960 #CJK UNIFIED IDEOGRAPH
+  {0xD1E7, 0x5BB4}, //13961 #CJK UNIFIED IDEOGRAPH
+  {0xD1E8, 0x8C1A}, //13962 #CJK UNIFIED IDEOGRAPH
+  {0xD1E9, 0x9A8C}, //13963 #CJK UNIFIED IDEOGRAPH
+  {0xD1EA, 0x6B83}, //13964 #CJK UNIFIED IDEOGRAPH
+  {0xD1EB, 0x592E}, //13965 #CJK UNIFIED IDEOGRAPH
+  {0xD1EC, 0x9E2F}, //13966 #CJK UNIFIED IDEOGRAPH
+  {0xD1ED, 0x79E7}, //13967 #CJK UNIFIED IDEOGRAPH
+  {0xD1EE, 0x6768}, //13968 #CJK UNIFIED IDEOGRAPH
+  {0xD1EF, 0x626C}, //13969 #CJK UNIFIED IDEOGRAPH
+  {0xD1F0, 0x4F6F}, //13970 #CJK UNIFIED IDEOGRAPH
+  {0xD1F1, 0x75A1}, //13971 #CJK UNIFIED IDEOGRAPH
+  {0xD1F2, 0x7F8A}, //13972 #CJK UNIFIED IDEOGRAPH
+  {0xD1F3, 0x6D0B}, //13973 #CJK UNIFIED IDEOGRAPH
+  {0xD1F4, 0x9633}, //13974 #CJK UNIFIED IDEOGRAPH
+  {0xD1F5, 0x6C27}, //13975 #CJK UNIFIED IDEOGRAPH
+  {0xD1F6, 0x4EF0}, //13976 #CJK UNIFIED IDEOGRAPH
+  {0xD1F7, 0x75D2}, //13977 #CJK UNIFIED IDEOGRAPH
+  {0xD1F8, 0x517B}, //13978 #CJK UNIFIED IDEOGRAPH
+  {0xD1F9, 0x6837}, //13979 #CJK UNIFIED IDEOGRAPH
+  {0xD1FA, 0x6F3E}, //13980 #CJK UNIFIED IDEOGRAPH
+  {0xD1FB, 0x9080}, //13981 #CJK UNIFIED IDEOGRAPH
+  {0xD1FC, 0x8170}, //13982 #CJK UNIFIED IDEOGRAPH
+  {0xD1FD, 0x5996}, //13983 #CJK UNIFIED IDEOGRAPH
+  {0xD1FE, 0x7476}, //13984 #CJK UNIFIED IDEOGRAPH
+  {0xD240, 0x8938}, //13985 #CJK UNIFIED IDEOGRAPH
+  {0xD241, 0x8939}, //13986 #CJK UNIFIED IDEOGRAPH
+  {0xD242, 0x893A}, //13987 #CJK UNIFIED IDEOGRAPH
+  {0xD243, 0x893B}, //13988 #CJK UNIFIED IDEOGRAPH
+  {0xD244, 0x893C}, //13989 #CJK UNIFIED IDEOGRAPH
+  {0xD245, 0x893D}, //13990 #CJK UNIFIED IDEOGRAPH
+  {0xD246, 0x893E}, //13991 #CJK UNIFIED IDEOGRAPH
+  {0xD247, 0x893F}, //13992 #CJK UNIFIED IDEOGRAPH
+  {0xD248, 0x8940}, //13993 #CJK UNIFIED IDEOGRAPH
+  {0xD249, 0x8942}, //13994 #CJK UNIFIED IDEOGRAPH
+  {0xD24A, 0x8943}, //13995 #CJK UNIFIED IDEOGRAPH
+  {0xD24B, 0x8945}, //13996 #CJK UNIFIED IDEOGRAPH
+  {0xD24C, 0x8946}, //13997 #CJK UNIFIED IDEOGRAPH
+  {0xD24D, 0x8947}, //13998 #CJK UNIFIED IDEOGRAPH
+  {0xD24E, 0x8948}, //13999 #CJK UNIFIED IDEOGRAPH
+  {0xD24F, 0x8949}, //14000 #CJK UNIFIED IDEOGRAPH
+  {0xD250, 0x894A}, //14001 #CJK UNIFIED IDEOGRAPH
+  {0xD251, 0x894B}, //14002 #CJK UNIFIED IDEOGRAPH
+  {0xD252, 0x894C}, //14003 #CJK UNIFIED IDEOGRAPH
+  {0xD253, 0x894D}, //14004 #CJK UNIFIED IDEOGRAPH
+  {0xD254, 0x894E}, //14005 #CJK UNIFIED IDEOGRAPH
+  {0xD255, 0x894F}, //14006 #CJK UNIFIED IDEOGRAPH
+  {0xD256, 0x8950}, //14007 #CJK UNIFIED IDEOGRAPH
+  {0xD257, 0x8951}, //14008 #CJK UNIFIED IDEOGRAPH
+  {0xD258, 0x8952}, //14009 #CJK UNIFIED IDEOGRAPH
+  {0xD259, 0x8953}, //14010 #CJK UNIFIED IDEOGRAPH
+  {0xD25A, 0x8954}, //14011 #CJK UNIFIED IDEOGRAPH
+  {0xD25B, 0x8955}, //14012 #CJK UNIFIED IDEOGRAPH
+  {0xD25C, 0x8956}, //14013 #CJK UNIFIED IDEOGRAPH
+  {0xD25D, 0x8957}, //14014 #CJK UNIFIED IDEOGRAPH
+  {0xD25E, 0x8958}, //14015 #CJK UNIFIED IDEOGRAPH
+  {0xD25F, 0x8959}, //14016 #CJK UNIFIED IDEOGRAPH
+  {0xD260, 0x895A}, //14017 #CJK UNIFIED IDEOGRAPH
+  {0xD261, 0x895B}, //14018 #CJK UNIFIED IDEOGRAPH
+  {0xD262, 0x895C}, //14019 #CJK UNIFIED IDEOGRAPH
+  {0xD263, 0x895D}, //14020 #CJK UNIFIED IDEOGRAPH
+  {0xD264, 0x8960}, //14021 #CJK UNIFIED IDEOGRAPH
+  {0xD265, 0x8961}, //14022 #CJK UNIFIED IDEOGRAPH
+  {0xD266, 0x8962}, //14023 #CJK UNIFIED IDEOGRAPH
+  {0xD267, 0x8963}, //14024 #CJK UNIFIED IDEOGRAPH
+  {0xD268, 0x8964}, //14025 #CJK UNIFIED IDEOGRAPH
+  {0xD269, 0x8965}, //14026 #CJK UNIFIED IDEOGRAPH
+  {0xD26A, 0x8967}, //14027 #CJK UNIFIED IDEOGRAPH
+  {0xD26B, 0x8968}, //14028 #CJK UNIFIED IDEOGRAPH
+  {0xD26C, 0x8969}, //14029 #CJK UNIFIED IDEOGRAPH
+  {0xD26D, 0x896A}, //14030 #CJK UNIFIED IDEOGRAPH
+  {0xD26E, 0x896B}, //14031 #CJK UNIFIED IDEOGRAPH
+  {0xD26F, 0x896C}, //14032 #CJK UNIFIED IDEOGRAPH
+  {0xD270, 0x896D}, //14033 #CJK UNIFIED IDEOGRAPH
+  {0xD271, 0x896E}, //14034 #CJK UNIFIED IDEOGRAPH
+  {0xD272, 0x896F}, //14035 #CJK UNIFIED IDEOGRAPH
+  {0xD273, 0x8970}, //14036 #CJK UNIFIED IDEOGRAPH
+  {0xD274, 0x8971}, //14037 #CJK UNIFIED IDEOGRAPH
+  {0xD275, 0x8972}, //14038 #CJK UNIFIED IDEOGRAPH
+  {0xD276, 0x8973}, //14039 #CJK UNIFIED IDEOGRAPH
+  {0xD277, 0x8974}, //14040 #CJK UNIFIED IDEOGRAPH
+  {0xD278, 0x8975}, //14041 #CJK UNIFIED IDEOGRAPH
+  {0xD279, 0x8976}, //14042 #CJK UNIFIED IDEOGRAPH
+  {0xD27A, 0x8977}, //14043 #CJK UNIFIED IDEOGRAPH
+  {0xD27B, 0x8978}, //14044 #CJK UNIFIED IDEOGRAPH
+  {0xD27C, 0x8979}, //14045 #CJK UNIFIED IDEOGRAPH
+  {0xD27D, 0x897A}, //14046 #CJK UNIFIED IDEOGRAPH
+  {0xD27E, 0x897C}, //14047 #CJK UNIFIED IDEOGRAPH
+  {0xD280, 0x897D}, //14048 #CJK UNIFIED IDEOGRAPH
+  {0xD281, 0x897E}, //14049 #CJK UNIFIED IDEOGRAPH
+  {0xD282, 0x8980}, //14050 #CJK UNIFIED IDEOGRAPH
+  {0xD283, 0x8982}, //14051 #CJK UNIFIED IDEOGRAPH
+  {0xD284, 0x8984}, //14052 #CJK UNIFIED IDEOGRAPH
+  {0xD285, 0x8985}, //14053 #CJK UNIFIED IDEOGRAPH
+  {0xD286, 0x8987}, //14054 #CJK UNIFIED IDEOGRAPH
+  {0xD287, 0x8988}, //14055 #CJK UNIFIED IDEOGRAPH
+  {0xD288, 0x8989}, //14056 #CJK UNIFIED IDEOGRAPH
+  {0xD289, 0x898A}, //14057 #CJK UNIFIED IDEOGRAPH
+  {0xD28A, 0x898B}, //14058 #CJK UNIFIED IDEOGRAPH
+  {0xD28B, 0x898C}, //14059 #CJK UNIFIED IDEOGRAPH
+  {0xD28C, 0x898D}, //14060 #CJK UNIFIED IDEOGRAPH
+  {0xD28D, 0x898E}, //14061 #CJK UNIFIED IDEOGRAPH
+  {0xD28E, 0x898F}, //14062 #CJK UNIFIED IDEOGRAPH
+  {0xD28F, 0x8990}, //14063 #CJK UNIFIED IDEOGRAPH
+  {0xD290, 0x8991}, //14064 #CJK UNIFIED IDEOGRAPH
+  {0xD291, 0x8992}, //14065 #CJK UNIFIED IDEOGRAPH
+  {0xD292, 0x8993}, //14066 #CJK UNIFIED IDEOGRAPH
+  {0xD293, 0x8994}, //14067 #CJK UNIFIED IDEOGRAPH
+  {0xD294, 0x8995}, //14068 #CJK UNIFIED IDEOGRAPH
+  {0xD295, 0x8996}, //14069 #CJK UNIFIED IDEOGRAPH
+  {0xD296, 0x8997}, //14070 #CJK UNIFIED IDEOGRAPH
+  {0xD297, 0x8998}, //14071 #CJK UNIFIED IDEOGRAPH
+  {0xD298, 0x8999}, //14072 #CJK UNIFIED IDEOGRAPH
+  {0xD299, 0x899A}, //14073 #CJK UNIFIED IDEOGRAPH
+  {0xD29A, 0x899B}, //14074 #CJK UNIFIED IDEOGRAPH
+  {0xD29B, 0x899C}, //14075 #CJK UNIFIED IDEOGRAPH
+  {0xD29C, 0x899D}, //14076 #CJK UNIFIED IDEOGRAPH
+  {0xD29D, 0x899E}, //14077 #CJK UNIFIED IDEOGRAPH
+  {0xD29E, 0x899F}, //14078 #CJK UNIFIED IDEOGRAPH
+  {0xD29F, 0x89A0}, //14079 #CJK UNIFIED IDEOGRAPH
+  {0xD2A0, 0x89A1}, //14080 #CJK UNIFIED IDEOGRAPH
+  {0xD2A1, 0x6447}, //14081 #CJK UNIFIED IDEOGRAPH
+  {0xD2A2, 0x5C27}, //14082 #CJK UNIFIED IDEOGRAPH
+  {0xD2A3, 0x9065}, //14083 #CJK UNIFIED IDEOGRAPH
+  {0xD2A4, 0x7A91}, //14084 #CJK UNIFIED IDEOGRAPH
+  {0xD2A5, 0x8C23}, //14085 #CJK UNIFIED IDEOGRAPH
+  {0xD2A6, 0x59DA}, //14086 #CJK UNIFIED IDEOGRAPH
+  {0xD2A7, 0x54AC}, //14087 #CJK UNIFIED IDEOGRAPH
+  {0xD2A8, 0x8200}, //14088 #CJK UNIFIED IDEOGRAPH
+  {0xD2A9, 0x836F}, //14089 #CJK UNIFIED IDEOGRAPH
+  {0xD2AA, 0x8981}, //14090 #CJK UNIFIED IDEOGRAPH
+  {0xD2AB, 0x8000}, //14091 #CJK UNIFIED IDEOGRAPH
+  {0xD2AC, 0x6930}, //14092 #CJK UNIFIED IDEOGRAPH
+  {0xD2AD, 0x564E}, //14093 #CJK UNIFIED IDEOGRAPH
+  {0xD2AE, 0x8036}, //14094 #CJK UNIFIED IDEOGRAPH
+  {0xD2AF, 0x7237}, //14095 #CJK UNIFIED IDEOGRAPH
+  {0xD2B0, 0x91CE}, //14096 #CJK UNIFIED IDEOGRAPH
+  {0xD2B1, 0x51B6}, //14097 #CJK UNIFIED IDEOGRAPH
+  {0xD2B2, 0x4E5F}, //14098 #CJK UNIFIED IDEOGRAPH
+  {0xD2B3, 0x9875}, //14099 #CJK UNIFIED IDEOGRAPH
+  {0xD2B4, 0x6396}, //14100 #CJK UNIFIED IDEOGRAPH
+  {0xD2B5, 0x4E1A}, //14101 #CJK UNIFIED IDEOGRAPH
+  {0xD2B6, 0x53F6}, //14102 #CJK UNIFIED IDEOGRAPH
+  {0xD2B7, 0x66F3}, //14103 #CJK UNIFIED IDEOGRAPH
+  {0xD2B8, 0x814B}, //14104 #CJK UNIFIED IDEOGRAPH
+  {0xD2B9, 0x591C}, //14105 #CJK UNIFIED IDEOGRAPH
+  {0xD2BA, 0x6DB2}, //14106 #CJK UNIFIED IDEOGRAPH
+  {0xD2BB, 0x4E00}, //14107 #CJK UNIFIED IDEOGRAPH
+  {0xD2BC, 0x58F9}, //14108 #CJK UNIFIED IDEOGRAPH
+  {0xD2BD, 0x533B}, //14109 #CJK UNIFIED IDEOGRAPH
+  {0xD2BE, 0x63D6}, //14110 #CJK UNIFIED IDEOGRAPH
+  {0xD2BF, 0x94F1}, //14111 #CJK UNIFIED IDEOGRAPH
+  {0xD2C0, 0x4F9D}, //14112 #CJK UNIFIED IDEOGRAPH
+  {0xD2C1, 0x4F0A}, //14113 #CJK UNIFIED IDEOGRAPH
+  {0xD2C2, 0x8863}, //14114 #CJK UNIFIED IDEOGRAPH
+  {0xD2C3, 0x9890}, //14115 #CJK UNIFIED IDEOGRAPH
+  {0xD2C4, 0x5937}, //14116 #CJK UNIFIED IDEOGRAPH
+  {0xD2C5, 0x9057}, //14117 #CJK UNIFIED IDEOGRAPH
+  {0xD2C6, 0x79FB}, //14118 #CJK UNIFIED IDEOGRAPH
+  {0xD2C7, 0x4EEA}, //14119 #CJK UNIFIED IDEOGRAPH
+  {0xD2C8, 0x80F0}, //14120 #CJK UNIFIED IDEOGRAPH
+  {0xD2C9, 0x7591}, //14121 #CJK UNIFIED IDEOGRAPH
+  {0xD2CA, 0x6C82}, //14122 #CJK UNIFIED IDEOGRAPH
+  {0xD2CB, 0x5B9C}, //14123 #CJK UNIFIED IDEOGRAPH
+  {0xD2CC, 0x59E8}, //14124 #CJK UNIFIED IDEOGRAPH
+  {0xD2CD, 0x5F5D}, //14125 #CJK UNIFIED IDEOGRAPH
+  {0xD2CE, 0x6905}, //14126 #CJK UNIFIED IDEOGRAPH
+  {0xD2CF, 0x8681}, //14127 #CJK UNIFIED IDEOGRAPH
+  {0xD2D0, 0x501A}, //14128 #CJK UNIFIED IDEOGRAPH
+  {0xD2D1, 0x5DF2}, //14129 #CJK UNIFIED IDEOGRAPH
+  {0xD2D2, 0x4E59}, //14130 #CJK UNIFIED IDEOGRAPH
+  {0xD2D3, 0x77E3}, //14131 #CJK UNIFIED IDEOGRAPH
+  {0xD2D4, 0x4EE5}, //14132 #CJK UNIFIED IDEOGRAPH
+  {0xD2D5, 0x827A}, //14133 #CJK UNIFIED IDEOGRAPH
+  {0xD2D6, 0x6291}, //14134 #CJK UNIFIED IDEOGRAPH
+  {0xD2D7, 0x6613}, //14135 #CJK UNIFIED IDEOGRAPH
+  {0xD2D8, 0x9091}, //14136 #CJK UNIFIED IDEOGRAPH
+  {0xD2D9, 0x5C79}, //14137 #CJK UNIFIED IDEOGRAPH
+  {0xD2DA, 0x4EBF}, //14138 #CJK UNIFIED IDEOGRAPH
+  {0xD2DB, 0x5F79}, //14139 #CJK UNIFIED IDEOGRAPH
+  {0xD2DC, 0x81C6}, //14140 #CJK UNIFIED IDEOGRAPH
+  {0xD2DD, 0x9038}, //14141 #CJK UNIFIED IDEOGRAPH
+  {0xD2DE, 0x8084}, //14142 #CJK UNIFIED IDEOGRAPH
+  {0xD2DF, 0x75AB}, //14143 #CJK UNIFIED IDEOGRAPH
+  {0xD2E0, 0x4EA6}, //14144 #CJK UNIFIED IDEOGRAPH
+  {0xD2E1, 0x88D4}, //14145 #CJK UNIFIED IDEOGRAPH
+  {0xD2E2, 0x610F}, //14146 #CJK UNIFIED IDEOGRAPH
+  {0xD2E3, 0x6BC5}, //14147 #CJK UNIFIED IDEOGRAPH
+  {0xD2E4, 0x5FC6}, //14148 #CJK UNIFIED IDEOGRAPH
+  {0xD2E5, 0x4E49}, //14149 #CJK UNIFIED IDEOGRAPH
+  {0xD2E6, 0x76CA}, //14150 #CJK UNIFIED IDEOGRAPH
+  {0xD2E7, 0x6EA2}, //14151 #CJK UNIFIED IDEOGRAPH
+  {0xD2E8, 0x8BE3}, //14152 #CJK UNIFIED IDEOGRAPH
+  {0xD2E9, 0x8BAE}, //14153 #CJK UNIFIED IDEOGRAPH
+  {0xD2EA, 0x8C0A}, //14154 #CJK UNIFIED IDEOGRAPH
+  {0xD2EB, 0x8BD1}, //14155 #CJK UNIFIED IDEOGRAPH
+  {0xD2EC, 0x5F02}, //14156 #CJK UNIFIED IDEOGRAPH
+  {0xD2ED, 0x7FFC}, //14157 #CJK UNIFIED IDEOGRAPH
+  {0xD2EE, 0x7FCC}, //14158 #CJK UNIFIED IDEOGRAPH
+  {0xD2EF, 0x7ECE}, //14159 #CJK UNIFIED IDEOGRAPH
+  {0xD2F0, 0x8335}, //14160 #CJK UNIFIED IDEOGRAPH
+  {0xD2F1, 0x836B}, //14161 #CJK UNIFIED IDEOGRAPH
+  {0xD2F2, 0x56E0}, //14162 #CJK UNIFIED IDEOGRAPH
+  {0xD2F3, 0x6BB7}, //14163 #CJK UNIFIED IDEOGRAPH
+  {0xD2F4, 0x97F3}, //14164 #CJK UNIFIED IDEOGRAPH
+  {0xD2F5, 0x9634}, //14165 #CJK UNIFIED IDEOGRAPH
+  {0xD2F6, 0x59FB}, //14166 #CJK UNIFIED IDEOGRAPH
+  {0xD2F7, 0x541F}, //14167 #CJK UNIFIED IDEOGRAPH
+  {0xD2F8, 0x94F6}, //14168 #CJK UNIFIED IDEOGRAPH
+  {0xD2F9, 0x6DEB}, //14169 #CJK UNIFIED IDEOGRAPH
+  {0xD2FA, 0x5BC5}, //14170 #CJK UNIFIED IDEOGRAPH
+  {0xD2FB, 0x996E}, //14171 #CJK UNIFIED IDEOGRAPH
+  {0xD2FC, 0x5C39}, //14172 #CJK UNIFIED IDEOGRAPH
+  {0xD2FD, 0x5F15}, //14173 #CJK UNIFIED IDEOGRAPH
+  {0xD2FE, 0x9690}, //14174 #CJK UNIFIED IDEOGRAPH
+  {0xD340, 0x89A2}, //14175 #CJK UNIFIED IDEOGRAPH
+  {0xD341, 0x89A3}, //14176 #CJK UNIFIED IDEOGRAPH
+  {0xD342, 0x89A4}, //14177 #CJK UNIFIED IDEOGRAPH
+  {0xD343, 0x89A5}, //14178 #CJK UNIFIED IDEOGRAPH
+  {0xD344, 0x89A6}, //14179 #CJK UNIFIED IDEOGRAPH
+  {0xD345, 0x89A7}, //14180 #CJK UNIFIED IDEOGRAPH
+  {0xD346, 0x89A8}, //14181 #CJK UNIFIED IDEOGRAPH
+  {0xD347, 0x89A9}, //14182 #CJK UNIFIED IDEOGRAPH
+  {0xD348, 0x89AA}, //14183 #CJK UNIFIED IDEOGRAPH
+  {0xD349, 0x89AB}, //14184 #CJK UNIFIED IDEOGRAPH
+  {0xD34A, 0x89AC}, //14185 #CJK UNIFIED IDEOGRAPH
+  {0xD34B, 0x89AD}, //14186 #CJK UNIFIED IDEOGRAPH
+  {0xD34C, 0x89AE}, //14187 #CJK UNIFIED IDEOGRAPH
+  {0xD34D, 0x89AF}, //14188 #CJK UNIFIED IDEOGRAPH
+  {0xD34E, 0x89B0}, //14189 #CJK UNIFIED IDEOGRAPH
+  {0xD34F, 0x89B1}, //14190 #CJK UNIFIED IDEOGRAPH
+  {0xD350, 0x89B2}, //14191 #CJK UNIFIED IDEOGRAPH
+  {0xD351, 0x89B3}, //14192 #CJK UNIFIED IDEOGRAPH
+  {0xD352, 0x89B4}, //14193 #CJK UNIFIED IDEOGRAPH
+  {0xD353, 0x89B5}, //14194 #CJK UNIFIED IDEOGRAPH
+  {0xD354, 0x89B6}, //14195 #CJK UNIFIED IDEOGRAPH
+  {0xD355, 0x89B7}, //14196 #CJK UNIFIED IDEOGRAPH
+  {0xD356, 0x89B8}, //14197 #CJK UNIFIED IDEOGRAPH
+  {0xD357, 0x89B9}, //14198 #CJK UNIFIED IDEOGRAPH
+  {0xD358, 0x89BA}, //14199 #CJK UNIFIED IDEOGRAPH
+  {0xD359, 0x89BB}, //14200 #CJK UNIFIED IDEOGRAPH
+  {0xD35A, 0x89BC}, //14201 #CJK UNIFIED IDEOGRAPH
+  {0xD35B, 0x89BD}, //14202 #CJK UNIFIED IDEOGRAPH
+  {0xD35C, 0x89BE}, //14203 #CJK UNIFIED IDEOGRAPH
+  {0xD35D, 0x89BF}, //14204 #CJK UNIFIED IDEOGRAPH
+  {0xD35E, 0x89C0}, //14205 #CJK UNIFIED IDEOGRAPH
+  {0xD35F, 0x89C3}, //14206 #CJK UNIFIED IDEOGRAPH
+  {0xD360, 0x89CD}, //14207 #CJK UNIFIED IDEOGRAPH
+  {0xD361, 0x89D3}, //14208 #CJK UNIFIED IDEOGRAPH
+  {0xD362, 0x89D4}, //14209 #CJK UNIFIED IDEOGRAPH
+  {0xD363, 0x89D5}, //14210 #CJK UNIFIED IDEOGRAPH
+  {0xD364, 0x89D7}, //14211 #CJK UNIFIED IDEOGRAPH
+  {0xD365, 0x89D8}, //14212 #CJK UNIFIED IDEOGRAPH
+  {0xD366, 0x89D9}, //14213 #CJK UNIFIED IDEOGRAPH
+  {0xD367, 0x89DB}, //14214 #CJK UNIFIED IDEOGRAPH
+  {0xD368, 0x89DD}, //14215 #CJK UNIFIED IDEOGRAPH
+  {0xD369, 0x89DF}, //14216 #CJK UNIFIED IDEOGRAPH
+  {0xD36A, 0x89E0}, //14217 #CJK UNIFIED IDEOGRAPH
+  {0xD36B, 0x89E1}, //14218 #CJK UNIFIED IDEOGRAPH
+  {0xD36C, 0x89E2}, //14219 #CJK UNIFIED IDEOGRAPH
+  {0xD36D, 0x89E4}, //14220 #CJK UNIFIED IDEOGRAPH
+  {0xD36E, 0x89E7}, //14221 #CJK UNIFIED IDEOGRAPH
+  {0xD36F, 0x89E8}, //14222 #CJK UNIFIED IDEOGRAPH
+  {0xD370, 0x89E9}, //14223 #CJK UNIFIED IDEOGRAPH
+  {0xD371, 0x89EA}, //14224 #CJK UNIFIED IDEOGRAPH
+  {0xD372, 0x89EC}, //14225 #CJK UNIFIED IDEOGRAPH
+  {0xD373, 0x89ED}, //14226 #CJK UNIFIED IDEOGRAPH
+  {0xD374, 0x89EE}, //14227 #CJK UNIFIED IDEOGRAPH
+  {0xD375, 0x89F0}, //14228 #CJK UNIFIED IDEOGRAPH
+  {0xD376, 0x89F1}, //14229 #CJK UNIFIED IDEOGRAPH
+  {0xD377, 0x89F2}, //14230 #CJK UNIFIED IDEOGRAPH
+  {0xD378, 0x89F4}, //14231 #CJK UNIFIED IDEOGRAPH
+  {0xD379, 0x89F5}, //14232 #CJK UNIFIED IDEOGRAPH
+  {0xD37A, 0x89F6}, //14233 #CJK UNIFIED IDEOGRAPH
+  {0xD37B, 0x89F7}, //14234 #CJK UNIFIED IDEOGRAPH
+  {0xD37C, 0x89F8}, //14235 #CJK UNIFIED IDEOGRAPH
+  {0xD37D, 0x89F9}, //14236 #CJK UNIFIED IDEOGRAPH
+  {0xD37E, 0x89FA}, //14237 #CJK UNIFIED IDEOGRAPH
+  {0xD380, 0x89FB}, //14238 #CJK UNIFIED IDEOGRAPH
+  {0xD381, 0x89FC}, //14239 #CJK UNIFIED IDEOGRAPH
+  {0xD382, 0x89FD}, //14240 #CJK UNIFIED IDEOGRAPH
+  {0xD383, 0x89FE}, //14241 #CJK UNIFIED IDEOGRAPH
+  {0xD384, 0x89FF}, //14242 #CJK UNIFIED IDEOGRAPH
+  {0xD385, 0x8A01}, //14243 #CJK UNIFIED IDEOGRAPH
+  {0xD386, 0x8A02}, //14244 #CJK UNIFIED IDEOGRAPH
+  {0xD387, 0x8A03}, //14245 #CJK UNIFIED IDEOGRAPH
+  {0xD388, 0x8A04}, //14246 #CJK UNIFIED IDEOGRAPH
+  {0xD389, 0x8A05}, //14247 #CJK UNIFIED IDEOGRAPH
+  {0xD38A, 0x8A06}, //14248 #CJK UNIFIED IDEOGRAPH
+  {0xD38B, 0x8A08}, //14249 #CJK UNIFIED IDEOGRAPH
+  {0xD38C, 0x8A09}, //14250 #CJK UNIFIED IDEOGRAPH
+  {0xD38D, 0x8A0A}, //14251 #CJK UNIFIED IDEOGRAPH
+  {0xD38E, 0x8A0B}, //14252 #CJK UNIFIED IDEOGRAPH
+  {0xD38F, 0x8A0C}, //14253 #CJK UNIFIED IDEOGRAPH
+  {0xD390, 0x8A0D}, //14254 #CJK UNIFIED IDEOGRAPH
+  {0xD391, 0x8A0E}, //14255 #CJK UNIFIED IDEOGRAPH
+  {0xD392, 0x8A0F}, //14256 #CJK UNIFIED IDEOGRAPH
+  {0xD393, 0x8A10}, //14257 #CJK UNIFIED IDEOGRAPH
+  {0xD394, 0x8A11}, //14258 #CJK UNIFIED IDEOGRAPH
+  {0xD395, 0x8A12}, //14259 #CJK UNIFIED IDEOGRAPH
+  {0xD396, 0x8A13}, //14260 #CJK UNIFIED IDEOGRAPH
+  {0xD397, 0x8A14}, //14261 #CJK UNIFIED IDEOGRAPH
+  {0xD398, 0x8A15}, //14262 #CJK UNIFIED IDEOGRAPH
+  {0xD399, 0x8A16}, //14263 #CJK UNIFIED IDEOGRAPH
+  {0xD39A, 0x8A17}, //14264 #CJK UNIFIED IDEOGRAPH
+  {0xD39B, 0x8A18}, //14265 #CJK UNIFIED IDEOGRAPH
+  {0xD39C, 0x8A19}, //14266 #CJK UNIFIED IDEOGRAPH
+  {0xD39D, 0x8A1A}, //14267 #CJK UNIFIED IDEOGRAPH
+  {0xD39E, 0x8A1B}, //14268 #CJK UNIFIED IDEOGRAPH
+  {0xD39F, 0x8A1C}, //14269 #CJK UNIFIED IDEOGRAPH
+  {0xD3A0, 0x8A1D}, //14270 #CJK UNIFIED IDEOGRAPH
+  {0xD3A1, 0x5370}, //14271 #CJK UNIFIED IDEOGRAPH
+  {0xD3A2, 0x82F1}, //14272 #CJK UNIFIED IDEOGRAPH
+  {0xD3A3, 0x6A31}, //14273 #CJK UNIFIED IDEOGRAPH
+  {0xD3A4, 0x5A74}, //14274 #CJK UNIFIED IDEOGRAPH
+  {0xD3A5, 0x9E70}, //14275 #CJK UNIFIED IDEOGRAPH
+  {0xD3A6, 0x5E94}, //14276 #CJK UNIFIED IDEOGRAPH
+  {0xD3A7, 0x7F28}, //14277 #CJK UNIFIED IDEOGRAPH
+  {0xD3A8, 0x83B9}, //14278 #CJK UNIFIED IDEOGRAPH
+  {0xD3A9, 0x8424}, //14279 #CJK UNIFIED IDEOGRAPH
+  {0xD3AA, 0x8425}, //14280 #CJK UNIFIED IDEOGRAPH
+  {0xD3AB, 0x8367}, //14281 #CJK UNIFIED IDEOGRAPH
+  {0xD3AC, 0x8747}, //14282 #CJK UNIFIED IDEOGRAPH
+  {0xD3AD, 0x8FCE}, //14283 #CJK UNIFIED IDEOGRAPH
+  {0xD3AE, 0x8D62}, //14284 #CJK UNIFIED IDEOGRAPH
+  {0xD3AF, 0x76C8}, //14285 #CJK UNIFIED IDEOGRAPH
+  {0xD3B0, 0x5F71}, //14286 #CJK UNIFIED IDEOGRAPH
+  {0xD3B1, 0x9896}, //14287 #CJK UNIFIED IDEOGRAPH
+  {0xD3B2, 0x786C}, //14288 #CJK UNIFIED IDEOGRAPH
+  {0xD3B3, 0x6620}, //14289 #CJK UNIFIED IDEOGRAPH
+  {0xD3B4, 0x54DF}, //14290 #CJK UNIFIED IDEOGRAPH
+  {0xD3B5, 0x62E5}, //14291 #CJK UNIFIED IDEOGRAPH
+  {0xD3B6, 0x4F63}, //14292 #CJK UNIFIED IDEOGRAPH
+  {0xD3B7, 0x81C3}, //14293 #CJK UNIFIED IDEOGRAPH
+  {0xD3B8, 0x75C8}, //14294 #CJK UNIFIED IDEOGRAPH
+  {0xD3B9, 0x5EB8}, //14295 #CJK UNIFIED IDEOGRAPH
+  {0xD3BA, 0x96CD}, //14296 #CJK UNIFIED IDEOGRAPH
+  {0xD3BB, 0x8E0A}, //14297 #CJK UNIFIED IDEOGRAPH
+  {0xD3BC, 0x86F9}, //14298 #CJK UNIFIED IDEOGRAPH
+  {0xD3BD, 0x548F}, //14299 #CJK UNIFIED IDEOGRAPH
+  {0xD3BE, 0x6CF3}, //14300 #CJK UNIFIED IDEOGRAPH
+  {0xD3BF, 0x6D8C}, //14301 #CJK UNIFIED IDEOGRAPH
+  {0xD3C0, 0x6C38}, //14302 #CJK UNIFIED IDEOGRAPH
+  {0xD3C1, 0x607F}, //14303 #CJK UNIFIED IDEOGRAPH
+  {0xD3C2, 0x52C7}, //14304 #CJK UNIFIED IDEOGRAPH
+  {0xD3C3, 0x7528}, //14305 #CJK UNIFIED IDEOGRAPH
+  {0xD3C4, 0x5E7D}, //14306 #CJK UNIFIED IDEOGRAPH
+  {0xD3C5, 0x4F18}, //14307 #CJK UNIFIED IDEOGRAPH
+  {0xD3C6, 0x60A0}, //14308 #CJK UNIFIED IDEOGRAPH
+  {0xD3C7, 0x5FE7}, //14309 #CJK UNIFIED IDEOGRAPH
+  {0xD3C8, 0x5C24}, //14310 #CJK UNIFIED IDEOGRAPH
+  {0xD3C9, 0x7531}, //14311 #CJK UNIFIED IDEOGRAPH
+  {0xD3CA, 0x90AE}, //14312 #CJK UNIFIED IDEOGRAPH
+  {0xD3CB, 0x94C0}, //14313 #CJK UNIFIED IDEOGRAPH
+  {0xD3CC, 0x72B9}, //14314 #CJK UNIFIED IDEOGRAPH
+  {0xD3CD, 0x6CB9}, //14315 #CJK UNIFIED IDEOGRAPH
+  {0xD3CE, 0x6E38}, //14316 #CJK UNIFIED IDEOGRAPH
+  {0xD3CF, 0x9149}, //14317 #CJK UNIFIED IDEOGRAPH
+  {0xD3D0, 0x6709}, //14318 #CJK UNIFIED IDEOGRAPH
+  {0xD3D1, 0x53CB}, //14319 #CJK UNIFIED IDEOGRAPH
+  {0xD3D2, 0x53F3}, //14320 #CJK UNIFIED IDEOGRAPH
+  {0xD3D3, 0x4F51}, //14321 #CJK UNIFIED IDEOGRAPH
+  {0xD3D4, 0x91C9}, //14322 #CJK UNIFIED IDEOGRAPH
+  {0xD3D5, 0x8BF1}, //14323 #CJK UNIFIED IDEOGRAPH
+  {0xD3D6, 0x53C8}, //14324 #CJK UNIFIED IDEOGRAPH
+  {0xD3D7, 0x5E7C}, //14325 #CJK UNIFIED IDEOGRAPH
+  {0xD3D8, 0x8FC2}, //14326 #CJK UNIFIED IDEOGRAPH
+  {0xD3D9, 0x6DE4}, //14327 #CJK UNIFIED IDEOGRAPH
+  {0xD3DA, 0x4E8E}, //14328 #CJK UNIFIED IDEOGRAPH
+  {0xD3DB, 0x76C2}, //14329 #CJK UNIFIED IDEOGRAPH
+  {0xD3DC, 0x6986}, //14330 #CJK UNIFIED IDEOGRAPH
+  {0xD3DD, 0x865E}, //14331 #CJK UNIFIED IDEOGRAPH
+  {0xD3DE, 0x611A}, //14332 #CJK UNIFIED IDEOGRAPH
+  {0xD3DF, 0x8206}, //14333 #CJK UNIFIED IDEOGRAPH
+  {0xD3E0, 0x4F59}, //14334 #CJK UNIFIED IDEOGRAPH
+  {0xD3E1, 0x4FDE}, //14335 #CJK UNIFIED IDEOGRAPH
+  {0xD3E2, 0x903E}, //14336 #CJK UNIFIED IDEOGRAPH
+  {0xD3E3, 0x9C7C}, //14337 #CJK UNIFIED IDEOGRAPH
+  {0xD3E4, 0x6109}, //14338 #CJK UNIFIED IDEOGRAPH
+  {0xD3E5, 0x6E1D}, //14339 #CJK UNIFIED IDEOGRAPH
+  {0xD3E6, 0x6E14}, //14340 #CJK UNIFIED IDEOGRAPH
+  {0xD3E7, 0x9685}, //14341 #CJK UNIFIED IDEOGRAPH
+  {0xD3E8, 0x4E88}, //14342 #CJK UNIFIED IDEOGRAPH
+  {0xD3E9, 0x5A31}, //14343 #CJK UNIFIED IDEOGRAPH
+  {0xD3EA, 0x96E8}, //14344 #CJK UNIFIED IDEOGRAPH
+  {0xD3EB, 0x4E0E}, //14345 #CJK UNIFIED IDEOGRAPH
+  {0xD3EC, 0x5C7F}, //14346 #CJK UNIFIED IDEOGRAPH
+  {0xD3ED, 0x79B9}, //14347 #CJK UNIFIED IDEOGRAPH
+  {0xD3EE, 0x5B87}, //14348 #CJK UNIFIED IDEOGRAPH
+  {0xD3EF, 0x8BED}, //14349 #CJK UNIFIED IDEOGRAPH
+  {0xD3F0, 0x7FBD}, //14350 #CJK UNIFIED IDEOGRAPH
+  {0xD3F1, 0x7389}, //14351 #CJK UNIFIED IDEOGRAPH
+  {0xD3F2, 0x57DF}, //14352 #CJK UNIFIED IDEOGRAPH
+  {0xD3F3, 0x828B}, //14353 #CJK UNIFIED IDEOGRAPH
+  {0xD3F4, 0x90C1}, //14354 #CJK UNIFIED IDEOGRAPH
+  {0xD3F5, 0x5401}, //14355 #CJK UNIFIED IDEOGRAPH
+  {0xD3F6, 0x9047}, //14356 #CJK UNIFIED IDEOGRAPH
+  {0xD3F7, 0x55BB}, //14357 #CJK UNIFIED IDEOGRAPH
+  {0xD3F8, 0x5CEA}, //14358 #CJK UNIFIED IDEOGRAPH
+  {0xD3F9, 0x5FA1}, //14359 #CJK UNIFIED IDEOGRAPH
+  {0xD3FA, 0x6108}, //14360 #CJK UNIFIED IDEOGRAPH
+  {0xD3FB, 0x6B32}, //14361 #CJK UNIFIED IDEOGRAPH
+  {0xD3FC, 0x72F1}, //14362 #CJK UNIFIED IDEOGRAPH
+  {0xD3FD, 0x80B2}, //14363 #CJK UNIFIED IDEOGRAPH
+  {0xD3FE, 0x8A89}, //14364 #CJK UNIFIED IDEOGRAPH
+  {0xD440, 0x8A1E}, //14365 #CJK UNIFIED IDEOGRAPH
+  {0xD441, 0x8A1F}, //14366 #CJK UNIFIED IDEOGRAPH
+  {0xD442, 0x8A20}, //14367 #CJK UNIFIED IDEOGRAPH
+  {0xD443, 0x8A21}, //14368 #CJK UNIFIED IDEOGRAPH
+  {0xD444, 0x8A22}, //14369 #CJK UNIFIED IDEOGRAPH
+  {0xD445, 0x8A23}, //14370 #CJK UNIFIED IDEOGRAPH
+  {0xD446, 0x8A24}, //14371 #CJK UNIFIED IDEOGRAPH
+  {0xD447, 0x8A25}, //14372 #CJK UNIFIED IDEOGRAPH
+  {0xD448, 0x8A26}, //14373 #CJK UNIFIED IDEOGRAPH
+  {0xD449, 0x8A27}, //14374 #CJK UNIFIED IDEOGRAPH
+  {0xD44A, 0x8A28}, //14375 #CJK UNIFIED IDEOGRAPH
+  {0xD44B, 0x8A29}, //14376 #CJK UNIFIED IDEOGRAPH
+  {0xD44C, 0x8A2A}, //14377 #CJK UNIFIED IDEOGRAPH
+  {0xD44D, 0x8A2B}, //14378 #CJK UNIFIED IDEOGRAPH
+  {0xD44E, 0x8A2C}, //14379 #CJK UNIFIED IDEOGRAPH
+  {0xD44F, 0x8A2D}, //14380 #CJK UNIFIED IDEOGRAPH
+  {0xD450, 0x8A2E}, //14381 #CJK UNIFIED IDEOGRAPH
+  {0xD451, 0x8A2F}, //14382 #CJK UNIFIED IDEOGRAPH
+  {0xD452, 0x8A30}, //14383 #CJK UNIFIED IDEOGRAPH
+  {0xD453, 0x8A31}, //14384 #CJK UNIFIED IDEOGRAPH
+  {0xD454, 0x8A32}, //14385 #CJK UNIFIED IDEOGRAPH
+  {0xD455, 0x8A33}, //14386 #CJK UNIFIED IDEOGRAPH
+  {0xD456, 0x8A34}, //14387 #CJK UNIFIED IDEOGRAPH
+  {0xD457, 0x8A35}, //14388 #CJK UNIFIED IDEOGRAPH
+  {0xD458, 0x8A36}, //14389 #CJK UNIFIED IDEOGRAPH
+  {0xD459, 0x8A37}, //14390 #CJK UNIFIED IDEOGRAPH
+  {0xD45A, 0x8A38}, //14391 #CJK UNIFIED IDEOGRAPH
+  {0xD45B, 0x8A39}, //14392 #CJK UNIFIED IDEOGRAPH
+  {0xD45C, 0x8A3A}, //14393 #CJK UNIFIED IDEOGRAPH
+  {0xD45D, 0x8A3B}, //14394 #CJK UNIFIED IDEOGRAPH
+  {0xD45E, 0x8A3C}, //14395 #CJK UNIFIED IDEOGRAPH
+  {0xD45F, 0x8A3D}, //14396 #CJK UNIFIED IDEOGRAPH
+  {0xD460, 0x8A3F}, //14397 #CJK UNIFIED IDEOGRAPH
+  {0xD461, 0x8A40}, //14398 #CJK UNIFIED IDEOGRAPH
+  {0xD462, 0x8A41}, //14399 #CJK UNIFIED IDEOGRAPH
+  {0xD463, 0x8A42}, //14400 #CJK UNIFIED IDEOGRAPH
+  {0xD464, 0x8A43}, //14401 #CJK UNIFIED IDEOGRAPH
+  {0xD465, 0x8A44}, //14402 #CJK UNIFIED IDEOGRAPH
+  {0xD466, 0x8A45}, //14403 #CJK UNIFIED IDEOGRAPH
+  {0xD467, 0x8A46}, //14404 #CJK UNIFIED IDEOGRAPH
+  {0xD468, 0x8A47}, //14405 #CJK UNIFIED IDEOGRAPH
+  {0xD469, 0x8A49}, //14406 #CJK UNIFIED IDEOGRAPH
+  {0xD46A, 0x8A4A}, //14407 #CJK UNIFIED IDEOGRAPH
+  {0xD46B, 0x8A4B}, //14408 #CJK UNIFIED IDEOGRAPH
+  {0xD46C, 0x8A4C}, //14409 #CJK UNIFIED IDEOGRAPH
+  {0xD46D, 0x8A4D}, //14410 #CJK UNIFIED IDEOGRAPH
+  {0xD46E, 0x8A4E}, //14411 #CJK UNIFIED IDEOGRAPH
+  {0xD46F, 0x8A4F}, //14412 #CJK UNIFIED IDEOGRAPH
+  {0xD470, 0x8A50}, //14413 #CJK UNIFIED IDEOGRAPH
+  {0xD471, 0x8A51}, //14414 #CJK UNIFIED IDEOGRAPH
+  {0xD472, 0x8A52}, //14415 #CJK UNIFIED IDEOGRAPH
+  {0xD473, 0x8A53}, //14416 #CJK UNIFIED IDEOGRAPH
+  {0xD474, 0x8A54}, //14417 #CJK UNIFIED IDEOGRAPH
+  {0xD475, 0x8A55}, //14418 #CJK UNIFIED IDEOGRAPH
+  {0xD476, 0x8A56}, //14419 #CJK UNIFIED IDEOGRAPH
+  {0xD477, 0x8A57}, //14420 #CJK UNIFIED IDEOGRAPH
+  {0xD478, 0x8A58}, //14421 #CJK UNIFIED IDEOGRAPH
+  {0xD479, 0x8A59}, //14422 #CJK UNIFIED IDEOGRAPH
+  {0xD47A, 0x8A5A}, //14423 #CJK UNIFIED IDEOGRAPH
+  {0xD47B, 0x8A5B}, //14424 #CJK UNIFIED IDEOGRAPH
+  {0xD47C, 0x8A5C}, //14425 #CJK UNIFIED IDEOGRAPH
+  {0xD47D, 0x8A5D}, //14426 #CJK UNIFIED IDEOGRAPH
+  {0xD47E, 0x8A5E}, //14427 #CJK UNIFIED IDEOGRAPH
+  {0xD480, 0x8A5F}, //14428 #CJK UNIFIED IDEOGRAPH
+  {0xD481, 0x8A60}, //14429 #CJK UNIFIED IDEOGRAPH
+  {0xD482, 0x8A61}, //14430 #CJK UNIFIED IDEOGRAPH
+  {0xD483, 0x8A62}, //14431 #CJK UNIFIED IDEOGRAPH
+  {0xD484, 0x8A63}, //14432 #CJK UNIFIED IDEOGRAPH
+  {0xD485, 0x8A64}, //14433 #CJK UNIFIED IDEOGRAPH
+  {0xD486, 0x8A65}, //14434 #CJK UNIFIED IDEOGRAPH
+  {0xD487, 0x8A66}, //14435 #CJK UNIFIED IDEOGRAPH
+  {0xD488, 0x8A67}, //14436 #CJK UNIFIED IDEOGRAPH
+  {0xD489, 0x8A68}, //14437 #CJK UNIFIED IDEOGRAPH
+  {0xD48A, 0x8A69}, //14438 #CJK UNIFIED IDEOGRAPH
+  {0xD48B, 0x8A6A}, //14439 #CJK UNIFIED IDEOGRAPH
+  {0xD48C, 0x8A6B}, //14440 #CJK UNIFIED IDEOGRAPH
+  {0xD48D, 0x8A6C}, //14441 #CJK UNIFIED IDEOGRAPH
+  {0xD48E, 0x8A6D}, //14442 #CJK UNIFIED IDEOGRAPH
+  {0xD48F, 0x8A6E}, //14443 #CJK UNIFIED IDEOGRAPH
+  {0xD490, 0x8A6F}, //14444 #CJK UNIFIED IDEOGRAPH
+  {0xD491, 0x8A70}, //14445 #CJK UNIFIED IDEOGRAPH
+  {0xD492, 0x8A71}, //14446 #CJK UNIFIED IDEOGRAPH
+  {0xD493, 0x8A72}, //14447 #CJK UNIFIED IDEOGRAPH
+  {0xD494, 0x8A73}, //14448 #CJK UNIFIED IDEOGRAPH
+  {0xD495, 0x8A74}, //14449 #CJK UNIFIED IDEOGRAPH
+  {0xD496, 0x8A75}, //14450 #CJK UNIFIED IDEOGRAPH
+  {0xD497, 0x8A76}, //14451 #CJK UNIFIED IDEOGRAPH
+  {0xD498, 0x8A77}, //14452 #CJK UNIFIED IDEOGRAPH
+  {0xD499, 0x8A78}, //14453 #CJK UNIFIED IDEOGRAPH
+  {0xD49A, 0x8A7A}, //14454 #CJK UNIFIED IDEOGRAPH
+  {0xD49B, 0x8A7B}, //14455 #CJK UNIFIED IDEOGRAPH
+  {0xD49C, 0x8A7C}, //14456 #CJK UNIFIED IDEOGRAPH
+  {0xD49D, 0x8A7D}, //14457 #CJK UNIFIED IDEOGRAPH
+  {0xD49E, 0x8A7E}, //14458 #CJK UNIFIED IDEOGRAPH
+  {0xD49F, 0x8A7F}, //14459 #CJK UNIFIED IDEOGRAPH
+  {0xD4A0, 0x8A80}, //14460 #CJK UNIFIED IDEOGRAPH
+  {0xD4A1, 0x6D74}, //14461 #CJK UNIFIED IDEOGRAPH
+  {0xD4A2, 0x5BD3}, //14462 #CJK UNIFIED IDEOGRAPH
+  {0xD4A3, 0x88D5}, //14463 #CJK UNIFIED IDEOGRAPH
+  {0xD4A4, 0x9884}, //14464 #CJK UNIFIED IDEOGRAPH
+  {0xD4A5, 0x8C6B}, //14465 #CJK UNIFIED IDEOGRAPH
+  {0xD4A6, 0x9A6D}, //14466 #CJK UNIFIED IDEOGRAPH
+  {0xD4A7, 0x9E33}, //14467 #CJK UNIFIED IDEOGRAPH
+  {0xD4A8, 0x6E0A}, //14468 #CJK UNIFIED IDEOGRAPH
+  {0xD4A9, 0x51A4}, //14469 #CJK UNIFIED IDEOGRAPH
+  {0xD4AA, 0x5143}, //14470 #CJK UNIFIED IDEOGRAPH
+  {0xD4AB, 0x57A3}, //14471 #CJK UNIFIED IDEOGRAPH
+  {0xD4AC, 0x8881}, //14472 #CJK UNIFIED IDEOGRAPH
+  {0xD4AD, 0x539F}, //14473 #CJK UNIFIED IDEOGRAPH
+  {0xD4AE, 0x63F4}, //14474 #CJK UNIFIED IDEOGRAPH
+  {0xD4AF, 0x8F95}, //14475 #CJK UNIFIED IDEOGRAPH
+  {0xD4B0, 0x56ED}, //14476 #CJK UNIFIED IDEOGRAPH
+  {0xD4B1, 0x5458}, //14477 #CJK UNIFIED IDEOGRAPH
+  {0xD4B2, 0x5706}, //14478 #CJK UNIFIED IDEOGRAPH
+  {0xD4B3, 0x733F}, //14479 #CJK UNIFIED IDEOGRAPH
+  {0xD4B4, 0x6E90}, //14480 #CJK UNIFIED IDEOGRAPH
+  {0xD4B5, 0x7F18}, //14481 #CJK UNIFIED IDEOGRAPH
+  {0xD4B6, 0x8FDC}, //14482 #CJK UNIFIED IDEOGRAPH
+  {0xD4B7, 0x82D1}, //14483 #CJK UNIFIED IDEOGRAPH
+  {0xD4B8, 0x613F}, //14484 #CJK UNIFIED IDEOGRAPH
+  {0xD4B9, 0x6028}, //14485 #CJK UNIFIED IDEOGRAPH
+  {0xD4BA, 0x9662}, //14486 #CJK UNIFIED IDEOGRAPH
+  {0xD4BB, 0x66F0}, //14487 #CJK UNIFIED IDEOGRAPH
+  {0xD4BC, 0x7EA6}, //14488 #CJK UNIFIED IDEOGRAPH
+  {0xD4BD, 0x8D8A}, //14489 #CJK UNIFIED IDEOGRAPH
+  {0xD4BE, 0x8DC3}, //14490 #CJK UNIFIED IDEOGRAPH
+  {0xD4BF, 0x94A5}, //14491 #CJK UNIFIED IDEOGRAPH
+  {0xD4C0, 0x5CB3}, //14492 #CJK UNIFIED IDEOGRAPH
+  {0xD4C1, 0x7CA4}, //14493 #CJK UNIFIED IDEOGRAPH
+  {0xD4C2, 0x6708}, //14494 #CJK UNIFIED IDEOGRAPH
+  {0xD4C3, 0x60A6}, //14495 #CJK UNIFIED IDEOGRAPH
+  {0xD4C4, 0x9605}, //14496 #CJK UNIFIED IDEOGRAPH
+  {0xD4C5, 0x8018}, //14497 #CJK UNIFIED IDEOGRAPH
+  {0xD4C6, 0x4E91}, //14498 #CJK UNIFIED IDEOGRAPH
+  {0xD4C7, 0x90E7}, //14499 #CJK UNIFIED IDEOGRAPH
+  {0xD4C8, 0x5300}, //14500 #CJK UNIFIED IDEOGRAPH
+  {0xD4C9, 0x9668}, //14501 #CJK UNIFIED IDEOGRAPH
+  {0xD4CA, 0x5141}, //14502 #CJK UNIFIED IDEOGRAPH
+  {0xD4CB, 0x8FD0}, //14503 #CJK UNIFIED IDEOGRAPH
+  {0xD4CC, 0x8574}, //14504 #CJK UNIFIED IDEOGRAPH
+  {0xD4CD, 0x915D}, //14505 #CJK UNIFIED IDEOGRAPH
+  {0xD4CE, 0x6655}, //14506 #CJK UNIFIED IDEOGRAPH
+  {0xD4CF, 0x97F5}, //14507 #CJK UNIFIED IDEOGRAPH
+  {0xD4D0, 0x5B55}, //14508 #CJK UNIFIED IDEOGRAPH
+  {0xD4D1, 0x531D}, //14509 #CJK UNIFIED IDEOGRAPH
+  {0xD4D2, 0x7838}, //14510 #CJK UNIFIED IDEOGRAPH
+  {0xD4D3, 0x6742}, //14511 #CJK UNIFIED IDEOGRAPH
+  {0xD4D4, 0x683D}, //14512 #CJK UNIFIED IDEOGRAPH
+  {0xD4D5, 0x54C9}, //14513 #CJK UNIFIED IDEOGRAPH
+  {0xD4D6, 0x707E}, //14514 #CJK UNIFIED IDEOGRAPH
+  {0xD4D7, 0x5BB0}, //14515 #CJK UNIFIED IDEOGRAPH
+  {0xD4D8, 0x8F7D}, //14516 #CJK UNIFIED IDEOGRAPH
+  {0xD4D9, 0x518D}, //14517 #CJK UNIFIED IDEOGRAPH
+  {0xD4DA, 0x5728}, //14518 #CJK UNIFIED IDEOGRAPH
+  {0xD4DB, 0x54B1}, //14519 #CJK UNIFIED IDEOGRAPH
+  {0xD4DC, 0x6512}, //14520 #CJK UNIFIED IDEOGRAPH
+  {0xD4DD, 0x6682}, //14521 #CJK UNIFIED IDEOGRAPH
+  {0xD4DE, 0x8D5E}, //14522 #CJK UNIFIED IDEOGRAPH
+  {0xD4DF, 0x8D43}, //14523 #CJK UNIFIED IDEOGRAPH
+  {0xD4E0, 0x810F}, //14524 #CJK UNIFIED IDEOGRAPH
+  {0xD4E1, 0x846C}, //14525 #CJK UNIFIED IDEOGRAPH
+  {0xD4E2, 0x906D}, //14526 #CJK UNIFIED IDEOGRAPH
+  {0xD4E3, 0x7CDF}, //14527 #CJK UNIFIED IDEOGRAPH
+  {0xD4E4, 0x51FF}, //14528 #CJK UNIFIED IDEOGRAPH
+  {0xD4E5, 0x85FB}, //14529 #CJK UNIFIED IDEOGRAPH
+  {0xD4E6, 0x67A3}, //14530 #CJK UNIFIED IDEOGRAPH
+  {0xD4E7, 0x65E9}, //14531 #CJK UNIFIED IDEOGRAPH
+  {0xD4E8, 0x6FA1}, //14532 #CJK UNIFIED IDEOGRAPH
+  {0xD4E9, 0x86A4}, //14533 #CJK UNIFIED IDEOGRAPH
+  {0xD4EA, 0x8E81}, //14534 #CJK UNIFIED IDEOGRAPH
+  {0xD4EB, 0x566A}, //14535 #CJK UNIFIED IDEOGRAPH
+  {0xD4EC, 0x9020}, //14536 #CJK UNIFIED IDEOGRAPH
+  {0xD4ED, 0x7682}, //14537 #CJK UNIFIED IDEOGRAPH
+  {0xD4EE, 0x7076}, //14538 #CJK UNIFIED IDEOGRAPH
+  {0xD4EF, 0x71E5}, //14539 #CJK UNIFIED IDEOGRAPH
+  {0xD4F0, 0x8D23}, //14540 #CJK UNIFIED IDEOGRAPH
+  {0xD4F1, 0x62E9}, //14541 #CJK UNIFIED IDEOGRAPH
+  {0xD4F2, 0x5219}, //14542 #CJK UNIFIED IDEOGRAPH
+  {0xD4F3, 0x6CFD}, //14543 #CJK UNIFIED IDEOGRAPH
+  {0xD4F4, 0x8D3C}, //14544 #CJK UNIFIED IDEOGRAPH
+  {0xD4F5, 0x600E}, //14545 #CJK UNIFIED IDEOGRAPH
+  {0xD4F6, 0x589E}, //14546 #CJK UNIFIED IDEOGRAPH
+  {0xD4F7, 0x618E}, //14547 #CJK UNIFIED IDEOGRAPH
+  {0xD4F8, 0x66FE}, //14548 #CJK UNIFIED IDEOGRAPH
+  {0xD4F9, 0x8D60}, //14549 #CJK UNIFIED IDEOGRAPH
+  {0xD4FA, 0x624E}, //14550 #CJK UNIFIED IDEOGRAPH
+  {0xD4FB, 0x55B3}, //14551 #CJK UNIFIED IDEOGRAPH
+  {0xD4FC, 0x6E23}, //14552 #CJK UNIFIED IDEOGRAPH
+  {0xD4FD, 0x672D}, //14553 #CJK UNIFIED IDEOGRAPH
+  {0xD4FE, 0x8F67}, //14554 #CJK UNIFIED IDEOGRAPH
+  {0xD540, 0x8A81}, //14555 #CJK UNIFIED IDEOGRAPH
+  {0xD541, 0x8A82}, //14556 #CJK UNIFIED IDEOGRAPH
+  {0xD542, 0x8A83}, //14557 #CJK UNIFIED IDEOGRAPH
+  {0xD543, 0x8A84}, //14558 #CJK UNIFIED IDEOGRAPH
+  {0xD544, 0x8A85}, //14559 #CJK UNIFIED IDEOGRAPH
+  {0xD545, 0x8A86}, //14560 #CJK UNIFIED IDEOGRAPH
+  {0xD546, 0x8A87}, //14561 #CJK UNIFIED IDEOGRAPH
+  {0xD547, 0x8A88}, //14562 #CJK UNIFIED IDEOGRAPH
+  {0xD548, 0x8A8B}, //14563 #CJK UNIFIED IDEOGRAPH
+  {0xD549, 0x8A8C}, //14564 #CJK UNIFIED IDEOGRAPH
+  {0xD54A, 0x8A8D}, //14565 #CJK UNIFIED IDEOGRAPH
+  {0xD54B, 0x8A8E}, //14566 #CJK UNIFIED IDEOGRAPH
+  {0xD54C, 0x8A8F}, //14567 #CJK UNIFIED IDEOGRAPH
+  {0xD54D, 0x8A90}, //14568 #CJK UNIFIED IDEOGRAPH
+  {0xD54E, 0x8A91}, //14569 #CJK UNIFIED IDEOGRAPH
+  {0xD54F, 0x8A92}, //14570 #CJK UNIFIED IDEOGRAPH
+  {0xD550, 0x8A94}, //14571 #CJK UNIFIED IDEOGRAPH
+  {0xD551, 0x8A95}, //14572 #CJK UNIFIED IDEOGRAPH
+  {0xD552, 0x8A96}, //14573 #CJK UNIFIED IDEOGRAPH
+  {0xD553, 0x8A97}, //14574 #CJK UNIFIED IDEOGRAPH
+  {0xD554, 0x8A98}, //14575 #CJK UNIFIED IDEOGRAPH
+  {0xD555, 0x8A99}, //14576 #CJK UNIFIED IDEOGRAPH
+  {0xD556, 0x8A9A}, //14577 #CJK UNIFIED IDEOGRAPH
+  {0xD557, 0x8A9B}, //14578 #CJK UNIFIED IDEOGRAPH
+  {0xD558, 0x8A9C}, //14579 #CJK UNIFIED IDEOGRAPH
+  {0xD559, 0x8A9D}, //14580 #CJK UNIFIED IDEOGRAPH
+  {0xD55A, 0x8A9E}, //14581 #CJK UNIFIED IDEOGRAPH
+  {0xD55B, 0x8A9F}, //14582 #CJK UNIFIED IDEOGRAPH
+  {0xD55C, 0x8AA0}, //14583 #CJK UNIFIED IDEOGRAPH
+  {0xD55D, 0x8AA1}, //14584 #CJK UNIFIED IDEOGRAPH
+  {0xD55E, 0x8AA2}, //14585 #CJK UNIFIED IDEOGRAPH
+  {0xD55F, 0x8AA3}, //14586 #CJK UNIFIED IDEOGRAPH
+  {0xD560, 0x8AA4}, //14587 #CJK UNIFIED IDEOGRAPH
+  {0xD561, 0x8AA5}, //14588 #CJK UNIFIED IDEOGRAPH
+  {0xD562, 0x8AA6}, //14589 #CJK UNIFIED IDEOGRAPH
+  {0xD563, 0x8AA7}, //14590 #CJK UNIFIED IDEOGRAPH
+  {0xD564, 0x8AA8}, //14591 #CJK UNIFIED IDEOGRAPH
+  {0xD565, 0x8AA9}, //14592 #CJK UNIFIED IDEOGRAPH
+  {0xD566, 0x8AAA}, //14593 #CJK UNIFIED IDEOGRAPH
+  {0xD567, 0x8AAB}, //14594 #CJK UNIFIED IDEOGRAPH
+  {0xD568, 0x8AAC}, //14595 #CJK UNIFIED IDEOGRAPH
+  {0xD569, 0x8AAD}, //14596 #CJK UNIFIED IDEOGRAPH
+  {0xD56A, 0x8AAE}, //14597 #CJK UNIFIED IDEOGRAPH
+  {0xD56B, 0x8AAF}, //14598 #CJK UNIFIED IDEOGRAPH
+  {0xD56C, 0x8AB0}, //14599 #CJK UNIFIED IDEOGRAPH
+  {0xD56D, 0x8AB1}, //14600 #CJK UNIFIED IDEOGRAPH
+  {0xD56E, 0x8AB2}, //14601 #CJK UNIFIED IDEOGRAPH
+  {0xD56F, 0x8AB3}, //14602 #CJK UNIFIED IDEOGRAPH
+  {0xD570, 0x8AB4}, //14603 #CJK UNIFIED IDEOGRAPH
+  {0xD571, 0x8AB5}, //14604 #CJK UNIFIED IDEOGRAPH
+  {0xD572, 0x8AB6}, //14605 #CJK UNIFIED IDEOGRAPH
+  {0xD573, 0x8AB7}, //14606 #CJK UNIFIED IDEOGRAPH
+  {0xD574, 0x8AB8}, //14607 #CJK UNIFIED IDEOGRAPH
+  {0xD575, 0x8AB9}, //14608 #CJK UNIFIED IDEOGRAPH
+  {0xD576, 0x8ABA}, //14609 #CJK UNIFIED IDEOGRAPH
+  {0xD577, 0x8ABB}, //14610 #CJK UNIFIED IDEOGRAPH
+  {0xD578, 0x8ABC}, //14611 #CJK UNIFIED IDEOGRAPH
+  {0xD579, 0x8ABD}, //14612 #CJK UNIFIED IDEOGRAPH
+  {0xD57A, 0x8ABE}, //14613 #CJK UNIFIED IDEOGRAPH
+  {0xD57B, 0x8ABF}, //14614 #CJK UNIFIED IDEOGRAPH
+  {0xD57C, 0x8AC0}, //14615 #CJK UNIFIED IDEOGRAPH
+  {0xD57D, 0x8AC1}, //14616 #CJK UNIFIED IDEOGRAPH
+  {0xD57E, 0x8AC2}, //14617 #CJK UNIFIED IDEOGRAPH
+  {0xD580, 0x8AC3}, //14618 #CJK UNIFIED IDEOGRAPH
+  {0xD581, 0x8AC4}, //14619 #CJK UNIFIED IDEOGRAPH
+  {0xD582, 0x8AC5}, //14620 #CJK UNIFIED IDEOGRAPH
+  {0xD583, 0x8AC6}, //14621 #CJK UNIFIED IDEOGRAPH
+  {0xD584, 0x8AC7}, //14622 #CJK UNIFIED IDEOGRAPH
+  {0xD585, 0x8AC8}, //14623 #CJK UNIFIED IDEOGRAPH
+  {0xD586, 0x8AC9}, //14624 #CJK UNIFIED IDEOGRAPH
+  {0xD587, 0x8ACA}, //14625 #CJK UNIFIED IDEOGRAPH
+  {0xD588, 0x8ACB}, //14626 #CJK UNIFIED IDEOGRAPH
+  {0xD589, 0x8ACC}, //14627 #CJK UNIFIED IDEOGRAPH
+  {0xD58A, 0x8ACD}, //14628 #CJK UNIFIED IDEOGRAPH
+  {0xD58B, 0x8ACE}, //14629 #CJK UNIFIED IDEOGRAPH
+  {0xD58C, 0x8ACF}, //14630 #CJK UNIFIED IDEOGRAPH
+  {0xD58D, 0x8AD0}, //14631 #CJK UNIFIED IDEOGRAPH
+  {0xD58E, 0x8AD1}, //14632 #CJK UNIFIED IDEOGRAPH
+  {0xD58F, 0x8AD2}, //14633 #CJK UNIFIED IDEOGRAPH
+  {0xD590, 0x8AD3}, //14634 #CJK UNIFIED IDEOGRAPH
+  {0xD591, 0x8AD4}, //14635 #CJK UNIFIED IDEOGRAPH
+  {0xD592, 0x8AD5}, //14636 #CJK UNIFIED IDEOGRAPH
+  {0xD593, 0x8AD6}, //14637 #CJK UNIFIED IDEOGRAPH
+  {0xD594, 0x8AD7}, //14638 #CJK UNIFIED IDEOGRAPH
+  {0xD595, 0x8AD8}, //14639 #CJK UNIFIED IDEOGRAPH
+  {0xD596, 0x8AD9}, //14640 #CJK UNIFIED IDEOGRAPH
+  {0xD597, 0x8ADA}, //14641 #CJK UNIFIED IDEOGRAPH
+  {0xD598, 0x8ADB}, //14642 #CJK UNIFIED IDEOGRAPH
+  {0xD599, 0x8ADC}, //14643 #CJK UNIFIED IDEOGRAPH
+  {0xD59A, 0x8ADD}, //14644 #CJK UNIFIED IDEOGRAPH
+  {0xD59B, 0x8ADE}, //14645 #CJK UNIFIED IDEOGRAPH
+  {0xD59C, 0x8ADF}, //14646 #CJK UNIFIED IDEOGRAPH
+  {0xD59D, 0x8AE0}, //14647 #CJK UNIFIED IDEOGRAPH
+  {0xD59E, 0x8AE1}, //14648 #CJK UNIFIED IDEOGRAPH
+  {0xD59F, 0x8AE2}, //14649 #CJK UNIFIED IDEOGRAPH
+  {0xD5A0, 0x8AE3}, //14650 #CJK UNIFIED IDEOGRAPH
+  {0xD5A1, 0x94E1}, //14651 #CJK UNIFIED IDEOGRAPH
+  {0xD5A2, 0x95F8}, //14652 #CJK UNIFIED IDEOGRAPH
+  {0xD5A3, 0x7728}, //14653 #CJK UNIFIED IDEOGRAPH
+  {0xD5A4, 0x6805}, //14654 #CJK UNIFIED IDEOGRAPH
+  {0xD5A5, 0x69A8}, //14655 #CJK UNIFIED IDEOGRAPH
+  {0xD5A6, 0x548B}, //14656 #CJK UNIFIED IDEOGRAPH
+  {0xD5A7, 0x4E4D}, //14657 #CJK UNIFIED IDEOGRAPH
+  {0xD5A8, 0x70B8}, //14658 #CJK UNIFIED IDEOGRAPH
+  {0xD5A9, 0x8BC8}, //14659 #CJK UNIFIED IDEOGRAPH
+  {0xD5AA, 0x6458}, //14660 #CJK UNIFIED IDEOGRAPH
+  {0xD5AB, 0x658B}, //14661 #CJK UNIFIED IDEOGRAPH
+  {0xD5AC, 0x5B85}, //14662 #CJK UNIFIED IDEOGRAPH
+  {0xD5AD, 0x7A84}, //14663 #CJK UNIFIED IDEOGRAPH
+  {0xD5AE, 0x503A}, //14664 #CJK UNIFIED IDEOGRAPH
+  {0xD5AF, 0x5BE8}, //14665 #CJK UNIFIED IDEOGRAPH
+  {0xD5B0, 0x77BB}, //14666 #CJK UNIFIED IDEOGRAPH
+  {0xD5B1, 0x6BE1}, //14667 #CJK UNIFIED IDEOGRAPH
+  {0xD5B2, 0x8A79}, //14668 #CJK UNIFIED IDEOGRAPH
+  {0xD5B3, 0x7C98}, //14669 #CJK UNIFIED IDEOGRAPH
+  {0xD5B4, 0x6CBE}, //14670 #CJK UNIFIED IDEOGRAPH
+  {0xD5B5, 0x76CF}, //14671 #CJK UNIFIED IDEOGRAPH
+  {0xD5B6, 0x65A9}, //14672 #CJK UNIFIED IDEOGRAPH
+  {0xD5B7, 0x8F97}, //14673 #CJK UNIFIED IDEOGRAPH
+  {0xD5B8, 0x5D2D}, //14674 #CJK UNIFIED IDEOGRAPH
+  {0xD5B9, 0x5C55}, //14675 #CJK UNIFIED IDEOGRAPH
+  {0xD5BA, 0x8638}, //14676 #CJK UNIFIED IDEOGRAPH
+  {0xD5BB, 0x6808}, //14677 #CJK UNIFIED IDEOGRAPH
+  {0xD5BC, 0x5360}, //14678 #CJK UNIFIED IDEOGRAPH
+  {0xD5BD, 0x6218}, //14679 #CJK UNIFIED IDEOGRAPH
+  {0xD5BE, 0x7AD9}, //14680 #CJK UNIFIED IDEOGRAPH
+  {0xD5BF, 0x6E5B}, //14681 #CJK UNIFIED IDEOGRAPH
+  {0xD5C0, 0x7EFD}, //14682 #CJK UNIFIED IDEOGRAPH
+  {0xD5C1, 0x6A1F}, //14683 #CJK UNIFIED IDEOGRAPH
+  {0xD5C2, 0x7AE0}, //14684 #CJK UNIFIED IDEOGRAPH
+  {0xD5C3, 0x5F70}, //14685 #CJK UNIFIED IDEOGRAPH
+  {0xD5C4, 0x6F33}, //14686 #CJK UNIFIED IDEOGRAPH
+  {0xD5C5, 0x5F20}, //14687 #CJK UNIFIED IDEOGRAPH
+  {0xD5C6, 0x638C}, //14688 #CJK UNIFIED IDEOGRAPH
+  {0xD5C7, 0x6DA8}, //14689 #CJK UNIFIED IDEOGRAPH
+  {0xD5C8, 0x6756}, //14690 #CJK UNIFIED IDEOGRAPH
+  {0xD5C9, 0x4E08}, //14691 #CJK UNIFIED IDEOGRAPH
+  {0xD5CA, 0x5E10}, //14692 #CJK UNIFIED IDEOGRAPH
+  {0xD5CB, 0x8D26}, //14693 #CJK UNIFIED IDEOGRAPH
+  {0xD5CC, 0x4ED7}, //14694 #CJK UNIFIED IDEOGRAPH
+  {0xD5CD, 0x80C0}, //14695 #CJK UNIFIED IDEOGRAPH
+  {0xD5CE, 0x7634}, //14696 #CJK UNIFIED IDEOGRAPH
+  {0xD5CF, 0x969C}, //14697 #CJK UNIFIED IDEOGRAPH
+  {0xD5D0, 0x62DB}, //14698 #CJK UNIFIED IDEOGRAPH
+  {0xD5D1, 0x662D}, //14699 #CJK UNIFIED IDEOGRAPH
+  {0xD5D2, 0x627E}, //14700 #CJK UNIFIED IDEOGRAPH
+  {0xD5D3, 0x6CBC}, //14701 #CJK UNIFIED IDEOGRAPH
+  {0xD5D4, 0x8D75}, //14702 #CJK UNIFIED IDEOGRAPH
+  {0xD5D5, 0x7167}, //14703 #CJK UNIFIED IDEOGRAPH
+  {0xD5D6, 0x7F69}, //14704 #CJK UNIFIED IDEOGRAPH
+  {0xD5D7, 0x5146}, //14705 #CJK UNIFIED IDEOGRAPH
+  {0xD5D8, 0x8087}, //14706 #CJK UNIFIED IDEOGRAPH
+  {0xD5D9, 0x53EC}, //14707 #CJK UNIFIED IDEOGRAPH
+  {0xD5DA, 0x906E}, //14708 #CJK UNIFIED IDEOGRAPH
+  {0xD5DB, 0x6298}, //14709 #CJK UNIFIED IDEOGRAPH
+  {0xD5DC, 0x54F2}, //14710 #CJK UNIFIED IDEOGRAPH
+  {0xD5DD, 0x86F0}, //14711 #CJK UNIFIED IDEOGRAPH
+  {0xD5DE, 0x8F99}, //14712 #CJK UNIFIED IDEOGRAPH
+  {0xD5DF, 0x8005}, //14713 #CJK UNIFIED IDEOGRAPH
+  {0xD5E0, 0x9517}, //14714 #CJK UNIFIED IDEOGRAPH
+  {0xD5E1, 0x8517}, //14715 #CJK UNIFIED IDEOGRAPH
+  {0xD5E2, 0x8FD9}, //14716 #CJK UNIFIED IDEOGRAPH
+  {0xD5E3, 0x6D59}, //14717 #CJK UNIFIED IDEOGRAPH
+  {0xD5E4, 0x73CD}, //14718 #CJK UNIFIED IDEOGRAPH
+  {0xD5E5, 0x659F}, //14719 #CJK UNIFIED IDEOGRAPH
+  {0xD5E6, 0x771F}, //14720 #CJK UNIFIED IDEOGRAPH
+  {0xD5E7, 0x7504}, //14721 #CJK UNIFIED IDEOGRAPH
+  {0xD5E8, 0x7827}, //14722 #CJK UNIFIED IDEOGRAPH
+  {0xD5E9, 0x81FB}, //14723 #CJK UNIFIED IDEOGRAPH
+  {0xD5EA, 0x8D1E}, //14724 #CJK UNIFIED IDEOGRAPH
+  {0xD5EB, 0x9488}, //14725 #CJK UNIFIED IDEOGRAPH
+  {0xD5EC, 0x4FA6}, //14726 #CJK UNIFIED IDEOGRAPH
+  {0xD5ED, 0x6795}, //14727 #CJK UNIFIED IDEOGRAPH
+  {0xD5EE, 0x75B9}, //14728 #CJK UNIFIED IDEOGRAPH
+  {0xD5EF, 0x8BCA}, //14729 #CJK UNIFIED IDEOGRAPH
+  {0xD5F0, 0x9707}, //14730 #CJK UNIFIED IDEOGRAPH
+  {0xD5F1, 0x632F}, //14731 #CJK UNIFIED IDEOGRAPH
+  {0xD5F2, 0x9547}, //14732 #CJK UNIFIED IDEOGRAPH
+  {0xD5F3, 0x9635}, //14733 #CJK UNIFIED IDEOGRAPH
+  {0xD5F4, 0x84B8}, //14734 #CJK UNIFIED IDEOGRAPH
+  {0xD5F5, 0x6323}, //14735 #CJK UNIFIED IDEOGRAPH
+  {0xD5F6, 0x7741}, //14736 #CJK UNIFIED IDEOGRAPH
+  {0xD5F7, 0x5F81}, //14737 #CJK UNIFIED IDEOGRAPH
+  {0xD5F8, 0x72F0}, //14738 #CJK UNIFIED IDEOGRAPH
+  {0xD5F9, 0x4E89}, //14739 #CJK UNIFIED IDEOGRAPH
+  {0xD5FA, 0x6014}, //14740 #CJK UNIFIED IDEOGRAPH
+  {0xD5FB, 0x6574}, //14741 #CJK UNIFIED IDEOGRAPH
+  {0xD5FC, 0x62EF}, //14742 #CJK UNIFIED IDEOGRAPH
+  {0xD5FD, 0x6B63}, //14743 #CJK UNIFIED IDEOGRAPH
+  {0xD5FE, 0x653F}, //14744 #CJK UNIFIED IDEOGRAPH
+  {0xD640, 0x8AE4}, //14745 #CJK UNIFIED IDEOGRAPH
+  {0xD641, 0x8AE5}, //14746 #CJK UNIFIED IDEOGRAPH
+  {0xD642, 0x8AE6}, //14747 #CJK UNIFIED IDEOGRAPH
+  {0xD643, 0x8AE7}, //14748 #CJK UNIFIED IDEOGRAPH
+  {0xD644, 0x8AE8}, //14749 #CJK UNIFIED IDEOGRAPH
+  {0xD645, 0x8AE9}, //14750 #CJK UNIFIED IDEOGRAPH
+  {0xD646, 0x8AEA}, //14751 #CJK UNIFIED IDEOGRAPH
+  {0xD647, 0x8AEB}, //14752 #CJK UNIFIED IDEOGRAPH
+  {0xD648, 0x8AEC}, //14753 #CJK UNIFIED IDEOGRAPH
+  {0xD649, 0x8AED}, //14754 #CJK UNIFIED IDEOGRAPH
+  {0xD64A, 0x8AEE}, //14755 #CJK UNIFIED IDEOGRAPH
+  {0xD64B, 0x8AEF}, //14756 #CJK UNIFIED IDEOGRAPH
+  {0xD64C, 0x8AF0}, //14757 #CJK UNIFIED IDEOGRAPH
+  {0xD64D, 0x8AF1}, //14758 #CJK UNIFIED IDEOGRAPH
+  {0xD64E, 0x8AF2}, //14759 #CJK UNIFIED IDEOGRAPH
+  {0xD64F, 0x8AF3}, //14760 #CJK UNIFIED IDEOGRAPH
+  {0xD650, 0x8AF4}, //14761 #CJK UNIFIED IDEOGRAPH
+  {0xD651, 0x8AF5}, //14762 #CJK UNIFIED IDEOGRAPH
+  {0xD652, 0x8AF6}, //14763 #CJK UNIFIED IDEOGRAPH
+  {0xD653, 0x8AF7}, //14764 #CJK UNIFIED IDEOGRAPH
+  {0xD654, 0x8AF8}, //14765 #CJK UNIFIED IDEOGRAPH
+  {0xD655, 0x8AF9}, //14766 #CJK UNIFIED IDEOGRAPH
+  {0xD656, 0x8AFA}, //14767 #CJK UNIFIED IDEOGRAPH
+  {0xD657, 0x8AFB}, //14768 #CJK UNIFIED IDEOGRAPH
+  {0xD658, 0x8AFC}, //14769 #CJK UNIFIED IDEOGRAPH
+  {0xD659, 0x8AFD}, //14770 #CJK UNIFIED IDEOGRAPH
+  {0xD65A, 0x8AFE}, //14771 #CJK UNIFIED IDEOGRAPH
+  {0xD65B, 0x8AFF}, //14772 #CJK UNIFIED IDEOGRAPH
+  {0xD65C, 0x8B00}, //14773 #CJK UNIFIED IDEOGRAPH
+  {0xD65D, 0x8B01}, //14774 #CJK UNIFIED IDEOGRAPH
+  {0xD65E, 0x8B02}, //14775 #CJK UNIFIED IDEOGRAPH
+  {0xD65F, 0x8B03}, //14776 #CJK UNIFIED IDEOGRAPH
+  {0xD660, 0x8B04}, //14777 #CJK UNIFIED IDEOGRAPH
+  {0xD661, 0x8B05}, //14778 #CJK UNIFIED IDEOGRAPH
+  {0xD662, 0x8B06}, //14779 #CJK UNIFIED IDEOGRAPH
+  {0xD663, 0x8B08}, //14780 #CJK UNIFIED IDEOGRAPH
+  {0xD664, 0x8B09}, //14781 #CJK UNIFIED IDEOGRAPH
+  {0xD665, 0x8B0A}, //14782 #CJK UNIFIED IDEOGRAPH
+  {0xD666, 0x8B0B}, //14783 #CJK UNIFIED IDEOGRAPH
+  {0xD667, 0x8B0C}, //14784 #CJK UNIFIED IDEOGRAPH
+  {0xD668, 0x8B0D}, //14785 #CJK UNIFIED IDEOGRAPH
+  {0xD669, 0x8B0E}, //14786 #CJK UNIFIED IDEOGRAPH
+  {0xD66A, 0x8B0F}, //14787 #CJK UNIFIED IDEOGRAPH
+  {0xD66B, 0x8B10}, //14788 #CJK UNIFIED IDEOGRAPH
+  {0xD66C, 0x8B11}, //14789 #CJK UNIFIED IDEOGRAPH
+  {0xD66D, 0x8B12}, //14790 #CJK UNIFIED IDEOGRAPH
+  {0xD66E, 0x8B13}, //14791 #CJK UNIFIED IDEOGRAPH
+  {0xD66F, 0x8B14}, //14792 #CJK UNIFIED IDEOGRAPH
+  {0xD670, 0x8B15}, //14793 #CJK UNIFIED IDEOGRAPH
+  {0xD671, 0x8B16}, //14794 #CJK UNIFIED IDEOGRAPH
+  {0xD672, 0x8B17}, //14795 #CJK UNIFIED IDEOGRAPH
+  {0xD673, 0x8B18}, //14796 #CJK UNIFIED IDEOGRAPH
+  {0xD674, 0x8B19}, //14797 #CJK UNIFIED IDEOGRAPH
+  {0xD675, 0x8B1A}, //14798 #CJK UNIFIED IDEOGRAPH
+  {0xD676, 0x8B1B}, //14799 #CJK UNIFIED IDEOGRAPH
+  {0xD677, 0x8B1C}, //14800 #CJK UNIFIED IDEOGRAPH
+  {0xD678, 0x8B1D}, //14801 #CJK UNIFIED IDEOGRAPH
+  {0xD679, 0x8B1E}, //14802 #CJK UNIFIED IDEOGRAPH
+  {0xD67A, 0x8B1F}, //14803 #CJK UNIFIED IDEOGRAPH
+  {0xD67B, 0x8B20}, //14804 #CJK UNIFIED IDEOGRAPH
+  {0xD67C, 0x8B21}, //14805 #CJK UNIFIED IDEOGRAPH
+  {0xD67D, 0x8B22}, //14806 #CJK UNIFIED IDEOGRAPH
+  {0xD67E, 0x8B23}, //14807 #CJK UNIFIED IDEOGRAPH
+  {0xD680, 0x8B24}, //14808 #CJK UNIFIED IDEOGRAPH
+  {0xD681, 0x8B25}, //14809 #CJK UNIFIED IDEOGRAPH
+  {0xD682, 0x8B27}, //14810 #CJK UNIFIED IDEOGRAPH
+  {0xD683, 0x8B28}, //14811 #CJK UNIFIED IDEOGRAPH
+  {0xD684, 0x8B29}, //14812 #CJK UNIFIED IDEOGRAPH
+  {0xD685, 0x8B2A}, //14813 #CJK UNIFIED IDEOGRAPH
+  {0xD686, 0x8B2B}, //14814 #CJK UNIFIED IDEOGRAPH
+  {0xD687, 0x8B2C}, //14815 #CJK UNIFIED IDEOGRAPH
+  {0xD688, 0x8B2D}, //14816 #CJK UNIFIED IDEOGRAPH
+  {0xD689, 0x8B2E}, //14817 #CJK UNIFIED IDEOGRAPH
+  {0xD68A, 0x8B2F}, //14818 #CJK UNIFIED IDEOGRAPH
+  {0xD68B, 0x8B30}, //14819 #CJK UNIFIED IDEOGRAPH
+  {0xD68C, 0x8B31}, //14820 #CJK UNIFIED IDEOGRAPH
+  {0xD68D, 0x8B32}, //14821 #CJK UNIFIED IDEOGRAPH
+  {0xD68E, 0x8B33}, //14822 #CJK UNIFIED IDEOGRAPH
+  {0xD68F, 0x8B34}, //14823 #CJK UNIFIED IDEOGRAPH
+  {0xD690, 0x8B35}, //14824 #CJK UNIFIED IDEOGRAPH
+  {0xD691, 0x8B36}, //14825 #CJK UNIFIED IDEOGRAPH
+  {0xD692, 0x8B37}, //14826 #CJK UNIFIED IDEOGRAPH
+  {0xD693, 0x8B38}, //14827 #CJK UNIFIED IDEOGRAPH
+  {0xD694, 0x8B39}, //14828 #CJK UNIFIED IDEOGRAPH
+  {0xD695, 0x8B3A}, //14829 #CJK UNIFIED IDEOGRAPH
+  {0xD696, 0x8B3B}, //14830 #CJK UNIFIED IDEOGRAPH
+  {0xD697, 0x8B3C}, //14831 #CJK UNIFIED IDEOGRAPH
+  {0xD698, 0x8B3D}, //14832 #CJK UNIFIED IDEOGRAPH
+  {0xD699, 0x8B3E}, //14833 #CJK UNIFIED IDEOGRAPH
+  {0xD69A, 0x8B3F}, //14834 #CJK UNIFIED IDEOGRAPH
+  {0xD69B, 0x8B40}, //14835 #CJK UNIFIED IDEOGRAPH
+  {0xD69C, 0x8B41}, //14836 #CJK UNIFIED IDEOGRAPH
+  {0xD69D, 0x8B42}, //14837 #CJK UNIFIED IDEOGRAPH
+  {0xD69E, 0x8B43}, //14838 #CJK UNIFIED IDEOGRAPH
+  {0xD69F, 0x8B44}, //14839 #CJK UNIFIED IDEOGRAPH
+  {0xD6A0, 0x8B45}, //14840 #CJK UNIFIED IDEOGRAPH
+  {0xD6A1, 0x5E27}, //14841 #CJK UNIFIED IDEOGRAPH
+  {0xD6A2, 0x75C7}, //14842 #CJK UNIFIED IDEOGRAPH
+  {0xD6A3, 0x90D1}, //14843 #CJK UNIFIED IDEOGRAPH
+  {0xD6A4, 0x8BC1}, //14844 #CJK UNIFIED IDEOGRAPH
+  {0xD6A5, 0x829D}, //14845 #CJK UNIFIED IDEOGRAPH
+  {0xD6A6, 0x679D}, //14846 #CJK UNIFIED IDEOGRAPH
+  {0xD6A7, 0x652F}, //14847 #CJK UNIFIED IDEOGRAPH
+  {0xD6A8, 0x5431}, //14848 #CJK UNIFIED IDEOGRAPH
+  {0xD6A9, 0x8718}, //14849 #CJK UNIFIED IDEOGRAPH
+  {0xD6AA, 0x77E5}, //14850 #CJK UNIFIED IDEOGRAPH
+  {0xD6AB, 0x80A2}, //14851 #CJK UNIFIED IDEOGRAPH
+  {0xD6AC, 0x8102}, //14852 #CJK UNIFIED IDEOGRAPH
+  {0xD6AD, 0x6C41}, //14853 #CJK UNIFIED IDEOGRAPH
+  {0xD6AE, 0x4E4B}, //14854 #CJK UNIFIED IDEOGRAPH
+  {0xD6AF, 0x7EC7}, //14855 #CJK UNIFIED IDEOGRAPH
+  {0xD6B0, 0x804C}, //14856 #CJK UNIFIED IDEOGRAPH
+  {0xD6B1, 0x76F4}, //14857 #CJK UNIFIED IDEOGRAPH
+  {0xD6B2, 0x690D}, //14858 #CJK UNIFIED IDEOGRAPH
+  {0xD6B3, 0x6B96}, //14859 #CJK UNIFIED IDEOGRAPH
+  {0xD6B4, 0x6267}, //14860 #CJK UNIFIED IDEOGRAPH
+  {0xD6B5, 0x503C}, //14861 #CJK UNIFIED IDEOGRAPH
+  {0xD6B6, 0x4F84}, //14862 #CJK UNIFIED IDEOGRAPH
+  {0xD6B7, 0x5740}, //14863 #CJK UNIFIED IDEOGRAPH
+  {0xD6B8, 0x6307}, //14864 #CJK UNIFIED IDEOGRAPH
+  {0xD6B9, 0x6B62}, //14865 #CJK UNIFIED IDEOGRAPH
+  {0xD6BA, 0x8DBE}, //14866 #CJK UNIFIED IDEOGRAPH
+  {0xD6BB, 0x53EA}, //14867 #CJK UNIFIED IDEOGRAPH
+  {0xD6BC, 0x65E8}, //14868 #CJK UNIFIED IDEOGRAPH
+  {0xD6BD, 0x7EB8}, //14869 #CJK UNIFIED IDEOGRAPH
+  {0xD6BE, 0x5FD7}, //14870 #CJK UNIFIED IDEOGRAPH
+  {0xD6BF, 0x631A}, //14871 #CJK UNIFIED IDEOGRAPH
+  {0xD6C0, 0x63B7}, //14872 #CJK UNIFIED IDEOGRAPH
+  {0xD6C1, 0x81F3}, //14873 #CJK UNIFIED IDEOGRAPH
+  {0xD6C2, 0x81F4}, //14874 #CJK UNIFIED IDEOGRAPH
+  {0xD6C3, 0x7F6E}, //14875 #CJK UNIFIED IDEOGRAPH
+  {0xD6C4, 0x5E1C}, //14876 #CJK UNIFIED IDEOGRAPH
+  {0xD6C5, 0x5CD9}, //14877 #CJK UNIFIED IDEOGRAPH
+  {0xD6C6, 0x5236}, //14878 #CJK UNIFIED IDEOGRAPH
+  {0xD6C7, 0x667A}, //14879 #CJK UNIFIED IDEOGRAPH
+  {0xD6C8, 0x79E9}, //14880 #CJK UNIFIED IDEOGRAPH
+  {0xD6C9, 0x7A1A}, //14881 #CJK UNIFIED IDEOGRAPH
+  {0xD6CA, 0x8D28}, //14882 #CJK UNIFIED IDEOGRAPH
+  {0xD6CB, 0x7099}, //14883 #CJK UNIFIED IDEOGRAPH
+  {0xD6CC, 0x75D4}, //14884 #CJK UNIFIED IDEOGRAPH
+  {0xD6CD, 0x6EDE}, //14885 #CJK UNIFIED IDEOGRAPH
+  {0xD6CE, 0x6CBB}, //14886 #CJK UNIFIED IDEOGRAPH
+  {0xD6CF, 0x7A92}, //14887 #CJK UNIFIED IDEOGRAPH
+  {0xD6D0, 0x4E2D}, //14888 #CJK UNIFIED IDEOGRAPH
+  {0xD6D1, 0x76C5}, //14889 #CJK UNIFIED IDEOGRAPH
+  {0xD6D2, 0x5FE0}, //14890 #CJK UNIFIED IDEOGRAPH
+  {0xD6D3, 0x949F}, //14891 #CJK UNIFIED IDEOGRAPH
+  {0xD6D4, 0x8877}, //14892 #CJK UNIFIED IDEOGRAPH
+  {0xD6D5, 0x7EC8}, //14893 #CJK UNIFIED IDEOGRAPH
+  {0xD6D6, 0x79CD}, //14894 #CJK UNIFIED IDEOGRAPH
+  {0xD6D7, 0x80BF}, //14895 #CJK UNIFIED IDEOGRAPH
+  {0xD6D8, 0x91CD}, //14896 #CJK UNIFIED IDEOGRAPH
+  {0xD6D9, 0x4EF2}, //14897 #CJK UNIFIED IDEOGRAPH
+  {0xD6DA, 0x4F17}, //14898 #CJK UNIFIED IDEOGRAPH
+  {0xD6DB, 0x821F}, //14899 #CJK UNIFIED IDEOGRAPH
+  {0xD6DC, 0x5468}, //14900 #CJK UNIFIED IDEOGRAPH
+  {0xD6DD, 0x5DDE}, //14901 #CJK UNIFIED IDEOGRAPH
+  {0xD6DE, 0x6D32}, //14902 #CJK UNIFIED IDEOGRAPH
+  {0xD6DF, 0x8BCC}, //14903 #CJK UNIFIED IDEOGRAPH
+  {0xD6E0, 0x7CA5}, //14904 #CJK UNIFIED IDEOGRAPH
+  {0xD6E1, 0x8F74}, //14905 #CJK UNIFIED IDEOGRAPH
+  {0xD6E2, 0x8098}, //14906 #CJK UNIFIED IDEOGRAPH
+  {0xD6E3, 0x5E1A}, //14907 #CJK UNIFIED IDEOGRAPH
+  {0xD6E4, 0x5492}, //14908 #CJK UNIFIED IDEOGRAPH
+  {0xD6E5, 0x76B1}, //14909 #CJK UNIFIED IDEOGRAPH
+  {0xD6E6, 0x5B99}, //14910 #CJK UNIFIED IDEOGRAPH
+  {0xD6E7, 0x663C}, //14911 #CJK UNIFIED IDEOGRAPH
+  {0xD6E8, 0x9AA4}, //14912 #CJK UNIFIED IDEOGRAPH
+  {0xD6E9, 0x73E0}, //14913 #CJK UNIFIED IDEOGRAPH
+  {0xD6EA, 0x682A}, //14914 #CJK UNIFIED IDEOGRAPH
+  {0xD6EB, 0x86DB}, //14915 #CJK UNIFIED IDEOGRAPH
+  {0xD6EC, 0x6731}, //14916 #CJK UNIFIED IDEOGRAPH
+  {0xD6ED, 0x732A}, //14917 #CJK UNIFIED IDEOGRAPH
+  {0xD6EE, 0x8BF8}, //14918 #CJK UNIFIED IDEOGRAPH
+  {0xD6EF, 0x8BDB}, //14919 #CJK UNIFIED IDEOGRAPH
+  {0xD6F0, 0x9010}, //14920 #CJK UNIFIED IDEOGRAPH
+  {0xD6F1, 0x7AF9}, //14921 #CJK UNIFIED IDEOGRAPH
+  {0xD6F2, 0x70DB}, //14922 #CJK UNIFIED IDEOGRAPH
+  {0xD6F3, 0x716E}, //14923 #CJK UNIFIED IDEOGRAPH
+  {0xD6F4, 0x62C4}, //14924 #CJK UNIFIED IDEOGRAPH
+  {0xD6F5, 0x77A9}, //14925 #CJK UNIFIED IDEOGRAPH
+  {0xD6F6, 0x5631}, //14926 #CJK UNIFIED IDEOGRAPH
+  {0xD6F7, 0x4E3B}, //14927 #CJK UNIFIED IDEOGRAPH
+  {0xD6F8, 0x8457}, //14928 #CJK UNIFIED IDEOGRAPH
+  {0xD6F9, 0x67F1}, //14929 #CJK UNIFIED IDEOGRAPH
+  {0xD6FA, 0x52A9}, //14930 #CJK UNIFIED IDEOGRAPH
+  {0xD6FB, 0x86C0}, //14931 #CJK UNIFIED IDEOGRAPH
+  {0xD6FC, 0x8D2E}, //14932 #CJK UNIFIED IDEOGRAPH
+  {0xD6FD, 0x94F8}, //14933 #CJK UNIFIED IDEOGRAPH
+  {0xD6FE, 0x7B51}, //14934 #CJK UNIFIED IDEOGRAPH
+  {0xD740, 0x8B46}, //14935 #CJK UNIFIED IDEOGRAPH
+  {0xD741, 0x8B47}, //14936 #CJK UNIFIED IDEOGRAPH
+  {0xD742, 0x8B48}, //14937 #CJK UNIFIED IDEOGRAPH
+  {0xD743, 0x8B49}, //14938 #CJK UNIFIED IDEOGRAPH
+  {0xD744, 0x8B4A}, //14939 #CJK UNIFIED IDEOGRAPH
+  {0xD745, 0x8B4B}, //14940 #CJK UNIFIED IDEOGRAPH
+  {0xD746, 0x8B4C}, //14941 #CJK UNIFIED IDEOGRAPH
+  {0xD747, 0x8B4D}, //14942 #CJK UNIFIED IDEOGRAPH
+  {0xD748, 0x8B4E}, //14943 #CJK UNIFIED IDEOGRAPH
+  {0xD749, 0x8B4F}, //14944 #CJK UNIFIED IDEOGRAPH
+  {0xD74A, 0x8B50}, //14945 #CJK UNIFIED IDEOGRAPH
+  {0xD74B, 0x8B51}, //14946 #CJK UNIFIED IDEOGRAPH
+  {0xD74C, 0x8B52}, //14947 #CJK UNIFIED IDEOGRAPH
+  {0xD74D, 0x8B53}, //14948 #CJK UNIFIED IDEOGRAPH
+  {0xD74E, 0x8B54}, //14949 #CJK UNIFIED IDEOGRAPH
+  {0xD74F, 0x8B55}, //14950 #CJK UNIFIED IDEOGRAPH
+  {0xD750, 0x8B56}, //14951 #CJK UNIFIED IDEOGRAPH
+  {0xD751, 0x8B57}, //14952 #CJK UNIFIED IDEOGRAPH
+  {0xD752, 0x8B58}, //14953 #CJK UNIFIED IDEOGRAPH
+  {0xD753, 0x8B59}, //14954 #CJK UNIFIED IDEOGRAPH
+  {0xD754, 0x8B5A}, //14955 #CJK UNIFIED IDEOGRAPH
+  {0xD755, 0x8B5B}, //14956 #CJK UNIFIED IDEOGRAPH
+  {0xD756, 0x8B5C}, //14957 #CJK UNIFIED IDEOGRAPH
+  {0xD757, 0x8B5D}, //14958 #CJK UNIFIED IDEOGRAPH
+  {0xD758, 0x8B5E}, //14959 #CJK UNIFIED IDEOGRAPH
+  {0xD759, 0x8B5F}, //14960 #CJK UNIFIED IDEOGRAPH
+  {0xD75A, 0x8B60}, //14961 #CJK UNIFIED IDEOGRAPH
+  {0xD75B, 0x8B61}, //14962 #CJK UNIFIED IDEOGRAPH
+  {0xD75C, 0x8B62}, //14963 #CJK UNIFIED IDEOGRAPH
+  {0xD75D, 0x8B63}, //14964 #CJK UNIFIED IDEOGRAPH
+  {0xD75E, 0x8B64}, //14965 #CJK UNIFIED IDEOGRAPH
+  {0xD75F, 0x8B65}, //14966 #CJK UNIFIED IDEOGRAPH
+  {0xD760, 0x8B67}, //14967 #CJK UNIFIED IDEOGRAPH
+  {0xD761, 0x8B68}, //14968 #CJK UNIFIED IDEOGRAPH
+  {0xD762, 0x8B69}, //14969 #CJK UNIFIED IDEOGRAPH
+  {0xD763, 0x8B6A}, //14970 #CJK UNIFIED IDEOGRAPH
+  {0xD764, 0x8B6B}, //14971 #CJK UNIFIED IDEOGRAPH
+  {0xD765, 0x8B6D}, //14972 #CJK UNIFIED IDEOGRAPH
+  {0xD766, 0x8B6E}, //14973 #CJK UNIFIED IDEOGRAPH
+  {0xD767, 0x8B6F}, //14974 #CJK UNIFIED IDEOGRAPH
+  {0xD768, 0x8B70}, //14975 #CJK UNIFIED IDEOGRAPH
+  {0xD769, 0x8B71}, //14976 #CJK UNIFIED IDEOGRAPH
+  {0xD76A, 0x8B72}, //14977 #CJK UNIFIED IDEOGRAPH
+  {0xD76B, 0x8B73}, //14978 #CJK UNIFIED IDEOGRAPH
+  {0xD76C, 0x8B74}, //14979 #CJK UNIFIED IDEOGRAPH
+  {0xD76D, 0x8B75}, //14980 #CJK UNIFIED IDEOGRAPH
+  {0xD76E, 0x8B76}, //14981 #CJK UNIFIED IDEOGRAPH
+  {0xD76F, 0x8B77}, //14982 #CJK UNIFIED IDEOGRAPH
+  {0xD770, 0x8B78}, //14983 #CJK UNIFIED IDEOGRAPH
+  {0xD771, 0x8B79}, //14984 #CJK UNIFIED IDEOGRAPH
+  {0xD772, 0x8B7A}, //14985 #CJK UNIFIED IDEOGRAPH
+  {0xD773, 0x8B7B}, //14986 #CJK UNIFIED IDEOGRAPH
+  {0xD774, 0x8B7C}, //14987 #CJK UNIFIED IDEOGRAPH
+  {0xD775, 0x8B7D}, //14988 #CJK UNIFIED IDEOGRAPH
+  {0xD776, 0x8B7E}, //14989 #CJK UNIFIED IDEOGRAPH
+  {0xD777, 0x8B7F}, //14990 #CJK UNIFIED IDEOGRAPH
+  {0xD778, 0x8B80}, //14991 #CJK UNIFIED IDEOGRAPH
+  {0xD779, 0x8B81}, //14992 #CJK UNIFIED IDEOGRAPH
+  {0xD77A, 0x8B82}, //14993 #CJK UNIFIED IDEOGRAPH
+  {0xD77B, 0x8B83}, //14994 #CJK UNIFIED IDEOGRAPH
+  {0xD77C, 0x8B84}, //14995 #CJK UNIFIED IDEOGRAPH
+  {0xD77D, 0x8B85}, //14996 #CJK UNIFIED IDEOGRAPH
+  {0xD77E, 0x8B86}, //14997 #CJK UNIFIED IDEOGRAPH
+  {0xD780, 0x8B87}, //14998 #CJK UNIFIED IDEOGRAPH
+  {0xD781, 0x8B88}, //14999 #CJK UNIFIED IDEOGRAPH
+  {0xD782, 0x8B89}, //15000 #CJK UNIFIED IDEOGRAPH
+  {0xD783, 0x8B8A}, //15001 #CJK UNIFIED IDEOGRAPH
+  {0xD784, 0x8B8B}, //15002 #CJK UNIFIED IDEOGRAPH
+  {0xD785, 0x8B8C}, //15003 #CJK UNIFIED IDEOGRAPH
+  {0xD786, 0x8B8D}, //15004 #CJK UNIFIED IDEOGRAPH
+  {0xD787, 0x8B8E}, //15005 #CJK UNIFIED IDEOGRAPH
+  {0xD788, 0x8B8F}, //15006 #CJK UNIFIED IDEOGRAPH
+  {0xD789, 0x8B90}, //15007 #CJK UNIFIED IDEOGRAPH
+  {0xD78A, 0x8B91}, //15008 #CJK UNIFIED IDEOGRAPH
+  {0xD78B, 0x8B92}, //15009 #CJK UNIFIED IDEOGRAPH
+  {0xD78C, 0x8B93}, //15010 #CJK UNIFIED IDEOGRAPH
+  {0xD78D, 0x8B94}, //15011 #CJK UNIFIED IDEOGRAPH
+  {0xD78E, 0x8B95}, //15012 #CJK UNIFIED IDEOGRAPH
+  {0xD78F, 0x8B96}, //15013 #CJK UNIFIED IDEOGRAPH
+  {0xD790, 0x8B97}, //15014 #CJK UNIFIED IDEOGRAPH
+  {0xD791, 0x8B98}, //15015 #CJK UNIFIED IDEOGRAPH
+  {0xD792, 0x8B99}, //15016 #CJK UNIFIED IDEOGRAPH
+  {0xD793, 0x8B9A}, //15017 #CJK UNIFIED IDEOGRAPH
+  {0xD794, 0x8B9B}, //15018 #CJK UNIFIED IDEOGRAPH
+  {0xD795, 0x8B9C}, //15019 #CJK UNIFIED IDEOGRAPH
+  {0xD796, 0x8B9D}, //15020 #CJK UNIFIED IDEOGRAPH
+  {0xD797, 0x8B9E}, //15021 #CJK UNIFIED IDEOGRAPH
+  {0xD798, 0x8B9F}, //15022 #CJK UNIFIED IDEOGRAPH
+  {0xD799, 0x8BAC}, //15023 #CJK UNIFIED IDEOGRAPH
+  {0xD79A, 0x8BB1}, //15024 #CJK UNIFIED IDEOGRAPH
+  {0xD79B, 0x8BBB}, //15025 #CJK UNIFIED IDEOGRAPH
+  {0xD79C, 0x8BC7}, //15026 #CJK UNIFIED IDEOGRAPH
+  {0xD79D, 0x8BD0}, //15027 #CJK UNIFIED IDEOGRAPH
+  {0xD79E, 0x8BEA}, //15028 #CJK UNIFIED IDEOGRAPH
+  {0xD79F, 0x8C09}, //15029 #CJK UNIFIED IDEOGRAPH
+  {0xD7A0, 0x8C1E}, //15030 #CJK UNIFIED IDEOGRAPH
+  {0xD7A1, 0x4F4F}, //15031 #CJK UNIFIED IDEOGRAPH
+  {0xD7A2, 0x6CE8}, //15032 #CJK UNIFIED IDEOGRAPH
+  {0xD7A3, 0x795D}, //15033 #CJK UNIFIED IDEOGRAPH
+  {0xD7A4, 0x9A7B}, //15034 #CJK UNIFIED IDEOGRAPH
+  {0xD7A5, 0x6293}, //15035 #CJK UNIFIED IDEOGRAPH
+  {0xD7A6, 0x722A}, //15036 #CJK UNIFIED IDEOGRAPH
+  {0xD7A7, 0x62FD}, //15037 #CJK UNIFIED IDEOGRAPH
+  {0xD7A8, 0x4E13}, //15038 #CJK UNIFIED IDEOGRAPH
+  {0xD7A9, 0x7816}, //15039 #CJK UNIFIED IDEOGRAPH
+  {0xD7AA, 0x8F6C}, //15040 #CJK UNIFIED IDEOGRAPH
+  {0xD7AB, 0x64B0}, //15041 #CJK UNIFIED IDEOGRAPH
+  {0xD7AC, 0x8D5A}, //15042 #CJK UNIFIED IDEOGRAPH
+  {0xD7AD, 0x7BC6}, //15043 #CJK UNIFIED IDEOGRAPH
+  {0xD7AE, 0x6869}, //15044 #CJK UNIFIED IDEOGRAPH
+  {0xD7AF, 0x5E84}, //15045 #CJK UNIFIED IDEOGRAPH
+  {0xD7B0, 0x88C5}, //15046 #CJK UNIFIED IDEOGRAPH
+  {0xD7B1, 0x5986}, //15047 #CJK UNIFIED IDEOGRAPH
+  {0xD7B2, 0x649E}, //15048 #CJK UNIFIED IDEOGRAPH
+  {0xD7B3, 0x58EE}, //15049 #CJK UNIFIED IDEOGRAPH
+  {0xD7B4, 0x72B6}, //15050 #CJK UNIFIED IDEOGRAPH
+  {0xD7B5, 0x690E}, //15051 #CJK UNIFIED IDEOGRAPH
+  {0xD7B6, 0x9525}, //15052 #CJK UNIFIED IDEOGRAPH
+  {0xD7B7, 0x8FFD}, //15053 #CJK UNIFIED IDEOGRAPH
+  {0xD7B8, 0x8D58}, //15054 #CJK UNIFIED IDEOGRAPH
+  {0xD7B9, 0x5760}, //15055 #CJK UNIFIED IDEOGRAPH
+  {0xD7BA, 0x7F00}, //15056 #CJK UNIFIED IDEOGRAPH
+  {0xD7BB, 0x8C06}, //15057 #CJK UNIFIED IDEOGRAPH
+  {0xD7BC, 0x51C6}, //15058 #CJK UNIFIED IDEOGRAPH
+  {0xD7BD, 0x6349}, //15059 #CJK UNIFIED IDEOGRAPH
+  {0xD7BE, 0x62D9}, //15060 #CJK UNIFIED IDEOGRAPH
+  {0xD7BF, 0x5353}, //15061 #CJK UNIFIED IDEOGRAPH
+  {0xD7C0, 0x684C}, //15062 #CJK UNIFIED IDEOGRAPH
+  {0xD7C1, 0x7422}, //15063 #CJK UNIFIED IDEOGRAPH
+  {0xD7C2, 0x8301}, //15064 #CJK UNIFIED IDEOGRAPH
+  {0xD7C3, 0x914C}, //15065 #CJK UNIFIED IDEOGRAPH
+  {0xD7C4, 0x5544}, //15066 #CJK UNIFIED IDEOGRAPH
+  {0xD7C5, 0x7740}, //15067 #CJK UNIFIED IDEOGRAPH
+  {0xD7C6, 0x707C}, //15068 #CJK UNIFIED IDEOGRAPH
+  {0xD7C7, 0x6D4A}, //15069 #CJK UNIFIED IDEOGRAPH
+  {0xD7C8, 0x5179}, //15070 #CJK UNIFIED IDEOGRAPH
+  {0xD7C9, 0x54A8}, //15071 #CJK UNIFIED IDEOGRAPH
+  {0xD7CA, 0x8D44}, //15072 #CJK UNIFIED IDEOGRAPH
+  {0xD7CB, 0x59FF}, //15073 #CJK UNIFIED IDEOGRAPH
+  {0xD7CC, 0x6ECB}, //15074 #CJK UNIFIED IDEOGRAPH
+  {0xD7CD, 0x6DC4}, //15075 #CJK UNIFIED IDEOGRAPH
+  {0xD7CE, 0x5B5C}, //15076 #CJK UNIFIED IDEOGRAPH
+  {0xD7CF, 0x7D2B}, //15077 #CJK UNIFIED IDEOGRAPH
+  {0xD7D0, 0x4ED4}, //15078 #CJK UNIFIED IDEOGRAPH
+  {0xD7D1, 0x7C7D}, //15079 #CJK UNIFIED IDEOGRAPH
+  {0xD7D2, 0x6ED3}, //15080 #CJK UNIFIED IDEOGRAPH
+  {0xD7D3, 0x5B50}, //15081 #CJK UNIFIED IDEOGRAPH
+  {0xD7D4, 0x81EA}, //15082 #CJK UNIFIED IDEOGRAPH
+  {0xD7D5, 0x6E0D}, //15083 #CJK UNIFIED IDEOGRAPH
+  {0xD7D6, 0x5B57}, //15084 #CJK UNIFIED IDEOGRAPH
+  {0xD7D7, 0x9B03}, //15085 #CJK UNIFIED IDEOGRAPH
+  {0xD7D8, 0x68D5}, //15086 #CJK UNIFIED IDEOGRAPH
+  {0xD7D9, 0x8E2A}, //15087 #CJK UNIFIED IDEOGRAPH
+  {0xD7DA, 0x5B97}, //15088 #CJK UNIFIED IDEOGRAPH
+  {0xD7DB, 0x7EFC}, //15089 #CJK UNIFIED IDEOGRAPH
+  {0xD7DC, 0x603B}, //15090 #CJK UNIFIED IDEOGRAPH
+  {0xD7DD, 0x7EB5}, //15091 #CJK UNIFIED IDEOGRAPH
+  {0xD7DE, 0x90B9}, //15092 #CJK UNIFIED IDEOGRAPH
+  {0xD7DF, 0x8D70}, //15093 #CJK UNIFIED IDEOGRAPH
+  {0xD7E0, 0x594F}, //15094 #CJK UNIFIED IDEOGRAPH
+  {0xD7E1, 0x63CD}, //15095 #CJK UNIFIED IDEOGRAPH
+  {0xD7E2, 0x79DF}, //15096 #CJK UNIFIED IDEOGRAPH
+  {0xD7E3, 0x8DB3}, //15097 #CJK UNIFIED IDEOGRAPH
+  {0xD7E4, 0x5352}, //15098 #CJK UNIFIED IDEOGRAPH
+  {0xD7E5, 0x65CF}, //15099 #CJK UNIFIED IDEOGRAPH
+  {0xD7E6, 0x7956}, //15100 #CJK UNIFIED IDEOGRAPH
+  {0xD7E7, 0x8BC5}, //15101 #CJK UNIFIED IDEOGRAPH
+  {0xD7E8, 0x963B}, //15102 #CJK UNIFIED IDEOGRAPH
+  {0xD7E9, 0x7EC4}, //15103 #CJK UNIFIED IDEOGRAPH
+  {0xD7EA, 0x94BB}, //15104 #CJK UNIFIED IDEOGRAPH
+  {0xD7EB, 0x7E82}, //15105 #CJK UNIFIED IDEOGRAPH
+  {0xD7EC, 0x5634}, //15106 #CJK UNIFIED IDEOGRAPH
+  {0xD7ED, 0x9189}, //15107 #CJK UNIFIED IDEOGRAPH
+  {0xD7EE, 0x6700}, //15108 #CJK UNIFIED IDEOGRAPH
+  {0xD7EF, 0x7F6A}, //15109 #CJK UNIFIED IDEOGRAPH
+  {0xD7F0, 0x5C0A}, //15110 #CJK UNIFIED IDEOGRAPH
+  {0xD7F1, 0x9075}, //15111 #CJK UNIFIED IDEOGRAPH
+  {0xD7F2, 0x6628}, //15112 #CJK UNIFIED IDEOGRAPH
+  {0xD7F3, 0x5DE6}, //15113 #CJK UNIFIED IDEOGRAPH
+  {0xD7F4, 0x4F50}, //15114 #CJK UNIFIED IDEOGRAPH
+  {0xD7F5, 0x67DE}, //15115 #CJK UNIFIED IDEOGRAPH
+  {0xD7F6, 0x505A}, //15116 #CJK UNIFIED IDEOGRAPH
+  {0xD7F7, 0x4F5C}, //15117 #CJK UNIFIED IDEOGRAPH
+  {0xD7F8, 0x5750}, //15118 #CJK UNIFIED IDEOGRAPH
+  {0xD7F9, 0x5EA7}, //15119 #CJK UNIFIED IDEOGRAPH
+  {0xD840, 0x8C38}, //15120 #CJK UNIFIED IDEOGRAPH
+  {0xD841, 0x8C39}, //15121 #CJK UNIFIED IDEOGRAPH
+  {0xD842, 0x8C3A}, //15122 #CJK UNIFIED IDEOGRAPH
+  {0xD843, 0x8C3B}, //15123 #CJK UNIFIED IDEOGRAPH
+  {0xD844, 0x8C3C}, //15124 #CJK UNIFIED IDEOGRAPH
+  {0xD845, 0x8C3D}, //15125 #CJK UNIFIED IDEOGRAPH
+  {0xD846, 0x8C3E}, //15126 #CJK UNIFIED IDEOGRAPH
+  {0xD847, 0x8C3F}, //15127 #CJK UNIFIED IDEOGRAPH
+  {0xD848, 0x8C40}, //15128 #CJK UNIFIED IDEOGRAPH
+  {0xD849, 0x8C42}, //15129 #CJK UNIFIED IDEOGRAPH
+  {0xD84A, 0x8C43}, //15130 #CJK UNIFIED IDEOGRAPH
+  {0xD84B, 0x8C44}, //15131 #CJK UNIFIED IDEOGRAPH
+  {0xD84C, 0x8C45}, //15132 #CJK UNIFIED IDEOGRAPH
+  {0xD84D, 0x8C48}, //15133 #CJK UNIFIED IDEOGRAPH
+  {0xD84E, 0x8C4A}, //15134 #CJK UNIFIED IDEOGRAPH
+  {0xD84F, 0x8C4B}, //15135 #CJK UNIFIED IDEOGRAPH
+  {0xD850, 0x8C4D}, //15136 #CJK UNIFIED IDEOGRAPH
+  {0xD851, 0x8C4E}, //15137 #CJK UNIFIED IDEOGRAPH
+  {0xD852, 0x8C4F}, //15138 #CJK UNIFIED IDEOGRAPH
+  {0xD853, 0x8C50}, //15139 #CJK UNIFIED IDEOGRAPH
+  {0xD854, 0x8C51}, //15140 #CJK UNIFIED IDEOGRAPH
+  {0xD855, 0x8C52}, //15141 #CJK UNIFIED IDEOGRAPH
+  {0xD856, 0x8C53}, //15142 #CJK UNIFIED IDEOGRAPH
+  {0xD857, 0x8C54}, //15143 #CJK UNIFIED IDEOGRAPH
+  {0xD858, 0x8C56}, //15144 #CJK UNIFIED IDEOGRAPH
+  {0xD859, 0x8C57}, //15145 #CJK UNIFIED IDEOGRAPH
+  {0xD85A, 0x8C58}, //15146 #CJK UNIFIED IDEOGRAPH
+  {0xD85B, 0x8C59}, //15147 #CJK UNIFIED IDEOGRAPH
+  {0xD85C, 0x8C5B}, //15148 #CJK UNIFIED IDEOGRAPH
+  {0xD85D, 0x8C5C}, //15149 #CJK UNIFIED IDEOGRAPH
+  {0xD85E, 0x8C5D}, //15150 #CJK UNIFIED IDEOGRAPH
+  {0xD85F, 0x8C5E}, //15151 #CJK UNIFIED IDEOGRAPH
+  {0xD860, 0x8C5F}, //15152 #CJK UNIFIED IDEOGRAPH
+  {0xD861, 0x8C60}, //15153 #CJK UNIFIED IDEOGRAPH
+  {0xD862, 0x8C63}, //15154 #CJK UNIFIED IDEOGRAPH
+  {0xD863, 0x8C64}, //15155 #CJK UNIFIED IDEOGRAPH
+  {0xD864, 0x8C65}, //15156 #CJK UNIFIED IDEOGRAPH
+  {0xD865, 0x8C66}, //15157 #CJK UNIFIED IDEOGRAPH
+  {0xD866, 0x8C67}, //15158 #CJK UNIFIED IDEOGRAPH
+  {0xD867, 0x8C68}, //15159 #CJK UNIFIED IDEOGRAPH
+  {0xD868, 0x8C69}, //15160 #CJK UNIFIED IDEOGRAPH
+  {0xD869, 0x8C6C}, //15161 #CJK UNIFIED IDEOGRAPH
+  {0xD86A, 0x8C6D}, //15162 #CJK UNIFIED IDEOGRAPH
+  {0xD86B, 0x8C6E}, //15163 #CJK UNIFIED IDEOGRAPH
+  {0xD86C, 0x8C6F}, //15164 #CJK UNIFIED IDEOGRAPH
+  {0xD86D, 0x8C70}, //15165 #CJK UNIFIED IDEOGRAPH
+  {0xD86E, 0x8C71}, //15166 #CJK UNIFIED IDEOGRAPH
+  {0xD86F, 0x8C72}, //15167 #CJK UNIFIED IDEOGRAPH
+  {0xD870, 0x8C74}, //15168 #CJK UNIFIED IDEOGRAPH
+  {0xD871, 0x8C75}, //15169 #CJK UNIFIED IDEOGRAPH
+  {0xD872, 0x8C76}, //15170 #CJK UNIFIED IDEOGRAPH
+  {0xD873, 0x8C77}, //15171 #CJK UNIFIED IDEOGRAPH
+  {0xD874, 0x8C7B}, //15172 #CJK UNIFIED IDEOGRAPH
+  {0xD875, 0x8C7C}, //15173 #CJK UNIFIED IDEOGRAPH
+  {0xD876, 0x8C7D}, //15174 #CJK UNIFIED IDEOGRAPH
+  {0xD877, 0x8C7E}, //15175 #CJK UNIFIED IDEOGRAPH
+  {0xD878, 0x8C7F}, //15176 #CJK UNIFIED IDEOGRAPH
+  {0xD879, 0x8C80}, //15177 #CJK UNIFIED IDEOGRAPH
+  {0xD87A, 0x8C81}, //15178 #CJK UNIFIED IDEOGRAPH
+  {0xD87B, 0x8C83}, //15179 #CJK UNIFIED IDEOGRAPH
+  {0xD87C, 0x8C84}, //15180 #CJK UNIFIED IDEOGRAPH
+  {0xD87D, 0x8C86}, //15181 #CJK UNIFIED IDEOGRAPH
+  {0xD87E, 0x8C87}, //15182 #CJK UNIFIED IDEOGRAPH
+  {0xD880, 0x8C88}, //15183 #CJK UNIFIED IDEOGRAPH
+  {0xD881, 0x8C8B}, //15184 #CJK UNIFIED IDEOGRAPH
+  {0xD882, 0x8C8D}, //15185 #CJK UNIFIED IDEOGRAPH
+  {0xD883, 0x8C8E}, //15186 #CJK UNIFIED IDEOGRAPH
+  {0xD884, 0x8C8F}, //15187 #CJK UNIFIED IDEOGRAPH
+  {0xD885, 0x8C90}, //15188 #CJK UNIFIED IDEOGRAPH
+  {0xD886, 0x8C91}, //15189 #CJK UNIFIED IDEOGRAPH
+  {0xD887, 0x8C92}, //15190 #CJK UNIFIED IDEOGRAPH
+  {0xD888, 0x8C93}, //15191 #CJK UNIFIED IDEOGRAPH
+  {0xD889, 0x8C95}, //15192 #CJK UNIFIED IDEOGRAPH
+  {0xD88A, 0x8C96}, //15193 #CJK UNIFIED IDEOGRAPH
+  {0xD88B, 0x8C97}, //15194 #CJK UNIFIED IDEOGRAPH
+  {0xD88C, 0x8C99}, //15195 #CJK UNIFIED IDEOGRAPH
+  {0xD88D, 0x8C9A}, //15196 #CJK UNIFIED IDEOGRAPH
+  {0xD88E, 0x8C9B}, //15197 #CJK UNIFIED IDEOGRAPH
+  {0xD88F, 0x8C9C}, //15198 #CJK UNIFIED IDEOGRAPH
+  {0xD890, 0x8C9D}, //15199 #CJK UNIFIED IDEOGRAPH
+  {0xD891, 0x8C9E}, //15200 #CJK UNIFIED IDEOGRAPH
+  {0xD892, 0x8C9F}, //15201 #CJK UNIFIED IDEOGRAPH
+  {0xD893, 0x8CA0}, //15202 #CJK UNIFIED IDEOGRAPH
+  {0xD894, 0x8CA1}, //15203 #CJK UNIFIED IDEOGRAPH
+  {0xD895, 0x8CA2}, //15204 #CJK UNIFIED IDEOGRAPH
+  {0xD896, 0x8CA3}, //15205 #CJK UNIFIED IDEOGRAPH
+  {0xD897, 0x8CA4}, //15206 #CJK UNIFIED IDEOGRAPH
+  {0xD898, 0x8CA5}, //15207 #CJK UNIFIED IDEOGRAPH
+  {0xD899, 0x8CA6}, //15208 #CJK UNIFIED IDEOGRAPH
+  {0xD89A, 0x8CA7}, //15209 #CJK UNIFIED IDEOGRAPH
+  {0xD89B, 0x8CA8}, //15210 #CJK UNIFIED IDEOGRAPH
+  {0xD89C, 0x8CA9}, //15211 #CJK UNIFIED IDEOGRAPH
+  {0xD89D, 0x8CAA}, //15212 #CJK UNIFIED IDEOGRAPH
+  {0xD89E, 0x8CAB}, //15213 #CJK UNIFIED IDEOGRAPH
+  {0xD89F, 0x8CAC}, //15214 #CJK UNIFIED IDEOGRAPH
+  {0xD8A0, 0x8CAD}, //15215 #CJK UNIFIED IDEOGRAPH
+  {0xD8A1, 0x4E8D}, //15216 #CJK UNIFIED IDEOGRAPH
+  {0xD8A2, 0x4E0C}, //15217 #CJK UNIFIED IDEOGRAPH
+  {0xD8A3, 0x5140}, //15218 #CJK UNIFIED IDEOGRAPH
+  {0xD8A4, 0x4E10}, //15219 #CJK UNIFIED IDEOGRAPH
+  {0xD8A5, 0x5EFF}, //15220 #CJK UNIFIED IDEOGRAPH
+  {0xD8A6, 0x5345}, //15221 #CJK UNIFIED IDEOGRAPH
+  {0xD8A7, 0x4E15}, //15222 #CJK UNIFIED IDEOGRAPH
+  {0xD8A8, 0x4E98}, //15223 #CJK UNIFIED IDEOGRAPH
+  {0xD8A9, 0x4E1E}, //15224 #CJK UNIFIED IDEOGRAPH
+  {0xD8AA, 0x9B32}, //15225 #CJK UNIFIED IDEOGRAPH
+  {0xD8AB, 0x5B6C}, //15226 #CJK UNIFIED IDEOGRAPH
+  {0xD8AC, 0x5669}, //15227 #CJK UNIFIED IDEOGRAPH
+  {0xD8AD, 0x4E28}, //15228 #CJK UNIFIED IDEOGRAPH
+  {0xD8AE, 0x79BA}, //15229 #CJK UNIFIED IDEOGRAPH
+  {0xD8AF, 0x4E3F}, //15230 #CJK UNIFIED IDEOGRAPH
+  {0xD8B0, 0x5315}, //15231 #CJK UNIFIED IDEOGRAPH
+  {0xD8B1, 0x4E47}, //15232 #CJK UNIFIED IDEOGRAPH
+  {0xD8B2, 0x592D}, //15233 #CJK UNIFIED IDEOGRAPH
+  {0xD8B3, 0x723B}, //15234 #CJK UNIFIED IDEOGRAPH
+  {0xD8B4, 0x536E}, //15235 #CJK UNIFIED IDEOGRAPH
+  {0xD8B5, 0x6C10}, //15236 #CJK UNIFIED IDEOGRAPH
+  {0xD8B6, 0x56DF}, //15237 #CJK UNIFIED IDEOGRAPH
+  {0xD8B7, 0x80E4}, //15238 #CJK UNIFIED IDEOGRAPH
+  {0xD8B8, 0x9997}, //15239 #CJK UNIFIED IDEOGRAPH
+  {0xD8B9, 0x6BD3}, //15240 #CJK UNIFIED IDEOGRAPH
+  {0xD8BA, 0x777E}, //15241 #CJK UNIFIED IDEOGRAPH
+  {0xD8BB, 0x9F17}, //15242 #CJK UNIFIED IDEOGRAPH
+  {0xD8BC, 0x4E36}, //15243 #CJK UNIFIED IDEOGRAPH
+  {0xD8BD, 0x4E9F}, //15244 #CJK UNIFIED IDEOGRAPH
+  {0xD8BE, 0x9F10}, //15245 #CJK UNIFIED IDEOGRAPH
+  {0xD8BF, 0x4E5C}, //15246 #CJK UNIFIED IDEOGRAPH
+  {0xD8C0, 0x4E69}, //15247 #CJK UNIFIED IDEOGRAPH
+  {0xD8C1, 0x4E93}, //15248 #CJK UNIFIED IDEOGRAPH
+  {0xD8C2, 0x8288}, //15249 #CJK UNIFIED IDEOGRAPH
+  {0xD8C3, 0x5B5B}, //15250 #CJK UNIFIED IDEOGRAPH
+  {0xD8C4, 0x556C}, //15251 #CJK UNIFIED IDEOGRAPH
+  {0xD8C5, 0x560F}, //15252 #CJK UNIFIED IDEOGRAPH
+  {0xD8C6, 0x4EC4}, //15253 #CJK UNIFIED IDEOGRAPH
+  {0xD8C7, 0x538D}, //15254 #CJK UNIFIED IDEOGRAPH
+  {0xD8C8, 0x539D}, //15255 #CJK UNIFIED IDEOGRAPH
+  {0xD8C9, 0x53A3}, //15256 #CJK UNIFIED IDEOGRAPH
+  {0xD8CA, 0x53A5}, //15257 #CJK UNIFIED IDEOGRAPH
+  {0xD8CB, 0x53AE}, //15258 #CJK UNIFIED IDEOGRAPH
+  {0xD8CC, 0x9765}, //15259 #CJK UNIFIED IDEOGRAPH
+  {0xD8CD, 0x8D5D}, //15260 #CJK UNIFIED IDEOGRAPH
+  {0xD8CE, 0x531A}, //15261 #CJK UNIFIED IDEOGRAPH
+  {0xD8CF, 0x53F5}, //15262 #CJK UNIFIED IDEOGRAPH
+  {0xD8D0, 0x5326}, //15263 #CJK UNIFIED IDEOGRAPH
+  {0xD8D1, 0x532E}, //15264 #CJK UNIFIED IDEOGRAPH
+  {0xD8D2, 0x533E}, //15265 #CJK UNIFIED IDEOGRAPH
+  {0xD8D3, 0x8D5C}, //15266 #CJK UNIFIED IDEOGRAPH
+  {0xD8D4, 0x5366}, //15267 #CJK UNIFIED IDEOGRAPH
+  {0xD8D5, 0x5363}, //15268 #CJK UNIFIED IDEOGRAPH
+  {0xD8D6, 0x5202}, //15269 #CJK UNIFIED IDEOGRAPH
+  {0xD8D7, 0x5208}, //15270 #CJK UNIFIED IDEOGRAPH
+  {0xD8D8, 0x520E}, //15271 #CJK UNIFIED IDEOGRAPH
+  {0xD8D9, 0x522D}, //15272 #CJK UNIFIED IDEOGRAPH
+  {0xD8DA, 0x5233}, //15273 #CJK UNIFIED IDEOGRAPH
+  {0xD8DB, 0x523F}, //15274 #CJK UNIFIED IDEOGRAPH
+  {0xD8DC, 0x5240}, //15275 #CJK UNIFIED IDEOGRAPH
+  {0xD8DD, 0x524C}, //15276 #CJK UNIFIED IDEOGRAPH
+  {0xD8DE, 0x525E}, //15277 #CJK UNIFIED IDEOGRAPH
+  {0xD8DF, 0x5261}, //15278 #CJK UNIFIED IDEOGRAPH
+  {0xD8E0, 0x525C}, //15279 #CJK UNIFIED IDEOGRAPH
+  {0xD8E1, 0x84AF}, //15280 #CJK UNIFIED IDEOGRAPH
+  {0xD8E2, 0x527D}, //15281 #CJK UNIFIED IDEOGRAPH
+  {0xD8E3, 0x5282}, //15282 #CJK UNIFIED IDEOGRAPH
+  {0xD8E4, 0x5281}, //15283 #CJK UNIFIED IDEOGRAPH
+  {0xD8E5, 0x5290}, //15284 #CJK UNIFIED IDEOGRAPH
+  {0xD8E6, 0x5293}, //15285 #CJK UNIFIED IDEOGRAPH
+  {0xD8E7, 0x5182}, //15286 #CJK UNIFIED IDEOGRAPH
+  {0xD8E8, 0x7F54}, //15287 #CJK UNIFIED IDEOGRAPH
+  {0xD8E9, 0x4EBB}, //15288 #CJK UNIFIED IDEOGRAPH
+  {0xD8EA, 0x4EC3}, //15289 #CJK UNIFIED IDEOGRAPH
+  {0xD8EB, 0x4EC9}, //15290 #CJK UNIFIED IDEOGRAPH
+  {0xD8EC, 0x4EC2}, //15291 #CJK UNIFIED IDEOGRAPH
+  {0xD8ED, 0x4EE8}, //15292 #CJK UNIFIED IDEOGRAPH
+  {0xD8EE, 0x4EE1}, //15293 #CJK UNIFIED IDEOGRAPH
+  {0xD8EF, 0x4EEB}, //15294 #CJK UNIFIED IDEOGRAPH
+  {0xD8F0, 0x4EDE}, //15295 #CJK UNIFIED IDEOGRAPH
+  {0xD8F1, 0x4F1B}, //15296 #CJK UNIFIED IDEOGRAPH
+  {0xD8F2, 0x4EF3}, //15297 #CJK UNIFIED IDEOGRAPH
+  {0xD8F3, 0x4F22}, //15298 #CJK UNIFIED IDEOGRAPH
+  {0xD8F4, 0x4F64}, //15299 #CJK UNIFIED IDEOGRAPH
+  {0xD8F5, 0x4EF5}, //15300 #CJK UNIFIED IDEOGRAPH
+  {0xD8F6, 0x4F25}, //15301 #CJK UNIFIED IDEOGRAPH
+  {0xD8F7, 0x4F27}, //15302 #CJK UNIFIED IDEOGRAPH
+  {0xD8F8, 0x4F09}, //15303 #CJK UNIFIED IDEOGRAPH
+  {0xD8F9, 0x4F2B}, //15304 #CJK UNIFIED IDEOGRAPH
+  {0xD8FA, 0x4F5E}, //15305 #CJK UNIFIED IDEOGRAPH
+  {0xD8FB, 0x4F67}, //15306 #CJK UNIFIED IDEOGRAPH
+  {0xD8FC, 0x6538}, //15307 #CJK UNIFIED IDEOGRAPH
+  {0xD8FD, 0x4F5A}, //15308 #CJK UNIFIED IDEOGRAPH
+  {0xD8FE, 0x4F5D}, //15309 #CJK UNIFIED IDEOGRAPH
+  {0xD940, 0x8CAE}, //15310 #CJK UNIFIED IDEOGRAPH
+  {0xD941, 0x8CAF}, //15311 #CJK UNIFIED IDEOGRAPH
+  {0xD942, 0x8CB0}, //15312 #CJK UNIFIED IDEOGRAPH
+  {0xD943, 0x8CB1}, //15313 #CJK UNIFIED IDEOGRAPH
+  {0xD944, 0x8CB2}, //15314 #CJK UNIFIED IDEOGRAPH
+  {0xD945, 0x8CB3}, //15315 #CJK UNIFIED IDEOGRAPH
+  {0xD946, 0x8CB4}, //15316 #CJK UNIFIED IDEOGRAPH
+  {0xD947, 0x8CB5}, //15317 #CJK UNIFIED IDEOGRAPH
+  {0xD948, 0x8CB6}, //15318 #CJK UNIFIED IDEOGRAPH
+  {0xD949, 0x8CB7}, //15319 #CJK UNIFIED IDEOGRAPH
+  {0xD94A, 0x8CB8}, //15320 #CJK UNIFIED IDEOGRAPH
+  {0xD94B, 0x8CB9}, //15321 #CJK UNIFIED IDEOGRAPH
+  {0xD94C, 0x8CBA}, //15322 #CJK UNIFIED IDEOGRAPH
+  {0xD94D, 0x8CBB}, //15323 #CJK UNIFIED IDEOGRAPH
+  {0xD94E, 0x8CBC}, //15324 #CJK UNIFIED IDEOGRAPH
+  {0xD94F, 0x8CBD}, //15325 #CJK UNIFIED IDEOGRAPH
+  {0xD950, 0x8CBE}, //15326 #CJK UNIFIED IDEOGRAPH
+  {0xD951, 0x8CBF}, //15327 #CJK UNIFIED IDEOGRAPH
+  {0xD952, 0x8CC0}, //15328 #CJK UNIFIED IDEOGRAPH
+  {0xD953, 0x8CC1}, //15329 #CJK UNIFIED IDEOGRAPH
+  {0xD954, 0x8CC2}, //15330 #CJK UNIFIED IDEOGRAPH
+  {0xD955, 0x8CC3}, //15331 #CJK UNIFIED IDEOGRAPH
+  {0xD956, 0x8CC4}, //15332 #CJK UNIFIED IDEOGRAPH
+  {0xD957, 0x8CC5}, //15333 #CJK UNIFIED IDEOGRAPH
+  {0xD958, 0x8CC6}, //15334 #CJK UNIFIED IDEOGRAPH
+  {0xD959, 0x8CC7}, //15335 #CJK UNIFIED IDEOGRAPH
+  {0xD95A, 0x8CC8}, //15336 #CJK UNIFIED IDEOGRAPH
+  {0xD95B, 0x8CC9}, //15337 #CJK UNIFIED IDEOGRAPH
+  {0xD95C, 0x8CCA}, //15338 #CJK UNIFIED IDEOGRAPH
+  {0xD95D, 0x8CCB}, //15339 #CJK UNIFIED IDEOGRAPH
+  {0xD95E, 0x8CCC}, //15340 #CJK UNIFIED IDEOGRAPH
+  {0xD95F, 0x8CCD}, //15341 #CJK UNIFIED IDEOGRAPH
+  {0xD960, 0x8CCE}, //15342 #CJK UNIFIED IDEOGRAPH
+  {0xD961, 0x8CCF}, //15343 #CJK UNIFIED IDEOGRAPH
+  {0xD962, 0x8CD0}, //15344 #CJK UNIFIED IDEOGRAPH
+  {0xD963, 0x8CD1}, //15345 #CJK UNIFIED IDEOGRAPH
+  {0xD964, 0x8CD2}, //15346 #CJK UNIFIED IDEOGRAPH
+  {0xD965, 0x8CD3}, //15347 #CJK UNIFIED IDEOGRAPH
+  {0xD966, 0x8CD4}, //15348 #CJK UNIFIED IDEOGRAPH
+  {0xD967, 0x8CD5}, //15349 #CJK UNIFIED IDEOGRAPH
+  {0xD968, 0x8CD6}, //15350 #CJK UNIFIED IDEOGRAPH
+  {0xD969, 0x8CD7}, //15351 #CJK UNIFIED IDEOGRAPH
+  {0xD96A, 0x8CD8}, //15352 #CJK UNIFIED IDEOGRAPH
+  {0xD96B, 0x8CD9}, //15353 #CJK UNIFIED IDEOGRAPH
+  {0xD96C, 0x8CDA}, //15354 #CJK UNIFIED IDEOGRAPH
+  {0xD96D, 0x8CDB}, //15355 #CJK UNIFIED IDEOGRAPH
+  {0xD96E, 0x8CDC}, //15356 #CJK UNIFIED IDEOGRAPH
+  {0xD96F, 0x8CDD}, //15357 #CJK UNIFIED IDEOGRAPH
+  {0xD970, 0x8CDE}, //15358 #CJK UNIFIED IDEOGRAPH
+  {0xD971, 0x8CDF}, //15359 #CJK UNIFIED IDEOGRAPH
+  {0xD972, 0x8CE0}, //15360 #CJK UNIFIED IDEOGRAPH
+  {0xD973, 0x8CE1}, //15361 #CJK UNIFIED IDEOGRAPH
+  {0xD974, 0x8CE2}, //15362 #CJK UNIFIED IDEOGRAPH
+  {0xD975, 0x8CE3}, //15363 #CJK UNIFIED IDEOGRAPH
+  {0xD976, 0x8CE4}, //15364 #CJK UNIFIED IDEOGRAPH
+  {0xD977, 0x8CE5}, //15365 #CJK UNIFIED IDEOGRAPH
+  {0xD978, 0x8CE6}, //15366 #CJK UNIFIED IDEOGRAPH
+  {0xD979, 0x8CE7}, //15367 #CJK UNIFIED IDEOGRAPH
+  {0xD97A, 0x8CE8}, //15368 #CJK UNIFIED IDEOGRAPH
+  {0xD97B, 0x8CE9}, //15369 #CJK UNIFIED IDEOGRAPH
+  {0xD97C, 0x8CEA}, //15370 #CJK UNIFIED IDEOGRAPH
+  {0xD97D, 0x8CEB}, //15371 #CJK UNIFIED IDEOGRAPH
+  {0xD97E, 0x8CEC}, //15372 #CJK UNIFIED IDEOGRAPH
+  {0xD980, 0x8CED}, //15373 #CJK UNIFIED IDEOGRAPH
+  {0xD981, 0x8CEE}, //15374 #CJK UNIFIED IDEOGRAPH
+  {0xD982, 0x8CEF}, //15375 #CJK UNIFIED IDEOGRAPH
+  {0xD983, 0x8CF0}, //15376 #CJK UNIFIED IDEOGRAPH
+  {0xD984, 0x8CF1}, //15377 #CJK UNIFIED IDEOGRAPH
+  {0xD985, 0x8CF2}, //15378 #CJK UNIFIED IDEOGRAPH
+  {0xD986, 0x8CF3}, //15379 #CJK UNIFIED IDEOGRAPH
+  {0xD987, 0x8CF4}, //15380 #CJK UNIFIED IDEOGRAPH
+  {0xD988, 0x8CF5}, //15381 #CJK UNIFIED IDEOGRAPH
+  {0xD989, 0x8CF6}, //15382 #CJK UNIFIED IDEOGRAPH
+  {0xD98A, 0x8CF7}, //15383 #CJK UNIFIED IDEOGRAPH
+  {0xD98B, 0x8CF8}, //15384 #CJK UNIFIED IDEOGRAPH
+  {0xD98C, 0x8CF9}, //15385 #CJK UNIFIED IDEOGRAPH
+  {0xD98D, 0x8CFA}, //15386 #CJK UNIFIED IDEOGRAPH
+  {0xD98E, 0x8CFB}, //15387 #CJK UNIFIED IDEOGRAPH
+  {0xD98F, 0x8CFC}, //15388 #CJK UNIFIED IDEOGRAPH
+  {0xD990, 0x8CFD}, //15389 #CJK UNIFIED IDEOGRAPH
+  {0xD991, 0x8CFE}, //15390 #CJK UNIFIED IDEOGRAPH
+  {0xD992, 0x8CFF}, //15391 #CJK UNIFIED IDEOGRAPH
+  {0xD993, 0x8D00}, //15392 #CJK UNIFIED IDEOGRAPH
+  {0xD994, 0x8D01}, //15393 #CJK UNIFIED IDEOGRAPH
+  {0xD995, 0x8D02}, //15394 #CJK UNIFIED IDEOGRAPH
+  {0xD996, 0x8D03}, //15395 #CJK UNIFIED IDEOGRAPH
+  {0xD997, 0x8D04}, //15396 #CJK UNIFIED IDEOGRAPH
+  {0xD998, 0x8D05}, //15397 #CJK UNIFIED IDEOGRAPH
+  {0xD999, 0x8D06}, //15398 #CJK UNIFIED IDEOGRAPH
+  {0xD99A, 0x8D07}, //15399 #CJK UNIFIED IDEOGRAPH
+  {0xD99B, 0x8D08}, //15400 #CJK UNIFIED IDEOGRAPH
+  {0xD99C, 0x8D09}, //15401 #CJK UNIFIED IDEOGRAPH
+  {0xD99D, 0x8D0A}, //15402 #CJK UNIFIED IDEOGRAPH
+  {0xD99E, 0x8D0B}, //15403 #CJK UNIFIED IDEOGRAPH
+  {0xD99F, 0x8D0C}, //15404 #CJK UNIFIED IDEOGRAPH
+  {0xD9A0, 0x8D0D}, //15405 #CJK UNIFIED IDEOGRAPH
+  {0xD9A1, 0x4F5F}, //15406 #CJK UNIFIED IDEOGRAPH
+  {0xD9A2, 0x4F57}, //15407 #CJK UNIFIED IDEOGRAPH
+  {0xD9A3, 0x4F32}, //15408 #CJK UNIFIED IDEOGRAPH
+  {0xD9A4, 0x4F3D}, //15409 #CJK UNIFIED IDEOGRAPH
+  {0xD9A5, 0x4F76}, //15410 #CJK UNIFIED IDEOGRAPH
+  {0xD9A6, 0x4F74}, //15411 #CJK UNIFIED IDEOGRAPH
+  {0xD9A7, 0x4F91}, //15412 #CJK UNIFIED IDEOGRAPH
+  {0xD9A8, 0x4F89}, //15413 #CJK UNIFIED IDEOGRAPH
+  {0xD9A9, 0x4F83}, //15414 #CJK UNIFIED IDEOGRAPH
+  {0xD9AA, 0x4F8F}, //15415 #CJK UNIFIED IDEOGRAPH
+  {0xD9AB, 0x4F7E}, //15416 #CJK UNIFIED IDEOGRAPH
+  {0xD9AC, 0x4F7B}, //15417 #CJK UNIFIED IDEOGRAPH
+  {0xD9AD, 0x4FAA}, //15418 #CJK UNIFIED IDEOGRAPH
+  {0xD9AE, 0x4F7C}, //15419 #CJK UNIFIED IDEOGRAPH
+  {0xD9AF, 0x4FAC}, //15420 #CJK UNIFIED IDEOGRAPH
+  {0xD9B0, 0x4F94}, //15421 #CJK UNIFIED IDEOGRAPH
+  {0xD9B1, 0x4FE6}, //15422 #CJK UNIFIED IDEOGRAPH
+  {0xD9B2, 0x4FE8}, //15423 #CJK UNIFIED IDEOGRAPH
+  {0xD9B3, 0x4FEA}, //15424 #CJK UNIFIED IDEOGRAPH
+  {0xD9B4, 0x4FC5}, //15425 #CJK UNIFIED IDEOGRAPH
+  {0xD9B5, 0x4FDA}, //15426 #CJK UNIFIED IDEOGRAPH
+  {0xD9B6, 0x4FE3}, //15427 #CJK UNIFIED IDEOGRAPH
+  {0xD9B7, 0x4FDC}, //15428 #CJK UNIFIED IDEOGRAPH
+  {0xD9B8, 0x4FD1}, //15429 #CJK UNIFIED IDEOGRAPH
+  {0xD9B9, 0x4FDF}, //15430 #CJK UNIFIED IDEOGRAPH
+  {0xD9BA, 0x4FF8}, //15431 #CJK UNIFIED IDEOGRAPH
+  {0xD9BB, 0x5029}, //15432 #CJK UNIFIED IDEOGRAPH
+  {0xD9BC, 0x504C}, //15433 #CJK UNIFIED IDEOGRAPH
+  {0xD9BD, 0x4FF3}, //15434 #CJK UNIFIED IDEOGRAPH
+  {0xD9BE, 0x502C}, //15435 #CJK UNIFIED IDEOGRAPH
+  {0xD9BF, 0x500F}, //15436 #CJK UNIFIED IDEOGRAPH
+  {0xD9C0, 0x502E}, //15437 #CJK UNIFIED IDEOGRAPH
+  {0xD9C1, 0x502D}, //15438 #CJK UNIFIED IDEOGRAPH
+  {0xD9C2, 0x4FFE}, //15439 #CJK UNIFIED IDEOGRAPH
+  {0xD9C3, 0x501C}, //15440 #CJK UNIFIED IDEOGRAPH
+  {0xD9C4, 0x500C}, //15441 #CJK UNIFIED IDEOGRAPH
+  {0xD9C5, 0x5025}, //15442 #CJK UNIFIED IDEOGRAPH
+  {0xD9C6, 0x5028}, //15443 #CJK UNIFIED IDEOGRAPH
+  {0xD9C7, 0x507E}, //15444 #CJK UNIFIED IDEOGRAPH
+  {0xD9C8, 0x5043}, //15445 #CJK UNIFIED IDEOGRAPH
+  {0xD9C9, 0x5055}, //15446 #CJK UNIFIED IDEOGRAPH
+  {0xD9CA, 0x5048}, //15447 #CJK UNIFIED IDEOGRAPH
+  {0xD9CB, 0x504E}, //15448 #CJK UNIFIED IDEOGRAPH
+  {0xD9CC, 0x506C}, //15449 #CJK UNIFIED IDEOGRAPH
+  {0xD9CD, 0x507B}, //15450 #CJK UNIFIED IDEOGRAPH
+  {0xD9CE, 0x50A5}, //15451 #CJK UNIFIED IDEOGRAPH
+  {0xD9CF, 0x50A7}, //15452 #CJK UNIFIED IDEOGRAPH
+  {0xD9D0, 0x50A9}, //15453 #CJK UNIFIED IDEOGRAPH
+  {0xD9D1, 0x50BA}, //15454 #CJK UNIFIED IDEOGRAPH
+  {0xD9D2, 0x50D6}, //15455 #CJK UNIFIED IDEOGRAPH
+  {0xD9D3, 0x5106}, //15456 #CJK UNIFIED IDEOGRAPH
+  {0xD9D4, 0x50ED}, //15457 #CJK UNIFIED IDEOGRAPH
+  {0xD9D5, 0x50EC}, //15458 #CJK UNIFIED IDEOGRAPH
+  {0xD9D6, 0x50E6}, //15459 #CJK UNIFIED IDEOGRAPH
+  {0xD9D7, 0x50EE}, //15460 #CJK UNIFIED IDEOGRAPH
+  {0xD9D8, 0x5107}, //15461 #CJK UNIFIED IDEOGRAPH
+  {0xD9D9, 0x510B}, //15462 #CJK UNIFIED IDEOGRAPH
+  {0xD9DA, 0x4EDD}, //15463 #CJK UNIFIED IDEOGRAPH
+  {0xD9DB, 0x6C3D}, //15464 #CJK UNIFIED IDEOGRAPH
+  {0xD9DC, 0x4F58}, //15465 #CJK UNIFIED IDEOGRAPH
+  {0xD9DD, 0x4F65}, //15466 #CJK UNIFIED IDEOGRAPH
+  {0xD9DE, 0x4FCE}, //15467 #CJK UNIFIED IDEOGRAPH
+  {0xD9DF, 0x9FA0}, //15468 #CJK UNIFIED IDEOGRAPH
+  {0xD9E0, 0x6C46}, //15469 #CJK UNIFIED IDEOGRAPH
+  {0xD9E1, 0x7C74}, //15470 #CJK UNIFIED IDEOGRAPH
+  {0xD9E2, 0x516E}, //15471 #CJK UNIFIED IDEOGRAPH
+  {0xD9E3, 0x5DFD}, //15472 #CJK UNIFIED IDEOGRAPH
+  {0xD9E4, 0x9EC9}, //15473 #CJK UNIFIED IDEOGRAPH
+  {0xD9E5, 0x9998}, //15474 #CJK UNIFIED IDEOGRAPH
+  {0xD9E6, 0x5181}, //15475 #CJK UNIFIED IDEOGRAPH
+  {0xD9E7, 0x5914}, //15476 #CJK UNIFIED IDEOGRAPH
+  {0xD9E8, 0x52F9}, //15477 #CJK UNIFIED IDEOGRAPH
+  {0xD9E9, 0x530D}, //15478 #CJK UNIFIED IDEOGRAPH
+  {0xD9EA, 0x8A07}, //15479 #CJK UNIFIED IDEOGRAPH
+  {0xD9EB, 0x5310}, //15480 #CJK UNIFIED IDEOGRAPH
+  {0xD9EC, 0x51EB}, //15481 #CJK UNIFIED IDEOGRAPH
+  {0xD9ED, 0x5919}, //15482 #CJK UNIFIED IDEOGRAPH
+  {0xD9EE, 0x5155}, //15483 #CJK UNIFIED IDEOGRAPH
+  {0xD9EF, 0x4EA0}, //15484 #CJK UNIFIED IDEOGRAPH
+  {0xD9F0, 0x5156}, //15485 #CJK UNIFIED IDEOGRAPH
+  {0xD9F1, 0x4EB3}, //15486 #CJK UNIFIED IDEOGRAPH
+  {0xD9F2, 0x886E}, //15487 #CJK UNIFIED IDEOGRAPH
+  {0xD9F3, 0x88A4}, //15488 #CJK UNIFIED IDEOGRAPH
+  {0xD9F4, 0x4EB5}, //15489 #CJK UNIFIED IDEOGRAPH
+  {0xD9F5, 0x8114}, //15490 #CJK UNIFIED IDEOGRAPH
+  {0xD9F6, 0x88D2}, //15491 #CJK UNIFIED IDEOGRAPH
+  {0xD9F7, 0x7980}, //15492 #CJK UNIFIED IDEOGRAPH
+  {0xD9F8, 0x5B34}, //15493 #CJK UNIFIED IDEOGRAPH
+  {0xD9F9, 0x8803}, //15494 #CJK UNIFIED IDEOGRAPH
+  {0xD9FA, 0x7FB8}, //15495 #CJK UNIFIED IDEOGRAPH
+  {0xD9FB, 0x51AB}, //15496 #CJK UNIFIED IDEOGRAPH
+  {0xD9FC, 0x51B1}, //15497 #CJK UNIFIED IDEOGRAPH
+  {0xD9FD, 0x51BD}, //15498 #CJK UNIFIED IDEOGRAPH
+  {0xD9FE, 0x51BC}, //15499 #CJK UNIFIED IDEOGRAPH
+  {0xDA40, 0x8D0E}, //15500 #CJK UNIFIED IDEOGRAPH
+  {0xDA41, 0x8D0F}, //15501 #CJK UNIFIED IDEOGRAPH
+  {0xDA42, 0x8D10}, //15502 #CJK UNIFIED IDEOGRAPH
+  {0xDA43, 0x8D11}, //15503 #CJK UNIFIED IDEOGRAPH
+  {0xDA44, 0x8D12}, //15504 #CJK UNIFIED IDEOGRAPH
+  {0xDA45, 0x8D13}, //15505 #CJK UNIFIED IDEOGRAPH
+  {0xDA46, 0x8D14}, //15506 #CJK UNIFIED IDEOGRAPH
+  {0xDA47, 0x8D15}, //15507 #CJK UNIFIED IDEOGRAPH
+  {0xDA48, 0x8D16}, //15508 #CJK UNIFIED IDEOGRAPH
+  {0xDA49, 0x8D17}, //15509 #CJK UNIFIED IDEOGRAPH
+  {0xDA4A, 0x8D18}, //15510 #CJK UNIFIED IDEOGRAPH
+  {0xDA4B, 0x8D19}, //15511 #CJK UNIFIED IDEOGRAPH
+  {0xDA4C, 0x8D1A}, //15512 #CJK UNIFIED IDEOGRAPH
+  {0xDA4D, 0x8D1B}, //15513 #CJK UNIFIED IDEOGRAPH
+  {0xDA4E, 0x8D1C}, //15514 #CJK UNIFIED IDEOGRAPH
+  {0xDA4F, 0x8D20}, //15515 #CJK UNIFIED IDEOGRAPH
+  {0xDA50, 0x8D51}, //15516 #CJK UNIFIED IDEOGRAPH
+  {0xDA51, 0x8D52}, //15517 #CJK UNIFIED IDEOGRAPH
+  {0xDA52, 0x8D57}, //15518 #CJK UNIFIED IDEOGRAPH
+  {0xDA53, 0x8D5F}, //15519 #CJK UNIFIED IDEOGRAPH
+  {0xDA54, 0x8D65}, //15520 #CJK UNIFIED IDEOGRAPH
+  {0xDA55, 0x8D68}, //15521 #CJK UNIFIED IDEOGRAPH
+  {0xDA56, 0x8D69}, //15522 #CJK UNIFIED IDEOGRAPH
+  {0xDA57, 0x8D6A}, //15523 #CJK UNIFIED IDEOGRAPH
+  {0xDA58, 0x8D6C}, //15524 #CJK UNIFIED IDEOGRAPH
+  {0xDA59, 0x8D6E}, //15525 #CJK UNIFIED IDEOGRAPH
+  {0xDA5A, 0x8D6F}, //15526 #CJK UNIFIED IDEOGRAPH
+  {0xDA5B, 0x8D71}, //15527 #CJK UNIFIED IDEOGRAPH
+  {0xDA5C, 0x8D72}, //15528 #CJK UNIFIED IDEOGRAPH
+  {0xDA5D, 0x8D78}, //15529 #CJK UNIFIED IDEOGRAPH
+  {0xDA5E, 0x8D79}, //15530 #CJK UNIFIED IDEOGRAPH
+  {0xDA5F, 0x8D7A}, //15531 #CJK UNIFIED IDEOGRAPH
+  {0xDA60, 0x8D7B}, //15532 #CJK UNIFIED IDEOGRAPH
+  {0xDA61, 0x8D7C}, //15533 #CJK UNIFIED IDEOGRAPH
+  {0xDA62, 0x8D7D}, //15534 #CJK UNIFIED IDEOGRAPH
+  {0xDA63, 0x8D7E}, //15535 #CJK UNIFIED IDEOGRAPH
+  {0xDA64, 0x8D7F}, //15536 #CJK UNIFIED IDEOGRAPH
+  {0xDA65, 0x8D80}, //15537 #CJK UNIFIED IDEOGRAPH
+  {0xDA66, 0x8D82}, //15538 #CJK UNIFIED IDEOGRAPH
+  {0xDA67, 0x8D83}, //15539 #CJK UNIFIED IDEOGRAPH
+  {0xDA68, 0x8D86}, //15540 #CJK UNIFIED IDEOGRAPH
+  {0xDA69, 0x8D87}, //15541 #CJK UNIFIED IDEOGRAPH
+  {0xDA6A, 0x8D88}, //15542 #CJK UNIFIED IDEOGRAPH
+  {0xDA6B, 0x8D89}, //15543 #CJK UNIFIED IDEOGRAPH
+  {0xDA6C, 0x8D8C}, //15544 #CJK UNIFIED IDEOGRAPH
+  {0xDA6D, 0x8D8D}, //15545 #CJK UNIFIED IDEOGRAPH
+  {0xDA6E, 0x8D8E}, //15546 #CJK UNIFIED IDEOGRAPH
+  {0xDA6F, 0x8D8F}, //15547 #CJK UNIFIED IDEOGRAPH
+  {0xDA70, 0x8D90}, //15548 #CJK UNIFIED IDEOGRAPH
+  {0xDA71, 0x8D92}, //15549 #CJK UNIFIED IDEOGRAPH
+  {0xDA72, 0x8D93}, //15550 #CJK UNIFIED IDEOGRAPH
+  {0xDA73, 0x8D95}, //15551 #CJK UNIFIED IDEOGRAPH
+  {0xDA74, 0x8D96}, //15552 #CJK UNIFIED IDEOGRAPH
+  {0xDA75, 0x8D97}, //15553 #CJK UNIFIED IDEOGRAPH
+  {0xDA76, 0x8D98}, //15554 #CJK UNIFIED IDEOGRAPH
+  {0xDA77, 0x8D99}, //15555 #CJK UNIFIED IDEOGRAPH
+  {0xDA78, 0x8D9A}, //15556 #CJK UNIFIED IDEOGRAPH
+  {0xDA79, 0x8D9B}, //15557 #CJK UNIFIED IDEOGRAPH
+  {0xDA7A, 0x8D9C}, //15558 #CJK UNIFIED IDEOGRAPH
+  {0xDA7B, 0x8D9D}, //15559 #CJK UNIFIED IDEOGRAPH
+  {0xDA7C, 0x8D9E}, //15560 #CJK UNIFIED IDEOGRAPH
+  {0xDA7D, 0x8DA0}, //15561 #CJK UNIFIED IDEOGRAPH
+  {0xDA7E, 0x8DA1}, //15562 #CJK UNIFIED IDEOGRAPH
+  {0xDA80, 0x8DA2}, //15563 #CJK UNIFIED IDEOGRAPH
+  {0xDA81, 0x8DA4}, //15564 #CJK UNIFIED IDEOGRAPH
+  {0xDA82, 0x8DA5}, //15565 #CJK UNIFIED IDEOGRAPH
+  {0xDA83, 0x8DA6}, //15566 #CJK UNIFIED IDEOGRAPH
+  {0xDA84, 0x8DA7}, //15567 #CJK UNIFIED IDEOGRAPH
+  {0xDA85, 0x8DA8}, //15568 #CJK UNIFIED IDEOGRAPH
+  {0xDA86, 0x8DA9}, //15569 #CJK UNIFIED IDEOGRAPH
+  {0xDA87, 0x8DAA}, //15570 #CJK UNIFIED IDEOGRAPH
+  {0xDA88, 0x8DAB}, //15571 #CJK UNIFIED IDEOGRAPH
+  {0xDA89, 0x8DAC}, //15572 #CJK UNIFIED IDEOGRAPH
+  {0xDA8A, 0x8DAD}, //15573 #CJK UNIFIED IDEOGRAPH
+  {0xDA8B, 0x8DAE}, //15574 #CJK UNIFIED IDEOGRAPH
+  {0xDA8C, 0x8DAF}, //15575 #CJK UNIFIED IDEOGRAPH
+  {0xDA8D, 0x8DB0}, //15576 #CJK UNIFIED IDEOGRAPH
+  {0xDA8E, 0x8DB2}, //15577 #CJK UNIFIED IDEOGRAPH
+  {0xDA8F, 0x8DB6}, //15578 #CJK UNIFIED IDEOGRAPH
+  {0xDA90, 0x8DB7}, //15579 #CJK UNIFIED IDEOGRAPH
+  {0xDA91, 0x8DB9}, //15580 #CJK UNIFIED IDEOGRAPH
+  {0xDA92, 0x8DBB}, //15581 #CJK UNIFIED IDEOGRAPH
+  {0xDA93, 0x8DBD}, //15582 #CJK UNIFIED IDEOGRAPH
+  {0xDA94, 0x8DC0}, //15583 #CJK UNIFIED IDEOGRAPH
+  {0xDA95, 0x8DC1}, //15584 #CJK UNIFIED IDEOGRAPH
+  {0xDA96, 0x8DC2}, //15585 #CJK UNIFIED IDEOGRAPH
+  {0xDA97, 0x8DC5}, //15586 #CJK UNIFIED IDEOGRAPH
+  {0xDA98, 0x8DC7}, //15587 #CJK UNIFIED IDEOGRAPH
+  {0xDA99, 0x8DC8}, //15588 #CJK UNIFIED IDEOGRAPH
+  {0xDA9A, 0x8DC9}, //15589 #CJK UNIFIED IDEOGRAPH
+  {0xDA9B, 0x8DCA}, //15590 #CJK UNIFIED IDEOGRAPH
+  {0xDA9C, 0x8DCD}, //15591 #CJK UNIFIED IDEOGRAPH
+  {0xDA9D, 0x8DD0}, //15592 #CJK UNIFIED IDEOGRAPH
+  {0xDA9E, 0x8DD2}, //15593 #CJK UNIFIED IDEOGRAPH
+  {0xDA9F, 0x8DD3}, //15594 #CJK UNIFIED IDEOGRAPH
+  {0xDAA0, 0x8DD4}, //15595 #CJK UNIFIED IDEOGRAPH
+  {0xDAA1, 0x51C7}, //15596 #CJK UNIFIED IDEOGRAPH
+  {0xDAA2, 0x5196}, //15597 #CJK UNIFIED IDEOGRAPH
+  {0xDAA3, 0x51A2}, //15598 #CJK UNIFIED IDEOGRAPH
+  {0xDAA4, 0x51A5}, //15599 #CJK UNIFIED IDEOGRAPH
+  {0xDAA5, 0x8BA0}, //15600 #CJK UNIFIED IDEOGRAPH
+  {0xDAA6, 0x8BA6}, //15601 #CJK UNIFIED IDEOGRAPH
+  {0xDAA7, 0x8BA7}, //15602 #CJK UNIFIED IDEOGRAPH
+  {0xDAA8, 0x8BAA}, //15603 #CJK UNIFIED IDEOGRAPH
+  {0xDAA9, 0x8BB4}, //15604 #CJK UNIFIED IDEOGRAPH
+  {0xDAAA, 0x8BB5}, //15605 #CJK UNIFIED IDEOGRAPH
+  {0xDAAB, 0x8BB7}, //15606 #CJK UNIFIED IDEOGRAPH
+  {0xDAAC, 0x8BC2}, //15607 #CJK UNIFIED IDEOGRAPH
+  {0xDAAD, 0x8BC3}, //15608 #CJK UNIFIED IDEOGRAPH
+  {0xDAAE, 0x8BCB}, //15609 #CJK UNIFIED IDEOGRAPH
+  {0xDAAF, 0x8BCF}, //15610 #CJK UNIFIED IDEOGRAPH
+  {0xDAB0, 0x8BCE}, //15611 #CJK UNIFIED IDEOGRAPH
+  {0xDAB1, 0x8BD2}, //15612 #CJK UNIFIED IDEOGRAPH
+  {0xDAB2, 0x8BD3}, //15613 #CJK UNIFIED IDEOGRAPH
+  {0xDAB3, 0x8BD4}, //15614 #CJK UNIFIED IDEOGRAPH
+  {0xDAB4, 0x8BD6}, //15615 #CJK UNIFIED IDEOGRAPH
+  {0xDAB5, 0x8BD8}, //15616 #CJK UNIFIED IDEOGRAPH
+  {0xDAB6, 0x8BD9}, //15617 #CJK UNIFIED IDEOGRAPH
+  {0xDAB7, 0x8BDC}, //15618 #CJK UNIFIED IDEOGRAPH
+  {0xDAB8, 0x8BDF}, //15619 #CJK UNIFIED IDEOGRAPH
+  {0xDAB9, 0x8BE0}, //15620 #CJK UNIFIED IDEOGRAPH
+  {0xDABA, 0x8BE4}, //15621 #CJK UNIFIED IDEOGRAPH
+  {0xDABB, 0x8BE8}, //15622 #CJK UNIFIED IDEOGRAPH
+  {0xDABC, 0x8BE9}, //15623 #CJK UNIFIED IDEOGRAPH
+  {0xDABD, 0x8BEE}, //15624 #CJK UNIFIED IDEOGRAPH
+  {0xDABE, 0x8BF0}, //15625 #CJK UNIFIED IDEOGRAPH
+  {0xDABF, 0x8BF3}, //15626 #CJK UNIFIED IDEOGRAPH
+  {0xDAC0, 0x8BF6}, //15627 #CJK UNIFIED IDEOGRAPH
+  {0xDAC1, 0x8BF9}, //15628 #CJK UNIFIED IDEOGRAPH
+  {0xDAC2, 0x8BFC}, //15629 #CJK UNIFIED IDEOGRAPH
+  {0xDAC3, 0x8BFF}, //15630 #CJK UNIFIED IDEOGRAPH
+  {0xDAC4, 0x8C00}, //15631 #CJK UNIFIED IDEOGRAPH
+  {0xDAC5, 0x8C02}, //15632 #CJK UNIFIED IDEOGRAPH
+  {0xDAC6, 0x8C04}, //15633 #CJK UNIFIED IDEOGRAPH
+  {0xDAC7, 0x8C07}, //15634 #CJK UNIFIED IDEOGRAPH
+  {0xDAC8, 0x8C0C}, //15635 #CJK UNIFIED IDEOGRAPH
+  {0xDAC9, 0x8C0F}, //15636 #CJK UNIFIED IDEOGRAPH
+  {0xDACA, 0x8C11}, //15637 #CJK UNIFIED IDEOGRAPH
+  {0xDACB, 0x8C12}, //15638 #CJK UNIFIED IDEOGRAPH
+  {0xDACC, 0x8C14}, //15639 #CJK UNIFIED IDEOGRAPH
+  {0xDACD, 0x8C15}, //15640 #CJK UNIFIED IDEOGRAPH
+  {0xDACE, 0x8C16}, //15641 #CJK UNIFIED IDEOGRAPH
+  {0xDACF, 0x8C19}, //15642 #CJK UNIFIED IDEOGRAPH
+  {0xDAD0, 0x8C1B}, //15643 #CJK UNIFIED IDEOGRAPH
+  {0xDAD1, 0x8C18}, //15644 #CJK UNIFIED IDEOGRAPH
+  {0xDAD2, 0x8C1D}, //15645 #CJK UNIFIED IDEOGRAPH
+  {0xDAD3, 0x8C1F}, //15646 #CJK UNIFIED IDEOGRAPH
+  {0xDAD4, 0x8C20}, //15647 #CJK UNIFIED IDEOGRAPH
+  {0xDAD5, 0x8C21}, //15648 #CJK UNIFIED IDEOGRAPH
+  {0xDAD6, 0x8C25}, //15649 #CJK UNIFIED IDEOGRAPH
+  {0xDAD7, 0x8C27}, //15650 #CJK UNIFIED IDEOGRAPH
+  {0xDAD8, 0x8C2A}, //15651 #CJK UNIFIED IDEOGRAPH
+  {0xDAD9, 0x8C2B}, //15652 #CJK UNIFIED IDEOGRAPH
+  {0xDADA, 0x8C2E}, //15653 #CJK UNIFIED IDEOGRAPH
+  {0xDADB, 0x8C2F}, //15654 #CJK UNIFIED IDEOGRAPH
+  {0xDADC, 0x8C32}, //15655 #CJK UNIFIED IDEOGRAPH
+  {0xDADD, 0x8C33}, //15656 #CJK UNIFIED IDEOGRAPH
+  {0xDADE, 0x8C35}, //15657 #CJK UNIFIED IDEOGRAPH
+  {0xDADF, 0x8C36}, //15658 #CJK UNIFIED IDEOGRAPH
+  {0xDAE0, 0x5369}, //15659 #CJK UNIFIED IDEOGRAPH
+  {0xDAE1, 0x537A}, //15660 #CJK UNIFIED IDEOGRAPH
+  {0xDAE2, 0x961D}, //15661 #CJK UNIFIED IDEOGRAPH
+  {0xDAE3, 0x9622}, //15662 #CJK UNIFIED IDEOGRAPH
+  {0xDAE4, 0x9621}, //15663 #CJK UNIFIED IDEOGRAPH
+  {0xDAE5, 0x9631}, //15664 #CJK UNIFIED IDEOGRAPH
+  {0xDAE6, 0x962A}, //15665 #CJK UNIFIED IDEOGRAPH
+  {0xDAE7, 0x963D}, //15666 #CJK UNIFIED IDEOGRAPH
+  {0xDAE8, 0x963C}, //15667 #CJK UNIFIED IDEOGRAPH
+  {0xDAE9, 0x9642}, //15668 #CJK UNIFIED IDEOGRAPH
+  {0xDAEA, 0x9649}, //15669 #CJK UNIFIED IDEOGRAPH
+  {0xDAEB, 0x9654}, //15670 #CJK UNIFIED IDEOGRAPH
+  {0xDAEC, 0x965F}, //15671 #CJK UNIFIED IDEOGRAPH
+  {0xDAED, 0x9667}, //15672 #CJK UNIFIED IDEOGRAPH
+  {0xDAEE, 0x966C}, //15673 #CJK UNIFIED IDEOGRAPH
+  {0xDAEF, 0x9672}, //15674 #CJK UNIFIED IDEOGRAPH
+  {0xDAF0, 0x9674}, //15675 #CJK UNIFIED IDEOGRAPH
+  {0xDAF1, 0x9688}, //15676 #CJK UNIFIED IDEOGRAPH
+  {0xDAF2, 0x968D}, //15677 #CJK UNIFIED IDEOGRAPH
+  {0xDAF3, 0x9697}, //15678 #CJK UNIFIED IDEOGRAPH
+  {0xDAF4, 0x96B0}, //15679 #CJK UNIFIED IDEOGRAPH
+  {0xDAF5, 0x9097}, //15680 #CJK UNIFIED IDEOGRAPH
+  {0xDAF6, 0x909B}, //15681 #CJK UNIFIED IDEOGRAPH
+  {0xDAF7, 0x909D}, //15682 #CJK UNIFIED IDEOGRAPH
+  {0xDAF8, 0x9099}, //15683 #CJK UNIFIED IDEOGRAPH
+  {0xDAF9, 0x90AC}, //15684 #CJK UNIFIED IDEOGRAPH
+  {0xDAFA, 0x90A1}, //15685 #CJK UNIFIED IDEOGRAPH
+  {0xDAFB, 0x90B4}, //15686 #CJK UNIFIED IDEOGRAPH
+  {0xDAFC, 0x90B3}, //15687 #CJK UNIFIED IDEOGRAPH
+  {0xDAFD, 0x90B6}, //15688 #CJK UNIFIED IDEOGRAPH
+  {0xDAFE, 0x90BA}, //15689 #CJK UNIFIED IDEOGRAPH
+  {0xDB40, 0x8DD5}, //15690 #CJK UNIFIED IDEOGRAPH
+  {0xDB41, 0x8DD8}, //15691 #CJK UNIFIED IDEOGRAPH
+  {0xDB42, 0x8DD9}, //15692 #CJK UNIFIED IDEOGRAPH
+  {0xDB43, 0x8DDC}, //15693 #CJK UNIFIED IDEOGRAPH
+  {0xDB44, 0x8DE0}, //15694 #CJK UNIFIED IDEOGRAPH
+  {0xDB45, 0x8DE1}, //15695 #CJK UNIFIED IDEOGRAPH
+  {0xDB46, 0x8DE2}, //15696 #CJK UNIFIED IDEOGRAPH
+  {0xDB47, 0x8DE5}, //15697 #CJK UNIFIED IDEOGRAPH
+  {0xDB48, 0x8DE6}, //15698 #CJK UNIFIED IDEOGRAPH
+  {0xDB49, 0x8DE7}, //15699 #CJK UNIFIED IDEOGRAPH
+  {0xDB4A, 0x8DE9}, //15700 #CJK UNIFIED IDEOGRAPH
+  {0xDB4B, 0x8DED}, //15701 #CJK UNIFIED IDEOGRAPH
+  {0xDB4C, 0x8DEE}, //15702 #CJK UNIFIED IDEOGRAPH
+  {0xDB4D, 0x8DF0}, //15703 #CJK UNIFIED IDEOGRAPH
+  {0xDB4E, 0x8DF1}, //15704 #CJK UNIFIED IDEOGRAPH
+  {0xDB4F, 0x8DF2}, //15705 #CJK UNIFIED IDEOGRAPH
+  {0xDB50, 0x8DF4}, //15706 #CJK UNIFIED IDEOGRAPH
+  {0xDB51, 0x8DF6}, //15707 #CJK UNIFIED IDEOGRAPH
+  {0xDB52, 0x8DFC}, //15708 #CJK UNIFIED IDEOGRAPH
+  {0xDB53, 0x8DFE}, //15709 #CJK UNIFIED IDEOGRAPH
+  {0xDB54, 0x8DFF}, //15710 #CJK UNIFIED IDEOGRAPH
+  {0xDB55, 0x8E00}, //15711 #CJK UNIFIED IDEOGRAPH
+  {0xDB56, 0x8E01}, //15712 #CJK UNIFIED IDEOGRAPH
+  {0xDB57, 0x8E02}, //15713 #CJK UNIFIED IDEOGRAPH
+  {0xDB58, 0x8E03}, //15714 #CJK UNIFIED IDEOGRAPH
+  {0xDB59, 0x8E04}, //15715 #CJK UNIFIED IDEOGRAPH
+  {0xDB5A, 0x8E06}, //15716 #CJK UNIFIED IDEOGRAPH
+  {0xDB5B, 0x8E07}, //15717 #CJK UNIFIED IDEOGRAPH
+  {0xDB5C, 0x8E08}, //15718 #CJK UNIFIED IDEOGRAPH
+  {0xDB5D, 0x8E0B}, //15719 #CJK UNIFIED IDEOGRAPH
+  {0xDB5E, 0x8E0D}, //15720 #CJK UNIFIED IDEOGRAPH
+  {0xDB5F, 0x8E0E}, //15721 #CJK UNIFIED IDEOGRAPH
+  {0xDB60, 0x8E10}, //15722 #CJK UNIFIED IDEOGRAPH
+  {0xDB61, 0x8E11}, //15723 #CJK UNIFIED IDEOGRAPH
+  {0xDB62, 0x8E12}, //15724 #CJK UNIFIED IDEOGRAPH
+  {0xDB63, 0x8E13}, //15725 #CJK UNIFIED IDEOGRAPH
+  {0xDB64, 0x8E15}, //15726 #CJK UNIFIED IDEOGRAPH
+  {0xDB65, 0x8E16}, //15727 #CJK UNIFIED IDEOGRAPH
+  {0xDB66, 0x8E17}, //15728 #CJK UNIFIED IDEOGRAPH
+  {0xDB67, 0x8E18}, //15729 #CJK UNIFIED IDEOGRAPH
+  {0xDB68, 0x8E19}, //15730 #CJK UNIFIED IDEOGRAPH
+  {0xDB69, 0x8E1A}, //15731 #CJK UNIFIED IDEOGRAPH
+  {0xDB6A, 0x8E1B}, //15732 #CJK UNIFIED IDEOGRAPH
+  {0xDB6B, 0x8E1C}, //15733 #CJK UNIFIED IDEOGRAPH
+  {0xDB6C, 0x8E20}, //15734 #CJK UNIFIED IDEOGRAPH
+  {0xDB6D, 0x8E21}, //15735 #CJK UNIFIED IDEOGRAPH
+  {0xDB6E, 0x8E24}, //15736 #CJK UNIFIED IDEOGRAPH
+  {0xDB6F, 0x8E25}, //15737 #CJK UNIFIED IDEOGRAPH
+  {0xDB70, 0x8E26}, //15738 #CJK UNIFIED IDEOGRAPH
+  {0xDB71, 0x8E27}, //15739 #CJK UNIFIED IDEOGRAPH
+  {0xDB72, 0x8E28}, //15740 #CJK UNIFIED IDEOGRAPH
+  {0xDB73, 0x8E2B}, //15741 #CJK UNIFIED IDEOGRAPH
+  {0xDB74, 0x8E2D}, //15742 #CJK UNIFIED IDEOGRAPH
+  {0xDB75, 0x8E30}, //15743 #CJK UNIFIED IDEOGRAPH
+  {0xDB76, 0x8E32}, //15744 #CJK UNIFIED IDEOGRAPH
+  {0xDB77, 0x8E33}, //15745 #CJK UNIFIED IDEOGRAPH
+  {0xDB78, 0x8E34}, //15746 #CJK UNIFIED IDEOGRAPH
+  {0xDB79, 0x8E36}, //15747 #CJK UNIFIED IDEOGRAPH
+  {0xDB7A, 0x8E37}, //15748 #CJK UNIFIED IDEOGRAPH
+  {0xDB7B, 0x8E38}, //15749 #CJK UNIFIED IDEOGRAPH
+  {0xDB7C, 0x8E3B}, //15750 #CJK UNIFIED IDEOGRAPH
+  {0xDB7D, 0x8E3C}, //15751 #CJK UNIFIED IDEOGRAPH
+  {0xDB7E, 0x8E3E}, //15752 #CJK UNIFIED IDEOGRAPH
+  {0xDB80, 0x8E3F}, //15753 #CJK UNIFIED IDEOGRAPH
+  {0xDB81, 0x8E43}, //15754 #CJK UNIFIED IDEOGRAPH
+  {0xDB82, 0x8E45}, //15755 #CJK UNIFIED IDEOGRAPH
+  {0xDB83, 0x8E46}, //15756 #CJK UNIFIED IDEOGRAPH
+  {0xDB84, 0x8E4C}, //15757 #CJK UNIFIED IDEOGRAPH
+  {0xDB85, 0x8E4D}, //15758 #CJK UNIFIED IDEOGRAPH
+  {0xDB86, 0x8E4E}, //15759 #CJK UNIFIED IDEOGRAPH
+  {0xDB87, 0x8E4F}, //15760 #CJK UNIFIED IDEOGRAPH
+  {0xDB88, 0x8E50}, //15761 #CJK UNIFIED IDEOGRAPH
+  {0xDB89, 0x8E53}, //15762 #CJK UNIFIED IDEOGRAPH
+  {0xDB8A, 0x8E54}, //15763 #CJK UNIFIED IDEOGRAPH
+  {0xDB8B, 0x8E55}, //15764 #CJK UNIFIED IDEOGRAPH
+  {0xDB8C, 0x8E56}, //15765 #CJK UNIFIED IDEOGRAPH
+  {0xDB8D, 0x8E57}, //15766 #CJK UNIFIED IDEOGRAPH
+  {0xDB8E, 0x8E58}, //15767 #CJK UNIFIED IDEOGRAPH
+  {0xDB8F, 0x8E5A}, //15768 #CJK UNIFIED IDEOGRAPH
+  {0xDB90, 0x8E5B}, //15769 #CJK UNIFIED IDEOGRAPH
+  {0xDB91, 0x8E5C}, //15770 #CJK UNIFIED IDEOGRAPH
+  {0xDB92, 0x8E5D}, //15771 #CJK UNIFIED IDEOGRAPH
+  {0xDB93, 0x8E5E}, //15772 #CJK UNIFIED IDEOGRAPH
+  {0xDB94, 0x8E5F}, //15773 #CJK UNIFIED IDEOGRAPH
+  {0xDB95, 0x8E60}, //15774 #CJK UNIFIED IDEOGRAPH
+  {0xDB96, 0x8E61}, //15775 #CJK UNIFIED IDEOGRAPH
+  {0xDB97, 0x8E62}, //15776 #CJK UNIFIED IDEOGRAPH
+  {0xDB98, 0x8E63}, //15777 #CJK UNIFIED IDEOGRAPH
+  {0xDB99, 0x8E64}, //15778 #CJK UNIFIED IDEOGRAPH
+  {0xDB9A, 0x8E65}, //15779 #CJK UNIFIED IDEOGRAPH
+  {0xDB9B, 0x8E67}, //15780 #CJK UNIFIED IDEOGRAPH
+  {0xDB9C, 0x8E68}, //15781 #CJK UNIFIED IDEOGRAPH
+  {0xDB9D, 0x8E6A}, //15782 #CJK UNIFIED IDEOGRAPH
+  {0xDB9E, 0x8E6B}, //15783 #CJK UNIFIED IDEOGRAPH
+  {0xDB9F, 0x8E6E}, //15784 #CJK UNIFIED IDEOGRAPH
+  {0xDBA0, 0x8E71}, //15785 #CJK UNIFIED IDEOGRAPH
+  {0xDBA1, 0x90B8}, //15786 #CJK UNIFIED IDEOGRAPH
+  {0xDBA2, 0x90B0}, //15787 #CJK UNIFIED IDEOGRAPH
+  {0xDBA3, 0x90CF}, //15788 #CJK UNIFIED IDEOGRAPH
+  {0xDBA4, 0x90C5}, //15789 #CJK UNIFIED IDEOGRAPH
+  {0xDBA5, 0x90BE}, //15790 #CJK UNIFIED IDEOGRAPH
+  {0xDBA6, 0x90D0}, //15791 #CJK UNIFIED IDEOGRAPH
+  {0xDBA7, 0x90C4}, //15792 #CJK UNIFIED IDEOGRAPH
+  {0xDBA8, 0x90C7}, //15793 #CJK UNIFIED IDEOGRAPH
+  {0xDBA9, 0x90D3}, //15794 #CJK UNIFIED IDEOGRAPH
+  {0xDBAA, 0x90E6}, //15795 #CJK UNIFIED IDEOGRAPH
+  {0xDBAB, 0x90E2}, //15796 #CJK UNIFIED IDEOGRAPH
+  {0xDBAC, 0x90DC}, //15797 #CJK UNIFIED IDEOGRAPH
+  {0xDBAD, 0x90D7}, //15798 #CJK UNIFIED IDEOGRAPH
+  {0xDBAE, 0x90DB}, //15799 #CJK UNIFIED IDEOGRAPH
+  {0xDBAF, 0x90EB}, //15800 #CJK UNIFIED IDEOGRAPH
+  {0xDBB0, 0x90EF}, //15801 #CJK UNIFIED IDEOGRAPH
+  {0xDBB1, 0x90FE}, //15802 #CJK UNIFIED IDEOGRAPH
+  {0xDBB2, 0x9104}, //15803 #CJK UNIFIED IDEOGRAPH
+  {0xDBB3, 0x9122}, //15804 #CJK UNIFIED IDEOGRAPH
+  {0xDBB4, 0x911E}, //15805 #CJK UNIFIED IDEOGRAPH
+  {0xDBB5, 0x9123}, //15806 #CJK UNIFIED IDEOGRAPH
+  {0xDBB6, 0x9131}, //15807 #CJK UNIFIED IDEOGRAPH
+  {0xDBB7, 0x912F}, //15808 #CJK UNIFIED IDEOGRAPH
+  {0xDBB8, 0x9139}, //15809 #CJK UNIFIED IDEOGRAPH
+  {0xDBB9, 0x9143}, //15810 #CJK UNIFIED IDEOGRAPH
+  {0xDBBA, 0x9146}, //15811 #CJK UNIFIED IDEOGRAPH
+  {0xDBBB, 0x520D}, //15812 #CJK UNIFIED IDEOGRAPH
+  {0xDBBC, 0x5942}, //15813 #CJK UNIFIED IDEOGRAPH
+  {0xDBBD, 0x52A2}, //15814 #CJK UNIFIED IDEOGRAPH
+  {0xDBBE, 0x52AC}, //15815 #CJK UNIFIED IDEOGRAPH
+  {0xDBBF, 0x52AD}, //15816 #CJK UNIFIED IDEOGRAPH
+  {0xDBC0, 0x52BE}, //15817 #CJK UNIFIED IDEOGRAPH
+  {0xDBC1, 0x54FF}, //15818 #CJK UNIFIED IDEOGRAPH
+  {0xDBC2, 0x52D0}, //15819 #CJK UNIFIED IDEOGRAPH
+  {0xDBC3, 0x52D6}, //15820 #CJK UNIFIED IDEOGRAPH
+  {0xDBC4, 0x52F0}, //15821 #CJK UNIFIED IDEOGRAPH
+  {0xDBC5, 0x53DF}, //15822 #CJK UNIFIED IDEOGRAPH
+  {0xDBC6, 0x71EE}, //15823 #CJK UNIFIED IDEOGRAPH
+  {0xDBC7, 0x77CD}, //15824 #CJK UNIFIED IDEOGRAPH
+  {0xDBC8, 0x5EF4}, //15825 #CJK UNIFIED IDEOGRAPH
+  {0xDBC9, 0x51F5}, //15826 #CJK UNIFIED IDEOGRAPH
+  {0xDBCA, 0x51FC}, //15827 #CJK UNIFIED IDEOGRAPH
+  {0xDBCB, 0x9B2F}, //15828 #CJK UNIFIED IDEOGRAPH
+  {0xDBCC, 0x53B6}, //15829 #CJK UNIFIED IDEOGRAPH
+  {0xDBCD, 0x5F01}, //15830 #CJK UNIFIED IDEOGRAPH
+  {0xDBCE, 0x755A}, //15831 #CJK UNIFIED IDEOGRAPH
+  {0xDBCF, 0x5DEF}, //15832 #CJK UNIFIED IDEOGRAPH
+  {0xDBD0, 0x574C}, //15833 #CJK UNIFIED IDEOGRAPH
+  {0xDBD1, 0x57A9}, //15834 #CJK UNIFIED IDEOGRAPH
+  {0xDBD2, 0x57A1}, //15835 #CJK UNIFIED IDEOGRAPH
+  {0xDBD3, 0x587E}, //15836 #CJK UNIFIED IDEOGRAPH
+  {0xDBD4, 0x58BC}, //15837 #CJK UNIFIED IDEOGRAPH
+  {0xDBD5, 0x58C5}, //15838 #CJK UNIFIED IDEOGRAPH
+  {0xDBD6, 0x58D1}, //15839 #CJK UNIFIED IDEOGRAPH
+  {0xDBD7, 0x5729}, //15840 #CJK UNIFIED IDEOGRAPH
+  {0xDBD8, 0x572C}, //15841 #CJK UNIFIED IDEOGRAPH
+  {0xDBD9, 0x572A}, //15842 #CJK UNIFIED IDEOGRAPH
+  {0xDBDA, 0x5733}, //15843 #CJK UNIFIED IDEOGRAPH
+  {0xDBDB, 0x5739}, //15844 #CJK UNIFIED IDEOGRAPH
+  {0xDBDC, 0x572E}, //15845 #CJK UNIFIED IDEOGRAPH
+  {0xDBDD, 0x572F}, //15846 #CJK UNIFIED IDEOGRAPH
+  {0xDBDE, 0x575C}, //15847 #CJK UNIFIED IDEOGRAPH
+  {0xDBDF, 0x573B}, //15848 #CJK UNIFIED IDEOGRAPH
+  {0xDBE0, 0x5742}, //15849 #CJK UNIFIED IDEOGRAPH
+  {0xDBE1, 0x5769}, //15850 #CJK UNIFIED IDEOGRAPH
+  {0xDBE2, 0x5785}, //15851 #CJK UNIFIED IDEOGRAPH
+  {0xDBE3, 0x576B}, //15852 #CJK UNIFIED IDEOGRAPH
+  {0xDBE4, 0x5786}, //15853 #CJK UNIFIED IDEOGRAPH
+  {0xDBE5, 0x577C}, //15854 #CJK UNIFIED IDEOGRAPH
+  {0xDBE6, 0x577B}, //15855 #CJK UNIFIED IDEOGRAPH
+  {0xDBE7, 0x5768}, //15856 #CJK UNIFIED IDEOGRAPH
+  {0xDBE8, 0x576D}, //15857 #CJK UNIFIED IDEOGRAPH
+  {0xDBE9, 0x5776}, //15858 #CJK UNIFIED IDEOGRAPH
+  {0xDBEA, 0x5773}, //15859 #CJK UNIFIED IDEOGRAPH
+  {0xDBEB, 0x57AD}, //15860 #CJK UNIFIED IDEOGRAPH
+  {0xDBEC, 0x57A4}, //15861 #CJK UNIFIED IDEOGRAPH
+  {0xDBED, 0x578C}, //15862 #CJK UNIFIED IDEOGRAPH
+  {0xDBEE, 0x57B2}, //15863 #CJK UNIFIED IDEOGRAPH
+  {0xDBEF, 0x57CF}, //15864 #CJK UNIFIED IDEOGRAPH
+  {0xDBF0, 0x57A7}, //15865 #CJK UNIFIED IDEOGRAPH
+  {0xDBF1, 0x57B4}, //15866 #CJK UNIFIED IDEOGRAPH
+  {0xDBF2, 0x5793}, //15867 #CJK UNIFIED IDEOGRAPH
+  {0xDBF3, 0x57A0}, //15868 #CJK UNIFIED IDEOGRAPH
+  {0xDBF4, 0x57D5}, //15869 #CJK UNIFIED IDEOGRAPH
+  {0xDBF5, 0x57D8}, //15870 #CJK UNIFIED IDEOGRAPH
+  {0xDBF6, 0x57DA}, //15871 #CJK UNIFIED IDEOGRAPH
+  {0xDBF7, 0x57D9}, //15872 #CJK UNIFIED IDEOGRAPH
+  {0xDBF8, 0x57D2}, //15873 #CJK UNIFIED IDEOGRAPH
+  {0xDBF9, 0x57B8}, //15874 #CJK UNIFIED IDEOGRAPH
+  {0xDBFA, 0x57F4}, //15875 #CJK UNIFIED IDEOGRAPH
+  {0xDBFB, 0x57EF}, //15876 #CJK UNIFIED IDEOGRAPH
+  {0xDBFC, 0x57F8}, //15877 #CJK UNIFIED IDEOGRAPH
+  {0xDBFD, 0x57E4}, //15878 #CJK UNIFIED IDEOGRAPH
+  {0xDBFE, 0x57DD}, //15879 #CJK UNIFIED IDEOGRAPH
+  {0xDC40, 0x8E73}, //15880 #CJK UNIFIED IDEOGRAPH
+  {0xDC41, 0x8E75}, //15881 #CJK UNIFIED IDEOGRAPH
+  {0xDC42, 0x8E77}, //15882 #CJK UNIFIED IDEOGRAPH
+  {0xDC43, 0x8E78}, //15883 #CJK UNIFIED IDEOGRAPH
+  {0xDC44, 0x8E79}, //15884 #CJK UNIFIED IDEOGRAPH
+  {0xDC45, 0x8E7A}, //15885 #CJK UNIFIED IDEOGRAPH
+  {0xDC46, 0x8E7B}, //15886 #CJK UNIFIED IDEOGRAPH
+  {0xDC47, 0x8E7D}, //15887 #CJK UNIFIED IDEOGRAPH
+  {0xDC48, 0x8E7E}, //15888 #CJK UNIFIED IDEOGRAPH
+  {0xDC49, 0x8E80}, //15889 #CJK UNIFIED IDEOGRAPH
+  {0xDC4A, 0x8E82}, //15890 #CJK UNIFIED IDEOGRAPH
+  {0xDC4B, 0x8E83}, //15891 #CJK UNIFIED IDEOGRAPH
+  {0xDC4C, 0x8E84}, //15892 #CJK UNIFIED IDEOGRAPH
+  {0xDC4D, 0x8E86}, //15893 #CJK UNIFIED IDEOGRAPH
+  {0xDC4E, 0x8E88}, //15894 #CJK UNIFIED IDEOGRAPH
+  {0xDC4F, 0x8E89}, //15895 #CJK UNIFIED IDEOGRAPH
+  {0xDC50, 0x8E8A}, //15896 #CJK UNIFIED IDEOGRAPH
+  {0xDC51, 0x8E8B}, //15897 #CJK UNIFIED IDEOGRAPH
+  {0xDC52, 0x8E8C}, //15898 #CJK UNIFIED IDEOGRAPH
+  {0xDC53, 0x8E8D}, //15899 #CJK UNIFIED IDEOGRAPH
+  {0xDC54, 0x8E8E}, //15900 #CJK UNIFIED IDEOGRAPH
+  {0xDC55, 0x8E91}, //15901 #CJK UNIFIED IDEOGRAPH
+  {0xDC56, 0x8E92}, //15902 #CJK UNIFIED IDEOGRAPH
+  {0xDC57, 0x8E93}, //15903 #CJK UNIFIED IDEOGRAPH
+  {0xDC58, 0x8E95}, //15904 #CJK UNIFIED IDEOGRAPH
+  {0xDC59, 0x8E96}, //15905 #CJK UNIFIED IDEOGRAPH
+  {0xDC5A, 0x8E97}, //15906 #CJK UNIFIED IDEOGRAPH
+  {0xDC5B, 0x8E98}, //15907 #CJK UNIFIED IDEOGRAPH
+  {0xDC5C, 0x8E99}, //15908 #CJK UNIFIED IDEOGRAPH
+  {0xDC5D, 0x8E9A}, //15909 #CJK UNIFIED IDEOGRAPH
+  {0xDC5E, 0x8E9B}, //15910 #CJK UNIFIED IDEOGRAPH
+  {0xDC5F, 0x8E9D}, //15911 #CJK UNIFIED IDEOGRAPH
+  {0xDC60, 0x8E9F}, //15912 #CJK UNIFIED IDEOGRAPH
+  {0xDC61, 0x8EA0}, //15913 #CJK UNIFIED IDEOGRAPH
+  {0xDC62, 0x8EA1}, //15914 #CJK UNIFIED IDEOGRAPH
+  {0xDC63, 0x8EA2}, //15915 #CJK UNIFIED IDEOGRAPH
+  {0xDC64, 0x8EA3}, //15916 #CJK UNIFIED IDEOGRAPH
+  {0xDC65, 0x8EA4}, //15917 #CJK UNIFIED IDEOGRAPH
+  {0xDC66, 0x8EA5}, //15918 #CJK UNIFIED IDEOGRAPH
+  {0xDC67, 0x8EA6}, //15919 #CJK UNIFIED IDEOGRAPH
+  {0xDC68, 0x8EA7}, //15920 #CJK UNIFIED IDEOGRAPH
+  {0xDC69, 0x8EA8}, //15921 #CJK UNIFIED IDEOGRAPH
+  {0xDC6A, 0x8EA9}, //15922 #CJK UNIFIED IDEOGRAPH
+  {0xDC6B, 0x8EAA}, //15923 #CJK UNIFIED IDEOGRAPH
+  {0xDC6C, 0x8EAD}, //15924 #CJK UNIFIED IDEOGRAPH
+  {0xDC6D, 0x8EAE}, //15925 #CJK UNIFIED IDEOGRAPH
+  {0xDC6E, 0x8EB0}, //15926 #CJK UNIFIED IDEOGRAPH
+  {0xDC6F, 0x8EB1}, //15927 #CJK UNIFIED IDEOGRAPH
+  {0xDC70, 0x8EB3}, //15928 #CJK UNIFIED IDEOGRAPH
+  {0xDC71, 0x8EB4}, //15929 #CJK UNIFIED IDEOGRAPH
+  {0xDC72, 0x8EB5}, //15930 #CJK UNIFIED IDEOGRAPH
+  {0xDC73, 0x8EB6}, //15931 #CJK UNIFIED IDEOGRAPH
+  {0xDC74, 0x8EB7}, //15932 #CJK UNIFIED IDEOGRAPH
+  {0xDC75, 0x8EB8}, //15933 #CJK UNIFIED IDEOGRAPH
+  {0xDC76, 0x8EB9}, //15934 #CJK UNIFIED IDEOGRAPH
+  {0xDC77, 0x8EBB}, //15935 #CJK UNIFIED IDEOGRAPH
+  {0xDC78, 0x8EBC}, //15936 #CJK UNIFIED IDEOGRAPH
+  {0xDC79, 0x8EBD}, //15937 #CJK UNIFIED IDEOGRAPH
+  {0xDC7A, 0x8EBE}, //15938 #CJK UNIFIED IDEOGRAPH
+  {0xDC7B, 0x8EBF}, //15939 #CJK UNIFIED IDEOGRAPH
+  {0xDC7C, 0x8EC0}, //15940 #CJK UNIFIED IDEOGRAPH
+  {0xDC7D, 0x8EC1}, //15941 #CJK UNIFIED IDEOGRAPH
+  {0xDC7E, 0x8EC2}, //15942 #CJK UNIFIED IDEOGRAPH
+  {0xDC80, 0x8EC3}, //15943 #CJK UNIFIED IDEOGRAPH
+  {0xDC81, 0x8EC4}, //15944 #CJK UNIFIED IDEOGRAPH
+  {0xDC82, 0x8EC5}, //15945 #CJK UNIFIED IDEOGRAPH
+  {0xDC83, 0x8EC6}, //15946 #CJK UNIFIED IDEOGRAPH
+  {0xDC84, 0x8EC7}, //15947 #CJK UNIFIED IDEOGRAPH
+  {0xDC85, 0x8EC8}, //15948 #CJK UNIFIED IDEOGRAPH
+  {0xDC86, 0x8EC9}, //15949 #CJK UNIFIED IDEOGRAPH
+  {0xDC87, 0x8ECA}, //15950 #CJK UNIFIED IDEOGRAPH
+  {0xDC88, 0x8ECB}, //15951 #CJK UNIFIED IDEOGRAPH
+  {0xDC89, 0x8ECC}, //15952 #CJK UNIFIED IDEOGRAPH
+  {0xDC8A, 0x8ECD}, //15953 #CJK UNIFIED IDEOGRAPH
+  {0xDC8B, 0x8ECF}, //15954 #CJK UNIFIED IDEOGRAPH
+  {0xDC8C, 0x8ED0}, //15955 #CJK UNIFIED IDEOGRAPH
+  {0xDC8D, 0x8ED1}, //15956 #CJK UNIFIED IDEOGRAPH
+  {0xDC8E, 0x8ED2}, //15957 #CJK UNIFIED IDEOGRAPH
+  {0xDC8F, 0x8ED3}, //15958 #CJK UNIFIED IDEOGRAPH
+  {0xDC90, 0x8ED4}, //15959 #CJK UNIFIED IDEOGRAPH
+  {0xDC91, 0x8ED5}, //15960 #CJK UNIFIED IDEOGRAPH
+  {0xDC92, 0x8ED6}, //15961 #CJK UNIFIED IDEOGRAPH
+  {0xDC93, 0x8ED7}, //15962 #CJK UNIFIED IDEOGRAPH
+  {0xDC94, 0x8ED8}, //15963 #CJK UNIFIED IDEOGRAPH
+  {0xDC95, 0x8ED9}, //15964 #CJK UNIFIED IDEOGRAPH
+  {0xDC96, 0x8EDA}, //15965 #CJK UNIFIED IDEOGRAPH
+  {0xDC97, 0x8EDB}, //15966 #CJK UNIFIED IDEOGRAPH
+  {0xDC98, 0x8EDC}, //15967 #CJK UNIFIED IDEOGRAPH
+  {0xDC99, 0x8EDD}, //15968 #CJK UNIFIED IDEOGRAPH
+  {0xDC9A, 0x8EDE}, //15969 #CJK UNIFIED IDEOGRAPH
+  {0xDC9B, 0x8EDF}, //15970 #CJK UNIFIED IDEOGRAPH
+  {0xDC9C, 0x8EE0}, //15971 #CJK UNIFIED IDEOGRAPH
+  {0xDC9D, 0x8EE1}, //15972 #CJK UNIFIED IDEOGRAPH
+  {0xDC9E, 0x8EE2}, //15973 #CJK UNIFIED IDEOGRAPH
+  {0xDC9F, 0x8EE3}, //15974 #CJK UNIFIED IDEOGRAPH
+  {0xDCA0, 0x8EE4}, //15975 #CJK UNIFIED IDEOGRAPH
+  {0xDCA1, 0x580B}, //15976 #CJK UNIFIED IDEOGRAPH
+  {0xDCA2, 0x580D}, //15977 #CJK UNIFIED IDEOGRAPH
+  {0xDCA3, 0x57FD}, //15978 #CJK UNIFIED IDEOGRAPH
+  {0xDCA4, 0x57ED}, //15979 #CJK UNIFIED IDEOGRAPH
+  {0xDCA5, 0x5800}, //15980 #CJK UNIFIED IDEOGRAPH
+  {0xDCA6, 0x581E}, //15981 #CJK UNIFIED IDEOGRAPH
+  {0xDCA7, 0x5819}, //15982 #CJK UNIFIED IDEOGRAPH
+  {0xDCA8, 0x5844}, //15983 #CJK UNIFIED IDEOGRAPH
+  {0xDCA9, 0x5820}, //15984 #CJK UNIFIED IDEOGRAPH
+  {0xDCAA, 0x5865}, //15985 #CJK UNIFIED IDEOGRAPH
+  {0xDCAB, 0x586C}, //15986 #CJK UNIFIED IDEOGRAPH
+  {0xDCAC, 0x5881}, //15987 #CJK UNIFIED IDEOGRAPH
+  {0xDCAD, 0x5889}, //15988 #CJK UNIFIED IDEOGRAPH
+  {0xDCAE, 0x589A}, //15989 #CJK UNIFIED IDEOGRAPH
+  {0xDCAF, 0x5880}, //15990 #CJK UNIFIED IDEOGRAPH
+  {0xDCB0, 0x99A8}, //15991 #CJK UNIFIED IDEOGRAPH
+  {0xDCB1, 0x9F19}, //15992 #CJK UNIFIED IDEOGRAPH
+  {0xDCB2, 0x61FF}, //15993 #CJK UNIFIED IDEOGRAPH
+  {0xDCB3, 0x8279}, //15994 #CJK UNIFIED IDEOGRAPH
+  {0xDCB4, 0x827D}, //15995 #CJK UNIFIED IDEOGRAPH
+  {0xDCB5, 0x827F}, //15996 #CJK UNIFIED IDEOGRAPH
+  {0xDCB6, 0x828F}, //15997 #CJK UNIFIED IDEOGRAPH
+  {0xDCB7, 0x828A}, //15998 #CJK UNIFIED IDEOGRAPH
+  {0xDCB8, 0x82A8}, //15999 #CJK UNIFIED IDEOGRAPH
+  {0xDCB9, 0x8284}, //16000 #CJK UNIFIED IDEOGRAPH
+  {0xDCBA, 0x828E}, //16001 #CJK UNIFIED IDEOGRAPH
+  {0xDCBB, 0x8291}, //16002 #CJK UNIFIED IDEOGRAPH
+  {0xDCBC, 0x8297}, //16003 #CJK UNIFIED IDEOGRAPH
+  {0xDCBD, 0x8299}, //16004 #CJK UNIFIED IDEOGRAPH
+  {0xDCBE, 0x82AB}, //16005 #CJK UNIFIED IDEOGRAPH
+  {0xDCBF, 0x82B8}, //16006 #CJK UNIFIED IDEOGRAPH
+  {0xDCC0, 0x82BE}, //16007 #CJK UNIFIED IDEOGRAPH
+  {0xDCC1, 0x82B0}, //16008 #CJK UNIFIED IDEOGRAPH
+  {0xDCC2, 0x82C8}, //16009 #CJK UNIFIED IDEOGRAPH
+  {0xDCC3, 0x82CA}, //16010 #CJK UNIFIED IDEOGRAPH
+  {0xDCC4, 0x82E3}, //16011 #CJK UNIFIED IDEOGRAPH
+  {0xDCC5, 0x8298}, //16012 #CJK UNIFIED IDEOGRAPH
+  {0xDCC6, 0x82B7}, //16013 #CJK UNIFIED IDEOGRAPH
+  {0xDCC7, 0x82AE}, //16014 #CJK UNIFIED IDEOGRAPH
+  {0xDCC8, 0x82CB}, //16015 #CJK UNIFIED IDEOGRAPH
+  {0xDCC9, 0x82CC}, //16016 #CJK UNIFIED IDEOGRAPH
+  {0xDCCA, 0x82C1}, //16017 #CJK UNIFIED IDEOGRAPH
+  {0xDCCB, 0x82A9}, //16018 #CJK UNIFIED IDEOGRAPH
+  {0xDCCC, 0x82B4}, //16019 #CJK UNIFIED IDEOGRAPH
+  {0xDCCD, 0x82A1}, //16020 #CJK UNIFIED IDEOGRAPH
+  {0xDCCE, 0x82AA}, //16021 #CJK UNIFIED IDEOGRAPH
+  {0xDCCF, 0x829F}, //16022 #CJK UNIFIED IDEOGRAPH
+  {0xDCD0, 0x82C4}, //16023 #CJK UNIFIED IDEOGRAPH
+  {0xDCD1, 0x82CE}, //16024 #CJK UNIFIED IDEOGRAPH
+  {0xDCD2, 0x82A4}, //16025 #CJK UNIFIED IDEOGRAPH
+  {0xDCD3, 0x82E1}, //16026 #CJK UNIFIED IDEOGRAPH
+  {0xDCD4, 0x8309}, //16027 #CJK UNIFIED IDEOGRAPH
+  {0xDCD5, 0x82F7}, //16028 #CJK UNIFIED IDEOGRAPH
+  {0xDCD6, 0x82E4}, //16029 #CJK UNIFIED IDEOGRAPH
+  {0xDCD7, 0x830F}, //16030 #CJK UNIFIED IDEOGRAPH
+  {0xDCD8, 0x8307}, //16031 #CJK UNIFIED IDEOGRAPH
+  {0xDCD9, 0x82DC}, //16032 #CJK UNIFIED IDEOGRAPH
+  {0xDCDA, 0x82F4}, //16033 #CJK UNIFIED IDEOGRAPH
+  {0xDCDB, 0x82D2}, //16034 #CJK UNIFIED IDEOGRAPH
+  {0xDCDC, 0x82D8}, //16035 #CJK UNIFIED IDEOGRAPH
+  {0xDCDD, 0x830C}, //16036 #CJK UNIFIED IDEOGRAPH
+  {0xDCDE, 0x82FB}, //16037 #CJK UNIFIED IDEOGRAPH
+  {0xDCDF, 0x82D3}, //16038 #CJK UNIFIED IDEOGRAPH
+  {0xDCE0, 0x8311}, //16039 #CJK UNIFIED IDEOGRAPH
+  {0xDCE1, 0x831A}, //16040 #CJK UNIFIED IDEOGRAPH
+  {0xDCE2, 0x8306}, //16041 #CJK UNIFIED IDEOGRAPH
+  {0xDCE3, 0x8314}, //16042 #CJK UNIFIED IDEOGRAPH
+  {0xDCE4, 0x8315}, //16043 #CJK UNIFIED IDEOGRAPH
+  {0xDCE5, 0x82E0}, //16044 #CJK UNIFIED IDEOGRAPH
+  {0xDCE6, 0x82D5}, //16045 #CJK UNIFIED IDEOGRAPH
+  {0xDCE7, 0x831C}, //16046 #CJK UNIFIED IDEOGRAPH
+  {0xDCE8, 0x8351}, //16047 #CJK UNIFIED IDEOGRAPH
+  {0xDCE9, 0x835B}, //16048 #CJK UNIFIED IDEOGRAPH
+  {0xDCEA, 0x835C}, //16049 #CJK UNIFIED IDEOGRAPH
+  {0xDCEB, 0x8308}, //16050 #CJK UNIFIED IDEOGRAPH
+  {0xDCEC, 0x8392}, //16051 #CJK UNIFIED IDEOGRAPH
+  {0xDCED, 0x833C}, //16052 #CJK UNIFIED IDEOGRAPH
+  {0xDCEE, 0x8334}, //16053 #CJK UNIFIED IDEOGRAPH
+  {0xDCEF, 0x8331}, //16054 #CJK UNIFIED IDEOGRAPH
+  {0xDCF0, 0x839B}, //16055 #CJK UNIFIED IDEOGRAPH
+  {0xDCF1, 0x835E}, //16056 #CJK UNIFIED IDEOGRAPH
+  {0xDCF2, 0x832F}, //16057 #CJK UNIFIED IDEOGRAPH
+  {0xDCF3, 0x834F}, //16058 #CJK UNIFIED IDEOGRAPH
+  {0xDCF4, 0x8347}, //16059 #CJK UNIFIED IDEOGRAPH
+  {0xDCF5, 0x8343}, //16060 #CJK UNIFIED IDEOGRAPH
+  {0xDCF6, 0x835F}, //16061 #CJK UNIFIED IDEOGRAPH
+  {0xDCF7, 0x8340}, //16062 #CJK UNIFIED IDEOGRAPH
+  {0xDCF8, 0x8317}, //16063 #CJK UNIFIED IDEOGRAPH
+  {0xDCF9, 0x8360}, //16064 #CJK UNIFIED IDEOGRAPH
+  {0xDCFA, 0x832D}, //16065 #CJK UNIFIED IDEOGRAPH
+  {0xDCFB, 0x833A}, //16066 #CJK UNIFIED IDEOGRAPH
+  {0xDCFC, 0x8333}, //16067 #CJK UNIFIED IDEOGRAPH
+  {0xDCFD, 0x8366}, //16068 #CJK UNIFIED IDEOGRAPH
+  {0xDCFE, 0x8365}, //16069 #CJK UNIFIED IDEOGRAPH
+  {0xDD40, 0x8EE5}, //16070 #CJK UNIFIED IDEOGRAPH
+  {0xDD41, 0x8EE6}, //16071 #CJK UNIFIED IDEOGRAPH
+  {0xDD42, 0x8EE7}, //16072 #CJK UNIFIED IDEOGRAPH
+  {0xDD43, 0x8EE8}, //16073 #CJK UNIFIED IDEOGRAPH
+  {0xDD44, 0x8EE9}, //16074 #CJK UNIFIED IDEOGRAPH
+  {0xDD45, 0x8EEA}, //16075 #CJK UNIFIED IDEOGRAPH
+  {0xDD46, 0x8EEB}, //16076 #CJK UNIFIED IDEOGRAPH
+  {0xDD47, 0x8EEC}, //16077 #CJK UNIFIED IDEOGRAPH
+  {0xDD48, 0x8EED}, //16078 #CJK UNIFIED IDEOGRAPH
+  {0xDD49, 0x8EEE}, //16079 #CJK UNIFIED IDEOGRAPH
+  {0xDD4A, 0x8EEF}, //16080 #CJK UNIFIED IDEOGRAPH
+  {0xDD4B, 0x8EF0}, //16081 #CJK UNIFIED IDEOGRAPH
+  {0xDD4C, 0x8EF1}, //16082 #CJK UNIFIED IDEOGRAPH
+  {0xDD4D, 0x8EF2}, //16083 #CJK UNIFIED IDEOGRAPH
+  {0xDD4E, 0x8EF3}, //16084 #CJK UNIFIED IDEOGRAPH
+  {0xDD4F, 0x8EF4}, //16085 #CJK UNIFIED IDEOGRAPH
+  {0xDD50, 0x8EF5}, //16086 #CJK UNIFIED IDEOGRAPH
+  {0xDD51, 0x8EF6}, //16087 #CJK UNIFIED IDEOGRAPH
+  {0xDD52, 0x8EF7}, //16088 #CJK UNIFIED IDEOGRAPH
+  {0xDD53, 0x8EF8}, //16089 #CJK UNIFIED IDEOGRAPH
+  {0xDD54, 0x8EF9}, //16090 #CJK UNIFIED IDEOGRAPH
+  {0xDD55, 0x8EFA}, //16091 #CJK UNIFIED IDEOGRAPH
+  {0xDD56, 0x8EFB}, //16092 #CJK UNIFIED IDEOGRAPH
+  {0xDD57, 0x8EFC}, //16093 #CJK UNIFIED IDEOGRAPH
+  {0xDD58, 0x8EFD}, //16094 #CJK UNIFIED IDEOGRAPH
+  {0xDD59, 0x8EFE}, //16095 #CJK UNIFIED IDEOGRAPH
+  {0xDD5A, 0x8EFF}, //16096 #CJK UNIFIED IDEOGRAPH
+  {0xDD5B, 0x8F00}, //16097 #CJK UNIFIED IDEOGRAPH
+  {0xDD5C, 0x8F01}, //16098 #CJK UNIFIED IDEOGRAPH
+  {0xDD5D, 0x8F02}, //16099 #CJK UNIFIED IDEOGRAPH
+  {0xDD5E, 0x8F03}, //16100 #CJK UNIFIED IDEOGRAPH
+  {0xDD5F, 0x8F04}, //16101 #CJK UNIFIED IDEOGRAPH
+  {0xDD60, 0x8F05}, //16102 #CJK UNIFIED IDEOGRAPH
+  {0xDD61, 0x8F06}, //16103 #CJK UNIFIED IDEOGRAPH
+  {0xDD62, 0x8F07}, //16104 #CJK UNIFIED IDEOGRAPH
+  {0xDD63, 0x8F08}, //16105 #CJK UNIFIED IDEOGRAPH
+  {0xDD64, 0x8F09}, //16106 #CJK UNIFIED IDEOGRAPH
+  {0xDD65, 0x8F0A}, //16107 #CJK UNIFIED IDEOGRAPH
+  {0xDD66, 0x8F0B}, //16108 #CJK UNIFIED IDEOGRAPH
+  {0xDD67, 0x8F0C}, //16109 #CJK UNIFIED IDEOGRAPH
+  {0xDD68, 0x8F0D}, //16110 #CJK UNIFIED IDEOGRAPH
+  {0xDD69, 0x8F0E}, //16111 #CJK UNIFIED IDEOGRAPH
+  {0xDD6A, 0x8F0F}, //16112 #CJK UNIFIED IDEOGRAPH
+  {0xDD6B, 0x8F10}, //16113 #CJK UNIFIED IDEOGRAPH
+  {0xDD6C, 0x8F11}, //16114 #CJK UNIFIED IDEOGRAPH
+  {0xDD6D, 0x8F12}, //16115 #CJK UNIFIED IDEOGRAPH
+  {0xDD6E, 0x8F13}, //16116 #CJK UNIFIED IDEOGRAPH
+  {0xDD6F, 0x8F14}, //16117 #CJK UNIFIED IDEOGRAPH
+  {0xDD70, 0x8F15}, //16118 #CJK UNIFIED IDEOGRAPH
+  {0xDD71, 0x8F16}, //16119 #CJK UNIFIED IDEOGRAPH
+  {0xDD72, 0x8F17}, //16120 #CJK UNIFIED IDEOGRAPH
+  {0xDD73, 0x8F18}, //16121 #CJK UNIFIED IDEOGRAPH
+  {0xDD74, 0x8F19}, //16122 #CJK UNIFIED IDEOGRAPH
+  {0xDD75, 0x8F1A}, //16123 #CJK UNIFIED IDEOGRAPH
+  {0xDD76, 0x8F1B}, //16124 #CJK UNIFIED IDEOGRAPH
+  {0xDD77, 0x8F1C}, //16125 #CJK UNIFIED IDEOGRAPH
+  {0xDD78, 0x8F1D}, //16126 #CJK UNIFIED IDEOGRAPH
+  {0xDD79, 0x8F1E}, //16127 #CJK UNIFIED IDEOGRAPH
+  {0xDD7A, 0x8F1F}, //16128 #CJK UNIFIED IDEOGRAPH
+  {0xDD7B, 0x8F20}, //16129 #CJK UNIFIED IDEOGRAPH
+  {0xDD7C, 0x8F21}, //16130 #CJK UNIFIED IDEOGRAPH
+  {0xDD7D, 0x8F22}, //16131 #CJK UNIFIED IDEOGRAPH
+  {0xDD7E, 0x8F23}, //16132 #CJK UNIFIED IDEOGRAPH
+  {0xDD80, 0x8F24}, //16133 #CJK UNIFIED IDEOGRAPH
+  {0xDD81, 0x8F25}, //16134 #CJK UNIFIED IDEOGRAPH
+  {0xDD82, 0x8F26}, //16135 #CJK UNIFIED IDEOGRAPH
+  {0xDD83, 0x8F27}, //16136 #CJK UNIFIED IDEOGRAPH
+  {0xDD84, 0x8F28}, //16137 #CJK UNIFIED IDEOGRAPH
+  {0xDD85, 0x8F29}, //16138 #CJK UNIFIED IDEOGRAPH
+  {0xDD86, 0x8F2A}, //16139 #CJK UNIFIED IDEOGRAPH
+  {0xDD87, 0x8F2B}, //16140 #CJK UNIFIED IDEOGRAPH
+  {0xDD88, 0x8F2C}, //16141 #CJK UNIFIED IDEOGRAPH
+  {0xDD89, 0x8F2D}, //16142 #CJK UNIFIED IDEOGRAPH
+  {0xDD8A, 0x8F2E}, //16143 #CJK UNIFIED IDEOGRAPH
+  {0xDD8B, 0x8F2F}, //16144 #CJK UNIFIED IDEOGRAPH
+  {0xDD8C, 0x8F30}, //16145 #CJK UNIFIED IDEOGRAPH
+  {0xDD8D, 0x8F31}, //16146 #CJK UNIFIED IDEOGRAPH
+  {0xDD8E, 0x8F32}, //16147 #CJK UNIFIED IDEOGRAPH
+  {0xDD8F, 0x8F33}, //16148 #CJK UNIFIED IDEOGRAPH
+  {0xDD90, 0x8F34}, //16149 #CJK UNIFIED IDEOGRAPH
+  {0xDD91, 0x8F35}, //16150 #CJK UNIFIED IDEOGRAPH
+  {0xDD92, 0x8F36}, //16151 #CJK UNIFIED IDEOGRAPH
+  {0xDD93, 0x8F37}, //16152 #CJK UNIFIED IDEOGRAPH
+  {0xDD94, 0x8F38}, //16153 #CJK UNIFIED IDEOGRAPH
+  {0xDD95, 0x8F39}, //16154 #CJK UNIFIED IDEOGRAPH
+  {0xDD96, 0x8F3A}, //16155 #CJK UNIFIED IDEOGRAPH
+  {0xDD97, 0x8F3B}, //16156 #CJK UNIFIED IDEOGRAPH
+  {0xDD98, 0x8F3C}, //16157 #CJK UNIFIED IDEOGRAPH
+  {0xDD99, 0x8F3D}, //16158 #CJK UNIFIED IDEOGRAPH
+  {0xDD9A, 0x8F3E}, //16159 #CJK UNIFIED IDEOGRAPH
+  {0xDD9B, 0x8F3F}, //16160 #CJK UNIFIED IDEOGRAPH
+  {0xDD9C, 0x8F40}, //16161 #CJK UNIFIED IDEOGRAPH
+  {0xDD9D, 0x8F41}, //16162 #CJK UNIFIED IDEOGRAPH
+  {0xDD9E, 0x8F42}, //16163 #CJK UNIFIED IDEOGRAPH
+  {0xDD9F, 0x8F43}, //16164 #CJK UNIFIED IDEOGRAPH
+  {0xDDA0, 0x8F44}, //16165 #CJK UNIFIED IDEOGRAPH
+  {0xDDA1, 0x8368}, //16166 #CJK UNIFIED IDEOGRAPH
+  {0xDDA2, 0x831B}, //16167 #CJK UNIFIED IDEOGRAPH
+  {0xDDA3, 0x8369}, //16168 #CJK UNIFIED IDEOGRAPH
+  {0xDDA4, 0x836C}, //16169 #CJK UNIFIED IDEOGRAPH
+  {0xDDA5, 0x836A}, //16170 #CJK UNIFIED IDEOGRAPH
+  {0xDDA6, 0x836D}, //16171 #CJK UNIFIED IDEOGRAPH
+  {0xDDA7, 0x836E}, //16172 #CJK UNIFIED IDEOGRAPH
+  {0xDDA8, 0x83B0}, //16173 #CJK UNIFIED IDEOGRAPH
+  {0xDDA9, 0x8378}, //16174 #CJK UNIFIED IDEOGRAPH
+  {0xDDAA, 0x83B3}, //16175 #CJK UNIFIED IDEOGRAPH
+  {0xDDAB, 0x83B4}, //16176 #CJK UNIFIED IDEOGRAPH
+  {0xDDAC, 0x83A0}, //16177 #CJK UNIFIED IDEOGRAPH
+  {0xDDAD, 0x83AA}, //16178 #CJK UNIFIED IDEOGRAPH
+  {0xDDAE, 0x8393}, //16179 #CJK UNIFIED IDEOGRAPH
+  {0xDDAF, 0x839C}, //16180 #CJK UNIFIED IDEOGRAPH
+  {0xDDB0, 0x8385}, //16181 #CJK UNIFIED IDEOGRAPH
+  {0xDDB1, 0x837C}, //16182 #CJK UNIFIED IDEOGRAPH
+  {0xDDB2, 0x83B6}, //16183 #CJK UNIFIED IDEOGRAPH
+  {0xDDB3, 0x83A9}, //16184 #CJK UNIFIED IDEOGRAPH
+  {0xDDB4, 0x837D}, //16185 #CJK UNIFIED IDEOGRAPH
+  {0xDDB5, 0x83B8}, //16186 #CJK UNIFIED IDEOGRAPH
+  {0xDDB6, 0x837B}, //16187 #CJK UNIFIED IDEOGRAPH
+  {0xDDB7, 0x8398}, //16188 #CJK UNIFIED IDEOGRAPH
+  {0xDDB8, 0x839E}, //16189 #CJK UNIFIED IDEOGRAPH
+  {0xDDB9, 0x83A8}, //16190 #CJK UNIFIED IDEOGRAPH
+  {0xDDBA, 0x83BA}, //16191 #CJK UNIFIED IDEOGRAPH
+  {0xDDBB, 0x83BC}, //16192 #CJK UNIFIED IDEOGRAPH
+  {0xDDBC, 0x83C1}, //16193 #CJK UNIFIED IDEOGRAPH
+  {0xDDBD, 0x8401}, //16194 #CJK UNIFIED IDEOGRAPH
+  {0xDDBE, 0x83E5}, //16195 #CJK UNIFIED IDEOGRAPH
+  {0xDDBF, 0x83D8}, //16196 #CJK UNIFIED IDEOGRAPH
+  {0xDDC0, 0x5807}, //16197 #CJK UNIFIED IDEOGRAPH
+  {0xDDC1, 0x8418}, //16198 #CJK UNIFIED IDEOGRAPH
+  {0xDDC2, 0x840B}, //16199 #CJK UNIFIED IDEOGRAPH
+  {0xDDC3, 0x83DD}, //16200 #CJK UNIFIED IDEOGRAPH
+  {0xDDC4, 0x83FD}, //16201 #CJK UNIFIED IDEOGRAPH
+  {0xDDC5, 0x83D6}, //16202 #CJK UNIFIED IDEOGRAPH
+  {0xDDC6, 0x841C}, //16203 #CJK UNIFIED IDEOGRAPH
+  {0xDDC7, 0x8438}, //16204 #CJK UNIFIED IDEOGRAPH
+  {0xDDC8, 0x8411}, //16205 #CJK UNIFIED IDEOGRAPH
+  {0xDDC9, 0x8406}, //16206 #CJK UNIFIED IDEOGRAPH
+  {0xDDCA, 0x83D4}, //16207 #CJK UNIFIED IDEOGRAPH
+  {0xDDCB, 0x83DF}, //16208 #CJK UNIFIED IDEOGRAPH
+  {0xDDCC, 0x840F}, //16209 #CJK UNIFIED IDEOGRAPH
+  {0xDDCD, 0x8403}, //16210 #CJK UNIFIED IDEOGRAPH
+  {0xDDCE, 0x83F8}, //16211 #CJK UNIFIED IDEOGRAPH
+  {0xDDCF, 0x83F9}, //16212 #CJK UNIFIED IDEOGRAPH
+  {0xDDD0, 0x83EA}, //16213 #CJK UNIFIED IDEOGRAPH
+  {0xDDD1, 0x83C5}, //16214 #CJK UNIFIED IDEOGRAPH
+  {0xDDD2, 0x83C0}, //16215 #CJK UNIFIED IDEOGRAPH
+  {0xDDD3, 0x8426}, //16216 #CJK UNIFIED IDEOGRAPH
+  {0xDDD4, 0x83F0}, //16217 #CJK UNIFIED IDEOGRAPH
+  {0xDDD5, 0x83E1}, //16218 #CJK UNIFIED IDEOGRAPH
+  {0xDDD6, 0x845C}, //16219 #CJK UNIFIED IDEOGRAPH
+  {0xDDD7, 0x8451}, //16220 #CJK UNIFIED IDEOGRAPH
+  {0xDDD8, 0x845A}, //16221 #CJK UNIFIED IDEOGRAPH
+  {0xDDD9, 0x8459}, //16222 #CJK UNIFIED IDEOGRAPH
+  {0xDDDA, 0x8473}, //16223 #CJK UNIFIED IDEOGRAPH
+  {0xDDDB, 0x8487}, //16224 #CJK UNIFIED IDEOGRAPH
+  {0xDDDC, 0x8488}, //16225 #CJK UNIFIED IDEOGRAPH
+  {0xDDDD, 0x847A}, //16226 #CJK UNIFIED IDEOGRAPH
+  {0xDDDE, 0x8489}, //16227 #CJK UNIFIED IDEOGRAPH
+  {0xDDDF, 0x8478}, //16228 #CJK UNIFIED IDEOGRAPH
+  {0xDDE0, 0x843C}, //16229 #CJK UNIFIED IDEOGRAPH
+  {0xDDE1, 0x8446}, //16230 #CJK UNIFIED IDEOGRAPH
+  {0xDDE2, 0x8469}, //16231 #CJK UNIFIED IDEOGRAPH
+  {0xDDE3, 0x8476}, //16232 #CJK UNIFIED IDEOGRAPH
+  {0xDDE4, 0x848C}, //16233 #CJK UNIFIED IDEOGRAPH
+  {0xDDE5, 0x848E}, //16234 #CJK UNIFIED IDEOGRAPH
+  {0xDDE6, 0x8431}, //16235 #CJK UNIFIED IDEOGRAPH
+  {0xDDE7, 0x846D}, //16236 #CJK UNIFIED IDEOGRAPH
+  {0xDDE8, 0x84C1}, //16237 #CJK UNIFIED IDEOGRAPH
+  {0xDDE9, 0x84CD}, //16238 #CJK UNIFIED IDEOGRAPH
+  {0xDDEA, 0x84D0}, //16239 #CJK UNIFIED IDEOGRAPH
+  {0xDDEB, 0x84E6}, //16240 #CJK UNIFIED IDEOGRAPH
+  {0xDDEC, 0x84BD}, //16241 #CJK UNIFIED IDEOGRAPH
+  {0xDDED, 0x84D3}, //16242 #CJK UNIFIED IDEOGRAPH
+  {0xDDEE, 0x84CA}, //16243 #CJK UNIFIED IDEOGRAPH
+  {0xDDEF, 0x84BF}, //16244 #CJK UNIFIED IDEOGRAPH
+  {0xDDF0, 0x84BA}, //16245 #CJK UNIFIED IDEOGRAPH
+  {0xDDF1, 0x84E0}, //16246 #CJK UNIFIED IDEOGRAPH
+  {0xDDF2, 0x84A1}, //16247 #CJK UNIFIED IDEOGRAPH
+  {0xDDF3, 0x84B9}, //16248 #CJK UNIFIED IDEOGRAPH
+  {0xDDF4, 0x84B4}, //16249 #CJK UNIFIED IDEOGRAPH
+  {0xDDF5, 0x8497}, //16250 #CJK UNIFIED IDEOGRAPH
+  {0xDDF6, 0x84E5}, //16251 #CJK UNIFIED IDEOGRAPH
+  {0xDDF7, 0x84E3}, //16252 #CJK UNIFIED IDEOGRAPH
+  {0xDDF8, 0x850C}, //16253 #CJK UNIFIED IDEOGRAPH
+  {0xDDF9, 0x750D}, //16254 #CJK UNIFIED IDEOGRAPH
+  {0xDDFA, 0x8538}, //16255 #CJK UNIFIED IDEOGRAPH
+  {0xDDFB, 0x84F0}, //16256 #CJK UNIFIED IDEOGRAPH
+  {0xDDFC, 0x8539}, //16257 #CJK UNIFIED IDEOGRAPH
+  {0xDDFD, 0x851F}, //16258 #CJK UNIFIED IDEOGRAPH
+  {0xDDFE, 0x853A}, //16259 #CJK UNIFIED IDEOGRAPH
+  {0xDE40, 0x8F45}, //16260 #CJK UNIFIED IDEOGRAPH
+  {0xDE41, 0x8F46}, //16261 #CJK UNIFIED IDEOGRAPH
+  {0xDE42, 0x8F47}, //16262 #CJK UNIFIED IDEOGRAPH
+  {0xDE43, 0x8F48}, //16263 #CJK UNIFIED IDEOGRAPH
+  {0xDE44, 0x8F49}, //16264 #CJK UNIFIED IDEOGRAPH
+  {0xDE45, 0x8F4A}, //16265 #CJK UNIFIED IDEOGRAPH
+  {0xDE46, 0x8F4B}, //16266 #CJK UNIFIED IDEOGRAPH
+  {0xDE47, 0x8F4C}, //16267 #CJK UNIFIED IDEOGRAPH
+  {0xDE48, 0x8F4D}, //16268 #CJK UNIFIED IDEOGRAPH
+  {0xDE49, 0x8F4E}, //16269 #CJK UNIFIED IDEOGRAPH
+  {0xDE4A, 0x8F4F}, //16270 #CJK UNIFIED IDEOGRAPH
+  {0xDE4B, 0x8F50}, //16271 #CJK UNIFIED IDEOGRAPH
+  {0xDE4C, 0x8F51}, //16272 #CJK UNIFIED IDEOGRAPH
+  {0xDE4D, 0x8F52}, //16273 #CJK UNIFIED IDEOGRAPH
+  {0xDE4E, 0x8F53}, //16274 #CJK UNIFIED IDEOGRAPH
+  {0xDE4F, 0x8F54}, //16275 #CJK UNIFIED IDEOGRAPH
+  {0xDE50, 0x8F55}, //16276 #CJK UNIFIED IDEOGRAPH
+  {0xDE51, 0x8F56}, //16277 #CJK UNIFIED IDEOGRAPH
+  {0xDE52, 0x8F57}, //16278 #CJK UNIFIED IDEOGRAPH
+  {0xDE53, 0x8F58}, //16279 #CJK UNIFIED IDEOGRAPH
+  {0xDE54, 0x8F59}, //16280 #CJK UNIFIED IDEOGRAPH
+  {0xDE55, 0x8F5A}, //16281 #CJK UNIFIED IDEOGRAPH
+  {0xDE56, 0x8F5B}, //16282 #CJK UNIFIED IDEOGRAPH
+  {0xDE57, 0x8F5C}, //16283 #CJK UNIFIED IDEOGRAPH
+  {0xDE58, 0x8F5D}, //16284 #CJK UNIFIED IDEOGRAPH
+  {0xDE59, 0x8F5E}, //16285 #CJK UNIFIED IDEOGRAPH
+  {0xDE5A, 0x8F5F}, //16286 #CJK UNIFIED IDEOGRAPH
+  {0xDE5B, 0x8F60}, //16287 #CJK UNIFIED IDEOGRAPH
+  {0xDE5C, 0x8F61}, //16288 #CJK UNIFIED IDEOGRAPH
+  {0xDE5D, 0x8F62}, //16289 #CJK UNIFIED IDEOGRAPH
+  {0xDE5E, 0x8F63}, //16290 #CJK UNIFIED IDEOGRAPH
+  {0xDE5F, 0x8F64}, //16291 #CJK UNIFIED IDEOGRAPH
+  {0xDE60, 0x8F65}, //16292 #CJK UNIFIED IDEOGRAPH
+  {0xDE61, 0x8F6A}, //16293 #CJK UNIFIED IDEOGRAPH
+  {0xDE62, 0x8F80}, //16294 #CJK UNIFIED IDEOGRAPH
+  {0xDE63, 0x8F8C}, //16295 #CJK UNIFIED IDEOGRAPH
+  {0xDE64, 0x8F92}, //16296 #CJK UNIFIED IDEOGRAPH
+  {0xDE65, 0x8F9D}, //16297 #CJK UNIFIED IDEOGRAPH
+  {0xDE66, 0x8FA0}, //16298 #CJK UNIFIED IDEOGRAPH
+  {0xDE67, 0x8FA1}, //16299 #CJK UNIFIED IDEOGRAPH
+  {0xDE68, 0x8FA2}, //16300 #CJK UNIFIED IDEOGRAPH
+  {0xDE69, 0x8FA4}, //16301 #CJK UNIFIED IDEOGRAPH
+  {0xDE6A, 0x8FA5}, //16302 #CJK UNIFIED IDEOGRAPH
+  {0xDE6B, 0x8FA6}, //16303 #CJK UNIFIED IDEOGRAPH
+  {0xDE6C, 0x8FA7}, //16304 #CJK UNIFIED IDEOGRAPH
+  {0xDE6D, 0x8FAA}, //16305 #CJK UNIFIED IDEOGRAPH
+  {0xDE6E, 0x8FAC}, //16306 #CJK UNIFIED IDEOGRAPH
+  {0xDE6F, 0x8FAD}, //16307 #CJK UNIFIED IDEOGRAPH
+  {0xDE70, 0x8FAE}, //16308 #CJK UNIFIED IDEOGRAPH
+  {0xDE71, 0x8FAF}, //16309 #CJK UNIFIED IDEOGRAPH
+  {0xDE72, 0x8FB2}, //16310 #CJK UNIFIED IDEOGRAPH
+  {0xDE73, 0x8FB3}, //16311 #CJK UNIFIED IDEOGRAPH
+  {0xDE74, 0x8FB4}, //16312 #CJK UNIFIED IDEOGRAPH
+  {0xDE75, 0x8FB5}, //16313 #CJK UNIFIED IDEOGRAPH
+  {0xDE76, 0x8FB7}, //16314 #CJK UNIFIED IDEOGRAPH
+  {0xDE77, 0x8FB8}, //16315 #CJK UNIFIED IDEOGRAPH
+  {0xDE78, 0x8FBA}, //16316 #CJK UNIFIED IDEOGRAPH
+  {0xDE79, 0x8FBB}, //16317 #CJK UNIFIED IDEOGRAPH
+  {0xDE7A, 0x8FBC}, //16318 #CJK UNIFIED IDEOGRAPH
+  {0xDE7B, 0x8FBF}, //16319 #CJK UNIFIED IDEOGRAPH
+  {0xDE7C, 0x8FC0}, //16320 #CJK UNIFIED IDEOGRAPH
+  {0xDE7D, 0x8FC3}, //16321 #CJK UNIFIED IDEOGRAPH
+  {0xDE7E, 0x8FC6}, //16322 #CJK UNIFIED IDEOGRAPH
+  {0xDE80, 0x8FC9}, //16323 #CJK UNIFIED IDEOGRAPH
+  {0xDE81, 0x8FCA}, //16324 #CJK UNIFIED IDEOGRAPH
+  {0xDE82, 0x8FCB}, //16325 #CJK UNIFIED IDEOGRAPH
+  {0xDE83, 0x8FCC}, //16326 #CJK UNIFIED IDEOGRAPH
+  {0xDE84, 0x8FCD}, //16327 #CJK UNIFIED IDEOGRAPH
+  {0xDE85, 0x8FCF}, //16328 #CJK UNIFIED IDEOGRAPH
+  {0xDE86, 0x8FD2}, //16329 #CJK UNIFIED IDEOGRAPH
+  {0xDE87, 0x8FD6}, //16330 #CJK UNIFIED IDEOGRAPH
+  {0xDE88, 0x8FD7}, //16331 #CJK UNIFIED IDEOGRAPH
+  {0xDE89, 0x8FDA}, //16332 #CJK UNIFIED IDEOGRAPH
+  {0xDE8A, 0x8FE0}, //16333 #CJK UNIFIED IDEOGRAPH
+  {0xDE8B, 0x8FE1}, //16334 #CJK UNIFIED IDEOGRAPH
+  {0xDE8C, 0x8FE3}, //16335 #CJK UNIFIED IDEOGRAPH
+  {0xDE8D, 0x8FE7}, //16336 #CJK UNIFIED IDEOGRAPH
+  {0xDE8E, 0x8FEC}, //16337 #CJK UNIFIED IDEOGRAPH
+  {0xDE8F, 0x8FEF}, //16338 #CJK UNIFIED IDEOGRAPH
+  {0xDE90, 0x8FF1}, //16339 #CJK UNIFIED IDEOGRAPH
+  {0xDE91, 0x8FF2}, //16340 #CJK UNIFIED IDEOGRAPH
+  {0xDE92, 0x8FF4}, //16341 #CJK UNIFIED IDEOGRAPH
+  {0xDE93, 0x8FF5}, //16342 #CJK UNIFIED IDEOGRAPH
+  {0xDE94, 0x8FF6}, //16343 #CJK UNIFIED IDEOGRAPH
+  {0xDE95, 0x8FFA}, //16344 #CJK UNIFIED IDEOGRAPH
+  {0xDE96, 0x8FFB}, //16345 #CJK UNIFIED IDEOGRAPH
+  {0xDE97, 0x8FFC}, //16346 #CJK UNIFIED IDEOGRAPH
+  {0xDE98, 0x8FFE}, //16347 #CJK UNIFIED IDEOGRAPH
+  {0xDE99, 0x8FFF}, //16348 #CJK UNIFIED IDEOGRAPH
+  {0xDE9A, 0x9007}, //16349 #CJK UNIFIED IDEOGRAPH
+  {0xDE9B, 0x9008}, //16350 #CJK UNIFIED IDEOGRAPH
+  {0xDE9C, 0x900C}, //16351 #CJK UNIFIED IDEOGRAPH
+  {0xDE9D, 0x900E}, //16352 #CJK UNIFIED IDEOGRAPH
+  {0xDE9E, 0x9013}, //16353 #CJK UNIFIED IDEOGRAPH
+  {0xDE9F, 0x9015}, //16354 #CJK UNIFIED IDEOGRAPH
+  {0xDEA0, 0x9018}, //16355 #CJK UNIFIED IDEOGRAPH
+  {0xDEA1, 0x8556}, //16356 #CJK UNIFIED IDEOGRAPH
+  {0xDEA2, 0x853B}, //16357 #CJK UNIFIED IDEOGRAPH
+  {0xDEA3, 0x84FF}, //16358 #CJK UNIFIED IDEOGRAPH
+  {0xDEA4, 0x84FC}, //16359 #CJK UNIFIED IDEOGRAPH
+  {0xDEA5, 0x8559}, //16360 #CJK UNIFIED IDEOGRAPH
+  {0xDEA6, 0x8548}, //16361 #CJK UNIFIED IDEOGRAPH
+  {0xDEA7, 0x8568}, //16362 #CJK UNIFIED IDEOGRAPH
+  {0xDEA8, 0x8564}, //16363 #CJK UNIFIED IDEOGRAPH
+  {0xDEA9, 0x855E}, //16364 #CJK UNIFIED IDEOGRAPH
+  {0xDEAA, 0x857A}, //16365 #CJK UNIFIED IDEOGRAPH
+  {0xDEAB, 0x77A2}, //16366 #CJK UNIFIED IDEOGRAPH
+  {0xDEAC, 0x8543}, //16367 #CJK UNIFIED IDEOGRAPH
+  {0xDEAD, 0x8572}, //16368 #CJK UNIFIED IDEOGRAPH
+  {0xDEAE, 0x857B}, //16369 #CJK UNIFIED IDEOGRAPH
+  {0xDEAF, 0x85A4}, //16370 #CJK UNIFIED IDEOGRAPH
+  {0xDEB0, 0x85A8}, //16371 #CJK UNIFIED IDEOGRAPH
+  {0xDEB1, 0x8587}, //16372 #CJK UNIFIED IDEOGRAPH
+  {0xDEB2, 0x858F}, //16373 #CJK UNIFIED IDEOGRAPH
+  {0xDEB3, 0x8579}, //16374 #CJK UNIFIED IDEOGRAPH
+  {0xDEB4, 0x85AE}, //16375 #CJK UNIFIED IDEOGRAPH
+  {0xDEB5, 0x859C}, //16376 #CJK UNIFIED IDEOGRAPH
+  {0xDEB6, 0x8585}, //16377 #CJK UNIFIED IDEOGRAPH
+  {0xDEB7, 0x85B9}, //16378 #CJK UNIFIED IDEOGRAPH
+  {0xDEB8, 0x85B7}, //16379 #CJK UNIFIED IDEOGRAPH
+  {0xDEB9, 0x85B0}, //16380 #CJK UNIFIED IDEOGRAPH
+  {0xDEBA, 0x85D3}, //16381 #CJK UNIFIED IDEOGRAPH
+  {0xDEBB, 0x85C1}, //16382 #CJK UNIFIED IDEOGRAPH
+  {0xDEBC, 0x85DC}, //16383 #CJK UNIFIED IDEOGRAPH
+  {0xDEBD, 0x85FF}, //16384 #CJK UNIFIED IDEOGRAPH
+  {0xDEBE, 0x8627}, //16385 #CJK UNIFIED IDEOGRAPH
+  {0xDEBF, 0x8605}, //16386 #CJK UNIFIED IDEOGRAPH
+  {0xDEC0, 0x8629}, //16387 #CJK UNIFIED IDEOGRAPH
+  {0xDEC1, 0x8616}, //16388 #CJK UNIFIED IDEOGRAPH
+  {0xDEC2, 0x863C}, //16389 #CJK UNIFIED IDEOGRAPH
+  {0xDEC3, 0x5EFE}, //16390 #CJK UNIFIED IDEOGRAPH
+  {0xDEC4, 0x5F08}, //16391 #CJK UNIFIED IDEOGRAPH
+  {0xDEC5, 0x593C}, //16392 #CJK UNIFIED IDEOGRAPH
+  {0xDEC6, 0x5941}, //16393 #CJK UNIFIED IDEOGRAPH
+  {0xDEC7, 0x8037}, //16394 #CJK UNIFIED IDEOGRAPH
+  {0xDEC8, 0x5955}, //16395 #CJK UNIFIED IDEOGRAPH
+  {0xDEC9, 0x595A}, //16396 #CJK UNIFIED IDEOGRAPH
+  {0xDECA, 0x5958}, //16397 #CJK UNIFIED IDEOGRAPH
+  {0xDECB, 0x530F}, //16398 #CJK UNIFIED IDEOGRAPH
+  {0xDECC, 0x5C22}, //16399 #CJK UNIFIED IDEOGRAPH
+  {0xDECD, 0x5C25}, //16400 #CJK UNIFIED IDEOGRAPH
+  {0xDECE, 0x5C2C}, //16401 #CJK UNIFIED IDEOGRAPH
+  {0xDECF, 0x5C34}, //16402 #CJK UNIFIED IDEOGRAPH
+  {0xDED0, 0x624C}, //16403 #CJK UNIFIED IDEOGRAPH
+  {0xDED1, 0x626A}, //16404 #CJK UNIFIED IDEOGRAPH
+  {0xDED2, 0x629F}, //16405 #CJK UNIFIED IDEOGRAPH
+  {0xDED3, 0x62BB}, //16406 #CJK UNIFIED IDEOGRAPH
+  {0xDED4, 0x62CA}, //16407 #CJK UNIFIED IDEOGRAPH
+  {0xDED5, 0x62DA}, //16408 #CJK UNIFIED IDEOGRAPH
+  {0xDED6, 0x62D7}, //16409 #CJK UNIFIED IDEOGRAPH
+  {0xDED7, 0x62EE}, //16410 #CJK UNIFIED IDEOGRAPH
+  {0xDED8, 0x6322}, //16411 #CJK UNIFIED IDEOGRAPH
+  {0xDED9, 0x62F6}, //16412 #CJK UNIFIED IDEOGRAPH
+  {0xDEDA, 0x6339}, //16413 #CJK UNIFIED IDEOGRAPH
+  {0xDEDB, 0x634B}, //16414 #CJK UNIFIED IDEOGRAPH
+  {0xDEDC, 0x6343}, //16415 #CJK UNIFIED IDEOGRAPH
+  {0xDEDD, 0x63AD}, //16416 #CJK UNIFIED IDEOGRAPH
+  {0xDEDE, 0x63F6}, //16417 #CJK UNIFIED IDEOGRAPH
+  {0xDEDF, 0x6371}, //16418 #CJK UNIFIED IDEOGRAPH
+  {0xDEE0, 0x637A}, //16419 #CJK UNIFIED IDEOGRAPH
+  {0xDEE1, 0x638E}, //16420 #CJK UNIFIED IDEOGRAPH
+  {0xDEE2, 0x63B4}, //16421 #CJK UNIFIED IDEOGRAPH
+  {0xDEE3, 0x636D}, //16422 #CJK UNIFIED IDEOGRAPH
+  {0xDEE4, 0x63AC}, //16423 #CJK UNIFIED IDEOGRAPH
+  {0xDEE5, 0x638A}, //16424 #CJK UNIFIED IDEOGRAPH
+  {0xDEE6, 0x6369}, //16425 #CJK UNIFIED IDEOGRAPH
+  {0xDEE7, 0x63AE}, //16426 #CJK UNIFIED IDEOGRAPH
+  {0xDEE8, 0x63BC}, //16427 #CJK UNIFIED IDEOGRAPH
+  {0xDEE9, 0x63F2}, //16428 #CJK UNIFIED IDEOGRAPH
+  {0xDEEA, 0x63F8}, //16429 #CJK UNIFIED IDEOGRAPH
+  {0xDEEB, 0x63E0}, //16430 #CJK UNIFIED IDEOGRAPH
+  {0xDEEC, 0x63FF}, //16431 #CJK UNIFIED IDEOGRAPH
+  {0xDEED, 0x63C4}, //16432 #CJK UNIFIED IDEOGRAPH
+  {0xDEEE, 0x63DE}, //16433 #CJK UNIFIED IDEOGRAPH
+  {0xDEEF, 0x63CE}, //16434 #CJK UNIFIED IDEOGRAPH
+  {0xDEF0, 0x6452}, //16435 #CJK UNIFIED IDEOGRAPH
+  {0xDEF1, 0x63C6}, //16436 #CJK UNIFIED IDEOGRAPH
+  {0xDEF2, 0x63BE}, //16437 #CJK UNIFIED IDEOGRAPH
+  {0xDEF3, 0x6445}, //16438 #CJK UNIFIED IDEOGRAPH
+  {0xDEF4, 0x6441}, //16439 #CJK UNIFIED IDEOGRAPH
+  {0xDEF5, 0x640B}, //16440 #CJK UNIFIED IDEOGRAPH
+  {0xDEF6, 0x641B}, //16441 #CJK UNIFIED IDEOGRAPH
+  {0xDEF7, 0x6420}, //16442 #CJK UNIFIED IDEOGRAPH
+  {0xDEF8, 0x640C}, //16443 #CJK UNIFIED IDEOGRAPH
+  {0xDEF9, 0x6426}, //16444 #CJK UNIFIED IDEOGRAPH
+  {0xDEFA, 0x6421}, //16445 #CJK UNIFIED IDEOGRAPH
+  {0xDEFB, 0x645E}, //16446 #CJK UNIFIED IDEOGRAPH
+  {0xDEFC, 0x6484}, //16447 #CJK UNIFIED IDEOGRAPH
+  {0xDEFD, 0x646D}, //16448 #CJK UNIFIED IDEOGRAPH
+  {0xDEFE, 0x6496}, //16449 #CJK UNIFIED IDEOGRAPH
+  {0xDF40, 0x9019}, //16450 #CJK UNIFIED IDEOGRAPH
+  {0xDF41, 0x901C}, //16451 #CJK UNIFIED IDEOGRAPH
+  {0xDF42, 0x9023}, //16452 #CJK UNIFIED IDEOGRAPH
+  {0xDF43, 0x9024}, //16453 #CJK UNIFIED IDEOGRAPH
+  {0xDF44, 0x9025}, //16454 #CJK UNIFIED IDEOGRAPH
+  {0xDF45, 0x9027}, //16455 #CJK UNIFIED IDEOGRAPH
+  {0xDF46, 0x9028}, //16456 #CJK UNIFIED IDEOGRAPH
+  {0xDF47, 0x9029}, //16457 #CJK UNIFIED IDEOGRAPH
+  {0xDF48, 0x902A}, //16458 #CJK UNIFIED IDEOGRAPH
+  {0xDF49, 0x902B}, //16459 #CJK UNIFIED IDEOGRAPH
+  {0xDF4A, 0x902C}, //16460 #CJK UNIFIED IDEOGRAPH
+  {0xDF4B, 0x9030}, //16461 #CJK UNIFIED IDEOGRAPH
+  {0xDF4C, 0x9031}, //16462 #CJK UNIFIED IDEOGRAPH
+  {0xDF4D, 0x9032}, //16463 #CJK UNIFIED IDEOGRAPH
+  {0xDF4E, 0x9033}, //16464 #CJK UNIFIED IDEOGRAPH
+  {0xDF4F, 0x9034}, //16465 #CJK UNIFIED IDEOGRAPH
+  {0xDF50, 0x9037}, //16466 #CJK UNIFIED IDEOGRAPH
+  {0xDF51, 0x9039}, //16467 #CJK UNIFIED IDEOGRAPH
+  {0xDF52, 0x903A}, //16468 #CJK UNIFIED IDEOGRAPH
+  {0xDF53, 0x903D}, //16469 #CJK UNIFIED IDEOGRAPH
+  {0xDF54, 0x903F}, //16470 #CJK UNIFIED IDEOGRAPH
+  {0xDF55, 0x9040}, //16471 #CJK UNIFIED IDEOGRAPH
+  {0xDF56, 0x9043}, //16472 #CJK UNIFIED IDEOGRAPH
+  {0xDF57, 0x9045}, //16473 #CJK UNIFIED IDEOGRAPH
+  {0xDF58, 0x9046}, //16474 #CJK UNIFIED IDEOGRAPH
+  {0xDF59, 0x9048}, //16475 #CJK UNIFIED IDEOGRAPH
+  {0xDF5A, 0x9049}, //16476 #CJK UNIFIED IDEOGRAPH
+  {0xDF5B, 0x904A}, //16477 #CJK UNIFIED IDEOGRAPH
+  {0xDF5C, 0x904B}, //16478 #CJK UNIFIED IDEOGRAPH
+  {0xDF5D, 0x904C}, //16479 #CJK UNIFIED IDEOGRAPH
+  {0xDF5E, 0x904E}, //16480 #CJK UNIFIED IDEOGRAPH
+  {0xDF5F, 0x9054}, //16481 #CJK UNIFIED IDEOGRAPH
+  {0xDF60, 0x9055}, //16482 #CJK UNIFIED IDEOGRAPH
+  {0xDF61, 0x9056}, //16483 #CJK UNIFIED IDEOGRAPH
+  {0xDF62, 0x9059}, //16484 #CJK UNIFIED IDEOGRAPH
+  {0xDF63, 0x905A}, //16485 #CJK UNIFIED IDEOGRAPH
+  {0xDF64, 0x905C}, //16486 #CJK UNIFIED IDEOGRAPH
+  {0xDF65, 0x905D}, //16487 #CJK UNIFIED IDEOGRAPH
+  {0xDF66, 0x905E}, //16488 #CJK UNIFIED IDEOGRAPH
+  {0xDF67, 0x905F}, //16489 #CJK UNIFIED IDEOGRAPH
+  {0xDF68, 0x9060}, //16490 #CJK UNIFIED IDEOGRAPH
+  {0xDF69, 0x9061}, //16491 #CJK UNIFIED IDEOGRAPH
+  {0xDF6A, 0x9064}, //16492 #CJK UNIFIED IDEOGRAPH
+  {0xDF6B, 0x9066}, //16493 #CJK UNIFIED IDEOGRAPH
+  {0xDF6C, 0x9067}, //16494 #CJK UNIFIED IDEOGRAPH
+  {0xDF6D, 0x9069}, //16495 #CJK UNIFIED IDEOGRAPH
+  {0xDF6E, 0x906A}, //16496 #CJK UNIFIED IDEOGRAPH
+  {0xDF6F, 0x906B}, //16497 #CJK UNIFIED IDEOGRAPH
+  {0xDF70, 0x906C}, //16498 #CJK UNIFIED IDEOGRAPH
+  {0xDF71, 0x906F}, //16499 #CJK UNIFIED IDEOGRAPH
+  {0xDF72, 0x9070}, //16500 #CJK UNIFIED IDEOGRAPH
+  {0xDF73, 0x9071}, //16501 #CJK UNIFIED IDEOGRAPH
+  {0xDF74, 0x9072}, //16502 #CJK UNIFIED IDEOGRAPH
+  {0xDF75, 0x9073}, //16503 #CJK UNIFIED IDEOGRAPH
+  {0xDF76, 0x9076}, //16504 #CJK UNIFIED IDEOGRAPH
+  {0xDF77, 0x9077}, //16505 #CJK UNIFIED IDEOGRAPH
+  {0xDF78, 0x9078}, //16506 #CJK UNIFIED IDEOGRAPH
+  {0xDF79, 0x9079}, //16507 #CJK UNIFIED IDEOGRAPH
+  {0xDF7A, 0x907A}, //16508 #CJK UNIFIED IDEOGRAPH
+  {0xDF7B, 0x907B}, //16509 #CJK UNIFIED IDEOGRAPH
+  {0xDF7C, 0x907C}, //16510 #CJK UNIFIED IDEOGRAPH
+  {0xDF7D, 0x907E}, //16511 #CJK UNIFIED IDEOGRAPH
+  {0xDF7E, 0x9081}, //16512 #CJK UNIFIED IDEOGRAPH
+  {0xDF80, 0x9084}, //16513 #CJK UNIFIED IDEOGRAPH
+  {0xDF81, 0x9085}, //16514 #CJK UNIFIED IDEOGRAPH
+  {0xDF82, 0x9086}, //16515 #CJK UNIFIED IDEOGRAPH
+  {0xDF83, 0x9087}, //16516 #CJK UNIFIED IDEOGRAPH
+  {0xDF84, 0x9089}, //16517 #CJK UNIFIED IDEOGRAPH
+  {0xDF85, 0x908A}, //16518 #CJK UNIFIED IDEOGRAPH
+  {0xDF86, 0x908C}, //16519 #CJK UNIFIED IDEOGRAPH
+  {0xDF87, 0x908D}, //16520 #CJK UNIFIED IDEOGRAPH
+  {0xDF88, 0x908E}, //16521 #CJK UNIFIED IDEOGRAPH
+  {0xDF89, 0x908F}, //16522 #CJK UNIFIED IDEOGRAPH
+  {0xDF8A, 0x9090}, //16523 #CJK UNIFIED IDEOGRAPH
+  {0xDF8B, 0x9092}, //16524 #CJK UNIFIED IDEOGRAPH
+  {0xDF8C, 0x9094}, //16525 #CJK UNIFIED IDEOGRAPH
+  {0xDF8D, 0x9096}, //16526 #CJK UNIFIED IDEOGRAPH
+  {0xDF8E, 0x9098}, //16527 #CJK UNIFIED IDEOGRAPH
+  {0xDF8F, 0x909A}, //16528 #CJK UNIFIED IDEOGRAPH
+  {0xDF90, 0x909C}, //16529 #CJK UNIFIED IDEOGRAPH
+  {0xDF91, 0x909E}, //16530 #CJK UNIFIED IDEOGRAPH
+  {0xDF92, 0x909F}, //16531 #CJK UNIFIED IDEOGRAPH
+  {0xDF93, 0x90A0}, //16532 #CJK UNIFIED IDEOGRAPH
+  {0xDF94, 0x90A4}, //16533 #CJK UNIFIED IDEOGRAPH
+  {0xDF95, 0x90A5}, //16534 #CJK UNIFIED IDEOGRAPH
+  {0xDF96, 0x90A7}, //16535 #CJK UNIFIED IDEOGRAPH
+  {0xDF97, 0x90A8}, //16536 #CJK UNIFIED IDEOGRAPH
+  {0xDF98, 0x90A9}, //16537 #CJK UNIFIED IDEOGRAPH
+  {0xDF99, 0x90AB}, //16538 #CJK UNIFIED IDEOGRAPH
+  {0xDF9A, 0x90AD}, //16539 #CJK UNIFIED IDEOGRAPH
+  {0xDF9B, 0x90B2}, //16540 #CJK UNIFIED IDEOGRAPH
+  {0xDF9C, 0x90B7}, //16541 #CJK UNIFIED IDEOGRAPH
+  {0xDF9D, 0x90BC}, //16542 #CJK UNIFIED IDEOGRAPH
+  {0xDF9E, 0x90BD}, //16543 #CJK UNIFIED IDEOGRAPH
+  {0xDF9F, 0x90BF}, //16544 #CJK UNIFIED IDEOGRAPH
+  {0xDFA0, 0x90C0}, //16545 #CJK UNIFIED IDEOGRAPH
+  {0xDFA1, 0x647A}, //16546 #CJK UNIFIED IDEOGRAPH
+  {0xDFA2, 0x64B7}, //16547 #CJK UNIFIED IDEOGRAPH
+  {0xDFA3, 0x64B8}, //16548 #CJK UNIFIED IDEOGRAPH
+  {0xDFA4, 0x6499}, //16549 #CJK UNIFIED IDEOGRAPH
+  {0xDFA5, 0x64BA}, //16550 #CJK UNIFIED IDEOGRAPH
+  {0xDFA6, 0x64C0}, //16551 #CJK UNIFIED IDEOGRAPH
+  {0xDFA7, 0x64D0}, //16552 #CJK UNIFIED IDEOGRAPH
+  {0xDFA8, 0x64D7}, //16553 #CJK UNIFIED IDEOGRAPH
+  {0xDFA9, 0x64E4}, //16554 #CJK UNIFIED IDEOGRAPH
+  {0xDFAA, 0x64E2}, //16555 #CJK UNIFIED IDEOGRAPH
+  {0xDFAB, 0x6509}, //16556 #CJK UNIFIED IDEOGRAPH
+  {0xDFAC, 0x6525}, //16557 #CJK UNIFIED IDEOGRAPH
+  {0xDFAD, 0x652E}, //16558 #CJK UNIFIED IDEOGRAPH
+  {0xDFAE, 0x5F0B}, //16559 #CJK UNIFIED IDEOGRAPH
+  {0xDFAF, 0x5FD2}, //16560 #CJK UNIFIED IDEOGRAPH
+  {0xDFB0, 0x7519}, //16561 #CJK UNIFIED IDEOGRAPH
+  {0xDFB1, 0x5F11}, //16562 #CJK UNIFIED IDEOGRAPH
+  {0xDFB2, 0x535F}, //16563 #CJK UNIFIED IDEOGRAPH
+  {0xDFB3, 0x53F1}, //16564 #CJK UNIFIED IDEOGRAPH
+  {0xDFB4, 0x53FD}, //16565 #CJK UNIFIED IDEOGRAPH
+  {0xDFB5, 0x53E9}, //16566 #CJK UNIFIED IDEOGRAPH
+  {0xDFB6, 0x53E8}, //16567 #CJK UNIFIED IDEOGRAPH
+  {0xDFB7, 0x53FB}, //16568 #CJK UNIFIED IDEOGRAPH
+  {0xDFB8, 0x5412}, //16569 #CJK UNIFIED IDEOGRAPH
+  {0xDFB9, 0x5416}, //16570 #CJK UNIFIED IDEOGRAPH
+  {0xDFBA, 0x5406}, //16571 #CJK UNIFIED IDEOGRAPH
+  {0xDFBB, 0x544B}, //16572 #CJK UNIFIED IDEOGRAPH
+  {0xDFBC, 0x5452}, //16573 #CJK UNIFIED IDEOGRAPH
+  {0xDFBD, 0x5453}, //16574 #CJK UNIFIED IDEOGRAPH
+  {0xDFBE, 0x5454}, //16575 #CJK UNIFIED IDEOGRAPH
+  {0xDFBF, 0x5456}, //16576 #CJK UNIFIED IDEOGRAPH
+  {0xDFC0, 0x5443}, //16577 #CJK UNIFIED IDEOGRAPH
+  {0xDFC1, 0x5421}, //16578 #CJK UNIFIED IDEOGRAPH
+  {0xDFC2, 0x5457}, //16579 #CJK UNIFIED IDEOGRAPH
+  {0xDFC3, 0x5459}, //16580 #CJK UNIFIED IDEOGRAPH
+  {0xDFC4, 0x5423}, //16581 #CJK UNIFIED IDEOGRAPH
+  {0xDFC5, 0x5432}, //16582 #CJK UNIFIED IDEOGRAPH
+  {0xDFC6, 0x5482}, //16583 #CJK UNIFIED IDEOGRAPH
+  {0xDFC7, 0x5494}, //16584 #CJK UNIFIED IDEOGRAPH
+  {0xDFC8, 0x5477}, //16585 #CJK UNIFIED IDEOGRAPH
+  {0xDFC9, 0x5471}, //16586 #CJK UNIFIED IDEOGRAPH
+  {0xDFCA, 0x5464}, //16587 #CJK UNIFIED IDEOGRAPH
+  {0xDFCB, 0x549A}, //16588 #CJK UNIFIED IDEOGRAPH
+  {0xDFCC, 0x549B}, //16589 #CJK UNIFIED IDEOGRAPH
+  {0xDFCD, 0x5484}, //16590 #CJK UNIFIED IDEOGRAPH
+  {0xDFCE, 0x5476}, //16591 #CJK UNIFIED IDEOGRAPH
+  {0xDFCF, 0x5466}, //16592 #CJK UNIFIED IDEOGRAPH
+  {0xDFD0, 0x549D}, //16593 #CJK UNIFIED IDEOGRAPH
+  {0xDFD1, 0x54D0}, //16594 #CJK UNIFIED IDEOGRAPH
+  {0xDFD2, 0x54AD}, //16595 #CJK UNIFIED IDEOGRAPH
+  {0xDFD3, 0x54C2}, //16596 #CJK UNIFIED IDEOGRAPH
+  {0xDFD4, 0x54B4}, //16597 #CJK UNIFIED IDEOGRAPH
+  {0xDFD5, 0x54D2}, //16598 #CJK UNIFIED IDEOGRAPH
+  {0xDFD6, 0x54A7}, //16599 #CJK UNIFIED IDEOGRAPH
+  {0xDFD7, 0x54A6}, //16600 #CJK UNIFIED IDEOGRAPH
+  {0xDFD8, 0x54D3}, //16601 #CJK UNIFIED IDEOGRAPH
+  {0xDFD9, 0x54D4}, //16602 #CJK UNIFIED IDEOGRAPH
+  {0xDFDA, 0x5472}, //16603 #CJK UNIFIED IDEOGRAPH
+  {0xDFDB, 0x54A3}, //16604 #CJK UNIFIED IDEOGRAPH
+  {0xDFDC, 0x54D5}, //16605 #CJK UNIFIED IDEOGRAPH
+  {0xDFDD, 0x54BB}, //16606 #CJK UNIFIED IDEOGRAPH
+  {0xDFDE, 0x54BF}, //16607 #CJK UNIFIED IDEOGRAPH
+  {0xDFDF, 0x54CC}, //16608 #CJK UNIFIED IDEOGRAPH
+  {0xDFE0, 0x54D9}, //16609 #CJK UNIFIED IDEOGRAPH
+  {0xDFE1, 0x54DA}, //16610 #CJK UNIFIED IDEOGRAPH
+  {0xDFE2, 0x54DC}, //16611 #CJK UNIFIED IDEOGRAPH
+  {0xDFE3, 0x54A9}, //16612 #CJK UNIFIED IDEOGRAPH
+  {0xDFE4, 0x54AA}, //16613 #CJK UNIFIED IDEOGRAPH
+  {0xDFE5, 0x54A4}, //16614 #CJK UNIFIED IDEOGRAPH
+  {0xDFE6, 0x54DD}, //16615 #CJK UNIFIED IDEOGRAPH
+  {0xDFE7, 0x54CF}, //16616 #CJK UNIFIED IDEOGRAPH
+  {0xDFE8, 0x54DE}, //16617 #CJK UNIFIED IDEOGRAPH
+  {0xDFE9, 0x551B}, //16618 #CJK UNIFIED IDEOGRAPH
+  {0xDFEA, 0x54E7}, //16619 #CJK UNIFIED IDEOGRAPH
+  {0xDFEB, 0x5520}, //16620 #CJK UNIFIED IDEOGRAPH
+  {0xDFEC, 0x54FD}, //16621 #CJK UNIFIED IDEOGRAPH
+  {0xDFED, 0x5514}, //16622 #CJK UNIFIED IDEOGRAPH
+  {0xDFEE, 0x54F3}, //16623 #CJK UNIFIED IDEOGRAPH
+  {0xDFEF, 0x5522}, //16624 #CJK UNIFIED IDEOGRAPH
+  {0xDFF0, 0x5523}, //16625 #CJK UNIFIED IDEOGRAPH
+  {0xDFF1, 0x550F}, //16626 #CJK UNIFIED IDEOGRAPH
+  {0xDFF2, 0x5511}, //16627 #CJK UNIFIED IDEOGRAPH
+  {0xDFF3, 0x5527}, //16628 #CJK UNIFIED IDEOGRAPH
+  {0xDFF4, 0x552A}, //16629 #CJK UNIFIED IDEOGRAPH
+  {0xDFF5, 0x5567}, //16630 #CJK UNIFIED IDEOGRAPH
+  {0xDFF6, 0x558F}, //16631 #CJK UNIFIED IDEOGRAPH
+  {0xDFF7, 0x55B5}, //16632 #CJK UNIFIED IDEOGRAPH
+  {0xDFF8, 0x5549}, //16633 #CJK UNIFIED IDEOGRAPH
+  {0xDFF9, 0x556D}, //16634 #CJK UNIFIED IDEOGRAPH
+  {0xDFFA, 0x5541}, //16635 #CJK UNIFIED IDEOGRAPH
+  {0xDFFB, 0x5555}, //16636 #CJK UNIFIED IDEOGRAPH
+  {0xDFFC, 0x553F}, //16637 #CJK UNIFIED IDEOGRAPH
+  {0xDFFD, 0x5550}, //16638 #CJK UNIFIED IDEOGRAPH
+  {0xDFFE, 0x553C}, //16639 #CJK UNIFIED IDEOGRAPH
+  {0xE040, 0x90C2}, //16640 #CJK UNIFIED IDEOGRAPH
+  {0xE041, 0x90C3}, //16641 #CJK UNIFIED IDEOGRAPH
+  {0xE042, 0x90C6}, //16642 #CJK UNIFIED IDEOGRAPH
+  {0xE043, 0x90C8}, //16643 #CJK UNIFIED IDEOGRAPH
+  {0xE044, 0x90C9}, //16644 #CJK UNIFIED IDEOGRAPH
+  {0xE045, 0x90CB}, //16645 #CJK UNIFIED IDEOGRAPH
+  {0xE046, 0x90CC}, //16646 #CJK UNIFIED IDEOGRAPH
+  {0xE047, 0x90CD}, //16647 #CJK UNIFIED IDEOGRAPH
+  {0xE048, 0x90D2}, //16648 #CJK UNIFIED IDEOGRAPH
+  {0xE049, 0x90D4}, //16649 #CJK UNIFIED IDEOGRAPH
+  {0xE04A, 0x90D5}, //16650 #CJK UNIFIED IDEOGRAPH
+  {0xE04B, 0x90D6}, //16651 #CJK UNIFIED IDEOGRAPH
+  {0xE04C, 0x90D8}, //16652 #CJK UNIFIED IDEOGRAPH
+  {0xE04D, 0x90D9}, //16653 #CJK UNIFIED IDEOGRAPH
+  {0xE04E, 0x90DA}, //16654 #CJK UNIFIED IDEOGRAPH
+  {0xE04F, 0x90DE}, //16655 #CJK UNIFIED IDEOGRAPH
+  {0xE050, 0x90DF}, //16656 #CJK UNIFIED IDEOGRAPH
+  {0xE051, 0x90E0}, //16657 #CJK UNIFIED IDEOGRAPH
+  {0xE052, 0x90E3}, //16658 #CJK UNIFIED IDEOGRAPH
+  {0xE053, 0x90E4}, //16659 #CJK UNIFIED IDEOGRAPH
+  {0xE054, 0x90E5}, //16660 #CJK UNIFIED IDEOGRAPH
+  {0xE055, 0x90E9}, //16661 #CJK UNIFIED IDEOGRAPH
+  {0xE056, 0x90EA}, //16662 #CJK UNIFIED IDEOGRAPH
+  {0xE057, 0x90EC}, //16663 #CJK UNIFIED IDEOGRAPH
+  {0xE058, 0x90EE}, //16664 #CJK UNIFIED IDEOGRAPH
+  {0xE059, 0x90F0}, //16665 #CJK UNIFIED IDEOGRAPH
+  {0xE05A, 0x90F1}, //16666 #CJK UNIFIED IDEOGRAPH
+  {0xE05B, 0x90F2}, //16667 #CJK UNIFIED IDEOGRAPH
+  {0xE05C, 0x90F3}, //16668 #CJK UNIFIED IDEOGRAPH
+  {0xE05D, 0x90F5}, //16669 #CJK UNIFIED IDEOGRAPH
+  {0xE05E, 0x90F6}, //16670 #CJK UNIFIED IDEOGRAPH
+  {0xE05F, 0x90F7}, //16671 #CJK UNIFIED IDEOGRAPH
+  {0xE060, 0x90F9}, //16672 #CJK UNIFIED IDEOGRAPH
+  {0xE061, 0x90FA}, //16673 #CJK UNIFIED IDEOGRAPH
+  {0xE062, 0x90FB}, //16674 #CJK UNIFIED IDEOGRAPH
+  {0xE063, 0x90FC}, //16675 #CJK UNIFIED IDEOGRAPH
+  {0xE064, 0x90FF}, //16676 #CJK UNIFIED IDEOGRAPH
+  {0xE065, 0x9100}, //16677 #CJK UNIFIED IDEOGRAPH
+  {0xE066, 0x9101}, //16678 #CJK UNIFIED IDEOGRAPH
+  {0xE067, 0x9103}, //16679 #CJK UNIFIED IDEOGRAPH
+  {0xE068, 0x9105}, //16680 #CJK UNIFIED IDEOGRAPH
+  {0xE069, 0x9106}, //16681 #CJK UNIFIED IDEOGRAPH
+  {0xE06A, 0x9107}, //16682 #CJK UNIFIED IDEOGRAPH
+  {0xE06B, 0x9108}, //16683 #CJK UNIFIED IDEOGRAPH
+  {0xE06C, 0x9109}, //16684 #CJK UNIFIED IDEOGRAPH
+  {0xE06D, 0x910A}, //16685 #CJK UNIFIED IDEOGRAPH
+  {0xE06E, 0x910B}, //16686 #CJK UNIFIED IDEOGRAPH
+  {0xE06F, 0x910C}, //16687 #CJK UNIFIED IDEOGRAPH
+  {0xE070, 0x910D}, //16688 #CJK UNIFIED IDEOGRAPH
+  {0xE071, 0x910E}, //16689 #CJK UNIFIED IDEOGRAPH
+  {0xE072, 0x910F}, //16690 #CJK UNIFIED IDEOGRAPH
+  {0xE073, 0x9110}, //16691 #CJK UNIFIED IDEOGRAPH
+  {0xE074, 0x9111}, //16692 #CJK UNIFIED IDEOGRAPH
+  {0xE075, 0x9112}, //16693 #CJK UNIFIED IDEOGRAPH
+  {0xE076, 0x9113}, //16694 #CJK UNIFIED IDEOGRAPH
+  {0xE077, 0x9114}, //16695 #CJK UNIFIED IDEOGRAPH
+  {0xE078, 0x9115}, //16696 #CJK UNIFIED IDEOGRAPH
+  {0xE079, 0x9116}, //16697 #CJK UNIFIED IDEOGRAPH
+  {0xE07A, 0x9117}, //16698 #CJK UNIFIED IDEOGRAPH
+  {0xE07B, 0x9118}, //16699 #CJK UNIFIED IDEOGRAPH
+  {0xE07C, 0x911A}, //16700 #CJK UNIFIED IDEOGRAPH
+  {0xE07D, 0x911B}, //16701 #CJK UNIFIED IDEOGRAPH
+  {0xE07E, 0x911C}, //16702 #CJK UNIFIED IDEOGRAPH
+  {0xE080, 0x911D}, //16703 #CJK UNIFIED IDEOGRAPH
+  {0xE081, 0x911F}, //16704 #CJK UNIFIED IDEOGRAPH
+  {0xE082, 0x9120}, //16705 #CJK UNIFIED IDEOGRAPH
+  {0xE083, 0x9121}, //16706 #CJK UNIFIED IDEOGRAPH
+  {0xE084, 0x9124}, //16707 #CJK UNIFIED IDEOGRAPH
+  {0xE085, 0x9125}, //16708 #CJK UNIFIED IDEOGRAPH
+  {0xE086, 0x9126}, //16709 #CJK UNIFIED IDEOGRAPH
+  {0xE087, 0x9127}, //16710 #CJK UNIFIED IDEOGRAPH
+  {0xE088, 0x9128}, //16711 #CJK UNIFIED IDEOGRAPH
+  {0xE089, 0x9129}, //16712 #CJK UNIFIED IDEOGRAPH
+  {0xE08A, 0x912A}, //16713 #CJK UNIFIED IDEOGRAPH
+  {0xE08B, 0x912B}, //16714 #CJK UNIFIED IDEOGRAPH
+  {0xE08C, 0x912C}, //16715 #CJK UNIFIED IDEOGRAPH
+  {0xE08D, 0x912D}, //16716 #CJK UNIFIED IDEOGRAPH
+  {0xE08E, 0x912E}, //16717 #CJK UNIFIED IDEOGRAPH
+  {0xE08F, 0x9130}, //16718 #CJK UNIFIED IDEOGRAPH
+  {0xE090, 0x9132}, //16719 #CJK UNIFIED IDEOGRAPH
+  {0xE091, 0x9133}, //16720 #CJK UNIFIED IDEOGRAPH
+  {0xE092, 0x9134}, //16721 #CJK UNIFIED IDEOGRAPH
+  {0xE093, 0x9135}, //16722 #CJK UNIFIED IDEOGRAPH
+  {0xE094, 0x9136}, //16723 #CJK UNIFIED IDEOGRAPH
+  {0xE095, 0x9137}, //16724 #CJK UNIFIED IDEOGRAPH
+  {0xE096, 0x9138}, //16725 #CJK UNIFIED IDEOGRAPH
+  {0xE097, 0x913A}, //16726 #CJK UNIFIED IDEOGRAPH
+  {0xE098, 0x913B}, //16727 #CJK UNIFIED IDEOGRAPH
+  {0xE099, 0x913C}, //16728 #CJK UNIFIED IDEOGRAPH
+  {0xE09A, 0x913D}, //16729 #CJK UNIFIED IDEOGRAPH
+  {0xE09B, 0x913E}, //16730 #CJK UNIFIED IDEOGRAPH
+  {0xE09C, 0x913F}, //16731 #CJK UNIFIED IDEOGRAPH
+  {0xE09D, 0x9140}, //16732 #CJK UNIFIED IDEOGRAPH
+  {0xE09E, 0x9141}, //16733 #CJK UNIFIED IDEOGRAPH
+  {0xE09F, 0x9142}, //16734 #CJK UNIFIED IDEOGRAPH
+  {0xE0A0, 0x9144}, //16735 #CJK UNIFIED IDEOGRAPH
+  {0xE0A1, 0x5537}, //16736 #CJK UNIFIED IDEOGRAPH
+  {0xE0A2, 0x5556}, //16737 #CJK UNIFIED IDEOGRAPH
+  {0xE0A3, 0x5575}, //16738 #CJK UNIFIED IDEOGRAPH
+  {0xE0A4, 0x5576}, //16739 #CJK UNIFIED IDEOGRAPH
+  {0xE0A5, 0x5577}, //16740 #CJK UNIFIED IDEOGRAPH
+  {0xE0A6, 0x5533}, //16741 #CJK UNIFIED IDEOGRAPH
+  {0xE0A7, 0x5530}, //16742 #CJK UNIFIED IDEOGRAPH
+  {0xE0A8, 0x555C}, //16743 #CJK UNIFIED IDEOGRAPH
+  {0xE0A9, 0x558B}, //16744 #CJK UNIFIED IDEOGRAPH
+  {0xE0AA, 0x55D2}, //16745 #CJK UNIFIED IDEOGRAPH
+  {0xE0AB, 0x5583}, //16746 #CJK UNIFIED IDEOGRAPH
+  {0xE0AC, 0x55B1}, //16747 #CJK UNIFIED IDEOGRAPH
+  {0xE0AD, 0x55B9}, //16748 #CJK UNIFIED IDEOGRAPH
+  {0xE0AE, 0x5588}, //16749 #CJK UNIFIED IDEOGRAPH
+  {0xE0AF, 0x5581}, //16750 #CJK UNIFIED IDEOGRAPH
+  {0xE0B0, 0x559F}, //16751 #CJK UNIFIED IDEOGRAPH
+  {0xE0B1, 0x557E}, //16752 #CJK UNIFIED IDEOGRAPH
+  {0xE0B2, 0x55D6}, //16753 #CJK UNIFIED IDEOGRAPH
+  {0xE0B3, 0x5591}, //16754 #CJK UNIFIED IDEOGRAPH
+  {0xE0B4, 0x557B}, //16755 #CJK UNIFIED IDEOGRAPH
+  {0xE0B5, 0x55DF}, //16756 #CJK UNIFIED IDEOGRAPH
+  {0xE0B6, 0x55BD}, //16757 #CJK UNIFIED IDEOGRAPH
+  {0xE0B7, 0x55BE}, //16758 #CJK UNIFIED IDEOGRAPH
+  {0xE0B8, 0x5594}, //16759 #CJK UNIFIED IDEOGRAPH
+  {0xE0B9, 0x5599}, //16760 #CJK UNIFIED IDEOGRAPH
+  {0xE0BA, 0x55EA}, //16761 #CJK UNIFIED IDEOGRAPH
+  {0xE0BB, 0x55F7}, //16762 #CJK UNIFIED IDEOGRAPH
+  {0xE0BC, 0x55C9}, //16763 #CJK UNIFIED IDEOGRAPH
+  {0xE0BD, 0x561F}, //16764 #CJK UNIFIED IDEOGRAPH
+  {0xE0BE, 0x55D1}, //16765 #CJK UNIFIED IDEOGRAPH
+  {0xE0BF, 0x55EB}, //16766 #CJK UNIFIED IDEOGRAPH
+  {0xE0C0, 0x55EC}, //16767 #CJK UNIFIED IDEOGRAPH
+  {0xE0C1, 0x55D4}, //16768 #CJK UNIFIED IDEOGRAPH
+  {0xE0C2, 0x55E6}, //16769 #CJK UNIFIED IDEOGRAPH
+  {0xE0C3, 0x55DD}, //16770 #CJK UNIFIED IDEOGRAPH
+  {0xE0C4, 0x55C4}, //16771 #CJK UNIFIED IDEOGRAPH
+  {0xE0C5, 0x55EF}, //16772 #CJK UNIFIED IDEOGRAPH
+  {0xE0C6, 0x55E5}, //16773 #CJK UNIFIED IDEOGRAPH
+  {0xE0C7, 0x55F2}, //16774 #CJK UNIFIED IDEOGRAPH
+  {0xE0C8, 0x55F3}, //16775 #CJK UNIFIED IDEOGRAPH
+  {0xE0C9, 0x55CC}, //16776 #CJK UNIFIED IDEOGRAPH
+  {0xE0CA, 0x55CD}, //16777 #CJK UNIFIED IDEOGRAPH
+  {0xE0CB, 0x55E8}, //16778 #CJK UNIFIED IDEOGRAPH
+  {0xE0CC, 0x55F5}, //16779 #CJK UNIFIED IDEOGRAPH
+  {0xE0CD, 0x55E4}, //16780 #CJK UNIFIED IDEOGRAPH
+  {0xE0CE, 0x8F94}, //16781 #CJK UNIFIED IDEOGRAPH
+  {0xE0CF, 0x561E}, //16782 #CJK UNIFIED IDEOGRAPH
+  {0xE0D0, 0x5608}, //16783 #CJK UNIFIED IDEOGRAPH
+  {0xE0D1, 0x560C}, //16784 #CJK UNIFIED IDEOGRAPH
+  {0xE0D2, 0x5601}, //16785 #CJK UNIFIED IDEOGRAPH
+  {0xE0D3, 0x5624}, //16786 #CJK UNIFIED IDEOGRAPH
+  {0xE0D4, 0x5623}, //16787 #CJK UNIFIED IDEOGRAPH
+  {0xE0D5, 0x55FE}, //16788 #CJK UNIFIED IDEOGRAPH
+  {0xE0D6, 0x5600}, //16789 #CJK UNIFIED IDEOGRAPH
+  {0xE0D7, 0x5627}, //16790 #CJK UNIFIED IDEOGRAPH
+  {0xE0D8, 0x562D}, //16791 #CJK UNIFIED IDEOGRAPH
+  {0xE0D9, 0x5658}, //16792 #CJK UNIFIED IDEOGRAPH
+  {0xE0DA, 0x5639}, //16793 #CJK UNIFIED IDEOGRAPH
+  {0xE0DB, 0x5657}, //16794 #CJK UNIFIED IDEOGRAPH
+  {0xE0DC, 0x562C}, //16795 #CJK UNIFIED IDEOGRAPH
+  {0xE0DD, 0x564D}, //16796 #CJK UNIFIED IDEOGRAPH
+  {0xE0DE, 0x5662}, //16797 #CJK UNIFIED IDEOGRAPH
+  {0xE0DF, 0x5659}, //16798 #CJK UNIFIED IDEOGRAPH
+  {0xE0E0, 0x565C}, //16799 #CJK UNIFIED IDEOGRAPH
+  {0xE0E1, 0x564C}, //16800 #CJK UNIFIED IDEOGRAPH
+  {0xE0E2, 0x5654}, //16801 #CJK UNIFIED IDEOGRAPH
+  {0xE0E3, 0x5686}, //16802 #CJK UNIFIED IDEOGRAPH
+  {0xE0E4, 0x5664}, //16803 #CJK UNIFIED IDEOGRAPH
+  {0xE0E5, 0x5671}, //16804 #CJK UNIFIED IDEOGRAPH
+  {0xE0E6, 0x566B}, //16805 #CJK UNIFIED IDEOGRAPH
+  {0xE0E7, 0x567B}, //16806 #CJK UNIFIED IDEOGRAPH
+  {0xE0E8, 0x567C}, //16807 #CJK UNIFIED IDEOGRAPH
+  {0xE0E9, 0x5685}, //16808 #CJK UNIFIED IDEOGRAPH
+  {0xE0EA, 0x5693}, //16809 #CJK UNIFIED IDEOGRAPH
+  {0xE0EB, 0x56AF}, //16810 #CJK UNIFIED IDEOGRAPH
+  {0xE0EC, 0x56D4}, //16811 #CJK UNIFIED IDEOGRAPH
+  {0xE0ED, 0x56D7}, //16812 #CJK UNIFIED IDEOGRAPH
+  {0xE0EE, 0x56DD}, //16813 #CJK UNIFIED IDEOGRAPH
+  {0xE0EF, 0x56E1}, //16814 #CJK UNIFIED IDEOGRAPH
+  {0xE0F0, 0x56F5}, //16815 #CJK UNIFIED IDEOGRAPH
+  {0xE0F1, 0x56EB}, //16816 #CJK UNIFIED IDEOGRAPH
+  {0xE0F2, 0x56F9}, //16817 #CJK UNIFIED IDEOGRAPH
+  {0xE0F3, 0x56FF}, //16818 #CJK UNIFIED IDEOGRAPH
+  {0xE0F4, 0x5704}, //16819 #CJK UNIFIED IDEOGRAPH
+  {0xE0F5, 0x570A}, //16820 #CJK UNIFIED IDEOGRAPH
+  {0xE0F6, 0x5709}, //16821 #CJK UNIFIED IDEOGRAPH
+  {0xE0F7, 0x571C}, //16822 #CJK UNIFIED IDEOGRAPH
+  {0xE0F8, 0x5E0F}, //16823 #CJK UNIFIED IDEOGRAPH
+  {0xE0F9, 0x5E19}, //16824 #CJK UNIFIED IDEOGRAPH
+  {0xE0FA, 0x5E14}, //16825 #CJK UNIFIED IDEOGRAPH
+  {0xE0FB, 0x5E11}, //16826 #CJK UNIFIED IDEOGRAPH
+  {0xE0FC, 0x5E31}, //16827 #CJK UNIFIED IDEOGRAPH
+  {0xE0FD, 0x5E3B}, //16828 #CJK UNIFIED IDEOGRAPH
+  {0xE0FE, 0x5E3C}, //16829 #CJK UNIFIED IDEOGRAPH
+  {0xE140, 0x9145}, //16830 #CJK UNIFIED IDEOGRAPH
+  {0xE141, 0x9147}, //16831 #CJK UNIFIED IDEOGRAPH
+  {0xE142, 0x9148}, //16832 #CJK UNIFIED IDEOGRAPH
+  {0xE143, 0x9151}, //16833 #CJK UNIFIED IDEOGRAPH
+  {0xE144, 0x9153}, //16834 #CJK UNIFIED IDEOGRAPH
+  {0xE145, 0x9154}, //16835 #CJK UNIFIED IDEOGRAPH
+  {0xE146, 0x9155}, //16836 #CJK UNIFIED IDEOGRAPH
+  {0xE147, 0x9156}, //16837 #CJK UNIFIED IDEOGRAPH
+  {0xE148, 0x9158}, //16838 #CJK UNIFIED IDEOGRAPH
+  {0xE149, 0x9159}, //16839 #CJK UNIFIED IDEOGRAPH
+  {0xE14A, 0x915B}, //16840 #CJK UNIFIED IDEOGRAPH
+  {0xE14B, 0x915C}, //16841 #CJK UNIFIED IDEOGRAPH
+  {0xE14C, 0x915F}, //16842 #CJK UNIFIED IDEOGRAPH
+  {0xE14D, 0x9160}, //16843 #CJK UNIFIED IDEOGRAPH
+  {0xE14E, 0x9166}, //16844 #CJK UNIFIED IDEOGRAPH
+  {0xE14F, 0x9167}, //16845 #CJK UNIFIED IDEOGRAPH
+  {0xE150, 0x9168}, //16846 #CJK UNIFIED IDEOGRAPH
+  {0xE151, 0x916B}, //16847 #CJK UNIFIED IDEOGRAPH
+  {0xE152, 0x916D}, //16848 #CJK UNIFIED IDEOGRAPH
+  {0xE153, 0x9173}, //16849 #CJK UNIFIED IDEOGRAPH
+  {0xE154, 0x917A}, //16850 #CJK UNIFIED IDEOGRAPH
+  {0xE155, 0x917B}, //16851 #CJK UNIFIED IDEOGRAPH
+  {0xE156, 0x917C}, //16852 #CJK UNIFIED IDEOGRAPH
+  {0xE157, 0x9180}, //16853 #CJK UNIFIED IDEOGRAPH
+  {0xE158, 0x9181}, //16854 #CJK UNIFIED IDEOGRAPH
+  {0xE159, 0x9182}, //16855 #CJK UNIFIED IDEOGRAPH
+  {0xE15A, 0x9183}, //16856 #CJK UNIFIED IDEOGRAPH
+  {0xE15B, 0x9184}, //16857 #CJK UNIFIED IDEOGRAPH
+  {0xE15C, 0x9186}, //16858 #CJK UNIFIED IDEOGRAPH
+  {0xE15D, 0x9188}, //16859 #CJK UNIFIED IDEOGRAPH
+  {0xE15E, 0x918A}, //16860 #CJK UNIFIED IDEOGRAPH
+  {0xE15F, 0x918E}, //16861 #CJK UNIFIED IDEOGRAPH
+  {0xE160, 0x918F}, //16862 #CJK UNIFIED IDEOGRAPH
+  {0xE161, 0x9193}, //16863 #CJK UNIFIED IDEOGRAPH
+  {0xE162, 0x9194}, //16864 #CJK UNIFIED IDEOGRAPH
+  {0xE163, 0x9195}, //16865 #CJK UNIFIED IDEOGRAPH
+  {0xE164, 0x9196}, //16866 #CJK UNIFIED IDEOGRAPH
+  {0xE165, 0x9197}, //16867 #CJK UNIFIED IDEOGRAPH
+  {0xE166, 0x9198}, //16868 #CJK UNIFIED IDEOGRAPH
+  {0xE167, 0x9199}, //16869 #CJK UNIFIED IDEOGRAPH
+  {0xE168, 0x919C}, //16870 #CJK UNIFIED IDEOGRAPH
+  {0xE169, 0x919D}, //16871 #CJK UNIFIED IDEOGRAPH
+  {0xE16A, 0x919E}, //16872 #CJK UNIFIED IDEOGRAPH
+  {0xE16B, 0x919F}, //16873 #CJK UNIFIED IDEOGRAPH
+  {0xE16C, 0x91A0}, //16874 #CJK UNIFIED IDEOGRAPH
+  {0xE16D, 0x91A1}, //16875 #CJK UNIFIED IDEOGRAPH
+  {0xE16E, 0x91A4}, //16876 #CJK UNIFIED IDEOGRAPH
+  {0xE16F, 0x91A5}, //16877 #CJK UNIFIED IDEOGRAPH
+  {0xE170, 0x91A6}, //16878 #CJK UNIFIED IDEOGRAPH
+  {0xE171, 0x91A7}, //16879 #CJK UNIFIED IDEOGRAPH
+  {0xE172, 0x91A8}, //16880 #CJK UNIFIED IDEOGRAPH
+  {0xE173, 0x91A9}, //16881 #CJK UNIFIED IDEOGRAPH
+  {0xE174, 0x91AB}, //16882 #CJK UNIFIED IDEOGRAPH
+  {0xE175, 0x91AC}, //16883 #CJK UNIFIED IDEOGRAPH
+  {0xE176, 0x91B0}, //16884 #CJK UNIFIED IDEOGRAPH
+  {0xE177, 0x91B1}, //16885 #CJK UNIFIED IDEOGRAPH
+  {0xE178, 0x91B2}, //16886 #CJK UNIFIED IDEOGRAPH
+  {0xE179, 0x91B3}, //16887 #CJK UNIFIED IDEOGRAPH
+  {0xE17A, 0x91B6}, //16888 #CJK UNIFIED IDEOGRAPH
+  {0xE17B, 0x91B7}, //16889 #CJK UNIFIED IDEOGRAPH
+  {0xE17C, 0x91B8}, //16890 #CJK UNIFIED IDEOGRAPH
+  {0xE17D, 0x91B9}, //16891 #CJK UNIFIED IDEOGRAPH
+  {0xE17E, 0x91BB}, //16892 #CJK UNIFIED IDEOGRAPH
+  {0xE180, 0x91BC}, //16893 #CJK UNIFIED IDEOGRAPH
+  {0xE181, 0x91BD}, //16894 #CJK UNIFIED IDEOGRAPH
+  {0xE182, 0x91BE}, //16895 #CJK UNIFIED IDEOGRAPH
+  {0xE183, 0x91BF}, //16896 #CJK UNIFIED IDEOGRAPH
+  {0xE184, 0x91C0}, //16897 #CJK UNIFIED IDEOGRAPH
+  {0xE185, 0x91C1}, //16898 #CJK UNIFIED IDEOGRAPH
+  {0xE186, 0x91C2}, //16899 #CJK UNIFIED IDEOGRAPH
+  {0xE187, 0x91C3}, //16900 #CJK UNIFIED IDEOGRAPH
+  {0xE188, 0x91C4}, //16901 #CJK UNIFIED IDEOGRAPH
+  {0xE189, 0x91C5}, //16902 #CJK UNIFIED IDEOGRAPH
+  {0xE18A, 0x91C6}, //16903 #CJK UNIFIED IDEOGRAPH
+  {0xE18B, 0x91C8}, //16904 #CJK UNIFIED IDEOGRAPH
+  {0xE18C, 0x91CB}, //16905 #CJK UNIFIED IDEOGRAPH
+  {0xE18D, 0x91D0}, //16906 #CJK UNIFIED IDEOGRAPH
+  {0xE18E, 0x91D2}, //16907 #CJK UNIFIED IDEOGRAPH
+  {0xE18F, 0x91D3}, //16908 #CJK UNIFIED IDEOGRAPH
+  {0xE190, 0x91D4}, //16909 #CJK UNIFIED IDEOGRAPH
+  {0xE191, 0x91D5}, //16910 #CJK UNIFIED IDEOGRAPH
+  {0xE192, 0x91D6}, //16911 #CJK UNIFIED IDEOGRAPH
+  {0xE193, 0x91D7}, //16912 #CJK UNIFIED IDEOGRAPH
+  {0xE194, 0x91D8}, //16913 #CJK UNIFIED IDEOGRAPH
+  {0xE195, 0x91D9}, //16914 #CJK UNIFIED IDEOGRAPH
+  {0xE196, 0x91DA}, //16915 #CJK UNIFIED IDEOGRAPH
+  {0xE197, 0x91DB}, //16916 #CJK UNIFIED IDEOGRAPH
+  {0xE198, 0x91DD}, //16917 #CJK UNIFIED IDEOGRAPH
+  {0xE199, 0x91DE}, //16918 #CJK UNIFIED IDEOGRAPH
+  {0xE19A, 0x91DF}, //16919 #CJK UNIFIED IDEOGRAPH
+  {0xE19B, 0x91E0}, //16920 #CJK UNIFIED IDEOGRAPH
+  {0xE19C, 0x91E1}, //16921 #CJK UNIFIED IDEOGRAPH
+  {0xE19D, 0x91E2}, //16922 #CJK UNIFIED IDEOGRAPH
+  {0xE19E, 0x91E3}, //16923 #CJK UNIFIED IDEOGRAPH
+  {0xE19F, 0x91E4}, //16924 #CJK UNIFIED IDEOGRAPH
+  {0xE1A0, 0x91E5}, //16925 #CJK UNIFIED IDEOGRAPH
+  {0xE1A1, 0x5E37}, //16926 #CJK UNIFIED IDEOGRAPH
+  {0xE1A2, 0x5E44}, //16927 #CJK UNIFIED IDEOGRAPH
+  {0xE1A3, 0x5E54}, //16928 #CJK UNIFIED IDEOGRAPH
+  {0xE1A4, 0x5E5B}, //16929 #CJK UNIFIED IDEOGRAPH
+  {0xE1A5, 0x5E5E}, //16930 #CJK UNIFIED IDEOGRAPH
+  {0xE1A6, 0x5E61}, //16931 #CJK UNIFIED IDEOGRAPH
+  {0xE1A7, 0x5C8C}, //16932 #CJK UNIFIED IDEOGRAPH
+  {0xE1A8, 0x5C7A}, //16933 #CJK UNIFIED IDEOGRAPH
+  {0xE1A9, 0x5C8D}, //16934 #CJK UNIFIED IDEOGRAPH
+  {0xE1AA, 0x5C90}, //16935 #CJK UNIFIED IDEOGRAPH
+  {0xE1AB, 0x5C96}, //16936 #CJK UNIFIED IDEOGRAPH
+  {0xE1AC, 0x5C88}, //16937 #CJK UNIFIED IDEOGRAPH
+  {0xE1AD, 0x5C98}, //16938 #CJK UNIFIED IDEOGRAPH
+  {0xE1AE, 0x5C99}, //16939 #CJK UNIFIED IDEOGRAPH
+  {0xE1AF, 0x5C91}, //16940 #CJK UNIFIED IDEOGRAPH
+  {0xE1B0, 0x5C9A}, //16941 #CJK UNIFIED IDEOGRAPH
+  {0xE1B1, 0x5C9C}, //16942 #CJK UNIFIED IDEOGRAPH
+  {0xE1B2, 0x5CB5}, //16943 #CJK UNIFIED IDEOGRAPH
+  {0xE1B3, 0x5CA2}, //16944 #CJK UNIFIED IDEOGRAPH
+  {0xE1B4, 0x5CBD}, //16945 #CJK UNIFIED IDEOGRAPH
+  {0xE1B5, 0x5CAC}, //16946 #CJK UNIFIED IDEOGRAPH
+  {0xE1B6, 0x5CAB}, //16947 #CJK UNIFIED IDEOGRAPH
+  {0xE1B7, 0x5CB1}, //16948 #CJK UNIFIED IDEOGRAPH
+  {0xE1B8, 0x5CA3}, //16949 #CJK UNIFIED IDEOGRAPH
+  {0xE1B9, 0x5CC1}, //16950 #CJK UNIFIED IDEOGRAPH
+  {0xE1BA, 0x5CB7}, //16951 #CJK UNIFIED IDEOGRAPH
+  {0xE1BB, 0x5CC4}, //16952 #CJK UNIFIED IDEOGRAPH
+  {0xE1BC, 0x5CD2}, //16953 #CJK UNIFIED IDEOGRAPH
+  {0xE1BD, 0x5CE4}, //16954 #CJK UNIFIED IDEOGRAPH
+  {0xE1BE, 0x5CCB}, //16955 #CJK UNIFIED IDEOGRAPH
+  {0xE1BF, 0x5CE5}, //16956 #CJK UNIFIED IDEOGRAPH
+  {0xE1C0, 0x5D02}, //16957 #CJK UNIFIED IDEOGRAPH
+  {0xE1C1, 0x5D03}, //16958 #CJK UNIFIED IDEOGRAPH
+  {0xE1C2, 0x5D27}, //16959 #CJK UNIFIED IDEOGRAPH
+  {0xE1C3, 0x5D26}, //16960 #CJK UNIFIED IDEOGRAPH
+  {0xE1C4, 0x5D2E}, //16961 #CJK UNIFIED IDEOGRAPH
+  {0xE1C5, 0x5D24}, //16962 #CJK UNIFIED IDEOGRAPH
+  {0xE1C6, 0x5D1E}, //16963 #CJK UNIFIED IDEOGRAPH
+  {0xE1C7, 0x5D06}, //16964 #CJK UNIFIED IDEOGRAPH
+  {0xE1C8, 0x5D1B}, //16965 #CJK UNIFIED IDEOGRAPH
+  {0xE1C9, 0x5D58}, //16966 #CJK UNIFIED IDEOGRAPH
+  {0xE1CA, 0x5D3E}, //16967 #CJK UNIFIED IDEOGRAPH
+  {0xE1CB, 0x5D34}, //16968 #CJK UNIFIED IDEOGRAPH
+  {0xE1CC, 0x5D3D}, //16969 #CJK UNIFIED IDEOGRAPH
+  {0xE1CD, 0x5D6C}, //16970 #CJK UNIFIED IDEOGRAPH
+  {0xE1CE, 0x5D5B}, //16971 #CJK UNIFIED IDEOGRAPH
+  {0xE1CF, 0x5D6F}, //16972 #CJK UNIFIED IDEOGRAPH
+  {0xE1D0, 0x5D5D}, //16973 #CJK UNIFIED IDEOGRAPH
+  {0xE1D1, 0x5D6B}, //16974 #CJK UNIFIED IDEOGRAPH
+  {0xE1D2, 0x5D4B}, //16975 #CJK UNIFIED IDEOGRAPH
+  {0xE1D3, 0x5D4A}, //16976 #CJK UNIFIED IDEOGRAPH
+  {0xE1D4, 0x5D69}, //16977 #CJK UNIFIED IDEOGRAPH
+  {0xE1D5, 0x5D74}, //16978 #CJK UNIFIED IDEOGRAPH
+  {0xE1D6, 0x5D82}, //16979 #CJK UNIFIED IDEOGRAPH
+  {0xE1D7, 0x5D99}, //16980 #CJK UNIFIED IDEOGRAPH
+  {0xE1D8, 0x5D9D}, //16981 #CJK UNIFIED IDEOGRAPH
+  {0xE1D9, 0x8C73}, //16982 #CJK UNIFIED IDEOGRAPH
+  {0xE1DA, 0x5DB7}, //16983 #CJK UNIFIED IDEOGRAPH
+  {0xE1DB, 0x5DC5}, //16984 #CJK UNIFIED IDEOGRAPH
+  {0xE1DC, 0x5F73}, //16985 #CJK UNIFIED IDEOGRAPH
+  {0xE1DD, 0x5F77}, //16986 #CJK UNIFIED IDEOGRAPH
+  {0xE1DE, 0x5F82}, //16987 #CJK UNIFIED IDEOGRAPH
+  {0xE1DF, 0x5F87}, //16988 #CJK UNIFIED IDEOGRAPH
+  {0xE1E0, 0x5F89}, //16989 #CJK UNIFIED IDEOGRAPH
+  {0xE1E1, 0x5F8C}, //16990 #CJK UNIFIED IDEOGRAPH
+  {0xE1E2, 0x5F95}, //16991 #CJK UNIFIED IDEOGRAPH
+  {0xE1E3, 0x5F99}, //16992 #CJK UNIFIED IDEOGRAPH
+  {0xE1E4, 0x5F9C}, //16993 #CJK UNIFIED IDEOGRAPH
+  {0xE1E5, 0x5FA8}, //16994 #CJK UNIFIED IDEOGRAPH
+  {0xE1E6, 0x5FAD}, //16995 #CJK UNIFIED IDEOGRAPH
+  {0xE1E7, 0x5FB5}, //16996 #CJK UNIFIED IDEOGRAPH
+  {0xE1E8, 0x5FBC}, //16997 #CJK UNIFIED IDEOGRAPH
+  {0xE1E9, 0x8862}, //16998 #CJK UNIFIED IDEOGRAPH
+  {0xE1EA, 0x5F61}, //16999 #CJK UNIFIED IDEOGRAPH
+  {0xE1EB, 0x72AD}, //17000 #CJK UNIFIED IDEOGRAPH
+  {0xE1EC, 0x72B0}, //17001 #CJK UNIFIED IDEOGRAPH
+  {0xE1ED, 0x72B4}, //17002 #CJK UNIFIED IDEOGRAPH
+  {0xE1EE, 0x72B7}, //17003 #CJK UNIFIED IDEOGRAPH
+  {0xE1EF, 0x72B8}, //17004 #CJK UNIFIED IDEOGRAPH
+  {0xE1F0, 0x72C3}, //17005 #CJK UNIFIED IDEOGRAPH
+  {0xE1F1, 0x72C1}, //17006 #CJK UNIFIED IDEOGRAPH
+  {0xE1F2, 0x72CE}, //17007 #CJK UNIFIED IDEOGRAPH
+  {0xE1F3, 0x72CD}, //17008 #CJK UNIFIED IDEOGRAPH
+  {0xE1F4, 0x72D2}, //17009 #CJK UNIFIED IDEOGRAPH
+  {0xE1F5, 0x72E8}, //17010 #CJK UNIFIED IDEOGRAPH
+  {0xE1F6, 0x72EF}, //17011 #CJK UNIFIED IDEOGRAPH
+  {0xE1F7, 0x72E9}, //17012 #CJK UNIFIED IDEOGRAPH
+  {0xE1F8, 0x72F2}, //17013 #CJK UNIFIED IDEOGRAPH
+  {0xE1F9, 0x72F4}, //17014 #CJK UNIFIED IDEOGRAPH
+  {0xE1FA, 0x72F7}, //17015 #CJK UNIFIED IDEOGRAPH
+  {0xE1FB, 0x7301}, //17016 #CJK UNIFIED IDEOGRAPH
+  {0xE1FC, 0x72F3}, //17017 #CJK UNIFIED IDEOGRAPH
+  {0xE1FD, 0x7303}, //17018 #CJK UNIFIED IDEOGRAPH
+  {0xE1FE, 0x72FA}, //17019 #CJK UNIFIED IDEOGRAPH
+  {0xE240, 0x91E6}, //17020 #CJK UNIFIED IDEOGRAPH
+  {0xE241, 0x91E7}, //17021 #CJK UNIFIED IDEOGRAPH
+  {0xE242, 0x91E8}, //17022 #CJK UNIFIED IDEOGRAPH
+  {0xE243, 0x91E9}, //17023 #CJK UNIFIED IDEOGRAPH
+  {0xE244, 0x91EA}, //17024 #CJK UNIFIED IDEOGRAPH
+  {0xE245, 0x91EB}, //17025 #CJK UNIFIED IDEOGRAPH
+  {0xE246, 0x91EC}, //17026 #CJK UNIFIED IDEOGRAPH
+  {0xE247, 0x91ED}, //17027 #CJK UNIFIED IDEOGRAPH
+  {0xE248, 0x91EE}, //17028 #CJK UNIFIED IDEOGRAPH
+  {0xE249, 0x91EF}, //17029 #CJK UNIFIED IDEOGRAPH
+  {0xE24A, 0x91F0}, //17030 #CJK UNIFIED IDEOGRAPH
+  {0xE24B, 0x91F1}, //17031 #CJK UNIFIED IDEOGRAPH
+  {0xE24C, 0x91F2}, //17032 #CJK UNIFIED IDEOGRAPH
+  {0xE24D, 0x91F3}, //17033 #CJK UNIFIED IDEOGRAPH
+  {0xE24E, 0x91F4}, //17034 #CJK UNIFIED IDEOGRAPH
+  {0xE24F, 0x91F5}, //17035 #CJK UNIFIED IDEOGRAPH
+  {0xE250, 0x91F6}, //17036 #CJK UNIFIED IDEOGRAPH
+  {0xE251, 0x91F7}, //17037 #CJK UNIFIED IDEOGRAPH
+  {0xE252, 0x91F8}, //17038 #CJK UNIFIED IDEOGRAPH
+  {0xE253, 0x91F9}, //17039 #CJK UNIFIED IDEOGRAPH
+  {0xE254, 0x91FA}, //17040 #CJK UNIFIED IDEOGRAPH
+  {0xE255, 0x91FB}, //17041 #CJK UNIFIED IDEOGRAPH
+  {0xE256, 0x91FC}, //17042 #CJK UNIFIED IDEOGRAPH
+  {0xE257, 0x91FD}, //17043 #CJK UNIFIED IDEOGRAPH
+  {0xE258, 0x91FE}, //17044 #CJK UNIFIED IDEOGRAPH
+  {0xE259, 0x91FF}, //17045 #CJK UNIFIED IDEOGRAPH
+  {0xE25A, 0x9200}, //17046 #CJK UNIFIED IDEOGRAPH
+  {0xE25B, 0x9201}, //17047 #CJK UNIFIED IDEOGRAPH
+  {0xE25C, 0x9202}, //17048 #CJK UNIFIED IDEOGRAPH
+  {0xE25D, 0x9203}, //17049 #CJK UNIFIED IDEOGRAPH
+  {0xE25E, 0x9204}, //17050 #CJK UNIFIED IDEOGRAPH
+  {0xE25F, 0x9205}, //17051 #CJK UNIFIED IDEOGRAPH
+  {0xE260, 0x9206}, //17052 #CJK UNIFIED IDEOGRAPH
+  {0xE261, 0x9207}, //17053 #CJK UNIFIED IDEOGRAPH
+  {0xE262, 0x9208}, //17054 #CJK UNIFIED IDEOGRAPH
+  {0xE263, 0x9209}, //17055 #CJK UNIFIED IDEOGRAPH
+  {0xE264, 0x920A}, //17056 #CJK UNIFIED IDEOGRAPH
+  {0xE265, 0x920B}, //17057 #CJK UNIFIED IDEOGRAPH
+  {0xE266, 0x920C}, //17058 #CJK UNIFIED IDEOGRAPH
+  {0xE267, 0x920D}, //17059 #CJK UNIFIED IDEOGRAPH
+  {0xE268, 0x920E}, //17060 #CJK UNIFIED IDEOGRAPH
+  {0xE269, 0x920F}, //17061 #CJK UNIFIED IDEOGRAPH
+  {0xE26A, 0x9210}, //17062 #CJK UNIFIED IDEOGRAPH
+  {0xE26B, 0x9211}, //17063 #CJK UNIFIED IDEOGRAPH
+  {0xE26C, 0x9212}, //17064 #CJK UNIFIED IDEOGRAPH
+  {0xE26D, 0x9213}, //17065 #CJK UNIFIED IDEOGRAPH
+  {0xE26E, 0x9214}, //17066 #CJK UNIFIED IDEOGRAPH
+  {0xE26F, 0x9215}, //17067 #CJK UNIFIED IDEOGRAPH
+  {0xE270, 0x9216}, //17068 #CJK UNIFIED IDEOGRAPH
+  {0xE271, 0x9217}, //17069 #CJK UNIFIED IDEOGRAPH
+  {0xE272, 0x9218}, //17070 #CJK UNIFIED IDEOGRAPH
+  {0xE273, 0x9219}, //17071 #CJK UNIFIED IDEOGRAPH
+  {0xE274, 0x921A}, //17072 #CJK UNIFIED IDEOGRAPH
+  {0xE275, 0x921B}, //17073 #CJK UNIFIED IDEOGRAPH
+  {0xE276, 0x921C}, //17074 #CJK UNIFIED IDEOGRAPH
+  {0xE277, 0x921D}, //17075 #CJK UNIFIED IDEOGRAPH
+  {0xE278, 0x921E}, //17076 #CJK UNIFIED IDEOGRAPH
+  {0xE279, 0x921F}, //17077 #CJK UNIFIED IDEOGRAPH
+  {0xE27A, 0x9220}, //17078 #CJK UNIFIED IDEOGRAPH
+  {0xE27B, 0x9221}, //17079 #CJK UNIFIED IDEOGRAPH
+  {0xE27C, 0x9222}, //17080 #CJK UNIFIED IDEOGRAPH
+  {0xE27D, 0x9223}, //17081 #CJK UNIFIED IDEOGRAPH
+  {0xE27E, 0x9224}, //17082 #CJK UNIFIED IDEOGRAPH
+  {0xE280, 0x9225}, //17083 #CJK UNIFIED IDEOGRAPH
+  {0xE281, 0x9226}, //17084 #CJK UNIFIED IDEOGRAPH
+  {0xE282, 0x9227}, //17085 #CJK UNIFIED IDEOGRAPH
+  {0xE283, 0x9228}, //17086 #CJK UNIFIED IDEOGRAPH
+  {0xE284, 0x9229}, //17087 #CJK UNIFIED IDEOGRAPH
+  {0xE285, 0x922A}, //17088 #CJK UNIFIED IDEOGRAPH
+  {0xE286, 0x922B}, //17089 #CJK UNIFIED IDEOGRAPH
+  {0xE287, 0x922C}, //17090 #CJK UNIFIED IDEOGRAPH
+  {0xE288, 0x922D}, //17091 #CJK UNIFIED IDEOGRAPH
+  {0xE289, 0x922E}, //17092 #CJK UNIFIED IDEOGRAPH
+  {0xE28A, 0x922F}, //17093 #CJK UNIFIED IDEOGRAPH
+  {0xE28B, 0x9230}, //17094 #CJK UNIFIED IDEOGRAPH
+  {0xE28C, 0x9231}, //17095 #CJK UNIFIED IDEOGRAPH
+  {0xE28D, 0x9232}, //17096 #CJK UNIFIED IDEOGRAPH
+  {0xE28E, 0x9233}, //17097 #CJK UNIFIED IDEOGRAPH
+  {0xE28F, 0x9234}, //17098 #CJK UNIFIED IDEOGRAPH
+  {0xE290, 0x9235}, //17099 #CJK UNIFIED IDEOGRAPH
+  {0xE291, 0x9236}, //17100 #CJK UNIFIED IDEOGRAPH
+  {0xE292, 0x9237}, //17101 #CJK UNIFIED IDEOGRAPH
+  {0xE293, 0x9238}, //17102 #CJK UNIFIED IDEOGRAPH
+  {0xE294, 0x9239}, //17103 #CJK UNIFIED IDEOGRAPH
+  {0xE295, 0x923A}, //17104 #CJK UNIFIED IDEOGRAPH
+  {0xE296, 0x923B}, //17105 #CJK UNIFIED IDEOGRAPH
+  {0xE297, 0x923C}, //17106 #CJK UNIFIED IDEOGRAPH
+  {0xE298, 0x923D}, //17107 #CJK UNIFIED IDEOGRAPH
+  {0xE299, 0x923E}, //17108 #CJK UNIFIED IDEOGRAPH
+  {0xE29A, 0x923F}, //17109 #CJK UNIFIED IDEOGRAPH
+  {0xE29B, 0x9240}, //17110 #CJK UNIFIED IDEOGRAPH
+  {0xE29C, 0x9241}, //17111 #CJK UNIFIED IDEOGRAPH
+  {0xE29D, 0x9242}, //17112 #CJK UNIFIED IDEOGRAPH
+  {0xE29E, 0x9243}, //17113 #CJK UNIFIED IDEOGRAPH
+  {0xE29F, 0x9244}, //17114 #CJK UNIFIED IDEOGRAPH
+  {0xE2A0, 0x9245}, //17115 #CJK UNIFIED IDEOGRAPH
+  {0xE2A1, 0x72FB}, //17116 #CJK UNIFIED IDEOGRAPH
+  {0xE2A2, 0x7317}, //17117 #CJK UNIFIED IDEOGRAPH
+  {0xE2A3, 0x7313}, //17118 #CJK UNIFIED IDEOGRAPH
+  {0xE2A4, 0x7321}, //17119 #CJK UNIFIED IDEOGRAPH
+  {0xE2A5, 0x730A}, //17120 #CJK UNIFIED IDEOGRAPH
+  {0xE2A6, 0x731E}, //17121 #CJK UNIFIED IDEOGRAPH
+  {0xE2A7, 0x731D}, //17122 #CJK UNIFIED IDEOGRAPH
+  {0xE2A8, 0x7315}, //17123 #CJK UNIFIED IDEOGRAPH
+  {0xE2A9, 0x7322}, //17124 #CJK UNIFIED IDEOGRAPH
+  {0xE2AA, 0x7339}, //17125 #CJK UNIFIED IDEOGRAPH
+  {0xE2AB, 0x7325}, //17126 #CJK UNIFIED IDEOGRAPH
+  {0xE2AC, 0x732C}, //17127 #CJK UNIFIED IDEOGRAPH
+  {0xE2AD, 0x7338}, //17128 #CJK UNIFIED IDEOGRAPH
+  {0xE2AE, 0x7331}, //17129 #CJK UNIFIED IDEOGRAPH
+  {0xE2AF, 0x7350}, //17130 #CJK UNIFIED IDEOGRAPH
+  {0xE2B0, 0x734D}, //17131 #CJK UNIFIED IDEOGRAPH
+  {0xE2B1, 0x7357}, //17132 #CJK UNIFIED IDEOGRAPH
+  {0xE2B2, 0x7360}, //17133 #CJK UNIFIED IDEOGRAPH
+  {0xE2B3, 0x736C}, //17134 #CJK UNIFIED IDEOGRAPH
+  {0xE2B4, 0x736F}, //17135 #CJK UNIFIED IDEOGRAPH
+  {0xE2B5, 0x737E}, //17136 #CJK UNIFIED IDEOGRAPH
+  {0xE2B6, 0x821B}, //17137 #CJK UNIFIED IDEOGRAPH
+  {0xE2B7, 0x5925}, //17138 #CJK UNIFIED IDEOGRAPH
+  {0xE2B8, 0x98E7}, //17139 #CJK UNIFIED IDEOGRAPH
+  {0xE2B9, 0x5924}, //17140 #CJK UNIFIED IDEOGRAPH
+  {0xE2BA, 0x5902}, //17141 #CJK UNIFIED IDEOGRAPH
+  {0xE2BB, 0x9963}, //17142 #CJK UNIFIED IDEOGRAPH
+  {0xE2BC, 0x9967}, //17143 #CJK UNIFIED IDEOGRAPH
+  {0xE2BD, 0x9968}, //17144 #CJK UNIFIED IDEOGRAPH
+  {0xE2BE, 0x9969}, //17145 #CJK UNIFIED IDEOGRAPH
+  {0xE2BF, 0x996A}, //17146 #CJK UNIFIED IDEOGRAPH
+  {0xE2C0, 0x996B}, //17147 #CJK UNIFIED IDEOGRAPH
+  {0xE2C1, 0x996C}, //17148 #CJK UNIFIED IDEOGRAPH
+  {0xE2C2, 0x9974}, //17149 #CJK UNIFIED IDEOGRAPH
+  {0xE2C3, 0x9977}, //17150 #CJK UNIFIED IDEOGRAPH
+  {0xE2C4, 0x997D}, //17151 #CJK UNIFIED IDEOGRAPH
+  {0xE2C5, 0x9980}, //17152 #CJK UNIFIED IDEOGRAPH
+  {0xE2C6, 0x9984}, //17153 #CJK UNIFIED IDEOGRAPH
+  {0xE2C7, 0x9987}, //17154 #CJK UNIFIED IDEOGRAPH
+  {0xE2C8, 0x998A}, //17155 #CJK UNIFIED IDEOGRAPH
+  {0xE2C9, 0x998D}, //17156 #CJK UNIFIED IDEOGRAPH
+  {0xE2CA, 0x9990}, //17157 #CJK UNIFIED IDEOGRAPH
+  {0xE2CB, 0x9991}, //17158 #CJK UNIFIED IDEOGRAPH
+  {0xE2CC, 0x9993}, //17159 #CJK UNIFIED IDEOGRAPH
+  {0xE2CD, 0x9994}, //17160 #CJK UNIFIED IDEOGRAPH
+  {0xE2CE, 0x9995}, //17161 #CJK UNIFIED IDEOGRAPH
+  {0xE2CF, 0x5E80}, //17162 #CJK UNIFIED IDEOGRAPH
+  {0xE2D0, 0x5E91}, //17163 #CJK UNIFIED IDEOGRAPH
+  {0xE2D1, 0x5E8B}, //17164 #CJK UNIFIED IDEOGRAPH
+  {0xE2D2, 0x5E96}, //17165 #CJK UNIFIED IDEOGRAPH
+  {0xE2D3, 0x5EA5}, //17166 #CJK UNIFIED IDEOGRAPH
+  {0xE2D4, 0x5EA0}, //17167 #CJK UNIFIED IDEOGRAPH
+  {0xE2D5, 0x5EB9}, //17168 #CJK UNIFIED IDEOGRAPH
+  {0xE2D6, 0x5EB5}, //17169 #CJK UNIFIED IDEOGRAPH
+  {0xE2D7, 0x5EBE}, //17170 #CJK UNIFIED IDEOGRAPH
+  {0xE2D8, 0x5EB3}, //17171 #CJK UNIFIED IDEOGRAPH
+  {0xE2D9, 0x8D53}, //17172 #CJK UNIFIED IDEOGRAPH
+  {0xE2DA, 0x5ED2}, //17173 #CJK UNIFIED IDEOGRAPH
+  {0xE2DB, 0x5ED1}, //17174 #CJK UNIFIED IDEOGRAPH
+  {0xE2DC, 0x5EDB}, //17175 #CJK UNIFIED IDEOGRAPH
+  {0xE2DD, 0x5EE8}, //17176 #CJK UNIFIED IDEOGRAPH
+  {0xE2DE, 0x5EEA}, //17177 #CJK UNIFIED IDEOGRAPH
+  {0xE2DF, 0x81BA}, //17178 #CJK UNIFIED IDEOGRAPH
+  {0xE2E0, 0x5FC4}, //17179 #CJK UNIFIED IDEOGRAPH
+  {0xE2E1, 0x5FC9}, //17180 #CJK UNIFIED IDEOGRAPH
+  {0xE2E2, 0x5FD6}, //17181 #CJK UNIFIED IDEOGRAPH
+  {0xE2E3, 0x5FCF}, //17182 #CJK UNIFIED IDEOGRAPH
+  {0xE2E4, 0x6003}, //17183 #CJK UNIFIED IDEOGRAPH
+  {0xE2E5, 0x5FEE}, //17184 #CJK UNIFIED IDEOGRAPH
+  {0xE2E6, 0x6004}, //17185 #CJK UNIFIED IDEOGRAPH
+  {0xE2E7, 0x5FE1}, //17186 #CJK UNIFIED IDEOGRAPH
+  {0xE2E8, 0x5FE4}, //17187 #CJK UNIFIED IDEOGRAPH
+  {0xE2E9, 0x5FFE}, //17188 #CJK UNIFIED IDEOGRAPH
+  {0xE2EA, 0x6005}, //17189 #CJK UNIFIED IDEOGRAPH
+  {0xE2EB, 0x6006}, //17190 #CJK UNIFIED IDEOGRAPH
+  {0xE2EC, 0x5FEA}, //17191 #CJK UNIFIED IDEOGRAPH
+  {0xE2ED, 0x5FED}, //17192 #CJK UNIFIED IDEOGRAPH
+  {0xE2EE, 0x5FF8}, //17193 #CJK UNIFIED IDEOGRAPH
+  {0xE2EF, 0x6019}, //17194 #CJK UNIFIED IDEOGRAPH
+  {0xE2F0, 0x6035}, //17195 #CJK UNIFIED IDEOGRAPH
+  {0xE2F1, 0x6026}, //17196 #CJK UNIFIED IDEOGRAPH
+  {0xE2F2, 0x601B}, //17197 #CJK UNIFIED IDEOGRAPH
+  {0xE2F3, 0x600F}, //17198 #CJK UNIFIED IDEOGRAPH
+  {0xE2F4, 0x600D}, //17199 #CJK UNIFIED IDEOGRAPH
+  {0xE2F5, 0x6029}, //17200 #CJK UNIFIED IDEOGRAPH
+  {0xE2F6, 0x602B}, //17201 #CJK UNIFIED IDEOGRAPH
+  {0xE2F7, 0x600A}, //17202 #CJK UNIFIED IDEOGRAPH
+  {0xE2F8, 0x603F}, //17203 #CJK UNIFIED IDEOGRAPH
+  {0xE2F9, 0x6021}, //17204 #CJK UNIFIED IDEOGRAPH
+  {0xE2FA, 0x6078}, //17205 #CJK UNIFIED IDEOGRAPH
+  {0xE2FB, 0x6079}, //17206 #CJK UNIFIED IDEOGRAPH
+  {0xE2FC, 0x607B}, //17207 #CJK UNIFIED IDEOGRAPH
+  {0xE2FD, 0x607A}, //17208 #CJK UNIFIED IDEOGRAPH
+  {0xE2FE, 0x6042}, //17209 #CJK UNIFIED IDEOGRAPH
+  {0xE340, 0x9246}, //17210 #CJK UNIFIED IDEOGRAPH
+  {0xE341, 0x9247}, //17211 #CJK UNIFIED IDEOGRAPH
+  {0xE342, 0x9248}, //17212 #CJK UNIFIED IDEOGRAPH
+  {0xE343, 0x9249}, //17213 #CJK UNIFIED IDEOGRAPH
+  {0xE344, 0x924A}, //17214 #CJK UNIFIED IDEOGRAPH
+  {0xE345, 0x924B}, //17215 #CJK UNIFIED IDEOGRAPH
+  {0xE346, 0x924C}, //17216 #CJK UNIFIED IDEOGRAPH
+  {0xE347, 0x924D}, //17217 #CJK UNIFIED IDEOGRAPH
+  {0xE348, 0x924E}, //17218 #CJK UNIFIED IDEOGRAPH
+  {0xE349, 0x924F}, //17219 #CJK UNIFIED IDEOGRAPH
+  {0xE34A, 0x9250}, //17220 #CJK UNIFIED IDEOGRAPH
+  {0xE34B, 0x9251}, //17221 #CJK UNIFIED IDEOGRAPH
+  {0xE34C, 0x9252}, //17222 #CJK UNIFIED IDEOGRAPH
+  {0xE34D, 0x9253}, //17223 #CJK UNIFIED IDEOGRAPH
+  {0xE34E, 0x9254}, //17224 #CJK UNIFIED IDEOGRAPH
+  {0xE34F, 0x9255}, //17225 #CJK UNIFIED IDEOGRAPH
+  {0xE350, 0x9256}, //17226 #CJK UNIFIED IDEOGRAPH
+  {0xE351, 0x9257}, //17227 #CJK UNIFIED IDEOGRAPH
+  {0xE352, 0x9258}, //17228 #CJK UNIFIED IDEOGRAPH
+  {0xE353, 0x9259}, //17229 #CJK UNIFIED IDEOGRAPH
+  {0xE354, 0x925A}, //17230 #CJK UNIFIED IDEOGRAPH
+  {0xE355, 0x925B}, //17231 #CJK UNIFIED IDEOGRAPH
+  {0xE356, 0x925C}, //17232 #CJK UNIFIED IDEOGRAPH
+  {0xE357, 0x925D}, //17233 #CJK UNIFIED IDEOGRAPH
+  {0xE358, 0x925E}, //17234 #CJK UNIFIED IDEOGRAPH
+  {0xE359, 0x925F}, //17235 #CJK UNIFIED IDEOGRAPH
+  {0xE35A, 0x9260}, //17236 #CJK UNIFIED IDEOGRAPH
+  {0xE35B, 0x9261}, //17237 #CJK UNIFIED IDEOGRAPH
+  {0xE35C, 0x9262}, //17238 #CJK UNIFIED IDEOGRAPH
+  {0xE35D, 0x9263}, //17239 #CJK UNIFIED IDEOGRAPH
+  {0xE35E, 0x9264}, //17240 #CJK UNIFIED IDEOGRAPH
+  {0xE35F, 0x9265}, //17241 #CJK UNIFIED IDEOGRAPH
+  {0xE360, 0x9266}, //17242 #CJK UNIFIED IDEOGRAPH
+  {0xE361, 0x9267}, //17243 #CJK UNIFIED IDEOGRAPH
+  {0xE362, 0x9268}, //17244 #CJK UNIFIED IDEOGRAPH
+  {0xE363, 0x9269}, //17245 #CJK UNIFIED IDEOGRAPH
+  {0xE364, 0x926A}, //17246 #CJK UNIFIED IDEOGRAPH
+  {0xE365, 0x926B}, //17247 #CJK UNIFIED IDEOGRAPH
+  {0xE366, 0x926C}, //17248 #CJK UNIFIED IDEOGRAPH
+  {0xE367, 0x926D}, //17249 #CJK UNIFIED IDEOGRAPH
+  {0xE368, 0x926E}, //17250 #CJK UNIFIED IDEOGRAPH
+  {0xE369, 0x926F}, //17251 #CJK UNIFIED IDEOGRAPH
+  {0xE36A, 0x9270}, //17252 #CJK UNIFIED IDEOGRAPH
+  {0xE36B, 0x9271}, //17253 #CJK UNIFIED IDEOGRAPH
+  {0xE36C, 0x9272}, //17254 #CJK UNIFIED IDEOGRAPH
+  {0xE36D, 0x9273}, //17255 #CJK UNIFIED IDEOGRAPH
+  {0xE36E, 0x9275}, //17256 #CJK UNIFIED IDEOGRAPH
+  {0xE36F, 0x9276}, //17257 #CJK UNIFIED IDEOGRAPH
+  {0xE370, 0x9277}, //17258 #CJK UNIFIED IDEOGRAPH
+  {0xE371, 0x9278}, //17259 #CJK UNIFIED IDEOGRAPH
+  {0xE372, 0x9279}, //17260 #CJK UNIFIED IDEOGRAPH
+  {0xE373, 0x927A}, //17261 #CJK UNIFIED IDEOGRAPH
+  {0xE374, 0x927B}, //17262 #CJK UNIFIED IDEOGRAPH
+  {0xE375, 0x927C}, //17263 #CJK UNIFIED IDEOGRAPH
+  {0xE376, 0x927D}, //17264 #CJK UNIFIED IDEOGRAPH
+  {0xE377, 0x927E}, //17265 #CJK UNIFIED IDEOGRAPH
+  {0xE378, 0x927F}, //17266 #CJK UNIFIED IDEOGRAPH
+  {0xE379, 0x9280}, //17267 #CJK UNIFIED IDEOGRAPH
+  {0xE37A, 0x9281}, //17268 #CJK UNIFIED IDEOGRAPH
+  {0xE37B, 0x9282}, //17269 #CJK UNIFIED IDEOGRAPH
+  {0xE37C, 0x9283}, //17270 #CJK UNIFIED IDEOGRAPH
+  {0xE37D, 0x9284}, //17271 #CJK UNIFIED IDEOGRAPH
+  {0xE37E, 0x9285}, //17272 #CJK UNIFIED IDEOGRAPH
+  {0xE380, 0x9286}, //17273 #CJK UNIFIED IDEOGRAPH
+  {0xE381, 0x9287}, //17274 #CJK UNIFIED IDEOGRAPH
+  {0xE382, 0x9288}, //17275 #CJK UNIFIED IDEOGRAPH
+  {0xE383, 0x9289}, //17276 #CJK UNIFIED IDEOGRAPH
+  {0xE384, 0x928A}, //17277 #CJK UNIFIED IDEOGRAPH
+  {0xE385, 0x928B}, //17278 #CJK UNIFIED IDEOGRAPH
+  {0xE386, 0x928C}, //17279 #CJK UNIFIED IDEOGRAPH
+  {0xE387, 0x928D}, //17280 #CJK UNIFIED IDEOGRAPH
+  {0xE388, 0x928F}, //17281 #CJK UNIFIED IDEOGRAPH
+  {0xE389, 0x9290}, //17282 #CJK UNIFIED IDEOGRAPH
+  {0xE38A, 0x9291}, //17283 #CJK UNIFIED IDEOGRAPH
+  {0xE38B, 0x9292}, //17284 #CJK UNIFIED IDEOGRAPH
+  {0xE38C, 0x9293}, //17285 #CJK UNIFIED IDEOGRAPH
+  {0xE38D, 0x9294}, //17286 #CJK UNIFIED IDEOGRAPH
+  {0xE38E, 0x9295}, //17287 #CJK UNIFIED IDEOGRAPH
+  {0xE38F, 0x9296}, //17288 #CJK UNIFIED IDEOGRAPH
+  {0xE390, 0x9297}, //17289 #CJK UNIFIED IDEOGRAPH
+  {0xE391, 0x9298}, //17290 #CJK UNIFIED IDEOGRAPH
+  {0xE392, 0x9299}, //17291 #CJK UNIFIED IDEOGRAPH
+  {0xE393, 0x929A}, //17292 #CJK UNIFIED IDEOGRAPH
+  {0xE394, 0x929B}, //17293 #CJK UNIFIED IDEOGRAPH
+  {0xE395, 0x929C}, //17294 #CJK UNIFIED IDEOGRAPH
+  {0xE396, 0x929D}, //17295 #CJK UNIFIED IDEOGRAPH
+  {0xE397, 0x929E}, //17296 #CJK UNIFIED IDEOGRAPH
+  {0xE398, 0x929F}, //17297 #CJK UNIFIED IDEOGRAPH
+  {0xE399, 0x92A0}, //17298 #CJK UNIFIED IDEOGRAPH
+  {0xE39A, 0x92A1}, //17299 #CJK UNIFIED IDEOGRAPH
+  {0xE39B, 0x92A2}, //17300 #CJK UNIFIED IDEOGRAPH
+  {0xE39C, 0x92A3}, //17301 #CJK UNIFIED IDEOGRAPH
+  {0xE39D, 0x92A4}, //17302 #CJK UNIFIED IDEOGRAPH
+  {0xE39E, 0x92A5}, //17303 #CJK UNIFIED IDEOGRAPH
+  {0xE39F, 0x92A6}, //17304 #CJK UNIFIED IDEOGRAPH
+  {0xE3A0, 0x92A7}, //17305 #CJK UNIFIED IDEOGRAPH
+  {0xE3A1, 0x606A}, //17306 #CJK UNIFIED IDEOGRAPH
+  {0xE3A2, 0x607D}, //17307 #CJK UNIFIED IDEOGRAPH
+  {0xE3A3, 0x6096}, //17308 #CJK UNIFIED IDEOGRAPH
+  {0xE3A4, 0x609A}, //17309 #CJK UNIFIED IDEOGRAPH
+  {0xE3A5, 0x60AD}, //17310 #CJK UNIFIED IDEOGRAPH
+  {0xE3A6, 0x609D}, //17311 #CJK UNIFIED IDEOGRAPH
+  {0xE3A7, 0x6083}, //17312 #CJK UNIFIED IDEOGRAPH
+  {0xE3A8, 0x6092}, //17313 #CJK UNIFIED IDEOGRAPH
+  {0xE3A9, 0x608C}, //17314 #CJK UNIFIED IDEOGRAPH
+  {0xE3AA, 0x609B}, //17315 #CJK UNIFIED IDEOGRAPH
+  {0xE3AB, 0x60EC}, //17316 #CJK UNIFIED IDEOGRAPH
+  {0xE3AC, 0x60BB}, //17317 #CJK UNIFIED IDEOGRAPH
+  {0xE3AD, 0x60B1}, //17318 #CJK UNIFIED IDEOGRAPH
+  {0xE3AE, 0x60DD}, //17319 #CJK UNIFIED IDEOGRAPH
+  {0xE3AF, 0x60D8}, //17320 #CJK UNIFIED IDEOGRAPH
+  {0xE3B0, 0x60C6}, //17321 #CJK UNIFIED IDEOGRAPH
+  {0xE3B1, 0x60DA}, //17322 #CJK UNIFIED IDEOGRAPH
+  {0xE3B2, 0x60B4}, //17323 #CJK UNIFIED IDEOGRAPH
+  {0xE3B3, 0x6120}, //17324 #CJK UNIFIED IDEOGRAPH
+  {0xE3B4, 0x6126}, //17325 #CJK UNIFIED IDEOGRAPH
+  {0xE3B5, 0x6115}, //17326 #CJK UNIFIED IDEOGRAPH
+  {0xE3B6, 0x6123}, //17327 #CJK UNIFIED IDEOGRAPH
+  {0xE3B7, 0x60F4}, //17328 #CJK UNIFIED IDEOGRAPH
+  {0xE3B8, 0x6100}, //17329 #CJK UNIFIED IDEOGRAPH
+  {0xE3B9, 0x610E}, //17330 #CJK UNIFIED IDEOGRAPH
+  {0xE3BA, 0x612B}, //17331 #CJK UNIFIED IDEOGRAPH
+  {0xE3BB, 0x614A}, //17332 #CJK UNIFIED IDEOGRAPH
+  {0xE3BC, 0x6175}, //17333 #CJK UNIFIED IDEOGRAPH
+  {0xE3BD, 0x61AC}, //17334 #CJK UNIFIED IDEOGRAPH
+  {0xE3BE, 0x6194}, //17335 #CJK UNIFIED IDEOGRAPH
+  {0xE3BF, 0x61A7}, //17336 #CJK UNIFIED IDEOGRAPH
+  {0xE3C0, 0x61B7}, //17337 #CJK UNIFIED IDEOGRAPH
+  {0xE3C1, 0x61D4}, //17338 #CJK UNIFIED IDEOGRAPH
+  {0xE3C2, 0x61F5}, //17339 #CJK UNIFIED IDEOGRAPH
+  {0xE3C3, 0x5FDD}, //17340 #CJK UNIFIED IDEOGRAPH
+  {0xE3C4, 0x96B3}, //17341 #CJK UNIFIED IDEOGRAPH
+  {0xE3C5, 0x95E9}, //17342 #CJK UNIFIED IDEOGRAPH
+  {0xE3C6, 0x95EB}, //17343 #CJK UNIFIED IDEOGRAPH
+  {0xE3C7, 0x95F1}, //17344 #CJK UNIFIED IDEOGRAPH
+  {0xE3C8, 0x95F3}, //17345 #CJK UNIFIED IDEOGRAPH
+  {0xE3C9, 0x95F5}, //17346 #CJK UNIFIED IDEOGRAPH
+  {0xE3CA, 0x95F6}, //17347 #CJK UNIFIED IDEOGRAPH
+  {0xE3CB, 0x95FC}, //17348 #CJK UNIFIED IDEOGRAPH
+  {0xE3CC, 0x95FE}, //17349 #CJK UNIFIED IDEOGRAPH
+  {0xE3CD, 0x9603}, //17350 #CJK UNIFIED IDEOGRAPH
+  {0xE3CE, 0x9604}, //17351 #CJK UNIFIED IDEOGRAPH
+  {0xE3CF, 0x9606}, //17352 #CJK UNIFIED IDEOGRAPH
+  {0xE3D0, 0x9608}, //17353 #CJK UNIFIED IDEOGRAPH
+  {0xE3D1, 0x960A}, //17354 #CJK UNIFIED IDEOGRAPH
+  {0xE3D2, 0x960B}, //17355 #CJK UNIFIED IDEOGRAPH
+  {0xE3D3, 0x960C}, //17356 #CJK UNIFIED IDEOGRAPH
+  {0xE3D4, 0x960D}, //17357 #CJK UNIFIED IDEOGRAPH
+  {0xE3D5, 0x960F}, //17358 #CJK UNIFIED IDEOGRAPH
+  {0xE3D6, 0x9612}, //17359 #CJK UNIFIED IDEOGRAPH
+  {0xE3D7, 0x9615}, //17360 #CJK UNIFIED IDEOGRAPH
+  {0xE3D8, 0x9616}, //17361 #CJK UNIFIED IDEOGRAPH
+  {0xE3D9, 0x9617}, //17362 #CJK UNIFIED IDEOGRAPH
+  {0xE3DA, 0x9619}, //17363 #CJK UNIFIED IDEOGRAPH
+  {0xE3DB, 0x961A}, //17364 #CJK UNIFIED IDEOGRAPH
+  {0xE3DC, 0x4E2C}, //17365 #CJK UNIFIED IDEOGRAPH
+  {0xE3DD, 0x723F}, //17366 #CJK UNIFIED IDEOGRAPH
+  {0xE3DE, 0x6215}, //17367 #CJK UNIFIED IDEOGRAPH
+  {0xE3DF, 0x6C35}, //17368 #CJK UNIFIED IDEOGRAPH
+  {0xE3E0, 0x6C54}, //17369 #CJK UNIFIED IDEOGRAPH
+  {0xE3E1, 0x6C5C}, //17370 #CJK UNIFIED IDEOGRAPH
+  {0xE3E2, 0x6C4A}, //17371 #CJK UNIFIED IDEOGRAPH
+  {0xE3E3, 0x6CA3}, //17372 #CJK UNIFIED IDEOGRAPH
+  {0xE3E4, 0x6C85}, //17373 #CJK UNIFIED IDEOGRAPH
+  {0xE3E5, 0x6C90}, //17374 #CJK UNIFIED IDEOGRAPH
+  {0xE3E6, 0x6C94}, //17375 #CJK UNIFIED IDEOGRAPH
+  {0xE3E7, 0x6C8C}, //17376 #CJK UNIFIED IDEOGRAPH
+  {0xE3E8, 0x6C68}, //17377 #CJK UNIFIED IDEOGRAPH
+  {0xE3E9, 0x6C69}, //17378 #CJK UNIFIED IDEOGRAPH
+  {0xE3EA, 0x6C74}, //17379 #CJK UNIFIED IDEOGRAPH
+  {0xE3EB, 0x6C76}, //17380 #CJK UNIFIED IDEOGRAPH
+  {0xE3EC, 0x6C86}, //17381 #CJK UNIFIED IDEOGRAPH
+  {0xE3ED, 0x6CA9}, //17382 #CJK UNIFIED IDEOGRAPH
+  {0xE3EE, 0x6CD0}, //17383 #CJK UNIFIED IDEOGRAPH
+  {0xE3EF, 0x6CD4}, //17384 #CJK UNIFIED IDEOGRAPH
+  {0xE3F0, 0x6CAD}, //17385 #CJK UNIFIED IDEOGRAPH
+  {0xE3F1, 0x6CF7}, //17386 #CJK UNIFIED IDEOGRAPH
+  {0xE3F2, 0x6CF8}, //17387 #CJK UNIFIED IDEOGRAPH
+  {0xE3F3, 0x6CF1}, //17388 #CJK UNIFIED IDEOGRAPH
+  {0xE3F4, 0x6CD7}, //17389 #CJK UNIFIED IDEOGRAPH
+  {0xE3F5, 0x6CB2}, //17390 #CJK UNIFIED IDEOGRAPH
+  {0xE3F6, 0x6CE0}, //17391 #CJK UNIFIED IDEOGRAPH
+  {0xE3F7, 0x6CD6}, //17392 #CJK UNIFIED IDEOGRAPH
+  {0xE3F8, 0x6CFA}, //17393 #CJK UNIFIED IDEOGRAPH
+  {0xE3F9, 0x6CEB}, //17394 #CJK UNIFIED IDEOGRAPH
+  {0xE3FA, 0x6CEE}, //17395 #CJK UNIFIED IDEOGRAPH
+  {0xE3FB, 0x6CB1}, //17396 #CJK UNIFIED IDEOGRAPH
+  {0xE3FC, 0x6CD3}, //17397 #CJK UNIFIED IDEOGRAPH
+  {0xE3FD, 0x6CEF}, //17398 #CJK UNIFIED IDEOGRAPH
+  {0xE3FE, 0x6CFE}, //17399 #CJK UNIFIED IDEOGRAPH
+  {0xE440, 0x92A8}, //17400 #CJK UNIFIED IDEOGRAPH
+  {0xE441, 0x92A9}, //17401 #CJK UNIFIED IDEOGRAPH
+  {0xE442, 0x92AA}, //17402 #CJK UNIFIED IDEOGRAPH
+  {0xE443, 0x92AB}, //17403 #CJK UNIFIED IDEOGRAPH
+  {0xE444, 0x92AC}, //17404 #CJK UNIFIED IDEOGRAPH
+  {0xE445, 0x92AD}, //17405 #CJK UNIFIED IDEOGRAPH
+  {0xE446, 0x92AF}, //17406 #CJK UNIFIED IDEOGRAPH
+  {0xE447, 0x92B0}, //17407 #CJK UNIFIED IDEOGRAPH
+  {0xE448, 0x92B1}, //17408 #CJK UNIFIED IDEOGRAPH
+  {0xE449, 0x92B2}, //17409 #CJK UNIFIED IDEOGRAPH
+  {0xE44A, 0x92B3}, //17410 #CJK UNIFIED IDEOGRAPH
+  {0xE44B, 0x92B4}, //17411 #CJK UNIFIED IDEOGRAPH
+  {0xE44C, 0x92B5}, //17412 #CJK UNIFIED IDEOGRAPH
+  {0xE44D, 0x92B6}, //17413 #CJK UNIFIED IDEOGRAPH
+  {0xE44E, 0x92B7}, //17414 #CJK UNIFIED IDEOGRAPH
+  {0xE44F, 0x92B8}, //17415 #CJK UNIFIED IDEOGRAPH
+  {0xE450, 0x92B9}, //17416 #CJK UNIFIED IDEOGRAPH
+  {0xE451, 0x92BA}, //17417 #CJK UNIFIED IDEOGRAPH
+  {0xE452, 0x92BB}, //17418 #CJK UNIFIED IDEOGRAPH
+  {0xE453, 0x92BC}, //17419 #CJK UNIFIED IDEOGRAPH
+  {0xE454, 0x92BD}, //17420 #CJK UNIFIED IDEOGRAPH
+  {0xE455, 0x92BE}, //17421 #CJK UNIFIED IDEOGRAPH
+  {0xE456, 0x92BF}, //17422 #CJK UNIFIED IDEOGRAPH
+  {0xE457, 0x92C0}, //17423 #CJK UNIFIED IDEOGRAPH
+  {0xE458, 0x92C1}, //17424 #CJK UNIFIED IDEOGRAPH
+  {0xE459, 0x92C2}, //17425 #CJK UNIFIED IDEOGRAPH
+  {0xE45A, 0x92C3}, //17426 #CJK UNIFIED IDEOGRAPH
+  {0xE45B, 0x92C4}, //17427 #CJK UNIFIED IDEOGRAPH
+  {0xE45C, 0x92C5}, //17428 #CJK UNIFIED IDEOGRAPH
+  {0xE45D, 0x92C6}, //17429 #CJK UNIFIED IDEOGRAPH
+  {0xE45E, 0x92C7}, //17430 #CJK UNIFIED IDEOGRAPH
+  {0xE45F, 0x92C9}, //17431 #CJK UNIFIED IDEOGRAPH
+  {0xE460, 0x92CA}, //17432 #CJK UNIFIED IDEOGRAPH
+  {0xE461, 0x92CB}, //17433 #CJK UNIFIED IDEOGRAPH
+  {0xE462, 0x92CC}, //17434 #CJK UNIFIED IDEOGRAPH
+  {0xE463, 0x92CD}, //17435 #CJK UNIFIED IDEOGRAPH
+  {0xE464, 0x92CE}, //17436 #CJK UNIFIED IDEOGRAPH
+  {0xE465, 0x92CF}, //17437 #CJK UNIFIED IDEOGRAPH
+  {0xE466, 0x92D0}, //17438 #CJK UNIFIED IDEOGRAPH
+  {0xE467, 0x92D1}, //17439 #CJK UNIFIED IDEOGRAPH
+  {0xE468, 0x92D2}, //17440 #CJK UNIFIED IDEOGRAPH
+  {0xE469, 0x92D3}, //17441 #CJK UNIFIED IDEOGRAPH
+  {0xE46A, 0x92D4}, //17442 #CJK UNIFIED IDEOGRAPH
+  {0xE46B, 0x92D5}, //17443 #CJK UNIFIED IDEOGRAPH
+  {0xE46C, 0x92D6}, //17444 #CJK UNIFIED IDEOGRAPH
+  {0xE46D, 0x92D7}, //17445 #CJK UNIFIED IDEOGRAPH
+  {0xE46E, 0x92D8}, //17446 #CJK UNIFIED IDEOGRAPH
+  {0xE46F, 0x92D9}, //17447 #CJK UNIFIED IDEOGRAPH
+  {0xE470, 0x92DA}, //17448 #CJK UNIFIED IDEOGRAPH
+  {0xE471, 0x92DB}, //17449 #CJK UNIFIED IDEOGRAPH
+  {0xE472, 0x92DC}, //17450 #CJK UNIFIED IDEOGRAPH
+  {0xE473, 0x92DD}, //17451 #CJK UNIFIED IDEOGRAPH
+  {0xE474, 0x92DE}, //17452 #CJK UNIFIED IDEOGRAPH
+  {0xE475, 0x92DF}, //17453 #CJK UNIFIED IDEOGRAPH
+  {0xE476, 0x92E0}, //17454 #CJK UNIFIED IDEOGRAPH
+  {0xE477, 0x92E1}, //17455 #CJK UNIFIED IDEOGRAPH
+  {0xE478, 0x92E2}, //17456 #CJK UNIFIED IDEOGRAPH
+  {0xE479, 0x92E3}, //17457 #CJK UNIFIED IDEOGRAPH
+  {0xE47A, 0x92E4}, //17458 #CJK UNIFIED IDEOGRAPH
+  {0xE47B, 0x92E5}, //17459 #CJK UNIFIED IDEOGRAPH
+  {0xE47C, 0x92E6}, //17460 #CJK UNIFIED IDEOGRAPH
+  {0xE47D, 0x92E7}, //17461 #CJK UNIFIED IDEOGRAPH
+  {0xE47E, 0x92E8}, //17462 #CJK UNIFIED IDEOGRAPH
+  {0xE480, 0x92E9}, //17463 #CJK UNIFIED IDEOGRAPH
+  {0xE481, 0x92EA}, //17464 #CJK UNIFIED IDEOGRAPH
+  {0xE482, 0x92EB}, //17465 #CJK UNIFIED IDEOGRAPH
+  {0xE483, 0x92EC}, //17466 #CJK UNIFIED IDEOGRAPH
+  {0xE484, 0x92ED}, //17467 #CJK UNIFIED IDEOGRAPH
+  {0xE485, 0x92EE}, //17468 #CJK UNIFIED IDEOGRAPH
+  {0xE486, 0x92EF}, //17469 #CJK UNIFIED IDEOGRAPH
+  {0xE487, 0x92F0}, //17470 #CJK UNIFIED IDEOGRAPH
+  {0xE488, 0x92F1}, //17471 #CJK UNIFIED IDEOGRAPH
+  {0xE489, 0x92F2}, //17472 #CJK UNIFIED IDEOGRAPH
+  {0xE48A, 0x92F3}, //17473 #CJK UNIFIED IDEOGRAPH
+  {0xE48B, 0x92F4}, //17474 #CJK UNIFIED IDEOGRAPH
+  {0xE48C, 0x92F5}, //17475 #CJK UNIFIED IDEOGRAPH
+  {0xE48D, 0x92F6}, //17476 #CJK UNIFIED IDEOGRAPH
+  {0xE48E, 0x92F7}, //17477 #CJK UNIFIED IDEOGRAPH
+  {0xE48F, 0x92F8}, //17478 #CJK UNIFIED IDEOGRAPH
+  {0xE490, 0x92F9}, //17479 #CJK UNIFIED IDEOGRAPH
+  {0xE491, 0x92FA}, //17480 #CJK UNIFIED IDEOGRAPH
+  {0xE492, 0x92FB}, //17481 #CJK UNIFIED IDEOGRAPH
+  {0xE493, 0x92FC}, //17482 #CJK UNIFIED IDEOGRAPH
+  {0xE494, 0x92FD}, //17483 #CJK UNIFIED IDEOGRAPH
+  {0xE495, 0x92FE}, //17484 #CJK UNIFIED IDEOGRAPH
+  {0xE496, 0x92FF}, //17485 #CJK UNIFIED IDEOGRAPH
+  {0xE497, 0x9300}, //17486 #CJK UNIFIED IDEOGRAPH
+  {0xE498, 0x9301}, //17487 #CJK UNIFIED IDEOGRAPH
+  {0xE499, 0x9302}, //17488 #CJK UNIFIED IDEOGRAPH
+  {0xE49A, 0x9303}, //17489 #CJK UNIFIED IDEOGRAPH
+  {0xE49B, 0x9304}, //17490 #CJK UNIFIED IDEOGRAPH
+  {0xE49C, 0x9305}, //17491 #CJK UNIFIED IDEOGRAPH
+  {0xE49D, 0x9306}, //17492 #CJK UNIFIED IDEOGRAPH
+  {0xE49E, 0x9307}, //17493 #CJK UNIFIED IDEOGRAPH
+  {0xE49F, 0x9308}, //17494 #CJK UNIFIED IDEOGRAPH
+  {0xE4A0, 0x9309}, //17495 #CJK UNIFIED IDEOGRAPH
+  {0xE4A1, 0x6D39}, //17496 #CJK UNIFIED IDEOGRAPH
+  {0xE4A2, 0x6D27}, //17497 #CJK UNIFIED IDEOGRAPH
+  {0xE4A3, 0x6D0C}, //17498 #CJK UNIFIED IDEOGRAPH
+  {0xE4A4, 0x6D43}, //17499 #CJK UNIFIED IDEOGRAPH
+  {0xE4A5, 0x6D48}, //17500 #CJK UNIFIED IDEOGRAPH
+  {0xE4A6, 0x6D07}, //17501 #CJK UNIFIED IDEOGRAPH
+  {0xE4A7, 0x6D04}, //17502 #CJK UNIFIED IDEOGRAPH
+  {0xE4A8, 0x6D19}, //17503 #CJK UNIFIED IDEOGRAPH
+  {0xE4A9, 0x6D0E}, //17504 #CJK UNIFIED IDEOGRAPH
+  {0xE4AA, 0x6D2B}, //17505 #CJK UNIFIED IDEOGRAPH
+  {0xE4AB, 0x6D4D}, //17506 #CJK UNIFIED IDEOGRAPH
+  {0xE4AC, 0x6D2E}, //17507 #CJK UNIFIED IDEOGRAPH
+  {0xE4AD, 0x6D35}, //17508 #CJK UNIFIED IDEOGRAPH
+  {0xE4AE, 0x6D1A}, //17509 #CJK UNIFIED IDEOGRAPH
+  {0xE4AF, 0x6D4F}, //17510 #CJK UNIFIED IDEOGRAPH
+  {0xE4B0, 0x6D52}, //17511 #CJK UNIFIED IDEOGRAPH
+  {0xE4B1, 0x6D54}, //17512 #CJK UNIFIED IDEOGRAPH
+  {0xE4B2, 0x6D33}, //17513 #CJK UNIFIED IDEOGRAPH
+  {0xE4B3, 0x6D91}, //17514 #CJK UNIFIED IDEOGRAPH
+  {0xE4B4, 0x6D6F}, //17515 #CJK UNIFIED IDEOGRAPH
+  {0xE4B5, 0x6D9E}, //17516 #CJK UNIFIED IDEOGRAPH
+  {0xE4B6, 0x6DA0}, //17517 #CJK UNIFIED IDEOGRAPH
+  {0xE4B7, 0x6D5E}, //17518 #CJK UNIFIED IDEOGRAPH
+  {0xE4B8, 0x6D93}, //17519 #CJK UNIFIED IDEOGRAPH
+  {0xE4B9, 0x6D94}, //17520 #CJK UNIFIED IDEOGRAPH
+  {0xE4BA, 0x6D5C}, //17521 #CJK UNIFIED IDEOGRAPH
+  {0xE4BB, 0x6D60}, //17522 #CJK UNIFIED IDEOGRAPH
+  {0xE4BC, 0x6D7C}, //17523 #CJK UNIFIED IDEOGRAPH
+  {0xE4BD, 0x6D63}, //17524 #CJK UNIFIED IDEOGRAPH
+  {0xE4BE, 0x6E1A}, //17525 #CJK UNIFIED IDEOGRAPH
+  {0xE4BF, 0x6DC7}, //17526 #CJK UNIFIED IDEOGRAPH
+  {0xE4C0, 0x6DC5}, //17527 #CJK UNIFIED IDEOGRAPH
+  {0xE4C1, 0x6DDE}, //17528 #CJK UNIFIED IDEOGRAPH
+  {0xE4C2, 0x6E0E}, //17529 #CJK UNIFIED IDEOGRAPH
+  {0xE4C3, 0x6DBF}, //17530 #CJK UNIFIED IDEOGRAPH
+  {0xE4C4, 0x6DE0}, //17531 #CJK UNIFIED IDEOGRAPH
+  {0xE4C5, 0x6E11}, //17532 #CJK UNIFIED IDEOGRAPH
+  {0xE4C6, 0x6DE6}, //17533 #CJK UNIFIED IDEOGRAPH
+  {0xE4C7, 0x6DDD}, //17534 #CJK UNIFIED IDEOGRAPH
+  {0xE4C8, 0x6DD9}, //17535 #CJK UNIFIED IDEOGRAPH
+  {0xE4C9, 0x6E16}, //17536 #CJK UNIFIED IDEOGRAPH
+  {0xE4CA, 0x6DAB}, //17537 #CJK UNIFIED IDEOGRAPH
+  {0xE4CB, 0x6E0C}, //17538 #CJK UNIFIED IDEOGRAPH
+  {0xE4CC, 0x6DAE}, //17539 #CJK UNIFIED IDEOGRAPH
+  {0xE4CD, 0x6E2B}, //17540 #CJK UNIFIED IDEOGRAPH
+  {0xE4CE, 0x6E6E}, //17541 #CJK UNIFIED IDEOGRAPH
+  {0xE4CF, 0x6E4E}, //17542 #CJK UNIFIED IDEOGRAPH
+  {0xE4D0, 0x6E6B}, //17543 #CJK UNIFIED IDEOGRAPH
+  {0xE4D1, 0x6EB2}, //17544 #CJK UNIFIED IDEOGRAPH
+  {0xE4D2, 0x6E5F}, //17545 #CJK UNIFIED IDEOGRAPH
+  {0xE4D3, 0x6E86}, //17546 #CJK UNIFIED IDEOGRAPH
+  {0xE4D4, 0x6E53}, //17547 #CJK UNIFIED IDEOGRAPH
+  {0xE4D5, 0x6E54}, //17548 #CJK UNIFIED IDEOGRAPH
+  {0xE4D6, 0x6E32}, //17549 #CJK UNIFIED IDEOGRAPH
+  {0xE4D7, 0x6E25}, //17550 #CJK UNIFIED IDEOGRAPH
+  {0xE4D8, 0x6E44}, //17551 #CJK UNIFIED IDEOGRAPH
+  {0xE4D9, 0x6EDF}, //17552 #CJK UNIFIED IDEOGRAPH
+  {0xE4DA, 0x6EB1}, //17553 #CJK UNIFIED IDEOGRAPH
+  {0xE4DB, 0x6E98}, //17554 #CJK UNIFIED IDEOGRAPH
+  {0xE4DC, 0x6EE0}, //17555 #CJK UNIFIED IDEOGRAPH
+  {0xE4DD, 0x6F2D}, //17556 #CJK UNIFIED IDEOGRAPH
+  {0xE4DE, 0x6EE2}, //17557 #CJK UNIFIED IDEOGRAPH
+  {0xE4DF, 0x6EA5}, //17558 #CJK UNIFIED IDEOGRAPH
+  {0xE4E0, 0x6EA7}, //17559 #CJK UNIFIED IDEOGRAPH
+  {0xE4E1, 0x6EBD}, //17560 #CJK UNIFIED IDEOGRAPH
+  {0xE4E2, 0x6EBB}, //17561 #CJK UNIFIED IDEOGRAPH
+  {0xE4E3, 0x6EB7}, //17562 #CJK UNIFIED IDEOGRAPH
+  {0xE4E4, 0x6ED7}, //17563 #CJK UNIFIED IDEOGRAPH
+  {0xE4E5, 0x6EB4}, //17564 #CJK UNIFIED IDEOGRAPH
+  {0xE4E6, 0x6ECF}, //17565 #CJK UNIFIED IDEOGRAPH
+  {0xE4E7, 0x6E8F}, //17566 #CJK UNIFIED IDEOGRAPH
+  {0xE4E8, 0x6EC2}, //17567 #CJK UNIFIED IDEOGRAPH
+  {0xE4E9, 0x6E9F}, //17568 #CJK UNIFIED IDEOGRAPH
+  {0xE4EA, 0x6F62}, //17569 #CJK UNIFIED IDEOGRAPH
+  {0xE4EB, 0x6F46}, //17570 #CJK UNIFIED IDEOGRAPH
+  {0xE4EC, 0x6F47}, //17571 #CJK UNIFIED IDEOGRAPH
+  {0xE4ED, 0x6F24}, //17572 #CJK UNIFIED IDEOGRAPH
+  {0xE4EE, 0x6F15}, //17573 #CJK UNIFIED IDEOGRAPH
+  {0xE4EF, 0x6EF9}, //17574 #CJK UNIFIED IDEOGRAPH
+  {0xE4F0, 0x6F2F}, //17575 #CJK UNIFIED IDEOGRAPH
+  {0xE4F1, 0x6F36}, //17576 #CJK UNIFIED IDEOGRAPH
+  {0xE4F2, 0x6F4B}, //17577 #CJK UNIFIED IDEOGRAPH
+  {0xE4F3, 0x6F74}, //17578 #CJK UNIFIED IDEOGRAPH
+  {0xE4F4, 0x6F2A}, //17579 #CJK UNIFIED IDEOGRAPH
+  {0xE4F5, 0x6F09}, //17580 #CJK UNIFIED IDEOGRAPH
+  {0xE4F6, 0x6F29}, //17581 #CJK UNIFIED IDEOGRAPH
+  {0xE4F7, 0x6F89}, //17582 #CJK UNIFIED IDEOGRAPH
+  {0xE4F8, 0x6F8D}, //17583 #CJK UNIFIED IDEOGRAPH
+  {0xE4F9, 0x6F8C}, //17584 #CJK UNIFIED IDEOGRAPH
+  {0xE4FA, 0x6F78}, //17585 #CJK UNIFIED IDEOGRAPH
+  {0xE4FB, 0x6F72}, //17586 #CJK UNIFIED IDEOGRAPH
+  {0xE4FC, 0x6F7C}, //17587 #CJK UNIFIED IDEOGRAPH
+  {0xE4FD, 0x6F7A}, //17588 #CJK UNIFIED IDEOGRAPH
+  {0xE4FE, 0x6FD1}, //17589 #CJK UNIFIED IDEOGRAPH
+  {0xE540, 0x930A}, //17590 #CJK UNIFIED IDEOGRAPH
+  {0xE541, 0x930B}, //17591 #CJK UNIFIED IDEOGRAPH
+  {0xE542, 0x930C}, //17592 #CJK UNIFIED IDEOGRAPH
+  {0xE543, 0x930D}, //17593 #CJK UNIFIED IDEOGRAPH
+  {0xE544, 0x930E}, //17594 #CJK UNIFIED IDEOGRAPH
+  {0xE545, 0x930F}, //17595 #CJK UNIFIED IDEOGRAPH
+  {0xE546, 0x9310}, //17596 #CJK UNIFIED IDEOGRAPH
+  {0xE547, 0x9311}, //17597 #CJK UNIFIED IDEOGRAPH
+  {0xE548, 0x9312}, //17598 #CJK UNIFIED IDEOGRAPH
+  {0xE549, 0x9313}, //17599 #CJK UNIFIED IDEOGRAPH
+  {0xE54A, 0x9314}, //17600 #CJK UNIFIED IDEOGRAPH
+  {0xE54B, 0x9315}, //17601 #CJK UNIFIED IDEOGRAPH
+  {0xE54C, 0x9316}, //17602 #CJK UNIFIED IDEOGRAPH
+  {0xE54D, 0x9317}, //17603 #CJK UNIFIED IDEOGRAPH
+  {0xE54E, 0x9318}, //17604 #CJK UNIFIED IDEOGRAPH
+  {0xE54F, 0x9319}, //17605 #CJK UNIFIED IDEOGRAPH
+  {0xE550, 0x931A}, //17606 #CJK UNIFIED IDEOGRAPH
+  {0xE551, 0x931B}, //17607 #CJK UNIFIED IDEOGRAPH
+  {0xE552, 0x931C}, //17608 #CJK UNIFIED IDEOGRAPH
+  {0xE553, 0x931D}, //17609 #CJK UNIFIED IDEOGRAPH
+  {0xE554, 0x931E}, //17610 #CJK UNIFIED IDEOGRAPH
+  {0xE555, 0x931F}, //17611 #CJK UNIFIED IDEOGRAPH
+  {0xE556, 0x9320}, //17612 #CJK UNIFIED IDEOGRAPH
+  {0xE557, 0x9321}, //17613 #CJK UNIFIED IDEOGRAPH
+  {0xE558, 0x9322}, //17614 #CJK UNIFIED IDEOGRAPH
+  {0xE559, 0x9323}, //17615 #CJK UNIFIED IDEOGRAPH
+  {0xE55A, 0x9324}, //17616 #CJK UNIFIED IDEOGRAPH
+  {0xE55B, 0x9325}, //17617 #CJK UNIFIED IDEOGRAPH
+  {0xE55C, 0x9326}, //17618 #CJK UNIFIED IDEOGRAPH
+  {0xE55D, 0x9327}, //17619 #CJK UNIFIED IDEOGRAPH
+  {0xE55E, 0x9328}, //17620 #CJK UNIFIED IDEOGRAPH
+  {0xE55F, 0x9329}, //17621 #CJK UNIFIED IDEOGRAPH
+  {0xE560, 0x932A}, //17622 #CJK UNIFIED IDEOGRAPH
+  {0xE561, 0x932B}, //17623 #CJK UNIFIED IDEOGRAPH
+  {0xE562, 0x932C}, //17624 #CJK UNIFIED IDEOGRAPH
+  {0xE563, 0x932D}, //17625 #CJK UNIFIED IDEOGRAPH
+  {0xE564, 0x932E}, //17626 #CJK UNIFIED IDEOGRAPH
+  {0xE565, 0x932F}, //17627 #CJK UNIFIED IDEOGRAPH
+  {0xE566, 0x9330}, //17628 #CJK UNIFIED IDEOGRAPH
+  {0xE567, 0x9331}, //17629 #CJK UNIFIED IDEOGRAPH
+  {0xE568, 0x9332}, //17630 #CJK UNIFIED IDEOGRAPH
+  {0xE569, 0x9333}, //17631 #CJK UNIFIED IDEOGRAPH
+  {0xE56A, 0x9334}, //17632 #CJK UNIFIED IDEOGRAPH
+  {0xE56B, 0x9335}, //17633 #CJK UNIFIED IDEOGRAPH
+  {0xE56C, 0x9336}, //17634 #CJK UNIFIED IDEOGRAPH
+  {0xE56D, 0x9337}, //17635 #CJK UNIFIED IDEOGRAPH
+  {0xE56E, 0x9338}, //17636 #CJK UNIFIED IDEOGRAPH
+  {0xE56F, 0x9339}, //17637 #CJK UNIFIED IDEOGRAPH
+  {0xE570, 0x933A}, //17638 #CJK UNIFIED IDEOGRAPH
+  {0xE571, 0x933B}, //17639 #CJK UNIFIED IDEOGRAPH
+  {0xE572, 0x933C}, //17640 #CJK UNIFIED IDEOGRAPH
+  {0xE573, 0x933D}, //17641 #CJK UNIFIED IDEOGRAPH
+  {0xE574, 0x933F}, //17642 #CJK UNIFIED IDEOGRAPH
+  {0xE575, 0x9340}, //17643 #CJK UNIFIED IDEOGRAPH
+  {0xE576, 0x9341}, //17644 #CJK UNIFIED IDEOGRAPH
+  {0xE577, 0x9342}, //17645 #CJK UNIFIED IDEOGRAPH
+  {0xE578, 0x9343}, //17646 #CJK UNIFIED IDEOGRAPH
+  {0xE579, 0x9344}, //17647 #CJK UNIFIED IDEOGRAPH
+  {0xE57A, 0x9345}, //17648 #CJK UNIFIED IDEOGRAPH
+  {0xE57B, 0x9346}, //17649 #CJK UNIFIED IDEOGRAPH
+  {0xE57C, 0x9347}, //17650 #CJK UNIFIED IDEOGRAPH
+  {0xE57D, 0x9348}, //17651 #CJK UNIFIED IDEOGRAPH
+  {0xE57E, 0x9349}, //17652 #CJK UNIFIED IDEOGRAPH
+  {0xE580, 0x934A}, //17653 #CJK UNIFIED IDEOGRAPH
+  {0xE581, 0x934B}, //17654 #CJK UNIFIED IDEOGRAPH
+  {0xE582, 0x934C}, //17655 #CJK UNIFIED IDEOGRAPH
+  {0xE583, 0x934D}, //17656 #CJK UNIFIED IDEOGRAPH
+  {0xE584, 0x934E}, //17657 #CJK UNIFIED IDEOGRAPH
+  {0xE585, 0x934F}, //17658 #CJK UNIFIED IDEOGRAPH
+  {0xE586, 0x9350}, //17659 #CJK UNIFIED IDEOGRAPH
+  {0xE587, 0x9351}, //17660 #CJK UNIFIED IDEOGRAPH
+  {0xE588, 0x9352}, //17661 #CJK UNIFIED IDEOGRAPH
+  {0xE589, 0x9353}, //17662 #CJK UNIFIED IDEOGRAPH
+  {0xE58A, 0x9354}, //17663 #CJK UNIFIED IDEOGRAPH
+  {0xE58B, 0x9355}, //17664 #CJK UNIFIED IDEOGRAPH
+  {0xE58C, 0x9356}, //17665 #CJK UNIFIED IDEOGRAPH
+  {0xE58D, 0x9357}, //17666 #CJK UNIFIED IDEOGRAPH
+  {0xE58E, 0x9358}, //17667 #CJK UNIFIED IDEOGRAPH
+  {0xE58F, 0x9359}, //17668 #CJK UNIFIED IDEOGRAPH
+  {0xE590, 0x935A}, //17669 #CJK UNIFIED IDEOGRAPH
+  {0xE591, 0x935B}, //17670 #CJK UNIFIED IDEOGRAPH
+  {0xE592, 0x935C}, //17671 #CJK UNIFIED IDEOGRAPH
+  {0xE593, 0x935D}, //17672 #CJK UNIFIED IDEOGRAPH
+  {0xE594, 0x935E}, //17673 #CJK UNIFIED IDEOGRAPH
+  {0xE595, 0x935F}, //17674 #CJK UNIFIED IDEOGRAPH
+  {0xE596, 0x9360}, //17675 #CJK UNIFIED IDEOGRAPH
+  {0xE597, 0x9361}, //17676 #CJK UNIFIED IDEOGRAPH
+  {0xE598, 0x9362}, //17677 #CJK UNIFIED IDEOGRAPH
+  {0xE599, 0x9363}, //17678 #CJK UNIFIED IDEOGRAPH
+  {0xE59A, 0x9364}, //17679 #CJK UNIFIED IDEOGRAPH
+  {0xE59B, 0x9365}, //17680 #CJK UNIFIED IDEOGRAPH
+  {0xE59C, 0x9366}, //17681 #CJK UNIFIED IDEOGRAPH
+  {0xE59D, 0x9367}, //17682 #CJK UNIFIED IDEOGRAPH
+  {0xE59E, 0x9368}, //17683 #CJK UNIFIED IDEOGRAPH
+  {0xE59F, 0x9369}, //17684 #CJK UNIFIED IDEOGRAPH
+  {0xE5A0, 0x936B}, //17685 #CJK UNIFIED IDEOGRAPH
+  {0xE5A1, 0x6FC9}, //17686 #CJK UNIFIED IDEOGRAPH
+  {0xE5A2, 0x6FA7}, //17687 #CJK UNIFIED IDEOGRAPH
+  {0xE5A3, 0x6FB9}, //17688 #CJK UNIFIED IDEOGRAPH
+  {0xE5A4, 0x6FB6}, //17689 #CJK UNIFIED IDEOGRAPH
+  {0xE5A5, 0x6FC2}, //17690 #CJK UNIFIED IDEOGRAPH
+  {0xE5A6, 0x6FE1}, //17691 #CJK UNIFIED IDEOGRAPH
+  {0xE5A7, 0x6FEE}, //17692 #CJK UNIFIED IDEOGRAPH
+  {0xE5A8, 0x6FDE}, //17693 #CJK UNIFIED IDEOGRAPH
+  {0xE5A9, 0x6FE0}, //17694 #CJK UNIFIED IDEOGRAPH
+  {0xE5AA, 0x6FEF}, //17695 #CJK UNIFIED IDEOGRAPH
+  {0xE5AB, 0x701A}, //17696 #CJK UNIFIED IDEOGRAPH
+  {0xE5AC, 0x7023}, //17697 #CJK UNIFIED IDEOGRAPH
+  {0xE5AD, 0x701B}, //17698 #CJK UNIFIED IDEOGRAPH
+  {0xE5AE, 0x7039}, //17699 #CJK UNIFIED IDEOGRAPH
+  {0xE5AF, 0x7035}, //17700 #CJK UNIFIED IDEOGRAPH
+  {0xE5B0, 0x704F}, //17701 #CJK UNIFIED IDEOGRAPH
+  {0xE5B1, 0x705E}, //17702 #CJK UNIFIED IDEOGRAPH
+  {0xE5B2, 0x5B80}, //17703 #CJK UNIFIED IDEOGRAPH
+  {0xE5B3, 0x5B84}, //17704 #CJK UNIFIED IDEOGRAPH
+  {0xE5B4, 0x5B95}, //17705 #CJK UNIFIED IDEOGRAPH
+  {0xE5B5, 0x5B93}, //17706 #CJK UNIFIED IDEOGRAPH
+  {0xE5B6, 0x5BA5}, //17707 #CJK UNIFIED IDEOGRAPH
+  {0xE5B7, 0x5BB8}, //17708 #CJK UNIFIED IDEOGRAPH
+  {0xE5B8, 0x752F}, //17709 #CJK UNIFIED IDEOGRAPH
+  {0xE5B9, 0x9A9E}, //17710 #CJK UNIFIED IDEOGRAPH
+  {0xE5BA, 0x6434}, //17711 #CJK UNIFIED IDEOGRAPH
+  {0xE5BB, 0x5BE4}, //17712 #CJK UNIFIED IDEOGRAPH
+  {0xE5BC, 0x5BEE}, //17713 #CJK UNIFIED IDEOGRAPH
+  {0xE5BD, 0x8930}, //17714 #CJK UNIFIED IDEOGRAPH
+  {0xE5BE, 0x5BF0}, //17715 #CJK UNIFIED IDEOGRAPH
+  {0xE5BF, 0x8E47}, //17716 #CJK UNIFIED IDEOGRAPH
+  {0xE5C0, 0x8B07}, //17717 #CJK UNIFIED IDEOGRAPH
+  {0xE5C1, 0x8FB6}, //17718 #CJK UNIFIED IDEOGRAPH
+  {0xE5C2, 0x8FD3}, //17719 #CJK UNIFIED IDEOGRAPH
+  {0xE5C3, 0x8FD5}, //17720 #CJK UNIFIED IDEOGRAPH
+  {0xE5C4, 0x8FE5}, //17721 #CJK UNIFIED IDEOGRAPH
+  {0xE5C5, 0x8FEE}, //17722 #CJK UNIFIED IDEOGRAPH
+  {0xE5C6, 0x8FE4}, //17723 #CJK UNIFIED IDEOGRAPH
+  {0xE5C7, 0x8FE9}, //17724 #CJK UNIFIED IDEOGRAPH
+  {0xE5C8, 0x8FE6}, //17725 #CJK UNIFIED IDEOGRAPH
+  {0xE5C9, 0x8FF3}, //17726 #CJK UNIFIED IDEOGRAPH
+  {0xE5CA, 0x8FE8}, //17727 #CJK UNIFIED IDEOGRAPH
+  {0xE5CB, 0x9005}, //17728 #CJK UNIFIED IDEOGRAPH
+  {0xE5CC, 0x9004}, //17729 #CJK UNIFIED IDEOGRAPH
+  {0xE5CD, 0x900B}, //17730 #CJK UNIFIED IDEOGRAPH
+  {0xE5CE, 0x9026}, //17731 #CJK UNIFIED IDEOGRAPH
+  {0xE5CF, 0x9011}, //17732 #CJK UNIFIED IDEOGRAPH
+  {0xE5D0, 0x900D}, //17733 #CJK UNIFIED IDEOGRAPH
+  {0xE5D1, 0x9016}, //17734 #CJK UNIFIED IDEOGRAPH
+  {0xE5D2, 0x9021}, //17735 #CJK UNIFIED IDEOGRAPH
+  {0xE5D3, 0x9035}, //17736 #CJK UNIFIED IDEOGRAPH
+  {0xE5D4, 0x9036}, //17737 #CJK UNIFIED IDEOGRAPH
+  {0xE5D5, 0x902D}, //17738 #CJK UNIFIED IDEOGRAPH
+  {0xE5D6, 0x902F}, //17739 #CJK UNIFIED IDEOGRAPH
+  {0xE5D7, 0x9044}, //17740 #CJK UNIFIED IDEOGRAPH
+  {0xE5D8, 0x9051}, //17741 #CJK UNIFIED IDEOGRAPH
+  {0xE5D9, 0x9052}, //17742 #CJK UNIFIED IDEOGRAPH
+  {0xE5DA, 0x9050}, //17743 #CJK UNIFIED IDEOGRAPH
+  {0xE5DB, 0x9068}, //17744 #CJK UNIFIED IDEOGRAPH
+  {0xE5DC, 0x9058}, //17745 #CJK UNIFIED IDEOGRAPH
+  {0xE5DD, 0x9062}, //17746 #CJK UNIFIED IDEOGRAPH
+  {0xE5DE, 0x905B}, //17747 #CJK UNIFIED IDEOGRAPH
+  {0xE5DF, 0x66B9}, //17748 #CJK UNIFIED IDEOGRAPH
+  {0xE5E0, 0x9074}, //17749 #CJK UNIFIED IDEOGRAPH
+  {0xE5E1, 0x907D}, //17750 #CJK UNIFIED IDEOGRAPH
+  {0xE5E2, 0x9082}, //17751 #CJK UNIFIED IDEOGRAPH
+  {0xE5E3, 0x9088}, //17752 #CJK UNIFIED IDEOGRAPH
+  {0xE5E4, 0x9083}, //17753 #CJK UNIFIED IDEOGRAPH
+  {0xE5E5, 0x908B}, //17754 #CJK UNIFIED IDEOGRAPH
+  {0xE5E6, 0x5F50}, //17755 #CJK UNIFIED IDEOGRAPH
+  {0xE5E7, 0x5F57}, //17756 #CJK UNIFIED IDEOGRAPH
+  {0xE5E8, 0x5F56}, //17757 #CJK UNIFIED IDEOGRAPH
+  {0xE5E9, 0x5F58}, //17758 #CJK UNIFIED IDEOGRAPH
+  {0xE5EA, 0x5C3B}, //17759 #CJK UNIFIED IDEOGRAPH
+  {0xE5EB, 0x54AB}, //17760 #CJK UNIFIED IDEOGRAPH
+  {0xE5EC, 0x5C50}, //17761 #CJK UNIFIED IDEOGRAPH
+  {0xE5ED, 0x5C59}, //17762 #CJK UNIFIED IDEOGRAPH
+  {0xE5EE, 0x5B71}, //17763 #CJK UNIFIED IDEOGRAPH
+  {0xE5EF, 0x5C63}, //17764 #CJK UNIFIED IDEOGRAPH
+  {0xE5F0, 0x5C66}, //17765 #CJK UNIFIED IDEOGRAPH
+  {0xE5F1, 0x7FBC}, //17766 #CJK UNIFIED IDEOGRAPH
+  {0xE5F2, 0x5F2A}, //17767 #CJK UNIFIED IDEOGRAPH
+  {0xE5F3, 0x5F29}, //17768 #CJK UNIFIED IDEOGRAPH
+  {0xE5F4, 0x5F2D}, //17769 #CJK UNIFIED IDEOGRAPH
+  {0xE5F5, 0x8274}, //17770 #CJK UNIFIED IDEOGRAPH
+  {0xE5F6, 0x5F3C}, //17771 #CJK UNIFIED IDEOGRAPH
+  {0xE5F7, 0x9B3B}, //17772 #CJK UNIFIED IDEOGRAPH
+  {0xE5F8, 0x5C6E}, //17773 #CJK UNIFIED IDEOGRAPH
+  {0xE5F9, 0x5981}, //17774 #CJK UNIFIED IDEOGRAPH
+  {0xE5FA, 0x5983}, //17775 #CJK UNIFIED IDEOGRAPH
+  {0xE5FB, 0x598D}, //17776 #CJK UNIFIED IDEOGRAPH
+  {0xE5FC, 0x59A9}, //17777 #CJK UNIFIED IDEOGRAPH
+  {0xE5FD, 0x59AA}, //17778 #CJK UNIFIED IDEOGRAPH
+  {0xE5FE, 0x59A3}, //17779 #CJK UNIFIED IDEOGRAPH
+  {0xE640, 0x936C}, //17780 #CJK UNIFIED IDEOGRAPH
+  {0xE641, 0x936D}, //17781 #CJK UNIFIED IDEOGRAPH
+  {0xE642, 0x936E}, //17782 #CJK UNIFIED IDEOGRAPH
+  {0xE643, 0x936F}, //17783 #CJK UNIFIED IDEOGRAPH
+  {0xE644, 0x9370}, //17784 #CJK UNIFIED IDEOGRAPH
+  {0xE645, 0x9371}, //17785 #CJK UNIFIED IDEOGRAPH
+  {0xE646, 0x9372}, //17786 #CJK UNIFIED IDEOGRAPH
+  {0xE647, 0x9373}, //17787 #CJK UNIFIED IDEOGRAPH
+  {0xE648, 0x9374}, //17788 #CJK UNIFIED IDEOGRAPH
+  {0xE649, 0x9375}, //17789 #CJK UNIFIED IDEOGRAPH
+  {0xE64A, 0x9376}, //17790 #CJK UNIFIED IDEOGRAPH
+  {0xE64B, 0x9377}, //17791 #CJK UNIFIED IDEOGRAPH
+  {0xE64C, 0x9378}, //17792 #CJK UNIFIED IDEOGRAPH
+  {0xE64D, 0x9379}, //17793 #CJK UNIFIED IDEOGRAPH
+  {0xE64E, 0x937A}, //17794 #CJK UNIFIED IDEOGRAPH
+  {0xE64F, 0x937B}, //17795 #CJK UNIFIED IDEOGRAPH
+  {0xE650, 0x937C}, //17796 #CJK UNIFIED IDEOGRAPH
+  {0xE651, 0x937D}, //17797 #CJK UNIFIED IDEOGRAPH
+  {0xE652, 0x937E}, //17798 #CJK UNIFIED IDEOGRAPH
+  {0xE653, 0x937F}, //17799 #CJK UNIFIED IDEOGRAPH
+  {0xE654, 0x9380}, //17800 #CJK UNIFIED IDEOGRAPH
+  {0xE655, 0x9381}, //17801 #CJK UNIFIED IDEOGRAPH
+  {0xE656, 0x9382}, //17802 #CJK UNIFIED IDEOGRAPH
+  {0xE657, 0x9383}, //17803 #CJK UNIFIED IDEOGRAPH
+  {0xE658, 0x9384}, //17804 #CJK UNIFIED IDEOGRAPH
+  {0xE659, 0x9385}, //17805 #CJK UNIFIED IDEOGRAPH
+  {0xE65A, 0x9386}, //17806 #CJK UNIFIED IDEOGRAPH
+  {0xE65B, 0x9387}, //17807 #CJK UNIFIED IDEOGRAPH
+  {0xE65C, 0x9388}, //17808 #CJK UNIFIED IDEOGRAPH
+  {0xE65D, 0x9389}, //17809 #CJK UNIFIED IDEOGRAPH
+  {0xE65E, 0x938A}, //17810 #CJK UNIFIED IDEOGRAPH
+  {0xE65F, 0x938B}, //17811 #CJK UNIFIED IDEOGRAPH
+  {0xE660, 0x938C}, //17812 #CJK UNIFIED IDEOGRAPH
+  {0xE661, 0x938D}, //17813 #CJK UNIFIED IDEOGRAPH
+  {0xE662, 0x938E}, //17814 #CJK UNIFIED IDEOGRAPH
+  {0xE663, 0x9390}, //17815 #CJK UNIFIED IDEOGRAPH
+  {0xE664, 0x9391}, //17816 #CJK UNIFIED IDEOGRAPH
+  {0xE665, 0x9392}, //17817 #CJK UNIFIED IDEOGRAPH
+  {0xE666, 0x9393}, //17818 #CJK UNIFIED IDEOGRAPH
+  {0xE667, 0x9394}, //17819 #CJK UNIFIED IDEOGRAPH
+  {0xE668, 0x9395}, //17820 #CJK UNIFIED IDEOGRAPH
+  {0xE669, 0x9396}, //17821 #CJK UNIFIED IDEOGRAPH
+  {0xE66A, 0x9397}, //17822 #CJK UNIFIED IDEOGRAPH
+  {0xE66B, 0x9398}, //17823 #CJK UNIFIED IDEOGRAPH
+  {0xE66C, 0x9399}, //17824 #CJK UNIFIED IDEOGRAPH
+  {0xE66D, 0x939A}, //17825 #CJK UNIFIED IDEOGRAPH
+  {0xE66E, 0x939B}, //17826 #CJK UNIFIED IDEOGRAPH
+  {0xE66F, 0x939C}, //17827 #CJK UNIFIED IDEOGRAPH
+  {0xE670, 0x939D}, //17828 #CJK UNIFIED IDEOGRAPH
+  {0xE671, 0x939E}, //17829 #CJK UNIFIED IDEOGRAPH
+  {0xE672, 0x939F}, //17830 #CJK UNIFIED IDEOGRAPH
+  {0xE673, 0x93A0}, //17831 #CJK UNIFIED IDEOGRAPH
+  {0xE674, 0x93A1}, //17832 #CJK UNIFIED IDEOGRAPH
+  {0xE675, 0x93A2}, //17833 #CJK UNIFIED IDEOGRAPH
+  {0xE676, 0x93A3}, //17834 #CJK UNIFIED IDEOGRAPH
+  {0xE677, 0x93A4}, //17835 #CJK UNIFIED IDEOGRAPH
+  {0xE678, 0x93A5}, //17836 #CJK UNIFIED IDEOGRAPH
+  {0xE679, 0x93A6}, //17837 #CJK UNIFIED IDEOGRAPH
+  {0xE67A, 0x93A7}, //17838 #CJK UNIFIED IDEOGRAPH
+  {0xE67B, 0x93A8}, //17839 #CJK UNIFIED IDEOGRAPH
+  {0xE67C, 0x93A9}, //17840 #CJK UNIFIED IDEOGRAPH
+  {0xE67D, 0x93AA}, //17841 #CJK UNIFIED IDEOGRAPH
+  {0xE67E, 0x93AB}, //17842 #CJK UNIFIED IDEOGRAPH
+  {0xE680, 0x93AC}, //17843 #CJK UNIFIED IDEOGRAPH
+  {0xE681, 0x93AD}, //17844 #CJK UNIFIED IDEOGRAPH
+  {0xE682, 0x93AE}, //17845 #CJK UNIFIED IDEOGRAPH
+  {0xE683, 0x93AF}, //17846 #CJK UNIFIED IDEOGRAPH
+  {0xE684, 0x93B0}, //17847 #CJK UNIFIED IDEOGRAPH
+  {0xE685, 0x93B1}, //17848 #CJK UNIFIED IDEOGRAPH
+  {0xE686, 0x93B2}, //17849 #CJK UNIFIED IDEOGRAPH
+  {0xE687, 0x93B3}, //17850 #CJK UNIFIED IDEOGRAPH
+  {0xE688, 0x93B4}, //17851 #CJK UNIFIED IDEOGRAPH
+  {0xE689, 0x93B5}, //17852 #CJK UNIFIED IDEOGRAPH
+  {0xE68A, 0x93B6}, //17853 #CJK UNIFIED IDEOGRAPH
+  {0xE68B, 0x93B7}, //17854 #CJK UNIFIED IDEOGRAPH
+  {0xE68C, 0x93B8}, //17855 #CJK UNIFIED IDEOGRAPH
+  {0xE68D, 0x93B9}, //17856 #CJK UNIFIED IDEOGRAPH
+  {0xE68E, 0x93BA}, //17857 #CJK UNIFIED IDEOGRAPH
+  {0xE68F, 0x93BB}, //17858 #CJK UNIFIED IDEOGRAPH
+  {0xE690, 0x93BC}, //17859 #CJK UNIFIED IDEOGRAPH
+  {0xE691, 0x93BD}, //17860 #CJK UNIFIED IDEOGRAPH
+  {0xE692, 0x93BE}, //17861 #CJK UNIFIED IDEOGRAPH
+  {0xE693, 0x93BF}, //17862 #CJK UNIFIED IDEOGRAPH
+  {0xE694, 0x93C0}, //17863 #CJK UNIFIED IDEOGRAPH
+  {0xE695, 0x93C1}, //17864 #CJK UNIFIED IDEOGRAPH
+  {0xE696, 0x93C2}, //17865 #CJK UNIFIED IDEOGRAPH
+  {0xE697, 0x93C3}, //17866 #CJK UNIFIED IDEOGRAPH
+  {0xE698, 0x93C4}, //17867 #CJK UNIFIED IDEOGRAPH
+  {0xE699, 0x93C5}, //17868 #CJK UNIFIED IDEOGRAPH
+  {0xE69A, 0x93C6}, //17869 #CJK UNIFIED IDEOGRAPH
+  {0xE69B, 0x93C7}, //17870 #CJK UNIFIED IDEOGRAPH
+  {0xE69C, 0x93C8}, //17871 #CJK UNIFIED IDEOGRAPH
+  {0xE69D, 0x93C9}, //17872 #CJK UNIFIED IDEOGRAPH
+  {0xE69E, 0x93CB}, //17873 #CJK UNIFIED IDEOGRAPH
+  {0xE69F, 0x93CC}, //17874 #CJK UNIFIED IDEOGRAPH
+  {0xE6A0, 0x93CD}, //17875 #CJK UNIFIED IDEOGRAPH
+  {0xE6A1, 0x5997}, //17876 #CJK UNIFIED IDEOGRAPH
+  {0xE6A2, 0x59CA}, //17877 #CJK UNIFIED IDEOGRAPH
+  {0xE6A3, 0x59AB}, //17878 #CJK UNIFIED IDEOGRAPH
+  {0xE6A4, 0x599E}, //17879 #CJK UNIFIED IDEOGRAPH
+  {0xE6A5, 0x59A4}, //17880 #CJK UNIFIED IDEOGRAPH
+  {0xE6A6, 0x59D2}, //17881 #CJK UNIFIED IDEOGRAPH
+  {0xE6A7, 0x59B2}, //17882 #CJK UNIFIED IDEOGRAPH
+  {0xE6A8, 0x59AF}, //17883 #CJK UNIFIED IDEOGRAPH
+  {0xE6A9, 0x59D7}, //17884 #CJK UNIFIED IDEOGRAPH
+  {0xE6AA, 0x59BE}, //17885 #CJK UNIFIED IDEOGRAPH
+  {0xE6AB, 0x5A05}, //17886 #CJK UNIFIED IDEOGRAPH
+  {0xE6AC, 0x5A06}, //17887 #CJK UNIFIED IDEOGRAPH
+  {0xE6AD, 0x59DD}, //17888 #CJK UNIFIED IDEOGRAPH
+  {0xE6AE, 0x5A08}, //17889 #CJK UNIFIED IDEOGRAPH
+  {0xE6AF, 0x59E3}, //17890 #CJK UNIFIED IDEOGRAPH
+  {0xE6B0, 0x59D8}, //17891 #CJK UNIFIED IDEOGRAPH
+  {0xE6B1, 0x59F9}, //17892 #CJK UNIFIED IDEOGRAPH
+  {0xE6B2, 0x5A0C}, //17893 #CJK UNIFIED IDEOGRAPH
+  {0xE6B3, 0x5A09}, //17894 #CJK UNIFIED IDEOGRAPH
+  {0xE6B4, 0x5A32}, //17895 #CJK UNIFIED IDEOGRAPH
+  {0xE6B5, 0x5A34}, //17896 #CJK UNIFIED IDEOGRAPH
+  {0xE6B6, 0x5A11}, //17897 #CJK UNIFIED IDEOGRAPH
+  {0xE6B7, 0x5A23}, //17898 #CJK UNIFIED IDEOGRAPH
+  {0xE6B8, 0x5A13}, //17899 #CJK UNIFIED IDEOGRAPH
+  {0xE6B9, 0x5A40}, //17900 #CJK UNIFIED IDEOGRAPH
+  {0xE6BA, 0x5A67}, //17901 #CJK UNIFIED IDEOGRAPH
+  {0xE6BB, 0x5A4A}, //17902 #CJK UNIFIED IDEOGRAPH
+  {0xE6BC, 0x5A55}, //17903 #CJK UNIFIED IDEOGRAPH
+  {0xE6BD, 0x5A3C}, //17904 #CJK UNIFIED IDEOGRAPH
+  {0xE6BE, 0x5A62}, //17905 #CJK UNIFIED IDEOGRAPH
+  {0xE6BF, 0x5A75}, //17906 #CJK UNIFIED IDEOGRAPH
+  {0xE6C0, 0x80EC}, //17907 #CJK UNIFIED IDEOGRAPH
+  {0xE6C1, 0x5AAA}, //17908 #CJK UNIFIED IDEOGRAPH
+  {0xE6C2, 0x5A9B}, //17909 #CJK UNIFIED IDEOGRAPH
+  {0xE6C3, 0x5A77}, //17910 #CJK UNIFIED IDEOGRAPH
+  {0xE6C4, 0x5A7A}, //17911 #CJK UNIFIED IDEOGRAPH
+  {0xE6C5, 0x5ABE}, //17912 #CJK UNIFIED IDEOGRAPH
+  {0xE6C6, 0x5AEB}, //17913 #CJK UNIFIED IDEOGRAPH
+  {0xE6C7, 0x5AB2}, //17914 #CJK UNIFIED IDEOGRAPH
+  {0xE6C8, 0x5AD2}, //17915 #CJK UNIFIED IDEOGRAPH
+  {0xE6C9, 0x5AD4}, //17916 #CJK UNIFIED IDEOGRAPH
+  {0xE6CA, 0x5AB8}, //17917 #CJK UNIFIED IDEOGRAPH
+  {0xE6CB, 0x5AE0}, //17918 #CJK UNIFIED IDEOGRAPH
+  {0xE6CC, 0x5AE3}, //17919 #CJK UNIFIED IDEOGRAPH
+  {0xE6CD, 0x5AF1}, //17920 #CJK UNIFIED IDEOGRAPH
+  {0xE6CE, 0x5AD6}, //17921 #CJK UNIFIED IDEOGRAPH
+  {0xE6CF, 0x5AE6}, //17922 #CJK UNIFIED IDEOGRAPH
+  {0xE6D0, 0x5AD8}, //17923 #CJK UNIFIED IDEOGRAPH
+  {0xE6D1, 0x5ADC}, //17924 #CJK UNIFIED IDEOGRAPH
+  {0xE6D2, 0x5B09}, //17925 #CJK UNIFIED IDEOGRAPH
+  {0xE6D3, 0x5B17}, //17926 #CJK UNIFIED IDEOGRAPH
+  {0xE6D4, 0x5B16}, //17927 #CJK UNIFIED IDEOGRAPH
+  {0xE6D5, 0x5B32}, //17928 #CJK UNIFIED IDEOGRAPH
+  {0xE6D6, 0x5B37}, //17929 #CJK UNIFIED IDEOGRAPH
+  {0xE6D7, 0x5B40}, //17930 #CJK UNIFIED IDEOGRAPH
+  {0xE6D8, 0x5C15}, //17931 #CJK UNIFIED IDEOGRAPH
+  {0xE6D9, 0x5C1C}, //17932 #CJK UNIFIED IDEOGRAPH
+  {0xE6DA, 0x5B5A}, //17933 #CJK UNIFIED IDEOGRAPH
+  {0xE6DB, 0x5B65}, //17934 #CJK UNIFIED IDEOGRAPH
+  {0xE6DC, 0x5B73}, //17935 #CJK UNIFIED IDEOGRAPH
+  {0xE6DD, 0x5B51}, //17936 #CJK UNIFIED IDEOGRAPH
+  {0xE6DE, 0x5B53}, //17937 #CJK UNIFIED IDEOGRAPH
+  {0xE6DF, 0x5B62}, //17938 #CJK UNIFIED IDEOGRAPH
+  {0xE6E0, 0x9A75}, //17939 #CJK UNIFIED IDEOGRAPH
+  {0xE6E1, 0x9A77}, //17940 #CJK UNIFIED IDEOGRAPH
+  {0xE6E2, 0x9A78}, //17941 #CJK UNIFIED IDEOGRAPH
+  {0xE6E3, 0x9A7A}, //17942 #CJK UNIFIED IDEOGRAPH
+  {0xE6E4, 0x9A7F}, //17943 #CJK UNIFIED IDEOGRAPH
+  {0xE6E5, 0x9A7D}, //17944 #CJK UNIFIED IDEOGRAPH
+  {0xE6E6, 0x9A80}, //17945 #CJK UNIFIED IDEOGRAPH
+  {0xE6E7, 0x9A81}, //17946 #CJK UNIFIED IDEOGRAPH
+  {0xE6E8, 0x9A85}, //17947 #CJK UNIFIED IDEOGRAPH
+  {0xE6E9, 0x9A88}, //17948 #CJK UNIFIED IDEOGRAPH
+  {0xE6EA, 0x9A8A}, //17949 #CJK UNIFIED IDEOGRAPH
+  {0xE6EB, 0x9A90}, //17950 #CJK UNIFIED IDEOGRAPH
+  {0xE6EC, 0x9A92}, //17951 #CJK UNIFIED IDEOGRAPH
+  {0xE6ED, 0x9A93}, //17952 #CJK UNIFIED IDEOGRAPH
+  {0xE6EE, 0x9A96}, //17953 #CJK UNIFIED IDEOGRAPH
+  {0xE6EF, 0x9A98}, //17954 #CJK UNIFIED IDEOGRAPH
+  {0xE6F0, 0x9A9B}, //17955 #CJK UNIFIED IDEOGRAPH
+  {0xE6F1, 0x9A9C}, //17956 #CJK UNIFIED IDEOGRAPH
+  {0xE6F2, 0x9A9D}, //17957 #CJK UNIFIED IDEOGRAPH
+  {0xE6F3, 0x9A9F}, //17958 #CJK UNIFIED IDEOGRAPH
+  {0xE6F4, 0x9AA0}, //17959 #CJK UNIFIED IDEOGRAPH
+  {0xE6F5, 0x9AA2}, //17960 #CJK UNIFIED IDEOGRAPH
+  {0xE6F6, 0x9AA3}, //17961 #CJK UNIFIED IDEOGRAPH
+  {0xE6F7, 0x9AA5}, //17962 #CJK UNIFIED IDEOGRAPH
+  {0xE6F8, 0x9AA7}, //17963 #CJK UNIFIED IDEOGRAPH
+  {0xE6F9, 0x7E9F}, //17964 #CJK UNIFIED IDEOGRAPH
+  {0xE6FA, 0x7EA1}, //17965 #CJK UNIFIED IDEOGRAPH
+  {0xE6FB, 0x7EA3}, //17966 #CJK UNIFIED IDEOGRAPH
+  {0xE6FC, 0x7EA5}, //17967 #CJK UNIFIED IDEOGRAPH
+  {0xE6FD, 0x7EA8}, //17968 #CJK UNIFIED IDEOGRAPH
+  {0xE6FE, 0x7EA9}, //17969 #CJK UNIFIED IDEOGRAPH
+  {0xE740, 0x93CE}, //17970 #CJK UNIFIED IDEOGRAPH
+  {0xE741, 0x93CF}, //17971 #CJK UNIFIED IDEOGRAPH
+  {0xE742, 0x93D0}, //17972 #CJK UNIFIED IDEOGRAPH
+  {0xE743, 0x93D1}, //17973 #CJK UNIFIED IDEOGRAPH
+  {0xE744, 0x93D2}, //17974 #CJK UNIFIED IDEOGRAPH
+  {0xE745, 0x93D3}, //17975 #CJK UNIFIED IDEOGRAPH
+  {0xE746, 0x93D4}, //17976 #CJK UNIFIED IDEOGRAPH
+  {0xE747, 0x93D5}, //17977 #CJK UNIFIED IDEOGRAPH
+  {0xE748, 0x93D7}, //17978 #CJK UNIFIED IDEOGRAPH
+  {0xE749, 0x93D8}, //17979 #CJK UNIFIED IDEOGRAPH
+  {0xE74A, 0x93D9}, //17980 #CJK UNIFIED IDEOGRAPH
+  {0xE74B, 0x93DA}, //17981 #CJK UNIFIED IDEOGRAPH
+  {0xE74C, 0x93DB}, //17982 #CJK UNIFIED IDEOGRAPH
+  {0xE74D, 0x93DC}, //17983 #CJK UNIFIED IDEOGRAPH
+  {0xE74E, 0x93DD}, //17984 #CJK UNIFIED IDEOGRAPH
+  {0xE74F, 0x93DE}, //17985 #CJK UNIFIED IDEOGRAPH
+  {0xE750, 0x93DF}, //17986 #CJK UNIFIED IDEOGRAPH
+  {0xE751, 0x93E0}, //17987 #CJK UNIFIED IDEOGRAPH
+  {0xE752, 0x93E1}, //17988 #CJK UNIFIED IDEOGRAPH
+  {0xE753, 0x93E2}, //17989 #CJK UNIFIED IDEOGRAPH
+  {0xE754, 0x93E3}, //17990 #CJK UNIFIED IDEOGRAPH
+  {0xE755, 0x93E4}, //17991 #CJK UNIFIED IDEOGRAPH
+  {0xE756, 0x93E5}, //17992 #CJK UNIFIED IDEOGRAPH
+  {0xE757, 0x93E6}, //17993 #CJK UNIFIED IDEOGRAPH
+  {0xE758, 0x93E7}, //17994 #CJK UNIFIED IDEOGRAPH
+  {0xE759, 0x93E8}, //17995 #CJK UNIFIED IDEOGRAPH
+  {0xE75A, 0x93E9}, //17996 #CJK UNIFIED IDEOGRAPH
+  {0xE75B, 0x93EA}, //17997 #CJK UNIFIED IDEOGRAPH
+  {0xE75C, 0x93EB}, //17998 #CJK UNIFIED IDEOGRAPH
+  {0xE75D, 0x93EC}, //17999 #CJK UNIFIED IDEOGRAPH
+  {0xE75E, 0x93ED}, //18000 #CJK UNIFIED IDEOGRAPH
+  {0xE75F, 0x93EE}, //18001 #CJK UNIFIED IDEOGRAPH
+  {0xE760, 0x93EF}, //18002 #CJK UNIFIED IDEOGRAPH
+  {0xE761, 0x93F0}, //18003 #CJK UNIFIED IDEOGRAPH
+  {0xE762, 0x93F1}, //18004 #CJK UNIFIED IDEOGRAPH
+  {0xE763, 0x93F2}, //18005 #CJK UNIFIED IDEOGRAPH
+  {0xE764, 0x93F3}, //18006 #CJK UNIFIED IDEOGRAPH
+  {0xE765, 0x93F4}, //18007 #CJK UNIFIED IDEOGRAPH
+  {0xE766, 0x93F5}, //18008 #CJK UNIFIED IDEOGRAPH
+  {0xE767, 0x93F6}, //18009 #CJK UNIFIED IDEOGRAPH
+  {0xE768, 0x93F7}, //18010 #CJK UNIFIED IDEOGRAPH
+  {0xE769, 0x93F8}, //18011 #CJK UNIFIED IDEOGRAPH
+  {0xE76A, 0x93F9}, //18012 #CJK UNIFIED IDEOGRAPH
+  {0xE76B, 0x93FA}, //18013 #CJK UNIFIED IDEOGRAPH
+  {0xE76C, 0x93FB}, //18014 #CJK UNIFIED IDEOGRAPH
+  {0xE76D, 0x93FC}, //18015 #CJK UNIFIED IDEOGRAPH
+  {0xE76E, 0x93FD}, //18016 #CJK UNIFIED IDEOGRAPH
+  {0xE76F, 0x93FE}, //18017 #CJK UNIFIED IDEOGRAPH
+  {0xE770, 0x93FF}, //18018 #CJK UNIFIED IDEOGRAPH
+  {0xE771, 0x9400}, //18019 #CJK UNIFIED IDEOGRAPH
+  {0xE772, 0x9401}, //18020 #CJK UNIFIED IDEOGRAPH
+  {0xE773, 0x9402}, //18021 #CJK UNIFIED IDEOGRAPH
+  {0xE774, 0x9403}, //18022 #CJK UNIFIED IDEOGRAPH
+  {0xE775, 0x9404}, //18023 #CJK UNIFIED IDEOGRAPH
+  {0xE776, 0x9405}, //18024 #CJK UNIFIED IDEOGRAPH
+  {0xE777, 0x9406}, //18025 #CJK UNIFIED IDEOGRAPH
+  {0xE778, 0x9407}, //18026 #CJK UNIFIED IDEOGRAPH
+  {0xE779, 0x9408}, //18027 #CJK UNIFIED IDEOGRAPH
+  {0xE77A, 0x9409}, //18028 #CJK UNIFIED IDEOGRAPH
+  {0xE77B, 0x940A}, //18029 #CJK UNIFIED IDEOGRAPH
+  {0xE77C, 0x940B}, //18030 #CJK UNIFIED IDEOGRAPH
+  {0xE77D, 0x940C}, //18031 #CJK UNIFIED IDEOGRAPH
+  {0xE77E, 0x940D}, //18032 #CJK UNIFIED IDEOGRAPH
+  {0xE780, 0x940E}, //18033 #CJK UNIFIED IDEOGRAPH
+  {0xE781, 0x940F}, //18034 #CJK UNIFIED IDEOGRAPH
+  {0xE782, 0x9410}, //18035 #CJK UNIFIED IDEOGRAPH
+  {0xE783, 0x9411}, //18036 #CJK UNIFIED IDEOGRAPH
+  {0xE784, 0x9412}, //18037 #CJK UNIFIED IDEOGRAPH
+  {0xE785, 0x9413}, //18038 #CJK UNIFIED IDEOGRAPH
+  {0xE786, 0x9414}, //18039 #CJK UNIFIED IDEOGRAPH
+  {0xE787, 0x9415}, //18040 #CJK UNIFIED IDEOGRAPH
+  {0xE788, 0x9416}, //18041 #CJK UNIFIED IDEOGRAPH
+  {0xE789, 0x9417}, //18042 #CJK UNIFIED IDEOGRAPH
+  {0xE78A, 0x9418}, //18043 #CJK UNIFIED IDEOGRAPH
+  {0xE78B, 0x9419}, //18044 #CJK UNIFIED IDEOGRAPH
+  {0xE78C, 0x941A}, //18045 #CJK UNIFIED IDEOGRAPH
+  {0xE78D, 0x941B}, //18046 #CJK UNIFIED IDEOGRAPH
+  {0xE78E, 0x941C}, //18047 #CJK UNIFIED IDEOGRAPH
+  {0xE78F, 0x941D}, //18048 #CJK UNIFIED IDEOGRAPH
+  {0xE790, 0x941E}, //18049 #CJK UNIFIED IDEOGRAPH
+  {0xE791, 0x941F}, //18050 #CJK UNIFIED IDEOGRAPH
+  {0xE792, 0x9420}, //18051 #CJK UNIFIED IDEOGRAPH
+  {0xE793, 0x9421}, //18052 #CJK UNIFIED IDEOGRAPH
+  {0xE794, 0x9422}, //18053 #CJK UNIFIED IDEOGRAPH
+  {0xE795, 0x9423}, //18054 #CJK UNIFIED IDEOGRAPH
+  {0xE796, 0x9424}, //18055 #CJK UNIFIED IDEOGRAPH
+  {0xE797, 0x9425}, //18056 #CJK UNIFIED IDEOGRAPH
+  {0xE798, 0x9426}, //18057 #CJK UNIFIED IDEOGRAPH
+  {0xE799, 0x9427}, //18058 #CJK UNIFIED IDEOGRAPH
+  {0xE79A, 0x9428}, //18059 #CJK UNIFIED IDEOGRAPH
+  {0xE79B, 0x9429}, //18060 #CJK UNIFIED IDEOGRAPH
+  {0xE79C, 0x942A}, //18061 #CJK UNIFIED IDEOGRAPH
+  {0xE79D, 0x942B}, //18062 #CJK UNIFIED IDEOGRAPH
+  {0xE79E, 0x942C}, //18063 #CJK UNIFIED IDEOGRAPH
+  {0xE79F, 0x942D}, //18064 #CJK UNIFIED IDEOGRAPH
+  {0xE7A0, 0x942E}, //18065 #CJK UNIFIED IDEOGRAPH
+  {0xE7A1, 0x7EAD}, //18066 #CJK UNIFIED IDEOGRAPH
+  {0xE7A2, 0x7EB0}, //18067 #CJK UNIFIED IDEOGRAPH
+  {0xE7A3, 0x7EBE}, //18068 #CJK UNIFIED IDEOGRAPH
+  {0xE7A4, 0x7EC0}, //18069 #CJK UNIFIED IDEOGRAPH
+  {0xE7A5, 0x7EC1}, //18070 #CJK UNIFIED IDEOGRAPH
+  {0xE7A6, 0x7EC2}, //18071 #CJK UNIFIED IDEOGRAPH
+  {0xE7A7, 0x7EC9}, //18072 #CJK UNIFIED IDEOGRAPH
+  {0xE7A8, 0x7ECB}, //18073 #CJK UNIFIED IDEOGRAPH
+  {0xE7A9, 0x7ECC}, //18074 #CJK UNIFIED IDEOGRAPH
+  {0xE7AA, 0x7ED0}, //18075 #CJK UNIFIED IDEOGRAPH
+  {0xE7AB, 0x7ED4}, //18076 #CJK UNIFIED IDEOGRAPH
+  {0xE7AC, 0x7ED7}, //18077 #CJK UNIFIED IDEOGRAPH
+  {0xE7AD, 0x7EDB}, //18078 #CJK UNIFIED IDEOGRAPH
+  {0xE7AE, 0x7EE0}, //18079 #CJK UNIFIED IDEOGRAPH
+  {0xE7AF, 0x7EE1}, //18080 #CJK UNIFIED IDEOGRAPH
+  {0xE7B0, 0x7EE8}, //18081 #CJK UNIFIED IDEOGRAPH
+  {0xE7B1, 0x7EEB}, //18082 #CJK UNIFIED IDEOGRAPH
+  {0xE7B2, 0x7EEE}, //18083 #CJK UNIFIED IDEOGRAPH
+  {0xE7B3, 0x7EEF}, //18084 #CJK UNIFIED IDEOGRAPH
+  {0xE7B4, 0x7EF1}, //18085 #CJK UNIFIED IDEOGRAPH
+  {0xE7B5, 0x7EF2}, //18086 #CJK UNIFIED IDEOGRAPH
+  {0xE7B6, 0x7F0D}, //18087 #CJK UNIFIED IDEOGRAPH
+  {0xE7B7, 0x7EF6}, //18088 #CJK UNIFIED IDEOGRAPH
+  {0xE7B8, 0x7EFA}, //18089 #CJK UNIFIED IDEOGRAPH
+  {0xE7B9, 0x7EFB}, //18090 #CJK UNIFIED IDEOGRAPH
+  {0xE7BA, 0x7EFE}, //18091 #CJK UNIFIED IDEOGRAPH
+  {0xE7BB, 0x7F01}, //18092 #CJK UNIFIED IDEOGRAPH
+  {0xE7BC, 0x7F02}, //18093 #CJK UNIFIED IDEOGRAPH
+  {0xE7BD, 0x7F03}, //18094 #CJK UNIFIED IDEOGRAPH
+  {0xE7BE, 0x7F07}, //18095 #CJK UNIFIED IDEOGRAPH
+  {0xE7BF, 0x7F08}, //18096 #CJK UNIFIED IDEOGRAPH
+  {0xE7C0, 0x7F0B}, //18097 #CJK UNIFIED IDEOGRAPH
+  {0xE7C1, 0x7F0C}, //18098 #CJK UNIFIED IDEOGRAPH
+  {0xE7C2, 0x7F0F}, //18099 #CJK UNIFIED IDEOGRAPH
+  {0xE7C3, 0x7F11}, //18100 #CJK UNIFIED IDEOGRAPH
+  {0xE7C4, 0x7F12}, //18101 #CJK UNIFIED IDEOGRAPH
+  {0xE7C5, 0x7F17}, //18102 #CJK UNIFIED IDEOGRAPH
+  {0xE7C6, 0x7F19}, //18103 #CJK UNIFIED IDEOGRAPH
+  {0xE7C7, 0x7F1C}, //18104 #CJK UNIFIED IDEOGRAPH
+  {0xE7C8, 0x7F1B}, //18105 #CJK UNIFIED IDEOGRAPH
+  {0xE7C9, 0x7F1F}, //18106 #CJK UNIFIED IDEOGRAPH
+  {0xE7CA, 0x7F21}, //18107 #CJK UNIFIED IDEOGRAPH
+  {0xE7CB, 0x7F22}, //18108 #CJK UNIFIED IDEOGRAPH
+  {0xE7CC, 0x7F23}, //18109 #CJK UNIFIED IDEOGRAPH
+  {0xE7CD, 0x7F24}, //18110 #CJK UNIFIED IDEOGRAPH
+  {0xE7CE, 0x7F25}, //18111 #CJK UNIFIED IDEOGRAPH
+  {0xE7CF, 0x7F26}, //18112 #CJK UNIFIED IDEOGRAPH
+  {0xE7D0, 0x7F27}, //18113 #CJK UNIFIED IDEOGRAPH
+  {0xE7D1, 0x7F2A}, //18114 #CJK UNIFIED IDEOGRAPH
+  {0xE7D2, 0x7F2B}, //18115 #CJK UNIFIED IDEOGRAPH
+  {0xE7D3, 0x7F2C}, //18116 #CJK UNIFIED IDEOGRAPH
+  {0xE7D4, 0x7F2D}, //18117 #CJK UNIFIED IDEOGRAPH
+  {0xE7D5, 0x7F2F}, //18118 #CJK UNIFIED IDEOGRAPH
+  {0xE7D6, 0x7F30}, //18119 #CJK UNIFIED IDEOGRAPH
+  {0xE7D7, 0x7F31}, //18120 #CJK UNIFIED IDEOGRAPH
+  {0xE7D8, 0x7F32}, //18121 #CJK UNIFIED IDEOGRAPH
+  {0xE7D9, 0x7F33}, //18122 #CJK UNIFIED IDEOGRAPH
+  {0xE7DA, 0x7F35}, //18123 #CJK UNIFIED IDEOGRAPH
+  {0xE7DB, 0x5E7A}, //18124 #CJK UNIFIED IDEOGRAPH
+  {0xE7DC, 0x757F}, //18125 #CJK UNIFIED IDEOGRAPH
+  {0xE7DD, 0x5DDB}, //18126 #CJK UNIFIED IDEOGRAPH
+  {0xE7DE, 0x753E}, //18127 #CJK UNIFIED IDEOGRAPH
+  {0xE7DF, 0x9095}, //18128 #CJK UNIFIED IDEOGRAPH
+  {0xE7E0, 0x738E}, //18129 #CJK UNIFIED IDEOGRAPH
+  {0xE7E1, 0x7391}, //18130 #CJK UNIFIED IDEOGRAPH
+  {0xE7E2, 0x73AE}, //18131 #CJK UNIFIED IDEOGRAPH
+  {0xE7E3, 0x73A2}, //18132 #CJK UNIFIED IDEOGRAPH
+  {0xE7E4, 0x739F}, //18133 #CJK UNIFIED IDEOGRAPH
+  {0xE7E5, 0x73CF}, //18134 #CJK UNIFIED IDEOGRAPH
+  {0xE7E6, 0x73C2}, //18135 #CJK UNIFIED IDEOGRAPH
+  {0xE7E7, 0x73D1}, //18136 #CJK UNIFIED IDEOGRAPH
+  {0xE7E8, 0x73B7}, //18137 #CJK UNIFIED IDEOGRAPH
+  {0xE7E9, 0x73B3}, //18138 #CJK UNIFIED IDEOGRAPH
+  {0xE7EA, 0x73C0}, //18139 #CJK UNIFIED IDEOGRAPH
+  {0xE7EB, 0x73C9}, //18140 #CJK UNIFIED IDEOGRAPH
+  {0xE7EC, 0x73C8}, //18141 #CJK UNIFIED IDEOGRAPH
+  {0xE7ED, 0x73E5}, //18142 #CJK UNIFIED IDEOGRAPH
+  {0xE7EE, 0x73D9}, //18143 #CJK UNIFIED IDEOGRAPH
+  {0xE7EF, 0x987C}, //18144 #CJK UNIFIED IDEOGRAPH
+  {0xE7F0, 0x740A}, //18145 #CJK UNIFIED IDEOGRAPH
+  {0xE7F1, 0x73E9}, //18146 #CJK UNIFIED IDEOGRAPH
+  {0xE7F2, 0x73E7}, //18147 #CJK UNIFIED IDEOGRAPH
+  {0xE7F3, 0x73DE}, //18148 #CJK UNIFIED IDEOGRAPH
+  {0xE7F4, 0x73BA}, //18149 #CJK UNIFIED IDEOGRAPH
+  {0xE7F5, 0x73F2}, //18150 #CJK UNIFIED IDEOGRAPH
+  {0xE7F6, 0x740F}, //18151 #CJK UNIFIED IDEOGRAPH
+  {0xE7F7, 0x742A}, //18152 #CJK UNIFIED IDEOGRAPH
+  {0xE7F8, 0x745B}, //18153 #CJK UNIFIED IDEOGRAPH
+  {0xE7F9, 0x7426}, //18154 #CJK UNIFIED IDEOGRAPH
+  {0xE7FA, 0x7425}, //18155 #CJK UNIFIED IDEOGRAPH
+  {0xE7FB, 0x7428}, //18156 #CJK UNIFIED IDEOGRAPH
+  {0xE7FC, 0x7430}, //18157 #CJK UNIFIED IDEOGRAPH
+  {0xE7FD, 0x742E}, //18158 #CJK UNIFIED IDEOGRAPH
+  {0xE7FE, 0x742C}, //18159 #CJK UNIFIED IDEOGRAPH
+  {0xE840, 0x942F}, //18160 #CJK UNIFIED IDEOGRAPH
+  {0xE841, 0x9430}, //18161 #CJK UNIFIED IDEOGRAPH
+  {0xE842, 0x9431}, //18162 #CJK UNIFIED IDEOGRAPH
+  {0xE843, 0x9432}, //18163 #CJK UNIFIED IDEOGRAPH
+  {0xE844, 0x9433}, //18164 #CJK UNIFIED IDEOGRAPH
+  {0xE845, 0x9434}, //18165 #CJK UNIFIED IDEOGRAPH
+  {0xE846, 0x9435}, //18166 #CJK UNIFIED IDEOGRAPH
+  {0xE847, 0x9436}, //18167 #CJK UNIFIED IDEOGRAPH
+  {0xE848, 0x9437}, //18168 #CJK UNIFIED IDEOGRAPH
+  {0xE849, 0x9438}, //18169 #CJK UNIFIED IDEOGRAPH
+  {0xE84A, 0x9439}, //18170 #CJK UNIFIED IDEOGRAPH
+  {0xE84B, 0x943A}, //18171 #CJK UNIFIED IDEOGRAPH
+  {0xE84C, 0x943B}, //18172 #CJK UNIFIED IDEOGRAPH
+  {0xE84D, 0x943C}, //18173 #CJK UNIFIED IDEOGRAPH
+  {0xE84E, 0x943D}, //18174 #CJK UNIFIED IDEOGRAPH
+  {0xE84F, 0x943F}, //18175 #CJK UNIFIED IDEOGRAPH
+  {0xE850, 0x9440}, //18176 #CJK UNIFIED IDEOGRAPH
+  {0xE851, 0x9441}, //18177 #CJK UNIFIED IDEOGRAPH
+  {0xE852, 0x9442}, //18178 #CJK UNIFIED IDEOGRAPH
+  {0xE853, 0x9443}, //18179 #CJK UNIFIED IDEOGRAPH
+  {0xE854, 0x9444}, //18180 #CJK UNIFIED IDEOGRAPH
+  {0xE855, 0x9445}, //18181 #CJK UNIFIED IDEOGRAPH
+  {0xE856, 0x9446}, //18182 #CJK UNIFIED IDEOGRAPH
+  {0xE857, 0x9447}, //18183 #CJK UNIFIED IDEOGRAPH
+  {0xE858, 0x9448}, //18184 #CJK UNIFIED IDEOGRAPH
+  {0xE859, 0x9449}, //18185 #CJK UNIFIED IDEOGRAPH
+  {0xE85A, 0x944A}, //18186 #CJK UNIFIED IDEOGRAPH
+  {0xE85B, 0x944B}, //18187 #CJK UNIFIED IDEOGRAPH
+  {0xE85C, 0x944C}, //18188 #CJK UNIFIED IDEOGRAPH
+  {0xE85D, 0x944D}, //18189 #CJK UNIFIED IDEOGRAPH
+  {0xE85E, 0x944E}, //18190 #CJK UNIFIED IDEOGRAPH
+  {0xE85F, 0x944F}, //18191 #CJK UNIFIED IDEOGRAPH
+  {0xE860, 0x9450}, //18192 #CJK UNIFIED IDEOGRAPH
+  {0xE861, 0x9451}, //18193 #CJK UNIFIED IDEOGRAPH
+  {0xE862, 0x9452}, //18194 #CJK UNIFIED IDEOGRAPH
+  {0xE863, 0x9453}, //18195 #CJK UNIFIED IDEOGRAPH
+  {0xE864, 0x9454}, //18196 #CJK UNIFIED IDEOGRAPH
+  {0xE865, 0x9455}, //18197 #CJK UNIFIED IDEOGRAPH
+  {0xE866, 0x9456}, //18198 #CJK UNIFIED IDEOGRAPH
+  {0xE867, 0x9457}, //18199 #CJK UNIFIED IDEOGRAPH
+  {0xE868, 0x9458}, //18200 #CJK UNIFIED IDEOGRAPH
+  {0xE869, 0x9459}, //18201 #CJK UNIFIED IDEOGRAPH
+  {0xE86A, 0x945A}, //18202 #CJK UNIFIED IDEOGRAPH
+  {0xE86B, 0x945B}, //18203 #CJK UNIFIED IDEOGRAPH
+  {0xE86C, 0x945C}, //18204 #CJK UNIFIED IDEOGRAPH
+  {0xE86D, 0x945D}, //18205 #CJK UNIFIED IDEOGRAPH
+  {0xE86E, 0x945E}, //18206 #CJK UNIFIED IDEOGRAPH
+  {0xE86F, 0x945F}, //18207 #CJK UNIFIED IDEOGRAPH
+  {0xE870, 0x9460}, //18208 #CJK UNIFIED IDEOGRAPH
+  {0xE871, 0x9461}, //18209 #CJK UNIFIED IDEOGRAPH
+  {0xE872, 0x9462}, //18210 #CJK UNIFIED IDEOGRAPH
+  {0xE873, 0x9463}, //18211 #CJK UNIFIED IDEOGRAPH
+  {0xE874, 0x9464}, //18212 #CJK UNIFIED IDEOGRAPH
+  {0xE875, 0x9465}, //18213 #CJK UNIFIED IDEOGRAPH
+  {0xE876, 0x9466}, //18214 #CJK UNIFIED IDEOGRAPH
+  {0xE877, 0x9467}, //18215 #CJK UNIFIED IDEOGRAPH
+  {0xE878, 0x9468}, //18216 #CJK UNIFIED IDEOGRAPH
+  {0xE879, 0x9469}, //18217 #CJK UNIFIED IDEOGRAPH
+  {0xE87A, 0x946A}, //18218 #CJK UNIFIED IDEOGRAPH
+  {0xE87B, 0x946C}, //18219 #CJK UNIFIED IDEOGRAPH
+  {0xE87C, 0x946D}, //18220 #CJK UNIFIED IDEOGRAPH
+  {0xE87D, 0x946E}, //18221 #CJK UNIFIED IDEOGRAPH
+  {0xE87E, 0x946F}, //18222 #CJK UNIFIED IDEOGRAPH
+  {0xE880, 0x9470}, //18223 #CJK UNIFIED IDEOGRAPH
+  {0xE881, 0x9471}, //18224 #CJK UNIFIED IDEOGRAPH
+  {0xE882, 0x9472}, //18225 #CJK UNIFIED IDEOGRAPH
+  {0xE883, 0x9473}, //18226 #CJK UNIFIED IDEOGRAPH
+  {0xE884, 0x9474}, //18227 #CJK UNIFIED IDEOGRAPH
+  {0xE885, 0x9475}, //18228 #CJK UNIFIED IDEOGRAPH
+  {0xE886, 0x9476}, //18229 #CJK UNIFIED IDEOGRAPH
+  {0xE887, 0x9477}, //18230 #CJK UNIFIED IDEOGRAPH
+  {0xE888, 0x9478}, //18231 #CJK UNIFIED IDEOGRAPH
+  {0xE889, 0x9479}, //18232 #CJK UNIFIED IDEOGRAPH
+  {0xE88A, 0x947A}, //18233 #CJK UNIFIED IDEOGRAPH
+  {0xE88B, 0x947B}, //18234 #CJK UNIFIED IDEOGRAPH
+  {0xE88C, 0x947C}, //18235 #CJK UNIFIED IDEOGRAPH
+  {0xE88D, 0x947D}, //18236 #CJK UNIFIED IDEOGRAPH
+  {0xE88E, 0x947E}, //18237 #CJK UNIFIED IDEOGRAPH
+  {0xE88F, 0x947F}, //18238 #CJK UNIFIED IDEOGRAPH
+  {0xE890, 0x9480}, //18239 #CJK UNIFIED IDEOGRAPH
+  {0xE891, 0x9481}, //18240 #CJK UNIFIED IDEOGRAPH
+  {0xE892, 0x9482}, //18241 #CJK UNIFIED IDEOGRAPH
+  {0xE893, 0x9483}, //18242 #CJK UNIFIED IDEOGRAPH
+  {0xE894, 0x9484}, //18243 #CJK UNIFIED IDEOGRAPH
+  {0xE895, 0x9491}, //18244 #CJK UNIFIED IDEOGRAPH
+  {0xE896, 0x9496}, //18245 #CJK UNIFIED IDEOGRAPH
+  {0xE897, 0x9498}, //18246 #CJK UNIFIED IDEOGRAPH
+  {0xE898, 0x94C7}, //18247 #CJK UNIFIED IDEOGRAPH
+  {0xE899, 0x94CF}, //18248 #CJK UNIFIED IDEOGRAPH
+  {0xE89A, 0x94D3}, //18249 #CJK UNIFIED IDEOGRAPH
+  {0xE89B, 0x94D4}, //18250 #CJK UNIFIED IDEOGRAPH
+  {0xE89C, 0x94DA}, //18251 #CJK UNIFIED IDEOGRAPH
+  {0xE89D, 0x94E6}, //18252 #CJK UNIFIED IDEOGRAPH
+  {0xE89E, 0x94FB}, //18253 #CJK UNIFIED IDEOGRAPH
+  {0xE89F, 0x951C}, //18254 #CJK UNIFIED IDEOGRAPH
+  {0xE8A0, 0x9520}, //18255 #CJK UNIFIED IDEOGRAPH
+  {0xE8A1, 0x741B}, //18256 #CJK UNIFIED IDEOGRAPH
+  {0xE8A2, 0x741A}, //18257 #CJK UNIFIED IDEOGRAPH
+  {0xE8A3, 0x7441}, //18258 #CJK UNIFIED IDEOGRAPH
+  {0xE8A4, 0x745C}, //18259 #CJK UNIFIED IDEOGRAPH
+  {0xE8A5, 0x7457}, //18260 #CJK UNIFIED IDEOGRAPH
+  {0xE8A6, 0x7455}, //18261 #CJK UNIFIED IDEOGRAPH
+  {0xE8A7, 0x7459}, //18262 #CJK UNIFIED IDEOGRAPH
+  {0xE8A8, 0x7477}, //18263 #CJK UNIFIED IDEOGRAPH
+  {0xE8A9, 0x746D}, //18264 #CJK UNIFIED IDEOGRAPH
+  {0xE8AA, 0x747E}, //18265 #CJK UNIFIED IDEOGRAPH
+  {0xE8AB, 0x749C}, //18266 #CJK UNIFIED IDEOGRAPH
+  {0xE8AC, 0x748E}, //18267 #CJK UNIFIED IDEOGRAPH
+  {0xE8AD, 0x7480}, //18268 #CJK UNIFIED IDEOGRAPH
+  {0xE8AE, 0x7481}, //18269 #CJK UNIFIED IDEOGRAPH
+  {0xE8AF, 0x7487}, //18270 #CJK UNIFIED IDEOGRAPH
+  {0xE8B0, 0x748B}, //18271 #CJK UNIFIED IDEOGRAPH
+  {0xE8B1, 0x749E}, //18272 #CJK UNIFIED IDEOGRAPH
+  {0xE8B2, 0x74A8}, //18273 #CJK UNIFIED IDEOGRAPH
+  {0xE8B3, 0x74A9}, //18274 #CJK UNIFIED IDEOGRAPH
+  {0xE8B4, 0x7490}, //18275 #CJK UNIFIED IDEOGRAPH
+  {0xE8B5, 0x74A7}, //18276 #CJK UNIFIED IDEOGRAPH
+  {0xE8B6, 0x74D2}, //18277 #CJK UNIFIED IDEOGRAPH
+  {0xE8B7, 0x74BA}, //18278 #CJK UNIFIED IDEOGRAPH
+  {0xE8B8, 0x97EA}, //18279 #CJK UNIFIED IDEOGRAPH
+  {0xE8B9, 0x97EB}, //18280 #CJK UNIFIED IDEOGRAPH
+  {0xE8BA, 0x97EC}, //18281 #CJK UNIFIED IDEOGRAPH
+  {0xE8BB, 0x674C}, //18282 #CJK UNIFIED IDEOGRAPH
+  {0xE8BC, 0x6753}, //18283 #CJK UNIFIED IDEOGRAPH
+  {0xE8BD, 0x675E}, //18284 #CJK UNIFIED IDEOGRAPH
+  {0xE8BE, 0x6748}, //18285 #CJK UNIFIED IDEOGRAPH
+  {0xE8BF, 0x6769}, //18286 #CJK UNIFIED IDEOGRAPH
+  {0xE8C0, 0x67A5}, //18287 #CJK UNIFIED IDEOGRAPH
+  {0xE8C1, 0x6787}, //18288 #CJK UNIFIED IDEOGRAPH
+  {0xE8C2, 0x676A}, //18289 #CJK UNIFIED IDEOGRAPH
+  {0xE8C3, 0x6773}, //18290 #CJK UNIFIED IDEOGRAPH
+  {0xE8C4, 0x6798}, //18291 #CJK UNIFIED IDEOGRAPH
+  {0xE8C5, 0x67A7}, //18292 #CJK UNIFIED IDEOGRAPH
+  {0xE8C6, 0x6775}, //18293 #CJK UNIFIED IDEOGRAPH
+  {0xE8C7, 0x67A8}, //18294 #CJK UNIFIED IDEOGRAPH
+  {0xE8C8, 0x679E}, //18295 #CJK UNIFIED IDEOGRAPH
+  {0xE8C9, 0x67AD}, //18296 #CJK UNIFIED IDEOGRAPH
+  {0xE8CA, 0x678B}, //18297 #CJK UNIFIED IDEOGRAPH
+  {0xE8CB, 0x6777}, //18298 #CJK UNIFIED IDEOGRAPH
+  {0xE8CC, 0x677C}, //18299 #CJK UNIFIED IDEOGRAPH
+  {0xE8CD, 0x67F0}, //18300 #CJK UNIFIED IDEOGRAPH
+  {0xE8CE, 0x6809}, //18301 #CJK UNIFIED IDEOGRAPH
+  {0xE8CF, 0x67D8}, //18302 #CJK UNIFIED IDEOGRAPH
+  {0xE8D0, 0x680A}, //18303 #CJK UNIFIED IDEOGRAPH
+  {0xE8D1, 0x67E9}, //18304 #CJK UNIFIED IDEOGRAPH
+  {0xE8D2, 0x67B0}, //18305 #CJK UNIFIED IDEOGRAPH
+  {0xE8D3, 0x680C}, //18306 #CJK UNIFIED IDEOGRAPH
+  {0xE8D4, 0x67D9}, //18307 #CJK UNIFIED IDEOGRAPH
+  {0xE8D5, 0x67B5}, //18308 #CJK UNIFIED IDEOGRAPH
+  {0xE8D6, 0x67DA}, //18309 #CJK UNIFIED IDEOGRAPH
+  {0xE8D7, 0x67B3}, //18310 #CJK UNIFIED IDEOGRAPH
+  {0xE8D8, 0x67DD}, //18311 #CJK UNIFIED IDEOGRAPH
+  {0xE8D9, 0x6800}, //18312 #CJK UNIFIED IDEOGRAPH
+  {0xE8DA, 0x67C3}, //18313 #CJK UNIFIED IDEOGRAPH
+  {0xE8DB, 0x67B8}, //18314 #CJK UNIFIED IDEOGRAPH
+  {0xE8DC, 0x67E2}, //18315 #CJK UNIFIED IDEOGRAPH
+  {0xE8DD, 0x680E}, //18316 #CJK UNIFIED IDEOGRAPH
+  {0xE8DE, 0x67C1}, //18317 #CJK UNIFIED IDEOGRAPH
+  {0xE8DF, 0x67FD}, //18318 #CJK UNIFIED IDEOGRAPH
+  {0xE8E0, 0x6832}, //18319 #CJK UNIFIED IDEOGRAPH
+  {0xE8E1, 0x6833}, //18320 #CJK UNIFIED IDEOGRAPH
+  {0xE8E2, 0x6860}, //18321 #CJK UNIFIED IDEOGRAPH
+  {0xE8E3, 0x6861}, //18322 #CJK UNIFIED IDEOGRAPH
+  {0xE8E4, 0x684E}, //18323 #CJK UNIFIED IDEOGRAPH
+  {0xE8E5, 0x6862}, //18324 #CJK UNIFIED IDEOGRAPH
+  {0xE8E6, 0x6844}, //18325 #CJK UNIFIED IDEOGRAPH
+  {0xE8E7, 0x6864}, //18326 #CJK UNIFIED IDEOGRAPH
+  {0xE8E8, 0x6883}, //18327 #CJK UNIFIED IDEOGRAPH
+  {0xE8E9, 0x681D}, //18328 #CJK UNIFIED IDEOGRAPH
+  {0xE8EA, 0x6855}, //18329 #CJK UNIFIED IDEOGRAPH
+  {0xE8EB, 0x6866}, //18330 #CJK UNIFIED IDEOGRAPH
+  {0xE8EC, 0x6841}, //18331 #CJK UNIFIED IDEOGRAPH
+  {0xE8ED, 0x6867}, //18332 #CJK UNIFIED IDEOGRAPH
+  {0xE8EE, 0x6840}, //18333 #CJK UNIFIED IDEOGRAPH
+  {0xE8EF, 0x683E}, //18334 #CJK UNIFIED IDEOGRAPH
+  {0xE8F0, 0x684A}, //18335 #CJK UNIFIED IDEOGRAPH
+  {0xE8F1, 0x6849}, //18336 #CJK UNIFIED IDEOGRAPH
+  {0xE8F2, 0x6829}, //18337 #CJK UNIFIED IDEOGRAPH
+  {0xE8F3, 0x68B5}, //18338 #CJK UNIFIED IDEOGRAPH
+  {0xE8F4, 0x688F}, //18339 #CJK UNIFIED IDEOGRAPH
+  {0xE8F5, 0x6874}, //18340 #CJK UNIFIED IDEOGRAPH
+  {0xE8F6, 0x6877}, //18341 #CJK UNIFIED IDEOGRAPH
+  {0xE8F7, 0x6893}, //18342 #CJK UNIFIED IDEOGRAPH
+  {0xE8F8, 0x686B}, //18343 #CJK UNIFIED IDEOGRAPH
+  {0xE8F9, 0x68C2}, //18344 #CJK UNIFIED IDEOGRAPH
+  {0xE8FA, 0x696E}, //18345 #CJK UNIFIED IDEOGRAPH
+  {0xE8FB, 0x68FC}, //18346 #CJK UNIFIED IDEOGRAPH
+  {0xE8FC, 0x691F}, //18347 #CJK UNIFIED IDEOGRAPH
+  {0xE8FD, 0x6920}, //18348 #CJK UNIFIED IDEOGRAPH
+  {0xE8FE, 0x68F9}, //18349 #CJK UNIFIED IDEOGRAPH
+  {0xE940, 0x9527}, //18350 #CJK UNIFIED IDEOGRAPH
+  {0xE941, 0x9533}, //18351 #CJK UNIFIED IDEOGRAPH
+  {0xE942, 0x953D}, //18352 #CJK UNIFIED IDEOGRAPH
+  {0xE943, 0x9543}, //18353 #CJK UNIFIED IDEOGRAPH
+  {0xE944, 0x9548}, //18354 #CJK UNIFIED IDEOGRAPH
+  {0xE945, 0x954B}, //18355 #CJK UNIFIED IDEOGRAPH
+  {0xE946, 0x9555}, //18356 #CJK UNIFIED IDEOGRAPH
+  {0xE947, 0x955A}, //18357 #CJK UNIFIED IDEOGRAPH
+  {0xE948, 0x9560}, //18358 #CJK UNIFIED IDEOGRAPH
+  {0xE949, 0x956E}, //18359 #CJK UNIFIED IDEOGRAPH
+  {0xE94A, 0x9574}, //18360 #CJK UNIFIED IDEOGRAPH
+  {0xE94B, 0x9575}, //18361 #CJK UNIFIED IDEOGRAPH
+  {0xE94C, 0x9577}, //18362 #CJK UNIFIED IDEOGRAPH
+  {0xE94D, 0x9578}, //18363 #CJK UNIFIED IDEOGRAPH
+  {0xE94E, 0x9579}, //18364 #CJK UNIFIED IDEOGRAPH
+  {0xE94F, 0x957A}, //18365 #CJK UNIFIED IDEOGRAPH
+  {0xE950, 0x957B}, //18366 #CJK UNIFIED IDEOGRAPH
+  {0xE951, 0x957C}, //18367 #CJK UNIFIED IDEOGRAPH
+  {0xE952, 0x957D}, //18368 #CJK UNIFIED IDEOGRAPH
+  {0xE953, 0x957E}, //18369 #CJK UNIFIED IDEOGRAPH
+  {0xE954, 0x9580}, //18370 #CJK UNIFIED IDEOGRAPH
+  {0xE955, 0x9581}, //18371 #CJK UNIFIED IDEOGRAPH
+  {0xE956, 0x9582}, //18372 #CJK UNIFIED IDEOGRAPH
+  {0xE957, 0x9583}, //18373 #CJK UNIFIED IDEOGRAPH
+  {0xE958, 0x9584}, //18374 #CJK UNIFIED IDEOGRAPH
+  {0xE959, 0x9585}, //18375 #CJK UNIFIED IDEOGRAPH
+  {0xE95A, 0x9586}, //18376 #CJK UNIFIED IDEOGRAPH
+  {0xE95B, 0x9587}, //18377 #CJK UNIFIED IDEOGRAPH
+  {0xE95C, 0x9588}, //18378 #CJK UNIFIED IDEOGRAPH
+  {0xE95D, 0x9589}, //18379 #CJK UNIFIED IDEOGRAPH
+  {0xE95E, 0x958A}, //18380 #CJK UNIFIED IDEOGRAPH
+  {0xE95F, 0x958B}, //18381 #CJK UNIFIED IDEOGRAPH
+  {0xE960, 0x958C}, //18382 #CJK UNIFIED IDEOGRAPH
+  {0xE961, 0x958D}, //18383 #CJK UNIFIED IDEOGRAPH
+  {0xE962, 0x958E}, //18384 #CJK UNIFIED IDEOGRAPH
+  {0xE963, 0x958F}, //18385 #CJK UNIFIED IDEOGRAPH
+  {0xE964, 0x9590}, //18386 #CJK UNIFIED IDEOGRAPH
+  {0xE965, 0x9591}, //18387 #CJK UNIFIED IDEOGRAPH
+  {0xE966, 0x9592}, //18388 #CJK UNIFIED IDEOGRAPH
+  {0xE967, 0x9593}, //18389 #CJK UNIFIED IDEOGRAPH
+  {0xE968, 0x9594}, //18390 #CJK UNIFIED IDEOGRAPH
+  {0xE969, 0x9595}, //18391 #CJK UNIFIED IDEOGRAPH
+  {0xE96A, 0x9596}, //18392 #CJK UNIFIED IDEOGRAPH
+  {0xE96B, 0x9597}, //18393 #CJK UNIFIED IDEOGRAPH
+  {0xE96C, 0x9598}, //18394 #CJK UNIFIED IDEOGRAPH
+  {0xE96D, 0x9599}, //18395 #CJK UNIFIED IDEOGRAPH
+  {0xE96E, 0x959A}, //18396 #CJK UNIFIED IDEOGRAPH
+  {0xE96F, 0x959B}, //18397 #CJK UNIFIED IDEOGRAPH
+  {0xE970, 0x959C}, //18398 #CJK UNIFIED IDEOGRAPH
+  {0xE971, 0x959D}, //18399 #CJK UNIFIED IDEOGRAPH
+  {0xE972, 0x959E}, //18400 #CJK UNIFIED IDEOGRAPH
+  {0xE973, 0x959F}, //18401 #CJK UNIFIED IDEOGRAPH
+  {0xE974, 0x95A0}, //18402 #CJK UNIFIED IDEOGRAPH
+  {0xE975, 0x95A1}, //18403 #CJK UNIFIED IDEOGRAPH
+  {0xE976, 0x95A2}, //18404 #CJK UNIFIED IDEOGRAPH
+  {0xE977, 0x95A3}, //18405 #CJK UNIFIED IDEOGRAPH
+  {0xE978, 0x95A4}, //18406 #CJK UNIFIED IDEOGRAPH
+  {0xE979, 0x95A5}, //18407 #CJK UNIFIED IDEOGRAPH
+  {0xE97A, 0x95A6}, //18408 #CJK UNIFIED IDEOGRAPH
+  {0xE97B, 0x95A7}, //18409 #CJK UNIFIED IDEOGRAPH
+  {0xE97C, 0x95A8}, //18410 #CJK UNIFIED IDEOGRAPH
+  {0xE97D, 0x95A9}, //18411 #CJK UNIFIED IDEOGRAPH
+  {0xE97E, 0x95AA}, //18412 #CJK UNIFIED IDEOGRAPH
+  {0xE980, 0x95AB}, //18413 #CJK UNIFIED IDEOGRAPH
+  {0xE981, 0x95AC}, //18414 #CJK UNIFIED IDEOGRAPH
+  {0xE982, 0x95AD}, //18415 #CJK UNIFIED IDEOGRAPH
+  {0xE983, 0x95AE}, //18416 #CJK UNIFIED IDEOGRAPH
+  {0xE984, 0x95AF}, //18417 #CJK UNIFIED IDEOGRAPH
+  {0xE985, 0x95B0}, //18418 #CJK UNIFIED IDEOGRAPH
+  {0xE986, 0x95B1}, //18419 #CJK UNIFIED IDEOGRAPH
+  {0xE987, 0x95B2}, //18420 #CJK UNIFIED IDEOGRAPH
+  {0xE988, 0x95B3}, //18421 #CJK UNIFIED IDEOGRAPH
+  {0xE989, 0x95B4}, //18422 #CJK UNIFIED IDEOGRAPH
+  {0xE98A, 0x95B5}, //18423 #CJK UNIFIED IDEOGRAPH
+  {0xE98B, 0x95B6}, //18424 #CJK UNIFIED IDEOGRAPH
+  {0xE98C, 0x95B7}, //18425 #CJK UNIFIED IDEOGRAPH
+  {0xE98D, 0x95B8}, //18426 #CJK UNIFIED IDEOGRAPH
+  {0xE98E, 0x95B9}, //18427 #CJK UNIFIED IDEOGRAPH
+  {0xE98F, 0x95BA}, //18428 #CJK UNIFIED IDEOGRAPH
+  {0xE990, 0x95BB}, //18429 #CJK UNIFIED IDEOGRAPH
+  {0xE991, 0x95BC}, //18430 #CJK UNIFIED IDEOGRAPH
+  {0xE992, 0x95BD}, //18431 #CJK UNIFIED IDEOGRAPH
+  {0xE993, 0x95BE}, //18432 #CJK UNIFIED IDEOGRAPH
+  {0xE994, 0x95BF}, //18433 #CJK UNIFIED IDEOGRAPH
+  {0xE995, 0x95C0}, //18434 #CJK UNIFIED IDEOGRAPH
+  {0xE996, 0x95C1}, //18435 #CJK UNIFIED IDEOGRAPH
+  {0xE997, 0x95C2}, //18436 #CJK UNIFIED IDEOGRAPH
+  {0xE998, 0x95C3}, //18437 #CJK UNIFIED IDEOGRAPH
+  {0xE999, 0x95C4}, //18438 #CJK UNIFIED IDEOGRAPH
+  {0xE99A, 0x95C5}, //18439 #CJK UNIFIED IDEOGRAPH
+  {0xE99B, 0x95C6}, //18440 #CJK UNIFIED IDEOGRAPH
+  {0xE99C, 0x95C7}, //18441 #CJK UNIFIED IDEOGRAPH
+  {0xE99D, 0x95C8}, //18442 #CJK UNIFIED IDEOGRAPH
+  {0xE99E, 0x95C9}, //18443 #CJK UNIFIED IDEOGRAPH
+  {0xE99F, 0x95CA}, //18444 #CJK UNIFIED IDEOGRAPH
+  {0xE9A0, 0x95CB}, //18445 #CJK UNIFIED IDEOGRAPH
+  {0xE9A1, 0x6924}, //18446 #CJK UNIFIED IDEOGRAPH
+  {0xE9A2, 0x68F0}, //18447 #CJK UNIFIED IDEOGRAPH
+  {0xE9A3, 0x690B}, //18448 #CJK UNIFIED IDEOGRAPH
+  {0xE9A4, 0x6901}, //18449 #CJK UNIFIED IDEOGRAPH
+  {0xE9A5, 0x6957}, //18450 #CJK UNIFIED IDEOGRAPH
+  {0xE9A6, 0x68E3}, //18451 #CJK UNIFIED IDEOGRAPH
+  {0xE9A7, 0x6910}, //18452 #CJK UNIFIED IDEOGRAPH
+  {0xE9A8, 0x6971}, //18453 #CJK UNIFIED IDEOGRAPH
+  {0xE9A9, 0x6939}, //18454 #CJK UNIFIED IDEOGRAPH
+  {0xE9AA, 0x6960}, //18455 #CJK UNIFIED IDEOGRAPH
+  {0xE9AB, 0x6942}, //18456 #CJK UNIFIED IDEOGRAPH
+  {0xE9AC, 0x695D}, //18457 #CJK UNIFIED IDEOGRAPH
+  {0xE9AD, 0x6984}, //18458 #CJK UNIFIED IDEOGRAPH
+  {0xE9AE, 0x696B}, //18459 #CJK UNIFIED IDEOGRAPH
+  {0xE9AF, 0x6980}, //18460 #CJK UNIFIED IDEOGRAPH
+  {0xE9B0, 0x6998}, //18461 #CJK UNIFIED IDEOGRAPH
+  {0xE9B1, 0x6978}, //18462 #CJK UNIFIED IDEOGRAPH
+  {0xE9B2, 0x6934}, //18463 #CJK UNIFIED IDEOGRAPH
+  {0xE9B3, 0x69CC}, //18464 #CJK UNIFIED IDEOGRAPH
+  {0xE9B4, 0x6987}, //18465 #CJK UNIFIED IDEOGRAPH
+  {0xE9B5, 0x6988}, //18466 #CJK UNIFIED IDEOGRAPH
+  {0xE9B6, 0x69CE}, //18467 #CJK UNIFIED IDEOGRAPH
+  {0xE9B7, 0x6989}, //18468 #CJK UNIFIED IDEOGRAPH
+  {0xE9B8, 0x6966}, //18469 #CJK UNIFIED IDEOGRAPH
+  {0xE9B9, 0x6963}, //18470 #CJK UNIFIED IDEOGRAPH
+  {0xE9BA, 0x6979}, //18471 #CJK UNIFIED IDEOGRAPH
+  {0xE9BB, 0x699B}, //18472 #CJK UNIFIED IDEOGRAPH
+  {0xE9BC, 0x69A7}, //18473 #CJK UNIFIED IDEOGRAPH
+  {0xE9BD, 0x69BB}, //18474 #CJK UNIFIED IDEOGRAPH
+  {0xE9BE, 0x69AB}, //18475 #CJK UNIFIED IDEOGRAPH
+  {0xE9BF, 0x69AD}, //18476 #CJK UNIFIED IDEOGRAPH
+  {0xE9C0, 0x69D4}, //18477 #CJK UNIFIED IDEOGRAPH
+  {0xE9C1, 0x69B1}, //18478 #CJK UNIFIED IDEOGRAPH
+  {0xE9C2, 0x69C1}, //18479 #CJK UNIFIED IDEOGRAPH
+  {0xE9C3, 0x69CA}, //18480 #CJK UNIFIED IDEOGRAPH
+  {0xE9C4, 0x69DF}, //18481 #CJK UNIFIED IDEOGRAPH
+  {0xE9C5, 0x6995}, //18482 #CJK UNIFIED IDEOGRAPH
+  {0xE9C6, 0x69E0}, //18483 #CJK UNIFIED IDEOGRAPH
+  {0xE9C7, 0x698D}, //18484 #CJK UNIFIED IDEOGRAPH
+  {0xE9C8, 0x69FF}, //18485 #CJK UNIFIED IDEOGRAPH
+  {0xE9C9, 0x6A2F}, //18486 #CJK UNIFIED IDEOGRAPH
+  {0xE9CA, 0x69ED}, //18487 #CJK UNIFIED IDEOGRAPH
+  {0xE9CB, 0x6A17}, //18488 #CJK UNIFIED IDEOGRAPH
+  {0xE9CC, 0x6A18}, //18489 #CJK UNIFIED IDEOGRAPH
+  {0xE9CD, 0x6A65}, //18490 #CJK UNIFIED IDEOGRAPH
+  {0xE9CE, 0x69F2}, //18491 #CJK UNIFIED IDEOGRAPH
+  {0xE9CF, 0x6A44}, //18492 #CJK UNIFIED IDEOGRAPH
+  {0xE9D0, 0x6A3E}, //18493 #CJK UNIFIED IDEOGRAPH
+  {0xE9D1, 0x6AA0}, //18494 #CJK UNIFIED IDEOGRAPH
+  {0xE9D2, 0x6A50}, //18495 #CJK UNIFIED IDEOGRAPH
+  {0xE9D3, 0x6A5B}, //18496 #CJK UNIFIED IDEOGRAPH
+  {0xE9D4, 0x6A35}, //18497 #CJK UNIFIED IDEOGRAPH
+  {0xE9D5, 0x6A8E}, //18498 #CJK UNIFIED IDEOGRAPH
+  {0xE9D6, 0x6A79}, //18499 #CJK UNIFIED IDEOGRAPH
+  {0xE9D7, 0x6A3D}, //18500 #CJK UNIFIED IDEOGRAPH
+  {0xE9D8, 0x6A28}, //18501 #CJK UNIFIED IDEOGRAPH
+  {0xE9D9, 0x6A58}, //18502 #CJK UNIFIED IDEOGRAPH
+  {0xE9DA, 0x6A7C}, //18503 #CJK UNIFIED IDEOGRAPH
+  {0xE9DB, 0x6A91}, //18504 #CJK UNIFIED IDEOGRAPH
+  {0xE9DC, 0x6A90}, //18505 #CJK UNIFIED IDEOGRAPH
+  {0xE9DD, 0x6AA9}, //18506 #CJK UNIFIED IDEOGRAPH
+  {0xE9DE, 0x6A97}, //18507 #CJK UNIFIED IDEOGRAPH
+  {0xE9DF, 0x6AAB}, //18508 #CJK UNIFIED IDEOGRAPH
+  {0xE9E0, 0x7337}, //18509 #CJK UNIFIED IDEOGRAPH
+  {0xE9E1, 0x7352}, //18510 #CJK UNIFIED IDEOGRAPH
+  {0xE9E2, 0x6B81}, //18511 #CJK UNIFIED IDEOGRAPH
+  {0xE9E3, 0x6B82}, //18512 #CJK UNIFIED IDEOGRAPH
+  {0xE9E4, 0x6B87}, //18513 #CJK UNIFIED IDEOGRAPH
+  {0xE9E5, 0x6B84}, //18514 #CJK UNIFIED IDEOGRAPH
+  {0xE9E6, 0x6B92}, //18515 #CJK UNIFIED IDEOGRAPH
+  {0xE9E7, 0x6B93}, //18516 #CJK UNIFIED IDEOGRAPH
+  {0xE9E8, 0x6B8D}, //18517 #CJK UNIFIED IDEOGRAPH
+  {0xE9E9, 0x6B9A}, //18518 #CJK UNIFIED IDEOGRAPH
+  {0xE9EA, 0x6B9B}, //18519 #CJK UNIFIED IDEOGRAPH
+  {0xE9EB, 0x6BA1}, //18520 #CJK UNIFIED IDEOGRAPH
+  {0xE9EC, 0x6BAA}, //18521 #CJK UNIFIED IDEOGRAPH
+  {0xE9ED, 0x8F6B}, //18522 #CJK UNIFIED IDEOGRAPH
+  {0xE9EE, 0x8F6D}, //18523 #CJK UNIFIED IDEOGRAPH
+  {0xE9EF, 0x8F71}, //18524 #CJK UNIFIED IDEOGRAPH
+  {0xE9F0, 0x8F72}, //18525 #CJK UNIFIED IDEOGRAPH
+  {0xE9F1, 0x8F73}, //18526 #CJK UNIFIED IDEOGRAPH
+  {0xE9F2, 0x8F75}, //18527 #CJK UNIFIED IDEOGRAPH
+  {0xE9F3, 0x8F76}, //18528 #CJK UNIFIED IDEOGRAPH
+  {0xE9F4, 0x8F78}, //18529 #CJK UNIFIED IDEOGRAPH
+  {0xE9F5, 0x8F77}, //18530 #CJK UNIFIED IDEOGRAPH
+  {0xE9F6, 0x8F79}, //18531 #CJK UNIFIED IDEOGRAPH
+  {0xE9F7, 0x8F7A}, //18532 #CJK UNIFIED IDEOGRAPH
+  {0xE9F8, 0x8F7C}, //18533 #CJK UNIFIED IDEOGRAPH
+  {0xE9F9, 0x8F7E}, //18534 #CJK UNIFIED IDEOGRAPH
+  {0xE9FA, 0x8F81}, //18535 #CJK UNIFIED IDEOGRAPH
+  {0xE9FB, 0x8F82}, //18536 #CJK UNIFIED IDEOGRAPH
+  {0xE9FC, 0x8F84}, //18537 #CJK UNIFIED IDEOGRAPH
+  {0xE9FD, 0x8F87}, //18538 #CJK UNIFIED IDEOGRAPH
+  {0xE9FE, 0x8F8B}, //18539 #CJK UNIFIED IDEOGRAPH
+  {0xEA40, 0x95CC}, //18540 #CJK UNIFIED IDEOGRAPH
+  {0xEA41, 0x95CD}, //18541 #CJK UNIFIED IDEOGRAPH
+  {0xEA42, 0x95CE}, //18542 #CJK UNIFIED IDEOGRAPH
+  {0xEA43, 0x95CF}, //18543 #CJK UNIFIED IDEOGRAPH
+  {0xEA44, 0x95D0}, //18544 #CJK UNIFIED IDEOGRAPH
+  {0xEA45, 0x95D1}, //18545 #CJK UNIFIED IDEOGRAPH
+  {0xEA46, 0x95D2}, //18546 #CJK UNIFIED IDEOGRAPH
+  {0xEA47, 0x95D3}, //18547 #CJK UNIFIED IDEOGRAPH
+  {0xEA48, 0x95D4}, //18548 #CJK UNIFIED IDEOGRAPH
+  {0xEA49, 0x95D5}, //18549 #CJK UNIFIED IDEOGRAPH
+  {0xEA4A, 0x95D6}, //18550 #CJK UNIFIED IDEOGRAPH
+  {0xEA4B, 0x95D7}, //18551 #CJK UNIFIED IDEOGRAPH
+  {0xEA4C, 0x95D8}, //18552 #CJK UNIFIED IDEOGRAPH
+  {0xEA4D, 0x95D9}, //18553 #CJK UNIFIED IDEOGRAPH
+  {0xEA4E, 0x95DA}, //18554 #CJK UNIFIED IDEOGRAPH
+  {0xEA4F, 0x95DB}, //18555 #CJK UNIFIED IDEOGRAPH
+  {0xEA50, 0x95DC}, //18556 #CJK UNIFIED IDEOGRAPH
+  {0xEA51, 0x95DD}, //18557 #CJK UNIFIED IDEOGRAPH
+  {0xEA52, 0x95DE}, //18558 #CJK UNIFIED IDEOGRAPH
+  {0xEA53, 0x95DF}, //18559 #CJK UNIFIED IDEOGRAPH
+  {0xEA54, 0x95E0}, //18560 #CJK UNIFIED IDEOGRAPH
+  {0xEA55, 0x95E1}, //18561 #CJK UNIFIED IDEOGRAPH
+  {0xEA56, 0x95E2}, //18562 #CJK UNIFIED IDEOGRAPH
+  {0xEA57, 0x95E3}, //18563 #CJK UNIFIED IDEOGRAPH
+  {0xEA58, 0x95E4}, //18564 #CJK UNIFIED IDEOGRAPH
+  {0xEA59, 0x95E5}, //18565 #CJK UNIFIED IDEOGRAPH
+  {0xEA5A, 0x95E6}, //18566 #CJK UNIFIED IDEOGRAPH
+  {0xEA5B, 0x95E7}, //18567 #CJK UNIFIED IDEOGRAPH
+  {0xEA5C, 0x95EC}, //18568 #CJK UNIFIED IDEOGRAPH
+  {0xEA5D, 0x95FF}, //18569 #CJK UNIFIED IDEOGRAPH
+  {0xEA5E, 0x9607}, //18570 #CJK UNIFIED IDEOGRAPH
+  {0xEA5F, 0x9613}, //18571 #CJK UNIFIED IDEOGRAPH
+  {0xEA60, 0x9618}, //18572 #CJK UNIFIED IDEOGRAPH
+  {0xEA61, 0x961B}, //18573 #CJK UNIFIED IDEOGRAPH
+  {0xEA62, 0x961E}, //18574 #CJK UNIFIED IDEOGRAPH
+  {0xEA63, 0x9620}, //18575 #CJK UNIFIED IDEOGRAPH
+  {0xEA64, 0x9623}, //18576 #CJK UNIFIED IDEOGRAPH
+  {0xEA65, 0x9624}, //18577 #CJK UNIFIED IDEOGRAPH
+  {0xEA66, 0x9625}, //18578 #CJK UNIFIED IDEOGRAPH
+  {0xEA67, 0x9626}, //18579 #CJK UNIFIED IDEOGRAPH
+  {0xEA68, 0x9627}, //18580 #CJK UNIFIED IDEOGRAPH
+  {0xEA69, 0x9628}, //18581 #CJK UNIFIED IDEOGRAPH
+  {0xEA6A, 0x9629}, //18582 #CJK UNIFIED IDEOGRAPH
+  {0xEA6B, 0x962B}, //18583 #CJK UNIFIED IDEOGRAPH
+  {0xEA6C, 0x962C}, //18584 #CJK UNIFIED IDEOGRAPH
+  {0xEA6D, 0x962D}, //18585 #CJK UNIFIED IDEOGRAPH
+  {0xEA6E, 0x962F}, //18586 #CJK UNIFIED IDEOGRAPH
+  {0xEA6F, 0x9630}, //18587 #CJK UNIFIED IDEOGRAPH
+  {0xEA70, 0x9637}, //18588 #CJK UNIFIED IDEOGRAPH
+  {0xEA71, 0x9638}, //18589 #CJK UNIFIED IDEOGRAPH
+  {0xEA72, 0x9639}, //18590 #CJK UNIFIED IDEOGRAPH
+  {0xEA73, 0x963A}, //18591 #CJK UNIFIED IDEOGRAPH
+  {0xEA74, 0x963E}, //18592 #CJK UNIFIED IDEOGRAPH
+  {0xEA75, 0x9641}, //18593 #CJK UNIFIED IDEOGRAPH
+  {0xEA76, 0x9643}, //18594 #CJK UNIFIED IDEOGRAPH
+  {0xEA77, 0x964A}, //18595 #CJK UNIFIED IDEOGRAPH
+  {0xEA78, 0x964E}, //18596 #CJK UNIFIED IDEOGRAPH
+  {0xEA79, 0x964F}, //18597 #CJK UNIFIED IDEOGRAPH
+  {0xEA7A, 0x9651}, //18598 #CJK UNIFIED IDEOGRAPH
+  {0xEA7B, 0x9652}, //18599 #CJK UNIFIED IDEOGRAPH
+  {0xEA7C, 0x9653}, //18600 #CJK UNIFIED IDEOGRAPH
+  {0xEA7D, 0x9656}, //18601 #CJK UNIFIED IDEOGRAPH
+  {0xEA7E, 0x9657}, //18602 #CJK UNIFIED IDEOGRAPH
+  {0xEA80, 0x9658}, //18603 #CJK UNIFIED IDEOGRAPH
+  {0xEA81, 0x9659}, //18604 #CJK UNIFIED IDEOGRAPH
+  {0xEA82, 0x965A}, //18605 #CJK UNIFIED IDEOGRAPH
+  {0xEA83, 0x965C}, //18606 #CJK UNIFIED IDEOGRAPH
+  {0xEA84, 0x965D}, //18607 #CJK UNIFIED IDEOGRAPH
+  {0xEA85, 0x965E}, //18608 #CJK UNIFIED IDEOGRAPH
+  {0xEA86, 0x9660}, //18609 #CJK UNIFIED IDEOGRAPH
+  {0xEA87, 0x9663}, //18610 #CJK UNIFIED IDEOGRAPH
+  {0xEA88, 0x9665}, //18611 #CJK UNIFIED IDEOGRAPH
+  {0xEA89, 0x9666}, //18612 #CJK UNIFIED IDEOGRAPH
+  {0xEA8A, 0x966B}, //18613 #CJK UNIFIED IDEOGRAPH
+  {0xEA8B, 0x966D}, //18614 #CJK UNIFIED IDEOGRAPH
+  {0xEA8C, 0x966E}, //18615 #CJK UNIFIED IDEOGRAPH
+  {0xEA8D, 0x966F}, //18616 #CJK UNIFIED IDEOGRAPH
+  {0xEA8E, 0x9670}, //18617 #CJK UNIFIED IDEOGRAPH
+  {0xEA8F, 0x9671}, //18618 #CJK UNIFIED IDEOGRAPH
+  {0xEA90, 0x9673}, //18619 #CJK UNIFIED IDEOGRAPH
+  {0xEA91, 0x9678}, //18620 #CJK UNIFIED IDEOGRAPH
+  {0xEA92, 0x9679}, //18621 #CJK UNIFIED IDEOGRAPH
+  {0xEA93, 0x967A}, //18622 #CJK UNIFIED IDEOGRAPH
+  {0xEA94, 0x967B}, //18623 #CJK UNIFIED IDEOGRAPH
+  {0xEA95, 0x967C}, //18624 #CJK UNIFIED IDEOGRAPH
+  {0xEA96, 0x967D}, //18625 #CJK UNIFIED IDEOGRAPH
+  {0xEA97, 0x967E}, //18626 #CJK UNIFIED IDEOGRAPH
+  {0xEA98, 0x967F}, //18627 #CJK UNIFIED IDEOGRAPH
+  {0xEA99, 0x9680}, //18628 #CJK UNIFIED IDEOGRAPH
+  {0xEA9A, 0x9681}, //18629 #CJK UNIFIED IDEOGRAPH
+  {0xEA9B, 0x9682}, //18630 #CJK UNIFIED IDEOGRAPH
+  {0xEA9C, 0x9683}, //18631 #CJK UNIFIED IDEOGRAPH
+  {0xEA9D, 0x9684}, //18632 #CJK UNIFIED IDEOGRAPH
+  {0xEA9E, 0x9687}, //18633 #CJK UNIFIED IDEOGRAPH
+  {0xEA9F, 0x9689}, //18634 #CJK UNIFIED IDEOGRAPH
+  {0xEAA0, 0x968A}, //18635 #CJK UNIFIED IDEOGRAPH
+  {0xEAA1, 0x8F8D}, //18636 #CJK UNIFIED IDEOGRAPH
+  {0xEAA2, 0x8F8E}, //18637 #CJK UNIFIED IDEOGRAPH
+  {0xEAA3, 0x8F8F}, //18638 #CJK UNIFIED IDEOGRAPH
+  {0xEAA4, 0x8F98}, //18639 #CJK UNIFIED IDEOGRAPH
+  {0xEAA5, 0x8F9A}, //18640 #CJK UNIFIED IDEOGRAPH
+  {0xEAA6, 0x8ECE}, //18641 #CJK UNIFIED IDEOGRAPH
+  {0xEAA7, 0x620B}, //18642 #CJK UNIFIED IDEOGRAPH
+  {0xEAA8, 0x6217}, //18643 #CJK UNIFIED IDEOGRAPH
+  {0xEAA9, 0x621B}, //18644 #CJK UNIFIED IDEOGRAPH
+  {0xEAAA, 0x621F}, //18645 #CJK UNIFIED IDEOGRAPH
+  {0xEAAB, 0x6222}, //18646 #CJK UNIFIED IDEOGRAPH
+  {0xEAAC, 0x6221}, //18647 #CJK UNIFIED IDEOGRAPH
+  {0xEAAD, 0x6225}, //18648 #CJK UNIFIED IDEOGRAPH
+  {0xEAAE, 0x6224}, //18649 #CJK UNIFIED IDEOGRAPH
+  {0xEAAF, 0x622C}, //18650 #CJK UNIFIED IDEOGRAPH
+  {0xEAB0, 0x81E7}, //18651 #CJK UNIFIED IDEOGRAPH
+  {0xEAB1, 0x74EF}, //18652 #CJK UNIFIED IDEOGRAPH
+  {0xEAB2, 0x74F4}, //18653 #CJK UNIFIED IDEOGRAPH
+  {0xEAB3, 0x74FF}, //18654 #CJK UNIFIED IDEOGRAPH
+  {0xEAB4, 0x750F}, //18655 #CJK UNIFIED IDEOGRAPH
+  {0xEAB5, 0x7511}, //18656 #CJK UNIFIED IDEOGRAPH
+  {0xEAB6, 0x7513}, //18657 #CJK UNIFIED IDEOGRAPH
+  {0xEAB7, 0x6534}, //18658 #CJK UNIFIED IDEOGRAPH
+  {0xEAB8, 0x65EE}, //18659 #CJK UNIFIED IDEOGRAPH
+  {0xEAB9, 0x65EF}, //18660 #CJK UNIFIED IDEOGRAPH
+  {0xEABA, 0x65F0}, //18661 #CJK UNIFIED IDEOGRAPH
+  {0xEABB, 0x660A}, //18662 #CJK UNIFIED IDEOGRAPH
+  {0xEABC, 0x6619}, //18663 #CJK UNIFIED IDEOGRAPH
+  {0xEABD, 0x6772}, //18664 #CJK UNIFIED IDEOGRAPH
+  {0xEABE, 0x6603}, //18665 #CJK UNIFIED IDEOGRAPH
+  {0xEABF, 0x6615}, //18666 #CJK UNIFIED IDEOGRAPH
+  {0xEAC0, 0x6600}, //18667 #CJK UNIFIED IDEOGRAPH
+  {0xEAC1, 0x7085}, //18668 #CJK UNIFIED IDEOGRAPH
+  {0xEAC2, 0x66F7}, //18669 #CJK UNIFIED IDEOGRAPH
+  {0xEAC3, 0x661D}, //18670 #CJK UNIFIED IDEOGRAPH
+  {0xEAC4, 0x6634}, //18671 #CJK UNIFIED IDEOGRAPH
+  {0xEAC5, 0x6631}, //18672 #CJK UNIFIED IDEOGRAPH
+  {0xEAC6, 0x6636}, //18673 #CJK UNIFIED IDEOGRAPH
+  {0xEAC7, 0x6635}, //18674 #CJK UNIFIED IDEOGRAPH
+  {0xEAC8, 0x8006}, //18675 #CJK UNIFIED IDEOGRAPH
+  {0xEAC9, 0x665F}, //18676 #CJK UNIFIED IDEOGRAPH
+  {0xEACA, 0x6654}, //18677 #CJK UNIFIED IDEOGRAPH
+  {0xEACB, 0x6641}, //18678 #CJK UNIFIED IDEOGRAPH
+  {0xEACC, 0x664F}, //18679 #CJK UNIFIED IDEOGRAPH
+  {0xEACD, 0x6656}, //18680 #CJK UNIFIED IDEOGRAPH
+  {0xEACE, 0x6661}, //18681 #CJK UNIFIED IDEOGRAPH
+  {0xEACF, 0x6657}, //18682 #CJK UNIFIED IDEOGRAPH
+  {0xEAD0, 0x6677}, //18683 #CJK UNIFIED IDEOGRAPH
+  {0xEAD1, 0x6684}, //18684 #CJK UNIFIED IDEOGRAPH
+  {0xEAD2, 0x668C}, //18685 #CJK UNIFIED IDEOGRAPH
+  {0xEAD3, 0x66A7}, //18686 #CJK UNIFIED IDEOGRAPH
+  {0xEAD4, 0x669D}, //18687 #CJK UNIFIED IDEOGRAPH
+  {0xEAD5, 0x66BE}, //18688 #CJK UNIFIED IDEOGRAPH
+  {0xEAD6, 0x66DB}, //18689 #CJK UNIFIED IDEOGRAPH
+  {0xEAD7, 0x66DC}, //18690 #CJK UNIFIED IDEOGRAPH
+  {0xEAD8, 0x66E6}, //18691 #CJK UNIFIED IDEOGRAPH
+  {0xEAD9, 0x66E9}, //18692 #CJK UNIFIED IDEOGRAPH
+  {0xEADA, 0x8D32}, //18693 #CJK UNIFIED IDEOGRAPH
+  {0xEADB, 0x8D33}, //18694 #CJK UNIFIED IDEOGRAPH
+  {0xEADC, 0x8D36}, //18695 #CJK UNIFIED IDEOGRAPH
+  {0xEADD, 0x8D3B}, //18696 #CJK UNIFIED IDEOGRAPH
+  {0xEADE, 0x8D3D}, //18697 #CJK UNIFIED IDEOGRAPH
+  {0xEADF, 0x8D40}, //18698 #CJK UNIFIED IDEOGRAPH
+  {0xEAE0, 0x8D45}, //18699 #CJK UNIFIED IDEOGRAPH
+  {0xEAE1, 0x8D46}, //18700 #CJK UNIFIED IDEOGRAPH
+  {0xEAE2, 0x8D48}, //18701 #CJK UNIFIED IDEOGRAPH
+  {0xEAE3, 0x8D49}, //18702 #CJK UNIFIED IDEOGRAPH
+  {0xEAE4, 0x8D47}, //18703 #CJK UNIFIED IDEOGRAPH
+  {0xEAE5, 0x8D4D}, //18704 #CJK UNIFIED IDEOGRAPH
+  {0xEAE6, 0x8D55}, //18705 #CJK UNIFIED IDEOGRAPH
+  {0xEAE7, 0x8D59}, //18706 #CJK UNIFIED IDEOGRAPH
+  {0xEAE8, 0x89C7}, //18707 #CJK UNIFIED IDEOGRAPH
+  {0xEAE9, 0x89CA}, //18708 #CJK UNIFIED IDEOGRAPH
+  {0xEAEA, 0x89CB}, //18709 #CJK UNIFIED IDEOGRAPH
+  {0xEAEB, 0x89CC}, //18710 #CJK UNIFIED IDEOGRAPH
+  {0xEAEC, 0x89CE}, //18711 #CJK UNIFIED IDEOGRAPH
+  {0xEAED, 0x89CF}, //18712 #CJK UNIFIED IDEOGRAPH
+  {0xEAEE, 0x89D0}, //18713 #CJK UNIFIED IDEOGRAPH
+  {0xEAEF, 0x89D1}, //18714 #CJK UNIFIED IDEOGRAPH
+  {0xEAF0, 0x726E}, //18715 #CJK UNIFIED IDEOGRAPH
+  {0xEAF1, 0x729F}, //18716 #CJK UNIFIED IDEOGRAPH
+  {0xEAF2, 0x725D}, //18717 #CJK UNIFIED IDEOGRAPH
+  {0xEAF3, 0x7266}, //18718 #CJK UNIFIED IDEOGRAPH
+  {0xEAF4, 0x726F}, //18719 #CJK UNIFIED IDEOGRAPH
+  {0xEAF5, 0x727E}, //18720 #CJK UNIFIED IDEOGRAPH
+  {0xEAF6, 0x727F}, //18721 #CJK UNIFIED IDEOGRAPH
+  {0xEAF7, 0x7284}, //18722 #CJK UNIFIED IDEOGRAPH
+  {0xEAF8, 0x728B}, //18723 #CJK UNIFIED IDEOGRAPH
+  {0xEAF9, 0x728D}, //18724 #CJK UNIFIED IDEOGRAPH
+  {0xEAFA, 0x728F}, //18725 #CJK UNIFIED IDEOGRAPH
+  {0xEAFB, 0x7292}, //18726 #CJK UNIFIED IDEOGRAPH
+  {0xEAFC, 0x6308}, //18727 #CJK UNIFIED IDEOGRAPH
+  {0xEAFD, 0x6332}, //18728 #CJK UNIFIED IDEOGRAPH
+  {0xEAFE, 0x63B0}, //18729 #CJK UNIFIED IDEOGRAPH
+  {0xEB40, 0x968C}, //18730 #CJK UNIFIED IDEOGRAPH
+  {0xEB41, 0x968E}, //18731 #CJK UNIFIED IDEOGRAPH
+  {0xEB42, 0x9691}, //18732 #CJK UNIFIED IDEOGRAPH
+  {0xEB43, 0x9692}, //18733 #CJK UNIFIED IDEOGRAPH
+  {0xEB44, 0x9693}, //18734 #CJK UNIFIED IDEOGRAPH
+  {0xEB45, 0x9695}, //18735 #CJK UNIFIED IDEOGRAPH
+  {0xEB46, 0x9696}, //18736 #CJK UNIFIED IDEOGRAPH
+  {0xEB47, 0x969A}, //18737 #CJK UNIFIED IDEOGRAPH
+  {0xEB48, 0x969B}, //18738 #CJK UNIFIED IDEOGRAPH
+  {0xEB49, 0x969D}, //18739 #CJK UNIFIED IDEOGRAPH
+  {0xEB4A, 0x969E}, //18740 #CJK UNIFIED IDEOGRAPH
+  {0xEB4B, 0x969F}, //18741 #CJK UNIFIED IDEOGRAPH
+  {0xEB4C, 0x96A0}, //18742 #CJK UNIFIED IDEOGRAPH
+  {0xEB4D, 0x96A1}, //18743 #CJK UNIFIED IDEOGRAPH
+  {0xEB4E, 0x96A2}, //18744 #CJK UNIFIED IDEOGRAPH
+  {0xEB4F, 0x96A3}, //18745 #CJK UNIFIED IDEOGRAPH
+  {0xEB50, 0x96A4}, //18746 #CJK UNIFIED IDEOGRAPH
+  {0xEB51, 0x96A5}, //18747 #CJK UNIFIED IDEOGRAPH
+  {0xEB52, 0x96A6}, //18748 #CJK UNIFIED IDEOGRAPH
+  {0xEB53, 0x96A8}, //18749 #CJK UNIFIED IDEOGRAPH
+  {0xEB54, 0x96A9}, //18750 #CJK UNIFIED IDEOGRAPH
+  {0xEB55, 0x96AA}, //18751 #CJK UNIFIED IDEOGRAPH
+  {0xEB56, 0x96AB}, //18752 #CJK UNIFIED IDEOGRAPH
+  {0xEB57, 0x96AC}, //18753 #CJK UNIFIED IDEOGRAPH
+  {0xEB58, 0x96AD}, //18754 #CJK UNIFIED IDEOGRAPH
+  {0xEB59, 0x96AE}, //18755 #CJK UNIFIED IDEOGRAPH
+  {0xEB5A, 0x96AF}, //18756 #CJK UNIFIED IDEOGRAPH
+  {0xEB5B, 0x96B1}, //18757 #CJK UNIFIED IDEOGRAPH
+  {0xEB5C, 0x96B2}, //18758 #CJK UNIFIED IDEOGRAPH
+  {0xEB5D, 0x96B4}, //18759 #CJK UNIFIED IDEOGRAPH
+  {0xEB5E, 0x96B5}, //18760 #CJK UNIFIED IDEOGRAPH
+  {0xEB5F, 0x96B7}, //18761 #CJK UNIFIED IDEOGRAPH
+  {0xEB60, 0x96B8}, //18762 #CJK UNIFIED IDEOGRAPH
+  {0xEB61, 0x96BA}, //18763 #CJK UNIFIED IDEOGRAPH
+  {0xEB62, 0x96BB}, //18764 #CJK UNIFIED IDEOGRAPH
+  {0xEB63, 0x96BF}, //18765 #CJK UNIFIED IDEOGRAPH
+  {0xEB64, 0x96C2}, //18766 #CJK UNIFIED IDEOGRAPH
+  {0xEB65, 0x96C3}, //18767 #CJK UNIFIED IDEOGRAPH
+  {0xEB66, 0x96C8}, //18768 #CJK UNIFIED IDEOGRAPH
+  {0xEB67, 0x96CA}, //18769 #CJK UNIFIED IDEOGRAPH
+  {0xEB68, 0x96CB}, //18770 #CJK UNIFIED IDEOGRAPH
+  {0xEB69, 0x96D0}, //18771 #CJK UNIFIED IDEOGRAPH
+  {0xEB6A, 0x96D1}, //18772 #CJK UNIFIED IDEOGRAPH
+  {0xEB6B, 0x96D3}, //18773 #CJK UNIFIED IDEOGRAPH
+  {0xEB6C, 0x96D4}, //18774 #CJK UNIFIED IDEOGRAPH
+  {0xEB6D, 0x96D6}, //18775 #CJK UNIFIED IDEOGRAPH
+  {0xEB6E, 0x96D7}, //18776 #CJK UNIFIED IDEOGRAPH
+  {0xEB6F, 0x96D8}, //18777 #CJK UNIFIED IDEOGRAPH
+  {0xEB70, 0x96D9}, //18778 #CJK UNIFIED IDEOGRAPH
+  {0xEB71, 0x96DA}, //18779 #CJK UNIFIED IDEOGRAPH
+  {0xEB72, 0x96DB}, //18780 #CJK UNIFIED IDEOGRAPH
+  {0xEB73, 0x96DC}, //18781 #CJK UNIFIED IDEOGRAPH
+  {0xEB74, 0x96DD}, //18782 #CJK UNIFIED IDEOGRAPH
+  {0xEB75, 0x96DE}, //18783 #CJK UNIFIED IDEOGRAPH
+  {0xEB76, 0x96DF}, //18784 #CJK UNIFIED IDEOGRAPH
+  {0xEB77, 0x96E1}, //18785 #CJK UNIFIED IDEOGRAPH
+  {0xEB78, 0x96E2}, //18786 #CJK UNIFIED IDEOGRAPH
+  {0xEB79, 0x96E3}, //18787 #CJK UNIFIED IDEOGRAPH
+  {0xEB7A, 0x96E4}, //18788 #CJK UNIFIED IDEOGRAPH
+  {0xEB7B, 0x96E5}, //18789 #CJK UNIFIED IDEOGRAPH
+  {0xEB7C, 0x96E6}, //18790 #CJK UNIFIED IDEOGRAPH
+  {0xEB7D, 0x96E7}, //18791 #CJK UNIFIED IDEOGRAPH
+  {0xEB7E, 0x96EB}, //18792 #CJK UNIFIED IDEOGRAPH
+  {0xEB80, 0x96EC}, //18793 #CJK UNIFIED IDEOGRAPH
+  {0xEB81, 0x96ED}, //18794 #CJK UNIFIED IDEOGRAPH
+  {0xEB82, 0x96EE}, //18795 #CJK UNIFIED IDEOGRAPH
+  {0xEB83, 0x96F0}, //18796 #CJK UNIFIED IDEOGRAPH
+  {0xEB84, 0x96F1}, //18797 #CJK UNIFIED IDEOGRAPH
+  {0xEB85, 0x96F2}, //18798 #CJK UNIFIED IDEOGRAPH
+  {0xEB86, 0x96F4}, //18799 #CJK UNIFIED IDEOGRAPH
+  {0xEB87, 0x96F5}, //18800 #CJK UNIFIED IDEOGRAPH
+  {0xEB88, 0x96F8}, //18801 #CJK UNIFIED IDEOGRAPH
+  {0xEB89, 0x96FA}, //18802 #CJK UNIFIED IDEOGRAPH
+  {0xEB8A, 0x96FB}, //18803 #CJK UNIFIED IDEOGRAPH
+  {0xEB8B, 0x96FC}, //18804 #CJK UNIFIED IDEOGRAPH
+  {0xEB8C, 0x96FD}, //18805 #CJK UNIFIED IDEOGRAPH
+  {0xEB8D, 0x96FF}, //18806 #CJK UNIFIED IDEOGRAPH
+  {0xEB8E, 0x9702}, //18807 #CJK UNIFIED IDEOGRAPH
+  {0xEB8F, 0x9703}, //18808 #CJK UNIFIED IDEOGRAPH
+  {0xEB90, 0x9705}, //18809 #CJK UNIFIED IDEOGRAPH
+  {0xEB91, 0x970A}, //18810 #CJK UNIFIED IDEOGRAPH
+  {0xEB92, 0x970B}, //18811 #CJK UNIFIED IDEOGRAPH
+  {0xEB93, 0x970C}, //18812 #CJK UNIFIED IDEOGRAPH
+  {0xEB94, 0x9710}, //18813 #CJK UNIFIED IDEOGRAPH
+  {0xEB95, 0x9711}, //18814 #CJK UNIFIED IDEOGRAPH
+  {0xEB96, 0x9712}, //18815 #CJK UNIFIED IDEOGRAPH
+  {0xEB97, 0x9714}, //18816 #CJK UNIFIED IDEOGRAPH
+  {0xEB98, 0x9715}, //18817 #CJK UNIFIED IDEOGRAPH
+  {0xEB99, 0x9717}, //18818 #CJK UNIFIED IDEOGRAPH
+  {0xEB9A, 0x9718}, //18819 #CJK UNIFIED IDEOGRAPH
+  {0xEB9B, 0x9719}, //18820 #CJK UNIFIED IDEOGRAPH
+  {0xEB9C, 0x971A}, //18821 #CJK UNIFIED IDEOGRAPH
+  {0xEB9D, 0x971B}, //18822 #CJK UNIFIED IDEOGRAPH
+  {0xEB9E, 0x971D}, //18823 #CJK UNIFIED IDEOGRAPH
+  {0xEB9F, 0x971F}, //18824 #CJK UNIFIED IDEOGRAPH
+  {0xEBA0, 0x9720}, //18825 #CJK UNIFIED IDEOGRAPH
+  {0xEBA1, 0x643F}, //18826 #CJK UNIFIED IDEOGRAPH
+  {0xEBA2, 0x64D8}, //18827 #CJK UNIFIED IDEOGRAPH
+  {0xEBA3, 0x8004}, //18828 #CJK UNIFIED IDEOGRAPH
+  {0xEBA4, 0x6BEA}, //18829 #CJK UNIFIED IDEOGRAPH
+  {0xEBA5, 0x6BF3}, //18830 #CJK UNIFIED IDEOGRAPH
+  {0xEBA6, 0x6BFD}, //18831 #CJK UNIFIED IDEOGRAPH
+  {0xEBA7, 0x6BF5}, //18832 #CJK UNIFIED IDEOGRAPH
+  {0xEBA8, 0x6BF9}, //18833 #CJK UNIFIED IDEOGRAPH
+  {0xEBA9, 0x6C05}, //18834 #CJK UNIFIED IDEOGRAPH
+  {0xEBAA, 0x6C07}, //18835 #CJK UNIFIED IDEOGRAPH
+  {0xEBAB, 0x6C06}, //18836 #CJK UNIFIED IDEOGRAPH
+  {0xEBAC, 0x6C0D}, //18837 #CJK UNIFIED IDEOGRAPH
+  {0xEBAD, 0x6C15}, //18838 #CJK UNIFIED IDEOGRAPH
+  {0xEBAE, 0x6C18}, //18839 #CJK UNIFIED IDEOGRAPH
+  {0xEBAF, 0x6C19}, //18840 #CJK UNIFIED IDEOGRAPH
+  {0xEBB0, 0x6C1A}, //18841 #CJK UNIFIED IDEOGRAPH
+  {0xEBB1, 0x6C21}, //18842 #CJK UNIFIED IDEOGRAPH
+  {0xEBB2, 0x6C29}, //18843 #CJK UNIFIED IDEOGRAPH
+  {0xEBB3, 0x6C24}, //18844 #CJK UNIFIED IDEOGRAPH
+  {0xEBB4, 0x6C2A}, //18845 #CJK UNIFIED IDEOGRAPH
+  {0xEBB5, 0x6C32}, //18846 #CJK UNIFIED IDEOGRAPH
+  {0xEBB6, 0x6535}, //18847 #CJK UNIFIED IDEOGRAPH
+  {0xEBB7, 0x6555}, //18848 #CJK UNIFIED IDEOGRAPH
+  {0xEBB8, 0x656B}, //18849 #CJK UNIFIED IDEOGRAPH
+  {0xEBB9, 0x724D}, //18850 #CJK UNIFIED IDEOGRAPH
+  {0xEBBA, 0x7252}, //18851 #CJK UNIFIED IDEOGRAPH
+  {0xEBBB, 0x7256}, //18852 #CJK UNIFIED IDEOGRAPH
+  {0xEBBC, 0x7230}, //18853 #CJK UNIFIED IDEOGRAPH
+  {0xEBBD, 0x8662}, //18854 #CJK UNIFIED IDEOGRAPH
+  {0xEBBE, 0x5216}, //18855 #CJK UNIFIED IDEOGRAPH
+  {0xEBBF, 0x809F}, //18856 #CJK UNIFIED IDEOGRAPH
+  {0xEBC0, 0x809C}, //18857 #CJK UNIFIED IDEOGRAPH
+  {0xEBC1, 0x8093}, //18858 #CJK UNIFIED IDEOGRAPH
+  {0xEBC2, 0x80BC}, //18859 #CJK UNIFIED IDEOGRAPH
+  {0xEBC3, 0x670A}, //18860 #CJK UNIFIED IDEOGRAPH
+  {0xEBC4, 0x80BD}, //18861 #CJK UNIFIED IDEOGRAPH
+  {0xEBC5, 0x80B1}, //18862 #CJK UNIFIED IDEOGRAPH
+  {0xEBC6, 0x80AB}, //18863 #CJK UNIFIED IDEOGRAPH
+  {0xEBC7, 0x80AD}, //18864 #CJK UNIFIED IDEOGRAPH
+  {0xEBC8, 0x80B4}, //18865 #CJK UNIFIED IDEOGRAPH
+  {0xEBC9, 0x80B7}, //18866 #CJK UNIFIED IDEOGRAPH
+  {0xEBCA, 0x80E7}, //18867 #CJK UNIFIED IDEOGRAPH
+  {0xEBCB, 0x80E8}, //18868 #CJK UNIFIED IDEOGRAPH
+  {0xEBCC, 0x80E9}, //18869 #CJK UNIFIED IDEOGRAPH
+  {0xEBCD, 0x80EA}, //18870 #CJK UNIFIED IDEOGRAPH
+  {0xEBCE, 0x80DB}, //18871 #CJK UNIFIED IDEOGRAPH
+  {0xEBCF, 0x80C2}, //18872 #CJK UNIFIED IDEOGRAPH
+  {0xEBD0, 0x80C4}, //18873 #CJK UNIFIED IDEOGRAPH
+  {0xEBD1, 0x80D9}, //18874 #CJK UNIFIED IDEOGRAPH
+  {0xEBD2, 0x80CD}, //18875 #CJK UNIFIED IDEOGRAPH
+  {0xEBD3, 0x80D7}, //18876 #CJK UNIFIED IDEOGRAPH
+  {0xEBD4, 0x6710}, //18877 #CJK UNIFIED IDEOGRAPH
+  {0xEBD5, 0x80DD}, //18878 #CJK UNIFIED IDEOGRAPH
+  {0xEBD6, 0x80EB}, //18879 #CJK UNIFIED IDEOGRAPH
+  {0xEBD7, 0x80F1}, //18880 #CJK UNIFIED IDEOGRAPH
+  {0xEBD8, 0x80F4}, //18881 #CJK UNIFIED IDEOGRAPH
+  {0xEBD9, 0x80ED}, //18882 #CJK UNIFIED IDEOGRAPH
+  {0xEBDA, 0x810D}, //18883 #CJK UNIFIED IDEOGRAPH
+  {0xEBDB, 0x810E}, //18884 #CJK UNIFIED IDEOGRAPH
+  {0xEBDC, 0x80F2}, //18885 #CJK UNIFIED IDEOGRAPH
+  {0xEBDD, 0x80FC}, //18886 #CJK UNIFIED IDEOGRAPH
+  {0xEBDE, 0x6715}, //18887 #CJK UNIFIED IDEOGRAPH
+  {0xEBDF, 0x8112}, //18888 #CJK UNIFIED IDEOGRAPH
+  {0xEBE0, 0x8C5A}, //18889 #CJK UNIFIED IDEOGRAPH
+  {0xEBE1, 0x8136}, //18890 #CJK UNIFIED IDEOGRAPH
+  {0xEBE2, 0x811E}, //18891 #CJK UNIFIED IDEOGRAPH
+  {0xEBE3, 0x812C}, //18892 #CJK UNIFIED IDEOGRAPH
+  {0xEBE4, 0x8118}, //18893 #CJK UNIFIED IDEOGRAPH
+  {0xEBE5, 0x8132}, //18894 #CJK UNIFIED IDEOGRAPH
+  {0xEBE6, 0x8148}, //18895 #CJK UNIFIED IDEOGRAPH
+  {0xEBE7, 0x814C}, //18896 #CJK UNIFIED IDEOGRAPH
+  {0xEBE8, 0x8153}, //18897 #CJK UNIFIED IDEOGRAPH
+  {0xEBE9, 0x8174}, //18898 #CJK UNIFIED IDEOGRAPH
+  {0xEBEA, 0x8159}, //18899 #CJK UNIFIED IDEOGRAPH
+  {0xEBEB, 0x815A}, //18900 #CJK UNIFIED IDEOGRAPH
+  {0xEBEC, 0x8171}, //18901 #CJK UNIFIED IDEOGRAPH
+  {0xEBED, 0x8160}, //18902 #CJK UNIFIED IDEOGRAPH
+  {0xEBEE, 0x8169}, //18903 #CJK UNIFIED IDEOGRAPH
+  {0xEBEF, 0x817C}, //18904 #CJK UNIFIED IDEOGRAPH
+  {0xEBF0, 0x817D}, //18905 #CJK UNIFIED IDEOGRAPH
+  {0xEBF1, 0x816D}, //18906 #CJK UNIFIED IDEOGRAPH
+  {0xEBF2, 0x8167}, //18907 #CJK UNIFIED IDEOGRAPH
+  {0xEBF3, 0x584D}, //18908 #CJK UNIFIED IDEOGRAPH
+  {0xEBF4, 0x5AB5}, //18909 #CJK UNIFIED IDEOGRAPH
+  {0xEBF5, 0x8188}, //18910 #CJK UNIFIED IDEOGRAPH
+  {0xEBF6, 0x8182}, //18911 #CJK UNIFIED IDEOGRAPH
+  {0xEBF7, 0x8191}, //18912 #CJK UNIFIED IDEOGRAPH
+  {0xEBF8, 0x6ED5}, //18913 #CJK UNIFIED IDEOGRAPH
+  {0xEBF9, 0x81A3}, //18914 #CJK UNIFIED IDEOGRAPH
+  {0xEBFA, 0x81AA}, //18915 #CJK UNIFIED IDEOGRAPH
+  {0xEBFB, 0x81CC}, //18916 #CJK UNIFIED IDEOGRAPH
+  {0xEBFC, 0x6726}, //18917 #CJK UNIFIED IDEOGRAPH
+  {0xEBFD, 0x81CA}, //18918 #CJK UNIFIED IDEOGRAPH
+  {0xEBFE, 0x81BB}, //18919 #CJK UNIFIED IDEOGRAPH
+  {0xEC40, 0x9721}, //18920 #CJK UNIFIED IDEOGRAPH
+  {0xEC41, 0x9722}, //18921 #CJK UNIFIED IDEOGRAPH
+  {0xEC42, 0x9723}, //18922 #CJK UNIFIED IDEOGRAPH
+  {0xEC43, 0x9724}, //18923 #CJK UNIFIED IDEOGRAPH
+  {0xEC44, 0x9725}, //18924 #CJK UNIFIED IDEOGRAPH
+  {0xEC45, 0x9726}, //18925 #CJK UNIFIED IDEOGRAPH
+  {0xEC46, 0x9727}, //18926 #CJK UNIFIED IDEOGRAPH
+  {0xEC47, 0x9728}, //18927 #CJK UNIFIED IDEOGRAPH
+  {0xEC48, 0x9729}, //18928 #CJK UNIFIED IDEOGRAPH
+  {0xEC49, 0x972B}, //18929 #CJK UNIFIED IDEOGRAPH
+  {0xEC4A, 0x972C}, //18930 #CJK UNIFIED IDEOGRAPH
+  {0xEC4B, 0x972E}, //18931 #CJK UNIFIED IDEOGRAPH
+  {0xEC4C, 0x972F}, //18932 #CJK UNIFIED IDEOGRAPH
+  {0xEC4D, 0x9731}, //18933 #CJK UNIFIED IDEOGRAPH
+  {0xEC4E, 0x9733}, //18934 #CJK UNIFIED IDEOGRAPH
+  {0xEC4F, 0x9734}, //18935 #CJK UNIFIED IDEOGRAPH
+  {0xEC50, 0x9735}, //18936 #CJK UNIFIED IDEOGRAPH
+  {0xEC51, 0x9736}, //18937 #CJK UNIFIED IDEOGRAPH
+  {0xEC52, 0x9737}, //18938 #CJK UNIFIED IDEOGRAPH
+  {0xEC53, 0x973A}, //18939 #CJK UNIFIED IDEOGRAPH
+  {0xEC54, 0x973B}, //18940 #CJK UNIFIED IDEOGRAPH
+  {0xEC55, 0x973C}, //18941 #CJK UNIFIED IDEOGRAPH
+  {0xEC56, 0x973D}, //18942 #CJK UNIFIED IDEOGRAPH
+  {0xEC57, 0x973F}, //18943 #CJK UNIFIED IDEOGRAPH
+  {0xEC58, 0x9740}, //18944 #CJK UNIFIED IDEOGRAPH
+  {0xEC59, 0x9741}, //18945 #CJK UNIFIED IDEOGRAPH
+  {0xEC5A, 0x9742}, //18946 #CJK UNIFIED IDEOGRAPH
+  {0xEC5B, 0x9743}, //18947 #CJK UNIFIED IDEOGRAPH
+  {0xEC5C, 0x9744}, //18948 #CJK UNIFIED IDEOGRAPH
+  {0xEC5D, 0x9745}, //18949 #CJK UNIFIED IDEOGRAPH
+  {0xEC5E, 0x9746}, //18950 #CJK UNIFIED IDEOGRAPH
+  {0xEC5F, 0x9747}, //18951 #CJK UNIFIED IDEOGRAPH
+  {0xEC60, 0x9748}, //18952 #CJK UNIFIED IDEOGRAPH
+  {0xEC61, 0x9749}, //18953 #CJK UNIFIED IDEOGRAPH
+  {0xEC62, 0x974A}, //18954 #CJK UNIFIED IDEOGRAPH
+  {0xEC63, 0x974B}, //18955 #CJK UNIFIED IDEOGRAPH
+  {0xEC64, 0x974C}, //18956 #CJK UNIFIED IDEOGRAPH
+  {0xEC65, 0x974D}, //18957 #CJK UNIFIED IDEOGRAPH
+  {0xEC66, 0x974E}, //18958 #CJK UNIFIED IDEOGRAPH
+  {0xEC67, 0x974F}, //18959 #CJK UNIFIED IDEOGRAPH
+  {0xEC68, 0x9750}, //18960 #CJK UNIFIED IDEOGRAPH
+  {0xEC69, 0x9751}, //18961 #CJK UNIFIED IDEOGRAPH
+  {0xEC6A, 0x9754}, //18962 #CJK UNIFIED IDEOGRAPH
+  {0xEC6B, 0x9755}, //18963 #CJK UNIFIED IDEOGRAPH
+  {0xEC6C, 0x9757}, //18964 #CJK UNIFIED IDEOGRAPH
+  {0xEC6D, 0x9758}, //18965 #CJK UNIFIED IDEOGRAPH
+  {0xEC6E, 0x975A}, //18966 #CJK UNIFIED IDEOGRAPH
+  {0xEC6F, 0x975C}, //18967 #CJK UNIFIED IDEOGRAPH
+  {0xEC70, 0x975D}, //18968 #CJK UNIFIED IDEOGRAPH
+  {0xEC71, 0x975F}, //18969 #CJK UNIFIED IDEOGRAPH
+  {0xEC72, 0x9763}, //18970 #CJK UNIFIED IDEOGRAPH
+  {0xEC73, 0x9764}, //18971 #CJK UNIFIED IDEOGRAPH
+  {0xEC74, 0x9766}, //18972 #CJK UNIFIED IDEOGRAPH
+  {0xEC75, 0x9767}, //18973 #CJK UNIFIED IDEOGRAPH
+  {0xEC76, 0x9768}, //18974 #CJK UNIFIED IDEOGRAPH
+  {0xEC77, 0x976A}, //18975 #CJK UNIFIED IDEOGRAPH
+  {0xEC78, 0x976B}, //18976 #CJK UNIFIED IDEOGRAPH
+  {0xEC79, 0x976C}, //18977 #CJK UNIFIED IDEOGRAPH
+  {0xEC7A, 0x976D}, //18978 #CJK UNIFIED IDEOGRAPH
+  {0xEC7B, 0x976E}, //18979 #CJK UNIFIED IDEOGRAPH
+  {0xEC7C, 0x976F}, //18980 #CJK UNIFIED IDEOGRAPH
+  {0xEC7D, 0x9770}, //18981 #CJK UNIFIED IDEOGRAPH
+  {0xEC7E, 0x9771}, //18982 #CJK UNIFIED IDEOGRAPH
+  {0xEC80, 0x9772}, //18983 #CJK UNIFIED IDEOGRAPH
+  {0xEC81, 0x9775}, //18984 #CJK UNIFIED IDEOGRAPH
+  {0xEC82, 0x9777}, //18985 #CJK UNIFIED IDEOGRAPH
+  {0xEC83, 0x9778}, //18986 #CJK UNIFIED IDEOGRAPH
+  {0xEC84, 0x9779}, //18987 #CJK UNIFIED IDEOGRAPH
+  {0xEC85, 0x977A}, //18988 #CJK UNIFIED IDEOGRAPH
+  {0xEC86, 0x977B}, //18989 #CJK UNIFIED IDEOGRAPH
+  {0xEC87, 0x977D}, //18990 #CJK UNIFIED IDEOGRAPH
+  {0xEC88, 0x977E}, //18991 #CJK UNIFIED IDEOGRAPH
+  {0xEC89, 0x977F}, //18992 #CJK UNIFIED IDEOGRAPH
+  {0xEC8A, 0x9780}, //18993 #CJK UNIFIED IDEOGRAPH
+  {0xEC8B, 0x9781}, //18994 #CJK UNIFIED IDEOGRAPH
+  {0xEC8C, 0x9782}, //18995 #CJK UNIFIED IDEOGRAPH
+  {0xEC8D, 0x9783}, //18996 #CJK UNIFIED IDEOGRAPH
+  {0xEC8E, 0x9784}, //18997 #CJK UNIFIED IDEOGRAPH
+  {0xEC8F, 0x9786}, //18998 #CJK UNIFIED IDEOGRAPH
+  {0xEC90, 0x9787}, //18999 #CJK UNIFIED IDEOGRAPH
+  {0xEC91, 0x9788}, //19000 #CJK UNIFIED IDEOGRAPH
+  {0xEC92, 0x9789}, //19001 #CJK UNIFIED IDEOGRAPH
+  {0xEC93, 0x978A}, //19002 #CJK UNIFIED IDEOGRAPH
+  {0xEC94, 0x978C}, //19003 #CJK UNIFIED IDEOGRAPH
+  {0xEC95, 0x978E}, //19004 #CJK UNIFIED IDEOGRAPH
+  {0xEC96, 0x978F}, //19005 #CJK UNIFIED IDEOGRAPH
+  {0xEC97, 0x9790}, //19006 #CJK UNIFIED IDEOGRAPH
+  {0xEC98, 0x9793}, //19007 #CJK UNIFIED IDEOGRAPH
+  {0xEC99, 0x9795}, //19008 #CJK UNIFIED IDEOGRAPH
+  {0xEC9A, 0x9796}, //19009 #CJK UNIFIED IDEOGRAPH
+  {0xEC9B, 0x9797}, //19010 #CJK UNIFIED IDEOGRAPH
+  {0xEC9C, 0x9799}, //19011 #CJK UNIFIED IDEOGRAPH
+  {0xEC9D, 0x979A}, //19012 #CJK UNIFIED IDEOGRAPH
+  {0xEC9E, 0x979B}, //19013 #CJK UNIFIED IDEOGRAPH
+  {0xEC9F, 0x979C}, //19014 #CJK UNIFIED IDEOGRAPH
+  {0xECA0, 0x979D}, //19015 #CJK UNIFIED IDEOGRAPH
+  {0xECA1, 0x81C1}, //19016 #CJK UNIFIED IDEOGRAPH
+  {0xECA2, 0x81A6}, //19017 #CJK UNIFIED IDEOGRAPH
+  {0xECA3, 0x6B24}, //19018 #CJK UNIFIED IDEOGRAPH
+  {0xECA4, 0x6B37}, //19019 #CJK UNIFIED IDEOGRAPH
+  {0xECA5, 0x6B39}, //19020 #CJK UNIFIED IDEOGRAPH
+  {0xECA6, 0x6B43}, //19021 #CJK UNIFIED IDEOGRAPH
+  {0xECA7, 0x6B46}, //19022 #CJK UNIFIED IDEOGRAPH
+  {0xECA8, 0x6B59}, //19023 #CJK UNIFIED IDEOGRAPH
+  {0xECA9, 0x98D1}, //19024 #CJK UNIFIED IDEOGRAPH
+  {0xECAA, 0x98D2}, //19025 #CJK UNIFIED IDEOGRAPH
+  {0xECAB, 0x98D3}, //19026 #CJK UNIFIED IDEOGRAPH
+  {0xECAC, 0x98D5}, //19027 #CJK UNIFIED IDEOGRAPH
+  {0xECAD, 0x98D9}, //19028 #CJK UNIFIED IDEOGRAPH
+  {0xECAE, 0x98DA}, //19029 #CJK UNIFIED IDEOGRAPH
+  {0xECAF, 0x6BB3}, //19030 #CJK UNIFIED IDEOGRAPH
+  {0xECB0, 0x5F40}, //19031 #CJK UNIFIED IDEOGRAPH
+  {0xECB1, 0x6BC2}, //19032 #CJK UNIFIED IDEOGRAPH
+  {0xECB2, 0x89F3}, //19033 #CJK UNIFIED IDEOGRAPH
+  {0xECB3, 0x6590}, //19034 #CJK UNIFIED IDEOGRAPH
+  {0xECB4, 0x9F51}, //19035 #CJK UNIFIED IDEOGRAPH
+  {0xECB5, 0x6593}, //19036 #CJK UNIFIED IDEOGRAPH
+  {0xECB6, 0x65BC}, //19037 #CJK UNIFIED IDEOGRAPH
+  {0xECB7, 0x65C6}, //19038 #CJK UNIFIED IDEOGRAPH
+  {0xECB8, 0x65C4}, //19039 #CJK UNIFIED IDEOGRAPH
+  {0xECB9, 0x65C3}, //19040 #CJK UNIFIED IDEOGRAPH
+  {0xECBA, 0x65CC}, //19041 #CJK UNIFIED IDEOGRAPH
+  {0xECBB, 0x65CE}, //19042 #CJK UNIFIED IDEOGRAPH
+  {0xECBC, 0x65D2}, //19043 #CJK UNIFIED IDEOGRAPH
+  {0xECBD, 0x65D6}, //19044 #CJK UNIFIED IDEOGRAPH
+  {0xECBE, 0x7080}, //19045 #CJK UNIFIED IDEOGRAPH
+  {0xECBF, 0x709C}, //19046 #CJK UNIFIED IDEOGRAPH
+  {0xECC0, 0x7096}, //19047 #CJK UNIFIED IDEOGRAPH
+  {0xECC1, 0x709D}, //19048 #CJK UNIFIED IDEOGRAPH
+  {0xECC2, 0x70BB}, //19049 #CJK UNIFIED IDEOGRAPH
+  {0xECC3, 0x70C0}, //19050 #CJK UNIFIED IDEOGRAPH
+  {0xECC4, 0x70B7}, //19051 #CJK UNIFIED IDEOGRAPH
+  {0xECC5, 0x70AB}, //19052 #CJK UNIFIED IDEOGRAPH
+  {0xECC6, 0x70B1}, //19053 #CJK UNIFIED IDEOGRAPH
+  {0xECC7, 0x70E8}, //19054 #CJK UNIFIED IDEOGRAPH
+  {0xECC8, 0x70CA}, //19055 #CJK UNIFIED IDEOGRAPH
+  {0xECC9, 0x7110}, //19056 #CJK UNIFIED IDEOGRAPH
+  {0xECCA, 0x7113}, //19057 #CJK UNIFIED IDEOGRAPH
+  {0xECCB, 0x7116}, //19058 #CJK UNIFIED IDEOGRAPH
+  {0xECCC, 0x712F}, //19059 #CJK UNIFIED IDEOGRAPH
+  {0xECCD, 0x7131}, //19060 #CJK UNIFIED IDEOGRAPH
+  {0xECCE, 0x7173}, //19061 #CJK UNIFIED IDEOGRAPH
+  {0xECCF, 0x715C}, //19062 #CJK UNIFIED IDEOGRAPH
+  {0xECD0, 0x7168}, //19063 #CJK UNIFIED IDEOGRAPH
+  {0xECD1, 0x7145}, //19064 #CJK UNIFIED IDEOGRAPH
+  {0xECD2, 0x7172}, //19065 #CJK UNIFIED IDEOGRAPH
+  {0xECD3, 0x714A}, //19066 #CJK UNIFIED IDEOGRAPH
+  {0xECD4, 0x7178}, //19067 #CJK UNIFIED IDEOGRAPH
+  {0xECD5, 0x717A}, //19068 #CJK UNIFIED IDEOGRAPH
+  {0xECD6, 0x7198}, //19069 #CJK UNIFIED IDEOGRAPH
+  {0xECD7, 0x71B3}, //19070 #CJK UNIFIED IDEOGRAPH
+  {0xECD8, 0x71B5}, //19071 #CJK UNIFIED IDEOGRAPH
+  {0xECD9, 0x71A8}, //19072 #CJK UNIFIED IDEOGRAPH
+  {0xECDA, 0x71A0}, //19073 #CJK UNIFIED IDEOGRAPH
+  {0xECDB, 0x71E0}, //19074 #CJK UNIFIED IDEOGRAPH
+  {0xECDC, 0x71D4}, //19075 #CJK UNIFIED IDEOGRAPH
+  {0xECDD, 0x71E7}, //19076 #CJK UNIFIED IDEOGRAPH
+  {0xECDE, 0x71F9}, //19077 #CJK UNIFIED IDEOGRAPH
+  {0xECDF, 0x721D}, //19078 #CJK UNIFIED IDEOGRAPH
+  {0xECE0, 0x7228}, //19079 #CJK UNIFIED IDEOGRAPH
+  {0xECE1, 0x706C}, //19080 #CJK UNIFIED IDEOGRAPH
+  {0xECE2, 0x7118}, //19081 #CJK UNIFIED IDEOGRAPH
+  {0xECE3, 0x7166}, //19082 #CJK UNIFIED IDEOGRAPH
+  {0xECE4, 0x71B9}, //19083 #CJK UNIFIED IDEOGRAPH
+  {0xECE5, 0x623E}, //19084 #CJK UNIFIED IDEOGRAPH
+  {0xECE6, 0x623D}, //19085 #CJK UNIFIED IDEOGRAPH
+  {0xECE7, 0x6243}, //19086 #CJK UNIFIED IDEOGRAPH
+  {0xECE8, 0x6248}, //19087 #CJK UNIFIED IDEOGRAPH
+  {0xECE9, 0x6249}, //19088 #CJK UNIFIED IDEOGRAPH
+  {0xECEA, 0x793B}, //19089 #CJK UNIFIED IDEOGRAPH
+  {0xECEB, 0x7940}, //19090 #CJK UNIFIED IDEOGRAPH
+  {0xECEC, 0x7946}, //19091 #CJK UNIFIED IDEOGRAPH
+  {0xECED, 0x7949}, //19092 #CJK UNIFIED IDEOGRAPH
+  {0xECEE, 0x795B}, //19093 #CJK UNIFIED IDEOGRAPH
+  {0xECEF, 0x795C}, //19094 #CJK UNIFIED IDEOGRAPH
+  {0xECF0, 0x7953}, //19095 #CJK UNIFIED IDEOGRAPH
+  {0xECF1, 0x795A}, //19096 #CJK UNIFIED IDEOGRAPH
+  {0xECF2, 0x7962}, //19097 #CJK UNIFIED IDEOGRAPH
+  {0xECF3, 0x7957}, //19098 #CJK UNIFIED IDEOGRAPH
+  {0xECF4, 0x7960}, //19099 #CJK UNIFIED IDEOGRAPH
+  {0xECF5, 0x796F}, //19100 #CJK UNIFIED IDEOGRAPH
+  {0xECF6, 0x7967}, //19101 #CJK UNIFIED IDEOGRAPH
+  {0xECF7, 0x797A}, //19102 #CJK UNIFIED IDEOGRAPH
+  {0xECF8, 0x7985}, //19103 #CJK UNIFIED IDEOGRAPH
+  {0xECF9, 0x798A}, //19104 #CJK UNIFIED IDEOGRAPH
+  {0xECFA, 0x799A}, //19105 #CJK UNIFIED IDEOGRAPH
+  {0xECFB, 0x79A7}, //19106 #CJK UNIFIED IDEOGRAPH
+  {0xECFC, 0x79B3}, //19107 #CJK UNIFIED IDEOGRAPH
+  {0xECFD, 0x5FD1}, //19108 #CJK UNIFIED IDEOGRAPH
+  {0xECFE, 0x5FD0}, //19109 #CJK UNIFIED IDEOGRAPH
+  {0xED40, 0x979E}, //19110 #CJK UNIFIED IDEOGRAPH
+  {0xED41, 0x979F}, //19111 #CJK UNIFIED IDEOGRAPH
+  {0xED42, 0x97A1}, //19112 #CJK UNIFIED IDEOGRAPH
+  {0xED43, 0x97A2}, //19113 #CJK UNIFIED IDEOGRAPH
+  {0xED44, 0x97A4}, //19114 #CJK UNIFIED IDEOGRAPH
+  {0xED45, 0x97A5}, //19115 #CJK UNIFIED IDEOGRAPH
+  {0xED46, 0x97A6}, //19116 #CJK UNIFIED IDEOGRAPH
+  {0xED47, 0x97A7}, //19117 #CJK UNIFIED IDEOGRAPH
+  {0xED48, 0x97A8}, //19118 #CJK UNIFIED IDEOGRAPH
+  {0xED49, 0x97A9}, //19119 #CJK UNIFIED IDEOGRAPH
+  {0xED4A, 0x97AA}, //19120 #CJK UNIFIED IDEOGRAPH
+  {0xED4B, 0x97AC}, //19121 #CJK UNIFIED IDEOGRAPH
+  {0xED4C, 0x97AE}, //19122 #CJK UNIFIED IDEOGRAPH
+  {0xED4D, 0x97B0}, //19123 #CJK UNIFIED IDEOGRAPH
+  {0xED4E, 0x97B1}, //19124 #CJK UNIFIED IDEOGRAPH
+  {0xED4F, 0x97B3}, //19125 #CJK UNIFIED IDEOGRAPH
+  {0xED50, 0x97B5}, //19126 #CJK UNIFIED IDEOGRAPH
+  {0xED51, 0x97B6}, //19127 #CJK UNIFIED IDEOGRAPH
+  {0xED52, 0x97B7}, //19128 #CJK UNIFIED IDEOGRAPH
+  {0xED53, 0x97B8}, //19129 #CJK UNIFIED IDEOGRAPH
+  {0xED54, 0x97B9}, //19130 #CJK UNIFIED IDEOGRAPH
+  {0xED55, 0x97BA}, //19131 #CJK UNIFIED IDEOGRAPH
+  {0xED56, 0x97BB}, //19132 #CJK UNIFIED IDEOGRAPH
+  {0xED57, 0x97BC}, //19133 #CJK UNIFIED IDEOGRAPH
+  {0xED58, 0x97BD}, //19134 #CJK UNIFIED IDEOGRAPH
+  {0xED59, 0x97BE}, //19135 #CJK UNIFIED IDEOGRAPH
+  {0xED5A, 0x97BF}, //19136 #CJK UNIFIED IDEOGRAPH
+  {0xED5B, 0x97C0}, //19137 #CJK UNIFIED IDEOGRAPH
+  {0xED5C, 0x97C1}, //19138 #CJK UNIFIED IDEOGRAPH
+  {0xED5D, 0x97C2}, //19139 #CJK UNIFIED IDEOGRAPH
+  {0xED5E, 0x97C3}, //19140 #CJK UNIFIED IDEOGRAPH
+  {0xED5F, 0x97C4}, //19141 #CJK UNIFIED IDEOGRAPH
+  {0xED60, 0x97C5}, //19142 #CJK UNIFIED IDEOGRAPH
+  {0xED61, 0x97C6}, //19143 #CJK UNIFIED IDEOGRAPH
+  {0xED62, 0x97C7}, //19144 #CJK UNIFIED IDEOGRAPH
+  {0xED63, 0x97C8}, //19145 #CJK UNIFIED IDEOGRAPH
+  {0xED64, 0x97C9}, //19146 #CJK UNIFIED IDEOGRAPH
+  {0xED65, 0x97CA}, //19147 #CJK UNIFIED IDEOGRAPH
+  {0xED66, 0x97CB}, //19148 #CJK UNIFIED IDEOGRAPH
+  {0xED67, 0x97CC}, //19149 #CJK UNIFIED IDEOGRAPH
+  {0xED68, 0x97CD}, //19150 #CJK UNIFIED IDEOGRAPH
+  {0xED69, 0x97CE}, //19151 #CJK UNIFIED IDEOGRAPH
+  {0xED6A, 0x97CF}, //19152 #CJK UNIFIED IDEOGRAPH
+  {0xED6B, 0x97D0}, //19153 #CJK UNIFIED IDEOGRAPH
+  {0xED6C, 0x97D1}, //19154 #CJK UNIFIED IDEOGRAPH
+  {0xED6D, 0x97D2}, //19155 #CJK UNIFIED IDEOGRAPH
+  {0xED6E, 0x97D3}, //19156 #CJK UNIFIED IDEOGRAPH
+  {0xED6F, 0x97D4}, //19157 #CJK UNIFIED IDEOGRAPH
+  {0xED70, 0x97D5}, //19158 #CJK UNIFIED IDEOGRAPH
+  {0xED71, 0x97D6}, //19159 #CJK UNIFIED IDEOGRAPH
+  {0xED72, 0x97D7}, //19160 #CJK UNIFIED IDEOGRAPH
+  {0xED73, 0x97D8}, //19161 #CJK UNIFIED IDEOGRAPH
+  {0xED74, 0x97D9}, //19162 #CJK UNIFIED IDEOGRAPH
+  {0xED75, 0x97DA}, //19163 #CJK UNIFIED IDEOGRAPH
+  {0xED76, 0x97DB}, //19164 #CJK UNIFIED IDEOGRAPH
+  {0xED77, 0x97DC}, //19165 #CJK UNIFIED IDEOGRAPH
+  {0xED78, 0x97DD}, //19166 #CJK UNIFIED IDEOGRAPH
+  {0xED79, 0x97DE}, //19167 #CJK UNIFIED IDEOGRAPH
+  {0xED7A, 0x97DF}, //19168 #CJK UNIFIED IDEOGRAPH
+  {0xED7B, 0x97E0}, //19169 #CJK UNIFIED IDEOGRAPH
+  {0xED7C, 0x97E1}, //19170 #CJK UNIFIED IDEOGRAPH
+  {0xED7D, 0x97E2}, //19171 #CJK UNIFIED IDEOGRAPH
+  {0xED7E, 0x97E3}, //19172 #CJK UNIFIED IDEOGRAPH
+  {0xED80, 0x97E4}, //19173 #CJK UNIFIED IDEOGRAPH
+  {0xED81, 0x97E5}, //19174 #CJK UNIFIED IDEOGRAPH
+  {0xED82, 0x97E8}, //19175 #CJK UNIFIED IDEOGRAPH
+  {0xED83, 0x97EE}, //19176 #CJK UNIFIED IDEOGRAPH
+  {0xED84, 0x97EF}, //19177 #CJK UNIFIED IDEOGRAPH
+  {0xED85, 0x97F0}, //19178 #CJK UNIFIED IDEOGRAPH
+  {0xED86, 0x97F1}, //19179 #CJK UNIFIED IDEOGRAPH
+  {0xED87, 0x97F2}, //19180 #CJK UNIFIED IDEOGRAPH
+  {0xED88, 0x97F4}, //19181 #CJK UNIFIED IDEOGRAPH
+  {0xED89, 0x97F7}, //19182 #CJK UNIFIED IDEOGRAPH
+  {0xED8A, 0x97F8}, //19183 #CJK UNIFIED IDEOGRAPH
+  {0xED8B, 0x97F9}, //19184 #CJK UNIFIED IDEOGRAPH
+  {0xED8C, 0x97FA}, //19185 #CJK UNIFIED IDEOGRAPH
+  {0xED8D, 0x97FB}, //19186 #CJK UNIFIED IDEOGRAPH
+  {0xED8E, 0x97FC}, //19187 #CJK UNIFIED IDEOGRAPH
+  {0xED8F, 0x97FD}, //19188 #CJK UNIFIED IDEOGRAPH
+  {0xED90, 0x97FE}, //19189 #CJK UNIFIED IDEOGRAPH
+  {0xED91, 0x97FF}, //19190 #CJK UNIFIED IDEOGRAPH
+  {0xED92, 0x9800}, //19191 #CJK UNIFIED IDEOGRAPH
+  {0xED93, 0x9801}, //19192 #CJK UNIFIED IDEOGRAPH
+  {0xED94, 0x9802}, //19193 #CJK UNIFIED IDEOGRAPH
+  {0xED95, 0x9803}, //19194 #CJK UNIFIED IDEOGRAPH
+  {0xED96, 0x9804}, //19195 #CJK UNIFIED IDEOGRAPH
+  {0xED97, 0x9805}, //19196 #CJK UNIFIED IDEOGRAPH
+  {0xED98, 0x9806}, //19197 #CJK UNIFIED IDEOGRAPH
+  {0xED99, 0x9807}, //19198 #CJK UNIFIED IDEOGRAPH
+  {0xED9A, 0x9808}, //19199 #CJK UNIFIED IDEOGRAPH
+  {0xED9B, 0x9809}, //19200 #CJK UNIFIED IDEOGRAPH
+  {0xED9C, 0x980A}, //19201 #CJK UNIFIED IDEOGRAPH
+  {0xED9D, 0x980B}, //19202 #CJK UNIFIED IDEOGRAPH
+  {0xED9E, 0x980C}, //19203 #CJK UNIFIED IDEOGRAPH
+  {0xED9F, 0x980D}, //19204 #CJK UNIFIED IDEOGRAPH
+  {0xEDA0, 0x980E}, //19205 #CJK UNIFIED IDEOGRAPH
+  {0xEDA1, 0x603C}, //19206 #CJK UNIFIED IDEOGRAPH
+  {0xEDA2, 0x605D}, //19207 #CJK UNIFIED IDEOGRAPH
+  {0xEDA3, 0x605A}, //19208 #CJK UNIFIED IDEOGRAPH
+  {0xEDA4, 0x6067}, //19209 #CJK UNIFIED IDEOGRAPH
+  {0xEDA5, 0x6041}, //19210 #CJK UNIFIED IDEOGRAPH
+  {0xEDA6, 0x6059}, //19211 #CJK UNIFIED IDEOGRAPH
+  {0xEDA7, 0x6063}, //19212 #CJK UNIFIED IDEOGRAPH
+  {0xEDA8, 0x60AB}, //19213 #CJK UNIFIED IDEOGRAPH
+  {0xEDA9, 0x6106}, //19214 #CJK UNIFIED IDEOGRAPH
+  {0xEDAA, 0x610D}, //19215 #CJK UNIFIED IDEOGRAPH
+  {0xEDAB, 0x615D}, //19216 #CJK UNIFIED IDEOGRAPH
+  {0xEDAC, 0x61A9}, //19217 #CJK UNIFIED IDEOGRAPH
+  {0xEDAD, 0x619D}, //19218 #CJK UNIFIED IDEOGRAPH
+  {0xEDAE, 0x61CB}, //19219 #CJK UNIFIED IDEOGRAPH
+  {0xEDAF, 0x61D1}, //19220 #CJK UNIFIED IDEOGRAPH
+  {0xEDB0, 0x6206}, //19221 #CJK UNIFIED IDEOGRAPH
+  {0xEDB1, 0x8080}, //19222 #CJK UNIFIED IDEOGRAPH
+  {0xEDB2, 0x807F}, //19223 #CJK UNIFIED IDEOGRAPH
+  {0xEDB3, 0x6C93}, //19224 #CJK UNIFIED IDEOGRAPH
+  {0xEDB4, 0x6CF6}, //19225 #CJK UNIFIED IDEOGRAPH
+  {0xEDB5, 0x6DFC}, //19226 #CJK UNIFIED IDEOGRAPH
+  {0xEDB6, 0x77F6}, //19227 #CJK UNIFIED IDEOGRAPH
+  {0xEDB7, 0x77F8}, //19228 #CJK UNIFIED IDEOGRAPH
+  {0xEDB8, 0x7800}, //19229 #CJK UNIFIED IDEOGRAPH
+  {0xEDB9, 0x7809}, //19230 #CJK UNIFIED IDEOGRAPH
+  {0xEDBA, 0x7817}, //19231 #CJK UNIFIED IDEOGRAPH
+  {0xEDBB, 0x7818}, //19232 #CJK UNIFIED IDEOGRAPH
+  {0xEDBC, 0x7811}, //19233 #CJK UNIFIED IDEOGRAPH
+  {0xEDBD, 0x65AB}, //19234 #CJK UNIFIED IDEOGRAPH
+  {0xEDBE, 0x782D}, //19235 #CJK UNIFIED IDEOGRAPH
+  {0xEDBF, 0x781C}, //19236 #CJK UNIFIED IDEOGRAPH
+  {0xEDC0, 0x781D}, //19237 #CJK UNIFIED IDEOGRAPH
+  {0xEDC1, 0x7839}, //19238 #CJK UNIFIED IDEOGRAPH
+  {0xEDC2, 0x783A}, //19239 #CJK UNIFIED IDEOGRAPH
+  {0xEDC3, 0x783B}, //19240 #CJK UNIFIED IDEOGRAPH
+  {0xEDC4, 0x781F}, //19241 #CJK UNIFIED IDEOGRAPH
+  {0xEDC5, 0x783C}, //19242 #CJK UNIFIED IDEOGRAPH
+  {0xEDC6, 0x7825}, //19243 #CJK UNIFIED IDEOGRAPH
+  {0xEDC7, 0x782C}, //19244 #CJK UNIFIED IDEOGRAPH
+  {0xEDC8, 0x7823}, //19245 #CJK UNIFIED IDEOGRAPH
+  {0xEDC9, 0x7829}, //19246 #CJK UNIFIED IDEOGRAPH
+  {0xEDCA, 0x784E}, //19247 #CJK UNIFIED IDEOGRAPH
+  {0xEDCB, 0x786D}, //19248 #CJK UNIFIED IDEOGRAPH
+  {0xEDCC, 0x7856}, //19249 #CJK UNIFIED IDEOGRAPH
+  {0xEDCD, 0x7857}, //19250 #CJK UNIFIED IDEOGRAPH
+  {0xEDCE, 0x7826}, //19251 #CJK UNIFIED IDEOGRAPH
+  {0xEDCF, 0x7850}, //19252 #CJK UNIFIED IDEOGRAPH
+  {0xEDD0, 0x7847}, //19253 #CJK UNIFIED IDEOGRAPH
+  {0xEDD1, 0x784C}, //19254 #CJK UNIFIED IDEOGRAPH
+  {0xEDD2, 0x786A}, //19255 #CJK UNIFIED IDEOGRAPH
+  {0xEDD3, 0x789B}, //19256 #CJK UNIFIED IDEOGRAPH
+  {0xEDD4, 0x7893}, //19257 #CJK UNIFIED IDEOGRAPH
+  {0xEDD5, 0x789A}, //19258 #CJK UNIFIED IDEOGRAPH
+  {0xEDD6, 0x7887}, //19259 #CJK UNIFIED IDEOGRAPH
+  {0xEDD7, 0x789C}, //19260 #CJK UNIFIED IDEOGRAPH
+  {0xEDD8, 0x78A1}, //19261 #CJK UNIFIED IDEOGRAPH
+  {0xEDD9, 0x78A3}, //19262 #CJK UNIFIED IDEOGRAPH
+  {0xEDDA, 0x78B2}, //19263 #CJK UNIFIED IDEOGRAPH
+  {0xEDDB, 0x78B9}, //19264 #CJK UNIFIED IDEOGRAPH
+  {0xEDDC, 0x78A5}, //19265 #CJK UNIFIED IDEOGRAPH
+  {0xEDDD, 0x78D4}, //19266 #CJK UNIFIED IDEOGRAPH
+  {0xEDDE, 0x78D9}, //19267 #CJK UNIFIED IDEOGRAPH
+  {0xEDDF, 0x78C9}, //19268 #CJK UNIFIED IDEOGRAPH
+  {0xEDE0, 0x78EC}, //19269 #CJK UNIFIED IDEOGRAPH
+  {0xEDE1, 0x78F2}, //19270 #CJK UNIFIED IDEOGRAPH
+  {0xEDE2, 0x7905}, //19271 #CJK UNIFIED IDEOGRAPH
+  {0xEDE3, 0x78F4}, //19272 #CJK UNIFIED IDEOGRAPH
+  {0xEDE4, 0x7913}, //19273 #CJK UNIFIED IDEOGRAPH
+  {0xEDE5, 0x7924}, //19274 #CJK UNIFIED IDEOGRAPH
+  {0xEDE6, 0x791E}, //19275 #CJK UNIFIED IDEOGRAPH
+  {0xEDE7, 0x7934}, //19276 #CJK UNIFIED IDEOGRAPH
+  {0xEDE8, 0x9F9B}, //19277 #CJK UNIFIED IDEOGRAPH
+  {0xEDE9, 0x9EF9}, //19278 #CJK UNIFIED IDEOGRAPH
+  {0xEDEA, 0x9EFB}, //19279 #CJK UNIFIED IDEOGRAPH
+  {0xEDEB, 0x9EFC}, //19280 #CJK UNIFIED IDEOGRAPH
+  {0xEDEC, 0x76F1}, //19281 #CJK UNIFIED IDEOGRAPH
+  {0xEDED, 0x7704}, //19282 #CJK UNIFIED IDEOGRAPH
+  {0xEDEE, 0x770D}, //19283 #CJK UNIFIED IDEOGRAPH
+  {0xEDEF, 0x76F9}, //19284 #CJK UNIFIED IDEOGRAPH
+  {0xEDF0, 0x7707}, //19285 #CJK UNIFIED IDEOGRAPH
+  {0xEDF1, 0x7708}, //19286 #CJK UNIFIED IDEOGRAPH
+  {0xEDF2, 0x771A}, //19287 #CJK UNIFIED IDEOGRAPH
+  {0xEDF3, 0x7722}, //19288 #CJK UNIFIED IDEOGRAPH
+  {0xEDF4, 0x7719}, //19289 #CJK UNIFIED IDEOGRAPH
+  {0xEDF5, 0x772D}, //19290 #CJK UNIFIED IDEOGRAPH
+  {0xEDF6, 0x7726}, //19291 #CJK UNIFIED IDEOGRAPH
+  {0xEDF7, 0x7735}, //19292 #CJK UNIFIED IDEOGRAPH
+  {0xEDF8, 0x7738}, //19293 #CJK UNIFIED IDEOGRAPH
+  {0xEDF9, 0x7750}, //19294 #CJK UNIFIED IDEOGRAPH
+  {0xEDFA, 0x7751}, //19295 #CJK UNIFIED IDEOGRAPH
+  {0xEDFB, 0x7747}, //19296 #CJK UNIFIED IDEOGRAPH
+  {0xEDFC, 0x7743}, //19297 #CJK UNIFIED IDEOGRAPH
+  {0xEDFD, 0x775A}, //19298 #CJK UNIFIED IDEOGRAPH
+  {0xEDFE, 0x7768}, //19299 #CJK UNIFIED IDEOGRAPH
+  {0xEE40, 0x980F}, //19300 #CJK UNIFIED IDEOGRAPH
+  {0xEE41, 0x9810}, //19301 #CJK UNIFIED IDEOGRAPH
+  {0xEE42, 0x9811}, //19302 #CJK UNIFIED IDEOGRAPH
+  {0xEE43, 0x9812}, //19303 #CJK UNIFIED IDEOGRAPH
+  {0xEE44, 0x9813}, //19304 #CJK UNIFIED IDEOGRAPH
+  {0xEE45, 0x9814}, //19305 #CJK UNIFIED IDEOGRAPH
+  {0xEE46, 0x9815}, //19306 #CJK UNIFIED IDEOGRAPH
+  {0xEE47, 0x9816}, //19307 #CJK UNIFIED IDEOGRAPH
+  {0xEE48, 0x9817}, //19308 #CJK UNIFIED IDEOGRAPH
+  {0xEE49, 0x9818}, //19309 #CJK UNIFIED IDEOGRAPH
+  {0xEE4A, 0x9819}, //19310 #CJK UNIFIED IDEOGRAPH
+  {0xEE4B, 0x981A}, //19311 #CJK UNIFIED IDEOGRAPH
+  {0xEE4C, 0x981B}, //19312 #CJK UNIFIED IDEOGRAPH
+  {0xEE4D, 0x981C}, //19313 #CJK UNIFIED IDEOGRAPH
+  {0xEE4E, 0x981D}, //19314 #CJK UNIFIED IDEOGRAPH
+  {0xEE4F, 0x981E}, //19315 #CJK UNIFIED IDEOGRAPH
+  {0xEE50, 0x981F}, //19316 #CJK UNIFIED IDEOGRAPH
+  {0xEE51, 0x9820}, //19317 #CJK UNIFIED IDEOGRAPH
+  {0xEE52, 0x9821}, //19318 #CJK UNIFIED IDEOGRAPH
+  {0xEE53, 0x9822}, //19319 #CJK UNIFIED IDEOGRAPH
+  {0xEE54, 0x9823}, //19320 #CJK UNIFIED IDEOGRAPH
+  {0xEE55, 0x9824}, //19321 #CJK UNIFIED IDEOGRAPH
+  {0xEE56, 0x9825}, //19322 #CJK UNIFIED IDEOGRAPH
+  {0xEE57, 0x9826}, //19323 #CJK UNIFIED IDEOGRAPH
+  {0xEE58, 0x9827}, //19324 #CJK UNIFIED IDEOGRAPH
+  {0xEE59, 0x9828}, //19325 #CJK UNIFIED IDEOGRAPH
+  {0xEE5A, 0x9829}, //19326 #CJK UNIFIED IDEOGRAPH
+  {0xEE5B, 0x982A}, //19327 #CJK UNIFIED IDEOGRAPH
+  {0xEE5C, 0x982B}, //19328 #CJK UNIFIED IDEOGRAPH
+  {0xEE5D, 0x982C}, //19329 #CJK UNIFIED IDEOGRAPH
+  {0xEE5E, 0x982D}, //19330 #CJK UNIFIED IDEOGRAPH
+  {0xEE5F, 0x982E}, //19331 #CJK UNIFIED IDEOGRAPH
+  {0xEE60, 0x982F}, //19332 #CJK UNIFIED IDEOGRAPH
+  {0xEE61, 0x9830}, //19333 #CJK UNIFIED IDEOGRAPH
+  {0xEE62, 0x9831}, //19334 #CJK UNIFIED IDEOGRAPH
+  {0xEE63, 0x9832}, //19335 #CJK UNIFIED IDEOGRAPH
+  {0xEE64, 0x9833}, //19336 #CJK UNIFIED IDEOGRAPH
+  {0xEE65, 0x9834}, //19337 #CJK UNIFIED IDEOGRAPH
+  {0xEE66, 0x9835}, //19338 #CJK UNIFIED IDEOGRAPH
+  {0xEE67, 0x9836}, //19339 #CJK UNIFIED IDEOGRAPH
+  {0xEE68, 0x9837}, //19340 #CJK UNIFIED IDEOGRAPH
+  {0xEE69, 0x9838}, //19341 #CJK UNIFIED IDEOGRAPH
+  {0xEE6A, 0x9839}, //19342 #CJK UNIFIED IDEOGRAPH
+  {0xEE6B, 0x983A}, //19343 #CJK UNIFIED IDEOGRAPH
+  {0xEE6C, 0x983B}, //19344 #CJK UNIFIED IDEOGRAPH
+  {0xEE6D, 0x983C}, //19345 #CJK UNIFIED IDEOGRAPH
+  {0xEE6E, 0x983D}, //19346 #CJK UNIFIED IDEOGRAPH
+  {0xEE6F, 0x983E}, //19347 #CJK UNIFIED IDEOGRAPH
+  {0xEE70, 0x983F}, //19348 #CJK UNIFIED IDEOGRAPH
+  {0xEE71, 0x9840}, //19349 #CJK UNIFIED IDEOGRAPH
+  {0xEE72, 0x9841}, //19350 #CJK UNIFIED IDEOGRAPH
+  {0xEE73, 0x9842}, //19351 #CJK UNIFIED IDEOGRAPH
+  {0xEE74, 0x9843}, //19352 #CJK UNIFIED IDEOGRAPH
+  {0xEE75, 0x9844}, //19353 #CJK UNIFIED IDEOGRAPH
+  {0xEE76, 0x9845}, //19354 #CJK UNIFIED IDEOGRAPH
+  {0xEE77, 0x9846}, //19355 #CJK UNIFIED IDEOGRAPH
+  {0xEE78, 0x9847}, //19356 #CJK UNIFIED IDEOGRAPH
+  {0xEE79, 0x9848}, //19357 #CJK UNIFIED IDEOGRAPH
+  {0xEE7A, 0x9849}, //19358 #CJK UNIFIED IDEOGRAPH
+  {0xEE7B, 0x984A}, //19359 #CJK UNIFIED IDEOGRAPH
+  {0xEE7C, 0x984B}, //19360 #CJK UNIFIED IDEOGRAPH
+  {0xEE7D, 0x984C}, //19361 #CJK UNIFIED IDEOGRAPH
+  {0xEE7E, 0x984D}, //19362 #CJK UNIFIED IDEOGRAPH
+  {0xEE80, 0x984E}, //19363 #CJK UNIFIED IDEOGRAPH
+  {0xEE81, 0x984F}, //19364 #CJK UNIFIED IDEOGRAPH
+  {0xEE82, 0x9850}, //19365 #CJK UNIFIED IDEOGRAPH
+  {0xEE83, 0x9851}, //19366 #CJK UNIFIED IDEOGRAPH
+  {0xEE84, 0x9852}, //19367 #CJK UNIFIED IDEOGRAPH
+  {0xEE85, 0x9853}, //19368 #CJK UNIFIED IDEOGRAPH
+  {0xEE86, 0x9854}, //19369 #CJK UNIFIED IDEOGRAPH
+  {0xEE87, 0x9855}, //19370 #CJK UNIFIED IDEOGRAPH
+  {0xEE88, 0x9856}, //19371 #CJK UNIFIED IDEOGRAPH
+  {0xEE89, 0x9857}, //19372 #CJK UNIFIED IDEOGRAPH
+  {0xEE8A, 0x9858}, //19373 #CJK UNIFIED IDEOGRAPH
+  {0xEE8B, 0x9859}, //19374 #CJK UNIFIED IDEOGRAPH
+  {0xEE8C, 0x985A}, //19375 #CJK UNIFIED IDEOGRAPH
+  {0xEE8D, 0x985B}, //19376 #CJK UNIFIED IDEOGRAPH
+  {0xEE8E, 0x985C}, //19377 #CJK UNIFIED IDEOGRAPH
+  {0xEE8F, 0x985D}, //19378 #CJK UNIFIED IDEOGRAPH
+  {0xEE90, 0x985E}, //19379 #CJK UNIFIED IDEOGRAPH
+  {0xEE91, 0x985F}, //19380 #CJK UNIFIED IDEOGRAPH
+  {0xEE92, 0x9860}, //19381 #CJK UNIFIED IDEOGRAPH
+  {0xEE93, 0x9861}, //19382 #CJK UNIFIED IDEOGRAPH
+  {0xEE94, 0x9862}, //19383 #CJK UNIFIED IDEOGRAPH
+  {0xEE95, 0x9863}, //19384 #CJK UNIFIED IDEOGRAPH
+  {0xEE96, 0x9864}, //19385 #CJK UNIFIED IDEOGRAPH
+  {0xEE97, 0x9865}, //19386 #CJK UNIFIED IDEOGRAPH
+  {0xEE98, 0x9866}, //19387 #CJK UNIFIED IDEOGRAPH
+  {0xEE99, 0x9867}, //19388 #CJK UNIFIED IDEOGRAPH
+  {0xEE9A, 0x9868}, //19389 #CJK UNIFIED IDEOGRAPH
+  {0xEE9B, 0x9869}, //19390 #CJK UNIFIED IDEOGRAPH
+  {0xEE9C, 0x986A}, //19391 #CJK UNIFIED IDEOGRAPH
+  {0xEE9D, 0x986B}, //19392 #CJK UNIFIED IDEOGRAPH
+  {0xEE9E, 0x986C}, //19393 #CJK UNIFIED IDEOGRAPH
+  {0xEE9F, 0x986D}, //19394 #CJK UNIFIED IDEOGRAPH
+  {0xEEA0, 0x986E}, //19395 #CJK UNIFIED IDEOGRAPH
+  {0xEEA1, 0x7762}, //19396 #CJK UNIFIED IDEOGRAPH
+  {0xEEA2, 0x7765}, //19397 #CJK UNIFIED IDEOGRAPH
+  {0xEEA3, 0x777F}, //19398 #CJK UNIFIED IDEOGRAPH
+  {0xEEA4, 0x778D}, //19399 #CJK UNIFIED IDEOGRAPH
+  {0xEEA5, 0x777D}, //19400 #CJK UNIFIED IDEOGRAPH
+  {0xEEA6, 0x7780}, //19401 #CJK UNIFIED IDEOGRAPH
+  {0xEEA7, 0x778C}, //19402 #CJK UNIFIED IDEOGRAPH
+  {0xEEA8, 0x7791}, //19403 #CJK UNIFIED IDEOGRAPH
+  {0xEEA9, 0x779F}, //19404 #CJK UNIFIED IDEOGRAPH
+  {0xEEAA, 0x77A0}, //19405 #CJK UNIFIED IDEOGRAPH
+  {0xEEAB, 0x77B0}, //19406 #CJK UNIFIED IDEOGRAPH
+  {0xEEAC, 0x77B5}, //19407 #CJK UNIFIED IDEOGRAPH
+  {0xEEAD, 0x77BD}, //19408 #CJK UNIFIED IDEOGRAPH
+  {0xEEAE, 0x753A}, //19409 #CJK UNIFIED IDEOGRAPH
+  {0xEEAF, 0x7540}, //19410 #CJK UNIFIED IDEOGRAPH
+  {0xEEB0, 0x754E}, //19411 #CJK UNIFIED IDEOGRAPH
+  {0xEEB1, 0x754B}, //19412 #CJK UNIFIED IDEOGRAPH
+  {0xEEB2, 0x7548}, //19413 #CJK UNIFIED IDEOGRAPH
+  {0xEEB3, 0x755B}, //19414 #CJK UNIFIED IDEOGRAPH
+  {0xEEB4, 0x7572}, //19415 #CJK UNIFIED IDEOGRAPH
+  {0xEEB5, 0x7579}, //19416 #CJK UNIFIED IDEOGRAPH
+  {0xEEB6, 0x7583}, //19417 #CJK UNIFIED IDEOGRAPH
+  {0xEEB7, 0x7F58}, //19418 #CJK UNIFIED IDEOGRAPH
+  {0xEEB8, 0x7F61}, //19419 #CJK UNIFIED IDEOGRAPH
+  {0xEEB9, 0x7F5F}, //19420 #CJK UNIFIED IDEOGRAPH
+  {0xEEBA, 0x8A48}, //19421 #CJK UNIFIED IDEOGRAPH
+  {0xEEBB, 0x7F68}, //19422 #CJK UNIFIED IDEOGRAPH
+  {0xEEBC, 0x7F74}, //19423 #CJK UNIFIED IDEOGRAPH
+  {0xEEBD, 0x7F71}, //19424 #CJK UNIFIED IDEOGRAPH
+  {0xEEBE, 0x7F79}, //19425 #CJK UNIFIED IDEOGRAPH
+  {0xEEBF, 0x7F81}, //19426 #CJK UNIFIED IDEOGRAPH
+  {0xEEC0, 0x7F7E}, //19427 #CJK UNIFIED IDEOGRAPH
+  {0xEEC1, 0x76CD}, //19428 #CJK UNIFIED IDEOGRAPH
+  {0xEEC2, 0x76E5}, //19429 #CJK UNIFIED IDEOGRAPH
+  {0xEEC3, 0x8832}, //19430 #CJK UNIFIED IDEOGRAPH
+  {0xEEC4, 0x9485}, //19431 #CJK UNIFIED IDEOGRAPH
+  {0xEEC5, 0x9486}, //19432 #CJK UNIFIED IDEOGRAPH
+  {0xEEC6, 0x9487}, //19433 #CJK UNIFIED IDEOGRAPH
+  {0xEEC7, 0x948B}, //19434 #CJK UNIFIED IDEOGRAPH
+  {0xEEC8, 0x948A}, //19435 #CJK UNIFIED IDEOGRAPH
+  {0xEEC9, 0x948C}, //19436 #CJK UNIFIED IDEOGRAPH
+  {0xEECA, 0x948D}, //19437 #CJK UNIFIED IDEOGRAPH
+  {0xEECB, 0x948F}, //19438 #CJK UNIFIED IDEOGRAPH
+  {0xEECC, 0x9490}, //19439 #CJK UNIFIED IDEOGRAPH
+  {0xEECD, 0x9494}, //19440 #CJK UNIFIED IDEOGRAPH
+  {0xEECE, 0x9497}, //19441 #CJK UNIFIED IDEOGRAPH
+  {0xEECF, 0x9495}, //19442 #CJK UNIFIED IDEOGRAPH
+  {0xEED0, 0x949A}, //19443 #CJK UNIFIED IDEOGRAPH
+  {0xEED1, 0x949B}, //19444 #CJK UNIFIED IDEOGRAPH
+  {0xEED2, 0x949C}, //19445 #CJK UNIFIED IDEOGRAPH
+  {0xEED3, 0x94A3}, //19446 #CJK UNIFIED IDEOGRAPH
+  {0xEED4, 0x94A4}, //19447 #CJK UNIFIED IDEOGRAPH
+  {0xEED5, 0x94AB}, //19448 #CJK UNIFIED IDEOGRAPH
+  {0xEED6, 0x94AA}, //19449 #CJK UNIFIED IDEOGRAPH
+  {0xEED7, 0x94AD}, //19450 #CJK UNIFIED IDEOGRAPH
+  {0xEED8, 0x94AC}, //19451 #CJK UNIFIED IDEOGRAPH
+  {0xEED9, 0x94AF}, //19452 #CJK UNIFIED IDEOGRAPH
+  {0xEEDA, 0x94B0}, //19453 #CJK UNIFIED IDEOGRAPH
+  {0xEEDB, 0x94B2}, //19454 #CJK UNIFIED IDEOGRAPH
+  {0xEEDC, 0x94B4}, //19455 #CJK UNIFIED IDEOGRAPH
+  {0xEEDD, 0x94B6}, //19456 #CJK UNIFIED IDEOGRAPH
+  {0xEEDE, 0x94B7}, //19457 #CJK UNIFIED IDEOGRAPH
+  {0xEEDF, 0x94B8}, //19458 #CJK UNIFIED IDEOGRAPH
+  {0xEEE0, 0x94B9}, //19459 #CJK UNIFIED IDEOGRAPH
+  {0xEEE1, 0x94BA}, //19460 #CJK UNIFIED IDEOGRAPH
+  {0xEEE2, 0x94BC}, //19461 #CJK UNIFIED IDEOGRAPH
+  {0xEEE3, 0x94BD}, //19462 #CJK UNIFIED IDEOGRAPH
+  {0xEEE4, 0x94BF}, //19463 #CJK UNIFIED IDEOGRAPH
+  {0xEEE5, 0x94C4}, //19464 #CJK UNIFIED IDEOGRAPH
+  {0xEEE6, 0x94C8}, //19465 #CJK UNIFIED IDEOGRAPH
+  {0xEEE7, 0x94C9}, //19466 #CJK UNIFIED IDEOGRAPH
+  {0xEEE8, 0x94CA}, //19467 #CJK UNIFIED IDEOGRAPH
+  {0xEEE9, 0x94CB}, //19468 #CJK UNIFIED IDEOGRAPH
+  {0xEEEA, 0x94CC}, //19469 #CJK UNIFIED IDEOGRAPH
+  {0xEEEB, 0x94CD}, //19470 #CJK UNIFIED IDEOGRAPH
+  {0xEEEC, 0x94CE}, //19471 #CJK UNIFIED IDEOGRAPH
+  {0xEEED, 0x94D0}, //19472 #CJK UNIFIED IDEOGRAPH
+  {0xEEEE, 0x94D1}, //19473 #CJK UNIFIED IDEOGRAPH
+  {0xEEEF, 0x94D2}, //19474 #CJK UNIFIED IDEOGRAPH
+  {0xEEF0, 0x94D5}, //19475 #CJK UNIFIED IDEOGRAPH
+  {0xEEF1, 0x94D6}, //19476 #CJK UNIFIED IDEOGRAPH
+  {0xEEF2, 0x94D7}, //19477 #CJK UNIFIED IDEOGRAPH
+  {0xEEF3, 0x94D9}, //19478 #CJK UNIFIED IDEOGRAPH
+  {0xEEF4, 0x94D8}, //19479 #CJK UNIFIED IDEOGRAPH
+  {0xEEF5, 0x94DB}, //19480 #CJK UNIFIED IDEOGRAPH
+  {0xEEF6, 0x94DE}, //19481 #CJK UNIFIED IDEOGRAPH
+  {0xEEF7, 0x94DF}, //19482 #CJK UNIFIED IDEOGRAPH
+  {0xEEF8, 0x94E0}, //19483 #CJK UNIFIED IDEOGRAPH
+  {0xEEF9, 0x94E2}, //19484 #CJK UNIFIED IDEOGRAPH
+  {0xEEFA, 0x94E4}, //19485 #CJK UNIFIED IDEOGRAPH
+  {0xEEFB, 0x94E5}, //19486 #CJK UNIFIED IDEOGRAPH
+  {0xEEFC, 0x94E7}, //19487 #CJK UNIFIED IDEOGRAPH
+  {0xEEFD, 0x94E8}, //19488 #CJK UNIFIED IDEOGRAPH
+  {0xEEFE, 0x94EA}, //19489 #CJK UNIFIED IDEOGRAPH
+  {0xEF40, 0x986F}, //19490 #CJK UNIFIED IDEOGRAPH
+  {0xEF41, 0x9870}, //19491 #CJK UNIFIED IDEOGRAPH
+  {0xEF42, 0x9871}, //19492 #CJK UNIFIED IDEOGRAPH
+  {0xEF43, 0x9872}, //19493 #CJK UNIFIED IDEOGRAPH
+  {0xEF44, 0x9873}, //19494 #CJK UNIFIED IDEOGRAPH
+  {0xEF45, 0x9874}, //19495 #CJK UNIFIED IDEOGRAPH
+  {0xEF46, 0x988B}, //19496 #CJK UNIFIED IDEOGRAPH
+  {0xEF47, 0x988E}, //19497 #CJK UNIFIED IDEOGRAPH
+  {0xEF48, 0x9892}, //19498 #CJK UNIFIED IDEOGRAPH
+  {0xEF49, 0x9895}, //19499 #CJK UNIFIED IDEOGRAPH
+  {0xEF4A, 0x9899}, //19500 #CJK UNIFIED IDEOGRAPH
+  {0xEF4B, 0x98A3}, //19501 #CJK UNIFIED IDEOGRAPH
+  {0xEF4C, 0x98A8}, //19502 #CJK UNIFIED IDEOGRAPH
+  {0xEF4D, 0x98A9}, //19503 #CJK UNIFIED IDEOGRAPH
+  {0xEF4E, 0x98AA}, //19504 #CJK UNIFIED IDEOGRAPH
+  {0xEF4F, 0x98AB}, //19505 #CJK UNIFIED IDEOGRAPH
+  {0xEF50, 0x98AC}, //19506 #CJK UNIFIED IDEOGRAPH
+  {0xEF51, 0x98AD}, //19507 #CJK UNIFIED IDEOGRAPH
+  {0xEF52, 0x98AE}, //19508 #CJK UNIFIED IDEOGRAPH
+  {0xEF53, 0x98AF}, //19509 #CJK UNIFIED IDEOGRAPH
+  {0xEF54, 0x98B0}, //19510 #CJK UNIFIED IDEOGRAPH
+  {0xEF55, 0x98B1}, //19511 #CJK UNIFIED IDEOGRAPH
+  {0xEF56, 0x98B2}, //19512 #CJK UNIFIED IDEOGRAPH
+  {0xEF57, 0x98B3}, //19513 #CJK UNIFIED IDEOGRAPH
+  {0xEF58, 0x98B4}, //19514 #CJK UNIFIED IDEOGRAPH
+  {0xEF59, 0x98B5}, //19515 #CJK UNIFIED IDEOGRAPH
+  {0xEF5A, 0x98B6}, //19516 #CJK UNIFIED IDEOGRAPH
+  {0xEF5B, 0x98B7}, //19517 #CJK UNIFIED IDEOGRAPH
+  {0xEF5C, 0x98B8}, //19518 #CJK UNIFIED IDEOGRAPH
+  {0xEF5D, 0x98B9}, //19519 #CJK UNIFIED IDEOGRAPH
+  {0xEF5E, 0x98BA}, //19520 #CJK UNIFIED IDEOGRAPH
+  {0xEF5F, 0x98BB}, //19521 #CJK UNIFIED IDEOGRAPH
+  {0xEF60, 0x98BC}, //19522 #CJK UNIFIED IDEOGRAPH
+  {0xEF61, 0x98BD}, //19523 #CJK UNIFIED IDEOGRAPH
+  {0xEF62, 0x98BE}, //19524 #CJK UNIFIED IDEOGRAPH
+  {0xEF63, 0x98BF}, //19525 #CJK UNIFIED IDEOGRAPH
+  {0xEF64, 0x98C0}, //19526 #CJK UNIFIED IDEOGRAPH
+  {0xEF65, 0x98C1}, //19527 #CJK UNIFIED IDEOGRAPH
+  {0xEF66, 0x98C2}, //19528 #CJK UNIFIED IDEOGRAPH
+  {0xEF67, 0x98C3}, //19529 #CJK UNIFIED IDEOGRAPH
+  {0xEF68, 0x98C4}, //19530 #CJK UNIFIED IDEOGRAPH
+  {0xEF69, 0x98C5}, //19531 #CJK UNIFIED IDEOGRAPH
+  {0xEF6A, 0x98C6}, //19532 #CJK UNIFIED IDEOGRAPH
+  {0xEF6B, 0x98C7}, //19533 #CJK UNIFIED IDEOGRAPH
+  {0xEF6C, 0x98C8}, //19534 #CJK UNIFIED IDEOGRAPH
+  {0xEF6D, 0x98C9}, //19535 #CJK UNIFIED IDEOGRAPH
+  {0xEF6E, 0x98CA}, //19536 #CJK UNIFIED IDEOGRAPH
+  {0xEF6F, 0x98CB}, //19537 #CJK UNIFIED IDEOGRAPH
+  {0xEF70, 0x98CC}, //19538 #CJK UNIFIED IDEOGRAPH
+  {0xEF71, 0x98CD}, //19539 #CJK UNIFIED IDEOGRAPH
+  {0xEF72, 0x98CF}, //19540 #CJK UNIFIED IDEOGRAPH
+  {0xEF73, 0x98D0}, //19541 #CJK UNIFIED IDEOGRAPH
+  {0xEF74, 0x98D4}, //19542 #CJK UNIFIED IDEOGRAPH
+  {0xEF75, 0x98D6}, //19543 #CJK UNIFIED IDEOGRAPH
+  {0xEF76, 0x98D7}, //19544 #CJK UNIFIED IDEOGRAPH
+  {0xEF77, 0x98DB}, //19545 #CJK UNIFIED IDEOGRAPH
+  {0xEF78, 0x98DC}, //19546 #CJK UNIFIED IDEOGRAPH
+  {0xEF79, 0x98DD}, //19547 #CJK UNIFIED IDEOGRAPH
+  {0xEF7A, 0x98E0}, //19548 #CJK UNIFIED IDEOGRAPH
+  {0xEF7B, 0x98E1}, //19549 #CJK UNIFIED IDEOGRAPH
+  {0xEF7C, 0x98E2}, //19550 #CJK UNIFIED IDEOGRAPH
+  {0xEF7D, 0x98E3}, //19551 #CJK UNIFIED IDEOGRAPH
+  {0xEF7E, 0x98E4}, //19552 #CJK UNIFIED IDEOGRAPH
+  {0xEF80, 0x98E5}, //19553 #CJK UNIFIED IDEOGRAPH
+  {0xEF81, 0x98E6}, //19554 #CJK UNIFIED IDEOGRAPH
+  {0xEF82, 0x98E9}, //19555 #CJK UNIFIED IDEOGRAPH
+  {0xEF83, 0x98EA}, //19556 #CJK UNIFIED IDEOGRAPH
+  {0xEF84, 0x98EB}, //19557 #CJK UNIFIED IDEOGRAPH
+  {0xEF85, 0x98EC}, //19558 #CJK UNIFIED IDEOGRAPH
+  {0xEF86, 0x98ED}, //19559 #CJK UNIFIED IDEOGRAPH
+  {0xEF87, 0x98EE}, //19560 #CJK UNIFIED IDEOGRAPH
+  {0xEF88, 0x98EF}, //19561 #CJK UNIFIED IDEOGRAPH
+  {0xEF89, 0x98F0}, //19562 #CJK UNIFIED IDEOGRAPH
+  {0xEF8A, 0x98F1}, //19563 #CJK UNIFIED IDEOGRAPH
+  {0xEF8B, 0x98F2}, //19564 #CJK UNIFIED IDEOGRAPH
+  {0xEF8C, 0x98F3}, //19565 #CJK UNIFIED IDEOGRAPH
+  {0xEF8D, 0x98F4}, //19566 #CJK UNIFIED IDEOGRAPH
+  {0xEF8E, 0x98F5}, //19567 #CJK UNIFIED IDEOGRAPH
+  {0xEF8F, 0x98F6}, //19568 #CJK UNIFIED IDEOGRAPH
+  {0xEF90, 0x98F7}, //19569 #CJK UNIFIED IDEOGRAPH
+  {0xEF91, 0x98F8}, //19570 #CJK UNIFIED IDEOGRAPH
+  {0xEF92, 0x98F9}, //19571 #CJK UNIFIED IDEOGRAPH
+  {0xEF93, 0x98FA}, //19572 #CJK UNIFIED IDEOGRAPH
+  {0xEF94, 0x98FB}, //19573 #CJK UNIFIED IDEOGRAPH
+  {0xEF95, 0x98FC}, //19574 #CJK UNIFIED IDEOGRAPH
+  {0xEF96, 0x98FD}, //19575 #CJK UNIFIED IDEOGRAPH
+  {0xEF97, 0x98FE}, //19576 #CJK UNIFIED IDEOGRAPH
+  {0xEF98, 0x98FF}, //19577 #CJK UNIFIED IDEOGRAPH
+  {0xEF99, 0x9900}, //19578 #CJK UNIFIED IDEOGRAPH
+  {0xEF9A, 0x9901}, //19579 #CJK UNIFIED IDEOGRAPH
+  {0xEF9B, 0x9902}, //19580 #CJK UNIFIED IDEOGRAPH
+  {0xEF9C, 0x9903}, //19581 #CJK UNIFIED IDEOGRAPH
+  {0xEF9D, 0x9904}, //19582 #CJK UNIFIED IDEOGRAPH
+  {0xEF9E, 0x9905}, //19583 #CJK UNIFIED IDEOGRAPH
+  {0xEF9F, 0x9906}, //19584 #CJK UNIFIED IDEOGRAPH
+  {0xEFA0, 0x9907}, //19585 #CJK UNIFIED IDEOGRAPH
+  {0xEFA1, 0x94E9}, //19586 #CJK UNIFIED IDEOGRAPH
+  {0xEFA2, 0x94EB}, //19587 #CJK UNIFIED IDEOGRAPH
+  {0xEFA3, 0x94EE}, //19588 #CJK UNIFIED IDEOGRAPH
+  {0xEFA4, 0x94EF}, //19589 #CJK UNIFIED IDEOGRAPH
+  {0xEFA5, 0x94F3}, //19590 #CJK UNIFIED IDEOGRAPH
+  {0xEFA6, 0x94F4}, //19591 #CJK UNIFIED IDEOGRAPH
+  {0xEFA7, 0x94F5}, //19592 #CJK UNIFIED IDEOGRAPH
+  {0xEFA8, 0x94F7}, //19593 #CJK UNIFIED IDEOGRAPH
+  {0xEFA9, 0x94F9}, //19594 #CJK UNIFIED IDEOGRAPH
+  {0xEFAA, 0x94FC}, //19595 #CJK UNIFIED IDEOGRAPH
+  {0xEFAB, 0x94FD}, //19596 #CJK UNIFIED IDEOGRAPH
+  {0xEFAC, 0x94FF}, //19597 #CJK UNIFIED IDEOGRAPH
+  {0xEFAD, 0x9503}, //19598 #CJK UNIFIED IDEOGRAPH
+  {0xEFAE, 0x9502}, //19599 #CJK UNIFIED IDEOGRAPH
+  {0xEFAF, 0x9506}, //19600 #CJK UNIFIED IDEOGRAPH
+  {0xEFB0, 0x9507}, //19601 #CJK UNIFIED IDEOGRAPH
+  {0xEFB1, 0x9509}, //19602 #CJK UNIFIED IDEOGRAPH
+  {0xEFB2, 0x950A}, //19603 #CJK UNIFIED IDEOGRAPH
+  {0xEFB3, 0x950D}, //19604 #CJK UNIFIED IDEOGRAPH
+  {0xEFB4, 0x950E}, //19605 #CJK UNIFIED IDEOGRAPH
+  {0xEFB5, 0x950F}, //19606 #CJK UNIFIED IDEOGRAPH
+  {0xEFB6, 0x9512}, //19607 #CJK UNIFIED IDEOGRAPH
+  {0xEFB7, 0x9513}, //19608 #CJK UNIFIED IDEOGRAPH
+  {0xEFB8, 0x9514}, //19609 #CJK UNIFIED IDEOGRAPH
+  {0xEFB9, 0x9515}, //19610 #CJK UNIFIED IDEOGRAPH
+  {0xEFBA, 0x9516}, //19611 #CJK UNIFIED IDEOGRAPH
+  {0xEFBB, 0x9518}, //19612 #CJK UNIFIED IDEOGRAPH
+  {0xEFBC, 0x951B}, //19613 #CJK UNIFIED IDEOGRAPH
+  {0xEFBD, 0x951D}, //19614 #CJK UNIFIED IDEOGRAPH
+  {0xEFBE, 0x951E}, //19615 #CJK UNIFIED IDEOGRAPH
+  {0xEFBF, 0x951F}, //19616 #CJK UNIFIED IDEOGRAPH
+  {0xEFC0, 0x9522}, //19617 #CJK UNIFIED IDEOGRAPH
+  {0xEFC1, 0x952A}, //19618 #CJK UNIFIED IDEOGRAPH
+  {0xEFC2, 0x952B}, //19619 #CJK UNIFIED IDEOGRAPH
+  {0xEFC3, 0x9529}, //19620 #CJK UNIFIED IDEOGRAPH
+  {0xEFC4, 0x952C}, //19621 #CJK UNIFIED IDEOGRAPH
+  {0xEFC5, 0x9531}, //19622 #CJK UNIFIED IDEOGRAPH
+  {0xEFC6, 0x9532}, //19623 #CJK UNIFIED IDEOGRAPH
+  {0xEFC7, 0x9534}, //19624 #CJK UNIFIED IDEOGRAPH
+  {0xEFC8, 0x9536}, //19625 #CJK UNIFIED IDEOGRAPH
+  {0xEFC9, 0x9537}, //19626 #CJK UNIFIED IDEOGRAPH
+  {0xEFCA, 0x9538}, //19627 #CJK UNIFIED IDEOGRAPH
+  {0xEFCB, 0x953C}, //19628 #CJK UNIFIED IDEOGRAPH
+  {0xEFCC, 0x953E}, //19629 #CJK UNIFIED IDEOGRAPH
+  {0xEFCD, 0x953F}, //19630 #CJK UNIFIED IDEOGRAPH
+  {0xEFCE, 0x9542}, //19631 #CJK UNIFIED IDEOGRAPH
+  {0xEFCF, 0x9535}, //19632 #CJK UNIFIED IDEOGRAPH
+  {0xEFD0, 0x9544}, //19633 #CJK UNIFIED IDEOGRAPH
+  {0xEFD1, 0x9545}, //19634 #CJK UNIFIED IDEOGRAPH
+  {0xEFD2, 0x9546}, //19635 #CJK UNIFIED IDEOGRAPH
+  {0xEFD3, 0x9549}, //19636 #CJK UNIFIED IDEOGRAPH
+  {0xEFD4, 0x954C}, //19637 #CJK UNIFIED IDEOGRAPH
+  {0xEFD5, 0x954E}, //19638 #CJK UNIFIED IDEOGRAPH
+  {0xEFD6, 0x954F}, //19639 #CJK UNIFIED IDEOGRAPH
+  {0xEFD7, 0x9552}, //19640 #CJK UNIFIED IDEOGRAPH
+  {0xEFD8, 0x9553}, //19641 #CJK UNIFIED IDEOGRAPH
+  {0xEFD9, 0x9554}, //19642 #CJK UNIFIED IDEOGRAPH
+  {0xEFDA, 0x9556}, //19643 #CJK UNIFIED IDEOGRAPH
+  {0xEFDB, 0x9557}, //19644 #CJK UNIFIED IDEOGRAPH
+  {0xEFDC, 0x9558}, //19645 #CJK UNIFIED IDEOGRAPH
+  {0xEFDD, 0x9559}, //19646 #CJK UNIFIED IDEOGRAPH
+  {0xEFDE, 0x955B}, //19647 #CJK UNIFIED IDEOGRAPH
+  {0xEFDF, 0x955E}, //19648 #CJK UNIFIED IDEOGRAPH
+  {0xEFE0, 0x955F}, //19649 #CJK UNIFIED IDEOGRAPH
+  {0xEFE1, 0x955D}, //19650 #CJK UNIFIED IDEOGRAPH
+  {0xEFE2, 0x9561}, //19651 #CJK UNIFIED IDEOGRAPH
+  {0xEFE3, 0x9562}, //19652 #CJK UNIFIED IDEOGRAPH
+  {0xEFE4, 0x9564}, //19653 #CJK UNIFIED IDEOGRAPH
+  {0xEFE5, 0x9565}, //19654 #CJK UNIFIED IDEOGRAPH
+  {0xEFE6, 0x9566}, //19655 #CJK UNIFIED IDEOGRAPH
+  {0xEFE7, 0x9567}, //19656 #CJK UNIFIED IDEOGRAPH
+  {0xEFE8, 0x9568}, //19657 #CJK UNIFIED IDEOGRAPH
+  {0xEFE9, 0x9569}, //19658 #CJK UNIFIED IDEOGRAPH
+  {0xEFEA, 0x956A}, //19659 #CJK UNIFIED IDEOGRAPH
+  {0xEFEB, 0x956B}, //19660 #CJK UNIFIED IDEOGRAPH
+  {0xEFEC, 0x956C}, //19661 #CJK UNIFIED IDEOGRAPH
+  {0xEFED, 0x956F}, //19662 #CJK UNIFIED IDEOGRAPH
+  {0xEFEE, 0x9571}, //19663 #CJK UNIFIED IDEOGRAPH
+  {0xEFEF, 0x9572}, //19664 #CJK UNIFIED IDEOGRAPH
+  {0xEFF0, 0x9573}, //19665 #CJK UNIFIED IDEOGRAPH
+  {0xEFF1, 0x953A}, //19666 #CJK UNIFIED IDEOGRAPH
+  {0xEFF2, 0x77E7}, //19667 #CJK UNIFIED IDEOGRAPH
+  {0xEFF3, 0x77EC}, //19668 #CJK UNIFIED IDEOGRAPH
+  {0xEFF4, 0x96C9}, //19669 #CJK UNIFIED IDEOGRAPH
+  {0xEFF5, 0x79D5}, //19670 #CJK UNIFIED IDEOGRAPH
+  {0xEFF6, 0x79ED}, //19671 #CJK UNIFIED IDEOGRAPH
+  {0xEFF7, 0x79E3}, //19672 #CJK UNIFIED IDEOGRAPH
+  {0xEFF8, 0x79EB}, //19673 #CJK UNIFIED IDEOGRAPH
+  {0xEFF9, 0x7A06}, //19674 #CJK UNIFIED IDEOGRAPH
+  {0xEFFA, 0x5D47}, //19675 #CJK UNIFIED IDEOGRAPH
+  {0xEFFB, 0x7A03}, //19676 #CJK UNIFIED IDEOGRAPH
+  {0xEFFC, 0x7A02}, //19677 #CJK UNIFIED IDEOGRAPH
+  {0xEFFD, 0x7A1E}, //19678 #CJK UNIFIED IDEOGRAPH
+  {0xEFFE, 0x7A14}, //19679 #CJK UNIFIED IDEOGRAPH
+  {0xF040, 0x9908}, //19680 #CJK UNIFIED IDEOGRAPH
+  {0xF041, 0x9909}, //19681 #CJK UNIFIED IDEOGRAPH
+  {0xF042, 0x990A}, //19682 #CJK UNIFIED IDEOGRAPH
+  {0xF043, 0x990B}, //19683 #CJK UNIFIED IDEOGRAPH
+  {0xF044, 0x990C}, //19684 #CJK UNIFIED IDEOGRAPH
+  {0xF045, 0x990E}, //19685 #CJK UNIFIED IDEOGRAPH
+  {0xF046, 0x990F}, //19686 #CJK UNIFIED IDEOGRAPH
+  {0xF047, 0x9911}, //19687 #CJK UNIFIED IDEOGRAPH
+  {0xF048, 0x9912}, //19688 #CJK UNIFIED IDEOGRAPH
+  {0xF049, 0x9913}, //19689 #CJK UNIFIED IDEOGRAPH
+  {0xF04A, 0x9914}, //19690 #CJK UNIFIED IDEOGRAPH
+  {0xF04B, 0x9915}, //19691 #CJK UNIFIED IDEOGRAPH
+  {0xF04C, 0x9916}, //19692 #CJK UNIFIED IDEOGRAPH
+  {0xF04D, 0x9917}, //19693 #CJK UNIFIED IDEOGRAPH
+  {0xF04E, 0x9918}, //19694 #CJK UNIFIED IDEOGRAPH
+  {0xF04F, 0x9919}, //19695 #CJK UNIFIED IDEOGRAPH
+  {0xF050, 0x991A}, //19696 #CJK UNIFIED IDEOGRAPH
+  {0xF051, 0x991B}, //19697 #CJK UNIFIED IDEOGRAPH
+  {0xF052, 0x991C}, //19698 #CJK UNIFIED IDEOGRAPH
+  {0xF053, 0x991D}, //19699 #CJK UNIFIED IDEOGRAPH
+  {0xF054, 0x991E}, //19700 #CJK UNIFIED IDEOGRAPH
+  {0xF055, 0x991F}, //19701 #CJK UNIFIED IDEOGRAPH
+  {0xF056, 0x9920}, //19702 #CJK UNIFIED IDEOGRAPH
+  {0xF057, 0x9921}, //19703 #CJK UNIFIED IDEOGRAPH
+  {0xF058, 0x9922}, //19704 #CJK UNIFIED IDEOGRAPH
+  {0xF059, 0x9923}, //19705 #CJK UNIFIED IDEOGRAPH
+  {0xF05A, 0x9924}, //19706 #CJK UNIFIED IDEOGRAPH
+  {0xF05B, 0x9925}, //19707 #CJK UNIFIED IDEOGRAPH
+  {0xF05C, 0x9926}, //19708 #CJK UNIFIED IDEOGRAPH
+  {0xF05D, 0x9927}, //19709 #CJK UNIFIED IDEOGRAPH
+  {0xF05E, 0x9928}, //19710 #CJK UNIFIED IDEOGRAPH
+  {0xF05F, 0x9929}, //19711 #CJK UNIFIED IDEOGRAPH
+  {0xF060, 0x992A}, //19712 #CJK UNIFIED IDEOGRAPH
+  {0xF061, 0x992B}, //19713 #CJK UNIFIED IDEOGRAPH
+  {0xF062, 0x992C}, //19714 #CJK UNIFIED IDEOGRAPH
+  {0xF063, 0x992D}, //19715 #CJK UNIFIED IDEOGRAPH
+  {0xF064, 0x992F}, //19716 #CJK UNIFIED IDEOGRAPH
+  {0xF065, 0x9930}, //19717 #CJK UNIFIED IDEOGRAPH
+  {0xF066, 0x9931}, //19718 #CJK UNIFIED IDEOGRAPH
+  {0xF067, 0x9932}, //19719 #CJK UNIFIED IDEOGRAPH
+  {0xF068, 0x9933}, //19720 #CJK UNIFIED IDEOGRAPH
+  {0xF069, 0x9934}, //19721 #CJK UNIFIED IDEOGRAPH
+  {0xF06A, 0x9935}, //19722 #CJK UNIFIED IDEOGRAPH
+  {0xF06B, 0x9936}, //19723 #CJK UNIFIED IDEOGRAPH
+  {0xF06C, 0x9937}, //19724 #CJK UNIFIED IDEOGRAPH
+  {0xF06D, 0x9938}, //19725 #CJK UNIFIED IDEOGRAPH
+  {0xF06E, 0x9939}, //19726 #CJK UNIFIED IDEOGRAPH
+  {0xF06F, 0x993A}, //19727 #CJK UNIFIED IDEOGRAPH
+  {0xF070, 0x993B}, //19728 #CJK UNIFIED IDEOGRAPH
+  {0xF071, 0x993C}, //19729 #CJK UNIFIED IDEOGRAPH
+  {0xF072, 0x993D}, //19730 #CJK UNIFIED IDEOGRAPH
+  {0xF073, 0x993E}, //19731 #CJK UNIFIED IDEOGRAPH
+  {0xF074, 0x993F}, //19732 #CJK UNIFIED IDEOGRAPH
+  {0xF075, 0x9940}, //19733 #CJK UNIFIED IDEOGRAPH
+  {0xF076, 0x9941}, //19734 #CJK UNIFIED IDEOGRAPH
+  {0xF077, 0x9942}, //19735 #CJK UNIFIED IDEOGRAPH
+  {0xF078, 0x9943}, //19736 #CJK UNIFIED IDEOGRAPH
+  {0xF079, 0x9944}, //19737 #CJK UNIFIED IDEOGRAPH
+  {0xF07A, 0x9945}, //19738 #CJK UNIFIED IDEOGRAPH
+  {0xF07B, 0x9946}, //19739 #CJK UNIFIED IDEOGRAPH
+  {0xF07C, 0x9947}, //19740 #CJK UNIFIED IDEOGRAPH
+  {0xF07D, 0x9948}, //19741 #CJK UNIFIED IDEOGRAPH
+  {0xF07E, 0x9949}, //19742 #CJK UNIFIED IDEOGRAPH
+  {0xF080, 0x994A}, //19743 #CJK UNIFIED IDEOGRAPH
+  {0xF081, 0x994B}, //19744 #CJK UNIFIED IDEOGRAPH
+  {0xF082, 0x994C}, //19745 #CJK UNIFIED IDEOGRAPH
+  {0xF083, 0x994D}, //19746 #CJK UNIFIED IDEOGRAPH
+  {0xF084, 0x994E}, //19747 #CJK UNIFIED IDEOGRAPH
+  {0xF085, 0x994F}, //19748 #CJK UNIFIED IDEOGRAPH
+  {0xF086, 0x9950}, //19749 #CJK UNIFIED IDEOGRAPH
+  {0xF087, 0x9951}, //19750 #CJK UNIFIED IDEOGRAPH
+  {0xF088, 0x9952}, //19751 #CJK UNIFIED IDEOGRAPH
+  {0xF089, 0x9953}, //19752 #CJK UNIFIED IDEOGRAPH
+  {0xF08A, 0x9956}, //19753 #CJK UNIFIED IDEOGRAPH
+  {0xF08B, 0x9957}, //19754 #CJK UNIFIED IDEOGRAPH
+  {0xF08C, 0x9958}, //19755 #CJK UNIFIED IDEOGRAPH
+  {0xF08D, 0x9959}, //19756 #CJK UNIFIED IDEOGRAPH
+  {0xF08E, 0x995A}, //19757 #CJK UNIFIED IDEOGRAPH
+  {0xF08F, 0x995B}, //19758 #CJK UNIFIED IDEOGRAPH
+  {0xF090, 0x995C}, //19759 #CJK UNIFIED IDEOGRAPH
+  {0xF091, 0x995D}, //19760 #CJK UNIFIED IDEOGRAPH
+  {0xF092, 0x995E}, //19761 #CJK UNIFIED IDEOGRAPH
+  {0xF093, 0x995F}, //19762 #CJK UNIFIED IDEOGRAPH
+  {0xF094, 0x9960}, //19763 #CJK UNIFIED IDEOGRAPH
+  {0xF095, 0x9961}, //19764 #CJK UNIFIED IDEOGRAPH
+  {0xF096, 0x9962}, //19765 #CJK UNIFIED IDEOGRAPH
+  {0xF097, 0x9964}, //19766 #CJK UNIFIED IDEOGRAPH
+  {0xF098, 0x9966}, //19767 #CJK UNIFIED IDEOGRAPH
+  {0xF099, 0x9973}, //19768 #CJK UNIFIED IDEOGRAPH
+  {0xF09A, 0x9978}, //19769 #CJK UNIFIED IDEOGRAPH
+  {0xF09B, 0x9979}, //19770 #CJK UNIFIED IDEOGRAPH
+  {0xF09C, 0x997B}, //19771 #CJK UNIFIED IDEOGRAPH
+  {0xF09D, 0x997E}, //19772 #CJK UNIFIED IDEOGRAPH
+  {0xF09E, 0x9982}, //19773 #CJK UNIFIED IDEOGRAPH
+  {0xF09F, 0x9983}, //19774 #CJK UNIFIED IDEOGRAPH
+  {0xF0A0, 0x9989}, //19775 #CJK UNIFIED IDEOGRAPH
+  {0xF0A1, 0x7A39}, //19776 #CJK UNIFIED IDEOGRAPH
+  {0xF0A2, 0x7A37}, //19777 #CJK UNIFIED IDEOGRAPH
+  {0xF0A3, 0x7A51}, //19778 #CJK UNIFIED IDEOGRAPH
+  {0xF0A4, 0x9ECF}, //19779 #CJK UNIFIED IDEOGRAPH
+  {0xF0A5, 0x99A5}, //19780 #CJK UNIFIED IDEOGRAPH
+  {0xF0A6, 0x7A70}, //19781 #CJK UNIFIED IDEOGRAPH
+  {0xF0A7, 0x7688}, //19782 #CJK UNIFIED IDEOGRAPH
+  {0xF0A8, 0x768E}, //19783 #CJK UNIFIED IDEOGRAPH
+  {0xF0A9, 0x7693}, //19784 #CJK UNIFIED IDEOGRAPH
+  {0xF0AA, 0x7699}, //19785 #CJK UNIFIED IDEOGRAPH
+  {0xF0AB, 0x76A4}, //19786 #CJK UNIFIED IDEOGRAPH
+  {0xF0AC, 0x74DE}, //19787 #CJK UNIFIED IDEOGRAPH
+  {0xF0AD, 0x74E0}, //19788 #CJK UNIFIED IDEOGRAPH
+  {0xF0AE, 0x752C}, //19789 #CJK UNIFIED IDEOGRAPH
+  {0xF0AF, 0x9E20}, //19790 #CJK UNIFIED IDEOGRAPH
+  {0xF0B0, 0x9E22}, //19791 #CJK UNIFIED IDEOGRAPH
+  {0xF0B1, 0x9E28}, //19792 #CJK UNIFIED IDEOGRAPH
+  {0xF0B2, 0x9E29}, //19793 #CJK UNIFIED IDEOGRAPH
+  {0xF0B3, 0x9E2A}, //19794 #CJK UNIFIED IDEOGRAPH
+  {0xF0B4, 0x9E2B}, //19795 #CJK UNIFIED IDEOGRAPH
+  {0xF0B5, 0x9E2C}, //19796 #CJK UNIFIED IDEOGRAPH
+  {0xF0B6, 0x9E32}, //19797 #CJK UNIFIED IDEOGRAPH
+  {0xF0B7, 0x9E31}, //19798 #CJK UNIFIED IDEOGRAPH
+  {0xF0B8, 0x9E36}, //19799 #CJK UNIFIED IDEOGRAPH
+  {0xF0B9, 0x9E38}, //19800 #CJK UNIFIED IDEOGRAPH
+  {0xF0BA, 0x9E37}, //19801 #CJK UNIFIED IDEOGRAPH
+  {0xF0BB, 0x9E39}, //19802 #CJK UNIFIED IDEOGRAPH
+  {0xF0BC, 0x9E3A}, //19803 #CJK UNIFIED IDEOGRAPH
+  {0xF0BD, 0x9E3E}, //19804 #CJK UNIFIED IDEOGRAPH
+  {0xF0BE, 0x9E41}, //19805 #CJK UNIFIED IDEOGRAPH
+  {0xF0BF, 0x9E42}, //19806 #CJK UNIFIED IDEOGRAPH
+  {0xF0C0, 0x9E44}, //19807 #CJK UNIFIED IDEOGRAPH
+  {0xF0C1, 0x9E46}, //19808 #CJK UNIFIED IDEOGRAPH
+  {0xF0C2, 0x9E47}, //19809 #CJK UNIFIED IDEOGRAPH
+  {0xF0C3, 0x9E48}, //19810 #CJK UNIFIED IDEOGRAPH
+  {0xF0C4, 0x9E49}, //19811 #CJK UNIFIED IDEOGRAPH
+  {0xF0C5, 0x9E4B}, //19812 #CJK UNIFIED IDEOGRAPH
+  {0xF0C6, 0x9E4C}, //19813 #CJK UNIFIED IDEOGRAPH
+  {0xF0C7, 0x9E4E}, //19814 #CJK UNIFIED IDEOGRAPH
+  {0xF0C8, 0x9E51}, //19815 #CJK UNIFIED IDEOGRAPH
+  {0xF0C9, 0x9E55}, //19816 #CJK UNIFIED IDEOGRAPH
+  {0xF0CA, 0x9E57}, //19817 #CJK UNIFIED IDEOGRAPH
+  {0xF0CB, 0x9E5A}, //19818 #CJK UNIFIED IDEOGRAPH
+  {0xF0CC, 0x9E5B}, //19819 #CJK UNIFIED IDEOGRAPH
+  {0xF0CD, 0x9E5C}, //19820 #CJK UNIFIED IDEOGRAPH
+  {0xF0CE, 0x9E5E}, //19821 #CJK UNIFIED IDEOGRAPH
+  {0xF0CF, 0x9E63}, //19822 #CJK UNIFIED IDEOGRAPH
+  {0xF0D0, 0x9E66}, //19823 #CJK UNIFIED IDEOGRAPH
+  {0xF0D1, 0x9E67}, //19824 #CJK UNIFIED IDEOGRAPH
+  {0xF0D2, 0x9E68}, //19825 #CJK UNIFIED IDEOGRAPH
+  {0xF0D3, 0x9E69}, //19826 #CJK UNIFIED IDEOGRAPH
+  {0xF0D4, 0x9E6A}, //19827 #CJK UNIFIED IDEOGRAPH
+  {0xF0D5, 0x9E6B}, //19828 #CJK UNIFIED IDEOGRAPH
+  {0xF0D6, 0x9E6C}, //19829 #CJK UNIFIED IDEOGRAPH
+  {0xF0D7, 0x9E71}, //19830 #CJK UNIFIED IDEOGRAPH
+  {0xF0D8, 0x9E6D}, //19831 #CJK UNIFIED IDEOGRAPH
+  {0xF0D9, 0x9E73}, //19832 #CJK UNIFIED IDEOGRAPH
+  {0xF0DA, 0x7592}, //19833 #CJK UNIFIED IDEOGRAPH
+  {0xF0DB, 0x7594}, //19834 #CJK UNIFIED IDEOGRAPH
+  {0xF0DC, 0x7596}, //19835 #CJK UNIFIED IDEOGRAPH
+  {0xF0DD, 0x75A0}, //19836 #CJK UNIFIED IDEOGRAPH
+  {0xF0DE, 0x759D}, //19837 #CJK UNIFIED IDEOGRAPH
+  {0xF0DF, 0x75AC}, //19838 #CJK UNIFIED IDEOGRAPH
+  {0xF0E0, 0x75A3}, //19839 #CJK UNIFIED IDEOGRAPH
+  {0xF0E1, 0x75B3}, //19840 #CJK UNIFIED IDEOGRAPH
+  {0xF0E2, 0x75B4}, //19841 #CJK UNIFIED IDEOGRAPH
+  {0xF0E3, 0x75B8}, //19842 #CJK UNIFIED IDEOGRAPH
+  {0xF0E4, 0x75C4}, //19843 #CJK UNIFIED IDEOGRAPH
+  {0xF0E5, 0x75B1}, //19844 #CJK UNIFIED IDEOGRAPH
+  {0xF0E6, 0x75B0}, //19845 #CJK UNIFIED IDEOGRAPH
+  {0xF0E7, 0x75C3}, //19846 #CJK UNIFIED IDEOGRAPH
+  {0xF0E8, 0x75C2}, //19847 #CJK UNIFIED IDEOGRAPH
+  {0xF0E9, 0x75D6}, //19848 #CJK UNIFIED IDEOGRAPH
+  {0xF0EA, 0x75CD}, //19849 #CJK UNIFIED IDEOGRAPH
+  {0xF0EB, 0x75E3}, //19850 #CJK UNIFIED IDEOGRAPH
+  {0xF0EC, 0x75E8}, //19851 #CJK UNIFIED IDEOGRAPH
+  {0xF0ED, 0x75E6}, //19852 #CJK UNIFIED IDEOGRAPH
+  {0xF0EE, 0x75E4}, //19853 #CJK UNIFIED IDEOGRAPH
+  {0xF0EF, 0x75EB}, //19854 #CJK UNIFIED IDEOGRAPH
+  {0xF0F0, 0x75E7}, //19855 #CJK UNIFIED IDEOGRAPH
+  {0xF0F1, 0x7603}, //19856 #CJK UNIFIED IDEOGRAPH
+  {0xF0F2, 0x75F1}, //19857 #CJK UNIFIED IDEOGRAPH
+  {0xF0F3, 0x75FC}, //19858 #CJK UNIFIED IDEOGRAPH
+  {0xF0F4, 0x75FF}, //19859 #CJK UNIFIED IDEOGRAPH
+  {0xF0F5, 0x7610}, //19860 #CJK UNIFIED IDEOGRAPH
+  {0xF0F6, 0x7600}, //19861 #CJK UNIFIED IDEOGRAPH
+  {0xF0F7, 0x7605}, //19862 #CJK UNIFIED IDEOGRAPH
+  {0xF0F8, 0x760C}, //19863 #CJK UNIFIED IDEOGRAPH
+  {0xF0F9, 0x7617}, //19864 #CJK UNIFIED IDEOGRAPH
+  {0xF0FA, 0x760A}, //19865 #CJK UNIFIED IDEOGRAPH
+  {0xF0FB, 0x7625}, //19866 #CJK UNIFIED IDEOGRAPH
+  {0xF0FC, 0x7618}, //19867 #CJK UNIFIED IDEOGRAPH
+  {0xF0FD, 0x7615}, //19868 #CJK UNIFIED IDEOGRAPH
+  {0xF0FE, 0x7619}, //19869 #CJK UNIFIED IDEOGRAPH
+  {0xF140, 0x998C}, //19870 #CJK UNIFIED IDEOGRAPH
+  {0xF141, 0x998E}, //19871 #CJK UNIFIED IDEOGRAPH
+  {0xF142, 0x999A}, //19872 #CJK UNIFIED IDEOGRAPH
+  {0xF143, 0x999B}, //19873 #CJK UNIFIED IDEOGRAPH
+  {0xF144, 0x999C}, //19874 #CJK UNIFIED IDEOGRAPH
+  {0xF145, 0x999D}, //19875 #CJK UNIFIED IDEOGRAPH
+  {0xF146, 0x999E}, //19876 #CJK UNIFIED IDEOGRAPH
+  {0xF147, 0x999F}, //19877 #CJK UNIFIED IDEOGRAPH
+  {0xF148, 0x99A0}, //19878 #CJK UNIFIED IDEOGRAPH
+  {0xF149, 0x99A1}, //19879 #CJK UNIFIED IDEOGRAPH
+  {0xF14A, 0x99A2}, //19880 #CJK UNIFIED IDEOGRAPH
+  {0xF14B, 0x99A3}, //19881 #CJK UNIFIED IDEOGRAPH
+  {0xF14C, 0x99A4}, //19882 #CJK UNIFIED IDEOGRAPH
+  {0xF14D, 0x99A6}, //19883 #CJK UNIFIED IDEOGRAPH
+  {0xF14E, 0x99A7}, //19884 #CJK UNIFIED IDEOGRAPH
+  {0xF14F, 0x99A9}, //19885 #CJK UNIFIED IDEOGRAPH
+  {0xF150, 0x99AA}, //19886 #CJK UNIFIED IDEOGRAPH
+  {0xF151, 0x99AB}, //19887 #CJK UNIFIED IDEOGRAPH
+  {0xF152, 0x99AC}, //19888 #CJK UNIFIED IDEOGRAPH
+  {0xF153, 0x99AD}, //19889 #CJK UNIFIED IDEOGRAPH
+  {0xF154, 0x99AE}, //19890 #CJK UNIFIED IDEOGRAPH
+  {0xF155, 0x99AF}, //19891 #CJK UNIFIED IDEOGRAPH
+  {0xF156, 0x99B0}, //19892 #CJK UNIFIED IDEOGRAPH
+  {0xF157, 0x99B1}, //19893 #CJK UNIFIED IDEOGRAPH
+  {0xF158, 0x99B2}, //19894 #CJK UNIFIED IDEOGRAPH
+  {0xF159, 0x99B3}, //19895 #CJK UNIFIED IDEOGRAPH
+  {0xF15A, 0x99B4}, //19896 #CJK UNIFIED IDEOGRAPH
+  {0xF15B, 0x99B5}, //19897 #CJK UNIFIED IDEOGRAPH
+  {0xF15C, 0x99B6}, //19898 #CJK UNIFIED IDEOGRAPH
+  {0xF15D, 0x99B7}, //19899 #CJK UNIFIED IDEOGRAPH
+  {0xF15E, 0x99B8}, //19900 #CJK UNIFIED IDEOGRAPH
+  {0xF15F, 0x99B9}, //19901 #CJK UNIFIED IDEOGRAPH
+  {0xF160, 0x99BA}, //19902 #CJK UNIFIED IDEOGRAPH
+  {0xF161, 0x99BB}, //19903 #CJK UNIFIED IDEOGRAPH
+  {0xF162, 0x99BC}, //19904 #CJK UNIFIED IDEOGRAPH
+  {0xF163, 0x99BD}, //19905 #CJK UNIFIED IDEOGRAPH
+  {0xF164, 0x99BE}, //19906 #CJK UNIFIED IDEOGRAPH
+  {0xF165, 0x99BF}, //19907 #CJK UNIFIED IDEOGRAPH
+  {0xF166, 0x99C0}, //19908 #CJK UNIFIED IDEOGRAPH
+  {0xF167, 0x99C1}, //19909 #CJK UNIFIED IDEOGRAPH
+  {0xF168, 0x99C2}, //19910 #CJK UNIFIED IDEOGRAPH
+  {0xF169, 0x99C3}, //19911 #CJK UNIFIED IDEOGRAPH
+  {0xF16A, 0x99C4}, //19912 #CJK UNIFIED IDEOGRAPH
+  {0xF16B, 0x99C5}, //19913 #CJK UNIFIED IDEOGRAPH
+  {0xF16C, 0x99C6}, //19914 #CJK UNIFIED IDEOGRAPH
+  {0xF16D, 0x99C7}, //19915 #CJK UNIFIED IDEOGRAPH
+  {0xF16E, 0x99C8}, //19916 #CJK UNIFIED IDEOGRAPH
+  {0xF16F, 0x99C9}, //19917 #CJK UNIFIED IDEOGRAPH
+  {0xF170, 0x99CA}, //19918 #CJK UNIFIED IDEOGRAPH
+  {0xF171, 0x99CB}, //19919 #CJK UNIFIED IDEOGRAPH
+  {0xF172, 0x99CC}, //19920 #CJK UNIFIED IDEOGRAPH
+  {0xF173, 0x99CD}, //19921 #CJK UNIFIED IDEOGRAPH
+  {0xF174, 0x99CE}, //19922 #CJK UNIFIED IDEOGRAPH
+  {0xF175, 0x99CF}, //19923 #CJK UNIFIED IDEOGRAPH
+  {0xF176, 0x99D0}, //19924 #CJK UNIFIED IDEOGRAPH
+  {0xF177, 0x99D1}, //19925 #CJK UNIFIED IDEOGRAPH
+  {0xF178, 0x99D2}, //19926 #CJK UNIFIED IDEOGRAPH
+  {0xF179, 0x99D3}, //19927 #CJK UNIFIED IDEOGRAPH
+  {0xF17A, 0x99D4}, //19928 #CJK UNIFIED IDEOGRAPH
+  {0xF17B, 0x99D5}, //19929 #CJK UNIFIED IDEOGRAPH
+  {0xF17C, 0x99D6}, //19930 #CJK UNIFIED IDEOGRAPH
+  {0xF17D, 0x99D7}, //19931 #CJK UNIFIED IDEOGRAPH
+  {0xF17E, 0x99D8}, //19932 #CJK UNIFIED IDEOGRAPH
+  {0xF180, 0x99D9}, //19933 #CJK UNIFIED IDEOGRAPH
+  {0xF181, 0x99DA}, //19934 #CJK UNIFIED IDEOGRAPH
+  {0xF182, 0x99DB}, //19935 #CJK UNIFIED IDEOGRAPH
+  {0xF183, 0x99DC}, //19936 #CJK UNIFIED IDEOGRAPH
+  {0xF184, 0x99DD}, //19937 #CJK UNIFIED IDEOGRAPH
+  {0xF185, 0x99DE}, //19938 #CJK UNIFIED IDEOGRAPH
+  {0xF186, 0x99DF}, //19939 #CJK UNIFIED IDEOGRAPH
+  {0xF187, 0x99E0}, //19940 #CJK UNIFIED IDEOGRAPH
+  {0xF188, 0x99E1}, //19941 #CJK UNIFIED IDEOGRAPH
+  {0xF189, 0x99E2}, //19942 #CJK UNIFIED IDEOGRAPH
+  {0xF18A, 0x99E3}, //19943 #CJK UNIFIED IDEOGRAPH
+  {0xF18B, 0x99E4}, //19944 #CJK UNIFIED IDEOGRAPH
+  {0xF18C, 0x99E5}, //19945 #CJK UNIFIED IDEOGRAPH
+  {0xF18D, 0x99E6}, //19946 #CJK UNIFIED IDEOGRAPH
+  {0xF18E, 0x99E7}, //19947 #CJK UNIFIED IDEOGRAPH
+  {0xF18F, 0x99E8}, //19948 #CJK UNIFIED IDEOGRAPH
+  {0xF190, 0x99E9}, //19949 #CJK UNIFIED IDEOGRAPH
+  {0xF191, 0x99EA}, //19950 #CJK UNIFIED IDEOGRAPH
+  {0xF192, 0x99EB}, //19951 #CJK UNIFIED IDEOGRAPH
+  {0xF193, 0x99EC}, //19952 #CJK UNIFIED IDEOGRAPH
+  {0xF194, 0x99ED}, //19953 #CJK UNIFIED IDEOGRAPH
+  {0xF195, 0x99EE}, //19954 #CJK UNIFIED IDEOGRAPH
+  {0xF196, 0x99EF}, //19955 #CJK UNIFIED IDEOGRAPH
+  {0xF197, 0x99F0}, //19956 #CJK UNIFIED IDEOGRAPH
+  {0xF198, 0x99F1}, //19957 #CJK UNIFIED IDEOGRAPH
+  {0xF199, 0x99F2}, //19958 #CJK UNIFIED IDEOGRAPH
+  {0xF19A, 0x99F3}, //19959 #CJK UNIFIED IDEOGRAPH
+  {0xF19B, 0x99F4}, //19960 #CJK UNIFIED IDEOGRAPH
+  {0xF19C, 0x99F5}, //19961 #CJK UNIFIED IDEOGRAPH
+  {0xF19D, 0x99F6}, //19962 #CJK UNIFIED IDEOGRAPH
+  {0xF19E, 0x99F7}, //19963 #CJK UNIFIED IDEOGRAPH
+  {0xF19F, 0x99F8}, //19964 #CJK UNIFIED IDEOGRAPH
+  {0xF1A0, 0x99F9}, //19965 #CJK UNIFIED IDEOGRAPH
+  {0xF1A1, 0x761B}, //19966 #CJK UNIFIED IDEOGRAPH
+  {0xF1A2, 0x763C}, //19967 #CJK UNIFIED IDEOGRAPH
+  {0xF1A3, 0x7622}, //19968 #CJK UNIFIED IDEOGRAPH
+  {0xF1A4, 0x7620}, //19969 #CJK UNIFIED IDEOGRAPH
+  {0xF1A5, 0x7640}, //19970 #CJK UNIFIED IDEOGRAPH
+  {0xF1A6, 0x762D}, //19971 #CJK UNIFIED IDEOGRAPH
+  {0xF1A7, 0x7630}, //19972 #CJK UNIFIED IDEOGRAPH
+  {0xF1A8, 0x763F}, //19973 #CJK UNIFIED IDEOGRAPH
+  {0xF1A9, 0x7635}, //19974 #CJK UNIFIED IDEOGRAPH
+  {0xF1AA, 0x7643}, //19975 #CJK UNIFIED IDEOGRAPH
+  {0xF1AB, 0x763E}, //19976 #CJK UNIFIED IDEOGRAPH
+  {0xF1AC, 0x7633}, //19977 #CJK UNIFIED IDEOGRAPH
+  {0xF1AD, 0x764D}, //19978 #CJK UNIFIED IDEOGRAPH
+  {0xF1AE, 0x765E}, //19979 #CJK UNIFIED IDEOGRAPH
+  {0xF1AF, 0x7654}, //19980 #CJK UNIFIED IDEOGRAPH
+  {0xF1B0, 0x765C}, //19981 #CJK UNIFIED IDEOGRAPH
+  {0xF1B1, 0x7656}, //19982 #CJK UNIFIED IDEOGRAPH
+  {0xF1B2, 0x766B}, //19983 #CJK UNIFIED IDEOGRAPH
+  {0xF1B3, 0x766F}, //19984 #CJK UNIFIED IDEOGRAPH
+  {0xF1B4, 0x7FCA}, //19985 #CJK UNIFIED IDEOGRAPH
+  {0xF1B5, 0x7AE6}, //19986 #CJK UNIFIED IDEOGRAPH
+  {0xF1B6, 0x7A78}, //19987 #CJK UNIFIED IDEOGRAPH
+  {0xF1B7, 0x7A79}, //19988 #CJK UNIFIED IDEOGRAPH
+  {0xF1B8, 0x7A80}, //19989 #CJK UNIFIED IDEOGRAPH
+  {0xF1B9, 0x7A86}, //19990 #CJK UNIFIED IDEOGRAPH
+  {0xF1BA, 0x7A88}, //19991 #CJK UNIFIED IDEOGRAPH
+  {0xF1BB, 0x7A95}, //19992 #CJK UNIFIED IDEOGRAPH
+  {0xF1BC, 0x7AA6}, //19993 #CJK UNIFIED IDEOGRAPH
+  {0xF1BD, 0x7AA0}, //19994 #CJK UNIFIED IDEOGRAPH
+  {0xF1BE, 0x7AAC}, //19995 #CJK UNIFIED IDEOGRAPH
+  {0xF1BF, 0x7AA8}, //19996 #CJK UNIFIED IDEOGRAPH
+  {0xF1C0, 0x7AAD}, //19997 #CJK UNIFIED IDEOGRAPH
+  {0xF1C1, 0x7AB3}, //19998 #CJK UNIFIED IDEOGRAPH
+  {0xF1C2, 0x8864}, //19999 #CJK UNIFIED IDEOGRAPH
+  {0xF1C3, 0x8869}, //20000 #CJK UNIFIED IDEOGRAPH
+  {0xF1C4, 0x8872}, //20001 #CJK UNIFIED IDEOGRAPH
+  {0xF1C5, 0x887D}, //20002 #CJK UNIFIED IDEOGRAPH
+  {0xF1C6, 0x887F}, //20003 #CJK UNIFIED IDEOGRAPH
+  {0xF1C7, 0x8882}, //20004 #CJK UNIFIED IDEOGRAPH
+  {0xF1C8, 0x88A2}, //20005 #CJK UNIFIED IDEOGRAPH
+  {0xF1C9, 0x88C6}, //20006 #CJK UNIFIED IDEOGRAPH
+  {0xF1CA, 0x88B7}, //20007 #CJK UNIFIED IDEOGRAPH
+  {0xF1CB, 0x88BC}, //20008 #CJK UNIFIED IDEOGRAPH
+  {0xF1CC, 0x88C9}, //20009 #CJK UNIFIED IDEOGRAPH
+  {0xF1CD, 0x88E2}, //20010 #CJK UNIFIED IDEOGRAPH
+  {0xF1CE, 0x88CE}, //20011 #CJK UNIFIED IDEOGRAPH
+  {0xF1CF, 0x88E3}, //20012 #CJK UNIFIED IDEOGRAPH
+  {0xF1D0, 0x88E5}, //20013 #CJK UNIFIED IDEOGRAPH
+  {0xF1D1, 0x88F1}, //20014 #CJK UNIFIED IDEOGRAPH
+  {0xF1D2, 0x891A}, //20015 #CJK UNIFIED IDEOGRAPH
+  {0xF1D3, 0x88FC}, //20016 #CJK UNIFIED IDEOGRAPH
+  {0xF1D4, 0x88E8}, //20017 #CJK UNIFIED IDEOGRAPH
+  {0xF1D5, 0x88FE}, //20018 #CJK UNIFIED IDEOGRAPH
+  {0xF1D6, 0x88F0}, //20019 #CJK UNIFIED IDEOGRAPH
+  {0xF1D7, 0x8921}, //20020 #CJK UNIFIED IDEOGRAPH
+  {0xF1D8, 0x8919}, //20021 #CJK UNIFIED IDEOGRAPH
+  {0xF1D9, 0x8913}, //20022 #CJK UNIFIED IDEOGRAPH
+  {0xF1DA, 0x891B}, //20023 #CJK UNIFIED IDEOGRAPH
+  {0xF1DB, 0x890A}, //20024 #CJK UNIFIED IDEOGRAPH
+  {0xF1DC, 0x8934}, //20025 #CJK UNIFIED IDEOGRAPH
+  {0xF1DD, 0x892B}, //20026 #CJK UNIFIED IDEOGRAPH
+  {0xF1DE, 0x8936}, //20027 #CJK UNIFIED IDEOGRAPH
+  {0xF1DF, 0x8941}, //20028 #CJK UNIFIED IDEOGRAPH
+  {0xF1E0, 0x8966}, //20029 #CJK UNIFIED IDEOGRAPH
+  {0xF1E1, 0x897B}, //20030 #CJK UNIFIED IDEOGRAPH
+  {0xF1E2, 0x758B}, //20031 #CJK UNIFIED IDEOGRAPH
+  {0xF1E3, 0x80E5}, //20032 #CJK UNIFIED IDEOGRAPH
+  {0xF1E4, 0x76B2}, //20033 #CJK UNIFIED IDEOGRAPH
+  {0xF1E5, 0x76B4}, //20034 #CJK UNIFIED IDEOGRAPH
+  {0xF1E6, 0x77DC}, //20035 #CJK UNIFIED IDEOGRAPH
+  {0xF1E7, 0x8012}, //20036 #CJK UNIFIED IDEOGRAPH
+  {0xF1E8, 0x8014}, //20037 #CJK UNIFIED IDEOGRAPH
+  {0xF1E9, 0x8016}, //20038 #CJK UNIFIED IDEOGRAPH
+  {0xF1EA, 0x801C}, //20039 #CJK UNIFIED IDEOGRAPH
+  {0xF1EB, 0x8020}, //20040 #CJK UNIFIED IDEOGRAPH
+  {0xF1EC, 0x8022}, //20041 #CJK UNIFIED IDEOGRAPH
+  {0xF1ED, 0x8025}, //20042 #CJK UNIFIED IDEOGRAPH
+  {0xF1EE, 0x8026}, //20043 #CJK UNIFIED IDEOGRAPH
+  {0xF1EF, 0x8027}, //20044 #CJK UNIFIED IDEOGRAPH
+  {0xF1F0, 0x8029}, //20045 #CJK UNIFIED IDEOGRAPH
+  {0xF1F1, 0x8028}, //20046 #CJK UNIFIED IDEOGRAPH
+  {0xF1F2, 0x8031}, //20047 #CJK UNIFIED IDEOGRAPH
+  {0xF1F3, 0x800B}, //20048 #CJK UNIFIED IDEOGRAPH
+  {0xF1F4, 0x8035}, //20049 #CJK UNIFIED IDEOGRAPH
+  {0xF1F5, 0x8043}, //20050 #CJK UNIFIED IDEOGRAPH
+  {0xF1F6, 0x8046}, //20051 #CJK UNIFIED IDEOGRAPH
+  {0xF1F7, 0x804D}, //20052 #CJK UNIFIED IDEOGRAPH
+  {0xF1F8, 0x8052}, //20053 #CJK UNIFIED IDEOGRAPH
+  {0xF1F9, 0x8069}, //20054 #CJK UNIFIED IDEOGRAPH
+  {0xF1FA, 0x8071}, //20055 #CJK UNIFIED IDEOGRAPH
+  {0xF1FB, 0x8983}, //20056 #CJK UNIFIED IDEOGRAPH
+  {0xF1FC, 0x9878}, //20057 #CJK UNIFIED IDEOGRAPH
+  {0xF1FD, 0x9880}, //20058 #CJK UNIFIED IDEOGRAPH
+  {0xF1FE, 0x9883}, //20059 #CJK UNIFIED IDEOGRAPH
+  {0xF240, 0x99FA}, //20060 #CJK UNIFIED IDEOGRAPH
+  {0xF241, 0x99FB}, //20061 #CJK UNIFIED IDEOGRAPH
+  {0xF242, 0x99FC}, //20062 #CJK UNIFIED IDEOGRAPH
+  {0xF243, 0x99FD}, //20063 #CJK UNIFIED IDEOGRAPH
+  {0xF244, 0x99FE}, //20064 #CJK UNIFIED IDEOGRAPH
+  {0xF245, 0x99FF}, //20065 #CJK UNIFIED IDEOGRAPH
+  {0xF246, 0x9A00}, //20066 #CJK UNIFIED IDEOGRAPH
+  {0xF247, 0x9A01}, //20067 #CJK UNIFIED IDEOGRAPH
+  {0xF248, 0x9A02}, //20068 #CJK UNIFIED IDEOGRAPH
+  {0xF249, 0x9A03}, //20069 #CJK UNIFIED IDEOGRAPH
+  {0xF24A, 0x9A04}, //20070 #CJK UNIFIED IDEOGRAPH
+  {0xF24B, 0x9A05}, //20071 #CJK UNIFIED IDEOGRAPH
+  {0xF24C, 0x9A06}, //20072 #CJK UNIFIED IDEOGRAPH
+  {0xF24D, 0x9A07}, //20073 #CJK UNIFIED IDEOGRAPH
+  {0xF24E, 0x9A08}, //20074 #CJK UNIFIED IDEOGRAPH
+  {0xF24F, 0x9A09}, //20075 #CJK UNIFIED IDEOGRAPH
+  {0xF250, 0x9A0A}, //20076 #CJK UNIFIED IDEOGRAPH
+  {0xF251, 0x9A0B}, //20077 #CJK UNIFIED IDEOGRAPH
+  {0xF252, 0x9A0C}, //20078 #CJK UNIFIED IDEOGRAPH
+  {0xF253, 0x9A0D}, //20079 #CJK UNIFIED IDEOGRAPH
+  {0xF254, 0x9A0E}, //20080 #CJK UNIFIED IDEOGRAPH
+  {0xF255, 0x9A0F}, //20081 #CJK UNIFIED IDEOGRAPH
+  {0xF256, 0x9A10}, //20082 #CJK UNIFIED IDEOGRAPH
+  {0xF257, 0x9A11}, //20083 #CJK UNIFIED IDEOGRAPH
+  {0xF258, 0x9A12}, //20084 #CJK UNIFIED IDEOGRAPH
+  {0xF259, 0x9A13}, //20085 #CJK UNIFIED IDEOGRAPH
+  {0xF25A, 0x9A14}, //20086 #CJK UNIFIED IDEOGRAPH
+  {0xF25B, 0x9A15}, //20087 #CJK UNIFIED IDEOGRAPH
+  {0xF25C, 0x9A16}, //20088 #CJK UNIFIED IDEOGRAPH
+  {0xF25D, 0x9A17}, //20089 #CJK UNIFIED IDEOGRAPH
+  {0xF25E, 0x9A18}, //20090 #CJK UNIFIED IDEOGRAPH
+  {0xF25F, 0x9A19}, //20091 #CJK UNIFIED IDEOGRAPH
+  {0xF260, 0x9A1A}, //20092 #CJK UNIFIED IDEOGRAPH
+  {0xF261, 0x9A1B}, //20093 #CJK UNIFIED IDEOGRAPH
+  {0xF262, 0x9A1C}, //20094 #CJK UNIFIED IDEOGRAPH
+  {0xF263, 0x9A1D}, //20095 #CJK UNIFIED IDEOGRAPH
+  {0xF264, 0x9A1E}, //20096 #CJK UNIFIED IDEOGRAPH
+  {0xF265, 0x9A1F}, //20097 #CJK UNIFIED IDEOGRAPH
+  {0xF266, 0x9A20}, //20098 #CJK UNIFIED IDEOGRAPH
+  {0xF267, 0x9A21}, //20099 #CJK UNIFIED IDEOGRAPH
+  {0xF268, 0x9A22}, //20100 #CJK UNIFIED IDEOGRAPH
+  {0xF269, 0x9A23}, //20101 #CJK UNIFIED IDEOGRAPH
+  {0xF26A, 0x9A24}, //20102 #CJK UNIFIED IDEOGRAPH
+  {0xF26B, 0x9A25}, //20103 #CJK UNIFIED IDEOGRAPH
+  {0xF26C, 0x9A26}, //20104 #CJK UNIFIED IDEOGRAPH
+  {0xF26D, 0x9A27}, //20105 #CJK UNIFIED IDEOGRAPH
+  {0xF26E, 0x9A28}, //20106 #CJK UNIFIED IDEOGRAPH
+  {0xF26F, 0x9A29}, //20107 #CJK UNIFIED IDEOGRAPH
+  {0xF270, 0x9A2A}, //20108 #CJK UNIFIED IDEOGRAPH
+  {0xF271, 0x9A2B}, //20109 #CJK UNIFIED IDEOGRAPH
+  {0xF272, 0x9A2C}, //20110 #CJK UNIFIED IDEOGRAPH
+  {0xF273, 0x9A2D}, //20111 #CJK UNIFIED IDEOGRAPH
+  {0xF274, 0x9A2E}, //20112 #CJK UNIFIED IDEOGRAPH
+  {0xF275, 0x9A2F}, //20113 #CJK UNIFIED IDEOGRAPH
+  {0xF276, 0x9A30}, //20114 #CJK UNIFIED IDEOGRAPH
+  {0xF277, 0x9A31}, //20115 #CJK UNIFIED IDEOGRAPH
+  {0xF278, 0x9A32}, //20116 #CJK UNIFIED IDEOGRAPH
+  {0xF279, 0x9A33}, //20117 #CJK UNIFIED IDEOGRAPH
+  {0xF27A, 0x9A34}, //20118 #CJK UNIFIED IDEOGRAPH
+  {0xF27B, 0x9A35}, //20119 #CJK UNIFIED IDEOGRAPH
+  {0xF27C, 0x9A36}, //20120 #CJK UNIFIED IDEOGRAPH
+  {0xF27D, 0x9A37}, //20121 #CJK UNIFIED IDEOGRAPH
+  {0xF27E, 0x9A38}, //20122 #CJK UNIFIED IDEOGRAPH
+  {0xF280, 0x9A39}, //20123 #CJK UNIFIED IDEOGRAPH
+  {0xF281, 0x9A3A}, //20124 #CJK UNIFIED IDEOGRAPH
+  {0xF282, 0x9A3B}, //20125 #CJK UNIFIED IDEOGRAPH
+  {0xF283, 0x9A3C}, //20126 #CJK UNIFIED IDEOGRAPH
+  {0xF284, 0x9A3D}, //20127 #CJK UNIFIED IDEOGRAPH
+  {0xF285, 0x9A3E}, //20128 #CJK UNIFIED IDEOGRAPH
+  {0xF286, 0x9A3F}, //20129 #CJK UNIFIED IDEOGRAPH
+  {0xF287, 0x9A40}, //20130 #CJK UNIFIED IDEOGRAPH
+  {0xF288, 0x9A41}, //20131 #CJK UNIFIED IDEOGRAPH
+  {0xF289, 0x9A42}, //20132 #CJK UNIFIED IDEOGRAPH
+  {0xF28A, 0x9A43}, //20133 #CJK UNIFIED IDEOGRAPH
+  {0xF28B, 0x9A44}, //20134 #CJK UNIFIED IDEOGRAPH
+  {0xF28C, 0x9A45}, //20135 #CJK UNIFIED IDEOGRAPH
+  {0xF28D, 0x9A46}, //20136 #CJK UNIFIED IDEOGRAPH
+  {0xF28E, 0x9A47}, //20137 #CJK UNIFIED IDEOGRAPH
+  {0xF28F, 0x9A48}, //20138 #CJK UNIFIED IDEOGRAPH
+  {0xF290, 0x9A49}, //20139 #CJK UNIFIED IDEOGRAPH
+  {0xF291, 0x9A4A}, //20140 #CJK UNIFIED IDEOGRAPH
+  {0xF292, 0x9A4B}, //20141 #CJK UNIFIED IDEOGRAPH
+  {0xF293, 0x9A4C}, //20142 #CJK UNIFIED IDEOGRAPH
+  {0xF294, 0x9A4D}, //20143 #CJK UNIFIED IDEOGRAPH
+  {0xF295, 0x9A4E}, //20144 #CJK UNIFIED IDEOGRAPH
+  {0xF296, 0x9A4F}, //20145 #CJK UNIFIED IDEOGRAPH
+  {0xF297, 0x9A50}, //20146 #CJK UNIFIED IDEOGRAPH
+  {0xF298, 0x9A51}, //20147 #CJK UNIFIED IDEOGRAPH
+  {0xF299, 0x9A52}, //20148 #CJK UNIFIED IDEOGRAPH
+  {0xF29A, 0x9A53}, //20149 #CJK UNIFIED IDEOGRAPH
+  {0xF29B, 0x9A54}, //20150 #CJK UNIFIED IDEOGRAPH
+  {0xF29C, 0x9A55}, //20151 #CJK UNIFIED IDEOGRAPH
+  {0xF29D, 0x9A56}, //20152 #CJK UNIFIED IDEOGRAPH
+  {0xF29E, 0x9A57}, //20153 #CJK UNIFIED IDEOGRAPH
+  {0xF29F, 0x9A58}, //20154 #CJK UNIFIED IDEOGRAPH
+  {0xF2A0, 0x9A59}, //20155 #CJK UNIFIED IDEOGRAPH
+  {0xF2A1, 0x9889}, //20156 #CJK UNIFIED IDEOGRAPH
+  {0xF2A2, 0x988C}, //20157 #CJK UNIFIED IDEOGRAPH
+  {0xF2A3, 0x988D}, //20158 #CJK UNIFIED IDEOGRAPH
+  {0xF2A4, 0x988F}, //20159 #CJK UNIFIED IDEOGRAPH
+  {0xF2A5, 0x9894}, //20160 #CJK UNIFIED IDEOGRAPH
+  {0xF2A6, 0x989A}, //20161 #CJK UNIFIED IDEOGRAPH
+  {0xF2A7, 0x989B}, //20162 #CJK UNIFIED IDEOGRAPH
+  {0xF2A8, 0x989E}, //20163 #CJK UNIFIED IDEOGRAPH
+  {0xF2A9, 0x989F}, //20164 #CJK UNIFIED IDEOGRAPH
+  {0xF2AA, 0x98A1}, //20165 #CJK UNIFIED IDEOGRAPH
+  {0xF2AB, 0x98A2}, //20166 #CJK UNIFIED IDEOGRAPH
+  {0xF2AC, 0x98A5}, //20167 #CJK UNIFIED IDEOGRAPH
+  {0xF2AD, 0x98A6}, //20168 #CJK UNIFIED IDEOGRAPH
+  {0xF2AE, 0x864D}, //20169 #CJK UNIFIED IDEOGRAPH
+  {0xF2AF, 0x8654}, //20170 #CJK UNIFIED IDEOGRAPH
+  {0xF2B0, 0x866C}, //20171 #CJK UNIFIED IDEOGRAPH
+  {0xF2B1, 0x866E}, //20172 #CJK UNIFIED IDEOGRAPH
+  {0xF2B2, 0x867F}, //20173 #CJK UNIFIED IDEOGRAPH
+  {0xF2B3, 0x867A}, //20174 #CJK UNIFIED IDEOGRAPH
+  {0xF2B4, 0x867C}, //20175 #CJK UNIFIED IDEOGRAPH
+  {0xF2B5, 0x867B}, //20176 #CJK UNIFIED IDEOGRAPH
+  {0xF2B6, 0x86A8}, //20177 #CJK UNIFIED IDEOGRAPH
+  {0xF2B7, 0x868D}, //20178 #CJK UNIFIED IDEOGRAPH
+  {0xF2B8, 0x868B}, //20179 #CJK UNIFIED IDEOGRAPH
+  {0xF2B9, 0x86AC}, //20180 #CJK UNIFIED IDEOGRAPH
+  {0xF2BA, 0x869D}, //20181 #CJK UNIFIED IDEOGRAPH
+  {0xF2BB, 0x86A7}, //20182 #CJK UNIFIED IDEOGRAPH
+  {0xF2BC, 0x86A3}, //20183 #CJK UNIFIED IDEOGRAPH
+  {0xF2BD, 0x86AA}, //20184 #CJK UNIFIED IDEOGRAPH
+  {0xF2BE, 0x8693}, //20185 #CJK UNIFIED IDEOGRAPH
+  {0xF2BF, 0x86A9}, //20186 #CJK UNIFIED IDEOGRAPH
+  {0xF2C0, 0x86B6}, //20187 #CJK UNIFIED IDEOGRAPH
+  {0xF2C1, 0x86C4}, //20188 #CJK UNIFIED IDEOGRAPH
+  {0xF2C2, 0x86B5}, //20189 #CJK UNIFIED IDEOGRAPH
+  {0xF2C3, 0x86CE}, //20190 #CJK UNIFIED IDEOGRAPH
+  {0xF2C4, 0x86B0}, //20191 #CJK UNIFIED IDEOGRAPH
+  {0xF2C5, 0x86BA}, //20192 #CJK UNIFIED IDEOGRAPH
+  {0xF2C6, 0x86B1}, //20193 #CJK UNIFIED IDEOGRAPH
+  {0xF2C7, 0x86AF}, //20194 #CJK UNIFIED IDEOGRAPH
+  {0xF2C8, 0x86C9}, //20195 #CJK UNIFIED IDEOGRAPH
+  {0xF2C9, 0x86CF}, //20196 #CJK UNIFIED IDEOGRAPH
+  {0xF2CA, 0x86B4}, //20197 #CJK UNIFIED IDEOGRAPH
+  {0xF2CB, 0x86E9}, //20198 #CJK UNIFIED IDEOGRAPH
+  {0xF2CC, 0x86F1}, //20199 #CJK UNIFIED IDEOGRAPH
+  {0xF2CD, 0x86F2}, //20200 #CJK UNIFIED IDEOGRAPH
+  {0xF2CE, 0x86ED}, //20201 #CJK UNIFIED IDEOGRAPH
+  {0xF2CF, 0x86F3}, //20202 #CJK UNIFIED IDEOGRAPH
+  {0xF2D0, 0x86D0}, //20203 #CJK UNIFIED IDEOGRAPH
+  {0xF2D1, 0x8713}, //20204 #CJK UNIFIED IDEOGRAPH
+  {0xF2D2, 0x86DE}, //20205 #CJK UNIFIED IDEOGRAPH
+  {0xF2D3, 0x86F4}, //20206 #CJK UNIFIED IDEOGRAPH
+  {0xF2D4, 0x86DF}, //20207 #CJK UNIFIED IDEOGRAPH
+  {0xF2D5, 0x86D8}, //20208 #CJK UNIFIED IDEOGRAPH
+  {0xF2D6, 0x86D1}, //20209 #CJK UNIFIED IDEOGRAPH
+  {0xF2D7, 0x8703}, //20210 #CJK UNIFIED IDEOGRAPH
+  {0xF2D8, 0x8707}, //20211 #CJK UNIFIED IDEOGRAPH
+  {0xF2D9, 0x86F8}, //20212 #CJK UNIFIED IDEOGRAPH
+  {0xF2DA, 0x8708}, //20213 #CJK UNIFIED IDEOGRAPH
+  {0xF2DB, 0x870A}, //20214 #CJK UNIFIED IDEOGRAPH
+  {0xF2DC, 0x870D}, //20215 #CJK UNIFIED IDEOGRAPH
+  {0xF2DD, 0x8709}, //20216 #CJK UNIFIED IDEOGRAPH
+  {0xF2DE, 0x8723}, //20217 #CJK UNIFIED IDEOGRAPH
+  {0xF2DF, 0x873B}, //20218 #CJK UNIFIED IDEOGRAPH
+  {0xF2E0, 0x871E}, //20219 #CJK UNIFIED IDEOGRAPH
+  {0xF2E1, 0x8725}, //20220 #CJK UNIFIED IDEOGRAPH
+  {0xF2E2, 0x872E}, //20221 #CJK UNIFIED IDEOGRAPH
+  {0xF2E3, 0x871A}, //20222 #CJK UNIFIED IDEOGRAPH
+  {0xF2E4, 0x873E}, //20223 #CJK UNIFIED IDEOGRAPH
+  {0xF2E5, 0x8748}, //20224 #CJK UNIFIED IDEOGRAPH
+  {0xF2E6, 0x8734}, //20225 #CJK UNIFIED IDEOGRAPH
+  {0xF2E7, 0x8731}, //20226 #CJK UNIFIED IDEOGRAPH
+  {0xF2E8, 0x8729}, //20227 #CJK UNIFIED IDEOGRAPH
+  {0xF2E9, 0x8737}, //20228 #CJK UNIFIED IDEOGRAPH
+  {0xF2EA, 0x873F}, //20229 #CJK UNIFIED IDEOGRAPH
+  {0xF2EB, 0x8782}, //20230 #CJK UNIFIED IDEOGRAPH
+  {0xF2EC, 0x8722}, //20231 #CJK UNIFIED IDEOGRAPH
+  {0xF2ED, 0x877D}, //20232 #CJK UNIFIED IDEOGRAPH
+  {0xF2EE, 0x877E}, //20233 #CJK UNIFIED IDEOGRAPH
+  {0xF2EF, 0x877B}, //20234 #CJK UNIFIED IDEOGRAPH
+  {0xF2F0, 0x8760}, //20235 #CJK UNIFIED IDEOGRAPH
+  {0xF2F1, 0x8770}, //20236 #CJK UNIFIED IDEOGRAPH
+  {0xF2F2, 0x874C}, //20237 #CJK UNIFIED IDEOGRAPH
+  {0xF2F3, 0x876E}, //20238 #CJK UNIFIED IDEOGRAPH
+  {0xF2F4, 0x878B}, //20239 #CJK UNIFIED IDEOGRAPH
+  {0xF2F5, 0x8753}, //20240 #CJK UNIFIED IDEOGRAPH
+  {0xF2F6, 0x8763}, //20241 #CJK UNIFIED IDEOGRAPH
+  {0xF2F7, 0x877C}, //20242 #CJK UNIFIED IDEOGRAPH
+  {0xF2F8, 0x8764}, //20243 #CJK UNIFIED IDEOGRAPH
+  {0xF2F9, 0x8759}, //20244 #CJK UNIFIED IDEOGRAPH
+  {0xF2FA, 0x8765}, //20245 #CJK UNIFIED IDEOGRAPH
+  {0xF2FB, 0x8793}, //20246 #CJK UNIFIED IDEOGRAPH
+  {0xF2FC, 0x87AF}, //20247 #CJK UNIFIED IDEOGRAPH
+  {0xF2FD, 0x87A8}, //20248 #CJK UNIFIED IDEOGRAPH
+  {0xF2FE, 0x87D2}, //20249 #CJK UNIFIED IDEOGRAPH
+  {0xF340, 0x9A5A}, //20250 #CJK UNIFIED IDEOGRAPH
+  {0xF341, 0x9A5B}, //20251 #CJK UNIFIED IDEOGRAPH
+  {0xF342, 0x9A5C}, //20252 #CJK UNIFIED IDEOGRAPH
+  {0xF343, 0x9A5D}, //20253 #CJK UNIFIED IDEOGRAPH
+  {0xF344, 0x9A5E}, //20254 #CJK UNIFIED IDEOGRAPH
+  {0xF345, 0x9A5F}, //20255 #CJK UNIFIED IDEOGRAPH
+  {0xF346, 0x9A60}, //20256 #CJK UNIFIED IDEOGRAPH
+  {0xF347, 0x9A61}, //20257 #CJK UNIFIED IDEOGRAPH
+  {0xF348, 0x9A62}, //20258 #CJK UNIFIED IDEOGRAPH
+  {0xF349, 0x9A63}, //20259 #CJK UNIFIED IDEOGRAPH
+  {0xF34A, 0x9A64}, //20260 #CJK UNIFIED IDEOGRAPH
+  {0xF34B, 0x9A65}, //20261 #CJK UNIFIED IDEOGRAPH
+  {0xF34C, 0x9A66}, //20262 #CJK UNIFIED IDEOGRAPH
+  {0xF34D, 0x9A67}, //20263 #CJK UNIFIED IDEOGRAPH
+  {0xF34E, 0x9A68}, //20264 #CJK UNIFIED IDEOGRAPH
+  {0xF34F, 0x9A69}, //20265 #CJK UNIFIED IDEOGRAPH
+  {0xF350, 0x9A6A}, //20266 #CJK UNIFIED IDEOGRAPH
+  {0xF351, 0x9A6B}, //20267 #CJK UNIFIED IDEOGRAPH
+  {0xF352, 0x9A72}, //20268 #CJK UNIFIED IDEOGRAPH
+  {0xF353, 0x9A83}, //20269 #CJK UNIFIED IDEOGRAPH
+  {0xF354, 0x9A89}, //20270 #CJK UNIFIED IDEOGRAPH
+  {0xF355, 0x9A8D}, //20271 #CJK UNIFIED IDEOGRAPH
+  {0xF356, 0x9A8E}, //20272 #CJK UNIFIED IDEOGRAPH
+  {0xF357, 0x9A94}, //20273 #CJK UNIFIED IDEOGRAPH
+  {0xF358, 0x9A95}, //20274 #CJK UNIFIED IDEOGRAPH
+  {0xF359, 0x9A99}, //20275 #CJK UNIFIED IDEOGRAPH
+  {0xF35A, 0x9AA6}, //20276 #CJK UNIFIED IDEOGRAPH
+  {0xF35B, 0x9AA9}, //20277 #CJK UNIFIED IDEOGRAPH
+  {0xF35C, 0x9AAA}, //20278 #CJK UNIFIED IDEOGRAPH
+  {0xF35D, 0x9AAB}, //20279 #CJK UNIFIED IDEOGRAPH
+  {0xF35E, 0x9AAC}, //20280 #CJK UNIFIED IDEOGRAPH
+  {0xF35F, 0x9AAD}, //20281 #CJK UNIFIED IDEOGRAPH
+  {0xF360, 0x9AAE}, //20282 #CJK UNIFIED IDEOGRAPH
+  {0xF361, 0x9AAF}, //20283 #CJK UNIFIED IDEOGRAPH
+  {0xF362, 0x9AB2}, //20284 #CJK UNIFIED IDEOGRAPH
+  {0xF363, 0x9AB3}, //20285 #CJK UNIFIED IDEOGRAPH
+  {0xF364, 0x9AB4}, //20286 #CJK UNIFIED IDEOGRAPH
+  {0xF365, 0x9AB5}, //20287 #CJK UNIFIED IDEOGRAPH
+  {0xF366, 0x9AB9}, //20288 #CJK UNIFIED IDEOGRAPH
+  {0xF367, 0x9ABB}, //20289 #CJK UNIFIED IDEOGRAPH
+  {0xF368, 0x9ABD}, //20290 #CJK UNIFIED IDEOGRAPH
+  {0xF369, 0x9ABE}, //20291 #CJK UNIFIED IDEOGRAPH
+  {0xF36A, 0x9ABF}, //20292 #CJK UNIFIED IDEOGRAPH
+  {0xF36B, 0x9AC3}, //20293 #CJK UNIFIED IDEOGRAPH
+  {0xF36C, 0x9AC4}, //20294 #CJK UNIFIED IDEOGRAPH
+  {0xF36D, 0x9AC6}, //20295 #CJK UNIFIED IDEOGRAPH
+  {0xF36E, 0x9AC7}, //20296 #CJK UNIFIED IDEOGRAPH
+  {0xF36F, 0x9AC8}, //20297 #CJK UNIFIED IDEOGRAPH
+  {0xF370, 0x9AC9}, //20298 #CJK UNIFIED IDEOGRAPH
+  {0xF371, 0x9ACA}, //20299 #CJK UNIFIED IDEOGRAPH
+  {0xF372, 0x9ACD}, //20300 #CJK UNIFIED IDEOGRAPH
+  {0xF373, 0x9ACE}, //20301 #CJK UNIFIED IDEOGRAPH
+  {0xF374, 0x9ACF}, //20302 #CJK UNIFIED IDEOGRAPH
+  {0xF375, 0x9AD0}, //20303 #CJK UNIFIED IDEOGRAPH
+  {0xF376, 0x9AD2}, //20304 #CJK UNIFIED IDEOGRAPH
+  {0xF377, 0x9AD4}, //20305 #CJK UNIFIED IDEOGRAPH
+  {0xF378, 0x9AD5}, //20306 #CJK UNIFIED IDEOGRAPH
+  {0xF379, 0x9AD6}, //20307 #CJK UNIFIED IDEOGRAPH
+  {0xF37A, 0x9AD7}, //20308 #CJK UNIFIED IDEOGRAPH
+  {0xF37B, 0x9AD9}, //20309 #CJK UNIFIED IDEOGRAPH
+  {0xF37C, 0x9ADA}, //20310 #CJK UNIFIED IDEOGRAPH
+  {0xF37D, 0x9ADB}, //20311 #CJK UNIFIED IDEOGRAPH
+  {0xF37E, 0x9ADC}, //20312 #CJK UNIFIED IDEOGRAPH
+  {0xF380, 0x9ADD}, //20313 #CJK UNIFIED IDEOGRAPH
+  {0xF381, 0x9ADE}, //20314 #CJK UNIFIED IDEOGRAPH
+  {0xF382, 0x9AE0}, //20315 #CJK UNIFIED IDEOGRAPH
+  {0xF383, 0x9AE2}, //20316 #CJK UNIFIED IDEOGRAPH
+  {0xF384, 0x9AE3}, //20317 #CJK UNIFIED IDEOGRAPH
+  {0xF385, 0x9AE4}, //20318 #CJK UNIFIED IDEOGRAPH
+  {0xF386, 0x9AE5}, //20319 #CJK UNIFIED IDEOGRAPH
+  {0xF387, 0x9AE7}, //20320 #CJK UNIFIED IDEOGRAPH
+  {0xF388, 0x9AE8}, //20321 #CJK UNIFIED IDEOGRAPH
+  {0xF389, 0x9AE9}, //20322 #CJK UNIFIED IDEOGRAPH
+  {0xF38A, 0x9AEA}, //20323 #CJK UNIFIED IDEOGRAPH
+  {0xF38B, 0x9AEC}, //20324 #CJK UNIFIED IDEOGRAPH
+  {0xF38C, 0x9AEE}, //20325 #CJK UNIFIED IDEOGRAPH
+  {0xF38D, 0x9AF0}, //20326 #CJK UNIFIED IDEOGRAPH
+  {0xF38E, 0x9AF1}, //20327 #CJK UNIFIED IDEOGRAPH
+  {0xF38F, 0x9AF2}, //20328 #CJK UNIFIED IDEOGRAPH
+  {0xF390, 0x9AF3}, //20329 #CJK UNIFIED IDEOGRAPH
+  {0xF391, 0x9AF4}, //20330 #CJK UNIFIED IDEOGRAPH
+  {0xF392, 0x9AF5}, //20331 #CJK UNIFIED IDEOGRAPH
+  {0xF393, 0x9AF6}, //20332 #CJK UNIFIED IDEOGRAPH
+  {0xF394, 0x9AF7}, //20333 #CJK UNIFIED IDEOGRAPH
+  {0xF395, 0x9AF8}, //20334 #CJK UNIFIED IDEOGRAPH
+  {0xF396, 0x9AFA}, //20335 #CJK UNIFIED IDEOGRAPH
+  {0xF397, 0x9AFC}, //20336 #CJK UNIFIED IDEOGRAPH
+  {0xF398, 0x9AFD}, //20337 #CJK UNIFIED IDEOGRAPH
+  {0xF399, 0x9AFE}, //20338 #CJK UNIFIED IDEOGRAPH
+  {0xF39A, 0x9AFF}, //20339 #CJK UNIFIED IDEOGRAPH
+  {0xF39B, 0x9B00}, //20340 #CJK UNIFIED IDEOGRAPH
+  {0xF39C, 0x9B01}, //20341 #CJK UNIFIED IDEOGRAPH
+  {0xF39D, 0x9B02}, //20342 #CJK UNIFIED IDEOGRAPH
+  {0xF39E, 0x9B04}, //20343 #CJK UNIFIED IDEOGRAPH
+  {0xF39F, 0x9B05}, //20344 #CJK UNIFIED IDEOGRAPH
+  {0xF3A0, 0x9B06}, //20345 #CJK UNIFIED IDEOGRAPH
+  {0xF3A1, 0x87C6}, //20346 #CJK UNIFIED IDEOGRAPH
+  {0xF3A2, 0x8788}, //20347 #CJK UNIFIED IDEOGRAPH
+  {0xF3A3, 0x8785}, //20348 #CJK UNIFIED IDEOGRAPH
+  {0xF3A4, 0x87AD}, //20349 #CJK UNIFIED IDEOGRAPH
+  {0xF3A5, 0x8797}, //20350 #CJK UNIFIED IDEOGRAPH
+  {0xF3A6, 0x8783}, //20351 #CJK UNIFIED IDEOGRAPH
+  {0xF3A7, 0x87AB}, //20352 #CJK UNIFIED IDEOGRAPH
+  {0xF3A8, 0x87E5}, //20353 #CJK UNIFIED IDEOGRAPH
+  {0xF3A9, 0x87AC}, //20354 #CJK UNIFIED IDEOGRAPH
+  {0xF3AA, 0x87B5}, //20355 #CJK UNIFIED IDEOGRAPH
+  {0xF3AB, 0x87B3}, //20356 #CJK UNIFIED IDEOGRAPH
+  {0xF3AC, 0x87CB}, //20357 #CJK UNIFIED IDEOGRAPH
+  {0xF3AD, 0x87D3}, //20358 #CJK UNIFIED IDEOGRAPH
+  {0xF3AE, 0x87BD}, //20359 #CJK UNIFIED IDEOGRAPH
+  {0xF3AF, 0x87D1}, //20360 #CJK UNIFIED IDEOGRAPH
+  {0xF3B0, 0x87C0}, //20361 #CJK UNIFIED IDEOGRAPH
+  {0xF3B1, 0x87CA}, //20362 #CJK UNIFIED IDEOGRAPH
+  {0xF3B2, 0x87DB}, //20363 #CJK UNIFIED IDEOGRAPH
+  {0xF3B3, 0x87EA}, //20364 #CJK UNIFIED IDEOGRAPH
+  {0xF3B4, 0x87E0}, //20365 #CJK UNIFIED IDEOGRAPH
+  {0xF3B5, 0x87EE}, //20366 #CJK UNIFIED IDEOGRAPH
+  {0xF3B6, 0x8816}, //20367 #CJK UNIFIED IDEOGRAPH
+  {0xF3B7, 0x8813}, //20368 #CJK UNIFIED IDEOGRAPH
+  {0xF3B8, 0x87FE}, //20369 #CJK UNIFIED IDEOGRAPH
+  {0xF3B9, 0x880A}, //20370 #CJK UNIFIED IDEOGRAPH
+  {0xF3BA, 0x881B}, //20371 #CJK UNIFIED IDEOGRAPH
+  {0xF3BB, 0x8821}, //20372 #CJK UNIFIED IDEOGRAPH
+  {0xF3BC, 0x8839}, //20373 #CJK UNIFIED IDEOGRAPH
+  {0xF3BD, 0x883C}, //20374 #CJK UNIFIED IDEOGRAPH
+  {0xF3BE, 0x7F36}, //20375 #CJK UNIFIED IDEOGRAPH
+  {0xF3BF, 0x7F42}, //20376 #CJK UNIFIED IDEOGRAPH
+  {0xF3C0, 0x7F44}, //20377 #CJK UNIFIED IDEOGRAPH
+  {0xF3C1, 0x7F45}, //20378 #CJK UNIFIED IDEOGRAPH
+  {0xF3C2, 0x8210}, //20379 #CJK UNIFIED IDEOGRAPH
+  {0xF3C3, 0x7AFA}, //20380 #CJK UNIFIED IDEOGRAPH
+  {0xF3C4, 0x7AFD}, //20381 #CJK UNIFIED IDEOGRAPH
+  {0xF3C5, 0x7B08}, //20382 #CJK UNIFIED IDEOGRAPH
+  {0xF3C6, 0x7B03}, //20383 #CJK UNIFIED IDEOGRAPH
+  {0xF3C7, 0x7B04}, //20384 #CJK UNIFIED IDEOGRAPH
+  {0xF3C8, 0x7B15}, //20385 #CJK UNIFIED IDEOGRAPH
+  {0xF3C9, 0x7B0A}, //20386 #CJK UNIFIED IDEOGRAPH
+  {0xF3CA, 0x7B2B}, //20387 #CJK UNIFIED IDEOGRAPH
+  {0xF3CB, 0x7B0F}, //20388 #CJK UNIFIED IDEOGRAPH
+  {0xF3CC, 0x7B47}, //20389 #CJK UNIFIED IDEOGRAPH
+  {0xF3CD, 0x7B38}, //20390 #CJK UNIFIED IDEOGRAPH
+  {0xF3CE, 0x7B2A}, //20391 #CJK UNIFIED IDEOGRAPH
+  {0xF3CF, 0x7B19}, //20392 #CJK UNIFIED IDEOGRAPH
+  {0xF3D0, 0x7B2E}, //20393 #CJK UNIFIED IDEOGRAPH
+  {0xF3D1, 0x7B31}, //20394 #CJK UNIFIED IDEOGRAPH
+  {0xF3D2, 0x7B20}, //20395 #CJK UNIFIED IDEOGRAPH
+  {0xF3D3, 0x7B25}, //20396 #CJK UNIFIED IDEOGRAPH
+  {0xF3D4, 0x7B24}, //20397 #CJK UNIFIED IDEOGRAPH
+  {0xF3D5, 0x7B33}, //20398 #CJK UNIFIED IDEOGRAPH
+  {0xF3D6, 0x7B3E}, //20399 #CJK UNIFIED IDEOGRAPH
+  {0xF3D7, 0x7B1E}, //20400 #CJK UNIFIED IDEOGRAPH
+  {0xF3D8, 0x7B58}, //20401 #CJK UNIFIED IDEOGRAPH
+  {0xF3D9, 0x7B5A}, //20402 #CJK UNIFIED IDEOGRAPH
+  {0xF3DA, 0x7B45}, //20403 #CJK UNIFIED IDEOGRAPH
+  {0xF3DB, 0x7B75}, //20404 #CJK UNIFIED IDEOGRAPH
+  {0xF3DC, 0x7B4C}, //20405 #CJK UNIFIED IDEOGRAPH
+  {0xF3DD, 0x7B5D}, //20406 #CJK UNIFIED IDEOGRAPH
+  {0xF3DE, 0x7B60}, //20407 #CJK UNIFIED IDEOGRAPH
+  {0xF3DF, 0x7B6E}, //20408 #CJK UNIFIED IDEOGRAPH
+  {0xF3E0, 0x7B7B}, //20409 #CJK UNIFIED IDEOGRAPH
+  {0xF3E1, 0x7B62}, //20410 #CJK UNIFIED IDEOGRAPH
+  {0xF3E2, 0x7B72}, //20411 #CJK UNIFIED IDEOGRAPH
+  {0xF3E3, 0x7B71}, //20412 #CJK UNIFIED IDEOGRAPH
+  {0xF3E4, 0x7B90}, //20413 #CJK UNIFIED IDEOGRAPH
+  {0xF3E5, 0x7BA6}, //20414 #CJK UNIFIED IDEOGRAPH
+  {0xF3E6, 0x7BA7}, //20415 #CJK UNIFIED IDEOGRAPH
+  {0xF3E7, 0x7BB8}, //20416 #CJK UNIFIED IDEOGRAPH
+  {0xF3E8, 0x7BAC}, //20417 #CJK UNIFIED IDEOGRAPH
+  {0xF3E9, 0x7B9D}, //20418 #CJK UNIFIED IDEOGRAPH
+  {0xF3EA, 0x7BA8}, //20419 #CJK UNIFIED IDEOGRAPH
+  {0xF3EB, 0x7B85}, //20420 #CJK UNIFIED IDEOGRAPH
+  {0xF3EC, 0x7BAA}, //20421 #CJK UNIFIED IDEOGRAPH
+  {0xF3ED, 0x7B9C}, //20422 #CJK UNIFIED IDEOGRAPH
+  {0xF3EE, 0x7BA2}, //20423 #CJK UNIFIED IDEOGRAPH
+  {0xF3EF, 0x7BAB}, //20424 #CJK UNIFIED IDEOGRAPH
+  {0xF3F0, 0x7BB4}, //20425 #CJK UNIFIED IDEOGRAPH
+  {0xF3F1, 0x7BD1}, //20426 #CJK UNIFIED IDEOGRAPH
+  {0xF3F2, 0x7BC1}, //20427 #CJK UNIFIED IDEOGRAPH
+  {0xF3F3, 0x7BCC}, //20428 #CJK UNIFIED IDEOGRAPH
+  {0xF3F4, 0x7BDD}, //20429 #CJK UNIFIED IDEOGRAPH
+  {0xF3F5, 0x7BDA}, //20430 #CJK UNIFIED IDEOGRAPH
+  {0xF3F6, 0x7BE5}, //20431 #CJK UNIFIED IDEOGRAPH
+  {0xF3F7, 0x7BE6}, //20432 #CJK UNIFIED IDEOGRAPH
+  {0xF3F8, 0x7BEA}, //20433 #CJK UNIFIED IDEOGRAPH
+  {0xF3F9, 0x7C0C}, //20434 #CJK UNIFIED IDEOGRAPH
+  {0xF3FA, 0x7BFE}, //20435 #CJK UNIFIED IDEOGRAPH
+  {0xF3FB, 0x7BFC}, //20436 #CJK UNIFIED IDEOGRAPH
+  {0xF3FC, 0x7C0F}, //20437 #CJK UNIFIED IDEOGRAPH
+  {0xF3FD, 0x7C16}, //20438 #CJK UNIFIED IDEOGRAPH
+  {0xF3FE, 0x7C0B}, //20439 #CJK UNIFIED IDEOGRAPH
+  {0xF440, 0x9B07}, //20440 #CJK UNIFIED IDEOGRAPH
+  {0xF441, 0x9B09}, //20441 #CJK UNIFIED IDEOGRAPH
+  {0xF442, 0x9B0A}, //20442 #CJK UNIFIED IDEOGRAPH
+  {0xF443, 0x9B0B}, //20443 #CJK UNIFIED IDEOGRAPH
+  {0xF444, 0x9B0C}, //20444 #CJK UNIFIED IDEOGRAPH
+  {0xF445, 0x9B0D}, //20445 #CJK UNIFIED IDEOGRAPH
+  {0xF446, 0x9B0E}, //20446 #CJK UNIFIED IDEOGRAPH
+  {0xF447, 0x9B10}, //20447 #CJK UNIFIED IDEOGRAPH
+  {0xF448, 0x9B11}, //20448 #CJK UNIFIED IDEOGRAPH
+  {0xF449, 0x9B12}, //20449 #CJK UNIFIED IDEOGRAPH
+  {0xF44A, 0x9B14}, //20450 #CJK UNIFIED IDEOGRAPH
+  {0xF44B, 0x9B15}, //20451 #CJK UNIFIED IDEOGRAPH
+  {0xF44C, 0x9B16}, //20452 #CJK UNIFIED IDEOGRAPH
+  {0xF44D, 0x9B17}, //20453 #CJK UNIFIED IDEOGRAPH
+  {0xF44E, 0x9B18}, //20454 #CJK UNIFIED IDEOGRAPH
+  {0xF44F, 0x9B19}, //20455 #CJK UNIFIED IDEOGRAPH
+  {0xF450, 0x9B1A}, //20456 #CJK UNIFIED IDEOGRAPH
+  {0xF451, 0x9B1B}, //20457 #CJK UNIFIED IDEOGRAPH
+  {0xF452, 0x9B1C}, //20458 #CJK UNIFIED IDEOGRAPH
+  {0xF453, 0x9B1D}, //20459 #CJK UNIFIED IDEOGRAPH
+  {0xF454, 0x9B1E}, //20460 #CJK UNIFIED IDEOGRAPH
+  {0xF455, 0x9B20}, //20461 #CJK UNIFIED IDEOGRAPH
+  {0xF456, 0x9B21}, //20462 #CJK UNIFIED IDEOGRAPH
+  {0xF457, 0x9B22}, //20463 #CJK UNIFIED IDEOGRAPH
+  {0xF458, 0x9B24}, //20464 #CJK UNIFIED IDEOGRAPH
+  {0xF459, 0x9B25}, //20465 #CJK UNIFIED IDEOGRAPH
+  {0xF45A, 0x9B26}, //20466 #CJK UNIFIED IDEOGRAPH
+  {0xF45B, 0x9B27}, //20467 #CJK UNIFIED IDEOGRAPH
+  {0xF45C, 0x9B28}, //20468 #CJK UNIFIED IDEOGRAPH
+  {0xF45D, 0x9B29}, //20469 #CJK UNIFIED IDEOGRAPH
+  {0xF45E, 0x9B2A}, //20470 #CJK UNIFIED IDEOGRAPH
+  {0xF45F, 0x9B2B}, //20471 #CJK UNIFIED IDEOGRAPH
+  {0xF460, 0x9B2C}, //20472 #CJK UNIFIED IDEOGRAPH
+  {0xF461, 0x9B2D}, //20473 #CJK UNIFIED IDEOGRAPH
+  {0xF462, 0x9B2E}, //20474 #CJK UNIFIED IDEOGRAPH
+  {0xF463, 0x9B30}, //20475 #CJK UNIFIED IDEOGRAPH
+  {0xF464, 0x9B31}, //20476 #CJK UNIFIED IDEOGRAPH
+  {0xF465, 0x9B33}, //20477 #CJK UNIFIED IDEOGRAPH
+  {0xF466, 0x9B34}, //20478 #CJK UNIFIED IDEOGRAPH
+  {0xF467, 0x9B35}, //20479 #CJK UNIFIED IDEOGRAPH
+  {0xF468, 0x9B36}, //20480 #CJK UNIFIED IDEOGRAPH
+  {0xF469, 0x9B37}, //20481 #CJK UNIFIED IDEOGRAPH
+  {0xF46A, 0x9B38}, //20482 #CJK UNIFIED IDEOGRAPH
+  {0xF46B, 0x9B39}, //20483 #CJK UNIFIED IDEOGRAPH
+  {0xF46C, 0x9B3A}, //20484 #CJK UNIFIED IDEOGRAPH
+  {0xF46D, 0x9B3D}, //20485 #CJK UNIFIED IDEOGRAPH
+  {0xF46E, 0x9B3E}, //20486 #CJK UNIFIED IDEOGRAPH
+  {0xF46F, 0x9B3F}, //20487 #CJK UNIFIED IDEOGRAPH
+  {0xF470, 0x9B40}, //20488 #CJK UNIFIED IDEOGRAPH
+  {0xF471, 0x9B46}, //20489 #CJK UNIFIED IDEOGRAPH
+  {0xF472, 0x9B4A}, //20490 #CJK UNIFIED IDEOGRAPH
+  {0xF473, 0x9B4B}, //20491 #CJK UNIFIED IDEOGRAPH
+  {0xF474, 0x9B4C}, //20492 #CJK UNIFIED IDEOGRAPH
+  {0xF475, 0x9B4E}, //20493 #CJK UNIFIED IDEOGRAPH
+  {0xF476, 0x9B50}, //20494 #CJK UNIFIED IDEOGRAPH
+  {0xF477, 0x9B52}, //20495 #CJK UNIFIED IDEOGRAPH
+  {0xF478, 0x9B53}, //20496 #CJK UNIFIED IDEOGRAPH
+  {0xF479, 0x9B55}, //20497 #CJK UNIFIED IDEOGRAPH
+  {0xF47A, 0x9B56}, //20498 #CJK UNIFIED IDEOGRAPH
+  {0xF47B, 0x9B57}, //20499 #CJK UNIFIED IDEOGRAPH
+  {0xF47C, 0x9B58}, //20500 #CJK UNIFIED IDEOGRAPH
+  {0xF47D, 0x9B59}, //20501 #CJK UNIFIED IDEOGRAPH
+  {0xF47E, 0x9B5A}, //20502 #CJK UNIFIED IDEOGRAPH
+  {0xF480, 0x9B5B}, //20503 #CJK UNIFIED IDEOGRAPH
+  {0xF481, 0x9B5C}, //20504 #CJK UNIFIED IDEOGRAPH
+  {0xF482, 0x9B5D}, //20505 #CJK UNIFIED IDEOGRAPH
+  {0xF483, 0x9B5E}, //20506 #CJK UNIFIED IDEOGRAPH
+  {0xF484, 0x9B5F}, //20507 #CJK UNIFIED IDEOGRAPH
+  {0xF485, 0x9B60}, //20508 #CJK UNIFIED IDEOGRAPH
+  {0xF486, 0x9B61}, //20509 #CJK UNIFIED IDEOGRAPH
+  {0xF487, 0x9B62}, //20510 #CJK UNIFIED IDEOGRAPH
+  {0xF488, 0x9B63}, //20511 #CJK UNIFIED IDEOGRAPH
+  {0xF489, 0x9B64}, //20512 #CJK UNIFIED IDEOGRAPH
+  {0xF48A, 0x9B65}, //20513 #CJK UNIFIED IDEOGRAPH
+  {0xF48B, 0x9B66}, //20514 #CJK UNIFIED IDEOGRAPH
+  {0xF48C, 0x9B67}, //20515 #CJK UNIFIED IDEOGRAPH
+  {0xF48D, 0x9B68}, //20516 #CJK UNIFIED IDEOGRAPH
+  {0xF48E, 0x9B69}, //20517 #CJK UNIFIED IDEOGRAPH
+  {0xF48F, 0x9B6A}, //20518 #CJK UNIFIED IDEOGRAPH
+  {0xF490, 0x9B6B}, //20519 #CJK UNIFIED IDEOGRAPH
+  {0xF491, 0x9B6C}, //20520 #CJK UNIFIED IDEOGRAPH
+  {0xF492, 0x9B6D}, //20521 #CJK UNIFIED IDEOGRAPH
+  {0xF493, 0x9B6E}, //20522 #CJK UNIFIED IDEOGRAPH
+  {0xF494, 0x9B6F}, //20523 #CJK UNIFIED IDEOGRAPH
+  {0xF495, 0x9B70}, //20524 #CJK UNIFIED IDEOGRAPH
+  {0xF496, 0x9B71}, //20525 #CJK UNIFIED IDEOGRAPH
+  {0xF497, 0x9B72}, //20526 #CJK UNIFIED IDEOGRAPH
+  {0xF498, 0x9B73}, //20527 #CJK UNIFIED IDEOGRAPH
+  {0xF499, 0x9B74}, //20528 #CJK UNIFIED IDEOGRAPH
+  {0xF49A, 0x9B75}, //20529 #CJK UNIFIED IDEOGRAPH
+  {0xF49B, 0x9B76}, //20530 #CJK UNIFIED IDEOGRAPH
+  {0xF49C, 0x9B77}, //20531 #CJK UNIFIED IDEOGRAPH
+  {0xF49D, 0x9B78}, //20532 #CJK UNIFIED IDEOGRAPH
+  {0xF49E, 0x9B79}, //20533 #CJK UNIFIED IDEOGRAPH
+  {0xF49F, 0x9B7A}, //20534 #CJK UNIFIED IDEOGRAPH
+  {0xF4A0, 0x9B7B}, //20535 #CJK UNIFIED IDEOGRAPH
+  {0xF4A1, 0x7C1F}, //20536 #CJK UNIFIED IDEOGRAPH
+  {0xF4A2, 0x7C2A}, //20537 #CJK UNIFIED IDEOGRAPH
+  {0xF4A3, 0x7C26}, //20538 #CJK UNIFIED IDEOGRAPH
+  {0xF4A4, 0x7C38}, //20539 #CJK UNIFIED IDEOGRAPH
+  {0xF4A5, 0x7C41}, //20540 #CJK UNIFIED IDEOGRAPH
+  {0xF4A6, 0x7C40}, //20541 #CJK UNIFIED IDEOGRAPH
+  {0xF4A7, 0x81FE}, //20542 #CJK UNIFIED IDEOGRAPH
+  {0xF4A8, 0x8201}, //20543 #CJK UNIFIED IDEOGRAPH
+  {0xF4A9, 0x8202}, //20544 #CJK UNIFIED IDEOGRAPH
+  {0xF4AA, 0x8204}, //20545 #CJK UNIFIED IDEOGRAPH
+  {0xF4AB, 0x81EC}, //20546 #CJK UNIFIED IDEOGRAPH
+  {0xF4AC, 0x8844}, //20547 #CJK UNIFIED IDEOGRAPH
+  {0xF4AD, 0x8221}, //20548 #CJK UNIFIED IDEOGRAPH
+  {0xF4AE, 0x8222}, //20549 #CJK UNIFIED IDEOGRAPH
+  {0xF4AF, 0x8223}, //20550 #CJK UNIFIED IDEOGRAPH
+  {0xF4B0, 0x822D}, //20551 #CJK UNIFIED IDEOGRAPH
+  {0xF4B1, 0x822F}, //20552 #CJK UNIFIED IDEOGRAPH
+  {0xF4B2, 0x8228}, //20553 #CJK UNIFIED IDEOGRAPH
+  {0xF4B3, 0x822B}, //20554 #CJK UNIFIED IDEOGRAPH
+  {0xF4B4, 0x8238}, //20555 #CJK UNIFIED IDEOGRAPH
+  {0xF4B5, 0x823B}, //20556 #CJK UNIFIED IDEOGRAPH
+  {0xF4B6, 0x8233}, //20557 #CJK UNIFIED IDEOGRAPH
+  {0xF4B7, 0x8234}, //20558 #CJK UNIFIED IDEOGRAPH
+  {0xF4B8, 0x823E}, //20559 #CJK UNIFIED IDEOGRAPH
+  {0xF4B9, 0x8244}, //20560 #CJK UNIFIED IDEOGRAPH
+  {0xF4BA, 0x8249}, //20561 #CJK UNIFIED IDEOGRAPH
+  {0xF4BB, 0x824B}, //20562 #CJK UNIFIED IDEOGRAPH
+  {0xF4BC, 0x824F}, //20563 #CJK UNIFIED IDEOGRAPH
+  {0xF4BD, 0x825A}, //20564 #CJK UNIFIED IDEOGRAPH
+  {0xF4BE, 0x825F}, //20565 #CJK UNIFIED IDEOGRAPH
+  {0xF4BF, 0x8268}, //20566 #CJK UNIFIED IDEOGRAPH
+  {0xF4C0, 0x887E}, //20567 #CJK UNIFIED IDEOGRAPH
+  {0xF4C1, 0x8885}, //20568 #CJK UNIFIED IDEOGRAPH
+  {0xF4C2, 0x8888}, //20569 #CJK UNIFIED IDEOGRAPH
+  {0xF4C3, 0x88D8}, //20570 #CJK UNIFIED IDEOGRAPH
+  {0xF4C4, 0x88DF}, //20571 #CJK UNIFIED IDEOGRAPH
+  {0xF4C5, 0x895E}, //20572 #CJK UNIFIED IDEOGRAPH
+  {0xF4C6, 0x7F9D}, //20573 #CJK UNIFIED IDEOGRAPH
+  {0xF4C7, 0x7F9F}, //20574 #CJK UNIFIED IDEOGRAPH
+  {0xF4C8, 0x7FA7}, //20575 #CJK UNIFIED IDEOGRAPH
+  {0xF4C9, 0x7FAF}, //20576 #CJK UNIFIED IDEOGRAPH
+  {0xF4CA, 0x7FB0}, //20577 #CJK UNIFIED IDEOGRAPH
+  {0xF4CB, 0x7FB2}, //20578 #CJK UNIFIED IDEOGRAPH
+  {0xF4CC, 0x7C7C}, //20579 #CJK UNIFIED IDEOGRAPH
+  {0xF4CD, 0x6549}, //20580 #CJK UNIFIED IDEOGRAPH
+  {0xF4CE, 0x7C91}, //20581 #CJK UNIFIED IDEOGRAPH
+  {0xF4CF, 0x7C9D}, //20582 #CJK UNIFIED IDEOGRAPH
+  {0xF4D0, 0x7C9C}, //20583 #CJK UNIFIED IDEOGRAPH
+  {0xF4D1, 0x7C9E}, //20584 #CJK UNIFIED IDEOGRAPH
+  {0xF4D2, 0x7CA2}, //20585 #CJK UNIFIED IDEOGRAPH
+  {0xF4D3, 0x7CB2}, //20586 #CJK UNIFIED IDEOGRAPH
+  {0xF4D4, 0x7CBC}, //20587 #CJK UNIFIED IDEOGRAPH
+  {0xF4D5, 0x7CBD}, //20588 #CJK UNIFIED IDEOGRAPH
+  {0xF4D6, 0x7CC1}, //20589 #CJK UNIFIED IDEOGRAPH
+  {0xF4D7, 0x7CC7}, //20590 #CJK UNIFIED IDEOGRAPH
+  {0xF4D8, 0x7CCC}, //20591 #CJK UNIFIED IDEOGRAPH
+  {0xF4D9, 0x7CCD}, //20592 #CJK UNIFIED IDEOGRAPH
+  {0xF4DA, 0x7CC8}, //20593 #CJK UNIFIED IDEOGRAPH
+  {0xF4DB, 0x7CC5}, //20594 #CJK UNIFIED IDEOGRAPH
+  {0xF4DC, 0x7CD7}, //20595 #CJK UNIFIED IDEOGRAPH
+  {0xF4DD, 0x7CE8}, //20596 #CJK UNIFIED IDEOGRAPH
+  {0xF4DE, 0x826E}, //20597 #CJK UNIFIED IDEOGRAPH
+  {0xF4DF, 0x66A8}, //20598 #CJK UNIFIED IDEOGRAPH
+  {0xF4E0, 0x7FBF}, //20599 #CJK UNIFIED IDEOGRAPH
+  {0xF4E1, 0x7FCE}, //20600 #CJK UNIFIED IDEOGRAPH
+  {0xF4E2, 0x7FD5}, //20601 #CJK UNIFIED IDEOGRAPH
+  {0xF4E3, 0x7FE5}, //20602 #CJK UNIFIED IDEOGRAPH
+  {0xF4E4, 0x7FE1}, //20603 #CJK UNIFIED IDEOGRAPH
+  {0xF4E5, 0x7FE6}, //20604 #CJK UNIFIED IDEOGRAPH
+  {0xF4E6, 0x7FE9}, //20605 #CJK UNIFIED IDEOGRAPH
+  {0xF4E7, 0x7FEE}, //20606 #CJK UNIFIED IDEOGRAPH
+  {0xF4E8, 0x7FF3}, //20607 #CJK UNIFIED IDEOGRAPH
+  {0xF4E9, 0x7CF8}, //20608 #CJK UNIFIED IDEOGRAPH
+  {0xF4EA, 0x7D77}, //20609 #CJK UNIFIED IDEOGRAPH
+  {0xF4EB, 0x7DA6}, //20610 #CJK UNIFIED IDEOGRAPH
+  {0xF4EC, 0x7DAE}, //20611 #CJK UNIFIED IDEOGRAPH
+  {0xF4ED, 0x7E47}, //20612 #CJK UNIFIED IDEOGRAPH
+  {0xF4EE, 0x7E9B}, //20613 #CJK UNIFIED IDEOGRAPH
+  {0xF4EF, 0x9EB8}, //20614 #CJK UNIFIED IDEOGRAPH
+  {0xF4F0, 0x9EB4}, //20615 #CJK UNIFIED IDEOGRAPH
+  {0xF4F1, 0x8D73}, //20616 #CJK UNIFIED IDEOGRAPH
+  {0xF4F2, 0x8D84}, //20617 #CJK UNIFIED IDEOGRAPH
+  {0xF4F3, 0x8D94}, //20618 #CJK UNIFIED IDEOGRAPH
+  {0xF4F4, 0x8D91}, //20619 #CJK UNIFIED IDEOGRAPH
+  {0xF4F5, 0x8DB1}, //20620 #CJK UNIFIED IDEOGRAPH
+  {0xF4F6, 0x8D67}, //20621 #CJK UNIFIED IDEOGRAPH
+  {0xF4F7, 0x8D6D}, //20622 #CJK UNIFIED IDEOGRAPH
+  {0xF4F8, 0x8C47}, //20623 #CJK UNIFIED IDEOGRAPH
+  {0xF4F9, 0x8C49}, //20624 #CJK UNIFIED IDEOGRAPH
+  {0xF4FA, 0x914A}, //20625 #CJK UNIFIED IDEOGRAPH
+  {0xF4FB, 0x9150}, //20626 #CJK UNIFIED IDEOGRAPH
+  {0xF4FC, 0x914E}, //20627 #CJK UNIFIED IDEOGRAPH
+  {0xF4FD, 0x914F}, //20628 #CJK UNIFIED IDEOGRAPH
+  {0xF4FE, 0x9164}, //20629 #CJK UNIFIED IDEOGRAPH
+  {0xF540, 0x9B7C}, //20630 #CJK UNIFIED IDEOGRAPH
+  {0xF541, 0x9B7D}, //20631 #CJK UNIFIED IDEOGRAPH
+  {0xF542, 0x9B7E}, //20632 #CJK UNIFIED IDEOGRAPH
+  {0xF543, 0x9B7F}, //20633 #CJK UNIFIED IDEOGRAPH
+  {0xF544, 0x9B80}, //20634 #CJK UNIFIED IDEOGRAPH
+  {0xF545, 0x9B81}, //20635 #CJK UNIFIED IDEOGRAPH
+  {0xF546, 0x9B82}, //20636 #CJK UNIFIED IDEOGRAPH
+  {0xF547, 0x9B83}, //20637 #CJK UNIFIED IDEOGRAPH
+  {0xF548, 0x9B84}, //20638 #CJK UNIFIED IDEOGRAPH
+  {0xF549, 0x9B85}, //20639 #CJK UNIFIED IDEOGRAPH
+  {0xF54A, 0x9B86}, //20640 #CJK UNIFIED IDEOGRAPH
+  {0xF54B, 0x9B87}, //20641 #CJK UNIFIED IDEOGRAPH
+  {0xF54C, 0x9B88}, //20642 #CJK UNIFIED IDEOGRAPH
+  {0xF54D, 0x9B89}, //20643 #CJK UNIFIED IDEOGRAPH
+  {0xF54E, 0x9B8A}, //20644 #CJK UNIFIED IDEOGRAPH
+  {0xF54F, 0x9B8B}, //20645 #CJK UNIFIED IDEOGRAPH
+  {0xF550, 0x9B8C}, //20646 #CJK UNIFIED IDEOGRAPH
+  {0xF551, 0x9B8D}, //20647 #CJK UNIFIED IDEOGRAPH
+  {0xF552, 0x9B8E}, //20648 #CJK UNIFIED IDEOGRAPH
+  {0xF553, 0x9B8F}, //20649 #CJK UNIFIED IDEOGRAPH
+  {0xF554, 0x9B90}, //20650 #CJK UNIFIED IDEOGRAPH
+  {0xF555, 0x9B91}, //20651 #CJK UNIFIED IDEOGRAPH
+  {0xF556, 0x9B92}, //20652 #CJK UNIFIED IDEOGRAPH
+  {0xF557, 0x9B93}, //20653 #CJK UNIFIED IDEOGRAPH
+  {0xF558, 0x9B94}, //20654 #CJK UNIFIED IDEOGRAPH
+  {0xF559, 0x9B95}, //20655 #CJK UNIFIED IDEOGRAPH
+  {0xF55A, 0x9B96}, //20656 #CJK UNIFIED IDEOGRAPH
+  {0xF55B, 0x9B97}, //20657 #CJK UNIFIED IDEOGRAPH
+  {0xF55C, 0x9B98}, //20658 #CJK UNIFIED IDEOGRAPH
+  {0xF55D, 0x9B99}, //20659 #CJK UNIFIED IDEOGRAPH
+  {0xF55E, 0x9B9A}, //20660 #CJK UNIFIED IDEOGRAPH
+  {0xF55F, 0x9B9B}, //20661 #CJK UNIFIED IDEOGRAPH
+  {0xF560, 0x9B9C}, //20662 #CJK UNIFIED IDEOGRAPH
+  {0xF561, 0x9B9D}, //20663 #CJK UNIFIED IDEOGRAPH
+  {0xF562, 0x9B9E}, //20664 #CJK UNIFIED IDEOGRAPH
+  {0xF563, 0x9B9F}, //20665 #CJK UNIFIED IDEOGRAPH
+  {0xF564, 0x9BA0}, //20666 #CJK UNIFIED IDEOGRAPH
+  {0xF565, 0x9BA1}, //20667 #CJK UNIFIED IDEOGRAPH
+  {0xF566, 0x9BA2}, //20668 #CJK UNIFIED IDEOGRAPH
+  {0xF567, 0x9BA3}, //20669 #CJK UNIFIED IDEOGRAPH
+  {0xF568, 0x9BA4}, //20670 #CJK UNIFIED IDEOGRAPH
+  {0xF569, 0x9BA5}, //20671 #CJK UNIFIED IDEOGRAPH
+  {0xF56A, 0x9BA6}, //20672 #CJK UNIFIED IDEOGRAPH
+  {0xF56B, 0x9BA7}, //20673 #CJK UNIFIED IDEOGRAPH
+  {0xF56C, 0x9BA8}, //20674 #CJK UNIFIED IDEOGRAPH
+  {0xF56D, 0x9BA9}, //20675 #CJK UNIFIED IDEOGRAPH
+  {0xF56E, 0x9BAA}, //20676 #CJK UNIFIED IDEOGRAPH
+  {0xF56F, 0x9BAB}, //20677 #CJK UNIFIED IDEOGRAPH
+  {0xF570, 0x9BAC}, //20678 #CJK UNIFIED IDEOGRAPH
+  {0xF571, 0x9BAD}, //20679 #CJK UNIFIED IDEOGRAPH
+  {0xF572, 0x9BAE}, //20680 #CJK UNIFIED IDEOGRAPH
+  {0xF573, 0x9BAF}, //20681 #CJK UNIFIED IDEOGRAPH
+  {0xF574, 0x9BB0}, //20682 #CJK UNIFIED IDEOGRAPH
+  {0xF575, 0x9BB1}, //20683 #CJK UNIFIED IDEOGRAPH
+  {0xF576, 0x9BB2}, //20684 #CJK UNIFIED IDEOGRAPH
+  {0xF577, 0x9BB3}, //20685 #CJK UNIFIED IDEOGRAPH
+  {0xF578, 0x9BB4}, //20686 #CJK UNIFIED IDEOGRAPH
+  {0xF579, 0x9BB5}, //20687 #CJK UNIFIED IDEOGRAPH
+  {0xF57A, 0x9BB6}, //20688 #CJK UNIFIED IDEOGRAPH
+  {0xF57B, 0x9BB7}, //20689 #CJK UNIFIED IDEOGRAPH
+  {0xF57C, 0x9BB8}, //20690 #CJK UNIFIED IDEOGRAPH
+  {0xF57D, 0x9BB9}, //20691 #CJK UNIFIED IDEOGRAPH
+  {0xF57E, 0x9BBA}, //20692 #CJK UNIFIED IDEOGRAPH
+  {0xF580, 0x9BBB}, //20693 #CJK UNIFIED IDEOGRAPH
+  {0xF581, 0x9BBC}, //20694 #CJK UNIFIED IDEOGRAPH
+  {0xF582, 0x9BBD}, //20695 #CJK UNIFIED IDEOGRAPH
+  {0xF583, 0x9BBE}, //20696 #CJK UNIFIED IDEOGRAPH
+  {0xF584, 0x9BBF}, //20697 #CJK UNIFIED IDEOGRAPH
+  {0xF585, 0x9BC0}, //20698 #CJK UNIFIED IDEOGRAPH
+  {0xF586, 0x9BC1}, //20699 #CJK UNIFIED IDEOGRAPH
+  {0xF587, 0x9BC2}, //20700 #CJK UNIFIED IDEOGRAPH
+  {0xF588, 0x9BC3}, //20701 #CJK UNIFIED IDEOGRAPH
+  {0xF589, 0x9BC4}, //20702 #CJK UNIFIED IDEOGRAPH
+  {0xF58A, 0x9BC5}, //20703 #CJK UNIFIED IDEOGRAPH
+  {0xF58B, 0x9BC6}, //20704 #CJK UNIFIED IDEOGRAPH
+  {0xF58C, 0x9BC7}, //20705 #CJK UNIFIED IDEOGRAPH
+  {0xF58D, 0x9BC8}, //20706 #CJK UNIFIED IDEOGRAPH
+  {0xF58E, 0x9BC9}, //20707 #CJK UNIFIED IDEOGRAPH
+  {0xF58F, 0x9BCA}, //20708 #CJK UNIFIED IDEOGRAPH
+  {0xF590, 0x9BCB}, //20709 #CJK UNIFIED IDEOGRAPH
+  {0xF591, 0x9BCC}, //20710 #CJK UNIFIED IDEOGRAPH
+  {0xF592, 0x9BCD}, //20711 #CJK UNIFIED IDEOGRAPH
+  {0xF593, 0x9BCE}, //20712 #CJK UNIFIED IDEOGRAPH
+  {0xF594, 0x9BCF}, //20713 #CJK UNIFIED IDEOGRAPH
+  {0xF595, 0x9BD0}, //20714 #CJK UNIFIED IDEOGRAPH
+  {0xF596, 0x9BD1}, //20715 #CJK UNIFIED IDEOGRAPH
+  {0xF597, 0x9BD2}, //20716 #CJK UNIFIED IDEOGRAPH
+  {0xF598, 0x9BD3}, //20717 #CJK UNIFIED IDEOGRAPH
+  {0xF599, 0x9BD4}, //20718 #CJK UNIFIED IDEOGRAPH
+  {0xF59A, 0x9BD5}, //20719 #CJK UNIFIED IDEOGRAPH
+  {0xF59B, 0x9BD6}, //20720 #CJK UNIFIED IDEOGRAPH
+  {0xF59C, 0x9BD7}, //20721 #CJK UNIFIED IDEOGRAPH
+  {0xF59D, 0x9BD8}, //20722 #CJK UNIFIED IDEOGRAPH
+  {0xF59E, 0x9BD9}, //20723 #CJK UNIFIED IDEOGRAPH
+  {0xF59F, 0x9BDA}, //20724 #CJK UNIFIED IDEOGRAPH
+  {0xF5A0, 0x9BDB}, //20725 #CJK UNIFIED IDEOGRAPH
+  {0xF5A1, 0x9162}, //20726 #CJK UNIFIED IDEOGRAPH
+  {0xF5A2, 0x9161}, //20727 #CJK UNIFIED IDEOGRAPH
+  {0xF5A3, 0x9170}, //20728 #CJK UNIFIED IDEOGRAPH
+  {0xF5A4, 0x9169}, //20729 #CJK UNIFIED IDEOGRAPH
+  {0xF5A5, 0x916F}, //20730 #CJK UNIFIED IDEOGRAPH
+  {0xF5A6, 0x917D}, //20731 #CJK UNIFIED IDEOGRAPH
+  {0xF5A7, 0x917E}, //20732 #CJK UNIFIED IDEOGRAPH
+  {0xF5A8, 0x9172}, //20733 #CJK UNIFIED IDEOGRAPH
+  {0xF5A9, 0x9174}, //20734 #CJK UNIFIED IDEOGRAPH
+  {0xF5AA, 0x9179}, //20735 #CJK UNIFIED IDEOGRAPH
+  {0xF5AB, 0x918C}, //20736 #CJK UNIFIED IDEOGRAPH
+  {0xF5AC, 0x9185}, //20737 #CJK UNIFIED IDEOGRAPH
+  {0xF5AD, 0x9190}, //20738 #CJK UNIFIED IDEOGRAPH
+  {0xF5AE, 0x918D}, //20739 #CJK UNIFIED IDEOGRAPH
+  {0xF5AF, 0x9191}, //20740 #CJK UNIFIED IDEOGRAPH
+  {0xF5B0, 0x91A2}, //20741 #CJK UNIFIED IDEOGRAPH
+  {0xF5B1, 0x91A3}, //20742 #CJK UNIFIED IDEOGRAPH
+  {0xF5B2, 0x91AA}, //20743 #CJK UNIFIED IDEOGRAPH
+  {0xF5B3, 0x91AD}, //20744 #CJK UNIFIED IDEOGRAPH
+  {0xF5B4, 0x91AE}, //20745 #CJK UNIFIED IDEOGRAPH
+  {0xF5B5, 0x91AF}, //20746 #CJK UNIFIED IDEOGRAPH
+  {0xF5B6, 0x91B5}, //20747 #CJK UNIFIED IDEOGRAPH
+  {0xF5B7, 0x91B4}, //20748 #CJK UNIFIED IDEOGRAPH
+  {0xF5B8, 0x91BA}, //20749 #CJK UNIFIED IDEOGRAPH
+  {0xF5B9, 0x8C55}, //20750 #CJK UNIFIED IDEOGRAPH
+  {0xF5BA, 0x9E7E}, //20751 #CJK UNIFIED IDEOGRAPH
+  {0xF5BB, 0x8DB8}, //20752 #CJK UNIFIED IDEOGRAPH
+  {0xF5BC, 0x8DEB}, //20753 #CJK UNIFIED IDEOGRAPH
+  {0xF5BD, 0x8E05}, //20754 #CJK UNIFIED IDEOGRAPH
+  {0xF5BE, 0x8E59}, //20755 #CJK UNIFIED IDEOGRAPH
+  {0xF5BF, 0x8E69}, //20756 #CJK UNIFIED IDEOGRAPH
+  {0xF5C0, 0x8DB5}, //20757 #CJK UNIFIED IDEOGRAPH
+  {0xF5C1, 0x8DBF}, //20758 #CJK UNIFIED IDEOGRAPH
+  {0xF5C2, 0x8DBC}, //20759 #CJK UNIFIED IDEOGRAPH
+  {0xF5C3, 0x8DBA}, //20760 #CJK UNIFIED IDEOGRAPH
+  {0xF5C4, 0x8DC4}, //20761 #CJK UNIFIED IDEOGRAPH
+  {0xF5C5, 0x8DD6}, //20762 #CJK UNIFIED IDEOGRAPH
+  {0xF5C6, 0x8DD7}, //20763 #CJK UNIFIED IDEOGRAPH
+  {0xF5C7, 0x8DDA}, //20764 #CJK UNIFIED IDEOGRAPH
+  {0xF5C8, 0x8DDE}, //20765 #CJK UNIFIED IDEOGRAPH
+  {0xF5C9, 0x8DCE}, //20766 #CJK UNIFIED IDEOGRAPH
+  {0xF5CA, 0x8DCF}, //20767 #CJK UNIFIED IDEOGRAPH
+  {0xF5CB, 0x8DDB}, //20768 #CJK UNIFIED IDEOGRAPH
+  {0xF5CC, 0x8DC6}, //20769 #CJK UNIFIED IDEOGRAPH
+  {0xF5CD, 0x8DEC}, //20770 #CJK UNIFIED IDEOGRAPH
+  {0xF5CE, 0x8DF7}, //20771 #CJK UNIFIED IDEOGRAPH
+  {0xF5CF, 0x8DF8}, //20772 #CJK UNIFIED IDEOGRAPH
+  {0xF5D0, 0x8DE3}, //20773 #CJK UNIFIED IDEOGRAPH
+  {0xF5D1, 0x8DF9}, //20774 #CJK UNIFIED IDEOGRAPH
+  {0xF5D2, 0x8DFB}, //20775 #CJK UNIFIED IDEOGRAPH
+  {0xF5D3, 0x8DE4}, //20776 #CJK UNIFIED IDEOGRAPH
+  {0xF5D4, 0x8E09}, //20777 #CJK UNIFIED IDEOGRAPH
+  {0xF5D5, 0x8DFD}, //20778 #CJK UNIFIED IDEOGRAPH
+  {0xF5D6, 0x8E14}, //20779 #CJK UNIFIED IDEOGRAPH
+  {0xF5D7, 0x8E1D}, //20780 #CJK UNIFIED IDEOGRAPH
+  {0xF5D8, 0x8E1F}, //20781 #CJK UNIFIED IDEOGRAPH
+  {0xF5D9, 0x8E2C}, //20782 #CJK UNIFIED IDEOGRAPH
+  {0xF5DA, 0x8E2E}, //20783 #CJK UNIFIED IDEOGRAPH
+  {0xF5DB, 0x8E23}, //20784 #CJK UNIFIED IDEOGRAPH
+  {0xF5DC, 0x8E2F}, //20785 #CJK UNIFIED IDEOGRAPH
+  {0xF5DD, 0x8E3A}, //20786 #CJK UNIFIED IDEOGRAPH
+  {0xF5DE, 0x8E40}, //20787 #CJK UNIFIED IDEOGRAPH
+  {0xF5DF, 0x8E39}, //20788 #CJK UNIFIED IDEOGRAPH
+  {0xF5E0, 0x8E35}, //20789 #CJK UNIFIED IDEOGRAPH
+  {0xF5E1, 0x8E3D}, //20790 #CJK UNIFIED IDEOGRAPH
+  {0xF5E2, 0x8E31}, //20791 #CJK UNIFIED IDEOGRAPH
+  {0xF5E3, 0x8E49}, //20792 #CJK UNIFIED IDEOGRAPH
+  {0xF5E4, 0x8E41}, //20793 #CJK UNIFIED IDEOGRAPH
+  {0xF5E5, 0x8E42}, //20794 #CJK UNIFIED IDEOGRAPH
+  {0xF5E6, 0x8E51}, //20795 #CJK UNIFIED IDEOGRAPH
+  {0xF5E7, 0x8E52}, //20796 #CJK UNIFIED IDEOGRAPH
+  {0xF5E8, 0x8E4A}, //20797 #CJK UNIFIED IDEOGRAPH
+  {0xF5E9, 0x8E70}, //20798 #CJK UNIFIED IDEOGRAPH
+  {0xF5EA, 0x8E76}, //20799 #CJK UNIFIED IDEOGRAPH
+  {0xF5EB, 0x8E7C}, //20800 #CJK UNIFIED IDEOGRAPH
+  {0xF5EC, 0x8E6F}, //20801 #CJK UNIFIED IDEOGRAPH
+  {0xF5ED, 0x8E74}, //20802 #CJK UNIFIED IDEOGRAPH
+  {0xF5EE, 0x8E85}, //20803 #CJK UNIFIED IDEOGRAPH
+  {0xF5EF, 0x8E8F}, //20804 #CJK UNIFIED IDEOGRAPH
+  {0xF5F0, 0x8E94}, //20805 #CJK UNIFIED IDEOGRAPH
+  {0xF5F1, 0x8E90}, //20806 #CJK UNIFIED IDEOGRAPH
+  {0xF5F2, 0x8E9C}, //20807 #CJK UNIFIED IDEOGRAPH
+  {0xF5F3, 0x8E9E}, //20808 #CJK UNIFIED IDEOGRAPH
+  {0xF5F4, 0x8C78}, //20809 #CJK UNIFIED IDEOGRAPH
+  {0xF5F5, 0x8C82}, //20810 #CJK UNIFIED IDEOGRAPH
+  {0xF5F6, 0x8C8A}, //20811 #CJK UNIFIED IDEOGRAPH
+  {0xF5F7, 0x8C85}, //20812 #CJK UNIFIED IDEOGRAPH
+  {0xF5F8, 0x8C98}, //20813 #CJK UNIFIED IDEOGRAPH
+  {0xF5F9, 0x8C94}, //20814 #CJK UNIFIED IDEOGRAPH
+  {0xF5FA, 0x659B}, //20815 #CJK UNIFIED IDEOGRAPH
+  {0xF5FB, 0x89D6}, //20816 #CJK UNIFIED IDEOGRAPH
+  {0xF5FC, 0x89DE}, //20817 #CJK UNIFIED IDEOGRAPH
+  {0xF5FD, 0x89DA}, //20818 #CJK UNIFIED IDEOGRAPH
+  {0xF5FE, 0x89DC}, //20819 #CJK UNIFIED IDEOGRAPH
+  {0xF640, 0x9BDC}, //20820 #CJK UNIFIED IDEOGRAPH
+  {0xF641, 0x9BDD}, //20821 #CJK UNIFIED IDEOGRAPH
+  {0xF642, 0x9BDE}, //20822 #CJK UNIFIED IDEOGRAPH
+  {0xF643, 0x9BDF}, //20823 #CJK UNIFIED IDEOGRAPH
+  {0xF644, 0x9BE0}, //20824 #CJK UNIFIED IDEOGRAPH
+  {0xF645, 0x9BE1}, //20825 #CJK UNIFIED IDEOGRAPH
+  {0xF646, 0x9BE2}, //20826 #CJK UNIFIED IDEOGRAPH
+  {0xF647, 0x9BE3}, //20827 #CJK UNIFIED IDEOGRAPH
+  {0xF648, 0x9BE4}, //20828 #CJK UNIFIED IDEOGRAPH
+  {0xF649, 0x9BE5}, //20829 #CJK UNIFIED IDEOGRAPH
+  {0xF64A, 0x9BE6}, //20830 #CJK UNIFIED IDEOGRAPH
+  {0xF64B, 0x9BE7}, //20831 #CJK UNIFIED IDEOGRAPH
+  {0xF64C, 0x9BE8}, //20832 #CJK UNIFIED IDEOGRAPH
+  {0xF64D, 0x9BE9}, //20833 #CJK UNIFIED IDEOGRAPH
+  {0xF64E, 0x9BEA}, //20834 #CJK UNIFIED IDEOGRAPH
+  {0xF64F, 0x9BEB}, //20835 #CJK UNIFIED IDEOGRAPH
+  {0xF650, 0x9BEC}, //20836 #CJK UNIFIED IDEOGRAPH
+  {0xF651, 0x9BED}, //20837 #CJK UNIFIED IDEOGRAPH
+  {0xF652, 0x9BEE}, //20838 #CJK UNIFIED IDEOGRAPH
+  {0xF653, 0x9BEF}, //20839 #CJK UNIFIED IDEOGRAPH
+  {0xF654, 0x9BF0}, //20840 #CJK UNIFIED IDEOGRAPH
+  {0xF655, 0x9BF1}, //20841 #CJK UNIFIED IDEOGRAPH
+  {0xF656, 0x9BF2}, //20842 #CJK UNIFIED IDEOGRAPH
+  {0xF657, 0x9BF3}, //20843 #CJK UNIFIED IDEOGRAPH
+  {0xF658, 0x9BF4}, //20844 #CJK UNIFIED IDEOGRAPH
+  {0xF659, 0x9BF5}, //20845 #CJK UNIFIED IDEOGRAPH
+  {0xF65A, 0x9BF6}, //20846 #CJK UNIFIED IDEOGRAPH
+  {0xF65B, 0x9BF7}, //20847 #CJK UNIFIED IDEOGRAPH
+  {0xF65C, 0x9BF8}, //20848 #CJK UNIFIED IDEOGRAPH
+  {0xF65D, 0x9BF9}, //20849 #CJK UNIFIED IDEOGRAPH
+  {0xF65E, 0x9BFA}, //20850 #CJK UNIFIED IDEOGRAPH
+  {0xF65F, 0x9BFB}, //20851 #CJK UNIFIED IDEOGRAPH
+  {0xF660, 0x9BFC}, //20852 #CJK UNIFIED IDEOGRAPH
+  {0xF661, 0x9BFD}, //20853 #CJK UNIFIED IDEOGRAPH
+  {0xF662, 0x9BFE}, //20854 #CJK UNIFIED IDEOGRAPH
+  {0xF663, 0x9BFF}, //20855 #CJK UNIFIED IDEOGRAPH
+  {0xF664, 0x9C00}, //20856 #CJK UNIFIED IDEOGRAPH
+  {0xF665, 0x9C01}, //20857 #CJK UNIFIED IDEOGRAPH
+  {0xF666, 0x9C02}, //20858 #CJK UNIFIED IDEOGRAPH
+  {0xF667, 0x9C03}, //20859 #CJK UNIFIED IDEOGRAPH
+  {0xF668, 0x9C04}, //20860 #CJK UNIFIED IDEOGRAPH
+  {0xF669, 0x9C05}, //20861 #CJK UNIFIED IDEOGRAPH
+  {0xF66A, 0x9C06}, //20862 #CJK UNIFIED IDEOGRAPH
+  {0xF66B, 0x9C07}, //20863 #CJK UNIFIED IDEOGRAPH
+  {0xF66C, 0x9C08}, //20864 #CJK UNIFIED IDEOGRAPH
+  {0xF66D, 0x9C09}, //20865 #CJK UNIFIED IDEOGRAPH
+  {0xF66E, 0x9C0A}, //20866 #CJK UNIFIED IDEOGRAPH
+  {0xF66F, 0x9C0B}, //20867 #CJK UNIFIED IDEOGRAPH
+  {0xF670, 0x9C0C}, //20868 #CJK UNIFIED IDEOGRAPH
+  {0xF671, 0x9C0D}, //20869 #CJK UNIFIED IDEOGRAPH
+  {0xF672, 0x9C0E}, //20870 #CJK UNIFIED IDEOGRAPH
+  {0xF673, 0x9C0F}, //20871 #CJK UNIFIED IDEOGRAPH
+  {0xF674, 0x9C10}, //20872 #CJK UNIFIED IDEOGRAPH
+  {0xF675, 0x9C11}, //20873 #CJK UNIFIED IDEOGRAPH
+  {0xF676, 0x9C12}, //20874 #CJK UNIFIED IDEOGRAPH
+  {0xF677, 0x9C13}, //20875 #CJK UNIFIED IDEOGRAPH
+  {0xF678, 0x9C14}, //20876 #CJK UNIFIED IDEOGRAPH
+  {0xF679, 0x9C15}, //20877 #CJK UNIFIED IDEOGRAPH
+  {0xF67A, 0x9C16}, //20878 #CJK UNIFIED IDEOGRAPH
+  {0xF67B, 0x9C17}, //20879 #CJK UNIFIED IDEOGRAPH
+  {0xF67C, 0x9C18}, //20880 #CJK UNIFIED IDEOGRAPH
+  {0xF67D, 0x9C19}, //20881 #CJK UNIFIED IDEOGRAPH
+  {0xF67E, 0x9C1A}, //20882 #CJK UNIFIED IDEOGRAPH
+  {0xF680, 0x9C1B}, //20883 #CJK UNIFIED IDEOGRAPH
+  {0xF681, 0x9C1C}, //20884 #CJK UNIFIED IDEOGRAPH
+  {0xF682, 0x9C1D}, //20885 #CJK UNIFIED IDEOGRAPH
+  {0xF683, 0x9C1E}, //20886 #CJK UNIFIED IDEOGRAPH
+  {0xF684, 0x9C1F}, //20887 #CJK UNIFIED IDEOGRAPH
+  {0xF685, 0x9C20}, //20888 #CJK UNIFIED IDEOGRAPH
+  {0xF686, 0x9C21}, //20889 #CJK UNIFIED IDEOGRAPH
+  {0xF687, 0x9C22}, //20890 #CJK UNIFIED IDEOGRAPH
+  {0xF688, 0x9C23}, //20891 #CJK UNIFIED IDEOGRAPH
+  {0xF689, 0x9C24}, //20892 #CJK UNIFIED IDEOGRAPH
+  {0xF68A, 0x9C25}, //20893 #CJK UNIFIED IDEOGRAPH
+  {0xF68B, 0x9C26}, //20894 #CJK UNIFIED IDEOGRAPH
+  {0xF68C, 0x9C27}, //20895 #CJK UNIFIED IDEOGRAPH
+  {0xF68D, 0x9C28}, //20896 #CJK UNIFIED IDEOGRAPH
+  {0xF68E, 0x9C29}, //20897 #CJK UNIFIED IDEOGRAPH
+  {0xF68F, 0x9C2A}, //20898 #CJK UNIFIED IDEOGRAPH
+  {0xF690, 0x9C2B}, //20899 #CJK UNIFIED IDEOGRAPH
+  {0xF691, 0x9C2C}, //20900 #CJK UNIFIED IDEOGRAPH
+  {0xF692, 0x9C2D}, //20901 #CJK UNIFIED IDEOGRAPH
+  {0xF693, 0x9C2E}, //20902 #CJK UNIFIED IDEOGRAPH
+  {0xF694, 0x9C2F}, //20903 #CJK UNIFIED IDEOGRAPH
+  {0xF695, 0x9C30}, //20904 #CJK UNIFIED IDEOGRAPH
+  {0xF696, 0x9C31}, //20905 #CJK UNIFIED IDEOGRAPH
+  {0xF697, 0x9C32}, //20906 #CJK UNIFIED IDEOGRAPH
+  {0xF698, 0x9C33}, //20907 #CJK UNIFIED IDEOGRAPH
+  {0xF699, 0x9C34}, //20908 #CJK UNIFIED IDEOGRAPH
+  {0xF69A, 0x9C35}, //20909 #CJK UNIFIED IDEOGRAPH
+  {0xF69B, 0x9C36}, //20910 #CJK UNIFIED IDEOGRAPH
+  {0xF69C, 0x9C37}, //20911 #CJK UNIFIED IDEOGRAPH
+  {0xF69D, 0x9C38}, //20912 #CJK UNIFIED IDEOGRAPH
+  {0xF69E, 0x9C39}, //20913 #CJK UNIFIED IDEOGRAPH
+  {0xF69F, 0x9C3A}, //20914 #CJK UNIFIED IDEOGRAPH
+  {0xF6A0, 0x9C3B}, //20915 #CJK UNIFIED IDEOGRAPH
+  {0xF6A1, 0x89E5}, //20916 #CJK UNIFIED IDEOGRAPH
+  {0xF6A2, 0x89EB}, //20917 #CJK UNIFIED IDEOGRAPH
+  {0xF6A3, 0x89EF}, //20918 #CJK UNIFIED IDEOGRAPH
+  {0xF6A4, 0x8A3E}, //20919 #CJK UNIFIED IDEOGRAPH
+  {0xF6A5, 0x8B26}, //20920 #CJK UNIFIED IDEOGRAPH
+  {0xF6A6, 0x9753}, //20921 #CJK UNIFIED IDEOGRAPH
+  {0xF6A7, 0x96E9}, //20922 #CJK UNIFIED IDEOGRAPH
+  {0xF6A8, 0x96F3}, //20923 #CJK UNIFIED IDEOGRAPH
+  {0xF6A9, 0x96EF}, //20924 #CJK UNIFIED IDEOGRAPH
+  {0xF6AA, 0x9706}, //20925 #CJK UNIFIED IDEOGRAPH
+  {0xF6AB, 0x9701}, //20926 #CJK UNIFIED IDEOGRAPH
+  {0xF6AC, 0x9708}, //20927 #CJK UNIFIED IDEOGRAPH
+  {0xF6AD, 0x970F}, //20928 #CJK UNIFIED IDEOGRAPH
+  {0xF6AE, 0x970E}, //20929 #CJK UNIFIED IDEOGRAPH
+  {0xF6AF, 0x972A}, //20930 #CJK UNIFIED IDEOGRAPH
+  {0xF6B0, 0x972D}, //20931 #CJK UNIFIED IDEOGRAPH
+  {0xF6B1, 0x9730}, //20932 #CJK UNIFIED IDEOGRAPH
+  {0xF6B2, 0x973E}, //20933 #CJK UNIFIED IDEOGRAPH
+  {0xF6B3, 0x9F80}, //20934 #CJK UNIFIED IDEOGRAPH
+  {0xF6B4, 0x9F83}, //20935 #CJK UNIFIED IDEOGRAPH
+  {0xF6B5, 0x9F85}, //20936 #CJK UNIFIED IDEOGRAPH
+  {0xF6B6, 0x9F86}, //20937 #CJK UNIFIED IDEOGRAPH
+  {0xF6B7, 0x9F87}, //20938 #CJK UNIFIED IDEOGRAPH
+  {0xF6B8, 0x9F88}, //20939 #CJK UNIFIED IDEOGRAPH
+  {0xF6B9, 0x9F89}, //20940 #CJK UNIFIED IDEOGRAPH
+  {0xF6BA, 0x9F8A}, //20941 #CJK UNIFIED IDEOGRAPH
+  {0xF6BB, 0x9F8C}, //20942 #CJK UNIFIED IDEOGRAPH
+  {0xF6BC, 0x9EFE}, //20943 #CJK UNIFIED IDEOGRAPH
+  {0xF6BD, 0x9F0B}, //20944 #CJK UNIFIED IDEOGRAPH
+  {0xF6BE, 0x9F0D}, //20945 #CJK UNIFIED IDEOGRAPH
+  {0xF6BF, 0x96B9}, //20946 #CJK UNIFIED IDEOGRAPH
+  {0xF6C0, 0x96BC}, //20947 #CJK UNIFIED IDEOGRAPH
+  {0xF6C1, 0x96BD}, //20948 #CJK UNIFIED IDEOGRAPH
+  {0xF6C2, 0x96CE}, //20949 #CJK UNIFIED IDEOGRAPH
+  {0xF6C3, 0x96D2}, //20950 #CJK UNIFIED IDEOGRAPH
+  {0xF6C4, 0x77BF}, //20951 #CJK UNIFIED IDEOGRAPH
+  {0xF6C5, 0x96E0}, //20952 #CJK UNIFIED IDEOGRAPH
+  {0xF6C6, 0x928E}, //20953 #CJK UNIFIED IDEOGRAPH
+  {0xF6C7, 0x92AE}, //20954 #CJK UNIFIED IDEOGRAPH
+  {0xF6C8, 0x92C8}, //20955 #CJK UNIFIED IDEOGRAPH
+  {0xF6C9, 0x933E}, //20956 #CJK UNIFIED IDEOGRAPH
+  {0xF6CA, 0x936A}, //20957 #CJK UNIFIED IDEOGRAPH
+  {0xF6CB, 0x93CA}, //20958 #CJK UNIFIED IDEOGRAPH
+  {0xF6CC, 0x938F}, //20959 #CJK UNIFIED IDEOGRAPH
+  {0xF6CD, 0x943E}, //20960 #CJK UNIFIED IDEOGRAPH
+  {0xF6CE, 0x946B}, //20961 #CJK UNIFIED IDEOGRAPH
+  {0xF6CF, 0x9C7F}, //20962 #CJK UNIFIED IDEOGRAPH
+  {0xF6D0, 0x9C82}, //20963 #CJK UNIFIED IDEOGRAPH
+  {0xF6D1, 0x9C85}, //20964 #CJK UNIFIED IDEOGRAPH
+  {0xF6D2, 0x9C86}, //20965 #CJK UNIFIED IDEOGRAPH
+  {0xF6D3, 0x9C87}, //20966 #CJK UNIFIED IDEOGRAPH
+  {0xF6D4, 0x9C88}, //20967 #CJK UNIFIED IDEOGRAPH
+  {0xF6D5, 0x7A23}, //20968 #CJK UNIFIED IDEOGRAPH
+  {0xF6D6, 0x9C8B}, //20969 #CJK UNIFIED IDEOGRAPH
+  {0xF6D7, 0x9C8E}, //20970 #CJK UNIFIED IDEOGRAPH
+  {0xF6D8, 0x9C90}, //20971 #CJK UNIFIED IDEOGRAPH
+  {0xF6D9, 0x9C91}, //20972 #CJK UNIFIED IDEOGRAPH
+  {0xF6DA, 0x9C92}, //20973 #CJK UNIFIED IDEOGRAPH
+  {0xF6DB, 0x9C94}, //20974 #CJK UNIFIED IDEOGRAPH
+  {0xF6DC, 0x9C95}, //20975 #CJK UNIFIED IDEOGRAPH
+  {0xF6DD, 0x9C9A}, //20976 #CJK UNIFIED IDEOGRAPH
+  {0xF6DE, 0x9C9B}, //20977 #CJK UNIFIED IDEOGRAPH
+  {0xF6DF, 0x9C9E}, //20978 #CJK UNIFIED IDEOGRAPH
+  {0xF6E0, 0x9C9F}, //20979 #CJK UNIFIED IDEOGRAPH
+  {0xF6E1, 0x9CA0}, //20980 #CJK UNIFIED IDEOGRAPH
+  {0xF6E2, 0x9CA1}, //20981 #CJK UNIFIED IDEOGRAPH
+  {0xF6E3, 0x9CA2}, //20982 #CJK UNIFIED IDEOGRAPH
+  {0xF6E4, 0x9CA3}, //20983 #CJK UNIFIED IDEOGRAPH
+  {0xF6E5, 0x9CA5}, //20984 #CJK UNIFIED IDEOGRAPH
+  {0xF6E6, 0x9CA6}, //20985 #CJK UNIFIED IDEOGRAPH
+  {0xF6E7, 0x9CA7}, //20986 #CJK UNIFIED IDEOGRAPH
+  {0xF6E8, 0x9CA8}, //20987 #CJK UNIFIED IDEOGRAPH
+  {0xF6E9, 0x9CA9}, //20988 #CJK UNIFIED IDEOGRAPH
+  {0xF6EA, 0x9CAB}, //20989 #CJK UNIFIED IDEOGRAPH
+  {0xF6EB, 0x9CAD}, //20990 #CJK UNIFIED IDEOGRAPH
+  {0xF6EC, 0x9CAE}, //20991 #CJK UNIFIED IDEOGRAPH
+  {0xF6ED, 0x9CB0}, //20992 #CJK UNIFIED IDEOGRAPH
+  {0xF6EE, 0x9CB1}, //20993 #CJK UNIFIED IDEOGRAPH
+  {0xF6EF, 0x9CB2}, //20994 #CJK UNIFIED IDEOGRAPH
+  {0xF6F0, 0x9CB3}, //20995 #CJK UNIFIED IDEOGRAPH
+  {0xF6F1, 0x9CB4}, //20996 #CJK UNIFIED IDEOGRAPH
+  {0xF6F2, 0x9CB5}, //20997 #CJK UNIFIED IDEOGRAPH
+  {0xF6F3, 0x9CB6}, //20998 #CJK UNIFIED IDEOGRAPH
+  {0xF6F4, 0x9CB7}, //20999 #CJK UNIFIED IDEOGRAPH
+  {0xF6F5, 0x9CBA}, //21000 #CJK UNIFIED IDEOGRAPH
+  {0xF6F6, 0x9CBB}, //21001 #CJK UNIFIED IDEOGRAPH
+  {0xF6F7, 0x9CBC}, //21002 #CJK UNIFIED IDEOGRAPH
+  {0xF6F8, 0x9CBD}, //21003 #CJK UNIFIED IDEOGRAPH
+  {0xF6F9, 0x9CC4}, //21004 #CJK UNIFIED IDEOGRAPH
+  {0xF6FA, 0x9CC5}, //21005 #CJK UNIFIED IDEOGRAPH
+  {0xF6FB, 0x9CC6}, //21006 #CJK UNIFIED IDEOGRAPH
+  {0xF6FC, 0x9CC7}, //21007 #CJK UNIFIED IDEOGRAPH
+  {0xF6FD, 0x9CCA}, //21008 #CJK UNIFIED IDEOGRAPH
+  {0xF6FE, 0x9CCB}, //21009 #CJK UNIFIED IDEOGRAPH
+  {0xF740, 0x9C3C}, //21010 #CJK UNIFIED IDEOGRAPH
+  {0xF741, 0x9C3D}, //21011 #CJK UNIFIED IDEOGRAPH
+  {0xF742, 0x9C3E}, //21012 #CJK UNIFIED IDEOGRAPH
+  {0xF743, 0x9C3F}, //21013 #CJK UNIFIED IDEOGRAPH
+  {0xF744, 0x9C40}, //21014 #CJK UNIFIED IDEOGRAPH
+  {0xF745, 0x9C41}, //21015 #CJK UNIFIED IDEOGRAPH
+  {0xF746, 0x9C42}, //21016 #CJK UNIFIED IDEOGRAPH
+  {0xF747, 0x9C43}, //21017 #CJK UNIFIED IDEOGRAPH
+  {0xF748, 0x9C44}, //21018 #CJK UNIFIED IDEOGRAPH
+  {0xF749, 0x9C45}, //21019 #CJK UNIFIED IDEOGRAPH
+  {0xF74A, 0x9C46}, //21020 #CJK UNIFIED IDEOGRAPH
+  {0xF74B, 0x9C47}, //21021 #CJK UNIFIED IDEOGRAPH
+  {0xF74C, 0x9C48}, //21022 #CJK UNIFIED IDEOGRAPH
+  {0xF74D, 0x9C49}, //21023 #CJK UNIFIED IDEOGRAPH
+  {0xF74E, 0x9C4A}, //21024 #CJK UNIFIED IDEOGRAPH
+  {0xF74F, 0x9C4B}, //21025 #CJK UNIFIED IDEOGRAPH
+  {0xF750, 0x9C4C}, //21026 #CJK UNIFIED IDEOGRAPH
+  {0xF751, 0x9C4D}, //21027 #CJK UNIFIED IDEOGRAPH
+  {0xF752, 0x9C4E}, //21028 #CJK UNIFIED IDEOGRAPH
+  {0xF753, 0x9C4F}, //21029 #CJK UNIFIED IDEOGRAPH
+  {0xF754, 0x9C50}, //21030 #CJK UNIFIED IDEOGRAPH
+  {0xF755, 0x9C51}, //21031 #CJK UNIFIED IDEOGRAPH
+  {0xF756, 0x9C52}, //21032 #CJK UNIFIED IDEOGRAPH
+  {0xF757, 0x9C53}, //21033 #CJK UNIFIED IDEOGRAPH
+  {0xF758, 0x9C54}, //21034 #CJK UNIFIED IDEOGRAPH
+  {0xF759, 0x9C55}, //21035 #CJK UNIFIED IDEOGRAPH
+  {0xF75A, 0x9C56}, //21036 #CJK UNIFIED IDEOGRAPH
+  {0xF75B, 0x9C57}, //21037 #CJK UNIFIED IDEOGRAPH
+  {0xF75C, 0x9C58}, //21038 #CJK UNIFIED IDEOGRAPH
+  {0xF75D, 0x9C59}, //21039 #CJK UNIFIED IDEOGRAPH
+  {0xF75E, 0x9C5A}, //21040 #CJK UNIFIED IDEOGRAPH
+  {0xF75F, 0x9C5B}, //21041 #CJK UNIFIED IDEOGRAPH
+  {0xF760, 0x9C5C}, //21042 #CJK UNIFIED IDEOGRAPH
+  {0xF761, 0x9C5D}, //21043 #CJK UNIFIED IDEOGRAPH
+  {0xF762, 0x9C5E}, //21044 #CJK UNIFIED IDEOGRAPH
+  {0xF763, 0x9C5F}, //21045 #CJK UNIFIED IDEOGRAPH
+  {0xF764, 0x9C60}, //21046 #CJK UNIFIED IDEOGRAPH
+  {0xF765, 0x9C61}, //21047 #CJK UNIFIED IDEOGRAPH
+  {0xF766, 0x9C62}, //21048 #CJK UNIFIED IDEOGRAPH
+  {0xF767, 0x9C63}, //21049 #CJK UNIFIED IDEOGRAPH
+  {0xF768, 0x9C64}, //21050 #CJK UNIFIED IDEOGRAPH
+  {0xF769, 0x9C65}, //21051 #CJK UNIFIED IDEOGRAPH
+  {0xF76A, 0x9C66}, //21052 #CJK UNIFIED IDEOGRAPH
+  {0xF76B, 0x9C67}, //21053 #CJK UNIFIED IDEOGRAPH
+  {0xF76C, 0x9C68}, //21054 #CJK UNIFIED IDEOGRAPH
+  {0xF76D, 0x9C69}, //21055 #CJK UNIFIED IDEOGRAPH
+  {0xF76E, 0x9C6A}, //21056 #CJK UNIFIED IDEOGRAPH
+  {0xF76F, 0x9C6B}, //21057 #CJK UNIFIED IDEOGRAPH
+  {0xF770, 0x9C6C}, //21058 #CJK UNIFIED IDEOGRAPH
+  {0xF771, 0x9C6D}, //21059 #CJK UNIFIED IDEOGRAPH
+  {0xF772, 0x9C6E}, //21060 #CJK UNIFIED IDEOGRAPH
+  {0xF773, 0x9C6F}, //21061 #CJK UNIFIED IDEOGRAPH
+  {0xF774, 0x9C70}, //21062 #CJK UNIFIED IDEOGRAPH
+  {0xF775, 0x9C71}, //21063 #CJK UNIFIED IDEOGRAPH
+  {0xF776, 0x9C72}, //21064 #CJK UNIFIED IDEOGRAPH
+  {0xF777, 0x9C73}, //21065 #CJK UNIFIED IDEOGRAPH
+  {0xF778, 0x9C74}, //21066 #CJK UNIFIED IDEOGRAPH
+  {0xF779, 0x9C75}, //21067 #CJK UNIFIED IDEOGRAPH
+  {0xF77A, 0x9C76}, //21068 #CJK UNIFIED IDEOGRAPH
+  {0xF77B, 0x9C77}, //21069 #CJK UNIFIED IDEOGRAPH
+  {0xF77C, 0x9C78}, //21070 #CJK UNIFIED IDEOGRAPH
+  {0xF77D, 0x9C79}, //21071 #CJK UNIFIED IDEOGRAPH
+  {0xF77E, 0x9C7A}, //21072 #CJK UNIFIED IDEOGRAPH
+  {0xF780, 0x9C7B}, //21073 #CJK UNIFIED IDEOGRAPH
+  {0xF781, 0x9C7D}, //21074 #CJK UNIFIED IDEOGRAPH
+  {0xF782, 0x9C7E}, //21075 #CJK UNIFIED IDEOGRAPH
+  {0xF783, 0x9C80}, //21076 #CJK UNIFIED IDEOGRAPH
+  {0xF784, 0x9C83}, //21077 #CJK UNIFIED IDEOGRAPH
+  {0xF785, 0x9C84}, //21078 #CJK UNIFIED IDEOGRAPH
+  {0xF786, 0x9C89}, //21079 #CJK UNIFIED IDEOGRAPH
+  {0xF787, 0x9C8A}, //21080 #CJK UNIFIED IDEOGRAPH
+  {0xF788, 0x9C8C}, //21081 #CJK UNIFIED IDEOGRAPH
+  {0xF789, 0x9C8F}, //21082 #CJK UNIFIED IDEOGRAPH
+  {0xF78A, 0x9C93}, //21083 #CJK UNIFIED IDEOGRAPH
+  {0xF78B, 0x9C96}, //21084 #CJK UNIFIED IDEOGRAPH
+  {0xF78C, 0x9C97}, //21085 #CJK UNIFIED IDEOGRAPH
+  {0xF78D, 0x9C98}, //21086 #CJK UNIFIED IDEOGRAPH
+  {0xF78E, 0x9C99}, //21087 #CJK UNIFIED IDEOGRAPH
+  {0xF78F, 0x9C9D}, //21088 #CJK UNIFIED IDEOGRAPH
+  {0xF790, 0x9CAA}, //21089 #CJK UNIFIED IDEOGRAPH
+  {0xF791, 0x9CAC}, //21090 #CJK UNIFIED IDEOGRAPH
+  {0xF792, 0x9CAF}, //21091 #CJK UNIFIED IDEOGRAPH
+  {0xF793, 0x9CB9}, //21092 #CJK UNIFIED IDEOGRAPH
+  {0xF794, 0x9CBE}, //21093 #CJK UNIFIED IDEOGRAPH
+  {0xF795, 0x9CBF}, //21094 #CJK UNIFIED IDEOGRAPH
+  {0xF796, 0x9CC0}, //21095 #CJK UNIFIED IDEOGRAPH
+  {0xF797, 0x9CC1}, //21096 #CJK UNIFIED IDEOGRAPH
+  {0xF798, 0x9CC2}, //21097 #CJK UNIFIED IDEOGRAPH
+  {0xF799, 0x9CC8}, //21098 #CJK UNIFIED IDEOGRAPH
+  {0xF79A, 0x9CC9}, //21099 #CJK UNIFIED IDEOGRAPH
+  {0xF79B, 0x9CD1}, //21100 #CJK UNIFIED IDEOGRAPH
+  {0xF79C, 0x9CD2}, //21101 #CJK UNIFIED IDEOGRAPH
+  {0xF79D, 0x9CDA}, //21102 #CJK UNIFIED IDEOGRAPH
+  {0xF79E, 0x9CDB}, //21103 #CJK UNIFIED IDEOGRAPH
+  {0xF79F, 0x9CE0}, //21104 #CJK UNIFIED IDEOGRAPH
+  {0xF7A0, 0x9CE1}, //21105 #CJK UNIFIED IDEOGRAPH
+  {0xF7A1, 0x9CCC}, //21106 #CJK UNIFIED IDEOGRAPH
+  {0xF7A2, 0x9CCD}, //21107 #CJK UNIFIED IDEOGRAPH
+  {0xF7A3, 0x9CCE}, //21108 #CJK UNIFIED IDEOGRAPH
+  {0xF7A4, 0x9CCF}, //21109 #CJK UNIFIED IDEOGRAPH
+  {0xF7A5, 0x9CD0}, //21110 #CJK UNIFIED IDEOGRAPH
+  {0xF7A6, 0x9CD3}, //21111 #CJK UNIFIED IDEOGRAPH
+  {0xF7A7, 0x9CD4}, //21112 #CJK UNIFIED IDEOGRAPH
+  {0xF7A8, 0x9CD5}, //21113 #CJK UNIFIED IDEOGRAPH
+  {0xF7A9, 0x9CD7}, //21114 #CJK UNIFIED IDEOGRAPH
+  {0xF7AA, 0x9CD8}, //21115 #CJK UNIFIED IDEOGRAPH
+  {0xF7AB, 0x9CD9}, //21116 #CJK UNIFIED IDEOGRAPH
+  {0xF7AC, 0x9CDC}, //21117 #CJK UNIFIED IDEOGRAPH
+  {0xF7AD, 0x9CDD}, //21118 #CJK UNIFIED IDEOGRAPH
+  {0xF7AE, 0x9CDF}, //21119 #CJK UNIFIED IDEOGRAPH
+  {0xF7AF, 0x9CE2}, //21120 #CJK UNIFIED IDEOGRAPH
+  {0xF7B0, 0x977C}, //21121 #CJK UNIFIED IDEOGRAPH
+  {0xF7B1, 0x9785}, //21122 #CJK UNIFIED IDEOGRAPH
+  {0xF7B2, 0x9791}, //21123 #CJK UNIFIED IDEOGRAPH
+  {0xF7B3, 0x9792}, //21124 #CJK UNIFIED IDEOGRAPH
+  {0xF7B4, 0x9794}, //21125 #CJK UNIFIED IDEOGRAPH
+  {0xF7B5, 0x97AF}, //21126 #CJK UNIFIED IDEOGRAPH
+  {0xF7B6, 0x97AB}, //21127 #CJK UNIFIED IDEOGRAPH
+  {0xF7B7, 0x97A3}, //21128 #CJK UNIFIED IDEOGRAPH
+  {0xF7B8, 0x97B2}, //21129 #CJK UNIFIED IDEOGRAPH
+  {0xF7B9, 0x97B4}, //21130 #CJK UNIFIED IDEOGRAPH
+  {0xF7BA, 0x9AB1}, //21131 #CJK UNIFIED IDEOGRAPH
+  {0xF7BB, 0x9AB0}, //21132 #CJK UNIFIED IDEOGRAPH
+  {0xF7BC, 0x9AB7}, //21133 #CJK UNIFIED IDEOGRAPH
+  {0xF7BD, 0x9E58}, //21134 #CJK UNIFIED IDEOGRAPH
+  {0xF7BE, 0x9AB6}, //21135 #CJK UNIFIED IDEOGRAPH
+  {0xF7BF, 0x9ABA}, //21136 #CJK UNIFIED IDEOGRAPH
+  {0xF7C0, 0x9ABC}, //21137 #CJK UNIFIED IDEOGRAPH
+  {0xF7C1, 0x9AC1}, //21138 #CJK UNIFIED IDEOGRAPH
+  {0xF7C2, 0x9AC0}, //21139 #CJK UNIFIED IDEOGRAPH
+  {0xF7C3, 0x9AC5}, //21140 #CJK UNIFIED IDEOGRAPH
+  {0xF7C4, 0x9AC2}, //21141 #CJK UNIFIED IDEOGRAPH
+  {0xF7C5, 0x9ACB}, //21142 #CJK UNIFIED IDEOGRAPH
+  {0xF7C6, 0x9ACC}, //21143 #CJK UNIFIED IDEOGRAPH
+  {0xF7C7, 0x9AD1}, //21144 #CJK UNIFIED IDEOGRAPH
+  {0xF7C8, 0x9B45}, //21145 #CJK UNIFIED IDEOGRAPH
+  {0xF7C9, 0x9B43}, //21146 #CJK UNIFIED IDEOGRAPH
+  {0xF7CA, 0x9B47}, //21147 #CJK UNIFIED IDEOGRAPH
+  {0xF7CB, 0x9B49}, //21148 #CJK UNIFIED IDEOGRAPH
+  {0xF7CC, 0x9B48}, //21149 #CJK UNIFIED IDEOGRAPH
+  {0xF7CD, 0x9B4D}, //21150 #CJK UNIFIED IDEOGRAPH
+  {0xF7CE, 0x9B51}, //21151 #CJK UNIFIED IDEOGRAPH
+  {0xF7CF, 0x98E8}, //21152 #CJK UNIFIED IDEOGRAPH
+  {0xF7D0, 0x990D}, //21153 #CJK UNIFIED IDEOGRAPH
+  {0xF7D1, 0x992E}, //21154 #CJK UNIFIED IDEOGRAPH
+  {0xF7D2, 0x9955}, //21155 #CJK UNIFIED IDEOGRAPH
+  {0xF7D3, 0x9954}, //21156 #CJK UNIFIED IDEOGRAPH
+  {0xF7D4, 0x9ADF}, //21157 #CJK UNIFIED IDEOGRAPH
+  {0xF7D5, 0x9AE1}, //21158 #CJK UNIFIED IDEOGRAPH
+  {0xF7D6, 0x9AE6}, //21159 #CJK UNIFIED IDEOGRAPH
+  {0xF7D7, 0x9AEF}, //21160 #CJK UNIFIED IDEOGRAPH
+  {0xF7D8, 0x9AEB}, //21161 #CJK UNIFIED IDEOGRAPH
+  {0xF7D9, 0x9AFB}, //21162 #CJK UNIFIED IDEOGRAPH
+  {0xF7DA, 0x9AED}, //21163 #CJK UNIFIED IDEOGRAPH
+  {0xF7DB, 0x9AF9}, //21164 #CJK UNIFIED IDEOGRAPH
+  {0xF7DC, 0x9B08}, //21165 #CJK UNIFIED IDEOGRAPH
+  {0xF7DD, 0x9B0F}, //21166 #CJK UNIFIED IDEOGRAPH
+  {0xF7DE, 0x9B13}, //21167 #CJK UNIFIED IDEOGRAPH
+  {0xF7DF, 0x9B1F}, //21168 #CJK UNIFIED IDEOGRAPH
+  {0xF7E0, 0x9B23}, //21169 #CJK UNIFIED IDEOGRAPH
+  {0xF7E1, 0x9EBD}, //21170 #CJK UNIFIED IDEOGRAPH
+  {0xF7E2, 0x9EBE}, //21171 #CJK UNIFIED IDEOGRAPH
+  {0xF7E3, 0x7E3B}, //21172 #CJK UNIFIED IDEOGRAPH
+  {0xF7E4, 0x9E82}, //21173 #CJK UNIFIED IDEOGRAPH
+  {0xF7E5, 0x9E87}, //21174 #CJK UNIFIED IDEOGRAPH
+  {0xF7E6, 0x9E88}, //21175 #CJK UNIFIED IDEOGRAPH
+  {0xF7E7, 0x9E8B}, //21176 #CJK UNIFIED IDEOGRAPH
+  {0xF7E8, 0x9E92}, //21177 #CJK UNIFIED IDEOGRAPH
+  {0xF7E9, 0x93D6}, //21178 #CJK UNIFIED IDEOGRAPH
+  {0xF7EA, 0x9E9D}, //21179 #CJK UNIFIED IDEOGRAPH
+  {0xF7EB, 0x9E9F}, //21180 #CJK UNIFIED IDEOGRAPH
+  {0xF7EC, 0x9EDB}, //21181 #CJK UNIFIED IDEOGRAPH
+  {0xF7ED, 0x9EDC}, //21182 #CJK UNIFIED IDEOGRAPH
+  {0xF7EE, 0x9EDD}, //21183 #CJK UNIFIED IDEOGRAPH
+  {0xF7EF, 0x9EE0}, //21184 #CJK UNIFIED IDEOGRAPH
+  {0xF7F0, 0x9EDF}, //21185 #CJK UNIFIED IDEOGRAPH
+  {0xF7F1, 0x9EE2}, //21186 #CJK UNIFIED IDEOGRAPH
+  {0xF7F2, 0x9EE9}, //21187 #CJK UNIFIED IDEOGRAPH
+  {0xF7F3, 0x9EE7}, //21188 #CJK UNIFIED IDEOGRAPH
+  {0xF7F4, 0x9EE5}, //21189 #CJK UNIFIED IDEOGRAPH
+  {0xF7F5, 0x9EEA}, //21190 #CJK UNIFIED IDEOGRAPH
+  {0xF7F6, 0x9EEF}, //21191 #CJK UNIFIED IDEOGRAPH
+  {0xF7F7, 0x9F22}, //21192 #CJK UNIFIED IDEOGRAPH
+  {0xF7F8, 0x9F2C}, //21193 #CJK UNIFIED IDEOGRAPH
+  {0xF7F9, 0x9F2F}, //21194 #CJK UNIFIED IDEOGRAPH
+  {0xF7FA, 0x9F39}, //21195 #CJK UNIFIED IDEOGRAPH
+  {0xF7FB, 0x9F37}, //21196 #CJK UNIFIED IDEOGRAPH
+  {0xF7FC, 0x9F3D}, //21197 #CJK UNIFIED IDEOGRAPH
+  {0xF7FD, 0x9F3E}, //21198 #CJK UNIFIED IDEOGRAPH
+  {0xF7FE, 0x9F44}, //21199 #CJK UNIFIED IDEOGRAPH
+  {0xF840, 0x9CE3}, //21200 #CJK UNIFIED IDEOGRAPH
+  {0xF841, 0x9CE4}, //21201 #CJK UNIFIED IDEOGRAPH
+  {0xF842, 0x9CE5}, //21202 #CJK UNIFIED IDEOGRAPH
+  {0xF843, 0x9CE6}, //21203 #CJK UNIFIED IDEOGRAPH
+  {0xF844, 0x9CE7}, //21204 #CJK UNIFIED IDEOGRAPH
+  {0xF845, 0x9CE8}, //21205 #CJK UNIFIED IDEOGRAPH
+  {0xF846, 0x9CE9}, //21206 #CJK UNIFIED IDEOGRAPH
+  {0xF847, 0x9CEA}, //21207 #CJK UNIFIED IDEOGRAPH
+  {0xF848, 0x9CEB}, //21208 #CJK UNIFIED IDEOGRAPH
+  {0xF849, 0x9CEC}, //21209 #CJK UNIFIED IDEOGRAPH
+  {0xF84A, 0x9CED}, //21210 #CJK UNIFIED IDEOGRAPH
+  {0xF84B, 0x9CEE}, //21211 #CJK UNIFIED IDEOGRAPH
+  {0xF84C, 0x9CEF}, //21212 #CJK UNIFIED IDEOGRAPH
+  {0xF84D, 0x9CF0}, //21213 #CJK UNIFIED IDEOGRAPH
+  {0xF84E, 0x9CF1}, //21214 #CJK UNIFIED IDEOGRAPH
+  {0xF84F, 0x9CF2}, //21215 #CJK UNIFIED IDEOGRAPH
+  {0xF850, 0x9CF3}, //21216 #CJK UNIFIED IDEOGRAPH
+  {0xF851, 0x9CF4}, //21217 #CJK UNIFIED IDEOGRAPH
+  {0xF852, 0x9CF5}, //21218 #CJK UNIFIED IDEOGRAPH
+  {0xF853, 0x9CF6}, //21219 #CJK UNIFIED IDEOGRAPH
+  {0xF854, 0x9CF7}, //21220 #CJK UNIFIED IDEOGRAPH
+  {0xF855, 0x9CF8}, //21221 #CJK UNIFIED IDEOGRAPH
+  {0xF856, 0x9CF9}, //21222 #CJK UNIFIED IDEOGRAPH
+  {0xF857, 0x9CFA}, //21223 #CJK UNIFIED IDEOGRAPH
+  {0xF858, 0x9CFB}, //21224 #CJK UNIFIED IDEOGRAPH
+  {0xF859, 0x9CFC}, //21225 #CJK UNIFIED IDEOGRAPH
+  {0xF85A, 0x9CFD}, //21226 #CJK UNIFIED IDEOGRAPH
+  {0xF85B, 0x9CFE}, //21227 #CJK UNIFIED IDEOGRAPH
+  {0xF85C, 0x9CFF}, //21228 #CJK UNIFIED IDEOGRAPH
+  {0xF85D, 0x9D00}, //21229 #CJK UNIFIED IDEOGRAPH
+  {0xF85E, 0x9D01}, //21230 #CJK UNIFIED IDEOGRAPH
+  {0xF85F, 0x9D02}, //21231 #CJK UNIFIED IDEOGRAPH
+  {0xF860, 0x9D03}, //21232 #CJK UNIFIED IDEOGRAPH
+  {0xF861, 0x9D04}, //21233 #CJK UNIFIED IDEOGRAPH
+  {0xF862, 0x9D05}, //21234 #CJK UNIFIED IDEOGRAPH
+  {0xF863, 0x9D06}, //21235 #CJK UNIFIED IDEOGRAPH
+  {0xF864, 0x9D07}, //21236 #CJK UNIFIED IDEOGRAPH
+  {0xF865, 0x9D08}, //21237 #CJK UNIFIED IDEOGRAPH
+  {0xF866, 0x9D09}, //21238 #CJK UNIFIED IDEOGRAPH
+  {0xF867, 0x9D0A}, //21239 #CJK UNIFIED IDEOGRAPH
+  {0xF868, 0x9D0B}, //21240 #CJK UNIFIED IDEOGRAPH
+  {0xF869, 0x9D0C}, //21241 #CJK UNIFIED IDEOGRAPH
+  {0xF86A, 0x9D0D}, //21242 #CJK UNIFIED IDEOGRAPH
+  {0xF86B, 0x9D0E}, //21243 #CJK UNIFIED IDEOGRAPH
+  {0xF86C, 0x9D0F}, //21244 #CJK UNIFIED IDEOGRAPH
+  {0xF86D, 0x9D10}, //21245 #CJK UNIFIED IDEOGRAPH
+  {0xF86E, 0x9D11}, //21246 #CJK UNIFIED IDEOGRAPH
+  {0xF86F, 0x9D12}, //21247 #CJK UNIFIED IDEOGRAPH
+  {0xF870, 0x9D13}, //21248 #CJK UNIFIED IDEOGRAPH
+  {0xF871, 0x9D14}, //21249 #CJK UNIFIED IDEOGRAPH
+  {0xF872, 0x9D15}, //21250 #CJK UNIFIED IDEOGRAPH
+  {0xF873, 0x9D16}, //21251 #CJK UNIFIED IDEOGRAPH
+  {0xF874, 0x9D17}, //21252 #CJK UNIFIED IDEOGRAPH
+  {0xF875, 0x9D18}, //21253 #CJK UNIFIED IDEOGRAPH
+  {0xF876, 0x9D19}, //21254 #CJK UNIFIED IDEOGRAPH
+  {0xF877, 0x9D1A}, //21255 #CJK UNIFIED IDEOGRAPH
+  {0xF878, 0x9D1B}, //21256 #CJK UNIFIED IDEOGRAPH
+  {0xF879, 0x9D1C}, //21257 #CJK UNIFIED IDEOGRAPH
+  {0xF87A, 0x9D1D}, //21258 #CJK UNIFIED IDEOGRAPH
+  {0xF87B, 0x9D1E}, //21259 #CJK UNIFIED IDEOGRAPH
+  {0xF87C, 0x9D1F}, //21260 #CJK UNIFIED IDEOGRAPH
+  {0xF87D, 0x9D20}, //21261 #CJK UNIFIED IDEOGRAPH
+  {0xF87E, 0x9D21}, //21262 #CJK UNIFIED IDEOGRAPH
+  {0xF880, 0x9D22}, //21263 #CJK UNIFIED IDEOGRAPH
+  {0xF881, 0x9D23}, //21264 #CJK UNIFIED IDEOGRAPH
+  {0xF882, 0x9D24}, //21265 #CJK UNIFIED IDEOGRAPH
+  {0xF883, 0x9D25}, //21266 #CJK UNIFIED IDEOGRAPH
+  {0xF884, 0x9D26}, //21267 #CJK UNIFIED IDEOGRAPH
+  {0xF885, 0x9D27}, //21268 #CJK UNIFIED IDEOGRAPH
+  {0xF886, 0x9D28}, //21269 #CJK UNIFIED IDEOGRAPH
+  {0xF887, 0x9D29}, //21270 #CJK UNIFIED IDEOGRAPH
+  {0xF888, 0x9D2A}, //21271 #CJK UNIFIED IDEOGRAPH
+  {0xF889, 0x9D2B}, //21272 #CJK UNIFIED IDEOGRAPH
+  {0xF88A, 0x9D2C}, //21273 #CJK UNIFIED IDEOGRAPH
+  {0xF88B, 0x9D2D}, //21274 #CJK UNIFIED IDEOGRAPH
+  {0xF88C, 0x9D2E}, //21275 #CJK UNIFIED IDEOGRAPH
+  {0xF88D, 0x9D2F}, //21276 #CJK UNIFIED IDEOGRAPH
+  {0xF88E, 0x9D30}, //21277 #CJK UNIFIED IDEOGRAPH
+  {0xF88F, 0x9D31}, //21278 #CJK UNIFIED IDEOGRAPH
+  {0xF890, 0x9D32}, //21279 #CJK UNIFIED IDEOGRAPH
+  {0xF891, 0x9D33}, //21280 #CJK UNIFIED IDEOGRAPH
+  {0xF892, 0x9D34}, //21281 #CJK UNIFIED IDEOGRAPH
+  {0xF893, 0x9D35}, //21282 #CJK UNIFIED IDEOGRAPH
+  {0xF894, 0x9D36}, //21283 #CJK UNIFIED IDEOGRAPH
+  {0xF895, 0x9D37}, //21284 #CJK UNIFIED IDEOGRAPH
+  {0xF896, 0x9D38}, //21285 #CJK UNIFIED IDEOGRAPH
+  {0xF897, 0x9D39}, //21286 #CJK UNIFIED IDEOGRAPH
+  {0xF898, 0x9D3A}, //21287 #CJK UNIFIED IDEOGRAPH
+  {0xF899, 0x9D3B}, //21288 #CJK UNIFIED IDEOGRAPH
+  {0xF89A, 0x9D3C}, //21289 #CJK UNIFIED IDEOGRAPH
+  {0xF89B, 0x9D3D}, //21290 #CJK UNIFIED IDEOGRAPH
+  {0xF89C, 0x9D3E}, //21291 #CJK UNIFIED IDEOGRAPH
+  {0xF89D, 0x9D3F}, //21292 #CJK UNIFIED IDEOGRAPH
+  {0xF89E, 0x9D40}, //21293 #CJK UNIFIED IDEOGRAPH
+  {0xF89F, 0x9D41}, //21294 #CJK UNIFIED IDEOGRAPH
+  {0xF8A0, 0x9D42}, //21295 #CJK UNIFIED IDEOGRAPH
+  {0xF940, 0x9D43}, //21296 #CJK UNIFIED IDEOGRAPH
+  {0xF941, 0x9D44}, //21297 #CJK UNIFIED IDEOGRAPH
+  {0xF942, 0x9D45}, //21298 #CJK UNIFIED IDEOGRAPH
+  {0xF943, 0x9D46}, //21299 #CJK UNIFIED IDEOGRAPH
+  {0xF944, 0x9D47}, //21300 #CJK UNIFIED IDEOGRAPH
+  {0xF945, 0x9D48}, //21301 #CJK UNIFIED IDEOGRAPH
+  {0xF946, 0x9D49}, //21302 #CJK UNIFIED IDEOGRAPH
+  {0xF947, 0x9D4A}, //21303 #CJK UNIFIED IDEOGRAPH
+  {0xF948, 0x9D4B}, //21304 #CJK UNIFIED IDEOGRAPH
+  {0xF949, 0x9D4C}, //21305 #CJK UNIFIED IDEOGRAPH
+  {0xF94A, 0x9D4D}, //21306 #CJK UNIFIED IDEOGRAPH
+  {0xF94B, 0x9D4E}, //21307 #CJK UNIFIED IDEOGRAPH
+  {0xF94C, 0x9D4F}, //21308 #CJK UNIFIED IDEOGRAPH
+  {0xF94D, 0x9D50}, //21309 #CJK UNIFIED IDEOGRAPH
+  {0xF94E, 0x9D51}, //21310 #CJK UNIFIED IDEOGRAPH
+  {0xF94F, 0x9D52}, //21311 #CJK UNIFIED IDEOGRAPH
+  {0xF950, 0x9D53}, //21312 #CJK UNIFIED IDEOGRAPH
+  {0xF951, 0x9D54}, //21313 #CJK UNIFIED IDEOGRAPH
+  {0xF952, 0x9D55}, //21314 #CJK UNIFIED IDEOGRAPH
+  {0xF953, 0x9D56}, //21315 #CJK UNIFIED IDEOGRAPH
+  {0xF954, 0x9D57}, //21316 #CJK UNIFIED IDEOGRAPH
+  {0xF955, 0x9D58}, //21317 #CJK UNIFIED IDEOGRAPH
+  {0xF956, 0x9D59}, //21318 #CJK UNIFIED IDEOGRAPH
+  {0xF957, 0x9D5A}, //21319 #CJK UNIFIED IDEOGRAPH
+  {0xF958, 0x9D5B}, //21320 #CJK UNIFIED IDEOGRAPH
+  {0xF959, 0x9D5C}, //21321 #CJK UNIFIED IDEOGRAPH
+  {0xF95A, 0x9D5D}, //21322 #CJK UNIFIED IDEOGRAPH
+  {0xF95B, 0x9D5E}, //21323 #CJK UNIFIED IDEOGRAPH
+  {0xF95C, 0x9D5F}, //21324 #CJK UNIFIED IDEOGRAPH
+  {0xF95D, 0x9D60}, //21325 #CJK UNIFIED IDEOGRAPH
+  {0xF95E, 0x9D61}, //21326 #CJK UNIFIED IDEOGRAPH
+  {0xF95F, 0x9D62}, //21327 #CJK UNIFIED IDEOGRAPH
+  {0xF960, 0x9D63}, //21328 #CJK UNIFIED IDEOGRAPH
+  {0xF961, 0x9D64}, //21329 #CJK UNIFIED IDEOGRAPH
+  {0xF962, 0x9D65}, //21330 #CJK UNIFIED IDEOGRAPH
+  {0xF963, 0x9D66}, //21331 #CJK UNIFIED IDEOGRAPH
+  {0xF964, 0x9D67}, //21332 #CJK UNIFIED IDEOGRAPH
+  {0xF965, 0x9D68}, //21333 #CJK UNIFIED IDEOGRAPH
+  {0xF966, 0x9D69}, //21334 #CJK UNIFIED IDEOGRAPH
+  {0xF967, 0x9D6A}, //21335 #CJK UNIFIED IDEOGRAPH
+  {0xF968, 0x9D6B}, //21336 #CJK UNIFIED IDEOGRAPH
+  {0xF969, 0x9D6C}, //21337 #CJK UNIFIED IDEOGRAPH
+  {0xF96A, 0x9D6D}, //21338 #CJK UNIFIED IDEOGRAPH
+  {0xF96B, 0x9D6E}, //21339 #CJK UNIFIED IDEOGRAPH
+  {0xF96C, 0x9D6F}, //21340 #CJK UNIFIED IDEOGRAPH
+  {0xF96D, 0x9D70}, //21341 #CJK UNIFIED IDEOGRAPH
+  {0xF96E, 0x9D71}, //21342 #CJK UNIFIED IDEOGRAPH
+  {0xF96F, 0x9D72}, //21343 #CJK UNIFIED IDEOGRAPH
+  {0xF970, 0x9D73}, //21344 #CJK UNIFIED IDEOGRAPH
+  {0xF971, 0x9D74}, //21345 #CJK UNIFIED IDEOGRAPH
+  {0xF972, 0x9D75}, //21346 #CJK UNIFIED IDEOGRAPH
+  {0xF973, 0x9D76}, //21347 #CJK UNIFIED IDEOGRAPH
+  {0xF974, 0x9D77}, //21348 #CJK UNIFIED IDEOGRAPH
+  {0xF975, 0x9D78}, //21349 #CJK UNIFIED IDEOGRAPH
+  {0xF976, 0x9D79}, //21350 #CJK UNIFIED IDEOGRAPH
+  {0xF977, 0x9D7A}, //21351 #CJK UNIFIED IDEOGRAPH
+  {0xF978, 0x9D7B}, //21352 #CJK UNIFIED IDEOGRAPH
+  {0xF979, 0x9D7C}, //21353 #CJK UNIFIED IDEOGRAPH
+  {0xF97A, 0x9D7D}, //21354 #CJK UNIFIED IDEOGRAPH
+  {0xF97B, 0x9D7E}, //21355 #CJK UNIFIED IDEOGRAPH
+  {0xF97C, 0x9D7F}, //21356 #CJK UNIFIED IDEOGRAPH
+  {0xF97D, 0x9D80}, //21357 #CJK UNIFIED IDEOGRAPH
+  {0xF97E, 0x9D81}, //21358 #CJK UNIFIED IDEOGRAPH
+  {0xF980, 0x9D82}, //21359 #CJK UNIFIED IDEOGRAPH
+  {0xF981, 0x9D83}, //21360 #CJK UNIFIED IDEOGRAPH
+  {0xF982, 0x9D84}, //21361 #CJK UNIFIED IDEOGRAPH
+  {0xF983, 0x9D85}, //21362 #CJK UNIFIED IDEOGRAPH
+  {0xF984, 0x9D86}, //21363 #CJK UNIFIED IDEOGRAPH
+  {0xF985, 0x9D87}, //21364 #CJK UNIFIED IDEOGRAPH
+  {0xF986, 0x9D88}, //21365 #CJK UNIFIED IDEOGRAPH
+  {0xF987, 0x9D89}, //21366 #CJK UNIFIED IDEOGRAPH
+  {0xF988, 0x9D8A}, //21367 #CJK UNIFIED IDEOGRAPH
+  {0xF989, 0x9D8B}, //21368 #CJK UNIFIED IDEOGRAPH
+  {0xF98A, 0x9D8C}, //21369 #CJK UNIFIED IDEOGRAPH
+  {0xF98B, 0x9D8D}, //21370 #CJK UNIFIED IDEOGRAPH
+  {0xF98C, 0x9D8E}, //21371 #CJK UNIFIED IDEOGRAPH
+  {0xF98D, 0x9D8F}, //21372 #CJK UNIFIED IDEOGRAPH
+  {0xF98E, 0x9D90}, //21373 #CJK UNIFIED IDEOGRAPH
+  {0xF98F, 0x9D91}, //21374 #CJK UNIFIED IDEOGRAPH
+  {0xF990, 0x9D92}, //21375 #CJK UNIFIED IDEOGRAPH
+  {0xF991, 0x9D93}, //21376 #CJK UNIFIED IDEOGRAPH
+  {0xF992, 0x9D94}, //21377 #CJK UNIFIED IDEOGRAPH
+  {0xF993, 0x9D95}, //21378 #CJK UNIFIED IDEOGRAPH
+  {0xF994, 0x9D96}, //21379 #CJK UNIFIED IDEOGRAPH
+  {0xF995, 0x9D97}, //21380 #CJK UNIFIED IDEOGRAPH
+  {0xF996, 0x9D98}, //21381 #CJK UNIFIED IDEOGRAPH
+  {0xF997, 0x9D99}, //21382 #CJK UNIFIED IDEOGRAPH
+  {0xF998, 0x9D9A}, //21383 #CJK UNIFIED IDEOGRAPH
+  {0xF999, 0x9D9B}, //21384 #CJK UNIFIED IDEOGRAPH
+  {0xF99A, 0x9D9C}, //21385 #CJK UNIFIED IDEOGRAPH
+  {0xF99B, 0x9D9D}, //21386 #CJK UNIFIED IDEOGRAPH
+  {0xF99C, 0x9D9E}, //21387 #CJK UNIFIED IDEOGRAPH
+  {0xF99D, 0x9D9F}, //21388 #CJK UNIFIED IDEOGRAPH
+  {0xF99E, 0x9DA0}, //21389 #CJK UNIFIED IDEOGRAPH
+  {0xF99F, 0x9DA1}, //21390 #CJK UNIFIED IDEOGRAPH
+  {0xF9A0, 0x9DA2}, //21391 #CJK UNIFIED IDEOGRAPH
+  {0xFA40, 0x9DA3}, //21392 #CJK UNIFIED IDEOGRAPH
+  {0xFA41, 0x9DA4}, //21393 #CJK UNIFIED IDEOGRAPH
+  {0xFA42, 0x9DA5}, //21394 #CJK UNIFIED IDEOGRAPH
+  {0xFA43, 0x9DA6}, //21395 #CJK UNIFIED IDEOGRAPH
+  {0xFA44, 0x9DA7}, //21396 #CJK UNIFIED IDEOGRAPH
+  {0xFA45, 0x9DA8}, //21397 #CJK UNIFIED IDEOGRAPH
+  {0xFA46, 0x9DA9}, //21398 #CJK UNIFIED IDEOGRAPH
+  {0xFA47, 0x9DAA}, //21399 #CJK UNIFIED IDEOGRAPH
+  {0xFA48, 0x9DAB}, //21400 #CJK UNIFIED IDEOGRAPH
+  {0xFA49, 0x9DAC}, //21401 #CJK UNIFIED IDEOGRAPH
+  {0xFA4A, 0x9DAD}, //21402 #CJK UNIFIED IDEOGRAPH
+  {0xFA4B, 0x9DAE}, //21403 #CJK UNIFIED IDEOGRAPH
+  {0xFA4C, 0x9DAF}, //21404 #CJK UNIFIED IDEOGRAPH
+  {0xFA4D, 0x9DB0}, //21405 #CJK UNIFIED IDEOGRAPH
+  {0xFA4E, 0x9DB1}, //21406 #CJK UNIFIED IDEOGRAPH
+  {0xFA4F, 0x9DB2}, //21407 #CJK UNIFIED IDEOGRAPH
+  {0xFA50, 0x9DB3}, //21408 #CJK UNIFIED IDEOGRAPH
+  {0xFA51, 0x9DB4}, //21409 #CJK UNIFIED IDEOGRAPH
+  {0xFA52, 0x9DB5}, //21410 #CJK UNIFIED IDEOGRAPH
+  {0xFA53, 0x9DB6}, //21411 #CJK UNIFIED IDEOGRAPH
+  {0xFA54, 0x9DB7}, //21412 #CJK UNIFIED IDEOGRAPH
+  {0xFA55, 0x9DB8}, //21413 #CJK UNIFIED IDEOGRAPH
+  {0xFA56, 0x9DB9}, //21414 #CJK UNIFIED IDEOGRAPH
+  {0xFA57, 0x9DBA}, //21415 #CJK UNIFIED IDEOGRAPH
+  {0xFA58, 0x9DBB}, //21416 #CJK UNIFIED IDEOGRAPH
+  {0xFA59, 0x9DBC}, //21417 #CJK UNIFIED IDEOGRAPH
+  {0xFA5A, 0x9DBD}, //21418 #CJK UNIFIED IDEOGRAPH
+  {0xFA5B, 0x9DBE}, //21419 #CJK UNIFIED IDEOGRAPH
+  {0xFA5C, 0x9DBF}, //21420 #CJK UNIFIED IDEOGRAPH
+  {0xFA5D, 0x9DC0}, //21421 #CJK UNIFIED IDEOGRAPH
+  {0xFA5E, 0x9DC1}, //21422 #CJK UNIFIED IDEOGRAPH
+  {0xFA5F, 0x9DC2}, //21423 #CJK UNIFIED IDEOGRAPH
+  {0xFA60, 0x9DC3}, //21424 #CJK UNIFIED IDEOGRAPH
+  {0xFA61, 0x9DC4}, //21425 #CJK UNIFIED IDEOGRAPH
+  {0xFA62, 0x9DC5}, //21426 #CJK UNIFIED IDEOGRAPH
+  {0xFA63, 0x9DC6}, //21427 #CJK UNIFIED IDEOGRAPH
+  {0xFA64, 0x9DC7}, //21428 #CJK UNIFIED IDEOGRAPH
+  {0xFA65, 0x9DC8}, //21429 #CJK UNIFIED IDEOGRAPH
+  {0xFA66, 0x9DC9}, //21430 #CJK UNIFIED IDEOGRAPH
+  {0xFA67, 0x9DCA}, //21431 #CJK UNIFIED IDEOGRAPH
+  {0xFA68, 0x9DCB}, //21432 #CJK UNIFIED IDEOGRAPH
+  {0xFA69, 0x9DCC}, //21433 #CJK UNIFIED IDEOGRAPH
+  {0xFA6A, 0x9DCD}, //21434 #CJK UNIFIED IDEOGRAPH
+  {0xFA6B, 0x9DCE}, //21435 #CJK UNIFIED IDEOGRAPH
+  {0xFA6C, 0x9DCF}, //21436 #CJK UNIFIED IDEOGRAPH
+  {0xFA6D, 0x9DD0}, //21437 #CJK UNIFIED IDEOGRAPH
+  {0xFA6E, 0x9DD1}, //21438 #CJK UNIFIED IDEOGRAPH
+  {0xFA6F, 0x9DD2}, //21439 #CJK UNIFIED IDEOGRAPH
+  {0xFA70, 0x9DD3}, //21440 #CJK UNIFIED IDEOGRAPH
+  {0xFA71, 0x9DD4}, //21441 #CJK UNIFIED IDEOGRAPH
+  {0xFA72, 0x9DD5}, //21442 #CJK UNIFIED IDEOGRAPH
+  {0xFA73, 0x9DD6}, //21443 #CJK UNIFIED IDEOGRAPH
+  {0xFA74, 0x9DD7}, //21444 #CJK UNIFIED IDEOGRAPH
+  {0xFA75, 0x9DD8}, //21445 #CJK UNIFIED IDEOGRAPH
+  {0xFA76, 0x9DD9}, //21446 #CJK UNIFIED IDEOGRAPH
+  {0xFA77, 0x9DDA}, //21447 #CJK UNIFIED IDEOGRAPH
+  {0xFA78, 0x9DDB}, //21448 #CJK UNIFIED IDEOGRAPH
+  {0xFA79, 0x9DDC}, //21449 #CJK UNIFIED IDEOGRAPH
+  {0xFA7A, 0x9DDD}, //21450 #CJK UNIFIED IDEOGRAPH
+  {0xFA7B, 0x9DDE}, //21451 #CJK UNIFIED IDEOGRAPH
+  {0xFA7C, 0x9DDF}, //21452 #CJK UNIFIED IDEOGRAPH
+  {0xFA7D, 0x9DE0}, //21453 #CJK UNIFIED IDEOGRAPH
+  {0xFA7E, 0x9DE1}, //21454 #CJK UNIFIED IDEOGRAPH
+  {0xFA80, 0x9DE2}, //21455 #CJK UNIFIED IDEOGRAPH
+  {0xFA81, 0x9DE3}, //21456 #CJK UNIFIED IDEOGRAPH
+  {0xFA82, 0x9DE4}, //21457 #CJK UNIFIED IDEOGRAPH
+  {0xFA83, 0x9DE5}, //21458 #CJK UNIFIED IDEOGRAPH
+  {0xFA84, 0x9DE6}, //21459 #CJK UNIFIED IDEOGRAPH
+  {0xFA85, 0x9DE7}, //21460 #CJK UNIFIED IDEOGRAPH
+  {0xFA86, 0x9DE8}, //21461 #CJK UNIFIED IDEOGRAPH
+  {0xFA87, 0x9DE9}, //21462 #CJK UNIFIED IDEOGRAPH
+  {0xFA88, 0x9DEA}, //21463 #CJK UNIFIED IDEOGRAPH
+  {0xFA89, 0x9DEB}, //21464 #CJK UNIFIED IDEOGRAPH
+  {0xFA8A, 0x9DEC}, //21465 #CJK UNIFIED IDEOGRAPH
+  {0xFA8B, 0x9DED}, //21466 #CJK UNIFIED IDEOGRAPH
+  {0xFA8C, 0x9DEE}, //21467 #CJK UNIFIED IDEOGRAPH
+  {0xFA8D, 0x9DEF}, //21468 #CJK UNIFIED IDEOGRAPH
+  {0xFA8E, 0x9DF0}, //21469 #CJK UNIFIED IDEOGRAPH
+  {0xFA8F, 0x9DF1}, //21470 #CJK UNIFIED IDEOGRAPH
+  {0xFA90, 0x9DF2}, //21471 #CJK UNIFIED IDEOGRAPH
+  {0xFA91, 0x9DF3}, //21472 #CJK UNIFIED IDEOGRAPH
+  {0xFA92, 0x9DF4}, //21473 #CJK UNIFIED IDEOGRAPH
+  {0xFA93, 0x9DF5}, //21474 #CJK UNIFIED IDEOGRAPH
+  {0xFA94, 0x9DF6}, //21475 #CJK UNIFIED IDEOGRAPH
+  {0xFA95, 0x9DF7}, //21476 #CJK UNIFIED IDEOGRAPH
+  {0xFA96, 0x9DF8}, //21477 #CJK UNIFIED IDEOGRAPH
+  {0xFA97, 0x9DF9}, //21478 #CJK UNIFIED IDEOGRAPH
+  {0xFA98, 0x9DFA}, //21479 #CJK UNIFIED IDEOGRAPH
+  {0xFA99, 0x9DFB}, //21480 #CJK UNIFIED IDEOGRAPH
+  {0xFA9A, 0x9DFC}, //21481 #CJK UNIFIED IDEOGRAPH
+  {0xFA9B, 0x9DFD}, //21482 #CJK UNIFIED IDEOGRAPH
+  {0xFA9C, 0x9DFE}, //21483 #CJK UNIFIED IDEOGRAPH
+  {0xFA9D, 0x9DFF}, //21484 #CJK UNIFIED IDEOGRAPH
+  {0xFA9E, 0x9E00}, //21485 #CJK UNIFIED IDEOGRAPH
+  {0xFA9F, 0x9E01}, //21486 #CJK UNIFIED IDEOGRAPH
+  {0xFAA0, 0x9E02}, //21487 #CJK UNIFIED IDEOGRAPH
+  {0xFB40, 0x9E03}, //21488 #CJK UNIFIED IDEOGRAPH
+  {0xFB41, 0x9E04}, //21489 #CJK UNIFIED IDEOGRAPH
+  {0xFB42, 0x9E05}, //21490 #CJK UNIFIED IDEOGRAPH
+  {0xFB43, 0x9E06}, //21491 #CJK UNIFIED IDEOGRAPH
+  {0xFB44, 0x9E07}, //21492 #CJK UNIFIED IDEOGRAPH
+  {0xFB45, 0x9E08}, //21493 #CJK UNIFIED IDEOGRAPH
+  {0xFB46, 0x9E09}, //21494 #CJK UNIFIED IDEOGRAPH
+  {0xFB47, 0x9E0A}, //21495 #CJK UNIFIED IDEOGRAPH
+  {0xFB48, 0x9E0B}, //21496 #CJK UNIFIED IDEOGRAPH
+  {0xFB49, 0x9E0C}, //21497 #CJK UNIFIED IDEOGRAPH
+  {0xFB4A, 0x9E0D}, //21498 #CJK UNIFIED IDEOGRAPH
+  {0xFB4B, 0x9E0E}, //21499 #CJK UNIFIED IDEOGRAPH
+  {0xFB4C, 0x9E0F}, //21500 #CJK UNIFIED IDEOGRAPH
+  {0xFB4D, 0x9E10}, //21501 #CJK UNIFIED IDEOGRAPH
+  {0xFB4E, 0x9E11}, //21502 #CJK UNIFIED IDEOGRAPH
+  {0xFB4F, 0x9E12}, //21503 #CJK UNIFIED IDEOGRAPH
+  {0xFB50, 0x9E13}, //21504 #CJK UNIFIED IDEOGRAPH
+  {0xFB51, 0x9E14}, //21505 #CJK UNIFIED IDEOGRAPH
+  {0xFB52, 0x9E15}, //21506 #CJK UNIFIED IDEOGRAPH
+  {0xFB53, 0x9E16}, //21507 #CJK UNIFIED IDEOGRAPH
+  {0xFB54, 0x9E17}, //21508 #CJK UNIFIED IDEOGRAPH
+  {0xFB55, 0x9E18}, //21509 #CJK UNIFIED IDEOGRAPH
+  {0xFB56, 0x9E19}, //21510 #CJK UNIFIED IDEOGRAPH
+  {0xFB57, 0x9E1A}, //21511 #CJK UNIFIED IDEOGRAPH
+  {0xFB58, 0x9E1B}, //21512 #CJK UNIFIED IDEOGRAPH
+  {0xFB59, 0x9E1C}, //21513 #CJK UNIFIED IDEOGRAPH
+  {0xFB5A, 0x9E1D}, //21514 #CJK UNIFIED IDEOGRAPH
+  {0xFB5B, 0x9E1E}, //21515 #CJK UNIFIED IDEOGRAPH
+  {0xFB5C, 0x9E24}, //21516 #CJK UNIFIED IDEOGRAPH
+  {0xFB5D, 0x9E27}, //21517 #CJK UNIFIED IDEOGRAPH
+  {0xFB5E, 0x9E2E}, //21518 #CJK UNIFIED IDEOGRAPH
+  {0xFB5F, 0x9E30}, //21519 #CJK UNIFIED IDEOGRAPH
+  {0xFB60, 0x9E34}, //21520 #CJK UNIFIED IDEOGRAPH
+  {0xFB61, 0x9E3B}, //21521 #CJK UNIFIED IDEOGRAPH
+  {0xFB62, 0x9E3C}, //21522 #CJK UNIFIED IDEOGRAPH
+  {0xFB63, 0x9E40}, //21523 #CJK UNIFIED IDEOGRAPH
+  {0xFB64, 0x9E4D}, //21524 #CJK UNIFIED IDEOGRAPH
+  {0xFB65, 0x9E50}, //21525 #CJK UNIFIED IDEOGRAPH
+  {0xFB66, 0x9E52}, //21526 #CJK UNIFIED IDEOGRAPH
+  {0xFB67, 0x9E53}, //21527 #CJK UNIFIED IDEOGRAPH
+  {0xFB68, 0x9E54}, //21528 #CJK UNIFIED IDEOGRAPH
+  {0xFB69, 0x9E56}, //21529 #CJK UNIFIED IDEOGRAPH
+  {0xFB6A, 0x9E59}, //21530 #CJK UNIFIED IDEOGRAPH
+  {0xFB6B, 0x9E5D}, //21531 #CJK UNIFIED IDEOGRAPH
+  {0xFB6C, 0x9E5F}, //21532 #CJK UNIFIED IDEOGRAPH
+  {0xFB6D, 0x9E60}, //21533 #CJK UNIFIED IDEOGRAPH
+  {0xFB6E, 0x9E61}, //21534 #CJK UNIFIED IDEOGRAPH
+  {0xFB6F, 0x9E62}, //21535 #CJK UNIFIED IDEOGRAPH
+  {0xFB70, 0x9E65}, //21536 #CJK UNIFIED IDEOGRAPH
+  {0xFB71, 0x9E6E}, //21537 #CJK UNIFIED IDEOGRAPH
+  {0xFB72, 0x9E6F}, //21538 #CJK UNIFIED IDEOGRAPH
+  {0xFB73, 0x9E72}, //21539 #CJK UNIFIED IDEOGRAPH
+  {0xFB74, 0x9E74}, //21540 #CJK UNIFIED IDEOGRAPH
+  {0xFB75, 0x9E75}, //21541 #CJK UNIFIED IDEOGRAPH
+  {0xFB76, 0x9E76}, //21542 #CJK UNIFIED IDEOGRAPH
+  {0xFB77, 0x9E77}, //21543 #CJK UNIFIED IDEOGRAPH
+  {0xFB78, 0x9E78}, //21544 #CJK UNIFIED IDEOGRAPH
+  {0xFB79, 0x9E79}, //21545 #CJK UNIFIED IDEOGRAPH
+  {0xFB7A, 0x9E7A}, //21546 #CJK UNIFIED IDEOGRAPH
+  {0xFB7B, 0x9E7B}, //21547 #CJK UNIFIED IDEOGRAPH
+  {0xFB7C, 0x9E7C}, //21548 #CJK UNIFIED IDEOGRAPH
+  {0xFB7D, 0x9E7D}, //21549 #CJK UNIFIED IDEOGRAPH
+  {0xFB7E, 0x9E80}, //21550 #CJK UNIFIED IDEOGRAPH
+  {0xFB80, 0x9E81}, //21551 #CJK UNIFIED IDEOGRAPH
+  {0xFB81, 0x9E83}, //21552 #CJK UNIFIED IDEOGRAPH
+  {0xFB82, 0x9E84}, //21553 #CJK UNIFIED IDEOGRAPH
+  {0xFB83, 0x9E85}, //21554 #CJK UNIFIED IDEOGRAPH
+  {0xFB84, 0x9E86}, //21555 #CJK UNIFIED IDEOGRAPH
+  {0xFB85, 0x9E89}, //21556 #CJK UNIFIED IDEOGRAPH
+  {0xFB86, 0x9E8A}, //21557 #CJK UNIFIED IDEOGRAPH
+  {0xFB87, 0x9E8C}, //21558 #CJK UNIFIED IDEOGRAPH
+  {0xFB88, 0x9E8D}, //21559 #CJK UNIFIED IDEOGRAPH
+  {0xFB89, 0x9E8E}, //21560 #CJK UNIFIED IDEOGRAPH
+  {0xFB8A, 0x9E8F}, //21561 #CJK UNIFIED IDEOGRAPH
+  {0xFB8B, 0x9E90}, //21562 #CJK UNIFIED IDEOGRAPH
+  {0xFB8C, 0x9E91}, //21563 #CJK UNIFIED IDEOGRAPH
+  {0xFB8D, 0x9E94}, //21564 #CJK UNIFIED IDEOGRAPH
+  {0xFB8E, 0x9E95}, //21565 #CJK UNIFIED IDEOGRAPH
+  {0xFB8F, 0x9E96}, //21566 #CJK UNIFIED IDEOGRAPH
+  {0xFB90, 0x9E97}, //21567 #CJK UNIFIED IDEOGRAPH
+  {0xFB91, 0x9E98}, //21568 #CJK UNIFIED IDEOGRAPH
+  {0xFB92, 0x9E99}, //21569 #CJK UNIFIED IDEOGRAPH
+  {0xFB93, 0x9E9A}, //21570 #CJK UNIFIED IDEOGRAPH
+  {0xFB94, 0x9E9B}, //21571 #CJK UNIFIED IDEOGRAPH
+  {0xFB95, 0x9E9C}, //21572 #CJK UNIFIED IDEOGRAPH
+  {0xFB96, 0x9E9E}, //21573 #CJK UNIFIED IDEOGRAPH
+  {0xFB97, 0x9EA0}, //21574 #CJK UNIFIED IDEOGRAPH
+  {0xFB98, 0x9EA1}, //21575 #CJK UNIFIED IDEOGRAPH
+  {0xFB99, 0x9EA2}, //21576 #CJK UNIFIED IDEOGRAPH
+  {0xFB9A, 0x9EA3}, //21577 #CJK UNIFIED IDEOGRAPH
+  {0xFB9B, 0x9EA4}, //21578 #CJK UNIFIED IDEOGRAPH
+  {0xFB9C, 0x9EA5}, //21579 #CJK UNIFIED IDEOGRAPH
+  {0xFB9D, 0x9EA7}, //21580 #CJK UNIFIED IDEOGRAPH
+  {0xFB9E, 0x9EA8}, //21581 #CJK UNIFIED IDEOGRAPH
+  {0xFB9F, 0x9EA9}, //21582 #CJK UNIFIED IDEOGRAPH
+  {0xFBA0, 0x9EAA}, //21583 #CJK UNIFIED IDEOGRAPH
+  {0xFC40, 0x9EAB}, //21584 #CJK UNIFIED IDEOGRAPH
+  {0xFC41, 0x9EAC}, //21585 #CJK UNIFIED IDEOGRAPH
+  {0xFC42, 0x9EAD}, //21586 #CJK UNIFIED IDEOGRAPH
+  {0xFC43, 0x9EAE}, //21587 #CJK UNIFIED IDEOGRAPH
+  {0xFC44, 0x9EAF}, //21588 #CJK UNIFIED IDEOGRAPH
+  {0xFC45, 0x9EB0}, //21589 #CJK UNIFIED IDEOGRAPH
+  {0xFC46, 0x9EB1}, //21590 #CJK UNIFIED IDEOGRAPH
+  {0xFC47, 0x9EB2}, //21591 #CJK UNIFIED IDEOGRAPH
+  {0xFC48, 0x9EB3}, //21592 #CJK UNIFIED IDEOGRAPH
+  {0xFC49, 0x9EB5}, //21593 #CJK UNIFIED IDEOGRAPH
+  {0xFC4A, 0x9EB6}, //21594 #CJK UNIFIED IDEOGRAPH
+  {0xFC4B, 0x9EB7}, //21595 #CJK UNIFIED IDEOGRAPH
+  {0xFC4C, 0x9EB9}, //21596 #CJK UNIFIED IDEOGRAPH
+  {0xFC4D, 0x9EBA}, //21597 #CJK UNIFIED IDEOGRAPH
+  {0xFC4E, 0x9EBC}, //21598 #CJK UNIFIED IDEOGRAPH
+  {0xFC4F, 0x9EBF}, //21599 #CJK UNIFIED IDEOGRAPH
+  {0xFC50, 0x9EC0}, //21600 #CJK UNIFIED IDEOGRAPH
+  {0xFC51, 0x9EC1}, //21601 #CJK UNIFIED IDEOGRAPH
+  {0xFC52, 0x9EC2}, //21602 #CJK UNIFIED IDEOGRAPH
+  {0xFC53, 0x9EC3}, //21603 #CJK UNIFIED IDEOGRAPH
+  {0xFC54, 0x9EC5}, //21604 #CJK UNIFIED IDEOGRAPH
+  {0xFC55, 0x9EC6}, //21605 #CJK UNIFIED IDEOGRAPH
+  {0xFC56, 0x9EC7}, //21606 #CJK UNIFIED IDEOGRAPH
+  {0xFC57, 0x9EC8}, //21607 #CJK UNIFIED IDEOGRAPH
+  {0xFC58, 0x9ECA}, //21608 #CJK UNIFIED IDEOGRAPH
+  {0xFC59, 0x9ECB}, //21609 #CJK UNIFIED IDEOGRAPH
+  {0xFC5A, 0x9ECC}, //21610 #CJK UNIFIED IDEOGRAPH
+  {0xFC5B, 0x9ED0}, //21611 #CJK UNIFIED IDEOGRAPH
+  {0xFC5C, 0x9ED2}, //21612 #CJK UNIFIED IDEOGRAPH
+  {0xFC5D, 0x9ED3}, //21613 #CJK UNIFIED IDEOGRAPH
+  {0xFC5E, 0x9ED5}, //21614 #CJK UNIFIED IDEOGRAPH
+  {0xFC5F, 0x9ED6}, //21615 #CJK UNIFIED IDEOGRAPH
+  {0xFC60, 0x9ED7}, //21616 #CJK UNIFIED IDEOGRAPH
+  {0xFC61, 0x9ED9}, //21617 #CJK UNIFIED IDEOGRAPH
+  {0xFC62, 0x9EDA}, //21618 #CJK UNIFIED IDEOGRAPH
+  {0xFC63, 0x9EDE}, //21619 #CJK UNIFIED IDEOGRAPH
+  {0xFC64, 0x9EE1}, //21620 #CJK UNIFIED IDEOGRAPH
+  {0xFC65, 0x9EE3}, //21621 #CJK UNIFIED IDEOGRAPH
+  {0xFC66, 0x9EE4}, //21622 #CJK UNIFIED IDEOGRAPH
+  {0xFC67, 0x9EE6}, //21623 #CJK UNIFIED IDEOGRAPH
+  {0xFC68, 0x9EE8}, //21624 #CJK UNIFIED IDEOGRAPH
+  {0xFC69, 0x9EEB}, //21625 #CJK UNIFIED IDEOGRAPH
+  {0xFC6A, 0x9EEC}, //21626 #CJK UNIFIED IDEOGRAPH
+  {0xFC6B, 0x9EED}, //21627 #CJK UNIFIED IDEOGRAPH
+  {0xFC6C, 0x9EEE}, //21628 #CJK UNIFIED IDEOGRAPH
+  {0xFC6D, 0x9EF0}, //21629 #CJK UNIFIED IDEOGRAPH
+  {0xFC6E, 0x9EF1}, //21630 #CJK UNIFIED IDEOGRAPH
+  {0xFC6F, 0x9EF2}, //21631 #CJK UNIFIED IDEOGRAPH
+  {0xFC70, 0x9EF3}, //21632 #CJK UNIFIED IDEOGRAPH
+  {0xFC71, 0x9EF4}, //21633 #CJK UNIFIED IDEOGRAPH
+  {0xFC72, 0x9EF5}, //21634 #CJK UNIFIED IDEOGRAPH
+  {0xFC73, 0x9EF6}, //21635 #CJK UNIFIED IDEOGRAPH
+  {0xFC74, 0x9EF7}, //21636 #CJK UNIFIED IDEOGRAPH
+  {0xFC75, 0x9EF8}, //21637 #CJK UNIFIED IDEOGRAPH
+  {0xFC76, 0x9EFA}, //21638 #CJK UNIFIED IDEOGRAPH
+  {0xFC77, 0x9EFD}, //21639 #CJK UNIFIED IDEOGRAPH
+  {0xFC78, 0x9EFF}, //21640 #CJK UNIFIED IDEOGRAPH
+  {0xFC79, 0x9F00}, //21641 #CJK UNIFIED IDEOGRAPH
+  {0xFC7A, 0x9F01}, //21642 #CJK UNIFIED IDEOGRAPH
+  {0xFC7B, 0x9F02}, //21643 #CJK UNIFIED IDEOGRAPH
+  {0xFC7C, 0x9F03}, //21644 #CJK UNIFIED IDEOGRAPH
+  {0xFC7D, 0x9F04}, //21645 #CJK UNIFIED IDEOGRAPH
+  {0xFC7E, 0x9F05}, //21646 #CJK UNIFIED IDEOGRAPH
+  {0xFC80, 0x9F06}, //21647 #CJK UNIFIED IDEOGRAPH
+  {0xFC81, 0x9F07}, //21648 #CJK UNIFIED IDEOGRAPH
+  {0xFC82, 0x9F08}, //21649 #CJK UNIFIED IDEOGRAPH
+  {0xFC83, 0x9F09}, //21650 #CJK UNIFIED IDEOGRAPH
+  {0xFC84, 0x9F0A}, //21651 #CJK UNIFIED IDEOGRAPH
+  {0xFC85, 0x9F0C}, //21652 #CJK UNIFIED IDEOGRAPH
+  {0xFC86, 0x9F0F}, //21653 #CJK UNIFIED IDEOGRAPH
+  {0xFC87, 0x9F11}, //21654 #CJK UNIFIED IDEOGRAPH
+  {0xFC88, 0x9F12}, //21655 #CJK UNIFIED IDEOGRAPH
+  {0xFC89, 0x9F14}, //21656 #CJK UNIFIED IDEOGRAPH
+  {0xFC8A, 0x9F15}, //21657 #CJK UNIFIED IDEOGRAPH
+  {0xFC8B, 0x9F16}, //21658 #CJK UNIFIED IDEOGRAPH
+  {0xFC8C, 0x9F18}, //21659 #CJK UNIFIED IDEOGRAPH
+  {0xFC8D, 0x9F1A}, //21660 #CJK UNIFIED IDEOGRAPH
+  {0xFC8E, 0x9F1B}, //21661 #CJK UNIFIED IDEOGRAPH
+  {0xFC8F, 0x9F1C}, //21662 #CJK UNIFIED IDEOGRAPH
+  {0xFC90, 0x9F1D}, //21663 #CJK UNIFIED IDEOGRAPH
+  {0xFC91, 0x9F1E}, //21664 #CJK UNIFIED IDEOGRAPH
+  {0xFC92, 0x9F1F}, //21665 #CJK UNIFIED IDEOGRAPH
+  {0xFC93, 0x9F21}, //21666 #CJK UNIFIED IDEOGRAPH
+  {0xFC94, 0x9F23}, //21667 #CJK UNIFIED IDEOGRAPH
+  {0xFC95, 0x9F24}, //21668 #CJK UNIFIED IDEOGRAPH
+  {0xFC96, 0x9F25}, //21669 #CJK UNIFIED IDEOGRAPH
+  {0xFC97, 0x9F26}, //21670 #CJK UNIFIED IDEOGRAPH
+  {0xFC98, 0x9F27}, //21671 #CJK UNIFIED IDEOGRAPH
+  {0xFC99, 0x9F28}, //21672 #CJK UNIFIED IDEOGRAPH
+  {0xFC9A, 0x9F29}, //21673 #CJK UNIFIED IDEOGRAPH
+  {0xFC9B, 0x9F2A}, //21674 #CJK UNIFIED IDEOGRAPH
+  {0xFC9C, 0x9F2B}, //21675 #CJK UNIFIED IDEOGRAPH
+  {0xFC9D, 0x9F2D}, //21676 #CJK UNIFIED IDEOGRAPH
+  {0xFC9E, 0x9F2E}, //21677 #CJK UNIFIED IDEOGRAPH
+  {0xFC9F, 0x9F30}, //21678 #CJK UNIFIED IDEOGRAPH
+  {0xFCA0, 0x9F31}, //21679 #CJK UNIFIED IDEOGRAPH
+  {0xFD40, 0x9F32}, //21680 #CJK UNIFIED IDEOGRAPH
+  {0xFD41, 0x9F33}, //21681 #CJK UNIFIED IDEOGRAPH
+  {0xFD42, 0x9F34}, //21682 #CJK UNIFIED IDEOGRAPH
+  {0xFD43, 0x9F35}, //21683 #CJK UNIFIED IDEOGRAPH
+  {0xFD44, 0x9F36}, //21684 #CJK UNIFIED IDEOGRAPH
+  {0xFD45, 0x9F38}, //21685 #CJK UNIFIED IDEOGRAPH
+  {0xFD46, 0x9F3A}, //21686 #CJK UNIFIED IDEOGRAPH
+  {0xFD47, 0x9F3C}, //21687 #CJK UNIFIED IDEOGRAPH
+  {0xFD48, 0x9F3F}, //21688 #CJK UNIFIED IDEOGRAPH
+  {0xFD49, 0x9F40}, //21689 #CJK UNIFIED IDEOGRAPH
+  {0xFD4A, 0x9F41}, //21690 #CJK UNIFIED IDEOGRAPH
+  {0xFD4B, 0x9F42}, //21691 #CJK UNIFIED IDEOGRAPH
+  {0xFD4C, 0x9F43}, //21692 #CJK UNIFIED IDEOGRAPH
+  {0xFD4D, 0x9F45}, //21693 #CJK UNIFIED IDEOGRAPH
+  {0xFD4E, 0x9F46}, //21694 #CJK UNIFIED IDEOGRAPH
+  {0xFD4F, 0x9F47}, //21695 #CJK UNIFIED IDEOGRAPH
+  {0xFD50, 0x9F48}, //21696 #CJK UNIFIED IDEOGRAPH
+  {0xFD51, 0x9F49}, //21697 #CJK UNIFIED IDEOGRAPH
+  {0xFD52, 0x9F4A}, //21698 #CJK UNIFIED IDEOGRAPH
+  {0xFD53, 0x9F4B}, //21699 #CJK UNIFIED IDEOGRAPH
+  {0xFD54, 0x9F4C}, //21700 #CJK UNIFIED IDEOGRAPH
+  {0xFD55, 0x9F4D}, //21701 #CJK UNIFIED IDEOGRAPH
+  {0xFD56, 0x9F4E}, //21702 #CJK UNIFIED IDEOGRAPH
+  {0xFD57, 0x9F4F}, //21703 #CJK UNIFIED IDEOGRAPH
+  {0xFD58, 0x9F52}, //21704 #CJK UNIFIED IDEOGRAPH
+  {0xFD59, 0x9F53}, //21705 #CJK UNIFIED IDEOGRAPH
+  {0xFD5A, 0x9F54}, //21706 #CJK UNIFIED IDEOGRAPH
+  {0xFD5B, 0x9F55}, //21707 #CJK UNIFIED IDEOGRAPH
+  {0xFD5C, 0x9F56}, //21708 #CJK UNIFIED IDEOGRAPH
+  {0xFD5D, 0x9F57}, //21709 #CJK UNIFIED IDEOGRAPH
+  {0xFD5E, 0x9F58}, //21710 #CJK UNIFIED IDEOGRAPH
+  {0xFD5F, 0x9F59}, //21711 #CJK UNIFIED IDEOGRAPH
+  {0xFD60, 0x9F5A}, //21712 #CJK UNIFIED IDEOGRAPH
+  {0xFD61, 0x9F5B}, //21713 #CJK UNIFIED IDEOGRAPH
+  {0xFD62, 0x9F5C}, //21714 #CJK UNIFIED IDEOGRAPH
+  {0xFD63, 0x9F5D}, //21715 #CJK UNIFIED IDEOGRAPH
+  {0xFD64, 0x9F5E}, //21716 #CJK UNIFIED IDEOGRAPH
+  {0xFD65, 0x9F5F}, //21717 #CJK UNIFIED IDEOGRAPH
+  {0xFD66, 0x9F60}, //21718 #CJK UNIFIED IDEOGRAPH
+  {0xFD67, 0x9F61}, //21719 #CJK UNIFIED IDEOGRAPH
+  {0xFD68, 0x9F62}, //21720 #CJK UNIFIED IDEOGRAPH
+  {0xFD69, 0x9F63}, //21721 #CJK UNIFIED IDEOGRAPH
+  {0xFD6A, 0x9F64}, //21722 #CJK UNIFIED IDEOGRAPH
+  {0xFD6B, 0x9F65}, //21723 #CJK UNIFIED IDEOGRAPH
+  {0xFD6C, 0x9F66}, //21724 #CJK UNIFIED IDEOGRAPH
+  {0xFD6D, 0x9F67}, //21725 #CJK UNIFIED IDEOGRAPH
+  {0xFD6E, 0x9F68}, //21726 #CJK UNIFIED IDEOGRAPH
+  {0xFD6F, 0x9F69}, //21727 #CJK UNIFIED IDEOGRAPH
+  {0xFD70, 0x9F6A}, //21728 #CJK UNIFIED IDEOGRAPH
+  {0xFD71, 0x9F6B}, //21729 #CJK UNIFIED IDEOGRAPH
+  {0xFD72, 0x9F6C}, //21730 #CJK UNIFIED IDEOGRAPH
+  {0xFD73, 0x9F6D}, //21731 #CJK UNIFIED IDEOGRAPH
+  {0xFD74, 0x9F6E}, //21732 #CJK UNIFIED IDEOGRAPH
+  {0xFD75, 0x9F6F}, //21733 #CJK UNIFIED IDEOGRAPH
+  {0xFD76, 0x9F70}, //21734 #CJK UNIFIED IDEOGRAPH
+  {0xFD77, 0x9F71}, //21735 #CJK UNIFIED IDEOGRAPH
+  {0xFD78, 0x9F72}, //21736 #CJK UNIFIED IDEOGRAPH
+  {0xFD79, 0x9F73}, //21737 #CJK UNIFIED IDEOGRAPH
+  {0xFD7A, 0x9F74}, //21738 #CJK UNIFIED IDEOGRAPH
+  {0xFD7B, 0x9F75}, //21739 #CJK UNIFIED IDEOGRAPH
+  {0xFD7C, 0x9F76}, //21740 #CJK UNIFIED IDEOGRAPH
+  {0xFD7D, 0x9F77}, //21741 #CJK UNIFIED IDEOGRAPH
+  {0xFD7E, 0x9F78}, //21742 #CJK UNIFIED IDEOGRAPH
+  {0xFD80, 0x9F79}, //21743 #CJK UNIFIED IDEOGRAPH
+  {0xFD81, 0x9F7A}, //21744 #CJK UNIFIED IDEOGRAPH
+  {0xFD82, 0x9F7B}, //21745 #CJK UNIFIED IDEOGRAPH
+  {0xFD83, 0x9F7C}, //21746 #CJK UNIFIED IDEOGRAPH
+  {0xFD84, 0x9F7D}, //21747 #CJK UNIFIED IDEOGRAPH
+  {0xFD85, 0x9F7E}, //21748 #CJK UNIFIED IDEOGRAPH
+  {0xFD86, 0x9F81}, //21749 #CJK UNIFIED IDEOGRAPH
+  {0xFD87, 0x9F82}, //21750 #CJK UNIFIED IDEOGRAPH
+  {0xFD88, 0x9F8D}, //21751 #CJK UNIFIED IDEOGRAPH
+  {0xFD89, 0x9F8E}, //21752 #CJK UNIFIED IDEOGRAPH
+  {0xFD8A, 0x9F8F}, //21753 #CJK UNIFIED IDEOGRAPH
+  {0xFD8B, 0x9F90}, //21754 #CJK UNIFIED IDEOGRAPH
+  {0xFD8C, 0x9F91}, //21755 #CJK UNIFIED IDEOGRAPH
+  {0xFD8D, 0x9F92}, //21756 #CJK UNIFIED IDEOGRAPH
+  {0xFD8E, 0x9F93}, //21757 #CJK UNIFIED IDEOGRAPH
+  {0xFD8F, 0x9F94}, //21758 #CJK UNIFIED IDEOGRAPH
+  {0xFD90, 0x9F95}, //21759 #CJK UNIFIED IDEOGRAPH
+  {0xFD91, 0x9F96}, //21760 #CJK UNIFIED IDEOGRAPH
+  {0xFD92, 0x9F97}, //21761 #CJK UNIFIED IDEOGRAPH
+  {0xFD93, 0x9F98}, //21762 #CJK UNIFIED IDEOGRAPH
+  {0xFD94, 0x9F9C}, //21763 #CJK UNIFIED IDEOGRAPH
+  {0xFD95, 0x9F9D}, //21764 #CJK UNIFIED IDEOGRAPH
+  {0xFD96, 0x9F9E}, //21765 #CJK UNIFIED IDEOGRAPH
+  {0xFD97, 0x9FA1}, //21766 #CJK UNIFIED IDEOGRAPH
+  {0xFD98, 0x9FA2}, //21767 #CJK UNIFIED IDEOGRAPH
+  {0xFD99, 0x9FA3}, //21768 #CJK UNIFIED IDEOGRAPH
+  {0xFD9A, 0x9FA4}, //21769 #CJK UNIFIED IDEOGRAPH
+  {0xFD9B, 0x9FA5}, //21770 #CJK UNIFIED IDEOGRAPH
+  {0xFD9C, 0xF92C}, //21771 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFD9D, 0xF979}, //21772 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFD9E, 0xF995}, //21773 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFD9F, 0xF9E7}, //21774 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFDA0, 0xF9F1}, //21775 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE40, 0xFA0C}, //21776 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE41, 0xFA0D}, //21777 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE42, 0xFA0E}, //21778 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE43, 0xFA0F}, //21779 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE44, 0xFA11}, //21780 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE45, 0xFA13}, //21781 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE46, 0xFA14}, //21782 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE47, 0xFA18}, //21783 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE48, 0xFA1F}, //21784 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE49, 0xFA20}, //21785 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE4A, 0xFA21}, //21786 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE4B, 0xFA23}, //21787 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE4C, 0xFA24}, //21788 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE4D, 0xFA27}, //21789 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE4E, 0xFA28}, //21790 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFE4F, 0xFA29} //21791 #CJK COMPATIBILITY IDEOGRAPH
+};
+
+#endif // DRW_CPTABLE936_H
diff --git a/src/app/dwg/libdxfrw/intern/drw_cptable949.h b/src/app/dwg/libdxfrw/intern/drw_cptable949.h
new file mode 100644
index 0000000..6d01b98
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/drw_cptable949.h
@@ -0,0 +1,17202 @@
+#ifndef DRW_CPTABLE949_H
+#define DRW_CPTABLE949_H
+
+//Korean Extended Wansung
+
+//first entry in this table are 0x80
+#define CPOFFSET949 0x80
+#define CPLENGHT949 17048
+#define NOTFOUND949 0x003F
+
+//Table 949 one byte
+static const int DRW_Table949[1] =
+{
+};
+
+//Table 949 lead byte
+//pairs of start/end in DRW_DoubleTable949
+static const int DRW_LeadTable949[] =
+{
+  0, //1#DBCS LEAD BYTE 0x81
+  178, //2#DBCS LEAD BYTE 0x82
+  356, //3#DBCS LEAD BYTE 0x83
+  564, //4#DBCS LEAD BYTE 0x84
+  712, //5#DBCS LEAD BYTE 0x85
+  890, //6#DBCS LEAD BYTE 0x86
+  1068, //7#DBCS LEAD BYTE 0x87
+  1246, //8#DBCS LEAD BYTE 0x88
+  1424, //9#DBCS LEAD BYTE 0x89
+  1602, //10#DBCS LEAD BYTE 0x8A
+  1780, //11#DBCS LEAD BYTE 0x8B
+  1958, //12#DBCS LEAD BYTE 0x8C
+  2136, //13#DBCS LEAD BYTE 0x8D
+  2314, //14#DBCS LEAD BYTE 0x8E
+  2492, //15#DBCS LEAD BYTE 0x8F
+  2670, //16#DBCS LEAD BYTE 0x90
+  2848, //17#DBCS LEAD BYTE 0x91
+  3026, //18#DBCS LEAD BYTE 0x92
+  3204, //19#DBCS LEAD BYTE 0x93
+  3382, //20#DBCS LEAD BYTE 0x94
+  3560, //21#DBCS LEAD BYTE 0x95
+  3738, //22#DBCS LEAD BYTE 0x96
+  3916, //23#DBCS LEAD BYTE 0x97
+  4094, //24#DBCS LEAD BYTE 0x98
+  4272, //25#DBCS LEAD BYTE 0x99
+  4450, //26#DBCS LEAD BYTE 0x9A
+  4628, //27#DBCS LEAD BYTE 0x9B
+  4806, //28#DBCS LEAD BYTE 0x9C
+  4984, //29#DBCS LEAD BYTE 0x9D
+  5162, //30#DBCS LEAD BYTE 0x9E
+  5340, //31#DBCS LEAD BYTE 0x9F
+  5518, //32#DBCS LEAD BYTE 0xA0
+  5696, //33#DBCS LEAD BYTE 0xA1
+  5874, //34#DBCS LEAD BYTE 0xA2
+  6029, //35#DBCS LEAD BYTE 0xA3
+  6207, //36#DBCS LEAD BYTE 0xA4
+  6385, //37#DBCS LEAD BYTE 0xA5
+  6537, //38#DBCS LEAD BYTE 0xA6
+  6689, //39#DBCS LEAD BYTE 0xA7
+  6852, //40#DBCS LEAD BYTE 0xA8
+  7027, //41#DBCS LEAD BYTE 0xA9
+  7205, //42#DBCS LEAD BYTE 0xAA
+  7372, //43#DBCS LEAD BYTE 0xAB
+  7542, //44#DBCS LEAD BYTE 0xAC
+  7692, //45#DBCS LEAD BYTE 0xAD
+  7776, //46#DBCS LEAD BYTE 0xAE
+  7860, //47#DBCS LEAD BYTE 0xAF
+  7944, //48#DBCS LEAD BYTE 0xB0
+  8122, //49#DBCS LEAD BYTE 0xB1
+  8300, //50#DBCS LEAD BYTE 0xB2
+  8478, //51#DBCS LEAD BYTE 0xB3
+  8656, //52#DBCS LEAD BYTE 0xB4
+  8834, //53#DBCS LEAD BYTE 0xB5
+  9012, //54#DBCS LEAD BYTE 0xB6
+  9190, //55#DBCS LEAD BYTE 0xB7
+  9368, //56#DBCS LEAD BYTE 0xB8
+  9546, //57#DBCS LEAD BYTE 0xB9
+  9724, //58#DBCS LEAD BYTE 0xBA
+  9902, //59#DBCS LEAD BYTE 0xBB
+  10080, //60#DBCS LEAD BYTE 0xBC
+  10258, //61#DBCS LEAD BYTE 0xBD
+  10436, //62#DBCS LEAD BYTE 0xBE
+  10614, //63#DBCS LEAD BYTE 0xBF
+  10792, //64#DBCS LEAD BYTE 0xC0
+  10970, //65#DBCS LEAD BYTE 0xC1
+  11148, //66#DBCS LEAD BYTE 0xC2
+  11326, //67#DBCS LEAD BYTE 0xC3
+  11504, //68#DBCS LEAD BYTE 0xC4
+  11682, //69#DBCS LEAD BYTE 0xC5
+  11860, //70#DBCS LEAD BYTE 0xC6
+  11972, //71#DBCS LEAD BYTE 0xC7
+  12066, //72#DBCS LEAD BYTE 0xC8
+  12160, //73#DBCS LEAD BYTE 0xC9, empty
+  12160, //74#DBCS LEAD BYTE 0xCA
+  12254, //75#DBCS LEAD BYTE 0xCB
+  12348, //76#DBCS LEAD BYTE 0xCC
+  12442, //77#DBCS LEAD BYTE 0xCD
+  12536, //78#DBCS LEAD BYTE 0xCE
+  12630, //79#DBCS LEAD BYTE 0xCF
+  12724, //80#DBCS LEAD BYTE 0xD0
+  12818, //81#DBCS LEAD BYTE 0xD1
+  12912, //82#DBCS LEAD BYTE 0xD2
+  13006, //83#DBCS LEAD BYTE 0xD3
+  13100, //84#DBCS LEAD BYTE 0xD4
+  13194, //85#DBCS LEAD BYTE 0xD5
+  13288, //86#DBCS LEAD BYTE 0xD6
+  13382, //87#DBCS LEAD BYTE 0xD7
+  13476, //88#DBCS LEAD BYTE 0xD8
+  13570, //89#DBCS LEAD BYTE 0xD9
+  13664, //90#DBCS LEAD BYTE 0xDA
+  13758, //91#DBCS LEAD BYTE 0xDB
+  13852, //92#DBCS LEAD BYTE 0xDC
+  13946, //93#DBCS LEAD BYTE 0xDD
+  14040, //94#DBCS LEAD BYTE 0xDE
+  14134, //95#DBCS LEAD BYTE 0xDF
+  14228, //96#DBCS LEAD BYTE 0xE0
+  14322, //97#DBCS LEAD BYTE 0xE1
+  14416, //98#DBCS LEAD BYTE 0xE2
+  14510, //99#DBCS LEAD BYTE 0xE3
+  14604, //100#DBCS LEAD BYTE 0xE4
+  14698, //101#DBCS LEAD BYTE 0xE5
+  14792, //102#DBCS LEAD BYTE 0xE6
+  14886, //103#DBCS LEAD BYTE 0xE7
+  14980, //104#DBCS LEAD BYTE 0xE8
+  15074, //105#DBCS LEAD BYTE 0xE9
+  15168, //106#DBCS LEAD BYTE 0xEA
+  15262, //107#DBCS LEAD BYTE 0xEB
+  15356, //108#DBCS LEAD BYTE 0xEC
+  15450, //109#DBCS LEAD BYTE 0xED
+  15544, //110#DBCS LEAD BYTE 0xEE
+  15638, //111#DBCS LEAD BYTE 0xEF
+  15732, //112#DBCS LEAD BYTE 0xF0
+  15826, //113#DBCS LEAD BYTE 0xF1
+  15920, //114#DBCS LEAD BYTE 0xF2
+  16014, //115#DBCS LEAD BYTE 0xF3
+  16108, //116#DBCS LEAD BYTE 0xF4
+  16202, //117#DBCS LEAD BYTE 0xF5
+  16296, //118#DBCS LEAD BYTE 0xF6
+  16390, //119#DBCS LEAD BYTE 0xF7
+  16484, //120#DBCS LEAD BYTE 0xF8
+  16578, //121#DBCS LEAD BYTE 0xF9
+  16672, //122#DBCS LEAD BYTE 0xFA
+  16766, //123#DBCS LEAD BYTE 0xFB
+  16860, //124#DBCS LEAD BYTE 0xFC
+  16954, //125#DBCS LEAD BYTE 0xFD
+  17047, //126#DBCS LEAD BYTE 0xFE, empty
+  17047, //127#UNDEFINED 0xFF, END OF TABLE
+};
+
+//Table 949 tail byte
+static const int DRW_DoubleTable949[][2] =
+{
+  {0x8141, 0xAC02}, //1 #HANGUL SYLLABLE KIYEOK A SSANGKIYEOK
+  {0x8142, 0xAC03}, //2 #HANGUL SYLLABLE KIYEOK A KIYEOKSIOS
+  {0x8143, 0xAC05}, //3 #HANGUL SYLLABLE KIYEOK A NIEUNCIEUC
+  {0x8144, 0xAC06}, //4 #HANGUL SYLLABLE KIYEOK A NIEUNHIEUH
+  {0x8145, 0xAC0B}, //5 #HANGUL SYLLABLE KIYEOK A RIEULPIEUP
+  {0x8146, 0xAC0C}, //6 #HANGUL SYLLABLE KIYEOK A RIEULSIOS
+  {0x8147, 0xAC0D}, //7 #HANGUL SYLLABLE KIYEOK A RIEULTHIEUTH
+  {0x8148, 0xAC0E}, //8 #HANGUL SYLLABLE KIYEOK A RIEULPHIEUPH
+  {0x8149, 0xAC0F}, //9 #HANGUL SYLLABLE KIYEOK A RIEULHIEUH
+  {0x814A, 0xAC18}, //10 #HANGUL SYLLABLE KIYEOK A KHIEUKH
+  {0x814B, 0xAC1E}, //11 #HANGUL SYLLABLE KIYEOK AE SSANGKIYEOK
+  {0x814C, 0xAC1F}, //12 #HANGUL SYLLABLE KIYEOK AE KIYEOKSIOS
+  {0x814D, 0xAC21}, //13 #HANGUL SYLLABLE KIYEOK AE NIEUNCIEUC
+  {0x814E, 0xAC22}, //14 #HANGUL SYLLABLE KIYEOK AE NIEUNHIEUH
+  {0x814F, 0xAC23}, //15 #HANGUL SYLLABLE KIYEOK AE TIKEUT
+  {0x8150, 0xAC25}, //16 #HANGUL SYLLABLE KIYEOK AE RIEULKIYEOK
+  {0x8151, 0xAC26}, //17 #HANGUL SYLLABLE KIYEOK AE RIEULMIEUM
+  {0x8152, 0xAC27}, //18 #HANGUL SYLLABLE KIYEOK AE RIEULPIEUP
+  {0x8153, 0xAC28}, //19 #HANGUL SYLLABLE KIYEOK AE RIEULSIOS
+  {0x8154, 0xAC29}, //20 #HANGUL SYLLABLE KIYEOK AE RIEULTHIEUTH
+  {0x8155, 0xAC2A}, //21 #HANGUL SYLLABLE KIYEOK AE RIEULPHIEUPH
+  {0x8156, 0xAC2B}, //22 #HANGUL SYLLABLE KIYEOK AE RIEULHIEUH
+  {0x8157, 0xAC2E}, //23 #HANGUL SYLLABLE KIYEOK AE PIEUPSIOS
+  {0x8158, 0xAC32}, //24 #HANGUL SYLLABLE KIYEOK AE CIEUC
+  {0x8159, 0xAC33}, //25 #HANGUL SYLLABLE KIYEOK AE CHIEUCH
+  {0x815A, 0xAC34}, //26 #HANGUL SYLLABLE KIYEOK AE KHIEUKH
+  {0x8161, 0xAC35}, //27 #HANGUL SYLLABLE KIYEOK AE THIEUTH
+  {0x8162, 0xAC36}, //28 #HANGUL SYLLABLE KIYEOK AE PHIEUPH
+  {0x8163, 0xAC37}, //29 #HANGUL SYLLABLE KIYEOK AE HIEUH
+  {0x8164, 0xAC3A}, //30 #HANGUL SYLLABLE KIYEOK YA SSANGKIYEOK
+  {0x8165, 0xAC3B}, //31 #HANGUL SYLLABLE KIYEOK YA KIYEOKSIOS
+  {0x8166, 0xAC3D}, //32 #HANGUL SYLLABLE KIYEOK YA NIEUNCIEUC
+  {0x8167, 0xAC3E}, //33 #HANGUL SYLLABLE KIYEOK YA NIEUNHIEUH
+  {0x8168, 0xAC3F}, //34 #HANGUL SYLLABLE KIYEOK YA TIKEUT
+  {0x8169, 0xAC41}, //35 #HANGUL SYLLABLE KIYEOK YA RIEULKIYEOK
+  {0x816A, 0xAC42}, //36 #HANGUL SYLLABLE KIYEOK YA RIEULMIEUM
+  {0x816B, 0xAC43}, //37 #HANGUL SYLLABLE KIYEOK YA RIEULPIEUP
+  {0x816C, 0xAC44}, //38 #HANGUL SYLLABLE KIYEOK YA RIEULSIOS
+  {0x816D, 0xAC45}, //39 #HANGUL SYLLABLE KIYEOK YA RIEULTHIEUTH
+  {0x816E, 0xAC46}, //40 #HANGUL SYLLABLE KIYEOK YA RIEULPHIEUPH
+  {0x816F, 0xAC47}, //41 #HANGUL SYLLABLE KIYEOK YA RIEULHIEUH
+  {0x8170, 0xAC48}, //42 #HANGUL SYLLABLE KIYEOK YA MIEUM
+  {0x8171, 0xAC49}, //43 #HANGUL SYLLABLE KIYEOK YA PIEUP
+  {0x8172, 0xAC4A}, //44 #HANGUL SYLLABLE KIYEOK YA PIEUPSIOS
+  {0x8173, 0xAC4C}, //45 #HANGUL SYLLABLE KIYEOK YA SSANGSIOS
+  {0x8174, 0xAC4E}, //46 #HANGUL SYLLABLE KIYEOK YA CIEUC
+  {0x8175, 0xAC4F}, //47 #HANGUL SYLLABLE KIYEOK YA CHIEUCH
+  {0x8176, 0xAC50}, //48 #HANGUL SYLLABLE KIYEOK YA KHIEUKH
+  {0x8177, 0xAC51}, //49 #HANGUL SYLLABLE KIYEOK YA THIEUTH
+  {0x8178, 0xAC52}, //50 #HANGUL SYLLABLE KIYEOK YA PHIEUPH
+  {0x8179, 0xAC53}, //51 #HANGUL SYLLABLE KIYEOK YA HIEUH
+  {0x817A, 0xAC55}, //52 #HANGUL SYLLABLE KIYEOK YAE KIYEOK
+  {0x8181, 0xAC56}, //53 #HANGUL SYLLABLE KIYEOK YAE SSANGKIYEOK
+  {0x8182, 0xAC57}, //54 #HANGUL SYLLABLE KIYEOK YAE KIYEOKSIOS
+  {0x8183, 0xAC59}, //55 #HANGUL SYLLABLE KIYEOK YAE NIEUNCIEUC
+  {0x8184, 0xAC5A}, //56 #HANGUL SYLLABLE KIYEOK YAE NIEUNHIEUH
+  {0x8185, 0xAC5B}, //57 #HANGUL SYLLABLE KIYEOK YAE TIKEUT
+  {0x8186, 0xAC5D}, //58 #HANGUL SYLLABLE KIYEOK YAE RIEULKIYEOK
+  {0x8187, 0xAC5E}, //59 #HANGUL SYLLABLE KIYEOK YAE RIEULMIEUM
+  {0x8188, 0xAC5F}, //60 #HANGUL SYLLABLE KIYEOK YAE RIEULPIEUP
+  {0x8189, 0xAC60}, //61 #HANGUL SYLLABLE KIYEOK YAE RIEULSIOS
+  {0x818A, 0xAC61}, //62 #HANGUL SYLLABLE KIYEOK YAE RIEULTHIEUTH
+  {0x818B, 0xAC62}, //63 #HANGUL SYLLABLE KIYEOK YAE RIEULPHIEUPH
+  {0x818C, 0xAC63}, //64 #HANGUL SYLLABLE KIYEOK YAE RIEULHIEUH
+  {0x818D, 0xAC64}, //65 #HANGUL SYLLABLE KIYEOK YAE MIEUM
+  {0x818E, 0xAC65}, //66 #HANGUL SYLLABLE KIYEOK YAE PIEUP
+  {0x818F, 0xAC66}, //67 #HANGUL SYLLABLE KIYEOK YAE PIEUPSIOS
+  {0x8190, 0xAC67}, //68 #HANGUL SYLLABLE KIYEOK YAE SIOS
+  {0x8191, 0xAC68}, //69 #HANGUL SYLLABLE KIYEOK YAE SSANGSIOS
+  {0x8192, 0xAC69}, //70 #HANGUL SYLLABLE KIYEOK YAE IEUNG
+  {0x8193, 0xAC6A}, //71 #HANGUL SYLLABLE KIYEOK YAE CIEUC
+  {0x8194, 0xAC6B}, //72 #HANGUL SYLLABLE KIYEOK YAE CHIEUCH
+  {0x8195, 0xAC6C}, //73 #HANGUL SYLLABLE KIYEOK YAE KHIEUKH
+  {0x8196, 0xAC6D}, //74 #HANGUL SYLLABLE KIYEOK YAE THIEUTH
+  {0x8197, 0xAC6E}, //75 #HANGUL SYLLABLE KIYEOK YAE PHIEUPH
+  {0x8198, 0xAC6F}, //76 #HANGUL SYLLABLE KIYEOK YAE HIEUH
+  {0x8199, 0xAC72}, //77 #HANGUL SYLLABLE KIYEOK EO SSANGKIYEOK
+  {0x819A, 0xAC73}, //78 #HANGUL SYLLABLE KIYEOK EO KIYEOKSIOS
+  {0x819B, 0xAC75}, //79 #HANGUL SYLLABLE KIYEOK EO NIEUNCIEUC
+  {0x819C, 0xAC76}, //80 #HANGUL SYLLABLE KIYEOK EO NIEUNHIEUH
+  {0x819D, 0xAC79}, //81 #HANGUL SYLLABLE KIYEOK EO RIEULKIYEOK
+  {0x819E, 0xAC7B}, //82 #HANGUL SYLLABLE KIYEOK EO RIEULPIEUP
+  {0x819F, 0xAC7C}, //83 #HANGUL SYLLABLE KIYEOK EO RIEULSIOS
+  {0x81A0, 0xAC7D}, //84 #HANGUL SYLLABLE KIYEOK EO RIEULTHIEUTH
+  {0x81A1, 0xAC7E}, //85 #HANGUL SYLLABLE KIYEOK EO RIEULPHIEUPH
+  {0x81A2, 0xAC7F}, //86 #HANGUL SYLLABLE KIYEOK EO RIEULHIEUH
+  {0x81A3, 0xAC82}, //87 #HANGUL SYLLABLE KIYEOK EO PIEUPSIOS
+  {0x81A4, 0xAC87}, //88 #HANGUL SYLLABLE KIYEOK EO CHIEUCH
+  {0x81A5, 0xAC88}, //89 #HANGUL SYLLABLE KIYEOK EO KHIEUKH
+  {0x81A6, 0xAC8D}, //90 #HANGUL SYLLABLE KIYEOK E KIYEOK
+  {0x81A7, 0xAC8E}, //91 #HANGUL SYLLABLE KIYEOK E SSANGKIYEOK
+  {0x81A8, 0xAC8F}, //92 #HANGUL SYLLABLE KIYEOK E KIYEOKSIOS
+  {0x81A9, 0xAC91}, //93 #HANGUL SYLLABLE KIYEOK E NIEUNCIEUC
+  {0x81AA, 0xAC92}, //94 #HANGUL SYLLABLE KIYEOK E NIEUNHIEUH
+  {0x81AB, 0xAC93}, //95 #HANGUL SYLLABLE KIYEOK E TIKEUT
+  {0x81AC, 0xAC95}, //96 #HANGUL SYLLABLE KIYEOK E RIEULKIYEOK
+  {0x81AD, 0xAC96}, //97 #HANGUL SYLLABLE KIYEOK E RIEULMIEUM
+  {0x81AE, 0xAC97}, //98 #HANGUL SYLLABLE KIYEOK E RIEULPIEUP
+  {0x81AF, 0xAC98}, //99 #HANGUL SYLLABLE KIYEOK E RIEULSIOS
+  {0x81B0, 0xAC99}, //100 #HANGUL SYLLABLE KIYEOK E RIEULTHIEUTH
+  {0x81B1, 0xAC9A}, //101 #HANGUL SYLLABLE KIYEOK E RIEULPHIEUPH
+  {0x81B2, 0xAC9B}, //102 #HANGUL SYLLABLE KIYEOK E RIEULHIEUH
+  {0x81B3, 0xAC9E}, //103 #HANGUL SYLLABLE KIYEOK E PIEUPSIOS
+  {0x81B4, 0xACA2}, //104 #HANGUL SYLLABLE KIYEOK E CIEUC
+  {0x81B5, 0xACA3}, //105 #HANGUL SYLLABLE KIYEOK E CHIEUCH
+  {0x81B6, 0xACA4}, //106 #HANGUL SYLLABLE KIYEOK E KHIEUKH
+  {0x81B7, 0xACA5}, //107 #HANGUL SYLLABLE KIYEOK E THIEUTH
+  {0x81B8, 0xACA6}, //108 #HANGUL SYLLABLE KIYEOK E PHIEUPH
+  {0x81B9, 0xACA7}, //109 #HANGUL SYLLABLE KIYEOK E HIEUH
+  {0x81BA, 0xACAB}, //110 #HANGUL SYLLABLE KIYEOK YEO KIYEOKSIOS
+  {0x81BB, 0xACAD}, //111 #HANGUL SYLLABLE KIYEOK YEO NIEUNCIEUC
+  {0x81BC, 0xACAE}, //112 #HANGUL SYLLABLE KIYEOK YEO NIEUNHIEUH
+  {0x81BD, 0xACB1}, //113 #HANGUL SYLLABLE KIYEOK YEO RIEULKIYEOK
+  {0x81BE, 0xACB2}, //114 #HANGUL SYLLABLE KIYEOK YEO RIEULMIEUM
+  {0x81BF, 0xACB3}, //115 #HANGUL SYLLABLE KIYEOK YEO RIEULPIEUP
+  {0x81C0, 0xACB4}, //116 #HANGUL SYLLABLE KIYEOK YEO RIEULSIOS
+  {0x81C1, 0xACB5}, //117 #HANGUL SYLLABLE KIYEOK YEO RIEULTHIEUTH
+  {0x81C2, 0xACB6}, //118 #HANGUL SYLLABLE KIYEOK YEO RIEULPHIEUPH
+  {0x81C3, 0xACB7}, //119 #HANGUL SYLLABLE KIYEOK YEO RIEULHIEUH
+  {0x81C4, 0xACBA}, //120 #HANGUL SYLLABLE KIYEOK YEO PIEUPSIOS
+  {0x81C5, 0xACBE}, //121 #HANGUL SYLLABLE KIYEOK YEO CIEUC
+  {0x81C6, 0xACBF}, //122 #HANGUL SYLLABLE KIYEOK YEO CHIEUCH
+  {0x81C7, 0xACC0}, //123 #HANGUL SYLLABLE KIYEOK YEO KHIEUKH
+  {0x81C8, 0xACC2}, //124 #HANGUL SYLLABLE KIYEOK YEO PHIEUPH
+  {0x81C9, 0xACC3}, //125 #HANGUL SYLLABLE KIYEOK YEO HIEUH
+  {0x81CA, 0xACC5}, //126 #HANGUL SYLLABLE KIYEOK YE KIYEOK
+  {0x81CB, 0xACC6}, //127 #HANGUL SYLLABLE KIYEOK YE SSANGKIYEOK
+  {0x81CC, 0xACC7}, //128 #HANGUL SYLLABLE KIYEOK YE KIYEOKSIOS
+  {0x81CD, 0xACC9}, //129 #HANGUL SYLLABLE KIYEOK YE NIEUNCIEUC
+  {0x81CE, 0xACCA}, //130 #HANGUL SYLLABLE KIYEOK YE NIEUNHIEUH
+  {0x81CF, 0xACCB}, //131 #HANGUL SYLLABLE KIYEOK YE TIKEUT
+  {0x81D0, 0xACCD}, //132 #HANGUL SYLLABLE KIYEOK YE RIEULKIYEOK
+  {0x81D1, 0xACCE}, //133 #HANGUL SYLLABLE KIYEOK YE RIEULMIEUM
+  {0x81D2, 0xACCF}, //134 #HANGUL SYLLABLE KIYEOK YE RIEULPIEUP
+  {0x81D3, 0xACD0}, //135 #HANGUL SYLLABLE KIYEOK YE RIEULSIOS
+  {0x81D4, 0xACD1}, //136 #HANGUL SYLLABLE KIYEOK YE RIEULTHIEUTH
+  {0x81D5, 0xACD2}, //137 #HANGUL SYLLABLE KIYEOK YE RIEULPHIEUPH
+  {0x81D6, 0xACD3}, //138 #HANGUL SYLLABLE KIYEOK YE RIEULHIEUH
+  {0x81D7, 0xACD4}, //139 #HANGUL SYLLABLE KIYEOK YE MIEUM
+  {0x81D8, 0xACD6}, //140 #HANGUL SYLLABLE KIYEOK YE PIEUPSIOS
+  {0x81D9, 0xACD8}, //141 #HANGUL SYLLABLE KIYEOK YE SSANGSIOS
+  {0x81DA, 0xACD9}, //142 #HANGUL SYLLABLE KIYEOK YE IEUNG
+  {0x81DB, 0xACDA}, //143 #HANGUL SYLLABLE KIYEOK YE CIEUC
+  {0x81DC, 0xACDB}, //144 #HANGUL SYLLABLE KIYEOK YE CHIEUCH
+  {0x81DD, 0xACDC}, //145 #HANGUL SYLLABLE KIYEOK YE KHIEUKH
+  {0x81DE, 0xACDD}, //146 #HANGUL SYLLABLE KIYEOK YE THIEUTH
+  {0x81DF, 0xACDE}, //147 #HANGUL SYLLABLE KIYEOK YE PHIEUPH
+  {0x81E0, 0xACDF}, //148 #HANGUL SYLLABLE KIYEOK YE HIEUH
+  {0x81E1, 0xACE2}, //149 #HANGUL SYLLABLE KIYEOK O SSANGKIYEOK
+  {0x81E2, 0xACE3}, //150 #HANGUL SYLLABLE KIYEOK O KIYEOKSIOS
+  {0x81E3, 0xACE5}, //151 #HANGUL SYLLABLE KIYEOK O NIEUNCIEUC
+  {0x81E4, 0xACE6}, //152 #HANGUL SYLLABLE KIYEOK O NIEUNHIEUH
+  {0x81E5, 0xACE9}, //153 #HANGUL SYLLABLE KIYEOK O RIEULKIYEOK
+  {0x81E6, 0xACEB}, //154 #HANGUL SYLLABLE KIYEOK O RIEULPIEUP
+  {0x81E7, 0xACED}, //155 #HANGUL SYLLABLE KIYEOK O RIEULTHIEUTH
+  {0x81E8, 0xACEE}, //156 #HANGUL SYLLABLE KIYEOK O RIEULPHIEUPH
+  {0x81E9, 0xACF2}, //157 #HANGUL SYLLABLE KIYEOK O PIEUPSIOS
+  {0x81EA, 0xACF4}, //158 #HANGUL SYLLABLE KIYEOK O SSANGSIOS
+  {0x81EB, 0xACF7}, //159 #HANGUL SYLLABLE KIYEOK O CHIEUCH
+  {0x81EC, 0xACF8}, //160 #HANGUL SYLLABLE KIYEOK O KHIEUKH
+  {0x81ED, 0xACF9}, //161 #HANGUL SYLLABLE KIYEOK O THIEUTH
+  {0x81EE, 0xACFA}, //162 #HANGUL SYLLABLE KIYEOK O PHIEUPH
+  {0x81EF, 0xACFB}, //163 #HANGUL SYLLABLE KIYEOK O HIEUH
+  {0x81F0, 0xACFE}, //164 #HANGUL SYLLABLE KIYEOK WA SSANGKIYEOK
+  {0x81F1, 0xACFF}, //165 #HANGUL SYLLABLE KIYEOK WA KIYEOKSIOS
+  {0x81F2, 0xAD01}, //166 #HANGUL SYLLABLE KIYEOK WA NIEUNCIEUC
+  {0x81F3, 0xAD02}, //167 #HANGUL SYLLABLE KIYEOK WA NIEUNHIEUH
+  {0x81F4, 0xAD03}, //168 #HANGUL SYLLABLE KIYEOK WA TIKEUT
+  {0x81F5, 0xAD05}, //169 #HANGUL SYLLABLE KIYEOK WA RIEULKIYEOK
+  {0x81F6, 0xAD07}, //170 #HANGUL SYLLABLE KIYEOK WA RIEULPIEUP
+  {0x81F7, 0xAD08}, //171 #HANGUL SYLLABLE KIYEOK WA RIEULSIOS
+  {0x81F8, 0xAD09}, //172 #HANGUL SYLLABLE KIYEOK WA RIEULTHIEUTH
+  {0x81F9, 0xAD0A}, //173 #HANGUL SYLLABLE KIYEOK WA RIEULPHIEUPH
+  {0x81FA, 0xAD0B}, //174 #HANGUL SYLLABLE KIYEOK WA RIEULHIEUH
+  {0x81FB, 0xAD0E}, //175 #HANGUL SYLLABLE KIYEOK WA PIEUPSIOS
+  {0x81FC, 0xAD10}, //176 #HANGUL SYLLABLE KIYEOK WA SSANGSIOS
+  {0x81FD, 0xAD12}, //177 #HANGUL SYLLABLE KIYEOK WA CIEUC
+  {0x81FE, 0xAD13}, //178 #HANGUL SYLLABLE KIYEOK WA CHIEUCH
+  {0x8241, 0xAD14}, //179 #HANGUL SYLLABLE KIYEOK WA KHIEUKH
+  {0x8242, 0xAD15}, //180 #HANGUL SYLLABLE KIYEOK WA THIEUTH
+  {0x8243, 0xAD16}, //181 #HANGUL SYLLABLE KIYEOK WA PHIEUPH
+  {0x8244, 0xAD17}, //182 #HANGUL SYLLABLE KIYEOK WA HIEUH
+  {0x8245, 0xAD19}, //183 #HANGUL SYLLABLE KIYEOK WAE KIYEOK
+  {0x8246, 0xAD1A}, //184 #HANGUL SYLLABLE KIYEOK WAE SSANGKIYEOK
+  {0x8247, 0xAD1B}, //185 #HANGUL SYLLABLE KIYEOK WAE KIYEOKSIOS
+  {0x8248, 0xAD1D}, //186 #HANGUL SYLLABLE KIYEOK WAE NIEUNCIEUC
+  {0x8249, 0xAD1E}, //187 #HANGUL SYLLABLE KIYEOK WAE NIEUNHIEUH
+  {0x824A, 0xAD1F}, //188 #HANGUL SYLLABLE KIYEOK WAE TIKEUT
+  {0x824B, 0xAD21}, //189 #HANGUL SYLLABLE KIYEOK WAE RIEULKIYEOK
+  {0x824C, 0xAD22}, //190 #HANGUL SYLLABLE KIYEOK WAE RIEULMIEUM
+  {0x824D, 0xAD23}, //191 #HANGUL SYLLABLE KIYEOK WAE RIEULPIEUP
+  {0x824E, 0xAD24}, //192 #HANGUL SYLLABLE KIYEOK WAE RIEULSIOS
+  {0x824F, 0xAD25}, //193 #HANGUL SYLLABLE KIYEOK WAE RIEULTHIEUTH
+  {0x8250, 0xAD26}, //194 #HANGUL SYLLABLE KIYEOK WAE RIEULPHIEUPH
+  {0x8251, 0xAD27}, //195 #HANGUL SYLLABLE KIYEOK WAE RIEULHIEUH
+  {0x8252, 0xAD28}, //196 #HANGUL SYLLABLE KIYEOK WAE MIEUM
+  {0x8253, 0xAD2A}, //197 #HANGUL SYLLABLE KIYEOK WAE PIEUPSIOS
+  {0x8254, 0xAD2B}, //198 #HANGUL SYLLABLE KIYEOK WAE SIOS
+  {0x8255, 0xAD2E}, //199 #HANGUL SYLLABLE KIYEOK WAE CIEUC
+  {0x8256, 0xAD2F}, //200 #HANGUL SYLLABLE KIYEOK WAE CHIEUCH
+  {0x8257, 0xAD30}, //201 #HANGUL SYLLABLE KIYEOK WAE KHIEUKH
+  {0x8258, 0xAD31}, //202 #HANGUL SYLLABLE KIYEOK WAE THIEUTH
+  {0x8259, 0xAD32}, //203 #HANGUL SYLLABLE KIYEOK WAE PHIEUPH
+  {0x825A, 0xAD33}, //204 #HANGUL SYLLABLE KIYEOK WAE HIEUH
+  {0x8261, 0xAD36}, //205 #HANGUL SYLLABLE KIYEOK OE SSANGKIYEOK
+  {0x8262, 0xAD37}, //206 #HANGUL SYLLABLE KIYEOK OE KIYEOKSIOS
+  {0x8263, 0xAD39}, //207 #HANGUL SYLLABLE KIYEOK OE NIEUNCIEUC
+  {0x8264, 0xAD3A}, //208 #HANGUL SYLLABLE KIYEOK OE NIEUNHIEUH
+  {0x8265, 0xAD3B}, //209 #HANGUL SYLLABLE KIYEOK OE TIKEUT
+  {0x8266, 0xAD3D}, //210 #HANGUL SYLLABLE KIYEOK OE RIEULKIYEOK
+  {0x8267, 0xAD3E}, //211 #HANGUL SYLLABLE KIYEOK OE RIEULMIEUM
+  {0x8268, 0xAD3F}, //212 #HANGUL SYLLABLE KIYEOK OE RIEULPIEUP
+  {0x8269, 0xAD40}, //213 #HANGUL SYLLABLE KIYEOK OE RIEULSIOS
+  {0x826A, 0xAD41}, //214 #HANGUL SYLLABLE KIYEOK OE RIEULTHIEUTH
+  {0x826B, 0xAD42}, //215 #HANGUL SYLLABLE KIYEOK OE RIEULPHIEUPH
+  {0x826C, 0xAD43}, //216 #HANGUL SYLLABLE KIYEOK OE RIEULHIEUH
+  {0x826D, 0xAD46}, //217 #HANGUL SYLLABLE KIYEOK OE PIEUPSIOS
+  {0x826E, 0xAD48}, //218 #HANGUL SYLLABLE KIYEOK OE SSANGSIOS
+  {0x826F, 0xAD4A}, //219 #HANGUL SYLLABLE KIYEOK OE CIEUC
+  {0x8270, 0xAD4B}, //220 #HANGUL SYLLABLE KIYEOK OE CHIEUCH
+  {0x8271, 0xAD4C}, //221 #HANGUL SYLLABLE KIYEOK OE KHIEUKH
+  {0x8272, 0xAD4D}, //222 #HANGUL SYLLABLE KIYEOK OE THIEUTH
+  {0x8273, 0xAD4E}, //223 #HANGUL SYLLABLE KIYEOK OE PHIEUPH
+  {0x8274, 0xAD4F}, //224 #HANGUL SYLLABLE KIYEOK OE HIEUH
+  {0x8275, 0xAD51}, //225 #HANGUL SYLLABLE KIYEOK YO KIYEOK
+  {0x8276, 0xAD52}, //226 #HANGUL SYLLABLE KIYEOK YO SSANGKIYEOK
+  {0x8277, 0xAD53}, //227 #HANGUL SYLLABLE KIYEOK YO KIYEOKSIOS
+  {0x8278, 0xAD55}, //228 #HANGUL SYLLABLE KIYEOK YO NIEUNCIEUC
+  {0x8279, 0xAD56}, //229 #HANGUL SYLLABLE KIYEOK YO NIEUNHIEUH
+  {0x827A, 0xAD57}, //230 #HANGUL SYLLABLE KIYEOK YO TIKEUT
+  {0x8281, 0xAD59}, //231 #HANGUL SYLLABLE KIYEOK YO RIEULKIYEOK
+  {0x8282, 0xAD5A}, //232 #HANGUL SYLLABLE KIYEOK YO RIEULMIEUM
+  {0x8283, 0xAD5B}, //233 #HANGUL SYLLABLE KIYEOK YO RIEULPIEUP
+  {0x8284, 0xAD5C}, //234 #HANGUL SYLLABLE KIYEOK YO RIEULSIOS
+  {0x8285, 0xAD5D}, //235 #HANGUL SYLLABLE KIYEOK YO RIEULTHIEUTH
+  {0x8286, 0xAD5E}, //236 #HANGUL SYLLABLE KIYEOK YO RIEULPHIEUPH
+  {0x8287, 0xAD5F}, //237 #HANGUL SYLLABLE KIYEOK YO RIEULHIEUH
+  {0x8288, 0xAD60}, //238 #HANGUL SYLLABLE KIYEOK YO MIEUM
+  {0x8289, 0xAD62}, //239 #HANGUL SYLLABLE KIYEOK YO PIEUPSIOS
+  {0x828A, 0xAD64}, //240 #HANGUL SYLLABLE KIYEOK YO SSANGSIOS
+  {0x828B, 0xAD65}, //241 #HANGUL SYLLABLE KIYEOK YO IEUNG
+  {0x828C, 0xAD66}, //242 #HANGUL SYLLABLE KIYEOK YO CIEUC
+  {0x828D, 0xAD67}, //243 #HANGUL SYLLABLE KIYEOK YO CHIEUCH
+  {0x828E, 0xAD68}, //244 #HANGUL SYLLABLE KIYEOK YO KHIEUKH
+  {0x828F, 0xAD69}, //245 #HANGUL SYLLABLE KIYEOK YO THIEUTH
+  {0x8290, 0xAD6A}, //246 #HANGUL SYLLABLE KIYEOK YO PHIEUPH
+  {0x8291, 0xAD6B}, //247 #HANGUL SYLLABLE KIYEOK YO HIEUH
+  {0x8292, 0xAD6E}, //248 #HANGUL SYLLABLE KIYEOK U SSANGKIYEOK
+  {0x8293, 0xAD6F}, //249 #HANGUL SYLLABLE KIYEOK U KIYEOKSIOS
+  {0x8294, 0xAD71}, //250 #HANGUL SYLLABLE KIYEOK U NIEUNCIEUC
+  {0x8295, 0xAD72}, //251 #HANGUL SYLLABLE KIYEOK U NIEUNHIEUH
+  {0x8296, 0xAD77}, //252 #HANGUL SYLLABLE KIYEOK U RIEULPIEUP
+  {0x8297, 0xAD78}, //253 #HANGUL SYLLABLE KIYEOK U RIEULSIOS
+  {0x8298, 0xAD79}, //254 #HANGUL SYLLABLE KIYEOK U RIEULTHIEUTH
+  {0x8299, 0xAD7A}, //255 #HANGUL SYLLABLE KIYEOK U RIEULPHIEUPH
+  {0x829A, 0xAD7E}, //256 #HANGUL SYLLABLE KIYEOK U PIEUPSIOS
+  {0x829B, 0xAD80}, //257 #HANGUL SYLLABLE KIYEOK U SSANGSIOS
+  {0x829C, 0xAD83}, //258 #HANGUL SYLLABLE KIYEOK U CHIEUCH
+  {0x829D, 0xAD84}, //259 #HANGUL SYLLABLE KIYEOK U KHIEUKH
+  {0x829E, 0xAD85}, //260 #HANGUL SYLLABLE KIYEOK U THIEUTH
+  {0x829F, 0xAD86}, //261 #HANGUL SYLLABLE KIYEOK U PHIEUPH
+  {0x82A0, 0xAD87}, //262 #HANGUL SYLLABLE KIYEOK U HIEUH
+  {0x82A1, 0xAD8A}, //263 #HANGUL SYLLABLE KIYEOK WEO SSANGKIYEOK
+  {0x82A2, 0xAD8B}, //264 #HANGUL SYLLABLE KIYEOK WEO KIYEOKSIOS
+  {0x82A3, 0xAD8D}, //265 #HANGUL SYLLABLE KIYEOK WEO NIEUNCIEUC
+  {0x82A4, 0xAD8E}, //266 #HANGUL SYLLABLE KIYEOK WEO NIEUNHIEUH
+  {0x82A5, 0xAD8F}, //267 #HANGUL SYLLABLE KIYEOK WEO TIKEUT
+  {0x82A6, 0xAD91}, //268 #HANGUL SYLLABLE KIYEOK WEO RIEULKIYEOK
+  {0x82A7, 0xAD92}, //269 #HANGUL SYLLABLE KIYEOK WEO RIEULMIEUM
+  {0x82A8, 0xAD93}, //270 #HANGUL SYLLABLE KIYEOK WEO RIEULPIEUP
+  {0x82A9, 0xAD94}, //271 #HANGUL SYLLABLE KIYEOK WEO RIEULSIOS
+  {0x82AA, 0xAD95}, //272 #HANGUL SYLLABLE KIYEOK WEO RIEULTHIEUTH
+  {0x82AB, 0xAD96}, //273 #HANGUL SYLLABLE KIYEOK WEO RIEULPHIEUPH
+  {0x82AC, 0xAD97}, //274 #HANGUL SYLLABLE KIYEOK WEO RIEULHIEUH
+  {0x82AD, 0xAD98}, //275 #HANGUL SYLLABLE KIYEOK WEO MIEUM
+  {0x82AE, 0xAD99}, //276 #HANGUL SYLLABLE KIYEOK WEO PIEUP
+  {0x82AF, 0xAD9A}, //277 #HANGUL SYLLABLE KIYEOK WEO PIEUPSIOS
+  {0x82B0, 0xAD9B}, //278 #HANGUL SYLLABLE KIYEOK WEO SIOS
+  {0x82B1, 0xAD9E}, //279 #HANGUL SYLLABLE KIYEOK WEO CIEUC
+  {0x82B2, 0xAD9F}, //280 #HANGUL SYLLABLE KIYEOK WEO CHIEUCH
+  {0x82B3, 0xADA0}, //281 #HANGUL SYLLABLE KIYEOK WEO KHIEUKH
+  {0x82B4, 0xADA1}, //282 #HANGUL SYLLABLE KIYEOK WEO THIEUTH
+  {0x82B5, 0xADA2}, //283 #HANGUL SYLLABLE KIYEOK WEO PHIEUPH
+  {0x82B6, 0xADA3}, //284 #HANGUL SYLLABLE KIYEOK WEO HIEUH
+  {0x82B7, 0xADA5}, //285 #HANGUL SYLLABLE KIYEOK WE KIYEOK
+  {0x82B8, 0xADA6}, //286 #HANGUL SYLLABLE KIYEOK WE SSANGKIYEOK
+  {0x82B9, 0xADA7}, //287 #HANGUL SYLLABLE KIYEOK WE KIYEOKSIOS
+  {0x82BA, 0xADA8}, //288 #HANGUL SYLLABLE KIYEOK WE NIEUN
+  {0x82BB, 0xADA9}, //289 #HANGUL SYLLABLE KIYEOK WE NIEUNCIEUC
+  {0x82BC, 0xADAA}, //290 #HANGUL SYLLABLE KIYEOK WE NIEUNHIEUH
+  {0x82BD, 0xADAB}, //291 #HANGUL SYLLABLE KIYEOK WE TIKEUT
+  {0x82BE, 0xADAC}, //292 #HANGUL SYLLABLE KIYEOK WE RIEUL
+  {0x82BF, 0xADAD}, //293 #HANGUL SYLLABLE KIYEOK WE RIEULKIYEOK
+  {0x82C0, 0xADAE}, //294 #HANGUL SYLLABLE KIYEOK WE RIEULMIEUM
+  {0x82C1, 0xADAF}, //295 #HANGUL SYLLABLE KIYEOK WE RIEULPIEUP
+  {0x82C2, 0xADB0}, //296 #HANGUL SYLLABLE KIYEOK WE RIEULSIOS
+  {0x82C3, 0xADB1}, //297 #HANGUL SYLLABLE KIYEOK WE RIEULTHIEUTH
+  {0x82C4, 0xADB2}, //298 #HANGUL SYLLABLE KIYEOK WE RIEULPHIEUPH
+  {0x82C5, 0xADB3}, //299 #HANGUL SYLLABLE KIYEOK WE RIEULHIEUH
+  {0x82C6, 0xADB4}, //300 #HANGUL SYLLABLE KIYEOK WE MIEUM
+  {0x82C7, 0xADB5}, //301 #HANGUL SYLLABLE KIYEOK WE PIEUP
+  {0x82C8, 0xADB6}, //302 #HANGUL SYLLABLE KIYEOK WE PIEUPSIOS
+  {0x82C9, 0xADB8}, //303 #HANGUL SYLLABLE KIYEOK WE SSANGSIOS
+  {0x82CA, 0xADB9}, //304 #HANGUL SYLLABLE KIYEOK WE IEUNG
+  {0x82CB, 0xADBA}, //305 #HANGUL SYLLABLE KIYEOK WE CIEUC
+  {0x82CC, 0xADBB}, //306 #HANGUL SYLLABLE KIYEOK WE CHIEUCH
+  {0x82CD, 0xADBC}, //307 #HANGUL SYLLABLE KIYEOK WE KHIEUKH
+  {0x82CE, 0xADBD}, //308 #HANGUL SYLLABLE KIYEOK WE THIEUTH
+  {0x82CF, 0xADBE}, //309 #HANGUL SYLLABLE KIYEOK WE PHIEUPH
+  {0x82D0, 0xADBF}, //310 #HANGUL SYLLABLE KIYEOK WE HIEUH
+  {0x82D1, 0xADC2}, //311 #HANGUL SYLLABLE KIYEOK WI SSANGKIYEOK
+  {0x82D2, 0xADC3}, //312 #HANGUL SYLLABLE KIYEOK WI KIYEOKSIOS
+  {0x82D3, 0xADC5}, //313 #HANGUL SYLLABLE KIYEOK WI NIEUNCIEUC
+  {0x82D4, 0xADC6}, //314 #HANGUL SYLLABLE KIYEOK WI NIEUNHIEUH
+  {0x82D5, 0xADC7}, //315 #HANGUL SYLLABLE KIYEOK WI TIKEUT
+  {0x82D6, 0xADC9}, //316 #HANGUL SYLLABLE KIYEOK WI RIEULKIYEOK
+  {0x82D7, 0xADCA}, //317 #HANGUL SYLLABLE KIYEOK WI RIEULMIEUM
+  {0x82D8, 0xADCB}, //318 #HANGUL SYLLABLE KIYEOK WI RIEULPIEUP
+  {0x82D9, 0xADCC}, //319 #HANGUL SYLLABLE KIYEOK WI RIEULSIOS
+  {0x82DA, 0xADCD}, //320 #HANGUL SYLLABLE KIYEOK WI RIEULTHIEUTH
+  {0x82DB, 0xADCE}, //321 #HANGUL SYLLABLE KIYEOK WI RIEULPHIEUPH
+  {0x82DC, 0xADCF}, //322 #HANGUL SYLLABLE KIYEOK WI RIEULHIEUH
+  {0x82DD, 0xADD2}, //323 #HANGUL SYLLABLE KIYEOK WI PIEUPSIOS
+  {0x82DE, 0xADD4}, //324 #HANGUL SYLLABLE KIYEOK WI SSANGSIOS
+  {0x82DF, 0xADD5}, //325 #HANGUL SYLLABLE KIYEOK WI IEUNG
+  {0x82E0, 0xADD6}, //326 #HANGUL SYLLABLE KIYEOK WI CIEUC
+  {0x82E1, 0xADD7}, //327 #HANGUL SYLLABLE KIYEOK WI CHIEUCH
+  {0x82E2, 0xADD8}, //328 #HANGUL SYLLABLE KIYEOK WI KHIEUKH
+  {0x82E3, 0xADD9}, //329 #HANGUL SYLLABLE KIYEOK WI THIEUTH
+  {0x82E4, 0xADDA}, //330 #HANGUL SYLLABLE KIYEOK WI PHIEUPH
+  {0x82E5, 0xADDB}, //331 #HANGUL SYLLABLE KIYEOK WI HIEUH
+  {0x82E6, 0xADDD}, //332 #HANGUL SYLLABLE KIYEOK YU KIYEOK
+  {0x82E7, 0xADDE}, //333 #HANGUL SYLLABLE KIYEOK YU SSANGKIYEOK
+  {0x82E8, 0xADDF}, //334 #HANGUL SYLLABLE KIYEOK YU KIYEOKSIOS
+  {0x82E9, 0xADE1}, //335 #HANGUL SYLLABLE KIYEOK YU NIEUNCIEUC
+  {0x82EA, 0xADE2}, //336 #HANGUL SYLLABLE KIYEOK YU NIEUNHIEUH
+  {0x82EB, 0xADE3}, //337 #HANGUL SYLLABLE KIYEOK YU TIKEUT
+  {0x82EC, 0xADE5}, //338 #HANGUL SYLLABLE KIYEOK YU RIEULKIYEOK
+  {0x82ED, 0xADE6}, //339 #HANGUL SYLLABLE KIYEOK YU RIEULMIEUM
+  {0x82EE, 0xADE7}, //340 #HANGUL SYLLABLE KIYEOK YU RIEULPIEUP
+  {0x82EF, 0xADE8}, //341 #HANGUL SYLLABLE KIYEOK YU RIEULSIOS
+  {0x82F0, 0xADE9}, //342 #HANGUL SYLLABLE KIYEOK YU RIEULTHIEUTH
+  {0x82F1, 0xADEA}, //343 #HANGUL SYLLABLE KIYEOK YU RIEULPHIEUPH
+  {0x82F2, 0xADEB}, //344 #HANGUL SYLLABLE KIYEOK YU RIEULHIEUH
+  {0x82F3, 0xADEC}, //345 #HANGUL SYLLABLE KIYEOK YU MIEUM
+  {0x82F4, 0xADED}, //346 #HANGUL SYLLABLE KIYEOK YU PIEUP
+  {0x82F5, 0xADEE}, //347 #HANGUL SYLLABLE KIYEOK YU PIEUPSIOS
+  {0x82F6, 0xADEF}, //348 #HANGUL SYLLABLE KIYEOK YU SIOS
+  {0x82F7, 0xADF0}, //349 #HANGUL SYLLABLE KIYEOK YU SSANGSIOS
+  {0x82F8, 0xADF1}, //350 #HANGUL SYLLABLE KIYEOK YU IEUNG
+  {0x82F9, 0xADF2}, //351 #HANGUL SYLLABLE KIYEOK YU CIEUC
+  {0x82FA, 0xADF3}, //352 #HANGUL SYLLABLE KIYEOK YU CHIEUCH
+  {0x82FB, 0xADF4}, //353 #HANGUL SYLLABLE KIYEOK YU KHIEUKH
+  {0x82FC, 0xADF5}, //354 #HANGUL SYLLABLE KIYEOK YU THIEUTH
+  {0x82FD, 0xADF6}, //355 #HANGUL SYLLABLE KIYEOK YU PHIEUPH
+  {0x82FE, 0xADF7}, //356 #HANGUL SYLLABLE KIYEOK YU HIEUH
+  {0x8341, 0xADFA}, //357 #HANGUL SYLLABLE KIYEOK EU SSANGKIYEOK
+  {0x8342, 0xADFB}, //358 #HANGUL SYLLABLE KIYEOK EU KIYEOKSIOS
+  {0x8343, 0xADFD}, //359 #HANGUL SYLLABLE KIYEOK EU NIEUNCIEUC
+  {0x8344, 0xADFE}, //360 #HANGUL SYLLABLE KIYEOK EU NIEUNHIEUH
+  {0x8345, 0xAE02}, //361 #HANGUL SYLLABLE KIYEOK EU RIEULMIEUM
+  {0x8346, 0xAE03}, //362 #HANGUL SYLLABLE KIYEOK EU RIEULPIEUP
+  {0x8347, 0xAE04}, //363 #HANGUL SYLLABLE KIYEOK EU RIEULSIOS
+  {0x8348, 0xAE05}, //364 #HANGUL SYLLABLE KIYEOK EU RIEULTHIEUTH
+  {0x8349, 0xAE06}, //365 #HANGUL SYLLABLE KIYEOK EU RIEULPHIEUPH
+  {0x834A, 0xAE07}, //366 #HANGUL SYLLABLE KIYEOK EU RIEULHIEUH
+  {0x834B, 0xAE0A}, //367 #HANGUL SYLLABLE KIYEOK EU PIEUPSIOS
+  {0x834C, 0xAE0C}, //368 #HANGUL SYLLABLE KIYEOK EU SSANGSIOS
+  {0x834D, 0xAE0E}, //369 #HANGUL SYLLABLE KIYEOK EU CIEUC
+  {0x834E, 0xAE0F}, //370 #HANGUL SYLLABLE KIYEOK EU CHIEUCH
+  {0x834F, 0xAE10}, //371 #HANGUL SYLLABLE KIYEOK EU KHIEUKH
+  {0x8350, 0xAE11}, //372 #HANGUL SYLLABLE KIYEOK EU THIEUTH
+  {0x8351, 0xAE12}, //373 #HANGUL SYLLABLE KIYEOK EU PHIEUPH
+  {0x8352, 0xAE13}, //374 #HANGUL SYLLABLE KIYEOK EU HIEUH
+  {0x8353, 0xAE15}, //375 #HANGUL SYLLABLE KIYEOK YI KIYEOK
+  {0x8354, 0xAE16}, //376 #HANGUL SYLLABLE KIYEOK YI SSANGKIYEOK
+  {0x8355, 0xAE17}, //377 #HANGUL SYLLABLE KIYEOK YI KIYEOKSIOS
+  {0x8356, 0xAE18}, //378 #HANGUL SYLLABLE KIYEOK YI NIEUN
+  {0x8357, 0xAE19}, //379 #HANGUL SYLLABLE KIYEOK YI NIEUNCIEUC
+  {0x8358, 0xAE1A}, //380 #HANGUL SYLLABLE KIYEOK YI NIEUNHIEUH
+  {0x8359, 0xAE1B}, //381 #HANGUL SYLLABLE KIYEOK YI TIKEUT
+  {0x835A, 0xAE1C}, //382 #HANGUL SYLLABLE KIYEOK YI RIEUL
+  {0x8361, 0xAE1D}, //383 #HANGUL SYLLABLE KIYEOK YI RIEULKIYEOK
+  {0x8362, 0xAE1E}, //384 #HANGUL SYLLABLE KIYEOK YI RIEULMIEUM
+  {0x8363, 0xAE1F}, //385 #HANGUL SYLLABLE KIYEOK YI RIEULPIEUP
+  {0x8364, 0xAE20}, //386 #HANGUL SYLLABLE KIYEOK YI RIEULSIOS
+  {0x8365, 0xAE21}, //387 #HANGUL SYLLABLE KIYEOK YI RIEULTHIEUTH
+  {0x8366, 0xAE22}, //388 #HANGUL SYLLABLE KIYEOK YI RIEULPHIEUPH
+  {0x8367, 0xAE23}, //389 #HANGUL SYLLABLE KIYEOK YI RIEULHIEUH
+  {0x8368, 0xAE24}, //390 #HANGUL SYLLABLE KIYEOK YI MIEUM
+  {0x8369, 0xAE25}, //391 #HANGUL SYLLABLE KIYEOK YI PIEUP
+  {0x836A, 0xAE26}, //392 #HANGUL SYLLABLE KIYEOK YI PIEUPSIOS
+  {0x836B, 0xAE27}, //393 #HANGUL SYLLABLE KIYEOK YI SIOS
+  {0x836C, 0xAE28}, //394 #HANGUL SYLLABLE KIYEOK YI SSANGSIOS
+  {0x836D, 0xAE29}, //395 #HANGUL SYLLABLE KIYEOK YI IEUNG
+  {0x836E, 0xAE2A}, //396 #HANGUL SYLLABLE KIYEOK YI CIEUC
+  {0x836F, 0xAE2B}, //397 #HANGUL SYLLABLE KIYEOK YI CHIEUCH
+  {0x8370, 0xAE2C}, //398 #HANGUL SYLLABLE KIYEOK YI KHIEUKH
+  {0x8371, 0xAE2D}, //399 #HANGUL SYLLABLE KIYEOK YI THIEUTH
+  {0x8372, 0xAE2E}, //400 #HANGUL SYLLABLE KIYEOK YI PHIEUPH
+  {0x8373, 0xAE2F}, //401 #HANGUL SYLLABLE KIYEOK YI HIEUH
+  {0x8374, 0xAE32}, //402 #HANGUL SYLLABLE KIYEOK I SSANGKIYEOK
+  {0x8375, 0xAE33}, //403 #HANGUL SYLLABLE KIYEOK I KIYEOKSIOS
+  {0x8376, 0xAE35}, //404 #HANGUL SYLLABLE KIYEOK I NIEUNCIEUC
+  {0x8377, 0xAE36}, //405 #HANGUL SYLLABLE KIYEOK I NIEUNHIEUH
+  {0x8378, 0xAE39}, //406 #HANGUL SYLLABLE KIYEOK I RIEULKIYEOK
+  {0x8379, 0xAE3B}, //407 #HANGUL SYLLABLE KIYEOK I RIEULPIEUP
+  {0x837A, 0xAE3C}, //408 #HANGUL SYLLABLE KIYEOK I RIEULSIOS
+  {0x8381, 0xAE3D}, //409 #HANGUL SYLLABLE KIYEOK I RIEULTHIEUTH
+  {0x8382, 0xAE3E}, //410 #HANGUL SYLLABLE KIYEOK I RIEULPHIEUPH
+  {0x8383, 0xAE3F}, //411 #HANGUL SYLLABLE KIYEOK I RIEULHIEUH
+  {0x8384, 0xAE42}, //412 #HANGUL SYLLABLE KIYEOK I PIEUPSIOS
+  {0x8385, 0xAE44}, //413 #HANGUL SYLLABLE KIYEOK I SSANGSIOS
+  {0x8386, 0xAE47}, //414 #HANGUL SYLLABLE KIYEOK I CHIEUCH
+  {0x8387, 0xAE48}, //415 #HANGUL SYLLABLE KIYEOK I KHIEUKH
+  {0x8388, 0xAE49}, //416 #HANGUL SYLLABLE KIYEOK I THIEUTH
+  {0x8389, 0xAE4B}, //417 #HANGUL SYLLABLE KIYEOK I HIEUH
+  {0x838A, 0xAE4F}, //418 #HANGUL SYLLABLE SSANGKIYEOK A KIYEOKSIOS
+  {0x838B, 0xAE51}, //419 #HANGUL SYLLABLE SSANGKIYEOK A NIEUNCIEUC
+  {0x838C, 0xAE52}, //420 #HANGUL SYLLABLE SSANGKIYEOK A NIEUNHIEUH
+  {0x838D, 0xAE53}, //421 #HANGUL SYLLABLE SSANGKIYEOK A TIKEUT
+  {0x838E, 0xAE55}, //422 #HANGUL SYLLABLE SSANGKIYEOK A RIEULKIYEOK
+  {0x838F, 0xAE57}, //423 #HANGUL SYLLABLE SSANGKIYEOK A RIEULPIEUP
+  {0x8390, 0xAE58}, //424 #HANGUL SYLLABLE SSANGKIYEOK A RIEULSIOS
+  {0x8391, 0xAE59}, //425 #HANGUL SYLLABLE SSANGKIYEOK A RIEULTHIEUTH
+  {0x8392, 0xAE5A}, //426 #HANGUL SYLLABLE SSANGKIYEOK A RIEULPHIEUPH
+  {0x8393, 0xAE5B}, //427 #HANGUL SYLLABLE SSANGKIYEOK A RIEULHIEUH
+  {0x8394, 0xAE5E}, //428 #HANGUL SYLLABLE SSANGKIYEOK A PIEUPSIOS
+  {0x8395, 0xAE62}, //429 #HANGUL SYLLABLE SSANGKIYEOK A CIEUC
+  {0x8396, 0xAE63}, //430 #HANGUL SYLLABLE SSANGKIYEOK A CHIEUCH
+  {0x8397, 0xAE64}, //431 #HANGUL SYLLABLE SSANGKIYEOK A KHIEUKH
+  {0x8398, 0xAE66}, //432 #HANGUL SYLLABLE SSANGKIYEOK A PHIEUPH
+  {0x8399, 0xAE67}, //433 #HANGUL SYLLABLE SSANGKIYEOK A HIEUH
+  {0x839A, 0xAE6A}, //434 #HANGUL SYLLABLE SSANGKIYEOK AE SSANGKIYEOK
+  {0x839B, 0xAE6B}, //435 #HANGUL SYLLABLE SSANGKIYEOK AE KIYEOKSIOS
+  {0x839C, 0xAE6D}, //436 #HANGUL SYLLABLE SSANGKIYEOK AE NIEUNCIEUC
+  {0x839D, 0xAE6E}, //437 #HANGUL SYLLABLE SSANGKIYEOK AE NIEUNHIEUH
+  {0x839E, 0xAE6F}, //438 #HANGUL SYLLABLE SSANGKIYEOK AE TIKEUT
+  {0x839F, 0xAE71}, //439 #HANGUL SYLLABLE SSANGKIYEOK AE RIEULKIYEOK
+  {0x83A0, 0xAE72}, //440 #HANGUL SYLLABLE SSANGKIYEOK AE RIEULMIEUM
+  {0x83A1, 0xAE73}, //441 #HANGUL SYLLABLE SSANGKIYEOK AE RIEULPIEUP
+  {0x83A2, 0xAE74}, //442 #HANGUL SYLLABLE SSANGKIYEOK AE RIEULSIOS
+  {0x83A3, 0xAE75}, //443 #HANGUL SYLLABLE SSANGKIYEOK AE RIEULTHIEUTH
+  {0x83A4, 0xAE76}, //444 #HANGUL SYLLABLE SSANGKIYEOK AE RIEULPHIEUPH
+  {0x83A5, 0xAE77}, //445 #HANGUL SYLLABLE SSANGKIYEOK AE RIEULHIEUH
+  {0x83A6, 0xAE7A}, //446 #HANGUL SYLLABLE SSANGKIYEOK AE PIEUPSIOS
+  {0x83A7, 0xAE7E}, //447 #HANGUL SYLLABLE SSANGKIYEOK AE CIEUC
+  {0x83A8, 0xAE7F}, //448 #HANGUL SYLLABLE SSANGKIYEOK AE CHIEUCH
+  {0x83A9, 0xAE80}, //449 #HANGUL SYLLABLE SSANGKIYEOK AE KHIEUKH
+  {0x83AA, 0xAE81}, //450 #HANGUL SYLLABLE SSANGKIYEOK AE THIEUTH
+  {0x83AB, 0xAE82}, //451 #HANGUL SYLLABLE SSANGKIYEOK AE PHIEUPH
+  {0x83AC, 0xAE83}, //452 #HANGUL SYLLABLE SSANGKIYEOK AE HIEUH
+  {0x83AD, 0xAE86}, //453 #HANGUL SYLLABLE SSANGKIYEOK YA SSANGKIYEOK
+  {0x83AE, 0xAE87}, //454 #HANGUL SYLLABLE SSANGKIYEOK YA KIYEOKSIOS
+  {0x83AF, 0xAE88}, //455 #HANGUL SYLLABLE SSANGKIYEOK YA NIEUN
+  {0x83B0, 0xAE89}, //456 #HANGUL SYLLABLE SSANGKIYEOK YA NIEUNCIEUC
+  {0x83B1, 0xAE8A}, //457 #HANGUL SYLLABLE SSANGKIYEOK YA NIEUNHIEUH
+  {0x83B2, 0xAE8B}, //458 #HANGUL SYLLABLE SSANGKIYEOK YA TIKEUT
+  {0x83B3, 0xAE8D}, //459 #HANGUL SYLLABLE SSANGKIYEOK YA RIEULKIYEOK
+  {0x83B4, 0xAE8E}, //460 #HANGUL SYLLABLE SSANGKIYEOK YA RIEULMIEUM
+  {0x83B5, 0xAE8F}, //461 #HANGUL SYLLABLE SSANGKIYEOK YA RIEULPIEUP
+  {0x83B6, 0xAE90}, //462 #HANGUL SYLLABLE SSANGKIYEOK YA RIEULSIOS
+  {0x83B7, 0xAE91}, //463 #HANGUL SYLLABLE SSANGKIYEOK YA RIEULTHIEUTH
+  {0x83B8, 0xAE92}, //464 #HANGUL SYLLABLE SSANGKIYEOK YA RIEULPHIEUPH
+  {0x83B9, 0xAE93}, //465 #HANGUL SYLLABLE SSANGKIYEOK YA RIEULHIEUH
+  {0x83BA, 0xAE94}, //466 #HANGUL SYLLABLE SSANGKIYEOK YA MIEUM
+  {0x83BB, 0xAE95}, //467 #HANGUL SYLLABLE SSANGKIYEOK YA PIEUP
+  {0x83BC, 0xAE96}, //468 #HANGUL SYLLABLE SSANGKIYEOK YA PIEUPSIOS
+  {0x83BD, 0xAE97}, //469 #HANGUL SYLLABLE SSANGKIYEOK YA SIOS
+  {0x83BE, 0xAE98}, //470 #HANGUL SYLLABLE SSANGKIYEOK YA SSANGSIOS
+  {0x83BF, 0xAE99}, //471 #HANGUL SYLLABLE SSANGKIYEOK YA IEUNG
+  {0x83C0, 0xAE9A}, //472 #HANGUL SYLLABLE SSANGKIYEOK YA CIEUC
+  {0x83C1, 0xAE9B}, //473 #HANGUL SYLLABLE SSANGKIYEOK YA CHIEUCH
+  {0x83C2, 0xAE9C}, //474 #HANGUL SYLLABLE SSANGKIYEOK YA KHIEUKH
+  {0x83C3, 0xAE9D}, //475 #HANGUL SYLLABLE SSANGKIYEOK YA THIEUTH
+  {0x83C4, 0xAE9E}, //476 #HANGUL SYLLABLE SSANGKIYEOK YA PHIEUPH
+  {0x83C5, 0xAE9F}, //477 #HANGUL SYLLABLE SSANGKIYEOK YA HIEUH
+  {0x83C6, 0xAEA0}, //478 #HANGUL SYLLABLE SSANGKIYEOK YAE
+  {0x83C7, 0xAEA1}, //479 #HANGUL SYLLABLE SSANGKIYEOK YAE KIYEOK
+  {0x83C8, 0xAEA2}, //480 #HANGUL SYLLABLE SSANGKIYEOK YAE SSANGKIYEOK
+  {0x83C9, 0xAEA3}, //481 #HANGUL SYLLABLE SSANGKIYEOK YAE KIYEOKSIOS
+  {0x83CA, 0xAEA4}, //482 #HANGUL SYLLABLE SSANGKIYEOK YAE NIEUN
+  {0x83CB, 0xAEA5}, //483 #HANGUL SYLLABLE SSANGKIYEOK YAE NIEUNCIEUC
+  {0x83CC, 0xAEA6}, //484 #HANGUL SYLLABLE SSANGKIYEOK YAE NIEUNHIEUH
+  {0x83CD, 0xAEA7}, //485 #HANGUL SYLLABLE SSANGKIYEOK YAE TIKEUT
+  {0x83CE, 0xAEA8}, //486 #HANGUL SYLLABLE SSANGKIYEOK YAE RIEUL
+  {0x83CF, 0xAEA9}, //487 #HANGUL SYLLABLE SSANGKIYEOK YAE RIEULKIYEOK
+  {0x83D0, 0xAEAA}, //488 #HANGUL SYLLABLE SSANGKIYEOK YAE RIEULMIEUM
+  {0x83D1, 0xAEAB}, //489 #HANGUL SYLLABLE SSANGKIYEOK YAE RIEULPIEUP
+  {0x83D2, 0xAEAC}, //490 #HANGUL SYLLABLE SSANGKIYEOK YAE RIEULSIOS
+  {0x83D3, 0xAEAD}, //491 #HANGUL SYLLABLE SSANGKIYEOK YAE RIEULTHIEUTH
+  {0x83D4, 0xAEAE}, //492 #HANGUL SYLLABLE SSANGKIYEOK YAE RIEULPHIEUPH
+  {0x83D5, 0xAEAF}, //493 #HANGUL SYLLABLE SSANGKIYEOK YAE RIEULHIEUH
+  {0x83D6, 0xAEB0}, //494 #HANGUL SYLLABLE SSANGKIYEOK YAE MIEUM
+  {0x83D7, 0xAEB1}, //495 #HANGUL SYLLABLE SSANGKIYEOK YAE PIEUP
+  {0x83D8, 0xAEB2}, //496 #HANGUL SYLLABLE SSANGKIYEOK YAE PIEUPSIOS
+  {0x83D9, 0xAEB3}, //497 #HANGUL SYLLABLE SSANGKIYEOK YAE SIOS
+  {0x83DA, 0xAEB4}, //498 #HANGUL SYLLABLE SSANGKIYEOK YAE SSANGSIOS
+  {0x83DB, 0xAEB5}, //499 #HANGUL SYLLABLE SSANGKIYEOK YAE IEUNG
+  {0x83DC, 0xAEB6}, //500 #HANGUL SYLLABLE SSANGKIYEOK YAE CIEUC
+  {0x83DD, 0xAEB7}, //501 #HANGUL SYLLABLE SSANGKIYEOK YAE CHIEUCH
+  {0x83DE, 0xAEB8}, //502 #HANGUL SYLLABLE SSANGKIYEOK YAE KHIEUKH
+  {0x83DF, 0xAEB9}, //503 #HANGUL SYLLABLE SSANGKIYEOK YAE THIEUTH
+  {0x83E0, 0xAEBA}, //504 #HANGUL SYLLABLE SSANGKIYEOK YAE PHIEUPH
+  {0x83E1, 0xAEBB}, //505 #HANGUL SYLLABLE SSANGKIYEOK YAE HIEUH
+  {0x83E2, 0xAEBF}, //506 #HANGUL SYLLABLE SSANGKIYEOK EO KIYEOKSIOS
+  {0x83E3, 0xAEC1}, //507 #HANGUL SYLLABLE SSANGKIYEOK EO NIEUNCIEUC
+  {0x83E4, 0xAEC2}, //508 #HANGUL SYLLABLE SSANGKIYEOK EO NIEUNHIEUH
+  {0x83E5, 0xAEC3}, //509 #HANGUL SYLLABLE SSANGKIYEOK EO TIKEUT
+  {0x83E6, 0xAEC5}, //510 #HANGUL SYLLABLE SSANGKIYEOK EO RIEULKIYEOK
+  {0x83E7, 0xAEC6}, //511 #HANGUL SYLLABLE SSANGKIYEOK EO RIEULMIEUM
+  {0x83E8, 0xAEC7}, //512 #HANGUL SYLLABLE SSANGKIYEOK EO RIEULPIEUP
+  {0x83E9, 0xAEC8}, //513 #HANGUL SYLLABLE SSANGKIYEOK EO RIEULSIOS
+  {0x83EA, 0xAEC9}, //514 #HANGUL SYLLABLE SSANGKIYEOK EO RIEULTHIEUTH
+  {0x83EB, 0xAECA}, //515 #HANGUL SYLLABLE SSANGKIYEOK EO RIEULPHIEUPH
+  {0x83EC, 0xAECB}, //516 #HANGUL SYLLABLE SSANGKIYEOK EO RIEULHIEUH
+  {0x83ED, 0xAECE}, //517 #HANGUL SYLLABLE SSANGKIYEOK EO PIEUPSIOS
+  {0x83EE, 0xAED2}, //518 #HANGUL SYLLABLE SSANGKIYEOK EO CIEUC
+  {0x83EF, 0xAED3}, //519 #HANGUL SYLLABLE SSANGKIYEOK EO CHIEUCH
+  {0x83F0, 0xAED4}, //520 #HANGUL SYLLABLE SSANGKIYEOK EO KHIEUKH
+  {0x83F1, 0xAED5}, //521 #HANGUL SYLLABLE SSANGKIYEOK EO THIEUTH
+  {0x83F2, 0xAED6}, //522 #HANGUL SYLLABLE SSANGKIYEOK EO PHIEUPH
+  {0x83F3, 0xAED7}, //523 #HANGUL SYLLABLE SSANGKIYEOK EO HIEUH
+  {0x83F4, 0xAEDA}, //524 #HANGUL SYLLABLE SSANGKIYEOK E SSANGKIYEOK
+  {0x83F5, 0xAEDB}, //525 #HANGUL SYLLABLE SSANGKIYEOK E KIYEOKSIOS
+  {0x83F6, 0xAEDD}, //526 #HANGUL SYLLABLE SSANGKIYEOK E NIEUNCIEUC
+  {0x83F7, 0xAEDE}, //527 #HANGUL SYLLABLE SSANGKIYEOK E NIEUNHIEUH
+  {0x83F8, 0xAEDF}, //528 #HANGUL SYLLABLE SSANGKIYEOK E TIKEUT
+  {0x83F9, 0xAEE0}, //529 #HANGUL SYLLABLE SSANGKIYEOK E RIEUL
+  {0x83FA, 0xAEE1}, //530 #HANGUL SYLLABLE SSANGKIYEOK E RIEULKIYEOK
+  {0x83FB, 0xAEE2}, //531 #HANGUL SYLLABLE SSANGKIYEOK E RIEULMIEUM
+  {0x83FC, 0xAEE3}, //532 #HANGUL SYLLABLE SSANGKIYEOK E RIEULPIEUP
+  {0x83FD, 0xAEE4}, //533 #HANGUL SYLLABLE SSANGKIYEOK E RIEULSIOS
+  {0x83FE, 0xAEE5}, //534 #HANGUL SYLLABLE SSANGKIYEOK E RIEULTHIEUTH
+  {0x8441, 0xAEE6}, //535 #HANGUL SYLLABLE SSANGKIYEOK E RIEULPHIEUPH
+  {0x8442, 0xAEE7}, //536 #HANGUL SYLLABLE SSANGKIYEOK E RIEULHIEUH
+  {0x8443, 0xAEE9}, //537 #HANGUL SYLLABLE SSANGKIYEOK E PIEUP
+  {0x8444, 0xAEEA}, //538 #HANGUL SYLLABLE SSANGKIYEOK E PIEUPSIOS
+  {0x8445, 0xAEEC}, //539 #HANGUL SYLLABLE SSANGKIYEOK E SSANGSIOS
+  {0x8446, 0xAEEE}, //540 #HANGUL SYLLABLE SSANGKIYEOK E CIEUC
+  {0x8447, 0xAEEF}, //541 #HANGUL SYLLABLE SSANGKIYEOK E CHIEUCH
+  {0x8448, 0xAEF0}, //542 #HANGUL SYLLABLE SSANGKIYEOK E KHIEUKH
+  {0x8449, 0xAEF1}, //543 #HANGUL SYLLABLE SSANGKIYEOK E THIEUTH
+  {0x844A, 0xAEF2}, //544 #HANGUL SYLLABLE SSANGKIYEOK E PHIEUPH
+  {0x844B, 0xAEF3}, //545 #HANGUL SYLLABLE SSANGKIYEOK E HIEUH
+  {0x844C, 0xAEF5}, //546 #HANGUL SYLLABLE SSANGKIYEOK YEO KIYEOK
+  {0x844D, 0xAEF6}, //547 #HANGUL SYLLABLE SSANGKIYEOK YEO SSANGKIYEOK
+  {0x844E, 0xAEF7}, //548 #HANGUL SYLLABLE SSANGKIYEOK YEO KIYEOKSIOS
+  {0x844F, 0xAEF9}, //549 #HANGUL SYLLABLE SSANGKIYEOK YEO NIEUNCIEUC
+  {0x8450, 0xAEFA}, //550 #HANGUL SYLLABLE SSANGKIYEOK YEO NIEUNHIEUH
+  {0x8451, 0xAEFB}, //551 #HANGUL SYLLABLE SSANGKIYEOK YEO TIKEUT
+  {0x8452, 0xAEFD}, //552 #HANGUL SYLLABLE SSANGKIYEOK YEO RIEULKIYEOK
+  {0x8453, 0xAEFE}, //553 #HANGUL SYLLABLE SSANGKIYEOK YEO RIEULMIEUM
+  {0x8454, 0xAEFF}, //554 #HANGUL SYLLABLE SSANGKIYEOK YEO RIEULPIEUP
+  {0x8455, 0xAF00}, //555 #HANGUL SYLLABLE SSANGKIYEOK YEO RIEULSIOS
+  {0x8456, 0xAF01}, //556 #HANGUL SYLLABLE SSANGKIYEOK YEO RIEULTHIEUTH
+  {0x8457, 0xAF02}, //557 #HANGUL SYLLABLE SSANGKIYEOK YEO RIEULPHIEUPH
+  {0x8458, 0xAF03}, //558 #HANGUL SYLLABLE SSANGKIYEOK YEO RIEULHIEUH
+  {0x8459, 0xAF04}, //559 #HANGUL SYLLABLE SSANGKIYEOK YEO MIEUM
+  {0x845A, 0xAF05}, //560 #HANGUL SYLLABLE SSANGKIYEOK YEO PIEUP
+  {0x8461, 0xAF06}, //561 #HANGUL SYLLABLE SSANGKIYEOK YEO PIEUPSIOS
+  {0x8462, 0xAF09}, //562 #HANGUL SYLLABLE SSANGKIYEOK YEO IEUNG
+  {0x8463, 0xAF0A}, //563 #HANGUL SYLLABLE SSANGKIYEOK YEO CIEUC
+  {0x8464, 0xAF0B}, //564 #HANGUL SYLLABLE SSANGKIYEOK YEO CHIEUCH
+  {0x8465, 0xAF0C}, //565 #HANGUL SYLLABLE SSANGKIYEOK YEO KHIEUKH
+  {0x8466, 0xAF0E}, //566 #HANGUL SYLLABLE SSANGKIYEOK YEO PHIEUPH
+  {0x8467, 0xAF0F}, //567 #HANGUL SYLLABLE SSANGKIYEOK YEO HIEUH
+  {0x8468, 0xAF11}, //568 #HANGUL SYLLABLE SSANGKIYEOK YE KIYEOK
+  {0x8469, 0xAF12}, //569 #HANGUL SYLLABLE SSANGKIYEOK YE SSANGKIYEOK
+  {0x846A, 0xAF13}, //570 #HANGUL SYLLABLE SSANGKIYEOK YE KIYEOKSIOS
+  {0x846B, 0xAF14}, //571 #HANGUL SYLLABLE SSANGKIYEOK YE NIEUN
+  {0x846C, 0xAF15}, //572 #HANGUL SYLLABLE SSANGKIYEOK YE NIEUNCIEUC
+  {0x846D, 0xAF16}, //573 #HANGUL SYLLABLE SSANGKIYEOK YE NIEUNHIEUH
+  {0x846E, 0xAF17}, //574 #HANGUL SYLLABLE SSANGKIYEOK YE TIKEUT
+  {0x846F, 0xAF18}, //575 #HANGUL SYLLABLE SSANGKIYEOK YE RIEUL
+  {0x8470, 0xAF19}, //576 #HANGUL SYLLABLE SSANGKIYEOK YE RIEULKIYEOK
+  {0x8471, 0xAF1A}, //577 #HANGUL SYLLABLE SSANGKIYEOK YE RIEULMIEUM
+  {0x8472, 0xAF1B}, //578 #HANGUL SYLLABLE SSANGKIYEOK YE RIEULPIEUP
+  {0x8473, 0xAF1C}, //579 #HANGUL SYLLABLE SSANGKIYEOK YE RIEULSIOS
+  {0x8474, 0xAF1D}, //580 #HANGUL SYLLABLE SSANGKIYEOK YE RIEULTHIEUTH
+  {0x8475, 0xAF1E}, //581 #HANGUL SYLLABLE SSANGKIYEOK YE RIEULPHIEUPH
+  {0x8476, 0xAF1F}, //582 #HANGUL SYLLABLE SSANGKIYEOK YE RIEULHIEUH
+  {0x8477, 0xAF20}, //583 #HANGUL SYLLABLE SSANGKIYEOK YE MIEUM
+  {0x8478, 0xAF21}, //584 #HANGUL SYLLABLE SSANGKIYEOK YE PIEUP
+  {0x8479, 0xAF22}, //585 #HANGUL SYLLABLE SSANGKIYEOK YE PIEUPSIOS
+  {0x847A, 0xAF23}, //586 #HANGUL SYLLABLE SSANGKIYEOK YE SIOS
+  {0x8481, 0xAF24}, //587 #HANGUL SYLLABLE SSANGKIYEOK YE SSANGSIOS
+  {0x8482, 0xAF25}, //588 #HANGUL SYLLABLE SSANGKIYEOK YE IEUNG
+  {0x8483, 0xAF26}, //589 #HANGUL SYLLABLE SSANGKIYEOK YE CIEUC
+  {0x8484, 0xAF27}, //590 #HANGUL SYLLABLE SSANGKIYEOK YE CHIEUCH
+  {0x8485, 0xAF28}, //591 #HANGUL SYLLABLE SSANGKIYEOK YE KHIEUKH
+  {0x8486, 0xAF29}, //592 #HANGUL SYLLABLE SSANGKIYEOK YE THIEUTH
+  {0x8487, 0xAF2A}, //593 #HANGUL SYLLABLE SSANGKIYEOK YE PHIEUPH
+  {0x8488, 0xAF2B}, //594 #HANGUL SYLLABLE SSANGKIYEOK YE HIEUH
+  {0x8489, 0xAF2E}, //595 #HANGUL SYLLABLE SSANGKIYEOK O SSANGKIYEOK
+  {0x848A, 0xAF2F}, //596 #HANGUL SYLLABLE SSANGKIYEOK O KIYEOKSIOS
+  {0x848B, 0xAF31}, //597 #HANGUL SYLLABLE SSANGKIYEOK O NIEUNCIEUC
+  {0x848C, 0xAF33}, //598 #HANGUL SYLLABLE SSANGKIYEOK O TIKEUT
+  {0x848D, 0xAF35}, //599 #HANGUL SYLLABLE SSANGKIYEOK O RIEULKIYEOK
+  {0x848E, 0xAF36}, //600 #HANGUL SYLLABLE SSANGKIYEOK O RIEULMIEUM
+  {0x848F, 0xAF37}, //601 #HANGUL SYLLABLE SSANGKIYEOK O RIEULPIEUP
+  {0x8490, 0xAF38}, //602 #HANGUL SYLLABLE SSANGKIYEOK O RIEULSIOS
+  {0x8491, 0xAF39}, //603 #HANGUL SYLLABLE SSANGKIYEOK O RIEULTHIEUTH
+  {0x8492, 0xAF3A}, //604 #HANGUL SYLLABLE SSANGKIYEOK O RIEULPHIEUPH
+  {0x8493, 0xAF3B}, //605 #HANGUL SYLLABLE SSANGKIYEOK O RIEULHIEUH
+  {0x8494, 0xAF3E}, //606 #HANGUL SYLLABLE SSANGKIYEOK O PIEUPSIOS
+  {0x8495, 0xAF40}, //607 #HANGUL SYLLABLE SSANGKIYEOK O SSANGSIOS
+  {0x8496, 0xAF44}, //608 #HANGUL SYLLABLE SSANGKIYEOK O KHIEUKH
+  {0x8497, 0xAF45}, //609 #HANGUL SYLLABLE SSANGKIYEOK O THIEUTH
+  {0x8498, 0xAF46}, //610 #HANGUL SYLLABLE SSANGKIYEOK O PHIEUPH
+  {0x8499, 0xAF47}, //611 #HANGUL SYLLABLE SSANGKIYEOK O HIEUH
+  {0x849A, 0xAF4A}, //612 #HANGUL SYLLABLE SSANGKIYEOK WA SSANGKIYEOK
+  {0x849B, 0xAF4B}, //613 #HANGUL SYLLABLE SSANGKIYEOK WA KIYEOKSIOS
+  {0x849C, 0xAF4C}, //614 #HANGUL SYLLABLE SSANGKIYEOK WA NIEUN
+  {0x849D, 0xAF4D}, //615 #HANGUL SYLLABLE SSANGKIYEOK WA NIEUNCIEUC
+  {0x849E, 0xAF4E}, //616 #HANGUL SYLLABLE SSANGKIYEOK WA NIEUNHIEUH
+  {0x849F, 0xAF4F}, //617 #HANGUL SYLLABLE SSANGKIYEOK WA TIKEUT
+  {0x84A0, 0xAF51}, //618 #HANGUL SYLLABLE SSANGKIYEOK WA RIEULKIYEOK
+  {0x84A1, 0xAF52}, //619 #HANGUL SYLLABLE SSANGKIYEOK WA RIEULMIEUM
+  {0x84A2, 0xAF53}, //620 #HANGUL SYLLABLE SSANGKIYEOK WA RIEULPIEUP
+  {0x84A3, 0xAF54}, //621 #HANGUL SYLLABLE SSANGKIYEOK WA RIEULSIOS
+  {0x84A4, 0xAF55}, //622 #HANGUL SYLLABLE SSANGKIYEOK WA RIEULTHIEUTH
+  {0x84A5, 0xAF56}, //623 #HANGUL SYLLABLE SSANGKIYEOK WA RIEULPHIEUPH
+  {0x84A6, 0xAF57}, //624 #HANGUL SYLLABLE SSANGKIYEOK WA RIEULHIEUH
+  {0x84A7, 0xAF58}, //625 #HANGUL SYLLABLE SSANGKIYEOK WA MIEUM
+  {0x84A8, 0xAF59}, //626 #HANGUL SYLLABLE SSANGKIYEOK WA PIEUP
+  {0x84A9, 0xAF5A}, //627 #HANGUL SYLLABLE SSANGKIYEOK WA PIEUPSIOS
+  {0x84AA, 0xAF5B}, //628 #HANGUL SYLLABLE SSANGKIYEOK WA SIOS
+  {0x84AB, 0xAF5E}, //629 #HANGUL SYLLABLE SSANGKIYEOK WA CIEUC
+  {0x84AC, 0xAF5F}, //630 #HANGUL SYLLABLE SSANGKIYEOK WA CHIEUCH
+  {0x84AD, 0xAF60}, //631 #HANGUL SYLLABLE SSANGKIYEOK WA KHIEUKH
+  {0x84AE, 0xAF61}, //632 #HANGUL SYLLABLE SSANGKIYEOK WA THIEUTH
+  {0x84AF, 0xAF62}, //633 #HANGUL SYLLABLE SSANGKIYEOK WA PHIEUPH
+  {0x84B0, 0xAF63}, //634 #HANGUL SYLLABLE SSANGKIYEOK WA HIEUH
+  {0x84B1, 0xAF66}, //635 #HANGUL SYLLABLE SSANGKIYEOK WAE SSANGKIYEOK
+  {0x84B2, 0xAF67}, //636 #HANGUL SYLLABLE SSANGKIYEOK WAE KIYEOKSIOS
+  {0x84B3, 0xAF68}, //637 #HANGUL SYLLABLE SSANGKIYEOK WAE NIEUN
+  {0x84B4, 0xAF69}, //638 #HANGUL SYLLABLE SSANGKIYEOK WAE NIEUNCIEUC
+  {0x84B5, 0xAF6A}, //639 #HANGUL SYLLABLE SSANGKIYEOK WAE NIEUNHIEUH
+  {0x84B6, 0xAF6B}, //640 #HANGUL SYLLABLE SSANGKIYEOK WAE TIKEUT
+  {0x84B7, 0xAF6C}, //641 #HANGUL SYLLABLE SSANGKIYEOK WAE RIEUL
+  {0x84B8, 0xAF6D}, //642 #HANGUL SYLLABLE SSANGKIYEOK WAE RIEULKIYEOK
+  {0x84B9, 0xAF6E}, //643 #HANGUL SYLLABLE SSANGKIYEOK WAE RIEULMIEUM
+  {0x84BA, 0xAF6F}, //644 #HANGUL SYLLABLE SSANGKIYEOK WAE RIEULPIEUP
+  {0x84BB, 0xAF70}, //645 #HANGUL SYLLABLE SSANGKIYEOK WAE RIEULSIOS
+  {0x84BC, 0xAF71}, //646 #HANGUL SYLLABLE SSANGKIYEOK WAE RIEULTHIEUTH
+  {0x84BD, 0xAF72}, //647 #HANGUL SYLLABLE SSANGKIYEOK WAE RIEULPHIEUPH
+  {0x84BE, 0xAF73}, //648 #HANGUL SYLLABLE SSANGKIYEOK WAE RIEULHIEUH
+  {0x84BF, 0xAF74}, //649 #HANGUL SYLLABLE SSANGKIYEOK WAE MIEUM
+  {0x84C0, 0xAF75}, //650 #HANGUL SYLLABLE SSANGKIYEOK WAE PIEUP
+  {0x84C1, 0xAF76}, //651 #HANGUL SYLLABLE SSANGKIYEOK WAE PIEUPSIOS
+  {0x84C2, 0xAF77}, //652 #HANGUL SYLLABLE SSANGKIYEOK WAE SIOS
+  {0x84C3, 0xAF78}, //653 #HANGUL SYLLABLE SSANGKIYEOK WAE SSANGSIOS
+  {0x84C4, 0xAF7A}, //654 #HANGUL SYLLABLE SSANGKIYEOK WAE CIEUC
+  {0x84C5, 0xAF7B}, //655 #HANGUL SYLLABLE SSANGKIYEOK WAE CHIEUCH
+  {0x84C6, 0xAF7C}, //656 #HANGUL SYLLABLE SSANGKIYEOK WAE KHIEUKH
+  {0x84C7, 0xAF7D}, //657 #HANGUL SYLLABLE SSANGKIYEOK WAE THIEUTH
+  {0x84C8, 0xAF7E}, //658 #HANGUL SYLLABLE SSANGKIYEOK WAE PHIEUPH
+  {0x84C9, 0xAF7F}, //659 #HANGUL SYLLABLE SSANGKIYEOK WAE HIEUH
+  {0x84CA, 0xAF81}, //660 #HANGUL SYLLABLE SSANGKIYEOK OE KIYEOK
+  {0x84CB, 0xAF82}, //661 #HANGUL SYLLABLE SSANGKIYEOK OE SSANGKIYEOK
+  {0x84CC, 0xAF83}, //662 #HANGUL SYLLABLE SSANGKIYEOK OE KIYEOKSIOS
+  {0x84CD, 0xAF85}, //663 #HANGUL SYLLABLE SSANGKIYEOK OE NIEUNCIEUC
+  {0x84CE, 0xAF86}, //664 #HANGUL SYLLABLE SSANGKIYEOK OE NIEUNHIEUH
+  {0x84CF, 0xAF87}, //665 #HANGUL SYLLABLE SSANGKIYEOK OE TIKEUT
+  {0x84D0, 0xAF89}, //666 #HANGUL SYLLABLE SSANGKIYEOK OE RIEULKIYEOK
+  {0x84D1, 0xAF8A}, //667 #HANGUL SYLLABLE SSANGKIYEOK OE RIEULMIEUM
+  {0x84D2, 0xAF8B}, //668 #HANGUL SYLLABLE SSANGKIYEOK OE RIEULPIEUP
+  {0x84D3, 0xAF8C}, //669 #HANGUL SYLLABLE SSANGKIYEOK OE RIEULSIOS
+  {0x84D4, 0xAF8D}, //670 #HANGUL SYLLABLE SSANGKIYEOK OE RIEULTHIEUTH
+  {0x84D5, 0xAF8E}, //671 #HANGUL SYLLABLE SSANGKIYEOK OE RIEULPHIEUPH
+  {0x84D6, 0xAF8F}, //672 #HANGUL SYLLABLE SSANGKIYEOK OE RIEULHIEUH
+  {0x84D7, 0xAF92}, //673 #HANGUL SYLLABLE SSANGKIYEOK OE PIEUPSIOS
+  {0x84D8, 0xAF93}, //674 #HANGUL SYLLABLE SSANGKIYEOK OE SIOS
+  {0x84D9, 0xAF94}, //675 #HANGUL SYLLABLE SSANGKIYEOK OE SSANGSIOS
+  {0x84DA, 0xAF96}, //676 #HANGUL SYLLABLE SSANGKIYEOK OE CIEUC
+  {0x84DB, 0xAF97}, //677 #HANGUL SYLLABLE SSANGKIYEOK OE CHIEUCH
+  {0x84DC, 0xAF98}, //678 #HANGUL SYLLABLE SSANGKIYEOK OE KHIEUKH
+  {0x84DD, 0xAF99}, //679 #HANGUL SYLLABLE SSANGKIYEOK OE THIEUTH
+  {0x84DE, 0xAF9A}, //680 #HANGUL SYLLABLE SSANGKIYEOK OE PHIEUPH
+  {0x84DF, 0xAF9B}, //681 #HANGUL SYLLABLE SSANGKIYEOK OE HIEUH
+  {0x84E0, 0xAF9D}, //682 #HANGUL SYLLABLE SSANGKIYEOK YO KIYEOK
+  {0x84E1, 0xAF9E}, //683 #HANGUL SYLLABLE SSANGKIYEOK YO SSANGKIYEOK
+  {0x84E2, 0xAF9F}, //684 #HANGUL SYLLABLE SSANGKIYEOK YO KIYEOKSIOS
+  {0x84E3, 0xAFA0}, //685 #HANGUL SYLLABLE SSANGKIYEOK YO NIEUN
+  {0x84E4, 0xAFA1}, //686 #HANGUL SYLLABLE SSANGKIYEOK YO NIEUNCIEUC
+  {0x84E5, 0xAFA2}, //687 #HANGUL SYLLABLE SSANGKIYEOK YO NIEUNHIEUH
+  {0x84E6, 0xAFA3}, //688 #HANGUL SYLLABLE SSANGKIYEOK YO TIKEUT
+  {0x84E7, 0xAFA4}, //689 #HANGUL SYLLABLE SSANGKIYEOK YO RIEUL
+  {0x84E8, 0xAFA5}, //690 #HANGUL SYLLABLE SSANGKIYEOK YO RIEULKIYEOK
+  {0x84E9, 0xAFA6}, //691 #HANGUL SYLLABLE SSANGKIYEOK YO RIEULMIEUM
+  {0x84EA, 0xAFA7}, //692 #HANGUL SYLLABLE SSANGKIYEOK YO RIEULPIEUP
+  {0x84EB, 0xAFA8}, //693 #HANGUL SYLLABLE SSANGKIYEOK YO RIEULSIOS
+  {0x84EC, 0xAFA9}, //694 #HANGUL SYLLABLE SSANGKIYEOK YO RIEULTHIEUTH
+  {0x84ED, 0xAFAA}, //695 #HANGUL SYLLABLE SSANGKIYEOK YO RIEULPHIEUPH
+  {0x84EE, 0xAFAB}, //696 #HANGUL SYLLABLE SSANGKIYEOK YO RIEULHIEUH
+  {0x84EF, 0xAFAC}, //697 #HANGUL SYLLABLE SSANGKIYEOK YO MIEUM
+  {0x84F0, 0xAFAD}, //698 #HANGUL SYLLABLE SSANGKIYEOK YO PIEUP
+  {0x84F1, 0xAFAE}, //699 #HANGUL SYLLABLE SSANGKIYEOK YO PIEUPSIOS
+  {0x84F2, 0xAFAF}, //700 #HANGUL SYLLABLE SSANGKIYEOK YO SIOS
+  {0x84F3, 0xAFB0}, //701 #HANGUL SYLLABLE SSANGKIYEOK YO SSANGSIOS
+  {0x84F4, 0xAFB1}, //702 #HANGUL SYLLABLE SSANGKIYEOK YO IEUNG
+  {0x84F5, 0xAFB2}, //703 #HANGUL SYLLABLE SSANGKIYEOK YO CIEUC
+  {0x84F6, 0xAFB3}, //704 #HANGUL SYLLABLE SSANGKIYEOK YO CHIEUCH
+  {0x84F7, 0xAFB4}, //705 #HANGUL SYLLABLE SSANGKIYEOK YO KHIEUKH
+  {0x84F8, 0xAFB5}, //706 #HANGUL SYLLABLE SSANGKIYEOK YO THIEUTH
+  {0x84F9, 0xAFB6}, //707 #HANGUL SYLLABLE SSANGKIYEOK YO PHIEUPH
+  {0x84FA, 0xAFB7}, //708 #HANGUL SYLLABLE SSANGKIYEOK YO HIEUH
+  {0x84FB, 0xAFBA}, //709 #HANGUL SYLLABLE SSANGKIYEOK U SSANGKIYEOK
+  {0x84FC, 0xAFBB}, //710 #HANGUL SYLLABLE SSANGKIYEOK U KIYEOKSIOS
+  {0x84FD, 0xAFBD}, //711 #HANGUL SYLLABLE SSANGKIYEOK U NIEUNCIEUC
+  {0x84FE, 0xAFBE}, //712 #HANGUL SYLLABLE SSANGKIYEOK U NIEUNHIEUH
+  {0x8541, 0xAFBF}, //713 #HANGUL SYLLABLE SSANGKIYEOK U TIKEUT
+  {0x8542, 0xAFC1}, //714 #HANGUL SYLLABLE SSANGKIYEOK U RIEULKIYEOK
+  {0x8543, 0xAFC2}, //715 #HANGUL SYLLABLE SSANGKIYEOK U RIEULMIEUM
+  {0x8544, 0xAFC3}, //716 #HANGUL SYLLABLE SSANGKIYEOK U RIEULPIEUP
+  {0x8545, 0xAFC4}, //717 #HANGUL SYLLABLE SSANGKIYEOK U RIEULSIOS
+  {0x8546, 0xAFC5}, //718 #HANGUL SYLLABLE SSANGKIYEOK U RIEULTHIEUTH
+  {0x8547, 0xAFC6}, //719 #HANGUL SYLLABLE SSANGKIYEOK U RIEULPHIEUPH
+  {0x8548, 0xAFCA}, //720 #HANGUL SYLLABLE SSANGKIYEOK U PIEUPSIOS
+  {0x8549, 0xAFCC}, //721 #HANGUL SYLLABLE SSANGKIYEOK U SSANGSIOS
+  {0x854A, 0xAFCF}, //722 #HANGUL SYLLABLE SSANGKIYEOK U CHIEUCH
+  {0x854B, 0xAFD0}, //723 #HANGUL SYLLABLE SSANGKIYEOK U KHIEUKH
+  {0x854C, 0xAFD1}, //724 #HANGUL SYLLABLE SSANGKIYEOK U THIEUTH
+  {0x854D, 0xAFD2}, //725 #HANGUL SYLLABLE SSANGKIYEOK U PHIEUPH
+  {0x854E, 0xAFD3}, //726 #HANGUL SYLLABLE SSANGKIYEOK U HIEUH
+  {0x854F, 0xAFD5}, //727 #HANGUL SYLLABLE SSANGKIYEOK WEO KIYEOK
+  {0x8550, 0xAFD6}, //728 #HANGUL SYLLABLE SSANGKIYEOK WEO SSANGKIYEOK
+  {0x8551, 0xAFD7}, //729 #HANGUL SYLLABLE SSANGKIYEOK WEO KIYEOKSIOS
+  {0x8552, 0xAFD8}, //730 #HANGUL SYLLABLE SSANGKIYEOK WEO NIEUN
+  {0x8553, 0xAFD9}, //731 #HANGUL SYLLABLE SSANGKIYEOK WEO NIEUNCIEUC
+  {0x8554, 0xAFDA}, //732 #HANGUL SYLLABLE SSANGKIYEOK WEO NIEUNHIEUH
+  {0x8555, 0xAFDB}, //733 #HANGUL SYLLABLE SSANGKIYEOK WEO TIKEUT
+  {0x8556, 0xAFDD}, //734 #HANGUL SYLLABLE SSANGKIYEOK WEO RIEULKIYEOK
+  {0x8557, 0xAFDE}, //735 #HANGUL SYLLABLE SSANGKIYEOK WEO RIEULMIEUM
+  {0x8558, 0xAFDF}, //736 #HANGUL SYLLABLE SSANGKIYEOK WEO RIEULPIEUP
+  {0x8559, 0xAFE0}, //737 #HANGUL SYLLABLE SSANGKIYEOK WEO RIEULSIOS
+  {0x855A, 0xAFE1}, //738 #HANGUL SYLLABLE SSANGKIYEOK WEO RIEULTHIEUTH
+  {0x8561, 0xAFE2}, //739 #HANGUL SYLLABLE SSANGKIYEOK WEO RIEULPHIEUPH
+  {0x8562, 0xAFE3}, //740 #HANGUL SYLLABLE SSANGKIYEOK WEO RIEULHIEUH
+  {0x8563, 0xAFE4}, //741 #HANGUL SYLLABLE SSANGKIYEOK WEO MIEUM
+  {0x8564, 0xAFE5}, //742 #HANGUL SYLLABLE SSANGKIYEOK WEO PIEUP
+  {0x8565, 0xAFE6}, //743 #HANGUL SYLLABLE SSANGKIYEOK WEO PIEUPSIOS
+  {0x8566, 0xAFE7}, //744 #HANGUL SYLLABLE SSANGKIYEOK WEO SIOS
+  {0x8567, 0xAFEA}, //745 #HANGUL SYLLABLE SSANGKIYEOK WEO CIEUC
+  {0x8568, 0xAFEB}, //746 #HANGUL SYLLABLE SSANGKIYEOK WEO CHIEUCH
+  {0x8569, 0xAFEC}, //747 #HANGUL SYLLABLE SSANGKIYEOK WEO KHIEUKH
+  {0x856A, 0xAFED}, //748 #HANGUL SYLLABLE SSANGKIYEOK WEO THIEUTH
+  {0x856B, 0xAFEE}, //749 #HANGUL SYLLABLE SSANGKIYEOK WEO PHIEUPH
+  {0x856C, 0xAFEF}, //750 #HANGUL SYLLABLE SSANGKIYEOK WEO HIEUH
+  {0x856D, 0xAFF2}, //751 #HANGUL SYLLABLE SSANGKIYEOK WE SSANGKIYEOK
+  {0x856E, 0xAFF3}, //752 #HANGUL SYLLABLE SSANGKIYEOK WE KIYEOKSIOS
+  {0x856F, 0xAFF5}, //753 #HANGUL SYLLABLE SSANGKIYEOK WE NIEUNCIEUC
+  {0x8570, 0xAFF6}, //754 #HANGUL SYLLABLE SSANGKIYEOK WE NIEUNHIEUH
+  {0x8571, 0xAFF7}, //755 #HANGUL SYLLABLE SSANGKIYEOK WE TIKEUT
+  {0x8572, 0xAFF9}, //756 #HANGUL SYLLABLE SSANGKIYEOK WE RIEULKIYEOK
+  {0x8573, 0xAFFA}, //757 #HANGUL SYLLABLE SSANGKIYEOK WE RIEULMIEUM
+  {0x8574, 0xAFFB}, //758 #HANGUL SYLLABLE SSANGKIYEOK WE RIEULPIEUP
+  {0x8575, 0xAFFC}, //759 #HANGUL SYLLABLE SSANGKIYEOK WE RIEULSIOS
+  {0x8576, 0xAFFD}, //760 #HANGUL SYLLABLE SSANGKIYEOK WE RIEULTHIEUTH
+  {0x8577, 0xAFFE}, //761 #HANGUL SYLLABLE SSANGKIYEOK WE RIEULPHIEUPH
+  {0x8578, 0xAFFF}, //762 #HANGUL SYLLABLE SSANGKIYEOK WE RIEULHIEUH
+  {0x8579, 0xB002}, //763 #HANGUL SYLLABLE SSANGKIYEOK WE PIEUPSIOS
+  {0x857A, 0xB003}, //764 #HANGUL SYLLABLE SSANGKIYEOK WE SIOS
+  {0x8581, 0xB005}, //765 #HANGUL SYLLABLE SSANGKIYEOK WE IEUNG
+  {0x8582, 0xB006}, //766 #HANGUL SYLLABLE SSANGKIYEOK WE CIEUC
+  {0x8583, 0xB007}, //767 #HANGUL SYLLABLE SSANGKIYEOK WE CHIEUCH
+  {0x8584, 0xB008}, //768 #HANGUL SYLLABLE SSANGKIYEOK WE KHIEUKH
+  {0x8585, 0xB009}, //769 #HANGUL SYLLABLE SSANGKIYEOK WE THIEUTH
+  {0x8586, 0xB00A}, //770 #HANGUL SYLLABLE SSANGKIYEOK WE PHIEUPH
+  {0x8587, 0xB00B}, //771 #HANGUL SYLLABLE SSANGKIYEOK WE HIEUH
+  {0x8588, 0xB00D}, //772 #HANGUL SYLLABLE SSANGKIYEOK WI KIYEOK
+  {0x8589, 0xB00E}, //773 #HANGUL SYLLABLE SSANGKIYEOK WI SSANGKIYEOK
+  {0x858A, 0xB00F}, //774 #HANGUL SYLLABLE SSANGKIYEOK WI KIYEOKSIOS
+  {0x858B, 0xB011}, //775 #HANGUL SYLLABLE SSANGKIYEOK WI NIEUNCIEUC
+  {0x858C, 0xB012}, //776 #HANGUL SYLLABLE SSANGKIYEOK WI NIEUNHIEUH
+  {0x858D, 0xB013}, //777 #HANGUL SYLLABLE SSANGKIYEOK WI TIKEUT
+  {0x858E, 0xB015}, //778 #HANGUL SYLLABLE SSANGKIYEOK WI RIEULKIYEOK
+  {0x858F, 0xB016}, //779 #HANGUL SYLLABLE SSANGKIYEOK WI RIEULMIEUM
+  {0x8590, 0xB017}, //780 #HANGUL SYLLABLE SSANGKIYEOK WI RIEULPIEUP
+  {0x8591, 0xB018}, //781 #HANGUL SYLLABLE SSANGKIYEOK WI RIEULSIOS
+  {0x8592, 0xB019}, //782 #HANGUL SYLLABLE SSANGKIYEOK WI RIEULTHIEUTH
+  {0x8593, 0xB01A}, //783 #HANGUL SYLLABLE SSANGKIYEOK WI RIEULPHIEUPH
+  {0x8594, 0xB01B}, //784 #HANGUL SYLLABLE SSANGKIYEOK WI RIEULHIEUH
+  {0x8595, 0xB01E}, //785 #HANGUL SYLLABLE SSANGKIYEOK WI PIEUPSIOS
+  {0x8596, 0xB01F}, //786 #HANGUL SYLLABLE SSANGKIYEOK WI SIOS
+  {0x8597, 0xB020}, //787 #HANGUL SYLLABLE SSANGKIYEOK WI SSANGSIOS
+  {0x8598, 0xB021}, //788 #HANGUL SYLLABLE SSANGKIYEOK WI IEUNG
+  {0x8599, 0xB022}, //789 #HANGUL SYLLABLE SSANGKIYEOK WI CIEUC
+  {0x859A, 0xB023}, //790 #HANGUL SYLLABLE SSANGKIYEOK WI CHIEUCH
+  {0x859B, 0xB024}, //791 #HANGUL SYLLABLE SSANGKIYEOK WI KHIEUKH
+  {0x859C, 0xB025}, //792 #HANGUL SYLLABLE SSANGKIYEOK WI THIEUTH
+  {0x859D, 0xB026}, //793 #HANGUL SYLLABLE SSANGKIYEOK WI PHIEUPH
+  {0x859E, 0xB027}, //794 #HANGUL SYLLABLE SSANGKIYEOK WI HIEUH
+  {0x859F, 0xB029}, //795 #HANGUL SYLLABLE SSANGKIYEOK YU KIYEOK
+  {0x85A0, 0xB02A}, //796 #HANGUL SYLLABLE SSANGKIYEOK YU SSANGKIYEOK
+  {0x85A1, 0xB02B}, //797 #HANGUL SYLLABLE SSANGKIYEOK YU KIYEOKSIOS
+  {0x85A2, 0xB02C}, //798 #HANGUL SYLLABLE SSANGKIYEOK YU NIEUN
+  {0x85A3, 0xB02D}, //799 #HANGUL SYLLABLE SSANGKIYEOK YU NIEUNCIEUC
+  {0x85A4, 0xB02E}, //800 #HANGUL SYLLABLE SSANGKIYEOK YU NIEUNHIEUH
+  {0x85A5, 0xB02F}, //801 #HANGUL SYLLABLE SSANGKIYEOK YU TIKEUT
+  {0x85A6, 0xB030}, //802 #HANGUL SYLLABLE SSANGKIYEOK YU RIEUL
+  {0x85A7, 0xB031}, //803 #HANGUL SYLLABLE SSANGKIYEOK YU RIEULKIYEOK
+  {0x85A8, 0xB032}, //804 #HANGUL SYLLABLE SSANGKIYEOK YU RIEULMIEUM
+  {0x85A9, 0xB033}, //805 #HANGUL SYLLABLE SSANGKIYEOK YU RIEULPIEUP
+  {0x85AA, 0xB034}, //806 #HANGUL SYLLABLE SSANGKIYEOK YU RIEULSIOS
+  {0x85AB, 0xB035}, //807 #HANGUL SYLLABLE SSANGKIYEOK YU RIEULTHIEUTH
+  {0x85AC, 0xB036}, //808 #HANGUL SYLLABLE SSANGKIYEOK YU RIEULPHIEUPH
+  {0x85AD, 0xB037}, //809 #HANGUL SYLLABLE SSANGKIYEOK YU RIEULHIEUH
+  {0x85AE, 0xB038}, //810 #HANGUL SYLLABLE SSANGKIYEOK YU MIEUM
+  {0x85AF, 0xB039}, //811 #HANGUL SYLLABLE SSANGKIYEOK YU PIEUP
+  {0x85B0, 0xB03A}, //812 #HANGUL SYLLABLE SSANGKIYEOK YU PIEUPSIOS
+  {0x85B1, 0xB03B}, //813 #HANGUL SYLLABLE SSANGKIYEOK YU SIOS
+  {0x85B2, 0xB03C}, //814 #HANGUL SYLLABLE SSANGKIYEOK YU SSANGSIOS
+  {0x85B3, 0xB03D}, //815 #HANGUL SYLLABLE SSANGKIYEOK YU IEUNG
+  {0x85B4, 0xB03E}, //816 #HANGUL SYLLABLE SSANGKIYEOK YU CIEUC
+  {0x85B5, 0xB03F}, //817 #HANGUL SYLLABLE SSANGKIYEOK YU CHIEUCH
+  {0x85B6, 0xB040}, //818 #HANGUL SYLLABLE SSANGKIYEOK YU KHIEUKH
+  {0x85B7, 0xB041}, //819 #HANGUL SYLLABLE SSANGKIYEOK YU THIEUTH
+  {0x85B8, 0xB042}, //820 #HANGUL SYLLABLE SSANGKIYEOK YU PHIEUPH
+  {0x85B9, 0xB043}, //821 #HANGUL SYLLABLE SSANGKIYEOK YU HIEUH
+  {0x85BA, 0xB046}, //822 #HANGUL SYLLABLE SSANGKIYEOK EU SSANGKIYEOK
+  {0x85BB, 0xB047}, //823 #HANGUL SYLLABLE SSANGKIYEOK EU KIYEOKSIOS
+  {0x85BC, 0xB049}, //824 #HANGUL SYLLABLE SSANGKIYEOK EU NIEUNCIEUC
+  {0x85BD, 0xB04B}, //825 #HANGUL SYLLABLE SSANGKIYEOK EU TIKEUT
+  {0x85BE, 0xB04D}, //826 #HANGUL SYLLABLE SSANGKIYEOK EU RIEULKIYEOK
+  {0x85BF, 0xB04F}, //827 #HANGUL SYLLABLE SSANGKIYEOK EU RIEULPIEUP
+  {0x85C0, 0xB050}, //828 #HANGUL SYLLABLE SSANGKIYEOK EU RIEULSIOS
+  {0x85C1, 0xB051}, //829 #HANGUL SYLLABLE SSANGKIYEOK EU RIEULTHIEUTH
+  {0x85C2, 0xB052}, //830 #HANGUL SYLLABLE SSANGKIYEOK EU RIEULPHIEUPH
+  {0x85C3, 0xB056}, //831 #HANGUL SYLLABLE SSANGKIYEOK EU PIEUPSIOS
+  {0x85C4, 0xB058}, //832 #HANGUL SYLLABLE SSANGKIYEOK EU SSANGSIOS
+  {0x85C5, 0xB05A}, //833 #HANGUL SYLLABLE SSANGKIYEOK EU CIEUC
+  {0x85C6, 0xB05B}, //834 #HANGUL SYLLABLE SSANGKIYEOK EU CHIEUCH
+  {0x85C7, 0xB05C}, //835 #HANGUL SYLLABLE SSANGKIYEOK EU KHIEUKH
+  {0x85C8, 0xB05E}, //836 #HANGUL SYLLABLE SSANGKIYEOK EU PHIEUPH
+  {0x85C9, 0xB05F}, //837 #HANGUL SYLLABLE SSANGKIYEOK EU HIEUH
+  {0x85CA, 0xB060}, //838 #HANGUL SYLLABLE SSANGKIYEOK YI
+  {0x85CB, 0xB061}, //839 #HANGUL SYLLABLE SSANGKIYEOK YI KIYEOK
+  {0x85CC, 0xB062}, //840 #HANGUL SYLLABLE SSANGKIYEOK YI SSANGKIYEOK
+  {0x85CD, 0xB063}, //841 #HANGUL SYLLABLE SSANGKIYEOK YI KIYEOKSIOS
+  {0x85CE, 0xB064}, //842 #HANGUL SYLLABLE SSANGKIYEOK YI NIEUN
+  {0x85CF, 0xB065}, //843 #HANGUL SYLLABLE SSANGKIYEOK YI NIEUNCIEUC
+  {0x85D0, 0xB066}, //844 #HANGUL SYLLABLE SSANGKIYEOK YI NIEUNHIEUH
+  {0x85D1, 0xB067}, //845 #HANGUL SYLLABLE SSANGKIYEOK YI TIKEUT
+  {0x85D2, 0xB068}, //846 #HANGUL SYLLABLE SSANGKIYEOK YI RIEUL
+  {0x85D3, 0xB069}, //847 #HANGUL SYLLABLE SSANGKIYEOK YI RIEULKIYEOK
+  {0x85D4, 0xB06A}, //848 #HANGUL SYLLABLE SSANGKIYEOK YI RIEULMIEUM
+  {0x85D5, 0xB06B}, //849 #HANGUL SYLLABLE SSANGKIYEOK YI RIEULPIEUP
+  {0x85D6, 0xB06C}, //850 #HANGUL SYLLABLE SSANGKIYEOK YI RIEULSIOS
+  {0x85D7, 0xB06D}, //851 #HANGUL SYLLABLE SSANGKIYEOK YI RIEULTHIEUTH
+  {0x85D8, 0xB06E}, //852 #HANGUL SYLLABLE SSANGKIYEOK YI RIEULPHIEUPH
+  {0x85D9, 0xB06F}, //853 #HANGUL SYLLABLE SSANGKIYEOK YI RIEULHIEUH
+  {0x85DA, 0xB070}, //854 #HANGUL SYLLABLE SSANGKIYEOK YI MIEUM
+  {0x85DB, 0xB071}, //855 #HANGUL SYLLABLE SSANGKIYEOK YI PIEUP
+  {0x85DC, 0xB072}, //856 #HANGUL SYLLABLE SSANGKIYEOK YI PIEUPSIOS
+  {0x85DD, 0xB073}, //857 #HANGUL SYLLABLE SSANGKIYEOK YI SIOS
+  {0x85DE, 0xB074}, //858 #HANGUL SYLLABLE SSANGKIYEOK YI SSANGSIOS
+  {0x85DF, 0xB075}, //859 #HANGUL SYLLABLE SSANGKIYEOK YI IEUNG
+  {0x85E0, 0xB076}, //860 #HANGUL SYLLABLE SSANGKIYEOK YI CIEUC
+  {0x85E1, 0xB077}, //861 #HANGUL SYLLABLE SSANGKIYEOK YI CHIEUCH
+  {0x85E2, 0xB078}, //862 #HANGUL SYLLABLE SSANGKIYEOK YI KHIEUKH
+  {0x85E3, 0xB079}, //863 #HANGUL SYLLABLE SSANGKIYEOK YI THIEUTH
+  {0x85E4, 0xB07A}, //864 #HANGUL SYLLABLE SSANGKIYEOK YI PHIEUPH
+  {0x85E5, 0xB07B}, //865 #HANGUL SYLLABLE SSANGKIYEOK YI HIEUH
+  {0x85E6, 0xB07E}, //866 #HANGUL SYLLABLE SSANGKIYEOK I SSANGKIYEOK
+  {0x85E7, 0xB07F}, //867 #HANGUL SYLLABLE SSANGKIYEOK I KIYEOKSIOS
+  {0x85E8, 0xB081}, //868 #HANGUL SYLLABLE SSANGKIYEOK I NIEUNCIEUC
+  {0x85E9, 0xB082}, //869 #HANGUL SYLLABLE SSANGKIYEOK I NIEUNHIEUH
+  {0x85EA, 0xB083}, //870 #HANGUL SYLLABLE SSANGKIYEOK I TIKEUT
+  {0x85EB, 0xB085}, //871 #HANGUL SYLLABLE SSANGKIYEOK I RIEULKIYEOK
+  {0x85EC, 0xB086}, //872 #HANGUL SYLLABLE SSANGKIYEOK I RIEULMIEUM
+  {0x85ED, 0xB087}, //873 #HANGUL SYLLABLE SSANGKIYEOK I RIEULPIEUP
+  {0x85EE, 0xB088}, //874 #HANGUL SYLLABLE SSANGKIYEOK I RIEULSIOS
+  {0x85EF, 0xB089}, //875 #HANGUL SYLLABLE SSANGKIYEOK I RIEULTHIEUTH
+  {0x85F0, 0xB08A}, //876 #HANGUL SYLLABLE SSANGKIYEOK I RIEULPHIEUPH
+  {0x85F1, 0xB08B}, //877 #HANGUL SYLLABLE SSANGKIYEOK I RIEULHIEUH
+  {0x85F2, 0xB08E}, //878 #HANGUL SYLLABLE SSANGKIYEOK I PIEUPSIOS
+  {0x85F3, 0xB090}, //879 #HANGUL SYLLABLE SSANGKIYEOK I SSANGSIOS
+  {0x85F4, 0xB092}, //880 #HANGUL SYLLABLE SSANGKIYEOK I CIEUC
+  {0x85F5, 0xB093}, //881 #HANGUL SYLLABLE SSANGKIYEOK I CHIEUCH
+  {0x85F6, 0xB094}, //882 #HANGUL SYLLABLE SSANGKIYEOK I KHIEUKH
+  {0x85F7, 0xB095}, //883 #HANGUL SYLLABLE SSANGKIYEOK I THIEUTH
+  {0x85F8, 0xB096}, //884 #HANGUL SYLLABLE SSANGKIYEOK I PHIEUPH
+  {0x85F9, 0xB097}, //885 #HANGUL SYLLABLE SSANGKIYEOK I HIEUH
+  {0x85FA, 0xB09B}, //886 #HANGUL SYLLABLE NIEUN A KIYEOKSIOS
+  {0x85FB, 0xB09D}, //887 #HANGUL SYLLABLE NIEUN A NIEUNCIEUC
+  {0x85FC, 0xB09E}, //888 #HANGUL SYLLABLE NIEUN A NIEUNHIEUH
+  {0x85FD, 0xB0A3}, //889 #HANGUL SYLLABLE NIEUN A RIEULPIEUP
+  {0x85FE, 0xB0A4}, //890 #HANGUL SYLLABLE NIEUN A RIEULSIOS
+  {0x8641, 0xB0A5}, //891 #HANGUL SYLLABLE NIEUN A RIEULTHIEUTH
+  {0x8642, 0xB0A6}, //892 #HANGUL SYLLABLE NIEUN A RIEULPHIEUPH
+  {0x8643, 0xB0A7}, //893 #HANGUL SYLLABLE NIEUN A RIEULHIEUH
+  {0x8644, 0xB0AA}, //894 #HANGUL SYLLABLE NIEUN A PIEUPSIOS
+  {0x8645, 0xB0B0}, //895 #HANGUL SYLLABLE NIEUN A KHIEUKH
+  {0x8646, 0xB0B2}, //896 #HANGUL SYLLABLE NIEUN A PHIEUPH
+  {0x8647, 0xB0B6}, //897 #HANGUL SYLLABLE NIEUN AE SSANGKIYEOK
+  {0x8648, 0xB0B7}, //898 #HANGUL SYLLABLE NIEUN AE KIYEOKSIOS
+  {0x8649, 0xB0B9}, //899 #HANGUL SYLLABLE NIEUN AE NIEUNCIEUC
+  {0x864A, 0xB0BA}, //900 #HANGUL SYLLABLE NIEUN AE NIEUNHIEUH
+  {0x864B, 0xB0BB}, //901 #HANGUL SYLLABLE NIEUN AE TIKEUT
+  {0x864C, 0xB0BD}, //902 #HANGUL SYLLABLE NIEUN AE RIEULKIYEOK
+  {0x864D, 0xB0BE}, //903 #HANGUL SYLLABLE NIEUN AE RIEULMIEUM
+  {0x864E, 0xB0BF}, //904 #HANGUL SYLLABLE NIEUN AE RIEULPIEUP
+  {0x864F, 0xB0C0}, //905 #HANGUL SYLLABLE NIEUN AE RIEULSIOS
+  {0x8650, 0xB0C1}, //906 #HANGUL SYLLABLE NIEUN AE RIEULTHIEUTH
+  {0x8651, 0xB0C2}, //907 #HANGUL SYLLABLE NIEUN AE RIEULPHIEUPH
+  {0x8652, 0xB0C3}, //908 #HANGUL SYLLABLE NIEUN AE RIEULHIEUH
+  {0x8653, 0xB0C6}, //909 #HANGUL SYLLABLE NIEUN AE PIEUPSIOS
+  {0x8654, 0xB0CA}, //910 #HANGUL SYLLABLE NIEUN AE CIEUC
+  {0x8655, 0xB0CB}, //911 #HANGUL SYLLABLE NIEUN AE CHIEUCH
+  {0x8656, 0xB0CC}, //912 #HANGUL SYLLABLE NIEUN AE KHIEUKH
+  {0x8657, 0xB0CD}, //913 #HANGUL SYLLABLE NIEUN AE THIEUTH
+  {0x8658, 0xB0CE}, //914 #HANGUL SYLLABLE NIEUN AE PHIEUPH
+  {0x8659, 0xB0CF}, //915 #HANGUL SYLLABLE NIEUN AE HIEUH
+  {0x865A, 0xB0D2}, //916 #HANGUL SYLLABLE NIEUN YA SSANGKIYEOK
+  {0x8661, 0xB0D3}, //917 #HANGUL SYLLABLE NIEUN YA KIYEOKSIOS
+  {0x8662, 0xB0D5}, //918 #HANGUL SYLLABLE NIEUN YA NIEUNCIEUC
+  {0x8663, 0xB0D6}, //919 #HANGUL SYLLABLE NIEUN YA NIEUNHIEUH
+  {0x8664, 0xB0D7}, //920 #HANGUL SYLLABLE NIEUN YA TIKEUT
+  {0x8665, 0xB0D9}, //921 #HANGUL SYLLABLE NIEUN YA RIEULKIYEOK
+  {0x8666, 0xB0DA}, //922 #HANGUL SYLLABLE NIEUN YA RIEULMIEUM
+  {0x8667, 0xB0DB}, //923 #HANGUL SYLLABLE NIEUN YA RIEULPIEUP
+  {0x8668, 0xB0DC}, //924 #HANGUL SYLLABLE NIEUN YA RIEULSIOS
+  {0x8669, 0xB0DD}, //925 #HANGUL SYLLABLE NIEUN YA RIEULTHIEUTH
+  {0x866A, 0xB0DE}, //926 #HANGUL SYLLABLE NIEUN YA RIEULPHIEUPH
+  {0x866B, 0xB0DF}, //927 #HANGUL SYLLABLE NIEUN YA RIEULHIEUH
+  {0x866C, 0xB0E1}, //928 #HANGUL SYLLABLE NIEUN YA PIEUP
+  {0x866D, 0xB0E2}, //929 #HANGUL SYLLABLE NIEUN YA PIEUPSIOS
+  {0x866E, 0xB0E3}, //930 #HANGUL SYLLABLE NIEUN YA SIOS
+  {0x866F, 0xB0E4}, //931 #HANGUL SYLLABLE NIEUN YA SSANGSIOS
+  {0x8670, 0xB0E6}, //932 #HANGUL SYLLABLE NIEUN YA CIEUC
+  {0x8671, 0xB0E7}, //933 #HANGUL SYLLABLE NIEUN YA CHIEUCH
+  {0x8672, 0xB0E8}, //934 #HANGUL SYLLABLE NIEUN YA KHIEUKH
+  {0x8673, 0xB0E9}, //935 #HANGUL SYLLABLE NIEUN YA THIEUTH
+  {0x8674, 0xB0EA}, //936 #HANGUL SYLLABLE NIEUN YA PHIEUPH
+  {0x8675, 0xB0EB}, //937 #HANGUL SYLLABLE NIEUN YA HIEUH
+  {0x8676, 0xB0EC}, //938 #HANGUL SYLLABLE NIEUN YAE
+  {0x8677, 0xB0ED}, //939 #HANGUL SYLLABLE NIEUN YAE KIYEOK
+  {0x8678, 0xB0EE}, //940 #HANGUL SYLLABLE NIEUN YAE SSANGKIYEOK
+  {0x8679, 0xB0EF}, //941 #HANGUL SYLLABLE NIEUN YAE KIYEOKSIOS
+  {0x867A, 0xB0F0}, //942 #HANGUL SYLLABLE NIEUN YAE NIEUN
+  {0x8681, 0xB0F1}, //943 #HANGUL SYLLABLE NIEUN YAE NIEUNCIEUC
+  {0x8682, 0xB0F2}, //944 #HANGUL SYLLABLE NIEUN YAE NIEUNHIEUH
+  {0x8683, 0xB0F3}, //945 #HANGUL SYLLABLE NIEUN YAE TIKEUT
+  {0x8684, 0xB0F4}, //946 #HANGUL SYLLABLE NIEUN YAE RIEUL
+  {0x8685, 0xB0F5}, //947 #HANGUL SYLLABLE NIEUN YAE RIEULKIYEOK
+  {0x8686, 0xB0F6}, //948 #HANGUL SYLLABLE NIEUN YAE RIEULMIEUM
+  {0x8687, 0xB0F7}, //949 #HANGUL SYLLABLE NIEUN YAE RIEULPIEUP
+  {0x8688, 0xB0F8}, //950 #HANGUL SYLLABLE NIEUN YAE RIEULSIOS
+  {0x8689, 0xB0F9}, //951 #HANGUL SYLLABLE NIEUN YAE RIEULTHIEUTH
+  {0x868A, 0xB0FA}, //952 #HANGUL SYLLABLE NIEUN YAE RIEULPHIEUPH
+  {0x868B, 0xB0FB}, //953 #HANGUL SYLLABLE NIEUN YAE RIEULHIEUH
+  {0x868C, 0xB0FC}, //954 #HANGUL SYLLABLE NIEUN YAE MIEUM
+  {0x868D, 0xB0FD}, //955 #HANGUL SYLLABLE NIEUN YAE PIEUP
+  {0x868E, 0xB0FE}, //956 #HANGUL SYLLABLE NIEUN YAE PIEUPSIOS
+  {0x868F, 0xB0FF}, //957 #HANGUL SYLLABLE NIEUN YAE SIOS
+  {0x8690, 0xB100}, //958 #HANGUL SYLLABLE NIEUN YAE SSANGSIOS
+  {0x8691, 0xB101}, //959 #HANGUL SYLLABLE NIEUN YAE IEUNG
+  {0x8692, 0xB102}, //960 #HANGUL SYLLABLE NIEUN YAE CIEUC
+  {0x8693, 0xB103}, //961 #HANGUL SYLLABLE NIEUN YAE CHIEUCH
+  {0x8694, 0xB104}, //962 #HANGUL SYLLABLE NIEUN YAE KHIEUKH
+  {0x8695, 0xB105}, //963 #HANGUL SYLLABLE NIEUN YAE THIEUTH
+  {0x8696, 0xB106}, //964 #HANGUL SYLLABLE NIEUN YAE PHIEUPH
+  {0x8697, 0xB107}, //965 #HANGUL SYLLABLE NIEUN YAE HIEUH
+  {0x8698, 0xB10A}, //966 #HANGUL SYLLABLE NIEUN EO SSANGKIYEOK
+  {0x8699, 0xB10D}, //967 #HANGUL SYLLABLE NIEUN EO NIEUNCIEUC
+  {0x869A, 0xB10E}, //968 #HANGUL SYLLABLE NIEUN EO NIEUNHIEUH
+  {0x869B, 0xB10F}, //969 #HANGUL SYLLABLE NIEUN EO TIKEUT
+  {0x869C, 0xB111}, //970 #HANGUL SYLLABLE NIEUN EO RIEULKIYEOK
+  {0x869D, 0xB114}, //971 #HANGUL SYLLABLE NIEUN EO RIEULSIOS
+  {0x869E, 0xB115}, //972 #HANGUL SYLLABLE NIEUN EO RIEULTHIEUTH
+  {0x869F, 0xB116}, //973 #HANGUL SYLLABLE NIEUN EO RIEULPHIEUPH
+  {0x86A0, 0xB117}, //974 #HANGUL SYLLABLE NIEUN EO RIEULHIEUH
+  {0x86A1, 0xB11A}, //975 #HANGUL SYLLABLE NIEUN EO PIEUPSIOS
+  {0x86A2, 0xB11E}, //976 #HANGUL SYLLABLE NIEUN EO CIEUC
+  {0x86A3, 0xB11F}, //977 #HANGUL SYLLABLE NIEUN EO CHIEUCH
+  {0x86A4, 0xB120}, //978 #HANGUL SYLLABLE NIEUN EO KHIEUKH
+  {0x86A5, 0xB121}, //979 #HANGUL SYLLABLE NIEUN EO THIEUTH
+  {0x86A6, 0xB122}, //980 #HANGUL SYLLABLE NIEUN EO PHIEUPH
+  {0x86A7, 0xB126}, //981 #HANGUL SYLLABLE NIEUN E SSANGKIYEOK
+  {0x86A8, 0xB127}, //982 #HANGUL SYLLABLE NIEUN E KIYEOKSIOS
+  {0x86A9, 0xB129}, //983 #HANGUL SYLLABLE NIEUN E NIEUNCIEUC
+  {0x86AA, 0xB12A}, //984 #HANGUL SYLLABLE NIEUN E NIEUNHIEUH
+  {0x86AB, 0xB12B}, //985 #HANGUL SYLLABLE NIEUN E TIKEUT
+  {0x86AC, 0xB12D}, //986 #HANGUL SYLLABLE NIEUN E RIEULKIYEOK
+  {0x86AD, 0xB12E}, //987 #HANGUL SYLLABLE NIEUN E RIEULMIEUM
+  {0x86AE, 0xB12F}, //988 #HANGUL SYLLABLE NIEUN E RIEULPIEUP
+  {0x86AF, 0xB130}, //989 #HANGUL SYLLABLE NIEUN E RIEULSIOS
+  {0x86B0, 0xB131}, //990 #HANGUL SYLLABLE NIEUN E RIEULTHIEUTH
+  {0x86B1, 0xB132}, //991 #HANGUL SYLLABLE NIEUN E RIEULPHIEUPH
+  {0x86B2, 0xB133}, //992 #HANGUL SYLLABLE NIEUN E RIEULHIEUH
+  {0x86B3, 0xB136}, //993 #HANGUL SYLLABLE NIEUN E PIEUPSIOS
+  {0x86B4, 0xB13A}, //994 #HANGUL SYLLABLE NIEUN E CIEUC
+  {0x86B5, 0xB13B}, //995 #HANGUL SYLLABLE NIEUN E CHIEUCH
+  {0x86B6, 0xB13C}, //996 #HANGUL SYLLABLE NIEUN E KHIEUKH
+  {0x86B7, 0xB13D}, //997 #HANGUL SYLLABLE NIEUN E THIEUTH
+  {0x86B8, 0xB13E}, //998 #HANGUL SYLLABLE NIEUN E PHIEUPH
+  {0x86B9, 0xB13F}, //999 #HANGUL SYLLABLE NIEUN E HIEUH
+  {0x86BA, 0xB142}, //1000 #HANGUL SYLLABLE NIEUN YEO SSANGKIYEOK
+  {0x86BB, 0xB143}, //1001 #HANGUL SYLLABLE NIEUN YEO KIYEOKSIOS
+  {0x86BC, 0xB145}, //1002 #HANGUL SYLLABLE NIEUN YEO NIEUNCIEUC
+  {0x86BD, 0xB146}, //1003 #HANGUL SYLLABLE NIEUN YEO NIEUNHIEUH
+  {0x86BE, 0xB147}, //1004 #HANGUL SYLLABLE NIEUN YEO TIKEUT
+  {0x86BF, 0xB149}, //1005 #HANGUL SYLLABLE NIEUN YEO RIEULKIYEOK
+  {0x86C0, 0xB14A}, //1006 #HANGUL SYLLABLE NIEUN YEO RIEULMIEUM
+  {0x86C1, 0xB14B}, //1007 #HANGUL SYLLABLE NIEUN YEO RIEULPIEUP
+  {0x86C2, 0xB14C}, //1008 #HANGUL SYLLABLE NIEUN YEO RIEULSIOS
+  {0x86C3, 0xB14D}, //1009 #HANGUL SYLLABLE NIEUN YEO RIEULTHIEUTH
+  {0x86C4, 0xB14E}, //1010 #HANGUL SYLLABLE NIEUN YEO RIEULPHIEUPH
+  {0x86C5, 0xB14F}, //1011 #HANGUL SYLLABLE NIEUN YEO RIEULHIEUH
+  {0x86C6, 0xB152}, //1012 #HANGUL SYLLABLE NIEUN YEO PIEUPSIOS
+  {0x86C7, 0xB153}, //1013 #HANGUL SYLLABLE NIEUN YEO SIOS
+  {0x86C8, 0xB156}, //1014 #HANGUL SYLLABLE NIEUN YEO CIEUC
+  {0x86C9, 0xB157}, //1015 #HANGUL SYLLABLE NIEUN YEO CHIEUCH
+  {0x86CA, 0xB159}, //1016 #HANGUL SYLLABLE NIEUN YEO THIEUTH
+  {0x86CB, 0xB15A}, //1017 #HANGUL SYLLABLE NIEUN YEO PHIEUPH
+  {0x86CC, 0xB15B}, //1018 #HANGUL SYLLABLE NIEUN YEO HIEUH
+  {0x86CD, 0xB15D}, //1019 #HANGUL SYLLABLE NIEUN YE KIYEOK
+  {0x86CE, 0xB15E}, //1020 #HANGUL SYLLABLE NIEUN YE SSANGKIYEOK
+  {0x86CF, 0xB15F}, //1021 #HANGUL SYLLABLE NIEUN YE KIYEOKSIOS
+  {0x86D0, 0xB161}, //1022 #HANGUL SYLLABLE NIEUN YE NIEUNCIEUC
+  {0x86D1, 0xB162}, //1023 #HANGUL SYLLABLE NIEUN YE NIEUNHIEUH
+  {0x86D2, 0xB163}, //1024 #HANGUL SYLLABLE NIEUN YE TIKEUT
+  {0x86D3, 0xB164}, //1025 #HANGUL SYLLABLE NIEUN YE RIEUL
+  {0x86D4, 0xB165}, //1026 #HANGUL SYLLABLE NIEUN YE RIEULKIYEOK
+  {0x86D5, 0xB166}, //1027 #HANGUL SYLLABLE NIEUN YE RIEULMIEUM
+  {0x86D6, 0xB167}, //1028 #HANGUL SYLLABLE NIEUN YE RIEULPIEUP
+  {0x86D7, 0xB168}, //1029 #HANGUL SYLLABLE NIEUN YE RIEULSIOS
+  {0x86D8, 0xB169}, //1030 #HANGUL SYLLABLE NIEUN YE RIEULTHIEUTH
+  {0x86D9, 0xB16A}, //1031 #HANGUL SYLLABLE NIEUN YE RIEULPHIEUPH
+  {0x86DA, 0xB16B}, //1032 #HANGUL SYLLABLE NIEUN YE RIEULHIEUH
+  {0x86DB, 0xB16C}, //1033 #HANGUL SYLLABLE NIEUN YE MIEUM
+  {0x86DC, 0xB16D}, //1034 #HANGUL SYLLABLE NIEUN YE PIEUP
+  {0x86DD, 0xB16E}, //1035 #HANGUL SYLLABLE NIEUN YE PIEUPSIOS
+  {0x86DE, 0xB16F}, //1036 #HANGUL SYLLABLE NIEUN YE SIOS
+  {0x86DF, 0xB170}, //1037 #HANGUL SYLLABLE NIEUN YE SSANGSIOS
+  {0x86E0, 0xB171}, //1038 #HANGUL SYLLABLE NIEUN YE IEUNG
+  {0x86E1, 0xB172}, //1039 #HANGUL SYLLABLE NIEUN YE CIEUC
+  {0x86E2, 0xB173}, //1040 #HANGUL SYLLABLE NIEUN YE CHIEUCH
+  {0x86E3, 0xB174}, //1041 #HANGUL SYLLABLE NIEUN YE KHIEUKH
+  {0x86E4, 0xB175}, //1042 #HANGUL SYLLABLE NIEUN YE THIEUTH
+  {0x86E5, 0xB176}, //1043 #HANGUL SYLLABLE NIEUN YE PHIEUPH
+  {0x86E6, 0xB177}, //1044 #HANGUL SYLLABLE NIEUN YE HIEUH
+  {0x86E7, 0xB17A}, //1045 #HANGUL SYLLABLE NIEUN O SSANGKIYEOK
+  {0x86E8, 0xB17B}, //1046 #HANGUL SYLLABLE NIEUN O KIYEOKSIOS
+  {0x86E9, 0xB17D}, //1047 #HANGUL SYLLABLE NIEUN O NIEUNCIEUC
+  {0x86EA, 0xB17E}, //1048 #HANGUL SYLLABLE NIEUN O NIEUNHIEUH
+  {0x86EB, 0xB17F}, //1049 #HANGUL SYLLABLE NIEUN O TIKEUT
+  {0x86EC, 0xB181}, //1050 #HANGUL SYLLABLE NIEUN O RIEULKIYEOK
+  {0x86ED, 0xB183}, //1051 #HANGUL SYLLABLE NIEUN O RIEULPIEUP
+  {0x86EE, 0xB184}, //1052 #HANGUL SYLLABLE NIEUN O RIEULSIOS
+  {0x86EF, 0xB185}, //1053 #HANGUL SYLLABLE NIEUN O RIEULTHIEUTH
+  {0x86F0, 0xB186}, //1054 #HANGUL SYLLABLE NIEUN O RIEULPHIEUPH
+  {0x86F1, 0xB187}, //1055 #HANGUL SYLLABLE NIEUN O RIEULHIEUH
+  {0x86F2, 0xB18A}, //1056 #HANGUL SYLLABLE NIEUN O PIEUPSIOS
+  {0x86F3, 0xB18C}, //1057 #HANGUL SYLLABLE NIEUN O SSANGSIOS
+  {0x86F4, 0xB18E}, //1058 #HANGUL SYLLABLE NIEUN O CIEUC
+  {0x86F5, 0xB18F}, //1059 #HANGUL SYLLABLE NIEUN O CHIEUCH
+  {0x86F6, 0xB190}, //1060 #HANGUL SYLLABLE NIEUN O KHIEUKH
+  {0x86F7, 0xB191}, //1061 #HANGUL SYLLABLE NIEUN O THIEUTH
+  {0x86F8, 0xB195}, //1062 #HANGUL SYLLABLE NIEUN WA KIYEOK
+  {0x86F9, 0xB196}, //1063 #HANGUL SYLLABLE NIEUN WA SSANGKIYEOK
+  {0x86FA, 0xB197}, //1064 #HANGUL SYLLABLE NIEUN WA KIYEOKSIOS
+  {0x86FB, 0xB199}, //1065 #HANGUL SYLLABLE NIEUN WA NIEUNCIEUC
+  {0x86FC, 0xB19A}, //1066 #HANGUL SYLLABLE NIEUN WA NIEUNHIEUH
+  {0x86FD, 0xB19B}, //1067 #HANGUL SYLLABLE NIEUN WA TIKEUT
+  {0x86FE, 0xB19D}, //1068 #HANGUL SYLLABLE NIEUN WA RIEULKIYEOK
+  {0x8741, 0xB19E}, //1069 #HANGUL SYLLABLE NIEUN WA RIEULMIEUM
+  {0x8742, 0xB19F}, //1070 #HANGUL SYLLABLE NIEUN WA RIEULPIEUP
+  {0x8743, 0xB1A0}, //1071 #HANGUL SYLLABLE NIEUN WA RIEULSIOS
+  {0x8744, 0xB1A1}, //1072 #HANGUL SYLLABLE NIEUN WA RIEULTHIEUTH
+  {0x8745, 0xB1A2}, //1073 #HANGUL SYLLABLE NIEUN WA RIEULPHIEUPH
+  {0x8746, 0xB1A3}, //1074 #HANGUL SYLLABLE NIEUN WA RIEULHIEUH
+  {0x8747, 0xB1A4}, //1075 #HANGUL SYLLABLE NIEUN WA MIEUM
+  {0x8748, 0xB1A5}, //1076 #HANGUL SYLLABLE NIEUN WA PIEUP
+  {0x8749, 0xB1A6}, //1077 #HANGUL SYLLABLE NIEUN WA PIEUPSIOS
+  {0x874A, 0xB1A7}, //1078 #HANGUL SYLLABLE NIEUN WA SIOS
+  {0x874B, 0xB1A9}, //1079 #HANGUL SYLLABLE NIEUN WA IEUNG
+  {0x874C, 0xB1AA}, //1080 #HANGUL SYLLABLE NIEUN WA CIEUC
+  {0x874D, 0xB1AB}, //1081 #HANGUL SYLLABLE NIEUN WA CHIEUCH
+  {0x874E, 0xB1AC}, //1082 #HANGUL SYLLABLE NIEUN WA KHIEUKH
+  {0x874F, 0xB1AD}, //1083 #HANGUL SYLLABLE NIEUN WA THIEUTH
+  {0x8750, 0xB1AE}, //1084 #HANGUL SYLLABLE NIEUN WA PHIEUPH
+  {0x8751, 0xB1AF}, //1085 #HANGUL SYLLABLE NIEUN WA HIEUH
+  {0x8752, 0xB1B0}, //1086 #HANGUL SYLLABLE NIEUN WAE
+  {0x8753, 0xB1B1}, //1087 #HANGUL SYLLABLE NIEUN WAE KIYEOK
+  {0x8754, 0xB1B2}, //1088 #HANGUL SYLLABLE NIEUN WAE SSANGKIYEOK
+  {0x8755, 0xB1B3}, //1089 #HANGUL SYLLABLE NIEUN WAE KIYEOKSIOS
+  {0x8756, 0xB1B4}, //1090 #HANGUL SYLLABLE NIEUN WAE NIEUN
+  {0x8757, 0xB1B5}, //1091 #HANGUL SYLLABLE NIEUN WAE NIEUNCIEUC
+  {0x8758, 0xB1B6}, //1092 #HANGUL SYLLABLE NIEUN WAE NIEUNHIEUH
+  {0x8759, 0xB1B7}, //1093 #HANGUL SYLLABLE NIEUN WAE TIKEUT
+  {0x875A, 0xB1B8}, //1094 #HANGUL SYLLABLE NIEUN WAE RIEUL
+  {0x8761, 0xB1B9}, //1095 #HANGUL SYLLABLE NIEUN WAE RIEULKIYEOK
+  {0x8762, 0xB1BA}, //1096 #HANGUL SYLLABLE NIEUN WAE RIEULMIEUM
+  {0x8763, 0xB1BB}, //1097 #HANGUL SYLLABLE NIEUN WAE RIEULPIEUP
+  {0x8764, 0xB1BC}, //1098 #HANGUL SYLLABLE NIEUN WAE RIEULSIOS
+  {0x8765, 0xB1BD}, //1099 #HANGUL SYLLABLE NIEUN WAE RIEULTHIEUTH
+  {0x8766, 0xB1BE}, //1100 #HANGUL SYLLABLE NIEUN WAE RIEULPHIEUPH
+  {0x8767, 0xB1BF}, //1101 #HANGUL SYLLABLE NIEUN WAE RIEULHIEUH
+  {0x8768, 0xB1C0}, //1102 #HANGUL SYLLABLE NIEUN WAE MIEUM
+  {0x8769, 0xB1C1}, //1103 #HANGUL SYLLABLE NIEUN WAE PIEUP
+  {0x876A, 0xB1C2}, //1104 #HANGUL SYLLABLE NIEUN WAE PIEUPSIOS
+  {0x876B, 0xB1C3}, //1105 #HANGUL SYLLABLE NIEUN WAE SIOS
+  {0x876C, 0xB1C4}, //1106 #HANGUL SYLLABLE NIEUN WAE SSANGSIOS
+  {0x876D, 0xB1C5}, //1107 #HANGUL SYLLABLE NIEUN WAE IEUNG
+  {0x876E, 0xB1C6}, //1108 #HANGUL SYLLABLE NIEUN WAE CIEUC
+  {0x876F, 0xB1C7}, //1109 #HANGUL SYLLABLE NIEUN WAE CHIEUCH
+  {0x8770, 0xB1C8}, //1110 #HANGUL SYLLABLE NIEUN WAE KHIEUKH
+  {0x8771, 0xB1C9}, //1111 #HANGUL SYLLABLE NIEUN WAE THIEUTH
+  {0x8772, 0xB1CA}, //1112 #HANGUL SYLLABLE NIEUN WAE PHIEUPH
+  {0x8773, 0xB1CB}, //1113 #HANGUL SYLLABLE NIEUN WAE HIEUH
+  {0x8774, 0xB1CD}, //1114 #HANGUL SYLLABLE NIEUN OE KIYEOK
+  {0x8775, 0xB1CE}, //1115 #HANGUL SYLLABLE NIEUN OE SSANGKIYEOK
+  {0x8776, 0xB1CF}, //1116 #HANGUL SYLLABLE NIEUN OE KIYEOKSIOS
+  {0x8777, 0xB1D1}, //1117 #HANGUL SYLLABLE NIEUN OE NIEUNCIEUC
+  {0x8778, 0xB1D2}, //1118 #HANGUL SYLLABLE NIEUN OE NIEUNHIEUH
+  {0x8779, 0xB1D3}, //1119 #HANGUL SYLLABLE NIEUN OE TIKEUT
+  {0x877A, 0xB1D5}, //1120 #HANGUL SYLLABLE NIEUN OE RIEULKIYEOK
+  {0x8781, 0xB1D6}, //1121 #HANGUL SYLLABLE NIEUN OE RIEULMIEUM
+  {0x8782, 0xB1D7}, //1122 #HANGUL SYLLABLE NIEUN OE RIEULPIEUP
+  {0x8783, 0xB1D8}, //1123 #HANGUL SYLLABLE NIEUN OE RIEULSIOS
+  {0x8784, 0xB1D9}, //1124 #HANGUL SYLLABLE NIEUN OE RIEULTHIEUTH
+  {0x8785, 0xB1DA}, //1125 #HANGUL SYLLABLE NIEUN OE RIEULPHIEUPH
+  {0x8786, 0xB1DB}, //1126 #HANGUL SYLLABLE NIEUN OE RIEULHIEUH
+  {0x8787, 0xB1DE}, //1127 #HANGUL SYLLABLE NIEUN OE PIEUPSIOS
+  {0x8788, 0xB1E0}, //1128 #HANGUL SYLLABLE NIEUN OE SSANGSIOS
+  {0x8789, 0xB1E1}, //1129 #HANGUL SYLLABLE NIEUN OE IEUNG
+  {0x878A, 0xB1E2}, //1130 #HANGUL SYLLABLE NIEUN OE CIEUC
+  {0x878B, 0xB1E3}, //1131 #HANGUL SYLLABLE NIEUN OE CHIEUCH
+  {0x878C, 0xB1E4}, //1132 #HANGUL SYLLABLE NIEUN OE KHIEUKH
+  {0x878D, 0xB1E5}, //1133 #HANGUL SYLLABLE NIEUN OE THIEUTH
+  {0x878E, 0xB1E6}, //1134 #HANGUL SYLLABLE NIEUN OE PHIEUPH
+  {0x878F, 0xB1E7}, //1135 #HANGUL SYLLABLE NIEUN OE HIEUH
+  {0x8790, 0xB1EA}, //1136 #HANGUL SYLLABLE NIEUN YO SSANGKIYEOK
+  {0x8791, 0xB1EB}, //1137 #HANGUL SYLLABLE NIEUN YO KIYEOKSIOS
+  {0x8792, 0xB1ED}, //1138 #HANGUL SYLLABLE NIEUN YO NIEUNCIEUC
+  {0x8793, 0xB1EE}, //1139 #HANGUL SYLLABLE NIEUN YO NIEUNHIEUH
+  {0x8794, 0xB1EF}, //1140 #HANGUL SYLLABLE NIEUN YO TIKEUT
+  {0x8795, 0xB1F1}, //1141 #HANGUL SYLLABLE NIEUN YO RIEULKIYEOK
+  {0x8796, 0xB1F2}, //1142 #HANGUL SYLLABLE NIEUN YO RIEULMIEUM
+  {0x8797, 0xB1F3}, //1143 #HANGUL SYLLABLE NIEUN YO RIEULPIEUP
+  {0x8798, 0xB1F4}, //1144 #HANGUL SYLLABLE NIEUN YO RIEULSIOS
+  {0x8799, 0xB1F5}, //1145 #HANGUL SYLLABLE NIEUN YO RIEULTHIEUTH
+  {0x879A, 0xB1F6}, //1146 #HANGUL SYLLABLE NIEUN YO RIEULPHIEUPH
+  {0x879B, 0xB1F7}, //1147 #HANGUL SYLLABLE NIEUN YO RIEULHIEUH
+  {0x879C, 0xB1F8}, //1148 #HANGUL SYLLABLE NIEUN YO MIEUM
+  {0x879D, 0xB1FA}, //1149 #HANGUL SYLLABLE NIEUN YO PIEUPSIOS
+  {0x879E, 0xB1FC}, //1150 #HANGUL SYLLABLE NIEUN YO SSANGSIOS
+  {0x879F, 0xB1FE}, //1151 #HANGUL SYLLABLE NIEUN YO CIEUC
+  {0x87A0, 0xB1FF}, //1152 #HANGUL SYLLABLE NIEUN YO CHIEUCH
+  {0x87A1, 0xB200}, //1153 #HANGUL SYLLABLE NIEUN YO KHIEUKH
+  {0x87A2, 0xB201}, //1154 #HANGUL SYLLABLE NIEUN YO THIEUTH
+  {0x87A3, 0xB202}, //1155 #HANGUL SYLLABLE NIEUN YO PHIEUPH
+  {0x87A4, 0xB203}, //1156 #HANGUL SYLLABLE NIEUN YO HIEUH
+  {0x87A5, 0xB206}, //1157 #HANGUL SYLLABLE NIEUN U SSANGKIYEOK
+  {0x87A6, 0xB207}, //1158 #HANGUL SYLLABLE NIEUN U KIYEOKSIOS
+  {0x87A7, 0xB209}, //1159 #HANGUL SYLLABLE NIEUN U NIEUNCIEUC
+  {0x87A8, 0xB20A}, //1160 #HANGUL SYLLABLE NIEUN U NIEUNHIEUH
+  {0x87A9, 0xB20D}, //1161 #HANGUL SYLLABLE NIEUN U RIEULKIYEOK
+  {0x87AA, 0xB20E}, //1162 #HANGUL SYLLABLE NIEUN U RIEULMIEUM
+  {0x87AB, 0xB20F}, //1163 #HANGUL SYLLABLE NIEUN U RIEULPIEUP
+  {0x87AC, 0xB210}, //1164 #HANGUL SYLLABLE NIEUN U RIEULSIOS
+  {0x87AD, 0xB211}, //1165 #HANGUL SYLLABLE NIEUN U RIEULTHIEUTH
+  {0x87AE, 0xB212}, //1166 #HANGUL SYLLABLE NIEUN U RIEULPHIEUPH
+  {0x87AF, 0xB213}, //1167 #HANGUL SYLLABLE NIEUN U RIEULHIEUH
+  {0x87B0, 0xB216}, //1168 #HANGUL SYLLABLE NIEUN U PIEUPSIOS
+  {0x87B1, 0xB218}, //1169 #HANGUL SYLLABLE NIEUN U SSANGSIOS
+  {0x87B2, 0xB21A}, //1170 #HANGUL SYLLABLE NIEUN U CIEUC
+  {0x87B3, 0xB21B}, //1171 #HANGUL SYLLABLE NIEUN U CHIEUCH
+  {0x87B4, 0xB21C}, //1172 #HANGUL SYLLABLE NIEUN U KHIEUKH
+  {0x87B5, 0xB21D}, //1173 #HANGUL SYLLABLE NIEUN U THIEUTH
+  {0x87B6, 0xB21E}, //1174 #HANGUL SYLLABLE NIEUN U PHIEUPH
+  {0x87B7, 0xB21F}, //1175 #HANGUL SYLLABLE NIEUN U HIEUH
+  {0x87B8, 0xB221}, //1176 #HANGUL SYLLABLE NIEUN WEO KIYEOK
+  {0x87B9, 0xB222}, //1177 #HANGUL SYLLABLE NIEUN WEO SSANGKIYEOK
+  {0x87BA, 0xB223}, //1178 #HANGUL SYLLABLE NIEUN WEO KIYEOKSIOS
+  {0x87BB, 0xB224}, //1179 #HANGUL SYLLABLE NIEUN WEO NIEUN
+  {0x87BC, 0xB225}, //1180 #HANGUL SYLLABLE NIEUN WEO NIEUNCIEUC
+  {0x87BD, 0xB226}, //1181 #HANGUL SYLLABLE NIEUN WEO NIEUNHIEUH
+  {0x87BE, 0xB227}, //1182 #HANGUL SYLLABLE NIEUN WEO TIKEUT
+  {0x87BF, 0xB228}, //1183 #HANGUL SYLLABLE NIEUN WEO RIEUL
+  {0x87C0, 0xB229}, //1184 #HANGUL SYLLABLE NIEUN WEO RIEULKIYEOK
+  {0x87C1, 0xB22A}, //1185 #HANGUL SYLLABLE NIEUN WEO RIEULMIEUM
+  {0x87C2, 0xB22B}, //1186 #HANGUL SYLLABLE NIEUN WEO RIEULPIEUP
+  {0x87C3, 0xB22C}, //1187 #HANGUL SYLLABLE NIEUN WEO RIEULSIOS
+  {0x87C4, 0xB22D}, //1188 #HANGUL SYLLABLE NIEUN WEO RIEULTHIEUTH
+  {0x87C5, 0xB22E}, //1189 #HANGUL SYLLABLE NIEUN WEO RIEULPHIEUPH
+  {0x87C6, 0xB22F}, //1190 #HANGUL SYLLABLE NIEUN WEO RIEULHIEUH
+  {0x87C7, 0xB230}, //1191 #HANGUL SYLLABLE NIEUN WEO MIEUM
+  {0x87C8, 0xB231}, //1192 #HANGUL SYLLABLE NIEUN WEO PIEUP
+  {0x87C9, 0xB232}, //1193 #HANGUL SYLLABLE NIEUN WEO PIEUPSIOS
+  {0x87CA, 0xB233}, //1194 #HANGUL SYLLABLE NIEUN WEO SIOS
+  {0x87CB, 0xB235}, //1195 #HANGUL SYLLABLE NIEUN WEO IEUNG
+  {0x87CC, 0xB236}, //1196 #HANGUL SYLLABLE NIEUN WEO CIEUC
+  {0x87CD, 0xB237}, //1197 #HANGUL SYLLABLE NIEUN WEO CHIEUCH
+  {0x87CE, 0xB238}, //1198 #HANGUL SYLLABLE NIEUN WEO KHIEUKH
+  {0x87CF, 0xB239}, //1199 #HANGUL SYLLABLE NIEUN WEO THIEUTH
+  {0x87D0, 0xB23A}, //1200 #HANGUL SYLLABLE NIEUN WEO PHIEUPH
+  {0x87D1, 0xB23B}, //1201 #HANGUL SYLLABLE NIEUN WEO HIEUH
+  {0x87D2, 0xB23D}, //1202 #HANGUL SYLLABLE NIEUN WE KIYEOK
+  {0x87D3, 0xB23E}, //1203 #HANGUL SYLLABLE NIEUN WE SSANGKIYEOK
+  {0x87D4, 0xB23F}, //1204 #HANGUL SYLLABLE NIEUN WE KIYEOKSIOS
+  {0x87D5, 0xB240}, //1205 #HANGUL SYLLABLE NIEUN WE NIEUN
+  {0x87D6, 0xB241}, //1206 #HANGUL SYLLABLE NIEUN WE NIEUNCIEUC
+  {0x87D7, 0xB242}, //1207 #HANGUL SYLLABLE NIEUN WE NIEUNHIEUH
+  {0x87D8, 0xB243}, //1208 #HANGUL SYLLABLE NIEUN WE TIKEUT
+  {0x87D9, 0xB244}, //1209 #HANGUL SYLLABLE NIEUN WE RIEUL
+  {0x87DA, 0xB245}, //1210 #HANGUL SYLLABLE NIEUN WE RIEULKIYEOK
+  {0x87DB, 0xB246}, //1211 #HANGUL SYLLABLE NIEUN WE RIEULMIEUM
+  {0x87DC, 0xB247}, //1212 #HANGUL SYLLABLE NIEUN WE RIEULPIEUP
+  {0x87DD, 0xB248}, //1213 #HANGUL SYLLABLE NIEUN WE RIEULSIOS
+  {0x87DE, 0xB249}, //1214 #HANGUL SYLLABLE NIEUN WE RIEULTHIEUTH
+  {0x87DF, 0xB24A}, //1215 #HANGUL SYLLABLE NIEUN WE RIEULPHIEUPH
+  {0x87E0, 0xB24B}, //1216 #HANGUL SYLLABLE NIEUN WE RIEULHIEUH
+  {0x87E1, 0xB24C}, //1217 #HANGUL SYLLABLE NIEUN WE MIEUM
+  {0x87E2, 0xB24D}, //1218 #HANGUL SYLLABLE NIEUN WE PIEUP
+  {0x87E3, 0xB24E}, //1219 #HANGUL SYLLABLE NIEUN WE PIEUPSIOS
+  {0x87E4, 0xB24F}, //1220 #HANGUL SYLLABLE NIEUN WE SIOS
+  {0x87E5, 0xB250}, //1221 #HANGUL SYLLABLE NIEUN WE SSANGSIOS
+  {0x87E6, 0xB251}, //1222 #HANGUL SYLLABLE NIEUN WE IEUNG
+  {0x87E7, 0xB252}, //1223 #HANGUL SYLLABLE NIEUN WE CIEUC
+  {0x87E8, 0xB253}, //1224 #HANGUL SYLLABLE NIEUN WE CHIEUCH
+  {0x87E9, 0xB254}, //1225 #HANGUL SYLLABLE NIEUN WE KHIEUKH
+  {0x87EA, 0xB255}, //1226 #HANGUL SYLLABLE NIEUN WE THIEUTH
+  {0x87EB, 0xB256}, //1227 #HANGUL SYLLABLE NIEUN WE PHIEUPH
+  {0x87EC, 0xB257}, //1228 #HANGUL SYLLABLE NIEUN WE HIEUH
+  {0x87ED, 0xB259}, //1229 #HANGUL SYLLABLE NIEUN WI KIYEOK
+  {0x87EE, 0xB25A}, //1230 #HANGUL SYLLABLE NIEUN WI SSANGKIYEOK
+  {0x87EF, 0xB25B}, //1231 #HANGUL SYLLABLE NIEUN WI KIYEOKSIOS
+  {0x87F0, 0xB25D}, //1232 #HANGUL SYLLABLE NIEUN WI NIEUNCIEUC
+  {0x87F1, 0xB25E}, //1233 #HANGUL SYLLABLE NIEUN WI NIEUNHIEUH
+  {0x87F2, 0xB25F}, //1234 #HANGUL SYLLABLE NIEUN WI TIKEUT
+  {0x87F3, 0xB261}, //1235 #HANGUL SYLLABLE NIEUN WI RIEULKIYEOK
+  {0x87F4, 0xB262}, //1236 #HANGUL SYLLABLE NIEUN WI RIEULMIEUM
+  {0x87F5, 0xB263}, //1237 #HANGUL SYLLABLE NIEUN WI RIEULPIEUP
+  {0x87F6, 0xB264}, //1238 #HANGUL SYLLABLE NIEUN WI RIEULSIOS
+  {0x87F7, 0xB265}, //1239 #HANGUL SYLLABLE NIEUN WI RIEULTHIEUTH
+  {0x87F8, 0xB266}, //1240 #HANGUL SYLLABLE NIEUN WI RIEULPHIEUPH
+  {0x87F9, 0xB267}, //1241 #HANGUL SYLLABLE NIEUN WI RIEULHIEUH
+  {0x87FA, 0xB26A}, //1242 #HANGUL SYLLABLE NIEUN WI PIEUPSIOS
+  {0x87FB, 0xB26B}, //1243 #HANGUL SYLLABLE NIEUN WI SIOS
+  {0x87FC, 0xB26C}, //1244 #HANGUL SYLLABLE NIEUN WI SSANGSIOS
+  {0x87FD, 0xB26D}, //1245 #HANGUL SYLLABLE NIEUN WI IEUNG
+  {0x87FE, 0xB26E}, //1246 #HANGUL SYLLABLE NIEUN WI CIEUC
+  {0x8841, 0xB26F}, //1247 #HANGUL SYLLABLE NIEUN WI CHIEUCH
+  {0x8842, 0xB270}, //1248 #HANGUL SYLLABLE NIEUN WI KHIEUKH
+  {0x8843, 0xB271}, //1249 #HANGUL SYLLABLE NIEUN WI THIEUTH
+  {0x8844, 0xB272}, //1250 #HANGUL SYLLABLE NIEUN WI PHIEUPH
+  {0x8845, 0xB273}, //1251 #HANGUL SYLLABLE NIEUN WI HIEUH
+  {0x8846, 0xB276}, //1252 #HANGUL SYLLABLE NIEUN YU SSANGKIYEOK
+  {0x8847, 0xB277}, //1253 #HANGUL SYLLABLE NIEUN YU KIYEOKSIOS
+  {0x8848, 0xB278}, //1254 #HANGUL SYLLABLE NIEUN YU NIEUN
+  {0x8849, 0xB279}, //1255 #HANGUL SYLLABLE NIEUN YU NIEUNCIEUC
+  {0x884A, 0xB27A}, //1256 #HANGUL SYLLABLE NIEUN YU NIEUNHIEUH
+  {0x884B, 0xB27B}, //1257 #HANGUL SYLLABLE NIEUN YU TIKEUT
+  {0x884C, 0xB27D}, //1258 #HANGUL SYLLABLE NIEUN YU RIEULKIYEOK
+  {0x884D, 0xB27E}, //1259 #HANGUL SYLLABLE NIEUN YU RIEULMIEUM
+  {0x884E, 0xB27F}, //1260 #HANGUL SYLLABLE NIEUN YU RIEULPIEUP
+  {0x884F, 0xB280}, //1261 #HANGUL SYLLABLE NIEUN YU RIEULSIOS
+  {0x8850, 0xB281}, //1262 #HANGUL SYLLABLE NIEUN YU RIEULTHIEUTH
+  {0x8851, 0xB282}, //1263 #HANGUL SYLLABLE NIEUN YU RIEULPHIEUPH
+  {0x8852, 0xB283}, //1264 #HANGUL SYLLABLE NIEUN YU RIEULHIEUH
+  {0x8853, 0xB286}, //1265 #HANGUL SYLLABLE NIEUN YU PIEUPSIOS
+  {0x8854, 0xB287}, //1266 #HANGUL SYLLABLE NIEUN YU SIOS
+  {0x8855, 0xB288}, //1267 #HANGUL SYLLABLE NIEUN YU SSANGSIOS
+  {0x8856, 0xB28A}, //1268 #HANGUL SYLLABLE NIEUN YU CIEUC
+  {0x8857, 0xB28B}, //1269 #HANGUL SYLLABLE NIEUN YU CHIEUCH
+  {0x8858, 0xB28C}, //1270 #HANGUL SYLLABLE NIEUN YU KHIEUKH
+  {0x8859, 0xB28D}, //1271 #HANGUL SYLLABLE NIEUN YU THIEUTH
+  {0x885A, 0xB28E}, //1272 #HANGUL SYLLABLE NIEUN YU PHIEUPH
+  {0x8861, 0xB28F}, //1273 #HANGUL SYLLABLE NIEUN YU HIEUH
+  {0x8862, 0xB292}, //1274 #HANGUL SYLLABLE NIEUN EU SSANGKIYEOK
+  {0x8863, 0xB293}, //1275 #HANGUL SYLLABLE NIEUN EU KIYEOKSIOS
+  {0x8864, 0xB295}, //1276 #HANGUL SYLLABLE NIEUN EU NIEUNCIEUC
+  {0x8865, 0xB296}, //1277 #HANGUL SYLLABLE NIEUN EU NIEUNHIEUH
+  {0x8866, 0xB297}, //1278 #HANGUL SYLLABLE NIEUN EU TIKEUT
+  {0x8867, 0xB29B}, //1279 #HANGUL SYLLABLE NIEUN EU RIEULPIEUP
+  {0x8868, 0xB29C}, //1280 #HANGUL SYLLABLE NIEUN EU RIEULSIOS
+  {0x8869, 0xB29D}, //1281 #HANGUL SYLLABLE NIEUN EU RIEULTHIEUTH
+  {0x886A, 0xB29E}, //1282 #HANGUL SYLLABLE NIEUN EU RIEULPHIEUPH
+  {0x886B, 0xB29F}, //1283 #HANGUL SYLLABLE NIEUN EU RIEULHIEUH
+  {0x886C, 0xB2A2}, //1284 #HANGUL SYLLABLE NIEUN EU PIEUPSIOS
+  {0x886D, 0xB2A4}, //1285 #HANGUL SYLLABLE NIEUN EU SSANGSIOS
+  {0x886E, 0xB2A7}, //1286 #HANGUL SYLLABLE NIEUN EU CHIEUCH
+  {0x886F, 0xB2A8}, //1287 #HANGUL SYLLABLE NIEUN EU KHIEUKH
+  {0x8870, 0xB2A9}, //1288 #HANGUL SYLLABLE NIEUN EU THIEUTH
+  {0x8871, 0xB2AB}, //1289 #HANGUL SYLLABLE NIEUN EU HIEUH
+  {0x8872, 0xB2AD}, //1290 #HANGUL SYLLABLE NIEUN YI KIYEOK
+  {0x8873, 0xB2AE}, //1291 #HANGUL SYLLABLE NIEUN YI SSANGKIYEOK
+  {0x8874, 0xB2AF}, //1292 #HANGUL SYLLABLE NIEUN YI KIYEOKSIOS
+  {0x8875, 0xB2B1}, //1293 #HANGUL SYLLABLE NIEUN YI NIEUNCIEUC
+  {0x8876, 0xB2B2}, //1294 #HANGUL SYLLABLE NIEUN YI NIEUNHIEUH
+  {0x8877, 0xB2B3}, //1295 #HANGUL SYLLABLE NIEUN YI TIKEUT
+  {0x8878, 0xB2B5}, //1296 #HANGUL SYLLABLE NIEUN YI RIEULKIYEOK
+  {0x8879, 0xB2B6}, //1297 #HANGUL SYLLABLE NIEUN YI RIEULMIEUM
+  {0x887A, 0xB2B7}, //1298 #HANGUL SYLLABLE NIEUN YI RIEULPIEUP
+  {0x8881, 0xB2B8}, //1299 #HANGUL SYLLABLE NIEUN YI RIEULSIOS
+  {0x8882, 0xB2B9}, //1300 #HANGUL SYLLABLE NIEUN YI RIEULTHIEUTH
+  {0x8883, 0xB2BA}, //1301 #HANGUL SYLLABLE NIEUN YI RIEULPHIEUPH
+  {0x8884, 0xB2BB}, //1302 #HANGUL SYLLABLE NIEUN YI RIEULHIEUH
+  {0x8885, 0xB2BC}, //1303 #HANGUL SYLLABLE NIEUN YI MIEUM
+  {0x8886, 0xB2BD}, //1304 #HANGUL SYLLABLE NIEUN YI PIEUP
+  {0x8887, 0xB2BE}, //1305 #HANGUL SYLLABLE NIEUN YI PIEUPSIOS
+  {0x8888, 0xB2BF}, //1306 #HANGUL SYLLABLE NIEUN YI SIOS
+  {0x8889, 0xB2C0}, //1307 #HANGUL SYLLABLE NIEUN YI SSANGSIOS
+  {0x888A, 0xB2C1}, //1308 #HANGUL SYLLABLE NIEUN YI IEUNG
+  {0x888B, 0xB2C2}, //1309 #HANGUL SYLLABLE NIEUN YI CIEUC
+  {0x888C, 0xB2C3}, //1310 #HANGUL SYLLABLE NIEUN YI CHIEUCH
+  {0x888D, 0xB2C4}, //1311 #HANGUL SYLLABLE NIEUN YI KHIEUKH
+  {0x888E, 0xB2C5}, //1312 #HANGUL SYLLABLE NIEUN YI THIEUTH
+  {0x888F, 0xB2C6}, //1313 #HANGUL SYLLABLE NIEUN YI PHIEUPH
+  {0x8890, 0xB2C7}, //1314 #HANGUL SYLLABLE NIEUN YI HIEUH
+  {0x8891, 0xB2CA}, //1315 #HANGUL SYLLABLE NIEUN I SSANGKIYEOK
+  {0x8892, 0xB2CB}, //1316 #HANGUL SYLLABLE NIEUN I KIYEOKSIOS
+  {0x8893, 0xB2CD}, //1317 #HANGUL SYLLABLE NIEUN I NIEUNCIEUC
+  {0x8894, 0xB2CE}, //1318 #HANGUL SYLLABLE NIEUN I NIEUNHIEUH
+  {0x8895, 0xB2CF}, //1319 #HANGUL SYLLABLE NIEUN I TIKEUT
+  {0x8896, 0xB2D1}, //1320 #HANGUL SYLLABLE NIEUN I RIEULKIYEOK
+  {0x8897, 0xB2D3}, //1321 #HANGUL SYLLABLE NIEUN I RIEULPIEUP
+  {0x8898, 0xB2D4}, //1322 #HANGUL SYLLABLE NIEUN I RIEULSIOS
+  {0x8899, 0xB2D5}, //1323 #HANGUL SYLLABLE NIEUN I RIEULTHIEUTH
+  {0x889A, 0xB2D6}, //1324 #HANGUL SYLLABLE NIEUN I RIEULPHIEUPH
+  {0x889B, 0xB2D7}, //1325 #HANGUL SYLLABLE NIEUN I RIEULHIEUH
+  {0x889C, 0xB2DA}, //1326 #HANGUL SYLLABLE NIEUN I PIEUPSIOS
+  {0x889D, 0xB2DC}, //1327 #HANGUL SYLLABLE NIEUN I SSANGSIOS
+  {0x889E, 0xB2DE}, //1328 #HANGUL SYLLABLE NIEUN I CIEUC
+  {0x889F, 0xB2DF}, //1329 #HANGUL SYLLABLE NIEUN I CHIEUCH
+  {0x88A0, 0xB2E0}, //1330 #HANGUL SYLLABLE NIEUN I KHIEUKH
+  {0x88A1, 0xB2E1}, //1331 #HANGUL SYLLABLE NIEUN I THIEUTH
+  {0x88A2, 0xB2E3}, //1332 #HANGUL SYLLABLE NIEUN I HIEUH
+  {0x88A3, 0xB2E7}, //1333 #HANGUL SYLLABLE TIKEUT A KIYEOKSIOS
+  {0x88A4, 0xB2E9}, //1334 #HANGUL SYLLABLE TIKEUT A NIEUNCIEUC
+  {0x88A5, 0xB2EA}, //1335 #HANGUL SYLLABLE TIKEUT A NIEUNHIEUH
+  {0x88A6, 0xB2F0}, //1336 #HANGUL SYLLABLE TIKEUT A RIEULSIOS
+  {0x88A7, 0xB2F1}, //1337 #HANGUL SYLLABLE TIKEUT A RIEULTHIEUTH
+  {0x88A8, 0xB2F2}, //1338 #HANGUL SYLLABLE TIKEUT A RIEULPHIEUPH
+  {0x88A9, 0xB2F6}, //1339 #HANGUL SYLLABLE TIKEUT A PIEUPSIOS
+  {0x88AA, 0xB2FC}, //1340 #HANGUL SYLLABLE TIKEUT A KHIEUKH
+  {0x88AB, 0xB2FD}, //1341 #HANGUL SYLLABLE TIKEUT A THIEUTH
+  {0x88AC, 0xB2FE}, //1342 #HANGUL SYLLABLE TIKEUT A PHIEUPH
+  {0x88AD, 0xB302}, //1343 #HANGUL SYLLABLE TIKEUT AE SSANGKIYEOK
+  {0x88AE, 0xB303}, //1344 #HANGUL SYLLABLE TIKEUT AE KIYEOKSIOS
+  {0x88AF, 0xB305}, //1345 #HANGUL SYLLABLE TIKEUT AE NIEUNCIEUC
+  {0x88B0, 0xB306}, //1346 #HANGUL SYLLABLE TIKEUT AE NIEUNHIEUH
+  {0x88B1, 0xB307}, //1347 #HANGUL SYLLABLE TIKEUT AE TIKEUT
+  {0x88B2, 0xB309}, //1348 #HANGUL SYLLABLE TIKEUT AE RIEULKIYEOK
+  {0x88B3, 0xB30A}, //1349 #HANGUL SYLLABLE TIKEUT AE RIEULMIEUM
+  {0x88B4, 0xB30B}, //1350 #HANGUL SYLLABLE TIKEUT AE RIEULPIEUP
+  {0x88B5, 0xB30C}, //1351 #HANGUL SYLLABLE TIKEUT AE RIEULSIOS
+  {0x88B6, 0xB30D}, //1352 #HANGUL SYLLABLE TIKEUT AE RIEULTHIEUTH
+  {0x88B7, 0xB30E}, //1353 #HANGUL SYLLABLE TIKEUT AE RIEULPHIEUPH
+  {0x88B8, 0xB30F}, //1354 #HANGUL SYLLABLE TIKEUT AE RIEULHIEUH
+  {0x88B9, 0xB312}, //1355 #HANGUL SYLLABLE TIKEUT AE PIEUPSIOS
+  {0x88BA, 0xB316}, //1356 #HANGUL SYLLABLE TIKEUT AE CIEUC
+  {0x88BB, 0xB317}, //1357 #HANGUL SYLLABLE TIKEUT AE CHIEUCH
+  {0x88BC, 0xB318}, //1358 #HANGUL SYLLABLE TIKEUT AE KHIEUKH
+  {0x88BD, 0xB319}, //1359 #HANGUL SYLLABLE TIKEUT AE THIEUTH
+  {0x88BE, 0xB31A}, //1360 #HANGUL SYLLABLE TIKEUT AE PHIEUPH
+  {0x88BF, 0xB31B}, //1361 #HANGUL SYLLABLE TIKEUT AE HIEUH
+  {0x88C0, 0xB31D}, //1362 #HANGUL SYLLABLE TIKEUT YA KIYEOK
+  {0x88C1, 0xB31E}, //1363 #HANGUL SYLLABLE TIKEUT YA SSANGKIYEOK
+  {0x88C2, 0xB31F}, //1364 #HANGUL SYLLABLE TIKEUT YA KIYEOKSIOS
+  {0x88C3, 0xB320}, //1365 #HANGUL SYLLABLE TIKEUT YA NIEUN
+  {0x88C4, 0xB321}, //1366 #HANGUL SYLLABLE TIKEUT YA NIEUNCIEUC
+  {0x88C5, 0xB322}, //1367 #HANGUL SYLLABLE TIKEUT YA NIEUNHIEUH
+  {0x88C6, 0xB323}, //1368 #HANGUL SYLLABLE TIKEUT YA TIKEUT
+  {0x88C7, 0xB324}, //1369 #HANGUL SYLLABLE TIKEUT YA RIEUL
+  {0x88C8, 0xB325}, //1370 #HANGUL SYLLABLE TIKEUT YA RIEULKIYEOK
+  {0x88C9, 0xB326}, //1371 #HANGUL SYLLABLE TIKEUT YA RIEULMIEUM
+  {0x88CA, 0xB327}, //1372 #HANGUL SYLLABLE TIKEUT YA RIEULPIEUP
+  {0x88CB, 0xB328}, //1373 #HANGUL SYLLABLE TIKEUT YA RIEULSIOS
+  {0x88CC, 0xB329}, //1374 #HANGUL SYLLABLE TIKEUT YA RIEULTHIEUTH
+  {0x88CD, 0xB32A}, //1375 #HANGUL SYLLABLE TIKEUT YA RIEULPHIEUPH
+  {0x88CE, 0xB32B}, //1376 #HANGUL SYLLABLE TIKEUT YA RIEULHIEUH
+  {0x88CF, 0xB32C}, //1377 #HANGUL SYLLABLE TIKEUT YA MIEUM
+  {0x88D0, 0xB32D}, //1378 #HANGUL SYLLABLE TIKEUT YA PIEUP
+  {0x88D1, 0xB32E}, //1379 #HANGUL SYLLABLE TIKEUT YA PIEUPSIOS
+  {0x88D2, 0xB32F}, //1380 #HANGUL SYLLABLE TIKEUT YA SIOS
+  {0x88D3, 0xB330}, //1381 #HANGUL SYLLABLE TIKEUT YA SSANGSIOS
+  {0x88D4, 0xB331}, //1382 #HANGUL SYLLABLE TIKEUT YA IEUNG
+  {0x88D5, 0xB332}, //1383 #HANGUL SYLLABLE TIKEUT YA CIEUC
+  {0x88D6, 0xB333}, //1384 #HANGUL SYLLABLE TIKEUT YA CHIEUCH
+  {0x88D7, 0xB334}, //1385 #HANGUL SYLLABLE TIKEUT YA KHIEUKH
+  {0x88D8, 0xB335}, //1386 #HANGUL SYLLABLE TIKEUT YA THIEUTH
+  {0x88D9, 0xB336}, //1387 #HANGUL SYLLABLE TIKEUT YA PHIEUPH
+  {0x88DA, 0xB337}, //1388 #HANGUL SYLLABLE TIKEUT YA HIEUH
+  {0x88DB, 0xB338}, //1389 #HANGUL SYLLABLE TIKEUT YAE
+  {0x88DC, 0xB339}, //1390 #HANGUL SYLLABLE TIKEUT YAE KIYEOK
+  {0x88DD, 0xB33A}, //1391 #HANGUL SYLLABLE TIKEUT YAE SSANGKIYEOK
+  {0x88DE, 0xB33B}, //1392 #HANGUL SYLLABLE TIKEUT YAE KIYEOKSIOS
+  {0x88DF, 0xB33C}, //1393 #HANGUL SYLLABLE TIKEUT YAE NIEUN
+  {0x88E0, 0xB33D}, //1394 #HANGUL SYLLABLE TIKEUT YAE NIEUNCIEUC
+  {0x88E1, 0xB33E}, //1395 #HANGUL SYLLABLE TIKEUT YAE NIEUNHIEUH
+  {0x88E2, 0xB33F}, //1396 #HANGUL SYLLABLE TIKEUT YAE TIKEUT
+  {0x88E3, 0xB340}, //1397 #HANGUL SYLLABLE TIKEUT YAE RIEUL
+  {0x88E4, 0xB341}, //1398 #HANGUL SYLLABLE TIKEUT YAE RIEULKIYEOK
+  {0x88E5, 0xB342}, //1399 #HANGUL SYLLABLE TIKEUT YAE RIEULMIEUM
+  {0x88E6, 0xB343}, //1400 #HANGUL SYLLABLE TIKEUT YAE RIEULPIEUP
+  {0x88E7, 0xB344}, //1401 #HANGUL SYLLABLE TIKEUT YAE RIEULSIOS
+  {0x88E8, 0xB345}, //1402 #HANGUL SYLLABLE TIKEUT YAE RIEULTHIEUTH
+  {0x88E9, 0xB346}, //1403 #HANGUL SYLLABLE TIKEUT YAE RIEULPHIEUPH
+  {0x88EA, 0xB347}, //1404 #HANGUL SYLLABLE TIKEUT YAE RIEULHIEUH
+  {0x88EB, 0xB348}, //1405 #HANGUL SYLLABLE TIKEUT YAE MIEUM
+  {0x88EC, 0xB349}, //1406 #HANGUL SYLLABLE TIKEUT YAE PIEUP
+  {0x88ED, 0xB34A}, //1407 #HANGUL SYLLABLE TIKEUT YAE PIEUPSIOS
+  {0x88EE, 0xB34B}, //1408 #HANGUL SYLLABLE TIKEUT YAE SIOS
+  {0x88EF, 0xB34C}, //1409 #HANGUL SYLLABLE TIKEUT YAE SSANGSIOS
+  {0x88F0, 0xB34D}, //1410 #HANGUL SYLLABLE TIKEUT YAE IEUNG
+  {0x88F1, 0xB34E}, //1411 #HANGUL SYLLABLE TIKEUT YAE CIEUC
+  {0x88F2, 0xB34F}, //1412 #HANGUL SYLLABLE TIKEUT YAE CHIEUCH
+  {0x88F3, 0xB350}, //1413 #HANGUL SYLLABLE TIKEUT YAE KHIEUKH
+  {0x88F4, 0xB351}, //1414 #HANGUL SYLLABLE TIKEUT YAE THIEUTH
+  {0x88F5, 0xB352}, //1415 #HANGUL SYLLABLE TIKEUT YAE PHIEUPH
+  {0x88F6, 0xB353}, //1416 #HANGUL SYLLABLE TIKEUT YAE HIEUH
+  {0x88F7, 0xB357}, //1417 #HANGUL SYLLABLE TIKEUT EO KIYEOKSIOS
+  {0x88F8, 0xB359}, //1418 #HANGUL SYLLABLE TIKEUT EO NIEUNCIEUC
+  {0x88F9, 0xB35A}, //1419 #HANGUL SYLLABLE TIKEUT EO NIEUNHIEUH
+  {0x88FA, 0xB35D}, //1420 #HANGUL SYLLABLE TIKEUT EO RIEULKIYEOK
+  {0x88FB, 0xB360}, //1421 #HANGUL SYLLABLE TIKEUT EO RIEULSIOS
+  {0x88FC, 0xB361}, //1422 #HANGUL SYLLABLE TIKEUT EO RIEULTHIEUTH
+  {0x88FD, 0xB362}, //1423 #HANGUL SYLLABLE TIKEUT EO RIEULPHIEUPH
+  {0x88FE, 0xB363}, //1424 #HANGUL SYLLABLE TIKEUT EO RIEULHIEUH
+  {0x8941, 0xB366}, //1425 #HANGUL SYLLABLE TIKEUT EO PIEUPSIOS
+  {0x8942, 0xB368}, //1426 #HANGUL SYLLABLE TIKEUT EO SSANGSIOS
+  {0x8943, 0xB36A}, //1427 #HANGUL SYLLABLE TIKEUT EO CIEUC
+  {0x8944, 0xB36C}, //1428 #HANGUL SYLLABLE TIKEUT EO KHIEUKH
+  {0x8945, 0xB36D}, //1429 #HANGUL SYLLABLE TIKEUT EO THIEUTH
+  {0x8946, 0xB36F}, //1430 #HANGUL SYLLABLE TIKEUT EO HIEUH
+  {0x8947, 0xB372}, //1431 #HANGUL SYLLABLE TIKEUT E SSANGKIYEOK
+  {0x8948, 0xB373}, //1432 #HANGUL SYLLABLE TIKEUT E KIYEOKSIOS
+  {0x8949, 0xB375}, //1433 #HANGUL SYLLABLE TIKEUT E NIEUNCIEUC
+  {0x894A, 0xB376}, //1434 #HANGUL SYLLABLE TIKEUT E NIEUNHIEUH
+  {0x894B, 0xB377}, //1435 #HANGUL SYLLABLE TIKEUT E TIKEUT
+  {0x894C, 0xB379}, //1436 #HANGUL SYLLABLE TIKEUT E RIEULKIYEOK
+  {0x894D, 0xB37A}, //1437 #HANGUL SYLLABLE TIKEUT E RIEULMIEUM
+  {0x894E, 0xB37B}, //1438 #HANGUL SYLLABLE TIKEUT E RIEULPIEUP
+  {0x894F, 0xB37C}, //1439 #HANGUL SYLLABLE TIKEUT E RIEULSIOS
+  {0x8950, 0xB37D}, //1440 #HANGUL SYLLABLE TIKEUT E RIEULTHIEUTH
+  {0x8951, 0xB37E}, //1441 #HANGUL SYLLABLE TIKEUT E RIEULPHIEUPH
+  {0x8952, 0xB37F}, //1442 #HANGUL SYLLABLE TIKEUT E RIEULHIEUH
+  {0x8953, 0xB382}, //1443 #HANGUL SYLLABLE TIKEUT E PIEUPSIOS
+  {0x8954, 0xB386}, //1444 #HANGUL SYLLABLE TIKEUT E CIEUC
+  {0x8955, 0xB387}, //1445 #HANGUL SYLLABLE TIKEUT E CHIEUCH
+  {0x8956, 0xB388}, //1446 #HANGUL SYLLABLE TIKEUT E KHIEUKH
+  {0x8957, 0xB389}, //1447 #HANGUL SYLLABLE TIKEUT E THIEUTH
+  {0x8958, 0xB38A}, //1448 #HANGUL SYLLABLE TIKEUT E PHIEUPH
+  {0x8959, 0xB38B}, //1449 #HANGUL SYLLABLE TIKEUT E HIEUH
+  {0x895A, 0xB38D}, //1450 #HANGUL SYLLABLE TIKEUT YEO KIYEOK
+  {0x8961, 0xB38E}, //1451 #HANGUL SYLLABLE TIKEUT YEO SSANGKIYEOK
+  {0x8962, 0xB38F}, //1452 #HANGUL SYLLABLE TIKEUT YEO KIYEOKSIOS
+  {0x8963, 0xB391}, //1453 #HANGUL SYLLABLE TIKEUT YEO NIEUNCIEUC
+  {0x8964, 0xB392}, //1454 #HANGUL SYLLABLE TIKEUT YEO NIEUNHIEUH
+  {0x8965, 0xB393}, //1455 #HANGUL SYLLABLE TIKEUT YEO TIKEUT
+  {0x8966, 0xB395}, //1456 #HANGUL SYLLABLE TIKEUT YEO RIEULKIYEOK
+  {0x8967, 0xB396}, //1457 #HANGUL SYLLABLE TIKEUT YEO RIEULMIEUM
+  {0x8968, 0xB397}, //1458 #HANGUL SYLLABLE TIKEUT YEO RIEULPIEUP
+  {0x8969, 0xB398}, //1459 #HANGUL SYLLABLE TIKEUT YEO RIEULSIOS
+  {0x896A, 0xB399}, //1460 #HANGUL SYLLABLE TIKEUT YEO RIEULTHIEUTH
+  {0x896B, 0xB39A}, //1461 #HANGUL SYLLABLE TIKEUT YEO RIEULPHIEUPH
+  {0x896C, 0xB39B}, //1462 #HANGUL SYLLABLE TIKEUT YEO RIEULHIEUH
+  {0x896D, 0xB39C}, //1463 #HANGUL SYLLABLE TIKEUT YEO MIEUM
+  {0x896E, 0xB39D}, //1464 #HANGUL SYLLABLE TIKEUT YEO PIEUP
+  {0x896F, 0xB39E}, //1465 #HANGUL SYLLABLE TIKEUT YEO PIEUPSIOS
+  {0x8970, 0xB39F}, //1466 #HANGUL SYLLABLE TIKEUT YEO SIOS
+  {0x8971, 0xB3A2}, //1467 #HANGUL SYLLABLE TIKEUT YEO CIEUC
+  {0x8972, 0xB3A3}, //1468 #HANGUL SYLLABLE TIKEUT YEO CHIEUCH
+  {0x8973, 0xB3A4}, //1469 #HANGUL SYLLABLE TIKEUT YEO KHIEUKH
+  {0x8974, 0xB3A5}, //1470 #HANGUL SYLLABLE TIKEUT YEO THIEUTH
+  {0x8975, 0xB3A6}, //1471 #HANGUL SYLLABLE TIKEUT YEO PHIEUPH
+  {0x8976, 0xB3A7}, //1472 #HANGUL SYLLABLE TIKEUT YEO HIEUH
+  {0x8977, 0xB3A9}, //1473 #HANGUL SYLLABLE TIKEUT YE KIYEOK
+  {0x8978, 0xB3AA}, //1474 #HANGUL SYLLABLE TIKEUT YE SSANGKIYEOK
+  {0x8979, 0xB3AB}, //1475 #HANGUL SYLLABLE TIKEUT YE KIYEOKSIOS
+  {0x897A, 0xB3AD}, //1476 #HANGUL SYLLABLE TIKEUT YE NIEUNCIEUC
+  {0x8981, 0xB3AE}, //1477 #HANGUL SYLLABLE TIKEUT YE NIEUNHIEUH
+  {0x8982, 0xB3AF}, //1478 #HANGUL SYLLABLE TIKEUT YE TIKEUT
+  {0x8983, 0xB3B0}, //1479 #HANGUL SYLLABLE TIKEUT YE RIEUL
+  {0x8984, 0xB3B1}, //1480 #HANGUL SYLLABLE TIKEUT YE RIEULKIYEOK
+  {0x8985, 0xB3B2}, //1481 #HANGUL SYLLABLE TIKEUT YE RIEULMIEUM
+  {0x8986, 0xB3B3}, //1482 #HANGUL SYLLABLE TIKEUT YE RIEULPIEUP
+  {0x8987, 0xB3B4}, //1483 #HANGUL SYLLABLE TIKEUT YE RIEULSIOS
+  {0x8988, 0xB3B5}, //1484 #HANGUL SYLLABLE TIKEUT YE RIEULTHIEUTH
+  {0x8989, 0xB3B6}, //1485 #HANGUL SYLLABLE TIKEUT YE RIEULPHIEUPH
+  {0x898A, 0xB3B7}, //1486 #HANGUL SYLLABLE TIKEUT YE RIEULHIEUH
+  {0x898B, 0xB3B8}, //1487 #HANGUL SYLLABLE TIKEUT YE MIEUM
+  {0x898C, 0xB3B9}, //1488 #HANGUL SYLLABLE TIKEUT YE PIEUP
+  {0x898D, 0xB3BA}, //1489 #HANGUL SYLLABLE TIKEUT YE PIEUPSIOS
+  {0x898E, 0xB3BB}, //1490 #HANGUL SYLLABLE TIKEUT YE SIOS
+  {0x898F, 0xB3BC}, //1491 #HANGUL SYLLABLE TIKEUT YE SSANGSIOS
+  {0x8990, 0xB3BD}, //1492 #HANGUL SYLLABLE TIKEUT YE IEUNG
+  {0x8991, 0xB3BE}, //1493 #HANGUL SYLLABLE TIKEUT YE CIEUC
+  {0x8992, 0xB3BF}, //1494 #HANGUL SYLLABLE TIKEUT YE CHIEUCH
+  {0x8993, 0xB3C0}, //1495 #HANGUL SYLLABLE TIKEUT YE KHIEUKH
+  {0x8994, 0xB3C1}, //1496 #HANGUL SYLLABLE TIKEUT YE THIEUTH
+  {0x8995, 0xB3C2}, //1497 #HANGUL SYLLABLE TIKEUT YE PHIEUPH
+  {0x8996, 0xB3C3}, //1498 #HANGUL SYLLABLE TIKEUT YE HIEUH
+  {0x8997, 0xB3C6}, //1499 #HANGUL SYLLABLE TIKEUT O SSANGKIYEOK
+  {0x8998, 0xB3C7}, //1500 #HANGUL SYLLABLE TIKEUT O KIYEOKSIOS
+  {0x8999, 0xB3C9}, //1501 #HANGUL SYLLABLE TIKEUT O NIEUNCIEUC
+  {0x899A, 0xB3CA}, //1502 #HANGUL SYLLABLE TIKEUT O NIEUNHIEUH
+  {0x899B, 0xB3CD}, //1503 #HANGUL SYLLABLE TIKEUT O RIEULKIYEOK
+  {0x899C, 0xB3CF}, //1504 #HANGUL SYLLABLE TIKEUT O RIEULPIEUP
+  {0x899D, 0xB3D1}, //1505 #HANGUL SYLLABLE TIKEUT O RIEULTHIEUTH
+  {0x899E, 0xB3D2}, //1506 #HANGUL SYLLABLE TIKEUT O RIEULPHIEUPH
+  {0x899F, 0xB3D3}, //1507 #HANGUL SYLLABLE TIKEUT O RIEULHIEUH
+  {0x89A0, 0xB3D6}, //1508 #HANGUL SYLLABLE TIKEUT O PIEUPSIOS
+  {0x89A1, 0xB3D8}, //1509 #HANGUL SYLLABLE TIKEUT O SSANGSIOS
+  {0x89A2, 0xB3DA}, //1510 #HANGUL SYLLABLE TIKEUT O CIEUC
+  {0x89A3, 0xB3DC}, //1511 #HANGUL SYLLABLE TIKEUT O KHIEUKH
+  {0x89A4, 0xB3DE}, //1512 #HANGUL SYLLABLE TIKEUT O PHIEUPH
+  {0x89A5, 0xB3DF}, //1513 #HANGUL SYLLABLE TIKEUT O HIEUH
+  {0x89A6, 0xB3E1}, //1514 #HANGUL SYLLABLE TIKEUT WA KIYEOK
+  {0x89A7, 0xB3E2}, //1515 #HANGUL SYLLABLE TIKEUT WA SSANGKIYEOK
+  {0x89A8, 0xB3E3}, //1516 #HANGUL SYLLABLE TIKEUT WA KIYEOKSIOS
+  {0x89A9, 0xB3E5}, //1517 #HANGUL SYLLABLE TIKEUT WA NIEUNCIEUC
+  {0x89AA, 0xB3E6}, //1518 #HANGUL SYLLABLE TIKEUT WA NIEUNHIEUH
+  {0x89AB, 0xB3E7}, //1519 #HANGUL SYLLABLE TIKEUT WA TIKEUT
+  {0x89AC, 0xB3E9}, //1520 #HANGUL SYLLABLE TIKEUT WA RIEULKIYEOK
+  {0x89AD, 0xB3EA}, //1521 #HANGUL SYLLABLE TIKEUT WA RIEULMIEUM
+  {0x89AE, 0xB3EB}, //1522 #HANGUL SYLLABLE TIKEUT WA RIEULPIEUP
+  {0x89AF, 0xB3EC}, //1523 #HANGUL SYLLABLE TIKEUT WA RIEULSIOS
+  {0x89B0, 0xB3ED}, //1524 #HANGUL SYLLABLE TIKEUT WA RIEULTHIEUTH
+  {0x89B1, 0xB3EE}, //1525 #HANGUL SYLLABLE TIKEUT WA RIEULPHIEUPH
+  {0x89B2, 0xB3EF}, //1526 #HANGUL SYLLABLE TIKEUT WA RIEULHIEUH
+  {0x89B3, 0xB3F0}, //1527 #HANGUL SYLLABLE TIKEUT WA MIEUM
+  {0x89B4, 0xB3F1}, //1528 #HANGUL SYLLABLE TIKEUT WA PIEUP
+  {0x89B5, 0xB3F2}, //1529 #HANGUL SYLLABLE TIKEUT WA PIEUPSIOS
+  {0x89B6, 0xB3F3}, //1530 #HANGUL SYLLABLE TIKEUT WA SIOS
+  {0x89B7, 0xB3F4}, //1531 #HANGUL SYLLABLE TIKEUT WA SSANGSIOS
+  {0x89B8, 0xB3F5}, //1532 #HANGUL SYLLABLE TIKEUT WA IEUNG
+  {0x89B9, 0xB3F6}, //1533 #HANGUL SYLLABLE TIKEUT WA CIEUC
+  {0x89BA, 0xB3F7}, //1534 #HANGUL SYLLABLE TIKEUT WA CHIEUCH
+  {0x89BB, 0xB3F8}, //1535 #HANGUL SYLLABLE TIKEUT WA KHIEUKH
+  {0x89BC, 0xB3F9}, //1536 #HANGUL SYLLABLE TIKEUT WA THIEUTH
+  {0x89BD, 0xB3FA}, //1537 #HANGUL SYLLABLE TIKEUT WA PHIEUPH
+  {0x89BE, 0xB3FB}, //1538 #HANGUL SYLLABLE TIKEUT WA HIEUH
+  {0x89BF, 0xB3FD}, //1539 #HANGUL SYLLABLE TIKEUT WAE KIYEOK
+  {0x89C0, 0xB3FE}, //1540 #HANGUL SYLLABLE TIKEUT WAE SSANGKIYEOK
+  {0x89C1, 0xB3FF}, //1541 #HANGUL SYLLABLE TIKEUT WAE KIYEOKSIOS
+  {0x89C2, 0xB400}, //1542 #HANGUL SYLLABLE TIKEUT WAE NIEUN
+  {0x89C3, 0xB401}, //1543 #HANGUL SYLLABLE TIKEUT WAE NIEUNCIEUC
+  {0x89C4, 0xB402}, //1544 #HANGUL SYLLABLE TIKEUT WAE NIEUNHIEUH
+  {0x89C5, 0xB403}, //1545 #HANGUL SYLLABLE TIKEUT WAE TIKEUT
+  {0x89C6, 0xB404}, //1546 #HANGUL SYLLABLE TIKEUT WAE RIEUL
+  {0x89C7, 0xB405}, //1547 #HANGUL SYLLABLE TIKEUT WAE RIEULKIYEOK
+  {0x89C8, 0xB406}, //1548 #HANGUL SYLLABLE TIKEUT WAE RIEULMIEUM
+  {0x89C9, 0xB407}, //1549 #HANGUL SYLLABLE TIKEUT WAE RIEULPIEUP
+  {0x89CA, 0xB408}, //1550 #HANGUL SYLLABLE TIKEUT WAE RIEULSIOS
+  {0x89CB, 0xB409}, //1551 #HANGUL SYLLABLE TIKEUT WAE RIEULTHIEUTH
+  {0x89CC, 0xB40A}, //1552 #HANGUL SYLLABLE TIKEUT WAE RIEULPHIEUPH
+  {0x89CD, 0xB40B}, //1553 #HANGUL SYLLABLE TIKEUT WAE RIEULHIEUH
+  {0x89CE, 0xB40C}, //1554 #HANGUL SYLLABLE TIKEUT WAE MIEUM
+  {0x89CF, 0xB40D}, //1555 #HANGUL SYLLABLE TIKEUT WAE PIEUP
+  {0x89D0, 0xB40E}, //1556 #HANGUL SYLLABLE TIKEUT WAE PIEUPSIOS
+  {0x89D1, 0xB40F}, //1557 #HANGUL SYLLABLE TIKEUT WAE SIOS
+  {0x89D2, 0xB411}, //1558 #HANGUL SYLLABLE TIKEUT WAE IEUNG
+  {0x89D3, 0xB412}, //1559 #HANGUL SYLLABLE TIKEUT WAE CIEUC
+  {0x89D4, 0xB413}, //1560 #HANGUL SYLLABLE TIKEUT WAE CHIEUCH
+  {0x89D5, 0xB414}, //1561 #HANGUL SYLLABLE TIKEUT WAE KHIEUKH
+  {0x89D6, 0xB415}, //1562 #HANGUL SYLLABLE TIKEUT WAE THIEUTH
+  {0x89D7, 0xB416}, //1563 #HANGUL SYLLABLE TIKEUT WAE PHIEUPH
+  {0x89D8, 0xB417}, //1564 #HANGUL SYLLABLE TIKEUT WAE HIEUH
+  {0x89D9, 0xB419}, //1565 #HANGUL SYLLABLE TIKEUT OE KIYEOK
+  {0x89DA, 0xB41A}, //1566 #HANGUL SYLLABLE TIKEUT OE SSANGKIYEOK
+  {0x89DB, 0xB41B}, //1567 #HANGUL SYLLABLE TIKEUT OE KIYEOKSIOS
+  {0x89DC, 0xB41D}, //1568 #HANGUL SYLLABLE TIKEUT OE NIEUNCIEUC
+  {0x89DD, 0xB41E}, //1569 #HANGUL SYLLABLE TIKEUT OE NIEUNHIEUH
+  {0x89DE, 0xB41F}, //1570 #HANGUL SYLLABLE TIKEUT OE TIKEUT
+  {0x89DF, 0xB421}, //1571 #HANGUL SYLLABLE TIKEUT OE RIEULKIYEOK
+  {0x89E0, 0xB422}, //1572 #HANGUL SYLLABLE TIKEUT OE RIEULMIEUM
+  {0x89E1, 0xB423}, //1573 #HANGUL SYLLABLE TIKEUT OE RIEULPIEUP
+  {0x89E2, 0xB424}, //1574 #HANGUL SYLLABLE TIKEUT OE RIEULSIOS
+  {0x89E3, 0xB425}, //1575 #HANGUL SYLLABLE TIKEUT OE RIEULTHIEUTH
+  {0x89E4, 0xB426}, //1576 #HANGUL SYLLABLE TIKEUT OE RIEULPHIEUPH
+  {0x89E5, 0xB427}, //1577 #HANGUL SYLLABLE TIKEUT OE RIEULHIEUH
+  {0x89E6, 0xB42A}, //1578 #HANGUL SYLLABLE TIKEUT OE PIEUPSIOS
+  {0x89E7, 0xB42C}, //1579 #HANGUL SYLLABLE TIKEUT OE SSANGSIOS
+  {0x89E8, 0xB42D}, //1580 #HANGUL SYLLABLE TIKEUT OE IEUNG
+  {0x89E9, 0xB42E}, //1581 #HANGUL SYLLABLE TIKEUT OE CIEUC
+  {0x89EA, 0xB42F}, //1582 #HANGUL SYLLABLE TIKEUT OE CHIEUCH
+  {0x89EB, 0xB430}, //1583 #HANGUL SYLLABLE TIKEUT OE KHIEUKH
+  {0x89EC, 0xB431}, //1584 #HANGUL SYLLABLE TIKEUT OE THIEUTH
+  {0x89ED, 0xB432}, //1585 #HANGUL SYLLABLE TIKEUT OE PHIEUPH
+  {0x89EE, 0xB433}, //1586 #HANGUL SYLLABLE TIKEUT OE HIEUH
+  {0x89EF, 0xB435}, //1587 #HANGUL SYLLABLE TIKEUT YO KIYEOK
+  {0x89F0, 0xB436}, //1588 #HANGUL SYLLABLE TIKEUT YO SSANGKIYEOK
+  {0x89F1, 0xB437}, //1589 #HANGUL SYLLABLE TIKEUT YO KIYEOKSIOS
+  {0x89F2, 0xB438}, //1590 #HANGUL SYLLABLE TIKEUT YO NIEUN
+  {0x89F3, 0xB439}, //1591 #HANGUL SYLLABLE TIKEUT YO NIEUNCIEUC
+  {0x89F4, 0xB43A}, //1592 #HANGUL SYLLABLE TIKEUT YO NIEUNHIEUH
+  {0x89F5, 0xB43B}, //1593 #HANGUL SYLLABLE TIKEUT YO TIKEUT
+  {0x89F6, 0xB43C}, //1594 #HANGUL SYLLABLE TIKEUT YO RIEUL
+  {0x89F7, 0xB43D}, //1595 #HANGUL SYLLABLE TIKEUT YO RIEULKIYEOK
+  {0x89F8, 0xB43E}, //1596 #HANGUL SYLLABLE TIKEUT YO RIEULMIEUM
+  {0x89F9, 0xB43F}, //1597 #HANGUL SYLLABLE TIKEUT YO RIEULPIEUP
+  {0x89FA, 0xB440}, //1598 #HANGUL SYLLABLE TIKEUT YO RIEULSIOS
+  {0x89FB, 0xB441}, //1599 #HANGUL SYLLABLE TIKEUT YO RIEULTHIEUTH
+  {0x89FC, 0xB442}, //1600 #HANGUL SYLLABLE TIKEUT YO RIEULPHIEUPH
+  {0x89FD, 0xB443}, //1601 #HANGUL SYLLABLE TIKEUT YO RIEULHIEUH
+  {0x89FE, 0xB444}, //1602 #HANGUL SYLLABLE TIKEUT YO MIEUM
+  {0x8A41, 0xB445}, //1603 #HANGUL SYLLABLE TIKEUT YO PIEUP
+  {0x8A42, 0xB446}, //1604 #HANGUL SYLLABLE TIKEUT YO PIEUPSIOS
+  {0x8A43, 0xB447}, //1605 #HANGUL SYLLABLE TIKEUT YO SIOS
+  {0x8A44, 0xB448}, //1606 #HANGUL SYLLABLE TIKEUT YO SSANGSIOS
+  {0x8A45, 0xB449}, //1607 #HANGUL SYLLABLE TIKEUT YO IEUNG
+  {0x8A46, 0xB44A}, //1608 #HANGUL SYLLABLE TIKEUT YO CIEUC
+  {0x8A47, 0xB44B}, //1609 #HANGUL SYLLABLE TIKEUT YO CHIEUCH
+  {0x8A48, 0xB44C}, //1610 #HANGUL SYLLABLE TIKEUT YO KHIEUKH
+  {0x8A49, 0xB44D}, //1611 #HANGUL SYLLABLE TIKEUT YO THIEUTH
+  {0x8A4A, 0xB44E}, //1612 #HANGUL SYLLABLE TIKEUT YO PHIEUPH
+  {0x8A4B, 0xB44F}, //1613 #HANGUL SYLLABLE TIKEUT YO HIEUH
+  {0x8A4C, 0xB452}, //1614 #HANGUL SYLLABLE TIKEUT U SSANGKIYEOK
+  {0x8A4D, 0xB453}, //1615 #HANGUL SYLLABLE TIKEUT U KIYEOKSIOS
+  {0x8A4E, 0xB455}, //1616 #HANGUL SYLLABLE TIKEUT U NIEUNCIEUC
+  {0x8A4F, 0xB456}, //1617 #HANGUL SYLLABLE TIKEUT U NIEUNHIEUH
+  {0x8A50, 0xB457}, //1618 #HANGUL SYLLABLE TIKEUT U TIKEUT
+  {0x8A51, 0xB459}, //1619 #HANGUL SYLLABLE TIKEUT U RIEULKIYEOK
+  {0x8A52, 0xB45A}, //1620 #HANGUL SYLLABLE TIKEUT U RIEULMIEUM
+  {0x8A53, 0xB45B}, //1621 #HANGUL SYLLABLE TIKEUT U RIEULPIEUP
+  {0x8A54, 0xB45C}, //1622 #HANGUL SYLLABLE TIKEUT U RIEULSIOS
+  {0x8A55, 0xB45D}, //1623 #HANGUL SYLLABLE TIKEUT U RIEULTHIEUTH
+  {0x8A56, 0xB45E}, //1624 #HANGUL SYLLABLE TIKEUT U RIEULPHIEUPH
+  {0x8A57, 0xB45F}, //1625 #HANGUL SYLLABLE TIKEUT U RIEULHIEUH
+  {0x8A58, 0xB462}, //1626 #HANGUL SYLLABLE TIKEUT U PIEUPSIOS
+  {0x8A59, 0xB464}, //1627 #HANGUL SYLLABLE TIKEUT U SSANGSIOS
+  {0x8A5A, 0xB466}, //1628 #HANGUL SYLLABLE TIKEUT U CIEUC
+  {0x8A61, 0xB467}, //1629 #HANGUL SYLLABLE TIKEUT U CHIEUCH
+  {0x8A62, 0xB468}, //1630 #HANGUL SYLLABLE TIKEUT U KHIEUKH
+  {0x8A63, 0xB469}, //1631 #HANGUL SYLLABLE TIKEUT U THIEUTH
+  {0x8A64, 0xB46A}, //1632 #HANGUL SYLLABLE TIKEUT U PHIEUPH
+  {0x8A65, 0xB46B}, //1633 #HANGUL SYLLABLE TIKEUT U HIEUH
+  {0x8A66, 0xB46D}, //1634 #HANGUL SYLLABLE TIKEUT WEO KIYEOK
+  {0x8A67, 0xB46E}, //1635 #HANGUL SYLLABLE TIKEUT WEO SSANGKIYEOK
+  {0x8A68, 0xB46F}, //1636 #HANGUL SYLLABLE TIKEUT WEO KIYEOKSIOS
+  {0x8A69, 0xB470}, //1637 #HANGUL SYLLABLE TIKEUT WEO NIEUN
+  {0x8A6A, 0xB471}, //1638 #HANGUL SYLLABLE TIKEUT WEO NIEUNCIEUC
+  {0x8A6B, 0xB472}, //1639 #HANGUL SYLLABLE TIKEUT WEO NIEUNHIEUH
+  {0x8A6C, 0xB473}, //1640 #HANGUL SYLLABLE TIKEUT WEO TIKEUT
+  {0x8A6D, 0xB474}, //1641 #HANGUL SYLLABLE TIKEUT WEO RIEUL
+  {0x8A6E, 0xB475}, //1642 #HANGUL SYLLABLE TIKEUT WEO RIEULKIYEOK
+  {0x8A6F, 0xB476}, //1643 #HANGUL SYLLABLE TIKEUT WEO RIEULMIEUM
+  {0x8A70, 0xB477}, //1644 #HANGUL SYLLABLE TIKEUT WEO RIEULPIEUP
+  {0x8A71, 0xB478}, //1645 #HANGUL SYLLABLE TIKEUT WEO RIEULSIOS
+  {0x8A72, 0xB479}, //1646 #HANGUL SYLLABLE TIKEUT WEO RIEULTHIEUTH
+  {0x8A73, 0xB47A}, //1647 #HANGUL SYLLABLE TIKEUT WEO RIEULPHIEUPH
+  {0x8A74, 0xB47B}, //1648 #HANGUL SYLLABLE TIKEUT WEO RIEULHIEUH
+  {0x8A75, 0xB47C}, //1649 #HANGUL SYLLABLE TIKEUT WEO MIEUM
+  {0x8A76, 0xB47D}, //1650 #HANGUL SYLLABLE TIKEUT WEO PIEUP
+  {0x8A77, 0xB47E}, //1651 #HANGUL SYLLABLE TIKEUT WEO PIEUPSIOS
+  {0x8A78, 0xB47F}, //1652 #HANGUL SYLLABLE TIKEUT WEO SIOS
+  {0x8A79, 0xB481}, //1653 #HANGUL SYLLABLE TIKEUT WEO IEUNG
+  {0x8A7A, 0xB482}, //1654 #HANGUL SYLLABLE TIKEUT WEO CIEUC
+  {0x8A81, 0xB483}, //1655 #HANGUL SYLLABLE TIKEUT WEO CHIEUCH
+  {0x8A82, 0xB484}, //1656 #HANGUL SYLLABLE TIKEUT WEO KHIEUKH
+  {0x8A83, 0xB485}, //1657 #HANGUL SYLLABLE TIKEUT WEO THIEUTH
+  {0x8A84, 0xB486}, //1658 #HANGUL SYLLABLE TIKEUT WEO PHIEUPH
+  {0x8A85, 0xB487}, //1659 #HANGUL SYLLABLE TIKEUT WEO HIEUH
+  {0x8A86, 0xB489}, //1660 #HANGUL SYLLABLE TIKEUT WE KIYEOK
+  {0x8A87, 0xB48A}, //1661 #HANGUL SYLLABLE TIKEUT WE SSANGKIYEOK
+  {0x8A88, 0xB48B}, //1662 #HANGUL SYLLABLE TIKEUT WE KIYEOKSIOS
+  {0x8A89, 0xB48C}, //1663 #HANGUL SYLLABLE TIKEUT WE NIEUN
+  {0x8A8A, 0xB48D}, //1664 #HANGUL SYLLABLE TIKEUT WE NIEUNCIEUC
+  {0x8A8B, 0xB48E}, //1665 #HANGUL SYLLABLE TIKEUT WE NIEUNHIEUH
+  {0x8A8C, 0xB48F}, //1666 #HANGUL SYLLABLE TIKEUT WE TIKEUT
+  {0x8A8D, 0xB490}, //1667 #HANGUL SYLLABLE TIKEUT WE RIEUL
+  {0x8A8E, 0xB491}, //1668 #HANGUL SYLLABLE TIKEUT WE RIEULKIYEOK
+  {0x8A8F, 0xB492}, //1669 #HANGUL SYLLABLE TIKEUT WE RIEULMIEUM
+  {0x8A90, 0xB493}, //1670 #HANGUL SYLLABLE TIKEUT WE RIEULPIEUP
+  {0x8A91, 0xB494}, //1671 #HANGUL SYLLABLE TIKEUT WE RIEULSIOS
+  {0x8A92, 0xB495}, //1672 #HANGUL SYLLABLE TIKEUT WE RIEULTHIEUTH
+  {0x8A93, 0xB496}, //1673 #HANGUL SYLLABLE TIKEUT WE RIEULPHIEUPH
+  {0x8A94, 0xB497}, //1674 #HANGUL SYLLABLE TIKEUT WE RIEULHIEUH
+  {0x8A95, 0xB498}, //1675 #HANGUL SYLLABLE TIKEUT WE MIEUM
+  {0x8A96, 0xB499}, //1676 #HANGUL SYLLABLE TIKEUT WE PIEUP
+  {0x8A97, 0xB49A}, //1677 #HANGUL SYLLABLE TIKEUT WE PIEUPSIOS
+  {0x8A98, 0xB49B}, //1678 #HANGUL SYLLABLE TIKEUT WE SIOS
+  {0x8A99, 0xB49C}, //1679 #HANGUL SYLLABLE TIKEUT WE SSANGSIOS
+  {0x8A9A, 0xB49E}, //1680 #HANGUL SYLLABLE TIKEUT WE CIEUC
+  {0x8A9B, 0xB49F}, //1681 #HANGUL SYLLABLE TIKEUT WE CHIEUCH
+  {0x8A9C, 0xB4A0}, //1682 #HANGUL SYLLABLE TIKEUT WE KHIEUKH
+  {0x8A9D, 0xB4A1}, //1683 #HANGUL SYLLABLE TIKEUT WE THIEUTH
+  {0x8A9E, 0xB4A2}, //1684 #HANGUL SYLLABLE TIKEUT WE PHIEUPH
+  {0x8A9F, 0xB4A3}, //1685 #HANGUL SYLLABLE TIKEUT WE HIEUH
+  {0x8AA0, 0xB4A5}, //1686 #HANGUL SYLLABLE TIKEUT WI KIYEOK
+  {0x8AA1, 0xB4A6}, //1687 #HANGUL SYLLABLE TIKEUT WI SSANGKIYEOK
+  {0x8AA2, 0xB4A7}, //1688 #HANGUL SYLLABLE TIKEUT WI KIYEOKSIOS
+  {0x8AA3, 0xB4A9}, //1689 #HANGUL SYLLABLE TIKEUT WI NIEUNCIEUC
+  {0x8AA4, 0xB4AA}, //1690 #HANGUL SYLLABLE TIKEUT WI NIEUNHIEUH
+  {0x8AA5, 0xB4AB}, //1691 #HANGUL SYLLABLE TIKEUT WI TIKEUT
+  {0x8AA6, 0xB4AD}, //1692 #HANGUL SYLLABLE TIKEUT WI RIEULKIYEOK
+  {0x8AA7, 0xB4AE}, //1693 #HANGUL SYLLABLE TIKEUT WI RIEULMIEUM
+  {0x8AA8, 0xB4AF}, //1694 #HANGUL SYLLABLE TIKEUT WI RIEULPIEUP
+  {0x8AA9, 0xB4B0}, //1695 #HANGUL SYLLABLE TIKEUT WI RIEULSIOS
+  {0x8AAA, 0xB4B1}, //1696 #HANGUL SYLLABLE TIKEUT WI RIEULTHIEUTH
+  {0x8AAB, 0xB4B2}, //1697 #HANGUL SYLLABLE TIKEUT WI RIEULPHIEUPH
+  {0x8AAC, 0xB4B3}, //1698 #HANGUL SYLLABLE TIKEUT WI RIEULHIEUH
+  {0x8AAD, 0xB4B4}, //1699 #HANGUL SYLLABLE TIKEUT WI MIEUM
+  {0x8AAE, 0xB4B6}, //1700 #HANGUL SYLLABLE TIKEUT WI PIEUPSIOS
+  {0x8AAF, 0xB4B8}, //1701 #HANGUL SYLLABLE TIKEUT WI SSANGSIOS
+  {0x8AB0, 0xB4BA}, //1702 #HANGUL SYLLABLE TIKEUT WI CIEUC
+  {0x8AB1, 0xB4BB}, //1703 #HANGUL SYLLABLE TIKEUT WI CHIEUCH
+  {0x8AB2, 0xB4BC}, //1704 #HANGUL SYLLABLE TIKEUT WI KHIEUKH
+  {0x8AB3, 0xB4BD}, //1705 #HANGUL SYLLABLE TIKEUT WI THIEUTH
+  {0x8AB4, 0xB4BE}, //1706 #HANGUL SYLLABLE TIKEUT WI PHIEUPH
+  {0x8AB5, 0xB4BF}, //1707 #HANGUL SYLLABLE TIKEUT WI HIEUH
+  {0x8AB6, 0xB4C1}, //1708 #HANGUL SYLLABLE TIKEUT YU KIYEOK
+  {0x8AB7, 0xB4C2}, //1709 #HANGUL SYLLABLE TIKEUT YU SSANGKIYEOK
+  {0x8AB8, 0xB4C3}, //1710 #HANGUL SYLLABLE TIKEUT YU KIYEOKSIOS
+  {0x8AB9, 0xB4C5}, //1711 #HANGUL SYLLABLE TIKEUT YU NIEUNCIEUC
+  {0x8ABA, 0xB4C6}, //1712 #HANGUL SYLLABLE TIKEUT YU NIEUNHIEUH
+  {0x8ABB, 0xB4C7}, //1713 #HANGUL SYLLABLE TIKEUT YU TIKEUT
+  {0x8ABC, 0xB4C9}, //1714 #HANGUL SYLLABLE TIKEUT YU RIEULKIYEOK
+  {0x8ABD, 0xB4CA}, //1715 #HANGUL SYLLABLE TIKEUT YU RIEULMIEUM
+  {0x8ABE, 0xB4CB}, //1716 #HANGUL SYLLABLE TIKEUT YU RIEULPIEUP
+  {0x8ABF, 0xB4CC}, //1717 #HANGUL SYLLABLE TIKEUT YU RIEULSIOS
+  {0x8AC0, 0xB4CD}, //1718 #HANGUL SYLLABLE TIKEUT YU RIEULTHIEUTH
+  {0x8AC1, 0xB4CE}, //1719 #HANGUL SYLLABLE TIKEUT YU RIEULPHIEUPH
+  {0x8AC2, 0xB4CF}, //1720 #HANGUL SYLLABLE TIKEUT YU RIEULHIEUH
+  {0x8AC3, 0xB4D1}, //1721 #HANGUL SYLLABLE TIKEUT YU PIEUP
+  {0x8AC4, 0xB4D2}, //1722 #HANGUL SYLLABLE TIKEUT YU PIEUPSIOS
+  {0x8AC5, 0xB4D3}, //1723 #HANGUL SYLLABLE TIKEUT YU SIOS
+  {0x8AC6, 0xB4D4}, //1724 #HANGUL SYLLABLE TIKEUT YU SSANGSIOS
+  {0x8AC7, 0xB4D6}, //1725 #HANGUL SYLLABLE TIKEUT YU CIEUC
+  {0x8AC8, 0xB4D7}, //1726 #HANGUL SYLLABLE TIKEUT YU CHIEUCH
+  {0x8AC9, 0xB4D8}, //1727 #HANGUL SYLLABLE TIKEUT YU KHIEUKH
+  {0x8ACA, 0xB4D9}, //1728 #HANGUL SYLLABLE TIKEUT YU THIEUTH
+  {0x8ACB, 0xB4DA}, //1729 #HANGUL SYLLABLE TIKEUT YU PHIEUPH
+  {0x8ACC, 0xB4DB}, //1730 #HANGUL SYLLABLE TIKEUT YU HIEUH
+  {0x8ACD, 0xB4DE}, //1731 #HANGUL SYLLABLE TIKEUT EU SSANGKIYEOK
+  {0x8ACE, 0xB4DF}, //1732 #HANGUL SYLLABLE TIKEUT EU KIYEOKSIOS
+  {0x8ACF, 0xB4E1}, //1733 #HANGUL SYLLABLE TIKEUT EU NIEUNCIEUC
+  {0x8AD0, 0xB4E2}, //1734 #HANGUL SYLLABLE TIKEUT EU NIEUNHIEUH
+  {0x8AD1, 0xB4E5}, //1735 #HANGUL SYLLABLE TIKEUT EU RIEULKIYEOK
+  {0x8AD2, 0xB4E7}, //1736 #HANGUL SYLLABLE TIKEUT EU RIEULPIEUP
+  {0x8AD3, 0xB4E8}, //1737 #HANGUL SYLLABLE TIKEUT EU RIEULSIOS
+  {0x8AD4, 0xB4E9}, //1738 #HANGUL SYLLABLE TIKEUT EU RIEULTHIEUTH
+  {0x8AD5, 0xB4EA}, //1739 #HANGUL SYLLABLE TIKEUT EU RIEULPHIEUPH
+  {0x8AD6, 0xB4EB}, //1740 #HANGUL SYLLABLE TIKEUT EU RIEULHIEUH
+  {0x8AD7, 0xB4EE}, //1741 #HANGUL SYLLABLE TIKEUT EU PIEUPSIOS
+  {0x8AD8, 0xB4F0}, //1742 #HANGUL SYLLABLE TIKEUT EU SSANGSIOS
+  {0x8AD9, 0xB4F2}, //1743 #HANGUL SYLLABLE TIKEUT EU CIEUC
+  {0x8ADA, 0xB4F3}, //1744 #HANGUL SYLLABLE TIKEUT EU CHIEUCH
+  {0x8ADB, 0xB4F4}, //1745 #HANGUL SYLLABLE TIKEUT EU KHIEUKH
+  {0x8ADC, 0xB4F5}, //1746 #HANGUL SYLLABLE TIKEUT EU THIEUTH
+  {0x8ADD, 0xB4F6}, //1747 #HANGUL SYLLABLE TIKEUT EU PHIEUPH
+  {0x8ADE, 0xB4F7}, //1748 #HANGUL SYLLABLE TIKEUT EU HIEUH
+  {0x8ADF, 0xB4F9}, //1749 #HANGUL SYLLABLE TIKEUT YI KIYEOK
+  {0x8AE0, 0xB4FA}, //1750 #HANGUL SYLLABLE TIKEUT YI SSANGKIYEOK
+  {0x8AE1, 0xB4FB}, //1751 #HANGUL SYLLABLE TIKEUT YI KIYEOKSIOS
+  {0x8AE2, 0xB4FC}, //1752 #HANGUL SYLLABLE TIKEUT YI NIEUN
+  {0x8AE3, 0xB4FD}, //1753 #HANGUL SYLLABLE TIKEUT YI NIEUNCIEUC
+  {0x8AE4, 0xB4FE}, //1754 #HANGUL SYLLABLE TIKEUT YI NIEUNHIEUH
+  {0x8AE5, 0xB4FF}, //1755 #HANGUL SYLLABLE TIKEUT YI TIKEUT
+  {0x8AE6, 0xB500}, //1756 #HANGUL SYLLABLE TIKEUT YI RIEUL
+  {0x8AE7, 0xB501}, //1757 #HANGUL SYLLABLE TIKEUT YI RIEULKIYEOK
+  {0x8AE8, 0xB502}, //1758 #HANGUL SYLLABLE TIKEUT YI RIEULMIEUM
+  {0x8AE9, 0xB503}, //1759 #HANGUL SYLLABLE TIKEUT YI RIEULPIEUP
+  {0x8AEA, 0xB504}, //1760 #HANGUL SYLLABLE TIKEUT YI RIEULSIOS
+  {0x8AEB, 0xB505}, //1761 #HANGUL SYLLABLE TIKEUT YI RIEULTHIEUTH
+  {0x8AEC, 0xB506}, //1762 #HANGUL SYLLABLE TIKEUT YI RIEULPHIEUPH
+  {0x8AED, 0xB507}, //1763 #HANGUL SYLLABLE TIKEUT YI RIEULHIEUH
+  {0x8AEE, 0xB508}, //1764 #HANGUL SYLLABLE TIKEUT YI MIEUM
+  {0x8AEF, 0xB509}, //1765 #HANGUL SYLLABLE TIKEUT YI PIEUP
+  {0x8AF0, 0xB50A}, //1766 #HANGUL SYLLABLE TIKEUT YI PIEUPSIOS
+  {0x8AF1, 0xB50B}, //1767 #HANGUL SYLLABLE TIKEUT YI SIOS
+  {0x8AF2, 0xB50C}, //1768 #HANGUL SYLLABLE TIKEUT YI SSANGSIOS
+  {0x8AF3, 0xB50D}, //1769 #HANGUL SYLLABLE TIKEUT YI IEUNG
+  {0x8AF4, 0xB50E}, //1770 #HANGUL SYLLABLE TIKEUT YI CIEUC
+  {0x8AF5, 0xB50F}, //1771 #HANGUL SYLLABLE TIKEUT YI CHIEUCH
+  {0x8AF6, 0xB510}, //1772 #HANGUL SYLLABLE TIKEUT YI KHIEUKH
+  {0x8AF7, 0xB511}, //1773 #HANGUL SYLLABLE TIKEUT YI THIEUTH
+  {0x8AF8, 0xB512}, //1774 #HANGUL SYLLABLE TIKEUT YI PHIEUPH
+  {0x8AF9, 0xB513}, //1775 #HANGUL SYLLABLE TIKEUT YI HIEUH
+  {0x8AFA, 0xB516}, //1776 #HANGUL SYLLABLE TIKEUT I SSANGKIYEOK
+  {0x8AFB, 0xB517}, //1777 #HANGUL SYLLABLE TIKEUT I KIYEOKSIOS
+  {0x8AFC, 0xB519}, //1778 #HANGUL SYLLABLE TIKEUT I NIEUNCIEUC
+  {0x8AFD, 0xB51A}, //1779 #HANGUL SYLLABLE TIKEUT I NIEUNHIEUH
+  {0x8AFE, 0xB51D}, //1780 #HANGUL SYLLABLE TIKEUT I RIEULKIYEOK
+  {0x8B41, 0xB51E}, //1781 #HANGUL SYLLABLE TIKEUT I RIEULMIEUM
+  {0x8B42, 0xB51F}, //1782 #HANGUL SYLLABLE TIKEUT I RIEULPIEUP
+  {0x8B43, 0xB520}, //1783 #HANGUL SYLLABLE TIKEUT I RIEULSIOS
+  {0x8B44, 0xB521}, //1784 #HANGUL SYLLABLE TIKEUT I RIEULTHIEUTH
+  {0x8B45, 0xB522}, //1785 #HANGUL SYLLABLE TIKEUT I RIEULPHIEUPH
+  {0x8B46, 0xB523}, //1786 #HANGUL SYLLABLE TIKEUT I RIEULHIEUH
+  {0x8B47, 0xB526}, //1787 #HANGUL SYLLABLE TIKEUT I PIEUPSIOS
+  {0x8B48, 0xB52B}, //1788 #HANGUL SYLLABLE TIKEUT I CHIEUCH
+  {0x8B49, 0xB52C}, //1789 #HANGUL SYLLABLE TIKEUT I KHIEUKH
+  {0x8B4A, 0xB52D}, //1790 #HANGUL SYLLABLE TIKEUT I THIEUTH
+  {0x8B4B, 0xB52E}, //1791 #HANGUL SYLLABLE TIKEUT I PHIEUPH
+  {0x8B4C, 0xB52F}, //1792 #HANGUL SYLLABLE TIKEUT I HIEUH
+  {0x8B4D, 0xB532}, //1793 #HANGUL SYLLABLE SSANGTIKEUT A SSANGKIYEOK
+  {0x8B4E, 0xB533}, //1794 #HANGUL SYLLABLE SSANGTIKEUT A KIYEOKSIOS
+  {0x8B4F, 0xB535}, //1795 #HANGUL SYLLABLE SSANGTIKEUT A NIEUNCIEUC
+  {0x8B50, 0xB536}, //1796 #HANGUL SYLLABLE SSANGTIKEUT A NIEUNHIEUH
+  {0x8B51, 0xB537}, //1797 #HANGUL SYLLABLE SSANGTIKEUT A TIKEUT
+  {0x8B52, 0xB539}, //1798 #HANGUL SYLLABLE SSANGTIKEUT A RIEULKIYEOK
+  {0x8B53, 0xB53A}, //1799 #HANGUL SYLLABLE SSANGTIKEUT A RIEULMIEUM
+  {0x8B54, 0xB53B}, //1800 #HANGUL SYLLABLE SSANGTIKEUT A RIEULPIEUP
+  {0x8B55, 0xB53C}, //1801 #HANGUL SYLLABLE SSANGTIKEUT A RIEULSIOS
+  {0x8B56, 0xB53D}, //1802 #HANGUL SYLLABLE SSANGTIKEUT A RIEULTHIEUTH
+  {0x8B57, 0xB53E}, //1803 #HANGUL SYLLABLE SSANGTIKEUT A RIEULPHIEUPH
+  {0x8B58, 0xB53F}, //1804 #HANGUL SYLLABLE SSANGTIKEUT A RIEULHIEUH
+  {0x8B59, 0xB542}, //1805 #HANGUL SYLLABLE SSANGTIKEUT A PIEUPSIOS
+  {0x8B5A, 0xB546}, //1806 #HANGUL SYLLABLE SSANGTIKEUT A CIEUC
+  {0x8B61, 0xB547}, //1807 #HANGUL SYLLABLE SSANGTIKEUT A CHIEUCH
+  {0x8B62, 0xB548}, //1808 #HANGUL SYLLABLE SSANGTIKEUT A KHIEUKH
+  {0x8B63, 0xB549}, //1809 #HANGUL SYLLABLE SSANGTIKEUT A THIEUTH
+  {0x8B64, 0xB54A}, //1810 #HANGUL SYLLABLE SSANGTIKEUT A PHIEUPH
+  {0x8B65, 0xB54E}, //1811 #HANGUL SYLLABLE SSANGTIKEUT AE SSANGKIYEOK
+  {0x8B66, 0xB54F}, //1812 #HANGUL SYLLABLE SSANGTIKEUT AE KIYEOKSIOS
+  {0x8B67, 0xB551}, //1813 #HANGUL SYLLABLE SSANGTIKEUT AE NIEUNCIEUC
+  {0x8B68, 0xB552}, //1814 #HANGUL SYLLABLE SSANGTIKEUT AE NIEUNHIEUH
+  {0x8B69, 0xB553}, //1815 #HANGUL SYLLABLE SSANGTIKEUT AE TIKEUT
+  {0x8B6A, 0xB555}, //1816 #HANGUL SYLLABLE SSANGTIKEUT AE RIEULKIYEOK
+  {0x8B6B, 0xB556}, //1817 #HANGUL SYLLABLE SSANGTIKEUT AE RIEULMIEUM
+  {0x8B6C, 0xB557}, //1818 #HANGUL SYLLABLE SSANGTIKEUT AE RIEULPIEUP
+  {0x8B6D, 0xB558}, //1819 #HANGUL SYLLABLE SSANGTIKEUT AE RIEULSIOS
+  {0x8B6E, 0xB559}, //1820 #HANGUL SYLLABLE SSANGTIKEUT AE RIEULTHIEUTH
+  {0x8B6F, 0xB55A}, //1821 #HANGUL SYLLABLE SSANGTIKEUT AE RIEULPHIEUPH
+  {0x8B70, 0xB55B}, //1822 #HANGUL SYLLABLE SSANGTIKEUT AE RIEULHIEUH
+  {0x8B71, 0xB55E}, //1823 #HANGUL SYLLABLE SSANGTIKEUT AE PIEUPSIOS
+  {0x8B72, 0xB562}, //1824 #HANGUL SYLLABLE SSANGTIKEUT AE CIEUC
+  {0x8B73, 0xB563}, //1825 #HANGUL SYLLABLE SSANGTIKEUT AE CHIEUCH
+  {0x8B74, 0xB564}, //1826 #HANGUL SYLLABLE SSANGTIKEUT AE KHIEUKH
+  {0x8B75, 0xB565}, //1827 #HANGUL SYLLABLE SSANGTIKEUT AE THIEUTH
+  {0x8B76, 0xB566}, //1828 #HANGUL SYLLABLE SSANGTIKEUT AE PHIEUPH
+  {0x8B77, 0xB567}, //1829 #HANGUL SYLLABLE SSANGTIKEUT AE HIEUH
+  {0x8B78, 0xB568}, //1830 #HANGUL SYLLABLE SSANGTIKEUT YA
+  {0x8B79, 0xB569}, //1831 #HANGUL SYLLABLE SSANGTIKEUT YA KIYEOK
+  {0x8B7A, 0xB56A}, //1832 #HANGUL SYLLABLE SSANGTIKEUT YA SSANGKIYEOK
+  {0x8B81, 0xB56B}, //1833 #HANGUL SYLLABLE SSANGTIKEUT YA KIYEOKSIOS
+  {0x8B82, 0xB56C}, //1834 #HANGUL SYLLABLE SSANGTIKEUT YA NIEUN
+  {0x8B83, 0xB56D}, //1835 #HANGUL SYLLABLE SSANGTIKEUT YA NIEUNCIEUC
+  {0x8B84, 0xB56E}, //1836 #HANGUL SYLLABLE SSANGTIKEUT YA NIEUNHIEUH
+  {0x8B85, 0xB56F}, //1837 #HANGUL SYLLABLE SSANGTIKEUT YA TIKEUT
+  {0x8B86, 0xB570}, //1838 #HANGUL SYLLABLE SSANGTIKEUT YA RIEUL
+  {0x8B87, 0xB571}, //1839 #HANGUL SYLLABLE SSANGTIKEUT YA RIEULKIYEOK
+  {0x8B88, 0xB572}, //1840 #HANGUL SYLLABLE SSANGTIKEUT YA RIEULMIEUM
+  {0x8B89, 0xB573}, //1841 #HANGUL SYLLABLE SSANGTIKEUT YA RIEULPIEUP
+  {0x8B8A, 0xB574}, //1842 #HANGUL SYLLABLE SSANGTIKEUT YA RIEULSIOS
+  {0x8B8B, 0xB575}, //1843 #HANGUL SYLLABLE SSANGTIKEUT YA RIEULTHIEUTH
+  {0x8B8C, 0xB576}, //1844 #HANGUL SYLLABLE SSANGTIKEUT YA RIEULPHIEUPH
+  {0x8B8D, 0xB577}, //1845 #HANGUL SYLLABLE SSANGTIKEUT YA RIEULHIEUH
+  {0x8B8E, 0xB578}, //1846 #HANGUL SYLLABLE SSANGTIKEUT YA MIEUM
+  {0x8B8F, 0xB579}, //1847 #HANGUL SYLLABLE SSANGTIKEUT YA PIEUP
+  {0x8B90, 0xB57A}, //1848 #HANGUL SYLLABLE SSANGTIKEUT YA PIEUPSIOS
+  {0x8B91, 0xB57B}, //1849 #HANGUL SYLLABLE SSANGTIKEUT YA SIOS
+  {0x8B92, 0xB57C}, //1850 #HANGUL SYLLABLE SSANGTIKEUT YA SSANGSIOS
+  {0x8B93, 0xB57D}, //1851 #HANGUL SYLLABLE SSANGTIKEUT YA IEUNG
+  {0x8B94, 0xB57E}, //1852 #HANGUL SYLLABLE SSANGTIKEUT YA CIEUC
+  {0x8B95, 0xB57F}, //1853 #HANGUL SYLLABLE SSANGTIKEUT YA CHIEUCH
+  {0x8B96, 0xB580}, //1854 #HANGUL SYLLABLE SSANGTIKEUT YA KHIEUKH
+  {0x8B97, 0xB581}, //1855 #HANGUL SYLLABLE SSANGTIKEUT YA THIEUTH
+  {0x8B98, 0xB582}, //1856 #HANGUL SYLLABLE SSANGTIKEUT YA PHIEUPH
+  {0x8B99, 0xB583}, //1857 #HANGUL SYLLABLE SSANGTIKEUT YA HIEUH
+  {0x8B9A, 0xB584}, //1858 #HANGUL SYLLABLE SSANGTIKEUT YAE
+  {0x8B9B, 0xB585}, //1859 #HANGUL SYLLABLE SSANGTIKEUT YAE KIYEOK
+  {0x8B9C, 0xB586}, //1860 #HANGUL SYLLABLE SSANGTIKEUT YAE SSANGKIYEOK
+  {0x8B9D, 0xB587}, //1861 #HANGUL SYLLABLE SSANGTIKEUT YAE KIYEOKSIOS
+  {0x8B9E, 0xB588}, //1862 #HANGUL SYLLABLE SSANGTIKEUT YAE NIEUN
+  {0x8B9F, 0xB589}, //1863 #HANGUL SYLLABLE SSANGTIKEUT YAE NIEUNCIEUC
+  {0x8BA0, 0xB58A}, //1864 #HANGUL SYLLABLE SSANGTIKEUT YAE NIEUNHIEUH
+  {0x8BA1, 0xB58B}, //1865 #HANGUL SYLLABLE SSANGTIKEUT YAE TIKEUT
+  {0x8BA2, 0xB58C}, //1866 #HANGUL SYLLABLE SSANGTIKEUT YAE RIEUL
+  {0x8BA3, 0xB58D}, //1867 #HANGUL SYLLABLE SSANGTIKEUT YAE RIEULKIYEOK
+  {0x8BA4, 0xB58E}, //1868 #HANGUL SYLLABLE SSANGTIKEUT YAE RIEULMIEUM
+  {0x8BA5, 0xB58F}, //1869 #HANGUL SYLLABLE SSANGTIKEUT YAE RIEULPIEUP
+  {0x8BA6, 0xB590}, //1870 #HANGUL SYLLABLE SSANGTIKEUT YAE RIEULSIOS
+  {0x8BA7, 0xB591}, //1871 #HANGUL SYLLABLE SSANGTIKEUT YAE RIEULTHIEUTH
+  {0x8BA8, 0xB592}, //1872 #HANGUL SYLLABLE SSANGTIKEUT YAE RIEULPHIEUPH
+  {0x8BA9, 0xB593}, //1873 #HANGUL SYLLABLE SSANGTIKEUT YAE RIEULHIEUH
+  {0x8BAA, 0xB594}, //1874 #HANGUL SYLLABLE SSANGTIKEUT YAE MIEUM
+  {0x8BAB, 0xB595}, //1875 #HANGUL SYLLABLE SSANGTIKEUT YAE PIEUP
+  {0x8BAC, 0xB596}, //1876 #HANGUL SYLLABLE SSANGTIKEUT YAE PIEUPSIOS
+  {0x8BAD, 0xB597}, //1877 #HANGUL SYLLABLE SSANGTIKEUT YAE SIOS
+  {0x8BAE, 0xB598}, //1878 #HANGUL SYLLABLE SSANGTIKEUT YAE SSANGSIOS
+  {0x8BAF, 0xB599}, //1879 #HANGUL SYLLABLE SSANGTIKEUT YAE IEUNG
+  {0x8BB0, 0xB59A}, //1880 #HANGUL SYLLABLE SSANGTIKEUT YAE CIEUC
+  {0x8BB1, 0xB59B}, //1881 #HANGUL SYLLABLE SSANGTIKEUT YAE CHIEUCH
+  {0x8BB2, 0xB59C}, //1882 #HANGUL SYLLABLE SSANGTIKEUT YAE KHIEUKH
+  {0x8BB3, 0xB59D}, //1883 #HANGUL SYLLABLE SSANGTIKEUT YAE THIEUTH
+  {0x8BB4, 0xB59E}, //1884 #HANGUL SYLLABLE SSANGTIKEUT YAE PHIEUPH
+  {0x8BB5, 0xB59F}, //1885 #HANGUL SYLLABLE SSANGTIKEUT YAE HIEUH
+  {0x8BB6, 0xB5A2}, //1886 #HANGUL SYLLABLE SSANGTIKEUT EO SSANGKIYEOK
+  {0x8BB7, 0xB5A3}, //1887 #HANGUL SYLLABLE SSANGTIKEUT EO KIYEOKSIOS
+  {0x8BB8, 0xB5A5}, //1888 #HANGUL SYLLABLE SSANGTIKEUT EO NIEUNCIEUC
+  {0x8BB9, 0xB5A6}, //1889 #HANGUL SYLLABLE SSANGTIKEUT EO NIEUNHIEUH
+  {0x8BBA, 0xB5A7}, //1890 #HANGUL SYLLABLE SSANGTIKEUT EO TIKEUT
+  {0x8BBB, 0xB5A9}, //1891 #HANGUL SYLLABLE SSANGTIKEUT EO RIEULKIYEOK
+  {0x8BBC, 0xB5AC}, //1892 #HANGUL SYLLABLE SSANGTIKEUT EO RIEULSIOS
+  {0x8BBD, 0xB5AD}, //1893 #HANGUL SYLLABLE SSANGTIKEUT EO RIEULTHIEUTH
+  {0x8BBE, 0xB5AE}, //1894 #HANGUL SYLLABLE SSANGTIKEUT EO RIEULPHIEUPH
+  {0x8BBF, 0xB5AF}, //1895 #HANGUL SYLLABLE SSANGTIKEUT EO RIEULHIEUH
+  {0x8BC0, 0xB5B2}, //1896 #HANGUL SYLLABLE SSANGTIKEUT EO PIEUPSIOS
+  {0x8BC1, 0xB5B6}, //1897 #HANGUL SYLLABLE SSANGTIKEUT EO CIEUC
+  {0x8BC2, 0xB5B7}, //1898 #HANGUL SYLLABLE SSANGTIKEUT EO CHIEUCH
+  {0x8BC3, 0xB5B8}, //1899 #HANGUL SYLLABLE SSANGTIKEUT EO KHIEUKH
+  {0x8BC4, 0xB5B9}, //1900 #HANGUL SYLLABLE SSANGTIKEUT EO THIEUTH
+  {0x8BC5, 0xB5BA}, //1901 #HANGUL SYLLABLE SSANGTIKEUT EO PHIEUPH
+  {0x8BC6, 0xB5BE}, //1902 #HANGUL SYLLABLE SSANGTIKEUT E SSANGKIYEOK
+  {0x8BC7, 0xB5BF}, //1903 #HANGUL SYLLABLE SSANGTIKEUT E KIYEOKSIOS
+  {0x8BC8, 0xB5C1}, //1904 #HANGUL SYLLABLE SSANGTIKEUT E NIEUNCIEUC
+  {0x8BC9, 0xB5C2}, //1905 #HANGUL SYLLABLE SSANGTIKEUT E NIEUNHIEUH
+  {0x8BCA, 0xB5C3}, //1906 #HANGUL SYLLABLE SSANGTIKEUT E TIKEUT
+  {0x8BCB, 0xB5C5}, //1907 #HANGUL SYLLABLE SSANGTIKEUT E RIEULKIYEOK
+  {0x8BCC, 0xB5C6}, //1908 #HANGUL SYLLABLE SSANGTIKEUT E RIEULMIEUM
+  {0x8BCD, 0xB5C7}, //1909 #HANGUL SYLLABLE SSANGTIKEUT E RIEULPIEUP
+  {0x8BCE, 0xB5C8}, //1910 #HANGUL SYLLABLE SSANGTIKEUT E RIEULSIOS
+  {0x8BCF, 0xB5C9}, //1911 #HANGUL SYLLABLE SSANGTIKEUT E RIEULTHIEUTH
+  {0x8BD0, 0xB5CA}, //1912 #HANGUL SYLLABLE SSANGTIKEUT E RIEULPHIEUPH
+  {0x8BD1, 0xB5CB}, //1913 #HANGUL SYLLABLE SSANGTIKEUT E RIEULHIEUH
+  {0x8BD2, 0xB5CE}, //1914 #HANGUL SYLLABLE SSANGTIKEUT E PIEUPSIOS
+  {0x8BD3, 0xB5D2}, //1915 #HANGUL SYLLABLE SSANGTIKEUT E CIEUC
+  {0x8BD4, 0xB5D3}, //1916 #HANGUL SYLLABLE SSANGTIKEUT E CHIEUCH
+  {0x8BD5, 0xB5D4}, //1917 #HANGUL SYLLABLE SSANGTIKEUT E KHIEUKH
+  {0x8BD6, 0xB5D5}, //1918 #HANGUL SYLLABLE SSANGTIKEUT E THIEUTH
+  {0x8BD7, 0xB5D6}, //1919 #HANGUL SYLLABLE SSANGTIKEUT E PHIEUPH
+  {0x8BD8, 0xB5D7}, //1920 #HANGUL SYLLABLE SSANGTIKEUT E HIEUH
+  {0x8BD9, 0xB5D9}, //1921 #HANGUL SYLLABLE SSANGTIKEUT YEO KIYEOK
+  {0x8BDA, 0xB5DA}, //1922 #HANGUL SYLLABLE SSANGTIKEUT YEO SSANGKIYEOK
+  {0x8BDB, 0xB5DB}, //1923 #HANGUL SYLLABLE SSANGTIKEUT YEO KIYEOKSIOS
+  {0x8BDC, 0xB5DC}, //1924 #HANGUL SYLLABLE SSANGTIKEUT YEO NIEUN
+  {0x8BDD, 0xB5DD}, //1925 #HANGUL SYLLABLE SSANGTIKEUT YEO NIEUNCIEUC
+  {0x8BDE, 0xB5DE}, //1926 #HANGUL SYLLABLE SSANGTIKEUT YEO NIEUNHIEUH
+  {0x8BDF, 0xB5DF}, //1927 #HANGUL SYLLABLE SSANGTIKEUT YEO TIKEUT
+  {0x8BE0, 0xB5E0}, //1928 #HANGUL SYLLABLE SSANGTIKEUT YEO RIEUL
+  {0x8BE1, 0xB5E1}, //1929 #HANGUL SYLLABLE SSANGTIKEUT YEO RIEULKIYEOK
+  {0x8BE2, 0xB5E2}, //1930 #HANGUL SYLLABLE SSANGTIKEUT YEO RIEULMIEUM
+  {0x8BE3, 0xB5E3}, //1931 #HANGUL SYLLABLE SSANGTIKEUT YEO RIEULPIEUP
+  {0x8BE4, 0xB5E4}, //1932 #HANGUL SYLLABLE SSANGTIKEUT YEO RIEULSIOS
+  {0x8BE5, 0xB5E5}, //1933 #HANGUL SYLLABLE SSANGTIKEUT YEO RIEULTHIEUTH
+  {0x8BE6, 0xB5E6}, //1934 #HANGUL SYLLABLE SSANGTIKEUT YEO RIEULPHIEUPH
+  {0x8BE7, 0xB5E7}, //1935 #HANGUL SYLLABLE SSANGTIKEUT YEO RIEULHIEUH
+  {0x8BE8, 0xB5E8}, //1936 #HANGUL SYLLABLE SSANGTIKEUT YEO MIEUM
+  {0x8BE9, 0xB5E9}, //1937 #HANGUL SYLLABLE SSANGTIKEUT YEO PIEUP
+  {0x8BEA, 0xB5EA}, //1938 #HANGUL SYLLABLE SSANGTIKEUT YEO PIEUPSIOS
+  {0x8BEB, 0xB5EB}, //1939 #HANGUL SYLLABLE SSANGTIKEUT YEO SIOS
+  {0x8BEC, 0xB5ED}, //1940 #HANGUL SYLLABLE SSANGTIKEUT YEO IEUNG
+  {0x8BED, 0xB5EE}, //1941 #HANGUL SYLLABLE SSANGTIKEUT YEO CIEUC
+  {0x8BEE, 0xB5EF}, //1942 #HANGUL SYLLABLE SSANGTIKEUT YEO CHIEUCH
+  {0x8BEF, 0xB5F0}, //1943 #HANGUL SYLLABLE SSANGTIKEUT YEO KHIEUKH
+  {0x8BF0, 0xB5F1}, //1944 #HANGUL SYLLABLE SSANGTIKEUT YEO THIEUTH
+  {0x8BF1, 0xB5F2}, //1945 #HANGUL SYLLABLE SSANGTIKEUT YEO PHIEUPH
+  {0x8BF2, 0xB5F3}, //1946 #HANGUL SYLLABLE SSANGTIKEUT YEO HIEUH
+  {0x8BF3, 0xB5F4}, //1947 #HANGUL SYLLABLE SSANGTIKEUT YE
+  {0x8BF4, 0xB5F5}, //1948 #HANGUL SYLLABLE SSANGTIKEUT YE KIYEOK
+  {0x8BF5, 0xB5F6}, //1949 #HANGUL SYLLABLE SSANGTIKEUT YE SSANGKIYEOK
+  {0x8BF6, 0xB5F7}, //1950 #HANGUL SYLLABLE SSANGTIKEUT YE KIYEOKSIOS
+  {0x8BF7, 0xB5F8}, //1951 #HANGUL SYLLABLE SSANGTIKEUT YE NIEUN
+  {0x8BF8, 0xB5F9}, //1952 #HANGUL SYLLABLE SSANGTIKEUT YE NIEUNCIEUC
+  {0x8BF9, 0xB5FA}, //1953 #HANGUL SYLLABLE SSANGTIKEUT YE NIEUNHIEUH
+  {0x8BFA, 0xB5FB}, //1954 #HANGUL SYLLABLE SSANGTIKEUT YE TIKEUT
+  {0x8BFB, 0xB5FC}, //1955 #HANGUL SYLLABLE SSANGTIKEUT YE RIEUL
+  {0x8BFC, 0xB5FD}, //1956 #HANGUL SYLLABLE SSANGTIKEUT YE RIEULKIYEOK
+  {0x8BFD, 0xB5FE}, //1957 #HANGUL SYLLABLE SSANGTIKEUT YE RIEULMIEUM
+  {0x8BFE, 0xB5FF}, //1958 #HANGUL SYLLABLE SSANGTIKEUT YE RIEULPIEUP
+  {0x8C41, 0xB600}, //1959 #HANGUL SYLLABLE SSANGTIKEUT YE RIEULSIOS
+  {0x8C42, 0xB601}, //1960 #HANGUL SYLLABLE SSANGTIKEUT YE RIEULTHIEUTH
+  {0x8C43, 0xB602}, //1961 #HANGUL SYLLABLE SSANGTIKEUT YE RIEULPHIEUPH
+  {0x8C44, 0xB603}, //1962 #HANGUL SYLLABLE SSANGTIKEUT YE RIEULHIEUH
+  {0x8C45, 0xB604}, //1963 #HANGUL SYLLABLE SSANGTIKEUT YE MIEUM
+  {0x8C46, 0xB605}, //1964 #HANGUL SYLLABLE SSANGTIKEUT YE PIEUP
+  {0x8C47, 0xB606}, //1965 #HANGUL SYLLABLE SSANGTIKEUT YE PIEUPSIOS
+  {0x8C48, 0xB607}, //1966 #HANGUL SYLLABLE SSANGTIKEUT YE SIOS
+  {0x8C49, 0xB608}, //1967 #HANGUL SYLLABLE SSANGTIKEUT YE SSANGSIOS
+  {0x8C4A, 0xB609}, //1968 #HANGUL SYLLABLE SSANGTIKEUT YE IEUNG
+  {0x8C4B, 0xB60A}, //1969 #HANGUL SYLLABLE SSANGTIKEUT YE CIEUC
+  {0x8C4C, 0xB60B}, //1970 #HANGUL SYLLABLE SSANGTIKEUT YE CHIEUCH
+  {0x8C4D, 0xB60C}, //1971 #HANGUL SYLLABLE SSANGTIKEUT YE KHIEUKH
+  {0x8C4E, 0xB60D}, //1972 #HANGUL SYLLABLE SSANGTIKEUT YE THIEUTH
+  {0x8C4F, 0xB60E}, //1973 #HANGUL SYLLABLE SSANGTIKEUT YE PHIEUPH
+  {0x8C50, 0xB60F}, //1974 #HANGUL SYLLABLE SSANGTIKEUT YE HIEUH
+  {0x8C51, 0xB612}, //1975 #HANGUL SYLLABLE SSANGTIKEUT O SSANGKIYEOK
+  {0x8C52, 0xB613}, //1976 #HANGUL SYLLABLE SSANGTIKEUT O KIYEOKSIOS
+  {0x8C53, 0xB615}, //1977 #HANGUL SYLLABLE SSANGTIKEUT O NIEUNCIEUC
+  {0x8C54, 0xB616}, //1978 #HANGUL SYLLABLE SSANGTIKEUT O NIEUNHIEUH
+  {0x8C55, 0xB617}, //1979 #HANGUL SYLLABLE SSANGTIKEUT O TIKEUT
+  {0x8C56, 0xB619}, //1980 #HANGUL SYLLABLE SSANGTIKEUT O RIEULKIYEOK
+  {0x8C57, 0xB61A}, //1981 #HANGUL SYLLABLE SSANGTIKEUT O RIEULMIEUM
+  {0x8C58, 0xB61B}, //1982 #HANGUL SYLLABLE SSANGTIKEUT O RIEULPIEUP
+  {0x8C59, 0xB61C}, //1983 #HANGUL SYLLABLE SSANGTIKEUT O RIEULSIOS
+  {0x8C5A, 0xB61D}, //1984 #HANGUL SYLLABLE SSANGTIKEUT O RIEULTHIEUTH
+  {0x8C61, 0xB61E}, //1985 #HANGUL SYLLABLE SSANGTIKEUT O RIEULPHIEUPH
+  {0x8C62, 0xB61F}, //1986 #HANGUL SYLLABLE SSANGTIKEUT O RIEULHIEUH
+  {0x8C63, 0xB620}, //1987 #HANGUL SYLLABLE SSANGTIKEUT O MIEUM
+  {0x8C64, 0xB621}, //1988 #HANGUL SYLLABLE SSANGTIKEUT O PIEUP
+  {0x8C65, 0xB622}, //1989 #HANGUL SYLLABLE SSANGTIKEUT O PIEUPSIOS
+  {0x8C66, 0xB623}, //1990 #HANGUL SYLLABLE SSANGTIKEUT O SIOS
+  {0x8C67, 0xB624}, //1991 #HANGUL SYLLABLE SSANGTIKEUT O SSANGSIOS
+  {0x8C68, 0xB626}, //1992 #HANGUL SYLLABLE SSANGTIKEUT O CIEUC
+  {0x8C69, 0xB627}, //1993 #HANGUL SYLLABLE SSANGTIKEUT O CHIEUCH
+  {0x8C6A, 0xB628}, //1994 #HANGUL SYLLABLE SSANGTIKEUT O KHIEUKH
+  {0x8C6B, 0xB629}, //1995 #HANGUL SYLLABLE SSANGTIKEUT O THIEUTH
+  {0x8C6C, 0xB62A}, //1996 #HANGUL SYLLABLE SSANGTIKEUT O PHIEUPH
+  {0x8C6D, 0xB62B}, //1997 #HANGUL SYLLABLE SSANGTIKEUT O HIEUH
+  {0x8C6E, 0xB62D}, //1998 #HANGUL SYLLABLE SSANGTIKEUT WA KIYEOK
+  {0x8C6F, 0xB62E}, //1999 #HANGUL SYLLABLE SSANGTIKEUT WA SSANGKIYEOK
+  {0x8C70, 0xB62F}, //2000 #HANGUL SYLLABLE SSANGTIKEUT WA KIYEOKSIOS
+  {0x8C71, 0xB630}, //2001 #HANGUL SYLLABLE SSANGTIKEUT WA NIEUN
+  {0x8C72, 0xB631}, //2002 #HANGUL SYLLABLE SSANGTIKEUT WA NIEUNCIEUC
+  {0x8C73, 0xB632}, //2003 #HANGUL SYLLABLE SSANGTIKEUT WA NIEUNHIEUH
+  {0x8C74, 0xB633}, //2004 #HANGUL SYLLABLE SSANGTIKEUT WA TIKEUT
+  {0x8C75, 0xB635}, //2005 #HANGUL SYLLABLE SSANGTIKEUT WA RIEULKIYEOK
+  {0x8C76, 0xB636}, //2006 #HANGUL SYLLABLE SSANGTIKEUT WA RIEULMIEUM
+  {0x8C77, 0xB637}, //2007 #HANGUL SYLLABLE SSANGTIKEUT WA RIEULPIEUP
+  {0x8C78, 0xB638}, //2008 #HANGUL SYLLABLE SSANGTIKEUT WA RIEULSIOS
+  {0x8C79, 0xB639}, //2009 #HANGUL SYLLABLE SSANGTIKEUT WA RIEULTHIEUTH
+  {0x8C7A, 0xB63A}, //2010 #HANGUL SYLLABLE SSANGTIKEUT WA RIEULPHIEUPH
+  {0x8C81, 0xB63B}, //2011 #HANGUL SYLLABLE SSANGTIKEUT WA RIEULHIEUH
+  {0x8C82, 0xB63C}, //2012 #HANGUL SYLLABLE SSANGTIKEUT WA MIEUM
+  {0x8C83, 0xB63D}, //2013 #HANGUL SYLLABLE SSANGTIKEUT WA PIEUP
+  {0x8C84, 0xB63E}, //2014 #HANGUL SYLLABLE SSANGTIKEUT WA PIEUPSIOS
+  {0x8C85, 0xB63F}, //2015 #HANGUL SYLLABLE SSANGTIKEUT WA SIOS
+  {0x8C86, 0xB640}, //2016 #HANGUL SYLLABLE SSANGTIKEUT WA SSANGSIOS
+  {0x8C87, 0xB641}, //2017 #HANGUL SYLLABLE SSANGTIKEUT WA IEUNG
+  {0x8C88, 0xB642}, //2018 #HANGUL SYLLABLE SSANGTIKEUT WA CIEUC
+  {0x8C89, 0xB643}, //2019 #HANGUL SYLLABLE SSANGTIKEUT WA CHIEUCH
+  {0x8C8A, 0xB644}, //2020 #HANGUL SYLLABLE SSANGTIKEUT WA KHIEUKH
+  {0x8C8B, 0xB645}, //2021 #HANGUL SYLLABLE SSANGTIKEUT WA THIEUTH
+  {0x8C8C, 0xB646}, //2022 #HANGUL SYLLABLE SSANGTIKEUT WA PHIEUPH
+  {0x8C8D, 0xB647}, //2023 #HANGUL SYLLABLE SSANGTIKEUT WA HIEUH
+  {0x8C8E, 0xB649}, //2024 #HANGUL SYLLABLE SSANGTIKEUT WAE KIYEOK
+  {0x8C8F, 0xB64A}, //2025 #HANGUL SYLLABLE SSANGTIKEUT WAE SSANGKIYEOK
+  {0x8C90, 0xB64B}, //2026 #HANGUL SYLLABLE SSANGTIKEUT WAE KIYEOKSIOS
+  {0x8C91, 0xB64C}, //2027 #HANGUL SYLLABLE SSANGTIKEUT WAE NIEUN
+  {0x8C92, 0xB64D}, //2028 #HANGUL SYLLABLE SSANGTIKEUT WAE NIEUNCIEUC
+  {0x8C93, 0xB64E}, //2029 #HANGUL SYLLABLE SSANGTIKEUT WAE NIEUNHIEUH
+  {0x8C94, 0xB64F}, //2030 #HANGUL SYLLABLE SSANGTIKEUT WAE TIKEUT
+  {0x8C95, 0xB650}, //2031 #HANGUL SYLLABLE SSANGTIKEUT WAE RIEUL
+  {0x8C96, 0xB651}, //2032 #HANGUL SYLLABLE SSANGTIKEUT WAE RIEULKIYEOK
+  {0x8C97, 0xB652}, //2033 #HANGUL SYLLABLE SSANGTIKEUT WAE RIEULMIEUM
+  {0x8C98, 0xB653}, //2034 #HANGUL SYLLABLE SSANGTIKEUT WAE RIEULPIEUP
+  {0x8C99, 0xB654}, //2035 #HANGUL SYLLABLE SSANGTIKEUT WAE RIEULSIOS
+  {0x8C9A, 0xB655}, //2036 #HANGUL SYLLABLE SSANGTIKEUT WAE RIEULTHIEUTH
+  {0x8C9B, 0xB656}, //2037 #HANGUL SYLLABLE SSANGTIKEUT WAE RIEULPHIEUPH
+  {0x8C9C, 0xB657}, //2038 #HANGUL SYLLABLE SSANGTIKEUT WAE RIEULHIEUH
+  {0x8C9D, 0xB658}, //2039 #HANGUL SYLLABLE SSANGTIKEUT WAE MIEUM
+  {0x8C9E, 0xB659}, //2040 #HANGUL SYLLABLE SSANGTIKEUT WAE PIEUP
+  {0x8C9F, 0xB65A}, //2041 #HANGUL SYLLABLE SSANGTIKEUT WAE PIEUPSIOS
+  {0x8CA0, 0xB65B}, //2042 #HANGUL SYLLABLE SSANGTIKEUT WAE SIOS
+  {0x8CA1, 0xB65C}, //2043 #HANGUL SYLLABLE SSANGTIKEUT WAE SSANGSIOS
+  {0x8CA2, 0xB65D}, //2044 #HANGUL SYLLABLE SSANGTIKEUT WAE IEUNG
+  {0x8CA3, 0xB65E}, //2045 #HANGUL SYLLABLE SSANGTIKEUT WAE CIEUC
+  {0x8CA4, 0xB65F}, //2046 #HANGUL SYLLABLE SSANGTIKEUT WAE CHIEUCH
+  {0x8CA5, 0xB660}, //2047 #HANGUL SYLLABLE SSANGTIKEUT WAE KHIEUKH
+  {0x8CA6, 0xB661}, //2048 #HANGUL SYLLABLE SSANGTIKEUT WAE THIEUTH
+  {0x8CA7, 0xB662}, //2049 #HANGUL SYLLABLE SSANGTIKEUT WAE PHIEUPH
+  {0x8CA8, 0xB663}, //2050 #HANGUL SYLLABLE SSANGTIKEUT WAE HIEUH
+  {0x8CA9, 0xB665}, //2051 #HANGUL SYLLABLE SSANGTIKEUT OE KIYEOK
+  {0x8CAA, 0xB666}, //2052 #HANGUL SYLLABLE SSANGTIKEUT OE SSANGKIYEOK
+  {0x8CAB, 0xB667}, //2053 #HANGUL SYLLABLE SSANGTIKEUT OE KIYEOKSIOS
+  {0x8CAC, 0xB669}, //2054 #HANGUL SYLLABLE SSANGTIKEUT OE NIEUNCIEUC
+  {0x8CAD, 0xB66A}, //2055 #HANGUL SYLLABLE SSANGTIKEUT OE NIEUNHIEUH
+  {0x8CAE, 0xB66B}, //2056 #HANGUL SYLLABLE SSANGTIKEUT OE TIKEUT
+  {0x8CAF, 0xB66C}, //2057 #HANGUL SYLLABLE SSANGTIKEUT OE RIEUL
+  {0x8CB0, 0xB66D}, //2058 #HANGUL SYLLABLE SSANGTIKEUT OE RIEULKIYEOK
+  {0x8CB1, 0xB66E}, //2059 #HANGUL SYLLABLE SSANGTIKEUT OE RIEULMIEUM
+  {0x8CB2, 0xB66F}, //2060 #HANGUL SYLLABLE SSANGTIKEUT OE RIEULPIEUP
+  {0x8CB3, 0xB670}, //2061 #HANGUL SYLLABLE SSANGTIKEUT OE RIEULSIOS
+  {0x8CB4, 0xB671}, //2062 #HANGUL SYLLABLE SSANGTIKEUT OE RIEULTHIEUTH
+  {0x8CB5, 0xB672}, //2063 #HANGUL SYLLABLE SSANGTIKEUT OE RIEULPHIEUPH
+  {0x8CB6, 0xB673}, //2064 #HANGUL SYLLABLE SSANGTIKEUT OE RIEULHIEUH
+  {0x8CB7, 0xB674}, //2065 #HANGUL SYLLABLE SSANGTIKEUT OE MIEUM
+  {0x8CB8, 0xB675}, //2066 #HANGUL SYLLABLE SSANGTIKEUT OE PIEUP
+  {0x8CB9, 0xB676}, //2067 #HANGUL SYLLABLE SSANGTIKEUT OE PIEUPSIOS
+  {0x8CBA, 0xB677}, //2068 #HANGUL SYLLABLE SSANGTIKEUT OE SIOS
+  {0x8CBB, 0xB678}, //2069 #HANGUL SYLLABLE SSANGTIKEUT OE SSANGSIOS
+  {0x8CBC, 0xB679}, //2070 #HANGUL SYLLABLE SSANGTIKEUT OE IEUNG
+  {0x8CBD, 0xB67A}, //2071 #HANGUL SYLLABLE SSANGTIKEUT OE CIEUC
+  {0x8CBE, 0xB67B}, //2072 #HANGUL SYLLABLE SSANGTIKEUT OE CHIEUCH
+  {0x8CBF, 0xB67C}, //2073 #HANGUL SYLLABLE SSANGTIKEUT OE KHIEUKH
+  {0x8CC0, 0xB67D}, //2074 #HANGUL SYLLABLE SSANGTIKEUT OE THIEUTH
+  {0x8CC1, 0xB67E}, //2075 #HANGUL SYLLABLE SSANGTIKEUT OE PHIEUPH
+  {0x8CC2, 0xB67F}, //2076 #HANGUL SYLLABLE SSANGTIKEUT OE HIEUH
+  {0x8CC3, 0xB680}, //2077 #HANGUL SYLLABLE SSANGTIKEUT YO
+  {0x8CC4, 0xB681}, //2078 #HANGUL SYLLABLE SSANGTIKEUT YO KIYEOK
+  {0x8CC5, 0xB682}, //2079 #HANGUL SYLLABLE SSANGTIKEUT YO SSANGKIYEOK
+  {0x8CC6, 0xB683}, //2080 #HANGUL SYLLABLE SSANGTIKEUT YO KIYEOKSIOS
+  {0x8CC7, 0xB684}, //2081 #HANGUL SYLLABLE SSANGTIKEUT YO NIEUN
+  {0x8CC8, 0xB685}, //2082 #HANGUL SYLLABLE SSANGTIKEUT YO NIEUNCIEUC
+  {0x8CC9, 0xB686}, //2083 #HANGUL SYLLABLE SSANGTIKEUT YO NIEUNHIEUH
+  {0x8CCA, 0xB687}, //2084 #HANGUL SYLLABLE SSANGTIKEUT YO TIKEUT
+  {0x8CCB, 0xB688}, //2085 #HANGUL SYLLABLE SSANGTIKEUT YO RIEUL
+  {0x8CCC, 0xB689}, //2086 #HANGUL SYLLABLE SSANGTIKEUT YO RIEULKIYEOK
+  {0x8CCD, 0xB68A}, //2087 #HANGUL SYLLABLE SSANGTIKEUT YO RIEULMIEUM
+  {0x8CCE, 0xB68B}, //2088 #HANGUL SYLLABLE SSANGTIKEUT YO RIEULPIEUP
+  {0x8CCF, 0xB68C}, //2089 #HANGUL SYLLABLE SSANGTIKEUT YO RIEULSIOS
+  {0x8CD0, 0xB68D}, //2090 #HANGUL SYLLABLE SSANGTIKEUT YO RIEULTHIEUTH
+  {0x8CD1, 0xB68E}, //2091 #HANGUL SYLLABLE SSANGTIKEUT YO RIEULPHIEUPH
+  {0x8CD2, 0xB68F}, //2092 #HANGUL SYLLABLE SSANGTIKEUT YO RIEULHIEUH
+  {0x8CD3, 0xB690}, //2093 #HANGUL SYLLABLE SSANGTIKEUT YO MIEUM
+  {0x8CD4, 0xB691}, //2094 #HANGUL SYLLABLE SSANGTIKEUT YO PIEUP
+  {0x8CD5, 0xB692}, //2095 #HANGUL SYLLABLE SSANGTIKEUT YO PIEUPSIOS
+  {0x8CD6, 0xB693}, //2096 #HANGUL SYLLABLE SSANGTIKEUT YO SIOS
+  {0x8CD7, 0xB694}, //2097 #HANGUL SYLLABLE SSANGTIKEUT YO SSANGSIOS
+  {0x8CD8, 0xB695}, //2098 #HANGUL SYLLABLE SSANGTIKEUT YO IEUNG
+  {0x8CD9, 0xB696}, //2099 #HANGUL SYLLABLE SSANGTIKEUT YO CIEUC
+  {0x8CDA, 0xB697}, //2100 #HANGUL SYLLABLE SSANGTIKEUT YO CHIEUCH
+  {0x8CDB, 0xB698}, //2101 #HANGUL SYLLABLE SSANGTIKEUT YO KHIEUKH
+  {0x8CDC, 0xB699}, //2102 #HANGUL SYLLABLE SSANGTIKEUT YO THIEUTH
+  {0x8CDD, 0xB69A}, //2103 #HANGUL SYLLABLE SSANGTIKEUT YO PHIEUPH
+  {0x8CDE, 0xB69B}, //2104 #HANGUL SYLLABLE SSANGTIKEUT YO HIEUH
+  {0x8CDF, 0xB69E}, //2105 #HANGUL SYLLABLE SSANGTIKEUT U SSANGKIYEOK
+  {0x8CE0, 0xB69F}, //2106 #HANGUL SYLLABLE SSANGTIKEUT U KIYEOKSIOS
+  {0x8CE1, 0xB6A1}, //2107 #HANGUL SYLLABLE SSANGTIKEUT U NIEUNCIEUC
+  {0x8CE2, 0xB6A2}, //2108 #HANGUL SYLLABLE SSANGTIKEUT U NIEUNHIEUH
+  {0x8CE3, 0xB6A3}, //2109 #HANGUL SYLLABLE SSANGTIKEUT U TIKEUT
+  {0x8CE4, 0xB6A5}, //2110 #HANGUL SYLLABLE SSANGTIKEUT U RIEULKIYEOK
+  {0x8CE5, 0xB6A6}, //2111 #HANGUL SYLLABLE SSANGTIKEUT U RIEULMIEUM
+  {0x8CE6, 0xB6A7}, //2112 #HANGUL SYLLABLE SSANGTIKEUT U RIEULPIEUP
+  {0x8CE7, 0xB6A8}, //2113 #HANGUL SYLLABLE SSANGTIKEUT U RIEULSIOS
+  {0x8CE8, 0xB6A9}, //2114 #HANGUL SYLLABLE SSANGTIKEUT U RIEULTHIEUTH
+  {0x8CE9, 0xB6AA}, //2115 #HANGUL SYLLABLE SSANGTIKEUT U RIEULPHIEUPH
+  {0x8CEA, 0xB6AD}, //2116 #HANGUL SYLLABLE SSANGTIKEUT U PIEUP
+  {0x8CEB, 0xB6AE}, //2117 #HANGUL SYLLABLE SSANGTIKEUT U PIEUPSIOS
+  {0x8CEC, 0xB6AF}, //2118 #HANGUL SYLLABLE SSANGTIKEUT U SIOS
+  {0x8CED, 0xB6B0}, //2119 #HANGUL SYLLABLE SSANGTIKEUT U SSANGSIOS
+  {0x8CEE, 0xB6B2}, //2120 #HANGUL SYLLABLE SSANGTIKEUT U CIEUC
+  {0x8CEF, 0xB6B3}, //2121 #HANGUL SYLLABLE SSANGTIKEUT U CHIEUCH
+  {0x8CF0, 0xB6B4}, //2122 #HANGUL SYLLABLE SSANGTIKEUT U KHIEUKH
+  {0x8CF1, 0xB6B5}, //2123 #HANGUL SYLLABLE SSANGTIKEUT U THIEUTH
+  {0x8CF2, 0xB6B6}, //2124 #HANGUL SYLLABLE SSANGTIKEUT U PHIEUPH
+  {0x8CF3, 0xB6B7}, //2125 #HANGUL SYLLABLE SSANGTIKEUT U HIEUH
+  {0x8CF4, 0xB6B8}, //2126 #HANGUL SYLLABLE SSANGTIKEUT WEO
+  {0x8CF5, 0xB6B9}, //2127 #HANGUL SYLLABLE SSANGTIKEUT WEO KIYEOK
+  {0x8CF6, 0xB6BA}, //2128 #HANGUL SYLLABLE SSANGTIKEUT WEO SSANGKIYEOK
+  {0x8CF7, 0xB6BB}, //2129 #HANGUL SYLLABLE SSANGTIKEUT WEO KIYEOKSIOS
+  {0x8CF8, 0xB6BC}, //2130 #HANGUL SYLLABLE SSANGTIKEUT WEO NIEUN
+  {0x8CF9, 0xB6BD}, //2131 #HANGUL SYLLABLE SSANGTIKEUT WEO NIEUNCIEUC
+  {0x8CFA, 0xB6BE}, //2132 #HANGUL SYLLABLE SSANGTIKEUT WEO NIEUNHIEUH
+  {0x8CFB, 0xB6BF}, //2133 #HANGUL SYLLABLE SSANGTIKEUT WEO TIKEUT
+  {0x8CFC, 0xB6C0}, //2134 #HANGUL SYLLABLE SSANGTIKEUT WEO RIEUL
+  {0x8CFD, 0xB6C1}, //2135 #HANGUL SYLLABLE SSANGTIKEUT WEO RIEULKIYEOK
+  {0x8CFE, 0xB6C2}, //2136 #HANGUL SYLLABLE SSANGTIKEUT WEO RIEULMIEUM
+  {0x8D41, 0xB6C3}, //2137 #HANGUL SYLLABLE SSANGTIKEUT WEO RIEULPIEUP
+  {0x8D42, 0xB6C4}, //2138 #HANGUL SYLLABLE SSANGTIKEUT WEO RIEULSIOS
+  {0x8D43, 0xB6C5}, //2139 #HANGUL SYLLABLE SSANGTIKEUT WEO RIEULTHIEUTH
+  {0x8D44, 0xB6C6}, //2140 #HANGUL SYLLABLE SSANGTIKEUT WEO RIEULPHIEUPH
+  {0x8D45, 0xB6C7}, //2141 #HANGUL SYLLABLE SSANGTIKEUT WEO RIEULHIEUH
+  {0x8D46, 0xB6C8}, //2142 #HANGUL SYLLABLE SSANGTIKEUT WEO MIEUM
+  {0x8D47, 0xB6C9}, //2143 #HANGUL SYLLABLE SSANGTIKEUT WEO PIEUP
+  {0x8D48, 0xB6CA}, //2144 #HANGUL SYLLABLE SSANGTIKEUT WEO PIEUPSIOS
+  {0x8D49, 0xB6CB}, //2145 #HANGUL SYLLABLE SSANGTIKEUT WEO SIOS
+  {0x8D4A, 0xB6CC}, //2146 #HANGUL SYLLABLE SSANGTIKEUT WEO SSANGSIOS
+  {0x8D4B, 0xB6CD}, //2147 #HANGUL SYLLABLE SSANGTIKEUT WEO IEUNG
+  {0x8D4C, 0xB6CE}, //2148 #HANGUL SYLLABLE SSANGTIKEUT WEO CIEUC
+  {0x8D4D, 0xB6CF}, //2149 #HANGUL SYLLABLE SSANGTIKEUT WEO CHIEUCH
+  {0x8D4E, 0xB6D0}, //2150 #HANGUL SYLLABLE SSANGTIKEUT WEO KHIEUKH
+  {0x8D4F, 0xB6D1}, //2151 #HANGUL SYLLABLE SSANGTIKEUT WEO THIEUTH
+  {0x8D50, 0xB6D2}, //2152 #HANGUL SYLLABLE SSANGTIKEUT WEO PHIEUPH
+  {0x8D51, 0xB6D3}, //2153 #HANGUL SYLLABLE SSANGTIKEUT WEO HIEUH
+  {0x8D52, 0xB6D5}, //2154 #HANGUL SYLLABLE SSANGTIKEUT WE KIYEOK
+  {0x8D53, 0xB6D6}, //2155 #HANGUL SYLLABLE SSANGTIKEUT WE SSANGKIYEOK
+  {0x8D54, 0xB6D7}, //2156 #HANGUL SYLLABLE SSANGTIKEUT WE KIYEOKSIOS
+  {0x8D55, 0xB6D8}, //2157 #HANGUL SYLLABLE SSANGTIKEUT WE NIEUN
+  {0x8D56, 0xB6D9}, //2158 #HANGUL SYLLABLE SSANGTIKEUT WE NIEUNCIEUC
+  {0x8D57, 0xB6DA}, //2159 #HANGUL SYLLABLE SSANGTIKEUT WE NIEUNHIEUH
+  {0x8D58, 0xB6DB}, //2160 #HANGUL SYLLABLE SSANGTIKEUT WE TIKEUT
+  {0x8D59, 0xB6DC}, //2161 #HANGUL SYLLABLE SSANGTIKEUT WE RIEUL
+  {0x8D5A, 0xB6DD}, //2162 #HANGUL SYLLABLE SSANGTIKEUT WE RIEULKIYEOK
+  {0x8D61, 0xB6DE}, //2163 #HANGUL SYLLABLE SSANGTIKEUT WE RIEULMIEUM
+  {0x8D62, 0xB6DF}, //2164 #HANGUL SYLLABLE SSANGTIKEUT WE RIEULPIEUP
+  {0x8D63, 0xB6E0}, //2165 #HANGUL SYLLABLE SSANGTIKEUT WE RIEULSIOS
+  {0x8D64, 0xB6E1}, //2166 #HANGUL SYLLABLE SSANGTIKEUT WE RIEULTHIEUTH
+  {0x8D65, 0xB6E2}, //2167 #HANGUL SYLLABLE SSANGTIKEUT WE RIEULPHIEUPH
+  {0x8D66, 0xB6E3}, //2168 #HANGUL SYLLABLE SSANGTIKEUT WE RIEULHIEUH
+  {0x8D67, 0xB6E4}, //2169 #HANGUL SYLLABLE SSANGTIKEUT WE MIEUM
+  {0x8D68, 0xB6E5}, //2170 #HANGUL SYLLABLE SSANGTIKEUT WE PIEUP
+  {0x8D69, 0xB6E6}, //2171 #HANGUL SYLLABLE SSANGTIKEUT WE PIEUPSIOS
+  {0x8D6A, 0xB6E7}, //2172 #HANGUL SYLLABLE SSANGTIKEUT WE SIOS
+  {0x8D6B, 0xB6E8}, //2173 #HANGUL SYLLABLE SSANGTIKEUT WE SSANGSIOS
+  {0x8D6C, 0xB6E9}, //2174 #HANGUL SYLLABLE SSANGTIKEUT WE IEUNG
+  {0x8D6D, 0xB6EA}, //2175 #HANGUL SYLLABLE SSANGTIKEUT WE CIEUC
+  {0x8D6E, 0xB6EB}, //2176 #HANGUL SYLLABLE SSANGTIKEUT WE CHIEUCH
+  {0x8D6F, 0xB6EC}, //2177 #HANGUL SYLLABLE SSANGTIKEUT WE KHIEUKH
+  {0x8D70, 0xB6ED}, //2178 #HANGUL SYLLABLE SSANGTIKEUT WE THIEUTH
+  {0x8D71, 0xB6EE}, //2179 #HANGUL SYLLABLE SSANGTIKEUT WE PHIEUPH
+  {0x8D72, 0xB6EF}, //2180 #HANGUL SYLLABLE SSANGTIKEUT WE HIEUH
+  {0x8D73, 0xB6F1}, //2181 #HANGUL SYLLABLE SSANGTIKEUT WI KIYEOK
+  {0x8D74, 0xB6F2}, //2182 #HANGUL SYLLABLE SSANGTIKEUT WI SSANGKIYEOK
+  {0x8D75, 0xB6F3}, //2183 #HANGUL SYLLABLE SSANGTIKEUT WI KIYEOKSIOS
+  {0x8D76, 0xB6F5}, //2184 #HANGUL SYLLABLE SSANGTIKEUT WI NIEUNCIEUC
+  {0x8D77, 0xB6F6}, //2185 #HANGUL SYLLABLE SSANGTIKEUT WI NIEUNHIEUH
+  {0x8D78, 0xB6F7}, //2186 #HANGUL SYLLABLE SSANGTIKEUT WI TIKEUT
+  {0x8D79, 0xB6F9}, //2187 #HANGUL SYLLABLE SSANGTIKEUT WI RIEULKIYEOK
+  {0x8D7A, 0xB6FA}, //2188 #HANGUL SYLLABLE SSANGTIKEUT WI RIEULMIEUM
+  {0x8D81, 0xB6FB}, //2189 #HANGUL SYLLABLE SSANGTIKEUT WI RIEULPIEUP
+  {0x8D82, 0xB6FC}, //2190 #HANGUL SYLLABLE SSANGTIKEUT WI RIEULSIOS
+  {0x8D83, 0xB6FD}, //2191 #HANGUL SYLLABLE SSANGTIKEUT WI RIEULTHIEUTH
+  {0x8D84, 0xB6FE}, //2192 #HANGUL SYLLABLE SSANGTIKEUT WI RIEULPHIEUPH
+  {0x8D85, 0xB6FF}, //2193 #HANGUL SYLLABLE SSANGTIKEUT WI RIEULHIEUH
+  {0x8D86, 0xB702}, //2194 #HANGUL SYLLABLE SSANGTIKEUT WI PIEUPSIOS
+  {0x8D87, 0xB703}, //2195 #HANGUL SYLLABLE SSANGTIKEUT WI SIOS
+  {0x8D88, 0xB704}, //2196 #HANGUL SYLLABLE SSANGTIKEUT WI SSANGSIOS
+  {0x8D89, 0xB706}, //2197 #HANGUL SYLLABLE SSANGTIKEUT WI CIEUC
+  {0x8D8A, 0xB707}, //2198 #HANGUL SYLLABLE SSANGTIKEUT WI CHIEUCH
+  {0x8D8B, 0xB708}, //2199 #HANGUL SYLLABLE SSANGTIKEUT WI KHIEUKH
+  {0x8D8C, 0xB709}, //2200 #HANGUL SYLLABLE SSANGTIKEUT WI THIEUTH
+  {0x8D8D, 0xB70A}, //2201 #HANGUL SYLLABLE SSANGTIKEUT WI PHIEUPH
+  {0x8D8E, 0xB70B}, //2202 #HANGUL SYLLABLE SSANGTIKEUT WI HIEUH
+  {0x8D8F, 0xB70C}, //2203 #HANGUL SYLLABLE SSANGTIKEUT YU
+  {0x8D90, 0xB70D}, //2204 #HANGUL SYLLABLE SSANGTIKEUT YU KIYEOK
+  {0x8D91, 0xB70E}, //2205 #HANGUL SYLLABLE SSANGTIKEUT YU SSANGKIYEOK
+  {0x8D92, 0xB70F}, //2206 #HANGUL SYLLABLE SSANGTIKEUT YU KIYEOKSIOS
+  {0x8D93, 0xB710}, //2207 #HANGUL SYLLABLE SSANGTIKEUT YU NIEUN
+  {0x8D94, 0xB711}, //2208 #HANGUL SYLLABLE SSANGTIKEUT YU NIEUNCIEUC
+  {0x8D95, 0xB712}, //2209 #HANGUL SYLLABLE SSANGTIKEUT YU NIEUNHIEUH
+  {0x8D96, 0xB713}, //2210 #HANGUL SYLLABLE SSANGTIKEUT YU TIKEUT
+  {0x8D97, 0xB714}, //2211 #HANGUL SYLLABLE SSANGTIKEUT YU RIEUL
+  {0x8D98, 0xB715}, //2212 #HANGUL SYLLABLE SSANGTIKEUT YU RIEULKIYEOK
+  {0x8D99, 0xB716}, //2213 #HANGUL SYLLABLE SSANGTIKEUT YU RIEULMIEUM
+  {0x8D9A, 0xB717}, //2214 #HANGUL SYLLABLE SSANGTIKEUT YU RIEULPIEUP
+  {0x8D9B, 0xB718}, //2215 #HANGUL SYLLABLE SSANGTIKEUT YU RIEULSIOS
+  {0x8D9C, 0xB719}, //2216 #HANGUL SYLLABLE SSANGTIKEUT YU RIEULTHIEUTH
+  {0x8D9D, 0xB71A}, //2217 #HANGUL SYLLABLE SSANGTIKEUT YU RIEULPHIEUPH
+  {0x8D9E, 0xB71B}, //2218 #HANGUL SYLLABLE SSANGTIKEUT YU RIEULHIEUH
+  {0x8D9F, 0xB71C}, //2219 #HANGUL SYLLABLE SSANGTIKEUT YU MIEUM
+  {0x8DA0, 0xB71D}, //2220 #HANGUL SYLLABLE SSANGTIKEUT YU PIEUP
+  {0x8DA1, 0xB71E}, //2221 #HANGUL SYLLABLE SSANGTIKEUT YU PIEUPSIOS
+  {0x8DA2, 0xB71F}, //2222 #HANGUL SYLLABLE SSANGTIKEUT YU SIOS
+  {0x8DA3, 0xB720}, //2223 #HANGUL SYLLABLE SSANGTIKEUT YU SSANGSIOS
+  {0x8DA4, 0xB721}, //2224 #HANGUL SYLLABLE SSANGTIKEUT YU IEUNG
+  {0x8DA5, 0xB722}, //2225 #HANGUL SYLLABLE SSANGTIKEUT YU CIEUC
+  {0x8DA6, 0xB723}, //2226 #HANGUL SYLLABLE SSANGTIKEUT YU CHIEUCH
+  {0x8DA7, 0xB724}, //2227 #HANGUL SYLLABLE SSANGTIKEUT YU KHIEUKH
+  {0x8DA8, 0xB725}, //2228 #HANGUL SYLLABLE SSANGTIKEUT YU THIEUTH
+  {0x8DA9, 0xB726}, //2229 #HANGUL SYLLABLE SSANGTIKEUT YU PHIEUPH
+  {0x8DAA, 0xB727}, //2230 #HANGUL SYLLABLE SSANGTIKEUT YU HIEUH
+  {0x8DAB, 0xB72A}, //2231 #HANGUL SYLLABLE SSANGTIKEUT EU SSANGKIYEOK
+  {0x8DAC, 0xB72B}, //2232 #HANGUL SYLLABLE SSANGTIKEUT EU KIYEOKSIOS
+  {0x8DAD, 0xB72D}, //2233 #HANGUL SYLLABLE SSANGTIKEUT EU NIEUNCIEUC
+  {0x8DAE, 0xB72E}, //2234 #HANGUL SYLLABLE SSANGTIKEUT EU NIEUNHIEUH
+  {0x8DAF, 0xB731}, //2235 #HANGUL SYLLABLE SSANGTIKEUT EU RIEULKIYEOK
+  {0x8DB0, 0xB732}, //2236 #HANGUL SYLLABLE SSANGTIKEUT EU RIEULMIEUM
+  {0x8DB1, 0xB733}, //2237 #HANGUL SYLLABLE SSANGTIKEUT EU RIEULPIEUP
+  {0x8DB2, 0xB734}, //2238 #HANGUL SYLLABLE SSANGTIKEUT EU RIEULSIOS
+  {0x8DB3, 0xB735}, //2239 #HANGUL SYLLABLE SSANGTIKEUT EU RIEULTHIEUTH
+  {0x8DB4, 0xB736}, //2240 #HANGUL SYLLABLE SSANGTIKEUT EU RIEULPHIEUPH
+  {0x8DB5, 0xB737}, //2241 #HANGUL SYLLABLE SSANGTIKEUT EU RIEULHIEUH
+  {0x8DB6, 0xB73A}, //2242 #HANGUL SYLLABLE SSANGTIKEUT EU PIEUPSIOS
+  {0x8DB7, 0xB73C}, //2243 #HANGUL SYLLABLE SSANGTIKEUT EU SSANGSIOS
+  {0x8DB8, 0xB73D}, //2244 #HANGUL SYLLABLE SSANGTIKEUT EU IEUNG
+  {0x8DB9, 0xB73E}, //2245 #HANGUL SYLLABLE SSANGTIKEUT EU CIEUC
+  {0x8DBA, 0xB73F}, //2246 #HANGUL SYLLABLE SSANGTIKEUT EU CHIEUCH
+  {0x8DBB, 0xB740}, //2247 #HANGUL SYLLABLE SSANGTIKEUT EU KHIEUKH
+  {0x8DBC, 0xB741}, //2248 #HANGUL SYLLABLE SSANGTIKEUT EU THIEUTH
+  {0x8DBD, 0xB742}, //2249 #HANGUL SYLLABLE SSANGTIKEUT EU PHIEUPH
+  {0x8DBE, 0xB743}, //2250 #HANGUL SYLLABLE SSANGTIKEUT EU HIEUH
+  {0x8DBF, 0xB745}, //2251 #HANGUL SYLLABLE SSANGTIKEUT YI KIYEOK
+  {0x8DC0, 0xB746}, //2252 #HANGUL SYLLABLE SSANGTIKEUT YI SSANGKIYEOK
+  {0x8DC1, 0xB747}, //2253 #HANGUL SYLLABLE SSANGTIKEUT YI KIYEOKSIOS
+  {0x8DC2, 0xB749}, //2254 #HANGUL SYLLABLE SSANGTIKEUT YI NIEUNCIEUC
+  {0x8DC3, 0xB74A}, //2255 #HANGUL SYLLABLE SSANGTIKEUT YI NIEUNHIEUH
+  {0x8DC4, 0xB74B}, //2256 #HANGUL SYLLABLE SSANGTIKEUT YI TIKEUT
+  {0x8DC5, 0xB74D}, //2257 #HANGUL SYLLABLE SSANGTIKEUT YI RIEULKIYEOK
+  {0x8DC6, 0xB74E}, //2258 #HANGUL SYLLABLE SSANGTIKEUT YI RIEULMIEUM
+  {0x8DC7, 0xB74F}, //2259 #HANGUL SYLLABLE SSANGTIKEUT YI RIEULPIEUP
+  {0x8DC8, 0xB750}, //2260 #HANGUL SYLLABLE SSANGTIKEUT YI RIEULSIOS
+  {0x8DC9, 0xB751}, //2261 #HANGUL SYLLABLE SSANGTIKEUT YI RIEULTHIEUTH
+  {0x8DCA, 0xB752}, //2262 #HANGUL SYLLABLE SSANGTIKEUT YI RIEULPHIEUPH
+  {0x8DCB, 0xB753}, //2263 #HANGUL SYLLABLE SSANGTIKEUT YI RIEULHIEUH
+  {0x8DCC, 0xB756}, //2264 #HANGUL SYLLABLE SSANGTIKEUT YI PIEUPSIOS
+  {0x8DCD, 0xB757}, //2265 #HANGUL SYLLABLE SSANGTIKEUT YI SIOS
+  {0x8DCE, 0xB758}, //2266 #HANGUL SYLLABLE SSANGTIKEUT YI SSANGSIOS
+  {0x8DCF, 0xB759}, //2267 #HANGUL SYLLABLE SSANGTIKEUT YI IEUNG
+  {0x8DD0, 0xB75A}, //2268 #HANGUL SYLLABLE SSANGTIKEUT YI CIEUC
+  {0x8DD1, 0xB75B}, //2269 #HANGUL SYLLABLE SSANGTIKEUT YI CHIEUCH
+  {0x8DD2, 0xB75C}, //2270 #HANGUL SYLLABLE SSANGTIKEUT YI KHIEUKH
+  {0x8DD3, 0xB75D}, //2271 #HANGUL SYLLABLE SSANGTIKEUT YI THIEUTH
+  {0x8DD4, 0xB75E}, //2272 #HANGUL SYLLABLE SSANGTIKEUT YI PHIEUPH
+  {0x8DD5, 0xB75F}, //2273 #HANGUL SYLLABLE SSANGTIKEUT YI HIEUH
+  {0x8DD6, 0xB761}, //2274 #HANGUL SYLLABLE SSANGTIKEUT I KIYEOK
+  {0x8DD7, 0xB762}, //2275 #HANGUL SYLLABLE SSANGTIKEUT I SSANGKIYEOK
+  {0x8DD8, 0xB763}, //2276 #HANGUL SYLLABLE SSANGTIKEUT I KIYEOKSIOS
+  {0x8DD9, 0xB765}, //2277 #HANGUL SYLLABLE SSANGTIKEUT I NIEUNCIEUC
+  {0x8DDA, 0xB766}, //2278 #HANGUL SYLLABLE SSANGTIKEUT I NIEUNHIEUH
+  {0x8DDB, 0xB767}, //2279 #HANGUL SYLLABLE SSANGTIKEUT I TIKEUT
+  {0x8DDC, 0xB769}, //2280 #HANGUL SYLLABLE SSANGTIKEUT I RIEULKIYEOK
+  {0x8DDD, 0xB76A}, //2281 #HANGUL SYLLABLE SSANGTIKEUT I RIEULMIEUM
+  {0x8DDE, 0xB76B}, //2282 #HANGUL SYLLABLE SSANGTIKEUT I RIEULPIEUP
+  {0x8DDF, 0xB76C}, //2283 #HANGUL SYLLABLE SSANGTIKEUT I RIEULSIOS
+  {0x8DE0, 0xB76D}, //2284 #HANGUL SYLLABLE SSANGTIKEUT I RIEULTHIEUTH
+  {0x8DE1, 0xB76E}, //2285 #HANGUL SYLLABLE SSANGTIKEUT I RIEULPHIEUPH
+  {0x8DE2, 0xB76F}, //2286 #HANGUL SYLLABLE SSANGTIKEUT I RIEULHIEUH
+  {0x8DE3, 0xB772}, //2287 #HANGUL SYLLABLE SSANGTIKEUT I PIEUPSIOS
+  {0x8DE4, 0xB774}, //2288 #HANGUL SYLLABLE SSANGTIKEUT I SSANGSIOS
+  {0x8DE5, 0xB776}, //2289 #HANGUL SYLLABLE SSANGTIKEUT I CIEUC
+  {0x8DE6, 0xB777}, //2290 #HANGUL SYLLABLE SSANGTIKEUT I CHIEUCH
+  {0x8DE7, 0xB778}, //2291 #HANGUL SYLLABLE SSANGTIKEUT I KHIEUKH
+  {0x8DE8, 0xB779}, //2292 #HANGUL SYLLABLE SSANGTIKEUT I THIEUTH
+  {0x8DE9, 0xB77A}, //2293 #HANGUL SYLLABLE SSANGTIKEUT I PHIEUPH
+  {0x8DEA, 0xB77B}, //2294 #HANGUL SYLLABLE SSANGTIKEUT I HIEUH
+  {0x8DEB, 0xB77E}, //2295 #HANGUL SYLLABLE RIEUL A SSANGKIYEOK
+  {0x8DEC, 0xB77F}, //2296 #HANGUL SYLLABLE RIEUL A KIYEOKSIOS
+  {0x8DED, 0xB781}, //2297 #HANGUL SYLLABLE RIEUL A NIEUNCIEUC
+  {0x8DEE, 0xB782}, //2298 #HANGUL SYLLABLE RIEUL A NIEUNHIEUH
+  {0x8DEF, 0xB783}, //2299 #HANGUL SYLLABLE RIEUL A TIKEUT
+  {0x8DF0, 0xB785}, //2300 #HANGUL SYLLABLE RIEUL A RIEULKIYEOK
+  {0x8DF1, 0xB786}, //2301 #HANGUL SYLLABLE RIEUL A RIEULMIEUM
+  {0x8DF2, 0xB787}, //2302 #HANGUL SYLLABLE RIEUL A RIEULPIEUP
+  {0x8DF3, 0xB788}, //2303 #HANGUL SYLLABLE RIEUL A RIEULSIOS
+  {0x8DF4, 0xB789}, //2304 #HANGUL SYLLABLE RIEUL A RIEULTHIEUTH
+  {0x8DF5, 0xB78A}, //2305 #HANGUL SYLLABLE RIEUL A RIEULPHIEUPH
+  {0x8DF6, 0xB78B}, //2306 #HANGUL SYLLABLE RIEUL A RIEULHIEUH
+  {0x8DF7, 0xB78E}, //2307 #HANGUL SYLLABLE RIEUL A PIEUPSIOS
+  {0x8DF8, 0xB793}, //2308 #HANGUL SYLLABLE RIEUL A CHIEUCH
+  {0x8DF9, 0xB794}, //2309 #HANGUL SYLLABLE RIEUL A KHIEUKH
+  {0x8DFA, 0xB795}, //2310 #HANGUL SYLLABLE RIEUL A THIEUTH
+  {0x8DFB, 0xB79A}, //2311 #HANGUL SYLLABLE RIEUL AE SSANGKIYEOK
+  {0x8DFC, 0xB79B}, //2312 #HANGUL SYLLABLE RIEUL AE KIYEOKSIOS
+  {0x8DFD, 0xB79D}, //2313 #HANGUL SYLLABLE RIEUL AE NIEUNCIEUC
+  {0x8DFE, 0xB79E}, //2314 #HANGUL SYLLABLE RIEUL AE NIEUNHIEUH
+  {0x8E41, 0xB79F}, //2315 #HANGUL SYLLABLE RIEUL AE TIKEUT
+  {0x8E42, 0xB7A1}, //2316 #HANGUL SYLLABLE RIEUL AE RIEULKIYEOK
+  {0x8E43, 0xB7A2}, //2317 #HANGUL SYLLABLE RIEUL AE RIEULMIEUM
+  {0x8E44, 0xB7A3}, //2318 #HANGUL SYLLABLE RIEUL AE RIEULPIEUP
+  {0x8E45, 0xB7A4}, //2319 #HANGUL SYLLABLE RIEUL AE RIEULSIOS
+  {0x8E46, 0xB7A5}, //2320 #HANGUL SYLLABLE RIEUL AE RIEULTHIEUTH
+  {0x8E47, 0xB7A6}, //2321 #HANGUL SYLLABLE RIEUL AE RIEULPHIEUPH
+  {0x8E48, 0xB7A7}, //2322 #HANGUL SYLLABLE RIEUL AE RIEULHIEUH
+  {0x8E49, 0xB7AA}, //2323 #HANGUL SYLLABLE RIEUL AE PIEUPSIOS
+  {0x8E4A, 0xB7AE}, //2324 #HANGUL SYLLABLE RIEUL AE CIEUC
+  {0x8E4B, 0xB7AF}, //2325 #HANGUL SYLLABLE RIEUL AE CHIEUCH
+  {0x8E4C, 0xB7B0}, //2326 #HANGUL SYLLABLE RIEUL AE KHIEUKH
+  {0x8E4D, 0xB7B1}, //2327 #HANGUL SYLLABLE RIEUL AE THIEUTH
+  {0x8E4E, 0xB7B2}, //2328 #HANGUL SYLLABLE RIEUL AE PHIEUPH
+  {0x8E4F, 0xB7B3}, //2329 #HANGUL SYLLABLE RIEUL AE HIEUH
+  {0x8E50, 0xB7B6}, //2330 #HANGUL SYLLABLE RIEUL YA SSANGKIYEOK
+  {0x8E51, 0xB7B7}, //2331 #HANGUL SYLLABLE RIEUL YA KIYEOKSIOS
+  {0x8E52, 0xB7B9}, //2332 #HANGUL SYLLABLE RIEUL YA NIEUNCIEUC
+  {0x8E53, 0xB7BA}, //2333 #HANGUL SYLLABLE RIEUL YA NIEUNHIEUH
+  {0x8E54, 0xB7BB}, //2334 #HANGUL SYLLABLE RIEUL YA TIKEUT
+  {0x8E55, 0xB7BC}, //2335 #HANGUL SYLLABLE RIEUL YA RIEUL
+  {0x8E56, 0xB7BD}, //2336 #HANGUL SYLLABLE RIEUL YA RIEULKIYEOK
+  {0x8E57, 0xB7BE}, //2337 #HANGUL SYLLABLE RIEUL YA RIEULMIEUM
+  {0x8E58, 0xB7BF}, //2338 #HANGUL SYLLABLE RIEUL YA RIEULPIEUP
+  {0x8E59, 0xB7C0}, //2339 #HANGUL SYLLABLE RIEUL YA RIEULSIOS
+  {0x8E5A, 0xB7C1}, //2340 #HANGUL SYLLABLE RIEUL YA RIEULTHIEUTH
+  {0x8E61, 0xB7C2}, //2341 #HANGUL SYLLABLE RIEUL YA RIEULPHIEUPH
+  {0x8E62, 0xB7C3}, //2342 #HANGUL SYLLABLE RIEUL YA RIEULHIEUH
+  {0x8E63, 0xB7C4}, //2343 #HANGUL SYLLABLE RIEUL YA MIEUM
+  {0x8E64, 0xB7C5}, //2344 #HANGUL SYLLABLE RIEUL YA PIEUP
+  {0x8E65, 0xB7C6}, //2345 #HANGUL SYLLABLE RIEUL YA PIEUPSIOS
+  {0x8E66, 0xB7C8}, //2346 #HANGUL SYLLABLE RIEUL YA SSANGSIOS
+  {0x8E67, 0xB7CA}, //2347 #HANGUL SYLLABLE RIEUL YA CIEUC
+  {0x8E68, 0xB7CB}, //2348 #HANGUL SYLLABLE RIEUL YA CHIEUCH
+  {0x8E69, 0xB7CC}, //2349 #HANGUL SYLLABLE RIEUL YA KHIEUKH
+  {0x8E6A, 0xB7CD}, //2350 #HANGUL SYLLABLE RIEUL YA THIEUTH
+  {0x8E6B, 0xB7CE}, //2351 #HANGUL SYLLABLE RIEUL YA PHIEUPH
+  {0x8E6C, 0xB7CF}, //2352 #HANGUL SYLLABLE RIEUL YA HIEUH
+  {0x8E6D, 0xB7D0}, //2353 #HANGUL SYLLABLE RIEUL YAE
+  {0x8E6E, 0xB7D1}, //2354 #HANGUL SYLLABLE RIEUL YAE KIYEOK
+  {0x8E6F, 0xB7D2}, //2355 #HANGUL SYLLABLE RIEUL YAE SSANGKIYEOK
+  {0x8E70, 0xB7D3}, //2356 #HANGUL SYLLABLE RIEUL YAE KIYEOKSIOS
+  {0x8E71, 0xB7D4}, //2357 #HANGUL SYLLABLE RIEUL YAE NIEUN
+  {0x8E72, 0xB7D5}, //2358 #HANGUL SYLLABLE RIEUL YAE NIEUNCIEUC
+  {0x8E73, 0xB7D6}, //2359 #HANGUL SYLLABLE RIEUL YAE NIEUNHIEUH
+  {0x8E74, 0xB7D7}, //2360 #HANGUL SYLLABLE RIEUL YAE TIKEUT
+  {0x8E75, 0xB7D8}, //2361 #HANGUL SYLLABLE RIEUL YAE RIEUL
+  {0x8E76, 0xB7D9}, //2362 #HANGUL SYLLABLE RIEUL YAE RIEULKIYEOK
+  {0x8E77, 0xB7DA}, //2363 #HANGUL SYLLABLE RIEUL YAE RIEULMIEUM
+  {0x8E78, 0xB7DB}, //2364 #HANGUL SYLLABLE RIEUL YAE RIEULPIEUP
+  {0x8E79, 0xB7DC}, //2365 #HANGUL SYLLABLE RIEUL YAE RIEULSIOS
+  {0x8E7A, 0xB7DD}, //2366 #HANGUL SYLLABLE RIEUL YAE RIEULTHIEUTH
+  {0x8E81, 0xB7DE}, //2367 #HANGUL SYLLABLE RIEUL YAE RIEULPHIEUPH
+  {0x8E82, 0xB7DF}, //2368 #HANGUL SYLLABLE RIEUL YAE RIEULHIEUH
+  {0x8E83, 0xB7E0}, //2369 #HANGUL SYLLABLE RIEUL YAE MIEUM
+  {0x8E84, 0xB7E1}, //2370 #HANGUL SYLLABLE RIEUL YAE PIEUP
+  {0x8E85, 0xB7E2}, //2371 #HANGUL SYLLABLE RIEUL YAE PIEUPSIOS
+  {0x8E86, 0xB7E3}, //2372 #HANGUL SYLLABLE RIEUL YAE SIOS
+  {0x8E87, 0xB7E4}, //2373 #HANGUL SYLLABLE RIEUL YAE SSANGSIOS
+  {0x8E88, 0xB7E5}, //2374 #HANGUL SYLLABLE RIEUL YAE IEUNG
+  {0x8E89, 0xB7E6}, //2375 #HANGUL SYLLABLE RIEUL YAE CIEUC
+  {0x8E8A, 0xB7E7}, //2376 #HANGUL SYLLABLE RIEUL YAE CHIEUCH
+  {0x8E8B, 0xB7E8}, //2377 #HANGUL SYLLABLE RIEUL YAE KHIEUKH
+  {0x8E8C, 0xB7E9}, //2378 #HANGUL SYLLABLE RIEUL YAE THIEUTH
+  {0x8E8D, 0xB7EA}, //2379 #HANGUL SYLLABLE RIEUL YAE PHIEUPH
+  {0x8E8E, 0xB7EB}, //2380 #HANGUL SYLLABLE RIEUL YAE HIEUH
+  {0x8E8F, 0xB7EE}, //2381 #HANGUL SYLLABLE RIEUL EO SSANGKIYEOK
+  {0x8E90, 0xB7EF}, //2382 #HANGUL SYLLABLE RIEUL EO KIYEOKSIOS
+  {0x8E91, 0xB7F1}, //2383 #HANGUL SYLLABLE RIEUL EO NIEUNCIEUC
+  {0x8E92, 0xB7F2}, //2384 #HANGUL SYLLABLE RIEUL EO NIEUNHIEUH
+  {0x8E93, 0xB7F3}, //2385 #HANGUL SYLLABLE RIEUL EO TIKEUT
+  {0x8E94, 0xB7F5}, //2386 #HANGUL SYLLABLE RIEUL EO RIEULKIYEOK
+  {0x8E95, 0xB7F6}, //2387 #HANGUL SYLLABLE RIEUL EO RIEULMIEUM
+  {0x8E96, 0xB7F7}, //2388 #HANGUL SYLLABLE RIEUL EO RIEULPIEUP
+  {0x8E97, 0xB7F8}, //2389 #HANGUL SYLLABLE RIEUL EO RIEULSIOS
+  {0x8E98, 0xB7F9}, //2390 #HANGUL SYLLABLE RIEUL EO RIEULTHIEUTH
+  {0x8E99, 0xB7FA}, //2391 #HANGUL SYLLABLE RIEUL EO RIEULPHIEUPH
+  {0x8E9A, 0xB7FB}, //2392 #HANGUL SYLLABLE RIEUL EO RIEULHIEUH
+  {0x8E9B, 0xB7FE}, //2393 #HANGUL SYLLABLE RIEUL EO PIEUPSIOS
+  {0x8E9C, 0xB802}, //2394 #HANGUL SYLLABLE RIEUL EO CIEUC
+  {0x8E9D, 0xB803}, //2395 #HANGUL SYLLABLE RIEUL EO CHIEUCH
+  {0x8E9E, 0xB804}, //2396 #HANGUL SYLLABLE RIEUL EO KHIEUKH
+  {0x8E9F, 0xB805}, //2397 #HANGUL SYLLABLE RIEUL EO THIEUTH
+  {0x8EA0, 0xB806}, //2398 #HANGUL SYLLABLE RIEUL EO PHIEUPH
+  {0x8EA1, 0xB80A}, //2399 #HANGUL SYLLABLE RIEUL E SSANGKIYEOK
+  {0x8EA2, 0xB80B}, //2400 #HANGUL SYLLABLE RIEUL E KIYEOKSIOS
+  {0x8EA3, 0xB80D}, //2401 #HANGUL SYLLABLE RIEUL E NIEUNCIEUC
+  {0x8EA4, 0xB80E}, //2402 #HANGUL SYLLABLE RIEUL E NIEUNHIEUH
+  {0x8EA5, 0xB80F}, //2403 #HANGUL SYLLABLE RIEUL E TIKEUT
+  {0x8EA6, 0xB811}, //2404 #HANGUL SYLLABLE RIEUL E RIEULKIYEOK
+  {0x8EA7, 0xB812}, //2405 #HANGUL SYLLABLE RIEUL E RIEULMIEUM
+  {0x8EA8, 0xB813}, //2406 #HANGUL SYLLABLE RIEUL E RIEULPIEUP
+  {0x8EA9, 0xB814}, //2407 #HANGUL SYLLABLE RIEUL E RIEULSIOS
+  {0x8EAA, 0xB815}, //2408 #HANGUL SYLLABLE RIEUL E RIEULTHIEUTH
+  {0x8EAB, 0xB816}, //2409 #HANGUL SYLLABLE RIEUL E RIEULPHIEUPH
+  {0x8EAC, 0xB817}, //2410 #HANGUL SYLLABLE RIEUL E RIEULHIEUH
+  {0x8EAD, 0xB81A}, //2411 #HANGUL SYLLABLE RIEUL E PIEUPSIOS
+  {0x8EAE, 0xB81C}, //2412 #HANGUL SYLLABLE RIEUL E SSANGSIOS
+  {0x8EAF, 0xB81E}, //2413 #HANGUL SYLLABLE RIEUL E CIEUC
+  {0x8EB0, 0xB81F}, //2414 #HANGUL SYLLABLE RIEUL E CHIEUCH
+  {0x8EB1, 0xB820}, //2415 #HANGUL SYLLABLE RIEUL E KHIEUKH
+  {0x8EB2, 0xB821}, //2416 #HANGUL SYLLABLE RIEUL E THIEUTH
+  {0x8EB3, 0xB822}, //2417 #HANGUL SYLLABLE RIEUL E PHIEUPH
+  {0x8EB4, 0xB823}, //2418 #HANGUL SYLLABLE RIEUL E HIEUH
+  {0x8EB5, 0xB826}, //2419 #HANGUL SYLLABLE RIEUL YEO SSANGKIYEOK
+  {0x8EB6, 0xB827}, //2420 #HANGUL SYLLABLE RIEUL YEO KIYEOKSIOS
+  {0x8EB7, 0xB829}, //2421 #HANGUL SYLLABLE RIEUL YEO NIEUNCIEUC
+  {0x8EB8, 0xB82A}, //2422 #HANGUL SYLLABLE RIEUL YEO NIEUNHIEUH
+  {0x8EB9, 0xB82B}, //2423 #HANGUL SYLLABLE RIEUL YEO TIKEUT
+  {0x8EBA, 0xB82D}, //2424 #HANGUL SYLLABLE RIEUL YEO RIEULKIYEOK
+  {0x8EBB, 0xB82E}, //2425 #HANGUL SYLLABLE RIEUL YEO RIEULMIEUM
+  {0x8EBC, 0xB82F}, //2426 #HANGUL SYLLABLE RIEUL YEO RIEULPIEUP
+  {0x8EBD, 0xB830}, //2427 #HANGUL SYLLABLE RIEUL YEO RIEULSIOS
+  {0x8EBE, 0xB831}, //2428 #HANGUL SYLLABLE RIEUL YEO RIEULTHIEUTH
+  {0x8EBF, 0xB832}, //2429 #HANGUL SYLLABLE RIEUL YEO RIEULPHIEUPH
+  {0x8EC0, 0xB833}, //2430 #HANGUL SYLLABLE RIEUL YEO RIEULHIEUH
+  {0x8EC1, 0xB836}, //2431 #HANGUL SYLLABLE RIEUL YEO PIEUPSIOS
+  {0x8EC2, 0xB83A}, //2432 #HANGUL SYLLABLE RIEUL YEO CIEUC
+  {0x8EC3, 0xB83B}, //2433 #HANGUL SYLLABLE RIEUL YEO CHIEUCH
+  {0x8EC4, 0xB83C}, //2434 #HANGUL SYLLABLE RIEUL YEO KHIEUKH
+  {0x8EC5, 0xB83D}, //2435 #HANGUL SYLLABLE RIEUL YEO THIEUTH
+  {0x8EC6, 0xB83E}, //2436 #HANGUL SYLLABLE RIEUL YEO PHIEUPH
+  {0x8EC7, 0xB83F}, //2437 #HANGUL SYLLABLE RIEUL YEO HIEUH
+  {0x8EC8, 0xB841}, //2438 #HANGUL SYLLABLE RIEUL YE KIYEOK
+  {0x8EC9, 0xB842}, //2439 #HANGUL SYLLABLE RIEUL YE SSANGKIYEOK
+  {0x8ECA, 0xB843}, //2440 #HANGUL SYLLABLE RIEUL YE KIYEOKSIOS
+  {0x8ECB, 0xB845}, //2441 #HANGUL SYLLABLE RIEUL YE NIEUNCIEUC
+  {0x8ECC, 0xB846}, //2442 #HANGUL SYLLABLE RIEUL YE NIEUNHIEUH
+  {0x8ECD, 0xB847}, //2443 #HANGUL SYLLABLE RIEUL YE TIKEUT
+  {0x8ECE, 0xB848}, //2444 #HANGUL SYLLABLE RIEUL YE RIEUL
+  {0x8ECF, 0xB849}, //2445 #HANGUL SYLLABLE RIEUL YE RIEULKIYEOK
+  {0x8ED0, 0xB84A}, //2446 #HANGUL SYLLABLE RIEUL YE RIEULMIEUM
+  {0x8ED1, 0xB84B}, //2447 #HANGUL SYLLABLE RIEUL YE RIEULPIEUP
+  {0x8ED2, 0xB84C}, //2448 #HANGUL SYLLABLE RIEUL YE RIEULSIOS
+  {0x8ED3, 0xB84D}, //2449 #HANGUL SYLLABLE RIEUL YE RIEULTHIEUTH
+  {0x8ED4, 0xB84E}, //2450 #HANGUL SYLLABLE RIEUL YE RIEULPHIEUPH
+  {0x8ED5, 0xB84F}, //2451 #HANGUL SYLLABLE RIEUL YE RIEULHIEUH
+  {0x8ED6, 0xB850}, //2452 #HANGUL SYLLABLE RIEUL YE MIEUM
+  {0x8ED7, 0xB852}, //2453 #HANGUL SYLLABLE RIEUL YE PIEUPSIOS
+  {0x8ED8, 0xB854}, //2454 #HANGUL SYLLABLE RIEUL YE SSANGSIOS
+  {0x8ED9, 0xB855}, //2455 #HANGUL SYLLABLE RIEUL YE IEUNG
+  {0x8EDA, 0xB856}, //2456 #HANGUL SYLLABLE RIEUL YE CIEUC
+  {0x8EDB, 0xB857}, //2457 #HANGUL SYLLABLE RIEUL YE CHIEUCH
+  {0x8EDC, 0xB858}, //2458 #HANGUL SYLLABLE RIEUL YE KHIEUKH
+  {0x8EDD, 0xB859}, //2459 #HANGUL SYLLABLE RIEUL YE THIEUTH
+  {0x8EDE, 0xB85A}, //2460 #HANGUL SYLLABLE RIEUL YE PHIEUPH
+  {0x8EDF, 0xB85B}, //2461 #HANGUL SYLLABLE RIEUL YE HIEUH
+  {0x8EE0, 0xB85E}, //2462 #HANGUL SYLLABLE RIEUL O SSANGKIYEOK
+  {0x8EE1, 0xB85F}, //2463 #HANGUL SYLLABLE RIEUL O KIYEOKSIOS
+  {0x8EE2, 0xB861}, //2464 #HANGUL SYLLABLE RIEUL O NIEUNCIEUC
+  {0x8EE3, 0xB862}, //2465 #HANGUL SYLLABLE RIEUL O NIEUNHIEUH
+  {0x8EE4, 0xB863}, //2466 #HANGUL SYLLABLE RIEUL O TIKEUT
+  {0x8EE5, 0xB865}, //2467 #HANGUL SYLLABLE RIEUL O RIEULKIYEOK
+  {0x8EE6, 0xB866}, //2468 #HANGUL SYLLABLE RIEUL O RIEULMIEUM
+  {0x8EE7, 0xB867}, //2469 #HANGUL SYLLABLE RIEUL O RIEULPIEUP
+  {0x8EE8, 0xB868}, //2470 #HANGUL SYLLABLE RIEUL O RIEULSIOS
+  {0x8EE9, 0xB869}, //2471 #HANGUL SYLLABLE RIEUL O RIEULTHIEUTH
+  {0x8EEA, 0xB86A}, //2472 #HANGUL SYLLABLE RIEUL O RIEULPHIEUPH
+  {0x8EEB, 0xB86B}, //2473 #HANGUL SYLLABLE RIEUL O RIEULHIEUH
+  {0x8EEC, 0xB86E}, //2474 #HANGUL SYLLABLE RIEUL O PIEUPSIOS
+  {0x8EED, 0xB870}, //2475 #HANGUL SYLLABLE RIEUL O SSANGSIOS
+  {0x8EEE, 0xB872}, //2476 #HANGUL SYLLABLE RIEUL O CIEUC
+  {0x8EEF, 0xB873}, //2477 #HANGUL SYLLABLE RIEUL O CHIEUCH
+  {0x8EF0, 0xB874}, //2478 #HANGUL SYLLABLE RIEUL O KHIEUKH
+  {0x8EF1, 0xB875}, //2479 #HANGUL SYLLABLE RIEUL O THIEUTH
+  {0x8EF2, 0xB876}, //2480 #HANGUL SYLLABLE RIEUL O PHIEUPH
+  {0x8EF3, 0xB877}, //2481 #HANGUL SYLLABLE RIEUL O HIEUH
+  {0x8EF4, 0xB879}, //2482 #HANGUL SYLLABLE RIEUL WA KIYEOK
+  {0x8EF5, 0xB87A}, //2483 #HANGUL SYLLABLE RIEUL WA SSANGKIYEOK
+  {0x8EF6, 0xB87B}, //2484 #HANGUL SYLLABLE RIEUL WA KIYEOKSIOS
+  {0x8EF7, 0xB87D}, //2485 #HANGUL SYLLABLE RIEUL WA NIEUNCIEUC
+  {0x8EF8, 0xB87E}, //2486 #HANGUL SYLLABLE RIEUL WA NIEUNHIEUH
+  {0x8EF9, 0xB87F}, //2487 #HANGUL SYLLABLE RIEUL WA TIKEUT
+  {0x8EFA, 0xB880}, //2488 #HANGUL SYLLABLE RIEUL WA RIEUL
+  {0x8EFB, 0xB881}, //2489 #HANGUL SYLLABLE RIEUL WA RIEULKIYEOK
+  {0x8EFC, 0xB882}, //2490 #HANGUL SYLLABLE RIEUL WA RIEULMIEUM
+  {0x8EFD, 0xB883}, //2491 #HANGUL SYLLABLE RIEUL WA RIEULPIEUP
+  {0x8EFE, 0xB884}, //2492 #HANGUL SYLLABLE RIEUL WA RIEULSIOS
+  {0x8F41, 0xB885}, //2493 #HANGUL SYLLABLE RIEUL WA RIEULTHIEUTH
+  {0x8F42, 0xB886}, //2494 #HANGUL SYLLABLE RIEUL WA RIEULPHIEUPH
+  {0x8F43, 0xB887}, //2495 #HANGUL SYLLABLE RIEUL WA RIEULHIEUH
+  {0x8F44, 0xB888}, //2496 #HANGUL SYLLABLE RIEUL WA MIEUM
+  {0x8F45, 0xB889}, //2497 #HANGUL SYLLABLE RIEUL WA PIEUP
+  {0x8F46, 0xB88A}, //2498 #HANGUL SYLLABLE RIEUL WA PIEUPSIOS
+  {0x8F47, 0xB88B}, //2499 #HANGUL SYLLABLE RIEUL WA SIOS
+  {0x8F48, 0xB88C}, //2500 #HANGUL SYLLABLE RIEUL WA SSANGSIOS
+  {0x8F49, 0xB88E}, //2501 #HANGUL SYLLABLE RIEUL WA CIEUC
+  {0x8F4A, 0xB88F}, //2502 #HANGUL SYLLABLE RIEUL WA CHIEUCH
+  {0x8F4B, 0xB890}, //2503 #HANGUL SYLLABLE RIEUL WA KHIEUKH
+  {0x8F4C, 0xB891}, //2504 #HANGUL SYLLABLE RIEUL WA THIEUTH
+  {0x8F4D, 0xB892}, //2505 #HANGUL SYLLABLE RIEUL WA PHIEUPH
+  {0x8F4E, 0xB893}, //2506 #HANGUL SYLLABLE RIEUL WA HIEUH
+  {0x8F4F, 0xB894}, //2507 #HANGUL SYLLABLE RIEUL WAE
+  {0x8F50, 0xB895}, //2508 #HANGUL SYLLABLE RIEUL WAE KIYEOK
+  {0x8F51, 0xB896}, //2509 #HANGUL SYLLABLE RIEUL WAE SSANGKIYEOK
+  {0x8F52, 0xB897}, //2510 #HANGUL SYLLABLE RIEUL WAE KIYEOKSIOS
+  {0x8F53, 0xB898}, //2511 #HANGUL SYLLABLE RIEUL WAE NIEUN
+  {0x8F54, 0xB899}, //2512 #HANGUL SYLLABLE RIEUL WAE NIEUNCIEUC
+  {0x8F55, 0xB89A}, //2513 #HANGUL SYLLABLE RIEUL WAE NIEUNHIEUH
+  {0x8F56, 0xB89B}, //2514 #HANGUL SYLLABLE RIEUL WAE TIKEUT
+  {0x8F57, 0xB89C}, //2515 #HANGUL SYLLABLE RIEUL WAE RIEUL
+  {0x8F58, 0xB89D}, //2516 #HANGUL SYLLABLE RIEUL WAE RIEULKIYEOK
+  {0x8F59, 0xB89E}, //2517 #HANGUL SYLLABLE RIEUL WAE RIEULMIEUM
+  {0x8F5A, 0xB89F}, //2518 #HANGUL SYLLABLE RIEUL WAE RIEULPIEUP
+  {0x8F61, 0xB8A0}, //2519 #HANGUL SYLLABLE RIEUL WAE RIEULSIOS
+  {0x8F62, 0xB8A1}, //2520 #HANGUL SYLLABLE RIEUL WAE RIEULTHIEUTH
+  {0x8F63, 0xB8A2}, //2521 #HANGUL SYLLABLE RIEUL WAE RIEULPHIEUPH
+  {0x8F64, 0xB8A3}, //2522 #HANGUL SYLLABLE RIEUL WAE RIEULHIEUH
+  {0x8F65, 0xB8A4}, //2523 #HANGUL SYLLABLE RIEUL WAE MIEUM
+  {0x8F66, 0xB8A5}, //2524 #HANGUL SYLLABLE RIEUL WAE PIEUP
+  {0x8F67, 0xB8A6}, //2525 #HANGUL SYLLABLE RIEUL WAE PIEUPSIOS
+  {0x8F68, 0xB8A7}, //2526 #HANGUL SYLLABLE RIEUL WAE SIOS
+  {0x8F69, 0xB8A9}, //2527 #HANGUL SYLLABLE RIEUL WAE IEUNG
+  {0x8F6A, 0xB8AA}, //2528 #HANGUL SYLLABLE RIEUL WAE CIEUC
+  {0x8F6B, 0xB8AB}, //2529 #HANGUL SYLLABLE RIEUL WAE CHIEUCH
+  {0x8F6C, 0xB8AC}, //2530 #HANGUL SYLLABLE RIEUL WAE KHIEUKH
+  {0x8F6D, 0xB8AD}, //2531 #HANGUL SYLLABLE RIEUL WAE THIEUTH
+  {0x8F6E, 0xB8AE}, //2532 #HANGUL SYLLABLE RIEUL WAE PHIEUPH
+  {0x8F6F, 0xB8AF}, //2533 #HANGUL SYLLABLE RIEUL WAE HIEUH
+  {0x8F70, 0xB8B1}, //2534 #HANGUL SYLLABLE RIEUL OE KIYEOK
+  {0x8F71, 0xB8B2}, //2535 #HANGUL SYLLABLE RIEUL OE SSANGKIYEOK
+  {0x8F72, 0xB8B3}, //2536 #HANGUL SYLLABLE RIEUL OE KIYEOKSIOS
+  {0x8F73, 0xB8B5}, //2537 #HANGUL SYLLABLE RIEUL OE NIEUNCIEUC
+  {0x8F74, 0xB8B6}, //2538 #HANGUL SYLLABLE RIEUL OE NIEUNHIEUH
+  {0x8F75, 0xB8B7}, //2539 #HANGUL SYLLABLE RIEUL OE TIKEUT
+  {0x8F76, 0xB8B9}, //2540 #HANGUL SYLLABLE RIEUL OE RIEULKIYEOK
+  {0x8F77, 0xB8BA}, //2541 #HANGUL SYLLABLE RIEUL OE RIEULMIEUM
+  {0x8F78, 0xB8BB}, //2542 #HANGUL SYLLABLE RIEUL OE RIEULPIEUP
+  {0x8F79, 0xB8BC}, //2543 #HANGUL SYLLABLE RIEUL OE RIEULSIOS
+  {0x8F7A, 0xB8BD}, //2544 #HANGUL SYLLABLE RIEUL OE RIEULTHIEUTH
+  {0x8F81, 0xB8BE}, //2545 #HANGUL SYLLABLE RIEUL OE RIEULPHIEUPH
+  {0x8F82, 0xB8BF}, //2546 #HANGUL SYLLABLE RIEUL OE RIEULHIEUH
+  {0x8F83, 0xB8C2}, //2547 #HANGUL SYLLABLE RIEUL OE PIEUPSIOS
+  {0x8F84, 0xB8C4}, //2548 #HANGUL SYLLABLE RIEUL OE SSANGSIOS
+  {0x8F85, 0xB8C6}, //2549 #HANGUL SYLLABLE RIEUL OE CIEUC
+  {0x8F86, 0xB8C7}, //2550 #HANGUL SYLLABLE RIEUL OE CHIEUCH
+  {0x8F87, 0xB8C8}, //2551 #HANGUL SYLLABLE RIEUL OE KHIEUKH
+  {0x8F88, 0xB8C9}, //2552 #HANGUL SYLLABLE RIEUL OE THIEUTH
+  {0x8F89, 0xB8CA}, //2553 #HANGUL SYLLABLE RIEUL OE PHIEUPH
+  {0x8F8A, 0xB8CB}, //2554 #HANGUL SYLLABLE RIEUL OE HIEUH
+  {0x8F8B, 0xB8CD}, //2555 #HANGUL SYLLABLE RIEUL YO KIYEOK
+  {0x8F8C, 0xB8CE}, //2556 #HANGUL SYLLABLE RIEUL YO SSANGKIYEOK
+  {0x8F8D, 0xB8CF}, //2557 #HANGUL SYLLABLE RIEUL YO KIYEOKSIOS
+  {0x8F8E, 0xB8D1}, //2558 #HANGUL SYLLABLE RIEUL YO NIEUNCIEUC
+  {0x8F8F, 0xB8D2}, //2559 #HANGUL SYLLABLE RIEUL YO NIEUNHIEUH
+  {0x8F90, 0xB8D3}, //2560 #HANGUL SYLLABLE RIEUL YO TIKEUT
+  {0x8F91, 0xB8D5}, //2561 #HANGUL SYLLABLE RIEUL YO RIEULKIYEOK
+  {0x8F92, 0xB8D6}, //2562 #HANGUL SYLLABLE RIEUL YO RIEULMIEUM
+  {0x8F93, 0xB8D7}, //2563 #HANGUL SYLLABLE RIEUL YO RIEULPIEUP
+  {0x8F94, 0xB8D8}, //2564 #HANGUL SYLLABLE RIEUL YO RIEULSIOS
+  {0x8F95, 0xB8D9}, //2565 #HANGUL SYLLABLE RIEUL YO RIEULTHIEUTH
+  {0x8F96, 0xB8DA}, //2566 #HANGUL SYLLABLE RIEUL YO RIEULPHIEUPH
+  {0x8F97, 0xB8DB}, //2567 #HANGUL SYLLABLE RIEUL YO RIEULHIEUH
+  {0x8F98, 0xB8DC}, //2568 #HANGUL SYLLABLE RIEUL YO MIEUM
+  {0x8F99, 0xB8DE}, //2569 #HANGUL SYLLABLE RIEUL YO PIEUPSIOS
+  {0x8F9A, 0xB8E0}, //2570 #HANGUL SYLLABLE RIEUL YO SSANGSIOS
+  {0x8F9B, 0xB8E2}, //2571 #HANGUL SYLLABLE RIEUL YO CIEUC
+  {0x8F9C, 0xB8E3}, //2572 #HANGUL SYLLABLE RIEUL YO CHIEUCH
+  {0x8F9D, 0xB8E4}, //2573 #HANGUL SYLLABLE RIEUL YO KHIEUKH
+  {0x8F9E, 0xB8E5}, //2574 #HANGUL SYLLABLE RIEUL YO THIEUTH
+  {0x8F9F, 0xB8E6}, //2575 #HANGUL SYLLABLE RIEUL YO PHIEUPH
+  {0x8FA0, 0xB8E7}, //2576 #HANGUL SYLLABLE RIEUL YO HIEUH
+  {0x8FA1, 0xB8EA}, //2577 #HANGUL SYLLABLE RIEUL U SSANGKIYEOK
+  {0x8FA2, 0xB8EB}, //2578 #HANGUL SYLLABLE RIEUL U KIYEOKSIOS
+  {0x8FA3, 0xB8ED}, //2579 #HANGUL SYLLABLE RIEUL U NIEUNCIEUC
+  {0x8FA4, 0xB8EE}, //2580 #HANGUL SYLLABLE RIEUL U NIEUNHIEUH
+  {0x8FA5, 0xB8EF}, //2581 #HANGUL SYLLABLE RIEUL U TIKEUT
+  {0x8FA6, 0xB8F1}, //2582 #HANGUL SYLLABLE RIEUL U RIEULKIYEOK
+  {0x8FA7, 0xB8F2}, //2583 #HANGUL SYLLABLE RIEUL U RIEULMIEUM
+  {0x8FA8, 0xB8F3}, //2584 #HANGUL SYLLABLE RIEUL U RIEULPIEUP
+  {0x8FA9, 0xB8F4}, //2585 #HANGUL SYLLABLE RIEUL U RIEULSIOS
+  {0x8FAA, 0xB8F5}, //2586 #HANGUL SYLLABLE RIEUL U RIEULTHIEUTH
+  {0x8FAB, 0xB8F6}, //2587 #HANGUL SYLLABLE RIEUL U RIEULPHIEUPH
+  {0x8FAC, 0xB8F7}, //2588 #HANGUL SYLLABLE RIEUL U RIEULHIEUH
+  {0x8FAD, 0xB8FA}, //2589 #HANGUL SYLLABLE RIEUL U PIEUPSIOS
+  {0x8FAE, 0xB8FC}, //2590 #HANGUL SYLLABLE RIEUL U SSANGSIOS
+  {0x8FAF, 0xB8FE}, //2591 #HANGUL SYLLABLE RIEUL U CIEUC
+  {0x8FB0, 0xB8FF}, //2592 #HANGUL SYLLABLE RIEUL U CHIEUCH
+  {0x8FB1, 0xB900}, //2593 #HANGUL SYLLABLE RIEUL U KHIEUKH
+  {0x8FB2, 0xB901}, //2594 #HANGUL SYLLABLE RIEUL U THIEUTH
+  {0x8FB3, 0xB902}, //2595 #HANGUL SYLLABLE RIEUL U PHIEUPH
+  {0x8FB4, 0xB903}, //2596 #HANGUL SYLLABLE RIEUL U HIEUH
+  {0x8FB5, 0xB905}, //2597 #HANGUL SYLLABLE RIEUL WEO KIYEOK
+  {0x8FB6, 0xB906}, //2598 #HANGUL SYLLABLE RIEUL WEO SSANGKIYEOK
+  {0x8FB7, 0xB907}, //2599 #HANGUL SYLLABLE RIEUL WEO KIYEOKSIOS
+  {0x8FB8, 0xB908}, //2600 #HANGUL SYLLABLE RIEUL WEO NIEUN
+  {0x8FB9, 0xB909}, //2601 #HANGUL SYLLABLE RIEUL WEO NIEUNCIEUC
+  {0x8FBA, 0xB90A}, //2602 #HANGUL SYLLABLE RIEUL WEO NIEUNHIEUH
+  {0x8FBB, 0xB90B}, //2603 #HANGUL SYLLABLE RIEUL WEO TIKEUT
+  {0x8FBC, 0xB90C}, //2604 #HANGUL SYLLABLE RIEUL WEO RIEUL
+  {0x8FBD, 0xB90D}, //2605 #HANGUL SYLLABLE RIEUL WEO RIEULKIYEOK
+  {0x8FBE, 0xB90E}, //2606 #HANGUL SYLLABLE RIEUL WEO RIEULMIEUM
+  {0x8FBF, 0xB90F}, //2607 #HANGUL SYLLABLE RIEUL WEO RIEULPIEUP
+  {0x8FC0, 0xB910}, //2608 #HANGUL SYLLABLE RIEUL WEO RIEULSIOS
+  {0x8FC1, 0xB911}, //2609 #HANGUL SYLLABLE RIEUL WEO RIEULTHIEUTH
+  {0x8FC2, 0xB912}, //2610 #HANGUL SYLLABLE RIEUL WEO RIEULPHIEUPH
+  {0x8FC3, 0xB913}, //2611 #HANGUL SYLLABLE RIEUL WEO RIEULHIEUH
+  {0x8FC4, 0xB914}, //2612 #HANGUL SYLLABLE RIEUL WEO MIEUM
+  {0x8FC5, 0xB915}, //2613 #HANGUL SYLLABLE RIEUL WEO PIEUP
+  {0x8FC6, 0xB916}, //2614 #HANGUL SYLLABLE RIEUL WEO PIEUPSIOS
+  {0x8FC7, 0xB917}, //2615 #HANGUL SYLLABLE RIEUL WEO SIOS
+  {0x8FC8, 0xB919}, //2616 #HANGUL SYLLABLE RIEUL WEO IEUNG
+  {0x8FC9, 0xB91A}, //2617 #HANGUL SYLLABLE RIEUL WEO CIEUC
+  {0x8FCA, 0xB91B}, //2618 #HANGUL SYLLABLE RIEUL WEO CHIEUCH
+  {0x8FCB, 0xB91C}, //2619 #HANGUL SYLLABLE RIEUL WEO KHIEUKH
+  {0x8FCC, 0xB91D}, //2620 #HANGUL SYLLABLE RIEUL WEO THIEUTH
+  {0x8FCD, 0xB91E}, //2621 #HANGUL SYLLABLE RIEUL WEO PHIEUPH
+  {0x8FCE, 0xB91F}, //2622 #HANGUL SYLLABLE RIEUL WEO HIEUH
+  {0x8FCF, 0xB921}, //2623 #HANGUL SYLLABLE RIEUL WE KIYEOK
+  {0x8FD0, 0xB922}, //2624 #HANGUL SYLLABLE RIEUL WE SSANGKIYEOK
+  {0x8FD1, 0xB923}, //2625 #HANGUL SYLLABLE RIEUL WE KIYEOKSIOS
+  {0x8FD2, 0xB924}, //2626 #HANGUL SYLLABLE RIEUL WE NIEUN
+  {0x8FD3, 0xB925}, //2627 #HANGUL SYLLABLE RIEUL WE NIEUNCIEUC
+  {0x8FD4, 0xB926}, //2628 #HANGUL SYLLABLE RIEUL WE NIEUNHIEUH
+  {0x8FD5, 0xB927}, //2629 #HANGUL SYLLABLE RIEUL WE TIKEUT
+  {0x8FD6, 0xB928}, //2630 #HANGUL SYLLABLE RIEUL WE RIEUL
+  {0x8FD7, 0xB929}, //2631 #HANGUL SYLLABLE RIEUL WE RIEULKIYEOK
+  {0x8FD8, 0xB92A}, //2632 #HANGUL SYLLABLE RIEUL WE RIEULMIEUM
+  {0x8FD9, 0xB92B}, //2633 #HANGUL SYLLABLE RIEUL WE RIEULPIEUP
+  {0x8FDA, 0xB92C}, //2634 #HANGUL SYLLABLE RIEUL WE RIEULSIOS
+  {0x8FDB, 0xB92D}, //2635 #HANGUL SYLLABLE RIEUL WE RIEULTHIEUTH
+  {0x8FDC, 0xB92E}, //2636 #HANGUL SYLLABLE RIEUL WE RIEULPHIEUPH
+  {0x8FDD, 0xB92F}, //2637 #HANGUL SYLLABLE RIEUL WE RIEULHIEUH
+  {0x8FDE, 0xB930}, //2638 #HANGUL SYLLABLE RIEUL WE MIEUM
+  {0x8FDF, 0xB931}, //2639 #HANGUL SYLLABLE RIEUL WE PIEUP
+  {0x8FE0, 0xB932}, //2640 #HANGUL SYLLABLE RIEUL WE PIEUPSIOS
+  {0x8FE1, 0xB933}, //2641 #HANGUL SYLLABLE RIEUL WE SIOS
+  {0x8FE2, 0xB934}, //2642 #HANGUL SYLLABLE RIEUL WE SSANGSIOS
+  {0x8FE3, 0xB935}, //2643 #HANGUL SYLLABLE RIEUL WE IEUNG
+  {0x8FE4, 0xB936}, //2644 #HANGUL SYLLABLE RIEUL WE CIEUC
+  {0x8FE5, 0xB937}, //2645 #HANGUL SYLLABLE RIEUL WE CHIEUCH
+  {0x8FE6, 0xB938}, //2646 #HANGUL SYLLABLE RIEUL WE KHIEUKH
+  {0x8FE7, 0xB939}, //2647 #HANGUL SYLLABLE RIEUL WE THIEUTH
+  {0x8FE8, 0xB93A}, //2648 #HANGUL SYLLABLE RIEUL WE PHIEUPH
+  {0x8FE9, 0xB93B}, //2649 #HANGUL SYLLABLE RIEUL WE HIEUH
+  {0x8FEA, 0xB93E}, //2650 #HANGUL SYLLABLE RIEUL WI SSANGKIYEOK
+  {0x8FEB, 0xB93F}, //2651 #HANGUL SYLLABLE RIEUL WI KIYEOKSIOS
+  {0x8FEC, 0xB941}, //2652 #HANGUL SYLLABLE RIEUL WI NIEUNCIEUC
+  {0x8FED, 0xB942}, //2653 #HANGUL SYLLABLE RIEUL WI NIEUNHIEUH
+  {0x8FEE, 0xB943}, //2654 #HANGUL SYLLABLE RIEUL WI TIKEUT
+  {0x8FEF, 0xB945}, //2655 #HANGUL SYLLABLE RIEUL WI RIEULKIYEOK
+  {0x8FF0, 0xB946}, //2656 #HANGUL SYLLABLE RIEUL WI RIEULMIEUM
+  {0x8FF1, 0xB947}, //2657 #HANGUL SYLLABLE RIEUL WI RIEULPIEUP
+  {0x8FF2, 0xB948}, //2658 #HANGUL SYLLABLE RIEUL WI RIEULSIOS
+  {0x8FF3, 0xB949}, //2659 #HANGUL SYLLABLE RIEUL WI RIEULTHIEUTH
+  {0x8FF4, 0xB94A}, //2660 #HANGUL SYLLABLE RIEUL WI RIEULPHIEUPH
+  {0x8FF5, 0xB94B}, //2661 #HANGUL SYLLABLE RIEUL WI RIEULHIEUH
+  {0x8FF6, 0xB94D}, //2662 #HANGUL SYLLABLE RIEUL WI PIEUP
+  {0x8FF7, 0xB94E}, //2663 #HANGUL SYLLABLE RIEUL WI PIEUPSIOS
+  {0x8FF8, 0xB950}, //2664 #HANGUL SYLLABLE RIEUL WI SSANGSIOS
+  {0x8FF9, 0xB952}, //2665 #HANGUL SYLLABLE RIEUL WI CIEUC
+  {0x8FFA, 0xB953}, //2666 #HANGUL SYLLABLE RIEUL WI CHIEUCH
+  {0x8FFB, 0xB954}, //2667 #HANGUL SYLLABLE RIEUL WI KHIEUKH
+  {0x8FFC, 0xB955}, //2668 #HANGUL SYLLABLE RIEUL WI THIEUTH
+  {0x8FFD, 0xB956}, //2669 #HANGUL SYLLABLE RIEUL WI PHIEUPH
+  {0x8FFE, 0xB957}, //2670 #HANGUL SYLLABLE RIEUL WI HIEUH
+  {0x9041, 0xB95A}, //2671 #HANGUL SYLLABLE RIEUL YU SSANGKIYEOK
+  {0x9042, 0xB95B}, //2672 #HANGUL SYLLABLE RIEUL YU KIYEOKSIOS
+  {0x9043, 0xB95D}, //2673 #HANGUL SYLLABLE RIEUL YU NIEUNCIEUC
+  {0x9044, 0xB95E}, //2674 #HANGUL SYLLABLE RIEUL YU NIEUNHIEUH
+  {0x9045, 0xB95F}, //2675 #HANGUL SYLLABLE RIEUL YU TIKEUT
+  {0x9046, 0xB961}, //2676 #HANGUL SYLLABLE RIEUL YU RIEULKIYEOK
+  {0x9047, 0xB962}, //2677 #HANGUL SYLLABLE RIEUL YU RIEULMIEUM
+  {0x9048, 0xB963}, //2678 #HANGUL SYLLABLE RIEUL YU RIEULPIEUP
+  {0x9049, 0xB964}, //2679 #HANGUL SYLLABLE RIEUL YU RIEULSIOS
+  {0x904A, 0xB965}, //2680 #HANGUL SYLLABLE RIEUL YU RIEULTHIEUTH
+  {0x904B, 0xB966}, //2681 #HANGUL SYLLABLE RIEUL YU RIEULPHIEUPH
+  {0x904C, 0xB967}, //2682 #HANGUL SYLLABLE RIEUL YU RIEULHIEUH
+  {0x904D, 0xB96A}, //2683 #HANGUL SYLLABLE RIEUL YU PIEUPSIOS
+  {0x904E, 0xB96C}, //2684 #HANGUL SYLLABLE RIEUL YU SSANGSIOS
+  {0x904F, 0xB96E}, //2685 #HANGUL SYLLABLE RIEUL YU CIEUC
+  {0x9050, 0xB96F}, //2686 #HANGUL SYLLABLE RIEUL YU CHIEUCH
+  {0x9051, 0xB970}, //2687 #HANGUL SYLLABLE RIEUL YU KHIEUKH
+  {0x9052, 0xB971}, //2688 #HANGUL SYLLABLE RIEUL YU THIEUTH
+  {0x9053, 0xB972}, //2689 #HANGUL SYLLABLE RIEUL YU PHIEUPH
+  {0x9054, 0xB973}, //2690 #HANGUL SYLLABLE RIEUL YU HIEUH
+  {0x9055, 0xB976}, //2691 #HANGUL SYLLABLE RIEUL EU SSANGKIYEOK
+  {0x9056, 0xB977}, //2692 #HANGUL SYLLABLE RIEUL EU KIYEOKSIOS
+  {0x9057, 0xB979}, //2693 #HANGUL SYLLABLE RIEUL EU NIEUNCIEUC
+  {0x9058, 0xB97A}, //2694 #HANGUL SYLLABLE RIEUL EU NIEUNHIEUH
+  {0x9059, 0xB97B}, //2695 #HANGUL SYLLABLE RIEUL EU TIKEUT
+  {0x905A, 0xB97D}, //2696 #HANGUL SYLLABLE RIEUL EU RIEULKIYEOK
+  {0x9061, 0xB97E}, //2697 #HANGUL SYLLABLE RIEUL EU RIEULMIEUM
+  {0x9062, 0xB97F}, //2698 #HANGUL SYLLABLE RIEUL EU RIEULPIEUP
+  {0x9063, 0xB980}, //2699 #HANGUL SYLLABLE RIEUL EU RIEULSIOS
+  {0x9064, 0xB981}, //2700 #HANGUL SYLLABLE RIEUL EU RIEULTHIEUTH
+  {0x9065, 0xB982}, //2701 #HANGUL SYLLABLE RIEUL EU RIEULPHIEUPH
+  {0x9066, 0xB983}, //2702 #HANGUL SYLLABLE RIEUL EU RIEULHIEUH
+  {0x9067, 0xB986}, //2703 #HANGUL SYLLABLE RIEUL EU PIEUPSIOS
+  {0x9068, 0xB988}, //2704 #HANGUL SYLLABLE RIEUL EU SSANGSIOS
+  {0x9069, 0xB98B}, //2705 #HANGUL SYLLABLE RIEUL EU CHIEUCH
+  {0x906A, 0xB98C}, //2706 #HANGUL SYLLABLE RIEUL EU KHIEUKH
+  {0x906B, 0xB98F}, //2707 #HANGUL SYLLABLE RIEUL EU HIEUH
+  {0x906C, 0xB990}, //2708 #HANGUL SYLLABLE RIEUL YI
+  {0x906D, 0xB991}, //2709 #HANGUL SYLLABLE RIEUL YI KIYEOK
+  {0x906E, 0xB992}, //2710 #HANGUL SYLLABLE RIEUL YI SSANGKIYEOK
+  {0x906F, 0xB993}, //2711 #HANGUL SYLLABLE RIEUL YI KIYEOKSIOS
+  {0x9070, 0xB994}, //2712 #HANGUL SYLLABLE RIEUL YI NIEUN
+  {0x9071, 0xB995}, //2713 #HANGUL SYLLABLE RIEUL YI NIEUNCIEUC
+  {0x9072, 0xB996}, //2714 #HANGUL SYLLABLE RIEUL YI NIEUNHIEUH
+  {0x9073, 0xB997}, //2715 #HANGUL SYLLABLE RIEUL YI TIKEUT
+  {0x9074, 0xB998}, //2716 #HANGUL SYLLABLE RIEUL YI RIEUL
+  {0x9075, 0xB999}, //2717 #HANGUL SYLLABLE RIEUL YI RIEULKIYEOK
+  {0x9076, 0xB99A}, //2718 #HANGUL SYLLABLE RIEUL YI RIEULMIEUM
+  {0x9077, 0xB99B}, //2719 #HANGUL SYLLABLE RIEUL YI RIEULPIEUP
+  {0x9078, 0xB99C}, //2720 #HANGUL SYLLABLE RIEUL YI RIEULSIOS
+  {0x9079, 0xB99D}, //2721 #HANGUL SYLLABLE RIEUL YI RIEULTHIEUTH
+  {0x907A, 0xB99E}, //2722 #HANGUL SYLLABLE RIEUL YI RIEULPHIEUPH
+  {0x9081, 0xB99F}, //2723 #HANGUL SYLLABLE RIEUL YI RIEULHIEUH
+  {0x9082, 0xB9A0}, //2724 #HANGUL SYLLABLE RIEUL YI MIEUM
+  {0x9083, 0xB9A1}, //2725 #HANGUL SYLLABLE RIEUL YI PIEUP
+  {0x9084, 0xB9A2}, //2726 #HANGUL SYLLABLE RIEUL YI PIEUPSIOS
+  {0x9085, 0xB9A3}, //2727 #HANGUL SYLLABLE RIEUL YI SIOS
+  {0x9086, 0xB9A4}, //2728 #HANGUL SYLLABLE RIEUL YI SSANGSIOS
+  {0x9087, 0xB9A5}, //2729 #HANGUL SYLLABLE RIEUL YI IEUNG
+  {0x9088, 0xB9A6}, //2730 #HANGUL SYLLABLE RIEUL YI CIEUC
+  {0x9089, 0xB9A7}, //2731 #HANGUL SYLLABLE RIEUL YI CHIEUCH
+  {0x908A, 0xB9A8}, //2732 #HANGUL SYLLABLE RIEUL YI KHIEUKH
+  {0x908B, 0xB9A9}, //2733 #HANGUL SYLLABLE RIEUL YI THIEUTH
+  {0x908C, 0xB9AA}, //2734 #HANGUL SYLLABLE RIEUL YI PHIEUPH
+  {0x908D, 0xB9AB}, //2735 #HANGUL SYLLABLE RIEUL YI HIEUH
+  {0x908E, 0xB9AE}, //2736 #HANGUL SYLLABLE RIEUL I SSANGKIYEOK
+  {0x908F, 0xB9AF}, //2737 #HANGUL SYLLABLE RIEUL I KIYEOKSIOS
+  {0x9090, 0xB9B1}, //2738 #HANGUL SYLLABLE RIEUL I NIEUNCIEUC
+  {0x9091, 0xB9B2}, //2739 #HANGUL SYLLABLE RIEUL I NIEUNHIEUH
+  {0x9092, 0xB9B3}, //2740 #HANGUL SYLLABLE RIEUL I TIKEUT
+  {0x9093, 0xB9B5}, //2741 #HANGUL SYLLABLE RIEUL I RIEULKIYEOK
+  {0x9094, 0xB9B6}, //2742 #HANGUL SYLLABLE RIEUL I RIEULMIEUM
+  {0x9095, 0xB9B7}, //2743 #HANGUL SYLLABLE RIEUL I RIEULPIEUP
+  {0x9096, 0xB9B8}, //2744 #HANGUL SYLLABLE RIEUL I RIEULSIOS
+  {0x9097, 0xB9B9}, //2745 #HANGUL SYLLABLE RIEUL I RIEULTHIEUTH
+  {0x9098, 0xB9BA}, //2746 #HANGUL SYLLABLE RIEUL I RIEULPHIEUPH
+  {0x9099, 0xB9BB}, //2747 #HANGUL SYLLABLE RIEUL I RIEULHIEUH
+  {0x909A, 0xB9BE}, //2748 #HANGUL SYLLABLE RIEUL I PIEUPSIOS
+  {0x909B, 0xB9C0}, //2749 #HANGUL SYLLABLE RIEUL I SSANGSIOS
+  {0x909C, 0xB9C2}, //2750 #HANGUL SYLLABLE RIEUL I CIEUC
+  {0x909D, 0xB9C3}, //2751 #HANGUL SYLLABLE RIEUL I CHIEUCH
+  {0x909E, 0xB9C4}, //2752 #HANGUL SYLLABLE RIEUL I KHIEUKH
+  {0x909F, 0xB9C5}, //2753 #HANGUL SYLLABLE RIEUL I THIEUTH
+  {0x90A0, 0xB9C6}, //2754 #HANGUL SYLLABLE RIEUL I PHIEUPH
+  {0x90A1, 0xB9C7}, //2755 #HANGUL SYLLABLE RIEUL I HIEUH
+  {0x90A2, 0xB9CA}, //2756 #HANGUL SYLLABLE MIEUM A SSANGKIYEOK
+  {0x90A3, 0xB9CB}, //2757 #HANGUL SYLLABLE MIEUM A KIYEOKSIOS
+  {0x90A4, 0xB9CD}, //2758 #HANGUL SYLLABLE MIEUM A NIEUNCIEUC
+  {0x90A5, 0xB9D3}, //2759 #HANGUL SYLLABLE MIEUM A RIEULPIEUP
+  {0x90A6, 0xB9D4}, //2760 #HANGUL SYLLABLE MIEUM A RIEULSIOS
+  {0x90A7, 0xB9D5}, //2761 #HANGUL SYLLABLE MIEUM A RIEULTHIEUTH
+  {0x90A8, 0xB9D6}, //2762 #HANGUL SYLLABLE MIEUM A RIEULPHIEUPH
+  {0x90A9, 0xB9D7}, //2763 #HANGUL SYLLABLE MIEUM A RIEULHIEUH
+  {0x90AA, 0xB9DA}, //2764 #HANGUL SYLLABLE MIEUM A PIEUPSIOS
+  {0x90AB, 0xB9DC}, //2765 #HANGUL SYLLABLE MIEUM A SSANGSIOS
+  {0x90AC, 0xB9DF}, //2766 #HANGUL SYLLABLE MIEUM A CHIEUCH
+  {0x90AD, 0xB9E0}, //2767 #HANGUL SYLLABLE MIEUM A KHIEUKH
+  {0x90AE, 0xB9E2}, //2768 #HANGUL SYLLABLE MIEUM A PHIEUPH
+  {0x90AF, 0xB9E6}, //2769 #HANGUL SYLLABLE MIEUM AE SSANGKIYEOK
+  {0x90B0, 0xB9E7}, //2770 #HANGUL SYLLABLE MIEUM AE KIYEOKSIOS
+  {0x90B1, 0xB9E9}, //2771 #HANGUL SYLLABLE MIEUM AE NIEUNCIEUC
+  {0x90B2, 0xB9EA}, //2772 #HANGUL SYLLABLE MIEUM AE NIEUNHIEUH
+  {0x90B3, 0xB9EB}, //2773 #HANGUL SYLLABLE MIEUM AE TIKEUT
+  {0x90B4, 0xB9ED}, //2774 #HANGUL SYLLABLE MIEUM AE RIEULKIYEOK
+  {0x90B5, 0xB9EE}, //2775 #HANGUL SYLLABLE MIEUM AE RIEULMIEUM
+  {0x90B6, 0xB9EF}, //2776 #HANGUL SYLLABLE MIEUM AE RIEULPIEUP
+  {0x90B7, 0xB9F0}, //2777 #HANGUL SYLLABLE MIEUM AE RIEULSIOS
+  {0x90B8, 0xB9F1}, //2778 #HANGUL SYLLABLE MIEUM AE RIEULTHIEUTH
+  {0x90B9, 0xB9F2}, //2779 #HANGUL SYLLABLE MIEUM AE RIEULPHIEUPH
+  {0x90BA, 0xB9F3}, //2780 #HANGUL SYLLABLE MIEUM AE RIEULHIEUH
+  {0x90BB, 0xB9F6}, //2781 #HANGUL SYLLABLE MIEUM AE PIEUPSIOS
+  {0x90BC, 0xB9FB}, //2782 #HANGUL SYLLABLE MIEUM AE CHIEUCH
+  {0x90BD, 0xB9FC}, //2783 #HANGUL SYLLABLE MIEUM AE KHIEUKH
+  {0x90BE, 0xB9FD}, //2784 #HANGUL SYLLABLE MIEUM AE THIEUTH
+  {0x90BF, 0xB9FE}, //2785 #HANGUL SYLLABLE MIEUM AE PHIEUPH
+  {0x90C0, 0xB9FF}, //2786 #HANGUL SYLLABLE MIEUM AE HIEUH
+  {0x90C1, 0xBA02}, //2787 #HANGUL SYLLABLE MIEUM YA SSANGKIYEOK
+  {0x90C2, 0xBA03}, //2788 #HANGUL SYLLABLE MIEUM YA KIYEOKSIOS
+  {0x90C3, 0xBA04}, //2789 #HANGUL SYLLABLE MIEUM YA NIEUN
+  {0x90C4, 0xBA05}, //2790 #HANGUL SYLLABLE MIEUM YA NIEUNCIEUC
+  {0x90C5, 0xBA06}, //2791 #HANGUL SYLLABLE MIEUM YA NIEUNHIEUH
+  {0x90C6, 0xBA07}, //2792 #HANGUL SYLLABLE MIEUM YA TIKEUT
+  {0x90C7, 0xBA09}, //2793 #HANGUL SYLLABLE MIEUM YA RIEULKIYEOK
+  {0x90C8, 0xBA0A}, //2794 #HANGUL SYLLABLE MIEUM YA RIEULMIEUM
+  {0x90C9, 0xBA0B}, //2795 #HANGUL SYLLABLE MIEUM YA RIEULPIEUP
+  {0x90CA, 0xBA0C}, //2796 #HANGUL SYLLABLE MIEUM YA RIEULSIOS
+  {0x90CB, 0xBA0D}, //2797 #HANGUL SYLLABLE MIEUM YA RIEULTHIEUTH
+  {0x90CC, 0xBA0E}, //2798 #HANGUL SYLLABLE MIEUM YA RIEULPHIEUPH
+  {0x90CD, 0xBA0F}, //2799 #HANGUL SYLLABLE MIEUM YA RIEULHIEUH
+  {0x90CE, 0xBA10}, //2800 #HANGUL SYLLABLE MIEUM YA MIEUM
+  {0x90CF, 0xBA11}, //2801 #HANGUL SYLLABLE MIEUM YA PIEUP
+  {0x90D0, 0xBA12}, //2802 #HANGUL SYLLABLE MIEUM YA PIEUPSIOS
+  {0x90D1, 0xBA13}, //2803 #HANGUL SYLLABLE MIEUM YA SIOS
+  {0x90D2, 0xBA14}, //2804 #HANGUL SYLLABLE MIEUM YA SSANGSIOS
+  {0x90D3, 0xBA16}, //2805 #HANGUL SYLLABLE MIEUM YA CIEUC
+  {0x90D4, 0xBA17}, //2806 #HANGUL SYLLABLE MIEUM YA CHIEUCH
+  {0x90D5, 0xBA18}, //2807 #HANGUL SYLLABLE MIEUM YA KHIEUKH
+  {0x90D6, 0xBA19}, //2808 #HANGUL SYLLABLE MIEUM YA THIEUTH
+  {0x90D7, 0xBA1A}, //2809 #HANGUL SYLLABLE MIEUM YA PHIEUPH
+  {0x90D8, 0xBA1B}, //2810 #HANGUL SYLLABLE MIEUM YA HIEUH
+  {0x90D9, 0xBA1C}, //2811 #HANGUL SYLLABLE MIEUM YAE
+  {0x90DA, 0xBA1D}, //2812 #HANGUL SYLLABLE MIEUM YAE KIYEOK
+  {0x90DB, 0xBA1E}, //2813 #HANGUL SYLLABLE MIEUM YAE SSANGKIYEOK
+  {0x90DC, 0xBA1F}, //2814 #HANGUL SYLLABLE MIEUM YAE KIYEOKSIOS
+  {0x90DD, 0xBA20}, //2815 #HANGUL SYLLABLE MIEUM YAE NIEUN
+  {0x90DE, 0xBA21}, //2816 #HANGUL SYLLABLE MIEUM YAE NIEUNCIEUC
+  {0x90DF, 0xBA22}, //2817 #HANGUL SYLLABLE MIEUM YAE NIEUNHIEUH
+  {0x90E0, 0xBA23}, //2818 #HANGUL SYLLABLE MIEUM YAE TIKEUT
+  {0x90E1, 0xBA24}, //2819 #HANGUL SYLLABLE MIEUM YAE RIEUL
+  {0x90E2, 0xBA25}, //2820 #HANGUL SYLLABLE MIEUM YAE RIEULKIYEOK
+  {0x90E3, 0xBA26}, //2821 #HANGUL SYLLABLE MIEUM YAE RIEULMIEUM
+  {0x90E4, 0xBA27}, //2822 #HANGUL SYLLABLE MIEUM YAE RIEULPIEUP
+  {0x90E5, 0xBA28}, //2823 #HANGUL SYLLABLE MIEUM YAE RIEULSIOS
+  {0x90E6, 0xBA29}, //2824 #HANGUL SYLLABLE MIEUM YAE RIEULTHIEUTH
+  {0x90E7, 0xBA2A}, //2825 #HANGUL SYLLABLE MIEUM YAE RIEULPHIEUPH
+  {0x90E8, 0xBA2B}, //2826 #HANGUL SYLLABLE MIEUM YAE RIEULHIEUH
+  {0x90E9, 0xBA2C}, //2827 #HANGUL SYLLABLE MIEUM YAE MIEUM
+  {0x90EA, 0xBA2D}, //2828 #HANGUL SYLLABLE MIEUM YAE PIEUP
+  {0x90EB, 0xBA2E}, //2829 #HANGUL SYLLABLE MIEUM YAE PIEUPSIOS
+  {0x90EC, 0xBA2F}, //2830 #HANGUL SYLLABLE MIEUM YAE SIOS
+  {0x90ED, 0xBA30}, //2831 #HANGUL SYLLABLE MIEUM YAE SSANGSIOS
+  {0x90EE, 0xBA31}, //2832 #HANGUL SYLLABLE MIEUM YAE IEUNG
+  {0x90EF, 0xBA32}, //2833 #HANGUL SYLLABLE MIEUM YAE CIEUC
+  {0x90F0, 0xBA33}, //2834 #HANGUL SYLLABLE MIEUM YAE CHIEUCH
+  {0x90F1, 0xBA34}, //2835 #HANGUL SYLLABLE MIEUM YAE KHIEUKH
+  {0x90F2, 0xBA35}, //2836 #HANGUL SYLLABLE MIEUM YAE THIEUTH
+  {0x90F3, 0xBA36}, //2837 #HANGUL SYLLABLE MIEUM YAE PHIEUPH
+  {0x90F4, 0xBA37}, //2838 #HANGUL SYLLABLE MIEUM YAE HIEUH
+  {0x90F5, 0xBA3A}, //2839 #HANGUL SYLLABLE MIEUM EO SSANGKIYEOK
+  {0x90F6, 0xBA3B}, //2840 #HANGUL SYLLABLE MIEUM EO KIYEOKSIOS
+  {0x90F7, 0xBA3D}, //2841 #HANGUL SYLLABLE MIEUM EO NIEUNCIEUC
+  {0x90F8, 0xBA3E}, //2842 #HANGUL SYLLABLE MIEUM EO NIEUNHIEUH
+  {0x90F9, 0xBA3F}, //2843 #HANGUL SYLLABLE MIEUM EO TIKEUT
+  {0x90FA, 0xBA41}, //2844 #HANGUL SYLLABLE MIEUM EO RIEULKIYEOK
+  {0x90FB, 0xBA43}, //2845 #HANGUL SYLLABLE MIEUM EO RIEULPIEUP
+  {0x90FC, 0xBA44}, //2846 #HANGUL SYLLABLE MIEUM EO RIEULSIOS
+  {0x90FD, 0xBA45}, //2847 #HANGUL SYLLABLE MIEUM EO RIEULTHIEUTH
+  {0x90FE, 0xBA46}, //2848 #HANGUL SYLLABLE MIEUM EO RIEULPHIEUPH
+  {0x9141, 0xBA47}, //2849 #HANGUL SYLLABLE MIEUM EO RIEULHIEUH
+  {0x9142, 0xBA4A}, //2850 #HANGUL SYLLABLE MIEUM EO PIEUPSIOS
+  {0x9143, 0xBA4C}, //2851 #HANGUL SYLLABLE MIEUM EO SSANGSIOS
+  {0x9144, 0xBA4F}, //2852 #HANGUL SYLLABLE MIEUM EO CHIEUCH
+  {0x9145, 0xBA50}, //2853 #HANGUL SYLLABLE MIEUM EO KHIEUKH
+  {0x9146, 0xBA51}, //2854 #HANGUL SYLLABLE MIEUM EO THIEUTH
+  {0x9147, 0xBA52}, //2855 #HANGUL SYLLABLE MIEUM EO PHIEUPH
+  {0x9148, 0xBA56}, //2856 #HANGUL SYLLABLE MIEUM E SSANGKIYEOK
+  {0x9149, 0xBA57}, //2857 #HANGUL SYLLABLE MIEUM E KIYEOKSIOS
+  {0x914A, 0xBA59}, //2858 #HANGUL SYLLABLE MIEUM E NIEUNCIEUC
+  {0x914B, 0xBA5A}, //2859 #HANGUL SYLLABLE MIEUM E NIEUNHIEUH
+  {0x914C, 0xBA5B}, //2860 #HANGUL SYLLABLE MIEUM E TIKEUT
+  {0x914D, 0xBA5D}, //2861 #HANGUL SYLLABLE MIEUM E RIEULKIYEOK
+  {0x914E, 0xBA5E}, //2862 #HANGUL SYLLABLE MIEUM E RIEULMIEUM
+  {0x914F, 0xBA5F}, //2863 #HANGUL SYLLABLE MIEUM E RIEULPIEUP
+  {0x9150, 0xBA60}, //2864 #HANGUL SYLLABLE MIEUM E RIEULSIOS
+  {0x9151, 0xBA61}, //2865 #HANGUL SYLLABLE MIEUM E RIEULTHIEUTH
+  {0x9152, 0xBA62}, //2866 #HANGUL SYLLABLE MIEUM E RIEULPHIEUPH
+  {0x9153, 0xBA63}, //2867 #HANGUL SYLLABLE MIEUM E RIEULHIEUH
+  {0x9154, 0xBA66}, //2868 #HANGUL SYLLABLE MIEUM E PIEUPSIOS
+  {0x9155, 0xBA6A}, //2869 #HANGUL SYLLABLE MIEUM E CIEUC
+  {0x9156, 0xBA6B}, //2870 #HANGUL SYLLABLE MIEUM E CHIEUCH
+  {0x9157, 0xBA6C}, //2871 #HANGUL SYLLABLE MIEUM E KHIEUKH
+  {0x9158, 0xBA6D}, //2872 #HANGUL SYLLABLE MIEUM E THIEUTH
+  {0x9159, 0xBA6E}, //2873 #HANGUL SYLLABLE MIEUM E PHIEUPH
+  {0x915A, 0xBA6F}, //2874 #HANGUL SYLLABLE MIEUM E HIEUH
+  {0x9161, 0xBA72}, //2875 #HANGUL SYLLABLE MIEUM YEO SSANGKIYEOK
+  {0x9162, 0xBA73}, //2876 #HANGUL SYLLABLE MIEUM YEO KIYEOKSIOS
+  {0x9163, 0xBA75}, //2877 #HANGUL SYLLABLE MIEUM YEO NIEUNCIEUC
+  {0x9164, 0xBA76}, //2878 #HANGUL SYLLABLE MIEUM YEO NIEUNHIEUH
+  {0x9165, 0xBA77}, //2879 #HANGUL SYLLABLE MIEUM YEO TIKEUT
+  {0x9166, 0xBA79}, //2880 #HANGUL SYLLABLE MIEUM YEO RIEULKIYEOK
+  {0x9167, 0xBA7A}, //2881 #HANGUL SYLLABLE MIEUM YEO RIEULMIEUM
+  {0x9168, 0xBA7B}, //2882 #HANGUL SYLLABLE MIEUM YEO RIEULPIEUP
+  {0x9169, 0xBA7C}, //2883 #HANGUL SYLLABLE MIEUM YEO RIEULSIOS
+  {0x916A, 0xBA7D}, //2884 #HANGUL SYLLABLE MIEUM YEO RIEULTHIEUTH
+  {0x916B, 0xBA7E}, //2885 #HANGUL SYLLABLE MIEUM YEO RIEULPHIEUPH
+  {0x916C, 0xBA7F}, //2886 #HANGUL SYLLABLE MIEUM YEO RIEULHIEUH
+  {0x916D, 0xBA80}, //2887 #HANGUL SYLLABLE MIEUM YEO MIEUM
+  {0x916E, 0xBA81}, //2888 #HANGUL SYLLABLE MIEUM YEO PIEUP
+  {0x916F, 0xBA82}, //2889 #HANGUL SYLLABLE MIEUM YEO PIEUPSIOS
+  {0x9170, 0xBA86}, //2890 #HANGUL SYLLABLE MIEUM YEO CIEUC
+  {0x9171, 0xBA88}, //2891 #HANGUL SYLLABLE MIEUM YEO KHIEUKH
+  {0x9172, 0xBA89}, //2892 #HANGUL SYLLABLE MIEUM YEO THIEUTH
+  {0x9173, 0xBA8A}, //2893 #HANGUL SYLLABLE MIEUM YEO PHIEUPH
+  {0x9174, 0xBA8B}, //2894 #HANGUL SYLLABLE MIEUM YEO HIEUH
+  {0x9175, 0xBA8D}, //2895 #HANGUL SYLLABLE MIEUM YE KIYEOK
+  {0x9176, 0xBA8E}, //2896 #HANGUL SYLLABLE MIEUM YE SSANGKIYEOK
+  {0x9177, 0xBA8F}, //2897 #HANGUL SYLLABLE MIEUM YE KIYEOKSIOS
+  {0x9178, 0xBA90}, //2898 #HANGUL SYLLABLE MIEUM YE NIEUN
+  {0x9179, 0xBA91}, //2899 #HANGUL SYLLABLE MIEUM YE NIEUNCIEUC
+  {0x917A, 0xBA92}, //2900 #HANGUL SYLLABLE MIEUM YE NIEUNHIEUH
+  {0x9181, 0xBA93}, //2901 #HANGUL SYLLABLE MIEUM YE TIKEUT
+  {0x9182, 0xBA94}, //2902 #HANGUL SYLLABLE MIEUM YE RIEUL
+  {0x9183, 0xBA95}, //2903 #HANGUL SYLLABLE MIEUM YE RIEULKIYEOK
+  {0x9184, 0xBA96}, //2904 #HANGUL SYLLABLE MIEUM YE RIEULMIEUM
+  {0x9185, 0xBA97}, //2905 #HANGUL SYLLABLE MIEUM YE RIEULPIEUP
+  {0x9186, 0xBA98}, //2906 #HANGUL SYLLABLE MIEUM YE RIEULSIOS
+  {0x9187, 0xBA99}, //2907 #HANGUL SYLLABLE MIEUM YE RIEULTHIEUTH
+  {0x9188, 0xBA9A}, //2908 #HANGUL SYLLABLE MIEUM YE RIEULPHIEUPH
+  {0x9189, 0xBA9B}, //2909 #HANGUL SYLLABLE MIEUM YE RIEULHIEUH
+  {0x918A, 0xBA9C}, //2910 #HANGUL SYLLABLE MIEUM YE MIEUM
+  {0x918B, 0xBA9D}, //2911 #HANGUL SYLLABLE MIEUM YE PIEUP
+  {0x918C, 0xBA9E}, //2912 #HANGUL SYLLABLE MIEUM YE PIEUPSIOS
+  {0x918D, 0xBA9F}, //2913 #HANGUL SYLLABLE MIEUM YE SIOS
+  {0x918E, 0xBAA0}, //2914 #HANGUL SYLLABLE MIEUM YE SSANGSIOS
+  {0x918F, 0xBAA1}, //2915 #HANGUL SYLLABLE MIEUM YE IEUNG
+  {0x9190, 0xBAA2}, //2916 #HANGUL SYLLABLE MIEUM YE CIEUC
+  {0x9191, 0xBAA3}, //2917 #HANGUL SYLLABLE MIEUM YE CHIEUCH
+  {0x9192, 0xBAA4}, //2918 #HANGUL SYLLABLE MIEUM YE KHIEUKH
+  {0x9193, 0xBAA5}, //2919 #HANGUL SYLLABLE MIEUM YE THIEUTH
+  {0x9194, 0xBAA6}, //2920 #HANGUL SYLLABLE MIEUM YE PHIEUPH
+  {0x9195, 0xBAA7}, //2921 #HANGUL SYLLABLE MIEUM YE HIEUH
+  {0x9196, 0xBAAA}, //2922 #HANGUL SYLLABLE MIEUM O SSANGKIYEOK
+  {0x9197, 0xBAAD}, //2923 #HANGUL SYLLABLE MIEUM O NIEUNCIEUC
+  {0x9198, 0xBAAE}, //2924 #HANGUL SYLLABLE MIEUM O NIEUNHIEUH
+  {0x9199, 0xBAAF}, //2925 #HANGUL SYLLABLE MIEUM O TIKEUT
+  {0x919A, 0xBAB1}, //2926 #HANGUL SYLLABLE MIEUM O RIEULKIYEOK
+  {0x919B, 0xBAB3}, //2927 #HANGUL SYLLABLE MIEUM O RIEULPIEUP
+  {0x919C, 0xBAB4}, //2928 #HANGUL SYLLABLE MIEUM O RIEULSIOS
+  {0x919D, 0xBAB5}, //2929 #HANGUL SYLLABLE MIEUM O RIEULTHIEUTH
+  {0x919E, 0xBAB6}, //2930 #HANGUL SYLLABLE MIEUM O RIEULPHIEUPH
+  {0x919F, 0xBAB7}, //2931 #HANGUL SYLLABLE MIEUM O RIEULHIEUH
+  {0x91A0, 0xBABA}, //2932 #HANGUL SYLLABLE MIEUM O PIEUPSIOS
+  {0x91A1, 0xBABC}, //2933 #HANGUL SYLLABLE MIEUM O SSANGSIOS
+  {0x91A2, 0xBABE}, //2934 #HANGUL SYLLABLE MIEUM O CIEUC
+  {0x91A3, 0xBABF}, //2935 #HANGUL SYLLABLE MIEUM O CHIEUCH
+  {0x91A4, 0xBAC0}, //2936 #HANGUL SYLLABLE MIEUM O KHIEUKH
+  {0x91A5, 0xBAC1}, //2937 #HANGUL SYLLABLE MIEUM O THIEUTH
+  {0x91A6, 0xBAC2}, //2938 #HANGUL SYLLABLE MIEUM O PHIEUPH
+  {0x91A7, 0xBAC3}, //2939 #HANGUL SYLLABLE MIEUM O HIEUH
+  {0x91A8, 0xBAC5}, //2940 #HANGUL SYLLABLE MIEUM WA KIYEOK
+  {0x91A9, 0xBAC6}, //2941 #HANGUL SYLLABLE MIEUM WA SSANGKIYEOK
+  {0x91AA, 0xBAC7}, //2942 #HANGUL SYLLABLE MIEUM WA KIYEOKSIOS
+  {0x91AB, 0xBAC9}, //2943 #HANGUL SYLLABLE MIEUM WA NIEUNCIEUC
+  {0x91AC, 0xBACA}, //2944 #HANGUL SYLLABLE MIEUM WA NIEUNHIEUH
+  {0x91AD, 0xBACB}, //2945 #HANGUL SYLLABLE MIEUM WA TIKEUT
+  {0x91AE, 0xBACC}, //2946 #HANGUL SYLLABLE MIEUM WA RIEUL
+  {0x91AF, 0xBACD}, //2947 #HANGUL SYLLABLE MIEUM WA RIEULKIYEOK
+  {0x91B0, 0xBACE}, //2948 #HANGUL SYLLABLE MIEUM WA RIEULMIEUM
+  {0x91B1, 0xBACF}, //2949 #HANGUL SYLLABLE MIEUM WA RIEULPIEUP
+  {0x91B2, 0xBAD0}, //2950 #HANGUL SYLLABLE MIEUM WA RIEULSIOS
+  {0x91B3, 0xBAD1}, //2951 #HANGUL SYLLABLE MIEUM WA RIEULTHIEUTH
+  {0x91B4, 0xBAD2}, //2952 #HANGUL SYLLABLE MIEUM WA RIEULPHIEUPH
+  {0x91B5, 0xBAD3}, //2953 #HANGUL SYLLABLE MIEUM WA RIEULHIEUH
+  {0x91B6, 0xBAD4}, //2954 #HANGUL SYLLABLE MIEUM WA MIEUM
+  {0x91B7, 0xBAD5}, //2955 #HANGUL SYLLABLE MIEUM WA PIEUP
+  {0x91B8, 0xBAD6}, //2956 #HANGUL SYLLABLE MIEUM WA PIEUPSIOS
+  {0x91B9, 0xBAD7}, //2957 #HANGUL SYLLABLE MIEUM WA SIOS
+  {0x91BA, 0xBADA}, //2958 #HANGUL SYLLABLE MIEUM WA CIEUC
+  {0x91BB, 0xBADB}, //2959 #HANGUL SYLLABLE MIEUM WA CHIEUCH
+  {0x91BC, 0xBADC}, //2960 #HANGUL SYLLABLE MIEUM WA KHIEUKH
+  {0x91BD, 0xBADD}, //2961 #HANGUL SYLLABLE MIEUM WA THIEUTH
+  {0x91BE, 0xBADE}, //2962 #HANGUL SYLLABLE MIEUM WA PHIEUPH
+  {0x91BF, 0xBADF}, //2963 #HANGUL SYLLABLE MIEUM WA HIEUH
+  {0x91C0, 0xBAE0}, //2964 #HANGUL SYLLABLE MIEUM WAE
+  {0x91C1, 0xBAE1}, //2965 #HANGUL SYLLABLE MIEUM WAE KIYEOK
+  {0x91C2, 0xBAE2}, //2966 #HANGUL SYLLABLE MIEUM WAE SSANGKIYEOK
+  {0x91C3, 0xBAE3}, //2967 #HANGUL SYLLABLE MIEUM WAE KIYEOKSIOS
+  {0x91C4, 0xBAE4}, //2968 #HANGUL SYLLABLE MIEUM WAE NIEUN
+  {0x91C5, 0xBAE5}, //2969 #HANGUL SYLLABLE MIEUM WAE NIEUNCIEUC
+  {0x91C6, 0xBAE6}, //2970 #HANGUL SYLLABLE MIEUM WAE NIEUNHIEUH
+  {0x91C7, 0xBAE7}, //2971 #HANGUL SYLLABLE MIEUM WAE TIKEUT
+  {0x91C8, 0xBAE8}, //2972 #HANGUL SYLLABLE MIEUM WAE RIEUL
+  {0x91C9, 0xBAE9}, //2973 #HANGUL SYLLABLE MIEUM WAE RIEULKIYEOK
+  {0x91CA, 0xBAEA}, //2974 #HANGUL SYLLABLE MIEUM WAE RIEULMIEUM
+  {0x91CB, 0xBAEB}, //2975 #HANGUL SYLLABLE MIEUM WAE RIEULPIEUP
+  {0x91CC, 0xBAEC}, //2976 #HANGUL SYLLABLE MIEUM WAE RIEULSIOS
+  {0x91CD, 0xBAED}, //2977 #HANGUL SYLLABLE MIEUM WAE RIEULTHIEUTH
+  {0x91CE, 0xBAEE}, //2978 #HANGUL SYLLABLE MIEUM WAE RIEULPHIEUPH
+  {0x91CF, 0xBAEF}, //2979 #HANGUL SYLLABLE MIEUM WAE RIEULHIEUH
+  {0x91D0, 0xBAF0}, //2980 #HANGUL SYLLABLE MIEUM WAE MIEUM
+  {0x91D1, 0xBAF1}, //2981 #HANGUL SYLLABLE MIEUM WAE PIEUP
+  {0x91D2, 0xBAF2}, //2982 #HANGUL SYLLABLE MIEUM WAE PIEUPSIOS
+  {0x91D3, 0xBAF3}, //2983 #HANGUL SYLLABLE MIEUM WAE SIOS
+  {0x91D4, 0xBAF4}, //2984 #HANGUL SYLLABLE MIEUM WAE SSANGSIOS
+  {0x91D5, 0xBAF5}, //2985 #HANGUL SYLLABLE MIEUM WAE IEUNG
+  {0x91D6, 0xBAF6}, //2986 #HANGUL SYLLABLE MIEUM WAE CIEUC
+  {0x91D7, 0xBAF7}, //2987 #HANGUL SYLLABLE MIEUM WAE CHIEUCH
+  {0x91D8, 0xBAF8}, //2988 #HANGUL SYLLABLE MIEUM WAE KHIEUKH
+  {0x91D9, 0xBAF9}, //2989 #HANGUL SYLLABLE MIEUM WAE THIEUTH
+  {0x91DA, 0xBAFA}, //2990 #HANGUL SYLLABLE MIEUM WAE PHIEUPH
+  {0x91DB, 0xBAFB}, //2991 #HANGUL SYLLABLE MIEUM WAE HIEUH
+  {0x91DC, 0xBAFD}, //2992 #HANGUL SYLLABLE MIEUM OE KIYEOK
+  {0x91DD, 0xBAFE}, //2993 #HANGUL SYLLABLE MIEUM OE SSANGKIYEOK
+  {0x91DE, 0xBAFF}, //2994 #HANGUL SYLLABLE MIEUM OE KIYEOKSIOS
+  {0x91DF, 0xBB01}, //2995 #HANGUL SYLLABLE MIEUM OE NIEUNCIEUC
+  {0x91E0, 0xBB02}, //2996 #HANGUL SYLLABLE MIEUM OE NIEUNHIEUH
+  {0x91E1, 0xBB03}, //2997 #HANGUL SYLLABLE MIEUM OE TIKEUT
+  {0x91E2, 0xBB05}, //2998 #HANGUL SYLLABLE MIEUM OE RIEULKIYEOK
+  {0x91E3, 0xBB06}, //2999 #HANGUL SYLLABLE MIEUM OE RIEULMIEUM
+  {0x91E4, 0xBB07}, //3000 #HANGUL SYLLABLE MIEUM OE RIEULPIEUP
+  {0x91E5, 0xBB08}, //3001 #HANGUL SYLLABLE MIEUM OE RIEULSIOS
+  {0x91E6, 0xBB09}, //3002 #HANGUL SYLLABLE MIEUM OE RIEULTHIEUTH
+  {0x91E7, 0xBB0A}, //3003 #HANGUL SYLLABLE MIEUM OE RIEULPHIEUPH
+  {0x91E8, 0xBB0B}, //3004 #HANGUL SYLLABLE MIEUM OE RIEULHIEUH
+  {0x91E9, 0xBB0C}, //3005 #HANGUL SYLLABLE MIEUM OE MIEUM
+  {0x91EA, 0xBB0E}, //3006 #HANGUL SYLLABLE MIEUM OE PIEUPSIOS
+  {0x91EB, 0xBB10}, //3007 #HANGUL SYLLABLE MIEUM OE SSANGSIOS
+  {0x91EC, 0xBB12}, //3008 #HANGUL SYLLABLE MIEUM OE CIEUC
+  {0x91ED, 0xBB13}, //3009 #HANGUL SYLLABLE MIEUM OE CHIEUCH
+  {0x91EE, 0xBB14}, //3010 #HANGUL SYLLABLE MIEUM OE KHIEUKH
+  {0x91EF, 0xBB15}, //3011 #HANGUL SYLLABLE MIEUM OE THIEUTH
+  {0x91F0, 0xBB16}, //3012 #HANGUL SYLLABLE MIEUM OE PHIEUPH
+  {0x91F1, 0xBB17}, //3013 #HANGUL SYLLABLE MIEUM OE HIEUH
+  {0x91F2, 0xBB19}, //3014 #HANGUL SYLLABLE MIEUM YO KIYEOK
+  {0x91F3, 0xBB1A}, //3015 #HANGUL SYLLABLE MIEUM YO SSANGKIYEOK
+  {0x91F4, 0xBB1B}, //3016 #HANGUL SYLLABLE MIEUM YO KIYEOKSIOS
+  {0x91F5, 0xBB1D}, //3017 #HANGUL SYLLABLE MIEUM YO NIEUNCIEUC
+  {0x91F6, 0xBB1E}, //3018 #HANGUL SYLLABLE MIEUM YO NIEUNHIEUH
+  {0x91F7, 0xBB1F}, //3019 #HANGUL SYLLABLE MIEUM YO TIKEUT
+  {0x91F8, 0xBB21}, //3020 #HANGUL SYLLABLE MIEUM YO RIEULKIYEOK
+  {0x91F9, 0xBB22}, //3021 #HANGUL SYLLABLE MIEUM YO RIEULMIEUM
+  {0x91FA, 0xBB23}, //3022 #HANGUL SYLLABLE MIEUM YO RIEULPIEUP
+  {0x91FB, 0xBB24}, //3023 #HANGUL SYLLABLE MIEUM YO RIEULSIOS
+  {0x91FC, 0xBB25}, //3024 #HANGUL SYLLABLE MIEUM YO RIEULTHIEUTH
+  {0x91FD, 0xBB26}, //3025 #HANGUL SYLLABLE MIEUM YO RIEULPHIEUPH
+  {0x91FE, 0xBB27}, //3026 #HANGUL SYLLABLE MIEUM YO RIEULHIEUH
+  {0x9241, 0xBB28}, //3027 #HANGUL SYLLABLE MIEUM YO MIEUM
+  {0x9242, 0xBB2A}, //3028 #HANGUL SYLLABLE MIEUM YO PIEUPSIOS
+  {0x9243, 0xBB2C}, //3029 #HANGUL SYLLABLE MIEUM YO SSANGSIOS
+  {0x9244, 0xBB2D}, //3030 #HANGUL SYLLABLE MIEUM YO IEUNG
+  {0x9245, 0xBB2E}, //3031 #HANGUL SYLLABLE MIEUM YO CIEUC
+  {0x9246, 0xBB2F}, //3032 #HANGUL SYLLABLE MIEUM YO CHIEUCH
+  {0x9247, 0xBB30}, //3033 #HANGUL SYLLABLE MIEUM YO KHIEUKH
+  {0x9248, 0xBB31}, //3034 #HANGUL SYLLABLE MIEUM YO THIEUTH
+  {0x9249, 0xBB32}, //3035 #HANGUL SYLLABLE MIEUM YO PHIEUPH
+  {0x924A, 0xBB33}, //3036 #HANGUL SYLLABLE MIEUM YO HIEUH
+  {0x924B, 0xBB37}, //3037 #HANGUL SYLLABLE MIEUM U KIYEOKSIOS
+  {0x924C, 0xBB39}, //3038 #HANGUL SYLLABLE MIEUM U NIEUNCIEUC
+  {0x924D, 0xBB3A}, //3039 #HANGUL SYLLABLE MIEUM U NIEUNHIEUH
+  {0x924E, 0xBB3F}, //3040 #HANGUL SYLLABLE MIEUM U RIEULPIEUP
+  {0x924F, 0xBB40}, //3041 #HANGUL SYLLABLE MIEUM U RIEULSIOS
+  {0x9250, 0xBB41}, //3042 #HANGUL SYLLABLE MIEUM U RIEULTHIEUTH
+  {0x9251, 0xBB42}, //3043 #HANGUL SYLLABLE MIEUM U RIEULPHIEUPH
+  {0x9252, 0xBB43}, //3044 #HANGUL SYLLABLE MIEUM U RIEULHIEUH
+  {0x9253, 0xBB46}, //3045 #HANGUL SYLLABLE MIEUM U PIEUPSIOS
+  {0x9254, 0xBB48}, //3046 #HANGUL SYLLABLE MIEUM U SSANGSIOS
+  {0x9255, 0xBB4A}, //3047 #HANGUL SYLLABLE MIEUM U CIEUC
+  {0x9256, 0xBB4B}, //3048 #HANGUL SYLLABLE MIEUM U CHIEUCH
+  {0x9257, 0xBB4C}, //3049 #HANGUL SYLLABLE MIEUM U KHIEUKH
+  {0x9258, 0xBB4E}, //3050 #HANGUL SYLLABLE MIEUM U PHIEUPH
+  {0x9259, 0xBB51}, //3051 #HANGUL SYLLABLE MIEUM WEO KIYEOK
+  {0x925A, 0xBB52}, //3052 #HANGUL SYLLABLE MIEUM WEO SSANGKIYEOK
+  {0x9261, 0xBB53}, //3053 #HANGUL SYLLABLE MIEUM WEO KIYEOKSIOS
+  {0x9262, 0xBB55}, //3054 #HANGUL SYLLABLE MIEUM WEO NIEUNCIEUC
+  {0x9263, 0xBB56}, //3055 #HANGUL SYLLABLE MIEUM WEO NIEUNHIEUH
+  {0x9264, 0xBB57}, //3056 #HANGUL SYLLABLE MIEUM WEO TIKEUT
+  {0x9265, 0xBB59}, //3057 #HANGUL SYLLABLE MIEUM WEO RIEULKIYEOK
+  {0x9266, 0xBB5A}, //3058 #HANGUL SYLLABLE MIEUM WEO RIEULMIEUM
+  {0x9267, 0xBB5B}, //3059 #HANGUL SYLLABLE MIEUM WEO RIEULPIEUP
+  {0x9268, 0xBB5C}, //3060 #HANGUL SYLLABLE MIEUM WEO RIEULSIOS
+  {0x9269, 0xBB5D}, //3061 #HANGUL SYLLABLE MIEUM WEO RIEULTHIEUTH
+  {0x926A, 0xBB5E}, //3062 #HANGUL SYLLABLE MIEUM WEO RIEULPHIEUPH
+  {0x926B, 0xBB5F}, //3063 #HANGUL SYLLABLE MIEUM WEO RIEULHIEUH
+  {0x926C, 0xBB60}, //3064 #HANGUL SYLLABLE MIEUM WEO MIEUM
+  {0x926D, 0xBB62}, //3065 #HANGUL SYLLABLE MIEUM WEO PIEUPSIOS
+  {0x926E, 0xBB64}, //3066 #HANGUL SYLLABLE MIEUM WEO SSANGSIOS
+  {0x926F, 0xBB65}, //3067 #HANGUL SYLLABLE MIEUM WEO IEUNG
+  {0x9270, 0xBB66}, //3068 #HANGUL SYLLABLE MIEUM WEO CIEUC
+  {0x9271, 0xBB67}, //3069 #HANGUL SYLLABLE MIEUM WEO CHIEUCH
+  {0x9272, 0xBB68}, //3070 #HANGUL SYLLABLE MIEUM WEO KHIEUKH
+  {0x9273, 0xBB69}, //3071 #HANGUL SYLLABLE MIEUM WEO THIEUTH
+  {0x9274, 0xBB6A}, //3072 #HANGUL SYLLABLE MIEUM WEO PHIEUPH
+  {0x9275, 0xBB6B}, //3073 #HANGUL SYLLABLE MIEUM WEO HIEUH
+  {0x9276, 0xBB6D}, //3074 #HANGUL SYLLABLE MIEUM WE KIYEOK
+  {0x9277, 0xBB6E}, //3075 #HANGUL SYLLABLE MIEUM WE SSANGKIYEOK
+  {0x9278, 0xBB6F}, //3076 #HANGUL SYLLABLE MIEUM WE KIYEOKSIOS
+  {0x9279, 0xBB70}, //3077 #HANGUL SYLLABLE MIEUM WE NIEUN
+  {0x927A, 0xBB71}, //3078 #HANGUL SYLLABLE MIEUM WE NIEUNCIEUC
+  {0x9281, 0xBB72}, //3079 #HANGUL SYLLABLE MIEUM WE NIEUNHIEUH
+  {0x9282, 0xBB73}, //3080 #HANGUL SYLLABLE MIEUM WE TIKEUT
+  {0x9283, 0xBB74}, //3081 #HANGUL SYLLABLE MIEUM WE RIEUL
+  {0x9284, 0xBB75}, //3082 #HANGUL SYLLABLE MIEUM WE RIEULKIYEOK
+  {0x9285, 0xBB76}, //3083 #HANGUL SYLLABLE MIEUM WE RIEULMIEUM
+  {0x9286, 0xBB77}, //3084 #HANGUL SYLLABLE MIEUM WE RIEULPIEUP
+  {0x9287, 0xBB78}, //3085 #HANGUL SYLLABLE MIEUM WE RIEULSIOS
+  {0x9288, 0xBB79}, //3086 #HANGUL SYLLABLE MIEUM WE RIEULTHIEUTH
+  {0x9289, 0xBB7A}, //3087 #HANGUL SYLLABLE MIEUM WE RIEULPHIEUPH
+  {0x928A, 0xBB7B}, //3088 #HANGUL SYLLABLE MIEUM WE RIEULHIEUH
+  {0x928B, 0xBB7C}, //3089 #HANGUL SYLLABLE MIEUM WE MIEUM
+  {0x928C, 0xBB7D}, //3090 #HANGUL SYLLABLE MIEUM WE PIEUP
+  {0x928D, 0xBB7E}, //3091 #HANGUL SYLLABLE MIEUM WE PIEUPSIOS
+  {0x928E, 0xBB7F}, //3092 #HANGUL SYLLABLE MIEUM WE SIOS
+  {0x928F, 0xBB80}, //3093 #HANGUL SYLLABLE MIEUM WE SSANGSIOS
+  {0x9290, 0xBB81}, //3094 #HANGUL SYLLABLE MIEUM WE IEUNG
+  {0x9291, 0xBB82}, //3095 #HANGUL SYLLABLE MIEUM WE CIEUC
+  {0x9292, 0xBB83}, //3096 #HANGUL SYLLABLE MIEUM WE CHIEUCH
+  {0x9293, 0xBB84}, //3097 #HANGUL SYLLABLE MIEUM WE KHIEUKH
+  {0x9294, 0xBB85}, //3098 #HANGUL SYLLABLE MIEUM WE THIEUTH
+  {0x9295, 0xBB86}, //3099 #HANGUL SYLLABLE MIEUM WE PHIEUPH
+  {0x9296, 0xBB87}, //3100 #HANGUL SYLLABLE MIEUM WE HIEUH
+  {0x9297, 0xBB89}, //3101 #HANGUL SYLLABLE MIEUM WI KIYEOK
+  {0x9298, 0xBB8A}, //3102 #HANGUL SYLLABLE MIEUM WI SSANGKIYEOK
+  {0x9299, 0xBB8B}, //3103 #HANGUL SYLLABLE MIEUM WI KIYEOKSIOS
+  {0x929A, 0xBB8D}, //3104 #HANGUL SYLLABLE MIEUM WI NIEUNCIEUC
+  {0x929B, 0xBB8E}, //3105 #HANGUL SYLLABLE MIEUM WI NIEUNHIEUH
+  {0x929C, 0xBB8F}, //3106 #HANGUL SYLLABLE MIEUM WI TIKEUT
+  {0x929D, 0xBB91}, //3107 #HANGUL SYLLABLE MIEUM WI RIEULKIYEOK
+  {0x929E, 0xBB92}, //3108 #HANGUL SYLLABLE MIEUM WI RIEULMIEUM
+  {0x929F, 0xBB93}, //3109 #HANGUL SYLLABLE MIEUM WI RIEULPIEUP
+  {0x92A0, 0xBB94}, //3110 #HANGUL SYLLABLE MIEUM WI RIEULSIOS
+  {0x92A1, 0xBB95}, //3111 #HANGUL SYLLABLE MIEUM WI RIEULTHIEUTH
+  {0x92A2, 0xBB96}, //3112 #HANGUL SYLLABLE MIEUM WI RIEULPHIEUPH
+  {0x92A3, 0xBB97}, //3113 #HANGUL SYLLABLE MIEUM WI RIEULHIEUH
+  {0x92A4, 0xBB98}, //3114 #HANGUL SYLLABLE MIEUM WI MIEUM
+  {0x92A5, 0xBB99}, //3115 #HANGUL SYLLABLE MIEUM WI PIEUP
+  {0x92A6, 0xBB9A}, //3116 #HANGUL SYLLABLE MIEUM WI PIEUPSIOS
+  {0x92A7, 0xBB9B}, //3117 #HANGUL SYLLABLE MIEUM WI SIOS
+  {0x92A8, 0xBB9C}, //3118 #HANGUL SYLLABLE MIEUM WI SSANGSIOS
+  {0x92A9, 0xBB9D}, //3119 #HANGUL SYLLABLE MIEUM WI IEUNG
+  {0x92AA, 0xBB9E}, //3120 #HANGUL SYLLABLE MIEUM WI CIEUC
+  {0x92AB, 0xBB9F}, //3121 #HANGUL SYLLABLE MIEUM WI CHIEUCH
+  {0x92AC, 0xBBA0}, //3122 #HANGUL SYLLABLE MIEUM WI KHIEUKH
+  {0x92AD, 0xBBA1}, //3123 #HANGUL SYLLABLE MIEUM WI THIEUTH
+  {0x92AE, 0xBBA2}, //3124 #HANGUL SYLLABLE MIEUM WI PHIEUPH
+  {0x92AF, 0xBBA3}, //3125 #HANGUL SYLLABLE MIEUM WI HIEUH
+  {0x92B0, 0xBBA5}, //3126 #HANGUL SYLLABLE MIEUM YU KIYEOK
+  {0x92B1, 0xBBA6}, //3127 #HANGUL SYLLABLE MIEUM YU SSANGKIYEOK
+  {0x92B2, 0xBBA7}, //3128 #HANGUL SYLLABLE MIEUM YU KIYEOKSIOS
+  {0x92B3, 0xBBA9}, //3129 #HANGUL SYLLABLE MIEUM YU NIEUNCIEUC
+  {0x92B4, 0xBBAA}, //3130 #HANGUL SYLLABLE MIEUM YU NIEUNHIEUH
+  {0x92B5, 0xBBAB}, //3131 #HANGUL SYLLABLE MIEUM YU TIKEUT
+  {0x92B6, 0xBBAD}, //3132 #HANGUL SYLLABLE MIEUM YU RIEULKIYEOK
+  {0x92B7, 0xBBAE}, //3133 #HANGUL SYLLABLE MIEUM YU RIEULMIEUM
+  {0x92B8, 0xBBAF}, //3134 #HANGUL SYLLABLE MIEUM YU RIEULPIEUP
+  {0x92B9, 0xBBB0}, //3135 #HANGUL SYLLABLE MIEUM YU RIEULSIOS
+  {0x92BA, 0xBBB1}, //3136 #HANGUL SYLLABLE MIEUM YU RIEULTHIEUTH
+  {0x92BB, 0xBBB2}, //3137 #HANGUL SYLLABLE MIEUM YU RIEULPHIEUPH
+  {0x92BC, 0xBBB3}, //3138 #HANGUL SYLLABLE MIEUM YU RIEULHIEUH
+  {0x92BD, 0xBBB5}, //3139 #HANGUL SYLLABLE MIEUM YU PIEUP
+  {0x92BE, 0xBBB6}, //3140 #HANGUL SYLLABLE MIEUM YU PIEUPSIOS
+  {0x92BF, 0xBBB8}, //3141 #HANGUL SYLLABLE MIEUM YU SSANGSIOS
+  {0x92C0, 0xBBB9}, //3142 #HANGUL SYLLABLE MIEUM YU IEUNG
+  {0x92C1, 0xBBBA}, //3143 #HANGUL SYLLABLE MIEUM YU CIEUC
+  {0x92C2, 0xBBBB}, //3144 #HANGUL SYLLABLE MIEUM YU CHIEUCH
+  {0x92C3, 0xBBBC}, //3145 #HANGUL SYLLABLE MIEUM YU KHIEUKH
+  {0x92C4, 0xBBBD}, //3146 #HANGUL SYLLABLE MIEUM YU THIEUTH
+  {0x92C5, 0xBBBE}, //3147 #HANGUL SYLLABLE MIEUM YU PHIEUPH
+  {0x92C6, 0xBBBF}, //3148 #HANGUL SYLLABLE MIEUM YU HIEUH
+  {0x92C7, 0xBBC1}, //3149 #HANGUL SYLLABLE MIEUM EU KIYEOK
+  {0x92C8, 0xBBC2}, //3150 #HANGUL SYLLABLE MIEUM EU SSANGKIYEOK
+  {0x92C9, 0xBBC3}, //3151 #HANGUL SYLLABLE MIEUM EU KIYEOKSIOS
+  {0x92CA, 0xBBC5}, //3152 #HANGUL SYLLABLE MIEUM EU NIEUNCIEUC
+  {0x92CB, 0xBBC6}, //3153 #HANGUL SYLLABLE MIEUM EU NIEUNHIEUH
+  {0x92CC, 0xBBC7}, //3154 #HANGUL SYLLABLE MIEUM EU TIKEUT
+  {0x92CD, 0xBBC9}, //3155 #HANGUL SYLLABLE MIEUM EU RIEULKIYEOK
+  {0x92CE, 0xBBCA}, //3156 #HANGUL SYLLABLE MIEUM EU RIEULMIEUM
+  {0x92CF, 0xBBCB}, //3157 #HANGUL SYLLABLE MIEUM EU RIEULPIEUP
+  {0x92D0, 0xBBCC}, //3158 #HANGUL SYLLABLE MIEUM EU RIEULSIOS
+  {0x92D1, 0xBBCD}, //3159 #HANGUL SYLLABLE MIEUM EU RIEULTHIEUTH
+  {0x92D2, 0xBBCE}, //3160 #HANGUL SYLLABLE MIEUM EU RIEULPHIEUPH
+  {0x92D3, 0xBBCF}, //3161 #HANGUL SYLLABLE MIEUM EU RIEULHIEUH
+  {0x92D4, 0xBBD1}, //3162 #HANGUL SYLLABLE MIEUM EU PIEUP
+  {0x92D5, 0xBBD2}, //3163 #HANGUL SYLLABLE MIEUM EU PIEUPSIOS
+  {0x92D6, 0xBBD4}, //3164 #HANGUL SYLLABLE MIEUM EU SSANGSIOS
+  {0x92D7, 0xBBD5}, //3165 #HANGUL SYLLABLE MIEUM EU IEUNG
+  {0x92D8, 0xBBD6}, //3166 #HANGUL SYLLABLE MIEUM EU CIEUC
+  {0x92D9, 0xBBD7}, //3167 #HANGUL SYLLABLE MIEUM EU CHIEUCH
+  {0x92DA, 0xBBD8}, //3168 #HANGUL SYLLABLE MIEUM EU KHIEUKH
+  {0x92DB, 0xBBD9}, //3169 #HANGUL SYLLABLE MIEUM EU THIEUTH
+  {0x92DC, 0xBBDA}, //3170 #HANGUL SYLLABLE MIEUM EU PHIEUPH
+  {0x92DD, 0xBBDB}, //3171 #HANGUL SYLLABLE MIEUM EU HIEUH
+  {0x92DE, 0xBBDC}, //3172 #HANGUL SYLLABLE MIEUM YI
+  {0x92DF, 0xBBDD}, //3173 #HANGUL SYLLABLE MIEUM YI KIYEOK
+  {0x92E0, 0xBBDE}, //3174 #HANGUL SYLLABLE MIEUM YI SSANGKIYEOK
+  {0x92E1, 0xBBDF}, //3175 #HANGUL SYLLABLE MIEUM YI KIYEOKSIOS
+  {0x92E2, 0xBBE0}, //3176 #HANGUL SYLLABLE MIEUM YI NIEUN
+  {0x92E3, 0xBBE1}, //3177 #HANGUL SYLLABLE MIEUM YI NIEUNCIEUC
+  {0x92E4, 0xBBE2}, //3178 #HANGUL SYLLABLE MIEUM YI NIEUNHIEUH
+  {0x92E5, 0xBBE3}, //3179 #HANGUL SYLLABLE MIEUM YI TIKEUT
+  {0x92E6, 0xBBE4}, //3180 #HANGUL SYLLABLE MIEUM YI RIEUL
+  {0x92E7, 0xBBE5}, //3181 #HANGUL SYLLABLE MIEUM YI RIEULKIYEOK
+  {0x92E8, 0xBBE6}, //3182 #HANGUL SYLLABLE MIEUM YI RIEULMIEUM
+  {0x92E9, 0xBBE7}, //3183 #HANGUL SYLLABLE MIEUM YI RIEULPIEUP
+  {0x92EA, 0xBBE8}, //3184 #HANGUL SYLLABLE MIEUM YI RIEULSIOS
+  {0x92EB, 0xBBE9}, //3185 #HANGUL SYLLABLE MIEUM YI RIEULTHIEUTH
+  {0x92EC, 0xBBEA}, //3186 #HANGUL SYLLABLE MIEUM YI RIEULPHIEUPH
+  {0x92ED, 0xBBEB}, //3187 #HANGUL SYLLABLE MIEUM YI RIEULHIEUH
+  {0x92EE, 0xBBEC}, //3188 #HANGUL SYLLABLE MIEUM YI MIEUM
+  {0x92EF, 0xBBED}, //3189 #HANGUL SYLLABLE MIEUM YI PIEUP
+  {0x92F0, 0xBBEE}, //3190 #HANGUL SYLLABLE MIEUM YI PIEUPSIOS
+  {0x92F1, 0xBBEF}, //3191 #HANGUL SYLLABLE MIEUM YI SIOS
+  {0x92F2, 0xBBF0}, //3192 #HANGUL SYLLABLE MIEUM YI SSANGSIOS
+  {0x92F3, 0xBBF1}, //3193 #HANGUL SYLLABLE MIEUM YI IEUNG
+  {0x92F4, 0xBBF2}, //3194 #HANGUL SYLLABLE MIEUM YI CIEUC
+  {0x92F5, 0xBBF3}, //3195 #HANGUL SYLLABLE MIEUM YI CHIEUCH
+  {0x92F6, 0xBBF4}, //3196 #HANGUL SYLLABLE MIEUM YI KHIEUKH
+  {0x92F7, 0xBBF5}, //3197 #HANGUL SYLLABLE MIEUM YI THIEUTH
+  {0x92F8, 0xBBF6}, //3198 #HANGUL SYLLABLE MIEUM YI PHIEUPH
+  {0x92F9, 0xBBF7}, //3199 #HANGUL SYLLABLE MIEUM YI HIEUH
+  {0x92FA, 0xBBFA}, //3200 #HANGUL SYLLABLE MIEUM I SSANGKIYEOK
+  {0x92FB, 0xBBFB}, //3201 #HANGUL SYLLABLE MIEUM I KIYEOKSIOS
+  {0x92FC, 0xBBFD}, //3202 #HANGUL SYLLABLE MIEUM I NIEUNCIEUC
+  {0x92FD, 0xBBFE}, //3203 #HANGUL SYLLABLE MIEUM I NIEUNHIEUH
+  {0x92FE, 0xBC01}, //3204 #HANGUL SYLLABLE MIEUM I RIEULKIYEOK
+  {0x9341, 0xBC03}, //3205 #HANGUL SYLLABLE MIEUM I RIEULPIEUP
+  {0x9342, 0xBC04}, //3206 #HANGUL SYLLABLE MIEUM I RIEULSIOS
+  {0x9343, 0xBC05}, //3207 #HANGUL SYLLABLE MIEUM I RIEULTHIEUTH
+  {0x9344, 0xBC06}, //3208 #HANGUL SYLLABLE MIEUM I RIEULPHIEUPH
+  {0x9345, 0xBC07}, //3209 #HANGUL SYLLABLE MIEUM I RIEULHIEUH
+  {0x9346, 0xBC0A}, //3210 #HANGUL SYLLABLE MIEUM I PIEUPSIOS
+  {0x9347, 0xBC0E}, //3211 #HANGUL SYLLABLE MIEUM I CIEUC
+  {0x9348, 0xBC10}, //3212 #HANGUL SYLLABLE MIEUM I KHIEUKH
+  {0x9349, 0xBC12}, //3213 #HANGUL SYLLABLE MIEUM I PHIEUPH
+  {0x934A, 0xBC13}, //3214 #HANGUL SYLLABLE MIEUM I HIEUH
+  {0x934B, 0xBC19}, //3215 #HANGUL SYLLABLE PIEUP A NIEUNCIEUC
+  {0x934C, 0xBC1A}, //3216 #HANGUL SYLLABLE PIEUP A NIEUNHIEUH
+  {0x934D, 0xBC20}, //3217 #HANGUL SYLLABLE PIEUP A RIEULSIOS
+  {0x934E, 0xBC21}, //3218 #HANGUL SYLLABLE PIEUP A RIEULTHIEUTH
+  {0x934F, 0xBC22}, //3219 #HANGUL SYLLABLE PIEUP A RIEULPHIEUPH
+  {0x9350, 0xBC23}, //3220 #HANGUL SYLLABLE PIEUP A RIEULHIEUH
+  {0x9351, 0xBC26}, //3221 #HANGUL SYLLABLE PIEUP A PIEUPSIOS
+  {0x9352, 0xBC28}, //3222 #HANGUL SYLLABLE PIEUP A SSANGSIOS
+  {0x9353, 0xBC2A}, //3223 #HANGUL SYLLABLE PIEUP A CIEUC
+  {0x9354, 0xBC2B}, //3224 #HANGUL SYLLABLE PIEUP A CHIEUCH
+  {0x9355, 0xBC2C}, //3225 #HANGUL SYLLABLE PIEUP A KHIEUKH
+  {0x9356, 0xBC2E}, //3226 #HANGUL SYLLABLE PIEUP A PHIEUPH
+  {0x9357, 0xBC2F}, //3227 #HANGUL SYLLABLE PIEUP A HIEUH
+  {0x9358, 0xBC32}, //3228 #HANGUL SYLLABLE PIEUP AE SSANGKIYEOK
+  {0x9359, 0xBC33}, //3229 #HANGUL SYLLABLE PIEUP AE KIYEOKSIOS
+  {0x935A, 0xBC35}, //3230 #HANGUL SYLLABLE PIEUP AE NIEUNCIEUC
+  {0x9361, 0xBC36}, //3231 #HANGUL SYLLABLE PIEUP AE NIEUNHIEUH
+  {0x9362, 0xBC37}, //3232 #HANGUL SYLLABLE PIEUP AE TIKEUT
+  {0x9363, 0xBC39}, //3233 #HANGUL SYLLABLE PIEUP AE RIEULKIYEOK
+  {0x9364, 0xBC3A}, //3234 #HANGUL SYLLABLE PIEUP AE RIEULMIEUM
+  {0x9365, 0xBC3B}, //3235 #HANGUL SYLLABLE PIEUP AE RIEULPIEUP
+  {0x9366, 0xBC3C}, //3236 #HANGUL SYLLABLE PIEUP AE RIEULSIOS
+  {0x9367, 0xBC3D}, //3237 #HANGUL SYLLABLE PIEUP AE RIEULTHIEUTH
+  {0x9368, 0xBC3E}, //3238 #HANGUL SYLLABLE PIEUP AE RIEULPHIEUPH
+  {0x9369, 0xBC3F}, //3239 #HANGUL SYLLABLE PIEUP AE RIEULHIEUH
+  {0x936A, 0xBC42}, //3240 #HANGUL SYLLABLE PIEUP AE PIEUPSIOS
+  {0x936B, 0xBC46}, //3241 #HANGUL SYLLABLE PIEUP AE CIEUC
+  {0x936C, 0xBC47}, //3242 #HANGUL SYLLABLE PIEUP AE CHIEUCH
+  {0x936D, 0xBC48}, //3243 #HANGUL SYLLABLE PIEUP AE KHIEUKH
+  {0x936E, 0xBC4A}, //3244 #HANGUL SYLLABLE PIEUP AE PHIEUPH
+  {0x936F, 0xBC4B}, //3245 #HANGUL SYLLABLE PIEUP AE HIEUH
+  {0x9370, 0xBC4E}, //3246 #HANGUL SYLLABLE PIEUP YA SSANGKIYEOK
+  {0x9371, 0xBC4F}, //3247 #HANGUL SYLLABLE PIEUP YA KIYEOKSIOS
+  {0x9372, 0xBC51}, //3248 #HANGUL SYLLABLE PIEUP YA NIEUNCIEUC
+  {0x9373, 0xBC52}, //3249 #HANGUL SYLLABLE PIEUP YA NIEUNHIEUH
+  {0x9374, 0xBC53}, //3250 #HANGUL SYLLABLE PIEUP YA TIKEUT
+  {0x9375, 0xBC54}, //3251 #HANGUL SYLLABLE PIEUP YA RIEUL
+  {0x9376, 0xBC55}, //3252 #HANGUL SYLLABLE PIEUP YA RIEULKIYEOK
+  {0x9377, 0xBC56}, //3253 #HANGUL SYLLABLE PIEUP YA RIEULMIEUM
+  {0x9378, 0xBC57}, //3254 #HANGUL SYLLABLE PIEUP YA RIEULPIEUP
+  {0x9379, 0xBC58}, //3255 #HANGUL SYLLABLE PIEUP YA RIEULSIOS
+  {0x937A, 0xBC59}, //3256 #HANGUL SYLLABLE PIEUP YA RIEULTHIEUTH
+  {0x9381, 0xBC5A}, //3257 #HANGUL SYLLABLE PIEUP YA RIEULPHIEUPH
+  {0x9382, 0xBC5B}, //3258 #HANGUL SYLLABLE PIEUP YA RIEULHIEUH
+  {0x9383, 0xBC5C}, //3259 #HANGUL SYLLABLE PIEUP YA MIEUM
+  {0x9384, 0xBC5E}, //3260 #HANGUL SYLLABLE PIEUP YA PIEUPSIOS
+  {0x9385, 0xBC5F}, //3261 #HANGUL SYLLABLE PIEUP YA SIOS
+  {0x9386, 0xBC60}, //3262 #HANGUL SYLLABLE PIEUP YA SSANGSIOS
+  {0x9387, 0xBC61}, //3263 #HANGUL SYLLABLE PIEUP YA IEUNG
+  {0x9388, 0xBC62}, //3264 #HANGUL SYLLABLE PIEUP YA CIEUC
+  {0x9389, 0xBC63}, //3265 #HANGUL SYLLABLE PIEUP YA CHIEUCH
+  {0x938A, 0xBC64}, //3266 #HANGUL SYLLABLE PIEUP YA KHIEUKH
+  {0x938B, 0xBC65}, //3267 #HANGUL SYLLABLE PIEUP YA THIEUTH
+  {0x938C, 0xBC66}, //3268 #HANGUL SYLLABLE PIEUP YA PHIEUPH
+  {0x938D, 0xBC67}, //3269 #HANGUL SYLLABLE PIEUP YA HIEUH
+  {0x938E, 0xBC68}, //3270 #HANGUL SYLLABLE PIEUP YAE
+  {0x938F, 0xBC69}, //3271 #HANGUL SYLLABLE PIEUP YAE KIYEOK
+  {0x9390, 0xBC6A}, //3272 #HANGUL SYLLABLE PIEUP YAE SSANGKIYEOK
+  {0x9391, 0xBC6B}, //3273 #HANGUL SYLLABLE PIEUP YAE KIYEOKSIOS
+  {0x9392, 0xBC6C}, //3274 #HANGUL SYLLABLE PIEUP YAE NIEUN
+  {0x9393, 0xBC6D}, //3275 #HANGUL SYLLABLE PIEUP YAE NIEUNCIEUC
+  {0x9394, 0xBC6E}, //3276 #HANGUL SYLLABLE PIEUP YAE NIEUNHIEUH
+  {0x9395, 0xBC6F}, //3277 #HANGUL SYLLABLE PIEUP YAE TIKEUT
+  {0x9396, 0xBC70}, //3278 #HANGUL SYLLABLE PIEUP YAE RIEUL
+  {0x9397, 0xBC71}, //3279 #HANGUL SYLLABLE PIEUP YAE RIEULKIYEOK
+  {0x9398, 0xBC72}, //3280 #HANGUL SYLLABLE PIEUP YAE RIEULMIEUM
+  {0x9399, 0xBC73}, //3281 #HANGUL SYLLABLE PIEUP YAE RIEULPIEUP
+  {0x939A, 0xBC74}, //3282 #HANGUL SYLLABLE PIEUP YAE RIEULSIOS
+  {0x939B, 0xBC75}, //3283 #HANGUL SYLLABLE PIEUP YAE RIEULTHIEUTH
+  {0x939C, 0xBC76}, //3284 #HANGUL SYLLABLE PIEUP YAE RIEULPHIEUPH
+  {0x939D, 0xBC77}, //3285 #HANGUL SYLLABLE PIEUP YAE RIEULHIEUH
+  {0x939E, 0xBC78}, //3286 #HANGUL SYLLABLE PIEUP YAE MIEUM
+  {0x939F, 0xBC79}, //3287 #HANGUL SYLLABLE PIEUP YAE PIEUP
+  {0x93A0, 0xBC7A}, //3288 #HANGUL SYLLABLE PIEUP YAE PIEUPSIOS
+  {0x93A1, 0xBC7B}, //3289 #HANGUL SYLLABLE PIEUP YAE SIOS
+  {0x93A2, 0xBC7C}, //3290 #HANGUL SYLLABLE PIEUP YAE SSANGSIOS
+  {0x93A3, 0xBC7D}, //3291 #HANGUL SYLLABLE PIEUP YAE IEUNG
+  {0x93A4, 0xBC7E}, //3292 #HANGUL SYLLABLE PIEUP YAE CIEUC
+  {0x93A5, 0xBC7F}, //3293 #HANGUL SYLLABLE PIEUP YAE CHIEUCH
+  {0x93A6, 0xBC80}, //3294 #HANGUL SYLLABLE PIEUP YAE KHIEUKH
+  {0x93A7, 0xBC81}, //3295 #HANGUL SYLLABLE PIEUP YAE THIEUTH
+  {0x93A8, 0xBC82}, //3296 #HANGUL SYLLABLE PIEUP YAE PHIEUPH
+  {0x93A9, 0xBC83}, //3297 #HANGUL SYLLABLE PIEUP YAE HIEUH
+  {0x93AA, 0xBC86}, //3298 #HANGUL SYLLABLE PIEUP EO SSANGKIYEOK
+  {0x93AB, 0xBC87}, //3299 #HANGUL SYLLABLE PIEUP EO KIYEOKSIOS
+  {0x93AC, 0xBC89}, //3300 #HANGUL SYLLABLE PIEUP EO NIEUNCIEUC
+  {0x93AD, 0xBC8A}, //3301 #HANGUL SYLLABLE PIEUP EO NIEUNHIEUH
+  {0x93AE, 0xBC8D}, //3302 #HANGUL SYLLABLE PIEUP EO RIEULKIYEOK
+  {0x93AF, 0xBC8F}, //3303 #HANGUL SYLLABLE PIEUP EO RIEULPIEUP
+  {0x93B0, 0xBC90}, //3304 #HANGUL SYLLABLE PIEUP EO RIEULSIOS
+  {0x93B1, 0xBC91}, //3305 #HANGUL SYLLABLE PIEUP EO RIEULTHIEUTH
+  {0x93B2, 0xBC92}, //3306 #HANGUL SYLLABLE PIEUP EO RIEULPHIEUPH
+  {0x93B3, 0xBC93}, //3307 #HANGUL SYLLABLE PIEUP EO RIEULHIEUH
+  {0x93B4, 0xBC96}, //3308 #HANGUL SYLLABLE PIEUP EO PIEUPSIOS
+  {0x93B5, 0xBC98}, //3309 #HANGUL SYLLABLE PIEUP EO SSANGSIOS
+  {0x93B6, 0xBC9B}, //3310 #HANGUL SYLLABLE PIEUP EO CHIEUCH
+  {0x93B7, 0xBC9C}, //3311 #HANGUL SYLLABLE PIEUP EO KHIEUKH
+  {0x93B8, 0xBC9D}, //3312 #HANGUL SYLLABLE PIEUP EO THIEUTH
+  {0x93B9, 0xBC9E}, //3313 #HANGUL SYLLABLE PIEUP EO PHIEUPH
+  {0x93BA, 0xBC9F}, //3314 #HANGUL SYLLABLE PIEUP EO HIEUH
+  {0x93BB, 0xBCA2}, //3315 #HANGUL SYLLABLE PIEUP E SSANGKIYEOK
+  {0x93BC, 0xBCA3}, //3316 #HANGUL SYLLABLE PIEUP E KIYEOKSIOS
+  {0x93BD, 0xBCA5}, //3317 #HANGUL SYLLABLE PIEUP E NIEUNCIEUC
+  {0x93BE, 0xBCA6}, //3318 #HANGUL SYLLABLE PIEUP E NIEUNHIEUH
+  {0x93BF, 0xBCA9}, //3319 #HANGUL SYLLABLE PIEUP E RIEULKIYEOK
+  {0x93C0, 0xBCAA}, //3320 #HANGUL SYLLABLE PIEUP E RIEULMIEUM
+  {0x93C1, 0xBCAB}, //3321 #HANGUL SYLLABLE PIEUP E RIEULPIEUP
+  {0x93C2, 0xBCAC}, //3322 #HANGUL SYLLABLE PIEUP E RIEULSIOS
+  {0x93C3, 0xBCAD}, //3323 #HANGUL SYLLABLE PIEUP E RIEULTHIEUTH
+  {0x93C4, 0xBCAE}, //3324 #HANGUL SYLLABLE PIEUP E RIEULPHIEUPH
+  {0x93C5, 0xBCAF}, //3325 #HANGUL SYLLABLE PIEUP E RIEULHIEUH
+  {0x93C6, 0xBCB2}, //3326 #HANGUL SYLLABLE PIEUP E PIEUPSIOS
+  {0x93C7, 0xBCB6}, //3327 #HANGUL SYLLABLE PIEUP E CIEUC
+  {0x93C8, 0xBCB7}, //3328 #HANGUL SYLLABLE PIEUP E CHIEUCH
+  {0x93C9, 0xBCB8}, //3329 #HANGUL SYLLABLE PIEUP E KHIEUKH
+  {0x93CA, 0xBCB9}, //3330 #HANGUL SYLLABLE PIEUP E THIEUTH
+  {0x93CB, 0xBCBA}, //3331 #HANGUL SYLLABLE PIEUP E PHIEUPH
+  {0x93CC, 0xBCBB}, //3332 #HANGUL SYLLABLE PIEUP E HIEUH
+  {0x93CD, 0xBCBE}, //3333 #HANGUL SYLLABLE PIEUP YEO SSANGKIYEOK
+  {0x93CE, 0xBCBF}, //3334 #HANGUL SYLLABLE PIEUP YEO KIYEOKSIOS
+  {0x93CF, 0xBCC1}, //3335 #HANGUL SYLLABLE PIEUP YEO NIEUNCIEUC
+  {0x93D0, 0xBCC2}, //3336 #HANGUL SYLLABLE PIEUP YEO NIEUNHIEUH
+  {0x93D1, 0xBCC3}, //3337 #HANGUL SYLLABLE PIEUP YEO TIKEUT
+  {0x93D2, 0xBCC5}, //3338 #HANGUL SYLLABLE PIEUP YEO RIEULKIYEOK
+  {0x93D3, 0xBCC6}, //3339 #HANGUL SYLLABLE PIEUP YEO RIEULMIEUM
+  {0x93D4, 0xBCC7}, //3340 #HANGUL SYLLABLE PIEUP YEO RIEULPIEUP
+  {0x93D5, 0xBCC8}, //3341 #HANGUL SYLLABLE PIEUP YEO RIEULSIOS
+  {0x93D6, 0xBCC9}, //3342 #HANGUL SYLLABLE PIEUP YEO RIEULTHIEUTH
+  {0x93D7, 0xBCCA}, //3343 #HANGUL SYLLABLE PIEUP YEO RIEULPHIEUPH
+  {0x93D8, 0xBCCB}, //3344 #HANGUL SYLLABLE PIEUP YEO RIEULHIEUH
+  {0x93D9, 0xBCCC}, //3345 #HANGUL SYLLABLE PIEUP YEO MIEUM
+  {0x93DA, 0xBCCE}, //3346 #HANGUL SYLLABLE PIEUP YEO PIEUPSIOS
+  {0x93DB, 0xBCD2}, //3347 #HANGUL SYLLABLE PIEUP YEO CIEUC
+  {0x93DC, 0xBCD3}, //3348 #HANGUL SYLLABLE PIEUP YEO CHIEUCH
+  {0x93DD, 0xBCD4}, //3349 #HANGUL SYLLABLE PIEUP YEO KHIEUKH
+  {0x93DE, 0xBCD6}, //3350 #HANGUL SYLLABLE PIEUP YEO PHIEUPH
+  {0x93DF, 0xBCD7}, //3351 #HANGUL SYLLABLE PIEUP YEO HIEUH
+  {0x93E0, 0xBCD9}, //3352 #HANGUL SYLLABLE PIEUP YE KIYEOK
+  {0x93E1, 0xBCDA}, //3353 #HANGUL SYLLABLE PIEUP YE SSANGKIYEOK
+  {0x93E2, 0xBCDB}, //3354 #HANGUL SYLLABLE PIEUP YE KIYEOKSIOS
+  {0x93E3, 0xBCDD}, //3355 #HANGUL SYLLABLE PIEUP YE NIEUNCIEUC
+  {0x93E4, 0xBCDE}, //3356 #HANGUL SYLLABLE PIEUP YE NIEUNHIEUH
+  {0x93E5, 0xBCDF}, //3357 #HANGUL SYLLABLE PIEUP YE TIKEUT
+  {0x93E6, 0xBCE0}, //3358 #HANGUL SYLLABLE PIEUP YE RIEUL
+  {0x93E7, 0xBCE1}, //3359 #HANGUL SYLLABLE PIEUP YE RIEULKIYEOK
+  {0x93E8, 0xBCE2}, //3360 #HANGUL SYLLABLE PIEUP YE RIEULMIEUM
+  {0x93E9, 0xBCE3}, //3361 #HANGUL SYLLABLE PIEUP YE RIEULPIEUP
+  {0x93EA, 0xBCE4}, //3362 #HANGUL SYLLABLE PIEUP YE RIEULSIOS
+  {0x93EB, 0xBCE5}, //3363 #HANGUL SYLLABLE PIEUP YE RIEULTHIEUTH
+  {0x93EC, 0xBCE6}, //3364 #HANGUL SYLLABLE PIEUP YE RIEULPHIEUPH
+  {0x93ED, 0xBCE7}, //3365 #HANGUL SYLLABLE PIEUP YE RIEULHIEUH
+  {0x93EE, 0xBCE8}, //3366 #HANGUL SYLLABLE PIEUP YE MIEUM
+  {0x93EF, 0xBCE9}, //3367 #HANGUL SYLLABLE PIEUP YE PIEUP
+  {0x93F0, 0xBCEA}, //3368 #HANGUL SYLLABLE PIEUP YE PIEUPSIOS
+  {0x93F1, 0xBCEB}, //3369 #HANGUL SYLLABLE PIEUP YE SIOS
+  {0x93F2, 0xBCEC}, //3370 #HANGUL SYLLABLE PIEUP YE SSANGSIOS
+  {0x93F3, 0xBCED}, //3371 #HANGUL SYLLABLE PIEUP YE IEUNG
+  {0x93F4, 0xBCEE}, //3372 #HANGUL SYLLABLE PIEUP YE CIEUC
+  {0x93F5, 0xBCEF}, //3373 #HANGUL SYLLABLE PIEUP YE CHIEUCH
+  {0x93F6, 0xBCF0}, //3374 #HANGUL SYLLABLE PIEUP YE KHIEUKH
+  {0x93F7, 0xBCF1}, //3375 #HANGUL SYLLABLE PIEUP YE THIEUTH
+  {0x93F8, 0xBCF2}, //3376 #HANGUL SYLLABLE PIEUP YE PHIEUPH
+  {0x93F9, 0xBCF3}, //3377 #HANGUL SYLLABLE PIEUP YE HIEUH
+  {0x93FA, 0xBCF7}, //3378 #HANGUL SYLLABLE PIEUP O KIYEOKSIOS
+  {0x93FB, 0xBCF9}, //3379 #HANGUL SYLLABLE PIEUP O NIEUNCIEUC
+  {0x93FC, 0xBCFA}, //3380 #HANGUL SYLLABLE PIEUP O NIEUNHIEUH
+  {0x93FD, 0xBCFB}, //3381 #HANGUL SYLLABLE PIEUP O TIKEUT
+  {0x93FE, 0xBCFD}, //3382 #HANGUL SYLLABLE PIEUP O RIEULKIYEOK
+  {0x9441, 0xBCFE}, //3383 #HANGUL SYLLABLE PIEUP O RIEULMIEUM
+  {0x9442, 0xBCFF}, //3384 #HANGUL SYLLABLE PIEUP O RIEULPIEUP
+  {0x9443, 0xBD00}, //3385 #HANGUL SYLLABLE PIEUP O RIEULSIOS
+  {0x9444, 0xBD01}, //3386 #HANGUL SYLLABLE PIEUP O RIEULTHIEUTH
+  {0x9445, 0xBD02}, //3387 #HANGUL SYLLABLE PIEUP O RIEULPHIEUPH
+  {0x9446, 0xBD03}, //3388 #HANGUL SYLLABLE PIEUP O RIEULHIEUH
+  {0x9447, 0xBD06}, //3389 #HANGUL SYLLABLE PIEUP O PIEUPSIOS
+  {0x9448, 0xBD08}, //3390 #HANGUL SYLLABLE PIEUP O SSANGSIOS
+  {0x9449, 0xBD0A}, //3391 #HANGUL SYLLABLE PIEUP O CIEUC
+  {0x944A, 0xBD0B}, //3392 #HANGUL SYLLABLE PIEUP O CHIEUCH
+  {0x944B, 0xBD0C}, //3393 #HANGUL SYLLABLE PIEUP O KHIEUKH
+  {0x944C, 0xBD0D}, //3394 #HANGUL SYLLABLE PIEUP O THIEUTH
+  {0x944D, 0xBD0E}, //3395 #HANGUL SYLLABLE PIEUP O PHIEUPH
+  {0x944E, 0xBD0F}, //3396 #HANGUL SYLLABLE PIEUP O HIEUH
+  {0x944F, 0xBD11}, //3397 #HANGUL SYLLABLE PIEUP WA KIYEOK
+  {0x9450, 0xBD12}, //3398 #HANGUL SYLLABLE PIEUP WA SSANGKIYEOK
+  {0x9451, 0xBD13}, //3399 #HANGUL SYLLABLE PIEUP WA KIYEOKSIOS
+  {0x9452, 0xBD15}, //3400 #HANGUL SYLLABLE PIEUP WA NIEUNCIEUC
+  {0x9453, 0xBD16}, //3401 #HANGUL SYLLABLE PIEUP WA NIEUNHIEUH
+  {0x9454, 0xBD17}, //3402 #HANGUL SYLLABLE PIEUP WA TIKEUT
+  {0x9455, 0xBD18}, //3403 #HANGUL SYLLABLE PIEUP WA RIEUL
+  {0x9456, 0xBD19}, //3404 #HANGUL SYLLABLE PIEUP WA RIEULKIYEOK
+  {0x9457, 0xBD1A}, //3405 #HANGUL SYLLABLE PIEUP WA RIEULMIEUM
+  {0x9458, 0xBD1B}, //3406 #HANGUL SYLLABLE PIEUP WA RIEULPIEUP
+  {0x9459, 0xBD1C}, //3407 #HANGUL SYLLABLE PIEUP WA RIEULSIOS
+  {0x945A, 0xBD1D}, //3408 #HANGUL SYLLABLE PIEUP WA RIEULTHIEUTH
+  {0x9461, 0xBD1E}, //3409 #HANGUL SYLLABLE PIEUP WA RIEULPHIEUPH
+  {0x9462, 0xBD1F}, //3410 #HANGUL SYLLABLE PIEUP WA RIEULHIEUH
+  {0x9463, 0xBD20}, //3411 #HANGUL SYLLABLE PIEUP WA MIEUM
+  {0x9464, 0xBD21}, //3412 #HANGUL SYLLABLE PIEUP WA PIEUP
+  {0x9465, 0xBD22}, //3413 #HANGUL SYLLABLE PIEUP WA PIEUPSIOS
+  {0x9466, 0xBD23}, //3414 #HANGUL SYLLABLE PIEUP WA SIOS
+  {0x9467, 0xBD25}, //3415 #HANGUL SYLLABLE PIEUP WA IEUNG
+  {0x9468, 0xBD26}, //3416 #HANGUL SYLLABLE PIEUP WA CIEUC
+  {0x9469, 0xBD27}, //3417 #HANGUL SYLLABLE PIEUP WA CHIEUCH
+  {0x946A, 0xBD28}, //3418 #HANGUL SYLLABLE PIEUP WA KHIEUKH
+  {0x946B, 0xBD29}, //3419 #HANGUL SYLLABLE PIEUP WA THIEUTH
+  {0x946C, 0xBD2A}, //3420 #HANGUL SYLLABLE PIEUP WA PHIEUPH
+  {0x946D, 0xBD2B}, //3421 #HANGUL SYLLABLE PIEUP WA HIEUH
+  {0x946E, 0xBD2D}, //3422 #HANGUL SYLLABLE PIEUP WAE KIYEOK
+  {0x946F, 0xBD2E}, //3423 #HANGUL SYLLABLE PIEUP WAE SSANGKIYEOK
+  {0x9470, 0xBD2F}, //3424 #HANGUL SYLLABLE PIEUP WAE KIYEOKSIOS
+  {0x9471, 0xBD30}, //3425 #HANGUL SYLLABLE PIEUP WAE NIEUN
+  {0x9472, 0xBD31}, //3426 #HANGUL SYLLABLE PIEUP WAE NIEUNCIEUC
+  {0x9473, 0xBD32}, //3427 #HANGUL SYLLABLE PIEUP WAE NIEUNHIEUH
+  {0x9474, 0xBD33}, //3428 #HANGUL SYLLABLE PIEUP WAE TIKEUT
+  {0x9475, 0xBD34}, //3429 #HANGUL SYLLABLE PIEUP WAE RIEUL
+  {0x9476, 0xBD35}, //3430 #HANGUL SYLLABLE PIEUP WAE RIEULKIYEOK
+  {0x9477, 0xBD36}, //3431 #HANGUL SYLLABLE PIEUP WAE RIEULMIEUM
+  {0x9478, 0xBD37}, //3432 #HANGUL SYLLABLE PIEUP WAE RIEULPIEUP
+  {0x9479, 0xBD38}, //3433 #HANGUL SYLLABLE PIEUP WAE RIEULSIOS
+  {0x947A, 0xBD39}, //3434 #HANGUL SYLLABLE PIEUP WAE RIEULTHIEUTH
+  {0x9481, 0xBD3A}, //3435 #HANGUL SYLLABLE PIEUP WAE RIEULPHIEUPH
+  {0x9482, 0xBD3B}, //3436 #HANGUL SYLLABLE PIEUP WAE RIEULHIEUH
+  {0x9483, 0xBD3C}, //3437 #HANGUL SYLLABLE PIEUP WAE MIEUM
+  {0x9484, 0xBD3D}, //3438 #HANGUL SYLLABLE PIEUP WAE PIEUP
+  {0x9485, 0xBD3E}, //3439 #HANGUL SYLLABLE PIEUP WAE PIEUPSIOS
+  {0x9486, 0xBD3F}, //3440 #HANGUL SYLLABLE PIEUP WAE SIOS
+  {0x9487, 0xBD41}, //3441 #HANGUL SYLLABLE PIEUP WAE IEUNG
+  {0x9488, 0xBD42}, //3442 #HANGUL SYLLABLE PIEUP WAE CIEUC
+  {0x9489, 0xBD43}, //3443 #HANGUL SYLLABLE PIEUP WAE CHIEUCH
+  {0x948A, 0xBD44}, //3444 #HANGUL SYLLABLE PIEUP WAE KHIEUKH
+  {0x948B, 0xBD45}, //3445 #HANGUL SYLLABLE PIEUP WAE THIEUTH
+  {0x948C, 0xBD46}, //3446 #HANGUL SYLLABLE PIEUP WAE PHIEUPH
+  {0x948D, 0xBD47}, //3447 #HANGUL SYLLABLE PIEUP WAE HIEUH
+  {0x948E, 0xBD4A}, //3448 #HANGUL SYLLABLE PIEUP OE SSANGKIYEOK
+  {0x948F, 0xBD4B}, //3449 #HANGUL SYLLABLE PIEUP OE KIYEOKSIOS
+  {0x9490, 0xBD4D}, //3450 #HANGUL SYLLABLE PIEUP OE NIEUNCIEUC
+  {0x9491, 0xBD4E}, //3451 #HANGUL SYLLABLE PIEUP OE NIEUNHIEUH
+  {0x9492, 0xBD4F}, //3452 #HANGUL SYLLABLE PIEUP OE TIKEUT
+  {0x9493, 0xBD51}, //3453 #HANGUL SYLLABLE PIEUP OE RIEULKIYEOK
+  {0x9494, 0xBD52}, //3454 #HANGUL SYLLABLE PIEUP OE RIEULMIEUM
+  {0x9495, 0xBD53}, //3455 #HANGUL SYLLABLE PIEUP OE RIEULPIEUP
+  {0x9496, 0xBD54}, //3456 #HANGUL SYLLABLE PIEUP OE RIEULSIOS
+  {0x9497, 0xBD55}, //3457 #HANGUL SYLLABLE PIEUP OE RIEULTHIEUTH
+  {0x9498, 0xBD56}, //3458 #HANGUL SYLLABLE PIEUP OE RIEULPHIEUPH
+  {0x9499, 0xBD57}, //3459 #HANGUL SYLLABLE PIEUP OE RIEULHIEUH
+  {0x949A, 0xBD5A}, //3460 #HANGUL SYLLABLE PIEUP OE PIEUPSIOS
+  {0x949B, 0xBD5B}, //3461 #HANGUL SYLLABLE PIEUP OE SIOS
+  {0x949C, 0xBD5C}, //3462 #HANGUL SYLLABLE PIEUP OE SSANGSIOS
+  {0x949D, 0xBD5D}, //3463 #HANGUL SYLLABLE PIEUP OE IEUNG
+  {0x949E, 0xBD5E}, //3464 #HANGUL SYLLABLE PIEUP OE CIEUC
+  {0x949F, 0xBD5F}, //3465 #HANGUL SYLLABLE PIEUP OE CHIEUCH
+  {0x94A0, 0xBD60}, //3466 #HANGUL SYLLABLE PIEUP OE KHIEUKH
+  {0x94A1, 0xBD61}, //3467 #HANGUL SYLLABLE PIEUP OE THIEUTH
+  {0x94A2, 0xBD62}, //3468 #HANGUL SYLLABLE PIEUP OE PHIEUPH
+  {0x94A3, 0xBD63}, //3469 #HANGUL SYLLABLE PIEUP OE HIEUH
+  {0x94A4, 0xBD65}, //3470 #HANGUL SYLLABLE PIEUP YO KIYEOK
+  {0x94A5, 0xBD66}, //3471 #HANGUL SYLLABLE PIEUP YO SSANGKIYEOK
+  {0x94A6, 0xBD67}, //3472 #HANGUL SYLLABLE PIEUP YO KIYEOKSIOS
+  {0x94A7, 0xBD69}, //3473 #HANGUL SYLLABLE PIEUP YO NIEUNCIEUC
+  {0x94A8, 0xBD6A}, //3474 #HANGUL SYLLABLE PIEUP YO NIEUNHIEUH
+  {0x94A9, 0xBD6B}, //3475 #HANGUL SYLLABLE PIEUP YO TIKEUT
+  {0x94AA, 0xBD6C}, //3476 #HANGUL SYLLABLE PIEUP YO RIEUL
+  {0x94AB, 0xBD6D}, //3477 #HANGUL SYLLABLE PIEUP YO RIEULKIYEOK
+  {0x94AC, 0xBD6E}, //3478 #HANGUL SYLLABLE PIEUP YO RIEULMIEUM
+  {0x94AD, 0xBD6F}, //3479 #HANGUL SYLLABLE PIEUP YO RIEULPIEUP
+  {0x94AE, 0xBD70}, //3480 #HANGUL SYLLABLE PIEUP YO RIEULSIOS
+  {0x94AF, 0xBD71}, //3481 #HANGUL SYLLABLE PIEUP YO RIEULTHIEUTH
+  {0x94B0, 0xBD72}, //3482 #HANGUL SYLLABLE PIEUP YO RIEULPHIEUPH
+  {0x94B1, 0xBD73}, //3483 #HANGUL SYLLABLE PIEUP YO RIEULHIEUH
+  {0x94B2, 0xBD74}, //3484 #HANGUL SYLLABLE PIEUP YO MIEUM
+  {0x94B3, 0xBD75}, //3485 #HANGUL SYLLABLE PIEUP YO PIEUP
+  {0x94B4, 0xBD76}, //3486 #HANGUL SYLLABLE PIEUP YO PIEUPSIOS
+  {0x94B5, 0xBD77}, //3487 #HANGUL SYLLABLE PIEUP YO SIOS
+  {0x94B6, 0xBD78}, //3488 #HANGUL SYLLABLE PIEUP YO SSANGSIOS
+  {0x94B7, 0xBD79}, //3489 #HANGUL SYLLABLE PIEUP YO IEUNG
+  {0x94B8, 0xBD7A}, //3490 #HANGUL SYLLABLE PIEUP YO CIEUC
+  {0x94B9, 0xBD7B}, //3491 #HANGUL SYLLABLE PIEUP YO CHIEUCH
+  {0x94BA, 0xBD7C}, //3492 #HANGUL SYLLABLE PIEUP YO KHIEUKH
+  {0x94BB, 0xBD7D}, //3493 #HANGUL SYLLABLE PIEUP YO THIEUTH
+  {0x94BC, 0xBD7E}, //3494 #HANGUL SYLLABLE PIEUP YO PHIEUPH
+  {0x94BD, 0xBD7F}, //3495 #HANGUL SYLLABLE PIEUP YO HIEUH
+  {0x94BE, 0xBD82}, //3496 #HANGUL SYLLABLE PIEUP U SSANGKIYEOK
+  {0x94BF, 0xBD83}, //3497 #HANGUL SYLLABLE PIEUP U KIYEOKSIOS
+  {0x94C0, 0xBD85}, //3498 #HANGUL SYLLABLE PIEUP U NIEUNCIEUC
+  {0x94C1, 0xBD86}, //3499 #HANGUL SYLLABLE PIEUP U NIEUNHIEUH
+  {0x94C2, 0xBD8B}, //3500 #HANGUL SYLLABLE PIEUP U RIEULPIEUP
+  {0x94C3, 0xBD8C}, //3501 #HANGUL SYLLABLE PIEUP U RIEULSIOS
+  {0x94C4, 0xBD8D}, //3502 #HANGUL SYLLABLE PIEUP U RIEULTHIEUTH
+  {0x94C5, 0xBD8E}, //3503 #HANGUL SYLLABLE PIEUP U RIEULPHIEUPH
+  {0x94C6, 0xBD8F}, //3504 #HANGUL SYLLABLE PIEUP U RIEULHIEUH
+  {0x94C7, 0xBD92}, //3505 #HANGUL SYLLABLE PIEUP U PIEUPSIOS
+  {0x94C8, 0xBD94}, //3506 #HANGUL SYLLABLE PIEUP U SSANGSIOS
+  {0x94C9, 0xBD96}, //3507 #HANGUL SYLLABLE PIEUP U CIEUC
+  {0x94CA, 0xBD97}, //3508 #HANGUL SYLLABLE PIEUP U CHIEUCH
+  {0x94CB, 0xBD98}, //3509 #HANGUL SYLLABLE PIEUP U KHIEUKH
+  {0x94CC, 0xBD9B}, //3510 #HANGUL SYLLABLE PIEUP U HIEUH
+  {0x94CD, 0xBD9D}, //3511 #HANGUL SYLLABLE PIEUP WEO KIYEOK
+  {0x94CE, 0xBD9E}, //3512 #HANGUL SYLLABLE PIEUP WEO SSANGKIYEOK
+  {0x94CF, 0xBD9F}, //3513 #HANGUL SYLLABLE PIEUP WEO KIYEOKSIOS
+  {0x94D0, 0xBDA0}, //3514 #HANGUL SYLLABLE PIEUP WEO NIEUN
+  {0x94D1, 0xBDA1}, //3515 #HANGUL SYLLABLE PIEUP WEO NIEUNCIEUC
+  {0x94D2, 0xBDA2}, //3516 #HANGUL SYLLABLE PIEUP WEO NIEUNHIEUH
+  {0x94D3, 0xBDA3}, //3517 #HANGUL SYLLABLE PIEUP WEO TIKEUT
+  {0x94D4, 0xBDA5}, //3518 #HANGUL SYLLABLE PIEUP WEO RIEULKIYEOK
+  {0x94D5, 0xBDA6}, //3519 #HANGUL SYLLABLE PIEUP WEO RIEULMIEUM
+  {0x94D6, 0xBDA7}, //3520 #HANGUL SYLLABLE PIEUP WEO RIEULPIEUP
+  {0x94D7, 0xBDA8}, //3521 #HANGUL SYLLABLE PIEUP WEO RIEULSIOS
+  {0x94D8, 0xBDA9}, //3522 #HANGUL SYLLABLE PIEUP WEO RIEULTHIEUTH
+  {0x94D9, 0xBDAA}, //3523 #HANGUL SYLLABLE PIEUP WEO RIEULPHIEUPH
+  {0x94DA, 0xBDAB}, //3524 #HANGUL SYLLABLE PIEUP WEO RIEULHIEUH
+  {0x94DB, 0xBDAC}, //3525 #HANGUL SYLLABLE PIEUP WEO MIEUM
+  {0x94DC, 0xBDAD}, //3526 #HANGUL SYLLABLE PIEUP WEO PIEUP
+  {0x94DD, 0xBDAE}, //3527 #HANGUL SYLLABLE PIEUP WEO PIEUPSIOS
+  {0x94DE, 0xBDAF}, //3528 #HANGUL SYLLABLE PIEUP WEO SIOS
+  {0x94DF, 0xBDB1}, //3529 #HANGUL SYLLABLE PIEUP WEO IEUNG
+  {0x94E0, 0xBDB2}, //3530 #HANGUL SYLLABLE PIEUP WEO CIEUC
+  {0x94E1, 0xBDB3}, //3531 #HANGUL SYLLABLE PIEUP WEO CHIEUCH
+  {0x94E2, 0xBDB4}, //3532 #HANGUL SYLLABLE PIEUP WEO KHIEUKH
+  {0x94E3, 0xBDB5}, //3533 #HANGUL SYLLABLE PIEUP WEO THIEUTH
+  {0x94E4, 0xBDB6}, //3534 #HANGUL SYLLABLE PIEUP WEO PHIEUPH
+  {0x94E5, 0xBDB7}, //3535 #HANGUL SYLLABLE PIEUP WEO HIEUH
+  {0x94E6, 0xBDB9}, //3536 #HANGUL SYLLABLE PIEUP WE KIYEOK
+  {0x94E7, 0xBDBA}, //3537 #HANGUL SYLLABLE PIEUP WE SSANGKIYEOK
+  {0x94E8, 0xBDBB}, //3538 #HANGUL SYLLABLE PIEUP WE KIYEOKSIOS
+  {0x94E9, 0xBDBC}, //3539 #HANGUL SYLLABLE PIEUP WE NIEUN
+  {0x94EA, 0xBDBD}, //3540 #HANGUL SYLLABLE PIEUP WE NIEUNCIEUC
+  {0x94EB, 0xBDBE}, //3541 #HANGUL SYLLABLE PIEUP WE NIEUNHIEUH
+  {0x94EC, 0xBDBF}, //3542 #HANGUL SYLLABLE PIEUP WE TIKEUT
+  {0x94ED, 0xBDC0}, //3543 #HANGUL SYLLABLE PIEUP WE RIEUL
+  {0x94EE, 0xBDC1}, //3544 #HANGUL SYLLABLE PIEUP WE RIEULKIYEOK
+  {0x94EF, 0xBDC2}, //3545 #HANGUL SYLLABLE PIEUP WE RIEULMIEUM
+  {0x94F0, 0xBDC3}, //3546 #HANGUL SYLLABLE PIEUP WE RIEULPIEUP
+  {0x94F1, 0xBDC4}, //3547 #HANGUL SYLLABLE PIEUP WE RIEULSIOS
+  {0x94F2, 0xBDC5}, //3548 #HANGUL SYLLABLE PIEUP WE RIEULTHIEUTH
+  {0x94F3, 0xBDC6}, //3549 #HANGUL SYLLABLE PIEUP WE RIEULPHIEUPH
+  {0x94F4, 0xBDC7}, //3550 #HANGUL SYLLABLE PIEUP WE RIEULHIEUH
+  {0x94F5, 0xBDC8}, //3551 #HANGUL SYLLABLE PIEUP WE MIEUM
+  {0x94F6, 0xBDC9}, //3552 #HANGUL SYLLABLE PIEUP WE PIEUP
+  {0x94F7, 0xBDCA}, //3553 #HANGUL SYLLABLE PIEUP WE PIEUPSIOS
+  {0x94F8, 0xBDCB}, //3554 #HANGUL SYLLABLE PIEUP WE SIOS
+  {0x94F9, 0xBDCC}, //3555 #HANGUL SYLLABLE PIEUP WE SSANGSIOS
+  {0x94FA, 0xBDCD}, //3556 #HANGUL SYLLABLE PIEUP WE IEUNG
+  {0x94FB, 0xBDCE}, //3557 #HANGUL SYLLABLE PIEUP WE CIEUC
+  {0x94FC, 0xBDCF}, //3558 #HANGUL SYLLABLE PIEUP WE CHIEUCH
+  {0x94FD, 0xBDD0}, //3559 #HANGUL SYLLABLE PIEUP WE KHIEUKH
+  {0x94FE, 0xBDD1}, //3560 #HANGUL SYLLABLE PIEUP WE THIEUTH
+  {0x9541, 0xBDD2}, //3561 #HANGUL SYLLABLE PIEUP WE PHIEUPH
+  {0x9542, 0xBDD3}, //3562 #HANGUL SYLLABLE PIEUP WE HIEUH
+  {0x9543, 0xBDD6}, //3563 #HANGUL SYLLABLE PIEUP WI SSANGKIYEOK
+  {0x9544, 0xBDD7}, //3564 #HANGUL SYLLABLE PIEUP WI KIYEOKSIOS
+  {0x9545, 0xBDD9}, //3565 #HANGUL SYLLABLE PIEUP WI NIEUNCIEUC
+  {0x9546, 0xBDDA}, //3566 #HANGUL SYLLABLE PIEUP WI NIEUNHIEUH
+  {0x9547, 0xBDDB}, //3567 #HANGUL SYLLABLE PIEUP WI TIKEUT
+  {0x9548, 0xBDDD}, //3568 #HANGUL SYLLABLE PIEUP WI RIEULKIYEOK
+  {0x9549, 0xBDDE}, //3569 #HANGUL SYLLABLE PIEUP WI RIEULMIEUM
+  {0x954A, 0xBDDF}, //3570 #HANGUL SYLLABLE PIEUP WI RIEULPIEUP
+  {0x954B, 0xBDE0}, //3571 #HANGUL SYLLABLE PIEUP WI RIEULSIOS
+  {0x954C, 0xBDE1}, //3572 #HANGUL SYLLABLE PIEUP WI RIEULTHIEUTH
+  {0x954D, 0xBDE2}, //3573 #HANGUL SYLLABLE PIEUP WI RIEULPHIEUPH
+  {0x954E, 0xBDE3}, //3574 #HANGUL SYLLABLE PIEUP WI RIEULHIEUH
+  {0x954F, 0xBDE4}, //3575 #HANGUL SYLLABLE PIEUP WI MIEUM
+  {0x9550, 0xBDE5}, //3576 #HANGUL SYLLABLE PIEUP WI PIEUP
+  {0x9551, 0xBDE6}, //3577 #HANGUL SYLLABLE PIEUP WI PIEUPSIOS
+  {0x9552, 0xBDE7}, //3578 #HANGUL SYLLABLE PIEUP WI SIOS
+  {0x9553, 0xBDE8}, //3579 #HANGUL SYLLABLE PIEUP WI SSANGSIOS
+  {0x9554, 0xBDEA}, //3580 #HANGUL SYLLABLE PIEUP WI CIEUC
+  {0x9555, 0xBDEB}, //3581 #HANGUL SYLLABLE PIEUP WI CHIEUCH
+  {0x9556, 0xBDEC}, //3582 #HANGUL SYLLABLE PIEUP WI KHIEUKH
+  {0x9557, 0xBDED}, //3583 #HANGUL SYLLABLE PIEUP WI THIEUTH
+  {0x9558, 0xBDEE}, //3584 #HANGUL SYLLABLE PIEUP WI PHIEUPH
+  {0x9559, 0xBDEF}, //3585 #HANGUL SYLLABLE PIEUP WI HIEUH
+  {0x955A, 0xBDF1}, //3586 #HANGUL SYLLABLE PIEUP YU KIYEOK
+  {0x9561, 0xBDF2}, //3587 #HANGUL SYLLABLE PIEUP YU SSANGKIYEOK
+  {0x9562, 0xBDF3}, //3588 #HANGUL SYLLABLE PIEUP YU KIYEOKSIOS
+  {0x9563, 0xBDF5}, //3589 #HANGUL SYLLABLE PIEUP YU NIEUNCIEUC
+  {0x9564, 0xBDF6}, //3590 #HANGUL SYLLABLE PIEUP YU NIEUNHIEUH
+  {0x9565, 0xBDF7}, //3591 #HANGUL SYLLABLE PIEUP YU TIKEUT
+  {0x9566, 0xBDF9}, //3592 #HANGUL SYLLABLE PIEUP YU RIEULKIYEOK
+  {0x9567, 0xBDFA}, //3593 #HANGUL SYLLABLE PIEUP YU RIEULMIEUM
+  {0x9568, 0xBDFB}, //3594 #HANGUL SYLLABLE PIEUP YU RIEULPIEUP
+  {0x9569, 0xBDFC}, //3595 #HANGUL SYLLABLE PIEUP YU RIEULSIOS
+  {0x956A, 0xBDFD}, //3596 #HANGUL SYLLABLE PIEUP YU RIEULTHIEUTH
+  {0x956B, 0xBDFE}, //3597 #HANGUL SYLLABLE PIEUP YU RIEULPHIEUPH
+  {0x956C, 0xBDFF}, //3598 #HANGUL SYLLABLE PIEUP YU RIEULHIEUH
+  {0x956D, 0xBE01}, //3599 #HANGUL SYLLABLE PIEUP YU PIEUP
+  {0x956E, 0xBE02}, //3600 #HANGUL SYLLABLE PIEUP YU PIEUPSIOS
+  {0x956F, 0xBE04}, //3601 #HANGUL SYLLABLE PIEUP YU SSANGSIOS
+  {0x9570, 0xBE06}, //3602 #HANGUL SYLLABLE PIEUP YU CIEUC
+  {0x9571, 0xBE07}, //3603 #HANGUL SYLLABLE PIEUP YU CHIEUCH
+  {0x9572, 0xBE08}, //3604 #HANGUL SYLLABLE PIEUP YU KHIEUKH
+  {0x9573, 0xBE09}, //3605 #HANGUL SYLLABLE PIEUP YU THIEUTH
+  {0x9574, 0xBE0A}, //3606 #HANGUL SYLLABLE PIEUP YU PHIEUPH
+  {0x9575, 0xBE0B}, //3607 #HANGUL SYLLABLE PIEUP YU HIEUH
+  {0x9576, 0xBE0E}, //3608 #HANGUL SYLLABLE PIEUP EU SSANGKIYEOK
+  {0x9577, 0xBE0F}, //3609 #HANGUL SYLLABLE PIEUP EU KIYEOKSIOS
+  {0x9578, 0xBE11}, //3610 #HANGUL SYLLABLE PIEUP EU NIEUNCIEUC
+  {0x9579, 0xBE12}, //3611 #HANGUL SYLLABLE PIEUP EU NIEUNHIEUH
+  {0x957A, 0xBE13}, //3612 #HANGUL SYLLABLE PIEUP EU TIKEUT
+  {0x9581, 0xBE15}, //3613 #HANGUL SYLLABLE PIEUP EU RIEULKIYEOK
+  {0x9582, 0xBE16}, //3614 #HANGUL SYLLABLE PIEUP EU RIEULMIEUM
+  {0x9583, 0xBE17}, //3615 #HANGUL SYLLABLE PIEUP EU RIEULPIEUP
+  {0x9584, 0xBE18}, //3616 #HANGUL SYLLABLE PIEUP EU RIEULSIOS
+  {0x9585, 0xBE19}, //3617 #HANGUL SYLLABLE PIEUP EU RIEULTHIEUTH
+  {0x9586, 0xBE1A}, //3618 #HANGUL SYLLABLE PIEUP EU RIEULPHIEUPH
+  {0x9587, 0xBE1B}, //3619 #HANGUL SYLLABLE PIEUP EU RIEULHIEUH
+  {0x9588, 0xBE1E}, //3620 #HANGUL SYLLABLE PIEUP EU PIEUPSIOS
+  {0x9589, 0xBE20}, //3621 #HANGUL SYLLABLE PIEUP EU SSANGSIOS
+  {0x958A, 0xBE21}, //3622 #HANGUL SYLLABLE PIEUP EU IEUNG
+  {0x958B, 0xBE22}, //3623 #HANGUL SYLLABLE PIEUP EU CIEUC
+  {0x958C, 0xBE23}, //3624 #HANGUL SYLLABLE PIEUP EU CHIEUCH
+  {0x958D, 0xBE24}, //3625 #HANGUL SYLLABLE PIEUP EU KHIEUKH
+  {0x958E, 0xBE25}, //3626 #HANGUL SYLLABLE PIEUP EU THIEUTH
+  {0x958F, 0xBE26}, //3627 #HANGUL SYLLABLE PIEUP EU PHIEUPH
+  {0x9590, 0xBE27}, //3628 #HANGUL SYLLABLE PIEUP EU HIEUH
+  {0x9591, 0xBE28}, //3629 #HANGUL SYLLABLE PIEUP YI
+  {0x9592, 0xBE29}, //3630 #HANGUL SYLLABLE PIEUP YI KIYEOK
+  {0x9593, 0xBE2A}, //3631 #HANGUL SYLLABLE PIEUP YI SSANGKIYEOK
+  {0x9594, 0xBE2B}, //3632 #HANGUL SYLLABLE PIEUP YI KIYEOKSIOS
+  {0x9595, 0xBE2C}, //3633 #HANGUL SYLLABLE PIEUP YI NIEUN
+  {0x9596, 0xBE2D}, //3634 #HANGUL SYLLABLE PIEUP YI NIEUNCIEUC
+  {0x9597, 0xBE2E}, //3635 #HANGUL SYLLABLE PIEUP YI NIEUNHIEUH
+  {0x9598, 0xBE2F}, //3636 #HANGUL SYLLABLE PIEUP YI TIKEUT
+  {0x9599, 0xBE30}, //3637 #HANGUL SYLLABLE PIEUP YI RIEUL
+  {0x959A, 0xBE31}, //3638 #HANGUL SYLLABLE PIEUP YI RIEULKIYEOK
+  {0x959B, 0xBE32}, //3639 #HANGUL SYLLABLE PIEUP YI RIEULMIEUM
+  {0x959C, 0xBE33}, //3640 #HANGUL SYLLABLE PIEUP YI RIEULPIEUP
+  {0x959D, 0xBE34}, //3641 #HANGUL SYLLABLE PIEUP YI RIEULSIOS
+  {0x959E, 0xBE35}, //3642 #HANGUL SYLLABLE PIEUP YI RIEULTHIEUTH
+  {0x959F, 0xBE36}, //3643 #HANGUL SYLLABLE PIEUP YI RIEULPHIEUPH
+  {0x95A0, 0xBE37}, //3644 #HANGUL SYLLABLE PIEUP YI RIEULHIEUH
+  {0x95A1, 0xBE38}, //3645 #HANGUL SYLLABLE PIEUP YI MIEUM
+  {0x95A2, 0xBE39}, //3646 #HANGUL SYLLABLE PIEUP YI PIEUP
+  {0x95A3, 0xBE3A}, //3647 #HANGUL SYLLABLE PIEUP YI PIEUPSIOS
+  {0x95A4, 0xBE3B}, //3648 #HANGUL SYLLABLE PIEUP YI SIOS
+  {0x95A5, 0xBE3C}, //3649 #HANGUL SYLLABLE PIEUP YI SSANGSIOS
+  {0x95A6, 0xBE3D}, //3650 #HANGUL SYLLABLE PIEUP YI IEUNG
+  {0x95A7, 0xBE3E}, //3651 #HANGUL SYLLABLE PIEUP YI CIEUC
+  {0x95A8, 0xBE3F}, //3652 #HANGUL SYLLABLE PIEUP YI CHIEUCH
+  {0x95A9, 0xBE40}, //3653 #HANGUL SYLLABLE PIEUP YI KHIEUKH
+  {0x95AA, 0xBE41}, //3654 #HANGUL SYLLABLE PIEUP YI THIEUTH
+  {0x95AB, 0xBE42}, //3655 #HANGUL SYLLABLE PIEUP YI PHIEUPH
+  {0x95AC, 0xBE43}, //3656 #HANGUL SYLLABLE PIEUP YI HIEUH
+  {0x95AD, 0xBE46}, //3657 #HANGUL SYLLABLE PIEUP I SSANGKIYEOK
+  {0x95AE, 0xBE47}, //3658 #HANGUL SYLLABLE PIEUP I KIYEOKSIOS
+  {0x95AF, 0xBE49}, //3659 #HANGUL SYLLABLE PIEUP I NIEUNCIEUC
+  {0x95B0, 0xBE4A}, //3660 #HANGUL SYLLABLE PIEUP I NIEUNHIEUH
+  {0x95B1, 0xBE4B}, //3661 #HANGUL SYLLABLE PIEUP I TIKEUT
+  {0x95B2, 0xBE4D}, //3662 #HANGUL SYLLABLE PIEUP I RIEULKIYEOK
+  {0x95B3, 0xBE4F}, //3663 #HANGUL SYLLABLE PIEUP I RIEULPIEUP
+  {0x95B4, 0xBE50}, //3664 #HANGUL SYLLABLE PIEUP I RIEULSIOS
+  {0x95B5, 0xBE51}, //3665 #HANGUL SYLLABLE PIEUP I RIEULTHIEUTH
+  {0x95B6, 0xBE52}, //3666 #HANGUL SYLLABLE PIEUP I RIEULPHIEUPH
+  {0x95B7, 0xBE53}, //3667 #HANGUL SYLLABLE PIEUP I RIEULHIEUH
+  {0x95B8, 0xBE56}, //3668 #HANGUL SYLLABLE PIEUP I PIEUPSIOS
+  {0x95B9, 0xBE58}, //3669 #HANGUL SYLLABLE PIEUP I SSANGSIOS
+  {0x95BA, 0xBE5C}, //3670 #HANGUL SYLLABLE PIEUP I KHIEUKH
+  {0x95BB, 0xBE5D}, //3671 #HANGUL SYLLABLE PIEUP I THIEUTH
+  {0x95BC, 0xBE5E}, //3672 #HANGUL SYLLABLE PIEUP I PHIEUPH
+  {0x95BD, 0xBE5F}, //3673 #HANGUL SYLLABLE PIEUP I HIEUH
+  {0x95BE, 0xBE62}, //3674 #HANGUL SYLLABLE SSANGPIEUP A SSANGKIYEOK
+  {0x95BF, 0xBE63}, //3675 #HANGUL SYLLABLE SSANGPIEUP A KIYEOKSIOS
+  {0x95C0, 0xBE65}, //3676 #HANGUL SYLLABLE SSANGPIEUP A NIEUNCIEUC
+  {0x95C1, 0xBE66}, //3677 #HANGUL SYLLABLE SSANGPIEUP A NIEUNHIEUH
+  {0x95C2, 0xBE67}, //3678 #HANGUL SYLLABLE SSANGPIEUP A TIKEUT
+  {0x95C3, 0xBE69}, //3679 #HANGUL SYLLABLE SSANGPIEUP A RIEULKIYEOK
+  {0x95C4, 0xBE6B}, //3680 #HANGUL SYLLABLE SSANGPIEUP A RIEULPIEUP
+  {0x95C5, 0xBE6C}, //3681 #HANGUL SYLLABLE SSANGPIEUP A RIEULSIOS
+  {0x95C6, 0xBE6D}, //3682 #HANGUL SYLLABLE SSANGPIEUP A RIEULTHIEUTH
+  {0x95C7, 0xBE6E}, //3683 #HANGUL SYLLABLE SSANGPIEUP A RIEULPHIEUPH
+  {0x95C8, 0xBE6F}, //3684 #HANGUL SYLLABLE SSANGPIEUP A RIEULHIEUH
+  {0x95C9, 0xBE72}, //3685 #HANGUL SYLLABLE SSANGPIEUP A PIEUPSIOS
+  {0x95CA, 0xBE76}, //3686 #HANGUL SYLLABLE SSANGPIEUP A CIEUC
+  {0x95CB, 0xBE77}, //3687 #HANGUL SYLLABLE SSANGPIEUP A CHIEUCH
+  {0x95CC, 0xBE78}, //3688 #HANGUL SYLLABLE SSANGPIEUP A KHIEUKH
+  {0x95CD, 0xBE79}, //3689 #HANGUL SYLLABLE SSANGPIEUP A THIEUTH
+  {0x95CE, 0xBE7A}, //3690 #HANGUL SYLLABLE SSANGPIEUP A PHIEUPH
+  {0x95CF, 0xBE7E}, //3691 #HANGUL SYLLABLE SSANGPIEUP AE SSANGKIYEOK
+  {0x95D0, 0xBE7F}, //3692 #HANGUL SYLLABLE SSANGPIEUP AE KIYEOKSIOS
+  {0x95D1, 0xBE81}, //3693 #HANGUL SYLLABLE SSANGPIEUP AE NIEUNCIEUC
+  {0x95D2, 0xBE82}, //3694 #HANGUL SYLLABLE SSANGPIEUP AE NIEUNHIEUH
+  {0x95D3, 0xBE83}, //3695 #HANGUL SYLLABLE SSANGPIEUP AE TIKEUT
+  {0x95D4, 0xBE85}, //3696 #HANGUL SYLLABLE SSANGPIEUP AE RIEULKIYEOK
+  {0x95D5, 0xBE86}, //3697 #HANGUL SYLLABLE SSANGPIEUP AE RIEULMIEUM
+  {0x95D6, 0xBE87}, //3698 #HANGUL SYLLABLE SSANGPIEUP AE RIEULPIEUP
+  {0x95D7, 0xBE88}, //3699 #HANGUL SYLLABLE SSANGPIEUP AE RIEULSIOS
+  {0x95D8, 0xBE89}, //3700 #HANGUL SYLLABLE SSANGPIEUP AE RIEULTHIEUTH
+  {0x95D9, 0xBE8A}, //3701 #HANGUL SYLLABLE SSANGPIEUP AE RIEULPHIEUPH
+  {0x95DA, 0xBE8B}, //3702 #HANGUL SYLLABLE SSANGPIEUP AE RIEULHIEUH
+  {0x95DB, 0xBE8E}, //3703 #HANGUL SYLLABLE SSANGPIEUP AE PIEUPSIOS
+  {0x95DC, 0xBE92}, //3704 #HANGUL SYLLABLE SSANGPIEUP AE CIEUC
+  {0x95DD, 0xBE93}, //3705 #HANGUL SYLLABLE SSANGPIEUP AE CHIEUCH
+  {0x95DE, 0xBE94}, //3706 #HANGUL SYLLABLE SSANGPIEUP AE KHIEUKH
+  {0x95DF, 0xBE95}, //3707 #HANGUL SYLLABLE SSANGPIEUP AE THIEUTH
+  {0x95E0, 0xBE96}, //3708 #HANGUL SYLLABLE SSANGPIEUP AE PHIEUPH
+  {0x95E1, 0xBE97}, //3709 #HANGUL SYLLABLE SSANGPIEUP AE HIEUH
+  {0x95E2, 0xBE9A}, //3710 #HANGUL SYLLABLE SSANGPIEUP YA SSANGKIYEOK
+  {0x95E3, 0xBE9B}, //3711 #HANGUL SYLLABLE SSANGPIEUP YA KIYEOKSIOS
+  {0x95E4, 0xBE9C}, //3712 #HANGUL SYLLABLE SSANGPIEUP YA NIEUN
+  {0x95E5, 0xBE9D}, //3713 #HANGUL SYLLABLE SSANGPIEUP YA NIEUNCIEUC
+  {0x95E6, 0xBE9E}, //3714 #HANGUL SYLLABLE SSANGPIEUP YA NIEUNHIEUH
+  {0x95E7, 0xBE9F}, //3715 #HANGUL SYLLABLE SSANGPIEUP YA TIKEUT
+  {0x95E8, 0xBEA0}, //3716 #HANGUL SYLLABLE SSANGPIEUP YA RIEUL
+  {0x95E9, 0xBEA1}, //3717 #HANGUL SYLLABLE SSANGPIEUP YA RIEULKIYEOK
+  {0x95EA, 0xBEA2}, //3718 #HANGUL SYLLABLE SSANGPIEUP YA RIEULMIEUM
+  {0x95EB, 0xBEA3}, //3719 #HANGUL SYLLABLE SSANGPIEUP YA RIEULPIEUP
+  {0x95EC, 0xBEA4}, //3720 #HANGUL SYLLABLE SSANGPIEUP YA RIEULSIOS
+  {0x95ED, 0xBEA5}, //3721 #HANGUL SYLLABLE SSANGPIEUP YA RIEULTHIEUTH
+  {0x95EE, 0xBEA6}, //3722 #HANGUL SYLLABLE SSANGPIEUP YA RIEULPHIEUPH
+  {0x95EF, 0xBEA7}, //3723 #HANGUL SYLLABLE SSANGPIEUP YA RIEULHIEUH
+  {0x95F0, 0xBEA9}, //3724 #HANGUL SYLLABLE SSANGPIEUP YA PIEUP
+  {0x95F1, 0xBEAA}, //3725 #HANGUL SYLLABLE SSANGPIEUP YA PIEUPSIOS
+  {0x95F2, 0xBEAB}, //3726 #HANGUL SYLLABLE SSANGPIEUP YA SIOS
+  {0x95F3, 0xBEAC}, //3727 #HANGUL SYLLABLE SSANGPIEUP YA SSANGSIOS
+  {0x95F4, 0xBEAD}, //3728 #HANGUL SYLLABLE SSANGPIEUP YA IEUNG
+  {0x95F5, 0xBEAE}, //3729 #HANGUL SYLLABLE SSANGPIEUP YA CIEUC
+  {0x95F6, 0xBEAF}, //3730 #HANGUL SYLLABLE SSANGPIEUP YA CHIEUCH
+  {0x95F7, 0xBEB0}, //3731 #HANGUL SYLLABLE SSANGPIEUP YA KHIEUKH
+  {0x95F8, 0xBEB1}, //3732 #HANGUL SYLLABLE SSANGPIEUP YA THIEUTH
+  {0x95F9, 0xBEB2}, //3733 #HANGUL SYLLABLE SSANGPIEUP YA PHIEUPH
+  {0x95FA, 0xBEB3}, //3734 #HANGUL SYLLABLE SSANGPIEUP YA HIEUH
+  {0x95FB, 0xBEB4}, //3735 #HANGUL SYLLABLE SSANGPIEUP YAE
+  {0x95FC, 0xBEB5}, //3736 #HANGUL SYLLABLE SSANGPIEUP YAE KIYEOK
+  {0x95FD, 0xBEB6}, //3737 #HANGUL SYLLABLE SSANGPIEUP YAE SSANGKIYEOK
+  {0x95FE, 0xBEB7}, //3738 #HANGUL SYLLABLE SSANGPIEUP YAE KIYEOKSIOS
+  {0x9641, 0xBEB8}, //3739 #HANGUL SYLLABLE SSANGPIEUP YAE NIEUN
+  {0x9642, 0xBEB9}, //3740 #HANGUL SYLLABLE SSANGPIEUP YAE NIEUNCIEUC
+  {0x9643, 0xBEBA}, //3741 #HANGUL SYLLABLE SSANGPIEUP YAE NIEUNHIEUH
+  {0x9644, 0xBEBB}, //3742 #HANGUL SYLLABLE SSANGPIEUP YAE TIKEUT
+  {0x9645, 0xBEBC}, //3743 #HANGUL SYLLABLE SSANGPIEUP YAE RIEUL
+  {0x9646, 0xBEBD}, //3744 #HANGUL SYLLABLE SSANGPIEUP YAE RIEULKIYEOK
+  {0x9647, 0xBEBE}, //3745 #HANGUL SYLLABLE SSANGPIEUP YAE RIEULMIEUM
+  {0x9648, 0xBEBF}, //3746 #HANGUL SYLLABLE SSANGPIEUP YAE RIEULPIEUP
+  {0x9649, 0xBEC0}, //3747 #HANGUL SYLLABLE SSANGPIEUP YAE RIEULSIOS
+  {0x964A, 0xBEC1}, //3748 #HANGUL SYLLABLE SSANGPIEUP YAE RIEULTHIEUTH
+  {0x964B, 0xBEC2}, //3749 #HANGUL SYLLABLE SSANGPIEUP YAE RIEULPHIEUPH
+  {0x964C, 0xBEC3}, //3750 #HANGUL SYLLABLE SSANGPIEUP YAE RIEULHIEUH
+  {0x964D, 0xBEC4}, //3751 #HANGUL SYLLABLE SSANGPIEUP YAE MIEUM
+  {0x964E, 0xBEC5}, //3752 #HANGUL SYLLABLE SSANGPIEUP YAE PIEUP
+  {0x964F, 0xBEC6}, //3753 #HANGUL SYLLABLE SSANGPIEUP YAE PIEUPSIOS
+  {0x9650, 0xBEC7}, //3754 #HANGUL SYLLABLE SSANGPIEUP YAE SIOS
+  {0x9651, 0xBEC8}, //3755 #HANGUL SYLLABLE SSANGPIEUP YAE SSANGSIOS
+  {0x9652, 0xBEC9}, //3756 #HANGUL SYLLABLE SSANGPIEUP YAE IEUNG
+  {0x9653, 0xBECA}, //3757 #HANGUL SYLLABLE SSANGPIEUP YAE CIEUC
+  {0x9654, 0xBECB}, //3758 #HANGUL SYLLABLE SSANGPIEUP YAE CHIEUCH
+  {0x9655, 0xBECC}, //3759 #HANGUL SYLLABLE SSANGPIEUP YAE KHIEUKH
+  {0x9656, 0xBECD}, //3760 #HANGUL SYLLABLE SSANGPIEUP YAE THIEUTH
+  {0x9657, 0xBECE}, //3761 #HANGUL SYLLABLE SSANGPIEUP YAE PHIEUPH
+  {0x9658, 0xBECF}, //3762 #HANGUL SYLLABLE SSANGPIEUP YAE HIEUH
+  {0x9659, 0xBED2}, //3763 #HANGUL SYLLABLE SSANGPIEUP EO SSANGKIYEOK
+  {0x965A, 0xBED3}, //3764 #HANGUL SYLLABLE SSANGPIEUP EO KIYEOKSIOS
+  {0x9661, 0xBED5}, //3765 #HANGUL SYLLABLE SSANGPIEUP EO NIEUNCIEUC
+  {0x9662, 0xBED6}, //3766 #HANGUL SYLLABLE SSANGPIEUP EO NIEUNHIEUH
+  {0x9663, 0xBED9}, //3767 #HANGUL SYLLABLE SSANGPIEUP EO RIEULKIYEOK
+  {0x9664, 0xBEDA}, //3768 #HANGUL SYLLABLE SSANGPIEUP EO RIEULMIEUM
+  {0x9665, 0xBEDB}, //3769 #HANGUL SYLLABLE SSANGPIEUP EO RIEULPIEUP
+  {0x9666, 0xBEDC}, //3770 #HANGUL SYLLABLE SSANGPIEUP EO RIEULSIOS
+  {0x9667, 0xBEDD}, //3771 #HANGUL SYLLABLE SSANGPIEUP EO RIEULTHIEUTH
+  {0x9668, 0xBEDE}, //3772 #HANGUL SYLLABLE SSANGPIEUP EO RIEULPHIEUPH
+  {0x9669, 0xBEDF}, //3773 #HANGUL SYLLABLE SSANGPIEUP EO RIEULHIEUH
+  {0x966A, 0xBEE1}, //3774 #HANGUL SYLLABLE SSANGPIEUP EO PIEUP
+  {0x966B, 0xBEE2}, //3775 #HANGUL SYLLABLE SSANGPIEUP EO PIEUPSIOS
+  {0x966C, 0xBEE6}, //3776 #HANGUL SYLLABLE SSANGPIEUP EO CIEUC
+  {0x966D, 0xBEE7}, //3777 #HANGUL SYLLABLE SSANGPIEUP EO CHIEUCH
+  {0x966E, 0xBEE8}, //3778 #HANGUL SYLLABLE SSANGPIEUP EO KHIEUKH
+  {0x966F, 0xBEE9}, //3779 #HANGUL SYLLABLE SSANGPIEUP EO THIEUTH
+  {0x9670, 0xBEEA}, //3780 #HANGUL SYLLABLE SSANGPIEUP EO PHIEUPH
+  {0x9671, 0xBEEB}, //3781 #HANGUL SYLLABLE SSANGPIEUP EO HIEUH
+  {0x9672, 0xBEED}, //3782 #HANGUL SYLLABLE SSANGPIEUP E KIYEOK
+  {0x9673, 0xBEEE}, //3783 #HANGUL SYLLABLE SSANGPIEUP E SSANGKIYEOK
+  {0x9674, 0xBEEF}, //3784 #HANGUL SYLLABLE SSANGPIEUP E KIYEOKSIOS
+  {0x9675, 0xBEF0}, //3785 #HANGUL SYLLABLE SSANGPIEUP E NIEUN
+  {0x9676, 0xBEF1}, //3786 #HANGUL SYLLABLE SSANGPIEUP E NIEUNCIEUC
+  {0x9677, 0xBEF2}, //3787 #HANGUL SYLLABLE SSANGPIEUP E NIEUNHIEUH
+  {0x9678, 0xBEF3}, //3788 #HANGUL SYLLABLE SSANGPIEUP E TIKEUT
+  {0x9679, 0xBEF4}, //3789 #HANGUL SYLLABLE SSANGPIEUP E RIEUL
+  {0x967A, 0xBEF5}, //3790 #HANGUL SYLLABLE SSANGPIEUP E RIEULKIYEOK
+  {0x9681, 0xBEF6}, //3791 #HANGUL SYLLABLE SSANGPIEUP E RIEULMIEUM
+  {0x9682, 0xBEF7}, //3792 #HANGUL SYLLABLE SSANGPIEUP E RIEULPIEUP
+  {0x9683, 0xBEF8}, //3793 #HANGUL SYLLABLE SSANGPIEUP E RIEULSIOS
+  {0x9684, 0xBEF9}, //3794 #HANGUL SYLLABLE SSANGPIEUP E RIEULTHIEUTH
+  {0x9685, 0xBEFA}, //3795 #HANGUL SYLLABLE SSANGPIEUP E RIEULPHIEUPH
+  {0x9686, 0xBEFB}, //3796 #HANGUL SYLLABLE SSANGPIEUP E RIEULHIEUH
+  {0x9687, 0xBEFC}, //3797 #HANGUL SYLLABLE SSANGPIEUP E MIEUM
+  {0x9688, 0xBEFD}, //3798 #HANGUL SYLLABLE SSANGPIEUP E PIEUP
+  {0x9689, 0xBEFE}, //3799 #HANGUL SYLLABLE SSANGPIEUP E PIEUPSIOS
+  {0x968A, 0xBEFF}, //3800 #HANGUL SYLLABLE SSANGPIEUP E SIOS
+  {0x968B, 0xBF00}, //3801 #HANGUL SYLLABLE SSANGPIEUP E SSANGSIOS
+  {0x968C, 0xBF02}, //3802 #HANGUL SYLLABLE SSANGPIEUP E CIEUC
+  {0x968D, 0xBF03}, //3803 #HANGUL SYLLABLE SSANGPIEUP E CHIEUCH
+  {0x968E, 0xBF04}, //3804 #HANGUL SYLLABLE SSANGPIEUP E KHIEUKH
+  {0x968F, 0xBF05}, //3805 #HANGUL SYLLABLE SSANGPIEUP E THIEUTH
+  {0x9690, 0xBF06}, //3806 #HANGUL SYLLABLE SSANGPIEUP E PHIEUPH
+  {0x9691, 0xBF07}, //3807 #HANGUL SYLLABLE SSANGPIEUP E HIEUH
+  {0x9692, 0xBF0A}, //3808 #HANGUL SYLLABLE SSANGPIEUP YEO SSANGKIYEOK
+  {0x9693, 0xBF0B}, //3809 #HANGUL SYLLABLE SSANGPIEUP YEO KIYEOKSIOS
+  {0x9694, 0xBF0C}, //3810 #HANGUL SYLLABLE SSANGPIEUP YEO NIEUN
+  {0x9695, 0xBF0D}, //3811 #HANGUL SYLLABLE SSANGPIEUP YEO NIEUNCIEUC
+  {0x9696, 0xBF0E}, //3812 #HANGUL SYLLABLE SSANGPIEUP YEO NIEUNHIEUH
+  {0x9697, 0xBF0F}, //3813 #HANGUL SYLLABLE SSANGPIEUP YEO TIKEUT
+  {0x9698, 0xBF10}, //3814 #HANGUL SYLLABLE SSANGPIEUP YEO RIEUL
+  {0x9699, 0xBF11}, //3815 #HANGUL SYLLABLE SSANGPIEUP YEO RIEULKIYEOK
+  {0x969A, 0xBF12}, //3816 #HANGUL SYLLABLE SSANGPIEUP YEO RIEULMIEUM
+  {0x969B, 0xBF13}, //3817 #HANGUL SYLLABLE SSANGPIEUP YEO RIEULPIEUP
+  {0x969C, 0xBF14}, //3818 #HANGUL SYLLABLE SSANGPIEUP YEO RIEULSIOS
+  {0x969D, 0xBF15}, //3819 #HANGUL SYLLABLE SSANGPIEUP YEO RIEULTHIEUTH
+  {0x969E, 0xBF16}, //3820 #HANGUL SYLLABLE SSANGPIEUP YEO RIEULPHIEUPH
+  {0x969F, 0xBF17}, //3821 #HANGUL SYLLABLE SSANGPIEUP YEO RIEULHIEUH
+  {0x96A0, 0xBF1A}, //3822 #HANGUL SYLLABLE SSANGPIEUP YEO PIEUPSIOS
+  {0x96A1, 0xBF1E}, //3823 #HANGUL SYLLABLE SSANGPIEUP YEO CIEUC
+  {0x96A2, 0xBF1F}, //3824 #HANGUL SYLLABLE SSANGPIEUP YEO CHIEUCH
+  {0x96A3, 0xBF20}, //3825 #HANGUL SYLLABLE SSANGPIEUP YEO KHIEUKH
+  {0x96A4, 0xBF21}, //3826 #HANGUL SYLLABLE SSANGPIEUP YEO THIEUTH
+  {0x96A5, 0xBF22}, //3827 #HANGUL SYLLABLE SSANGPIEUP YEO PHIEUPH
+  {0x96A6, 0xBF23}, //3828 #HANGUL SYLLABLE SSANGPIEUP YEO HIEUH
+  {0x96A7, 0xBF24}, //3829 #HANGUL SYLLABLE SSANGPIEUP YE
+  {0x96A8, 0xBF25}, //3830 #HANGUL SYLLABLE SSANGPIEUP YE KIYEOK
+  {0x96A9, 0xBF26}, //3831 #HANGUL SYLLABLE SSANGPIEUP YE SSANGKIYEOK
+  {0x96AA, 0xBF27}, //3832 #HANGUL SYLLABLE SSANGPIEUP YE KIYEOKSIOS
+  {0x96AB, 0xBF28}, //3833 #HANGUL SYLLABLE SSANGPIEUP YE NIEUN
+  {0x96AC, 0xBF29}, //3834 #HANGUL SYLLABLE SSANGPIEUP YE NIEUNCIEUC
+  {0x96AD, 0xBF2A}, //3835 #HANGUL SYLLABLE SSANGPIEUP YE NIEUNHIEUH
+  {0x96AE, 0xBF2B}, //3836 #HANGUL SYLLABLE SSANGPIEUP YE TIKEUT
+  {0x96AF, 0xBF2C}, //3837 #HANGUL SYLLABLE SSANGPIEUP YE RIEUL
+  {0x96B0, 0xBF2D}, //3838 #HANGUL SYLLABLE SSANGPIEUP YE RIEULKIYEOK
+  {0x96B1, 0xBF2E}, //3839 #HANGUL SYLLABLE SSANGPIEUP YE RIEULMIEUM
+  {0x96B2, 0xBF2F}, //3840 #HANGUL SYLLABLE SSANGPIEUP YE RIEULPIEUP
+  {0x96B3, 0xBF30}, //3841 #HANGUL SYLLABLE SSANGPIEUP YE RIEULSIOS
+  {0x96B4, 0xBF31}, //3842 #HANGUL SYLLABLE SSANGPIEUP YE RIEULTHIEUTH
+  {0x96B5, 0xBF32}, //3843 #HANGUL SYLLABLE SSANGPIEUP YE RIEULPHIEUPH
+  {0x96B6, 0xBF33}, //3844 #HANGUL SYLLABLE SSANGPIEUP YE RIEULHIEUH
+  {0x96B7, 0xBF34}, //3845 #HANGUL SYLLABLE SSANGPIEUP YE MIEUM
+  {0x96B8, 0xBF35}, //3846 #HANGUL SYLLABLE SSANGPIEUP YE PIEUP
+  {0x96B9, 0xBF36}, //3847 #HANGUL SYLLABLE SSANGPIEUP YE PIEUPSIOS
+  {0x96BA, 0xBF37}, //3848 #HANGUL SYLLABLE SSANGPIEUP YE SIOS
+  {0x96BB, 0xBF38}, //3849 #HANGUL SYLLABLE SSANGPIEUP YE SSANGSIOS
+  {0x96BC, 0xBF39}, //3850 #HANGUL SYLLABLE SSANGPIEUP YE IEUNG
+  {0x96BD, 0xBF3A}, //3851 #HANGUL SYLLABLE SSANGPIEUP YE CIEUC
+  {0x96BE, 0xBF3B}, //3852 #HANGUL SYLLABLE SSANGPIEUP YE CHIEUCH
+  {0x96BF, 0xBF3C}, //3853 #HANGUL SYLLABLE SSANGPIEUP YE KHIEUKH
+  {0x96C0, 0xBF3D}, //3854 #HANGUL SYLLABLE SSANGPIEUP YE THIEUTH
+  {0x96C1, 0xBF3E}, //3855 #HANGUL SYLLABLE SSANGPIEUP YE PHIEUPH
+  {0x96C2, 0xBF3F}, //3856 #HANGUL SYLLABLE SSANGPIEUP YE HIEUH
+  {0x96C3, 0xBF42}, //3857 #HANGUL SYLLABLE SSANGPIEUP O SSANGKIYEOK
+  {0x96C4, 0xBF43}, //3858 #HANGUL SYLLABLE SSANGPIEUP O KIYEOKSIOS
+  {0x96C5, 0xBF45}, //3859 #HANGUL SYLLABLE SSANGPIEUP O NIEUNCIEUC
+  {0x96C6, 0xBF46}, //3860 #HANGUL SYLLABLE SSANGPIEUP O NIEUNHIEUH
+  {0x96C7, 0xBF47}, //3861 #HANGUL SYLLABLE SSANGPIEUP O TIKEUT
+  {0x96C8, 0xBF49}, //3862 #HANGUL SYLLABLE SSANGPIEUP O RIEULKIYEOK
+  {0x96C9, 0xBF4A}, //3863 #HANGUL SYLLABLE SSANGPIEUP O RIEULMIEUM
+  {0x96CA, 0xBF4B}, //3864 #HANGUL SYLLABLE SSANGPIEUP O RIEULPIEUP
+  {0x96CB, 0xBF4C}, //3865 #HANGUL SYLLABLE SSANGPIEUP O RIEULSIOS
+  {0x96CC, 0xBF4D}, //3866 #HANGUL SYLLABLE SSANGPIEUP O RIEULTHIEUTH
+  {0x96CD, 0xBF4E}, //3867 #HANGUL SYLLABLE SSANGPIEUP O RIEULPHIEUPH
+  {0x96CE, 0xBF4F}, //3868 #HANGUL SYLLABLE SSANGPIEUP O RIEULHIEUH
+  {0x96CF, 0xBF52}, //3869 #HANGUL SYLLABLE SSANGPIEUP O PIEUPSIOS
+  {0x96D0, 0xBF53}, //3870 #HANGUL SYLLABLE SSANGPIEUP O SIOS
+  {0x96D1, 0xBF54}, //3871 #HANGUL SYLLABLE SSANGPIEUP O SSANGSIOS
+  {0x96D2, 0xBF56}, //3872 #HANGUL SYLLABLE SSANGPIEUP O CIEUC
+  {0x96D3, 0xBF57}, //3873 #HANGUL SYLLABLE SSANGPIEUP O CHIEUCH
+  {0x96D4, 0xBF58}, //3874 #HANGUL SYLLABLE SSANGPIEUP O KHIEUKH
+  {0x96D5, 0xBF59}, //3875 #HANGUL SYLLABLE SSANGPIEUP O THIEUTH
+  {0x96D6, 0xBF5A}, //3876 #HANGUL SYLLABLE SSANGPIEUP O PHIEUPH
+  {0x96D7, 0xBF5B}, //3877 #HANGUL SYLLABLE SSANGPIEUP O HIEUH
+  {0x96D8, 0xBF5C}, //3878 #HANGUL SYLLABLE SSANGPIEUP WA
+  {0x96D9, 0xBF5D}, //3879 #HANGUL SYLLABLE SSANGPIEUP WA KIYEOK
+  {0x96DA, 0xBF5E}, //3880 #HANGUL SYLLABLE SSANGPIEUP WA SSANGKIYEOK
+  {0x96DB, 0xBF5F}, //3881 #HANGUL SYLLABLE SSANGPIEUP WA KIYEOKSIOS
+  {0x96DC, 0xBF60}, //3882 #HANGUL SYLLABLE SSANGPIEUP WA NIEUN
+  {0x96DD, 0xBF61}, //3883 #HANGUL SYLLABLE SSANGPIEUP WA NIEUNCIEUC
+  {0x96DE, 0xBF62}, //3884 #HANGUL SYLLABLE SSANGPIEUP WA NIEUNHIEUH
+  {0x96DF, 0xBF63}, //3885 #HANGUL SYLLABLE SSANGPIEUP WA TIKEUT
+  {0x96E0, 0xBF64}, //3886 #HANGUL SYLLABLE SSANGPIEUP WA RIEUL
+  {0x96E1, 0xBF65}, //3887 #HANGUL SYLLABLE SSANGPIEUP WA RIEULKIYEOK
+  {0x96E2, 0xBF66}, //3888 #HANGUL SYLLABLE SSANGPIEUP WA RIEULMIEUM
+  {0x96E3, 0xBF67}, //3889 #HANGUL SYLLABLE SSANGPIEUP WA RIEULPIEUP
+  {0x96E4, 0xBF68}, //3890 #HANGUL SYLLABLE SSANGPIEUP WA RIEULSIOS
+  {0x96E5, 0xBF69}, //3891 #HANGUL SYLLABLE SSANGPIEUP WA RIEULTHIEUTH
+  {0x96E6, 0xBF6A}, //3892 #HANGUL SYLLABLE SSANGPIEUP WA RIEULPHIEUPH
+  {0x96E7, 0xBF6B}, //3893 #HANGUL SYLLABLE SSANGPIEUP WA RIEULHIEUH
+  {0x96E8, 0xBF6C}, //3894 #HANGUL SYLLABLE SSANGPIEUP WA MIEUM
+  {0x96E9, 0xBF6D}, //3895 #HANGUL SYLLABLE SSANGPIEUP WA PIEUP
+  {0x96EA, 0xBF6E}, //3896 #HANGUL SYLLABLE SSANGPIEUP WA PIEUPSIOS
+  {0x96EB, 0xBF6F}, //3897 #HANGUL SYLLABLE SSANGPIEUP WA SIOS
+  {0x96EC, 0xBF70}, //3898 #HANGUL SYLLABLE SSANGPIEUP WA SSANGSIOS
+  {0x96ED, 0xBF71}, //3899 #HANGUL SYLLABLE SSANGPIEUP WA IEUNG
+  {0x96EE, 0xBF72}, //3900 #HANGUL SYLLABLE SSANGPIEUP WA CIEUC
+  {0x96EF, 0xBF73}, //3901 #HANGUL SYLLABLE SSANGPIEUP WA CHIEUCH
+  {0x96F0, 0xBF74}, //3902 #HANGUL SYLLABLE SSANGPIEUP WA KHIEUKH
+  {0x96F1, 0xBF75}, //3903 #HANGUL SYLLABLE SSANGPIEUP WA THIEUTH
+  {0x96F2, 0xBF76}, //3904 #HANGUL SYLLABLE SSANGPIEUP WA PHIEUPH
+  {0x96F3, 0xBF77}, //3905 #HANGUL SYLLABLE SSANGPIEUP WA HIEUH
+  {0x96F4, 0xBF78}, //3906 #HANGUL SYLLABLE SSANGPIEUP WAE
+  {0x96F5, 0xBF79}, //3907 #HANGUL SYLLABLE SSANGPIEUP WAE KIYEOK
+  {0x96F6, 0xBF7A}, //3908 #HANGUL SYLLABLE SSANGPIEUP WAE SSANGKIYEOK
+  {0x96F7, 0xBF7B}, //3909 #HANGUL SYLLABLE SSANGPIEUP WAE KIYEOKSIOS
+  {0x96F8, 0xBF7C}, //3910 #HANGUL SYLLABLE SSANGPIEUP WAE NIEUN
+  {0x96F9, 0xBF7D}, //3911 #HANGUL SYLLABLE SSANGPIEUP WAE NIEUNCIEUC
+  {0x96FA, 0xBF7E}, //3912 #HANGUL SYLLABLE SSANGPIEUP WAE NIEUNHIEUH
+  {0x96FB, 0xBF7F}, //3913 #HANGUL SYLLABLE SSANGPIEUP WAE TIKEUT
+  {0x96FC, 0xBF80}, //3914 #HANGUL SYLLABLE SSANGPIEUP WAE RIEUL
+  {0x96FD, 0xBF81}, //3915 #HANGUL SYLLABLE SSANGPIEUP WAE RIEULKIYEOK
+  {0x96FE, 0xBF82}, //3916 #HANGUL SYLLABLE SSANGPIEUP WAE RIEULMIEUM
+  {0x9741, 0xBF83}, //3917 #HANGUL SYLLABLE SSANGPIEUP WAE RIEULPIEUP
+  {0x9742, 0xBF84}, //3918 #HANGUL SYLLABLE SSANGPIEUP WAE RIEULSIOS
+  {0x9743, 0xBF85}, //3919 #HANGUL SYLLABLE SSANGPIEUP WAE RIEULTHIEUTH
+  {0x9744, 0xBF86}, //3920 #HANGUL SYLLABLE SSANGPIEUP WAE RIEULPHIEUPH
+  {0x9745, 0xBF87}, //3921 #HANGUL SYLLABLE SSANGPIEUP WAE RIEULHIEUH
+  {0x9746, 0xBF88}, //3922 #HANGUL SYLLABLE SSANGPIEUP WAE MIEUM
+  {0x9747, 0xBF89}, //3923 #HANGUL SYLLABLE SSANGPIEUP WAE PIEUP
+  {0x9748, 0xBF8A}, //3924 #HANGUL SYLLABLE SSANGPIEUP WAE PIEUPSIOS
+  {0x9749, 0xBF8B}, //3925 #HANGUL SYLLABLE SSANGPIEUP WAE SIOS
+  {0x974A, 0xBF8C}, //3926 #HANGUL SYLLABLE SSANGPIEUP WAE SSANGSIOS
+  {0x974B, 0xBF8D}, //3927 #HANGUL SYLLABLE SSANGPIEUP WAE IEUNG
+  {0x974C, 0xBF8E}, //3928 #HANGUL SYLLABLE SSANGPIEUP WAE CIEUC
+  {0x974D, 0xBF8F}, //3929 #HANGUL SYLLABLE SSANGPIEUP WAE CHIEUCH
+  {0x974E, 0xBF90}, //3930 #HANGUL SYLLABLE SSANGPIEUP WAE KHIEUKH
+  {0x974F, 0xBF91}, //3931 #HANGUL SYLLABLE SSANGPIEUP WAE THIEUTH
+  {0x9750, 0xBF92}, //3932 #HANGUL SYLLABLE SSANGPIEUP WAE PHIEUPH
+  {0x9751, 0xBF93}, //3933 #HANGUL SYLLABLE SSANGPIEUP WAE HIEUH
+  {0x9752, 0xBF95}, //3934 #HANGUL SYLLABLE SSANGPIEUP OE KIYEOK
+  {0x9753, 0xBF96}, //3935 #HANGUL SYLLABLE SSANGPIEUP OE SSANGKIYEOK
+  {0x9754, 0xBF97}, //3936 #HANGUL SYLLABLE SSANGPIEUP OE KIYEOKSIOS
+  {0x9755, 0xBF98}, //3937 #HANGUL SYLLABLE SSANGPIEUP OE NIEUN
+  {0x9756, 0xBF99}, //3938 #HANGUL SYLLABLE SSANGPIEUP OE NIEUNCIEUC
+  {0x9757, 0xBF9A}, //3939 #HANGUL SYLLABLE SSANGPIEUP OE NIEUNHIEUH
+  {0x9758, 0xBF9B}, //3940 #HANGUL SYLLABLE SSANGPIEUP OE TIKEUT
+  {0x9759, 0xBF9C}, //3941 #HANGUL SYLLABLE SSANGPIEUP OE RIEUL
+  {0x975A, 0xBF9D}, //3942 #HANGUL SYLLABLE SSANGPIEUP OE RIEULKIYEOK
+  {0x9761, 0xBF9E}, //3943 #HANGUL SYLLABLE SSANGPIEUP OE RIEULMIEUM
+  {0x9762, 0xBF9F}, //3944 #HANGUL SYLLABLE SSANGPIEUP OE RIEULPIEUP
+  {0x9763, 0xBFA0}, //3945 #HANGUL SYLLABLE SSANGPIEUP OE RIEULSIOS
+  {0x9764, 0xBFA1}, //3946 #HANGUL SYLLABLE SSANGPIEUP OE RIEULTHIEUTH
+  {0x9765, 0xBFA2}, //3947 #HANGUL SYLLABLE SSANGPIEUP OE RIEULPHIEUPH
+  {0x9766, 0xBFA3}, //3948 #HANGUL SYLLABLE SSANGPIEUP OE RIEULHIEUH
+  {0x9767, 0xBFA4}, //3949 #HANGUL SYLLABLE SSANGPIEUP OE MIEUM
+  {0x9768, 0xBFA5}, //3950 #HANGUL SYLLABLE SSANGPIEUP OE PIEUP
+  {0x9769, 0xBFA6}, //3951 #HANGUL SYLLABLE SSANGPIEUP OE PIEUPSIOS
+  {0x976A, 0xBFA7}, //3952 #HANGUL SYLLABLE SSANGPIEUP OE SIOS
+  {0x976B, 0xBFA8}, //3953 #HANGUL SYLLABLE SSANGPIEUP OE SSANGSIOS
+  {0x976C, 0xBFA9}, //3954 #HANGUL SYLLABLE SSANGPIEUP OE IEUNG
+  {0x976D, 0xBFAA}, //3955 #HANGUL SYLLABLE SSANGPIEUP OE CIEUC
+  {0x976E, 0xBFAB}, //3956 #HANGUL SYLLABLE SSANGPIEUP OE CHIEUCH
+  {0x976F, 0xBFAC}, //3957 #HANGUL SYLLABLE SSANGPIEUP OE KHIEUKH
+  {0x9770, 0xBFAD}, //3958 #HANGUL SYLLABLE SSANGPIEUP OE THIEUTH
+  {0x9771, 0xBFAE}, //3959 #HANGUL SYLLABLE SSANGPIEUP OE PHIEUPH
+  {0x9772, 0xBFAF}, //3960 #HANGUL SYLLABLE SSANGPIEUP OE HIEUH
+  {0x9773, 0xBFB1}, //3961 #HANGUL SYLLABLE SSANGPIEUP YO KIYEOK
+  {0x9774, 0xBFB2}, //3962 #HANGUL SYLLABLE SSANGPIEUP YO SSANGKIYEOK
+  {0x9775, 0xBFB3}, //3963 #HANGUL SYLLABLE SSANGPIEUP YO KIYEOKSIOS
+  {0x9776, 0xBFB4}, //3964 #HANGUL SYLLABLE SSANGPIEUP YO NIEUN
+  {0x9777, 0xBFB5}, //3965 #HANGUL SYLLABLE SSANGPIEUP YO NIEUNCIEUC
+  {0x9778, 0xBFB6}, //3966 #HANGUL SYLLABLE SSANGPIEUP YO NIEUNHIEUH
+  {0x9779, 0xBFB7}, //3967 #HANGUL SYLLABLE SSANGPIEUP YO TIKEUT
+  {0x977A, 0xBFB8}, //3968 #HANGUL SYLLABLE SSANGPIEUP YO RIEUL
+  {0x9781, 0xBFB9}, //3969 #HANGUL SYLLABLE SSANGPIEUP YO RIEULKIYEOK
+  {0x9782, 0xBFBA}, //3970 #HANGUL SYLLABLE SSANGPIEUP YO RIEULMIEUM
+  {0x9783, 0xBFBB}, //3971 #HANGUL SYLLABLE SSANGPIEUP YO RIEULPIEUP
+  {0x9784, 0xBFBC}, //3972 #HANGUL SYLLABLE SSANGPIEUP YO RIEULSIOS
+  {0x9785, 0xBFBD}, //3973 #HANGUL SYLLABLE SSANGPIEUP YO RIEULTHIEUTH
+  {0x9786, 0xBFBE}, //3974 #HANGUL SYLLABLE SSANGPIEUP YO RIEULPHIEUPH
+  {0x9787, 0xBFBF}, //3975 #HANGUL SYLLABLE SSANGPIEUP YO RIEULHIEUH
+  {0x9788, 0xBFC0}, //3976 #HANGUL SYLLABLE SSANGPIEUP YO MIEUM
+  {0x9789, 0xBFC1}, //3977 #HANGUL SYLLABLE SSANGPIEUP YO PIEUP
+  {0x978A, 0xBFC2}, //3978 #HANGUL SYLLABLE SSANGPIEUP YO PIEUPSIOS
+  {0x978B, 0xBFC3}, //3979 #HANGUL SYLLABLE SSANGPIEUP YO SIOS
+  {0x978C, 0xBFC4}, //3980 #HANGUL SYLLABLE SSANGPIEUP YO SSANGSIOS
+  {0x978D, 0xBFC6}, //3981 #HANGUL SYLLABLE SSANGPIEUP YO CIEUC
+  {0x978E, 0xBFC7}, //3982 #HANGUL SYLLABLE SSANGPIEUP YO CHIEUCH
+  {0x978F, 0xBFC8}, //3983 #HANGUL SYLLABLE SSANGPIEUP YO KHIEUKH
+  {0x9790, 0xBFC9}, //3984 #HANGUL SYLLABLE SSANGPIEUP YO THIEUTH
+  {0x9791, 0xBFCA}, //3985 #HANGUL SYLLABLE SSANGPIEUP YO PHIEUPH
+  {0x9792, 0xBFCB}, //3986 #HANGUL SYLLABLE SSANGPIEUP YO HIEUH
+  {0x9793, 0xBFCE}, //3987 #HANGUL SYLLABLE SSANGPIEUP U SSANGKIYEOK
+  {0x9794, 0xBFCF}, //3988 #HANGUL SYLLABLE SSANGPIEUP U KIYEOKSIOS
+  {0x9795, 0xBFD1}, //3989 #HANGUL SYLLABLE SSANGPIEUP U NIEUNCIEUC
+  {0x9796, 0xBFD2}, //3990 #HANGUL SYLLABLE SSANGPIEUP U NIEUNHIEUH
+  {0x9797, 0xBFD3}, //3991 #HANGUL SYLLABLE SSANGPIEUP U TIKEUT
+  {0x9798, 0xBFD5}, //3992 #HANGUL SYLLABLE SSANGPIEUP U RIEULKIYEOK
+  {0x9799, 0xBFD6}, //3993 #HANGUL SYLLABLE SSANGPIEUP U RIEULMIEUM
+  {0x979A, 0xBFD7}, //3994 #HANGUL SYLLABLE SSANGPIEUP U RIEULPIEUP
+  {0x979B, 0xBFD8}, //3995 #HANGUL SYLLABLE SSANGPIEUP U RIEULSIOS
+  {0x979C, 0xBFD9}, //3996 #HANGUL SYLLABLE SSANGPIEUP U RIEULTHIEUTH
+  {0x979D, 0xBFDA}, //3997 #HANGUL SYLLABLE SSANGPIEUP U RIEULPHIEUPH
+  {0x979E, 0xBFDB}, //3998 #HANGUL SYLLABLE SSANGPIEUP U RIEULHIEUH
+  {0x979F, 0xBFDD}, //3999 #HANGUL SYLLABLE SSANGPIEUP U PIEUP
+  {0x97A0, 0xBFDE}, //4000 #HANGUL SYLLABLE SSANGPIEUP U PIEUPSIOS
+  {0x97A1, 0xBFE0}, //4001 #HANGUL SYLLABLE SSANGPIEUP U SSANGSIOS
+  {0x97A2, 0xBFE2}, //4002 #HANGUL SYLLABLE SSANGPIEUP U CIEUC
+  {0x97A3, 0xBFE3}, //4003 #HANGUL SYLLABLE SSANGPIEUP U CHIEUCH
+  {0x97A4, 0xBFE4}, //4004 #HANGUL SYLLABLE SSANGPIEUP U KHIEUKH
+  {0x97A5, 0xBFE5}, //4005 #HANGUL SYLLABLE SSANGPIEUP U THIEUTH
+  {0x97A6, 0xBFE6}, //4006 #HANGUL SYLLABLE SSANGPIEUP U PHIEUPH
+  {0x97A7, 0xBFE7}, //4007 #HANGUL SYLLABLE SSANGPIEUP U HIEUH
+  {0x97A8, 0xBFE8}, //4008 #HANGUL SYLLABLE SSANGPIEUP WEO
+  {0x97A9, 0xBFE9}, //4009 #HANGUL SYLLABLE SSANGPIEUP WEO KIYEOK
+  {0x97AA, 0xBFEA}, //4010 #HANGUL SYLLABLE SSANGPIEUP WEO SSANGKIYEOK
+  {0x97AB, 0xBFEB}, //4011 #HANGUL SYLLABLE SSANGPIEUP WEO KIYEOKSIOS
+  {0x97AC, 0xBFEC}, //4012 #HANGUL SYLLABLE SSANGPIEUP WEO NIEUN
+  {0x97AD, 0xBFED}, //4013 #HANGUL SYLLABLE SSANGPIEUP WEO NIEUNCIEUC
+  {0x97AE, 0xBFEE}, //4014 #HANGUL SYLLABLE SSANGPIEUP WEO NIEUNHIEUH
+  {0x97AF, 0xBFEF}, //4015 #HANGUL SYLLABLE SSANGPIEUP WEO TIKEUT
+  {0x97B0, 0xBFF0}, //4016 #HANGUL SYLLABLE SSANGPIEUP WEO RIEUL
+  {0x97B1, 0xBFF1}, //4017 #HANGUL SYLLABLE SSANGPIEUP WEO RIEULKIYEOK
+  {0x97B2, 0xBFF2}, //4018 #HANGUL SYLLABLE SSANGPIEUP WEO RIEULMIEUM
+  {0x97B3, 0xBFF3}, //4019 #HANGUL SYLLABLE SSANGPIEUP WEO RIEULPIEUP
+  {0x97B4, 0xBFF4}, //4020 #HANGUL SYLLABLE SSANGPIEUP WEO RIEULSIOS
+  {0x97B5, 0xBFF5}, //4021 #HANGUL SYLLABLE SSANGPIEUP WEO RIEULTHIEUTH
+  {0x97B6, 0xBFF6}, //4022 #HANGUL SYLLABLE SSANGPIEUP WEO RIEULPHIEUPH
+  {0x97B7, 0xBFF7}, //4023 #HANGUL SYLLABLE SSANGPIEUP WEO RIEULHIEUH
+  {0x97B8, 0xBFF8}, //4024 #HANGUL SYLLABLE SSANGPIEUP WEO MIEUM
+  {0x97B9, 0xBFF9}, //4025 #HANGUL SYLLABLE SSANGPIEUP WEO PIEUP
+  {0x97BA, 0xBFFA}, //4026 #HANGUL SYLLABLE SSANGPIEUP WEO PIEUPSIOS
+  {0x97BB, 0xBFFB}, //4027 #HANGUL SYLLABLE SSANGPIEUP WEO SIOS
+  {0x97BC, 0xBFFC}, //4028 #HANGUL SYLLABLE SSANGPIEUP WEO SSANGSIOS
+  {0x97BD, 0xBFFD}, //4029 #HANGUL SYLLABLE SSANGPIEUP WEO IEUNG
+  {0x97BE, 0xBFFE}, //4030 #HANGUL SYLLABLE SSANGPIEUP WEO CIEUC
+  {0x97BF, 0xBFFF}, //4031 #HANGUL SYLLABLE SSANGPIEUP WEO CHIEUCH
+  {0x97C0, 0xC000}, //4032 #HANGUL SYLLABLE SSANGPIEUP WEO KHIEUKH
+  {0x97C1, 0xC001}, //4033 #HANGUL SYLLABLE SSANGPIEUP WEO THIEUTH
+  {0x97C2, 0xC002}, //4034 #HANGUL SYLLABLE SSANGPIEUP WEO PHIEUPH
+  {0x97C3, 0xC003}, //4035 #HANGUL SYLLABLE SSANGPIEUP WEO HIEUH
+  {0x97C4, 0xC004}, //4036 #HANGUL SYLLABLE SSANGPIEUP WE
+  {0x97C5, 0xC005}, //4037 #HANGUL SYLLABLE SSANGPIEUP WE KIYEOK
+  {0x97C6, 0xC006}, //4038 #HANGUL SYLLABLE SSANGPIEUP WE SSANGKIYEOK
+  {0x97C7, 0xC007}, //4039 #HANGUL SYLLABLE SSANGPIEUP WE KIYEOKSIOS
+  {0x97C8, 0xC008}, //4040 #HANGUL SYLLABLE SSANGPIEUP WE NIEUN
+  {0x97C9, 0xC009}, //4041 #HANGUL SYLLABLE SSANGPIEUP WE NIEUNCIEUC
+  {0x97CA, 0xC00A}, //4042 #HANGUL SYLLABLE SSANGPIEUP WE NIEUNHIEUH
+  {0x97CB, 0xC00B}, //4043 #HANGUL SYLLABLE SSANGPIEUP WE TIKEUT
+  {0x97CC, 0xC00C}, //4044 #HANGUL SYLLABLE SSANGPIEUP WE RIEUL
+  {0x97CD, 0xC00D}, //4045 #HANGUL SYLLABLE SSANGPIEUP WE RIEULKIYEOK
+  {0x97CE, 0xC00E}, //4046 #HANGUL SYLLABLE SSANGPIEUP WE RIEULMIEUM
+  {0x97CF, 0xC00F}, //4047 #HANGUL SYLLABLE SSANGPIEUP WE RIEULPIEUP
+  {0x97D0, 0xC010}, //4048 #HANGUL SYLLABLE SSANGPIEUP WE RIEULSIOS
+  {0x97D1, 0xC011}, //4049 #HANGUL SYLLABLE SSANGPIEUP WE RIEULTHIEUTH
+  {0x97D2, 0xC012}, //4050 #HANGUL SYLLABLE SSANGPIEUP WE RIEULPHIEUPH
+  {0x97D3, 0xC013}, //4051 #HANGUL SYLLABLE SSANGPIEUP WE RIEULHIEUH
+  {0x97D4, 0xC014}, //4052 #HANGUL SYLLABLE SSANGPIEUP WE MIEUM
+  {0x97D5, 0xC015}, //4053 #HANGUL SYLLABLE SSANGPIEUP WE PIEUP
+  {0x97D6, 0xC016}, //4054 #HANGUL SYLLABLE SSANGPIEUP WE PIEUPSIOS
+  {0x97D7, 0xC017}, //4055 #HANGUL SYLLABLE SSANGPIEUP WE SIOS
+  {0x97D8, 0xC018}, //4056 #HANGUL SYLLABLE SSANGPIEUP WE SSANGSIOS
+  {0x97D9, 0xC019}, //4057 #HANGUL SYLLABLE SSANGPIEUP WE IEUNG
+  {0x97DA, 0xC01A}, //4058 #HANGUL SYLLABLE SSANGPIEUP WE CIEUC
+  {0x97DB, 0xC01B}, //4059 #HANGUL SYLLABLE SSANGPIEUP WE CHIEUCH
+  {0x97DC, 0xC01C}, //4060 #HANGUL SYLLABLE SSANGPIEUP WE KHIEUKH
+  {0x97DD, 0xC01D}, //4061 #HANGUL SYLLABLE SSANGPIEUP WE THIEUTH
+  {0x97DE, 0xC01E}, //4062 #HANGUL SYLLABLE SSANGPIEUP WE PHIEUPH
+  {0x97DF, 0xC01F}, //4063 #HANGUL SYLLABLE SSANGPIEUP WE HIEUH
+  {0x97E0, 0xC020}, //4064 #HANGUL SYLLABLE SSANGPIEUP WI
+  {0x97E1, 0xC021}, //4065 #HANGUL SYLLABLE SSANGPIEUP WI KIYEOK
+  {0x97E2, 0xC022}, //4066 #HANGUL SYLLABLE SSANGPIEUP WI SSANGKIYEOK
+  {0x97E3, 0xC023}, //4067 #HANGUL SYLLABLE SSANGPIEUP WI KIYEOKSIOS
+  {0x97E4, 0xC024}, //4068 #HANGUL SYLLABLE SSANGPIEUP WI NIEUN
+  {0x97E5, 0xC025}, //4069 #HANGUL SYLLABLE SSANGPIEUP WI NIEUNCIEUC
+  {0x97E6, 0xC026}, //4070 #HANGUL SYLLABLE SSANGPIEUP WI NIEUNHIEUH
+  {0x97E7, 0xC027}, //4071 #HANGUL SYLLABLE SSANGPIEUP WI TIKEUT
+  {0x97E8, 0xC028}, //4072 #HANGUL SYLLABLE SSANGPIEUP WI RIEUL
+  {0x97E9, 0xC029}, //4073 #HANGUL SYLLABLE SSANGPIEUP WI RIEULKIYEOK
+  {0x97EA, 0xC02A}, //4074 #HANGUL SYLLABLE SSANGPIEUP WI RIEULMIEUM
+  {0x97EB, 0xC02B}, //4075 #HANGUL SYLLABLE SSANGPIEUP WI RIEULPIEUP
+  {0x97EC, 0xC02C}, //4076 #HANGUL SYLLABLE SSANGPIEUP WI RIEULSIOS
+  {0x97ED, 0xC02D}, //4077 #HANGUL SYLLABLE SSANGPIEUP WI RIEULTHIEUTH
+  {0x97EE, 0xC02E}, //4078 #HANGUL SYLLABLE SSANGPIEUP WI RIEULPHIEUPH
+  {0x97EF, 0xC02F}, //4079 #HANGUL SYLLABLE SSANGPIEUP WI RIEULHIEUH
+  {0x97F0, 0xC030}, //4080 #HANGUL SYLLABLE SSANGPIEUP WI MIEUM
+  {0x97F1, 0xC031}, //4081 #HANGUL SYLLABLE SSANGPIEUP WI PIEUP
+  {0x97F2, 0xC032}, //4082 #HANGUL SYLLABLE SSANGPIEUP WI PIEUPSIOS
+  {0x97F3, 0xC033}, //4083 #HANGUL SYLLABLE SSANGPIEUP WI SIOS
+  {0x97F4, 0xC034}, //4084 #HANGUL SYLLABLE SSANGPIEUP WI SSANGSIOS
+  {0x97F5, 0xC035}, //4085 #HANGUL SYLLABLE SSANGPIEUP WI IEUNG
+  {0x97F6, 0xC036}, //4086 #HANGUL SYLLABLE SSANGPIEUP WI CIEUC
+  {0x97F7, 0xC037}, //4087 #HANGUL SYLLABLE SSANGPIEUP WI CHIEUCH
+  {0x97F8, 0xC038}, //4088 #HANGUL SYLLABLE SSANGPIEUP WI KHIEUKH
+  {0x97F9, 0xC039}, //4089 #HANGUL SYLLABLE SSANGPIEUP WI THIEUTH
+  {0x97FA, 0xC03A}, //4090 #HANGUL SYLLABLE SSANGPIEUP WI PHIEUPH
+  {0x97FB, 0xC03B}, //4091 #HANGUL SYLLABLE SSANGPIEUP WI HIEUH
+  {0x97FC, 0xC03D}, //4092 #HANGUL SYLLABLE SSANGPIEUP YU KIYEOK
+  {0x97FD, 0xC03E}, //4093 #HANGUL SYLLABLE SSANGPIEUP YU SSANGKIYEOK
+  {0x97FE, 0xC03F}, //4094 #HANGUL SYLLABLE SSANGPIEUP YU KIYEOKSIOS
+  {0x9841, 0xC040}, //4095 #HANGUL SYLLABLE SSANGPIEUP YU NIEUN
+  {0x9842, 0xC041}, //4096 #HANGUL SYLLABLE SSANGPIEUP YU NIEUNCIEUC
+  {0x9843, 0xC042}, //4097 #HANGUL SYLLABLE SSANGPIEUP YU NIEUNHIEUH
+  {0x9844, 0xC043}, //4098 #HANGUL SYLLABLE SSANGPIEUP YU TIKEUT
+  {0x9845, 0xC044}, //4099 #HANGUL SYLLABLE SSANGPIEUP YU RIEUL
+  {0x9846, 0xC045}, //4100 #HANGUL SYLLABLE SSANGPIEUP YU RIEULKIYEOK
+  {0x9847, 0xC046}, //4101 #HANGUL SYLLABLE SSANGPIEUP YU RIEULMIEUM
+  {0x9848, 0xC047}, //4102 #HANGUL SYLLABLE SSANGPIEUP YU RIEULPIEUP
+  {0x9849, 0xC048}, //4103 #HANGUL SYLLABLE SSANGPIEUP YU RIEULSIOS
+  {0x984A, 0xC049}, //4104 #HANGUL SYLLABLE SSANGPIEUP YU RIEULTHIEUTH
+  {0x984B, 0xC04A}, //4105 #HANGUL SYLLABLE SSANGPIEUP YU RIEULPHIEUPH
+  {0x984C, 0xC04B}, //4106 #HANGUL SYLLABLE SSANGPIEUP YU RIEULHIEUH
+  {0x984D, 0xC04C}, //4107 #HANGUL SYLLABLE SSANGPIEUP YU MIEUM
+  {0x984E, 0xC04D}, //4108 #HANGUL SYLLABLE SSANGPIEUP YU PIEUP
+  {0x984F, 0xC04E}, //4109 #HANGUL SYLLABLE SSANGPIEUP YU PIEUPSIOS
+  {0x9850, 0xC04F}, //4110 #HANGUL SYLLABLE SSANGPIEUP YU SIOS
+  {0x9851, 0xC050}, //4111 #HANGUL SYLLABLE SSANGPIEUP YU SSANGSIOS
+  {0x9852, 0xC052}, //4112 #HANGUL SYLLABLE SSANGPIEUP YU CIEUC
+  {0x9853, 0xC053}, //4113 #HANGUL SYLLABLE SSANGPIEUP YU CHIEUCH
+  {0x9854, 0xC054}, //4114 #HANGUL SYLLABLE SSANGPIEUP YU KHIEUKH
+  {0x9855, 0xC055}, //4115 #HANGUL SYLLABLE SSANGPIEUP YU THIEUTH
+  {0x9856, 0xC056}, //4116 #HANGUL SYLLABLE SSANGPIEUP YU PHIEUPH
+  {0x9857, 0xC057}, //4117 #HANGUL SYLLABLE SSANGPIEUP YU HIEUH
+  {0x9858, 0xC059}, //4118 #HANGUL SYLLABLE SSANGPIEUP EU KIYEOK
+  {0x9859, 0xC05A}, //4119 #HANGUL SYLLABLE SSANGPIEUP EU SSANGKIYEOK
+  {0x985A, 0xC05B}, //4120 #HANGUL SYLLABLE SSANGPIEUP EU KIYEOKSIOS
+  {0x9861, 0xC05D}, //4121 #HANGUL SYLLABLE SSANGPIEUP EU NIEUNCIEUC
+  {0x9862, 0xC05E}, //4122 #HANGUL SYLLABLE SSANGPIEUP EU NIEUNHIEUH
+  {0x9863, 0xC05F}, //4123 #HANGUL SYLLABLE SSANGPIEUP EU TIKEUT
+  {0x9864, 0xC061}, //4124 #HANGUL SYLLABLE SSANGPIEUP EU RIEULKIYEOK
+  {0x9865, 0xC062}, //4125 #HANGUL SYLLABLE SSANGPIEUP EU RIEULMIEUM
+  {0x9866, 0xC063}, //4126 #HANGUL SYLLABLE SSANGPIEUP EU RIEULPIEUP
+  {0x9867, 0xC064}, //4127 #HANGUL SYLLABLE SSANGPIEUP EU RIEULSIOS
+  {0x9868, 0xC065}, //4128 #HANGUL SYLLABLE SSANGPIEUP EU RIEULTHIEUTH
+  {0x9869, 0xC066}, //4129 #HANGUL SYLLABLE SSANGPIEUP EU RIEULPHIEUPH
+  {0x986A, 0xC067}, //4130 #HANGUL SYLLABLE SSANGPIEUP EU RIEULHIEUH
+  {0x986B, 0xC06A}, //4131 #HANGUL SYLLABLE SSANGPIEUP EU PIEUPSIOS
+  {0x986C, 0xC06B}, //4132 #HANGUL SYLLABLE SSANGPIEUP EU SIOS
+  {0x986D, 0xC06C}, //4133 #HANGUL SYLLABLE SSANGPIEUP EU SSANGSIOS
+  {0x986E, 0xC06D}, //4134 #HANGUL SYLLABLE SSANGPIEUP EU IEUNG
+  {0x986F, 0xC06E}, //4135 #HANGUL SYLLABLE SSANGPIEUP EU CIEUC
+  {0x9870, 0xC06F}, //4136 #HANGUL SYLLABLE SSANGPIEUP EU CHIEUCH
+  {0x9871, 0xC070}, //4137 #HANGUL SYLLABLE SSANGPIEUP EU KHIEUKH
+  {0x9872, 0xC071}, //4138 #HANGUL SYLLABLE SSANGPIEUP EU THIEUTH
+  {0x9873, 0xC072}, //4139 #HANGUL SYLLABLE SSANGPIEUP EU PHIEUPH
+  {0x9874, 0xC073}, //4140 #HANGUL SYLLABLE SSANGPIEUP EU HIEUH
+  {0x9875, 0xC074}, //4141 #HANGUL SYLLABLE SSANGPIEUP YI
+  {0x9876, 0xC075}, //4142 #HANGUL SYLLABLE SSANGPIEUP YI KIYEOK
+  {0x9877, 0xC076}, //4143 #HANGUL SYLLABLE SSANGPIEUP YI SSANGKIYEOK
+  {0x9878, 0xC077}, //4144 #HANGUL SYLLABLE SSANGPIEUP YI KIYEOKSIOS
+  {0x9879, 0xC078}, //4145 #HANGUL SYLLABLE SSANGPIEUP YI NIEUN
+  {0x987A, 0xC079}, //4146 #HANGUL SYLLABLE SSANGPIEUP YI NIEUNCIEUC
+  {0x9881, 0xC07A}, //4147 #HANGUL SYLLABLE SSANGPIEUP YI NIEUNHIEUH
+  {0x9882, 0xC07B}, //4148 #HANGUL SYLLABLE SSANGPIEUP YI TIKEUT
+  {0x9883, 0xC07C}, //4149 #HANGUL SYLLABLE SSANGPIEUP YI RIEUL
+  {0x9884, 0xC07D}, //4150 #HANGUL SYLLABLE SSANGPIEUP YI RIEULKIYEOK
+  {0x9885, 0xC07E}, //4151 #HANGUL SYLLABLE SSANGPIEUP YI RIEULMIEUM
+  {0x9886, 0xC07F}, //4152 #HANGUL SYLLABLE SSANGPIEUP YI RIEULPIEUP
+  {0x9887, 0xC080}, //4153 #HANGUL SYLLABLE SSANGPIEUP YI RIEULSIOS
+  {0x9888, 0xC081}, //4154 #HANGUL SYLLABLE SSANGPIEUP YI RIEULTHIEUTH
+  {0x9889, 0xC082}, //4155 #HANGUL SYLLABLE SSANGPIEUP YI RIEULPHIEUPH
+  {0x988A, 0xC083}, //4156 #HANGUL SYLLABLE SSANGPIEUP YI RIEULHIEUH
+  {0x988B, 0xC084}, //4157 #HANGUL SYLLABLE SSANGPIEUP YI MIEUM
+  {0x988C, 0xC085}, //4158 #HANGUL SYLLABLE SSANGPIEUP YI PIEUP
+  {0x988D, 0xC086}, //4159 #HANGUL SYLLABLE SSANGPIEUP YI PIEUPSIOS
+  {0x988E, 0xC087}, //4160 #HANGUL SYLLABLE SSANGPIEUP YI SIOS
+  {0x988F, 0xC088}, //4161 #HANGUL SYLLABLE SSANGPIEUP YI SSANGSIOS
+  {0x9890, 0xC089}, //4162 #HANGUL SYLLABLE SSANGPIEUP YI IEUNG
+  {0x9891, 0xC08A}, //4163 #HANGUL SYLLABLE SSANGPIEUP YI CIEUC
+  {0x9892, 0xC08B}, //4164 #HANGUL SYLLABLE SSANGPIEUP YI CHIEUCH
+  {0x9893, 0xC08C}, //4165 #HANGUL SYLLABLE SSANGPIEUP YI KHIEUKH
+  {0x9894, 0xC08D}, //4166 #HANGUL SYLLABLE SSANGPIEUP YI THIEUTH
+  {0x9895, 0xC08E}, //4167 #HANGUL SYLLABLE SSANGPIEUP YI PHIEUPH
+  {0x9896, 0xC08F}, //4168 #HANGUL SYLLABLE SSANGPIEUP YI HIEUH
+  {0x9897, 0xC092}, //4169 #HANGUL SYLLABLE SSANGPIEUP I SSANGKIYEOK
+  {0x9898, 0xC093}, //4170 #HANGUL SYLLABLE SSANGPIEUP I KIYEOKSIOS
+  {0x9899, 0xC095}, //4171 #HANGUL SYLLABLE SSANGPIEUP I NIEUNCIEUC
+  {0x989A, 0xC096}, //4172 #HANGUL SYLLABLE SSANGPIEUP I NIEUNHIEUH
+  {0x989B, 0xC097}, //4173 #HANGUL SYLLABLE SSANGPIEUP I TIKEUT
+  {0x989C, 0xC099}, //4174 #HANGUL SYLLABLE SSANGPIEUP I RIEULKIYEOK
+  {0x989D, 0xC09A}, //4175 #HANGUL SYLLABLE SSANGPIEUP I RIEULMIEUM
+  {0x989E, 0xC09B}, //4176 #HANGUL SYLLABLE SSANGPIEUP I RIEULPIEUP
+  {0x989F, 0xC09C}, //4177 #HANGUL SYLLABLE SSANGPIEUP I RIEULSIOS
+  {0x98A0, 0xC09D}, //4178 #HANGUL SYLLABLE SSANGPIEUP I RIEULTHIEUTH
+  {0x98A1, 0xC09E}, //4179 #HANGUL SYLLABLE SSANGPIEUP I RIEULPHIEUPH
+  {0x98A2, 0xC09F}, //4180 #HANGUL SYLLABLE SSANGPIEUP I RIEULHIEUH
+  {0x98A3, 0xC0A2}, //4181 #HANGUL SYLLABLE SSANGPIEUP I PIEUPSIOS
+  {0x98A4, 0xC0A4}, //4182 #HANGUL SYLLABLE SSANGPIEUP I SSANGSIOS
+  {0x98A5, 0xC0A6}, //4183 #HANGUL SYLLABLE SSANGPIEUP I CIEUC
+  {0x98A6, 0xC0A7}, //4184 #HANGUL SYLLABLE SSANGPIEUP I CHIEUCH
+  {0x98A7, 0xC0A8}, //4185 #HANGUL SYLLABLE SSANGPIEUP I KHIEUKH
+  {0x98A8, 0xC0A9}, //4186 #HANGUL SYLLABLE SSANGPIEUP I THIEUTH
+  {0x98A9, 0xC0AA}, //4187 #HANGUL SYLLABLE SSANGPIEUP I PHIEUPH
+  {0x98AA, 0xC0AB}, //4188 #HANGUL SYLLABLE SSANGPIEUP I HIEUH
+  {0x98AB, 0xC0AE}, //4189 #HANGUL SYLLABLE SIOS A SSANGKIYEOK
+  {0x98AC, 0xC0B1}, //4190 #HANGUL SYLLABLE SIOS A NIEUNCIEUC
+  {0x98AD, 0xC0B2}, //4191 #HANGUL SYLLABLE SIOS A NIEUNHIEUH
+  {0x98AE, 0xC0B7}, //4192 #HANGUL SYLLABLE SIOS A RIEULPIEUP
+  {0x98AF, 0xC0B8}, //4193 #HANGUL SYLLABLE SIOS A RIEULSIOS
+  {0x98B0, 0xC0B9}, //4194 #HANGUL SYLLABLE SIOS A RIEULTHIEUTH
+  {0x98B1, 0xC0BA}, //4195 #HANGUL SYLLABLE SIOS A RIEULPHIEUPH
+  {0x98B2, 0xC0BB}, //4196 #HANGUL SYLLABLE SIOS A RIEULHIEUH
+  {0x98B3, 0xC0BE}, //4197 #HANGUL SYLLABLE SIOS A PIEUPSIOS
+  {0x98B4, 0xC0C2}, //4198 #HANGUL SYLLABLE SIOS A CIEUC
+  {0x98B5, 0xC0C3}, //4199 #HANGUL SYLLABLE SIOS A CHIEUCH
+  {0x98B6, 0xC0C4}, //4200 #HANGUL SYLLABLE SIOS A KHIEUKH
+  {0x98B7, 0xC0C6}, //4201 #HANGUL SYLLABLE SIOS A PHIEUPH
+  {0x98B8, 0xC0C7}, //4202 #HANGUL SYLLABLE SIOS A HIEUH
+  {0x98B9, 0xC0CA}, //4203 #HANGUL SYLLABLE SIOS AE SSANGKIYEOK
+  {0x98BA, 0xC0CB}, //4204 #HANGUL SYLLABLE SIOS AE KIYEOKSIOS
+  {0x98BB, 0xC0CD}, //4205 #HANGUL SYLLABLE SIOS AE NIEUNCIEUC
+  {0x98BC, 0xC0CE}, //4206 #HANGUL SYLLABLE SIOS AE NIEUNHIEUH
+  {0x98BD, 0xC0CF}, //4207 #HANGUL SYLLABLE SIOS AE TIKEUT
+  {0x98BE, 0xC0D1}, //4208 #HANGUL SYLLABLE SIOS AE RIEULKIYEOK
+  {0x98BF, 0xC0D2}, //4209 #HANGUL SYLLABLE SIOS AE RIEULMIEUM
+  {0x98C0, 0xC0D3}, //4210 #HANGUL SYLLABLE SIOS AE RIEULPIEUP
+  {0x98C1, 0xC0D4}, //4211 #HANGUL SYLLABLE SIOS AE RIEULSIOS
+  {0x98C2, 0xC0D5}, //4212 #HANGUL SYLLABLE SIOS AE RIEULTHIEUTH
+  {0x98C3, 0xC0D6}, //4213 #HANGUL SYLLABLE SIOS AE RIEULPHIEUPH
+  {0x98C4, 0xC0D7}, //4214 #HANGUL SYLLABLE SIOS AE RIEULHIEUH
+  {0x98C5, 0xC0DA}, //4215 #HANGUL SYLLABLE SIOS AE PIEUPSIOS
+  {0x98C6, 0xC0DE}, //4216 #HANGUL SYLLABLE SIOS AE CIEUC
+  {0x98C7, 0xC0DF}, //4217 #HANGUL SYLLABLE SIOS AE CHIEUCH
+  {0x98C8, 0xC0E0}, //4218 #HANGUL SYLLABLE SIOS AE KHIEUKH
+  {0x98C9, 0xC0E1}, //4219 #HANGUL SYLLABLE SIOS AE THIEUTH
+  {0x98CA, 0xC0E2}, //4220 #HANGUL SYLLABLE SIOS AE PHIEUPH
+  {0x98CB, 0xC0E3}, //4221 #HANGUL SYLLABLE SIOS AE HIEUH
+  {0x98CC, 0xC0E6}, //4222 #HANGUL SYLLABLE SIOS YA SSANGKIYEOK
+  {0x98CD, 0xC0E7}, //4223 #HANGUL SYLLABLE SIOS YA KIYEOKSIOS
+  {0x98CE, 0xC0E9}, //4224 #HANGUL SYLLABLE SIOS YA NIEUNCIEUC
+  {0x98CF, 0xC0EA}, //4225 #HANGUL SYLLABLE SIOS YA NIEUNHIEUH
+  {0x98D0, 0xC0EB}, //4226 #HANGUL SYLLABLE SIOS YA TIKEUT
+  {0x98D1, 0xC0ED}, //4227 #HANGUL SYLLABLE SIOS YA RIEULKIYEOK
+  {0x98D2, 0xC0EE}, //4228 #HANGUL SYLLABLE SIOS YA RIEULMIEUM
+  {0x98D3, 0xC0EF}, //4229 #HANGUL SYLLABLE SIOS YA RIEULPIEUP
+  {0x98D4, 0xC0F0}, //4230 #HANGUL SYLLABLE SIOS YA RIEULSIOS
+  {0x98D5, 0xC0F1}, //4231 #HANGUL SYLLABLE SIOS YA RIEULTHIEUTH
+  {0x98D6, 0xC0F2}, //4232 #HANGUL SYLLABLE SIOS YA RIEULPHIEUPH
+  {0x98D7, 0xC0F3}, //4233 #HANGUL SYLLABLE SIOS YA RIEULHIEUH
+  {0x98D8, 0xC0F6}, //4234 #HANGUL SYLLABLE SIOS YA PIEUPSIOS
+  {0x98D9, 0xC0F8}, //4235 #HANGUL SYLLABLE SIOS YA SSANGSIOS
+  {0x98DA, 0xC0FA}, //4236 #HANGUL SYLLABLE SIOS YA CIEUC
+  {0x98DB, 0xC0FB}, //4237 #HANGUL SYLLABLE SIOS YA CHIEUCH
+  {0x98DC, 0xC0FC}, //4238 #HANGUL SYLLABLE SIOS YA KHIEUKH
+  {0x98DD, 0xC0FD}, //4239 #HANGUL SYLLABLE SIOS YA THIEUTH
+  {0x98DE, 0xC0FE}, //4240 #HANGUL SYLLABLE SIOS YA PHIEUPH
+  {0x98DF, 0xC0FF}, //4241 #HANGUL SYLLABLE SIOS YA HIEUH
+  {0x98E0, 0xC101}, //4242 #HANGUL SYLLABLE SIOS YAE KIYEOK
+  {0x98E1, 0xC102}, //4243 #HANGUL SYLLABLE SIOS YAE SSANGKIYEOK
+  {0x98E2, 0xC103}, //4244 #HANGUL SYLLABLE SIOS YAE KIYEOKSIOS
+  {0x98E3, 0xC105}, //4245 #HANGUL SYLLABLE SIOS YAE NIEUNCIEUC
+  {0x98E4, 0xC106}, //4246 #HANGUL SYLLABLE SIOS YAE NIEUNHIEUH
+  {0x98E5, 0xC107}, //4247 #HANGUL SYLLABLE SIOS YAE TIKEUT
+  {0x98E6, 0xC109}, //4248 #HANGUL SYLLABLE SIOS YAE RIEULKIYEOK
+  {0x98E7, 0xC10A}, //4249 #HANGUL SYLLABLE SIOS YAE RIEULMIEUM
+  {0x98E8, 0xC10B}, //4250 #HANGUL SYLLABLE SIOS YAE RIEULPIEUP
+  {0x98E9, 0xC10C}, //4251 #HANGUL SYLLABLE SIOS YAE RIEULSIOS
+  {0x98EA, 0xC10D}, //4252 #HANGUL SYLLABLE SIOS YAE RIEULTHIEUTH
+  {0x98EB, 0xC10E}, //4253 #HANGUL SYLLABLE SIOS YAE RIEULPHIEUPH
+  {0x98EC, 0xC10F}, //4254 #HANGUL SYLLABLE SIOS YAE RIEULHIEUH
+  {0x98ED, 0xC111}, //4255 #HANGUL SYLLABLE SIOS YAE PIEUP
+  {0x98EE, 0xC112}, //4256 #HANGUL SYLLABLE SIOS YAE PIEUPSIOS
+  {0x98EF, 0xC113}, //4257 #HANGUL SYLLABLE SIOS YAE SIOS
+  {0x98F0, 0xC114}, //4258 #HANGUL SYLLABLE SIOS YAE SSANGSIOS
+  {0x98F1, 0xC116}, //4259 #HANGUL SYLLABLE SIOS YAE CIEUC
+  {0x98F2, 0xC117}, //4260 #HANGUL SYLLABLE SIOS YAE CHIEUCH
+  {0x98F3, 0xC118}, //4261 #HANGUL SYLLABLE SIOS YAE KHIEUKH
+  {0x98F4, 0xC119}, //4262 #HANGUL SYLLABLE SIOS YAE THIEUTH
+  {0x98F5, 0xC11A}, //4263 #HANGUL SYLLABLE SIOS YAE PHIEUPH
+  {0x98F6, 0xC11B}, //4264 #HANGUL SYLLABLE SIOS YAE HIEUH
+  {0x98F7, 0xC121}, //4265 #HANGUL SYLLABLE SIOS EO NIEUNCIEUC
+  {0x98F8, 0xC122}, //4266 #HANGUL SYLLABLE SIOS EO NIEUNHIEUH
+  {0x98F9, 0xC125}, //4267 #HANGUL SYLLABLE SIOS EO RIEULKIYEOK
+  {0x98FA, 0xC128}, //4268 #HANGUL SYLLABLE SIOS EO RIEULSIOS
+  {0x98FB, 0xC129}, //4269 #HANGUL SYLLABLE SIOS EO RIEULTHIEUTH
+  {0x98FC, 0xC12A}, //4270 #HANGUL SYLLABLE SIOS EO RIEULPHIEUPH
+  {0x98FD, 0xC12B}, //4271 #HANGUL SYLLABLE SIOS EO RIEULHIEUH
+  {0x98FE, 0xC12E}, //4272 #HANGUL SYLLABLE SIOS EO PIEUPSIOS
+  {0x9941, 0xC132}, //4273 #HANGUL SYLLABLE SIOS EO CIEUC
+  {0x9942, 0xC133}, //4274 #HANGUL SYLLABLE SIOS EO CHIEUCH
+  {0x9943, 0xC134}, //4275 #HANGUL SYLLABLE SIOS EO KHIEUKH
+  {0x9944, 0xC135}, //4276 #HANGUL SYLLABLE SIOS EO THIEUTH
+  {0x9945, 0xC137}, //4277 #HANGUL SYLLABLE SIOS EO HIEUH
+  {0x9946, 0xC13A}, //4278 #HANGUL SYLLABLE SIOS E SSANGKIYEOK
+  {0x9947, 0xC13B}, //4279 #HANGUL SYLLABLE SIOS E KIYEOKSIOS
+  {0x9948, 0xC13D}, //4280 #HANGUL SYLLABLE SIOS E NIEUNCIEUC
+  {0x9949, 0xC13E}, //4281 #HANGUL SYLLABLE SIOS E NIEUNHIEUH
+  {0x994A, 0xC13F}, //4282 #HANGUL SYLLABLE SIOS E TIKEUT
+  {0x994B, 0xC141}, //4283 #HANGUL SYLLABLE SIOS E RIEULKIYEOK
+  {0x994C, 0xC142}, //4284 #HANGUL SYLLABLE SIOS E RIEULMIEUM
+  {0x994D, 0xC143}, //4285 #HANGUL SYLLABLE SIOS E RIEULPIEUP
+  {0x994E, 0xC144}, //4286 #HANGUL SYLLABLE SIOS E RIEULSIOS
+  {0x994F, 0xC145}, //4287 #HANGUL SYLLABLE SIOS E RIEULTHIEUTH
+  {0x9950, 0xC146}, //4288 #HANGUL SYLLABLE SIOS E RIEULPHIEUPH
+  {0x9951, 0xC147}, //4289 #HANGUL SYLLABLE SIOS E RIEULHIEUH
+  {0x9952, 0xC14A}, //4290 #HANGUL SYLLABLE SIOS E PIEUPSIOS
+  {0x9953, 0xC14E}, //4291 #HANGUL SYLLABLE SIOS E CIEUC
+  {0x9954, 0xC14F}, //4292 #HANGUL SYLLABLE SIOS E CHIEUCH
+  {0x9955, 0xC150}, //4293 #HANGUL SYLLABLE SIOS E KHIEUKH
+  {0x9956, 0xC151}, //4294 #HANGUL SYLLABLE SIOS E THIEUTH
+  {0x9957, 0xC152}, //4295 #HANGUL SYLLABLE SIOS E PHIEUPH
+  {0x9958, 0xC153}, //4296 #HANGUL SYLLABLE SIOS E HIEUH
+  {0x9959, 0xC156}, //4297 #HANGUL SYLLABLE SIOS YEO SSANGKIYEOK
+  {0x995A, 0xC157}, //4298 #HANGUL SYLLABLE SIOS YEO KIYEOKSIOS
+  {0x9961, 0xC159}, //4299 #HANGUL SYLLABLE SIOS YEO NIEUNCIEUC
+  {0x9962, 0xC15A}, //4300 #HANGUL SYLLABLE SIOS YEO NIEUNHIEUH
+  {0x9963, 0xC15B}, //4301 #HANGUL SYLLABLE SIOS YEO TIKEUT
+  {0x9964, 0xC15D}, //4302 #HANGUL SYLLABLE SIOS YEO RIEULKIYEOK
+  {0x9965, 0xC15E}, //4303 #HANGUL SYLLABLE SIOS YEO RIEULMIEUM
+  {0x9966, 0xC15F}, //4304 #HANGUL SYLLABLE SIOS YEO RIEULPIEUP
+  {0x9967, 0xC160}, //4305 #HANGUL SYLLABLE SIOS YEO RIEULSIOS
+  {0x9968, 0xC161}, //4306 #HANGUL SYLLABLE SIOS YEO RIEULTHIEUTH
+  {0x9969, 0xC162}, //4307 #HANGUL SYLLABLE SIOS YEO RIEULPHIEUPH
+  {0x996A, 0xC163}, //4308 #HANGUL SYLLABLE SIOS YEO RIEULHIEUH
+  {0x996B, 0xC166}, //4309 #HANGUL SYLLABLE SIOS YEO PIEUPSIOS
+  {0x996C, 0xC16A}, //4310 #HANGUL SYLLABLE SIOS YEO CIEUC
+  {0x996D, 0xC16B}, //4311 #HANGUL SYLLABLE SIOS YEO CHIEUCH
+  {0x996E, 0xC16C}, //4312 #HANGUL SYLLABLE SIOS YEO KHIEUKH
+  {0x996F, 0xC16D}, //4313 #HANGUL SYLLABLE SIOS YEO THIEUTH
+  {0x9970, 0xC16E}, //4314 #HANGUL SYLLABLE SIOS YEO PHIEUPH
+  {0x9971, 0xC16F}, //4315 #HANGUL SYLLABLE SIOS YEO HIEUH
+  {0x9972, 0xC171}, //4316 #HANGUL SYLLABLE SIOS YE KIYEOK
+  {0x9973, 0xC172}, //4317 #HANGUL SYLLABLE SIOS YE SSANGKIYEOK
+  {0x9974, 0xC173}, //4318 #HANGUL SYLLABLE SIOS YE KIYEOKSIOS
+  {0x9975, 0xC175}, //4319 #HANGUL SYLLABLE SIOS YE NIEUNCIEUC
+  {0x9976, 0xC176}, //4320 #HANGUL SYLLABLE SIOS YE NIEUNHIEUH
+  {0x9977, 0xC177}, //4321 #HANGUL SYLLABLE SIOS YE TIKEUT
+  {0x9978, 0xC179}, //4322 #HANGUL SYLLABLE SIOS YE RIEULKIYEOK
+  {0x9979, 0xC17A}, //4323 #HANGUL SYLLABLE SIOS YE RIEULMIEUM
+  {0x997A, 0xC17B}, //4324 #HANGUL SYLLABLE SIOS YE RIEULPIEUP
+  {0x9981, 0xC17C}, //4325 #HANGUL SYLLABLE SIOS YE RIEULSIOS
+  {0x9982, 0xC17D}, //4326 #HANGUL SYLLABLE SIOS YE RIEULTHIEUTH
+  {0x9983, 0xC17E}, //4327 #HANGUL SYLLABLE SIOS YE RIEULPHIEUPH
+  {0x9984, 0xC17F}, //4328 #HANGUL SYLLABLE SIOS YE RIEULHIEUH
+  {0x9985, 0xC180}, //4329 #HANGUL SYLLABLE SIOS YE MIEUM
+  {0x9986, 0xC181}, //4330 #HANGUL SYLLABLE SIOS YE PIEUP
+  {0x9987, 0xC182}, //4331 #HANGUL SYLLABLE SIOS YE PIEUPSIOS
+  {0x9988, 0xC183}, //4332 #HANGUL SYLLABLE SIOS YE SIOS
+  {0x9989, 0xC184}, //4333 #HANGUL SYLLABLE SIOS YE SSANGSIOS
+  {0x998A, 0xC186}, //4334 #HANGUL SYLLABLE SIOS YE CIEUC
+  {0x998B, 0xC187}, //4335 #HANGUL SYLLABLE SIOS YE CHIEUCH
+  {0x998C, 0xC188}, //4336 #HANGUL SYLLABLE SIOS YE KHIEUKH
+  {0x998D, 0xC189}, //4337 #HANGUL SYLLABLE SIOS YE THIEUTH
+  {0x998E, 0xC18A}, //4338 #HANGUL SYLLABLE SIOS YE PHIEUPH
+  {0x998F, 0xC18B}, //4339 #HANGUL SYLLABLE SIOS YE HIEUH
+  {0x9990, 0xC18F}, //4340 #HANGUL SYLLABLE SIOS O KIYEOKSIOS
+  {0x9991, 0xC191}, //4341 #HANGUL SYLLABLE SIOS O NIEUNCIEUC
+  {0x9992, 0xC192}, //4342 #HANGUL SYLLABLE SIOS O NIEUNHIEUH
+  {0x9993, 0xC193}, //4343 #HANGUL SYLLABLE SIOS O TIKEUT
+  {0x9994, 0xC195}, //4344 #HANGUL SYLLABLE SIOS O RIEULKIYEOK
+  {0x9995, 0xC197}, //4345 #HANGUL SYLLABLE SIOS O RIEULPIEUP
+  {0x9996, 0xC198}, //4346 #HANGUL SYLLABLE SIOS O RIEULSIOS
+  {0x9997, 0xC199}, //4347 #HANGUL SYLLABLE SIOS O RIEULTHIEUTH
+  {0x9998, 0xC19A}, //4348 #HANGUL SYLLABLE SIOS O RIEULPHIEUPH
+  {0x9999, 0xC19B}, //4349 #HANGUL SYLLABLE SIOS O RIEULHIEUH
+  {0x999A, 0xC19E}, //4350 #HANGUL SYLLABLE SIOS O PIEUPSIOS
+  {0x999B, 0xC1A0}, //4351 #HANGUL SYLLABLE SIOS O SSANGSIOS
+  {0x999C, 0xC1A2}, //4352 #HANGUL SYLLABLE SIOS O CIEUC
+  {0x999D, 0xC1A3}, //4353 #HANGUL SYLLABLE SIOS O CHIEUCH
+  {0x999E, 0xC1A4}, //4354 #HANGUL SYLLABLE SIOS O KHIEUKH
+  {0x999F, 0xC1A6}, //4355 #HANGUL SYLLABLE SIOS O PHIEUPH
+  {0x99A0, 0xC1A7}, //4356 #HANGUL SYLLABLE SIOS O HIEUH
+  {0x99A1, 0xC1AA}, //4357 #HANGUL SYLLABLE SIOS WA SSANGKIYEOK
+  {0x99A2, 0xC1AB}, //4358 #HANGUL SYLLABLE SIOS WA KIYEOKSIOS
+  {0x99A3, 0xC1AD}, //4359 #HANGUL SYLLABLE SIOS WA NIEUNCIEUC
+  {0x99A4, 0xC1AE}, //4360 #HANGUL SYLLABLE SIOS WA NIEUNHIEUH
+  {0x99A5, 0xC1AF}, //4361 #HANGUL SYLLABLE SIOS WA TIKEUT
+  {0x99A6, 0xC1B1}, //4362 #HANGUL SYLLABLE SIOS WA RIEULKIYEOK
+  {0x99A7, 0xC1B2}, //4363 #HANGUL SYLLABLE SIOS WA RIEULMIEUM
+  {0x99A8, 0xC1B3}, //4364 #HANGUL SYLLABLE SIOS WA RIEULPIEUP
+  {0x99A9, 0xC1B4}, //4365 #HANGUL SYLLABLE SIOS WA RIEULSIOS
+  {0x99AA, 0xC1B5}, //4366 #HANGUL SYLLABLE SIOS WA RIEULTHIEUTH
+  {0x99AB, 0xC1B6}, //4367 #HANGUL SYLLABLE SIOS WA RIEULPHIEUPH
+  {0x99AC, 0xC1B7}, //4368 #HANGUL SYLLABLE SIOS WA RIEULHIEUH
+  {0x99AD, 0xC1B8}, //4369 #HANGUL SYLLABLE SIOS WA MIEUM
+  {0x99AE, 0xC1B9}, //4370 #HANGUL SYLLABLE SIOS WA PIEUP
+  {0x99AF, 0xC1BA}, //4371 #HANGUL SYLLABLE SIOS WA PIEUPSIOS
+  {0x99B0, 0xC1BB}, //4372 #HANGUL SYLLABLE SIOS WA SIOS
+  {0x99B1, 0xC1BC}, //4373 #HANGUL SYLLABLE SIOS WA SSANGSIOS
+  {0x99B2, 0xC1BE}, //4374 #HANGUL SYLLABLE SIOS WA CIEUC
+  {0x99B3, 0xC1BF}, //4375 #HANGUL SYLLABLE SIOS WA CHIEUCH
+  {0x99B4, 0xC1C0}, //4376 #HANGUL SYLLABLE SIOS WA KHIEUKH
+  {0x99B5, 0xC1C1}, //4377 #HANGUL SYLLABLE SIOS WA THIEUTH
+  {0x99B6, 0xC1C2}, //4378 #HANGUL SYLLABLE SIOS WA PHIEUPH
+  {0x99B7, 0xC1C3}, //4379 #HANGUL SYLLABLE SIOS WA HIEUH
+  {0x99B8, 0xC1C5}, //4380 #HANGUL SYLLABLE SIOS WAE KIYEOK
+  {0x99B9, 0xC1C6}, //4381 #HANGUL SYLLABLE SIOS WAE SSANGKIYEOK
+  {0x99BA, 0xC1C7}, //4382 #HANGUL SYLLABLE SIOS WAE KIYEOKSIOS
+  {0x99BB, 0xC1C9}, //4383 #HANGUL SYLLABLE SIOS WAE NIEUNCIEUC
+  {0x99BC, 0xC1CA}, //4384 #HANGUL SYLLABLE SIOS WAE NIEUNHIEUH
+  {0x99BD, 0xC1CB}, //4385 #HANGUL SYLLABLE SIOS WAE TIKEUT
+  {0x99BE, 0xC1CD}, //4386 #HANGUL SYLLABLE SIOS WAE RIEULKIYEOK
+  {0x99BF, 0xC1CE}, //4387 #HANGUL SYLLABLE SIOS WAE RIEULMIEUM
+  {0x99C0, 0xC1CF}, //4388 #HANGUL SYLLABLE SIOS WAE RIEULPIEUP
+  {0x99C1, 0xC1D0}, //4389 #HANGUL SYLLABLE SIOS WAE RIEULSIOS
+  {0x99C2, 0xC1D1}, //4390 #HANGUL SYLLABLE SIOS WAE RIEULTHIEUTH
+  {0x99C3, 0xC1D2}, //4391 #HANGUL SYLLABLE SIOS WAE RIEULPHIEUPH
+  {0x99C4, 0xC1D3}, //4392 #HANGUL SYLLABLE SIOS WAE RIEULHIEUH
+  {0x99C5, 0xC1D5}, //4393 #HANGUL SYLLABLE SIOS WAE PIEUP
+  {0x99C6, 0xC1D6}, //4394 #HANGUL SYLLABLE SIOS WAE PIEUPSIOS
+  {0x99C7, 0xC1D9}, //4395 #HANGUL SYLLABLE SIOS WAE IEUNG
+  {0x99C8, 0xC1DA}, //4396 #HANGUL SYLLABLE SIOS WAE CIEUC
+  {0x99C9, 0xC1DB}, //4397 #HANGUL SYLLABLE SIOS WAE CHIEUCH
+  {0x99CA, 0xC1DC}, //4398 #HANGUL SYLLABLE SIOS WAE KHIEUKH
+  {0x99CB, 0xC1DD}, //4399 #HANGUL SYLLABLE SIOS WAE THIEUTH
+  {0x99CC, 0xC1DE}, //4400 #HANGUL SYLLABLE SIOS WAE PHIEUPH
+  {0x99CD, 0xC1DF}, //4401 #HANGUL SYLLABLE SIOS WAE HIEUH
+  {0x99CE, 0xC1E1}, //4402 #HANGUL SYLLABLE SIOS OE KIYEOK
+  {0x99CF, 0xC1E2}, //4403 #HANGUL SYLLABLE SIOS OE SSANGKIYEOK
+  {0x99D0, 0xC1E3}, //4404 #HANGUL SYLLABLE SIOS OE KIYEOKSIOS
+  {0x99D1, 0xC1E5}, //4405 #HANGUL SYLLABLE SIOS OE NIEUNCIEUC
+  {0x99D2, 0xC1E6}, //4406 #HANGUL SYLLABLE SIOS OE NIEUNHIEUH
+  {0x99D3, 0xC1E7}, //4407 #HANGUL SYLLABLE SIOS OE TIKEUT
+  {0x99D4, 0xC1E9}, //4408 #HANGUL SYLLABLE SIOS OE RIEULKIYEOK
+  {0x99D5, 0xC1EA}, //4409 #HANGUL SYLLABLE SIOS OE RIEULMIEUM
+  {0x99D6, 0xC1EB}, //4410 #HANGUL SYLLABLE SIOS OE RIEULPIEUP
+  {0x99D7, 0xC1EC}, //4411 #HANGUL SYLLABLE SIOS OE RIEULSIOS
+  {0x99D8, 0xC1ED}, //4412 #HANGUL SYLLABLE SIOS OE RIEULTHIEUTH
+  {0x99D9, 0xC1EE}, //4413 #HANGUL SYLLABLE SIOS OE RIEULPHIEUPH
+  {0x99DA, 0xC1EF}, //4414 #HANGUL SYLLABLE SIOS OE RIEULHIEUH
+  {0x99DB, 0xC1F2}, //4415 #HANGUL SYLLABLE SIOS OE PIEUPSIOS
+  {0x99DC, 0xC1F4}, //4416 #HANGUL SYLLABLE SIOS OE SSANGSIOS
+  {0x99DD, 0xC1F5}, //4417 #HANGUL SYLLABLE SIOS OE IEUNG
+  {0x99DE, 0xC1F6}, //4418 #HANGUL SYLLABLE SIOS OE CIEUC
+  {0x99DF, 0xC1F7}, //4419 #HANGUL SYLLABLE SIOS OE CHIEUCH
+  {0x99E0, 0xC1F8}, //4420 #HANGUL SYLLABLE SIOS OE KHIEUKH
+  {0x99E1, 0xC1F9}, //4421 #HANGUL SYLLABLE SIOS OE THIEUTH
+  {0x99E2, 0xC1FA}, //4422 #HANGUL SYLLABLE SIOS OE PHIEUPH
+  {0x99E3, 0xC1FB}, //4423 #HANGUL SYLLABLE SIOS OE HIEUH
+  {0x99E4, 0xC1FE}, //4424 #HANGUL SYLLABLE SIOS YO SSANGKIYEOK
+  {0x99E5, 0xC1FF}, //4425 #HANGUL SYLLABLE SIOS YO KIYEOKSIOS
+  {0x99E6, 0xC201}, //4426 #HANGUL SYLLABLE SIOS YO NIEUNCIEUC
+  {0x99E7, 0xC202}, //4427 #HANGUL SYLLABLE SIOS YO NIEUNHIEUH
+  {0x99E8, 0xC203}, //4428 #HANGUL SYLLABLE SIOS YO TIKEUT
+  {0x99E9, 0xC205}, //4429 #HANGUL SYLLABLE SIOS YO RIEULKIYEOK
+  {0x99EA, 0xC206}, //4430 #HANGUL SYLLABLE SIOS YO RIEULMIEUM
+  {0x99EB, 0xC207}, //4431 #HANGUL SYLLABLE SIOS YO RIEULPIEUP
+  {0x99EC, 0xC208}, //4432 #HANGUL SYLLABLE SIOS YO RIEULSIOS
+  {0x99ED, 0xC209}, //4433 #HANGUL SYLLABLE SIOS YO RIEULTHIEUTH
+  {0x99EE, 0xC20A}, //4434 #HANGUL SYLLABLE SIOS YO RIEULPHIEUPH
+  {0x99EF, 0xC20B}, //4435 #HANGUL SYLLABLE SIOS YO RIEULHIEUH
+  {0x99F0, 0xC20E}, //4436 #HANGUL SYLLABLE SIOS YO PIEUPSIOS
+  {0x99F1, 0xC210}, //4437 #HANGUL SYLLABLE SIOS YO SSANGSIOS
+  {0x99F2, 0xC212}, //4438 #HANGUL SYLLABLE SIOS YO CIEUC
+  {0x99F3, 0xC213}, //4439 #HANGUL SYLLABLE SIOS YO CHIEUCH
+  {0x99F4, 0xC214}, //4440 #HANGUL SYLLABLE SIOS YO KHIEUKH
+  {0x99F5, 0xC215}, //4441 #HANGUL SYLLABLE SIOS YO THIEUTH
+  {0x99F6, 0xC216}, //4442 #HANGUL SYLLABLE SIOS YO PHIEUPH
+  {0x99F7, 0xC217}, //4443 #HANGUL SYLLABLE SIOS YO HIEUH
+  {0x99F8, 0xC21A}, //4444 #HANGUL SYLLABLE SIOS U SSANGKIYEOK
+  {0x99F9, 0xC21B}, //4445 #HANGUL SYLLABLE SIOS U KIYEOKSIOS
+  {0x99FA, 0xC21D}, //4446 #HANGUL SYLLABLE SIOS U NIEUNCIEUC
+  {0x99FB, 0xC21E}, //4447 #HANGUL SYLLABLE SIOS U NIEUNHIEUH
+  {0x99FC, 0xC221}, //4448 #HANGUL SYLLABLE SIOS U RIEULKIYEOK
+  {0x99FD, 0xC222}, //4449 #HANGUL SYLLABLE SIOS U RIEULMIEUM
+  {0x99FE, 0xC223}, //4450 #HANGUL SYLLABLE SIOS U RIEULPIEUP
+  {0x9A41, 0xC224}, //4451 #HANGUL SYLLABLE SIOS U RIEULSIOS
+  {0x9A42, 0xC225}, //4452 #HANGUL SYLLABLE SIOS U RIEULTHIEUTH
+  {0x9A43, 0xC226}, //4453 #HANGUL SYLLABLE SIOS U RIEULPHIEUPH
+  {0x9A44, 0xC227}, //4454 #HANGUL SYLLABLE SIOS U RIEULHIEUH
+  {0x9A45, 0xC22A}, //4455 #HANGUL SYLLABLE SIOS U PIEUPSIOS
+  {0x9A46, 0xC22C}, //4456 #HANGUL SYLLABLE SIOS U SSANGSIOS
+  {0x9A47, 0xC22E}, //4457 #HANGUL SYLLABLE SIOS U CIEUC
+  {0x9A48, 0xC230}, //4458 #HANGUL SYLLABLE SIOS U KHIEUKH
+  {0x9A49, 0xC233}, //4459 #HANGUL SYLLABLE SIOS U HIEUH
+  {0x9A4A, 0xC235}, //4460 #HANGUL SYLLABLE SIOS WEO KIYEOK
+  {0x9A4B, 0xC236}, //4461 #HANGUL SYLLABLE SIOS WEO SSANGKIYEOK
+  {0x9A4C, 0xC237}, //4462 #HANGUL SYLLABLE SIOS WEO KIYEOKSIOS
+  {0x9A4D, 0xC238}, //4463 #HANGUL SYLLABLE SIOS WEO NIEUN
+  {0x9A4E, 0xC239}, //4464 #HANGUL SYLLABLE SIOS WEO NIEUNCIEUC
+  {0x9A4F, 0xC23A}, //4465 #HANGUL SYLLABLE SIOS WEO NIEUNHIEUH
+  {0x9A50, 0xC23B}, //4466 #HANGUL SYLLABLE SIOS WEO TIKEUT
+  {0x9A51, 0xC23C}, //4467 #HANGUL SYLLABLE SIOS WEO RIEUL
+  {0x9A52, 0xC23D}, //4468 #HANGUL SYLLABLE SIOS WEO RIEULKIYEOK
+  {0x9A53, 0xC23E}, //4469 #HANGUL SYLLABLE SIOS WEO RIEULMIEUM
+  {0x9A54, 0xC23F}, //4470 #HANGUL SYLLABLE SIOS WEO RIEULPIEUP
+  {0x9A55, 0xC240}, //4471 #HANGUL SYLLABLE SIOS WEO RIEULSIOS
+  {0x9A56, 0xC241}, //4472 #HANGUL SYLLABLE SIOS WEO RIEULTHIEUTH
+  {0x9A57, 0xC242}, //4473 #HANGUL SYLLABLE SIOS WEO RIEULPHIEUPH
+  {0x9A58, 0xC243}, //4474 #HANGUL SYLLABLE SIOS WEO RIEULHIEUH
+  {0x9A59, 0xC244}, //4475 #HANGUL SYLLABLE SIOS WEO MIEUM
+  {0x9A5A, 0xC245}, //4476 #HANGUL SYLLABLE SIOS WEO PIEUP
+  {0x9A61, 0xC246}, //4477 #HANGUL SYLLABLE SIOS WEO PIEUPSIOS
+  {0x9A62, 0xC247}, //4478 #HANGUL SYLLABLE SIOS WEO SIOS
+  {0x9A63, 0xC249}, //4479 #HANGUL SYLLABLE SIOS WEO IEUNG
+  {0x9A64, 0xC24A}, //4480 #HANGUL SYLLABLE SIOS WEO CIEUC
+  {0x9A65, 0xC24B}, //4481 #HANGUL SYLLABLE SIOS WEO CHIEUCH
+  {0x9A66, 0xC24C}, //4482 #HANGUL SYLLABLE SIOS WEO KHIEUKH
+  {0x9A67, 0xC24D}, //4483 #HANGUL SYLLABLE SIOS WEO THIEUTH
+  {0x9A68, 0xC24E}, //4484 #HANGUL SYLLABLE SIOS WEO PHIEUPH
+  {0x9A69, 0xC24F}, //4485 #HANGUL SYLLABLE SIOS WEO HIEUH
+  {0x9A6A, 0xC252}, //4486 #HANGUL SYLLABLE SIOS WE SSANGKIYEOK
+  {0x9A6B, 0xC253}, //4487 #HANGUL SYLLABLE SIOS WE KIYEOKSIOS
+  {0x9A6C, 0xC255}, //4488 #HANGUL SYLLABLE SIOS WE NIEUNCIEUC
+  {0x9A6D, 0xC256}, //4489 #HANGUL SYLLABLE SIOS WE NIEUNHIEUH
+  {0x9A6E, 0xC257}, //4490 #HANGUL SYLLABLE SIOS WE TIKEUT
+  {0x9A6F, 0xC259}, //4491 #HANGUL SYLLABLE SIOS WE RIEULKIYEOK
+  {0x9A70, 0xC25A}, //4492 #HANGUL SYLLABLE SIOS WE RIEULMIEUM
+  {0x9A71, 0xC25B}, //4493 #HANGUL SYLLABLE SIOS WE RIEULPIEUP
+  {0x9A72, 0xC25C}, //4494 #HANGUL SYLLABLE SIOS WE RIEULSIOS
+  {0x9A73, 0xC25D}, //4495 #HANGUL SYLLABLE SIOS WE RIEULTHIEUTH
+  {0x9A74, 0xC25E}, //4496 #HANGUL SYLLABLE SIOS WE RIEULPHIEUPH
+  {0x9A75, 0xC25F}, //4497 #HANGUL SYLLABLE SIOS WE RIEULHIEUH
+  {0x9A76, 0xC261}, //4498 #HANGUL SYLLABLE SIOS WE PIEUP
+  {0x9A77, 0xC262}, //4499 #HANGUL SYLLABLE SIOS WE PIEUPSIOS
+  {0x9A78, 0xC263}, //4500 #HANGUL SYLLABLE SIOS WE SIOS
+  {0x9A79, 0xC264}, //4501 #HANGUL SYLLABLE SIOS WE SSANGSIOS
+  {0x9A7A, 0xC266}, //4502 #HANGUL SYLLABLE SIOS WE CIEUC
+  {0x9A81, 0xC267}, //4503 #HANGUL SYLLABLE SIOS WE CHIEUCH
+  {0x9A82, 0xC268}, //4504 #HANGUL SYLLABLE SIOS WE KHIEUKH
+  {0x9A83, 0xC269}, //4505 #HANGUL SYLLABLE SIOS WE THIEUTH
+  {0x9A84, 0xC26A}, //4506 #HANGUL SYLLABLE SIOS WE PHIEUPH
+  {0x9A85, 0xC26B}, //4507 #HANGUL SYLLABLE SIOS WE HIEUH
+  {0x9A86, 0xC26E}, //4508 #HANGUL SYLLABLE SIOS WI SSANGKIYEOK
+  {0x9A87, 0xC26F}, //4509 #HANGUL SYLLABLE SIOS WI KIYEOKSIOS
+  {0x9A88, 0xC271}, //4510 #HANGUL SYLLABLE SIOS WI NIEUNCIEUC
+  {0x9A89, 0xC272}, //4511 #HANGUL SYLLABLE SIOS WI NIEUNHIEUH
+  {0x9A8A, 0xC273}, //4512 #HANGUL SYLLABLE SIOS WI TIKEUT
+  {0x9A8B, 0xC275}, //4513 #HANGUL SYLLABLE SIOS WI RIEULKIYEOK
+  {0x9A8C, 0xC276}, //4514 #HANGUL SYLLABLE SIOS WI RIEULMIEUM
+  {0x9A8D, 0xC277}, //4515 #HANGUL SYLLABLE SIOS WI RIEULPIEUP
+  {0x9A8E, 0xC278}, //4516 #HANGUL SYLLABLE SIOS WI RIEULSIOS
+  {0x9A8F, 0xC279}, //4517 #HANGUL SYLLABLE SIOS WI RIEULTHIEUTH
+  {0x9A90, 0xC27A}, //4518 #HANGUL SYLLABLE SIOS WI RIEULPHIEUPH
+  {0x9A91, 0xC27B}, //4519 #HANGUL SYLLABLE SIOS WI RIEULHIEUH
+  {0x9A92, 0xC27E}, //4520 #HANGUL SYLLABLE SIOS WI PIEUPSIOS
+  {0x9A93, 0xC280}, //4521 #HANGUL SYLLABLE SIOS WI SSANGSIOS
+  {0x9A94, 0xC282}, //4522 #HANGUL SYLLABLE SIOS WI CIEUC
+  {0x9A95, 0xC283}, //4523 #HANGUL SYLLABLE SIOS WI CHIEUCH
+  {0x9A96, 0xC284}, //4524 #HANGUL SYLLABLE SIOS WI KHIEUKH
+  {0x9A97, 0xC285}, //4525 #HANGUL SYLLABLE SIOS WI THIEUTH
+  {0x9A98, 0xC286}, //4526 #HANGUL SYLLABLE SIOS WI PHIEUPH
+  {0x9A99, 0xC287}, //4527 #HANGUL SYLLABLE SIOS WI HIEUH
+  {0x9A9A, 0xC28A}, //4528 #HANGUL SYLLABLE SIOS YU SSANGKIYEOK
+  {0x9A9B, 0xC28B}, //4529 #HANGUL SYLLABLE SIOS YU KIYEOKSIOS
+  {0x9A9C, 0xC28C}, //4530 #HANGUL SYLLABLE SIOS YU NIEUN
+  {0x9A9D, 0xC28D}, //4531 #HANGUL SYLLABLE SIOS YU NIEUNCIEUC
+  {0x9A9E, 0xC28E}, //4532 #HANGUL SYLLABLE SIOS YU NIEUNHIEUH
+  {0x9A9F, 0xC28F}, //4533 #HANGUL SYLLABLE SIOS YU TIKEUT
+  {0x9AA0, 0xC291}, //4534 #HANGUL SYLLABLE SIOS YU RIEULKIYEOK
+  {0x9AA1, 0xC292}, //4535 #HANGUL SYLLABLE SIOS YU RIEULMIEUM
+  {0x9AA2, 0xC293}, //4536 #HANGUL SYLLABLE SIOS YU RIEULPIEUP
+  {0x9AA3, 0xC294}, //4537 #HANGUL SYLLABLE SIOS YU RIEULSIOS
+  {0x9AA4, 0xC295}, //4538 #HANGUL SYLLABLE SIOS YU RIEULTHIEUTH
+  {0x9AA5, 0xC296}, //4539 #HANGUL SYLLABLE SIOS YU RIEULPHIEUPH
+  {0x9AA6, 0xC297}, //4540 #HANGUL SYLLABLE SIOS YU RIEULHIEUH
+  {0x9AA7, 0xC299}, //4541 #HANGUL SYLLABLE SIOS YU PIEUP
+  {0x9AA8, 0xC29A}, //4542 #HANGUL SYLLABLE SIOS YU PIEUPSIOS
+  {0x9AA9, 0xC29C}, //4543 #HANGUL SYLLABLE SIOS YU SSANGSIOS
+  {0x9AAA, 0xC29E}, //4544 #HANGUL SYLLABLE SIOS YU CIEUC
+  {0x9AAB, 0xC29F}, //4545 #HANGUL SYLLABLE SIOS YU CHIEUCH
+  {0x9AAC, 0xC2A0}, //4546 #HANGUL SYLLABLE SIOS YU KHIEUKH
+  {0x9AAD, 0xC2A1}, //4547 #HANGUL SYLLABLE SIOS YU THIEUTH
+  {0x9AAE, 0xC2A2}, //4548 #HANGUL SYLLABLE SIOS YU PHIEUPH
+  {0x9AAF, 0xC2A3}, //4549 #HANGUL SYLLABLE SIOS YU HIEUH
+  {0x9AB0, 0xC2A6}, //4550 #HANGUL SYLLABLE SIOS EU SSANGKIYEOK
+  {0x9AB1, 0xC2A7}, //4551 #HANGUL SYLLABLE SIOS EU KIYEOKSIOS
+  {0x9AB2, 0xC2A9}, //4552 #HANGUL SYLLABLE SIOS EU NIEUNCIEUC
+  {0x9AB3, 0xC2AA}, //4553 #HANGUL SYLLABLE SIOS EU NIEUNHIEUH
+  {0x9AB4, 0xC2AB}, //4554 #HANGUL SYLLABLE SIOS EU TIKEUT
+  {0x9AB5, 0xC2AE}, //4555 #HANGUL SYLLABLE SIOS EU RIEULMIEUM
+  {0x9AB6, 0xC2AF}, //4556 #HANGUL SYLLABLE SIOS EU RIEULPIEUP
+  {0x9AB7, 0xC2B0}, //4557 #HANGUL SYLLABLE SIOS EU RIEULSIOS
+  {0x9AB8, 0xC2B1}, //4558 #HANGUL SYLLABLE SIOS EU RIEULTHIEUTH
+  {0x9AB9, 0xC2B2}, //4559 #HANGUL SYLLABLE SIOS EU RIEULPHIEUPH
+  {0x9ABA, 0xC2B3}, //4560 #HANGUL SYLLABLE SIOS EU RIEULHIEUH
+  {0x9ABB, 0xC2B6}, //4561 #HANGUL SYLLABLE SIOS EU PIEUPSIOS
+  {0x9ABC, 0xC2B8}, //4562 #HANGUL SYLLABLE SIOS EU SSANGSIOS
+  {0x9ABD, 0xC2BA}, //4563 #HANGUL SYLLABLE SIOS EU CIEUC
+  {0x9ABE, 0xC2BB}, //4564 #HANGUL SYLLABLE SIOS EU CHIEUCH
+  {0x9ABF, 0xC2BC}, //4565 #HANGUL SYLLABLE SIOS EU KHIEUKH
+  {0x9AC0, 0xC2BD}, //4566 #HANGUL SYLLABLE SIOS EU THIEUTH
+  {0x9AC1, 0xC2BE}, //4567 #HANGUL SYLLABLE SIOS EU PHIEUPH
+  {0x9AC2, 0xC2BF}, //4568 #HANGUL SYLLABLE SIOS EU HIEUH
+  {0x9AC3, 0xC2C0}, //4569 #HANGUL SYLLABLE SIOS YI
+  {0x9AC4, 0xC2C1}, //4570 #HANGUL SYLLABLE SIOS YI KIYEOK
+  {0x9AC5, 0xC2C2}, //4571 #HANGUL SYLLABLE SIOS YI SSANGKIYEOK
+  {0x9AC6, 0xC2C3}, //4572 #HANGUL SYLLABLE SIOS YI KIYEOKSIOS
+  {0x9AC7, 0xC2C4}, //4573 #HANGUL SYLLABLE SIOS YI NIEUN
+  {0x9AC8, 0xC2C5}, //4574 #HANGUL SYLLABLE SIOS YI NIEUNCIEUC
+  {0x9AC9, 0xC2C6}, //4575 #HANGUL SYLLABLE SIOS YI NIEUNHIEUH
+  {0x9ACA, 0xC2C7}, //4576 #HANGUL SYLLABLE SIOS YI TIKEUT
+  {0x9ACB, 0xC2C8}, //4577 #HANGUL SYLLABLE SIOS YI RIEUL
+  {0x9ACC, 0xC2C9}, //4578 #HANGUL SYLLABLE SIOS YI RIEULKIYEOK
+  {0x9ACD, 0xC2CA}, //4579 #HANGUL SYLLABLE SIOS YI RIEULMIEUM
+  {0x9ACE, 0xC2CB}, //4580 #HANGUL SYLLABLE SIOS YI RIEULPIEUP
+  {0x9ACF, 0xC2CC}, //4581 #HANGUL SYLLABLE SIOS YI RIEULSIOS
+  {0x9AD0, 0xC2CD}, //4582 #HANGUL SYLLABLE SIOS YI RIEULTHIEUTH
+  {0x9AD1, 0xC2CE}, //4583 #HANGUL SYLLABLE SIOS YI RIEULPHIEUPH
+  {0x9AD2, 0xC2CF}, //4584 #HANGUL SYLLABLE SIOS YI RIEULHIEUH
+  {0x9AD3, 0xC2D0}, //4585 #HANGUL SYLLABLE SIOS YI MIEUM
+  {0x9AD4, 0xC2D1}, //4586 #HANGUL SYLLABLE SIOS YI PIEUP
+  {0x9AD5, 0xC2D2}, //4587 #HANGUL SYLLABLE SIOS YI PIEUPSIOS
+  {0x9AD6, 0xC2D3}, //4588 #HANGUL SYLLABLE SIOS YI SIOS
+  {0x9AD7, 0xC2D4}, //4589 #HANGUL SYLLABLE SIOS YI SSANGSIOS
+  {0x9AD8, 0xC2D5}, //4590 #HANGUL SYLLABLE SIOS YI IEUNG
+  {0x9AD9, 0xC2D6}, //4591 #HANGUL SYLLABLE SIOS YI CIEUC
+  {0x9ADA, 0xC2D7}, //4592 #HANGUL SYLLABLE SIOS YI CHIEUCH
+  {0x9ADB, 0xC2D8}, //4593 #HANGUL SYLLABLE SIOS YI KHIEUKH
+  {0x9ADC, 0xC2D9}, //4594 #HANGUL SYLLABLE SIOS YI THIEUTH
+  {0x9ADD, 0xC2DA}, //4595 #HANGUL SYLLABLE SIOS YI PHIEUPH
+  {0x9ADE, 0xC2DB}, //4596 #HANGUL SYLLABLE SIOS YI HIEUH
+  {0x9ADF, 0xC2DE}, //4597 #HANGUL SYLLABLE SIOS I SSANGKIYEOK
+  {0x9AE0, 0xC2DF}, //4598 #HANGUL SYLLABLE SIOS I KIYEOKSIOS
+  {0x9AE1, 0xC2E1}, //4599 #HANGUL SYLLABLE SIOS I NIEUNCIEUC
+  {0x9AE2, 0xC2E2}, //4600 #HANGUL SYLLABLE SIOS I NIEUNHIEUH
+  {0x9AE3, 0xC2E5}, //4601 #HANGUL SYLLABLE SIOS I RIEULKIYEOK
+  {0x9AE4, 0xC2E6}, //4602 #HANGUL SYLLABLE SIOS I RIEULMIEUM
+  {0x9AE5, 0xC2E7}, //4603 #HANGUL SYLLABLE SIOS I RIEULPIEUP
+  {0x9AE6, 0xC2E8}, //4604 #HANGUL SYLLABLE SIOS I RIEULSIOS
+  {0x9AE7, 0xC2E9}, //4605 #HANGUL SYLLABLE SIOS I RIEULTHIEUTH
+  {0x9AE8, 0xC2EA}, //4606 #HANGUL SYLLABLE SIOS I RIEULPHIEUPH
+  {0x9AE9, 0xC2EE}, //4607 #HANGUL SYLLABLE SIOS I PIEUPSIOS
+  {0x9AEA, 0xC2F0}, //4608 #HANGUL SYLLABLE SIOS I SSANGSIOS
+  {0x9AEB, 0xC2F2}, //4609 #HANGUL SYLLABLE SIOS I CIEUC
+  {0x9AEC, 0xC2F3}, //4610 #HANGUL SYLLABLE SIOS I CHIEUCH
+  {0x9AED, 0xC2F4}, //4611 #HANGUL SYLLABLE SIOS I KHIEUKH
+  {0x9AEE, 0xC2F5}, //4612 #HANGUL SYLLABLE SIOS I THIEUTH
+  {0x9AEF, 0xC2F7}, //4613 #HANGUL SYLLABLE SIOS I HIEUH
+  {0x9AF0, 0xC2FA}, //4614 #HANGUL SYLLABLE SSANGSIOS A SSANGKIYEOK
+  {0x9AF1, 0xC2FD}, //4615 #HANGUL SYLLABLE SSANGSIOS A NIEUNCIEUC
+  {0x9AF2, 0xC2FE}, //4616 #HANGUL SYLLABLE SSANGSIOS A NIEUNHIEUH
+  {0x9AF3, 0xC2FF}, //4617 #HANGUL SYLLABLE SSANGSIOS A TIKEUT
+  {0x9AF4, 0xC301}, //4618 #HANGUL SYLLABLE SSANGSIOS A RIEULKIYEOK
+  {0x9AF5, 0xC302}, //4619 #HANGUL SYLLABLE SSANGSIOS A RIEULMIEUM
+  {0x9AF6, 0xC303}, //4620 #HANGUL SYLLABLE SSANGSIOS A RIEULPIEUP
+  {0x9AF7, 0xC304}, //4621 #HANGUL SYLLABLE SSANGSIOS A RIEULSIOS
+  {0x9AF8, 0xC305}, //4622 #HANGUL SYLLABLE SSANGSIOS A RIEULTHIEUTH
+  {0x9AF9, 0xC306}, //4623 #HANGUL SYLLABLE SSANGSIOS A RIEULPHIEUPH
+  {0x9AFA, 0xC307}, //4624 #HANGUL SYLLABLE SSANGSIOS A RIEULHIEUH
+  {0x9AFB, 0xC30A}, //4625 #HANGUL SYLLABLE SSANGSIOS A PIEUPSIOS
+  {0x9AFC, 0xC30B}, //4626 #HANGUL SYLLABLE SSANGSIOS A SIOS
+  {0x9AFD, 0xC30E}, //4627 #HANGUL SYLLABLE SSANGSIOS A CIEUC
+  {0x9AFE, 0xC30F}, //4628 #HANGUL SYLLABLE SSANGSIOS A CHIEUCH
+  {0x9B41, 0xC310}, //4629 #HANGUL SYLLABLE SSANGSIOS A KHIEUKH
+  {0x9B42, 0xC311}, //4630 #HANGUL SYLLABLE SSANGSIOS A THIEUTH
+  {0x9B43, 0xC312}, //4631 #HANGUL SYLLABLE SSANGSIOS A PHIEUPH
+  {0x9B44, 0xC316}, //4632 #HANGUL SYLLABLE SSANGSIOS AE SSANGKIYEOK
+  {0x9B45, 0xC317}, //4633 #HANGUL SYLLABLE SSANGSIOS AE KIYEOKSIOS
+  {0x9B46, 0xC319}, //4634 #HANGUL SYLLABLE SSANGSIOS AE NIEUNCIEUC
+  {0x9B47, 0xC31A}, //4635 #HANGUL SYLLABLE SSANGSIOS AE NIEUNHIEUH
+  {0x9B48, 0xC31B}, //4636 #HANGUL SYLLABLE SSANGSIOS AE TIKEUT
+  {0x9B49, 0xC31D}, //4637 #HANGUL SYLLABLE SSANGSIOS AE RIEULKIYEOK
+  {0x9B4A, 0xC31E}, //4638 #HANGUL SYLLABLE SSANGSIOS AE RIEULMIEUM
+  {0x9B4B, 0xC31F}, //4639 #HANGUL SYLLABLE SSANGSIOS AE RIEULPIEUP
+  {0x9B4C, 0xC320}, //4640 #HANGUL SYLLABLE SSANGSIOS AE RIEULSIOS
+  {0x9B4D, 0xC321}, //4641 #HANGUL SYLLABLE SSANGSIOS AE RIEULTHIEUTH
+  {0x9B4E, 0xC322}, //4642 #HANGUL SYLLABLE SSANGSIOS AE RIEULPHIEUPH
+  {0x9B4F, 0xC323}, //4643 #HANGUL SYLLABLE SSANGSIOS AE RIEULHIEUH
+  {0x9B50, 0xC326}, //4644 #HANGUL SYLLABLE SSANGSIOS AE PIEUPSIOS
+  {0x9B51, 0xC327}, //4645 #HANGUL SYLLABLE SSANGSIOS AE SIOS
+  {0x9B52, 0xC32A}, //4646 #HANGUL SYLLABLE SSANGSIOS AE CIEUC
+  {0x9B53, 0xC32B}, //4647 #HANGUL SYLLABLE SSANGSIOS AE CHIEUCH
+  {0x9B54, 0xC32C}, //4648 #HANGUL SYLLABLE SSANGSIOS AE KHIEUKH
+  {0x9B55, 0xC32D}, //4649 #HANGUL SYLLABLE SSANGSIOS AE THIEUTH
+  {0x9B56, 0xC32E}, //4650 #HANGUL SYLLABLE SSANGSIOS AE PHIEUPH
+  {0x9B57, 0xC32F}, //4651 #HANGUL SYLLABLE SSANGSIOS AE HIEUH
+  {0x9B58, 0xC330}, //4652 #HANGUL SYLLABLE SSANGSIOS YA
+  {0x9B59, 0xC331}, //4653 #HANGUL SYLLABLE SSANGSIOS YA KIYEOK
+  {0x9B5A, 0xC332}, //4654 #HANGUL SYLLABLE SSANGSIOS YA SSANGKIYEOK
+  {0x9B61, 0xC333}, //4655 #HANGUL SYLLABLE SSANGSIOS YA KIYEOKSIOS
+  {0x9B62, 0xC334}, //4656 #HANGUL SYLLABLE SSANGSIOS YA NIEUN
+  {0x9B63, 0xC335}, //4657 #HANGUL SYLLABLE SSANGSIOS YA NIEUNCIEUC
+  {0x9B64, 0xC336}, //4658 #HANGUL SYLLABLE SSANGSIOS YA NIEUNHIEUH
+  {0x9B65, 0xC337}, //4659 #HANGUL SYLLABLE SSANGSIOS YA TIKEUT
+  {0x9B66, 0xC338}, //4660 #HANGUL SYLLABLE SSANGSIOS YA RIEUL
+  {0x9B67, 0xC339}, //4661 #HANGUL SYLLABLE SSANGSIOS YA RIEULKIYEOK
+  {0x9B68, 0xC33A}, //4662 #HANGUL SYLLABLE SSANGSIOS YA RIEULMIEUM
+  {0x9B69, 0xC33B}, //4663 #HANGUL SYLLABLE SSANGSIOS YA RIEULPIEUP
+  {0x9B6A, 0xC33C}, //4664 #HANGUL SYLLABLE SSANGSIOS YA RIEULSIOS
+  {0x9B6B, 0xC33D}, //4665 #HANGUL SYLLABLE SSANGSIOS YA RIEULTHIEUTH
+  {0x9B6C, 0xC33E}, //4666 #HANGUL SYLLABLE SSANGSIOS YA RIEULPHIEUPH
+  {0x9B6D, 0xC33F}, //4667 #HANGUL SYLLABLE SSANGSIOS YA RIEULHIEUH
+  {0x9B6E, 0xC340}, //4668 #HANGUL SYLLABLE SSANGSIOS YA MIEUM
+  {0x9B6F, 0xC341}, //4669 #HANGUL SYLLABLE SSANGSIOS YA PIEUP
+  {0x9B70, 0xC342}, //4670 #HANGUL SYLLABLE SSANGSIOS YA PIEUPSIOS
+  {0x9B71, 0xC343}, //4671 #HANGUL SYLLABLE SSANGSIOS YA SIOS
+  {0x9B72, 0xC344}, //4672 #HANGUL SYLLABLE SSANGSIOS YA SSANGSIOS
+  {0x9B73, 0xC346}, //4673 #HANGUL SYLLABLE SSANGSIOS YA CIEUC
+  {0x9B74, 0xC347}, //4674 #HANGUL SYLLABLE SSANGSIOS YA CHIEUCH
+  {0x9B75, 0xC348}, //4675 #HANGUL SYLLABLE SSANGSIOS YA KHIEUKH
+  {0x9B76, 0xC349}, //4676 #HANGUL SYLLABLE SSANGSIOS YA THIEUTH
+  {0x9B77, 0xC34A}, //4677 #HANGUL SYLLABLE SSANGSIOS YA PHIEUPH
+  {0x9B78, 0xC34B}, //4678 #HANGUL SYLLABLE SSANGSIOS YA HIEUH
+  {0x9B79, 0xC34C}, //4679 #HANGUL SYLLABLE SSANGSIOS YAE
+  {0x9B7A, 0xC34D}, //4680 #HANGUL SYLLABLE SSANGSIOS YAE KIYEOK
+  {0x9B81, 0xC34E}, //4681 #HANGUL SYLLABLE SSANGSIOS YAE SSANGKIYEOK
+  {0x9B82, 0xC34F}, //4682 #HANGUL SYLLABLE SSANGSIOS YAE KIYEOKSIOS
+  {0x9B83, 0xC350}, //4683 #HANGUL SYLLABLE SSANGSIOS YAE NIEUN
+  {0x9B84, 0xC351}, //4684 #HANGUL SYLLABLE SSANGSIOS YAE NIEUNCIEUC
+  {0x9B85, 0xC352}, //4685 #HANGUL SYLLABLE SSANGSIOS YAE NIEUNHIEUH
+  {0x9B86, 0xC353}, //4686 #HANGUL SYLLABLE SSANGSIOS YAE TIKEUT
+  {0x9B87, 0xC354}, //4687 #HANGUL SYLLABLE SSANGSIOS YAE RIEUL
+  {0x9B88, 0xC355}, //4688 #HANGUL SYLLABLE SSANGSIOS YAE RIEULKIYEOK
+  {0x9B89, 0xC356}, //4689 #HANGUL SYLLABLE SSANGSIOS YAE RIEULMIEUM
+  {0x9B8A, 0xC357}, //4690 #HANGUL SYLLABLE SSANGSIOS YAE RIEULPIEUP
+  {0x9B8B, 0xC358}, //4691 #HANGUL SYLLABLE SSANGSIOS YAE RIEULSIOS
+  {0x9B8C, 0xC359}, //4692 #HANGUL SYLLABLE SSANGSIOS YAE RIEULTHIEUTH
+  {0x9B8D, 0xC35A}, //4693 #HANGUL SYLLABLE SSANGSIOS YAE RIEULPHIEUPH
+  {0x9B8E, 0xC35B}, //4694 #HANGUL SYLLABLE SSANGSIOS YAE RIEULHIEUH
+  {0x9B8F, 0xC35C}, //4695 #HANGUL SYLLABLE SSANGSIOS YAE MIEUM
+  {0x9B90, 0xC35D}, //4696 #HANGUL SYLLABLE SSANGSIOS YAE PIEUP
+  {0x9B91, 0xC35E}, //4697 #HANGUL SYLLABLE SSANGSIOS YAE PIEUPSIOS
+  {0x9B92, 0xC35F}, //4698 #HANGUL SYLLABLE SSANGSIOS YAE SIOS
+  {0x9B93, 0xC360}, //4699 #HANGUL SYLLABLE SSANGSIOS YAE SSANGSIOS
+  {0x9B94, 0xC361}, //4700 #HANGUL SYLLABLE SSANGSIOS YAE IEUNG
+  {0x9B95, 0xC362}, //4701 #HANGUL SYLLABLE SSANGSIOS YAE CIEUC
+  {0x9B96, 0xC363}, //4702 #HANGUL SYLLABLE SSANGSIOS YAE CHIEUCH
+  {0x9B97, 0xC364}, //4703 #HANGUL SYLLABLE SSANGSIOS YAE KHIEUKH
+  {0x9B98, 0xC365}, //4704 #HANGUL SYLLABLE SSANGSIOS YAE THIEUTH
+  {0x9B99, 0xC366}, //4705 #HANGUL SYLLABLE SSANGSIOS YAE PHIEUPH
+  {0x9B9A, 0xC367}, //4706 #HANGUL SYLLABLE SSANGSIOS YAE HIEUH
+  {0x9B9B, 0xC36A}, //4707 #HANGUL SYLLABLE SSANGSIOS EO SSANGKIYEOK
+  {0x9B9C, 0xC36B}, //4708 #HANGUL SYLLABLE SSANGSIOS EO KIYEOKSIOS
+  {0x9B9D, 0xC36D}, //4709 #HANGUL SYLLABLE SSANGSIOS EO NIEUNCIEUC
+  {0x9B9E, 0xC36E}, //4710 #HANGUL SYLLABLE SSANGSIOS EO NIEUNHIEUH
+  {0x9B9F, 0xC36F}, //4711 #HANGUL SYLLABLE SSANGSIOS EO TIKEUT
+  {0x9BA0, 0xC371}, //4712 #HANGUL SYLLABLE SSANGSIOS EO RIEULKIYEOK
+  {0x9BA1, 0xC373}, //4713 #HANGUL SYLLABLE SSANGSIOS EO RIEULPIEUP
+  {0x9BA2, 0xC374}, //4714 #HANGUL SYLLABLE SSANGSIOS EO RIEULSIOS
+  {0x9BA3, 0xC375}, //4715 #HANGUL SYLLABLE SSANGSIOS EO RIEULTHIEUTH
+  {0x9BA4, 0xC376}, //4716 #HANGUL SYLLABLE SSANGSIOS EO RIEULPHIEUPH
+  {0x9BA5, 0xC377}, //4717 #HANGUL SYLLABLE SSANGSIOS EO RIEULHIEUH
+  {0x9BA6, 0xC37A}, //4718 #HANGUL SYLLABLE SSANGSIOS EO PIEUPSIOS
+  {0x9BA7, 0xC37B}, //4719 #HANGUL SYLLABLE SSANGSIOS EO SIOS
+  {0x9BA8, 0xC37E}, //4720 #HANGUL SYLLABLE SSANGSIOS EO CIEUC
+  {0x9BA9, 0xC37F}, //4721 #HANGUL SYLLABLE SSANGSIOS EO CHIEUCH
+  {0x9BAA, 0xC380}, //4722 #HANGUL SYLLABLE SSANGSIOS EO KHIEUKH
+  {0x9BAB, 0xC381}, //4723 #HANGUL SYLLABLE SSANGSIOS EO THIEUTH
+  {0x9BAC, 0xC382}, //4724 #HANGUL SYLLABLE SSANGSIOS EO PHIEUPH
+  {0x9BAD, 0xC383}, //4725 #HANGUL SYLLABLE SSANGSIOS EO HIEUH
+  {0x9BAE, 0xC385}, //4726 #HANGUL SYLLABLE SSANGSIOS E KIYEOK
+  {0x9BAF, 0xC386}, //4727 #HANGUL SYLLABLE SSANGSIOS E SSANGKIYEOK
+  {0x9BB0, 0xC387}, //4728 #HANGUL SYLLABLE SSANGSIOS E KIYEOKSIOS
+  {0x9BB1, 0xC389}, //4729 #HANGUL SYLLABLE SSANGSIOS E NIEUNCIEUC
+  {0x9BB2, 0xC38A}, //4730 #HANGUL SYLLABLE SSANGSIOS E NIEUNHIEUH
+  {0x9BB3, 0xC38B}, //4731 #HANGUL SYLLABLE SSANGSIOS E TIKEUT
+  {0x9BB4, 0xC38D}, //4732 #HANGUL SYLLABLE SSANGSIOS E RIEULKIYEOK
+  {0x9BB5, 0xC38E}, //4733 #HANGUL SYLLABLE SSANGSIOS E RIEULMIEUM
+  {0x9BB6, 0xC38F}, //4734 #HANGUL SYLLABLE SSANGSIOS E RIEULPIEUP
+  {0x9BB7, 0xC390}, //4735 #HANGUL SYLLABLE SSANGSIOS E RIEULSIOS
+  {0x9BB8, 0xC391}, //4736 #HANGUL SYLLABLE SSANGSIOS E RIEULTHIEUTH
+  {0x9BB9, 0xC392}, //4737 #HANGUL SYLLABLE SSANGSIOS E RIEULPHIEUPH
+  {0x9BBA, 0xC393}, //4738 #HANGUL SYLLABLE SSANGSIOS E RIEULHIEUH
+  {0x9BBB, 0xC394}, //4739 #HANGUL SYLLABLE SSANGSIOS E MIEUM
+  {0x9BBC, 0xC395}, //4740 #HANGUL SYLLABLE SSANGSIOS E PIEUP
+  {0x9BBD, 0xC396}, //4741 #HANGUL SYLLABLE SSANGSIOS E PIEUPSIOS
+  {0x9BBE, 0xC397}, //4742 #HANGUL SYLLABLE SSANGSIOS E SIOS
+  {0x9BBF, 0xC398}, //4743 #HANGUL SYLLABLE SSANGSIOS E SSANGSIOS
+  {0x9BC0, 0xC399}, //4744 #HANGUL SYLLABLE SSANGSIOS E IEUNG
+  {0x9BC1, 0xC39A}, //4745 #HANGUL SYLLABLE SSANGSIOS E CIEUC
+  {0x9BC2, 0xC39B}, //4746 #HANGUL SYLLABLE SSANGSIOS E CHIEUCH
+  {0x9BC3, 0xC39C}, //4747 #HANGUL SYLLABLE SSANGSIOS E KHIEUKH
+  {0x9BC4, 0xC39D}, //4748 #HANGUL SYLLABLE SSANGSIOS E THIEUTH
+  {0x9BC5, 0xC39E}, //4749 #HANGUL SYLLABLE SSANGSIOS E PHIEUPH
+  {0x9BC6, 0xC39F}, //4750 #HANGUL SYLLABLE SSANGSIOS E HIEUH
+  {0x9BC7, 0xC3A0}, //4751 #HANGUL SYLLABLE SSANGSIOS YEO
+  {0x9BC8, 0xC3A1}, //4752 #HANGUL SYLLABLE SSANGSIOS YEO KIYEOK
+  {0x9BC9, 0xC3A2}, //4753 #HANGUL SYLLABLE SSANGSIOS YEO SSANGKIYEOK
+  {0x9BCA, 0xC3A3}, //4754 #HANGUL SYLLABLE SSANGSIOS YEO KIYEOKSIOS
+  {0x9BCB, 0xC3A4}, //4755 #HANGUL SYLLABLE SSANGSIOS YEO NIEUN
+  {0x9BCC, 0xC3A5}, //4756 #HANGUL SYLLABLE SSANGSIOS YEO NIEUNCIEUC
+  {0x9BCD, 0xC3A6}, //4757 #HANGUL SYLLABLE SSANGSIOS YEO NIEUNHIEUH
+  {0x9BCE, 0xC3A7}, //4758 #HANGUL SYLLABLE SSANGSIOS YEO TIKEUT
+  {0x9BCF, 0xC3A8}, //4759 #HANGUL SYLLABLE SSANGSIOS YEO RIEUL
+  {0x9BD0, 0xC3A9}, //4760 #HANGUL SYLLABLE SSANGSIOS YEO RIEULKIYEOK
+  {0x9BD1, 0xC3AA}, //4761 #HANGUL SYLLABLE SSANGSIOS YEO RIEULMIEUM
+  {0x9BD2, 0xC3AB}, //4762 #HANGUL SYLLABLE SSANGSIOS YEO RIEULPIEUP
+  {0x9BD3, 0xC3AC}, //4763 #HANGUL SYLLABLE SSANGSIOS YEO RIEULSIOS
+  {0x9BD4, 0xC3AD}, //4764 #HANGUL SYLLABLE SSANGSIOS YEO RIEULTHIEUTH
+  {0x9BD5, 0xC3AE}, //4765 #HANGUL SYLLABLE SSANGSIOS YEO RIEULPHIEUPH
+  {0x9BD6, 0xC3AF}, //4766 #HANGUL SYLLABLE SSANGSIOS YEO RIEULHIEUH
+  {0x9BD7, 0xC3B0}, //4767 #HANGUL SYLLABLE SSANGSIOS YEO MIEUM
+  {0x9BD8, 0xC3B1}, //4768 #HANGUL SYLLABLE SSANGSIOS YEO PIEUP
+  {0x9BD9, 0xC3B2}, //4769 #HANGUL SYLLABLE SSANGSIOS YEO PIEUPSIOS
+  {0x9BDA, 0xC3B3}, //4770 #HANGUL SYLLABLE SSANGSIOS YEO SIOS
+  {0x9BDB, 0xC3B4}, //4771 #HANGUL SYLLABLE SSANGSIOS YEO SSANGSIOS
+  {0x9BDC, 0xC3B5}, //4772 #HANGUL SYLLABLE SSANGSIOS YEO IEUNG
+  {0x9BDD, 0xC3B6}, //4773 #HANGUL SYLLABLE SSANGSIOS YEO CIEUC
+  {0x9BDE, 0xC3B7}, //4774 #HANGUL SYLLABLE SSANGSIOS YEO CHIEUCH
+  {0x9BDF, 0xC3B8}, //4775 #HANGUL SYLLABLE SSANGSIOS YEO KHIEUKH
+  {0x9BE0, 0xC3B9}, //4776 #HANGUL SYLLABLE SSANGSIOS YEO THIEUTH
+  {0x9BE1, 0xC3BA}, //4777 #HANGUL SYLLABLE SSANGSIOS YEO PHIEUPH
+  {0x9BE2, 0xC3BB}, //4778 #HANGUL SYLLABLE SSANGSIOS YEO HIEUH
+  {0x9BE3, 0xC3BC}, //4779 #HANGUL SYLLABLE SSANGSIOS YE
+  {0x9BE4, 0xC3BD}, //4780 #HANGUL SYLLABLE SSANGSIOS YE KIYEOK
+  {0x9BE5, 0xC3BE}, //4781 #HANGUL SYLLABLE SSANGSIOS YE SSANGKIYEOK
+  {0x9BE6, 0xC3BF}, //4782 #HANGUL SYLLABLE SSANGSIOS YE KIYEOKSIOS
+  {0x9BE7, 0xC3C1}, //4783 #HANGUL SYLLABLE SSANGSIOS YE NIEUNCIEUC
+  {0x9BE8, 0xC3C2}, //4784 #HANGUL SYLLABLE SSANGSIOS YE NIEUNHIEUH
+  {0x9BE9, 0xC3C3}, //4785 #HANGUL SYLLABLE SSANGSIOS YE TIKEUT
+  {0x9BEA, 0xC3C4}, //4786 #HANGUL SYLLABLE SSANGSIOS YE RIEUL
+  {0x9BEB, 0xC3C5}, //4787 #HANGUL SYLLABLE SSANGSIOS YE RIEULKIYEOK
+  {0x9BEC, 0xC3C6}, //4788 #HANGUL SYLLABLE SSANGSIOS YE RIEULMIEUM
+  {0x9BED, 0xC3C7}, //4789 #HANGUL SYLLABLE SSANGSIOS YE RIEULPIEUP
+  {0x9BEE, 0xC3C8}, //4790 #HANGUL SYLLABLE SSANGSIOS YE RIEULSIOS
+  {0x9BEF, 0xC3C9}, //4791 #HANGUL SYLLABLE SSANGSIOS YE RIEULTHIEUTH
+  {0x9BF0, 0xC3CA}, //4792 #HANGUL SYLLABLE SSANGSIOS YE RIEULPHIEUPH
+  {0x9BF1, 0xC3CB}, //4793 #HANGUL SYLLABLE SSANGSIOS YE RIEULHIEUH
+  {0x9BF2, 0xC3CC}, //4794 #HANGUL SYLLABLE SSANGSIOS YE MIEUM
+  {0x9BF3, 0xC3CD}, //4795 #HANGUL SYLLABLE SSANGSIOS YE PIEUP
+  {0x9BF4, 0xC3CE}, //4796 #HANGUL SYLLABLE SSANGSIOS YE PIEUPSIOS
+  {0x9BF5, 0xC3CF}, //4797 #HANGUL SYLLABLE SSANGSIOS YE SIOS
+  {0x9BF6, 0xC3D0}, //4798 #HANGUL SYLLABLE SSANGSIOS YE SSANGSIOS
+  {0x9BF7, 0xC3D1}, //4799 #HANGUL SYLLABLE SSANGSIOS YE IEUNG
+  {0x9BF8, 0xC3D2}, //4800 #HANGUL SYLLABLE SSANGSIOS YE CIEUC
+  {0x9BF9, 0xC3D3}, //4801 #HANGUL SYLLABLE SSANGSIOS YE CHIEUCH
+  {0x9BFA, 0xC3D4}, //4802 #HANGUL SYLLABLE SSANGSIOS YE KHIEUKH
+  {0x9BFB, 0xC3D5}, //4803 #HANGUL SYLLABLE SSANGSIOS YE THIEUTH
+  {0x9BFC, 0xC3D6}, //4804 #HANGUL SYLLABLE SSANGSIOS YE PHIEUPH
+  {0x9BFD, 0xC3D7}, //4805 #HANGUL SYLLABLE SSANGSIOS YE HIEUH
+  {0x9BFE, 0xC3DA}, //4806 #HANGUL SYLLABLE SSANGSIOS O SSANGKIYEOK
+  {0x9C41, 0xC3DB}, //4807 #HANGUL SYLLABLE SSANGSIOS O KIYEOKSIOS
+  {0x9C42, 0xC3DD}, //4808 #HANGUL SYLLABLE SSANGSIOS O NIEUNCIEUC
+  {0x9C43, 0xC3DE}, //4809 #HANGUL SYLLABLE SSANGSIOS O NIEUNHIEUH
+  {0x9C44, 0xC3E1}, //4810 #HANGUL SYLLABLE SSANGSIOS O RIEULKIYEOK
+  {0x9C45, 0xC3E3}, //4811 #HANGUL SYLLABLE SSANGSIOS O RIEULPIEUP
+  {0x9C46, 0xC3E4}, //4812 #HANGUL SYLLABLE SSANGSIOS O RIEULSIOS
+  {0x9C47, 0xC3E5}, //4813 #HANGUL SYLLABLE SSANGSIOS O RIEULTHIEUTH
+  {0x9C48, 0xC3E6}, //4814 #HANGUL SYLLABLE SSANGSIOS O RIEULPHIEUPH
+  {0x9C49, 0xC3E7}, //4815 #HANGUL SYLLABLE SSANGSIOS O RIEULHIEUH
+  {0x9C4A, 0xC3EA}, //4816 #HANGUL SYLLABLE SSANGSIOS O PIEUPSIOS
+  {0x9C4B, 0xC3EB}, //4817 #HANGUL SYLLABLE SSANGSIOS O SIOS
+  {0x9C4C, 0xC3EC}, //4818 #HANGUL SYLLABLE SSANGSIOS O SSANGSIOS
+  {0x9C4D, 0xC3EE}, //4819 #HANGUL SYLLABLE SSANGSIOS O CIEUC
+  {0x9C4E, 0xC3EF}, //4820 #HANGUL SYLLABLE SSANGSIOS O CHIEUCH
+  {0x9C4F, 0xC3F0}, //4821 #HANGUL SYLLABLE SSANGSIOS O KHIEUKH
+  {0x9C50, 0xC3F1}, //4822 #HANGUL SYLLABLE SSANGSIOS O THIEUTH
+  {0x9C51, 0xC3F2}, //4823 #HANGUL SYLLABLE SSANGSIOS O PHIEUPH
+  {0x9C52, 0xC3F3}, //4824 #HANGUL SYLLABLE SSANGSIOS O HIEUH
+  {0x9C53, 0xC3F6}, //4825 #HANGUL SYLLABLE SSANGSIOS WA SSANGKIYEOK
+  {0x9C54, 0xC3F7}, //4826 #HANGUL SYLLABLE SSANGSIOS WA KIYEOKSIOS
+  {0x9C55, 0xC3F9}, //4827 #HANGUL SYLLABLE SSANGSIOS WA NIEUNCIEUC
+  {0x9C56, 0xC3FA}, //4828 #HANGUL SYLLABLE SSANGSIOS WA NIEUNHIEUH
+  {0x9C57, 0xC3FB}, //4829 #HANGUL SYLLABLE SSANGSIOS WA TIKEUT
+  {0x9C58, 0xC3FC}, //4830 #HANGUL SYLLABLE SSANGSIOS WA RIEUL
+  {0x9C59, 0xC3FD}, //4831 #HANGUL SYLLABLE SSANGSIOS WA RIEULKIYEOK
+  {0x9C5A, 0xC3FE}, //4832 #HANGUL SYLLABLE SSANGSIOS WA RIEULMIEUM
+  {0x9C61, 0xC3FF}, //4833 #HANGUL SYLLABLE SSANGSIOS WA RIEULPIEUP
+  {0x9C62, 0xC400}, //4834 #HANGUL SYLLABLE SSANGSIOS WA RIEULSIOS
+  {0x9C63, 0xC401}, //4835 #HANGUL SYLLABLE SSANGSIOS WA RIEULTHIEUTH
+  {0x9C64, 0xC402}, //4836 #HANGUL SYLLABLE SSANGSIOS WA RIEULPHIEUPH
+  {0x9C65, 0xC403}, //4837 #HANGUL SYLLABLE SSANGSIOS WA RIEULHIEUH
+  {0x9C66, 0xC404}, //4838 #HANGUL SYLLABLE SSANGSIOS WA MIEUM
+  {0x9C67, 0xC405}, //4839 #HANGUL SYLLABLE SSANGSIOS WA PIEUP
+  {0x9C68, 0xC406}, //4840 #HANGUL SYLLABLE SSANGSIOS WA PIEUPSIOS
+  {0x9C69, 0xC407}, //4841 #HANGUL SYLLABLE SSANGSIOS WA SIOS
+  {0x9C6A, 0xC409}, //4842 #HANGUL SYLLABLE SSANGSIOS WA IEUNG
+  {0x9C6B, 0xC40A}, //4843 #HANGUL SYLLABLE SSANGSIOS WA CIEUC
+  {0x9C6C, 0xC40B}, //4844 #HANGUL SYLLABLE SSANGSIOS WA CHIEUCH
+  {0x9C6D, 0xC40C}, //4845 #HANGUL SYLLABLE SSANGSIOS WA KHIEUKH
+  {0x9C6E, 0xC40D}, //4846 #HANGUL SYLLABLE SSANGSIOS WA THIEUTH
+  {0x9C6F, 0xC40E}, //4847 #HANGUL SYLLABLE SSANGSIOS WA PHIEUPH
+  {0x9C70, 0xC40F}, //4848 #HANGUL SYLLABLE SSANGSIOS WA HIEUH
+  {0x9C71, 0xC411}, //4849 #HANGUL SYLLABLE SSANGSIOS WAE KIYEOK
+  {0x9C72, 0xC412}, //4850 #HANGUL SYLLABLE SSANGSIOS WAE SSANGKIYEOK
+  {0x9C73, 0xC413}, //4851 #HANGUL SYLLABLE SSANGSIOS WAE KIYEOKSIOS
+  {0x9C74, 0xC414}, //4852 #HANGUL SYLLABLE SSANGSIOS WAE NIEUN
+  {0x9C75, 0xC415}, //4853 #HANGUL SYLLABLE SSANGSIOS WAE NIEUNCIEUC
+  {0x9C76, 0xC416}, //4854 #HANGUL SYLLABLE SSANGSIOS WAE NIEUNHIEUH
+  {0x9C77, 0xC417}, //4855 #HANGUL SYLLABLE SSANGSIOS WAE TIKEUT
+  {0x9C78, 0xC418}, //4856 #HANGUL SYLLABLE SSANGSIOS WAE RIEUL
+  {0x9C79, 0xC419}, //4857 #HANGUL SYLLABLE SSANGSIOS WAE RIEULKIYEOK
+  {0x9C7A, 0xC41A}, //4858 #HANGUL SYLLABLE SSANGSIOS WAE RIEULMIEUM
+  {0x9C81, 0xC41B}, //4859 #HANGUL SYLLABLE SSANGSIOS WAE RIEULPIEUP
+  {0x9C82, 0xC41C}, //4860 #HANGUL SYLLABLE SSANGSIOS WAE RIEULSIOS
+  {0x9C83, 0xC41D}, //4861 #HANGUL SYLLABLE SSANGSIOS WAE RIEULTHIEUTH
+  {0x9C84, 0xC41E}, //4862 #HANGUL SYLLABLE SSANGSIOS WAE RIEULPHIEUPH
+  {0x9C85, 0xC41F}, //4863 #HANGUL SYLLABLE SSANGSIOS WAE RIEULHIEUH
+  {0x9C86, 0xC420}, //4864 #HANGUL SYLLABLE SSANGSIOS WAE MIEUM
+  {0x9C87, 0xC421}, //4865 #HANGUL SYLLABLE SSANGSIOS WAE PIEUP
+  {0x9C88, 0xC422}, //4866 #HANGUL SYLLABLE SSANGSIOS WAE PIEUPSIOS
+  {0x9C89, 0xC423}, //4867 #HANGUL SYLLABLE SSANGSIOS WAE SIOS
+  {0x9C8A, 0xC425}, //4868 #HANGUL SYLLABLE SSANGSIOS WAE IEUNG
+  {0x9C8B, 0xC426}, //4869 #HANGUL SYLLABLE SSANGSIOS WAE CIEUC
+  {0x9C8C, 0xC427}, //4870 #HANGUL SYLLABLE SSANGSIOS WAE CHIEUCH
+  {0x9C8D, 0xC428}, //4871 #HANGUL SYLLABLE SSANGSIOS WAE KHIEUKH
+  {0x9C8E, 0xC429}, //4872 #HANGUL SYLLABLE SSANGSIOS WAE THIEUTH
+  {0x9C8F, 0xC42A}, //4873 #HANGUL SYLLABLE SSANGSIOS WAE PHIEUPH
+  {0x9C90, 0xC42B}, //4874 #HANGUL SYLLABLE SSANGSIOS WAE HIEUH
+  {0x9C91, 0xC42D}, //4875 #HANGUL SYLLABLE SSANGSIOS OE KIYEOK
+  {0x9C92, 0xC42E}, //4876 #HANGUL SYLLABLE SSANGSIOS OE SSANGKIYEOK
+  {0x9C93, 0xC42F}, //4877 #HANGUL SYLLABLE SSANGSIOS OE KIYEOKSIOS
+  {0x9C94, 0xC431}, //4878 #HANGUL SYLLABLE SSANGSIOS OE NIEUNCIEUC
+  {0x9C95, 0xC432}, //4879 #HANGUL SYLLABLE SSANGSIOS OE NIEUNHIEUH
+  {0x9C96, 0xC433}, //4880 #HANGUL SYLLABLE SSANGSIOS OE TIKEUT
+  {0x9C97, 0xC435}, //4881 #HANGUL SYLLABLE SSANGSIOS OE RIEULKIYEOK
+  {0x9C98, 0xC436}, //4882 #HANGUL SYLLABLE SSANGSIOS OE RIEULMIEUM
+  {0x9C99, 0xC437}, //4883 #HANGUL SYLLABLE SSANGSIOS OE RIEULPIEUP
+  {0x9C9A, 0xC438}, //4884 #HANGUL SYLLABLE SSANGSIOS OE RIEULSIOS
+  {0x9C9B, 0xC439}, //4885 #HANGUL SYLLABLE SSANGSIOS OE RIEULTHIEUTH
+  {0x9C9C, 0xC43A}, //4886 #HANGUL SYLLABLE SSANGSIOS OE RIEULPHIEUPH
+  {0x9C9D, 0xC43B}, //4887 #HANGUL SYLLABLE SSANGSIOS OE RIEULHIEUH
+  {0x9C9E, 0xC43E}, //4888 #HANGUL SYLLABLE SSANGSIOS OE PIEUPSIOS
+  {0x9C9F, 0xC43F}, //4889 #HANGUL SYLLABLE SSANGSIOS OE SIOS
+  {0x9CA0, 0xC440}, //4890 #HANGUL SYLLABLE SSANGSIOS OE SSANGSIOS
+  {0x9CA1, 0xC441}, //4891 #HANGUL SYLLABLE SSANGSIOS OE IEUNG
+  {0x9CA2, 0xC442}, //4892 #HANGUL SYLLABLE SSANGSIOS OE CIEUC
+  {0x9CA3, 0xC443}, //4893 #HANGUL SYLLABLE SSANGSIOS OE CHIEUCH
+  {0x9CA4, 0xC444}, //4894 #HANGUL SYLLABLE SSANGSIOS OE KHIEUKH
+  {0x9CA5, 0xC445}, //4895 #HANGUL SYLLABLE SSANGSIOS OE THIEUTH
+  {0x9CA6, 0xC446}, //4896 #HANGUL SYLLABLE SSANGSIOS OE PHIEUPH
+  {0x9CA7, 0xC447}, //4897 #HANGUL SYLLABLE SSANGSIOS OE HIEUH
+  {0x9CA8, 0xC449}, //4898 #HANGUL SYLLABLE SSANGSIOS YO KIYEOK
+  {0x9CA9, 0xC44A}, //4899 #HANGUL SYLLABLE SSANGSIOS YO SSANGKIYEOK
+  {0x9CAA, 0xC44B}, //4900 #HANGUL SYLLABLE SSANGSIOS YO KIYEOKSIOS
+  {0x9CAB, 0xC44C}, //4901 #HANGUL SYLLABLE SSANGSIOS YO NIEUN
+  {0x9CAC, 0xC44D}, //4902 #HANGUL SYLLABLE SSANGSIOS YO NIEUNCIEUC
+  {0x9CAD, 0xC44E}, //4903 #HANGUL SYLLABLE SSANGSIOS YO NIEUNHIEUH
+  {0x9CAE, 0xC44F}, //4904 #HANGUL SYLLABLE SSANGSIOS YO TIKEUT
+  {0x9CAF, 0xC450}, //4905 #HANGUL SYLLABLE SSANGSIOS YO RIEUL
+  {0x9CB0, 0xC451}, //4906 #HANGUL SYLLABLE SSANGSIOS YO RIEULKIYEOK
+  {0x9CB1, 0xC452}, //4907 #HANGUL SYLLABLE SSANGSIOS YO RIEULMIEUM
+  {0x9CB2, 0xC453}, //4908 #HANGUL SYLLABLE SSANGSIOS YO RIEULPIEUP
+  {0x9CB3, 0xC454}, //4909 #HANGUL SYLLABLE SSANGSIOS YO RIEULSIOS
+  {0x9CB4, 0xC455}, //4910 #HANGUL SYLLABLE SSANGSIOS YO RIEULTHIEUTH
+  {0x9CB5, 0xC456}, //4911 #HANGUL SYLLABLE SSANGSIOS YO RIEULPHIEUPH
+  {0x9CB6, 0xC457}, //4912 #HANGUL SYLLABLE SSANGSIOS YO RIEULHIEUH
+  {0x9CB7, 0xC458}, //4913 #HANGUL SYLLABLE SSANGSIOS YO MIEUM
+  {0x9CB8, 0xC459}, //4914 #HANGUL SYLLABLE SSANGSIOS YO PIEUP
+  {0x9CB9, 0xC45A}, //4915 #HANGUL SYLLABLE SSANGSIOS YO PIEUPSIOS
+  {0x9CBA, 0xC45B}, //4916 #HANGUL SYLLABLE SSANGSIOS YO SIOS
+  {0x9CBB, 0xC45C}, //4917 #HANGUL SYLLABLE SSANGSIOS YO SSANGSIOS
+  {0x9CBC, 0xC45D}, //4918 #HANGUL SYLLABLE SSANGSIOS YO IEUNG
+  {0x9CBD, 0xC45E}, //4919 #HANGUL SYLLABLE SSANGSIOS YO CIEUC
+  {0x9CBE, 0xC45F}, //4920 #HANGUL SYLLABLE SSANGSIOS YO CHIEUCH
+  {0x9CBF, 0xC460}, //4921 #HANGUL SYLLABLE SSANGSIOS YO KHIEUKH
+  {0x9CC0, 0xC461}, //4922 #HANGUL SYLLABLE SSANGSIOS YO THIEUTH
+  {0x9CC1, 0xC462}, //4923 #HANGUL SYLLABLE SSANGSIOS YO PHIEUPH
+  {0x9CC2, 0xC463}, //4924 #HANGUL SYLLABLE SSANGSIOS YO HIEUH
+  {0x9CC3, 0xC466}, //4925 #HANGUL SYLLABLE SSANGSIOS U SSANGKIYEOK
+  {0x9CC4, 0xC467}, //4926 #HANGUL SYLLABLE SSANGSIOS U KIYEOKSIOS
+  {0x9CC5, 0xC469}, //4927 #HANGUL SYLLABLE SSANGSIOS U NIEUNCIEUC
+  {0x9CC6, 0xC46A}, //4928 #HANGUL SYLLABLE SSANGSIOS U NIEUNHIEUH
+  {0x9CC7, 0xC46B}, //4929 #HANGUL SYLLABLE SSANGSIOS U TIKEUT
+  {0x9CC8, 0xC46D}, //4930 #HANGUL SYLLABLE SSANGSIOS U RIEULKIYEOK
+  {0x9CC9, 0xC46E}, //4931 #HANGUL SYLLABLE SSANGSIOS U RIEULMIEUM
+  {0x9CCA, 0xC46F}, //4932 #HANGUL SYLLABLE SSANGSIOS U RIEULPIEUP
+  {0x9CCB, 0xC470}, //4933 #HANGUL SYLLABLE SSANGSIOS U RIEULSIOS
+  {0x9CCC, 0xC471}, //4934 #HANGUL SYLLABLE SSANGSIOS U RIEULTHIEUTH
+  {0x9CCD, 0xC472}, //4935 #HANGUL SYLLABLE SSANGSIOS U RIEULPHIEUPH
+  {0x9CCE, 0xC473}, //4936 #HANGUL SYLLABLE SSANGSIOS U RIEULHIEUH
+  {0x9CCF, 0xC476}, //4937 #HANGUL SYLLABLE SSANGSIOS U PIEUPSIOS
+  {0x9CD0, 0xC477}, //4938 #HANGUL SYLLABLE SSANGSIOS U SIOS
+  {0x9CD1, 0xC478}, //4939 #HANGUL SYLLABLE SSANGSIOS U SSANGSIOS
+  {0x9CD2, 0xC47A}, //4940 #HANGUL SYLLABLE SSANGSIOS U CIEUC
+  {0x9CD3, 0xC47B}, //4941 #HANGUL SYLLABLE SSANGSIOS U CHIEUCH
+  {0x9CD4, 0xC47C}, //4942 #HANGUL SYLLABLE SSANGSIOS U KHIEUKH
+  {0x9CD5, 0xC47D}, //4943 #HANGUL SYLLABLE SSANGSIOS U THIEUTH
+  {0x9CD6, 0xC47E}, //4944 #HANGUL SYLLABLE SSANGSIOS U PHIEUPH
+  {0x9CD7, 0xC47F}, //4945 #HANGUL SYLLABLE SSANGSIOS U HIEUH
+  {0x9CD8, 0xC481}, //4946 #HANGUL SYLLABLE SSANGSIOS WEO KIYEOK
+  {0x9CD9, 0xC482}, //4947 #HANGUL SYLLABLE SSANGSIOS WEO SSANGKIYEOK
+  {0x9CDA, 0xC483}, //4948 #HANGUL SYLLABLE SSANGSIOS WEO KIYEOKSIOS
+  {0x9CDB, 0xC484}, //4949 #HANGUL SYLLABLE SSANGSIOS WEO NIEUN
+  {0x9CDC, 0xC485}, //4950 #HANGUL SYLLABLE SSANGSIOS WEO NIEUNCIEUC
+  {0x9CDD, 0xC486}, //4951 #HANGUL SYLLABLE SSANGSIOS WEO NIEUNHIEUH
+  {0x9CDE, 0xC487}, //4952 #HANGUL SYLLABLE SSANGSIOS WEO TIKEUT
+  {0x9CDF, 0xC488}, //4953 #HANGUL SYLLABLE SSANGSIOS WEO RIEUL
+  {0x9CE0, 0xC489}, //4954 #HANGUL SYLLABLE SSANGSIOS WEO RIEULKIYEOK
+  {0x9CE1, 0xC48A}, //4955 #HANGUL SYLLABLE SSANGSIOS WEO RIEULMIEUM
+  {0x9CE2, 0xC48B}, //4956 #HANGUL SYLLABLE SSANGSIOS WEO RIEULPIEUP
+  {0x9CE3, 0xC48C}, //4957 #HANGUL SYLLABLE SSANGSIOS WEO RIEULSIOS
+  {0x9CE4, 0xC48D}, //4958 #HANGUL SYLLABLE SSANGSIOS WEO RIEULTHIEUTH
+  {0x9CE5, 0xC48E}, //4959 #HANGUL SYLLABLE SSANGSIOS WEO RIEULPHIEUPH
+  {0x9CE6, 0xC48F}, //4960 #HANGUL SYLLABLE SSANGSIOS WEO RIEULHIEUH
+  {0x9CE7, 0xC490}, //4961 #HANGUL SYLLABLE SSANGSIOS WEO MIEUM
+  {0x9CE8, 0xC491}, //4962 #HANGUL SYLLABLE SSANGSIOS WEO PIEUP
+  {0x9CE9, 0xC492}, //4963 #HANGUL SYLLABLE SSANGSIOS WEO PIEUPSIOS
+  {0x9CEA, 0xC493}, //4964 #HANGUL SYLLABLE SSANGSIOS WEO SIOS
+  {0x9CEB, 0xC495}, //4965 #HANGUL SYLLABLE SSANGSIOS WEO IEUNG
+  {0x9CEC, 0xC496}, //4966 #HANGUL SYLLABLE SSANGSIOS WEO CIEUC
+  {0x9CED, 0xC497}, //4967 #HANGUL SYLLABLE SSANGSIOS WEO CHIEUCH
+  {0x9CEE, 0xC498}, //4968 #HANGUL SYLLABLE SSANGSIOS WEO KHIEUKH
+  {0x9CEF, 0xC499}, //4969 #HANGUL SYLLABLE SSANGSIOS WEO THIEUTH
+  {0x9CF0, 0xC49A}, //4970 #HANGUL SYLLABLE SSANGSIOS WEO PHIEUPH
+  {0x9CF1, 0xC49B}, //4971 #HANGUL SYLLABLE SSANGSIOS WEO HIEUH
+  {0x9CF2, 0xC49D}, //4972 #HANGUL SYLLABLE SSANGSIOS WE KIYEOK
+  {0x9CF3, 0xC49E}, //4973 #HANGUL SYLLABLE SSANGSIOS WE SSANGKIYEOK
+  {0x9CF4, 0xC49F}, //4974 #HANGUL SYLLABLE SSANGSIOS WE KIYEOKSIOS
+  {0x9CF5, 0xC4A0}, //4975 #HANGUL SYLLABLE SSANGSIOS WE NIEUN
+  {0x9CF6, 0xC4A1}, //4976 #HANGUL SYLLABLE SSANGSIOS WE NIEUNCIEUC
+  {0x9CF7, 0xC4A2}, //4977 #HANGUL SYLLABLE SSANGSIOS WE NIEUNHIEUH
+  {0x9CF8, 0xC4A3}, //4978 #HANGUL SYLLABLE SSANGSIOS WE TIKEUT
+  {0x9CF9, 0xC4A4}, //4979 #HANGUL SYLLABLE SSANGSIOS WE RIEUL
+  {0x9CFA, 0xC4A5}, //4980 #HANGUL SYLLABLE SSANGSIOS WE RIEULKIYEOK
+  {0x9CFB, 0xC4A6}, //4981 #HANGUL SYLLABLE SSANGSIOS WE RIEULMIEUM
+  {0x9CFC, 0xC4A7}, //4982 #HANGUL SYLLABLE SSANGSIOS WE RIEULPIEUP
+  {0x9CFD, 0xC4A8}, //4983 #HANGUL SYLLABLE SSANGSIOS WE RIEULSIOS
+  {0x9CFE, 0xC4A9}, //4984 #HANGUL SYLLABLE SSANGSIOS WE RIEULTHIEUTH
+  {0x9D41, 0xC4AA}, //4985 #HANGUL SYLLABLE SSANGSIOS WE RIEULPHIEUPH
+  {0x9D42, 0xC4AB}, //4986 #HANGUL SYLLABLE SSANGSIOS WE RIEULHIEUH
+  {0x9D43, 0xC4AC}, //4987 #HANGUL SYLLABLE SSANGSIOS WE MIEUM
+  {0x9D44, 0xC4AD}, //4988 #HANGUL SYLLABLE SSANGSIOS WE PIEUP
+  {0x9D45, 0xC4AE}, //4989 #HANGUL SYLLABLE SSANGSIOS WE PIEUPSIOS
+  {0x9D46, 0xC4AF}, //4990 #HANGUL SYLLABLE SSANGSIOS WE SIOS
+  {0x9D47, 0xC4B0}, //4991 #HANGUL SYLLABLE SSANGSIOS WE SSANGSIOS
+  {0x9D48, 0xC4B1}, //4992 #HANGUL SYLLABLE SSANGSIOS WE IEUNG
+  {0x9D49, 0xC4B2}, //4993 #HANGUL SYLLABLE SSANGSIOS WE CIEUC
+  {0x9D4A, 0xC4B3}, //4994 #HANGUL SYLLABLE SSANGSIOS WE CHIEUCH
+  {0x9D4B, 0xC4B4}, //4995 #HANGUL SYLLABLE SSANGSIOS WE KHIEUKH
+  {0x9D4C, 0xC4B5}, //4996 #HANGUL SYLLABLE SSANGSIOS WE THIEUTH
+  {0x9D4D, 0xC4B6}, //4997 #HANGUL SYLLABLE SSANGSIOS WE PHIEUPH
+  {0x9D4E, 0xC4B7}, //4998 #HANGUL SYLLABLE SSANGSIOS WE HIEUH
+  {0x9D4F, 0xC4B9}, //4999 #HANGUL SYLLABLE SSANGSIOS WI KIYEOK
+  {0x9D50, 0xC4BA}, //5000 #HANGUL SYLLABLE SSANGSIOS WI SSANGKIYEOK
+  {0x9D51, 0xC4BB}, //5001 #HANGUL SYLLABLE SSANGSIOS WI KIYEOKSIOS
+  {0x9D52, 0xC4BD}, //5002 #HANGUL SYLLABLE SSANGSIOS WI NIEUNCIEUC
+  {0x9D53, 0xC4BE}, //5003 #HANGUL SYLLABLE SSANGSIOS WI NIEUNHIEUH
+  {0x9D54, 0xC4BF}, //5004 #HANGUL SYLLABLE SSANGSIOS WI TIKEUT
+  {0x9D55, 0xC4C0}, //5005 #HANGUL SYLLABLE SSANGSIOS WI RIEUL
+  {0x9D56, 0xC4C1}, //5006 #HANGUL SYLLABLE SSANGSIOS WI RIEULKIYEOK
+  {0x9D57, 0xC4C2}, //5007 #HANGUL SYLLABLE SSANGSIOS WI RIEULMIEUM
+  {0x9D58, 0xC4C3}, //5008 #HANGUL SYLLABLE SSANGSIOS WI RIEULPIEUP
+  {0x9D59, 0xC4C4}, //5009 #HANGUL SYLLABLE SSANGSIOS WI RIEULSIOS
+  {0x9D5A, 0xC4C5}, //5010 #HANGUL SYLLABLE SSANGSIOS WI RIEULTHIEUTH
+  {0x9D61, 0xC4C6}, //5011 #HANGUL SYLLABLE SSANGSIOS WI RIEULPHIEUPH
+  {0x9D62, 0xC4C7}, //5012 #HANGUL SYLLABLE SSANGSIOS WI RIEULHIEUH
+  {0x9D63, 0xC4C8}, //5013 #HANGUL SYLLABLE SSANGSIOS WI MIEUM
+  {0x9D64, 0xC4C9}, //5014 #HANGUL SYLLABLE SSANGSIOS WI PIEUP
+  {0x9D65, 0xC4CA}, //5015 #HANGUL SYLLABLE SSANGSIOS WI PIEUPSIOS
+  {0x9D66, 0xC4CB}, //5016 #HANGUL SYLLABLE SSANGSIOS WI SIOS
+  {0x9D67, 0xC4CC}, //5017 #HANGUL SYLLABLE SSANGSIOS WI SSANGSIOS
+  {0x9D68, 0xC4CD}, //5018 #HANGUL SYLLABLE SSANGSIOS WI IEUNG
+  {0x9D69, 0xC4CE}, //5019 #HANGUL SYLLABLE SSANGSIOS WI CIEUC
+  {0x9D6A, 0xC4CF}, //5020 #HANGUL SYLLABLE SSANGSIOS WI CHIEUCH
+  {0x9D6B, 0xC4D0}, //5021 #HANGUL SYLLABLE SSANGSIOS WI KHIEUKH
+  {0x9D6C, 0xC4D1}, //5022 #HANGUL SYLLABLE SSANGSIOS WI THIEUTH
+  {0x9D6D, 0xC4D2}, //5023 #HANGUL SYLLABLE SSANGSIOS WI PHIEUPH
+  {0x9D6E, 0xC4D3}, //5024 #HANGUL SYLLABLE SSANGSIOS WI HIEUH
+  {0x9D6F, 0xC4D4}, //5025 #HANGUL SYLLABLE SSANGSIOS YU
+  {0x9D70, 0xC4D5}, //5026 #HANGUL SYLLABLE SSANGSIOS YU KIYEOK
+  {0x9D71, 0xC4D6}, //5027 #HANGUL SYLLABLE SSANGSIOS YU SSANGKIYEOK
+  {0x9D72, 0xC4D7}, //5028 #HANGUL SYLLABLE SSANGSIOS YU KIYEOKSIOS
+  {0x9D73, 0xC4D8}, //5029 #HANGUL SYLLABLE SSANGSIOS YU NIEUN
+  {0x9D74, 0xC4D9}, //5030 #HANGUL SYLLABLE SSANGSIOS YU NIEUNCIEUC
+  {0x9D75, 0xC4DA}, //5031 #HANGUL SYLLABLE SSANGSIOS YU NIEUNHIEUH
+  {0x9D76, 0xC4DB}, //5032 #HANGUL SYLLABLE SSANGSIOS YU TIKEUT
+  {0x9D77, 0xC4DC}, //5033 #HANGUL SYLLABLE SSANGSIOS YU RIEUL
+  {0x9D78, 0xC4DD}, //5034 #HANGUL SYLLABLE SSANGSIOS YU RIEULKIYEOK
+  {0x9D79, 0xC4DE}, //5035 #HANGUL SYLLABLE SSANGSIOS YU RIEULMIEUM
+  {0x9D7A, 0xC4DF}, //5036 #HANGUL SYLLABLE SSANGSIOS YU RIEULPIEUP
+  {0x9D81, 0xC4E0}, //5037 #HANGUL SYLLABLE SSANGSIOS YU RIEULSIOS
+  {0x9D82, 0xC4E1}, //5038 #HANGUL SYLLABLE SSANGSIOS YU RIEULTHIEUTH
+  {0x9D83, 0xC4E2}, //5039 #HANGUL SYLLABLE SSANGSIOS YU RIEULPHIEUPH
+  {0x9D84, 0xC4E3}, //5040 #HANGUL SYLLABLE SSANGSIOS YU RIEULHIEUH
+  {0x9D85, 0xC4E4}, //5041 #HANGUL SYLLABLE SSANGSIOS YU MIEUM
+  {0x9D86, 0xC4E5}, //5042 #HANGUL SYLLABLE SSANGSIOS YU PIEUP
+  {0x9D87, 0xC4E6}, //5043 #HANGUL SYLLABLE SSANGSIOS YU PIEUPSIOS
+  {0x9D88, 0xC4E7}, //5044 #HANGUL SYLLABLE SSANGSIOS YU SIOS
+  {0x9D89, 0xC4E8}, //5045 #HANGUL SYLLABLE SSANGSIOS YU SSANGSIOS
+  {0x9D8A, 0xC4EA}, //5046 #HANGUL SYLLABLE SSANGSIOS YU CIEUC
+  {0x9D8B, 0xC4EB}, //5047 #HANGUL SYLLABLE SSANGSIOS YU CHIEUCH
+  {0x9D8C, 0xC4EC}, //5048 #HANGUL SYLLABLE SSANGSIOS YU KHIEUKH
+  {0x9D8D, 0xC4ED}, //5049 #HANGUL SYLLABLE SSANGSIOS YU THIEUTH
+  {0x9D8E, 0xC4EE}, //5050 #HANGUL SYLLABLE SSANGSIOS YU PHIEUPH
+  {0x9D8F, 0xC4EF}, //5051 #HANGUL SYLLABLE SSANGSIOS YU HIEUH
+  {0x9D90, 0xC4F2}, //5052 #HANGUL SYLLABLE SSANGSIOS EU SSANGKIYEOK
+  {0x9D91, 0xC4F3}, //5053 #HANGUL SYLLABLE SSANGSIOS EU KIYEOKSIOS
+  {0x9D92, 0xC4F5}, //5054 #HANGUL SYLLABLE SSANGSIOS EU NIEUNCIEUC
+  {0x9D93, 0xC4F6}, //5055 #HANGUL SYLLABLE SSANGSIOS EU NIEUNHIEUH
+  {0x9D94, 0xC4F7}, //5056 #HANGUL SYLLABLE SSANGSIOS EU TIKEUT
+  {0x9D95, 0xC4F9}, //5057 #HANGUL SYLLABLE SSANGSIOS EU RIEULKIYEOK
+  {0x9D96, 0xC4FB}, //5058 #HANGUL SYLLABLE SSANGSIOS EU RIEULPIEUP
+  {0x9D97, 0xC4FC}, //5059 #HANGUL SYLLABLE SSANGSIOS EU RIEULSIOS
+  {0x9D98, 0xC4FD}, //5060 #HANGUL SYLLABLE SSANGSIOS EU RIEULTHIEUTH
+  {0x9D99, 0xC4FE}, //5061 #HANGUL SYLLABLE SSANGSIOS EU RIEULPHIEUPH
+  {0x9D9A, 0xC502}, //5062 #HANGUL SYLLABLE SSANGSIOS EU PIEUPSIOS
+  {0x9D9B, 0xC503}, //5063 #HANGUL SYLLABLE SSANGSIOS EU SIOS
+  {0x9D9C, 0xC504}, //5064 #HANGUL SYLLABLE SSANGSIOS EU SSANGSIOS
+  {0x9D9D, 0xC505}, //5065 #HANGUL SYLLABLE SSANGSIOS EU IEUNG
+  {0x9D9E, 0xC506}, //5066 #HANGUL SYLLABLE SSANGSIOS EU CIEUC
+  {0x9D9F, 0xC507}, //5067 #HANGUL SYLLABLE SSANGSIOS EU CHIEUCH
+  {0x9DA0, 0xC508}, //5068 #HANGUL SYLLABLE SSANGSIOS EU KHIEUKH
+  {0x9DA1, 0xC509}, //5069 #HANGUL SYLLABLE SSANGSIOS EU THIEUTH
+  {0x9DA2, 0xC50A}, //5070 #HANGUL SYLLABLE SSANGSIOS EU PHIEUPH
+  {0x9DA3, 0xC50B}, //5071 #HANGUL SYLLABLE SSANGSIOS EU HIEUH
+  {0x9DA4, 0xC50D}, //5072 #HANGUL SYLLABLE SSANGSIOS YI KIYEOK
+  {0x9DA5, 0xC50E}, //5073 #HANGUL SYLLABLE SSANGSIOS YI SSANGKIYEOK
+  {0x9DA6, 0xC50F}, //5074 #HANGUL SYLLABLE SSANGSIOS YI KIYEOKSIOS
+  {0x9DA7, 0xC511}, //5075 #HANGUL SYLLABLE SSANGSIOS YI NIEUNCIEUC
+  {0x9DA8, 0xC512}, //5076 #HANGUL SYLLABLE SSANGSIOS YI NIEUNHIEUH
+  {0x9DA9, 0xC513}, //5077 #HANGUL SYLLABLE SSANGSIOS YI TIKEUT
+  {0x9DAA, 0xC515}, //5078 #HANGUL SYLLABLE SSANGSIOS YI RIEULKIYEOK
+  {0x9DAB, 0xC516}, //5079 #HANGUL SYLLABLE SSANGSIOS YI RIEULMIEUM
+  {0x9DAC, 0xC517}, //5080 #HANGUL SYLLABLE SSANGSIOS YI RIEULPIEUP
+  {0x9DAD, 0xC518}, //5081 #HANGUL SYLLABLE SSANGSIOS YI RIEULSIOS
+  {0x9DAE, 0xC519}, //5082 #HANGUL SYLLABLE SSANGSIOS YI RIEULTHIEUTH
+  {0x9DAF, 0xC51A}, //5083 #HANGUL SYLLABLE SSANGSIOS YI RIEULPHIEUPH
+  {0x9DB0, 0xC51B}, //5084 #HANGUL SYLLABLE SSANGSIOS YI RIEULHIEUH
+  {0x9DB1, 0xC51D}, //5085 #HANGUL SYLLABLE SSANGSIOS YI PIEUP
+  {0x9DB2, 0xC51E}, //5086 #HANGUL SYLLABLE SSANGSIOS YI PIEUPSIOS
+  {0x9DB3, 0xC51F}, //5087 #HANGUL SYLLABLE SSANGSIOS YI SIOS
+  {0x9DB4, 0xC520}, //5088 #HANGUL SYLLABLE SSANGSIOS YI SSANGSIOS
+  {0x9DB5, 0xC521}, //5089 #HANGUL SYLLABLE SSANGSIOS YI IEUNG
+  {0x9DB6, 0xC522}, //5090 #HANGUL SYLLABLE SSANGSIOS YI CIEUC
+  {0x9DB7, 0xC523}, //5091 #HANGUL SYLLABLE SSANGSIOS YI CHIEUCH
+  {0x9DB8, 0xC524}, //5092 #HANGUL SYLLABLE SSANGSIOS YI KHIEUKH
+  {0x9DB9, 0xC525}, //5093 #HANGUL SYLLABLE SSANGSIOS YI THIEUTH
+  {0x9DBA, 0xC526}, //5094 #HANGUL SYLLABLE SSANGSIOS YI PHIEUPH
+  {0x9DBB, 0xC527}, //5095 #HANGUL SYLLABLE SSANGSIOS YI HIEUH
+  {0x9DBC, 0xC52A}, //5096 #HANGUL SYLLABLE SSANGSIOS I SSANGKIYEOK
+  {0x9DBD, 0xC52B}, //5097 #HANGUL SYLLABLE SSANGSIOS I KIYEOKSIOS
+  {0x9DBE, 0xC52D}, //5098 #HANGUL SYLLABLE SSANGSIOS I NIEUNCIEUC
+  {0x9DBF, 0xC52E}, //5099 #HANGUL SYLLABLE SSANGSIOS I NIEUNHIEUH
+  {0x9DC0, 0xC52F}, //5100 #HANGUL SYLLABLE SSANGSIOS I TIKEUT
+  {0x9DC1, 0xC531}, //5101 #HANGUL SYLLABLE SSANGSIOS I RIEULKIYEOK
+  {0x9DC2, 0xC532}, //5102 #HANGUL SYLLABLE SSANGSIOS I RIEULMIEUM
+  {0x9DC3, 0xC533}, //5103 #HANGUL SYLLABLE SSANGSIOS I RIEULPIEUP
+  {0x9DC4, 0xC534}, //5104 #HANGUL SYLLABLE SSANGSIOS I RIEULSIOS
+  {0x9DC5, 0xC535}, //5105 #HANGUL SYLLABLE SSANGSIOS I RIEULTHIEUTH
+  {0x9DC6, 0xC536}, //5106 #HANGUL SYLLABLE SSANGSIOS I RIEULPHIEUPH
+  {0x9DC7, 0xC537}, //5107 #HANGUL SYLLABLE SSANGSIOS I RIEULHIEUH
+  {0x9DC8, 0xC53A}, //5108 #HANGUL SYLLABLE SSANGSIOS I PIEUPSIOS
+  {0x9DC9, 0xC53C}, //5109 #HANGUL SYLLABLE SSANGSIOS I SSANGSIOS
+  {0x9DCA, 0xC53E}, //5110 #HANGUL SYLLABLE SSANGSIOS I CIEUC
+  {0x9DCB, 0xC53F}, //5111 #HANGUL SYLLABLE SSANGSIOS I CHIEUCH
+  {0x9DCC, 0xC540}, //5112 #HANGUL SYLLABLE SSANGSIOS I KHIEUKH
+  {0x9DCD, 0xC541}, //5113 #HANGUL SYLLABLE SSANGSIOS I THIEUTH
+  {0x9DCE, 0xC542}, //5114 #HANGUL SYLLABLE SSANGSIOS I PHIEUPH
+  {0x9DCF, 0xC543}, //5115 #HANGUL SYLLABLE SSANGSIOS I HIEUH
+  {0x9DD0, 0xC546}, //5116 #HANGUL SYLLABLE IEUNG A SSANGKIYEOK
+  {0x9DD1, 0xC547}, //5117 #HANGUL SYLLABLE IEUNG A KIYEOKSIOS
+  {0x9DD2, 0xC54B}, //5118 #HANGUL SYLLABLE IEUNG A TIKEUT
+  {0x9DD3, 0xC54F}, //5119 #HANGUL SYLLABLE IEUNG A RIEULPIEUP
+  {0x9DD4, 0xC550}, //5120 #HANGUL SYLLABLE IEUNG A RIEULSIOS
+  {0x9DD5, 0xC551}, //5121 #HANGUL SYLLABLE IEUNG A RIEULTHIEUTH
+  {0x9DD6, 0xC552}, //5122 #HANGUL SYLLABLE IEUNG A RIEULPHIEUPH
+  {0x9DD7, 0xC556}, //5123 #HANGUL SYLLABLE IEUNG A PIEUPSIOS
+  {0x9DD8, 0xC55A}, //5124 #HANGUL SYLLABLE IEUNG A CIEUC
+  {0x9DD9, 0xC55B}, //5125 #HANGUL SYLLABLE IEUNG A CHIEUCH
+  {0x9DDA, 0xC55C}, //5126 #HANGUL SYLLABLE IEUNG A KHIEUKH
+  {0x9DDB, 0xC55F}, //5127 #HANGUL SYLLABLE IEUNG A HIEUH
+  {0x9DDC, 0xC562}, //5128 #HANGUL SYLLABLE IEUNG AE SSANGKIYEOK
+  {0x9DDD, 0xC563}, //5129 #HANGUL SYLLABLE IEUNG AE KIYEOKSIOS
+  {0x9DDE, 0xC565}, //5130 #HANGUL SYLLABLE IEUNG AE NIEUNCIEUC
+  {0x9DDF, 0xC566}, //5131 #HANGUL SYLLABLE IEUNG AE NIEUNHIEUH
+  {0x9DE0, 0xC567}, //5132 #HANGUL SYLLABLE IEUNG AE TIKEUT
+  {0x9DE1, 0xC569}, //5133 #HANGUL SYLLABLE IEUNG AE RIEULKIYEOK
+  {0x9DE2, 0xC56A}, //5134 #HANGUL SYLLABLE IEUNG AE RIEULMIEUM
+  {0x9DE3, 0xC56B}, //5135 #HANGUL SYLLABLE IEUNG AE RIEULPIEUP
+  {0x9DE4, 0xC56C}, //5136 #HANGUL SYLLABLE IEUNG AE RIEULSIOS
+  {0x9DE5, 0xC56D}, //5137 #HANGUL SYLLABLE IEUNG AE RIEULTHIEUTH
+  {0x9DE6, 0xC56E}, //5138 #HANGUL SYLLABLE IEUNG AE RIEULPHIEUPH
+  {0x9DE7, 0xC56F}, //5139 #HANGUL SYLLABLE IEUNG AE RIEULHIEUH
+  {0x9DE8, 0xC572}, //5140 #HANGUL SYLLABLE IEUNG AE PIEUPSIOS
+  {0x9DE9, 0xC576}, //5141 #HANGUL SYLLABLE IEUNG AE CIEUC
+  {0x9DEA, 0xC577}, //5142 #HANGUL SYLLABLE IEUNG AE CHIEUCH
+  {0x9DEB, 0xC578}, //5143 #HANGUL SYLLABLE IEUNG AE KHIEUKH
+  {0x9DEC, 0xC579}, //5144 #HANGUL SYLLABLE IEUNG AE THIEUTH
+  {0x9DED, 0xC57A}, //5145 #HANGUL SYLLABLE IEUNG AE PHIEUPH
+  {0x9DEE, 0xC57B}, //5146 #HANGUL SYLLABLE IEUNG AE HIEUH
+  {0x9DEF, 0xC57E}, //5147 #HANGUL SYLLABLE IEUNG YA SSANGKIYEOK
+  {0x9DF0, 0xC57F}, //5148 #HANGUL SYLLABLE IEUNG YA KIYEOKSIOS
+  {0x9DF1, 0xC581}, //5149 #HANGUL SYLLABLE IEUNG YA NIEUNCIEUC
+  {0x9DF2, 0xC582}, //5150 #HANGUL SYLLABLE IEUNG YA NIEUNHIEUH
+  {0x9DF3, 0xC583}, //5151 #HANGUL SYLLABLE IEUNG YA TIKEUT
+  {0x9DF4, 0xC585}, //5152 #HANGUL SYLLABLE IEUNG YA RIEULKIYEOK
+  {0x9DF5, 0xC586}, //5153 #HANGUL SYLLABLE IEUNG YA RIEULMIEUM
+  {0x9DF6, 0xC588}, //5154 #HANGUL SYLLABLE IEUNG YA RIEULSIOS
+  {0x9DF7, 0xC589}, //5155 #HANGUL SYLLABLE IEUNG YA RIEULTHIEUTH
+  {0x9DF8, 0xC58A}, //5156 #HANGUL SYLLABLE IEUNG YA RIEULPHIEUPH
+  {0x9DF9, 0xC58B}, //5157 #HANGUL SYLLABLE IEUNG YA RIEULHIEUH
+  {0x9DFA, 0xC58E}, //5158 #HANGUL SYLLABLE IEUNG YA PIEUPSIOS
+  {0x9DFB, 0xC590}, //5159 #HANGUL SYLLABLE IEUNG YA SSANGSIOS
+  {0x9DFC, 0xC592}, //5160 #HANGUL SYLLABLE IEUNG YA CIEUC
+  {0x9DFD, 0xC593}, //5161 #HANGUL SYLLABLE IEUNG YA CHIEUCH
+  {0x9DFE, 0xC594}, //5162 #HANGUL SYLLABLE IEUNG YA KHIEUKH
+  {0x9E41, 0xC596}, //5163 #HANGUL SYLLABLE IEUNG YA PHIEUPH
+  {0x9E42, 0xC599}, //5164 #HANGUL SYLLABLE IEUNG YAE KIYEOK
+  {0x9E43, 0xC59A}, //5165 #HANGUL SYLLABLE IEUNG YAE SSANGKIYEOK
+  {0x9E44, 0xC59B}, //5166 #HANGUL SYLLABLE IEUNG YAE KIYEOKSIOS
+  {0x9E45, 0xC59D}, //5167 #HANGUL SYLLABLE IEUNG YAE NIEUNCIEUC
+  {0x9E46, 0xC59E}, //5168 #HANGUL SYLLABLE IEUNG YAE NIEUNHIEUH
+  {0x9E47, 0xC59F}, //5169 #HANGUL SYLLABLE IEUNG YAE TIKEUT
+  {0x9E48, 0xC5A1}, //5170 #HANGUL SYLLABLE IEUNG YAE RIEULKIYEOK
+  {0x9E49, 0xC5A2}, //5171 #HANGUL SYLLABLE IEUNG YAE RIEULMIEUM
+  {0x9E4A, 0xC5A3}, //5172 #HANGUL SYLLABLE IEUNG YAE RIEULPIEUP
+  {0x9E4B, 0xC5A4}, //5173 #HANGUL SYLLABLE IEUNG YAE RIEULSIOS
+  {0x9E4C, 0xC5A5}, //5174 #HANGUL SYLLABLE IEUNG YAE RIEULTHIEUTH
+  {0x9E4D, 0xC5A6}, //5175 #HANGUL SYLLABLE IEUNG YAE RIEULPHIEUPH
+  {0x9E4E, 0xC5A7}, //5176 #HANGUL SYLLABLE IEUNG YAE RIEULHIEUH
+  {0x9E4F, 0xC5A8}, //5177 #HANGUL SYLLABLE IEUNG YAE MIEUM
+  {0x9E50, 0xC5AA}, //5178 #HANGUL SYLLABLE IEUNG YAE PIEUPSIOS
+  {0x9E51, 0xC5AB}, //5179 #HANGUL SYLLABLE IEUNG YAE SIOS
+  {0x9E52, 0xC5AC}, //5180 #HANGUL SYLLABLE IEUNG YAE SSANGSIOS
+  {0x9E53, 0xC5AD}, //5181 #HANGUL SYLLABLE IEUNG YAE IEUNG
+  {0x9E54, 0xC5AE}, //5182 #HANGUL SYLLABLE IEUNG YAE CIEUC
+  {0x9E55, 0xC5AF}, //5183 #HANGUL SYLLABLE IEUNG YAE CHIEUCH
+  {0x9E56, 0xC5B0}, //5184 #HANGUL SYLLABLE IEUNG YAE KHIEUKH
+  {0x9E57, 0xC5B1}, //5185 #HANGUL SYLLABLE IEUNG YAE THIEUTH
+  {0x9E58, 0xC5B2}, //5186 #HANGUL SYLLABLE IEUNG YAE PHIEUPH
+  {0x9E59, 0xC5B3}, //5187 #HANGUL SYLLABLE IEUNG YAE HIEUH
+  {0x9E5A, 0xC5B6}, //5188 #HANGUL SYLLABLE IEUNG EO SSANGKIYEOK
+  {0x9E61, 0xC5B7}, //5189 #HANGUL SYLLABLE IEUNG EO KIYEOKSIOS
+  {0x9E62, 0xC5BA}, //5190 #HANGUL SYLLABLE IEUNG EO NIEUNHIEUH
+  {0x9E63, 0xC5BF}, //5191 #HANGUL SYLLABLE IEUNG EO RIEULPIEUP
+  {0x9E64, 0xC5C0}, //5192 #HANGUL SYLLABLE IEUNG EO RIEULSIOS
+  {0x9E65, 0xC5C1}, //5193 #HANGUL SYLLABLE IEUNG EO RIEULTHIEUTH
+  {0x9E66, 0xC5C2}, //5194 #HANGUL SYLLABLE IEUNG EO RIEULPHIEUPH
+  {0x9E67, 0xC5C3}, //5195 #HANGUL SYLLABLE IEUNG EO RIEULHIEUH
+  {0x9E68, 0xC5CB}, //5196 #HANGUL SYLLABLE IEUNG EO CHIEUCH
+  {0x9E69, 0xC5CD}, //5197 #HANGUL SYLLABLE IEUNG EO THIEUTH
+  {0x9E6A, 0xC5CF}, //5198 #HANGUL SYLLABLE IEUNG EO HIEUH
+  {0x9E6B, 0xC5D2}, //5199 #HANGUL SYLLABLE IEUNG E SSANGKIYEOK
+  {0x9E6C, 0xC5D3}, //5200 #HANGUL SYLLABLE IEUNG E KIYEOKSIOS
+  {0x9E6D, 0xC5D5}, //5201 #HANGUL SYLLABLE IEUNG E NIEUNCIEUC
+  {0x9E6E, 0xC5D6}, //5202 #HANGUL SYLLABLE IEUNG E NIEUNHIEUH
+  {0x9E6F, 0xC5D7}, //5203 #HANGUL SYLLABLE IEUNG E TIKEUT
+  {0x9E70, 0xC5D9}, //5204 #HANGUL SYLLABLE IEUNG E RIEULKIYEOK
+  {0x9E71, 0xC5DA}, //5205 #HANGUL SYLLABLE IEUNG E RIEULMIEUM
+  {0x9E72, 0xC5DB}, //5206 #HANGUL SYLLABLE IEUNG E RIEULPIEUP
+  {0x9E73, 0xC5DC}, //5207 #HANGUL SYLLABLE IEUNG E RIEULSIOS
+  {0x9E74, 0xC5DD}, //5208 #HANGUL SYLLABLE IEUNG E RIEULTHIEUTH
+  {0x9E75, 0xC5DE}, //5209 #HANGUL SYLLABLE IEUNG E RIEULPHIEUPH
+  {0x9E76, 0xC5DF}, //5210 #HANGUL SYLLABLE IEUNG E RIEULHIEUH
+  {0x9E77, 0xC5E2}, //5211 #HANGUL SYLLABLE IEUNG E PIEUPSIOS
+  {0x9E78, 0xC5E4}, //5212 #HANGUL SYLLABLE IEUNG E SSANGSIOS
+  {0x9E79, 0xC5E6}, //5213 #HANGUL SYLLABLE IEUNG E CIEUC
+  {0x9E7A, 0xC5E7}, //5214 #HANGUL SYLLABLE IEUNG E CHIEUCH
+  {0x9E81, 0xC5E8}, //5215 #HANGUL SYLLABLE IEUNG E KHIEUKH
+  {0x9E82, 0xC5E9}, //5216 #HANGUL SYLLABLE IEUNG E THIEUTH
+  {0x9E83, 0xC5EA}, //5217 #HANGUL SYLLABLE IEUNG E PHIEUPH
+  {0x9E84, 0xC5EB}, //5218 #HANGUL SYLLABLE IEUNG E HIEUH
+  {0x9E85, 0xC5EF}, //5219 #HANGUL SYLLABLE IEUNG YEO KIYEOKSIOS
+  {0x9E86, 0xC5F1}, //5220 #HANGUL SYLLABLE IEUNG YEO NIEUNCIEUC
+  {0x9E87, 0xC5F2}, //5221 #HANGUL SYLLABLE IEUNG YEO NIEUNHIEUH
+  {0x9E88, 0xC5F3}, //5222 #HANGUL SYLLABLE IEUNG YEO TIKEUT
+  {0x9E89, 0xC5F5}, //5223 #HANGUL SYLLABLE IEUNG YEO RIEULKIYEOK
+  {0x9E8A, 0xC5F8}, //5224 #HANGUL SYLLABLE IEUNG YEO RIEULSIOS
+  {0x9E8B, 0xC5F9}, //5225 #HANGUL SYLLABLE IEUNG YEO RIEULTHIEUTH
+  {0x9E8C, 0xC5FA}, //5226 #HANGUL SYLLABLE IEUNG YEO RIEULPHIEUPH
+  {0x9E8D, 0xC5FB}, //5227 #HANGUL SYLLABLE IEUNG YEO RIEULHIEUH
+  {0x9E8E, 0xC602}, //5228 #HANGUL SYLLABLE IEUNG YEO CIEUC
+  {0x9E8F, 0xC603}, //5229 #HANGUL SYLLABLE IEUNG YEO CHIEUCH
+  {0x9E90, 0xC604}, //5230 #HANGUL SYLLABLE IEUNG YEO KHIEUKH
+  {0x9E91, 0xC609}, //5231 #HANGUL SYLLABLE IEUNG YE KIYEOK
+  {0x9E92, 0xC60A}, //5232 #HANGUL SYLLABLE IEUNG YE SSANGKIYEOK
+  {0x9E93, 0xC60B}, //5233 #HANGUL SYLLABLE IEUNG YE KIYEOKSIOS
+  {0x9E94, 0xC60D}, //5234 #HANGUL SYLLABLE IEUNG YE NIEUNCIEUC
+  {0x9E95, 0xC60E}, //5235 #HANGUL SYLLABLE IEUNG YE NIEUNHIEUH
+  {0x9E96, 0xC60F}, //5236 #HANGUL SYLLABLE IEUNG YE TIKEUT
+  {0x9E97, 0xC611}, //5237 #HANGUL SYLLABLE IEUNG YE RIEULKIYEOK
+  {0x9E98, 0xC612}, //5238 #HANGUL SYLLABLE IEUNG YE RIEULMIEUM
+  {0x9E99, 0xC613}, //5239 #HANGUL SYLLABLE IEUNG YE RIEULPIEUP
+  {0x9E9A, 0xC614}, //5240 #HANGUL SYLLABLE IEUNG YE RIEULSIOS
+  {0x9E9B, 0xC615}, //5241 #HANGUL SYLLABLE IEUNG YE RIEULTHIEUTH
+  {0x9E9C, 0xC616}, //5242 #HANGUL SYLLABLE IEUNG YE RIEULPHIEUPH
+  {0x9E9D, 0xC617}, //5243 #HANGUL SYLLABLE IEUNG YE RIEULHIEUH
+  {0x9E9E, 0xC61A}, //5244 #HANGUL SYLLABLE IEUNG YE PIEUPSIOS
+  {0x9E9F, 0xC61D}, //5245 #HANGUL SYLLABLE IEUNG YE IEUNG
+  {0x9EA0, 0xC61E}, //5246 #HANGUL SYLLABLE IEUNG YE CIEUC
+  {0x9EA1, 0xC61F}, //5247 #HANGUL SYLLABLE IEUNG YE CHIEUCH
+  {0x9EA2, 0xC620}, //5248 #HANGUL SYLLABLE IEUNG YE KHIEUKH
+  {0x9EA3, 0xC621}, //5249 #HANGUL SYLLABLE IEUNG YE THIEUTH
+  {0x9EA4, 0xC622}, //5250 #HANGUL SYLLABLE IEUNG YE PHIEUPH
+  {0x9EA5, 0xC623}, //5251 #HANGUL SYLLABLE IEUNG YE HIEUH
+  {0x9EA6, 0xC626}, //5252 #HANGUL SYLLABLE IEUNG O SSANGKIYEOK
+  {0x9EA7, 0xC627}, //5253 #HANGUL SYLLABLE IEUNG O KIYEOKSIOS
+  {0x9EA8, 0xC629}, //5254 #HANGUL SYLLABLE IEUNG O NIEUNCIEUC
+  {0x9EA9, 0xC62A}, //5255 #HANGUL SYLLABLE IEUNG O NIEUNHIEUH
+  {0x9EAA, 0xC62B}, //5256 #HANGUL SYLLABLE IEUNG O TIKEUT
+  {0x9EAB, 0xC62F}, //5257 #HANGUL SYLLABLE IEUNG O RIEULPIEUP
+  {0x9EAC, 0xC631}, //5258 #HANGUL SYLLABLE IEUNG O RIEULTHIEUTH
+  {0x9EAD, 0xC632}, //5259 #HANGUL SYLLABLE IEUNG O RIEULPHIEUPH
+  {0x9EAE, 0xC636}, //5260 #HANGUL SYLLABLE IEUNG O PIEUPSIOS
+  {0x9EAF, 0xC638}, //5261 #HANGUL SYLLABLE IEUNG O SSANGSIOS
+  {0x9EB0, 0xC63A}, //5262 #HANGUL SYLLABLE IEUNG O CIEUC
+  {0x9EB1, 0xC63C}, //5263 #HANGUL SYLLABLE IEUNG O KHIEUKH
+  {0x9EB2, 0xC63D}, //5264 #HANGUL SYLLABLE IEUNG O THIEUTH
+  {0x9EB3, 0xC63E}, //5265 #HANGUL SYLLABLE IEUNG O PHIEUPH
+  {0x9EB4, 0xC63F}, //5266 #HANGUL SYLLABLE IEUNG O HIEUH
+  {0x9EB5, 0xC642}, //5267 #HANGUL SYLLABLE IEUNG WA SSANGKIYEOK
+  {0x9EB6, 0xC643}, //5268 #HANGUL SYLLABLE IEUNG WA KIYEOKSIOS
+  {0x9EB7, 0xC645}, //5269 #HANGUL SYLLABLE IEUNG WA NIEUNCIEUC
+  {0x9EB8, 0xC646}, //5270 #HANGUL SYLLABLE IEUNG WA NIEUNHIEUH
+  {0x9EB9, 0xC647}, //5271 #HANGUL SYLLABLE IEUNG WA TIKEUT
+  {0x9EBA, 0xC649}, //5272 #HANGUL SYLLABLE IEUNG WA RIEULKIYEOK
+  {0x9EBB, 0xC64A}, //5273 #HANGUL SYLLABLE IEUNG WA RIEULMIEUM
+  {0x9EBC, 0xC64B}, //5274 #HANGUL SYLLABLE IEUNG WA RIEULPIEUP
+  {0x9EBD, 0xC64C}, //5275 #HANGUL SYLLABLE IEUNG WA RIEULSIOS
+  {0x9EBE, 0xC64D}, //5276 #HANGUL SYLLABLE IEUNG WA RIEULTHIEUTH
+  {0x9EBF, 0xC64E}, //5277 #HANGUL SYLLABLE IEUNG WA RIEULPHIEUPH
+  {0x9EC0, 0xC64F}, //5278 #HANGUL SYLLABLE IEUNG WA RIEULHIEUH
+  {0x9EC1, 0xC652}, //5279 #HANGUL SYLLABLE IEUNG WA PIEUPSIOS
+  {0x9EC2, 0xC656}, //5280 #HANGUL SYLLABLE IEUNG WA CIEUC
+  {0x9EC3, 0xC657}, //5281 #HANGUL SYLLABLE IEUNG WA CHIEUCH
+  {0x9EC4, 0xC658}, //5282 #HANGUL SYLLABLE IEUNG WA KHIEUKH
+  {0x9EC5, 0xC659}, //5283 #HANGUL SYLLABLE IEUNG WA THIEUTH
+  {0x9EC6, 0xC65A}, //5284 #HANGUL SYLLABLE IEUNG WA PHIEUPH
+  {0x9EC7, 0xC65B}, //5285 #HANGUL SYLLABLE IEUNG WA HIEUH
+  {0x9EC8, 0xC65E}, //5286 #HANGUL SYLLABLE IEUNG WAE SSANGKIYEOK
+  {0x9EC9, 0xC65F}, //5287 #HANGUL SYLLABLE IEUNG WAE KIYEOKSIOS
+  {0x9ECA, 0xC661}, //5288 #HANGUL SYLLABLE IEUNG WAE NIEUNCIEUC
+  {0x9ECB, 0xC662}, //5289 #HANGUL SYLLABLE IEUNG WAE NIEUNHIEUH
+  {0x9ECC, 0xC663}, //5290 #HANGUL SYLLABLE IEUNG WAE TIKEUT
+  {0x9ECD, 0xC664}, //5291 #HANGUL SYLLABLE IEUNG WAE RIEUL
+  {0x9ECE, 0xC665}, //5292 #HANGUL SYLLABLE IEUNG WAE RIEULKIYEOK
+  {0x9ECF, 0xC666}, //5293 #HANGUL SYLLABLE IEUNG WAE RIEULMIEUM
+  {0x9ED0, 0xC667}, //5294 #HANGUL SYLLABLE IEUNG WAE RIEULPIEUP
+  {0x9ED1, 0xC668}, //5295 #HANGUL SYLLABLE IEUNG WAE RIEULSIOS
+  {0x9ED2, 0xC669}, //5296 #HANGUL SYLLABLE IEUNG WAE RIEULTHIEUTH
+  {0x9ED3, 0xC66A}, //5297 #HANGUL SYLLABLE IEUNG WAE RIEULPHIEUPH
+  {0x9ED4, 0xC66B}, //5298 #HANGUL SYLLABLE IEUNG WAE RIEULHIEUH
+  {0x9ED5, 0xC66D}, //5299 #HANGUL SYLLABLE IEUNG WAE PIEUP
+  {0x9ED6, 0xC66E}, //5300 #HANGUL SYLLABLE IEUNG WAE PIEUPSIOS
+  {0x9ED7, 0xC670}, //5301 #HANGUL SYLLABLE IEUNG WAE SSANGSIOS
+  {0x9ED8, 0xC672}, //5302 #HANGUL SYLLABLE IEUNG WAE CIEUC
+  {0x9ED9, 0xC673}, //5303 #HANGUL SYLLABLE IEUNG WAE CHIEUCH
+  {0x9EDA, 0xC674}, //5304 #HANGUL SYLLABLE IEUNG WAE KHIEUKH
+  {0x9EDB, 0xC675}, //5305 #HANGUL SYLLABLE IEUNG WAE THIEUTH
+  {0x9EDC, 0xC676}, //5306 #HANGUL SYLLABLE IEUNG WAE PHIEUPH
+  {0x9EDD, 0xC677}, //5307 #HANGUL SYLLABLE IEUNG WAE HIEUH
+  {0x9EDE, 0xC67A}, //5308 #HANGUL SYLLABLE IEUNG OE SSANGKIYEOK
+  {0x9EDF, 0xC67B}, //5309 #HANGUL SYLLABLE IEUNG OE KIYEOKSIOS
+  {0x9EE0, 0xC67D}, //5310 #HANGUL SYLLABLE IEUNG OE NIEUNCIEUC
+  {0x9EE1, 0xC67E}, //5311 #HANGUL SYLLABLE IEUNG OE NIEUNHIEUH
+  {0x9EE2, 0xC67F}, //5312 #HANGUL SYLLABLE IEUNG OE TIKEUT
+  {0x9EE3, 0xC681}, //5313 #HANGUL SYLLABLE IEUNG OE RIEULKIYEOK
+  {0x9EE4, 0xC682}, //5314 #HANGUL SYLLABLE IEUNG OE RIEULMIEUM
+  {0x9EE5, 0xC683}, //5315 #HANGUL SYLLABLE IEUNG OE RIEULPIEUP
+  {0x9EE6, 0xC684}, //5316 #HANGUL SYLLABLE IEUNG OE RIEULSIOS
+  {0x9EE7, 0xC685}, //5317 #HANGUL SYLLABLE IEUNG OE RIEULTHIEUTH
+  {0x9EE8, 0xC686}, //5318 #HANGUL SYLLABLE IEUNG OE RIEULPHIEUPH
+  {0x9EE9, 0xC687}, //5319 #HANGUL SYLLABLE IEUNG OE RIEULHIEUH
+  {0x9EEA, 0xC68A}, //5320 #HANGUL SYLLABLE IEUNG OE PIEUPSIOS
+  {0x9EEB, 0xC68C}, //5321 #HANGUL SYLLABLE IEUNG OE SSANGSIOS
+  {0x9EEC, 0xC68E}, //5322 #HANGUL SYLLABLE IEUNG OE CIEUC
+  {0x9EED, 0xC68F}, //5323 #HANGUL SYLLABLE IEUNG OE CHIEUCH
+  {0x9EEE, 0xC690}, //5324 #HANGUL SYLLABLE IEUNG OE KHIEUKH
+  {0x9EEF, 0xC691}, //5325 #HANGUL SYLLABLE IEUNG OE THIEUTH
+  {0x9EF0, 0xC692}, //5326 #HANGUL SYLLABLE IEUNG OE PHIEUPH
+  {0x9EF1, 0xC693}, //5327 #HANGUL SYLLABLE IEUNG OE HIEUH
+  {0x9EF2, 0xC696}, //5328 #HANGUL SYLLABLE IEUNG YO SSANGKIYEOK
+  {0x9EF3, 0xC697}, //5329 #HANGUL SYLLABLE IEUNG YO KIYEOKSIOS
+  {0x9EF4, 0xC699}, //5330 #HANGUL SYLLABLE IEUNG YO NIEUNCIEUC
+  {0x9EF5, 0xC69A}, //5331 #HANGUL SYLLABLE IEUNG YO NIEUNHIEUH
+  {0x9EF6, 0xC69B}, //5332 #HANGUL SYLLABLE IEUNG YO TIKEUT
+  {0x9EF7, 0xC69D}, //5333 #HANGUL SYLLABLE IEUNG YO RIEULKIYEOK
+  {0x9EF8, 0xC69E}, //5334 #HANGUL SYLLABLE IEUNG YO RIEULMIEUM
+  {0x9EF9, 0xC69F}, //5335 #HANGUL SYLLABLE IEUNG YO RIEULPIEUP
+  {0x9EFA, 0xC6A0}, //5336 #HANGUL SYLLABLE IEUNG YO RIEULSIOS
+  {0x9EFB, 0xC6A1}, //5337 #HANGUL SYLLABLE IEUNG YO RIEULTHIEUTH
+  {0x9EFC, 0xC6A2}, //5338 #HANGUL SYLLABLE IEUNG YO RIEULPHIEUPH
+  {0x9EFD, 0xC6A3}, //5339 #HANGUL SYLLABLE IEUNG YO RIEULHIEUH
+  {0x9EFE, 0xC6A6}, //5340 #HANGUL SYLLABLE IEUNG YO PIEUPSIOS
+  {0x9F41, 0xC6A8}, //5341 #HANGUL SYLLABLE IEUNG YO SSANGSIOS
+  {0x9F42, 0xC6AA}, //5342 #HANGUL SYLLABLE IEUNG YO CIEUC
+  {0x9F43, 0xC6AB}, //5343 #HANGUL SYLLABLE IEUNG YO CHIEUCH
+  {0x9F44, 0xC6AC}, //5344 #HANGUL SYLLABLE IEUNG YO KHIEUKH
+  {0x9F45, 0xC6AD}, //5345 #HANGUL SYLLABLE IEUNG YO THIEUTH
+  {0x9F46, 0xC6AE}, //5346 #HANGUL SYLLABLE IEUNG YO PHIEUPH
+  {0x9F47, 0xC6AF}, //5347 #HANGUL SYLLABLE IEUNG YO HIEUH
+  {0x9F48, 0xC6B2}, //5348 #HANGUL SYLLABLE IEUNG U SSANGKIYEOK
+  {0x9F49, 0xC6B3}, //5349 #HANGUL SYLLABLE IEUNG U KIYEOKSIOS
+  {0x9F4A, 0xC6B5}, //5350 #HANGUL SYLLABLE IEUNG U NIEUNCIEUC
+  {0x9F4B, 0xC6B6}, //5351 #HANGUL SYLLABLE IEUNG U NIEUNHIEUH
+  {0x9F4C, 0xC6B7}, //5352 #HANGUL SYLLABLE IEUNG U TIKEUT
+  {0x9F4D, 0xC6BB}, //5353 #HANGUL SYLLABLE IEUNG U RIEULPIEUP
+  {0x9F4E, 0xC6BC}, //5354 #HANGUL SYLLABLE IEUNG U RIEULSIOS
+  {0x9F4F, 0xC6BD}, //5355 #HANGUL SYLLABLE IEUNG U RIEULTHIEUTH
+  {0x9F50, 0xC6BE}, //5356 #HANGUL SYLLABLE IEUNG U RIEULPHIEUPH
+  {0x9F51, 0xC6BF}, //5357 #HANGUL SYLLABLE IEUNG U RIEULHIEUH
+  {0x9F52, 0xC6C2}, //5358 #HANGUL SYLLABLE IEUNG U PIEUPSIOS
+  {0x9F53, 0xC6C4}, //5359 #HANGUL SYLLABLE IEUNG U SSANGSIOS
+  {0x9F54, 0xC6C6}, //5360 #HANGUL SYLLABLE IEUNG U CIEUC
+  {0x9F55, 0xC6C7}, //5361 #HANGUL SYLLABLE IEUNG U CHIEUCH
+  {0x9F56, 0xC6C8}, //5362 #HANGUL SYLLABLE IEUNG U KHIEUKH
+  {0x9F57, 0xC6C9}, //5363 #HANGUL SYLLABLE IEUNG U THIEUTH
+  {0x9F58, 0xC6CA}, //5364 #HANGUL SYLLABLE IEUNG U PHIEUPH
+  {0x9F59, 0xC6CB}, //5365 #HANGUL SYLLABLE IEUNG U HIEUH
+  {0x9F5A, 0xC6CE}, //5366 #HANGUL SYLLABLE IEUNG WEO SSANGKIYEOK
+  {0x9F61, 0xC6CF}, //5367 #HANGUL SYLLABLE IEUNG WEO KIYEOKSIOS
+  {0x9F62, 0xC6D1}, //5368 #HANGUL SYLLABLE IEUNG WEO NIEUNCIEUC
+  {0x9F63, 0xC6D2}, //5369 #HANGUL SYLLABLE IEUNG WEO NIEUNHIEUH
+  {0x9F64, 0xC6D3}, //5370 #HANGUL SYLLABLE IEUNG WEO TIKEUT
+  {0x9F65, 0xC6D5}, //5371 #HANGUL SYLLABLE IEUNG WEO RIEULKIYEOK
+  {0x9F66, 0xC6D6}, //5372 #HANGUL SYLLABLE IEUNG WEO RIEULMIEUM
+  {0x9F67, 0xC6D7}, //5373 #HANGUL SYLLABLE IEUNG WEO RIEULPIEUP
+  {0x9F68, 0xC6D8}, //5374 #HANGUL SYLLABLE IEUNG WEO RIEULSIOS
+  {0x9F69, 0xC6D9}, //5375 #HANGUL SYLLABLE IEUNG WEO RIEULTHIEUTH
+  {0x9F6A, 0xC6DA}, //5376 #HANGUL SYLLABLE IEUNG WEO RIEULPHIEUPH
+  {0x9F6B, 0xC6DB}, //5377 #HANGUL SYLLABLE IEUNG WEO RIEULHIEUH
+  {0x9F6C, 0xC6DE}, //5378 #HANGUL SYLLABLE IEUNG WEO PIEUPSIOS
+  {0x9F6D, 0xC6DF}, //5379 #HANGUL SYLLABLE IEUNG WEO SIOS
+  {0x9F6E, 0xC6E2}, //5380 #HANGUL SYLLABLE IEUNG WEO CIEUC
+  {0x9F6F, 0xC6E3}, //5381 #HANGUL SYLLABLE IEUNG WEO CHIEUCH
+  {0x9F70, 0xC6E4}, //5382 #HANGUL SYLLABLE IEUNG WEO KHIEUKH
+  {0x9F71, 0xC6E5}, //5383 #HANGUL SYLLABLE IEUNG WEO THIEUTH
+  {0x9F72, 0xC6E6}, //5384 #HANGUL SYLLABLE IEUNG WEO PHIEUPH
+  {0x9F73, 0xC6E7}, //5385 #HANGUL SYLLABLE IEUNG WEO HIEUH
+  {0x9F74, 0xC6EA}, //5386 #HANGUL SYLLABLE IEUNG WE SSANGKIYEOK
+  {0x9F75, 0xC6EB}, //5387 #HANGUL SYLLABLE IEUNG WE KIYEOKSIOS
+  {0x9F76, 0xC6ED}, //5388 #HANGUL SYLLABLE IEUNG WE NIEUNCIEUC
+  {0x9F77, 0xC6EE}, //5389 #HANGUL SYLLABLE IEUNG WE NIEUNHIEUH
+  {0x9F78, 0xC6EF}, //5390 #HANGUL SYLLABLE IEUNG WE TIKEUT
+  {0x9F79, 0xC6F1}, //5391 #HANGUL SYLLABLE IEUNG WE RIEULKIYEOK
+  {0x9F7A, 0xC6F2}, //5392 #HANGUL SYLLABLE IEUNG WE RIEULMIEUM
+  {0x9F81, 0xC6F3}, //5393 #HANGUL SYLLABLE IEUNG WE RIEULPIEUP
+  {0x9F82, 0xC6F4}, //5394 #HANGUL SYLLABLE IEUNG WE RIEULSIOS
+  {0x9F83, 0xC6F5}, //5395 #HANGUL SYLLABLE IEUNG WE RIEULTHIEUTH
+  {0x9F84, 0xC6F6}, //5396 #HANGUL SYLLABLE IEUNG WE RIEULPHIEUPH
+  {0x9F85, 0xC6F7}, //5397 #HANGUL SYLLABLE IEUNG WE RIEULHIEUH
+  {0x9F86, 0xC6FA}, //5398 #HANGUL SYLLABLE IEUNG WE PIEUPSIOS
+  {0x9F87, 0xC6FB}, //5399 #HANGUL SYLLABLE IEUNG WE SIOS
+  {0x9F88, 0xC6FC}, //5400 #HANGUL SYLLABLE IEUNG WE SSANGSIOS
+  {0x9F89, 0xC6FE}, //5401 #HANGUL SYLLABLE IEUNG WE CIEUC
+  {0x9F8A, 0xC6FF}, //5402 #HANGUL SYLLABLE IEUNG WE CHIEUCH
+  {0x9F8B, 0xC700}, //5403 #HANGUL SYLLABLE IEUNG WE KHIEUKH
+  {0x9F8C, 0xC701}, //5404 #HANGUL SYLLABLE IEUNG WE THIEUTH
+  {0x9F8D, 0xC702}, //5405 #HANGUL SYLLABLE IEUNG WE PHIEUPH
+  {0x9F8E, 0xC703}, //5406 #HANGUL SYLLABLE IEUNG WE HIEUH
+  {0x9F8F, 0xC706}, //5407 #HANGUL SYLLABLE IEUNG WI SSANGKIYEOK
+  {0x9F90, 0xC707}, //5408 #HANGUL SYLLABLE IEUNG WI KIYEOKSIOS
+  {0x9F91, 0xC709}, //5409 #HANGUL SYLLABLE IEUNG WI NIEUNCIEUC
+  {0x9F92, 0xC70A}, //5410 #HANGUL SYLLABLE IEUNG WI NIEUNHIEUH
+  {0x9F93, 0xC70B}, //5411 #HANGUL SYLLABLE IEUNG WI TIKEUT
+  {0x9F94, 0xC70D}, //5412 #HANGUL SYLLABLE IEUNG WI RIEULKIYEOK
+  {0x9F95, 0xC70E}, //5413 #HANGUL SYLLABLE IEUNG WI RIEULMIEUM
+  {0x9F96, 0xC70F}, //5414 #HANGUL SYLLABLE IEUNG WI RIEULPIEUP
+  {0x9F97, 0xC710}, //5415 #HANGUL SYLLABLE IEUNG WI RIEULSIOS
+  {0x9F98, 0xC711}, //5416 #HANGUL SYLLABLE IEUNG WI RIEULTHIEUTH
+  {0x9F99, 0xC712}, //5417 #HANGUL SYLLABLE IEUNG WI RIEULPHIEUPH
+  {0x9F9A, 0xC713}, //5418 #HANGUL SYLLABLE IEUNG WI RIEULHIEUH
+  {0x9F9B, 0xC716}, //5419 #HANGUL SYLLABLE IEUNG WI PIEUPSIOS
+  {0x9F9C, 0xC718}, //5420 #HANGUL SYLLABLE IEUNG WI SSANGSIOS
+  {0x9F9D, 0xC71A}, //5421 #HANGUL SYLLABLE IEUNG WI CIEUC
+  {0x9F9E, 0xC71B}, //5422 #HANGUL SYLLABLE IEUNG WI CHIEUCH
+  {0x9F9F, 0xC71C}, //5423 #HANGUL SYLLABLE IEUNG WI KHIEUKH
+  {0x9FA0, 0xC71D}, //5424 #HANGUL SYLLABLE IEUNG WI THIEUTH
+  {0x9FA1, 0xC71E}, //5425 #HANGUL SYLLABLE IEUNG WI PHIEUPH
+  {0x9FA2, 0xC71F}, //5426 #HANGUL SYLLABLE IEUNG WI HIEUH
+  {0x9FA3, 0xC722}, //5427 #HANGUL SYLLABLE IEUNG YU SSANGKIYEOK
+  {0x9FA4, 0xC723}, //5428 #HANGUL SYLLABLE IEUNG YU KIYEOKSIOS
+  {0x9FA5, 0xC725}, //5429 #HANGUL SYLLABLE IEUNG YU NIEUNCIEUC
+  {0x9FA6, 0xC726}, //5430 #HANGUL SYLLABLE IEUNG YU NIEUNHIEUH
+  {0x9FA7, 0xC727}, //5431 #HANGUL SYLLABLE IEUNG YU TIKEUT
+  {0x9FA8, 0xC729}, //5432 #HANGUL SYLLABLE IEUNG YU RIEULKIYEOK
+  {0x9FA9, 0xC72A}, //5433 #HANGUL SYLLABLE IEUNG YU RIEULMIEUM
+  {0x9FAA, 0xC72B}, //5434 #HANGUL SYLLABLE IEUNG YU RIEULPIEUP
+  {0x9FAB, 0xC72C}, //5435 #HANGUL SYLLABLE IEUNG YU RIEULSIOS
+  {0x9FAC, 0xC72D}, //5436 #HANGUL SYLLABLE IEUNG YU RIEULTHIEUTH
+  {0x9FAD, 0xC72E}, //5437 #HANGUL SYLLABLE IEUNG YU RIEULPHIEUPH
+  {0x9FAE, 0xC72F}, //5438 #HANGUL SYLLABLE IEUNG YU RIEULHIEUH
+  {0x9FAF, 0xC732}, //5439 #HANGUL SYLLABLE IEUNG YU PIEUPSIOS
+  {0x9FB0, 0xC734}, //5440 #HANGUL SYLLABLE IEUNG YU SSANGSIOS
+  {0x9FB1, 0xC736}, //5441 #HANGUL SYLLABLE IEUNG YU CIEUC
+  {0x9FB2, 0xC738}, //5442 #HANGUL SYLLABLE IEUNG YU KHIEUKH
+  {0x9FB3, 0xC739}, //5443 #HANGUL SYLLABLE IEUNG YU THIEUTH
+  {0x9FB4, 0xC73A}, //5444 #HANGUL SYLLABLE IEUNG YU PHIEUPH
+  {0x9FB5, 0xC73B}, //5445 #HANGUL SYLLABLE IEUNG YU HIEUH
+  {0x9FB6, 0xC73E}, //5446 #HANGUL SYLLABLE IEUNG EU SSANGKIYEOK
+  {0x9FB7, 0xC73F}, //5447 #HANGUL SYLLABLE IEUNG EU KIYEOKSIOS
+  {0x9FB8, 0xC741}, //5448 #HANGUL SYLLABLE IEUNG EU NIEUNCIEUC
+  {0x9FB9, 0xC742}, //5449 #HANGUL SYLLABLE IEUNG EU NIEUNHIEUH
+  {0x9FBA, 0xC743}, //5450 #HANGUL SYLLABLE IEUNG EU TIKEUT
+  {0x9FBB, 0xC745}, //5451 #HANGUL SYLLABLE IEUNG EU RIEULKIYEOK
+  {0x9FBC, 0xC746}, //5452 #HANGUL SYLLABLE IEUNG EU RIEULMIEUM
+  {0x9FBD, 0xC747}, //5453 #HANGUL SYLLABLE IEUNG EU RIEULPIEUP
+  {0x9FBE, 0xC748}, //5454 #HANGUL SYLLABLE IEUNG EU RIEULSIOS
+  {0x9FBF, 0xC749}, //5455 #HANGUL SYLLABLE IEUNG EU RIEULTHIEUTH
+  {0x9FC0, 0xC74B}, //5456 #HANGUL SYLLABLE IEUNG EU RIEULHIEUH
+  {0x9FC1, 0xC74E}, //5457 #HANGUL SYLLABLE IEUNG EU PIEUPSIOS
+  {0x9FC2, 0xC750}, //5458 #HANGUL SYLLABLE IEUNG EU SSANGSIOS
+  {0x9FC3, 0xC759}, //5459 #HANGUL SYLLABLE IEUNG YI KIYEOK
+  {0x9FC4, 0xC75A}, //5460 #HANGUL SYLLABLE IEUNG YI SSANGKIYEOK
+  {0x9FC5, 0xC75B}, //5461 #HANGUL SYLLABLE IEUNG YI KIYEOKSIOS
+  {0x9FC6, 0xC75D}, //5462 #HANGUL SYLLABLE IEUNG YI NIEUNCIEUC
+  {0x9FC7, 0xC75E}, //5463 #HANGUL SYLLABLE IEUNG YI NIEUNHIEUH
+  {0x9FC8, 0xC75F}, //5464 #HANGUL SYLLABLE IEUNG YI TIKEUT
+  {0x9FC9, 0xC761}, //5465 #HANGUL SYLLABLE IEUNG YI RIEULKIYEOK
+  {0x9FCA, 0xC762}, //5466 #HANGUL SYLLABLE IEUNG YI RIEULMIEUM
+  {0x9FCB, 0xC763}, //5467 #HANGUL SYLLABLE IEUNG YI RIEULPIEUP
+  {0x9FCC, 0xC764}, //5468 #HANGUL SYLLABLE IEUNG YI RIEULSIOS
+  {0x9FCD, 0xC765}, //5469 #HANGUL SYLLABLE IEUNG YI RIEULTHIEUTH
+  {0x9FCE, 0xC766}, //5470 #HANGUL SYLLABLE IEUNG YI RIEULPHIEUPH
+  {0x9FCF, 0xC767}, //5471 #HANGUL SYLLABLE IEUNG YI RIEULHIEUH
+  {0x9FD0, 0xC769}, //5472 #HANGUL SYLLABLE IEUNG YI PIEUP
+  {0x9FD1, 0xC76A}, //5473 #HANGUL SYLLABLE IEUNG YI PIEUPSIOS
+  {0x9FD2, 0xC76C}, //5474 #HANGUL SYLLABLE IEUNG YI SSANGSIOS
+  {0x9FD3, 0xC76D}, //5475 #HANGUL SYLLABLE IEUNG YI IEUNG
+  {0x9FD4, 0xC76E}, //5476 #HANGUL SYLLABLE IEUNG YI CIEUC
+  {0x9FD5, 0xC76F}, //5477 #HANGUL SYLLABLE IEUNG YI CHIEUCH
+  {0x9FD6, 0xC770}, //5478 #HANGUL SYLLABLE IEUNG YI KHIEUKH
+  {0x9FD7, 0xC771}, //5479 #HANGUL SYLLABLE IEUNG YI THIEUTH
+  {0x9FD8, 0xC772}, //5480 #HANGUL SYLLABLE IEUNG YI PHIEUPH
+  {0x9FD9, 0xC773}, //5481 #HANGUL SYLLABLE IEUNG YI HIEUH
+  {0x9FDA, 0xC776}, //5482 #HANGUL SYLLABLE IEUNG I SSANGKIYEOK
+  {0x9FDB, 0xC777}, //5483 #HANGUL SYLLABLE IEUNG I KIYEOKSIOS
+  {0x9FDC, 0xC779}, //5484 #HANGUL SYLLABLE IEUNG I NIEUNCIEUC
+  {0x9FDD, 0xC77A}, //5485 #HANGUL SYLLABLE IEUNG I NIEUNHIEUH
+  {0x9FDE, 0xC77B}, //5486 #HANGUL SYLLABLE IEUNG I TIKEUT
+  {0x9FDF, 0xC77F}, //5487 #HANGUL SYLLABLE IEUNG I RIEULPIEUP
+  {0x9FE0, 0xC780}, //5488 #HANGUL SYLLABLE IEUNG I RIEULSIOS
+  {0x9FE1, 0xC781}, //5489 #HANGUL SYLLABLE IEUNG I RIEULTHIEUTH
+  {0x9FE2, 0xC782}, //5490 #HANGUL SYLLABLE IEUNG I RIEULPHIEUPH
+  {0x9FE3, 0xC786}, //5491 #HANGUL SYLLABLE IEUNG I PIEUPSIOS
+  {0x9FE4, 0xC78B}, //5492 #HANGUL SYLLABLE IEUNG I CHIEUCH
+  {0x9FE5, 0xC78C}, //5493 #HANGUL SYLLABLE IEUNG I KHIEUKH
+  {0x9FE6, 0xC78D}, //5494 #HANGUL SYLLABLE IEUNG I THIEUTH
+  {0x9FE7, 0xC78F}, //5495 #HANGUL SYLLABLE IEUNG I HIEUH
+  {0x9FE8, 0xC792}, //5496 #HANGUL SYLLABLE CIEUC A SSANGKIYEOK
+  {0x9FE9, 0xC793}, //5497 #HANGUL SYLLABLE CIEUC A KIYEOKSIOS
+  {0x9FEA, 0xC795}, //5498 #HANGUL SYLLABLE CIEUC A NIEUNCIEUC
+  {0x9FEB, 0xC799}, //5499 #HANGUL SYLLABLE CIEUC A RIEULKIYEOK
+  {0x9FEC, 0xC79B}, //5500 #HANGUL SYLLABLE CIEUC A RIEULPIEUP
+  {0x9FED, 0xC79C}, //5501 #HANGUL SYLLABLE CIEUC A RIEULSIOS
+  {0x9FEE, 0xC79D}, //5502 #HANGUL SYLLABLE CIEUC A RIEULTHIEUTH
+  {0x9FEF, 0xC79E}, //5503 #HANGUL SYLLABLE CIEUC A RIEULPHIEUPH
+  {0x9FF0, 0xC79F}, //5504 #HANGUL SYLLABLE CIEUC A RIEULHIEUH
+  {0x9FF1, 0xC7A2}, //5505 #HANGUL SYLLABLE CIEUC A PIEUPSIOS
+  {0x9FF2, 0xC7A7}, //5506 #HANGUL SYLLABLE CIEUC A CHIEUCH
+  {0x9FF3, 0xC7A8}, //5507 #HANGUL SYLLABLE CIEUC A KHIEUKH
+  {0x9FF4, 0xC7A9}, //5508 #HANGUL SYLLABLE CIEUC A THIEUTH
+  {0x9FF5, 0xC7AA}, //5509 #HANGUL SYLLABLE CIEUC A PHIEUPH
+  {0x9FF6, 0xC7AB}, //5510 #HANGUL SYLLABLE CIEUC A HIEUH
+  {0x9FF7, 0xC7AE}, //5511 #HANGUL SYLLABLE CIEUC AE SSANGKIYEOK
+  {0x9FF8, 0xC7AF}, //5512 #HANGUL SYLLABLE CIEUC AE KIYEOKSIOS
+  {0x9FF9, 0xC7B1}, //5513 #HANGUL SYLLABLE CIEUC AE NIEUNCIEUC
+  {0x9FFA, 0xC7B2}, //5514 #HANGUL SYLLABLE CIEUC AE NIEUNHIEUH
+  {0x9FFB, 0xC7B3}, //5515 #HANGUL SYLLABLE CIEUC AE TIKEUT
+  {0x9FFC, 0xC7B5}, //5516 #HANGUL SYLLABLE CIEUC AE RIEULKIYEOK
+  {0x9FFD, 0xC7B6}, //5517 #HANGUL SYLLABLE CIEUC AE RIEULMIEUM
+  {0x9FFE, 0xC7B7}, //5518 #HANGUL SYLLABLE CIEUC AE RIEULPIEUP
+  {0xA041, 0xC7B8}, //5519 #HANGUL SYLLABLE CIEUC AE RIEULSIOS
+  {0xA042, 0xC7B9}, //5520 #HANGUL SYLLABLE CIEUC AE RIEULTHIEUTH
+  {0xA043, 0xC7BA}, //5521 #HANGUL SYLLABLE CIEUC AE RIEULPHIEUPH
+  {0xA044, 0xC7BB}, //5522 #HANGUL SYLLABLE CIEUC AE RIEULHIEUH
+  {0xA045, 0xC7BE}, //5523 #HANGUL SYLLABLE CIEUC AE PIEUPSIOS
+  {0xA046, 0xC7C2}, //5524 #HANGUL SYLLABLE CIEUC AE CIEUC
+  {0xA047, 0xC7C3}, //5525 #HANGUL SYLLABLE CIEUC AE CHIEUCH
+  {0xA048, 0xC7C4}, //5526 #HANGUL SYLLABLE CIEUC AE KHIEUKH
+  {0xA049, 0xC7C5}, //5527 #HANGUL SYLLABLE CIEUC AE THIEUTH
+  {0xA04A, 0xC7C6}, //5528 #HANGUL SYLLABLE CIEUC AE PHIEUPH
+  {0xA04B, 0xC7C7}, //5529 #HANGUL SYLLABLE CIEUC AE HIEUH
+  {0xA04C, 0xC7CA}, //5530 #HANGUL SYLLABLE CIEUC YA SSANGKIYEOK
+  {0xA04D, 0xC7CB}, //5531 #HANGUL SYLLABLE CIEUC YA KIYEOKSIOS
+  {0xA04E, 0xC7CD}, //5532 #HANGUL SYLLABLE CIEUC YA NIEUNCIEUC
+  {0xA04F, 0xC7CF}, //5533 #HANGUL SYLLABLE CIEUC YA TIKEUT
+  {0xA050, 0xC7D1}, //5534 #HANGUL SYLLABLE CIEUC YA RIEULKIYEOK
+  {0xA051, 0xC7D2}, //5535 #HANGUL SYLLABLE CIEUC YA RIEULMIEUM
+  {0xA052, 0xC7D3}, //5536 #HANGUL SYLLABLE CIEUC YA RIEULPIEUP
+  {0xA053, 0xC7D4}, //5537 #HANGUL SYLLABLE CIEUC YA RIEULSIOS
+  {0xA054, 0xC7D5}, //5538 #HANGUL SYLLABLE CIEUC YA RIEULTHIEUTH
+  {0xA055, 0xC7D6}, //5539 #HANGUL SYLLABLE CIEUC YA RIEULPHIEUPH
+  {0xA056, 0xC7D7}, //5540 #HANGUL SYLLABLE CIEUC YA RIEULHIEUH
+  {0xA057, 0xC7D9}, //5541 #HANGUL SYLLABLE CIEUC YA PIEUP
+  {0xA058, 0xC7DA}, //5542 #HANGUL SYLLABLE CIEUC YA PIEUPSIOS
+  {0xA059, 0xC7DB}, //5543 #HANGUL SYLLABLE CIEUC YA SIOS
+  {0xA05A, 0xC7DC}, //5544 #HANGUL SYLLABLE CIEUC YA SSANGSIOS
+  {0xA061, 0xC7DE}, //5545 #HANGUL SYLLABLE CIEUC YA CIEUC
+  {0xA062, 0xC7DF}, //5546 #HANGUL SYLLABLE CIEUC YA CHIEUCH
+  {0xA063, 0xC7E0}, //5547 #HANGUL SYLLABLE CIEUC YA KHIEUKH
+  {0xA064, 0xC7E1}, //5548 #HANGUL SYLLABLE CIEUC YA THIEUTH
+  {0xA065, 0xC7E2}, //5549 #HANGUL SYLLABLE CIEUC YA PHIEUPH
+  {0xA066, 0xC7E3}, //5550 #HANGUL SYLLABLE CIEUC YA HIEUH
+  {0xA067, 0xC7E5}, //5551 #HANGUL SYLLABLE CIEUC YAE KIYEOK
+  {0xA068, 0xC7E6}, //5552 #HANGUL SYLLABLE CIEUC YAE SSANGKIYEOK
+  {0xA069, 0xC7E7}, //5553 #HANGUL SYLLABLE CIEUC YAE KIYEOKSIOS
+  {0xA06A, 0xC7E9}, //5554 #HANGUL SYLLABLE CIEUC YAE NIEUNCIEUC
+  {0xA06B, 0xC7EA}, //5555 #HANGUL SYLLABLE CIEUC YAE NIEUNHIEUH
+  {0xA06C, 0xC7EB}, //5556 #HANGUL SYLLABLE CIEUC YAE TIKEUT
+  {0xA06D, 0xC7ED}, //5557 #HANGUL SYLLABLE CIEUC YAE RIEULKIYEOK
+  {0xA06E, 0xC7EE}, //5558 #HANGUL SYLLABLE CIEUC YAE RIEULMIEUM
+  {0xA06F, 0xC7EF}, //5559 #HANGUL SYLLABLE CIEUC YAE RIEULPIEUP
+  {0xA070, 0xC7F0}, //5560 #HANGUL SYLLABLE CIEUC YAE RIEULSIOS
+  {0xA071, 0xC7F1}, //5561 #HANGUL SYLLABLE CIEUC YAE RIEULTHIEUTH
+  {0xA072, 0xC7F2}, //5562 #HANGUL SYLLABLE CIEUC YAE RIEULPHIEUPH
+  {0xA073, 0xC7F3}, //5563 #HANGUL SYLLABLE CIEUC YAE RIEULHIEUH
+  {0xA074, 0xC7F4}, //5564 #HANGUL SYLLABLE CIEUC YAE MIEUM
+  {0xA075, 0xC7F5}, //5565 #HANGUL SYLLABLE CIEUC YAE PIEUP
+  {0xA076, 0xC7F6}, //5566 #HANGUL SYLLABLE CIEUC YAE PIEUPSIOS
+  {0xA077, 0xC7F7}, //5567 #HANGUL SYLLABLE CIEUC YAE SIOS
+  {0xA078, 0xC7F8}, //5568 #HANGUL SYLLABLE CIEUC YAE SSANGSIOS
+  {0xA079, 0xC7F9}, //5569 #HANGUL SYLLABLE CIEUC YAE IEUNG
+  {0xA07A, 0xC7FA}, //5570 #HANGUL SYLLABLE CIEUC YAE CIEUC
+  {0xA081, 0xC7FB}, //5571 #HANGUL SYLLABLE CIEUC YAE CHIEUCH
+  {0xA082, 0xC7FC}, //5572 #HANGUL SYLLABLE CIEUC YAE KHIEUKH
+  {0xA083, 0xC7FD}, //5573 #HANGUL SYLLABLE CIEUC YAE THIEUTH
+  {0xA084, 0xC7FE}, //5574 #HANGUL SYLLABLE CIEUC YAE PHIEUPH
+  {0xA085, 0xC7FF}, //5575 #HANGUL SYLLABLE CIEUC YAE HIEUH
+  {0xA086, 0xC802}, //5576 #HANGUL SYLLABLE CIEUC EO SSANGKIYEOK
+  {0xA087, 0xC803}, //5577 #HANGUL SYLLABLE CIEUC EO KIYEOKSIOS
+  {0xA088, 0xC805}, //5578 #HANGUL SYLLABLE CIEUC EO NIEUNCIEUC
+  {0xA089, 0xC806}, //5579 #HANGUL SYLLABLE CIEUC EO NIEUNHIEUH
+  {0xA08A, 0xC807}, //5580 #HANGUL SYLLABLE CIEUC EO TIKEUT
+  {0xA08B, 0xC809}, //5581 #HANGUL SYLLABLE CIEUC EO RIEULKIYEOK
+  {0xA08C, 0xC80B}, //5582 #HANGUL SYLLABLE CIEUC EO RIEULPIEUP
+  {0xA08D, 0xC80C}, //5583 #HANGUL SYLLABLE CIEUC EO RIEULSIOS
+  {0xA08E, 0xC80D}, //5584 #HANGUL SYLLABLE CIEUC EO RIEULTHIEUTH
+  {0xA08F, 0xC80E}, //5585 #HANGUL SYLLABLE CIEUC EO RIEULPHIEUPH
+  {0xA090, 0xC80F}, //5586 #HANGUL SYLLABLE CIEUC EO RIEULHIEUH
+  {0xA091, 0xC812}, //5587 #HANGUL SYLLABLE CIEUC EO PIEUPSIOS
+  {0xA092, 0xC814}, //5588 #HANGUL SYLLABLE CIEUC EO SSANGSIOS
+  {0xA093, 0xC817}, //5589 #HANGUL SYLLABLE CIEUC EO CHIEUCH
+  {0xA094, 0xC818}, //5590 #HANGUL SYLLABLE CIEUC EO KHIEUKH
+  {0xA095, 0xC819}, //5591 #HANGUL SYLLABLE CIEUC EO THIEUTH
+  {0xA096, 0xC81A}, //5592 #HANGUL SYLLABLE CIEUC EO PHIEUPH
+  {0xA097, 0xC81B}, //5593 #HANGUL SYLLABLE CIEUC EO HIEUH
+  {0xA098, 0xC81E}, //5594 #HANGUL SYLLABLE CIEUC E SSANGKIYEOK
+  {0xA099, 0xC81F}, //5595 #HANGUL SYLLABLE CIEUC E KIYEOKSIOS
+  {0xA09A, 0xC821}, //5596 #HANGUL SYLLABLE CIEUC E NIEUNCIEUC
+  {0xA09B, 0xC822}, //5597 #HANGUL SYLLABLE CIEUC E NIEUNHIEUH
+  {0xA09C, 0xC823}, //5598 #HANGUL SYLLABLE CIEUC E TIKEUT
+  {0xA09D, 0xC825}, //5599 #HANGUL SYLLABLE CIEUC E RIEULKIYEOK
+  {0xA09E, 0xC826}, //5600 #HANGUL SYLLABLE CIEUC E RIEULMIEUM
+  {0xA09F, 0xC827}, //5601 #HANGUL SYLLABLE CIEUC E RIEULPIEUP
+  {0xA0A0, 0xC828}, //5602 #HANGUL SYLLABLE CIEUC E RIEULSIOS
+  {0xA0A1, 0xC829}, //5603 #HANGUL SYLLABLE CIEUC E RIEULTHIEUTH
+  {0xA0A2, 0xC82A}, //5604 #HANGUL SYLLABLE CIEUC E RIEULPHIEUPH
+  {0xA0A3, 0xC82B}, //5605 #HANGUL SYLLABLE CIEUC E RIEULHIEUH
+  {0xA0A4, 0xC82E}, //5606 #HANGUL SYLLABLE CIEUC E PIEUPSIOS
+  {0xA0A5, 0xC830}, //5607 #HANGUL SYLLABLE CIEUC E SSANGSIOS
+  {0xA0A6, 0xC832}, //5608 #HANGUL SYLLABLE CIEUC E CIEUC
+  {0xA0A7, 0xC833}, //5609 #HANGUL SYLLABLE CIEUC E CHIEUCH
+  {0xA0A8, 0xC834}, //5610 #HANGUL SYLLABLE CIEUC E KHIEUKH
+  {0xA0A9, 0xC835}, //5611 #HANGUL SYLLABLE CIEUC E THIEUTH
+  {0xA0AA, 0xC836}, //5612 #HANGUL SYLLABLE CIEUC E PHIEUPH
+  {0xA0AB, 0xC837}, //5613 #HANGUL SYLLABLE CIEUC E HIEUH
+  {0xA0AC, 0xC839}, //5614 #HANGUL SYLLABLE CIEUC YEO KIYEOK
+  {0xA0AD, 0xC83A}, //5615 #HANGUL SYLLABLE CIEUC YEO SSANGKIYEOK
+  {0xA0AE, 0xC83B}, //5616 #HANGUL SYLLABLE CIEUC YEO KIYEOKSIOS
+  {0xA0AF, 0xC83D}, //5617 #HANGUL SYLLABLE CIEUC YEO NIEUNCIEUC
+  {0xA0B0, 0xC83E}, //5618 #HANGUL SYLLABLE CIEUC YEO NIEUNHIEUH
+  {0xA0B1, 0xC83F}, //5619 #HANGUL SYLLABLE CIEUC YEO TIKEUT
+  {0xA0B2, 0xC841}, //5620 #HANGUL SYLLABLE CIEUC YEO RIEULKIYEOK
+  {0xA0B3, 0xC842}, //5621 #HANGUL SYLLABLE CIEUC YEO RIEULMIEUM
+  {0xA0B4, 0xC843}, //5622 #HANGUL SYLLABLE CIEUC YEO RIEULPIEUP
+  {0xA0B5, 0xC844}, //5623 #HANGUL SYLLABLE CIEUC YEO RIEULSIOS
+  {0xA0B6, 0xC845}, //5624 #HANGUL SYLLABLE CIEUC YEO RIEULTHIEUTH
+  {0xA0B7, 0xC846}, //5625 #HANGUL SYLLABLE CIEUC YEO RIEULPHIEUPH
+  {0xA0B8, 0xC847}, //5626 #HANGUL SYLLABLE CIEUC YEO RIEULHIEUH
+  {0xA0B9, 0xC84A}, //5627 #HANGUL SYLLABLE CIEUC YEO PIEUPSIOS
+  {0xA0BA, 0xC84B}, //5628 #HANGUL SYLLABLE CIEUC YEO SIOS
+  {0xA0BB, 0xC84E}, //5629 #HANGUL SYLLABLE CIEUC YEO CIEUC
+  {0xA0BC, 0xC84F}, //5630 #HANGUL SYLLABLE CIEUC YEO CHIEUCH
+  {0xA0BD, 0xC850}, //5631 #HANGUL SYLLABLE CIEUC YEO KHIEUKH
+  {0xA0BE, 0xC851}, //5632 #HANGUL SYLLABLE CIEUC YEO THIEUTH
+  {0xA0BF, 0xC852}, //5633 #HANGUL SYLLABLE CIEUC YEO PHIEUPH
+  {0xA0C0, 0xC853}, //5634 #HANGUL SYLLABLE CIEUC YEO HIEUH
+  {0xA0C1, 0xC855}, //5635 #HANGUL SYLLABLE CIEUC YE KIYEOK
+  {0xA0C2, 0xC856}, //5636 #HANGUL SYLLABLE CIEUC YE SSANGKIYEOK
+  {0xA0C3, 0xC857}, //5637 #HANGUL SYLLABLE CIEUC YE KIYEOKSIOS
+  {0xA0C4, 0xC858}, //5638 #HANGUL SYLLABLE CIEUC YE NIEUN
+  {0xA0C5, 0xC859}, //5639 #HANGUL SYLLABLE CIEUC YE NIEUNCIEUC
+  {0xA0C6, 0xC85A}, //5640 #HANGUL SYLLABLE CIEUC YE NIEUNHIEUH
+  {0xA0C7, 0xC85B}, //5641 #HANGUL SYLLABLE CIEUC YE TIKEUT
+  {0xA0C8, 0xC85C}, //5642 #HANGUL SYLLABLE CIEUC YE RIEUL
+  {0xA0C9, 0xC85D}, //5643 #HANGUL SYLLABLE CIEUC YE RIEULKIYEOK
+  {0xA0CA, 0xC85E}, //5644 #HANGUL SYLLABLE CIEUC YE RIEULMIEUM
+  {0xA0CB, 0xC85F}, //5645 #HANGUL SYLLABLE CIEUC YE RIEULPIEUP
+  {0xA0CC, 0xC860}, //5646 #HANGUL SYLLABLE CIEUC YE RIEULSIOS
+  {0xA0CD, 0xC861}, //5647 #HANGUL SYLLABLE CIEUC YE RIEULTHIEUTH
+  {0xA0CE, 0xC862}, //5648 #HANGUL SYLLABLE CIEUC YE RIEULPHIEUPH
+  {0xA0CF, 0xC863}, //5649 #HANGUL SYLLABLE CIEUC YE RIEULHIEUH
+  {0xA0D0, 0xC864}, //5650 #HANGUL SYLLABLE CIEUC YE MIEUM
+  {0xA0D1, 0xC865}, //5651 #HANGUL SYLLABLE CIEUC YE PIEUP
+  {0xA0D2, 0xC866}, //5652 #HANGUL SYLLABLE CIEUC YE PIEUPSIOS
+  {0xA0D3, 0xC867}, //5653 #HANGUL SYLLABLE CIEUC YE SIOS
+  {0xA0D4, 0xC868}, //5654 #HANGUL SYLLABLE CIEUC YE SSANGSIOS
+  {0xA0D5, 0xC869}, //5655 #HANGUL SYLLABLE CIEUC YE IEUNG
+  {0xA0D6, 0xC86A}, //5656 #HANGUL SYLLABLE CIEUC YE CIEUC
+  {0xA0D7, 0xC86B}, //5657 #HANGUL SYLLABLE CIEUC YE CHIEUCH
+  {0xA0D8, 0xC86C}, //5658 #HANGUL SYLLABLE CIEUC YE KHIEUKH
+  {0xA0D9, 0xC86D}, //5659 #HANGUL SYLLABLE CIEUC YE THIEUTH
+  {0xA0DA, 0xC86E}, //5660 #HANGUL SYLLABLE CIEUC YE PHIEUPH
+  {0xA0DB, 0xC86F}, //5661 #HANGUL SYLLABLE CIEUC YE HIEUH
+  {0xA0DC, 0xC872}, //5662 #HANGUL SYLLABLE CIEUC O SSANGKIYEOK
+  {0xA0DD, 0xC873}, //5663 #HANGUL SYLLABLE CIEUC O KIYEOKSIOS
+  {0xA0DE, 0xC875}, //5664 #HANGUL SYLLABLE CIEUC O NIEUNCIEUC
+  {0xA0DF, 0xC876}, //5665 #HANGUL SYLLABLE CIEUC O NIEUNHIEUH
+  {0xA0E0, 0xC877}, //5666 #HANGUL SYLLABLE CIEUC O TIKEUT
+  {0xA0E1, 0xC879}, //5667 #HANGUL SYLLABLE CIEUC O RIEULKIYEOK
+  {0xA0E2, 0xC87B}, //5668 #HANGUL SYLLABLE CIEUC O RIEULPIEUP
+  {0xA0E3, 0xC87C}, //5669 #HANGUL SYLLABLE CIEUC O RIEULSIOS
+  {0xA0E4, 0xC87D}, //5670 #HANGUL SYLLABLE CIEUC O RIEULTHIEUTH
+  {0xA0E5, 0xC87E}, //5671 #HANGUL SYLLABLE CIEUC O RIEULPHIEUPH
+  {0xA0E6, 0xC87F}, //5672 #HANGUL SYLLABLE CIEUC O RIEULHIEUH
+  {0xA0E7, 0xC882}, //5673 #HANGUL SYLLABLE CIEUC O PIEUPSIOS
+  {0xA0E8, 0xC884}, //5674 #HANGUL SYLLABLE CIEUC O SSANGSIOS
+  {0xA0E9, 0xC888}, //5675 #HANGUL SYLLABLE CIEUC O KHIEUKH
+  {0xA0EA, 0xC889}, //5676 #HANGUL SYLLABLE CIEUC O THIEUTH
+  {0xA0EB, 0xC88A}, //5677 #HANGUL SYLLABLE CIEUC O PHIEUPH
+  {0xA0EC, 0xC88E}, //5678 #HANGUL SYLLABLE CIEUC WA SSANGKIYEOK
+  {0xA0ED, 0xC88F}, //5679 #HANGUL SYLLABLE CIEUC WA KIYEOKSIOS
+  {0xA0EE, 0xC890}, //5680 #HANGUL SYLLABLE CIEUC WA NIEUN
+  {0xA0EF, 0xC891}, //5681 #HANGUL SYLLABLE CIEUC WA NIEUNCIEUC
+  {0xA0F0, 0xC892}, //5682 #HANGUL SYLLABLE CIEUC WA NIEUNHIEUH
+  {0xA0F1, 0xC893}, //5683 #HANGUL SYLLABLE CIEUC WA TIKEUT
+  {0xA0F2, 0xC895}, //5684 #HANGUL SYLLABLE CIEUC WA RIEULKIYEOK
+  {0xA0F3, 0xC896}, //5685 #HANGUL SYLLABLE CIEUC WA RIEULMIEUM
+  {0xA0F4, 0xC897}, //5686 #HANGUL SYLLABLE CIEUC WA RIEULPIEUP
+  {0xA0F5, 0xC898}, //5687 #HANGUL SYLLABLE CIEUC WA RIEULSIOS
+  {0xA0F6, 0xC899}, //5688 #HANGUL SYLLABLE CIEUC WA RIEULTHIEUTH
+  {0xA0F7, 0xC89A}, //5689 #HANGUL SYLLABLE CIEUC WA RIEULPHIEUPH
+  {0xA0F8, 0xC89B}, //5690 #HANGUL SYLLABLE CIEUC WA RIEULHIEUH
+  {0xA0F9, 0xC89C}, //5691 #HANGUL SYLLABLE CIEUC WA MIEUM
+  {0xA0FA, 0xC89E}, //5692 #HANGUL SYLLABLE CIEUC WA PIEUPSIOS
+  {0xA0FB, 0xC8A0}, //5693 #HANGUL SYLLABLE CIEUC WA SSANGSIOS
+  {0xA0FC, 0xC8A2}, //5694 #HANGUL SYLLABLE CIEUC WA CIEUC
+  {0xA0FD, 0xC8A3}, //5695 #HANGUL SYLLABLE CIEUC WA CHIEUCH
+  {0xA0FE, 0xC8A4}, //5696 #HANGUL SYLLABLE CIEUC WA KHIEUKH
+  {0xA141, 0xC8A5}, //5697 #HANGUL SYLLABLE CIEUC WA THIEUTH
+  {0xA142, 0xC8A6}, //5698 #HANGUL SYLLABLE CIEUC WA PHIEUPH
+  {0xA143, 0xC8A7}, //5699 #HANGUL SYLLABLE CIEUC WA HIEUH
+  {0xA144, 0xC8A9}, //5700 #HANGUL SYLLABLE CIEUC WAE KIYEOK
+  {0xA145, 0xC8AA}, //5701 #HANGUL SYLLABLE CIEUC WAE SSANGKIYEOK
+  {0xA146, 0xC8AB}, //5702 #HANGUL SYLLABLE CIEUC WAE KIYEOKSIOS
+  {0xA147, 0xC8AC}, //5703 #HANGUL SYLLABLE CIEUC WAE NIEUN
+  {0xA148, 0xC8AD}, //5704 #HANGUL SYLLABLE CIEUC WAE NIEUNCIEUC
+  {0xA149, 0xC8AE}, //5705 #HANGUL SYLLABLE CIEUC WAE NIEUNHIEUH
+  {0xA14A, 0xC8AF}, //5706 #HANGUL SYLLABLE CIEUC WAE TIKEUT
+  {0xA14B, 0xC8B0}, //5707 #HANGUL SYLLABLE CIEUC WAE RIEUL
+  {0xA14C, 0xC8B1}, //5708 #HANGUL SYLLABLE CIEUC WAE RIEULKIYEOK
+  {0xA14D, 0xC8B2}, //5709 #HANGUL SYLLABLE CIEUC WAE RIEULMIEUM
+  {0xA14E, 0xC8B3}, //5710 #HANGUL SYLLABLE CIEUC WAE RIEULPIEUP
+  {0xA14F, 0xC8B4}, //5711 #HANGUL SYLLABLE CIEUC WAE RIEULSIOS
+  {0xA150, 0xC8B5}, //5712 #HANGUL SYLLABLE CIEUC WAE RIEULTHIEUTH
+  {0xA151, 0xC8B6}, //5713 #HANGUL SYLLABLE CIEUC WAE RIEULPHIEUPH
+  {0xA152, 0xC8B7}, //5714 #HANGUL SYLLABLE CIEUC WAE RIEULHIEUH
+  {0xA153, 0xC8B8}, //5715 #HANGUL SYLLABLE CIEUC WAE MIEUM
+  {0xA154, 0xC8B9}, //5716 #HANGUL SYLLABLE CIEUC WAE PIEUP
+  {0xA155, 0xC8BA}, //5717 #HANGUL SYLLABLE CIEUC WAE PIEUPSIOS
+  {0xA156, 0xC8BB}, //5718 #HANGUL SYLLABLE CIEUC WAE SIOS
+  {0xA157, 0xC8BE}, //5719 #HANGUL SYLLABLE CIEUC WAE CIEUC
+  {0xA158, 0xC8BF}, //5720 #HANGUL SYLLABLE CIEUC WAE CHIEUCH
+  {0xA159, 0xC8C0}, //5721 #HANGUL SYLLABLE CIEUC WAE KHIEUKH
+  {0xA15A, 0xC8C1}, //5722 #HANGUL SYLLABLE CIEUC WAE THIEUTH
+  {0xA161, 0xC8C2}, //5723 #HANGUL SYLLABLE CIEUC WAE PHIEUPH
+  {0xA162, 0xC8C3}, //5724 #HANGUL SYLLABLE CIEUC WAE HIEUH
+  {0xA163, 0xC8C5}, //5725 #HANGUL SYLLABLE CIEUC OE KIYEOK
+  {0xA164, 0xC8C6}, //5726 #HANGUL SYLLABLE CIEUC OE SSANGKIYEOK
+  {0xA165, 0xC8C7}, //5727 #HANGUL SYLLABLE CIEUC OE KIYEOKSIOS
+  {0xA166, 0xC8C9}, //5728 #HANGUL SYLLABLE CIEUC OE NIEUNCIEUC
+  {0xA167, 0xC8CA}, //5729 #HANGUL SYLLABLE CIEUC OE NIEUNHIEUH
+  {0xA168, 0xC8CB}, //5730 #HANGUL SYLLABLE CIEUC OE TIKEUT
+  {0xA169, 0xC8CD}, //5731 #HANGUL SYLLABLE CIEUC OE RIEULKIYEOK
+  {0xA16A, 0xC8CE}, //5732 #HANGUL SYLLABLE CIEUC OE RIEULMIEUM
+  {0xA16B, 0xC8CF}, //5733 #HANGUL SYLLABLE CIEUC OE RIEULPIEUP
+  {0xA16C, 0xC8D0}, //5734 #HANGUL SYLLABLE CIEUC OE RIEULSIOS
+  {0xA16D, 0xC8D1}, //5735 #HANGUL SYLLABLE CIEUC OE RIEULTHIEUTH
+  {0xA16E, 0xC8D2}, //5736 #HANGUL SYLLABLE CIEUC OE RIEULPHIEUPH
+  {0xA16F, 0xC8D3}, //5737 #HANGUL SYLLABLE CIEUC OE RIEULHIEUH
+  {0xA170, 0xC8D6}, //5738 #HANGUL SYLLABLE CIEUC OE PIEUPSIOS
+  {0xA171, 0xC8D8}, //5739 #HANGUL SYLLABLE CIEUC OE SSANGSIOS
+  {0xA172, 0xC8DA}, //5740 #HANGUL SYLLABLE CIEUC OE CIEUC
+  {0xA173, 0xC8DB}, //5741 #HANGUL SYLLABLE CIEUC OE CHIEUCH
+  {0xA174, 0xC8DC}, //5742 #HANGUL SYLLABLE CIEUC OE KHIEUKH
+  {0xA175, 0xC8DD}, //5743 #HANGUL SYLLABLE CIEUC OE THIEUTH
+  {0xA176, 0xC8DE}, //5744 #HANGUL SYLLABLE CIEUC OE PHIEUPH
+  {0xA177, 0xC8DF}, //5745 #HANGUL SYLLABLE CIEUC OE HIEUH
+  {0xA178, 0xC8E2}, //5746 #HANGUL SYLLABLE CIEUC YO SSANGKIYEOK
+  {0xA179, 0xC8E3}, //5747 #HANGUL SYLLABLE CIEUC YO KIYEOKSIOS
+  {0xA17A, 0xC8E5}, //5748 #HANGUL SYLLABLE CIEUC YO NIEUNCIEUC
+  {0xA181, 0xC8E6}, //5749 #HANGUL SYLLABLE CIEUC YO NIEUNHIEUH
+  {0xA182, 0xC8E7}, //5750 #HANGUL SYLLABLE CIEUC YO TIKEUT
+  {0xA183, 0xC8E8}, //5751 #HANGUL SYLLABLE CIEUC YO RIEUL
+  {0xA184, 0xC8E9}, //5752 #HANGUL SYLLABLE CIEUC YO RIEULKIYEOK
+  {0xA185, 0xC8EA}, //5753 #HANGUL SYLLABLE CIEUC YO RIEULMIEUM
+  {0xA186, 0xC8EB}, //5754 #HANGUL SYLLABLE CIEUC YO RIEULPIEUP
+  {0xA187, 0xC8EC}, //5755 #HANGUL SYLLABLE CIEUC YO RIEULSIOS
+  {0xA188, 0xC8ED}, //5756 #HANGUL SYLLABLE CIEUC YO RIEULTHIEUTH
+  {0xA189, 0xC8EE}, //5757 #HANGUL SYLLABLE CIEUC YO RIEULPHIEUPH
+  {0xA18A, 0xC8EF}, //5758 #HANGUL SYLLABLE CIEUC YO RIEULHIEUH
+  {0xA18B, 0xC8F0}, //5759 #HANGUL SYLLABLE CIEUC YO MIEUM
+  {0xA18C, 0xC8F1}, //5760 #HANGUL SYLLABLE CIEUC YO PIEUP
+  {0xA18D, 0xC8F2}, //5761 #HANGUL SYLLABLE CIEUC YO PIEUPSIOS
+  {0xA18E, 0xC8F3}, //5762 #HANGUL SYLLABLE CIEUC YO SIOS
+  {0xA18F, 0xC8F4}, //5763 #HANGUL SYLLABLE CIEUC YO SSANGSIOS
+  {0xA190, 0xC8F6}, //5764 #HANGUL SYLLABLE CIEUC YO CIEUC
+  {0xA191, 0xC8F7}, //5765 #HANGUL SYLLABLE CIEUC YO CHIEUCH
+  {0xA192, 0xC8F8}, //5766 #HANGUL SYLLABLE CIEUC YO KHIEUKH
+  {0xA193, 0xC8F9}, //5767 #HANGUL SYLLABLE CIEUC YO THIEUTH
+  {0xA194, 0xC8FA}, //5768 #HANGUL SYLLABLE CIEUC YO PHIEUPH
+  {0xA195, 0xC8FB}, //5769 #HANGUL SYLLABLE CIEUC YO HIEUH
+  {0xA196, 0xC8FE}, //5770 #HANGUL SYLLABLE CIEUC U SSANGKIYEOK
+  {0xA197, 0xC8FF}, //5771 #HANGUL SYLLABLE CIEUC U KIYEOKSIOS
+  {0xA198, 0xC901}, //5772 #HANGUL SYLLABLE CIEUC U NIEUNCIEUC
+  {0xA199, 0xC902}, //5773 #HANGUL SYLLABLE CIEUC U NIEUNHIEUH
+  {0xA19A, 0xC903}, //5774 #HANGUL SYLLABLE CIEUC U TIKEUT
+  {0xA19B, 0xC907}, //5775 #HANGUL SYLLABLE CIEUC U RIEULPIEUP
+  {0xA19C, 0xC908}, //5776 #HANGUL SYLLABLE CIEUC U RIEULSIOS
+  {0xA19D, 0xC909}, //5777 #HANGUL SYLLABLE CIEUC U RIEULTHIEUTH
+  {0xA19E, 0xC90A}, //5778 #HANGUL SYLLABLE CIEUC U RIEULPHIEUPH
+  {0xA19F, 0xC90B}, //5779 #HANGUL SYLLABLE CIEUC U RIEULHIEUH
+  {0xA1A0, 0xC90E}, //5780 #HANGUL SYLLABLE CIEUC U PIEUPSIOS
+  {0xA1A1, 0x3000}, //5781 #IDEOGRAPHIC SPACE
+  {0xA1A2, 0x3001}, //5782 #IDEOGRAPHIC COMMA
+  {0xA1A3, 0x3002}, //5783 #IDEOGRAPHIC FULL STOP
+  {0xA1A4, 0x00B7}, //5784 #MIDDLE DOT
+  {0xA1A5, 0x2025}, //5785 #TWO DOT LEADER
+  {0xA1A6, 0x2026}, //5786 #HORIZONTAL ELLIPSIS
+  {0xA1A7, 0x00A8}, //5787 #DIAERESIS
+  {0xA1A8, 0x3003}, //5788 #DITTO MARK
+  {0xA1A9, 0x00AD}, //5789 #SOFT HYPHEN
+  {0xA1AA, 0x2015}, //5790 #HORIZONTAL BAR
+  {0xA1AB, 0x2225}, //5791 #PARALLEL TO
+  {0xA1AC, 0xFF3C}, //5792 #FULLWIDTH REVERSE SOLIDUS
+  {0xA1AD, 0x223C}, //5793 #TILDE OPERATOR
+  {0xA1AE, 0x2018}, //5794 #LEFT SINGLE QUOTATION MARK
+  {0xA1AF, 0x2019}, //5795 #RIGHT SINGLE QUOTATION MARK
+  {0xA1B0, 0x201C}, //5796 #LEFT DOUBLE QUOTATION MARK
+  {0xA1B1, 0x201D}, //5797 #RIGHT DOUBLE QUOTATION MARK
+  {0xA1B2, 0x3014}, //5798 #LEFT TORTOISE SHELL BRACKET
+  {0xA1B3, 0x3015}, //5799 #RIGHT TORTOISE SHELL BRACKET
+  {0xA1B4, 0x3008}, //5800 #LEFT ANGLE BRACKET
+  {0xA1B5, 0x3009}, //5801 #RIGHT ANGLE BRACKET
+  {0xA1B6, 0x300A}, //5802 #LEFT DOUBLE ANGLE BRACKET
+  {0xA1B7, 0x300B}, //5803 #RIGHT DOUBLE ANGLE BRACKET
+  {0xA1B8, 0x300C}, //5804 #LEFT CORNER BRACKET
+  {0xA1B9, 0x300D}, //5805 #RIGHT CORNER BRACKET
+  {0xA1BA, 0x300E}, //5806 #LEFT WHITE CORNER BRACKET
+  {0xA1BB, 0x300F}, //5807 #RIGHT WHITE CORNER BRACKET
+  {0xA1BC, 0x3010}, //5808 #LEFT BLACK LENTICULAR BRACKET
+  {0xA1BD, 0x3011}, //5809 #RIGHT BLACK LENTICULAR BRACKET
+  {0xA1BE, 0x00B1}, //5810 #PLUS-MINUS SIGN
+  {0xA1BF, 0x00D7}, //5811 #MULTIPLICATION SIGN
+  {0xA1C0, 0x00F7}, //5812 #DIVISION SIGN
+  {0xA1C1, 0x2260}, //5813 #NOT EQUAL TO
+  {0xA1C2, 0x2264}, //5814 #LESS-THAN OR EQUAL TO
+  {0xA1C3, 0x2265}, //5815 #GREATER-THAN OR EQUAL TO
+  {0xA1C4, 0x221E}, //5816 #INFINITY
+  {0xA1C5, 0x2234}, //5817 #THEREFORE
+  {0xA1C6, 0x00B0}, //5818 #DEGREE SIGN
+  {0xA1C7, 0x2032}, //5819 #PRIME
+  {0xA1C8, 0x2033}, //5820 #DOUBLE PRIME
+  {0xA1C9, 0x2103}, //5821 #DEGREE CELSIUS
+  {0xA1CA, 0x212B}, //5822 #ANGSTROM SIGN
+  {0xA1CB, 0xFFE0}, //5823 #FULLWIDTH CENT SIGN
+  {0xA1CC, 0xFFE1}, //5824 #FULLWIDTH POUND SIGN
+  {0xA1CD, 0xFFE5}, //5825 #FULLWIDTH YEN SIGN
+  {0xA1CE, 0x2642}, //5826 #MALE SIGN
+  {0xA1CF, 0x2640}, //5827 #FEMALE SIGN
+  {0xA1D0, 0x2220}, //5828 #ANGLE
+  {0xA1D1, 0x22A5}, //5829 #UP TACK
+  {0xA1D2, 0x2312}, //5830 #ARC
+  {0xA1D3, 0x2202}, //5831 #PARTIAL DIFFERENTIAL
+  {0xA1D4, 0x2207}, //5832 #NABLA
+  {0xA1D5, 0x2261}, //5833 #IDENTICAL TO
+  {0xA1D6, 0x2252}, //5834 #APPROXIMATELY EQUAL TO OR THE IMAGE OF
+  {0xA1D7, 0x00A7}, //5835 #SECTION SIGN
+  {0xA1D8, 0x203B}, //5836 #REFERENCE MARK
+  {0xA1D9, 0x2606}, //5837 #WHITE STAR
+  {0xA1DA, 0x2605}, //5838 #BLACK STAR
+  {0xA1DB, 0x25CB}, //5839 #WHITE CIRCLE
+  {0xA1DC, 0x25CF}, //5840 #BLACK CIRCLE
+  {0xA1DD, 0x25CE}, //5841 #BULLSEYE
+  {0xA1DE, 0x25C7}, //5842 #WHITE DIAMOND
+  {0xA1DF, 0x25C6}, //5843 #BLACK DIAMOND
+  {0xA1E0, 0x25A1}, //5844 #WHITE SQUARE
+  {0xA1E1, 0x25A0}, //5845 #BLACK SQUARE
+  {0xA1E2, 0x25B3}, //5846 #WHITE UP-POINTING TRIANGLE
+  {0xA1E3, 0x25B2}, //5847 #BLACK UP-POINTING TRIANGLE
+  {0xA1E4, 0x25BD}, //5848 #WHITE DOWN-POINTING TRIANGLE
+  {0xA1E5, 0x25BC}, //5849 #BLACK DOWN-POINTING TRIANGLE
+  {0xA1E6, 0x2192}, //5850 #RIGHTWARDS ARROW
+  {0xA1E7, 0x2190}, //5851 #LEFTWARDS ARROW
+  {0xA1E8, 0x2191}, //5852 #UPWARDS ARROW
+  {0xA1E9, 0x2193}, //5853 #DOWNWARDS ARROW
+  {0xA1EA, 0x2194}, //5854 #LEFT RIGHT ARROW
+  {0xA1EB, 0x3013}, //5855 #GETA MARK
+  {0xA1EC, 0x226A}, //5856 #MUCH LESS-THAN
+  {0xA1ED, 0x226B}, //5857 #MUCH GREATER-THAN
+  {0xA1EE, 0x221A}, //5858 #SQUARE ROOT
+  {0xA1EF, 0x223D}, //5859 #REVERSED TILDE
+  {0xA1F0, 0x221D}, //5860 #PROPORTIONAL TO
+  {0xA1F1, 0x2235}, //5861 #BECAUSE
+  {0xA1F2, 0x222B}, //5862 #INTEGRAL
+  {0xA1F3, 0x222C}, //5863 #DOUBLE INTEGRAL
+  {0xA1F4, 0x2208}, //5864 #ELEMENT OF
+  {0xA1F5, 0x220B}, //5865 #CONTAINS AS MEMBER
+  {0xA1F6, 0x2286}, //5866 #SUBSET OF OR EQUAL TO
+  {0xA1F7, 0x2287}, //5867 #SUPERSET OF OR EQUAL TO
+  {0xA1F8, 0x2282}, //5868 #SUBSET OF
+  {0xA1F9, 0x2283}, //5869 #SUPERSET OF
+  {0xA1FA, 0x222A}, //5870 #UNION
+  {0xA1FB, 0x2229}, //5871 #INTERSECTION
+  {0xA1FC, 0x2227}, //5872 #LOGICAL AND
+  {0xA1FD, 0x2228}, //5873 #LOGICAL OR
+  {0xA1FE, 0xFFE2}, //5874 #FULLWIDTH NOT SIGN
+  {0xA241, 0xC910}, //5875 #HANGUL SYLLABLE CIEUC U SSANGSIOS
+  {0xA242, 0xC912}, //5876 #HANGUL SYLLABLE CIEUC U CIEUC
+  {0xA243, 0xC913}, //5877 #HANGUL SYLLABLE CIEUC U CHIEUCH
+  {0xA244, 0xC914}, //5878 #HANGUL SYLLABLE CIEUC U KHIEUKH
+  {0xA245, 0xC915}, //5879 #HANGUL SYLLABLE CIEUC U THIEUTH
+  {0xA246, 0xC916}, //5880 #HANGUL SYLLABLE CIEUC U PHIEUPH
+  {0xA247, 0xC917}, //5881 #HANGUL SYLLABLE CIEUC U HIEUH
+  {0xA248, 0xC919}, //5882 #HANGUL SYLLABLE CIEUC WEO KIYEOK
+  {0xA249, 0xC91A}, //5883 #HANGUL SYLLABLE CIEUC WEO SSANGKIYEOK
+  {0xA24A, 0xC91B}, //5884 #HANGUL SYLLABLE CIEUC WEO KIYEOKSIOS
+  {0xA24B, 0xC91C}, //5885 #HANGUL SYLLABLE CIEUC WEO NIEUN
+  {0xA24C, 0xC91D}, //5886 #HANGUL SYLLABLE CIEUC WEO NIEUNCIEUC
+  {0xA24D, 0xC91E}, //5887 #HANGUL SYLLABLE CIEUC WEO NIEUNHIEUH
+  {0xA24E, 0xC91F}, //5888 #HANGUL SYLLABLE CIEUC WEO TIKEUT
+  {0xA24F, 0xC920}, //5889 #HANGUL SYLLABLE CIEUC WEO RIEUL
+  {0xA250, 0xC921}, //5890 #HANGUL SYLLABLE CIEUC WEO RIEULKIYEOK
+  {0xA251, 0xC922}, //5891 #HANGUL SYLLABLE CIEUC WEO RIEULMIEUM
+  {0xA252, 0xC923}, //5892 #HANGUL SYLLABLE CIEUC WEO RIEULPIEUP
+  {0xA253, 0xC924}, //5893 #HANGUL SYLLABLE CIEUC WEO RIEULSIOS
+  {0xA254, 0xC925}, //5894 #HANGUL SYLLABLE CIEUC WEO RIEULTHIEUTH
+  {0xA255, 0xC926}, //5895 #HANGUL SYLLABLE CIEUC WEO RIEULPHIEUPH
+  {0xA256, 0xC927}, //5896 #HANGUL SYLLABLE CIEUC WEO RIEULHIEUH
+  {0xA257, 0xC928}, //5897 #HANGUL SYLLABLE CIEUC WEO MIEUM
+  {0xA258, 0xC929}, //5898 #HANGUL SYLLABLE CIEUC WEO PIEUP
+  {0xA259, 0xC92A}, //5899 #HANGUL SYLLABLE CIEUC WEO PIEUPSIOS
+  {0xA25A, 0xC92B}, //5900 #HANGUL SYLLABLE CIEUC WEO SIOS
+  {0xA261, 0xC92D}, //5901 #HANGUL SYLLABLE CIEUC WEO IEUNG
+  {0xA262, 0xC92E}, //5902 #HANGUL SYLLABLE CIEUC WEO CIEUC
+  {0xA263, 0xC92F}, //5903 #HANGUL SYLLABLE CIEUC WEO CHIEUCH
+  {0xA264, 0xC930}, //5904 #HANGUL SYLLABLE CIEUC WEO KHIEUKH
+  {0xA265, 0xC931}, //5905 #HANGUL SYLLABLE CIEUC WEO THIEUTH
+  {0xA266, 0xC932}, //5906 #HANGUL SYLLABLE CIEUC WEO PHIEUPH
+  {0xA267, 0xC933}, //5907 #HANGUL SYLLABLE CIEUC WEO HIEUH
+  {0xA268, 0xC935}, //5908 #HANGUL SYLLABLE CIEUC WE KIYEOK
+  {0xA269, 0xC936}, //5909 #HANGUL SYLLABLE CIEUC WE SSANGKIYEOK
+  {0xA26A, 0xC937}, //5910 #HANGUL SYLLABLE CIEUC WE KIYEOKSIOS
+  {0xA26B, 0xC938}, //5911 #HANGUL SYLLABLE CIEUC WE NIEUN
+  {0xA26C, 0xC939}, //5912 #HANGUL SYLLABLE CIEUC WE NIEUNCIEUC
+  {0xA26D, 0xC93A}, //5913 #HANGUL SYLLABLE CIEUC WE NIEUNHIEUH
+  {0xA26E, 0xC93B}, //5914 #HANGUL SYLLABLE CIEUC WE TIKEUT
+  {0xA26F, 0xC93C}, //5915 #HANGUL SYLLABLE CIEUC WE RIEUL
+  {0xA270, 0xC93D}, //5916 #HANGUL SYLLABLE CIEUC WE RIEULKIYEOK
+  {0xA271, 0xC93E}, //5917 #HANGUL SYLLABLE CIEUC WE RIEULMIEUM
+  {0xA272, 0xC93F}, //5918 #HANGUL SYLLABLE CIEUC WE RIEULPIEUP
+  {0xA273, 0xC940}, //5919 #HANGUL SYLLABLE CIEUC WE RIEULSIOS
+  {0xA274, 0xC941}, //5920 #HANGUL SYLLABLE CIEUC WE RIEULTHIEUTH
+  {0xA275, 0xC942}, //5921 #HANGUL SYLLABLE CIEUC WE RIEULPHIEUPH
+  {0xA276, 0xC943}, //5922 #HANGUL SYLLABLE CIEUC WE RIEULHIEUH
+  {0xA277, 0xC944}, //5923 #HANGUL SYLLABLE CIEUC WE MIEUM
+  {0xA278, 0xC945}, //5924 #HANGUL SYLLABLE CIEUC WE PIEUP
+  {0xA279, 0xC946}, //5925 #HANGUL SYLLABLE CIEUC WE PIEUPSIOS
+  {0xA27A, 0xC947}, //5926 #HANGUL SYLLABLE CIEUC WE SIOS
+  {0xA281, 0xC948}, //5927 #HANGUL SYLLABLE CIEUC WE SSANGSIOS
+  {0xA282, 0xC949}, //5928 #HANGUL SYLLABLE CIEUC WE IEUNG
+  {0xA283, 0xC94A}, //5929 #HANGUL SYLLABLE CIEUC WE CIEUC
+  {0xA284, 0xC94B}, //5930 #HANGUL SYLLABLE CIEUC WE CHIEUCH
+  {0xA285, 0xC94C}, //5931 #HANGUL SYLLABLE CIEUC WE KHIEUKH
+  {0xA286, 0xC94D}, //5932 #HANGUL SYLLABLE CIEUC WE THIEUTH
+  {0xA287, 0xC94E}, //5933 #HANGUL SYLLABLE CIEUC WE PHIEUPH
+  {0xA288, 0xC94F}, //5934 #HANGUL SYLLABLE CIEUC WE HIEUH
+  {0xA289, 0xC952}, //5935 #HANGUL SYLLABLE CIEUC WI SSANGKIYEOK
+  {0xA28A, 0xC953}, //5936 #HANGUL SYLLABLE CIEUC WI KIYEOKSIOS
+  {0xA28B, 0xC955}, //5937 #HANGUL SYLLABLE CIEUC WI NIEUNCIEUC
+  {0xA28C, 0xC956}, //5938 #HANGUL SYLLABLE CIEUC WI NIEUNHIEUH
+  {0xA28D, 0xC957}, //5939 #HANGUL SYLLABLE CIEUC WI TIKEUT
+  {0xA28E, 0xC959}, //5940 #HANGUL SYLLABLE CIEUC WI RIEULKIYEOK
+  {0xA28F, 0xC95A}, //5941 #HANGUL SYLLABLE CIEUC WI RIEULMIEUM
+  {0xA290, 0xC95B}, //5942 #HANGUL SYLLABLE CIEUC WI RIEULPIEUP
+  {0xA291, 0xC95C}, //5943 #HANGUL SYLLABLE CIEUC WI RIEULSIOS
+  {0xA292, 0xC95D}, //5944 #HANGUL SYLLABLE CIEUC WI RIEULTHIEUTH
+  {0xA293, 0xC95E}, //5945 #HANGUL SYLLABLE CIEUC WI RIEULPHIEUPH
+  {0xA294, 0xC95F}, //5946 #HANGUL SYLLABLE CIEUC WI RIEULHIEUH
+  {0xA295, 0xC962}, //5947 #HANGUL SYLLABLE CIEUC WI PIEUPSIOS
+  {0xA296, 0xC964}, //5948 #HANGUL SYLLABLE CIEUC WI SSANGSIOS
+  {0xA297, 0xC965}, //5949 #HANGUL SYLLABLE CIEUC WI IEUNG
+  {0xA298, 0xC966}, //5950 #HANGUL SYLLABLE CIEUC WI CIEUC
+  {0xA299, 0xC967}, //5951 #HANGUL SYLLABLE CIEUC WI CHIEUCH
+  {0xA29A, 0xC968}, //5952 #HANGUL SYLLABLE CIEUC WI KHIEUKH
+  {0xA29B, 0xC969}, //5953 #HANGUL SYLLABLE CIEUC WI THIEUTH
+  {0xA29C, 0xC96A}, //5954 #HANGUL SYLLABLE CIEUC WI PHIEUPH
+  {0xA29D, 0xC96B}, //5955 #HANGUL SYLLABLE CIEUC WI HIEUH
+  {0xA29E, 0xC96D}, //5956 #HANGUL SYLLABLE CIEUC YU KIYEOK
+  {0xA29F, 0xC96E}, //5957 #HANGUL SYLLABLE CIEUC YU SSANGKIYEOK
+  {0xA2A0, 0xC96F}, //5958 #HANGUL SYLLABLE CIEUC YU KIYEOKSIOS
+  {0xA2A1, 0x21D2}, //5959 #RIGHTWARDS DOUBLE ARROW
+  {0xA2A2, 0x21D4}, //5960 #LEFT RIGHT DOUBLE ARROW
+  {0xA2A3, 0x2200}, //5961 #FOR ALL
+  {0xA2A4, 0x2203}, //5962 #THERE EXISTS
+  {0xA2A5, 0x00B4}, //5963 #ACUTE ACCENT
+  {0xA2A6, 0xFF5E}, //5964 #FULLWIDTH TILDE
+  {0xA2A7, 0x02C7}, //5965 #CARON
+  {0xA2A8, 0x02D8}, //5966 #BREVE
+  {0xA2A9, 0x02DD}, //5967 #DOUBLE ACUTE ACCENT
+  {0xA2AA, 0x02DA}, //5968 #RING ABOVE
+  {0xA2AB, 0x02D9}, //5969 #DOT ABOVE
+  {0xA2AC, 0x00B8}, //5970 #CEDILLA
+  {0xA2AD, 0x02DB}, //5971 #OGONEK
+  {0xA2AE, 0x00A1}, //5972 #INVERTED EXCLAMATION MARK
+  {0xA2AF, 0x00BF}, //5973 #INVERTED QUESTION MARK
+  {0xA2B0, 0x02D0}, //5974 #MODIFIER LETTER TRIANGULAR COLON
+  {0xA2B1, 0x222E}, //5975 #CONTOUR INTEGRAL
+  {0xA2B2, 0x2211}, //5976 #N-ARY SUMMATION
+  {0xA2B3, 0x220F}, //5977 #N-ARY PRODUCT
+  {0xA2B4, 0x00A4}, //5978 #CURRENCY SIGN
+  {0xA2B5, 0x2109}, //5979 #DEGREE FAHRENHEIT
+  {0xA2B6, 0x2030}, //5980 #PER MILLE SIGN
+  {0xA2B7, 0x25C1}, //5981 #WHITE LEFT-POINTING TRIANGLE
+  {0xA2B8, 0x25C0}, //5982 #BLACK LEFT-POINTING TRIANGLE
+  {0xA2B9, 0x25B7}, //5983 #WHITE RIGHT-POINTING TRIANGLE
+  {0xA2BA, 0x25B6}, //5984 #BLACK RIGHT-POINTING TRIANGLE
+  {0xA2BB, 0x2664}, //5985 #WHITE SPADE SUIT
+  {0xA2BC, 0x2660}, //5986 #BLACK SPADE SUIT
+  {0xA2BD, 0x2661}, //5987 #WHITE HEART SUIT
+  {0xA2BE, 0x2665}, //5988 #BLACK HEART SUIT
+  {0xA2BF, 0x2667}, //5989 #WHITE CLUB SUIT
+  {0xA2C0, 0x2663}, //5990 #BLACK CLUB SUIT
+  {0xA2C1, 0x2299}, //5991 #CIRCLED DOT OPERATOR
+  {0xA2C2, 0x25C8}, //5992 #WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
+  {0xA2C3, 0x25A3}, //5993 #WHITE SQUARE CONTAINING BLACK SMALL SQUARE
+  {0xA2C4, 0x25D0}, //5994 #CIRCLE WITH LEFT HALF BLACK
+  {0xA2C5, 0x25D1}, //5995 #CIRCLE WITH RIGHT HALF BLACK
+  {0xA2C6, 0x2592}, //5996 #MEDIUM SHADE
+  {0xA2C7, 0x25A4}, //5997 #SQUARE WITH HORIZONTAL FILL
+  {0xA2C8, 0x25A5}, //5998 #SQUARE WITH VERTICAL FILL
+  {0xA2C9, 0x25A8}, //5999 #SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
+  {0xA2CA, 0x25A7}, //6000 #SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
+  {0xA2CB, 0x25A6}, //6001 #SQUARE WITH ORTHOGONAL CROSSHATCH FILL
+  {0xA2CC, 0x25A9}, //6002 #SQUARE WITH DIAGONAL CROSSHATCH FILL
+  {0xA2CD, 0x2668}, //6003 #HOT SPRINGS
+  {0xA2CE, 0x260F}, //6004 #WHITE TELEPHONE
+  {0xA2CF, 0x260E}, //6005 #BLACK TELEPHONE
+  {0xA2D0, 0x261C}, //6006 #WHITE LEFT POINTING INDEX
+  {0xA2D1, 0x261E}, //6007 #WHITE RIGHT POINTING INDEX
+  {0xA2D2, 0x00B6}, //6008 #PILCROW SIGN
+  {0xA2D3, 0x2020}, //6009 #DAGGER
+  {0xA2D4, 0x2021}, //6010 #DOUBLE DAGGER
+  {0xA2D5, 0x2195}, //6011 #UP DOWN ARROW
+  {0xA2D6, 0x2197}, //6012 #NORTH EAST ARROW
+  {0xA2D7, 0x2199}, //6013 #SOUTH WEST ARROW
+  {0xA2D8, 0x2196}, //6014 #NORTH WEST ARROW
+  {0xA2D9, 0x2198}, //6015 #SOUTH EAST ARROW
+  {0xA2DA, 0x266D}, //6016 #MUSIC FLAT SIGN
+  {0xA2DB, 0x2669}, //6017 #QUARTER NOTE
+  {0xA2DC, 0x266A}, //6018 #EIGHTH NOTE
+  {0xA2DD, 0x266C}, //6019 #BEAMED SIXTEENTH NOTES
+  {0xA2DE, 0x327F}, //6020 #KOREAN STANDARD SYMBOL
+  {0xA2DF, 0x321C}, //6021 #PARENTHESIZED HANGUL CIEUC U
+  {0xA2E0, 0x2116}, //6022 #NUMERO SIGN
+  {0xA2E1, 0x33C7}, //6023 #SQUARE CO
+  {0xA2E2, 0x2122}, //6024 #TRADE MARK SIGN
+  {0xA2E3, 0x33C2}, //6025 #SQUARE AM
+  {0xA2E4, 0x33D8}, //6026 #SQUARE PM
+  {0xA2E5, 0x2121}, //6027 #TELEPHONE SIGN
+  {0xA2E6, 0x20AC}, //6028 #EURO SIGN
+  {0xA2E7, 0x00AE}, //6029 #REGISTERED SIGN
+  {0xA341, 0xC971}, //6030 #HANGUL SYLLABLE CIEUC YU NIEUNCIEUC
+  {0xA342, 0xC972}, //6031 #HANGUL SYLLABLE CIEUC YU NIEUNHIEUH
+  {0xA343, 0xC973}, //6032 #HANGUL SYLLABLE CIEUC YU TIKEUT
+  {0xA344, 0xC975}, //6033 #HANGUL SYLLABLE CIEUC YU RIEULKIYEOK
+  {0xA345, 0xC976}, //6034 #HANGUL SYLLABLE CIEUC YU RIEULMIEUM
+  {0xA346, 0xC977}, //6035 #HANGUL SYLLABLE CIEUC YU RIEULPIEUP
+  {0xA347, 0xC978}, //6036 #HANGUL SYLLABLE CIEUC YU RIEULSIOS
+  {0xA348, 0xC979}, //6037 #HANGUL SYLLABLE CIEUC YU RIEULTHIEUTH
+  {0xA349, 0xC97A}, //6038 #HANGUL SYLLABLE CIEUC YU RIEULPHIEUPH
+  {0xA34A, 0xC97B}, //6039 #HANGUL SYLLABLE CIEUC YU RIEULHIEUH
+  {0xA34B, 0xC97D}, //6040 #HANGUL SYLLABLE CIEUC YU PIEUP
+  {0xA34C, 0xC97E}, //6041 #HANGUL SYLLABLE CIEUC YU PIEUPSIOS
+  {0xA34D, 0xC97F}, //6042 #HANGUL SYLLABLE CIEUC YU SIOS
+  {0xA34E, 0xC980}, //6043 #HANGUL SYLLABLE CIEUC YU SSANGSIOS
+  {0xA34F, 0xC981}, //6044 #HANGUL SYLLABLE CIEUC YU IEUNG
+  {0xA350, 0xC982}, //6045 #HANGUL SYLLABLE CIEUC YU CIEUC
+  {0xA351, 0xC983}, //6046 #HANGUL SYLLABLE CIEUC YU CHIEUCH
+  {0xA352, 0xC984}, //6047 #HANGUL SYLLABLE CIEUC YU KHIEUKH
+  {0xA353, 0xC985}, //6048 #HANGUL SYLLABLE CIEUC YU THIEUTH
+  {0xA354, 0xC986}, //6049 #HANGUL SYLLABLE CIEUC YU PHIEUPH
+  {0xA355, 0xC987}, //6050 #HANGUL SYLLABLE CIEUC YU HIEUH
+  {0xA356, 0xC98A}, //6051 #HANGUL SYLLABLE CIEUC EU SSANGKIYEOK
+  {0xA357, 0xC98B}, //6052 #HANGUL SYLLABLE CIEUC EU KIYEOKSIOS
+  {0xA358, 0xC98D}, //6053 #HANGUL SYLLABLE CIEUC EU NIEUNCIEUC
+  {0xA359, 0xC98E}, //6054 #HANGUL SYLLABLE CIEUC EU NIEUNHIEUH
+  {0xA35A, 0xC98F}, //6055 #HANGUL SYLLABLE CIEUC EU TIKEUT
+  {0xA361, 0xC991}, //6056 #HANGUL SYLLABLE CIEUC EU RIEULKIYEOK
+  {0xA362, 0xC992}, //6057 #HANGUL SYLLABLE CIEUC EU RIEULMIEUM
+  {0xA363, 0xC993}, //6058 #HANGUL SYLLABLE CIEUC EU RIEULPIEUP
+  {0xA364, 0xC994}, //6059 #HANGUL SYLLABLE CIEUC EU RIEULSIOS
+  {0xA365, 0xC995}, //6060 #HANGUL SYLLABLE CIEUC EU RIEULTHIEUTH
+  {0xA366, 0xC996}, //6061 #HANGUL SYLLABLE CIEUC EU RIEULPHIEUPH
+  {0xA367, 0xC997}, //6062 #HANGUL SYLLABLE CIEUC EU RIEULHIEUH
+  {0xA368, 0xC99A}, //6063 #HANGUL SYLLABLE CIEUC EU PIEUPSIOS
+  {0xA369, 0xC99C}, //6064 #HANGUL SYLLABLE CIEUC EU SSANGSIOS
+  {0xA36A, 0xC99E}, //6065 #HANGUL SYLLABLE CIEUC EU CIEUC
+  {0xA36B, 0xC99F}, //6066 #HANGUL SYLLABLE CIEUC EU CHIEUCH
+  {0xA36C, 0xC9A0}, //6067 #HANGUL SYLLABLE CIEUC EU KHIEUKH
+  {0xA36D, 0xC9A1}, //6068 #HANGUL SYLLABLE CIEUC EU THIEUTH
+  {0xA36E, 0xC9A2}, //6069 #HANGUL SYLLABLE CIEUC EU PHIEUPH
+  {0xA36F, 0xC9A3}, //6070 #HANGUL SYLLABLE CIEUC EU HIEUH
+  {0xA370, 0xC9A4}, //6071 #HANGUL SYLLABLE CIEUC YI
+  {0xA371, 0xC9A5}, //6072 #HANGUL SYLLABLE CIEUC YI KIYEOK
+  {0xA372, 0xC9A6}, //6073 #HANGUL SYLLABLE CIEUC YI SSANGKIYEOK
+  {0xA373, 0xC9A7}, //6074 #HANGUL SYLLABLE CIEUC YI KIYEOKSIOS
+  {0xA374, 0xC9A8}, //6075 #HANGUL SYLLABLE CIEUC YI NIEUN
+  {0xA375, 0xC9A9}, //6076 #HANGUL SYLLABLE CIEUC YI NIEUNCIEUC
+  {0xA376, 0xC9AA}, //6077 #HANGUL SYLLABLE CIEUC YI NIEUNHIEUH
+  {0xA377, 0xC9AB}, //6078 #HANGUL SYLLABLE CIEUC YI TIKEUT
+  {0xA378, 0xC9AC}, //6079 #HANGUL SYLLABLE CIEUC YI RIEUL
+  {0xA379, 0xC9AD}, //6080 #HANGUL SYLLABLE CIEUC YI RIEULKIYEOK
+  {0xA37A, 0xC9AE}, //6081 #HANGUL SYLLABLE CIEUC YI RIEULMIEUM
+  {0xA381, 0xC9AF}, //6082 #HANGUL SYLLABLE CIEUC YI RIEULPIEUP
+  {0xA382, 0xC9B0}, //6083 #HANGUL SYLLABLE CIEUC YI RIEULSIOS
+  {0xA383, 0xC9B1}, //6084 #HANGUL SYLLABLE CIEUC YI RIEULTHIEUTH
+  {0xA384, 0xC9B2}, //6085 #HANGUL SYLLABLE CIEUC YI RIEULPHIEUPH
+  {0xA385, 0xC9B3}, //6086 #HANGUL SYLLABLE CIEUC YI RIEULHIEUH
+  {0xA386, 0xC9B4}, //6087 #HANGUL SYLLABLE CIEUC YI MIEUM
+  {0xA387, 0xC9B5}, //6088 #HANGUL SYLLABLE CIEUC YI PIEUP
+  {0xA388, 0xC9B6}, //6089 #HANGUL SYLLABLE CIEUC YI PIEUPSIOS
+  {0xA389, 0xC9B7}, //6090 #HANGUL SYLLABLE CIEUC YI SIOS
+  {0xA38A, 0xC9B8}, //6091 #HANGUL SYLLABLE CIEUC YI SSANGSIOS
+  {0xA38B, 0xC9B9}, //6092 #HANGUL SYLLABLE CIEUC YI IEUNG
+  {0xA38C, 0xC9BA}, //6093 #HANGUL SYLLABLE CIEUC YI CIEUC
+  {0xA38D, 0xC9BB}, //6094 #HANGUL SYLLABLE CIEUC YI CHIEUCH
+  {0xA38E, 0xC9BC}, //6095 #HANGUL SYLLABLE CIEUC YI KHIEUKH
+  {0xA38F, 0xC9BD}, //6096 #HANGUL SYLLABLE CIEUC YI THIEUTH
+  {0xA390, 0xC9BE}, //6097 #HANGUL SYLLABLE CIEUC YI PHIEUPH
+  {0xA391, 0xC9BF}, //6098 #HANGUL SYLLABLE CIEUC YI HIEUH
+  {0xA392, 0xC9C2}, //6099 #HANGUL SYLLABLE CIEUC I SSANGKIYEOK
+  {0xA393, 0xC9C3}, //6100 #HANGUL SYLLABLE CIEUC I KIYEOKSIOS
+  {0xA394, 0xC9C5}, //6101 #HANGUL SYLLABLE CIEUC I NIEUNCIEUC
+  {0xA395, 0xC9C6}, //6102 #HANGUL SYLLABLE CIEUC I NIEUNHIEUH
+  {0xA396, 0xC9C9}, //6103 #HANGUL SYLLABLE CIEUC I RIEULKIYEOK
+  {0xA397, 0xC9CB}, //6104 #HANGUL SYLLABLE CIEUC I RIEULPIEUP
+  {0xA398, 0xC9CC}, //6105 #HANGUL SYLLABLE CIEUC I RIEULSIOS
+  {0xA399, 0xC9CD}, //6106 #HANGUL SYLLABLE CIEUC I RIEULTHIEUTH
+  {0xA39A, 0xC9CE}, //6107 #HANGUL SYLLABLE CIEUC I RIEULPHIEUPH
+  {0xA39B, 0xC9CF}, //6108 #HANGUL SYLLABLE CIEUC I RIEULHIEUH
+  {0xA39C, 0xC9D2}, //6109 #HANGUL SYLLABLE CIEUC I PIEUPSIOS
+  {0xA39D, 0xC9D4}, //6110 #HANGUL SYLLABLE CIEUC I SSANGSIOS
+  {0xA39E, 0xC9D7}, //6111 #HANGUL SYLLABLE CIEUC I CHIEUCH
+  {0xA39F, 0xC9D8}, //6112 #HANGUL SYLLABLE CIEUC I KHIEUKH
+  {0xA3A0, 0xC9DB}, //6113 #HANGUL SYLLABLE CIEUC I HIEUH
+  {0xA3A1, 0xFF01}, //6114 #FULLWIDTH EXCLAMATION MARK
+  {0xA3A2, 0xFF02}, //6115 #FULLWIDTH QUOTATION MARK
+  {0xA3A3, 0xFF03}, //6116 #FULLWIDTH NUMBER SIGN
+  {0xA3A4, 0xFF04}, //6117 #FULLWIDTH DOLLAR SIGN
+  {0xA3A5, 0xFF05}, //6118 #FULLWIDTH PERCENT SIGN
+  {0xA3A6, 0xFF06}, //6119 #FULLWIDTH AMPERSAND
+  {0xA3A7, 0xFF07}, //6120 #FULLWIDTH APOSTROPHE
+  {0xA3A8, 0xFF08}, //6121 #FULLWIDTH LEFT PARENTHESIS
+  {0xA3A9, 0xFF09}, //6122 #FULLWIDTH RIGHT PARENTHESIS
+  {0xA3AA, 0xFF0A}, //6123 #FULLWIDTH ASTERISK
+  {0xA3AB, 0xFF0B}, //6124 #FULLWIDTH PLUS SIGN
+  {0xA3AC, 0xFF0C}, //6125 #FULLWIDTH COMMA
+  {0xA3AD, 0xFF0D}, //6126 #FULLWIDTH HYPHEN-MINUS
+  {0xA3AE, 0xFF0E}, //6127 #FULLWIDTH FULL STOP
+  {0xA3AF, 0xFF0F}, //6128 #FULLWIDTH SOLIDUS
+  {0xA3B0, 0xFF10}, //6129 #FULLWIDTH DIGIT ZERO
+  {0xA3B1, 0xFF11}, //6130 #FULLWIDTH DIGIT ONE
+  {0xA3B2, 0xFF12}, //6131 #FULLWIDTH DIGIT TWO
+  {0xA3B3, 0xFF13}, //6132 #FULLWIDTH DIGIT THREE
+  {0xA3B4, 0xFF14}, //6133 #FULLWIDTH DIGIT FOUR
+  {0xA3B5, 0xFF15}, //6134 #FULLWIDTH DIGIT FIVE
+  {0xA3B6, 0xFF16}, //6135 #FULLWIDTH DIGIT SIX
+  {0xA3B7, 0xFF17}, //6136 #FULLWIDTH DIGIT SEVEN
+  {0xA3B8, 0xFF18}, //6137 #FULLWIDTH DIGIT EIGHT
+  {0xA3B9, 0xFF19}, //6138 #FULLWIDTH DIGIT NINE
+  {0xA3BA, 0xFF1A}, //6139 #FULLWIDTH COLON
+  {0xA3BB, 0xFF1B}, //6140 #FULLWIDTH SEMICOLON
+  {0xA3BC, 0xFF1C}, //6141 #FULLWIDTH LESS-THAN SIGN
+  {0xA3BD, 0xFF1D}, //6142 #FULLWIDTH EQUALS SIGN
+  {0xA3BE, 0xFF1E}, //6143 #FULLWIDTH GREATER-THAN SIGN
+  {0xA3BF, 0xFF1F}, //6144 #FULLWIDTH QUESTION MARK
+  {0xA3C0, 0xFF20}, //6145 #FULLWIDTH COMMERCIAL AT
+  {0xA3C1, 0xFF21}, //6146 #FULLWIDTH LATIN CAPITAL LETTER A
+  {0xA3C2, 0xFF22}, //6147 #FULLWIDTH LATIN CAPITAL LETTER B
+  {0xA3C3, 0xFF23}, //6148 #FULLWIDTH LATIN CAPITAL LETTER C
+  {0xA3C4, 0xFF24}, //6149 #FULLWIDTH LATIN CAPITAL LETTER D
+  {0xA3C5, 0xFF25}, //6150 #FULLWIDTH LATIN CAPITAL LETTER E
+  {0xA3C6, 0xFF26}, //6151 #FULLWIDTH LATIN CAPITAL LETTER F
+  {0xA3C7, 0xFF27}, //6152 #FULLWIDTH LATIN CAPITAL LETTER G
+  {0xA3C8, 0xFF28}, //6153 #FULLWIDTH LATIN CAPITAL LETTER H
+  {0xA3C9, 0xFF29}, //6154 #FULLWIDTH LATIN CAPITAL LETTER I
+  {0xA3CA, 0xFF2A}, //6155 #FULLWIDTH LATIN CAPITAL LETTER J
+  {0xA3CB, 0xFF2B}, //6156 #FULLWIDTH LATIN CAPITAL LETTER K
+  {0xA3CC, 0xFF2C}, //6157 #FULLWIDTH LATIN CAPITAL LETTER L
+  {0xA3CD, 0xFF2D}, //6158 #FULLWIDTH LATIN CAPITAL LETTER M
+  {0xA3CE, 0xFF2E}, //6159 #FULLWIDTH LATIN CAPITAL LETTER N
+  {0xA3CF, 0xFF2F}, //6160 #FULLWIDTH LATIN CAPITAL LETTER O
+  {0xA3D0, 0xFF30}, //6161 #FULLWIDTH LATIN CAPITAL LETTER P
+  {0xA3D1, 0xFF31}, //6162 #FULLWIDTH LATIN CAPITAL LETTER Q
+  {0xA3D2, 0xFF32}, //6163 #FULLWIDTH LATIN CAPITAL LETTER R
+  {0xA3D3, 0xFF33}, //6164 #FULLWIDTH LATIN CAPITAL LETTER S
+  {0xA3D4, 0xFF34}, //6165 #FULLWIDTH LATIN CAPITAL LETTER T
+  {0xA3D5, 0xFF35}, //6166 #FULLWIDTH LATIN CAPITAL LETTER U
+  {0xA3D6, 0xFF36}, //6167 #FULLWIDTH LATIN CAPITAL LETTER V
+  {0xA3D7, 0xFF37}, //6168 #FULLWIDTH LATIN CAPITAL LETTER W
+  {0xA3D8, 0xFF38}, //6169 #FULLWIDTH LATIN CAPITAL LETTER X
+  {0xA3D9, 0xFF39}, //6170 #FULLWIDTH LATIN CAPITAL LETTER Y
+  {0xA3DA, 0xFF3A}, //6171 #FULLWIDTH LATIN CAPITAL LETTER Z
+  {0xA3DB, 0xFF3B}, //6172 #FULLWIDTH LEFT SQUARE BRACKET
+  {0xA3DC, 0xFFE6}, //6173 #FULLWIDTH WON SIGN
+  {0xA3DD, 0xFF3D}, //6174 #FULLWIDTH RIGHT SQUARE BRACKET
+  {0xA3DE, 0xFF3E}, //6175 #FULLWIDTH CIRCUMFLEX ACCENT
+  {0xA3DF, 0xFF3F}, //6176 #FULLWIDTH LOW LINE
+  {0xA3E0, 0xFF40}, //6177 #FULLWIDTH GRAVE ACCENT
+  {0xA3E1, 0xFF41}, //6178 #FULLWIDTH LATIN SMALL LETTER A
+  {0xA3E2, 0xFF42}, //6179 #FULLWIDTH LATIN SMALL LETTER B
+  {0xA3E3, 0xFF43}, //6180 #FULLWIDTH LATIN SMALL LETTER C
+  {0xA3E4, 0xFF44}, //6181 #FULLWIDTH LATIN SMALL LETTER D
+  {0xA3E5, 0xFF45}, //6182 #FULLWIDTH LATIN SMALL LETTER E
+  {0xA3E6, 0xFF46}, //6183 #FULLWIDTH LATIN SMALL LETTER F
+  {0xA3E7, 0xFF47}, //6184 #FULLWIDTH LATIN SMALL LETTER G
+  {0xA3E8, 0xFF48}, //6185 #FULLWIDTH LATIN SMALL LETTER H
+  {0xA3E9, 0xFF49}, //6186 #FULLWIDTH LATIN SMALL LETTER I
+  {0xA3EA, 0xFF4A}, //6187 #FULLWIDTH LATIN SMALL LETTER J
+  {0xA3EB, 0xFF4B}, //6188 #FULLWIDTH LATIN SMALL LETTER K
+  {0xA3EC, 0xFF4C}, //6189 #FULLWIDTH LATIN SMALL LETTER L
+  {0xA3ED, 0xFF4D}, //6190 #FULLWIDTH LATIN SMALL LETTER M
+  {0xA3EE, 0xFF4E}, //6191 #FULLWIDTH LATIN SMALL LETTER N
+  {0xA3EF, 0xFF4F}, //6192 #FULLWIDTH LATIN SMALL LETTER O
+  {0xA3F0, 0xFF50}, //6193 #FULLWIDTH LATIN SMALL LETTER P
+  {0xA3F1, 0xFF51}, //6194 #FULLWIDTH LATIN SMALL LETTER Q
+  {0xA3F2, 0xFF52}, //6195 #FULLWIDTH LATIN SMALL LETTER R
+  {0xA3F3, 0xFF53}, //6196 #FULLWIDTH LATIN SMALL LETTER S
+  {0xA3F4, 0xFF54}, //6197 #FULLWIDTH LATIN SMALL LETTER T
+  {0xA3F5, 0xFF55}, //6198 #FULLWIDTH LATIN SMALL LETTER U
+  {0xA3F6, 0xFF56}, //6199 #FULLWIDTH LATIN SMALL LETTER V
+  {0xA3F7, 0xFF57}, //6200 #FULLWIDTH LATIN SMALL LETTER W
+  {0xA3F8, 0xFF58}, //6201 #FULLWIDTH LATIN SMALL LETTER X
+  {0xA3F9, 0xFF59}, //6202 #FULLWIDTH LATIN SMALL LETTER Y
+  {0xA3FA, 0xFF5A}, //6203 #FULLWIDTH LATIN SMALL LETTER Z
+  {0xA3FB, 0xFF5B}, //6204 #FULLWIDTH LEFT CURLY BRACKET
+  {0xA3FC, 0xFF5C}, //6205 #FULLWIDTH VERTICAL LINE
+  {0xA3FD, 0xFF5D}, //6206 #FULLWIDTH RIGHT CURLY BRACKET
+  {0xA3FE, 0xFFE3}, //6207 #FULLWIDTH MACRON
+  {0xA441, 0xC9DE}, //6208 #HANGUL SYLLABLE SSANGCIEUC A SSANGKIYEOK
+  {0xA442, 0xC9DF}, //6209 #HANGUL SYLLABLE SSANGCIEUC A KIYEOKSIOS
+  {0xA443, 0xC9E1}, //6210 #HANGUL SYLLABLE SSANGCIEUC A NIEUNCIEUC
+  {0xA444, 0xC9E3}, //6211 #HANGUL SYLLABLE SSANGCIEUC A TIKEUT
+  {0xA445, 0xC9E5}, //6212 #HANGUL SYLLABLE SSANGCIEUC A RIEULKIYEOK
+  {0xA446, 0xC9E6}, //6213 #HANGUL SYLLABLE SSANGCIEUC A RIEULMIEUM
+  {0xA447, 0xC9E8}, //6214 #HANGUL SYLLABLE SSANGCIEUC A RIEULSIOS
+  {0xA448, 0xC9E9}, //6215 #HANGUL SYLLABLE SSANGCIEUC A RIEULTHIEUTH
+  {0xA449, 0xC9EA}, //6216 #HANGUL SYLLABLE SSANGCIEUC A RIEULPHIEUPH
+  {0xA44A, 0xC9EB}, //6217 #HANGUL SYLLABLE SSANGCIEUC A RIEULHIEUH
+  {0xA44B, 0xC9EE}, //6218 #HANGUL SYLLABLE SSANGCIEUC A PIEUPSIOS
+  {0xA44C, 0xC9F2}, //6219 #HANGUL SYLLABLE SSANGCIEUC A CIEUC
+  {0xA44D, 0xC9F3}, //6220 #HANGUL SYLLABLE SSANGCIEUC A CHIEUCH
+  {0xA44E, 0xC9F4}, //6221 #HANGUL SYLLABLE SSANGCIEUC A KHIEUKH
+  {0xA44F, 0xC9F5}, //6222 #HANGUL SYLLABLE SSANGCIEUC A THIEUTH
+  {0xA450, 0xC9F6}, //6223 #HANGUL SYLLABLE SSANGCIEUC A PHIEUPH
+  {0xA451, 0xC9F7}, //6224 #HANGUL SYLLABLE SSANGCIEUC A HIEUH
+  {0xA452, 0xC9FA}, //6225 #HANGUL SYLLABLE SSANGCIEUC AE SSANGKIYEOK
+  {0xA453, 0xC9FB}, //6226 #HANGUL SYLLABLE SSANGCIEUC AE KIYEOKSIOS
+  {0xA454, 0xC9FD}, //6227 #HANGUL SYLLABLE SSANGCIEUC AE NIEUNCIEUC
+  {0xA455, 0xC9FE}, //6228 #HANGUL SYLLABLE SSANGCIEUC AE NIEUNHIEUH
+  {0xA456, 0xC9FF}, //6229 #HANGUL SYLLABLE SSANGCIEUC AE TIKEUT
+  {0xA457, 0xCA01}, //6230 #HANGUL SYLLABLE SSANGCIEUC AE RIEULKIYEOK
+  {0xA458, 0xCA02}, //6231 #HANGUL SYLLABLE SSANGCIEUC AE RIEULMIEUM
+  {0xA459, 0xCA03}, //6232 #HANGUL SYLLABLE SSANGCIEUC AE RIEULPIEUP
+  {0xA45A, 0xCA04}, //6233 #HANGUL SYLLABLE SSANGCIEUC AE RIEULSIOS
+  {0xA461, 0xCA05}, //6234 #HANGUL SYLLABLE SSANGCIEUC AE RIEULTHIEUTH
+  {0xA462, 0xCA06}, //6235 #HANGUL SYLLABLE SSANGCIEUC AE RIEULPHIEUPH
+  {0xA463, 0xCA07}, //6236 #HANGUL SYLLABLE SSANGCIEUC AE RIEULHIEUH
+  {0xA464, 0xCA0A}, //6237 #HANGUL SYLLABLE SSANGCIEUC AE PIEUPSIOS
+  {0xA465, 0xCA0E}, //6238 #HANGUL SYLLABLE SSANGCIEUC AE CIEUC
+  {0xA466, 0xCA0F}, //6239 #HANGUL SYLLABLE SSANGCIEUC AE CHIEUCH
+  {0xA467, 0xCA10}, //6240 #HANGUL SYLLABLE SSANGCIEUC AE KHIEUKH
+  {0xA468, 0xCA11}, //6241 #HANGUL SYLLABLE SSANGCIEUC AE THIEUTH
+  {0xA469, 0xCA12}, //6242 #HANGUL SYLLABLE SSANGCIEUC AE PHIEUPH
+  {0xA46A, 0xCA13}, //6243 #HANGUL SYLLABLE SSANGCIEUC AE HIEUH
+  {0xA46B, 0xCA15}, //6244 #HANGUL SYLLABLE SSANGCIEUC YA KIYEOK
+  {0xA46C, 0xCA16}, //6245 #HANGUL SYLLABLE SSANGCIEUC YA SSANGKIYEOK
+  {0xA46D, 0xCA17}, //6246 #HANGUL SYLLABLE SSANGCIEUC YA KIYEOKSIOS
+  {0xA46E, 0xCA19}, //6247 #HANGUL SYLLABLE SSANGCIEUC YA NIEUNCIEUC
+  {0xA46F, 0xCA1A}, //6248 #HANGUL SYLLABLE SSANGCIEUC YA NIEUNHIEUH
+  {0xA470, 0xCA1B}, //6249 #HANGUL SYLLABLE SSANGCIEUC YA TIKEUT
+  {0xA471, 0xCA1C}, //6250 #HANGUL SYLLABLE SSANGCIEUC YA RIEUL
+  {0xA472, 0xCA1D}, //6251 #HANGUL SYLLABLE SSANGCIEUC YA RIEULKIYEOK
+  {0xA473, 0xCA1E}, //6252 #HANGUL SYLLABLE SSANGCIEUC YA RIEULMIEUM
+  {0xA474, 0xCA1F}, //6253 #HANGUL SYLLABLE SSANGCIEUC YA RIEULPIEUP
+  {0xA475, 0xCA20}, //6254 #HANGUL SYLLABLE SSANGCIEUC YA RIEULSIOS
+  {0xA476, 0xCA21}, //6255 #HANGUL SYLLABLE SSANGCIEUC YA RIEULTHIEUTH
+  {0xA477, 0xCA22}, //6256 #HANGUL SYLLABLE SSANGCIEUC YA RIEULPHIEUPH
+  {0xA478, 0xCA23}, //6257 #HANGUL SYLLABLE SSANGCIEUC YA RIEULHIEUH
+  {0xA479, 0xCA24}, //6258 #HANGUL SYLLABLE SSANGCIEUC YA MIEUM
+  {0xA47A, 0xCA25}, //6259 #HANGUL SYLLABLE SSANGCIEUC YA PIEUP
+  {0xA481, 0xCA26}, //6260 #HANGUL SYLLABLE SSANGCIEUC YA PIEUPSIOS
+  {0xA482, 0xCA27}, //6261 #HANGUL SYLLABLE SSANGCIEUC YA SIOS
+  {0xA483, 0xCA28}, //6262 #HANGUL SYLLABLE SSANGCIEUC YA SSANGSIOS
+  {0xA484, 0xCA2A}, //6263 #HANGUL SYLLABLE SSANGCIEUC YA CIEUC
+  {0xA485, 0xCA2B}, //6264 #HANGUL SYLLABLE SSANGCIEUC YA CHIEUCH
+  {0xA486, 0xCA2C}, //6265 #HANGUL SYLLABLE SSANGCIEUC YA KHIEUKH
+  {0xA487, 0xCA2D}, //6266 #HANGUL SYLLABLE SSANGCIEUC YA THIEUTH
+  {0xA488, 0xCA2E}, //6267 #HANGUL SYLLABLE SSANGCIEUC YA PHIEUPH
+  {0xA489, 0xCA2F}, //6268 #HANGUL SYLLABLE SSANGCIEUC YA HIEUH
+  {0xA48A, 0xCA30}, //6269 #HANGUL SYLLABLE SSANGCIEUC YAE
+  {0xA48B, 0xCA31}, //6270 #HANGUL SYLLABLE SSANGCIEUC YAE KIYEOK
+  {0xA48C, 0xCA32}, //6271 #HANGUL SYLLABLE SSANGCIEUC YAE SSANGKIYEOK
+  {0xA48D, 0xCA33}, //6272 #HANGUL SYLLABLE SSANGCIEUC YAE KIYEOKSIOS
+  {0xA48E, 0xCA34}, //6273 #HANGUL SYLLABLE SSANGCIEUC YAE NIEUN
+  {0xA48F, 0xCA35}, //6274 #HANGUL SYLLABLE SSANGCIEUC YAE NIEUNCIEUC
+  {0xA490, 0xCA36}, //6275 #HANGUL SYLLABLE SSANGCIEUC YAE NIEUNHIEUH
+  {0xA491, 0xCA37}, //6276 #HANGUL SYLLABLE SSANGCIEUC YAE TIKEUT
+  {0xA492, 0xCA38}, //6277 #HANGUL SYLLABLE SSANGCIEUC YAE RIEUL
+  {0xA493, 0xCA39}, //6278 #HANGUL SYLLABLE SSANGCIEUC YAE RIEULKIYEOK
+  {0xA494, 0xCA3A}, //6279 #HANGUL SYLLABLE SSANGCIEUC YAE RIEULMIEUM
+  {0xA495, 0xCA3B}, //6280 #HANGUL SYLLABLE SSANGCIEUC YAE RIEULPIEUP
+  {0xA496, 0xCA3C}, //6281 #HANGUL SYLLABLE SSANGCIEUC YAE RIEULSIOS
+  {0xA497, 0xCA3D}, //6282 #HANGUL SYLLABLE SSANGCIEUC YAE RIEULTHIEUTH
+  {0xA498, 0xCA3E}, //6283 #HANGUL SYLLABLE SSANGCIEUC YAE RIEULPHIEUPH
+  {0xA499, 0xCA3F}, //6284 #HANGUL SYLLABLE SSANGCIEUC YAE RIEULHIEUH
+  {0xA49A, 0xCA40}, //6285 #HANGUL SYLLABLE SSANGCIEUC YAE MIEUM
+  {0xA49B, 0xCA41}, //6286 #HANGUL SYLLABLE SSANGCIEUC YAE PIEUP
+  {0xA49C, 0xCA42}, //6287 #HANGUL SYLLABLE SSANGCIEUC YAE PIEUPSIOS
+  {0xA49D, 0xCA43}, //6288 #HANGUL SYLLABLE SSANGCIEUC YAE SIOS
+  {0xA49E, 0xCA44}, //6289 #HANGUL SYLLABLE SSANGCIEUC YAE SSANGSIOS
+  {0xA49F, 0xCA45}, //6290 #HANGUL SYLLABLE SSANGCIEUC YAE IEUNG
+  {0xA4A0, 0xCA46}, //6291 #HANGUL SYLLABLE SSANGCIEUC YAE CIEUC
+  {0xA4A1, 0x3131}, //6292 #HANGUL LETTER KIYEOK
+  {0xA4A2, 0x3132}, //6293 #HANGUL LETTER SSANGKIYEOK
+  {0xA4A3, 0x3133}, //6294 #HANGUL LETTER KIYEOK-SIOS
+  {0xA4A4, 0x3134}, //6295 #HANGUL LETTER NIEUN
+  {0xA4A5, 0x3135}, //6296 #HANGUL LETTER NIEUN-CIEUC
+  {0xA4A6, 0x3136}, //6297 #HANGUL LETTER NIEUN-HIEUH
+  {0xA4A7, 0x3137}, //6298 #HANGUL LETTER TIKEUT
+  {0xA4A8, 0x3138}, //6299 #HANGUL LETTER SSANGTIKEUT
+  {0xA4A9, 0x3139}, //6300 #HANGUL LETTER RIEUL
+  {0xA4AA, 0x313A}, //6301 #HANGUL LETTER RIEUL-KIYEOK
+  {0xA4AB, 0x313B}, //6302 #HANGUL LETTER RIEUL-MIEUM
+  {0xA4AC, 0x313C}, //6303 #HANGUL LETTER RIEUL-PIEUP
+  {0xA4AD, 0x313D}, //6304 #HANGUL LETTER RIEUL-SIOS
+  {0xA4AE, 0x313E}, //6305 #HANGUL LETTER RIEUL-THIEUTH
+  {0xA4AF, 0x313F}, //6306 #HANGUL LETTER RIEUL-PHIEUPH
+  {0xA4B0, 0x3140}, //6307 #HANGUL LETTER RIEUL-HIEUH
+  {0xA4B1, 0x3141}, //6308 #HANGUL LETTER MIEUM
+  {0xA4B2, 0x3142}, //6309 #HANGUL LETTER PIEUP
+  {0xA4B3, 0x3143}, //6310 #HANGUL LETTER SSANGPIEUP
+  {0xA4B4, 0x3144}, //6311 #HANGUL LETTER PIEUP-SIOS
+  {0xA4B5, 0x3145}, //6312 #HANGUL LETTER SIOS
+  {0xA4B6, 0x3146}, //6313 #HANGUL LETTER SSANGSIOS
+  {0xA4B7, 0x3147}, //6314 #HANGUL LETTER IEUNG
+  {0xA4B8, 0x3148}, //6315 #HANGUL LETTER CIEUC
+  {0xA4B9, 0x3149}, //6316 #HANGUL LETTER SSANGCIEUC
+  {0xA4BA, 0x314A}, //6317 #HANGUL LETTER CHIEUCH
+  {0xA4BB, 0x314B}, //6318 #HANGUL LETTER KHIEUKH
+  {0xA4BC, 0x314C}, //6319 #HANGUL LETTER THIEUTH
+  {0xA4BD, 0x314D}, //6320 #HANGUL LETTER PHIEUPH
+  {0xA4BE, 0x314E}, //6321 #HANGUL LETTER HIEUH
+  {0xA4BF, 0x314F}, //6322 #HANGUL LETTER A
+  {0xA4C0, 0x3150}, //6323 #HANGUL LETTER AE
+  {0xA4C1, 0x3151}, //6324 #HANGUL LETTER YA
+  {0xA4C2, 0x3152}, //6325 #HANGUL LETTER YAE
+  {0xA4C3, 0x3153}, //6326 #HANGUL LETTER EO
+  {0xA4C4, 0x3154}, //6327 #HANGUL LETTER E
+  {0xA4C5, 0x3155}, //6328 #HANGUL LETTER YEO
+  {0xA4C6, 0x3156}, //6329 #HANGUL LETTER YE
+  {0xA4C7, 0x3157}, //6330 #HANGUL LETTER O
+  {0xA4C8, 0x3158}, //6331 #HANGUL LETTER WA
+  {0xA4C9, 0x3159}, //6332 #HANGUL LETTER WAE
+  {0xA4CA, 0x315A}, //6333 #HANGUL LETTER OE
+  {0xA4CB, 0x315B}, //6334 #HANGUL LETTER YO
+  {0xA4CC, 0x315C}, //6335 #HANGUL LETTER U
+  {0xA4CD, 0x315D}, //6336 #HANGUL LETTER WEO
+  {0xA4CE, 0x315E}, //6337 #HANGUL LETTER WE
+  {0xA4CF, 0x315F}, //6338 #HANGUL LETTER WI
+  {0xA4D0, 0x3160}, //6339 #HANGUL LETTER YU
+  {0xA4D1, 0x3161}, //6340 #HANGUL LETTER EU
+  {0xA4D2, 0x3162}, //6341 #HANGUL LETTER YI
+  {0xA4D3, 0x3163}, //6342 #HANGUL LETTER I
+  {0xA4D4, 0x3164}, //6343 #HANGUL FILLER
+  {0xA4D5, 0x3165}, //6344 #HANGUL LETTER SSANGNIEUN
+  {0xA4D6, 0x3166}, //6345 #HANGUL LETTER NIEUN-TIKEUT
+  {0xA4D7, 0x3167}, //6346 #HANGUL LETTER NIEUN-SIOS
+  {0xA4D8, 0x3168}, //6347 #HANGUL LETTER NIEUN-PANSIOS
+  {0xA4D9, 0x3169}, //6348 #HANGUL LETTER RIEUL-KIYEOK-SIOS
+  {0xA4DA, 0x316A}, //6349 #HANGUL LETTER RIEUL-TIKEUT
+  {0xA4DB, 0x316B}, //6350 #HANGUL LETTER RIEUL-PIEUP-SIOS
+  {0xA4DC, 0x316C}, //6351 #HANGUL LETTER RIEUL-PANSIOS
+  {0xA4DD, 0x316D}, //6352 #HANGUL LETTER RIEUL-YEORINHIEUH
+  {0xA4DE, 0x316E}, //6353 #HANGUL LETTER MIEUM-PIEUP
+  {0xA4DF, 0x316F}, //6354 #HANGUL LETTER MIEUM-SIOS
+  {0xA4E0, 0x3170}, //6355 #HANGUL LETTER MIEUM-PANSIOS
+  {0xA4E1, 0x3171}, //6356 #HANGUL LETTER KAPYEOUNMIEUM
+  {0xA4E2, 0x3172}, //6357 #HANGUL LETTER PIEUP-KIYEOK
+  {0xA4E3, 0x3173}, //6358 #HANGUL LETTER PIEUP-TIKEUT
+  {0xA4E4, 0x3174}, //6359 #HANGUL LETTER PIEUP-SIOS-KIYEOK
+  {0xA4E5, 0x3175}, //6360 #HANGUL LETTER PIEUP-SIOS-TIKEUT
+  {0xA4E6, 0x3176}, //6361 #HANGUL LETTER PIEUP-CIEUC
+  {0xA4E7, 0x3177}, //6362 #HANGUL LETTER PIEUP-THIEUTH
+  {0xA4E8, 0x3178}, //6363 #HANGUL LETTER KAPYEOUNPIEUP
+  {0xA4E9, 0x3179}, //6364 #HANGUL LETTER KAPYEOUNSSANGPIEUP
+  {0xA4EA, 0x317A}, //6365 #HANGUL LETTER SIOS-KIYEOK
+  {0xA4EB, 0x317B}, //6366 #HANGUL LETTER SIOS-NIEUN
+  {0xA4EC, 0x317C}, //6367 #HANGUL LETTER SIOS-TIKEUT
+  {0xA4ED, 0x317D}, //6368 #HANGUL LETTER SIOS-PIEUP
+  {0xA4EE, 0x317E}, //6369 #HANGUL LETTER SIOS-CIEUC
+  {0xA4EF, 0x317F}, //6370 #HANGUL LETTER PANSIOS
+  {0xA4F0, 0x3180}, //6371 #HANGUL LETTER SSANGIEUNG
+  {0xA4F1, 0x3181}, //6372 #HANGUL LETTER YESIEUNG
+  {0xA4F2, 0x3182}, //6373 #HANGUL LETTER YESIEUNG-SIOS
+  {0xA4F3, 0x3183}, //6374 #HANGUL LETTER YESIEUNG-PANSIOS
+  {0xA4F4, 0x3184}, //6375 #HANGUL LETTER KAPYEOUNPHIEUPH
+  {0xA4F5, 0x3185}, //6376 #HANGUL LETTER SSANGHIEUH
+  {0xA4F6, 0x3186}, //6377 #HANGUL LETTER YEORINHIEUH
+  {0xA4F7, 0x3187}, //6378 #HANGUL LETTER YO-YA
+  {0xA4F8, 0x3188}, //6379 #HANGUL LETTER YO-YAE
+  {0xA4F9, 0x3189}, //6380 #HANGUL LETTER YO-I
+  {0xA4FA, 0x318A}, //6381 #HANGUL LETTER YU-YEO
+  {0xA4FB, 0x318B}, //6382 #HANGUL LETTER YU-YE
+  {0xA4FC, 0x318C}, //6383 #HANGUL LETTER YU-I
+  {0xA4FD, 0x318D}, //6384 #HANGUL LETTER ARAEA
+  {0xA4FE, 0x318E}, //6385 #HANGUL LETTER ARAEAE
+  {0xA541, 0xCA47}, //6386 #HANGUL SYLLABLE SSANGCIEUC YAE CHIEUCH
+  {0xA542, 0xCA48}, //6387 #HANGUL SYLLABLE SSANGCIEUC YAE KHIEUKH
+  {0xA543, 0xCA49}, //6388 #HANGUL SYLLABLE SSANGCIEUC YAE THIEUTH
+  {0xA544, 0xCA4A}, //6389 #HANGUL SYLLABLE SSANGCIEUC YAE PHIEUPH
+  {0xA545, 0xCA4B}, //6390 #HANGUL SYLLABLE SSANGCIEUC YAE HIEUH
+  {0xA546, 0xCA4E}, //6391 #HANGUL SYLLABLE SSANGCIEUC EO SSANGKIYEOK
+  {0xA547, 0xCA4F}, //6392 #HANGUL SYLLABLE SSANGCIEUC EO KIYEOKSIOS
+  {0xA548, 0xCA51}, //6393 #HANGUL SYLLABLE SSANGCIEUC EO NIEUNCIEUC
+  {0xA549, 0xCA52}, //6394 #HANGUL SYLLABLE SSANGCIEUC EO NIEUNHIEUH
+  {0xA54A, 0xCA53}, //6395 #HANGUL SYLLABLE SSANGCIEUC EO TIKEUT
+  {0xA54B, 0xCA55}, //6396 #HANGUL SYLLABLE SSANGCIEUC EO RIEULKIYEOK
+  {0xA54C, 0xCA56}, //6397 #HANGUL SYLLABLE SSANGCIEUC EO RIEULMIEUM
+  {0xA54D, 0xCA57}, //6398 #HANGUL SYLLABLE SSANGCIEUC EO RIEULPIEUP
+  {0xA54E, 0xCA58}, //6399 #HANGUL SYLLABLE SSANGCIEUC EO RIEULSIOS
+  {0xA54F, 0xCA59}, //6400 #HANGUL SYLLABLE SSANGCIEUC EO RIEULTHIEUTH
+  {0xA550, 0xCA5A}, //6401 #HANGUL SYLLABLE SSANGCIEUC EO RIEULPHIEUPH
+  {0xA551, 0xCA5B}, //6402 #HANGUL SYLLABLE SSANGCIEUC EO RIEULHIEUH
+  {0xA552, 0xCA5E}, //6403 #HANGUL SYLLABLE SSANGCIEUC EO PIEUPSIOS
+  {0xA553, 0xCA62}, //6404 #HANGUL SYLLABLE SSANGCIEUC EO CIEUC
+  {0xA554, 0xCA63}, //6405 #HANGUL SYLLABLE SSANGCIEUC EO CHIEUCH
+  {0xA555, 0xCA64}, //6406 #HANGUL SYLLABLE SSANGCIEUC EO KHIEUKH
+  {0xA556, 0xCA65}, //6407 #HANGUL SYLLABLE SSANGCIEUC EO THIEUTH
+  {0xA557, 0xCA66}, //6408 #HANGUL SYLLABLE SSANGCIEUC EO PHIEUPH
+  {0xA558, 0xCA67}, //6409 #HANGUL SYLLABLE SSANGCIEUC EO HIEUH
+  {0xA559, 0xCA69}, //6410 #HANGUL SYLLABLE SSANGCIEUC E KIYEOK
+  {0xA55A, 0xCA6A}, //6411 #HANGUL SYLLABLE SSANGCIEUC E SSANGKIYEOK
+  {0xA561, 0xCA6B}, //6412 #HANGUL SYLLABLE SSANGCIEUC E KIYEOKSIOS
+  {0xA562, 0xCA6C}, //6413 #HANGUL SYLLABLE SSANGCIEUC E NIEUN
+  {0xA563, 0xCA6D}, //6414 #HANGUL SYLLABLE SSANGCIEUC E NIEUNCIEUC
+  {0xA564, 0xCA6E}, //6415 #HANGUL SYLLABLE SSANGCIEUC E NIEUNHIEUH
+  {0xA565, 0xCA6F}, //6416 #HANGUL SYLLABLE SSANGCIEUC E TIKEUT
+  {0xA566, 0xCA70}, //6417 #HANGUL SYLLABLE SSANGCIEUC E RIEUL
+  {0xA567, 0xCA71}, //6418 #HANGUL SYLLABLE SSANGCIEUC E RIEULKIYEOK
+  {0xA568, 0xCA72}, //6419 #HANGUL SYLLABLE SSANGCIEUC E RIEULMIEUM
+  {0xA569, 0xCA73}, //6420 #HANGUL SYLLABLE SSANGCIEUC E RIEULPIEUP
+  {0xA56A, 0xCA74}, //6421 #HANGUL SYLLABLE SSANGCIEUC E RIEULSIOS
+  {0xA56B, 0xCA75}, //6422 #HANGUL SYLLABLE SSANGCIEUC E RIEULTHIEUTH
+  {0xA56C, 0xCA76}, //6423 #HANGUL SYLLABLE SSANGCIEUC E RIEULPHIEUPH
+  {0xA56D, 0xCA77}, //6424 #HANGUL SYLLABLE SSANGCIEUC E RIEULHIEUH
+  {0xA56E, 0xCA78}, //6425 #HANGUL SYLLABLE SSANGCIEUC E MIEUM
+  {0xA56F, 0xCA79}, //6426 #HANGUL SYLLABLE SSANGCIEUC E PIEUP
+  {0xA570, 0xCA7A}, //6427 #HANGUL SYLLABLE SSANGCIEUC E PIEUPSIOS
+  {0xA571, 0xCA7B}, //6428 #HANGUL SYLLABLE SSANGCIEUC E SIOS
+  {0xA572, 0xCA7C}, //6429 #HANGUL SYLLABLE SSANGCIEUC E SSANGSIOS
+  {0xA573, 0xCA7E}, //6430 #HANGUL SYLLABLE SSANGCIEUC E CIEUC
+  {0xA574, 0xCA7F}, //6431 #HANGUL SYLLABLE SSANGCIEUC E CHIEUCH
+  {0xA575, 0xCA80}, //6432 #HANGUL SYLLABLE SSANGCIEUC E KHIEUKH
+  {0xA576, 0xCA81}, //6433 #HANGUL SYLLABLE SSANGCIEUC E THIEUTH
+  {0xA577, 0xCA82}, //6434 #HANGUL SYLLABLE SSANGCIEUC E PHIEUPH
+  {0xA578, 0xCA83}, //6435 #HANGUL SYLLABLE SSANGCIEUC E HIEUH
+  {0xA579, 0xCA85}, //6436 #HANGUL SYLLABLE SSANGCIEUC YEO KIYEOK
+  {0xA57A, 0xCA86}, //6437 #HANGUL SYLLABLE SSANGCIEUC YEO SSANGKIYEOK
+  {0xA581, 0xCA87}, //6438 #HANGUL SYLLABLE SSANGCIEUC YEO KIYEOKSIOS
+  {0xA582, 0xCA88}, //6439 #HANGUL SYLLABLE SSANGCIEUC YEO NIEUN
+  {0xA583, 0xCA89}, //6440 #HANGUL SYLLABLE SSANGCIEUC YEO NIEUNCIEUC
+  {0xA584, 0xCA8A}, //6441 #HANGUL SYLLABLE SSANGCIEUC YEO NIEUNHIEUH
+  {0xA585, 0xCA8B}, //6442 #HANGUL SYLLABLE SSANGCIEUC YEO TIKEUT
+  {0xA586, 0xCA8C}, //6443 #HANGUL SYLLABLE SSANGCIEUC YEO RIEUL
+  {0xA587, 0xCA8D}, //6444 #HANGUL SYLLABLE SSANGCIEUC YEO RIEULKIYEOK
+  {0xA588, 0xCA8E}, //6445 #HANGUL SYLLABLE SSANGCIEUC YEO RIEULMIEUM
+  {0xA589, 0xCA8F}, //6446 #HANGUL SYLLABLE SSANGCIEUC YEO RIEULPIEUP
+  {0xA58A, 0xCA90}, //6447 #HANGUL SYLLABLE SSANGCIEUC YEO RIEULSIOS
+  {0xA58B, 0xCA91}, //6448 #HANGUL SYLLABLE SSANGCIEUC YEO RIEULTHIEUTH
+  {0xA58C, 0xCA92}, //6449 #HANGUL SYLLABLE SSANGCIEUC YEO RIEULPHIEUPH
+  {0xA58D, 0xCA93}, //6450 #HANGUL SYLLABLE SSANGCIEUC YEO RIEULHIEUH
+  {0xA58E, 0xCA94}, //6451 #HANGUL SYLLABLE SSANGCIEUC YEO MIEUM
+  {0xA58F, 0xCA95}, //6452 #HANGUL SYLLABLE SSANGCIEUC YEO PIEUP
+  {0xA590, 0xCA96}, //6453 #HANGUL SYLLABLE SSANGCIEUC YEO PIEUPSIOS
+  {0xA591, 0xCA97}, //6454 #HANGUL SYLLABLE SSANGCIEUC YEO SIOS
+  {0xA592, 0xCA99}, //6455 #HANGUL SYLLABLE SSANGCIEUC YEO IEUNG
+  {0xA593, 0xCA9A}, //6456 #HANGUL SYLLABLE SSANGCIEUC YEO CIEUC
+  {0xA594, 0xCA9B}, //6457 #HANGUL SYLLABLE SSANGCIEUC YEO CHIEUCH
+  {0xA595, 0xCA9C}, //6458 #HANGUL SYLLABLE SSANGCIEUC YEO KHIEUKH
+  {0xA596, 0xCA9D}, //6459 #HANGUL SYLLABLE SSANGCIEUC YEO THIEUTH
+  {0xA597, 0xCA9E}, //6460 #HANGUL SYLLABLE SSANGCIEUC YEO PHIEUPH
+  {0xA598, 0xCA9F}, //6461 #HANGUL SYLLABLE SSANGCIEUC YEO HIEUH
+  {0xA599, 0xCAA0}, //6462 #HANGUL SYLLABLE SSANGCIEUC YE
+  {0xA59A, 0xCAA1}, //6463 #HANGUL SYLLABLE SSANGCIEUC YE KIYEOK
+  {0xA59B, 0xCAA2}, //6464 #HANGUL SYLLABLE SSANGCIEUC YE SSANGKIYEOK
+  {0xA59C, 0xCAA3}, //6465 #HANGUL SYLLABLE SSANGCIEUC YE KIYEOKSIOS
+  {0xA59D, 0xCAA4}, //6466 #HANGUL SYLLABLE SSANGCIEUC YE NIEUN
+  {0xA59E, 0xCAA5}, //6467 #HANGUL SYLLABLE SSANGCIEUC YE NIEUNCIEUC
+  {0xA59F, 0xCAA6}, //6468 #HANGUL SYLLABLE SSANGCIEUC YE NIEUNHIEUH
+  {0xA5A0, 0xCAA7}, //6469 #HANGUL SYLLABLE SSANGCIEUC YE TIKEUT
+  {0xA5A1, 0x2170}, //6470 #SMALL ROMAN NUMERAL ONE
+  {0xA5A2, 0x2171}, //6471 #SMALL ROMAN NUMERAL TWO
+  {0xA5A3, 0x2172}, //6472 #SMALL ROMAN NUMERAL THREE
+  {0xA5A4, 0x2173}, //6473 #SMALL ROMAN NUMERAL FOUR
+  {0xA5A5, 0x2174}, //6474 #SMALL ROMAN NUMERAL FIVE
+  {0xA5A6, 0x2175}, //6475 #SMALL ROMAN NUMERAL SIX
+  {0xA5A7, 0x2176}, //6476 #SMALL ROMAN NUMERAL SEVEN
+  {0xA5A8, 0x2177}, //6477 #SMALL ROMAN NUMERAL EIGHT
+  {0xA5A9, 0x2178}, //6478 #SMALL ROMAN NUMERAL NINE
+  {0xA5AA, 0x2179}, //6479 #SMALL ROMAN NUMERAL TEN
+  {0xA5B0, 0x2160}, //6480 #ROMAN NUMERAL ONE
+  {0xA5B1, 0x2161}, //6481 #ROMAN NUMERAL TWO
+  {0xA5B2, 0x2162}, //6482 #ROMAN NUMERAL THREE
+  {0xA5B3, 0x2163}, //6483 #ROMAN NUMERAL FOUR
+  {0xA5B4, 0x2164}, //6484 #ROMAN NUMERAL FIVE
+  {0xA5B5, 0x2165}, //6485 #ROMAN NUMERAL SIX
+  {0xA5B6, 0x2166}, //6486 #ROMAN NUMERAL SEVEN
+  {0xA5B7, 0x2167}, //6487 #ROMAN NUMERAL EIGHT
+  {0xA5B8, 0x2168}, //6488 #ROMAN NUMERAL NINE
+  {0xA5B9, 0x2169}, //6489 #ROMAN NUMERAL TEN
+  {0xA5C1, 0x0391}, //6490 #GREEK CAPITAL LETTER ALPHA
+  {0xA5C2, 0x0392}, //6491 #GREEK CAPITAL LETTER BETA
+  {0xA5C3, 0x0393}, //6492 #GREEK CAPITAL LETTER GAMMA
+  {0xA5C4, 0x0394}, //6493 #GREEK CAPITAL LETTER DELTA
+  {0xA5C5, 0x0395}, //6494 #GREEK CAPITAL LETTER EPSILON
+  {0xA5C6, 0x0396}, //6495 #GREEK CAPITAL LETTER ZETA
+  {0xA5C7, 0x0397}, //6496 #GREEK CAPITAL LETTER ETA
+  {0xA5C8, 0x0398}, //6497 #GREEK CAPITAL LETTER THETA
+  {0xA5C9, 0x0399}, //6498 #GREEK CAPITAL LETTER IOTA
+  {0xA5CA, 0x039A}, //6499 #GREEK CAPITAL LETTER KAPPA
+  {0xA5CB, 0x039B}, //6500 #GREEK CAPITAL LETTER LAMDA
+  {0xA5CC, 0x039C}, //6501 #GREEK CAPITAL LETTER MU
+  {0xA5CD, 0x039D}, //6502 #GREEK CAPITAL LETTER NU
+  {0xA5CE, 0x039E}, //6503 #GREEK CAPITAL LETTER XI
+  {0xA5CF, 0x039F}, //6504 #GREEK CAPITAL LETTER OMICRON
+  {0xA5D0, 0x03A0}, //6505 #GREEK CAPITAL LETTER PI
+  {0xA5D1, 0x03A1}, //6506 #GREEK CAPITAL LETTER RHO
+  {0xA5D2, 0x03A3}, //6507 #GREEK CAPITAL LETTER SIGMA
+  {0xA5D3, 0x03A4}, //6508 #GREEK CAPITAL LETTER TAU
+  {0xA5D4, 0x03A5}, //6509 #GREEK CAPITAL LETTER UPSILON
+  {0xA5D5, 0x03A6}, //6510 #GREEK CAPITAL LETTER PHI
+  {0xA5D6, 0x03A7}, //6511 #GREEK CAPITAL LETTER CHI
+  {0xA5D7, 0x03A8}, //6512 #GREEK CAPITAL LETTER PSI
+  {0xA5D8, 0x03A9}, //6513 #GREEK CAPITAL LETTER OMEGA
+  {0xA5E1, 0x03B1}, //6514 #GREEK SMALL LETTER ALPHA
+  {0xA5E2, 0x03B2}, //6515 #GREEK SMALL LETTER BETA
+  {0xA5E3, 0x03B3}, //6516 #GREEK SMALL LETTER GAMMA
+  {0xA5E4, 0x03B4}, //6517 #GREEK SMALL LETTER DELTA
+  {0xA5E5, 0x03B5}, //6518 #GREEK SMALL LETTER EPSILON
+  {0xA5E6, 0x03B6}, //6519 #GREEK SMALL LETTER ZETA
+  {0xA5E7, 0x03B7}, //6520 #GREEK SMALL LETTER ETA
+  {0xA5E8, 0x03B8}, //6521 #GREEK SMALL LETTER THETA
+  {0xA5E9, 0x03B9}, //6522 #GREEK SMALL LETTER IOTA
+  {0xA5EA, 0x03BA}, //6523 #GREEK SMALL LETTER KAPPA
+  {0xA5EB, 0x03BB}, //6524 #GREEK SMALL LETTER LAMDA
+  {0xA5EC, 0x03BC}, //6525 #GREEK SMALL LETTER MU
+  {0xA5ED, 0x03BD}, //6526 #GREEK SMALL LETTER NU
+  {0xA5EE, 0x03BE}, //6527 #GREEK SMALL LETTER XI
+  {0xA5EF, 0x03BF}, //6528 #GREEK SMALL LETTER OMICRON
+  {0xA5F0, 0x03C0}, //6529 #GREEK SMALL LETTER PI
+  {0xA5F1, 0x03C1}, //6530 #GREEK SMALL LETTER RHO
+  {0xA5F2, 0x03C3}, //6531 #GREEK SMALL LETTER SIGMA
+  {0xA5F3, 0x03C4}, //6532 #GREEK SMALL LETTER TAU
+  {0xA5F4, 0x03C5}, //6533 #GREEK SMALL LETTER UPSILON
+  {0xA5F5, 0x03C6}, //6534 #GREEK SMALL LETTER PHI
+  {0xA5F6, 0x03C7}, //6535 #GREEK SMALL LETTER CHI
+  {0xA5F7, 0x03C8}, //6536 #GREEK SMALL LETTER PSI
+  {0xA5F8, 0x03C9}, //6537 #GREEK SMALL LETTER OMEGA
+  {0xA641, 0xCAA8}, //6538 #HANGUL SYLLABLE SSANGCIEUC YE RIEUL
+  {0xA642, 0xCAA9}, //6539 #HANGUL SYLLABLE SSANGCIEUC YE RIEULKIYEOK
+  {0xA643, 0xCAAA}, //6540 #HANGUL SYLLABLE SSANGCIEUC YE RIEULMIEUM
+  {0xA644, 0xCAAB}, //6541 #HANGUL SYLLABLE SSANGCIEUC YE RIEULPIEUP
+  {0xA645, 0xCAAC}, //6542 #HANGUL SYLLABLE SSANGCIEUC YE RIEULSIOS
+  {0xA646, 0xCAAD}, //6543 #HANGUL SYLLABLE SSANGCIEUC YE RIEULTHIEUTH
+  {0xA647, 0xCAAE}, //6544 #HANGUL SYLLABLE SSANGCIEUC YE RIEULPHIEUPH
+  {0xA648, 0xCAAF}, //6545 #HANGUL SYLLABLE SSANGCIEUC YE RIEULHIEUH
+  {0xA649, 0xCAB0}, //6546 #HANGUL SYLLABLE SSANGCIEUC YE MIEUM
+  {0xA64A, 0xCAB1}, //6547 #HANGUL SYLLABLE SSANGCIEUC YE PIEUP
+  {0xA64B, 0xCAB2}, //6548 #HANGUL SYLLABLE SSANGCIEUC YE PIEUPSIOS
+  {0xA64C, 0xCAB3}, //6549 #HANGUL SYLLABLE SSANGCIEUC YE SIOS
+  {0xA64D, 0xCAB4}, //6550 #HANGUL SYLLABLE SSANGCIEUC YE SSANGSIOS
+  {0xA64E, 0xCAB5}, //6551 #HANGUL SYLLABLE SSANGCIEUC YE IEUNG
+  {0xA64F, 0xCAB6}, //6552 #HANGUL SYLLABLE SSANGCIEUC YE CIEUC
+  {0xA650, 0xCAB7}, //6553 #HANGUL SYLLABLE SSANGCIEUC YE CHIEUCH
+  {0xA651, 0xCAB8}, //6554 #HANGUL SYLLABLE SSANGCIEUC YE KHIEUKH
+  {0xA652, 0xCAB9}, //6555 #HANGUL SYLLABLE SSANGCIEUC YE THIEUTH
+  {0xA653, 0xCABA}, //6556 #HANGUL SYLLABLE SSANGCIEUC YE PHIEUPH
+  {0xA654, 0xCABB}, //6557 #HANGUL SYLLABLE SSANGCIEUC YE HIEUH
+  {0xA655, 0xCABE}, //6558 #HANGUL SYLLABLE SSANGCIEUC O SSANGKIYEOK
+  {0xA656, 0xCABF}, //6559 #HANGUL SYLLABLE SSANGCIEUC O KIYEOKSIOS
+  {0xA657, 0xCAC1}, //6560 #HANGUL SYLLABLE SSANGCIEUC O NIEUNCIEUC
+  {0xA658, 0xCAC2}, //6561 #HANGUL SYLLABLE SSANGCIEUC O NIEUNHIEUH
+  {0xA659, 0xCAC3}, //6562 #HANGUL SYLLABLE SSANGCIEUC O TIKEUT
+  {0xA65A, 0xCAC5}, //6563 #HANGUL SYLLABLE SSANGCIEUC O RIEULKIYEOK
+  {0xA661, 0xCAC6}, //6564 #HANGUL SYLLABLE SSANGCIEUC O RIEULMIEUM
+  {0xA662, 0xCAC7}, //6565 #HANGUL SYLLABLE SSANGCIEUC O RIEULPIEUP
+  {0xA663, 0xCAC8}, //6566 #HANGUL SYLLABLE SSANGCIEUC O RIEULSIOS
+  {0xA664, 0xCAC9}, //6567 #HANGUL SYLLABLE SSANGCIEUC O RIEULTHIEUTH
+  {0xA665, 0xCACA}, //6568 #HANGUL SYLLABLE SSANGCIEUC O RIEULPHIEUPH
+  {0xA666, 0xCACB}, //6569 #HANGUL SYLLABLE SSANGCIEUC O RIEULHIEUH
+  {0xA667, 0xCACE}, //6570 #HANGUL SYLLABLE SSANGCIEUC O PIEUPSIOS
+  {0xA668, 0xCAD0}, //6571 #HANGUL SYLLABLE SSANGCIEUC O SSANGSIOS
+  {0xA669, 0xCAD2}, //6572 #HANGUL SYLLABLE SSANGCIEUC O CIEUC
+  {0xA66A, 0xCAD4}, //6573 #HANGUL SYLLABLE SSANGCIEUC O KHIEUKH
+  {0xA66B, 0xCAD5}, //6574 #HANGUL SYLLABLE SSANGCIEUC O THIEUTH
+  {0xA66C, 0xCAD6}, //6575 #HANGUL SYLLABLE SSANGCIEUC O PHIEUPH
+  {0xA66D, 0xCAD7}, //6576 #HANGUL SYLLABLE SSANGCIEUC O HIEUH
+  {0xA66E, 0xCADA}, //6577 #HANGUL SYLLABLE SSANGCIEUC WA SSANGKIYEOK
+  {0xA66F, 0xCADB}, //6578 #HANGUL SYLLABLE SSANGCIEUC WA KIYEOKSIOS
+  {0xA670, 0xCADC}, //6579 #HANGUL SYLLABLE SSANGCIEUC WA NIEUN
+  {0xA671, 0xCADD}, //6580 #HANGUL SYLLABLE SSANGCIEUC WA NIEUNCIEUC
+  {0xA672, 0xCADE}, //6581 #HANGUL SYLLABLE SSANGCIEUC WA NIEUNHIEUH
+  {0xA673, 0xCADF}, //6582 #HANGUL SYLLABLE SSANGCIEUC WA TIKEUT
+  {0xA674, 0xCAE1}, //6583 #HANGUL SYLLABLE SSANGCIEUC WA RIEULKIYEOK
+  {0xA675, 0xCAE2}, //6584 #HANGUL SYLLABLE SSANGCIEUC WA RIEULMIEUM
+  {0xA676, 0xCAE3}, //6585 #HANGUL SYLLABLE SSANGCIEUC WA RIEULPIEUP
+  {0xA677, 0xCAE4}, //6586 #HANGUL SYLLABLE SSANGCIEUC WA RIEULSIOS
+  {0xA678, 0xCAE5}, //6587 #HANGUL SYLLABLE SSANGCIEUC WA RIEULTHIEUTH
+  {0xA679, 0xCAE6}, //6588 #HANGUL SYLLABLE SSANGCIEUC WA RIEULPHIEUPH
+  {0xA67A, 0xCAE7}, //6589 #HANGUL SYLLABLE SSANGCIEUC WA RIEULHIEUH
+  {0xA681, 0xCAE8}, //6590 #HANGUL SYLLABLE SSANGCIEUC WA MIEUM
+  {0xA682, 0xCAE9}, //6591 #HANGUL SYLLABLE SSANGCIEUC WA PIEUP
+  {0xA683, 0xCAEA}, //6592 #HANGUL SYLLABLE SSANGCIEUC WA PIEUPSIOS
+  {0xA684, 0xCAEB}, //6593 #HANGUL SYLLABLE SSANGCIEUC WA SIOS
+  {0xA685, 0xCAED}, //6594 #HANGUL SYLLABLE SSANGCIEUC WA IEUNG
+  {0xA686, 0xCAEE}, //6595 #HANGUL SYLLABLE SSANGCIEUC WA CIEUC
+  {0xA687, 0xCAEF}, //6596 #HANGUL SYLLABLE SSANGCIEUC WA CHIEUCH
+  {0xA688, 0xCAF0}, //6597 #HANGUL SYLLABLE SSANGCIEUC WA KHIEUKH
+  {0xA689, 0xCAF1}, //6598 #HANGUL SYLLABLE SSANGCIEUC WA THIEUTH
+  {0xA68A, 0xCAF2}, //6599 #HANGUL SYLLABLE SSANGCIEUC WA PHIEUPH
+  {0xA68B, 0xCAF3}, //6600 #HANGUL SYLLABLE SSANGCIEUC WA HIEUH
+  {0xA68C, 0xCAF5}, //6601 #HANGUL SYLLABLE SSANGCIEUC WAE KIYEOK
+  {0xA68D, 0xCAF6}, //6602 #HANGUL SYLLABLE SSANGCIEUC WAE SSANGKIYEOK
+  {0xA68E, 0xCAF7}, //6603 #HANGUL SYLLABLE SSANGCIEUC WAE KIYEOKSIOS
+  {0xA68F, 0xCAF8}, //6604 #HANGUL SYLLABLE SSANGCIEUC WAE NIEUN
+  {0xA690, 0xCAF9}, //6605 #HANGUL SYLLABLE SSANGCIEUC WAE NIEUNCIEUC
+  {0xA691, 0xCAFA}, //6606 #HANGUL SYLLABLE SSANGCIEUC WAE NIEUNHIEUH
+  {0xA692, 0xCAFB}, //6607 #HANGUL SYLLABLE SSANGCIEUC WAE TIKEUT
+  {0xA693, 0xCAFC}, //6608 #HANGUL SYLLABLE SSANGCIEUC WAE RIEUL
+  {0xA694, 0xCAFD}, //6609 #HANGUL SYLLABLE SSANGCIEUC WAE RIEULKIYEOK
+  {0xA695, 0xCAFE}, //6610 #HANGUL SYLLABLE SSANGCIEUC WAE RIEULMIEUM
+  {0xA696, 0xCAFF}, //6611 #HANGUL SYLLABLE SSANGCIEUC WAE RIEULPIEUP
+  {0xA697, 0xCB00}, //6612 #HANGUL SYLLABLE SSANGCIEUC WAE RIEULSIOS
+  {0xA698, 0xCB01}, //6613 #HANGUL SYLLABLE SSANGCIEUC WAE RIEULTHIEUTH
+  {0xA699, 0xCB02}, //6614 #HANGUL SYLLABLE SSANGCIEUC WAE RIEULPHIEUPH
+  {0xA69A, 0xCB03}, //6615 #HANGUL SYLLABLE SSANGCIEUC WAE RIEULHIEUH
+  {0xA69B, 0xCB04}, //6616 #HANGUL SYLLABLE SSANGCIEUC WAE MIEUM
+  {0xA69C, 0xCB05}, //6617 #HANGUL SYLLABLE SSANGCIEUC WAE PIEUP
+  {0xA69D, 0xCB06}, //6618 #HANGUL SYLLABLE SSANGCIEUC WAE PIEUPSIOS
+  {0xA69E, 0xCB07}, //6619 #HANGUL SYLLABLE SSANGCIEUC WAE SIOS
+  {0xA69F, 0xCB09}, //6620 #HANGUL SYLLABLE SSANGCIEUC WAE IEUNG
+  {0xA6A0, 0xCB0A}, //6621 #HANGUL SYLLABLE SSANGCIEUC WAE CIEUC
+  {0xA6A1, 0x2500}, //6622 #BOX DRAWINGS LIGHT HORIZONTAL
+  {0xA6A2, 0x2502}, //6623 #BOX DRAWINGS LIGHT VERTICAL
+  {0xA6A3, 0x250C}, //6624 #BOX DRAWINGS LIGHT DOWN AND RIGHT
+  {0xA6A4, 0x2510}, //6625 #BOX DRAWINGS LIGHT DOWN AND LEFT
+  {0xA6A5, 0x2518}, //6626 #BOX DRAWINGS LIGHT UP AND LEFT
+  {0xA6A6, 0x2514}, //6627 #BOX DRAWINGS LIGHT UP AND RIGHT
+  {0xA6A7, 0x251C}, //6628 #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+  {0xA6A8, 0x252C}, //6629 #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+  {0xA6A9, 0x2524}, //6630 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+  {0xA6AA, 0x2534}, //6631 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+  {0xA6AB, 0x253C}, //6632 #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+  {0xA6AC, 0x2501}, //6633 #BOX DRAWINGS HEAVY HORIZONTAL
+  {0xA6AD, 0x2503}, //6634 #BOX DRAWINGS HEAVY VERTICAL
+  {0xA6AE, 0x250F}, //6635 #BOX DRAWINGS HEAVY DOWN AND RIGHT
+  {0xA6AF, 0x2513}, //6636 #BOX DRAWINGS HEAVY DOWN AND LEFT
+  {0xA6B0, 0x251B}, //6637 #BOX DRAWINGS HEAVY UP AND LEFT
+  {0xA6B1, 0x2517}, //6638 #BOX DRAWINGS HEAVY UP AND RIGHT
+  {0xA6B2, 0x2523}, //6639 #BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+  {0xA6B3, 0x2533}, //6640 #BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+  {0xA6B4, 0x252B}, //6641 #BOX DRAWINGS HEAVY VERTICAL AND LEFT
+  {0xA6B5, 0x253B}, //6642 #BOX DRAWINGS HEAVY UP AND HORIZONTAL
+  {0xA6B6, 0x254B}, //6643 #BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+  {0xA6B7, 0x2520}, //6644 #BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+  {0xA6B8, 0x252F}, //6645 #BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+  {0xA6B9, 0x2528}, //6646 #BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+  {0xA6BA, 0x2537}, //6647 #BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+  {0xA6BB, 0x253F}, //6648 #BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+  {0xA6BC, 0x251D}, //6649 #BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+  {0xA6BD, 0x2530}, //6650 #BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+  {0xA6BE, 0x2525}, //6651 #BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+  {0xA6BF, 0x2538}, //6652 #BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+  {0xA6C0, 0x2542}, //6653 #BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+  {0xA6C1, 0x2512}, //6654 #BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+  {0xA6C2, 0x2511}, //6655 #BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+  {0xA6C3, 0x251A}, //6656 #BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+  {0xA6C4, 0x2519}, //6657 #BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+  {0xA6C5, 0x2516}, //6658 #BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+  {0xA6C6, 0x2515}, //6659 #BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+  {0xA6C7, 0x250E}, //6660 #BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+  {0xA6C8, 0x250D}, //6661 #BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+  {0xA6C9, 0x251E}, //6662 #BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+  {0xA6CA, 0x251F}, //6663 #BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+  {0xA6CB, 0x2521}, //6664 #BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+  {0xA6CC, 0x2522}, //6665 #BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+  {0xA6CD, 0x2526}, //6666 #BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+  {0xA6CE, 0x2527}, //6667 #BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+  {0xA6CF, 0x2529}, //6668 #BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+  {0xA6D0, 0x252A}, //6669 #BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+  {0xA6D1, 0x252D}, //6670 #BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+  {0xA6D2, 0x252E}, //6671 #BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+  {0xA6D3, 0x2531}, //6672 #BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+  {0xA6D4, 0x2532}, //6673 #BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+  {0xA6D5, 0x2535}, //6674 #BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+  {0xA6D6, 0x2536}, //6675 #BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+  {0xA6D7, 0x2539}, //6676 #BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+  {0xA6D8, 0x253A}, //6677 #BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+  {0xA6D9, 0x253D}, //6678 #BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+  {0xA6DA, 0x253E}, //6679 #BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+  {0xA6DB, 0x2540}, //6680 #BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+  {0xA6DC, 0x2541}, //6681 #BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+  {0xA6DD, 0x2543}, //6682 #BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+  {0xA6DE, 0x2544}, //6683 #BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+  {0xA6DF, 0x2545}, //6684 #BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+  {0xA6E0, 0x2546}, //6685 #BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+  {0xA6E1, 0x2547}, //6686 #BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+  {0xA6E2, 0x2548}, //6687 #BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+  {0xA6E3, 0x2549}, //6688 #BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+  {0xA6E4, 0x254A}, //6689 #BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+  {0xA741, 0xCB0B}, //6690 #HANGUL SYLLABLE SSANGCIEUC WAE CHIEUCH
+  {0xA742, 0xCB0C}, //6691 #HANGUL SYLLABLE SSANGCIEUC WAE KHIEUKH
+  {0xA743, 0xCB0D}, //6692 #HANGUL SYLLABLE SSANGCIEUC WAE THIEUTH
+  {0xA744, 0xCB0E}, //6693 #HANGUL SYLLABLE SSANGCIEUC WAE PHIEUPH
+  {0xA745, 0xCB0F}, //6694 #HANGUL SYLLABLE SSANGCIEUC WAE HIEUH
+  {0xA746, 0xCB11}, //6695 #HANGUL SYLLABLE SSANGCIEUC OE KIYEOK
+  {0xA747, 0xCB12}, //6696 #HANGUL SYLLABLE SSANGCIEUC OE SSANGKIYEOK
+  {0xA748, 0xCB13}, //6697 #HANGUL SYLLABLE SSANGCIEUC OE KIYEOKSIOS
+  {0xA749, 0xCB15}, //6698 #HANGUL SYLLABLE SSANGCIEUC OE NIEUNCIEUC
+  {0xA74A, 0xCB16}, //6699 #HANGUL SYLLABLE SSANGCIEUC OE NIEUNHIEUH
+  {0xA74B, 0xCB17}, //6700 #HANGUL SYLLABLE SSANGCIEUC OE TIKEUT
+  {0xA74C, 0xCB19}, //6701 #HANGUL SYLLABLE SSANGCIEUC OE RIEULKIYEOK
+  {0xA74D, 0xCB1A}, //6702 #HANGUL SYLLABLE SSANGCIEUC OE RIEULMIEUM
+  {0xA74E, 0xCB1B}, //6703 #HANGUL SYLLABLE SSANGCIEUC OE RIEULPIEUP
+  {0xA74F, 0xCB1C}, //6704 #HANGUL SYLLABLE SSANGCIEUC OE RIEULSIOS
+  {0xA750, 0xCB1D}, //6705 #HANGUL SYLLABLE SSANGCIEUC OE RIEULTHIEUTH
+  {0xA751, 0xCB1E}, //6706 #HANGUL SYLLABLE SSANGCIEUC OE RIEULPHIEUPH
+  {0xA752, 0xCB1F}, //6707 #HANGUL SYLLABLE SSANGCIEUC OE RIEULHIEUH
+  {0xA753, 0xCB22}, //6708 #HANGUL SYLLABLE SSANGCIEUC OE PIEUPSIOS
+  {0xA754, 0xCB23}, //6709 #HANGUL SYLLABLE SSANGCIEUC OE SIOS
+  {0xA755, 0xCB24}, //6710 #HANGUL SYLLABLE SSANGCIEUC OE SSANGSIOS
+  {0xA756, 0xCB25}, //6711 #HANGUL SYLLABLE SSANGCIEUC OE IEUNG
+  {0xA757, 0xCB26}, //6712 #HANGUL SYLLABLE SSANGCIEUC OE CIEUC
+  {0xA758, 0xCB27}, //6713 #HANGUL SYLLABLE SSANGCIEUC OE CHIEUCH
+  {0xA759, 0xCB28}, //6714 #HANGUL SYLLABLE SSANGCIEUC OE KHIEUKH
+  {0xA75A, 0xCB29}, //6715 #HANGUL SYLLABLE SSANGCIEUC OE THIEUTH
+  {0xA761, 0xCB2A}, //6716 #HANGUL SYLLABLE SSANGCIEUC OE PHIEUPH
+  {0xA762, 0xCB2B}, //6717 #HANGUL SYLLABLE SSANGCIEUC OE HIEUH
+  {0xA763, 0xCB2C}, //6718 #HANGUL SYLLABLE SSANGCIEUC YO
+  {0xA764, 0xCB2D}, //6719 #HANGUL SYLLABLE SSANGCIEUC YO KIYEOK
+  {0xA765, 0xCB2E}, //6720 #HANGUL SYLLABLE SSANGCIEUC YO SSANGKIYEOK
+  {0xA766, 0xCB2F}, //6721 #HANGUL SYLLABLE SSANGCIEUC YO KIYEOKSIOS
+  {0xA767, 0xCB30}, //6722 #HANGUL SYLLABLE SSANGCIEUC YO NIEUN
+  {0xA768, 0xCB31}, //6723 #HANGUL SYLLABLE SSANGCIEUC YO NIEUNCIEUC
+  {0xA769, 0xCB32}, //6724 #HANGUL SYLLABLE SSANGCIEUC YO NIEUNHIEUH
+  {0xA76A, 0xCB33}, //6725 #HANGUL SYLLABLE SSANGCIEUC YO TIKEUT
+  {0xA76B, 0xCB34}, //6726 #HANGUL SYLLABLE SSANGCIEUC YO RIEUL
+  {0xA76C, 0xCB35}, //6727 #HANGUL SYLLABLE SSANGCIEUC YO RIEULKIYEOK
+  {0xA76D, 0xCB36}, //6728 #HANGUL SYLLABLE SSANGCIEUC YO RIEULMIEUM
+  {0xA76E, 0xCB37}, //6729 #HANGUL SYLLABLE SSANGCIEUC YO RIEULPIEUP
+  {0xA76F, 0xCB38}, //6730 #HANGUL SYLLABLE SSANGCIEUC YO RIEULSIOS
+  {0xA770, 0xCB39}, //6731 #HANGUL SYLLABLE SSANGCIEUC YO RIEULTHIEUTH
+  {0xA771, 0xCB3A}, //6732 #HANGUL SYLLABLE SSANGCIEUC YO RIEULPHIEUPH
+  {0xA772, 0xCB3B}, //6733 #HANGUL SYLLABLE SSANGCIEUC YO RIEULHIEUH
+  {0xA773, 0xCB3C}, //6734 #HANGUL SYLLABLE SSANGCIEUC YO MIEUM
+  {0xA774, 0xCB3D}, //6735 #HANGUL SYLLABLE SSANGCIEUC YO PIEUP
+  {0xA775, 0xCB3E}, //6736 #HANGUL SYLLABLE SSANGCIEUC YO PIEUPSIOS
+  {0xA776, 0xCB3F}, //6737 #HANGUL SYLLABLE SSANGCIEUC YO SIOS
+  {0xA777, 0xCB40}, //6738 #HANGUL SYLLABLE SSANGCIEUC YO SSANGSIOS
+  {0xA778, 0xCB42}, //6739 #HANGUL SYLLABLE SSANGCIEUC YO CIEUC
+  {0xA779, 0xCB43}, //6740 #HANGUL SYLLABLE SSANGCIEUC YO CHIEUCH
+  {0xA77A, 0xCB44}, //6741 #HANGUL SYLLABLE SSANGCIEUC YO KHIEUKH
+  {0xA781, 0xCB45}, //6742 #HANGUL SYLLABLE SSANGCIEUC YO THIEUTH
+  {0xA782, 0xCB46}, //6743 #HANGUL SYLLABLE SSANGCIEUC YO PHIEUPH
+  {0xA783, 0xCB47}, //6744 #HANGUL SYLLABLE SSANGCIEUC YO HIEUH
+  {0xA784, 0xCB4A}, //6745 #HANGUL SYLLABLE SSANGCIEUC U SSANGKIYEOK
+  {0xA785, 0xCB4B}, //6746 #HANGUL SYLLABLE SSANGCIEUC U KIYEOKSIOS
+  {0xA786, 0xCB4D}, //6747 #HANGUL SYLLABLE SSANGCIEUC U NIEUNCIEUC
+  {0xA787, 0xCB4E}, //6748 #HANGUL SYLLABLE SSANGCIEUC U NIEUNHIEUH
+  {0xA788, 0xCB4F}, //6749 #HANGUL SYLLABLE SSANGCIEUC U TIKEUT
+  {0xA789, 0xCB51}, //6750 #HANGUL SYLLABLE SSANGCIEUC U RIEULKIYEOK
+  {0xA78A, 0xCB52}, //6751 #HANGUL SYLLABLE SSANGCIEUC U RIEULMIEUM
+  {0xA78B, 0xCB53}, //6752 #HANGUL SYLLABLE SSANGCIEUC U RIEULPIEUP
+  {0xA78C, 0xCB54}, //6753 #HANGUL SYLLABLE SSANGCIEUC U RIEULSIOS
+  {0xA78D, 0xCB55}, //6754 #HANGUL SYLLABLE SSANGCIEUC U RIEULTHIEUTH
+  {0xA78E, 0xCB56}, //6755 #HANGUL SYLLABLE SSANGCIEUC U RIEULPHIEUPH
+  {0xA78F, 0xCB57}, //6756 #HANGUL SYLLABLE SSANGCIEUC U RIEULHIEUH
+  {0xA790, 0xCB5A}, //6757 #HANGUL SYLLABLE SSANGCIEUC U PIEUPSIOS
+  {0xA791, 0xCB5B}, //6758 #HANGUL SYLLABLE SSANGCIEUC U SIOS
+  {0xA792, 0xCB5C}, //6759 #HANGUL SYLLABLE SSANGCIEUC U SSANGSIOS
+  {0xA793, 0xCB5E}, //6760 #HANGUL SYLLABLE SSANGCIEUC U CIEUC
+  {0xA794, 0xCB5F}, //6761 #HANGUL SYLLABLE SSANGCIEUC U CHIEUCH
+  {0xA795, 0xCB60}, //6762 #HANGUL SYLLABLE SSANGCIEUC U KHIEUKH
+  {0xA796, 0xCB61}, //6763 #HANGUL SYLLABLE SSANGCIEUC U THIEUTH
+  {0xA797, 0xCB62}, //6764 #HANGUL SYLLABLE SSANGCIEUC U PHIEUPH
+  {0xA798, 0xCB63}, //6765 #HANGUL SYLLABLE SSANGCIEUC U HIEUH
+  {0xA799, 0xCB65}, //6766 #HANGUL SYLLABLE SSANGCIEUC WEO KIYEOK
+  {0xA79A, 0xCB66}, //6767 #HANGUL SYLLABLE SSANGCIEUC WEO SSANGKIYEOK
+  {0xA79B, 0xCB67}, //6768 #HANGUL SYLLABLE SSANGCIEUC WEO KIYEOKSIOS
+  {0xA79C, 0xCB68}, //6769 #HANGUL SYLLABLE SSANGCIEUC WEO NIEUN
+  {0xA79D, 0xCB69}, //6770 #HANGUL SYLLABLE SSANGCIEUC WEO NIEUNCIEUC
+  {0xA79E, 0xCB6A}, //6771 #HANGUL SYLLABLE SSANGCIEUC WEO NIEUNHIEUH
+  {0xA79F, 0xCB6B}, //6772 #HANGUL SYLLABLE SSANGCIEUC WEO TIKEUT
+  {0xA7A0, 0xCB6C}, //6773 #HANGUL SYLLABLE SSANGCIEUC WEO RIEUL
+  {0xA7A1, 0x3395}, //6774 #SQUARE MU L
+  {0xA7A2, 0x3396}, //6775 #SQUARE ML
+  {0xA7A3, 0x3397}, //6776 #SQUARE DL
+  {0xA7A4, 0x2113}, //6777 #SCRIPT SMALL L
+  {0xA7A5, 0x3398}, //6778 #SQUARE KL
+  {0xA7A6, 0x33C4}, //6779 #SQUARE CC
+  {0xA7A7, 0x33A3}, //6780 #SQUARE MM CUBED
+  {0xA7A8, 0x33A4}, //6781 #SQUARE CM CUBED
+  {0xA7A9, 0x33A5}, //6782 #SQUARE M CUBED
+  {0xA7AA, 0x33A6}, //6783 #SQUARE KM CUBED
+  {0xA7AB, 0x3399}, //6784 #SQUARE FM
+  {0xA7AC, 0x339A}, //6785 #SQUARE NM
+  {0xA7AD, 0x339B}, //6786 #SQUARE MU M
+  {0xA7AE, 0x339C}, //6787 #SQUARE MM
+  {0xA7AF, 0x339D}, //6788 #SQUARE CM
+  {0xA7B0, 0x339E}, //6789 #SQUARE KM
+  {0xA7B1, 0x339F}, //6790 #SQUARE MM SQUARED
+  {0xA7B2, 0x33A0}, //6791 #SQUARE CM SQUARED
+  {0xA7B3, 0x33A1}, //6792 #SQUARE M SQUARED
+  {0xA7B4, 0x33A2}, //6793 #SQUARE KM SQUARED
+  {0xA7B5, 0x33CA}, //6794 #SQUARE HA
+  {0xA7B6, 0x338D}, //6795 #SQUARE MU G
+  {0xA7B7, 0x338E}, //6796 #SQUARE MG
+  {0xA7B8, 0x338F}, //6797 #SQUARE KG
+  {0xA7B9, 0x33CF}, //6798 #SQUARE KT
+  {0xA7BA, 0x3388}, //6799 #SQUARE CAL
+  {0xA7BB, 0x3389}, //6800 #SQUARE KCAL
+  {0xA7BC, 0x33C8}, //6801 #SQUARE DB
+  {0xA7BD, 0x33A7}, //6802 #SQUARE M OVER S
+  {0xA7BE, 0x33A8}, //6803 #SQUARE M OVER S SQUARED
+  {0xA7BF, 0x33B0}, //6804 #SQUARE PS
+  {0xA7C0, 0x33B1}, //6805 #SQUARE NS
+  {0xA7C1, 0x33B2}, //6806 #SQUARE MU S
+  {0xA7C2, 0x33B3}, //6807 #SQUARE MS
+  {0xA7C3, 0x33B4}, //6808 #SQUARE PV
+  {0xA7C4, 0x33B5}, //6809 #SQUARE NV
+  {0xA7C5, 0x33B6}, //6810 #SQUARE MU V
+  {0xA7C6, 0x33B7}, //6811 #SQUARE MV
+  {0xA7C7, 0x33B8}, //6812 #SQUARE KV
+  {0xA7C8, 0x33B9}, //6813 #SQUARE MV MEGA
+  {0xA7C9, 0x3380}, //6814 #SQUARE PA AMPS
+  {0xA7CA, 0x3381}, //6815 #SQUARE NA
+  {0xA7CB, 0x3382}, //6816 #SQUARE MU A
+  {0xA7CC, 0x3383}, //6817 #SQUARE MA
+  {0xA7CD, 0x3384}, //6818 #SQUARE KA
+  {0xA7CE, 0x33BA}, //6819 #SQUARE PW
+  {0xA7CF, 0x33BB}, //6820 #SQUARE NW
+  {0xA7D0, 0x33BC}, //6821 #SQUARE MU W
+  {0xA7D1, 0x33BD}, //6822 #SQUARE MW
+  {0xA7D2, 0x33BE}, //6823 #SQUARE KW
+  {0xA7D3, 0x33BF}, //6824 #SQUARE MW MEGA
+  {0xA7D4, 0x3390}, //6825 #SQUARE HZ
+  {0xA7D5, 0x3391}, //6826 #SQUARE KHZ
+  {0xA7D6, 0x3392}, //6827 #SQUARE MHZ
+  {0xA7D7, 0x3393}, //6828 #SQUARE GHZ
+  {0xA7D8, 0x3394}, //6829 #SQUARE THZ
+  {0xA7D9, 0x2126}, //6830 #OHM SIGN
+  {0xA7DA, 0x33C0}, //6831 #SQUARE K OHM
+  {0xA7DB, 0x33C1}, //6832 #SQUARE M OHM
+  {0xA7DC, 0x338A}, //6833 #SQUARE PF
+  {0xA7DD, 0x338B}, //6834 #SQUARE NF
+  {0xA7DE, 0x338C}, //6835 #SQUARE MU F
+  {0xA7DF, 0x33D6}, //6836 #SQUARE MOL
+  {0xA7E0, 0x33C5}, //6837 #SQUARE CD
+  {0xA7E1, 0x33AD}, //6838 #SQUARE RAD
+  {0xA7E2, 0x33AE}, //6839 #SQUARE RAD OVER S
+  {0xA7E3, 0x33AF}, //6840 #SQUARE RAD OVER S SQUARED
+  {0xA7E4, 0x33DB}, //6841 #SQUARE SR
+  {0xA7E5, 0x33A9}, //6842 #SQUARE PA
+  {0xA7E6, 0x33AA}, //6843 #SQUARE KPA
+  {0xA7E7, 0x33AB}, //6844 #SQUARE MPA
+  {0xA7E8, 0x33AC}, //6845 #SQUARE GPA
+  {0xA7E9, 0x33DD}, //6846 #SQUARE WB
+  {0xA7EA, 0x33D0}, //6847 #SQUARE LM
+  {0xA7EB, 0x33D3}, //6848 #SQUARE LX
+  {0xA7EC, 0x33C3}, //6849 #SQUARE BQ
+  {0xA7ED, 0x33C9}, //6850 #SQUARE GY
+  {0xA7EE, 0x33DC}, //6851 #SQUARE SV
+  {0xA7EF, 0x33C6}, //6852 #SQUARE C OVER KG
+  {0xA841, 0xCB6D}, //6853 #HANGUL SYLLABLE SSANGCIEUC WEO RIEULKIYEOK
+  {0xA842, 0xCB6E}, //6854 #HANGUL SYLLABLE SSANGCIEUC WEO RIEULMIEUM
+  {0xA843, 0xCB6F}, //6855 #HANGUL SYLLABLE SSANGCIEUC WEO RIEULPIEUP
+  {0xA844, 0xCB70}, //6856 #HANGUL SYLLABLE SSANGCIEUC WEO RIEULSIOS
+  {0xA845, 0xCB71}, //6857 #HANGUL SYLLABLE SSANGCIEUC WEO RIEULTHIEUTH
+  {0xA846, 0xCB72}, //6858 #HANGUL SYLLABLE SSANGCIEUC WEO RIEULPHIEUPH
+  {0xA847, 0xCB73}, //6859 #HANGUL SYLLABLE SSANGCIEUC WEO RIEULHIEUH
+  {0xA848, 0xCB74}, //6860 #HANGUL SYLLABLE SSANGCIEUC WEO MIEUM
+  {0xA849, 0xCB75}, //6861 #HANGUL SYLLABLE SSANGCIEUC WEO PIEUP
+  {0xA84A, 0xCB76}, //6862 #HANGUL SYLLABLE SSANGCIEUC WEO PIEUPSIOS
+  {0xA84B, 0xCB77}, //6863 #HANGUL SYLLABLE SSANGCIEUC WEO SIOS
+  {0xA84C, 0xCB7A}, //6864 #HANGUL SYLLABLE SSANGCIEUC WEO CIEUC
+  {0xA84D, 0xCB7B}, //6865 #HANGUL SYLLABLE SSANGCIEUC WEO CHIEUCH
+  {0xA84E, 0xCB7C}, //6866 #HANGUL SYLLABLE SSANGCIEUC WEO KHIEUKH
+  {0xA84F, 0xCB7D}, //6867 #HANGUL SYLLABLE SSANGCIEUC WEO THIEUTH
+  {0xA850, 0xCB7E}, //6868 #HANGUL SYLLABLE SSANGCIEUC WEO PHIEUPH
+  {0xA851, 0xCB7F}, //6869 #HANGUL SYLLABLE SSANGCIEUC WEO HIEUH
+  {0xA852, 0xCB80}, //6870 #HANGUL SYLLABLE SSANGCIEUC WE
+  {0xA853, 0xCB81}, //6871 #HANGUL SYLLABLE SSANGCIEUC WE KIYEOK
+  {0xA854, 0xCB82}, //6872 #HANGUL SYLLABLE SSANGCIEUC WE SSANGKIYEOK
+  {0xA855, 0xCB83}, //6873 #HANGUL SYLLABLE SSANGCIEUC WE KIYEOKSIOS
+  {0xA856, 0xCB84}, //6874 #HANGUL SYLLABLE SSANGCIEUC WE NIEUN
+  {0xA857, 0xCB85}, //6875 #HANGUL SYLLABLE SSANGCIEUC WE NIEUNCIEUC
+  {0xA858, 0xCB86}, //6876 #HANGUL SYLLABLE SSANGCIEUC WE NIEUNHIEUH
+  {0xA859, 0xCB87}, //6877 #HANGUL SYLLABLE SSANGCIEUC WE TIKEUT
+  {0xA85A, 0xCB88}, //6878 #HANGUL SYLLABLE SSANGCIEUC WE RIEUL
+  {0xA861, 0xCB89}, //6879 #HANGUL SYLLABLE SSANGCIEUC WE RIEULKIYEOK
+  {0xA862, 0xCB8A}, //6880 #HANGUL SYLLABLE SSANGCIEUC WE RIEULMIEUM
+  {0xA863, 0xCB8B}, //6881 #HANGUL SYLLABLE SSANGCIEUC WE RIEULPIEUP
+  {0xA864, 0xCB8C}, //6882 #HANGUL SYLLABLE SSANGCIEUC WE RIEULSIOS
+  {0xA865, 0xCB8D}, //6883 #HANGUL SYLLABLE SSANGCIEUC WE RIEULTHIEUTH
+  {0xA866, 0xCB8E}, //6884 #HANGUL SYLLABLE SSANGCIEUC WE RIEULPHIEUPH
+  {0xA867, 0xCB8F}, //6885 #HANGUL SYLLABLE SSANGCIEUC WE RIEULHIEUH
+  {0xA868, 0xCB90}, //6886 #HANGUL SYLLABLE SSANGCIEUC WE MIEUM
+  {0xA869, 0xCB91}, //6887 #HANGUL SYLLABLE SSANGCIEUC WE PIEUP
+  {0xA86A, 0xCB92}, //6888 #HANGUL SYLLABLE SSANGCIEUC WE PIEUPSIOS
+  {0xA86B, 0xCB93}, //6889 #HANGUL SYLLABLE SSANGCIEUC WE SIOS
+  {0xA86C, 0xCB94}, //6890 #HANGUL SYLLABLE SSANGCIEUC WE SSANGSIOS
+  {0xA86D, 0xCB95}, //6891 #HANGUL SYLLABLE SSANGCIEUC WE IEUNG
+  {0xA86E, 0xCB96}, //6892 #HANGUL SYLLABLE SSANGCIEUC WE CIEUC
+  {0xA86F, 0xCB97}, //6893 #HANGUL SYLLABLE SSANGCIEUC WE CHIEUCH
+  {0xA870, 0xCB98}, //6894 #HANGUL SYLLABLE SSANGCIEUC WE KHIEUKH
+  {0xA871, 0xCB99}, //6895 #HANGUL SYLLABLE SSANGCIEUC WE THIEUTH
+  {0xA872, 0xCB9A}, //6896 #HANGUL SYLLABLE SSANGCIEUC WE PHIEUPH
+  {0xA873, 0xCB9B}, //6897 #HANGUL SYLLABLE SSANGCIEUC WE HIEUH
+  {0xA874, 0xCB9D}, //6898 #HANGUL SYLLABLE SSANGCIEUC WI KIYEOK
+  {0xA875, 0xCB9E}, //6899 #HANGUL SYLLABLE SSANGCIEUC WI SSANGKIYEOK
+  {0xA876, 0xCB9F}, //6900 #HANGUL SYLLABLE SSANGCIEUC WI KIYEOKSIOS
+  {0xA877, 0xCBA0}, //6901 #HANGUL SYLLABLE SSANGCIEUC WI NIEUN
+  {0xA878, 0xCBA1}, //6902 #HANGUL SYLLABLE SSANGCIEUC WI NIEUNCIEUC
+  {0xA879, 0xCBA2}, //6903 #HANGUL SYLLABLE SSANGCIEUC WI NIEUNHIEUH
+  {0xA87A, 0xCBA3}, //6904 #HANGUL SYLLABLE SSANGCIEUC WI TIKEUT
+  {0xA881, 0xCBA4}, //6905 #HANGUL SYLLABLE SSANGCIEUC WI RIEUL
+  {0xA882, 0xCBA5}, //6906 #HANGUL SYLLABLE SSANGCIEUC WI RIEULKIYEOK
+  {0xA883, 0xCBA6}, //6907 #HANGUL SYLLABLE SSANGCIEUC WI RIEULMIEUM
+  {0xA884, 0xCBA7}, //6908 #HANGUL SYLLABLE SSANGCIEUC WI RIEULPIEUP
+  {0xA885, 0xCBA8}, //6909 #HANGUL SYLLABLE SSANGCIEUC WI RIEULSIOS
+  {0xA886, 0xCBA9}, //6910 #HANGUL SYLLABLE SSANGCIEUC WI RIEULTHIEUTH
+  {0xA887, 0xCBAA}, //6911 #HANGUL SYLLABLE SSANGCIEUC WI RIEULPHIEUPH
+  {0xA888, 0xCBAB}, //6912 #HANGUL SYLLABLE SSANGCIEUC WI RIEULHIEUH
+  {0xA889, 0xCBAC}, //6913 #HANGUL SYLLABLE SSANGCIEUC WI MIEUM
+  {0xA88A, 0xCBAD}, //6914 #HANGUL SYLLABLE SSANGCIEUC WI PIEUP
+  {0xA88B, 0xCBAE}, //6915 #HANGUL SYLLABLE SSANGCIEUC WI PIEUPSIOS
+  {0xA88C, 0xCBAF}, //6916 #HANGUL SYLLABLE SSANGCIEUC WI SIOS
+  {0xA88D, 0xCBB0}, //6917 #HANGUL SYLLABLE SSANGCIEUC WI SSANGSIOS
+  {0xA88E, 0xCBB1}, //6918 #HANGUL SYLLABLE SSANGCIEUC WI IEUNG
+  {0xA88F, 0xCBB2}, //6919 #HANGUL SYLLABLE SSANGCIEUC WI CIEUC
+  {0xA890, 0xCBB3}, //6920 #HANGUL SYLLABLE SSANGCIEUC WI CHIEUCH
+  {0xA891, 0xCBB4}, //6921 #HANGUL SYLLABLE SSANGCIEUC WI KHIEUKH
+  {0xA892, 0xCBB5}, //6922 #HANGUL SYLLABLE SSANGCIEUC WI THIEUTH
+  {0xA893, 0xCBB6}, //6923 #HANGUL SYLLABLE SSANGCIEUC WI PHIEUPH
+  {0xA894, 0xCBB7}, //6924 #HANGUL SYLLABLE SSANGCIEUC WI HIEUH
+  {0xA895, 0xCBB9}, //6925 #HANGUL SYLLABLE SSANGCIEUC YU KIYEOK
+  {0xA896, 0xCBBA}, //6926 #HANGUL SYLLABLE SSANGCIEUC YU SSANGKIYEOK
+  {0xA897, 0xCBBB}, //6927 #HANGUL SYLLABLE SSANGCIEUC YU KIYEOKSIOS
+  {0xA898, 0xCBBC}, //6928 #HANGUL SYLLABLE SSANGCIEUC YU NIEUN
+  {0xA899, 0xCBBD}, //6929 #HANGUL SYLLABLE SSANGCIEUC YU NIEUNCIEUC
+  {0xA89A, 0xCBBE}, //6930 #HANGUL SYLLABLE SSANGCIEUC YU NIEUNHIEUH
+  {0xA89B, 0xCBBF}, //6931 #HANGUL SYLLABLE SSANGCIEUC YU TIKEUT
+  {0xA89C, 0xCBC0}, //6932 #HANGUL SYLLABLE SSANGCIEUC YU RIEUL
+  {0xA89D, 0xCBC1}, //6933 #HANGUL SYLLABLE SSANGCIEUC YU RIEULKIYEOK
+  {0xA89E, 0xCBC2}, //6934 #HANGUL SYLLABLE SSANGCIEUC YU RIEULMIEUM
+  {0xA89F, 0xCBC3}, //6935 #HANGUL SYLLABLE SSANGCIEUC YU RIEULPIEUP
+  {0xA8A0, 0xCBC4}, //6936 #HANGUL SYLLABLE SSANGCIEUC YU RIEULSIOS
+  {0xA8A1, 0x00C6}, //6937 #LATIN CAPITAL LETTER AE
+  {0xA8A2, 0x00D0}, //6938 #LATIN CAPITAL LETTER ETH
+  {0xA8A3, 0x00AA}, //6939 #FEMININE ORDINAL INDICATOR
+  {0xA8A4, 0x0126}, //6940 #LATIN CAPITAL LETTER H WITH STROKE
+  {0xA8A6, 0x0132}, //6941 #LATIN CAPITAL LIGATURE IJ
+  {0xA8A8, 0x013F}, //6942 #LATIN CAPITAL LETTER L WITH MIDDLE DOT
+  {0xA8A9, 0x0141}, //6943 #LATIN CAPITAL LETTER L WITH STROKE
+  {0xA8AA, 0x00D8}, //6944 #LATIN CAPITAL LETTER O WITH STROKE
+  {0xA8AB, 0x0152}, //6945 #LATIN CAPITAL LIGATURE OE
+  {0xA8AC, 0x00BA}, //6946 #MASCULINE ORDINAL INDICATOR
+  {0xA8AD, 0x00DE}, //6947 #LATIN CAPITAL LETTER THORN
+  {0xA8AE, 0x0166}, //6948 #LATIN CAPITAL LETTER T WITH STROKE
+  {0xA8AF, 0x014A}, //6949 #LATIN CAPITAL LETTER ENG
+  {0xA8B1, 0x3260}, //6950 #CIRCLED HANGUL KIYEOK
+  {0xA8B2, 0x3261}, //6951 #CIRCLED HANGUL NIEUN
+  {0xA8B3, 0x3262}, //6952 #CIRCLED HANGUL TIKEUT
+  {0xA8B4, 0x3263}, //6953 #CIRCLED HANGUL RIEUL
+  {0xA8B5, 0x3264}, //6954 #CIRCLED HANGUL MIEUM
+  {0xA8B6, 0x3265}, //6955 #CIRCLED HANGUL PIEUP
+  {0xA8B7, 0x3266}, //6956 #CIRCLED HANGUL SIOS
+  {0xA8B8, 0x3267}, //6957 #CIRCLED HANGUL IEUNG
+  {0xA8B9, 0x3268}, //6958 #CIRCLED HANGUL CIEUC
+  {0xA8BA, 0x3269}, //6959 #CIRCLED HANGUL CHIEUCH
+  {0xA8BB, 0x326A}, //6960 #CIRCLED HANGUL KHIEUKH
+  {0xA8BC, 0x326B}, //6961 #CIRCLED HANGUL THIEUTH
+  {0xA8BD, 0x326C}, //6962 #CIRCLED HANGUL PHIEUPH
+  {0xA8BE, 0x326D}, //6963 #CIRCLED HANGUL HIEUH
+  {0xA8BF, 0x326E}, //6964 #CIRCLED HANGUL KIYEOK A
+  {0xA8C0, 0x326F}, //6965 #CIRCLED HANGUL NIEUN A
+  {0xA8C1, 0x3270}, //6966 #CIRCLED HANGUL TIKEUT A
+  {0xA8C2, 0x3271}, //6967 #CIRCLED HANGUL RIEUL A
+  {0xA8C3, 0x3272}, //6968 #CIRCLED HANGUL MIEUM A
+  {0xA8C4, 0x3273}, //6969 #CIRCLED HANGUL PIEUP A
+  {0xA8C5, 0x3274}, //6970 #CIRCLED HANGUL SIOS A
+  {0xA8C6, 0x3275}, //6971 #CIRCLED HANGUL IEUNG A
+  {0xA8C7, 0x3276}, //6972 #CIRCLED HANGUL CIEUC A
+  {0xA8C8, 0x3277}, //6973 #CIRCLED HANGUL CHIEUCH A
+  {0xA8C9, 0x3278}, //6974 #CIRCLED HANGUL KHIEUKH A
+  {0xA8CA, 0x3279}, //6975 #CIRCLED HANGUL THIEUTH A
+  {0xA8CB, 0x327A}, //6976 #CIRCLED HANGUL PHIEUPH A
+  {0xA8CC, 0x327B}, //6977 #CIRCLED HANGUL HIEUH A
+  {0xA8CD, 0x24D0}, //6978 #CIRCLED LATIN SMALL LETTER A
+  {0xA8CE, 0x24D1}, //6979 #CIRCLED LATIN SMALL LETTER B
+  {0xA8CF, 0x24D2}, //6980 #CIRCLED LATIN SMALL LETTER C
+  {0xA8D0, 0x24D3}, //6981 #CIRCLED LATIN SMALL LETTER D
+  {0xA8D1, 0x24D4}, //6982 #CIRCLED LATIN SMALL LETTER E
+  {0xA8D2, 0x24D5}, //6983 #CIRCLED LATIN SMALL LETTER F
+  {0xA8D3, 0x24D6}, //6984 #CIRCLED LATIN SMALL LETTER G
+  {0xA8D4, 0x24D7}, //6985 #CIRCLED LATIN SMALL LETTER H
+  {0xA8D5, 0x24D8}, //6986 #CIRCLED LATIN SMALL LETTER I
+  {0xA8D6, 0x24D9}, //6987 #CIRCLED LATIN SMALL LETTER J
+  {0xA8D7, 0x24DA}, //6988 #CIRCLED LATIN SMALL LETTER K
+  {0xA8D8, 0x24DB}, //6989 #CIRCLED LATIN SMALL LETTER L
+  {0xA8D9, 0x24DC}, //6990 #CIRCLED LATIN SMALL LETTER M
+  {0xA8DA, 0x24DD}, //6991 #CIRCLED LATIN SMALL LETTER N
+  {0xA8DB, 0x24DE}, //6992 #CIRCLED LATIN SMALL LETTER O
+  {0xA8DC, 0x24DF}, //6993 #CIRCLED LATIN SMALL LETTER P
+  {0xA8DD, 0x24E0}, //6994 #CIRCLED LATIN SMALL LETTER Q
+  {0xA8DE, 0x24E1}, //6995 #CIRCLED LATIN SMALL LETTER R
+  {0xA8DF, 0x24E2}, //6996 #CIRCLED LATIN SMALL LETTER S
+  {0xA8E0, 0x24E3}, //6997 #CIRCLED LATIN SMALL LETTER T
+  {0xA8E1, 0x24E4}, //6998 #CIRCLED LATIN SMALL LETTER U
+  {0xA8E2, 0x24E5}, //6999 #CIRCLED LATIN SMALL LETTER V
+  {0xA8E3, 0x24E6}, //7000 #CIRCLED LATIN SMALL LETTER W
+  {0xA8E4, 0x24E7}, //7001 #CIRCLED LATIN SMALL LETTER X
+  {0xA8E5, 0x24E8}, //7002 #CIRCLED LATIN SMALL LETTER Y
+  {0xA8E6, 0x24E9}, //7003 #CIRCLED LATIN SMALL LETTER Z
+  {0xA8E7, 0x2460}, //7004 #CIRCLED DIGIT ONE
+  {0xA8E8, 0x2461}, //7005 #CIRCLED DIGIT TWO
+  {0xA8E9, 0x2462}, //7006 #CIRCLED DIGIT THREE
+  {0xA8EA, 0x2463}, //7007 #CIRCLED DIGIT FOUR
+  {0xA8EB, 0x2464}, //7008 #CIRCLED DIGIT FIVE
+  {0xA8EC, 0x2465}, //7009 #CIRCLED DIGIT SIX
+  {0xA8ED, 0x2466}, //7010 #CIRCLED DIGIT SEVEN
+  {0xA8EE, 0x2467}, //7011 #CIRCLED DIGIT EIGHT
+  {0xA8EF, 0x2468}, //7012 #CIRCLED DIGIT NINE
+  {0xA8F0, 0x2469}, //7013 #CIRCLED NUMBER TEN
+  {0xA8F1, 0x246A}, //7014 #CIRCLED NUMBER ELEVEN
+  {0xA8F2, 0x246B}, //7015 #CIRCLED NUMBER TWELVE
+  {0xA8F3, 0x246C}, //7016 #CIRCLED NUMBER THIRTEEN
+  {0xA8F4, 0x246D}, //7017 #CIRCLED NUMBER FOURTEEN
+  {0xA8F5, 0x246E}, //7018 #CIRCLED NUMBER FIFTEEN
+  {0xA8F6, 0x00BD}, //7019 #VULGAR FRACTION ONE HALF
+  {0xA8F7, 0x2153}, //7020 #VULGAR FRACTION ONE THIRD
+  {0xA8F8, 0x2154}, //7021 #VULGAR FRACTION TWO THIRDS
+  {0xA8F9, 0x00BC}, //7022 #VULGAR FRACTION ONE QUARTER
+  {0xA8FA, 0x00BE}, //7023 #VULGAR FRACTION THREE QUARTERS
+  {0xA8FB, 0x215B}, //7024 #VULGAR FRACTION ONE EIGHTH
+  {0xA8FC, 0x215C}, //7025 #VULGAR FRACTION THREE EIGHTHS
+  {0xA8FD, 0x215D}, //7026 #VULGAR FRACTION FIVE EIGHTHS
+  {0xA8FE, 0x215E}, //7027 #VULGAR FRACTION SEVEN EIGHTHS
+  {0xA941, 0xCBC5}, //7028 #HANGUL SYLLABLE SSANGCIEUC YU RIEULTHIEUTH
+  {0xA942, 0xCBC6}, //7029 #HANGUL SYLLABLE SSANGCIEUC YU RIEULPHIEUPH
+  {0xA943, 0xCBC7}, //7030 #HANGUL SYLLABLE SSANGCIEUC YU RIEULHIEUH
+  {0xA944, 0xCBC8}, //7031 #HANGUL SYLLABLE SSANGCIEUC YU MIEUM
+  {0xA945, 0xCBC9}, //7032 #HANGUL SYLLABLE SSANGCIEUC YU PIEUP
+  {0xA946, 0xCBCA}, //7033 #HANGUL SYLLABLE SSANGCIEUC YU PIEUPSIOS
+  {0xA947, 0xCBCB}, //7034 #HANGUL SYLLABLE SSANGCIEUC YU SIOS
+  {0xA948, 0xCBCC}, //7035 #HANGUL SYLLABLE SSANGCIEUC YU SSANGSIOS
+  {0xA949, 0xCBCD}, //7036 #HANGUL SYLLABLE SSANGCIEUC YU IEUNG
+  {0xA94A, 0xCBCE}, //7037 #HANGUL SYLLABLE SSANGCIEUC YU CIEUC
+  {0xA94B, 0xCBCF}, //7038 #HANGUL SYLLABLE SSANGCIEUC YU CHIEUCH
+  {0xA94C, 0xCBD0}, //7039 #HANGUL SYLLABLE SSANGCIEUC YU KHIEUKH
+  {0xA94D, 0xCBD1}, //7040 #HANGUL SYLLABLE SSANGCIEUC YU THIEUTH
+  {0xA94E, 0xCBD2}, //7041 #HANGUL SYLLABLE SSANGCIEUC YU PHIEUPH
+  {0xA94F, 0xCBD3}, //7042 #HANGUL SYLLABLE SSANGCIEUC YU HIEUH
+  {0xA950, 0xCBD5}, //7043 #HANGUL SYLLABLE SSANGCIEUC EU KIYEOK
+  {0xA951, 0xCBD6}, //7044 #HANGUL SYLLABLE SSANGCIEUC EU SSANGKIYEOK
+  {0xA952, 0xCBD7}, //7045 #HANGUL SYLLABLE SSANGCIEUC EU KIYEOKSIOS
+  {0xA953, 0xCBD8}, //7046 #HANGUL SYLLABLE SSANGCIEUC EU NIEUN
+  {0xA954, 0xCBD9}, //7047 #HANGUL SYLLABLE SSANGCIEUC EU NIEUNCIEUC
+  {0xA955, 0xCBDA}, //7048 #HANGUL SYLLABLE SSANGCIEUC EU NIEUNHIEUH
+  {0xA956, 0xCBDB}, //7049 #HANGUL SYLLABLE SSANGCIEUC EU TIKEUT
+  {0xA957, 0xCBDC}, //7050 #HANGUL SYLLABLE SSANGCIEUC EU RIEUL
+  {0xA958, 0xCBDD}, //7051 #HANGUL SYLLABLE SSANGCIEUC EU RIEULKIYEOK
+  {0xA959, 0xCBDE}, //7052 #HANGUL SYLLABLE SSANGCIEUC EU RIEULMIEUM
+  {0xA95A, 0xCBDF}, //7053 #HANGUL SYLLABLE SSANGCIEUC EU RIEULPIEUP
+  {0xA961, 0xCBE0}, //7054 #HANGUL SYLLABLE SSANGCIEUC EU RIEULSIOS
+  {0xA962, 0xCBE1}, //7055 #HANGUL SYLLABLE SSANGCIEUC EU RIEULTHIEUTH
+  {0xA963, 0xCBE2}, //7056 #HANGUL SYLLABLE SSANGCIEUC EU RIEULPHIEUPH
+  {0xA964, 0xCBE3}, //7057 #HANGUL SYLLABLE SSANGCIEUC EU RIEULHIEUH
+  {0xA965, 0xCBE5}, //7058 #HANGUL SYLLABLE SSANGCIEUC EU PIEUP
+  {0xA966, 0xCBE6}, //7059 #HANGUL SYLLABLE SSANGCIEUC EU PIEUPSIOS
+  {0xA967, 0xCBE8}, //7060 #HANGUL SYLLABLE SSANGCIEUC EU SSANGSIOS
+  {0xA968, 0xCBEA}, //7061 #HANGUL SYLLABLE SSANGCIEUC EU CIEUC
+  {0xA969, 0xCBEB}, //7062 #HANGUL SYLLABLE SSANGCIEUC EU CHIEUCH
+  {0xA96A, 0xCBEC}, //7063 #HANGUL SYLLABLE SSANGCIEUC EU KHIEUKH
+  {0xA96B, 0xCBED}, //7064 #HANGUL SYLLABLE SSANGCIEUC EU THIEUTH
+  {0xA96C, 0xCBEE}, //7065 #HANGUL SYLLABLE SSANGCIEUC EU PHIEUPH
+  {0xA96D, 0xCBEF}, //7066 #HANGUL SYLLABLE SSANGCIEUC EU HIEUH
+  {0xA96E, 0xCBF0}, //7067 #HANGUL SYLLABLE SSANGCIEUC YI
+  {0xA96F, 0xCBF1}, //7068 #HANGUL SYLLABLE SSANGCIEUC YI KIYEOK
+  {0xA970, 0xCBF2}, //7069 #HANGUL SYLLABLE SSANGCIEUC YI SSANGKIYEOK
+  {0xA971, 0xCBF3}, //7070 #HANGUL SYLLABLE SSANGCIEUC YI KIYEOKSIOS
+  {0xA972, 0xCBF4}, //7071 #HANGUL SYLLABLE SSANGCIEUC YI NIEUN
+  {0xA973, 0xCBF5}, //7072 #HANGUL SYLLABLE SSANGCIEUC YI NIEUNCIEUC
+  {0xA974, 0xCBF6}, //7073 #HANGUL SYLLABLE SSANGCIEUC YI NIEUNHIEUH
+  {0xA975, 0xCBF7}, //7074 #HANGUL SYLLABLE SSANGCIEUC YI TIKEUT
+  {0xA976, 0xCBF8}, //7075 #HANGUL SYLLABLE SSANGCIEUC YI RIEUL
+  {0xA977, 0xCBF9}, //7076 #HANGUL SYLLABLE SSANGCIEUC YI RIEULKIYEOK
+  {0xA978, 0xCBFA}, //7077 #HANGUL SYLLABLE SSANGCIEUC YI RIEULMIEUM
+  {0xA979, 0xCBFB}, //7078 #HANGUL SYLLABLE SSANGCIEUC YI RIEULPIEUP
+  {0xA97A, 0xCBFC}, //7079 #HANGUL SYLLABLE SSANGCIEUC YI RIEULSIOS
+  {0xA981, 0xCBFD}, //7080 #HANGUL SYLLABLE SSANGCIEUC YI RIEULTHIEUTH
+  {0xA982, 0xCBFE}, //7081 #HANGUL SYLLABLE SSANGCIEUC YI RIEULPHIEUPH
+  {0xA983, 0xCBFF}, //7082 #HANGUL SYLLABLE SSANGCIEUC YI RIEULHIEUH
+  {0xA984, 0xCC00}, //7083 #HANGUL SYLLABLE SSANGCIEUC YI MIEUM
+  {0xA985, 0xCC01}, //7084 #HANGUL SYLLABLE SSANGCIEUC YI PIEUP
+  {0xA986, 0xCC02}, //7085 #HANGUL SYLLABLE SSANGCIEUC YI PIEUPSIOS
+  {0xA987, 0xCC03}, //7086 #HANGUL SYLLABLE SSANGCIEUC YI SIOS
+  {0xA988, 0xCC04}, //7087 #HANGUL SYLLABLE SSANGCIEUC YI SSANGSIOS
+  {0xA989, 0xCC05}, //7088 #HANGUL SYLLABLE SSANGCIEUC YI IEUNG
+  {0xA98A, 0xCC06}, //7089 #HANGUL SYLLABLE SSANGCIEUC YI CIEUC
+  {0xA98B, 0xCC07}, //7090 #HANGUL SYLLABLE SSANGCIEUC YI CHIEUCH
+  {0xA98C, 0xCC08}, //7091 #HANGUL SYLLABLE SSANGCIEUC YI KHIEUKH
+  {0xA98D, 0xCC09}, //7092 #HANGUL SYLLABLE SSANGCIEUC YI THIEUTH
+  {0xA98E, 0xCC0A}, //7093 #HANGUL SYLLABLE SSANGCIEUC YI PHIEUPH
+  {0xA98F, 0xCC0B}, //7094 #HANGUL SYLLABLE SSANGCIEUC YI HIEUH
+  {0xA990, 0xCC0E}, //7095 #HANGUL SYLLABLE SSANGCIEUC I SSANGKIYEOK
+  {0xA991, 0xCC0F}, //7096 #HANGUL SYLLABLE SSANGCIEUC I KIYEOKSIOS
+  {0xA992, 0xCC11}, //7097 #HANGUL SYLLABLE SSANGCIEUC I NIEUNCIEUC
+  {0xA993, 0xCC12}, //7098 #HANGUL SYLLABLE SSANGCIEUC I NIEUNHIEUH
+  {0xA994, 0xCC13}, //7099 #HANGUL SYLLABLE SSANGCIEUC I TIKEUT
+  {0xA995, 0xCC15}, //7100 #HANGUL SYLLABLE SSANGCIEUC I RIEULKIYEOK
+  {0xA996, 0xCC16}, //7101 #HANGUL SYLLABLE SSANGCIEUC I RIEULMIEUM
+  {0xA997, 0xCC17}, //7102 #HANGUL SYLLABLE SSANGCIEUC I RIEULPIEUP
+  {0xA998, 0xCC18}, //7103 #HANGUL SYLLABLE SSANGCIEUC I RIEULSIOS
+  {0xA999, 0xCC19}, //7104 #HANGUL SYLLABLE SSANGCIEUC I RIEULTHIEUTH
+  {0xA99A, 0xCC1A}, //7105 #HANGUL SYLLABLE SSANGCIEUC I RIEULPHIEUPH
+  {0xA99B, 0xCC1B}, //7106 #HANGUL SYLLABLE SSANGCIEUC I RIEULHIEUH
+  {0xA99C, 0xCC1E}, //7107 #HANGUL SYLLABLE SSANGCIEUC I PIEUPSIOS
+  {0xA99D, 0xCC1F}, //7108 #HANGUL SYLLABLE SSANGCIEUC I SIOS
+  {0xA99E, 0xCC20}, //7109 #HANGUL SYLLABLE SSANGCIEUC I SSANGSIOS
+  {0xA99F, 0xCC23}, //7110 #HANGUL SYLLABLE SSANGCIEUC I CHIEUCH
+  {0xA9A0, 0xCC24}, //7111 #HANGUL SYLLABLE SSANGCIEUC I KHIEUKH
+  {0xA9A1, 0x00E6}, //7112 #LATIN SMALL LETTER AE
+  {0xA9A2, 0x0111}, //7113 #LATIN SMALL LETTER D WITH STROKE
+  {0xA9A3, 0x00F0}, //7114 #LATIN SMALL LETTER ETH
+  {0xA9A4, 0x0127}, //7115 #LATIN SMALL LETTER H WITH STROKE
+  {0xA9A5, 0x0131}, //7116 #LATIN SMALL LETTER DOTLESS I
+  {0xA9A6, 0x0133}, //7117 #LATIN SMALL LIGATURE IJ
+  {0xA9A7, 0x0138}, //7118 #LATIN SMALL LETTER KRA
+  {0xA9A8, 0x0140}, //7119 #LATIN SMALL LETTER L WITH MIDDLE DOT
+  {0xA9A9, 0x0142}, //7120 #LATIN SMALL LETTER L WITH STROKE
+  {0xA9AA, 0x00F8}, //7121 #LATIN SMALL LETTER O WITH STROKE
+  {0xA9AB, 0x0153}, //7122 #LATIN SMALL LIGATURE OE
+  {0xA9AC, 0x00DF}, //7123 #LATIN SMALL LETTER SHARP S
+  {0xA9AD, 0x00FE}, //7124 #LATIN SMALL LETTER THORN
+  {0xA9AE, 0x0167}, //7125 #LATIN SMALL LETTER T WITH STROKE
+  {0xA9AF, 0x014B}, //7126 #LATIN SMALL LETTER ENG
+  {0xA9B0, 0x0149}, //7127 #LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+  {0xA9B1, 0x3200}, //7128 #PARENTHESIZED HANGUL KIYEOK
+  {0xA9B2, 0x3201}, //7129 #PARENTHESIZED HANGUL NIEUN
+  {0xA9B3, 0x3202}, //7130 #PARENTHESIZED HANGUL TIKEUT
+  {0xA9B4, 0x3203}, //7131 #PARENTHESIZED HANGUL RIEUL
+  {0xA9B5, 0x3204}, //7132 #PARENTHESIZED HANGUL MIEUM
+  {0xA9B6, 0x3205}, //7133 #PARENTHESIZED HANGUL PIEUP
+  {0xA9B7, 0x3206}, //7134 #PARENTHESIZED HANGUL SIOS
+  {0xA9B8, 0x3207}, //7135 #PARENTHESIZED HANGUL IEUNG
+  {0xA9B9, 0x3208}, //7136 #PARENTHESIZED HANGUL CIEUC
+  {0xA9BA, 0x3209}, //7137 #PARENTHESIZED HANGUL CHIEUCH
+  {0xA9BB, 0x320A}, //7138 #PARENTHESIZED HANGUL KHIEUKH
+  {0xA9BC, 0x320B}, //7139 #PARENTHESIZED HANGUL THIEUTH
+  {0xA9BD, 0x320C}, //7140 #PARENTHESIZED HANGUL PHIEUPH
+  {0xA9BE, 0x320D}, //7141 #PARENTHESIZED HANGUL HIEUH
+  {0xA9BF, 0x320E}, //7142 #PARENTHESIZED HANGUL KIYEOK A
+  {0xA9C0, 0x320F}, //7143 #PARENTHESIZED HANGUL NIEUN A
+  {0xA9C1, 0x3210}, //7144 #PARENTHESIZED HANGUL TIKEUT A
+  {0xA9C2, 0x3211}, //7145 #PARENTHESIZED HANGUL RIEUL A
+  {0xA9C3, 0x3212}, //7146 #PARENTHESIZED HANGUL MIEUM A
+  {0xA9C4, 0x3213}, //7147 #PARENTHESIZED HANGUL PIEUP A
+  {0xA9C5, 0x3214}, //7148 #PARENTHESIZED HANGUL SIOS A
+  {0xA9C6, 0x3215}, //7149 #PARENTHESIZED HANGUL IEUNG A
+  {0xA9C7, 0x3216}, //7150 #PARENTHESIZED HANGUL CIEUC A
+  {0xA9C8, 0x3217}, //7151 #PARENTHESIZED HANGUL CHIEUCH A
+  {0xA9C9, 0x3218}, //7152 #PARENTHESIZED HANGUL KHIEUKH A
+  {0xA9CA, 0x3219}, //7153 #PARENTHESIZED HANGUL THIEUTH A
+  {0xA9CB, 0x321A}, //7154 #PARENTHESIZED HANGUL PHIEUPH A
+  {0xA9CC, 0x321B}, //7155 #PARENTHESIZED HANGUL HIEUH A
+  {0xA9CD, 0x249C}, //7156 #PARENTHESIZED LATIN SMALL LETTER A
+  {0xA9CE, 0x249D}, //7157 #PARENTHESIZED LATIN SMALL LETTER B
+  {0xA9CF, 0x249E}, //7158 #PARENTHESIZED LATIN SMALL LETTER C
+  {0xA9D0, 0x249F}, //7159 #PARENTHESIZED LATIN SMALL LETTER D
+  {0xA9D1, 0x24A0}, //7160 #PARENTHESIZED LATIN SMALL LETTER E
+  {0xA9D2, 0x24A1}, //7161 #PARENTHESIZED LATIN SMALL LETTER F
+  {0xA9D3, 0x24A2}, //7162 #PARENTHESIZED LATIN SMALL LETTER G
+  {0xA9D4, 0x24A3}, //7163 #PARENTHESIZED LATIN SMALL LETTER H
+  {0xA9D5, 0x24A4}, //7164 #PARENTHESIZED LATIN SMALL LETTER I
+  {0xA9D6, 0x24A5}, //7165 #PARENTHESIZED LATIN SMALL LETTER J
+  {0xA9D7, 0x24A6}, //7166 #PARENTHESIZED LATIN SMALL LETTER K
+  {0xA9D8, 0x24A7}, //7167 #PARENTHESIZED LATIN SMALL LETTER L
+  {0xA9D9, 0x24A8}, //7168 #PARENTHESIZED LATIN SMALL LETTER M
+  {0xA9DA, 0x24A9}, //7169 #PARENTHESIZED LATIN SMALL LETTER N
+  {0xA9DB, 0x24AA}, //7170 #PARENTHESIZED LATIN SMALL LETTER O
+  {0xA9DC, 0x24AB}, //7171 #PARENTHESIZED LATIN SMALL LETTER P
+  {0xA9DD, 0x24AC}, //7172 #PARENTHESIZED LATIN SMALL LETTER Q
+  {0xA9DE, 0x24AD}, //7173 #PARENTHESIZED LATIN SMALL LETTER R
+  {0xA9DF, 0x24AE}, //7174 #PARENTHESIZED LATIN SMALL LETTER S
+  {0xA9E0, 0x24AF}, //7175 #PARENTHESIZED LATIN SMALL LETTER T
+  {0xA9E1, 0x24B0}, //7176 #PARENTHESIZED LATIN SMALL LETTER U
+  {0xA9E2, 0x24B1}, //7177 #PARENTHESIZED LATIN SMALL LETTER V
+  {0xA9E3, 0x24B2}, //7178 #PARENTHESIZED LATIN SMALL LETTER W
+  {0xA9E4, 0x24B3}, //7179 #PARENTHESIZED LATIN SMALL LETTER X
+  {0xA9E5, 0x24B4}, //7180 #PARENTHESIZED LATIN SMALL LETTER Y
+  {0xA9E6, 0x24B5}, //7181 #PARENTHESIZED LATIN SMALL LETTER Z
+  {0xA9E7, 0x2474}, //7182 #PARENTHESIZED DIGIT ONE
+  {0xA9E8, 0x2475}, //7183 #PARENTHESIZED DIGIT TWO
+  {0xA9E9, 0x2476}, //7184 #PARENTHESIZED DIGIT THREE
+  {0xA9EA, 0x2477}, //7185 #PARENTHESIZED DIGIT FOUR
+  {0xA9EB, 0x2478}, //7186 #PARENTHESIZED DIGIT FIVE
+  {0xA9EC, 0x2479}, //7187 #PARENTHESIZED DIGIT SIX
+  {0xA9ED, 0x247A}, //7188 #PARENTHESIZED DIGIT SEVEN
+  {0xA9EE, 0x247B}, //7189 #PARENTHESIZED DIGIT EIGHT
+  {0xA9EF, 0x247C}, //7190 #PARENTHESIZED DIGIT NINE
+  {0xA9F0, 0x247D}, //7191 #PARENTHESIZED NUMBER TEN
+  {0xA9F1, 0x247E}, //7192 #PARENTHESIZED NUMBER ELEVEN
+  {0xA9F2, 0x247F}, //7193 #PARENTHESIZED NUMBER TWELVE
+  {0xA9F3, 0x2480}, //7194 #PARENTHESIZED NUMBER THIRTEEN
+  {0xA9F4, 0x2481}, //7195 #PARENTHESIZED NUMBER FOURTEEN
+  {0xA9F5, 0x2482}, //7196 #PARENTHESIZED NUMBER FIFTEEN
+  {0xA9F6, 0x00B9}, //7197 #SUPERSCRIPT ONE
+  {0xA9F7, 0x00B2}, //7198 #SUPERSCRIPT TWO
+  {0xA9F8, 0x00B3}, //7199 #SUPERSCRIPT THREE
+  {0xA9F9, 0x2074}, //7200 #SUPERSCRIPT FOUR
+  {0xA9FA, 0x207F}, //7201 #SUPERSCRIPT LATIN SMALL LETTER N
+  {0xA9FB, 0x2081}, //7202 #SUBSCRIPT ONE
+  {0xA9FC, 0x2082}, //7203 #SUBSCRIPT TWO
+  {0xA9FD, 0x2083}, //7204 #SUBSCRIPT THREE
+  {0xA9FE, 0x2084}, //7205 #SUBSCRIPT FOUR
+  {0xAA41, 0xCC25}, //7206 #HANGUL SYLLABLE SSANGCIEUC I THIEUTH
+  {0xAA42, 0xCC26}, //7207 #HANGUL SYLLABLE SSANGCIEUC I PHIEUPH
+  {0xAA43, 0xCC2A}, //7208 #HANGUL SYLLABLE CHIEUCH A SSANGKIYEOK
+  {0xAA44, 0xCC2B}, //7209 #HANGUL SYLLABLE CHIEUCH A KIYEOKSIOS
+  {0xAA45, 0xCC2D}, //7210 #HANGUL SYLLABLE CHIEUCH A NIEUNCIEUC
+  {0xAA46, 0xCC2F}, //7211 #HANGUL SYLLABLE CHIEUCH A TIKEUT
+  {0xAA47, 0xCC31}, //7212 #HANGUL SYLLABLE CHIEUCH A RIEULKIYEOK
+  {0xAA48, 0xCC32}, //7213 #HANGUL SYLLABLE CHIEUCH A RIEULMIEUM
+  {0xAA49, 0xCC33}, //7214 #HANGUL SYLLABLE CHIEUCH A RIEULPIEUP
+  {0xAA4A, 0xCC34}, //7215 #HANGUL SYLLABLE CHIEUCH A RIEULSIOS
+  {0xAA4B, 0xCC35}, //7216 #HANGUL SYLLABLE CHIEUCH A RIEULTHIEUTH
+  {0xAA4C, 0xCC36}, //7217 #HANGUL SYLLABLE CHIEUCH A RIEULPHIEUPH
+  {0xAA4D, 0xCC37}, //7218 #HANGUL SYLLABLE CHIEUCH A RIEULHIEUH
+  {0xAA4E, 0xCC3A}, //7219 #HANGUL SYLLABLE CHIEUCH A PIEUPSIOS
+  {0xAA4F, 0xCC3F}, //7220 #HANGUL SYLLABLE CHIEUCH A CHIEUCH
+  {0xAA50, 0xCC40}, //7221 #HANGUL SYLLABLE CHIEUCH A KHIEUKH
+  {0xAA51, 0xCC41}, //7222 #HANGUL SYLLABLE CHIEUCH A THIEUTH
+  {0xAA52, 0xCC42}, //7223 #HANGUL SYLLABLE CHIEUCH A PHIEUPH
+  {0xAA53, 0xCC43}, //7224 #HANGUL SYLLABLE CHIEUCH A HIEUH
+  {0xAA54, 0xCC46}, //7225 #HANGUL SYLLABLE CHIEUCH AE SSANGKIYEOK
+  {0xAA55, 0xCC47}, //7226 #HANGUL SYLLABLE CHIEUCH AE KIYEOKSIOS
+  {0xAA56, 0xCC49}, //7227 #HANGUL SYLLABLE CHIEUCH AE NIEUNCIEUC
+  {0xAA57, 0xCC4A}, //7228 #HANGUL SYLLABLE CHIEUCH AE NIEUNHIEUH
+  {0xAA58, 0xCC4B}, //7229 #HANGUL SYLLABLE CHIEUCH AE TIKEUT
+  {0xAA59, 0xCC4D}, //7230 #HANGUL SYLLABLE CHIEUCH AE RIEULKIYEOK
+  {0xAA5A, 0xCC4E}, //7231 #HANGUL SYLLABLE CHIEUCH AE RIEULMIEUM
+  {0xAA61, 0xCC4F}, //7232 #HANGUL SYLLABLE CHIEUCH AE RIEULPIEUP
+  {0xAA62, 0xCC50}, //7233 #HANGUL SYLLABLE CHIEUCH AE RIEULSIOS
+  {0xAA63, 0xCC51}, //7234 #HANGUL SYLLABLE CHIEUCH AE RIEULTHIEUTH
+  {0xAA64, 0xCC52}, //7235 #HANGUL SYLLABLE CHIEUCH AE RIEULPHIEUPH
+  {0xAA65, 0xCC53}, //7236 #HANGUL SYLLABLE CHIEUCH AE RIEULHIEUH
+  {0xAA66, 0xCC56}, //7237 #HANGUL SYLLABLE CHIEUCH AE PIEUPSIOS
+  {0xAA67, 0xCC5A}, //7238 #HANGUL SYLLABLE CHIEUCH AE CIEUC
+  {0xAA68, 0xCC5B}, //7239 #HANGUL SYLLABLE CHIEUCH AE CHIEUCH
+  {0xAA69, 0xCC5C}, //7240 #HANGUL SYLLABLE CHIEUCH AE KHIEUKH
+  {0xAA6A, 0xCC5D}, //7241 #HANGUL SYLLABLE CHIEUCH AE THIEUTH
+  {0xAA6B, 0xCC5E}, //7242 #HANGUL SYLLABLE CHIEUCH AE PHIEUPH
+  {0xAA6C, 0xCC5F}, //7243 #HANGUL SYLLABLE CHIEUCH AE HIEUH
+  {0xAA6D, 0xCC61}, //7244 #HANGUL SYLLABLE CHIEUCH YA KIYEOK
+  {0xAA6E, 0xCC62}, //7245 #HANGUL SYLLABLE CHIEUCH YA SSANGKIYEOK
+  {0xAA6F, 0xCC63}, //7246 #HANGUL SYLLABLE CHIEUCH YA KIYEOKSIOS
+  {0xAA70, 0xCC65}, //7247 #HANGUL SYLLABLE CHIEUCH YA NIEUNCIEUC
+  {0xAA71, 0xCC67}, //7248 #HANGUL SYLLABLE CHIEUCH YA TIKEUT
+  {0xAA72, 0xCC69}, //7249 #HANGUL SYLLABLE CHIEUCH YA RIEULKIYEOK
+  {0xAA73, 0xCC6A}, //7250 #HANGUL SYLLABLE CHIEUCH YA RIEULMIEUM
+  {0xAA74, 0xCC6B}, //7251 #HANGUL SYLLABLE CHIEUCH YA RIEULPIEUP
+  {0xAA75, 0xCC6C}, //7252 #HANGUL SYLLABLE CHIEUCH YA RIEULSIOS
+  {0xAA76, 0xCC6D}, //7253 #HANGUL SYLLABLE CHIEUCH YA RIEULTHIEUTH
+  {0xAA77, 0xCC6E}, //7254 #HANGUL SYLLABLE CHIEUCH YA RIEULPHIEUPH
+  {0xAA78, 0xCC6F}, //7255 #HANGUL SYLLABLE CHIEUCH YA RIEULHIEUH
+  {0xAA79, 0xCC71}, //7256 #HANGUL SYLLABLE CHIEUCH YA PIEUP
+  {0xAA7A, 0xCC72}, //7257 #HANGUL SYLLABLE CHIEUCH YA PIEUPSIOS
+  {0xAA81, 0xCC73}, //7258 #HANGUL SYLLABLE CHIEUCH YA SIOS
+  {0xAA82, 0xCC74}, //7259 #HANGUL SYLLABLE CHIEUCH YA SSANGSIOS
+  {0xAA83, 0xCC76}, //7260 #HANGUL SYLLABLE CHIEUCH YA CIEUC
+  {0xAA84, 0xCC77}, //7261 #HANGUL SYLLABLE CHIEUCH YA CHIEUCH
+  {0xAA85, 0xCC78}, //7262 #HANGUL SYLLABLE CHIEUCH YA KHIEUKH
+  {0xAA86, 0xCC79}, //7263 #HANGUL SYLLABLE CHIEUCH YA THIEUTH
+  {0xAA87, 0xCC7A}, //7264 #HANGUL SYLLABLE CHIEUCH YA PHIEUPH
+  {0xAA88, 0xCC7B}, //7265 #HANGUL SYLLABLE CHIEUCH YA HIEUH
+  {0xAA89, 0xCC7C}, //7266 #HANGUL SYLLABLE CHIEUCH YAE
+  {0xAA8A, 0xCC7D}, //7267 #HANGUL SYLLABLE CHIEUCH YAE KIYEOK
+  {0xAA8B, 0xCC7E}, //7268 #HANGUL SYLLABLE CHIEUCH YAE SSANGKIYEOK
+  {0xAA8C, 0xCC7F}, //7269 #HANGUL SYLLABLE CHIEUCH YAE KIYEOKSIOS
+  {0xAA8D, 0xCC80}, //7270 #HANGUL SYLLABLE CHIEUCH YAE NIEUN
+  {0xAA8E, 0xCC81}, //7271 #HANGUL SYLLABLE CHIEUCH YAE NIEUNCIEUC
+  {0xAA8F, 0xCC82}, //7272 #HANGUL SYLLABLE CHIEUCH YAE NIEUNHIEUH
+  {0xAA90, 0xCC83}, //7273 #HANGUL SYLLABLE CHIEUCH YAE TIKEUT
+  {0xAA91, 0xCC84}, //7274 #HANGUL SYLLABLE CHIEUCH YAE RIEUL
+  {0xAA92, 0xCC85}, //7275 #HANGUL SYLLABLE CHIEUCH YAE RIEULKIYEOK
+  {0xAA93, 0xCC86}, //7276 #HANGUL SYLLABLE CHIEUCH YAE RIEULMIEUM
+  {0xAA94, 0xCC87}, //7277 #HANGUL SYLLABLE CHIEUCH YAE RIEULPIEUP
+  {0xAA95, 0xCC88}, //7278 #HANGUL SYLLABLE CHIEUCH YAE RIEULSIOS
+  {0xAA96, 0xCC89}, //7279 #HANGUL SYLLABLE CHIEUCH YAE RIEULTHIEUTH
+  {0xAA97, 0xCC8A}, //7280 #HANGUL SYLLABLE CHIEUCH YAE RIEULPHIEUPH
+  {0xAA98, 0xCC8B}, //7281 #HANGUL SYLLABLE CHIEUCH YAE RIEULHIEUH
+  {0xAA99, 0xCC8C}, //7282 #HANGUL SYLLABLE CHIEUCH YAE MIEUM
+  {0xAA9A, 0xCC8D}, //7283 #HANGUL SYLLABLE CHIEUCH YAE PIEUP
+  {0xAA9B, 0xCC8E}, //7284 #HANGUL SYLLABLE CHIEUCH YAE PIEUPSIOS
+  {0xAA9C, 0xCC8F}, //7285 #HANGUL SYLLABLE CHIEUCH YAE SIOS
+  {0xAA9D, 0xCC90}, //7286 #HANGUL SYLLABLE CHIEUCH YAE SSANGSIOS
+  {0xAA9E, 0xCC91}, //7287 #HANGUL SYLLABLE CHIEUCH YAE IEUNG
+  {0xAA9F, 0xCC92}, //7288 #HANGUL SYLLABLE CHIEUCH YAE CIEUC
+  {0xAAA0, 0xCC93}, //7289 #HANGUL SYLLABLE CHIEUCH YAE CHIEUCH
+  {0xAAA1, 0x3041}, //7290 #HIRAGANA LETTER SMALL A
+  {0xAAA2, 0x3042}, //7291 #HIRAGANA LETTER A
+  {0xAAA3, 0x3043}, //7292 #HIRAGANA LETTER SMALL I
+  {0xAAA4, 0x3044}, //7293 #HIRAGANA LETTER I
+  {0xAAA5, 0x3045}, //7294 #HIRAGANA LETTER SMALL U
+  {0xAAA6, 0x3046}, //7295 #HIRAGANA LETTER U
+  {0xAAA7, 0x3047}, //7296 #HIRAGANA LETTER SMALL E
+  {0xAAA8, 0x3048}, //7297 #HIRAGANA LETTER E
+  {0xAAA9, 0x3049}, //7298 #HIRAGANA LETTER SMALL O
+  {0xAAAA, 0x304A}, //7299 #HIRAGANA LETTER O
+  {0xAAAB, 0x304B}, //7300 #HIRAGANA LETTER KA
+  {0xAAAC, 0x304C}, //7301 #HIRAGANA LETTER GA
+  {0xAAAD, 0x304D}, //7302 #HIRAGANA LETTER KI
+  {0xAAAE, 0x304E}, //7303 #HIRAGANA LETTER GI
+  {0xAAAF, 0x304F}, //7304 #HIRAGANA LETTER KU
+  {0xAAB0, 0x3050}, //7305 #HIRAGANA LETTER GU
+  {0xAAB1, 0x3051}, //7306 #HIRAGANA LETTER KE
+  {0xAAB2, 0x3052}, //7307 #HIRAGANA LETTER GE
+  {0xAAB3, 0x3053}, //7308 #HIRAGANA LETTER KO
+  {0xAAB4, 0x3054}, //7309 #HIRAGANA LETTER GO
+  {0xAAB5, 0x3055}, //7310 #HIRAGANA LETTER SA
+  {0xAAB6, 0x3056}, //7311 #HIRAGANA LETTER ZA
+  {0xAAB7, 0x3057}, //7312 #HIRAGANA LETTER SI
+  {0xAAB8, 0x3058}, //7313 #HIRAGANA LETTER ZI
+  {0xAAB9, 0x3059}, //7314 #HIRAGANA LETTER SU
+  {0xAABA, 0x305A}, //7315 #HIRAGANA LETTER ZU
+  {0xAABB, 0x305B}, //7316 #HIRAGANA LETTER SE
+  {0xAABC, 0x305C}, //7317 #HIRAGANA LETTER ZE
+  {0xAABD, 0x305D}, //7318 #HIRAGANA LETTER SO
+  {0xAABE, 0x305E}, //7319 #HIRAGANA LETTER ZO
+  {0xAABF, 0x305F}, //7320 #HIRAGANA LETTER TA
+  {0xAAC0, 0x3060}, //7321 #HIRAGANA LETTER DA
+  {0xAAC1, 0x3061}, //7322 #HIRAGANA LETTER TI
+  {0xAAC2, 0x3062}, //7323 #HIRAGANA LETTER DI
+  {0xAAC3, 0x3063}, //7324 #HIRAGANA LETTER SMALL TU
+  {0xAAC4, 0x3064}, //7325 #HIRAGANA LETTER TU
+  {0xAAC5, 0x3065}, //7326 #HIRAGANA LETTER DU
+  {0xAAC6, 0x3066}, //7327 #HIRAGANA LETTER TE
+  {0xAAC7, 0x3067}, //7328 #HIRAGANA LETTER DE
+  {0xAAC8, 0x3068}, //7329 #HIRAGANA LETTER TO
+  {0xAAC9, 0x3069}, //7330 #HIRAGANA LETTER DO
+  {0xAACA, 0x306A}, //7331 #HIRAGANA LETTER NA
+  {0xAACB, 0x306B}, //7332 #HIRAGANA LETTER NI
+  {0xAACC, 0x306C}, //7333 #HIRAGANA LETTER NU
+  {0xAACD, 0x306D}, //7334 #HIRAGANA LETTER NE
+  {0xAACE, 0x306E}, //7335 #HIRAGANA LETTER NO
+  {0xAACF, 0x306F}, //7336 #HIRAGANA LETTER HA
+  {0xAAD0, 0x3070}, //7337 #HIRAGANA LETTER BA
+  {0xAAD1, 0x3071}, //7338 #HIRAGANA LETTER PA
+  {0xAAD2, 0x3072}, //7339 #HIRAGANA LETTER HI
+  {0xAAD3, 0x3073}, //7340 #HIRAGANA LETTER BI
+  {0xAAD4, 0x3074}, //7341 #HIRAGANA LETTER PI
+  {0xAAD5, 0x3075}, //7342 #HIRAGANA LETTER HU
+  {0xAAD6, 0x3076}, //7343 #HIRAGANA LETTER BU
+  {0xAAD7, 0x3077}, //7344 #HIRAGANA LETTER PU
+  {0xAAD8, 0x3078}, //7345 #HIRAGANA LETTER HE
+  {0xAAD9, 0x3079}, //7346 #HIRAGANA LETTER BE
+  {0xAADA, 0x307A}, //7347 #HIRAGANA LETTER PE
+  {0xAADB, 0x307B}, //7348 #HIRAGANA LETTER HO
+  {0xAADC, 0x307C}, //7349 #HIRAGANA LETTER BO
+  {0xAADD, 0x307D}, //7350 #HIRAGANA LETTER PO
+  {0xAADE, 0x307E}, //7351 #HIRAGANA LETTER MA
+  {0xAADF, 0x307F}, //7352 #HIRAGANA LETTER MI
+  {0xAAE0, 0x3080}, //7353 #HIRAGANA LETTER MU
+  {0xAAE1, 0x3081}, //7354 #HIRAGANA LETTER ME
+  {0xAAE2, 0x3082}, //7355 #HIRAGANA LETTER MO
+  {0xAAE3, 0x3083}, //7356 #HIRAGANA LETTER SMALL YA
+  {0xAAE4, 0x3084}, //7357 #HIRAGANA LETTER YA
+  {0xAAE5, 0x3085}, //7358 #HIRAGANA LETTER SMALL YU
+  {0xAAE6, 0x3086}, //7359 #HIRAGANA LETTER YU
+  {0xAAE7, 0x3087}, //7360 #HIRAGANA LETTER SMALL YO
+  {0xAAE8, 0x3088}, //7361 #HIRAGANA LETTER YO
+  {0xAAE9, 0x3089}, //7362 #HIRAGANA LETTER RA
+  {0xAAEA, 0x308A}, //7363 #HIRAGANA LETTER RI
+  {0xAAEB, 0x308B}, //7364 #HIRAGANA LETTER RU
+  {0xAAEC, 0x308C}, //7365 #HIRAGANA LETTER RE
+  {0xAAED, 0x308D}, //7366 #HIRAGANA LETTER RO
+  {0xAAEE, 0x308E}, //7367 #HIRAGANA LETTER SMALL WA
+  {0xAAEF, 0x308F}, //7368 #HIRAGANA LETTER WA
+  {0xAAF0, 0x3090}, //7369 #HIRAGANA LETTER WI
+  {0xAAF1, 0x3091}, //7370 #HIRAGANA LETTER WE
+  {0xAAF2, 0x3092}, //7371 #HIRAGANA LETTER WO
+  {0xAAF3, 0x3093}, //7372 #HIRAGANA LETTER N
+  {0xAB41, 0xCC94}, //7373 #HANGUL SYLLABLE CHIEUCH YAE KHIEUKH
+  {0xAB42, 0xCC95}, //7374 #HANGUL SYLLABLE CHIEUCH YAE THIEUTH
+  {0xAB43, 0xCC96}, //7375 #HANGUL SYLLABLE CHIEUCH YAE PHIEUPH
+  {0xAB44, 0xCC97}, //7376 #HANGUL SYLLABLE CHIEUCH YAE HIEUH
+  {0xAB45, 0xCC9A}, //7377 #HANGUL SYLLABLE CHIEUCH EO SSANGKIYEOK
+  {0xAB46, 0xCC9B}, //7378 #HANGUL SYLLABLE CHIEUCH EO KIYEOKSIOS
+  {0xAB47, 0xCC9D}, //7379 #HANGUL SYLLABLE CHIEUCH EO NIEUNCIEUC
+  {0xAB48, 0xCC9E}, //7380 #HANGUL SYLLABLE CHIEUCH EO NIEUNHIEUH
+  {0xAB49, 0xCC9F}, //7381 #HANGUL SYLLABLE CHIEUCH EO TIKEUT
+  {0xAB4A, 0xCCA1}, //7382 #HANGUL SYLLABLE CHIEUCH EO RIEULKIYEOK
+  {0xAB4B, 0xCCA2}, //7383 #HANGUL SYLLABLE CHIEUCH EO RIEULMIEUM
+  {0xAB4C, 0xCCA3}, //7384 #HANGUL SYLLABLE CHIEUCH EO RIEULPIEUP
+  {0xAB4D, 0xCCA4}, //7385 #HANGUL SYLLABLE CHIEUCH EO RIEULSIOS
+  {0xAB4E, 0xCCA5}, //7386 #HANGUL SYLLABLE CHIEUCH EO RIEULTHIEUTH
+  {0xAB4F, 0xCCA6}, //7387 #HANGUL SYLLABLE CHIEUCH EO RIEULPHIEUPH
+  {0xAB50, 0xCCA7}, //7388 #HANGUL SYLLABLE CHIEUCH EO RIEULHIEUH
+  {0xAB51, 0xCCAA}, //7389 #HANGUL SYLLABLE CHIEUCH EO PIEUPSIOS
+  {0xAB52, 0xCCAE}, //7390 #HANGUL SYLLABLE CHIEUCH EO CIEUC
+  {0xAB53, 0xCCAF}, //7391 #HANGUL SYLLABLE CHIEUCH EO CHIEUCH
+  {0xAB54, 0xCCB0}, //7392 #HANGUL SYLLABLE CHIEUCH EO KHIEUKH
+  {0xAB55, 0xCCB1}, //7393 #HANGUL SYLLABLE CHIEUCH EO THIEUTH
+  {0xAB56, 0xCCB2}, //7394 #HANGUL SYLLABLE CHIEUCH EO PHIEUPH
+  {0xAB57, 0xCCB3}, //7395 #HANGUL SYLLABLE CHIEUCH EO HIEUH
+  {0xAB58, 0xCCB6}, //7396 #HANGUL SYLLABLE CHIEUCH E SSANGKIYEOK
+  {0xAB59, 0xCCB7}, //7397 #HANGUL SYLLABLE CHIEUCH E KIYEOKSIOS
+  {0xAB5A, 0xCCB9}, //7398 #HANGUL SYLLABLE CHIEUCH E NIEUNCIEUC
+  {0xAB61, 0xCCBA}, //7399 #HANGUL SYLLABLE CHIEUCH E NIEUNHIEUH
+  {0xAB62, 0xCCBB}, //7400 #HANGUL SYLLABLE CHIEUCH E TIKEUT
+  {0xAB63, 0xCCBD}, //7401 #HANGUL SYLLABLE CHIEUCH E RIEULKIYEOK
+  {0xAB64, 0xCCBE}, //7402 #HANGUL SYLLABLE CHIEUCH E RIEULMIEUM
+  {0xAB65, 0xCCBF}, //7403 #HANGUL SYLLABLE CHIEUCH E RIEULPIEUP
+  {0xAB66, 0xCCC0}, //7404 #HANGUL SYLLABLE CHIEUCH E RIEULSIOS
+  {0xAB67, 0xCCC1}, //7405 #HANGUL SYLLABLE CHIEUCH E RIEULTHIEUTH
+  {0xAB68, 0xCCC2}, //7406 #HANGUL SYLLABLE CHIEUCH E RIEULPHIEUPH
+  {0xAB69, 0xCCC3}, //7407 #HANGUL SYLLABLE CHIEUCH E RIEULHIEUH
+  {0xAB6A, 0xCCC6}, //7408 #HANGUL SYLLABLE CHIEUCH E PIEUPSIOS
+  {0xAB6B, 0xCCC8}, //7409 #HANGUL SYLLABLE CHIEUCH E SSANGSIOS
+  {0xAB6C, 0xCCCA}, //7410 #HANGUL SYLLABLE CHIEUCH E CIEUC
+  {0xAB6D, 0xCCCB}, //7411 #HANGUL SYLLABLE CHIEUCH E CHIEUCH
+  {0xAB6E, 0xCCCC}, //7412 #HANGUL SYLLABLE CHIEUCH E KHIEUKH
+  {0xAB6F, 0xCCCD}, //7413 #HANGUL SYLLABLE CHIEUCH E THIEUTH
+  {0xAB70, 0xCCCE}, //7414 #HANGUL SYLLABLE CHIEUCH E PHIEUPH
+  {0xAB71, 0xCCCF}, //7415 #HANGUL SYLLABLE CHIEUCH E HIEUH
+  {0xAB72, 0xCCD1}, //7416 #HANGUL SYLLABLE CHIEUCH YEO KIYEOK
+  {0xAB73, 0xCCD2}, //7417 #HANGUL SYLLABLE CHIEUCH YEO SSANGKIYEOK
+  {0xAB74, 0xCCD3}, //7418 #HANGUL SYLLABLE CHIEUCH YEO KIYEOKSIOS
+  {0xAB75, 0xCCD5}, //7419 #HANGUL SYLLABLE CHIEUCH YEO NIEUNCIEUC
+  {0xAB76, 0xCCD6}, //7420 #HANGUL SYLLABLE CHIEUCH YEO NIEUNHIEUH
+  {0xAB77, 0xCCD7}, //7421 #HANGUL SYLLABLE CHIEUCH YEO TIKEUT
+  {0xAB78, 0xCCD8}, //7422 #HANGUL SYLLABLE CHIEUCH YEO RIEUL
+  {0xAB79, 0xCCD9}, //7423 #HANGUL SYLLABLE CHIEUCH YEO RIEULKIYEOK
+  {0xAB7A, 0xCCDA}, //7424 #HANGUL SYLLABLE CHIEUCH YEO RIEULMIEUM
+  {0xAB81, 0xCCDB}, //7425 #HANGUL SYLLABLE CHIEUCH YEO RIEULPIEUP
+  {0xAB82, 0xCCDC}, //7426 #HANGUL SYLLABLE CHIEUCH YEO RIEULSIOS
+  {0xAB83, 0xCCDD}, //7427 #HANGUL SYLLABLE CHIEUCH YEO RIEULTHIEUTH
+  {0xAB84, 0xCCDE}, //7428 #HANGUL SYLLABLE CHIEUCH YEO RIEULPHIEUPH
+  {0xAB85, 0xCCDF}, //7429 #HANGUL SYLLABLE CHIEUCH YEO RIEULHIEUH
+  {0xAB86, 0xCCE0}, //7430 #HANGUL SYLLABLE CHIEUCH YEO MIEUM
+  {0xAB87, 0xCCE1}, //7431 #HANGUL SYLLABLE CHIEUCH YEO PIEUP
+  {0xAB88, 0xCCE2}, //7432 #HANGUL SYLLABLE CHIEUCH YEO PIEUPSIOS
+  {0xAB89, 0xCCE3}, //7433 #HANGUL SYLLABLE CHIEUCH YEO SIOS
+  {0xAB8A, 0xCCE5}, //7434 #HANGUL SYLLABLE CHIEUCH YEO IEUNG
+  {0xAB8B, 0xCCE6}, //7435 #HANGUL SYLLABLE CHIEUCH YEO CIEUC
+  {0xAB8C, 0xCCE7}, //7436 #HANGUL SYLLABLE CHIEUCH YEO CHIEUCH
+  {0xAB8D, 0xCCE8}, //7437 #HANGUL SYLLABLE CHIEUCH YEO KHIEUKH
+  {0xAB8E, 0xCCE9}, //7438 #HANGUL SYLLABLE CHIEUCH YEO THIEUTH
+  {0xAB8F, 0xCCEA}, //7439 #HANGUL SYLLABLE CHIEUCH YEO PHIEUPH
+  {0xAB90, 0xCCEB}, //7440 #HANGUL SYLLABLE CHIEUCH YEO HIEUH
+  {0xAB91, 0xCCED}, //7441 #HANGUL SYLLABLE CHIEUCH YE KIYEOK
+  {0xAB92, 0xCCEE}, //7442 #HANGUL SYLLABLE CHIEUCH YE SSANGKIYEOK
+  {0xAB93, 0xCCEF}, //7443 #HANGUL SYLLABLE CHIEUCH YE KIYEOKSIOS
+  {0xAB94, 0xCCF1}, //7444 #HANGUL SYLLABLE CHIEUCH YE NIEUNCIEUC
+  {0xAB95, 0xCCF2}, //7445 #HANGUL SYLLABLE CHIEUCH YE NIEUNHIEUH
+  {0xAB96, 0xCCF3}, //7446 #HANGUL SYLLABLE CHIEUCH YE TIKEUT
+  {0xAB97, 0xCCF4}, //7447 #HANGUL SYLLABLE CHIEUCH YE RIEUL
+  {0xAB98, 0xCCF5}, //7448 #HANGUL SYLLABLE CHIEUCH YE RIEULKIYEOK
+  {0xAB99, 0xCCF6}, //7449 #HANGUL SYLLABLE CHIEUCH YE RIEULMIEUM
+  {0xAB9A, 0xCCF7}, //7450 #HANGUL SYLLABLE CHIEUCH YE RIEULPIEUP
+  {0xAB9B, 0xCCF8}, //7451 #HANGUL SYLLABLE CHIEUCH YE RIEULSIOS
+  {0xAB9C, 0xCCF9}, //7452 #HANGUL SYLLABLE CHIEUCH YE RIEULTHIEUTH
+  {0xAB9D, 0xCCFA}, //7453 #HANGUL SYLLABLE CHIEUCH YE RIEULPHIEUPH
+  {0xAB9E, 0xCCFB}, //7454 #HANGUL SYLLABLE CHIEUCH YE RIEULHIEUH
+  {0xAB9F, 0xCCFC}, //7455 #HANGUL SYLLABLE CHIEUCH YE MIEUM
+  {0xABA0, 0xCCFD}, //7456 #HANGUL SYLLABLE CHIEUCH YE PIEUP
+  {0xABA1, 0x30A1}, //7457 #KATAKANA LETTER SMALL A
+  {0xABA2, 0x30A2}, //7458 #KATAKANA LETTER A
+  {0xABA3, 0x30A3}, //7459 #KATAKANA LETTER SMALL I
+  {0xABA4, 0x30A4}, //7460 #KATAKANA LETTER I
+  {0xABA5, 0x30A5}, //7461 #KATAKANA LETTER SMALL U
+  {0xABA6, 0x30A6}, //7462 #KATAKANA LETTER U
+  {0xABA7, 0x30A7}, //7463 #KATAKANA LETTER SMALL E
+  {0xABA8, 0x30A8}, //7464 #KATAKANA LETTER E
+  {0xABA9, 0x30A9}, //7465 #KATAKANA LETTER SMALL O
+  {0xABAA, 0x30AA}, //7466 #KATAKANA LETTER O
+  {0xABAB, 0x30AB}, //7467 #KATAKANA LETTER KA
+  {0xABAC, 0x30AC}, //7468 #KATAKANA LETTER GA
+  {0xABAD, 0x30AD}, //7469 #KATAKANA LETTER KI
+  {0xABAE, 0x30AE}, //7470 #KATAKANA LETTER GI
+  {0xABAF, 0x30AF}, //7471 #KATAKANA LETTER KU
+  {0xABB0, 0x30B0}, //7472 #KATAKANA LETTER GU
+  {0xABB1, 0x30B1}, //7473 #KATAKANA LETTER KE
+  {0xABB2, 0x30B2}, //7474 #KATAKANA LETTER GE
+  {0xABB3, 0x30B3}, //7475 #KATAKANA LETTER KO
+  {0xABB4, 0x30B4}, //7476 #KATAKANA LETTER GO
+  {0xABB5, 0x30B5}, //7477 #KATAKANA LETTER SA
+  {0xABB6, 0x30B6}, //7478 #KATAKANA LETTER ZA
+  {0xABB7, 0x30B7}, //7479 #KATAKANA LETTER SI
+  {0xABB8, 0x30B8}, //7480 #KATAKANA LETTER ZI
+  {0xABB9, 0x30B9}, //7481 #KATAKANA LETTER SU
+  {0xABBA, 0x30BA}, //7482 #KATAKANA LETTER ZU
+  {0xABBB, 0x30BB}, //7483 #KATAKANA LETTER SE
+  {0xABBC, 0x30BC}, //7484 #KATAKANA LETTER ZE
+  {0xABBD, 0x30BD}, //7485 #KATAKANA LETTER SO
+  {0xABBE, 0x30BE}, //7486 #KATAKANA LETTER ZO
+  {0xABBF, 0x30BF}, //7487 #KATAKANA LETTER TA
+  {0xABC0, 0x30C0}, //7488 #KATAKANA LETTER DA
+  {0xABC1, 0x30C1}, //7489 #KATAKANA LETTER TI
+  {0xABC2, 0x30C2}, //7490 #KATAKANA LETTER DI
+  {0xABC3, 0x30C3}, //7491 #KATAKANA LETTER SMALL TU
+  {0xABC4, 0x30C4}, //7492 #KATAKANA LETTER TU
+  {0xABC5, 0x30C5}, //7493 #KATAKANA LETTER DU
+  {0xABC6, 0x30C6}, //7494 #KATAKANA LETTER TE
+  {0xABC7, 0x30C7}, //7495 #KATAKANA LETTER DE
+  {0xABC8, 0x30C8}, //7496 #KATAKANA LETTER TO
+  {0xABC9, 0x30C9}, //7497 #KATAKANA LETTER DO
+  {0xABCA, 0x30CA}, //7498 #KATAKANA LETTER NA
+  {0xABCB, 0x30CB}, //7499 #KATAKANA LETTER NI
+  {0xABCC, 0x30CC}, //7500 #KATAKANA LETTER NU
+  {0xABCD, 0x30CD}, //7501 #KATAKANA LETTER NE
+  {0xABCE, 0x30CE}, //7502 #KATAKANA LETTER NO
+  {0xABCF, 0x30CF}, //7503 #KATAKANA LETTER HA
+  {0xABD0, 0x30D0}, //7504 #KATAKANA LETTER BA
+  {0xABD1, 0x30D1}, //7505 #KATAKANA LETTER PA
+  {0xABD2, 0x30D2}, //7506 #KATAKANA LETTER HI
+  {0xABD3, 0x30D3}, //7507 #KATAKANA LETTER BI
+  {0xABD4, 0x30D4}, //7508 #KATAKANA LETTER PI
+  {0xABD5, 0x30D5}, //7509 #KATAKANA LETTER HU
+  {0xABD6, 0x30D6}, //7510 #KATAKANA LETTER BU
+  {0xABD7, 0x30D7}, //7511 #KATAKANA LETTER PU
+  {0xABD8, 0x30D8}, //7512 #KATAKANA LETTER HE
+  {0xABD9, 0x30D9}, //7513 #KATAKANA LETTER BE
+  {0xABDA, 0x30DA}, //7514 #KATAKANA LETTER PE
+  {0xABDB, 0x30DB}, //7515 #KATAKANA LETTER HO
+  {0xABDC, 0x30DC}, //7516 #KATAKANA LETTER BO
+  {0xABDD, 0x30DD}, //7517 #KATAKANA LETTER PO
+  {0xABDE, 0x30DE}, //7518 #KATAKANA LETTER MA
+  {0xABDF, 0x30DF}, //7519 #KATAKANA LETTER MI
+  {0xABE0, 0x30E0}, //7520 #KATAKANA LETTER MU
+  {0xABE1, 0x30E1}, //7521 #KATAKANA LETTER ME
+  {0xABE2, 0x30E2}, //7522 #KATAKANA LETTER MO
+  {0xABE3, 0x30E3}, //7523 #KATAKANA LETTER SMALL YA
+  {0xABE4, 0x30E4}, //7524 #KATAKANA LETTER YA
+  {0xABE5, 0x30E5}, //7525 #KATAKANA LETTER SMALL YU
+  {0xABE6, 0x30E6}, //7526 #KATAKANA LETTER YU
+  {0xABE7, 0x30E7}, //7527 #KATAKANA LETTER SMALL YO
+  {0xABE8, 0x30E8}, //7528 #KATAKANA LETTER YO
+  {0xABE9, 0x30E9}, //7529 #KATAKANA LETTER RA
+  {0xABEA, 0x30EA}, //7530 #KATAKANA LETTER RI
+  {0xABEB, 0x30EB}, //7531 #KATAKANA LETTER RU
+  {0xABEC, 0x30EC}, //7532 #KATAKANA LETTER RE
+  {0xABED, 0x30ED}, //7533 #KATAKANA LETTER RO
+  {0xABEE, 0x30EE}, //7534 #KATAKANA LETTER SMALL WA
+  {0xABEF, 0x30EF}, //7535 #KATAKANA LETTER WA
+  {0xABF0, 0x30F0}, //7536 #KATAKANA LETTER WI
+  {0xABF1, 0x30F1}, //7537 #KATAKANA LETTER WE
+  {0xABF2, 0x30F2}, //7538 #KATAKANA LETTER WO
+  {0xABF3, 0x30F3}, //7539 #KATAKANA LETTER N
+  {0xABF4, 0x30F4}, //7540 #KATAKANA LETTER VU
+  {0xABF5, 0x30F5}, //7541 #KATAKANA LETTER SMALL KA
+  {0xABF6, 0x30F6}, //7542 #KATAKANA LETTER SMALL KE
+  {0xAC41, 0xCCFE}, //7543 #HANGUL SYLLABLE CHIEUCH YE PIEUPSIOS
+  {0xAC42, 0xCCFF}, //7544 #HANGUL SYLLABLE CHIEUCH YE SIOS
+  {0xAC43, 0xCD00}, //7545 #HANGUL SYLLABLE CHIEUCH YE SSANGSIOS
+  {0xAC44, 0xCD02}, //7546 #HANGUL SYLLABLE CHIEUCH YE CIEUC
+  {0xAC45, 0xCD03}, //7547 #HANGUL SYLLABLE CHIEUCH YE CHIEUCH
+  {0xAC46, 0xCD04}, //7548 #HANGUL SYLLABLE CHIEUCH YE KHIEUKH
+  {0xAC47, 0xCD05}, //7549 #HANGUL SYLLABLE CHIEUCH YE THIEUTH
+  {0xAC48, 0xCD06}, //7550 #HANGUL SYLLABLE CHIEUCH YE PHIEUPH
+  {0xAC49, 0xCD07}, //7551 #HANGUL SYLLABLE CHIEUCH YE HIEUH
+  {0xAC4A, 0xCD0A}, //7552 #HANGUL SYLLABLE CHIEUCH O SSANGKIYEOK
+  {0xAC4B, 0xCD0B}, //7553 #HANGUL SYLLABLE CHIEUCH O KIYEOKSIOS
+  {0xAC4C, 0xCD0D}, //7554 #HANGUL SYLLABLE CHIEUCH O NIEUNCIEUC
+  {0xAC4D, 0xCD0E}, //7555 #HANGUL SYLLABLE CHIEUCH O NIEUNHIEUH
+  {0xAC4E, 0xCD0F}, //7556 #HANGUL SYLLABLE CHIEUCH O TIKEUT
+  {0xAC4F, 0xCD11}, //7557 #HANGUL SYLLABLE CHIEUCH O RIEULKIYEOK
+  {0xAC50, 0xCD12}, //7558 #HANGUL SYLLABLE CHIEUCH O RIEULMIEUM
+  {0xAC51, 0xCD13}, //7559 #HANGUL SYLLABLE CHIEUCH O RIEULPIEUP
+  {0xAC52, 0xCD14}, //7560 #HANGUL SYLLABLE CHIEUCH O RIEULSIOS
+  {0xAC53, 0xCD15}, //7561 #HANGUL SYLLABLE CHIEUCH O RIEULTHIEUTH
+  {0xAC54, 0xCD16}, //7562 #HANGUL SYLLABLE CHIEUCH O RIEULPHIEUPH
+  {0xAC55, 0xCD17}, //7563 #HANGUL SYLLABLE CHIEUCH O RIEULHIEUH
+  {0xAC56, 0xCD1A}, //7564 #HANGUL SYLLABLE CHIEUCH O PIEUPSIOS
+  {0xAC57, 0xCD1C}, //7565 #HANGUL SYLLABLE CHIEUCH O SSANGSIOS
+  {0xAC58, 0xCD1E}, //7566 #HANGUL SYLLABLE CHIEUCH O CIEUC
+  {0xAC59, 0xCD1F}, //7567 #HANGUL SYLLABLE CHIEUCH O CHIEUCH
+  {0xAC5A, 0xCD20}, //7568 #HANGUL SYLLABLE CHIEUCH O KHIEUKH
+  {0xAC61, 0xCD21}, //7569 #HANGUL SYLLABLE CHIEUCH O THIEUTH
+  {0xAC62, 0xCD22}, //7570 #HANGUL SYLLABLE CHIEUCH O PHIEUPH
+  {0xAC63, 0xCD23}, //7571 #HANGUL SYLLABLE CHIEUCH O HIEUH
+  {0xAC64, 0xCD25}, //7572 #HANGUL SYLLABLE CHIEUCH WA KIYEOK
+  {0xAC65, 0xCD26}, //7573 #HANGUL SYLLABLE CHIEUCH WA SSANGKIYEOK
+  {0xAC66, 0xCD27}, //7574 #HANGUL SYLLABLE CHIEUCH WA KIYEOKSIOS
+  {0xAC67, 0xCD29}, //7575 #HANGUL SYLLABLE CHIEUCH WA NIEUNCIEUC
+  {0xAC68, 0xCD2A}, //7576 #HANGUL SYLLABLE CHIEUCH WA NIEUNHIEUH
+  {0xAC69, 0xCD2B}, //7577 #HANGUL SYLLABLE CHIEUCH WA TIKEUT
+  {0xAC6A, 0xCD2D}, //7578 #HANGUL SYLLABLE CHIEUCH WA RIEULKIYEOK
+  {0xAC6B, 0xCD2E}, //7579 #HANGUL SYLLABLE CHIEUCH WA RIEULMIEUM
+  {0xAC6C, 0xCD2F}, //7580 #HANGUL SYLLABLE CHIEUCH WA RIEULPIEUP
+  {0xAC6D, 0xCD30}, //7581 #HANGUL SYLLABLE CHIEUCH WA RIEULSIOS
+  {0xAC6E, 0xCD31}, //7582 #HANGUL SYLLABLE CHIEUCH WA RIEULTHIEUTH
+  {0xAC6F, 0xCD32}, //7583 #HANGUL SYLLABLE CHIEUCH WA RIEULPHIEUPH
+  {0xAC70, 0xCD33}, //7584 #HANGUL SYLLABLE CHIEUCH WA RIEULHIEUH
+  {0xAC71, 0xCD34}, //7585 #HANGUL SYLLABLE CHIEUCH WA MIEUM
+  {0xAC72, 0xCD35}, //7586 #HANGUL SYLLABLE CHIEUCH WA PIEUP
+  {0xAC73, 0xCD36}, //7587 #HANGUL SYLLABLE CHIEUCH WA PIEUPSIOS
+  {0xAC74, 0xCD37}, //7588 #HANGUL SYLLABLE CHIEUCH WA SIOS
+  {0xAC75, 0xCD38}, //7589 #HANGUL SYLLABLE CHIEUCH WA SSANGSIOS
+  {0xAC76, 0xCD3A}, //7590 #HANGUL SYLLABLE CHIEUCH WA CIEUC
+  {0xAC77, 0xCD3B}, //7591 #HANGUL SYLLABLE CHIEUCH WA CHIEUCH
+  {0xAC78, 0xCD3C}, //7592 #HANGUL SYLLABLE CHIEUCH WA KHIEUKH
+  {0xAC79, 0xCD3D}, //7593 #HANGUL SYLLABLE CHIEUCH WA THIEUTH
+  {0xAC7A, 0xCD3E}, //7594 #HANGUL SYLLABLE CHIEUCH WA PHIEUPH
+  {0xAC81, 0xCD3F}, //7595 #HANGUL SYLLABLE CHIEUCH WA HIEUH
+  {0xAC82, 0xCD40}, //7596 #HANGUL SYLLABLE CHIEUCH WAE
+  {0xAC83, 0xCD41}, //7597 #HANGUL SYLLABLE CHIEUCH WAE KIYEOK
+  {0xAC84, 0xCD42}, //7598 #HANGUL SYLLABLE CHIEUCH WAE SSANGKIYEOK
+  {0xAC85, 0xCD43}, //7599 #HANGUL SYLLABLE CHIEUCH WAE KIYEOKSIOS
+  {0xAC86, 0xCD44}, //7600 #HANGUL SYLLABLE CHIEUCH WAE NIEUN
+  {0xAC87, 0xCD45}, //7601 #HANGUL SYLLABLE CHIEUCH WAE NIEUNCIEUC
+  {0xAC88, 0xCD46}, //7602 #HANGUL SYLLABLE CHIEUCH WAE NIEUNHIEUH
+  {0xAC89, 0xCD47}, //7603 #HANGUL SYLLABLE CHIEUCH WAE TIKEUT
+  {0xAC8A, 0xCD48}, //7604 #HANGUL SYLLABLE CHIEUCH WAE RIEUL
+  {0xAC8B, 0xCD49}, //7605 #HANGUL SYLLABLE CHIEUCH WAE RIEULKIYEOK
+  {0xAC8C, 0xCD4A}, //7606 #HANGUL SYLLABLE CHIEUCH WAE RIEULMIEUM
+  {0xAC8D, 0xCD4B}, //7607 #HANGUL SYLLABLE CHIEUCH WAE RIEULPIEUP
+  {0xAC8E, 0xCD4C}, //7608 #HANGUL SYLLABLE CHIEUCH WAE RIEULSIOS
+  {0xAC8F, 0xCD4D}, //7609 #HANGUL SYLLABLE CHIEUCH WAE RIEULTHIEUTH
+  {0xAC90, 0xCD4E}, //7610 #HANGUL SYLLABLE CHIEUCH WAE RIEULPHIEUPH
+  {0xAC91, 0xCD4F}, //7611 #HANGUL SYLLABLE CHIEUCH WAE RIEULHIEUH
+  {0xAC92, 0xCD50}, //7612 #HANGUL SYLLABLE CHIEUCH WAE MIEUM
+  {0xAC93, 0xCD51}, //7613 #HANGUL SYLLABLE CHIEUCH WAE PIEUP
+  {0xAC94, 0xCD52}, //7614 #HANGUL SYLLABLE CHIEUCH WAE PIEUPSIOS
+  {0xAC95, 0xCD53}, //7615 #HANGUL SYLLABLE CHIEUCH WAE SIOS
+  {0xAC96, 0xCD54}, //7616 #HANGUL SYLLABLE CHIEUCH WAE SSANGSIOS
+  {0xAC97, 0xCD55}, //7617 #HANGUL SYLLABLE CHIEUCH WAE IEUNG
+  {0xAC98, 0xCD56}, //7618 #HANGUL SYLLABLE CHIEUCH WAE CIEUC
+  {0xAC99, 0xCD57}, //7619 #HANGUL SYLLABLE CHIEUCH WAE CHIEUCH
+  {0xAC9A, 0xCD58}, //7620 #HANGUL SYLLABLE CHIEUCH WAE KHIEUKH
+  {0xAC9B, 0xCD59}, //7621 #HANGUL SYLLABLE CHIEUCH WAE THIEUTH
+  {0xAC9C, 0xCD5A}, //7622 #HANGUL SYLLABLE CHIEUCH WAE PHIEUPH
+  {0xAC9D, 0xCD5B}, //7623 #HANGUL SYLLABLE CHIEUCH WAE HIEUH
+  {0xAC9E, 0xCD5D}, //7624 #HANGUL SYLLABLE CHIEUCH OE KIYEOK
+  {0xAC9F, 0xCD5E}, //7625 #HANGUL SYLLABLE CHIEUCH OE SSANGKIYEOK
+  {0xACA0, 0xCD5F}, //7626 #HANGUL SYLLABLE CHIEUCH OE KIYEOKSIOS
+  {0xACA1, 0x0410}, //7627 #CYRILLIC CAPITAL LETTER A
+  {0xACA2, 0x0411}, //7628 #CYRILLIC CAPITAL LETTER BE
+  {0xACA3, 0x0412}, //7629 #CYRILLIC CAPITAL LETTER VE
+  {0xACA4, 0x0413}, //7630 #CYRILLIC CAPITAL LETTER GHE
+  {0xACA5, 0x0414}, //7631 #CYRILLIC CAPITAL LETTER DE
+  {0xACA6, 0x0415}, //7632 #CYRILLIC CAPITAL LETTER IE
+  {0xACA7, 0x0401}, //7633 #CYRILLIC CAPITAL LETTER IO
+  {0xACA8, 0x0416}, //7634 #CYRILLIC CAPITAL LETTER ZHE
+  {0xACA9, 0x0417}, //7635 #CYRILLIC CAPITAL LETTER ZE
+  {0xACAA, 0x0418}, //7636 #CYRILLIC CAPITAL LETTER I
+  {0xACAB, 0x0419}, //7637 #CYRILLIC CAPITAL LETTER SHORT I
+  {0xACAC, 0x041A}, //7638 #CYRILLIC CAPITAL LETTER KA
+  {0xACAD, 0x041B}, //7639 #CYRILLIC CAPITAL LETTER EL
+  {0xACAE, 0x041C}, //7640 #CYRILLIC CAPITAL LETTER EM
+  {0xACAF, 0x041D}, //7641 #CYRILLIC CAPITAL LETTER EN
+  {0xACB0, 0x041E}, //7642 #CYRILLIC CAPITAL LETTER O
+  {0xACB1, 0x041F}, //7643 #CYRILLIC CAPITAL LETTER PE
+  {0xACB2, 0x0420}, //7644 #CYRILLIC CAPITAL LETTER ER
+  {0xACB3, 0x0421}, //7645 #CYRILLIC CAPITAL LETTER ES
+  {0xACB4, 0x0422}, //7646 #CYRILLIC CAPITAL LETTER TE
+  {0xACB5, 0x0423}, //7647 #CYRILLIC CAPITAL LETTER U
+  {0xACB6, 0x0424}, //7648 #CYRILLIC CAPITAL LETTER EF
+  {0xACB7, 0x0425}, //7649 #CYRILLIC CAPITAL LETTER HA
+  {0xACB8, 0x0426}, //7650 #CYRILLIC CAPITAL LETTER TSE
+  {0xACB9, 0x0427}, //7651 #CYRILLIC CAPITAL LETTER CHE
+  {0xACBA, 0x0428}, //7652 #CYRILLIC CAPITAL LETTER SHA
+  {0xACBB, 0x0429}, //7653 #CYRILLIC CAPITAL LETTER SHCHA
+  {0xACBC, 0x042A}, //7654 #CYRILLIC CAPITAL LETTER HARD SIGN
+  {0xACBD, 0x042B}, //7655 #CYRILLIC CAPITAL LETTER YERU
+  {0xACBE, 0x042C}, //7656 #CYRILLIC CAPITAL LETTER SOFT SIGN
+  {0xACBF, 0x042D}, //7657 #CYRILLIC CAPITAL LETTER E
+  {0xACC0, 0x042E}, //7658 #CYRILLIC CAPITAL LETTER YU
+  {0xACC1, 0x042F}, //7659 #CYRILLIC CAPITAL LETTER YA
+  {0xACD1, 0x0430}, //7660 #CYRILLIC SMALL LETTER A
+  {0xACD2, 0x0431}, //7661 #CYRILLIC SMALL LETTER BE
+  {0xACD3, 0x0432}, //7662 #CYRILLIC SMALL LETTER VE
+  {0xACD4, 0x0433}, //7663 #CYRILLIC SMALL LETTER GHE
+  {0xACD5, 0x0434}, //7664 #CYRILLIC SMALL LETTER DE
+  {0xACD6, 0x0435}, //7665 #CYRILLIC SMALL LETTER IE
+  {0xACD7, 0x0451}, //7666 #CYRILLIC SMALL LETTER IO
+  {0xACD8, 0x0436}, //7667 #CYRILLIC SMALL LETTER ZHE
+  {0xACD9, 0x0437}, //7668 #CYRILLIC SMALL LETTER ZE
+  {0xACDA, 0x0438}, //7669 #CYRILLIC SMALL LETTER I
+  {0xACDB, 0x0439}, //7670 #CYRILLIC SMALL LETTER SHORT I
+  {0xACDC, 0x043A}, //7671 #CYRILLIC SMALL LETTER KA
+  {0xACDD, 0x043B}, //7672 #CYRILLIC SMALL LETTER EL
+  {0xACDE, 0x043C}, //7673 #CYRILLIC SMALL LETTER EM
+  {0xACDF, 0x043D}, //7674 #CYRILLIC SMALL LETTER EN
+  {0xACE0, 0x043E}, //7675 #CYRILLIC SMALL LETTER O
+  {0xACE1, 0x043F}, //7676 #CYRILLIC SMALL LETTER PE
+  {0xACE2, 0x0440}, //7677 #CYRILLIC SMALL LETTER ER
+  {0xACE3, 0x0441}, //7678 #CYRILLIC SMALL LETTER ES
+  {0xACE4, 0x0442}, //7679 #CYRILLIC SMALL LETTER TE
+  {0xACE5, 0x0443}, //7680 #CYRILLIC SMALL LETTER U
+  {0xACE6, 0x0444}, //7681 #CYRILLIC SMALL LETTER EF
+  {0xACE7, 0x0445}, //7682 #CYRILLIC SMALL LETTER HA
+  {0xACE8, 0x0446}, //7683 #CYRILLIC SMALL LETTER TSE
+  {0xACE9, 0x0447}, //7684 #CYRILLIC SMALL LETTER CHE
+  {0xACEA, 0x0448}, //7685 #CYRILLIC SMALL LETTER SHA
+  {0xACEB, 0x0449}, //7686 #CYRILLIC SMALL LETTER SHCHA
+  {0xACEC, 0x044A}, //7687 #CYRILLIC SMALL LETTER HARD SIGN
+  {0xACED, 0x044B}, //7688 #CYRILLIC SMALL LETTER YERU
+  {0xACEE, 0x044C}, //7689 #CYRILLIC SMALL LETTER SOFT SIGN
+  {0xACEF, 0x044D}, //7690 #CYRILLIC SMALL LETTER E
+  {0xACF0, 0x044E}, //7691 #CYRILLIC SMALL LETTER YU
+  {0xACF1, 0x044F}, //7692 #CYRILLIC SMALL LETTER YA
+  {0xAD41, 0xCD61}, //7693 #HANGUL SYLLABLE CHIEUCH OE NIEUNCIEUC
+  {0xAD42, 0xCD62}, //7694 #HANGUL SYLLABLE CHIEUCH OE NIEUNHIEUH
+  {0xAD43, 0xCD63}, //7695 #HANGUL SYLLABLE CHIEUCH OE TIKEUT
+  {0xAD44, 0xCD65}, //7696 #HANGUL SYLLABLE CHIEUCH OE RIEULKIYEOK
+  {0xAD45, 0xCD66}, //7697 #HANGUL SYLLABLE CHIEUCH OE RIEULMIEUM
+  {0xAD46, 0xCD67}, //7698 #HANGUL SYLLABLE CHIEUCH OE RIEULPIEUP
+  {0xAD47, 0xCD68}, //7699 #HANGUL SYLLABLE CHIEUCH OE RIEULSIOS
+  {0xAD48, 0xCD69}, //7700 #HANGUL SYLLABLE CHIEUCH OE RIEULTHIEUTH
+  {0xAD49, 0xCD6A}, //7701 #HANGUL SYLLABLE CHIEUCH OE RIEULPHIEUPH
+  {0xAD4A, 0xCD6B}, //7702 #HANGUL SYLLABLE CHIEUCH OE RIEULHIEUH
+  {0xAD4B, 0xCD6E}, //7703 #HANGUL SYLLABLE CHIEUCH OE PIEUPSIOS
+  {0xAD4C, 0xCD70}, //7704 #HANGUL SYLLABLE CHIEUCH OE SSANGSIOS
+  {0xAD4D, 0xCD72}, //7705 #HANGUL SYLLABLE CHIEUCH OE CIEUC
+  {0xAD4E, 0xCD73}, //7706 #HANGUL SYLLABLE CHIEUCH OE CHIEUCH
+  {0xAD4F, 0xCD74}, //7707 #HANGUL SYLLABLE CHIEUCH OE KHIEUKH
+  {0xAD50, 0xCD75}, //7708 #HANGUL SYLLABLE CHIEUCH OE THIEUTH
+  {0xAD51, 0xCD76}, //7709 #HANGUL SYLLABLE CHIEUCH OE PHIEUPH
+  {0xAD52, 0xCD77}, //7710 #HANGUL SYLLABLE CHIEUCH OE HIEUH
+  {0xAD53, 0xCD79}, //7711 #HANGUL SYLLABLE CHIEUCH YO KIYEOK
+  {0xAD54, 0xCD7A}, //7712 #HANGUL SYLLABLE CHIEUCH YO SSANGKIYEOK
+  {0xAD55, 0xCD7B}, //7713 #HANGUL SYLLABLE CHIEUCH YO KIYEOKSIOS
+  {0xAD56, 0xCD7C}, //7714 #HANGUL SYLLABLE CHIEUCH YO NIEUN
+  {0xAD57, 0xCD7D}, //7715 #HANGUL SYLLABLE CHIEUCH YO NIEUNCIEUC
+  {0xAD58, 0xCD7E}, //7716 #HANGUL SYLLABLE CHIEUCH YO NIEUNHIEUH
+  {0xAD59, 0xCD7F}, //7717 #HANGUL SYLLABLE CHIEUCH YO TIKEUT
+  {0xAD5A, 0xCD80}, //7718 #HANGUL SYLLABLE CHIEUCH YO RIEUL
+  {0xAD61, 0xCD81}, //7719 #HANGUL SYLLABLE CHIEUCH YO RIEULKIYEOK
+  {0xAD62, 0xCD82}, //7720 #HANGUL SYLLABLE CHIEUCH YO RIEULMIEUM
+  {0xAD63, 0xCD83}, //7721 #HANGUL SYLLABLE CHIEUCH YO RIEULPIEUP
+  {0xAD64, 0xCD84}, //7722 #HANGUL SYLLABLE CHIEUCH YO RIEULSIOS
+  {0xAD65, 0xCD85}, //7723 #HANGUL SYLLABLE CHIEUCH YO RIEULTHIEUTH
+  {0xAD66, 0xCD86}, //7724 #HANGUL SYLLABLE CHIEUCH YO RIEULPHIEUPH
+  {0xAD67, 0xCD87}, //7725 #HANGUL SYLLABLE CHIEUCH YO RIEULHIEUH
+  {0xAD68, 0xCD89}, //7726 #HANGUL SYLLABLE CHIEUCH YO PIEUP
+  {0xAD69, 0xCD8A}, //7727 #HANGUL SYLLABLE CHIEUCH YO PIEUPSIOS
+  {0xAD6A, 0xCD8B}, //7728 #HANGUL SYLLABLE CHIEUCH YO SIOS
+  {0xAD6B, 0xCD8C}, //7729 #HANGUL SYLLABLE CHIEUCH YO SSANGSIOS
+  {0xAD6C, 0xCD8D}, //7730 #HANGUL SYLLABLE CHIEUCH YO IEUNG
+  {0xAD6D, 0xCD8E}, //7731 #HANGUL SYLLABLE CHIEUCH YO CIEUC
+  {0xAD6E, 0xCD8F}, //7732 #HANGUL SYLLABLE CHIEUCH YO CHIEUCH
+  {0xAD6F, 0xCD90}, //7733 #HANGUL SYLLABLE CHIEUCH YO KHIEUKH
+  {0xAD70, 0xCD91}, //7734 #HANGUL SYLLABLE CHIEUCH YO THIEUTH
+  {0xAD71, 0xCD92}, //7735 #HANGUL SYLLABLE CHIEUCH YO PHIEUPH
+  {0xAD72, 0xCD93}, //7736 #HANGUL SYLLABLE CHIEUCH YO HIEUH
+  {0xAD73, 0xCD96}, //7737 #HANGUL SYLLABLE CHIEUCH U SSANGKIYEOK
+  {0xAD74, 0xCD97}, //7738 #HANGUL SYLLABLE CHIEUCH U KIYEOKSIOS
+  {0xAD75, 0xCD99}, //7739 #HANGUL SYLLABLE CHIEUCH U NIEUNCIEUC
+  {0xAD76, 0xCD9A}, //7740 #HANGUL SYLLABLE CHIEUCH U NIEUNHIEUH
+  {0xAD77, 0xCD9B}, //7741 #HANGUL SYLLABLE CHIEUCH U TIKEUT
+  {0xAD78, 0xCD9D}, //7742 #HANGUL SYLLABLE CHIEUCH U RIEULKIYEOK
+  {0xAD79, 0xCD9E}, //7743 #HANGUL SYLLABLE CHIEUCH U RIEULMIEUM
+  {0xAD7A, 0xCD9F}, //7744 #HANGUL SYLLABLE CHIEUCH U RIEULPIEUP
+  {0xAD81, 0xCDA0}, //7745 #HANGUL SYLLABLE CHIEUCH U RIEULSIOS
+  {0xAD82, 0xCDA1}, //7746 #HANGUL SYLLABLE CHIEUCH U RIEULTHIEUTH
+  {0xAD83, 0xCDA2}, //7747 #HANGUL SYLLABLE CHIEUCH U RIEULPHIEUPH
+  {0xAD84, 0xCDA3}, //7748 #HANGUL SYLLABLE CHIEUCH U RIEULHIEUH
+  {0xAD85, 0xCDA6}, //7749 #HANGUL SYLLABLE CHIEUCH U PIEUPSIOS
+  {0xAD86, 0xCDA8}, //7750 #HANGUL SYLLABLE CHIEUCH U SSANGSIOS
+  {0xAD87, 0xCDAA}, //7751 #HANGUL SYLLABLE CHIEUCH U CIEUC
+  {0xAD88, 0xCDAB}, //7752 #HANGUL SYLLABLE CHIEUCH U CHIEUCH
+  {0xAD89, 0xCDAC}, //7753 #HANGUL SYLLABLE CHIEUCH U KHIEUKH
+  {0xAD8A, 0xCDAD}, //7754 #HANGUL SYLLABLE CHIEUCH U THIEUTH
+  {0xAD8B, 0xCDAE}, //7755 #HANGUL SYLLABLE CHIEUCH U PHIEUPH
+  {0xAD8C, 0xCDAF}, //7756 #HANGUL SYLLABLE CHIEUCH U HIEUH
+  {0xAD8D, 0xCDB1}, //7757 #HANGUL SYLLABLE CHIEUCH WEO KIYEOK
+  {0xAD8E, 0xCDB2}, //7758 #HANGUL SYLLABLE CHIEUCH WEO SSANGKIYEOK
+  {0xAD8F, 0xCDB3}, //7759 #HANGUL SYLLABLE CHIEUCH WEO KIYEOKSIOS
+  {0xAD90, 0xCDB4}, //7760 #HANGUL SYLLABLE CHIEUCH WEO NIEUN
+  {0xAD91, 0xCDB5}, //7761 #HANGUL SYLLABLE CHIEUCH WEO NIEUNCIEUC
+  {0xAD92, 0xCDB6}, //7762 #HANGUL SYLLABLE CHIEUCH WEO NIEUNHIEUH
+  {0xAD93, 0xCDB7}, //7763 #HANGUL SYLLABLE CHIEUCH WEO TIKEUT
+  {0xAD94, 0xCDB8}, //7764 #HANGUL SYLLABLE CHIEUCH WEO RIEUL
+  {0xAD95, 0xCDB9}, //7765 #HANGUL SYLLABLE CHIEUCH WEO RIEULKIYEOK
+  {0xAD96, 0xCDBA}, //7766 #HANGUL SYLLABLE CHIEUCH WEO RIEULMIEUM
+  {0xAD97, 0xCDBB}, //7767 #HANGUL SYLLABLE CHIEUCH WEO RIEULPIEUP
+  {0xAD98, 0xCDBC}, //7768 #HANGUL SYLLABLE CHIEUCH WEO RIEULSIOS
+  {0xAD99, 0xCDBD}, //7769 #HANGUL SYLLABLE CHIEUCH WEO RIEULTHIEUTH
+  {0xAD9A, 0xCDBE}, //7770 #HANGUL SYLLABLE CHIEUCH WEO RIEULPHIEUPH
+  {0xAD9B, 0xCDBF}, //7771 #HANGUL SYLLABLE CHIEUCH WEO RIEULHIEUH
+  {0xAD9C, 0xCDC0}, //7772 #HANGUL SYLLABLE CHIEUCH WEO MIEUM
+  {0xAD9D, 0xCDC1}, //7773 #HANGUL SYLLABLE CHIEUCH WEO PIEUP
+  {0xAD9E, 0xCDC2}, //7774 #HANGUL SYLLABLE CHIEUCH WEO PIEUPSIOS
+  {0xAD9F, 0xCDC3}, //7775 #HANGUL SYLLABLE CHIEUCH WEO SIOS
+  {0xADA0, 0xCDC5}, //7776 #HANGUL SYLLABLE CHIEUCH WEO IEUNG
+  {0xAE41, 0xCDC6}, //7777 #HANGUL SYLLABLE CHIEUCH WEO CIEUC
+  {0xAE42, 0xCDC7}, //7778 #HANGUL SYLLABLE CHIEUCH WEO CHIEUCH
+  {0xAE43, 0xCDC8}, //7779 #HANGUL SYLLABLE CHIEUCH WEO KHIEUKH
+  {0xAE44, 0xCDC9}, //7780 #HANGUL SYLLABLE CHIEUCH WEO THIEUTH
+  {0xAE45, 0xCDCA}, //7781 #HANGUL SYLLABLE CHIEUCH WEO PHIEUPH
+  {0xAE46, 0xCDCB}, //7782 #HANGUL SYLLABLE CHIEUCH WEO HIEUH
+  {0xAE47, 0xCDCD}, //7783 #HANGUL SYLLABLE CHIEUCH WE KIYEOK
+  {0xAE48, 0xCDCE}, //7784 #HANGUL SYLLABLE CHIEUCH WE SSANGKIYEOK
+  {0xAE49, 0xCDCF}, //7785 #HANGUL SYLLABLE CHIEUCH WE KIYEOKSIOS
+  {0xAE4A, 0xCDD1}, //7786 #HANGUL SYLLABLE CHIEUCH WE NIEUNCIEUC
+  {0xAE4B, 0xCDD2}, //7787 #HANGUL SYLLABLE CHIEUCH WE NIEUNHIEUH
+  {0xAE4C, 0xCDD3}, //7788 #HANGUL SYLLABLE CHIEUCH WE TIKEUT
+  {0xAE4D, 0xCDD4}, //7789 #HANGUL SYLLABLE CHIEUCH WE RIEUL
+  {0xAE4E, 0xCDD5}, //7790 #HANGUL SYLLABLE CHIEUCH WE RIEULKIYEOK
+  {0xAE4F, 0xCDD6}, //7791 #HANGUL SYLLABLE CHIEUCH WE RIEULMIEUM
+  {0xAE50, 0xCDD7}, //7792 #HANGUL SYLLABLE CHIEUCH WE RIEULPIEUP
+  {0xAE51, 0xCDD8}, //7793 #HANGUL SYLLABLE CHIEUCH WE RIEULSIOS
+  {0xAE52, 0xCDD9}, //7794 #HANGUL SYLLABLE CHIEUCH WE RIEULTHIEUTH
+  {0xAE53, 0xCDDA}, //7795 #HANGUL SYLLABLE CHIEUCH WE RIEULPHIEUPH
+  {0xAE54, 0xCDDB}, //7796 #HANGUL SYLLABLE CHIEUCH WE RIEULHIEUH
+  {0xAE55, 0xCDDC}, //7797 #HANGUL SYLLABLE CHIEUCH WE MIEUM
+  {0xAE56, 0xCDDD}, //7798 #HANGUL SYLLABLE CHIEUCH WE PIEUP
+  {0xAE57, 0xCDDE}, //7799 #HANGUL SYLLABLE CHIEUCH WE PIEUPSIOS
+  {0xAE58, 0xCDDF}, //7800 #HANGUL SYLLABLE CHIEUCH WE SIOS
+  {0xAE59, 0xCDE0}, //7801 #HANGUL SYLLABLE CHIEUCH WE SSANGSIOS
+  {0xAE5A, 0xCDE1}, //7802 #HANGUL SYLLABLE CHIEUCH WE IEUNG
+  {0xAE61, 0xCDE2}, //7803 #HANGUL SYLLABLE CHIEUCH WE CIEUC
+  {0xAE62, 0xCDE3}, //7804 #HANGUL SYLLABLE CHIEUCH WE CHIEUCH
+  {0xAE63, 0xCDE4}, //7805 #HANGUL SYLLABLE CHIEUCH WE KHIEUKH
+  {0xAE64, 0xCDE5}, //7806 #HANGUL SYLLABLE CHIEUCH WE THIEUTH
+  {0xAE65, 0xCDE6}, //7807 #HANGUL SYLLABLE CHIEUCH WE PHIEUPH
+  {0xAE66, 0xCDE7}, //7808 #HANGUL SYLLABLE CHIEUCH WE HIEUH
+  {0xAE67, 0xCDE9}, //7809 #HANGUL SYLLABLE CHIEUCH WI KIYEOK
+  {0xAE68, 0xCDEA}, //7810 #HANGUL SYLLABLE CHIEUCH WI SSANGKIYEOK
+  {0xAE69, 0xCDEB}, //7811 #HANGUL SYLLABLE CHIEUCH WI KIYEOKSIOS
+  {0xAE6A, 0xCDED}, //7812 #HANGUL SYLLABLE CHIEUCH WI NIEUNCIEUC
+  {0xAE6B, 0xCDEE}, //7813 #HANGUL SYLLABLE CHIEUCH WI NIEUNHIEUH
+  {0xAE6C, 0xCDEF}, //7814 #HANGUL SYLLABLE CHIEUCH WI TIKEUT
+  {0xAE6D, 0xCDF1}, //7815 #HANGUL SYLLABLE CHIEUCH WI RIEULKIYEOK
+  {0xAE6E, 0xCDF2}, //7816 #HANGUL SYLLABLE CHIEUCH WI RIEULMIEUM
+  {0xAE6F, 0xCDF3}, //7817 #HANGUL SYLLABLE CHIEUCH WI RIEULPIEUP
+  {0xAE70, 0xCDF4}, //7818 #HANGUL SYLLABLE CHIEUCH WI RIEULSIOS
+  {0xAE71, 0xCDF5}, //7819 #HANGUL SYLLABLE CHIEUCH WI RIEULTHIEUTH
+  {0xAE72, 0xCDF6}, //7820 #HANGUL SYLLABLE CHIEUCH WI RIEULPHIEUPH
+  {0xAE73, 0xCDF7}, //7821 #HANGUL SYLLABLE CHIEUCH WI RIEULHIEUH
+  {0xAE74, 0xCDFA}, //7822 #HANGUL SYLLABLE CHIEUCH WI PIEUPSIOS
+  {0xAE75, 0xCDFC}, //7823 #HANGUL SYLLABLE CHIEUCH WI SSANGSIOS
+  {0xAE76, 0xCDFE}, //7824 #HANGUL SYLLABLE CHIEUCH WI CIEUC
+  {0xAE77, 0xCDFF}, //7825 #HANGUL SYLLABLE CHIEUCH WI CHIEUCH
+  {0xAE78, 0xCE00}, //7826 #HANGUL SYLLABLE CHIEUCH WI KHIEUKH
+  {0xAE79, 0xCE01}, //7827 #HANGUL SYLLABLE CHIEUCH WI THIEUTH
+  {0xAE7A, 0xCE02}, //7828 #HANGUL SYLLABLE CHIEUCH WI PHIEUPH
+  {0xAE81, 0xCE03}, //7829 #HANGUL SYLLABLE CHIEUCH WI HIEUH
+  {0xAE82, 0xCE05}, //7830 #HANGUL SYLLABLE CHIEUCH YU KIYEOK
+  {0xAE83, 0xCE06}, //7831 #HANGUL SYLLABLE CHIEUCH YU SSANGKIYEOK
+  {0xAE84, 0xCE07}, //7832 #HANGUL SYLLABLE CHIEUCH YU KIYEOKSIOS
+  {0xAE85, 0xCE09}, //7833 #HANGUL SYLLABLE CHIEUCH YU NIEUNCIEUC
+  {0xAE86, 0xCE0A}, //7834 #HANGUL SYLLABLE CHIEUCH YU NIEUNHIEUH
+  {0xAE87, 0xCE0B}, //7835 #HANGUL SYLLABLE CHIEUCH YU TIKEUT
+  {0xAE88, 0xCE0D}, //7836 #HANGUL SYLLABLE CHIEUCH YU RIEULKIYEOK
+  {0xAE89, 0xCE0E}, //7837 #HANGUL SYLLABLE CHIEUCH YU RIEULMIEUM
+  {0xAE8A, 0xCE0F}, //7838 #HANGUL SYLLABLE CHIEUCH YU RIEULPIEUP
+  {0xAE8B, 0xCE10}, //7839 #HANGUL SYLLABLE CHIEUCH YU RIEULSIOS
+  {0xAE8C, 0xCE11}, //7840 #HANGUL SYLLABLE CHIEUCH YU RIEULTHIEUTH
+  {0xAE8D, 0xCE12}, //7841 #HANGUL SYLLABLE CHIEUCH YU RIEULPHIEUPH
+  {0xAE8E, 0xCE13}, //7842 #HANGUL SYLLABLE CHIEUCH YU RIEULHIEUH
+  {0xAE8F, 0xCE15}, //7843 #HANGUL SYLLABLE CHIEUCH YU PIEUP
+  {0xAE90, 0xCE16}, //7844 #HANGUL SYLLABLE CHIEUCH YU PIEUPSIOS
+  {0xAE91, 0xCE17}, //7845 #HANGUL SYLLABLE CHIEUCH YU SIOS
+  {0xAE92, 0xCE18}, //7846 #HANGUL SYLLABLE CHIEUCH YU SSANGSIOS
+  {0xAE93, 0xCE1A}, //7847 #HANGUL SYLLABLE CHIEUCH YU CIEUC
+  {0xAE94, 0xCE1B}, //7848 #HANGUL SYLLABLE CHIEUCH YU CHIEUCH
+  {0xAE95, 0xCE1C}, //7849 #HANGUL SYLLABLE CHIEUCH YU KHIEUKH
+  {0xAE96, 0xCE1D}, //7850 #HANGUL SYLLABLE CHIEUCH YU THIEUTH
+  {0xAE97, 0xCE1E}, //7851 #HANGUL SYLLABLE CHIEUCH YU PHIEUPH
+  {0xAE98, 0xCE1F}, //7852 #HANGUL SYLLABLE CHIEUCH YU HIEUH
+  {0xAE99, 0xCE22}, //7853 #HANGUL SYLLABLE CHIEUCH EU SSANGKIYEOK
+  {0xAE9A, 0xCE23}, //7854 #HANGUL SYLLABLE CHIEUCH EU KIYEOKSIOS
+  {0xAE9B, 0xCE25}, //7855 #HANGUL SYLLABLE CHIEUCH EU NIEUNCIEUC
+  {0xAE9C, 0xCE26}, //7856 #HANGUL SYLLABLE CHIEUCH EU NIEUNHIEUH
+  {0xAE9D, 0xCE27}, //7857 #HANGUL SYLLABLE CHIEUCH EU TIKEUT
+  {0xAE9E, 0xCE29}, //7858 #HANGUL SYLLABLE CHIEUCH EU RIEULKIYEOK
+  {0xAE9F, 0xCE2A}, //7859 #HANGUL SYLLABLE CHIEUCH EU RIEULMIEUM
+  {0xAEA0, 0xCE2B}, //7860 #HANGUL SYLLABLE CHIEUCH EU RIEULPIEUP
+  {0xAF41, 0xCE2C}, //7861 #HANGUL SYLLABLE CHIEUCH EU RIEULSIOS
+  {0xAF42, 0xCE2D}, //7862 #HANGUL SYLLABLE CHIEUCH EU RIEULTHIEUTH
+  {0xAF43, 0xCE2E}, //7863 #HANGUL SYLLABLE CHIEUCH EU RIEULPHIEUPH
+  {0xAF44, 0xCE2F}, //7864 #HANGUL SYLLABLE CHIEUCH EU RIEULHIEUH
+  {0xAF45, 0xCE32}, //7865 #HANGUL SYLLABLE CHIEUCH EU PIEUPSIOS
+  {0xAF46, 0xCE34}, //7866 #HANGUL SYLLABLE CHIEUCH EU SSANGSIOS
+  {0xAF47, 0xCE36}, //7867 #HANGUL SYLLABLE CHIEUCH EU CIEUC
+  {0xAF48, 0xCE37}, //7868 #HANGUL SYLLABLE CHIEUCH EU CHIEUCH
+  {0xAF49, 0xCE38}, //7869 #HANGUL SYLLABLE CHIEUCH EU KHIEUKH
+  {0xAF4A, 0xCE39}, //7870 #HANGUL SYLLABLE CHIEUCH EU THIEUTH
+  {0xAF4B, 0xCE3A}, //7871 #HANGUL SYLLABLE CHIEUCH EU PHIEUPH
+  {0xAF4C, 0xCE3B}, //7872 #HANGUL SYLLABLE CHIEUCH EU HIEUH
+  {0xAF4D, 0xCE3C}, //7873 #HANGUL SYLLABLE CHIEUCH YI
+  {0xAF4E, 0xCE3D}, //7874 #HANGUL SYLLABLE CHIEUCH YI KIYEOK
+  {0xAF4F, 0xCE3E}, //7875 #HANGUL SYLLABLE CHIEUCH YI SSANGKIYEOK
+  {0xAF50, 0xCE3F}, //7876 #HANGUL SYLLABLE CHIEUCH YI KIYEOKSIOS
+  {0xAF51, 0xCE40}, //7877 #HANGUL SYLLABLE CHIEUCH YI NIEUN
+  {0xAF52, 0xCE41}, //7878 #HANGUL SYLLABLE CHIEUCH YI NIEUNCIEUC
+  {0xAF53, 0xCE42}, //7879 #HANGUL SYLLABLE CHIEUCH YI NIEUNHIEUH
+  {0xAF54, 0xCE43}, //7880 #HANGUL SYLLABLE CHIEUCH YI TIKEUT
+  {0xAF55, 0xCE44}, //7881 #HANGUL SYLLABLE CHIEUCH YI RIEUL
+  {0xAF56, 0xCE45}, //7882 #HANGUL SYLLABLE CHIEUCH YI RIEULKIYEOK
+  {0xAF57, 0xCE46}, //7883 #HANGUL SYLLABLE CHIEUCH YI RIEULMIEUM
+  {0xAF58, 0xCE47}, //7884 #HANGUL SYLLABLE CHIEUCH YI RIEULPIEUP
+  {0xAF59, 0xCE48}, //7885 #HANGUL SYLLABLE CHIEUCH YI RIEULSIOS
+  {0xAF5A, 0xCE49}, //7886 #HANGUL SYLLABLE CHIEUCH YI RIEULTHIEUTH
+  {0xAF61, 0xCE4A}, //7887 #HANGUL SYLLABLE CHIEUCH YI RIEULPHIEUPH
+  {0xAF62, 0xCE4B}, //7888 #HANGUL SYLLABLE CHIEUCH YI RIEULHIEUH
+  {0xAF63, 0xCE4C}, //7889 #HANGUL SYLLABLE CHIEUCH YI MIEUM
+  {0xAF64, 0xCE4D}, //7890 #HANGUL SYLLABLE CHIEUCH YI PIEUP
+  {0xAF65, 0xCE4E}, //7891 #HANGUL SYLLABLE CHIEUCH YI PIEUPSIOS
+  {0xAF66, 0xCE4F}, //7892 #HANGUL SYLLABLE CHIEUCH YI SIOS
+  {0xAF67, 0xCE50}, //7893 #HANGUL SYLLABLE CHIEUCH YI SSANGSIOS
+  {0xAF68, 0xCE51}, //7894 #HANGUL SYLLABLE CHIEUCH YI IEUNG
+  {0xAF69, 0xCE52}, //7895 #HANGUL SYLLABLE CHIEUCH YI CIEUC
+  {0xAF6A, 0xCE53}, //7896 #HANGUL SYLLABLE CHIEUCH YI CHIEUCH
+  {0xAF6B, 0xCE54}, //7897 #HANGUL SYLLABLE CHIEUCH YI KHIEUKH
+  {0xAF6C, 0xCE55}, //7898 #HANGUL SYLLABLE CHIEUCH YI THIEUTH
+  {0xAF6D, 0xCE56}, //7899 #HANGUL SYLLABLE CHIEUCH YI PHIEUPH
+  {0xAF6E, 0xCE57}, //7900 #HANGUL SYLLABLE CHIEUCH YI HIEUH
+  {0xAF6F, 0xCE5A}, //7901 #HANGUL SYLLABLE CHIEUCH I SSANGKIYEOK
+  {0xAF70, 0xCE5B}, //7902 #HANGUL SYLLABLE CHIEUCH I KIYEOKSIOS
+  {0xAF71, 0xCE5D}, //7903 #HANGUL SYLLABLE CHIEUCH I NIEUNCIEUC
+  {0xAF72, 0xCE5E}, //7904 #HANGUL SYLLABLE CHIEUCH I NIEUNHIEUH
+  {0xAF73, 0xCE62}, //7905 #HANGUL SYLLABLE CHIEUCH I RIEULMIEUM
+  {0xAF74, 0xCE63}, //7906 #HANGUL SYLLABLE CHIEUCH I RIEULPIEUP
+  {0xAF75, 0xCE64}, //7907 #HANGUL SYLLABLE CHIEUCH I RIEULSIOS
+  {0xAF76, 0xCE65}, //7908 #HANGUL SYLLABLE CHIEUCH I RIEULTHIEUTH
+  {0xAF77, 0xCE66}, //7909 #HANGUL SYLLABLE CHIEUCH I RIEULPHIEUPH
+  {0xAF78, 0xCE67}, //7910 #HANGUL SYLLABLE CHIEUCH I RIEULHIEUH
+  {0xAF79, 0xCE6A}, //7911 #HANGUL SYLLABLE CHIEUCH I PIEUPSIOS
+  {0xAF7A, 0xCE6C}, //7912 #HANGUL SYLLABLE CHIEUCH I SSANGSIOS
+  {0xAF81, 0xCE6E}, //7913 #HANGUL SYLLABLE CHIEUCH I CIEUC
+  {0xAF82, 0xCE6F}, //7914 #HANGUL SYLLABLE CHIEUCH I CHIEUCH
+  {0xAF83, 0xCE70}, //7915 #HANGUL SYLLABLE CHIEUCH I KHIEUKH
+  {0xAF84, 0xCE71}, //7916 #HANGUL SYLLABLE CHIEUCH I THIEUTH
+  {0xAF85, 0xCE72}, //7917 #HANGUL SYLLABLE CHIEUCH I PHIEUPH
+  {0xAF86, 0xCE73}, //7918 #HANGUL SYLLABLE CHIEUCH I HIEUH
+  {0xAF87, 0xCE76}, //7919 #HANGUL SYLLABLE KHIEUKH A SSANGKIYEOK
+  {0xAF88, 0xCE77}, //7920 #HANGUL SYLLABLE KHIEUKH A KIYEOKSIOS
+  {0xAF89, 0xCE79}, //7921 #HANGUL SYLLABLE KHIEUKH A NIEUNCIEUC
+  {0xAF8A, 0xCE7A}, //7922 #HANGUL SYLLABLE KHIEUKH A NIEUNHIEUH
+  {0xAF8B, 0xCE7B}, //7923 #HANGUL SYLLABLE KHIEUKH A TIKEUT
+  {0xAF8C, 0xCE7D}, //7924 #HANGUL SYLLABLE KHIEUKH A RIEULKIYEOK
+  {0xAF8D, 0xCE7E}, //7925 #HANGUL SYLLABLE KHIEUKH A RIEULMIEUM
+  {0xAF8E, 0xCE7F}, //7926 #HANGUL SYLLABLE KHIEUKH A RIEULPIEUP
+  {0xAF8F, 0xCE80}, //7927 #HANGUL SYLLABLE KHIEUKH A RIEULSIOS
+  {0xAF90, 0xCE81}, //7928 #HANGUL SYLLABLE KHIEUKH A RIEULTHIEUTH
+  {0xAF91, 0xCE82}, //7929 #HANGUL SYLLABLE KHIEUKH A RIEULPHIEUPH
+  {0xAF92, 0xCE83}, //7930 #HANGUL SYLLABLE KHIEUKH A RIEULHIEUH
+  {0xAF93, 0xCE86}, //7931 #HANGUL SYLLABLE KHIEUKH A PIEUPSIOS
+  {0xAF94, 0xCE88}, //7932 #HANGUL SYLLABLE KHIEUKH A SSANGSIOS
+  {0xAF95, 0xCE8A}, //7933 #HANGUL SYLLABLE KHIEUKH A CIEUC
+  {0xAF96, 0xCE8B}, //7934 #HANGUL SYLLABLE KHIEUKH A CHIEUCH
+  {0xAF97, 0xCE8C}, //7935 #HANGUL SYLLABLE KHIEUKH A KHIEUKH
+  {0xAF98, 0xCE8D}, //7936 #HANGUL SYLLABLE KHIEUKH A THIEUTH
+  {0xAF99, 0xCE8E}, //7937 #HANGUL SYLLABLE KHIEUKH A PHIEUPH
+  {0xAF9A, 0xCE8F}, //7938 #HANGUL SYLLABLE KHIEUKH A HIEUH
+  {0xAF9B, 0xCE92}, //7939 #HANGUL SYLLABLE KHIEUKH AE SSANGKIYEOK
+  {0xAF9C, 0xCE93}, //7940 #HANGUL SYLLABLE KHIEUKH AE KIYEOKSIOS
+  {0xAF9D, 0xCE95}, //7941 #HANGUL SYLLABLE KHIEUKH AE NIEUNCIEUC
+  {0xAF9E, 0xCE96}, //7942 #HANGUL SYLLABLE KHIEUKH AE NIEUNHIEUH
+  {0xAF9F, 0xCE97}, //7943 #HANGUL SYLLABLE KHIEUKH AE TIKEUT
+  {0xAFA0, 0xCE99}, //7944 #HANGUL SYLLABLE KHIEUKH AE RIEULKIYEOK
+  {0xB041, 0xCE9A}, //7945 #HANGUL SYLLABLE KHIEUKH AE RIEULMIEUM
+  {0xB042, 0xCE9B}, //7946 #HANGUL SYLLABLE KHIEUKH AE RIEULPIEUP
+  {0xB043, 0xCE9C}, //7947 #HANGUL SYLLABLE KHIEUKH AE RIEULSIOS
+  {0xB044, 0xCE9D}, //7948 #HANGUL SYLLABLE KHIEUKH AE RIEULTHIEUTH
+  {0xB045, 0xCE9E}, //7949 #HANGUL SYLLABLE KHIEUKH AE RIEULPHIEUPH
+  {0xB046, 0xCE9F}, //7950 #HANGUL SYLLABLE KHIEUKH AE RIEULHIEUH
+  {0xB047, 0xCEA2}, //7951 #HANGUL SYLLABLE KHIEUKH AE PIEUPSIOS
+  {0xB048, 0xCEA6}, //7952 #HANGUL SYLLABLE KHIEUKH AE CIEUC
+  {0xB049, 0xCEA7}, //7953 #HANGUL SYLLABLE KHIEUKH AE CHIEUCH
+  {0xB04A, 0xCEA8}, //7954 #HANGUL SYLLABLE KHIEUKH AE KHIEUKH
+  {0xB04B, 0xCEA9}, //7955 #HANGUL SYLLABLE KHIEUKH AE THIEUTH
+  {0xB04C, 0xCEAA}, //7956 #HANGUL SYLLABLE KHIEUKH AE PHIEUPH
+  {0xB04D, 0xCEAB}, //7957 #HANGUL SYLLABLE KHIEUKH AE HIEUH
+  {0xB04E, 0xCEAE}, //7958 #HANGUL SYLLABLE KHIEUKH YA SSANGKIYEOK
+  {0xB04F, 0xCEAF}, //7959 #HANGUL SYLLABLE KHIEUKH YA KIYEOKSIOS
+  {0xB050, 0xCEB0}, //7960 #HANGUL SYLLABLE KHIEUKH YA NIEUN
+  {0xB051, 0xCEB1}, //7961 #HANGUL SYLLABLE KHIEUKH YA NIEUNCIEUC
+  {0xB052, 0xCEB2}, //7962 #HANGUL SYLLABLE KHIEUKH YA NIEUNHIEUH
+  {0xB053, 0xCEB3}, //7963 #HANGUL SYLLABLE KHIEUKH YA TIKEUT
+  {0xB054, 0xCEB4}, //7964 #HANGUL SYLLABLE KHIEUKH YA RIEUL
+  {0xB055, 0xCEB5}, //7965 #HANGUL SYLLABLE KHIEUKH YA RIEULKIYEOK
+  {0xB056, 0xCEB6}, //7966 #HANGUL SYLLABLE KHIEUKH YA RIEULMIEUM
+  {0xB057, 0xCEB7}, //7967 #HANGUL SYLLABLE KHIEUKH YA RIEULPIEUP
+  {0xB058, 0xCEB8}, //7968 #HANGUL SYLLABLE KHIEUKH YA RIEULSIOS
+  {0xB059, 0xCEB9}, //7969 #HANGUL SYLLABLE KHIEUKH YA RIEULTHIEUTH
+  {0xB05A, 0xCEBA}, //7970 #HANGUL SYLLABLE KHIEUKH YA RIEULPHIEUPH
+  {0xB061, 0xCEBB}, //7971 #HANGUL SYLLABLE KHIEUKH YA RIEULHIEUH
+  {0xB062, 0xCEBC}, //7972 #HANGUL SYLLABLE KHIEUKH YA MIEUM
+  {0xB063, 0xCEBD}, //7973 #HANGUL SYLLABLE KHIEUKH YA PIEUP
+  {0xB064, 0xCEBE}, //7974 #HANGUL SYLLABLE KHIEUKH YA PIEUPSIOS
+  {0xB065, 0xCEBF}, //7975 #HANGUL SYLLABLE KHIEUKH YA SIOS
+  {0xB066, 0xCEC0}, //7976 #HANGUL SYLLABLE KHIEUKH YA SSANGSIOS
+  {0xB067, 0xCEC2}, //7977 #HANGUL SYLLABLE KHIEUKH YA CIEUC
+  {0xB068, 0xCEC3}, //7978 #HANGUL SYLLABLE KHIEUKH YA CHIEUCH
+  {0xB069, 0xCEC4}, //7979 #HANGUL SYLLABLE KHIEUKH YA KHIEUKH
+  {0xB06A, 0xCEC5}, //7980 #HANGUL SYLLABLE KHIEUKH YA THIEUTH
+  {0xB06B, 0xCEC6}, //7981 #HANGUL SYLLABLE KHIEUKH YA PHIEUPH
+  {0xB06C, 0xCEC7}, //7982 #HANGUL SYLLABLE KHIEUKH YA HIEUH
+  {0xB06D, 0xCEC8}, //7983 #HANGUL SYLLABLE KHIEUKH YAE
+  {0xB06E, 0xCEC9}, //7984 #HANGUL SYLLABLE KHIEUKH YAE KIYEOK
+  {0xB06F, 0xCECA}, //7985 #HANGUL SYLLABLE KHIEUKH YAE SSANGKIYEOK
+  {0xB070, 0xCECB}, //7986 #HANGUL SYLLABLE KHIEUKH YAE KIYEOKSIOS
+  {0xB071, 0xCECC}, //7987 #HANGUL SYLLABLE KHIEUKH YAE NIEUN
+  {0xB072, 0xCECD}, //7988 #HANGUL SYLLABLE KHIEUKH YAE NIEUNCIEUC
+  {0xB073, 0xCECE}, //7989 #HANGUL SYLLABLE KHIEUKH YAE NIEUNHIEUH
+  {0xB074, 0xCECF}, //7990 #HANGUL SYLLABLE KHIEUKH YAE TIKEUT
+  {0xB075, 0xCED0}, //7991 #HANGUL SYLLABLE KHIEUKH YAE RIEUL
+  {0xB076, 0xCED1}, //7992 #HANGUL SYLLABLE KHIEUKH YAE RIEULKIYEOK
+  {0xB077, 0xCED2}, //7993 #HANGUL SYLLABLE KHIEUKH YAE RIEULMIEUM
+  {0xB078, 0xCED3}, //7994 #HANGUL SYLLABLE KHIEUKH YAE RIEULPIEUP
+  {0xB079, 0xCED4}, //7995 #HANGUL SYLLABLE KHIEUKH YAE RIEULSIOS
+  {0xB07A, 0xCED5}, //7996 #HANGUL SYLLABLE KHIEUKH YAE RIEULTHIEUTH
+  {0xB081, 0xCED6}, //7997 #HANGUL SYLLABLE KHIEUKH YAE RIEULPHIEUPH
+  {0xB082, 0xCED7}, //7998 #HANGUL SYLLABLE KHIEUKH YAE RIEULHIEUH
+  {0xB083, 0xCED8}, //7999 #HANGUL SYLLABLE KHIEUKH YAE MIEUM
+  {0xB084, 0xCED9}, //8000 #HANGUL SYLLABLE KHIEUKH YAE PIEUP
+  {0xB085, 0xCEDA}, //8001 #HANGUL SYLLABLE KHIEUKH YAE PIEUPSIOS
+  {0xB086, 0xCEDB}, //8002 #HANGUL SYLLABLE KHIEUKH YAE SIOS
+  {0xB087, 0xCEDC}, //8003 #HANGUL SYLLABLE KHIEUKH YAE SSANGSIOS
+  {0xB088, 0xCEDD}, //8004 #HANGUL SYLLABLE KHIEUKH YAE IEUNG
+  {0xB089, 0xCEDE}, //8005 #HANGUL SYLLABLE KHIEUKH YAE CIEUC
+  {0xB08A, 0xCEDF}, //8006 #HANGUL SYLLABLE KHIEUKH YAE CHIEUCH
+  {0xB08B, 0xCEE0}, //8007 #HANGUL SYLLABLE KHIEUKH YAE KHIEUKH
+  {0xB08C, 0xCEE1}, //8008 #HANGUL SYLLABLE KHIEUKH YAE THIEUTH
+  {0xB08D, 0xCEE2}, //8009 #HANGUL SYLLABLE KHIEUKH YAE PHIEUPH
+  {0xB08E, 0xCEE3}, //8010 #HANGUL SYLLABLE KHIEUKH YAE HIEUH
+  {0xB08F, 0xCEE6}, //8011 #HANGUL SYLLABLE KHIEUKH EO SSANGKIYEOK
+  {0xB090, 0xCEE7}, //8012 #HANGUL SYLLABLE KHIEUKH EO KIYEOKSIOS
+  {0xB091, 0xCEE9}, //8013 #HANGUL SYLLABLE KHIEUKH EO NIEUNCIEUC
+  {0xB092, 0xCEEA}, //8014 #HANGUL SYLLABLE KHIEUKH EO NIEUNHIEUH
+  {0xB093, 0xCEED}, //8015 #HANGUL SYLLABLE KHIEUKH EO RIEULKIYEOK
+  {0xB094, 0xCEEE}, //8016 #HANGUL SYLLABLE KHIEUKH EO RIEULMIEUM
+  {0xB095, 0xCEEF}, //8017 #HANGUL SYLLABLE KHIEUKH EO RIEULPIEUP
+  {0xB096, 0xCEF0}, //8018 #HANGUL SYLLABLE KHIEUKH EO RIEULSIOS
+  {0xB097, 0xCEF1}, //8019 #HANGUL SYLLABLE KHIEUKH EO RIEULTHIEUTH
+  {0xB098, 0xCEF2}, //8020 #HANGUL SYLLABLE KHIEUKH EO RIEULPHIEUPH
+  {0xB099, 0xCEF3}, //8021 #HANGUL SYLLABLE KHIEUKH EO RIEULHIEUH
+  {0xB09A, 0xCEF6}, //8022 #HANGUL SYLLABLE KHIEUKH EO PIEUPSIOS
+  {0xB09B, 0xCEFA}, //8023 #HANGUL SYLLABLE KHIEUKH EO CIEUC
+  {0xB09C, 0xCEFB}, //8024 #HANGUL SYLLABLE KHIEUKH EO CHIEUCH
+  {0xB09D, 0xCEFC}, //8025 #HANGUL SYLLABLE KHIEUKH EO KHIEUKH
+  {0xB09E, 0xCEFD}, //8026 #HANGUL SYLLABLE KHIEUKH EO THIEUTH
+  {0xB09F, 0xCEFE}, //8027 #HANGUL SYLLABLE KHIEUKH EO PHIEUPH
+  {0xB0A0, 0xCEFF}, //8028 #HANGUL SYLLABLE KHIEUKH EO HIEUH
+  {0xB0A1, 0xAC00}, //8029 #HANGUL SYLLABLE KIYEOK A
+  {0xB0A2, 0xAC01}, //8030 #HANGUL SYLLABLE KIYEOK A KIYEOK
+  {0xB0A3, 0xAC04}, //8031 #HANGUL SYLLABLE KIYEOK A NIEUN
+  {0xB0A4, 0xAC07}, //8032 #HANGUL SYLLABLE KIYEOK A TIKEUT
+  {0xB0A5, 0xAC08}, //8033 #HANGUL SYLLABLE KIYEOK A RIEUL
+  {0xB0A6, 0xAC09}, //8034 #HANGUL SYLLABLE KIYEOK A RIEULKIYEOK
+  {0xB0A7, 0xAC0A}, //8035 #HANGUL SYLLABLE KIYEOK A RIEULMIEUM
+  {0xB0A8, 0xAC10}, //8036 #HANGUL SYLLABLE KIYEOK A MIEUM
+  {0xB0A9, 0xAC11}, //8037 #HANGUL SYLLABLE KIYEOK A PIEUP
+  {0xB0AA, 0xAC12}, //8038 #HANGUL SYLLABLE KIYEOK A PIEUPSIOS
+  {0xB0AB, 0xAC13}, //8039 #HANGUL SYLLABLE KIYEOK A SIOS
+  {0xB0AC, 0xAC14}, //8040 #HANGUL SYLLABLE KIYEOK A SSANGSIOS
+  {0xB0AD, 0xAC15}, //8041 #HANGUL SYLLABLE KIYEOK A IEUNG
+  {0xB0AE, 0xAC16}, //8042 #HANGUL SYLLABLE KIYEOK A CIEUC
+  {0xB0AF, 0xAC17}, //8043 #HANGUL SYLLABLE KIYEOK A CHIEUCH
+  {0xB0B0, 0xAC19}, //8044 #HANGUL SYLLABLE KIYEOK A THIEUTH
+  {0xB0B1, 0xAC1A}, //8045 #HANGUL SYLLABLE KIYEOK A PHIEUPH
+  {0xB0B2, 0xAC1B}, //8046 #HANGUL SYLLABLE KIYEOK A HIEUH
+  {0xB0B3, 0xAC1C}, //8047 #HANGUL SYLLABLE KIYEOK AE
+  {0xB0B4, 0xAC1D}, //8048 #HANGUL SYLLABLE KIYEOK AE KIYEOK
+  {0xB0B5, 0xAC20}, //8049 #HANGUL SYLLABLE KIYEOK AE NIEUN
+  {0xB0B6, 0xAC24}, //8050 #HANGUL SYLLABLE KIYEOK AE RIEUL
+  {0xB0B7, 0xAC2C}, //8051 #HANGUL SYLLABLE KIYEOK AE MIEUM
+  {0xB0B8, 0xAC2D}, //8052 #HANGUL SYLLABLE KIYEOK AE PIEUP
+  {0xB0B9, 0xAC2F}, //8053 #HANGUL SYLLABLE KIYEOK AE SIOS
+  {0xB0BA, 0xAC30}, //8054 #HANGUL SYLLABLE KIYEOK AE SSANGSIOS
+  {0xB0BB, 0xAC31}, //8055 #HANGUL SYLLABLE KIYEOK AE IEUNG
+  {0xB0BC, 0xAC38}, //8056 #HANGUL SYLLABLE KIYEOK YA
+  {0xB0BD, 0xAC39}, //8057 #HANGUL SYLLABLE KIYEOK YA KIYEOK
+  {0xB0BE, 0xAC3C}, //8058 #HANGUL SYLLABLE KIYEOK YA NIEUN
+  {0xB0BF, 0xAC40}, //8059 #HANGUL SYLLABLE KIYEOK YA RIEUL
+  {0xB0C0, 0xAC4B}, //8060 #HANGUL SYLLABLE KIYEOK YA SIOS
+  {0xB0C1, 0xAC4D}, //8061 #HANGUL SYLLABLE KIYEOK YA IEUNG
+  {0xB0C2, 0xAC54}, //8062 #HANGUL SYLLABLE KIYEOK YAE
+  {0xB0C3, 0xAC58}, //8063 #HANGUL SYLLABLE KIYEOK YAE NIEUN
+  {0xB0C4, 0xAC5C}, //8064 #HANGUL SYLLABLE KIYEOK YAE RIEUL
+  {0xB0C5, 0xAC70}, //8065 #HANGUL SYLLABLE KIYEOK EO
+  {0xB0C6, 0xAC71}, //8066 #HANGUL SYLLABLE KIYEOK EO KIYEOK
+  {0xB0C7, 0xAC74}, //8067 #HANGUL SYLLABLE KIYEOK EO NIEUN
+  {0xB0C8, 0xAC77}, //8068 #HANGUL SYLLABLE KIYEOK EO TIKEUT
+  {0xB0C9, 0xAC78}, //8069 #HANGUL SYLLABLE KIYEOK EO RIEUL
+  {0xB0CA, 0xAC7A}, //8070 #HANGUL SYLLABLE KIYEOK EO RIEULMIEUM
+  {0xB0CB, 0xAC80}, //8071 #HANGUL SYLLABLE KIYEOK EO MIEUM
+  {0xB0CC, 0xAC81}, //8072 #HANGUL SYLLABLE KIYEOK EO PIEUP
+  {0xB0CD, 0xAC83}, //8073 #HANGUL SYLLABLE KIYEOK EO SIOS
+  {0xB0CE, 0xAC84}, //8074 #HANGUL SYLLABLE KIYEOK EO SSANGSIOS
+  {0xB0CF, 0xAC85}, //8075 #HANGUL SYLLABLE KIYEOK EO IEUNG
+  {0xB0D0, 0xAC86}, //8076 #HANGUL SYLLABLE KIYEOK EO CIEUC
+  {0xB0D1, 0xAC89}, //8077 #HANGUL SYLLABLE KIYEOK EO THIEUTH
+  {0xB0D2, 0xAC8A}, //8078 #HANGUL SYLLABLE KIYEOK EO PHIEUPH
+  {0xB0D3, 0xAC8B}, //8079 #HANGUL SYLLABLE KIYEOK EO HIEUH
+  {0xB0D4, 0xAC8C}, //8080 #HANGUL SYLLABLE KIYEOK E
+  {0xB0D5, 0xAC90}, //8081 #HANGUL SYLLABLE KIYEOK E NIEUN
+  {0xB0D6, 0xAC94}, //8082 #HANGUL SYLLABLE KIYEOK E RIEUL
+  {0xB0D7, 0xAC9C}, //8083 #HANGUL SYLLABLE KIYEOK E MIEUM
+  {0xB0D8, 0xAC9D}, //8084 #HANGUL SYLLABLE KIYEOK E PIEUP
+  {0xB0D9, 0xAC9F}, //8085 #HANGUL SYLLABLE KIYEOK E SIOS
+  {0xB0DA, 0xACA0}, //8086 #HANGUL SYLLABLE KIYEOK E SSANGSIOS
+  {0xB0DB, 0xACA1}, //8087 #HANGUL SYLLABLE KIYEOK E IEUNG
+  {0xB0DC, 0xACA8}, //8088 #HANGUL SYLLABLE KIYEOK YEO
+  {0xB0DD, 0xACA9}, //8089 #HANGUL SYLLABLE KIYEOK YEO KIYEOK
+  {0xB0DE, 0xACAA}, //8090 #HANGUL SYLLABLE KIYEOK YEO SSANGKIYEOK
+  {0xB0DF, 0xACAC}, //8091 #HANGUL SYLLABLE KIYEOK YEO NIEUN
+  {0xB0E0, 0xACAF}, //8092 #HANGUL SYLLABLE KIYEOK YEO TIKEUT
+  {0xB0E1, 0xACB0}, //8093 #HANGUL SYLLABLE KIYEOK YEO RIEUL
+  {0xB0E2, 0xACB8}, //8094 #HANGUL SYLLABLE KIYEOK YEO MIEUM
+  {0xB0E3, 0xACB9}, //8095 #HANGUL SYLLABLE KIYEOK YEO PIEUP
+  {0xB0E4, 0xACBB}, //8096 #HANGUL SYLLABLE KIYEOK YEO SIOS
+  {0xB0E5, 0xACBC}, //8097 #HANGUL SYLLABLE KIYEOK YEO SSANGSIOS
+  {0xB0E6, 0xACBD}, //8098 #HANGUL SYLLABLE KIYEOK YEO IEUNG
+  {0xB0E7, 0xACC1}, //8099 #HANGUL SYLLABLE KIYEOK YEO THIEUTH
+  {0xB0E8, 0xACC4}, //8100 #HANGUL SYLLABLE KIYEOK YE
+  {0xB0E9, 0xACC8}, //8101 #HANGUL SYLLABLE KIYEOK YE NIEUN
+  {0xB0EA, 0xACCC}, //8102 #HANGUL SYLLABLE KIYEOK YE RIEUL
+  {0xB0EB, 0xACD5}, //8103 #HANGUL SYLLABLE KIYEOK YE PIEUP
+  {0xB0EC, 0xACD7}, //8104 #HANGUL SYLLABLE KIYEOK YE SIOS
+  {0xB0ED, 0xACE0}, //8105 #HANGUL SYLLABLE KIYEOK O
+  {0xB0EE, 0xACE1}, //8106 #HANGUL SYLLABLE KIYEOK O KIYEOK
+  {0xB0EF, 0xACE4}, //8107 #HANGUL SYLLABLE KIYEOK O NIEUN
+  {0xB0F0, 0xACE7}, //8108 #HANGUL SYLLABLE KIYEOK O TIKEUT
+  {0xB0F1, 0xACE8}, //8109 #HANGUL SYLLABLE KIYEOK O RIEUL
+  {0xB0F2, 0xACEA}, //8110 #HANGUL SYLLABLE KIYEOK O RIEULMIEUM
+  {0xB0F3, 0xACEC}, //8111 #HANGUL SYLLABLE KIYEOK O RIEULSIOS
+  {0xB0F4, 0xACEF}, //8112 #HANGUL SYLLABLE KIYEOK O RIEULHIEUH
+  {0xB0F5, 0xACF0}, //8113 #HANGUL SYLLABLE KIYEOK O MIEUM
+  {0xB0F6, 0xACF1}, //8114 #HANGUL SYLLABLE KIYEOK O PIEUP
+  {0xB0F7, 0xACF3}, //8115 #HANGUL SYLLABLE KIYEOK O SIOS
+  {0xB0F8, 0xACF5}, //8116 #HANGUL SYLLABLE KIYEOK O IEUNG
+  {0xB0F9, 0xACF6}, //8117 #HANGUL SYLLABLE KIYEOK O CIEUC
+  {0xB0FA, 0xACFC}, //8118 #HANGUL SYLLABLE KIYEOK WA
+  {0xB0FB, 0xACFD}, //8119 #HANGUL SYLLABLE KIYEOK WA KIYEOK
+  {0xB0FC, 0xAD00}, //8120 #HANGUL SYLLABLE KIYEOK WA NIEUN
+  {0xB0FD, 0xAD04}, //8121 #HANGUL SYLLABLE KIYEOK WA RIEUL
+  {0xB0FE, 0xAD06}, //8122 #HANGUL SYLLABLE KIYEOK WA RIEULMIEUM
+  {0xB141, 0xCF02}, //8123 #HANGUL SYLLABLE KHIEUKH E SSANGKIYEOK
+  {0xB142, 0xCF03}, //8124 #HANGUL SYLLABLE KHIEUKH E KIYEOKSIOS
+  {0xB143, 0xCF05}, //8125 #HANGUL SYLLABLE KHIEUKH E NIEUNCIEUC
+  {0xB144, 0xCF06}, //8126 #HANGUL SYLLABLE KHIEUKH E NIEUNHIEUH
+  {0xB145, 0xCF07}, //8127 #HANGUL SYLLABLE KHIEUKH E TIKEUT
+  {0xB146, 0xCF09}, //8128 #HANGUL SYLLABLE KHIEUKH E RIEULKIYEOK
+  {0xB147, 0xCF0A}, //8129 #HANGUL SYLLABLE KHIEUKH E RIEULMIEUM
+  {0xB148, 0xCF0B}, //8130 #HANGUL SYLLABLE KHIEUKH E RIEULPIEUP
+  {0xB149, 0xCF0C}, //8131 #HANGUL SYLLABLE KHIEUKH E RIEULSIOS
+  {0xB14A, 0xCF0D}, //8132 #HANGUL SYLLABLE KHIEUKH E RIEULTHIEUTH
+  {0xB14B, 0xCF0E}, //8133 #HANGUL SYLLABLE KHIEUKH E RIEULPHIEUPH
+  {0xB14C, 0xCF0F}, //8134 #HANGUL SYLLABLE KHIEUKH E RIEULHIEUH
+  {0xB14D, 0xCF12}, //8135 #HANGUL SYLLABLE KHIEUKH E PIEUPSIOS
+  {0xB14E, 0xCF14}, //8136 #HANGUL SYLLABLE KHIEUKH E SSANGSIOS
+  {0xB14F, 0xCF16}, //8137 #HANGUL SYLLABLE KHIEUKH E CIEUC
+  {0xB150, 0xCF17}, //8138 #HANGUL SYLLABLE KHIEUKH E CHIEUCH
+  {0xB151, 0xCF18}, //8139 #HANGUL SYLLABLE KHIEUKH E KHIEUKH
+  {0xB152, 0xCF19}, //8140 #HANGUL SYLLABLE KHIEUKH E THIEUTH
+  {0xB153, 0xCF1A}, //8141 #HANGUL SYLLABLE KHIEUKH E PHIEUPH
+  {0xB154, 0xCF1B}, //8142 #HANGUL SYLLABLE KHIEUKH E HIEUH
+  {0xB155, 0xCF1D}, //8143 #HANGUL SYLLABLE KHIEUKH YEO KIYEOK
+  {0xB156, 0xCF1E}, //8144 #HANGUL SYLLABLE KHIEUKH YEO SSANGKIYEOK
+  {0xB157, 0xCF1F}, //8145 #HANGUL SYLLABLE KHIEUKH YEO KIYEOKSIOS
+  {0xB158, 0xCF21}, //8146 #HANGUL SYLLABLE KHIEUKH YEO NIEUNCIEUC
+  {0xB159, 0xCF22}, //8147 #HANGUL SYLLABLE KHIEUKH YEO NIEUNHIEUH
+  {0xB15A, 0xCF23}, //8148 #HANGUL SYLLABLE KHIEUKH YEO TIKEUT
+  {0xB161, 0xCF25}, //8149 #HANGUL SYLLABLE KHIEUKH YEO RIEULKIYEOK
+  {0xB162, 0xCF26}, //8150 #HANGUL SYLLABLE KHIEUKH YEO RIEULMIEUM
+  {0xB163, 0xCF27}, //8151 #HANGUL SYLLABLE KHIEUKH YEO RIEULPIEUP
+  {0xB164, 0xCF28}, //8152 #HANGUL SYLLABLE KHIEUKH YEO RIEULSIOS
+  {0xB165, 0xCF29}, //8153 #HANGUL SYLLABLE KHIEUKH YEO RIEULTHIEUTH
+  {0xB166, 0xCF2A}, //8154 #HANGUL SYLLABLE KHIEUKH YEO RIEULPHIEUPH
+  {0xB167, 0xCF2B}, //8155 #HANGUL SYLLABLE KHIEUKH YEO RIEULHIEUH
+  {0xB168, 0xCF2E}, //8156 #HANGUL SYLLABLE KHIEUKH YEO PIEUPSIOS
+  {0xB169, 0xCF32}, //8157 #HANGUL SYLLABLE KHIEUKH YEO CIEUC
+  {0xB16A, 0xCF33}, //8158 #HANGUL SYLLABLE KHIEUKH YEO CHIEUCH
+  {0xB16B, 0xCF34}, //8159 #HANGUL SYLLABLE KHIEUKH YEO KHIEUKH
+  {0xB16C, 0xCF35}, //8160 #HANGUL SYLLABLE KHIEUKH YEO THIEUTH
+  {0xB16D, 0xCF36}, //8161 #HANGUL SYLLABLE KHIEUKH YEO PHIEUPH
+  {0xB16E, 0xCF37}, //8162 #HANGUL SYLLABLE KHIEUKH YEO HIEUH
+  {0xB16F, 0xCF39}, //8163 #HANGUL SYLLABLE KHIEUKH YE KIYEOK
+  {0xB170, 0xCF3A}, //8164 #HANGUL SYLLABLE KHIEUKH YE SSANGKIYEOK
+  {0xB171, 0xCF3B}, //8165 #HANGUL SYLLABLE KHIEUKH YE KIYEOKSIOS
+  {0xB172, 0xCF3C}, //8166 #HANGUL SYLLABLE KHIEUKH YE NIEUN
+  {0xB173, 0xCF3D}, //8167 #HANGUL SYLLABLE KHIEUKH YE NIEUNCIEUC
+  {0xB174, 0xCF3E}, //8168 #HANGUL SYLLABLE KHIEUKH YE NIEUNHIEUH
+  {0xB175, 0xCF3F}, //8169 #HANGUL SYLLABLE KHIEUKH YE TIKEUT
+  {0xB176, 0xCF40}, //8170 #HANGUL SYLLABLE KHIEUKH YE RIEUL
+  {0xB177, 0xCF41}, //8171 #HANGUL SYLLABLE KHIEUKH YE RIEULKIYEOK
+  {0xB178, 0xCF42}, //8172 #HANGUL SYLLABLE KHIEUKH YE RIEULMIEUM
+  {0xB179, 0xCF43}, //8173 #HANGUL SYLLABLE KHIEUKH YE RIEULPIEUP
+  {0xB17A, 0xCF44}, //8174 #HANGUL SYLLABLE KHIEUKH YE RIEULSIOS
+  {0xB181, 0xCF45}, //8175 #HANGUL SYLLABLE KHIEUKH YE RIEULTHIEUTH
+  {0xB182, 0xCF46}, //8176 #HANGUL SYLLABLE KHIEUKH YE RIEULPHIEUPH
+  {0xB183, 0xCF47}, //8177 #HANGUL SYLLABLE KHIEUKH YE RIEULHIEUH
+  {0xB184, 0xCF48}, //8178 #HANGUL SYLLABLE KHIEUKH YE MIEUM
+  {0xB185, 0xCF49}, //8179 #HANGUL SYLLABLE KHIEUKH YE PIEUP
+  {0xB186, 0xCF4A}, //8180 #HANGUL SYLLABLE KHIEUKH YE PIEUPSIOS
+  {0xB187, 0xCF4B}, //8181 #HANGUL SYLLABLE KHIEUKH YE SIOS
+  {0xB188, 0xCF4C}, //8182 #HANGUL SYLLABLE KHIEUKH YE SSANGSIOS
+  {0xB189, 0xCF4D}, //8183 #HANGUL SYLLABLE KHIEUKH YE IEUNG
+  {0xB18A, 0xCF4E}, //8184 #HANGUL SYLLABLE KHIEUKH YE CIEUC
+  {0xB18B, 0xCF4F}, //8185 #HANGUL SYLLABLE KHIEUKH YE CHIEUCH
+  {0xB18C, 0xCF50}, //8186 #HANGUL SYLLABLE KHIEUKH YE KHIEUKH
+  {0xB18D, 0xCF51}, //8187 #HANGUL SYLLABLE KHIEUKH YE THIEUTH
+  {0xB18E, 0xCF52}, //8188 #HANGUL SYLLABLE KHIEUKH YE PHIEUPH
+  {0xB18F, 0xCF53}, //8189 #HANGUL SYLLABLE KHIEUKH YE HIEUH
+  {0xB190, 0xCF56}, //8190 #HANGUL SYLLABLE KHIEUKH O SSANGKIYEOK
+  {0xB191, 0xCF57}, //8191 #HANGUL SYLLABLE KHIEUKH O KIYEOKSIOS
+  {0xB192, 0xCF59}, //8192 #HANGUL SYLLABLE KHIEUKH O NIEUNCIEUC
+  {0xB193, 0xCF5A}, //8193 #HANGUL SYLLABLE KHIEUKH O NIEUNHIEUH
+  {0xB194, 0xCF5B}, //8194 #HANGUL SYLLABLE KHIEUKH O TIKEUT
+  {0xB195, 0xCF5D}, //8195 #HANGUL SYLLABLE KHIEUKH O RIEULKIYEOK
+  {0xB196, 0xCF5E}, //8196 #HANGUL SYLLABLE KHIEUKH O RIEULMIEUM
+  {0xB197, 0xCF5F}, //8197 #HANGUL SYLLABLE KHIEUKH O RIEULPIEUP
+  {0xB198, 0xCF60}, //8198 #HANGUL SYLLABLE KHIEUKH O RIEULSIOS
+  {0xB199, 0xCF61}, //8199 #HANGUL SYLLABLE KHIEUKH O RIEULTHIEUTH
+  {0xB19A, 0xCF62}, //8200 #HANGUL SYLLABLE KHIEUKH O RIEULPHIEUPH
+  {0xB19B, 0xCF63}, //8201 #HANGUL SYLLABLE KHIEUKH O RIEULHIEUH
+  {0xB19C, 0xCF66}, //8202 #HANGUL SYLLABLE KHIEUKH O PIEUPSIOS
+  {0xB19D, 0xCF68}, //8203 #HANGUL SYLLABLE KHIEUKH O SSANGSIOS
+  {0xB19E, 0xCF6A}, //8204 #HANGUL SYLLABLE KHIEUKH O CIEUC
+  {0xB19F, 0xCF6B}, //8205 #HANGUL SYLLABLE KHIEUKH O CHIEUCH
+  {0xB1A0, 0xCF6C}, //8206 #HANGUL SYLLABLE KHIEUKH O KHIEUKH
+  {0xB1A1, 0xAD0C}, //8207 #HANGUL SYLLABLE KIYEOK WA MIEUM
+  {0xB1A2, 0xAD0D}, //8208 #HANGUL SYLLABLE KIYEOK WA PIEUP
+  {0xB1A3, 0xAD0F}, //8209 #HANGUL SYLLABLE KIYEOK WA SIOS
+  {0xB1A4, 0xAD11}, //8210 #HANGUL SYLLABLE KIYEOK WA IEUNG
+  {0xB1A5, 0xAD18}, //8211 #HANGUL SYLLABLE KIYEOK WAE
+  {0xB1A6, 0xAD1C}, //8212 #HANGUL SYLLABLE KIYEOK WAE NIEUN
+  {0xB1A7, 0xAD20}, //8213 #HANGUL SYLLABLE KIYEOK WAE RIEUL
+  {0xB1A8, 0xAD29}, //8214 #HANGUL SYLLABLE KIYEOK WAE PIEUP
+  {0xB1A9, 0xAD2C}, //8215 #HANGUL SYLLABLE KIYEOK WAE SSANGSIOS
+  {0xB1AA, 0xAD2D}, //8216 #HANGUL SYLLABLE KIYEOK WAE IEUNG
+  {0xB1AB, 0xAD34}, //8217 #HANGUL SYLLABLE KIYEOK OE
+  {0xB1AC, 0xAD35}, //8218 #HANGUL SYLLABLE KIYEOK OE KIYEOK
+  {0xB1AD, 0xAD38}, //8219 #HANGUL SYLLABLE KIYEOK OE NIEUN
+  {0xB1AE, 0xAD3C}, //8220 #HANGUL SYLLABLE KIYEOK OE RIEUL
+  {0xB1AF, 0xAD44}, //8221 #HANGUL SYLLABLE KIYEOK OE MIEUM
+  {0xB1B0, 0xAD45}, //8222 #HANGUL SYLLABLE KIYEOK OE PIEUP
+  {0xB1B1, 0xAD47}, //8223 #HANGUL SYLLABLE KIYEOK OE SIOS
+  {0xB1B2, 0xAD49}, //8224 #HANGUL SYLLABLE KIYEOK OE IEUNG
+  {0xB1B3, 0xAD50}, //8225 #HANGUL SYLLABLE KIYEOK YO
+  {0xB1B4, 0xAD54}, //8226 #HANGUL SYLLABLE KIYEOK YO NIEUN
+  {0xB1B5, 0xAD58}, //8227 #HANGUL SYLLABLE KIYEOK YO RIEUL
+  {0xB1B6, 0xAD61}, //8228 #HANGUL SYLLABLE KIYEOK YO PIEUP
+  {0xB1B7, 0xAD63}, //8229 #HANGUL SYLLABLE KIYEOK YO SIOS
+  {0xB1B8, 0xAD6C}, //8230 #HANGUL SYLLABLE KIYEOK U
+  {0xB1B9, 0xAD6D}, //8231 #HANGUL SYLLABLE KIYEOK U KIYEOK
+  {0xB1BA, 0xAD70}, //8232 #HANGUL SYLLABLE KIYEOK U NIEUN
+  {0xB1BB, 0xAD73}, //8233 #HANGUL SYLLABLE KIYEOK U TIKEUT
+  {0xB1BC, 0xAD74}, //8234 #HANGUL SYLLABLE KIYEOK U RIEUL
+  {0xB1BD, 0xAD75}, //8235 #HANGUL SYLLABLE KIYEOK U RIEULKIYEOK
+  {0xB1BE, 0xAD76}, //8236 #HANGUL SYLLABLE KIYEOK U RIEULMIEUM
+  {0xB1BF, 0xAD7B}, //8237 #HANGUL SYLLABLE KIYEOK U RIEULHIEUH
+  {0xB1C0, 0xAD7C}, //8238 #HANGUL SYLLABLE KIYEOK U MIEUM
+  {0xB1C1, 0xAD7D}, //8239 #HANGUL SYLLABLE KIYEOK U PIEUP
+  {0xB1C2, 0xAD7F}, //8240 #HANGUL SYLLABLE KIYEOK U SIOS
+  {0xB1C3, 0xAD81}, //8241 #HANGUL SYLLABLE KIYEOK U IEUNG
+  {0xB1C4, 0xAD82}, //8242 #HANGUL SYLLABLE KIYEOK U CIEUC
+  {0xB1C5, 0xAD88}, //8243 #HANGUL SYLLABLE KIYEOK WEO
+  {0xB1C6, 0xAD89}, //8244 #HANGUL SYLLABLE KIYEOK WEO KIYEOK
+  {0xB1C7, 0xAD8C}, //8245 #HANGUL SYLLABLE KIYEOK WEO NIEUN
+  {0xB1C8, 0xAD90}, //8246 #HANGUL SYLLABLE KIYEOK WEO RIEUL
+  {0xB1C9, 0xAD9C}, //8247 #HANGUL SYLLABLE KIYEOK WEO SSANGSIOS
+  {0xB1CA, 0xAD9D}, //8248 #HANGUL SYLLABLE KIYEOK WEO IEUNG
+  {0xB1CB, 0xADA4}, //8249 #HANGUL SYLLABLE KIYEOK WE
+  {0xB1CC, 0xADB7}, //8250 #HANGUL SYLLABLE KIYEOK WE SIOS
+  {0xB1CD, 0xADC0}, //8251 #HANGUL SYLLABLE KIYEOK WI
+  {0xB1CE, 0xADC1}, //8252 #HANGUL SYLLABLE KIYEOK WI KIYEOK
+  {0xB1CF, 0xADC4}, //8253 #HANGUL SYLLABLE KIYEOK WI NIEUN
+  {0xB1D0, 0xADC8}, //8254 #HANGUL SYLLABLE KIYEOK WI RIEUL
+  {0xB1D1, 0xADD0}, //8255 #HANGUL SYLLABLE KIYEOK WI MIEUM
+  {0xB1D2, 0xADD1}, //8256 #HANGUL SYLLABLE KIYEOK WI PIEUP
+  {0xB1D3, 0xADD3}, //8257 #HANGUL SYLLABLE KIYEOK WI SIOS
+  {0xB1D4, 0xADDC}, //8258 #HANGUL SYLLABLE KIYEOK YU
+  {0xB1D5, 0xADE0}, //8259 #HANGUL SYLLABLE KIYEOK YU NIEUN
+  {0xB1D6, 0xADE4}, //8260 #HANGUL SYLLABLE KIYEOK YU RIEUL
+  {0xB1D7, 0xADF8}, //8261 #HANGUL SYLLABLE KIYEOK EU
+  {0xB1D8, 0xADF9}, //8262 #HANGUL SYLLABLE KIYEOK EU KIYEOK
+  {0xB1D9, 0xADFC}, //8263 #HANGUL SYLLABLE KIYEOK EU NIEUN
+  {0xB1DA, 0xADFF}, //8264 #HANGUL SYLLABLE KIYEOK EU TIKEUT
+  {0xB1DB, 0xAE00}, //8265 #HANGUL SYLLABLE KIYEOK EU RIEUL
+  {0xB1DC, 0xAE01}, //8266 #HANGUL SYLLABLE KIYEOK EU RIEULKIYEOK
+  {0xB1DD, 0xAE08}, //8267 #HANGUL SYLLABLE KIYEOK EU MIEUM
+  {0xB1DE, 0xAE09}, //8268 #HANGUL SYLLABLE KIYEOK EU PIEUP
+  {0xB1DF, 0xAE0B}, //8269 #HANGUL SYLLABLE KIYEOK EU SIOS
+  {0xB1E0, 0xAE0D}, //8270 #HANGUL SYLLABLE KIYEOK EU IEUNG
+  {0xB1E1, 0xAE14}, //8271 #HANGUL SYLLABLE KIYEOK YI
+  {0xB1E2, 0xAE30}, //8272 #HANGUL SYLLABLE KIYEOK I
+  {0xB1E3, 0xAE31}, //8273 #HANGUL SYLLABLE KIYEOK I KIYEOK
+  {0xB1E4, 0xAE34}, //8274 #HANGUL SYLLABLE KIYEOK I NIEUN
+  {0xB1E5, 0xAE37}, //8275 #HANGUL SYLLABLE KIYEOK I TIKEUT
+  {0xB1E6, 0xAE38}, //8276 #HANGUL SYLLABLE KIYEOK I RIEUL
+  {0xB1E7, 0xAE3A}, //8277 #HANGUL SYLLABLE KIYEOK I RIEULMIEUM
+  {0xB1E8, 0xAE40}, //8278 #HANGUL SYLLABLE KIYEOK I MIEUM
+  {0xB1E9, 0xAE41}, //8279 #HANGUL SYLLABLE KIYEOK I PIEUP
+  {0xB1EA, 0xAE43}, //8280 #HANGUL SYLLABLE KIYEOK I SIOS
+  {0xB1EB, 0xAE45}, //8281 #HANGUL SYLLABLE KIYEOK I IEUNG
+  {0xB1EC, 0xAE46}, //8282 #HANGUL SYLLABLE KIYEOK I CIEUC
+  {0xB1ED, 0xAE4A}, //8283 #HANGUL SYLLABLE KIYEOK I PHIEUPH
+  {0xB1EE, 0xAE4C}, //8284 #HANGUL SYLLABLE SSANGKIYEOK A
+  {0xB1EF, 0xAE4D}, //8285 #HANGUL SYLLABLE SSANGKIYEOK A KIYEOK
+  {0xB1F0, 0xAE4E}, //8286 #HANGUL SYLLABLE SSANGKIYEOK A SSANGKIYEOK
+  {0xB1F1, 0xAE50}, //8287 #HANGUL SYLLABLE SSANGKIYEOK A NIEUN
+  {0xB1F2, 0xAE54}, //8288 #HANGUL SYLLABLE SSANGKIYEOK A RIEUL
+  {0xB1F3, 0xAE56}, //8289 #HANGUL SYLLABLE SSANGKIYEOK A RIEULMIEUM
+  {0xB1F4, 0xAE5C}, //8290 #HANGUL SYLLABLE SSANGKIYEOK A MIEUM
+  {0xB1F5, 0xAE5D}, //8291 #HANGUL SYLLABLE SSANGKIYEOK A PIEUP
+  {0xB1F6, 0xAE5F}, //8292 #HANGUL SYLLABLE SSANGKIYEOK A SIOS
+  {0xB1F7, 0xAE60}, //8293 #HANGUL SYLLABLE SSANGKIYEOK A SSANGSIOS
+  {0xB1F8, 0xAE61}, //8294 #HANGUL SYLLABLE SSANGKIYEOK A IEUNG
+  {0xB1F9, 0xAE65}, //8295 #HANGUL SYLLABLE SSANGKIYEOK A THIEUTH
+  {0xB1FA, 0xAE68}, //8296 #HANGUL SYLLABLE SSANGKIYEOK AE
+  {0xB1FB, 0xAE69}, //8297 #HANGUL SYLLABLE SSANGKIYEOK AE KIYEOK
+  {0xB1FC, 0xAE6C}, //8298 #HANGUL SYLLABLE SSANGKIYEOK AE NIEUN
+  {0xB1FD, 0xAE70}, //8299 #HANGUL SYLLABLE SSANGKIYEOK AE RIEUL
+  {0xB1FE, 0xAE78}, //8300 #HANGUL SYLLABLE SSANGKIYEOK AE MIEUM
+  {0xB241, 0xCF6D}, //8301 #HANGUL SYLLABLE KHIEUKH O THIEUTH
+  {0xB242, 0xCF6E}, //8302 #HANGUL SYLLABLE KHIEUKH O PHIEUPH
+  {0xB243, 0xCF6F}, //8303 #HANGUL SYLLABLE KHIEUKH O HIEUH
+  {0xB244, 0xCF72}, //8304 #HANGUL SYLLABLE KHIEUKH WA SSANGKIYEOK
+  {0xB245, 0xCF73}, //8305 #HANGUL SYLLABLE KHIEUKH WA KIYEOKSIOS
+  {0xB246, 0xCF75}, //8306 #HANGUL SYLLABLE KHIEUKH WA NIEUNCIEUC
+  {0xB247, 0xCF76}, //8307 #HANGUL SYLLABLE KHIEUKH WA NIEUNHIEUH
+  {0xB248, 0xCF77}, //8308 #HANGUL SYLLABLE KHIEUKH WA TIKEUT
+  {0xB249, 0xCF79}, //8309 #HANGUL SYLLABLE KHIEUKH WA RIEULKIYEOK
+  {0xB24A, 0xCF7A}, //8310 #HANGUL SYLLABLE KHIEUKH WA RIEULMIEUM
+  {0xB24B, 0xCF7B}, //8311 #HANGUL SYLLABLE KHIEUKH WA RIEULPIEUP
+  {0xB24C, 0xCF7C}, //8312 #HANGUL SYLLABLE KHIEUKH WA RIEULSIOS
+  {0xB24D, 0xCF7D}, //8313 #HANGUL SYLLABLE KHIEUKH WA RIEULTHIEUTH
+  {0xB24E, 0xCF7E}, //8314 #HANGUL SYLLABLE KHIEUKH WA RIEULPHIEUPH
+  {0xB24F, 0xCF7F}, //8315 #HANGUL SYLLABLE KHIEUKH WA RIEULHIEUH
+  {0xB250, 0xCF81}, //8316 #HANGUL SYLLABLE KHIEUKH WA PIEUP
+  {0xB251, 0xCF82}, //8317 #HANGUL SYLLABLE KHIEUKH WA PIEUPSIOS
+  {0xB252, 0xCF83}, //8318 #HANGUL SYLLABLE KHIEUKH WA SIOS
+  {0xB253, 0xCF84}, //8319 #HANGUL SYLLABLE KHIEUKH WA SSANGSIOS
+  {0xB254, 0xCF86}, //8320 #HANGUL SYLLABLE KHIEUKH WA CIEUC
+  {0xB255, 0xCF87}, //8321 #HANGUL SYLLABLE KHIEUKH WA CHIEUCH
+  {0xB256, 0xCF88}, //8322 #HANGUL SYLLABLE KHIEUKH WA KHIEUKH
+  {0xB257, 0xCF89}, //8323 #HANGUL SYLLABLE KHIEUKH WA THIEUTH
+  {0xB258, 0xCF8A}, //8324 #HANGUL SYLLABLE KHIEUKH WA PHIEUPH
+  {0xB259, 0xCF8B}, //8325 #HANGUL SYLLABLE KHIEUKH WA HIEUH
+  {0xB25A, 0xCF8D}, //8326 #HANGUL SYLLABLE KHIEUKH WAE KIYEOK
+  {0xB261, 0xCF8E}, //8327 #HANGUL SYLLABLE KHIEUKH WAE SSANGKIYEOK
+  {0xB262, 0xCF8F}, //8328 #HANGUL SYLLABLE KHIEUKH WAE KIYEOKSIOS
+  {0xB263, 0xCF90}, //8329 #HANGUL SYLLABLE KHIEUKH WAE NIEUN
+  {0xB264, 0xCF91}, //8330 #HANGUL SYLLABLE KHIEUKH WAE NIEUNCIEUC
+  {0xB265, 0xCF92}, //8331 #HANGUL SYLLABLE KHIEUKH WAE NIEUNHIEUH
+  {0xB266, 0xCF93}, //8332 #HANGUL SYLLABLE KHIEUKH WAE TIKEUT
+  {0xB267, 0xCF94}, //8333 #HANGUL SYLLABLE KHIEUKH WAE RIEUL
+  {0xB268, 0xCF95}, //8334 #HANGUL SYLLABLE KHIEUKH WAE RIEULKIYEOK
+  {0xB269, 0xCF96}, //8335 #HANGUL SYLLABLE KHIEUKH WAE RIEULMIEUM
+  {0xB26A, 0xCF97}, //8336 #HANGUL SYLLABLE KHIEUKH WAE RIEULPIEUP
+  {0xB26B, 0xCF98}, //8337 #HANGUL SYLLABLE KHIEUKH WAE RIEULSIOS
+  {0xB26C, 0xCF99}, //8338 #HANGUL SYLLABLE KHIEUKH WAE RIEULTHIEUTH
+  {0xB26D, 0xCF9A}, //8339 #HANGUL SYLLABLE KHIEUKH WAE RIEULPHIEUPH
+  {0xB26E, 0xCF9B}, //8340 #HANGUL SYLLABLE KHIEUKH WAE RIEULHIEUH
+  {0xB26F, 0xCF9C}, //8341 #HANGUL SYLLABLE KHIEUKH WAE MIEUM
+  {0xB270, 0xCF9D}, //8342 #HANGUL SYLLABLE KHIEUKH WAE PIEUP
+  {0xB271, 0xCF9E}, //8343 #HANGUL SYLLABLE KHIEUKH WAE PIEUPSIOS
+  {0xB272, 0xCF9F}, //8344 #HANGUL SYLLABLE KHIEUKH WAE SIOS
+  {0xB273, 0xCFA0}, //8345 #HANGUL SYLLABLE KHIEUKH WAE SSANGSIOS
+  {0xB274, 0xCFA2}, //8346 #HANGUL SYLLABLE KHIEUKH WAE CIEUC
+  {0xB275, 0xCFA3}, //8347 #HANGUL SYLLABLE KHIEUKH WAE CHIEUCH
+  {0xB276, 0xCFA4}, //8348 #HANGUL SYLLABLE KHIEUKH WAE KHIEUKH
+  {0xB277, 0xCFA5}, //8349 #HANGUL SYLLABLE KHIEUKH WAE THIEUTH
+  {0xB278, 0xCFA6}, //8350 #HANGUL SYLLABLE KHIEUKH WAE PHIEUPH
+  {0xB279, 0xCFA7}, //8351 #HANGUL SYLLABLE KHIEUKH WAE HIEUH
+  {0xB27A, 0xCFA9}, //8352 #HANGUL SYLLABLE KHIEUKH OE KIYEOK
+  {0xB281, 0xCFAA}, //8353 #HANGUL SYLLABLE KHIEUKH OE SSANGKIYEOK
+  {0xB282, 0xCFAB}, //8354 #HANGUL SYLLABLE KHIEUKH OE KIYEOKSIOS
+  {0xB283, 0xCFAC}, //8355 #HANGUL SYLLABLE KHIEUKH OE NIEUN
+  {0xB284, 0xCFAD}, //8356 #HANGUL SYLLABLE KHIEUKH OE NIEUNCIEUC
+  {0xB285, 0xCFAE}, //8357 #HANGUL SYLLABLE KHIEUKH OE NIEUNHIEUH
+  {0xB286, 0xCFAF}, //8358 #HANGUL SYLLABLE KHIEUKH OE TIKEUT
+  {0xB287, 0xCFB1}, //8359 #HANGUL SYLLABLE KHIEUKH OE RIEULKIYEOK
+  {0xB288, 0xCFB2}, //8360 #HANGUL SYLLABLE KHIEUKH OE RIEULMIEUM
+  {0xB289, 0xCFB3}, //8361 #HANGUL SYLLABLE KHIEUKH OE RIEULPIEUP
+  {0xB28A, 0xCFB4}, //8362 #HANGUL SYLLABLE KHIEUKH OE RIEULSIOS
+  {0xB28B, 0xCFB5}, //8363 #HANGUL SYLLABLE KHIEUKH OE RIEULTHIEUTH
+  {0xB28C, 0xCFB6}, //8364 #HANGUL SYLLABLE KHIEUKH OE RIEULPHIEUPH
+  {0xB28D, 0xCFB7}, //8365 #HANGUL SYLLABLE KHIEUKH OE RIEULHIEUH
+  {0xB28E, 0xCFB8}, //8366 #HANGUL SYLLABLE KHIEUKH OE MIEUM
+  {0xB28F, 0xCFB9}, //8367 #HANGUL SYLLABLE KHIEUKH OE PIEUP
+  {0xB290, 0xCFBA}, //8368 #HANGUL SYLLABLE KHIEUKH OE PIEUPSIOS
+  {0xB291, 0xCFBB}, //8369 #HANGUL SYLLABLE KHIEUKH OE SIOS
+  {0xB292, 0xCFBC}, //8370 #HANGUL SYLLABLE KHIEUKH OE SSANGSIOS
+  {0xB293, 0xCFBD}, //8371 #HANGUL SYLLABLE KHIEUKH OE IEUNG
+  {0xB294, 0xCFBE}, //8372 #HANGUL SYLLABLE KHIEUKH OE CIEUC
+  {0xB295, 0xCFBF}, //8373 #HANGUL SYLLABLE KHIEUKH OE CHIEUCH
+  {0xB296, 0xCFC0}, //8374 #HANGUL SYLLABLE KHIEUKH OE KHIEUKH
+  {0xB297, 0xCFC1}, //8375 #HANGUL SYLLABLE KHIEUKH OE THIEUTH
+  {0xB298, 0xCFC2}, //8376 #HANGUL SYLLABLE KHIEUKH OE PHIEUPH
+  {0xB299, 0xCFC3}, //8377 #HANGUL SYLLABLE KHIEUKH OE HIEUH
+  {0xB29A, 0xCFC5}, //8378 #HANGUL SYLLABLE KHIEUKH YO KIYEOK
+  {0xB29B, 0xCFC6}, //8379 #HANGUL SYLLABLE KHIEUKH YO SSANGKIYEOK
+  {0xB29C, 0xCFC7}, //8380 #HANGUL SYLLABLE KHIEUKH YO KIYEOKSIOS
+  {0xB29D, 0xCFC8}, //8381 #HANGUL SYLLABLE KHIEUKH YO NIEUN
+  {0xB29E, 0xCFC9}, //8382 #HANGUL SYLLABLE KHIEUKH YO NIEUNCIEUC
+  {0xB29F, 0xCFCA}, //8383 #HANGUL SYLLABLE KHIEUKH YO NIEUNHIEUH
+  {0xB2A0, 0xCFCB}, //8384 #HANGUL SYLLABLE KHIEUKH YO TIKEUT
+  {0xB2A1, 0xAE79}, //8385 #HANGUL SYLLABLE SSANGKIYEOK AE PIEUP
+  {0xB2A2, 0xAE7B}, //8386 #HANGUL SYLLABLE SSANGKIYEOK AE SIOS
+  {0xB2A3, 0xAE7C}, //8387 #HANGUL SYLLABLE SSANGKIYEOK AE SSANGSIOS
+  {0xB2A4, 0xAE7D}, //8388 #HANGUL SYLLABLE SSANGKIYEOK AE IEUNG
+  {0xB2A5, 0xAE84}, //8389 #HANGUL SYLLABLE SSANGKIYEOK YA
+  {0xB2A6, 0xAE85}, //8390 #HANGUL SYLLABLE SSANGKIYEOK YA KIYEOK
+  {0xB2A7, 0xAE8C}, //8391 #HANGUL SYLLABLE SSANGKIYEOK YA RIEUL
+  {0xB2A8, 0xAEBC}, //8392 #HANGUL SYLLABLE SSANGKIYEOK EO
+  {0xB2A9, 0xAEBD}, //8393 #HANGUL SYLLABLE SSANGKIYEOK EO KIYEOK
+  {0xB2AA, 0xAEBE}, //8394 #HANGUL SYLLABLE SSANGKIYEOK EO SSANGKIYEOK
+  {0xB2AB, 0xAEC0}, //8395 #HANGUL SYLLABLE SSANGKIYEOK EO NIEUN
+  {0xB2AC, 0xAEC4}, //8396 #HANGUL SYLLABLE SSANGKIYEOK EO RIEUL
+  {0xB2AD, 0xAECC}, //8397 #HANGUL SYLLABLE SSANGKIYEOK EO MIEUM
+  {0xB2AE, 0xAECD}, //8398 #HANGUL SYLLABLE SSANGKIYEOK EO PIEUP
+  {0xB2AF, 0xAECF}, //8399 #HANGUL SYLLABLE SSANGKIYEOK EO SIOS
+  {0xB2B0, 0xAED0}, //8400 #HANGUL SYLLABLE SSANGKIYEOK EO SSANGSIOS
+  {0xB2B1, 0xAED1}, //8401 #HANGUL SYLLABLE SSANGKIYEOK EO IEUNG
+  {0xB2B2, 0xAED8}, //8402 #HANGUL SYLLABLE SSANGKIYEOK E
+  {0xB2B3, 0xAED9}, //8403 #HANGUL SYLLABLE SSANGKIYEOK E KIYEOK
+  {0xB2B4, 0xAEDC}, //8404 #HANGUL SYLLABLE SSANGKIYEOK E NIEUN
+  {0xB2B5, 0xAEE8}, //8405 #HANGUL SYLLABLE SSANGKIYEOK E MIEUM
+  {0xB2B6, 0xAEEB}, //8406 #HANGUL SYLLABLE SSANGKIYEOK E SIOS
+  {0xB2B7, 0xAEED}, //8407 #HANGUL SYLLABLE SSANGKIYEOK E IEUNG
+  {0xB2B8, 0xAEF4}, //8408 #HANGUL SYLLABLE SSANGKIYEOK YEO
+  {0xB2B9, 0xAEF8}, //8409 #HANGUL SYLLABLE SSANGKIYEOK YEO NIEUN
+  {0xB2BA, 0xAEFC}, //8410 #HANGUL SYLLABLE SSANGKIYEOK YEO RIEUL
+  {0xB2BB, 0xAF07}, //8411 #HANGUL SYLLABLE SSANGKIYEOK YEO SIOS
+  {0xB2BC, 0xAF08}, //8412 #HANGUL SYLLABLE SSANGKIYEOK YEO SSANGSIOS
+  {0xB2BD, 0xAF0D}, //8413 #HANGUL SYLLABLE SSANGKIYEOK YEO THIEUTH
+  {0xB2BE, 0xAF10}, //8414 #HANGUL SYLLABLE SSANGKIYEOK YE
+  {0xB2BF, 0xAF2C}, //8415 #HANGUL SYLLABLE SSANGKIYEOK O
+  {0xB2C0, 0xAF2D}, //8416 #HANGUL SYLLABLE SSANGKIYEOK O KIYEOK
+  {0xB2C1, 0xAF30}, //8417 #HANGUL SYLLABLE SSANGKIYEOK O NIEUN
+  {0xB2C2, 0xAF32}, //8418 #HANGUL SYLLABLE SSANGKIYEOK O NIEUNHIEUH
+  {0xB2C3, 0xAF34}, //8419 #HANGUL SYLLABLE SSANGKIYEOK O RIEUL
+  {0xB2C4, 0xAF3C}, //8420 #HANGUL SYLLABLE SSANGKIYEOK O MIEUM
+  {0xB2C5, 0xAF3D}, //8421 #HANGUL SYLLABLE SSANGKIYEOK O PIEUP
+  {0xB2C6, 0xAF3F}, //8422 #HANGUL SYLLABLE SSANGKIYEOK O SIOS
+  {0xB2C7, 0xAF41}, //8423 #HANGUL SYLLABLE SSANGKIYEOK O IEUNG
+  {0xB2C8, 0xAF42}, //8424 #HANGUL SYLLABLE SSANGKIYEOK O CIEUC
+  {0xB2C9, 0xAF43}, //8425 #HANGUL SYLLABLE SSANGKIYEOK O CHIEUCH
+  {0xB2CA, 0xAF48}, //8426 #HANGUL SYLLABLE SSANGKIYEOK WA
+  {0xB2CB, 0xAF49}, //8427 #HANGUL SYLLABLE SSANGKIYEOK WA KIYEOK
+  {0xB2CC, 0xAF50}, //8428 #HANGUL SYLLABLE SSANGKIYEOK WA RIEUL
+  {0xB2CD, 0xAF5C}, //8429 #HANGUL SYLLABLE SSANGKIYEOK WA SSANGSIOS
+  {0xB2CE, 0xAF5D}, //8430 #HANGUL SYLLABLE SSANGKIYEOK WA IEUNG
+  {0xB2CF, 0xAF64}, //8431 #HANGUL SYLLABLE SSANGKIYEOK WAE
+  {0xB2D0, 0xAF65}, //8432 #HANGUL SYLLABLE SSANGKIYEOK WAE KIYEOK
+  {0xB2D1, 0xAF79}, //8433 #HANGUL SYLLABLE SSANGKIYEOK WAE IEUNG
+  {0xB2D2, 0xAF80}, //8434 #HANGUL SYLLABLE SSANGKIYEOK OE
+  {0xB2D3, 0xAF84}, //8435 #HANGUL SYLLABLE SSANGKIYEOK OE NIEUN
+  {0xB2D4, 0xAF88}, //8436 #HANGUL SYLLABLE SSANGKIYEOK OE RIEUL
+  {0xB2D5, 0xAF90}, //8437 #HANGUL SYLLABLE SSANGKIYEOK OE MIEUM
+  {0xB2D6, 0xAF91}, //8438 #HANGUL SYLLABLE SSANGKIYEOK OE PIEUP
+  {0xB2D7, 0xAF95}, //8439 #HANGUL SYLLABLE SSANGKIYEOK OE IEUNG
+  {0xB2D8, 0xAF9C}, //8440 #HANGUL SYLLABLE SSANGKIYEOK YO
+  {0xB2D9, 0xAFB8}, //8441 #HANGUL SYLLABLE SSANGKIYEOK U
+  {0xB2DA, 0xAFB9}, //8442 #HANGUL SYLLABLE SSANGKIYEOK U KIYEOK
+  {0xB2DB, 0xAFBC}, //8443 #HANGUL SYLLABLE SSANGKIYEOK U NIEUN
+  {0xB2DC, 0xAFC0}, //8444 #HANGUL SYLLABLE SSANGKIYEOK U RIEUL
+  {0xB2DD, 0xAFC7}, //8445 #HANGUL SYLLABLE SSANGKIYEOK U RIEULHIEUH
+  {0xB2DE, 0xAFC8}, //8446 #HANGUL SYLLABLE SSANGKIYEOK U MIEUM
+  {0xB2DF, 0xAFC9}, //8447 #HANGUL SYLLABLE SSANGKIYEOK U PIEUP
+  {0xB2E0, 0xAFCB}, //8448 #HANGUL SYLLABLE SSANGKIYEOK U SIOS
+  {0xB2E1, 0xAFCD}, //8449 #HANGUL SYLLABLE SSANGKIYEOK U IEUNG
+  {0xB2E2, 0xAFCE}, //8450 #HANGUL SYLLABLE SSANGKIYEOK U CIEUC
+  {0xB2E3, 0xAFD4}, //8451 #HANGUL SYLLABLE SSANGKIYEOK WEO
+  {0xB2E4, 0xAFDC}, //8452 #HANGUL SYLLABLE SSANGKIYEOK WEO RIEUL
+  {0xB2E5, 0xAFE8}, //8453 #HANGUL SYLLABLE SSANGKIYEOK WEO SSANGSIOS
+  {0xB2E6, 0xAFE9}, //8454 #HANGUL SYLLABLE SSANGKIYEOK WEO IEUNG
+  {0xB2E7, 0xAFF0}, //8455 #HANGUL SYLLABLE SSANGKIYEOK WE
+  {0xB2E8, 0xAFF1}, //8456 #HANGUL SYLLABLE SSANGKIYEOK WE KIYEOK
+  {0xB2E9, 0xAFF4}, //8457 #HANGUL SYLLABLE SSANGKIYEOK WE NIEUN
+  {0xB2EA, 0xAFF8}, //8458 #HANGUL SYLLABLE SSANGKIYEOK WE RIEUL
+  {0xB2EB, 0xB000}, //8459 #HANGUL SYLLABLE SSANGKIYEOK WE MIEUM
+  {0xB2EC, 0xB001}, //8460 #HANGUL SYLLABLE SSANGKIYEOK WE PIEUP
+  {0xB2ED, 0xB004}, //8461 #HANGUL SYLLABLE SSANGKIYEOK WE SSANGSIOS
+  {0xB2EE, 0xB00C}, //8462 #HANGUL SYLLABLE SSANGKIYEOK WI
+  {0xB2EF, 0xB010}, //8463 #HANGUL SYLLABLE SSANGKIYEOK WI NIEUN
+  {0xB2F0, 0xB014}, //8464 #HANGUL SYLLABLE SSANGKIYEOK WI RIEUL
+  {0xB2F1, 0xB01C}, //8465 #HANGUL SYLLABLE SSANGKIYEOK WI MIEUM
+  {0xB2F2, 0xB01D}, //8466 #HANGUL SYLLABLE SSANGKIYEOK WI PIEUP
+  {0xB2F3, 0xB028}, //8467 #HANGUL SYLLABLE SSANGKIYEOK YU
+  {0xB2F4, 0xB044}, //8468 #HANGUL SYLLABLE SSANGKIYEOK EU
+  {0xB2F5, 0xB045}, //8469 #HANGUL SYLLABLE SSANGKIYEOK EU KIYEOK
+  {0xB2F6, 0xB048}, //8470 #HANGUL SYLLABLE SSANGKIYEOK EU NIEUN
+  {0xB2F7, 0xB04A}, //8471 #HANGUL SYLLABLE SSANGKIYEOK EU NIEUNHIEUH
+  {0xB2F8, 0xB04C}, //8472 #HANGUL SYLLABLE SSANGKIYEOK EU RIEUL
+  {0xB2F9, 0xB04E}, //8473 #HANGUL SYLLABLE SSANGKIYEOK EU RIEULMIEUM
+  {0xB2FA, 0xB053}, //8474 #HANGUL SYLLABLE SSANGKIYEOK EU RIEULHIEUH
+  {0xB2FB, 0xB054}, //8475 #HANGUL SYLLABLE SSANGKIYEOK EU MIEUM
+  {0xB2FC, 0xB055}, //8476 #HANGUL SYLLABLE SSANGKIYEOK EU PIEUP
+  {0xB2FD, 0xB057}, //8477 #HANGUL SYLLABLE SSANGKIYEOK EU SIOS
+  {0xB2FE, 0xB059}, //8478 #HANGUL SYLLABLE SSANGKIYEOK EU IEUNG
+  {0xB341, 0xCFCC}, //8479 #HANGUL SYLLABLE KHIEUKH YO RIEUL
+  {0xB342, 0xCFCD}, //8480 #HANGUL SYLLABLE KHIEUKH YO RIEULKIYEOK
+  {0xB343, 0xCFCE}, //8481 #HANGUL SYLLABLE KHIEUKH YO RIEULMIEUM
+  {0xB344, 0xCFCF}, //8482 #HANGUL SYLLABLE KHIEUKH YO RIEULPIEUP
+  {0xB345, 0xCFD0}, //8483 #HANGUL SYLLABLE KHIEUKH YO RIEULSIOS
+  {0xB346, 0xCFD1}, //8484 #HANGUL SYLLABLE KHIEUKH YO RIEULTHIEUTH
+  {0xB347, 0xCFD2}, //8485 #HANGUL SYLLABLE KHIEUKH YO RIEULPHIEUPH
+  {0xB348, 0xCFD3}, //8486 #HANGUL SYLLABLE KHIEUKH YO RIEULHIEUH
+  {0xB349, 0xCFD4}, //8487 #HANGUL SYLLABLE KHIEUKH YO MIEUM
+  {0xB34A, 0xCFD5}, //8488 #HANGUL SYLLABLE KHIEUKH YO PIEUP
+  {0xB34B, 0xCFD6}, //8489 #HANGUL SYLLABLE KHIEUKH YO PIEUPSIOS
+  {0xB34C, 0xCFD7}, //8490 #HANGUL SYLLABLE KHIEUKH YO SIOS
+  {0xB34D, 0xCFD8}, //8491 #HANGUL SYLLABLE KHIEUKH YO SSANGSIOS
+  {0xB34E, 0xCFD9}, //8492 #HANGUL SYLLABLE KHIEUKH YO IEUNG
+  {0xB34F, 0xCFDA}, //8493 #HANGUL SYLLABLE KHIEUKH YO CIEUC
+  {0xB350, 0xCFDB}, //8494 #HANGUL SYLLABLE KHIEUKH YO CHIEUCH
+  {0xB351, 0xCFDC}, //8495 #HANGUL SYLLABLE KHIEUKH YO KHIEUKH
+  {0xB352, 0xCFDD}, //8496 #HANGUL SYLLABLE KHIEUKH YO THIEUTH
+  {0xB353, 0xCFDE}, //8497 #HANGUL SYLLABLE KHIEUKH YO PHIEUPH
+  {0xB354, 0xCFDF}, //8498 #HANGUL SYLLABLE KHIEUKH YO HIEUH
+  {0xB355, 0xCFE2}, //8499 #HANGUL SYLLABLE KHIEUKH U SSANGKIYEOK
+  {0xB356, 0xCFE3}, //8500 #HANGUL SYLLABLE KHIEUKH U KIYEOKSIOS
+  {0xB357, 0xCFE5}, //8501 #HANGUL SYLLABLE KHIEUKH U NIEUNCIEUC
+  {0xB358, 0xCFE6}, //8502 #HANGUL SYLLABLE KHIEUKH U NIEUNHIEUH
+  {0xB359, 0xCFE7}, //8503 #HANGUL SYLLABLE KHIEUKH U TIKEUT
+  {0xB35A, 0xCFE9}, //8504 #HANGUL SYLLABLE KHIEUKH U RIEULKIYEOK
+  {0xB361, 0xCFEA}, //8505 #HANGUL SYLLABLE KHIEUKH U RIEULMIEUM
+  {0xB362, 0xCFEB}, //8506 #HANGUL SYLLABLE KHIEUKH U RIEULPIEUP
+  {0xB363, 0xCFEC}, //8507 #HANGUL SYLLABLE KHIEUKH U RIEULSIOS
+  {0xB364, 0xCFED}, //8508 #HANGUL SYLLABLE KHIEUKH U RIEULTHIEUTH
+  {0xB365, 0xCFEE}, //8509 #HANGUL SYLLABLE KHIEUKH U RIEULPHIEUPH
+  {0xB366, 0xCFEF}, //8510 #HANGUL SYLLABLE KHIEUKH U RIEULHIEUH
+  {0xB367, 0xCFF2}, //8511 #HANGUL SYLLABLE KHIEUKH U PIEUPSIOS
+  {0xB368, 0xCFF4}, //8512 #HANGUL SYLLABLE KHIEUKH U SSANGSIOS
+  {0xB369, 0xCFF6}, //8513 #HANGUL SYLLABLE KHIEUKH U CIEUC
+  {0xB36A, 0xCFF7}, //8514 #HANGUL SYLLABLE KHIEUKH U CHIEUCH
+  {0xB36B, 0xCFF8}, //8515 #HANGUL SYLLABLE KHIEUKH U KHIEUKH
+  {0xB36C, 0xCFF9}, //8516 #HANGUL SYLLABLE KHIEUKH U THIEUTH
+  {0xB36D, 0xCFFA}, //8517 #HANGUL SYLLABLE KHIEUKH U PHIEUPH
+  {0xB36E, 0xCFFB}, //8518 #HANGUL SYLLABLE KHIEUKH U HIEUH
+  {0xB36F, 0xCFFD}, //8519 #HANGUL SYLLABLE KHIEUKH WEO KIYEOK
+  {0xB370, 0xCFFE}, //8520 #HANGUL SYLLABLE KHIEUKH WEO SSANGKIYEOK
+  {0xB371, 0xCFFF}, //8521 #HANGUL SYLLABLE KHIEUKH WEO KIYEOKSIOS
+  {0xB372, 0xD001}, //8522 #HANGUL SYLLABLE KHIEUKH WEO NIEUNCIEUC
+  {0xB373, 0xD002}, //8523 #HANGUL SYLLABLE KHIEUKH WEO NIEUNHIEUH
+  {0xB374, 0xD003}, //8524 #HANGUL SYLLABLE KHIEUKH WEO TIKEUT
+  {0xB375, 0xD005}, //8525 #HANGUL SYLLABLE KHIEUKH WEO RIEULKIYEOK
+  {0xB376, 0xD006}, //8526 #HANGUL SYLLABLE KHIEUKH WEO RIEULMIEUM
+  {0xB377, 0xD007}, //8527 #HANGUL SYLLABLE KHIEUKH WEO RIEULPIEUP
+  {0xB378, 0xD008}, //8528 #HANGUL SYLLABLE KHIEUKH WEO RIEULSIOS
+  {0xB379, 0xD009}, //8529 #HANGUL SYLLABLE KHIEUKH WEO RIEULTHIEUTH
+  {0xB37A, 0xD00A}, //8530 #HANGUL SYLLABLE KHIEUKH WEO RIEULPHIEUPH
+  {0xB381, 0xD00B}, //8531 #HANGUL SYLLABLE KHIEUKH WEO RIEULHIEUH
+  {0xB382, 0xD00C}, //8532 #HANGUL SYLLABLE KHIEUKH WEO MIEUM
+  {0xB383, 0xD00D}, //8533 #HANGUL SYLLABLE KHIEUKH WEO PIEUP
+  {0xB384, 0xD00E}, //8534 #HANGUL SYLLABLE KHIEUKH WEO PIEUPSIOS
+  {0xB385, 0xD00F}, //8535 #HANGUL SYLLABLE KHIEUKH WEO SIOS
+  {0xB386, 0xD010}, //8536 #HANGUL SYLLABLE KHIEUKH WEO SSANGSIOS
+  {0xB387, 0xD012}, //8537 #HANGUL SYLLABLE KHIEUKH WEO CIEUC
+  {0xB388, 0xD013}, //8538 #HANGUL SYLLABLE KHIEUKH WEO CHIEUCH
+  {0xB389, 0xD014}, //8539 #HANGUL SYLLABLE KHIEUKH WEO KHIEUKH
+  {0xB38A, 0xD015}, //8540 #HANGUL SYLLABLE KHIEUKH WEO THIEUTH
+  {0xB38B, 0xD016}, //8541 #HANGUL SYLLABLE KHIEUKH WEO PHIEUPH
+  {0xB38C, 0xD017}, //8542 #HANGUL SYLLABLE KHIEUKH WEO HIEUH
+  {0xB38D, 0xD019}, //8543 #HANGUL SYLLABLE KHIEUKH WE KIYEOK
+  {0xB38E, 0xD01A}, //8544 #HANGUL SYLLABLE KHIEUKH WE SSANGKIYEOK
+  {0xB38F, 0xD01B}, //8545 #HANGUL SYLLABLE KHIEUKH WE KIYEOKSIOS
+  {0xB390, 0xD01C}, //8546 #HANGUL SYLLABLE KHIEUKH WE NIEUN
+  {0xB391, 0xD01D}, //8547 #HANGUL SYLLABLE KHIEUKH WE NIEUNCIEUC
+  {0xB392, 0xD01E}, //8548 #HANGUL SYLLABLE KHIEUKH WE NIEUNHIEUH
+  {0xB393, 0xD01F}, //8549 #HANGUL SYLLABLE KHIEUKH WE TIKEUT
+  {0xB394, 0xD020}, //8550 #HANGUL SYLLABLE KHIEUKH WE RIEUL
+  {0xB395, 0xD021}, //8551 #HANGUL SYLLABLE KHIEUKH WE RIEULKIYEOK
+  {0xB396, 0xD022}, //8552 #HANGUL SYLLABLE KHIEUKH WE RIEULMIEUM
+  {0xB397, 0xD023}, //8553 #HANGUL SYLLABLE KHIEUKH WE RIEULPIEUP
+  {0xB398, 0xD024}, //8554 #HANGUL SYLLABLE KHIEUKH WE RIEULSIOS
+  {0xB399, 0xD025}, //8555 #HANGUL SYLLABLE KHIEUKH WE RIEULTHIEUTH
+  {0xB39A, 0xD026}, //8556 #HANGUL SYLLABLE KHIEUKH WE RIEULPHIEUPH
+  {0xB39B, 0xD027}, //8557 #HANGUL SYLLABLE KHIEUKH WE RIEULHIEUH
+  {0xB39C, 0xD028}, //8558 #HANGUL SYLLABLE KHIEUKH WE MIEUM
+  {0xB39D, 0xD029}, //8559 #HANGUL SYLLABLE KHIEUKH WE PIEUP
+  {0xB39E, 0xD02A}, //8560 #HANGUL SYLLABLE KHIEUKH WE PIEUPSIOS
+  {0xB39F, 0xD02B}, //8561 #HANGUL SYLLABLE KHIEUKH WE SIOS
+  {0xB3A0, 0xD02C}, //8562 #HANGUL SYLLABLE KHIEUKH WE SSANGSIOS
+  {0xB3A1, 0xB05D}, //8563 #HANGUL SYLLABLE SSANGKIYEOK EU THIEUTH
+  {0xB3A2, 0xB07C}, //8564 #HANGUL SYLLABLE SSANGKIYEOK I
+  {0xB3A3, 0xB07D}, //8565 #HANGUL SYLLABLE SSANGKIYEOK I KIYEOK
+  {0xB3A4, 0xB080}, //8566 #HANGUL SYLLABLE SSANGKIYEOK I NIEUN
+  {0xB3A5, 0xB084}, //8567 #HANGUL SYLLABLE SSANGKIYEOK I RIEUL
+  {0xB3A6, 0xB08C}, //8568 #HANGUL SYLLABLE SSANGKIYEOK I MIEUM
+  {0xB3A7, 0xB08D}, //8569 #HANGUL SYLLABLE SSANGKIYEOK I PIEUP
+  {0xB3A8, 0xB08F}, //8570 #HANGUL SYLLABLE SSANGKIYEOK I SIOS
+  {0xB3A9, 0xB091}, //8571 #HANGUL SYLLABLE SSANGKIYEOK I IEUNG
+  {0xB3AA, 0xB098}, //8572 #HANGUL SYLLABLE NIEUN A
+  {0xB3AB, 0xB099}, //8573 #HANGUL SYLLABLE NIEUN A KIYEOK
+  {0xB3AC, 0xB09A}, //8574 #HANGUL SYLLABLE NIEUN A SSANGKIYEOK
+  {0xB3AD, 0xB09C}, //8575 #HANGUL SYLLABLE NIEUN A NIEUN
+  {0xB3AE, 0xB09F}, //8576 #HANGUL SYLLABLE NIEUN A TIKEUT
+  {0xB3AF, 0xB0A0}, //8577 #HANGUL SYLLABLE NIEUN A RIEUL
+  {0xB3B0, 0xB0A1}, //8578 #HANGUL SYLLABLE NIEUN A RIEULKIYEOK
+  {0xB3B1, 0xB0A2}, //8579 #HANGUL SYLLABLE NIEUN A RIEULMIEUM
+  {0xB3B2, 0xB0A8}, //8580 #HANGUL SYLLABLE NIEUN A MIEUM
+  {0xB3B3, 0xB0A9}, //8581 #HANGUL SYLLABLE NIEUN A PIEUP
+  {0xB3B4, 0xB0AB}, //8582 #HANGUL SYLLABLE NIEUN A SIOS
+  {0xB3B5, 0xB0AC}, //8583 #HANGUL SYLLABLE NIEUN A SSANGSIOS
+  {0xB3B6, 0xB0AD}, //8584 #HANGUL SYLLABLE NIEUN A IEUNG
+  {0xB3B7, 0xB0AE}, //8585 #HANGUL SYLLABLE NIEUN A CIEUC
+  {0xB3B8, 0xB0AF}, //8586 #HANGUL SYLLABLE NIEUN A CHIEUCH
+  {0xB3B9, 0xB0B1}, //8587 #HANGUL SYLLABLE NIEUN A THIEUTH
+  {0xB3BA, 0xB0B3}, //8588 #HANGUL SYLLABLE NIEUN A HIEUH
+  {0xB3BB, 0xB0B4}, //8589 #HANGUL SYLLABLE NIEUN AE
+  {0xB3BC, 0xB0B5}, //8590 #HANGUL SYLLABLE NIEUN AE KIYEOK
+  {0xB3BD, 0xB0B8}, //8591 #HANGUL SYLLABLE NIEUN AE NIEUN
+  {0xB3BE, 0xB0BC}, //8592 #HANGUL SYLLABLE NIEUN AE RIEUL
+  {0xB3BF, 0xB0C4}, //8593 #HANGUL SYLLABLE NIEUN AE MIEUM
+  {0xB3C0, 0xB0C5}, //8594 #HANGUL SYLLABLE NIEUN AE PIEUP
+  {0xB3C1, 0xB0C7}, //8595 #HANGUL SYLLABLE NIEUN AE SIOS
+  {0xB3C2, 0xB0C8}, //8596 #HANGUL SYLLABLE NIEUN AE SSANGSIOS
+  {0xB3C3, 0xB0C9}, //8597 #HANGUL SYLLABLE NIEUN AE IEUNG
+  {0xB3C4, 0xB0D0}, //8598 #HANGUL SYLLABLE NIEUN YA
+  {0xB3C5, 0xB0D1}, //8599 #HANGUL SYLLABLE NIEUN YA KIYEOK
+  {0xB3C6, 0xB0D4}, //8600 #HANGUL SYLLABLE NIEUN YA NIEUN
+  {0xB3C7, 0xB0D8}, //8601 #HANGUL SYLLABLE NIEUN YA RIEUL
+  {0xB3C8, 0xB0E0}, //8602 #HANGUL SYLLABLE NIEUN YA MIEUM
+  {0xB3C9, 0xB0E5}, //8603 #HANGUL SYLLABLE NIEUN YA IEUNG
+  {0xB3CA, 0xB108}, //8604 #HANGUL SYLLABLE NIEUN EO
+  {0xB3CB, 0xB109}, //8605 #HANGUL SYLLABLE NIEUN EO KIYEOK
+  {0xB3CC, 0xB10B}, //8606 #HANGUL SYLLABLE NIEUN EO KIYEOKSIOS
+  {0xB3CD, 0xB10C}, //8607 #HANGUL SYLLABLE NIEUN EO NIEUN
+  {0xB3CE, 0xB110}, //8608 #HANGUL SYLLABLE NIEUN EO RIEUL
+  {0xB3CF, 0xB112}, //8609 #HANGUL SYLLABLE NIEUN EO RIEULMIEUM
+  {0xB3D0, 0xB113}, //8610 #HANGUL SYLLABLE NIEUN EO RIEULPIEUP
+  {0xB3D1, 0xB118}, //8611 #HANGUL SYLLABLE NIEUN EO MIEUM
+  {0xB3D2, 0xB119}, //8612 #HANGUL SYLLABLE NIEUN EO PIEUP
+  {0xB3D3, 0xB11B}, //8613 #HANGUL SYLLABLE NIEUN EO SIOS
+  {0xB3D4, 0xB11C}, //8614 #HANGUL SYLLABLE NIEUN EO SSANGSIOS
+  {0xB3D5, 0xB11D}, //8615 #HANGUL SYLLABLE NIEUN EO IEUNG
+  {0xB3D6, 0xB123}, //8616 #HANGUL SYLLABLE NIEUN EO HIEUH
+  {0xB3D7, 0xB124}, //8617 #HANGUL SYLLABLE NIEUN E
+  {0xB3D8, 0xB125}, //8618 #HANGUL SYLLABLE NIEUN E KIYEOK
+  {0xB3D9, 0xB128}, //8619 #HANGUL SYLLABLE NIEUN E NIEUN
+  {0xB3DA, 0xB12C}, //8620 #HANGUL SYLLABLE NIEUN E RIEUL
+  {0xB3DB, 0xB134}, //8621 #HANGUL SYLLABLE NIEUN E MIEUM
+  {0xB3DC, 0xB135}, //8622 #HANGUL SYLLABLE NIEUN E PIEUP
+  {0xB3DD, 0xB137}, //8623 #HANGUL SYLLABLE NIEUN E SIOS
+  {0xB3DE, 0xB138}, //8624 #HANGUL SYLLABLE NIEUN E SSANGSIOS
+  {0xB3DF, 0xB139}, //8625 #HANGUL SYLLABLE NIEUN E IEUNG
+  {0xB3E0, 0xB140}, //8626 #HANGUL SYLLABLE NIEUN YEO
+  {0xB3E1, 0xB141}, //8627 #HANGUL SYLLABLE NIEUN YEO KIYEOK
+  {0xB3E2, 0xB144}, //8628 #HANGUL SYLLABLE NIEUN YEO NIEUN
+  {0xB3E3, 0xB148}, //8629 #HANGUL SYLLABLE NIEUN YEO RIEUL
+  {0xB3E4, 0xB150}, //8630 #HANGUL SYLLABLE NIEUN YEO MIEUM
+  {0xB3E5, 0xB151}, //8631 #HANGUL SYLLABLE NIEUN YEO PIEUP
+  {0xB3E6, 0xB154}, //8632 #HANGUL SYLLABLE NIEUN YEO SSANGSIOS
+  {0xB3E7, 0xB155}, //8633 #HANGUL SYLLABLE NIEUN YEO IEUNG
+  {0xB3E8, 0xB158}, //8634 #HANGUL SYLLABLE NIEUN YEO KHIEUKH
+  {0xB3E9, 0xB15C}, //8635 #HANGUL SYLLABLE NIEUN YE
+  {0xB3EA, 0xB160}, //8636 #HANGUL SYLLABLE NIEUN YE NIEUN
+  {0xB3EB, 0xB178}, //8637 #HANGUL SYLLABLE NIEUN O
+  {0xB3EC, 0xB179}, //8638 #HANGUL SYLLABLE NIEUN O KIYEOK
+  {0xB3ED, 0xB17C}, //8639 #HANGUL SYLLABLE NIEUN O NIEUN
+  {0xB3EE, 0xB180}, //8640 #HANGUL SYLLABLE NIEUN O RIEUL
+  {0xB3EF, 0xB182}, //8641 #HANGUL SYLLABLE NIEUN O RIEULMIEUM
+  {0xB3F0, 0xB188}, //8642 #HANGUL SYLLABLE NIEUN O MIEUM
+  {0xB3F1, 0xB189}, //8643 #HANGUL SYLLABLE NIEUN O PIEUP
+  {0xB3F2, 0xB18B}, //8644 #HANGUL SYLLABLE NIEUN O SIOS
+  {0xB3F3, 0xB18D}, //8645 #HANGUL SYLLABLE NIEUN O IEUNG
+  {0xB3F4, 0xB192}, //8646 #HANGUL SYLLABLE NIEUN O PHIEUPH
+  {0xB3F5, 0xB193}, //8647 #HANGUL SYLLABLE NIEUN O HIEUH
+  {0xB3F6, 0xB194}, //8648 #HANGUL SYLLABLE NIEUN WA
+  {0xB3F7, 0xB198}, //8649 #HANGUL SYLLABLE NIEUN WA NIEUN
+  {0xB3F8, 0xB19C}, //8650 #HANGUL SYLLABLE NIEUN WA RIEUL
+  {0xB3F9, 0xB1A8}, //8651 #HANGUL SYLLABLE NIEUN WA SSANGSIOS
+  {0xB3FA, 0xB1CC}, //8652 #HANGUL SYLLABLE NIEUN OE
+  {0xB3FB, 0xB1D0}, //8653 #HANGUL SYLLABLE NIEUN OE NIEUN
+  {0xB3FC, 0xB1D4}, //8654 #HANGUL SYLLABLE NIEUN OE RIEUL
+  {0xB3FD, 0xB1DC}, //8655 #HANGUL SYLLABLE NIEUN OE MIEUM
+  {0xB3FE, 0xB1DD}, //8656 #HANGUL SYLLABLE NIEUN OE PIEUP
+  {0xB441, 0xD02E}, //8657 #HANGUL SYLLABLE KHIEUKH WE CIEUC
+  {0xB442, 0xD02F}, //8658 #HANGUL SYLLABLE KHIEUKH WE CHIEUCH
+  {0xB443, 0xD030}, //8659 #HANGUL SYLLABLE KHIEUKH WE KHIEUKH
+  {0xB444, 0xD031}, //8660 #HANGUL SYLLABLE KHIEUKH WE THIEUTH
+  {0xB445, 0xD032}, //8661 #HANGUL SYLLABLE KHIEUKH WE PHIEUPH
+  {0xB446, 0xD033}, //8662 #HANGUL SYLLABLE KHIEUKH WE HIEUH
+  {0xB447, 0xD036}, //8663 #HANGUL SYLLABLE KHIEUKH WI SSANGKIYEOK
+  {0xB448, 0xD037}, //8664 #HANGUL SYLLABLE KHIEUKH WI KIYEOKSIOS
+  {0xB449, 0xD039}, //8665 #HANGUL SYLLABLE KHIEUKH WI NIEUNCIEUC
+  {0xB44A, 0xD03A}, //8666 #HANGUL SYLLABLE KHIEUKH WI NIEUNHIEUH
+  {0xB44B, 0xD03B}, //8667 #HANGUL SYLLABLE KHIEUKH WI TIKEUT
+  {0xB44C, 0xD03D}, //8668 #HANGUL SYLLABLE KHIEUKH WI RIEULKIYEOK
+  {0xB44D, 0xD03E}, //8669 #HANGUL SYLLABLE KHIEUKH WI RIEULMIEUM
+  {0xB44E, 0xD03F}, //8670 #HANGUL SYLLABLE KHIEUKH WI RIEULPIEUP
+  {0xB44F, 0xD040}, //8671 #HANGUL SYLLABLE KHIEUKH WI RIEULSIOS
+  {0xB450, 0xD041}, //8672 #HANGUL SYLLABLE KHIEUKH WI RIEULTHIEUTH
+  {0xB451, 0xD042}, //8673 #HANGUL SYLLABLE KHIEUKH WI RIEULPHIEUPH
+  {0xB452, 0xD043}, //8674 #HANGUL SYLLABLE KHIEUKH WI RIEULHIEUH
+  {0xB453, 0xD046}, //8675 #HANGUL SYLLABLE KHIEUKH WI PIEUPSIOS
+  {0xB454, 0xD048}, //8676 #HANGUL SYLLABLE KHIEUKH WI SSANGSIOS
+  {0xB455, 0xD04A}, //8677 #HANGUL SYLLABLE KHIEUKH WI CIEUC
+  {0xB456, 0xD04B}, //8678 #HANGUL SYLLABLE KHIEUKH WI CHIEUCH
+  {0xB457, 0xD04C}, //8679 #HANGUL SYLLABLE KHIEUKH WI KHIEUKH
+  {0xB458, 0xD04D}, //8680 #HANGUL SYLLABLE KHIEUKH WI THIEUTH
+  {0xB459, 0xD04E}, //8681 #HANGUL SYLLABLE KHIEUKH WI PHIEUPH
+  {0xB45A, 0xD04F}, //8682 #HANGUL SYLLABLE KHIEUKH WI HIEUH
+  {0xB461, 0xD051}, //8683 #HANGUL SYLLABLE KHIEUKH YU KIYEOK
+  {0xB462, 0xD052}, //8684 #HANGUL SYLLABLE KHIEUKH YU SSANGKIYEOK
+  {0xB463, 0xD053}, //8685 #HANGUL SYLLABLE KHIEUKH YU KIYEOKSIOS
+  {0xB464, 0xD055}, //8686 #HANGUL SYLLABLE KHIEUKH YU NIEUNCIEUC
+  {0xB465, 0xD056}, //8687 #HANGUL SYLLABLE KHIEUKH YU NIEUNHIEUH
+  {0xB466, 0xD057}, //8688 #HANGUL SYLLABLE KHIEUKH YU TIKEUT
+  {0xB467, 0xD059}, //8689 #HANGUL SYLLABLE KHIEUKH YU RIEULKIYEOK
+  {0xB468, 0xD05A}, //8690 #HANGUL SYLLABLE KHIEUKH YU RIEULMIEUM
+  {0xB469, 0xD05B}, //8691 #HANGUL SYLLABLE KHIEUKH YU RIEULPIEUP
+  {0xB46A, 0xD05C}, //8692 #HANGUL SYLLABLE KHIEUKH YU RIEULSIOS
+  {0xB46B, 0xD05D}, //8693 #HANGUL SYLLABLE KHIEUKH YU RIEULTHIEUTH
+  {0xB46C, 0xD05E}, //8694 #HANGUL SYLLABLE KHIEUKH YU RIEULPHIEUPH
+  {0xB46D, 0xD05F}, //8695 #HANGUL SYLLABLE KHIEUKH YU RIEULHIEUH
+  {0xB46E, 0xD061}, //8696 #HANGUL SYLLABLE KHIEUKH YU PIEUP
+  {0xB46F, 0xD062}, //8697 #HANGUL SYLLABLE KHIEUKH YU PIEUPSIOS
+  {0xB470, 0xD063}, //8698 #HANGUL SYLLABLE KHIEUKH YU SIOS
+  {0xB471, 0xD064}, //8699 #HANGUL SYLLABLE KHIEUKH YU SSANGSIOS
+  {0xB472, 0xD065}, //8700 #HANGUL SYLLABLE KHIEUKH YU IEUNG
+  {0xB473, 0xD066}, //8701 #HANGUL SYLLABLE KHIEUKH YU CIEUC
+  {0xB474, 0xD067}, //8702 #HANGUL SYLLABLE KHIEUKH YU CHIEUCH
+  {0xB475, 0xD068}, //8703 #HANGUL SYLLABLE KHIEUKH YU KHIEUKH
+  {0xB476, 0xD069}, //8704 #HANGUL SYLLABLE KHIEUKH YU THIEUTH
+  {0xB477, 0xD06A}, //8705 #HANGUL SYLLABLE KHIEUKH YU PHIEUPH
+  {0xB478, 0xD06B}, //8706 #HANGUL SYLLABLE KHIEUKH YU HIEUH
+  {0xB479, 0xD06E}, //8707 #HANGUL SYLLABLE KHIEUKH EU SSANGKIYEOK
+  {0xB47A, 0xD06F}, //8708 #HANGUL SYLLABLE KHIEUKH EU KIYEOKSIOS
+  {0xB481, 0xD071}, //8709 #HANGUL SYLLABLE KHIEUKH EU NIEUNCIEUC
+  {0xB482, 0xD072}, //8710 #HANGUL SYLLABLE KHIEUKH EU NIEUNHIEUH
+  {0xB483, 0xD073}, //8711 #HANGUL SYLLABLE KHIEUKH EU TIKEUT
+  {0xB484, 0xD075}, //8712 #HANGUL SYLLABLE KHIEUKH EU RIEULKIYEOK
+  {0xB485, 0xD076}, //8713 #HANGUL SYLLABLE KHIEUKH EU RIEULMIEUM
+  {0xB486, 0xD077}, //8714 #HANGUL SYLLABLE KHIEUKH EU RIEULPIEUP
+  {0xB487, 0xD078}, //8715 #HANGUL SYLLABLE KHIEUKH EU RIEULSIOS
+  {0xB488, 0xD079}, //8716 #HANGUL SYLLABLE KHIEUKH EU RIEULTHIEUTH
+  {0xB489, 0xD07A}, //8717 #HANGUL SYLLABLE KHIEUKH EU RIEULPHIEUPH
+  {0xB48A, 0xD07B}, //8718 #HANGUL SYLLABLE KHIEUKH EU RIEULHIEUH
+  {0xB48B, 0xD07E}, //8719 #HANGUL SYLLABLE KHIEUKH EU PIEUPSIOS
+  {0xB48C, 0xD07F}, //8720 #HANGUL SYLLABLE KHIEUKH EU SIOS
+  {0xB48D, 0xD080}, //8721 #HANGUL SYLLABLE KHIEUKH EU SSANGSIOS
+  {0xB48E, 0xD082}, //8722 #HANGUL SYLLABLE KHIEUKH EU CIEUC
+  {0xB48F, 0xD083}, //8723 #HANGUL SYLLABLE KHIEUKH EU CHIEUCH
+  {0xB490, 0xD084}, //8724 #HANGUL SYLLABLE KHIEUKH EU KHIEUKH
+  {0xB491, 0xD085}, //8725 #HANGUL SYLLABLE KHIEUKH EU THIEUTH
+  {0xB492, 0xD086}, //8726 #HANGUL SYLLABLE KHIEUKH EU PHIEUPH
+  {0xB493, 0xD087}, //8727 #HANGUL SYLLABLE KHIEUKH EU HIEUH
+  {0xB494, 0xD088}, //8728 #HANGUL SYLLABLE KHIEUKH YI
+  {0xB495, 0xD089}, //8729 #HANGUL SYLLABLE KHIEUKH YI KIYEOK
+  {0xB496, 0xD08A}, //8730 #HANGUL SYLLABLE KHIEUKH YI SSANGKIYEOK
+  {0xB497, 0xD08B}, //8731 #HANGUL SYLLABLE KHIEUKH YI KIYEOKSIOS
+  {0xB498, 0xD08C}, //8732 #HANGUL SYLLABLE KHIEUKH YI NIEUN
+  {0xB499, 0xD08D}, //8733 #HANGUL SYLLABLE KHIEUKH YI NIEUNCIEUC
+  {0xB49A, 0xD08E}, //8734 #HANGUL SYLLABLE KHIEUKH YI NIEUNHIEUH
+  {0xB49B, 0xD08F}, //8735 #HANGUL SYLLABLE KHIEUKH YI TIKEUT
+  {0xB49C, 0xD090}, //8736 #HANGUL SYLLABLE KHIEUKH YI RIEUL
+  {0xB49D, 0xD091}, //8737 #HANGUL SYLLABLE KHIEUKH YI RIEULKIYEOK
+  {0xB49E, 0xD092}, //8738 #HANGUL SYLLABLE KHIEUKH YI RIEULMIEUM
+  {0xB49F, 0xD093}, //8739 #HANGUL SYLLABLE KHIEUKH YI RIEULPIEUP
+  {0xB4A0, 0xD094}, //8740 #HANGUL SYLLABLE KHIEUKH YI RIEULSIOS
+  {0xB4A1, 0xB1DF}, //8741 #HANGUL SYLLABLE NIEUN OE SIOS
+  {0xB4A2, 0xB1E8}, //8742 #HANGUL SYLLABLE NIEUN YO
+  {0xB4A3, 0xB1E9}, //8743 #HANGUL SYLLABLE NIEUN YO KIYEOK
+  {0xB4A4, 0xB1EC}, //8744 #HANGUL SYLLABLE NIEUN YO NIEUN
+  {0xB4A5, 0xB1F0}, //8745 #HANGUL SYLLABLE NIEUN YO RIEUL
+  {0xB4A6, 0xB1F9}, //8746 #HANGUL SYLLABLE NIEUN YO PIEUP
+  {0xB4A7, 0xB1FB}, //8747 #HANGUL SYLLABLE NIEUN YO SIOS
+  {0xB4A8, 0xB1FD}, //8748 #HANGUL SYLLABLE NIEUN YO IEUNG
+  {0xB4A9, 0xB204}, //8749 #HANGUL SYLLABLE NIEUN U
+  {0xB4AA, 0xB205}, //8750 #HANGUL SYLLABLE NIEUN U KIYEOK
+  {0xB4AB, 0xB208}, //8751 #HANGUL SYLLABLE NIEUN U NIEUN
+  {0xB4AC, 0xB20B}, //8752 #HANGUL SYLLABLE NIEUN U TIKEUT
+  {0xB4AD, 0xB20C}, //8753 #HANGUL SYLLABLE NIEUN U RIEUL
+  {0xB4AE, 0xB214}, //8754 #HANGUL SYLLABLE NIEUN U MIEUM
+  {0xB4AF, 0xB215}, //8755 #HANGUL SYLLABLE NIEUN U PIEUP
+  {0xB4B0, 0xB217}, //8756 #HANGUL SYLLABLE NIEUN U SIOS
+  {0xB4B1, 0xB219}, //8757 #HANGUL SYLLABLE NIEUN U IEUNG
+  {0xB4B2, 0xB220}, //8758 #HANGUL SYLLABLE NIEUN WEO
+  {0xB4B3, 0xB234}, //8759 #HANGUL SYLLABLE NIEUN WEO SSANGSIOS
+  {0xB4B4, 0xB23C}, //8760 #HANGUL SYLLABLE NIEUN WE
+  {0xB4B5, 0xB258}, //8761 #HANGUL SYLLABLE NIEUN WI
+  {0xB4B6, 0xB25C}, //8762 #HANGUL SYLLABLE NIEUN WI NIEUN
+  {0xB4B7, 0xB260}, //8763 #HANGUL SYLLABLE NIEUN WI RIEUL
+  {0xB4B8, 0xB268}, //8764 #HANGUL SYLLABLE NIEUN WI MIEUM
+  {0xB4B9, 0xB269}, //8765 #HANGUL SYLLABLE NIEUN WI PIEUP
+  {0xB4BA, 0xB274}, //8766 #HANGUL SYLLABLE NIEUN YU
+  {0xB4BB, 0xB275}, //8767 #HANGUL SYLLABLE NIEUN YU KIYEOK
+  {0xB4BC, 0xB27C}, //8768 #HANGUL SYLLABLE NIEUN YU RIEUL
+  {0xB4BD, 0xB284}, //8769 #HANGUL SYLLABLE NIEUN YU MIEUM
+  {0xB4BE, 0xB285}, //8770 #HANGUL SYLLABLE NIEUN YU PIEUP
+  {0xB4BF, 0xB289}, //8771 #HANGUL SYLLABLE NIEUN YU IEUNG
+  {0xB4C0, 0xB290}, //8772 #HANGUL SYLLABLE NIEUN EU
+  {0xB4C1, 0xB291}, //8773 #HANGUL SYLLABLE NIEUN EU KIYEOK
+  {0xB4C2, 0xB294}, //8774 #HANGUL SYLLABLE NIEUN EU NIEUN
+  {0xB4C3, 0xB298}, //8775 #HANGUL SYLLABLE NIEUN EU RIEUL
+  {0xB4C4, 0xB299}, //8776 #HANGUL SYLLABLE NIEUN EU RIEULKIYEOK
+  {0xB4C5, 0xB29A}, //8777 #HANGUL SYLLABLE NIEUN EU RIEULMIEUM
+  {0xB4C6, 0xB2A0}, //8778 #HANGUL SYLLABLE NIEUN EU MIEUM
+  {0xB4C7, 0xB2A1}, //8779 #HANGUL SYLLABLE NIEUN EU PIEUP
+  {0xB4C8, 0xB2A3}, //8780 #HANGUL SYLLABLE NIEUN EU SIOS
+  {0xB4C9, 0xB2A5}, //8781 #HANGUL SYLLABLE NIEUN EU IEUNG
+  {0xB4CA, 0xB2A6}, //8782 #HANGUL SYLLABLE NIEUN EU CIEUC
+  {0xB4CB, 0xB2AA}, //8783 #HANGUL SYLLABLE NIEUN EU PHIEUPH
+  {0xB4CC, 0xB2AC}, //8784 #HANGUL SYLLABLE NIEUN YI
+  {0xB4CD, 0xB2B0}, //8785 #HANGUL SYLLABLE NIEUN YI NIEUN
+  {0xB4CE, 0xB2B4}, //8786 #HANGUL SYLLABLE NIEUN YI RIEUL
+  {0xB4CF, 0xB2C8}, //8787 #HANGUL SYLLABLE NIEUN I
+  {0xB4D0, 0xB2C9}, //8788 #HANGUL SYLLABLE NIEUN I KIYEOK
+  {0xB4D1, 0xB2CC}, //8789 #HANGUL SYLLABLE NIEUN I NIEUN
+  {0xB4D2, 0xB2D0}, //8790 #HANGUL SYLLABLE NIEUN I RIEUL
+  {0xB4D3, 0xB2D2}, //8791 #HANGUL SYLLABLE NIEUN I RIEULMIEUM
+  {0xB4D4, 0xB2D8}, //8792 #HANGUL SYLLABLE NIEUN I MIEUM
+  {0xB4D5, 0xB2D9}, //8793 #HANGUL SYLLABLE NIEUN I PIEUP
+  {0xB4D6, 0xB2DB}, //8794 #HANGUL SYLLABLE NIEUN I SIOS
+  {0xB4D7, 0xB2DD}, //8795 #HANGUL SYLLABLE NIEUN I IEUNG
+  {0xB4D8, 0xB2E2}, //8796 #HANGUL SYLLABLE NIEUN I PHIEUPH
+  {0xB4D9, 0xB2E4}, //8797 #HANGUL SYLLABLE TIKEUT A
+  {0xB4DA, 0xB2E5}, //8798 #HANGUL SYLLABLE TIKEUT A KIYEOK
+  {0xB4DB, 0xB2E6}, //8799 #HANGUL SYLLABLE TIKEUT A SSANGKIYEOK
+  {0xB4DC, 0xB2E8}, //8800 #HANGUL SYLLABLE TIKEUT A NIEUN
+  {0xB4DD, 0xB2EB}, //8801 #HANGUL SYLLABLE TIKEUT A TIKEUT
+  {0xB4DE, 0xB2EC}, //8802 #HANGUL SYLLABLE TIKEUT A RIEUL
+  {0xB4DF, 0xB2ED}, //8803 #HANGUL SYLLABLE TIKEUT A RIEULKIYEOK
+  {0xB4E0, 0xB2EE}, //8804 #HANGUL SYLLABLE TIKEUT A RIEULMIEUM
+  {0xB4E1, 0xB2EF}, //8805 #HANGUL SYLLABLE TIKEUT A RIEULPIEUP
+  {0xB4E2, 0xB2F3}, //8806 #HANGUL SYLLABLE TIKEUT A RIEULHIEUH
+  {0xB4E3, 0xB2F4}, //8807 #HANGUL SYLLABLE TIKEUT A MIEUM
+  {0xB4E4, 0xB2F5}, //8808 #HANGUL SYLLABLE TIKEUT A PIEUP
+  {0xB4E5, 0xB2F7}, //8809 #HANGUL SYLLABLE TIKEUT A SIOS
+  {0xB4E6, 0xB2F8}, //8810 #HANGUL SYLLABLE TIKEUT A SSANGSIOS
+  {0xB4E7, 0xB2F9}, //8811 #HANGUL SYLLABLE TIKEUT A IEUNG
+  {0xB4E8, 0xB2FA}, //8812 #HANGUL SYLLABLE TIKEUT A CIEUC
+  {0xB4E9, 0xB2FB}, //8813 #HANGUL SYLLABLE TIKEUT A CHIEUCH
+  {0xB4EA, 0xB2FF}, //8814 #HANGUL SYLLABLE TIKEUT A HIEUH
+  {0xB4EB, 0xB300}, //8815 #HANGUL SYLLABLE TIKEUT AE
+  {0xB4EC, 0xB301}, //8816 #HANGUL SYLLABLE TIKEUT AE KIYEOK
+  {0xB4ED, 0xB304}, //8817 #HANGUL SYLLABLE TIKEUT AE NIEUN
+  {0xB4EE, 0xB308}, //8818 #HANGUL SYLLABLE TIKEUT AE RIEUL
+  {0xB4EF, 0xB310}, //8819 #HANGUL SYLLABLE TIKEUT AE MIEUM
+  {0xB4F0, 0xB311}, //8820 #HANGUL SYLLABLE TIKEUT AE PIEUP
+  {0xB4F1, 0xB313}, //8821 #HANGUL SYLLABLE TIKEUT AE SIOS
+  {0xB4F2, 0xB314}, //8822 #HANGUL SYLLABLE TIKEUT AE SSANGSIOS
+  {0xB4F3, 0xB315}, //8823 #HANGUL SYLLABLE TIKEUT AE IEUNG
+  {0xB4F4, 0xB31C}, //8824 #HANGUL SYLLABLE TIKEUT YA
+  {0xB4F5, 0xB354}, //8825 #HANGUL SYLLABLE TIKEUT EO
+  {0xB4F6, 0xB355}, //8826 #HANGUL SYLLABLE TIKEUT EO KIYEOK
+  {0xB4F7, 0xB356}, //8827 #HANGUL SYLLABLE TIKEUT EO SSANGKIYEOK
+  {0xB4F8, 0xB358}, //8828 #HANGUL SYLLABLE TIKEUT EO NIEUN
+  {0xB4F9, 0xB35B}, //8829 #HANGUL SYLLABLE TIKEUT EO TIKEUT
+  {0xB4FA, 0xB35C}, //8830 #HANGUL SYLLABLE TIKEUT EO RIEUL
+  {0xB4FB, 0xB35E}, //8831 #HANGUL SYLLABLE TIKEUT EO RIEULMIEUM
+  {0xB4FC, 0xB35F}, //8832 #HANGUL SYLLABLE TIKEUT EO RIEULPIEUP
+  {0xB4FD, 0xB364}, //8833 #HANGUL SYLLABLE TIKEUT EO MIEUM
+  {0xB4FE, 0xB365}, //8834 #HANGUL SYLLABLE TIKEUT EO PIEUP
+  {0xB541, 0xD095}, //8835 #HANGUL SYLLABLE KHIEUKH YI RIEULTHIEUTH
+  {0xB542, 0xD096}, //8836 #HANGUL SYLLABLE KHIEUKH YI RIEULPHIEUPH
+  {0xB543, 0xD097}, //8837 #HANGUL SYLLABLE KHIEUKH YI RIEULHIEUH
+  {0xB544, 0xD098}, //8838 #HANGUL SYLLABLE KHIEUKH YI MIEUM
+  {0xB545, 0xD099}, //8839 #HANGUL SYLLABLE KHIEUKH YI PIEUP
+  {0xB546, 0xD09A}, //8840 #HANGUL SYLLABLE KHIEUKH YI PIEUPSIOS
+  {0xB547, 0xD09B}, //8841 #HANGUL SYLLABLE KHIEUKH YI SIOS
+  {0xB548, 0xD09C}, //8842 #HANGUL SYLLABLE KHIEUKH YI SSANGSIOS
+  {0xB549, 0xD09D}, //8843 #HANGUL SYLLABLE KHIEUKH YI IEUNG
+  {0xB54A, 0xD09E}, //8844 #HANGUL SYLLABLE KHIEUKH YI CIEUC
+  {0xB54B, 0xD09F}, //8845 #HANGUL SYLLABLE KHIEUKH YI CHIEUCH
+  {0xB54C, 0xD0A0}, //8846 #HANGUL SYLLABLE KHIEUKH YI KHIEUKH
+  {0xB54D, 0xD0A1}, //8847 #HANGUL SYLLABLE KHIEUKH YI THIEUTH
+  {0xB54E, 0xD0A2}, //8848 #HANGUL SYLLABLE KHIEUKH YI PHIEUPH
+  {0xB54F, 0xD0A3}, //8849 #HANGUL SYLLABLE KHIEUKH YI HIEUH
+  {0xB550, 0xD0A6}, //8850 #HANGUL SYLLABLE KHIEUKH I SSANGKIYEOK
+  {0xB551, 0xD0A7}, //8851 #HANGUL SYLLABLE KHIEUKH I KIYEOKSIOS
+  {0xB552, 0xD0A9}, //8852 #HANGUL SYLLABLE KHIEUKH I NIEUNCIEUC
+  {0xB553, 0xD0AA}, //8853 #HANGUL SYLLABLE KHIEUKH I NIEUNHIEUH
+  {0xB554, 0xD0AB}, //8854 #HANGUL SYLLABLE KHIEUKH I TIKEUT
+  {0xB555, 0xD0AD}, //8855 #HANGUL SYLLABLE KHIEUKH I RIEULKIYEOK
+  {0xB556, 0xD0AE}, //8856 #HANGUL SYLLABLE KHIEUKH I RIEULMIEUM
+  {0xB557, 0xD0AF}, //8857 #HANGUL SYLLABLE KHIEUKH I RIEULPIEUP
+  {0xB558, 0xD0B0}, //8858 #HANGUL SYLLABLE KHIEUKH I RIEULSIOS
+  {0xB559, 0xD0B1}, //8859 #HANGUL SYLLABLE KHIEUKH I RIEULTHIEUTH
+  {0xB55A, 0xD0B2}, //8860 #HANGUL SYLLABLE KHIEUKH I RIEULPHIEUPH
+  {0xB561, 0xD0B3}, //8861 #HANGUL SYLLABLE KHIEUKH I RIEULHIEUH
+  {0xB562, 0xD0B6}, //8862 #HANGUL SYLLABLE KHIEUKH I PIEUPSIOS
+  {0xB563, 0xD0B8}, //8863 #HANGUL SYLLABLE KHIEUKH I SSANGSIOS
+  {0xB564, 0xD0BA}, //8864 #HANGUL SYLLABLE KHIEUKH I CIEUC
+  {0xB565, 0xD0BB}, //8865 #HANGUL SYLLABLE KHIEUKH I CHIEUCH
+  {0xB566, 0xD0BC}, //8866 #HANGUL SYLLABLE KHIEUKH I KHIEUKH
+  {0xB567, 0xD0BD}, //8867 #HANGUL SYLLABLE KHIEUKH I THIEUTH
+  {0xB568, 0xD0BE}, //8868 #HANGUL SYLLABLE KHIEUKH I PHIEUPH
+  {0xB569, 0xD0BF}, //8869 #HANGUL SYLLABLE KHIEUKH I HIEUH
+  {0xB56A, 0xD0C2}, //8870 #HANGUL SYLLABLE THIEUTH A SSANGKIYEOK
+  {0xB56B, 0xD0C3}, //8871 #HANGUL SYLLABLE THIEUTH A KIYEOKSIOS
+  {0xB56C, 0xD0C5}, //8872 #HANGUL SYLLABLE THIEUTH A NIEUNCIEUC
+  {0xB56D, 0xD0C6}, //8873 #HANGUL SYLLABLE THIEUTH A NIEUNHIEUH
+  {0xB56E, 0xD0C7}, //8874 #HANGUL SYLLABLE THIEUTH A TIKEUT
+  {0xB56F, 0xD0CA}, //8875 #HANGUL SYLLABLE THIEUTH A RIEULMIEUM
+  {0xB570, 0xD0CB}, //8876 #HANGUL SYLLABLE THIEUTH A RIEULPIEUP
+  {0xB571, 0xD0CC}, //8877 #HANGUL SYLLABLE THIEUTH A RIEULSIOS
+  {0xB572, 0xD0CD}, //8878 #HANGUL SYLLABLE THIEUTH A RIEULTHIEUTH
+  {0xB573, 0xD0CE}, //8879 #HANGUL SYLLABLE THIEUTH A RIEULPHIEUPH
+  {0xB574, 0xD0CF}, //8880 #HANGUL SYLLABLE THIEUTH A RIEULHIEUH
+  {0xB575, 0xD0D2}, //8881 #HANGUL SYLLABLE THIEUTH A PIEUPSIOS
+  {0xB576, 0xD0D6}, //8882 #HANGUL SYLLABLE THIEUTH A CIEUC
+  {0xB577, 0xD0D7}, //8883 #HANGUL SYLLABLE THIEUTH A CHIEUCH
+  {0xB578, 0xD0D8}, //8884 #HANGUL SYLLABLE THIEUTH A KHIEUKH
+  {0xB579, 0xD0D9}, //8885 #HANGUL SYLLABLE THIEUTH A THIEUTH
+  {0xB57A, 0xD0DA}, //8886 #HANGUL SYLLABLE THIEUTH A PHIEUPH
+  {0xB581, 0xD0DB}, //8887 #HANGUL SYLLABLE THIEUTH A HIEUH
+  {0xB582, 0xD0DE}, //8888 #HANGUL SYLLABLE THIEUTH AE SSANGKIYEOK
+  {0xB583, 0xD0DF}, //8889 #HANGUL SYLLABLE THIEUTH AE KIYEOKSIOS
+  {0xB584, 0xD0E1}, //8890 #HANGUL SYLLABLE THIEUTH AE NIEUNCIEUC
+  {0xB585, 0xD0E2}, //8891 #HANGUL SYLLABLE THIEUTH AE NIEUNHIEUH
+  {0xB586, 0xD0E3}, //8892 #HANGUL SYLLABLE THIEUTH AE TIKEUT
+  {0xB587, 0xD0E5}, //8893 #HANGUL SYLLABLE THIEUTH AE RIEULKIYEOK
+  {0xB588, 0xD0E6}, //8894 #HANGUL SYLLABLE THIEUTH AE RIEULMIEUM
+  {0xB589, 0xD0E7}, //8895 #HANGUL SYLLABLE THIEUTH AE RIEULPIEUP
+  {0xB58A, 0xD0E8}, //8896 #HANGUL SYLLABLE THIEUTH AE RIEULSIOS
+  {0xB58B, 0xD0E9}, //8897 #HANGUL SYLLABLE THIEUTH AE RIEULTHIEUTH
+  {0xB58C, 0xD0EA}, //8898 #HANGUL SYLLABLE THIEUTH AE RIEULPHIEUPH
+  {0xB58D, 0xD0EB}, //8899 #HANGUL SYLLABLE THIEUTH AE RIEULHIEUH
+  {0xB58E, 0xD0EE}, //8900 #HANGUL SYLLABLE THIEUTH AE PIEUPSIOS
+  {0xB58F, 0xD0F2}, //8901 #HANGUL SYLLABLE THIEUTH AE CIEUC
+  {0xB590, 0xD0F3}, //8902 #HANGUL SYLLABLE THIEUTH AE CHIEUCH
+  {0xB591, 0xD0F4}, //8903 #HANGUL SYLLABLE THIEUTH AE KHIEUKH
+  {0xB592, 0xD0F5}, //8904 #HANGUL SYLLABLE THIEUTH AE THIEUTH
+  {0xB593, 0xD0F6}, //8905 #HANGUL SYLLABLE THIEUTH AE PHIEUPH
+  {0xB594, 0xD0F7}, //8906 #HANGUL SYLLABLE THIEUTH AE HIEUH
+  {0xB595, 0xD0F9}, //8907 #HANGUL SYLLABLE THIEUTH YA KIYEOK
+  {0xB596, 0xD0FA}, //8908 #HANGUL SYLLABLE THIEUTH YA SSANGKIYEOK
+  {0xB597, 0xD0FB}, //8909 #HANGUL SYLLABLE THIEUTH YA KIYEOKSIOS
+  {0xB598, 0xD0FC}, //8910 #HANGUL SYLLABLE THIEUTH YA NIEUN
+  {0xB599, 0xD0FD}, //8911 #HANGUL SYLLABLE THIEUTH YA NIEUNCIEUC
+  {0xB59A, 0xD0FE}, //8912 #HANGUL SYLLABLE THIEUTH YA NIEUNHIEUH
+  {0xB59B, 0xD0FF}, //8913 #HANGUL SYLLABLE THIEUTH YA TIKEUT
+  {0xB59C, 0xD100}, //8914 #HANGUL SYLLABLE THIEUTH YA RIEUL
+  {0xB59D, 0xD101}, //8915 #HANGUL SYLLABLE THIEUTH YA RIEULKIYEOK
+  {0xB59E, 0xD102}, //8916 #HANGUL SYLLABLE THIEUTH YA RIEULMIEUM
+  {0xB59F, 0xD103}, //8917 #HANGUL SYLLABLE THIEUTH YA RIEULPIEUP
+  {0xB5A0, 0xD104}, //8918 #HANGUL SYLLABLE THIEUTH YA RIEULSIOS
+  {0xB5A1, 0xB367}, //8919 #HANGUL SYLLABLE TIKEUT EO SIOS
+  {0xB5A2, 0xB369}, //8920 #HANGUL SYLLABLE TIKEUT EO IEUNG
+  {0xB5A3, 0xB36B}, //8921 #HANGUL SYLLABLE TIKEUT EO CHIEUCH
+  {0xB5A4, 0xB36E}, //8922 #HANGUL SYLLABLE TIKEUT EO PHIEUPH
+  {0xB5A5, 0xB370}, //8923 #HANGUL SYLLABLE TIKEUT E
+  {0xB5A6, 0xB371}, //8924 #HANGUL SYLLABLE TIKEUT E KIYEOK
+  {0xB5A7, 0xB374}, //8925 #HANGUL SYLLABLE TIKEUT E NIEUN
+  {0xB5A8, 0xB378}, //8926 #HANGUL SYLLABLE TIKEUT E RIEUL
+  {0xB5A9, 0xB380}, //8927 #HANGUL SYLLABLE TIKEUT E MIEUM
+  {0xB5AA, 0xB381}, //8928 #HANGUL SYLLABLE TIKEUT E PIEUP
+  {0xB5AB, 0xB383}, //8929 #HANGUL SYLLABLE TIKEUT E SIOS
+  {0xB5AC, 0xB384}, //8930 #HANGUL SYLLABLE TIKEUT E SSANGSIOS
+  {0xB5AD, 0xB385}, //8931 #HANGUL SYLLABLE TIKEUT E IEUNG
+  {0xB5AE, 0xB38C}, //8932 #HANGUL SYLLABLE TIKEUT YEO
+  {0xB5AF, 0xB390}, //8933 #HANGUL SYLLABLE TIKEUT YEO NIEUN
+  {0xB5B0, 0xB394}, //8934 #HANGUL SYLLABLE TIKEUT YEO RIEUL
+  {0xB5B1, 0xB3A0}, //8935 #HANGUL SYLLABLE TIKEUT YEO SSANGSIOS
+  {0xB5B2, 0xB3A1}, //8936 #HANGUL SYLLABLE TIKEUT YEO IEUNG
+  {0xB5B3, 0xB3A8}, //8937 #HANGUL SYLLABLE TIKEUT YE
+  {0xB5B4, 0xB3AC}, //8938 #HANGUL SYLLABLE TIKEUT YE NIEUN
+  {0xB5B5, 0xB3C4}, //8939 #HANGUL SYLLABLE TIKEUT O
+  {0xB5B6, 0xB3C5}, //8940 #HANGUL SYLLABLE TIKEUT O KIYEOK
+  {0xB5B7, 0xB3C8}, //8941 #HANGUL SYLLABLE TIKEUT O NIEUN
+  {0xB5B8, 0xB3CB}, //8942 #HANGUL SYLLABLE TIKEUT O TIKEUT
+  {0xB5B9, 0xB3CC}, //8943 #HANGUL SYLLABLE TIKEUT O RIEUL
+  {0xB5BA, 0xB3CE}, //8944 #HANGUL SYLLABLE TIKEUT O RIEULMIEUM
+  {0xB5BB, 0xB3D0}, //8945 #HANGUL SYLLABLE TIKEUT O RIEULSIOS
+  {0xB5BC, 0xB3D4}, //8946 #HANGUL SYLLABLE TIKEUT O MIEUM
+  {0xB5BD, 0xB3D5}, //8947 #HANGUL SYLLABLE TIKEUT O PIEUP
+  {0xB5BE, 0xB3D7}, //8948 #HANGUL SYLLABLE TIKEUT O SIOS
+  {0xB5BF, 0xB3D9}, //8949 #HANGUL SYLLABLE TIKEUT O IEUNG
+  {0xB5C0, 0xB3DB}, //8950 #HANGUL SYLLABLE TIKEUT O CHIEUCH
+  {0xB5C1, 0xB3DD}, //8951 #HANGUL SYLLABLE TIKEUT O THIEUTH
+  {0xB5C2, 0xB3E0}, //8952 #HANGUL SYLLABLE TIKEUT WA
+  {0xB5C3, 0xB3E4}, //8953 #HANGUL SYLLABLE TIKEUT WA NIEUN
+  {0xB5C4, 0xB3E8}, //8954 #HANGUL SYLLABLE TIKEUT WA RIEUL
+  {0xB5C5, 0xB3FC}, //8955 #HANGUL SYLLABLE TIKEUT WAE
+  {0xB5C6, 0xB410}, //8956 #HANGUL SYLLABLE TIKEUT WAE SSANGSIOS
+  {0xB5C7, 0xB418}, //8957 #HANGUL SYLLABLE TIKEUT OE
+  {0xB5C8, 0xB41C}, //8958 #HANGUL SYLLABLE TIKEUT OE NIEUN
+  {0xB5C9, 0xB420}, //8959 #HANGUL SYLLABLE TIKEUT OE RIEUL
+  {0xB5CA, 0xB428}, //8960 #HANGUL SYLLABLE TIKEUT OE MIEUM
+  {0xB5CB, 0xB429}, //8961 #HANGUL SYLLABLE TIKEUT OE PIEUP
+  {0xB5CC, 0xB42B}, //8962 #HANGUL SYLLABLE TIKEUT OE SIOS
+  {0xB5CD, 0xB434}, //8963 #HANGUL SYLLABLE TIKEUT YO
+  {0xB5CE, 0xB450}, //8964 #HANGUL SYLLABLE TIKEUT U
+  {0xB5CF, 0xB451}, //8965 #HANGUL SYLLABLE TIKEUT U KIYEOK
+  {0xB5D0, 0xB454}, //8966 #HANGUL SYLLABLE TIKEUT U NIEUN
+  {0xB5D1, 0xB458}, //8967 #HANGUL SYLLABLE TIKEUT U RIEUL
+  {0xB5D2, 0xB460}, //8968 #HANGUL SYLLABLE TIKEUT U MIEUM
+  {0xB5D3, 0xB461}, //8969 #HANGUL SYLLABLE TIKEUT U PIEUP
+  {0xB5D4, 0xB463}, //8970 #HANGUL SYLLABLE TIKEUT U SIOS
+  {0xB5D5, 0xB465}, //8971 #HANGUL SYLLABLE TIKEUT U IEUNG
+  {0xB5D6, 0xB46C}, //8972 #HANGUL SYLLABLE TIKEUT WEO
+  {0xB5D7, 0xB480}, //8973 #HANGUL SYLLABLE TIKEUT WEO SSANGSIOS
+  {0xB5D8, 0xB488}, //8974 #HANGUL SYLLABLE TIKEUT WE
+  {0xB5D9, 0xB49D}, //8975 #HANGUL SYLLABLE TIKEUT WE IEUNG
+  {0xB5DA, 0xB4A4}, //8976 #HANGUL SYLLABLE TIKEUT WI
+  {0xB5DB, 0xB4A8}, //8977 #HANGUL SYLLABLE TIKEUT WI NIEUN
+  {0xB5DC, 0xB4AC}, //8978 #HANGUL SYLLABLE TIKEUT WI RIEUL
+  {0xB5DD, 0xB4B5}, //8979 #HANGUL SYLLABLE TIKEUT WI PIEUP
+  {0xB5DE, 0xB4B7}, //8980 #HANGUL SYLLABLE TIKEUT WI SIOS
+  {0xB5DF, 0xB4B9}, //8981 #HANGUL SYLLABLE TIKEUT WI IEUNG
+  {0xB5E0, 0xB4C0}, //8982 #HANGUL SYLLABLE TIKEUT YU
+  {0xB5E1, 0xB4C4}, //8983 #HANGUL SYLLABLE TIKEUT YU NIEUN
+  {0xB5E2, 0xB4C8}, //8984 #HANGUL SYLLABLE TIKEUT YU RIEUL
+  {0xB5E3, 0xB4D0}, //8985 #HANGUL SYLLABLE TIKEUT YU MIEUM
+  {0xB5E4, 0xB4D5}, //8986 #HANGUL SYLLABLE TIKEUT YU IEUNG
+  {0xB5E5, 0xB4DC}, //8987 #HANGUL SYLLABLE TIKEUT EU
+  {0xB5E6, 0xB4DD}, //8988 #HANGUL SYLLABLE TIKEUT EU KIYEOK
+  {0xB5E7, 0xB4E0}, //8989 #HANGUL SYLLABLE TIKEUT EU NIEUN
+  {0xB5E8, 0xB4E3}, //8990 #HANGUL SYLLABLE TIKEUT EU TIKEUT
+  {0xB5E9, 0xB4E4}, //8991 #HANGUL SYLLABLE TIKEUT EU RIEUL
+  {0xB5EA, 0xB4E6}, //8992 #HANGUL SYLLABLE TIKEUT EU RIEULMIEUM
+  {0xB5EB, 0xB4EC}, //8993 #HANGUL SYLLABLE TIKEUT EU MIEUM
+  {0xB5EC, 0xB4ED}, //8994 #HANGUL SYLLABLE TIKEUT EU PIEUP
+  {0xB5ED, 0xB4EF}, //8995 #HANGUL SYLLABLE TIKEUT EU SIOS
+  {0xB5EE, 0xB4F1}, //8996 #HANGUL SYLLABLE TIKEUT EU IEUNG
+  {0xB5EF, 0xB4F8}, //8997 #HANGUL SYLLABLE TIKEUT YI
+  {0xB5F0, 0xB514}, //8998 #HANGUL SYLLABLE TIKEUT I
+  {0xB5F1, 0xB515}, //8999 #HANGUL SYLLABLE TIKEUT I KIYEOK
+  {0xB5F2, 0xB518}, //9000 #HANGUL SYLLABLE TIKEUT I NIEUN
+  {0xB5F3, 0xB51B}, //9001 #HANGUL SYLLABLE TIKEUT I TIKEUT
+  {0xB5F4, 0xB51C}, //9002 #HANGUL SYLLABLE TIKEUT I RIEUL
+  {0xB5F5, 0xB524}, //9003 #HANGUL SYLLABLE TIKEUT I MIEUM
+  {0xB5F6, 0xB525}, //9004 #HANGUL SYLLABLE TIKEUT I PIEUP
+  {0xB5F7, 0xB527}, //9005 #HANGUL SYLLABLE TIKEUT I SIOS
+  {0xB5F8, 0xB528}, //9006 #HANGUL SYLLABLE TIKEUT I SSANGSIOS
+  {0xB5F9, 0xB529}, //9007 #HANGUL SYLLABLE TIKEUT I IEUNG
+  {0xB5FA, 0xB52A}, //9008 #HANGUL SYLLABLE TIKEUT I CIEUC
+  {0xB5FB, 0xB530}, //9009 #HANGUL SYLLABLE SSANGTIKEUT A
+  {0xB5FC, 0xB531}, //9010 #HANGUL SYLLABLE SSANGTIKEUT A KIYEOK
+  {0xB5FD, 0xB534}, //9011 #HANGUL SYLLABLE SSANGTIKEUT A NIEUN
+  {0xB5FE, 0xB538}, //9012 #HANGUL SYLLABLE SSANGTIKEUT A RIEUL
+  {0xB641, 0xD105}, //9013 #HANGUL SYLLABLE THIEUTH YA RIEULTHIEUTH
+  {0xB642, 0xD106}, //9014 #HANGUL SYLLABLE THIEUTH YA RIEULPHIEUPH
+  {0xB643, 0xD107}, //9015 #HANGUL SYLLABLE THIEUTH YA RIEULHIEUH
+  {0xB644, 0xD108}, //9016 #HANGUL SYLLABLE THIEUTH YA MIEUM
+  {0xB645, 0xD109}, //9017 #HANGUL SYLLABLE THIEUTH YA PIEUP
+  {0xB646, 0xD10A}, //9018 #HANGUL SYLLABLE THIEUTH YA PIEUPSIOS
+  {0xB647, 0xD10B}, //9019 #HANGUL SYLLABLE THIEUTH YA SIOS
+  {0xB648, 0xD10C}, //9020 #HANGUL SYLLABLE THIEUTH YA SSANGSIOS
+  {0xB649, 0xD10E}, //9021 #HANGUL SYLLABLE THIEUTH YA CIEUC
+  {0xB64A, 0xD10F}, //9022 #HANGUL SYLLABLE THIEUTH YA CHIEUCH
+  {0xB64B, 0xD110}, //9023 #HANGUL SYLLABLE THIEUTH YA KHIEUKH
+  {0xB64C, 0xD111}, //9024 #HANGUL SYLLABLE THIEUTH YA THIEUTH
+  {0xB64D, 0xD112}, //9025 #HANGUL SYLLABLE THIEUTH YA PHIEUPH
+  {0xB64E, 0xD113}, //9026 #HANGUL SYLLABLE THIEUTH YA HIEUH
+  {0xB64F, 0xD114}, //9027 #HANGUL SYLLABLE THIEUTH YAE
+  {0xB650, 0xD115}, //9028 #HANGUL SYLLABLE THIEUTH YAE KIYEOK
+  {0xB651, 0xD116}, //9029 #HANGUL SYLLABLE THIEUTH YAE SSANGKIYEOK
+  {0xB652, 0xD117}, //9030 #HANGUL SYLLABLE THIEUTH YAE KIYEOKSIOS
+  {0xB653, 0xD118}, //9031 #HANGUL SYLLABLE THIEUTH YAE NIEUN
+  {0xB654, 0xD119}, //9032 #HANGUL SYLLABLE THIEUTH YAE NIEUNCIEUC
+  {0xB655, 0xD11A}, //9033 #HANGUL SYLLABLE THIEUTH YAE NIEUNHIEUH
+  {0xB656, 0xD11B}, //9034 #HANGUL SYLLABLE THIEUTH YAE TIKEUT
+  {0xB657, 0xD11C}, //9035 #HANGUL SYLLABLE THIEUTH YAE RIEUL
+  {0xB658, 0xD11D}, //9036 #HANGUL SYLLABLE THIEUTH YAE RIEULKIYEOK
+  {0xB659, 0xD11E}, //9037 #HANGUL SYLLABLE THIEUTH YAE RIEULMIEUM
+  {0xB65A, 0xD11F}, //9038 #HANGUL SYLLABLE THIEUTH YAE RIEULPIEUP
+  {0xB661, 0xD120}, //9039 #HANGUL SYLLABLE THIEUTH YAE RIEULSIOS
+  {0xB662, 0xD121}, //9040 #HANGUL SYLLABLE THIEUTH YAE RIEULTHIEUTH
+  {0xB663, 0xD122}, //9041 #HANGUL SYLLABLE THIEUTH YAE RIEULPHIEUPH
+  {0xB664, 0xD123}, //9042 #HANGUL SYLLABLE THIEUTH YAE RIEULHIEUH
+  {0xB665, 0xD124}, //9043 #HANGUL SYLLABLE THIEUTH YAE MIEUM
+  {0xB666, 0xD125}, //9044 #HANGUL SYLLABLE THIEUTH YAE PIEUP
+  {0xB667, 0xD126}, //9045 #HANGUL SYLLABLE THIEUTH YAE PIEUPSIOS
+  {0xB668, 0xD127}, //9046 #HANGUL SYLLABLE THIEUTH YAE SIOS
+  {0xB669, 0xD128}, //9047 #HANGUL SYLLABLE THIEUTH YAE SSANGSIOS
+  {0xB66A, 0xD129}, //9048 #HANGUL SYLLABLE THIEUTH YAE IEUNG
+  {0xB66B, 0xD12A}, //9049 #HANGUL SYLLABLE THIEUTH YAE CIEUC
+  {0xB66C, 0xD12B}, //9050 #HANGUL SYLLABLE THIEUTH YAE CHIEUCH
+  {0xB66D, 0xD12C}, //9051 #HANGUL SYLLABLE THIEUTH YAE KHIEUKH
+  {0xB66E, 0xD12D}, //9052 #HANGUL SYLLABLE THIEUTH YAE THIEUTH
+  {0xB66F, 0xD12E}, //9053 #HANGUL SYLLABLE THIEUTH YAE PHIEUPH
+  {0xB670, 0xD12F}, //9054 #HANGUL SYLLABLE THIEUTH YAE HIEUH
+  {0xB671, 0xD132}, //9055 #HANGUL SYLLABLE THIEUTH EO SSANGKIYEOK
+  {0xB672, 0xD133}, //9056 #HANGUL SYLLABLE THIEUTH EO KIYEOKSIOS
+  {0xB673, 0xD135}, //9057 #HANGUL SYLLABLE THIEUTH EO NIEUNCIEUC
+  {0xB674, 0xD136}, //9058 #HANGUL SYLLABLE THIEUTH EO NIEUNHIEUH
+  {0xB675, 0xD137}, //9059 #HANGUL SYLLABLE THIEUTH EO TIKEUT
+  {0xB676, 0xD139}, //9060 #HANGUL SYLLABLE THIEUTH EO RIEULKIYEOK
+  {0xB677, 0xD13B}, //9061 #HANGUL SYLLABLE THIEUTH EO RIEULPIEUP
+  {0xB678, 0xD13C}, //9062 #HANGUL SYLLABLE THIEUTH EO RIEULSIOS
+  {0xB679, 0xD13D}, //9063 #HANGUL SYLLABLE THIEUTH EO RIEULTHIEUTH
+  {0xB67A, 0xD13E}, //9064 #HANGUL SYLLABLE THIEUTH EO RIEULPHIEUPH
+  {0xB681, 0xD13F}, //9065 #HANGUL SYLLABLE THIEUTH EO RIEULHIEUH
+  {0xB682, 0xD142}, //9066 #HANGUL SYLLABLE THIEUTH EO PIEUPSIOS
+  {0xB683, 0xD146}, //9067 #HANGUL SYLLABLE THIEUTH EO CIEUC
+  {0xB684, 0xD147}, //9068 #HANGUL SYLLABLE THIEUTH EO CHIEUCH
+  {0xB685, 0xD148}, //9069 #HANGUL SYLLABLE THIEUTH EO KHIEUKH
+  {0xB686, 0xD149}, //9070 #HANGUL SYLLABLE THIEUTH EO THIEUTH
+  {0xB687, 0xD14A}, //9071 #HANGUL SYLLABLE THIEUTH EO PHIEUPH
+  {0xB688, 0xD14B}, //9072 #HANGUL SYLLABLE THIEUTH EO HIEUH
+  {0xB689, 0xD14E}, //9073 #HANGUL SYLLABLE THIEUTH E SSANGKIYEOK
+  {0xB68A, 0xD14F}, //9074 #HANGUL SYLLABLE THIEUTH E KIYEOKSIOS
+  {0xB68B, 0xD151}, //9075 #HANGUL SYLLABLE THIEUTH E NIEUNCIEUC
+  {0xB68C, 0xD152}, //9076 #HANGUL SYLLABLE THIEUTH E NIEUNHIEUH
+  {0xB68D, 0xD153}, //9077 #HANGUL SYLLABLE THIEUTH E TIKEUT
+  {0xB68E, 0xD155}, //9078 #HANGUL SYLLABLE THIEUTH E RIEULKIYEOK
+  {0xB68F, 0xD156}, //9079 #HANGUL SYLLABLE THIEUTH E RIEULMIEUM
+  {0xB690, 0xD157}, //9080 #HANGUL SYLLABLE THIEUTH E RIEULPIEUP
+  {0xB691, 0xD158}, //9081 #HANGUL SYLLABLE THIEUTH E RIEULSIOS
+  {0xB692, 0xD159}, //9082 #HANGUL SYLLABLE THIEUTH E RIEULTHIEUTH
+  {0xB693, 0xD15A}, //9083 #HANGUL SYLLABLE THIEUTH E RIEULPHIEUPH
+  {0xB694, 0xD15B}, //9084 #HANGUL SYLLABLE THIEUTH E RIEULHIEUH
+  {0xB695, 0xD15E}, //9085 #HANGUL SYLLABLE THIEUTH E PIEUPSIOS
+  {0xB696, 0xD160}, //9086 #HANGUL SYLLABLE THIEUTH E SSANGSIOS
+  {0xB697, 0xD162}, //9087 #HANGUL SYLLABLE THIEUTH E CIEUC
+  {0xB698, 0xD163}, //9088 #HANGUL SYLLABLE THIEUTH E CHIEUCH
+  {0xB699, 0xD164}, //9089 #HANGUL SYLLABLE THIEUTH E KHIEUKH
+  {0xB69A, 0xD165}, //9090 #HANGUL SYLLABLE THIEUTH E THIEUTH
+  {0xB69B, 0xD166}, //9091 #HANGUL SYLLABLE THIEUTH E PHIEUPH
+  {0xB69C, 0xD167}, //9092 #HANGUL SYLLABLE THIEUTH E HIEUH
+  {0xB69D, 0xD169}, //9093 #HANGUL SYLLABLE THIEUTH YEO KIYEOK
+  {0xB69E, 0xD16A}, //9094 #HANGUL SYLLABLE THIEUTH YEO SSANGKIYEOK
+  {0xB69F, 0xD16B}, //9095 #HANGUL SYLLABLE THIEUTH YEO KIYEOKSIOS
+  {0xB6A0, 0xD16D}, //9096 #HANGUL SYLLABLE THIEUTH YEO NIEUNCIEUC
+  {0xB6A1, 0xB540}, //9097 #HANGUL SYLLABLE SSANGTIKEUT A MIEUM
+  {0xB6A2, 0xB541}, //9098 #HANGUL SYLLABLE SSANGTIKEUT A PIEUP
+  {0xB6A3, 0xB543}, //9099 #HANGUL SYLLABLE SSANGTIKEUT A SIOS
+  {0xB6A4, 0xB544}, //9100 #HANGUL SYLLABLE SSANGTIKEUT A SSANGSIOS
+  {0xB6A5, 0xB545}, //9101 #HANGUL SYLLABLE SSANGTIKEUT A IEUNG
+  {0xB6A6, 0xB54B}, //9102 #HANGUL SYLLABLE SSANGTIKEUT A HIEUH
+  {0xB6A7, 0xB54C}, //9103 #HANGUL SYLLABLE SSANGTIKEUT AE
+  {0xB6A8, 0xB54D}, //9104 #HANGUL SYLLABLE SSANGTIKEUT AE KIYEOK
+  {0xB6A9, 0xB550}, //9105 #HANGUL SYLLABLE SSANGTIKEUT AE NIEUN
+  {0xB6AA, 0xB554}, //9106 #HANGUL SYLLABLE SSANGTIKEUT AE RIEUL
+  {0xB6AB, 0xB55C}, //9107 #HANGUL SYLLABLE SSANGTIKEUT AE MIEUM
+  {0xB6AC, 0xB55D}, //9108 #HANGUL SYLLABLE SSANGTIKEUT AE PIEUP
+  {0xB6AD, 0xB55F}, //9109 #HANGUL SYLLABLE SSANGTIKEUT AE SIOS
+  {0xB6AE, 0xB560}, //9110 #HANGUL SYLLABLE SSANGTIKEUT AE SSANGSIOS
+  {0xB6AF, 0xB561}, //9111 #HANGUL SYLLABLE SSANGTIKEUT AE IEUNG
+  {0xB6B0, 0xB5A0}, //9112 #HANGUL SYLLABLE SSANGTIKEUT EO
+  {0xB6B1, 0xB5A1}, //9113 #HANGUL SYLLABLE SSANGTIKEUT EO KIYEOK
+  {0xB6B2, 0xB5A4}, //9114 #HANGUL SYLLABLE SSANGTIKEUT EO NIEUN
+  {0xB6B3, 0xB5A8}, //9115 #HANGUL SYLLABLE SSANGTIKEUT EO RIEUL
+  {0xB6B4, 0xB5AA}, //9116 #HANGUL SYLLABLE SSANGTIKEUT EO RIEULMIEUM
+  {0xB6B5, 0xB5AB}, //9117 #HANGUL SYLLABLE SSANGTIKEUT EO RIEULPIEUP
+  {0xB6B6, 0xB5B0}, //9118 #HANGUL SYLLABLE SSANGTIKEUT EO MIEUM
+  {0xB6B7, 0xB5B1}, //9119 #HANGUL SYLLABLE SSANGTIKEUT EO PIEUP
+  {0xB6B8, 0xB5B3}, //9120 #HANGUL SYLLABLE SSANGTIKEUT EO SIOS
+  {0xB6B9, 0xB5B4}, //9121 #HANGUL SYLLABLE SSANGTIKEUT EO SSANGSIOS
+  {0xB6BA, 0xB5B5}, //9122 #HANGUL SYLLABLE SSANGTIKEUT EO IEUNG
+  {0xB6BB, 0xB5BB}, //9123 #HANGUL SYLLABLE SSANGTIKEUT EO HIEUH
+  {0xB6BC, 0xB5BC}, //9124 #HANGUL SYLLABLE SSANGTIKEUT E
+  {0xB6BD, 0xB5BD}, //9125 #HANGUL SYLLABLE SSANGTIKEUT E KIYEOK
+  {0xB6BE, 0xB5C0}, //9126 #HANGUL SYLLABLE SSANGTIKEUT E NIEUN
+  {0xB6BF, 0xB5C4}, //9127 #HANGUL SYLLABLE SSANGTIKEUT E RIEUL
+  {0xB6C0, 0xB5CC}, //9128 #HANGUL SYLLABLE SSANGTIKEUT E MIEUM
+  {0xB6C1, 0xB5CD}, //9129 #HANGUL SYLLABLE SSANGTIKEUT E PIEUP
+  {0xB6C2, 0xB5CF}, //9130 #HANGUL SYLLABLE SSANGTIKEUT E SIOS
+  {0xB6C3, 0xB5D0}, //9131 #HANGUL SYLLABLE SSANGTIKEUT E SSANGSIOS
+  {0xB6C4, 0xB5D1}, //9132 #HANGUL SYLLABLE SSANGTIKEUT E IEUNG
+  {0xB6C5, 0xB5D8}, //9133 #HANGUL SYLLABLE SSANGTIKEUT YEO
+  {0xB6C6, 0xB5EC}, //9134 #HANGUL SYLLABLE SSANGTIKEUT YEO SSANGSIOS
+  {0xB6C7, 0xB610}, //9135 #HANGUL SYLLABLE SSANGTIKEUT O
+  {0xB6C8, 0xB611}, //9136 #HANGUL SYLLABLE SSANGTIKEUT O KIYEOK
+  {0xB6C9, 0xB614}, //9137 #HANGUL SYLLABLE SSANGTIKEUT O NIEUN
+  {0xB6CA, 0xB618}, //9138 #HANGUL SYLLABLE SSANGTIKEUT O RIEUL
+  {0xB6CB, 0xB625}, //9139 #HANGUL SYLLABLE SSANGTIKEUT O IEUNG
+  {0xB6CC, 0xB62C}, //9140 #HANGUL SYLLABLE SSANGTIKEUT WA
+  {0xB6CD, 0xB634}, //9141 #HANGUL SYLLABLE SSANGTIKEUT WA RIEUL
+  {0xB6CE, 0xB648}, //9142 #HANGUL SYLLABLE SSANGTIKEUT WAE
+  {0xB6CF, 0xB664}, //9143 #HANGUL SYLLABLE SSANGTIKEUT OE
+  {0xB6D0, 0xB668}, //9144 #HANGUL SYLLABLE SSANGTIKEUT OE NIEUN
+  {0xB6D1, 0xB69C}, //9145 #HANGUL SYLLABLE SSANGTIKEUT U
+  {0xB6D2, 0xB69D}, //9146 #HANGUL SYLLABLE SSANGTIKEUT U KIYEOK
+  {0xB6D3, 0xB6A0}, //9147 #HANGUL SYLLABLE SSANGTIKEUT U NIEUN
+  {0xB6D4, 0xB6A4}, //9148 #HANGUL SYLLABLE SSANGTIKEUT U RIEUL
+  {0xB6D5, 0xB6AB}, //9149 #HANGUL SYLLABLE SSANGTIKEUT U RIEULHIEUH
+  {0xB6D6, 0xB6AC}, //9150 #HANGUL SYLLABLE SSANGTIKEUT U MIEUM
+  {0xB6D7, 0xB6B1}, //9151 #HANGUL SYLLABLE SSANGTIKEUT U IEUNG
+  {0xB6D8, 0xB6D4}, //9152 #HANGUL SYLLABLE SSANGTIKEUT WE
+  {0xB6D9, 0xB6F0}, //9153 #HANGUL SYLLABLE SSANGTIKEUT WI
+  {0xB6DA, 0xB6F4}, //9154 #HANGUL SYLLABLE SSANGTIKEUT WI NIEUN
+  {0xB6DB, 0xB6F8}, //9155 #HANGUL SYLLABLE SSANGTIKEUT WI RIEUL
+  {0xB6DC, 0xB700}, //9156 #HANGUL SYLLABLE SSANGTIKEUT WI MIEUM
+  {0xB6DD, 0xB701}, //9157 #HANGUL SYLLABLE SSANGTIKEUT WI PIEUP
+  {0xB6DE, 0xB705}, //9158 #HANGUL SYLLABLE SSANGTIKEUT WI IEUNG
+  {0xB6DF, 0xB728}, //9159 #HANGUL SYLLABLE SSANGTIKEUT EU
+  {0xB6E0, 0xB729}, //9160 #HANGUL SYLLABLE SSANGTIKEUT EU KIYEOK
+  {0xB6E1, 0xB72C}, //9161 #HANGUL SYLLABLE SSANGTIKEUT EU NIEUN
+  {0xB6E2, 0xB72F}, //9162 #HANGUL SYLLABLE SSANGTIKEUT EU TIKEUT
+  {0xB6E3, 0xB730}, //9163 #HANGUL SYLLABLE SSANGTIKEUT EU RIEUL
+  {0xB6E4, 0xB738}, //9164 #HANGUL SYLLABLE SSANGTIKEUT EU MIEUM
+  {0xB6E5, 0xB739}, //9165 #HANGUL SYLLABLE SSANGTIKEUT EU PIEUP
+  {0xB6E6, 0xB73B}, //9166 #HANGUL SYLLABLE SSANGTIKEUT EU SIOS
+  {0xB6E7, 0xB744}, //9167 #HANGUL SYLLABLE SSANGTIKEUT YI
+  {0xB6E8, 0xB748}, //9168 #HANGUL SYLLABLE SSANGTIKEUT YI NIEUN
+  {0xB6E9, 0xB74C}, //9169 #HANGUL SYLLABLE SSANGTIKEUT YI RIEUL
+  {0xB6EA, 0xB754}, //9170 #HANGUL SYLLABLE SSANGTIKEUT YI MIEUM
+  {0xB6EB, 0xB755}, //9171 #HANGUL SYLLABLE SSANGTIKEUT YI PIEUP
+  {0xB6EC, 0xB760}, //9172 #HANGUL SYLLABLE SSANGTIKEUT I
+  {0xB6ED, 0xB764}, //9173 #HANGUL SYLLABLE SSANGTIKEUT I NIEUN
+  {0xB6EE, 0xB768}, //9174 #HANGUL SYLLABLE SSANGTIKEUT I RIEUL
+  {0xB6EF, 0xB770}, //9175 #HANGUL SYLLABLE SSANGTIKEUT I MIEUM
+  {0xB6F0, 0xB771}, //9176 #HANGUL SYLLABLE SSANGTIKEUT I PIEUP
+  {0xB6F1, 0xB773}, //9177 #HANGUL SYLLABLE SSANGTIKEUT I SIOS
+  {0xB6F2, 0xB775}, //9178 #HANGUL SYLLABLE SSANGTIKEUT I IEUNG
+  {0xB6F3, 0xB77C}, //9179 #HANGUL SYLLABLE RIEUL A
+  {0xB6F4, 0xB77D}, //9180 #HANGUL SYLLABLE RIEUL A KIYEOK
+  {0xB6F5, 0xB780}, //9181 #HANGUL SYLLABLE RIEUL A NIEUN
+  {0xB6F6, 0xB784}, //9182 #HANGUL SYLLABLE RIEUL A RIEUL
+  {0xB6F7, 0xB78C}, //9183 #HANGUL SYLLABLE RIEUL A MIEUM
+  {0xB6F8, 0xB78D}, //9184 #HANGUL SYLLABLE RIEUL A PIEUP
+  {0xB6F9, 0xB78F}, //9185 #HANGUL SYLLABLE RIEUL A SIOS
+  {0xB6FA, 0xB790}, //9186 #HANGUL SYLLABLE RIEUL A SSANGSIOS
+  {0xB6FB, 0xB791}, //9187 #HANGUL SYLLABLE RIEUL A IEUNG
+  {0xB6FC, 0xB792}, //9188 #HANGUL SYLLABLE RIEUL A CIEUC
+  {0xB6FD, 0xB796}, //9189 #HANGUL SYLLABLE RIEUL A PHIEUPH
+  {0xB6FE, 0xB797}, //9190 #HANGUL SYLLABLE RIEUL A HIEUH
+  {0xB741, 0xD16E}, //9191 #HANGUL SYLLABLE THIEUTH YEO NIEUNHIEUH
+  {0xB742, 0xD16F}, //9192 #HANGUL SYLLABLE THIEUTH YEO TIKEUT
+  {0xB743, 0xD170}, //9193 #HANGUL SYLLABLE THIEUTH YEO RIEUL
+  {0xB744, 0xD171}, //9194 #HANGUL SYLLABLE THIEUTH YEO RIEULKIYEOK
+  {0xB745, 0xD172}, //9195 #HANGUL SYLLABLE THIEUTH YEO RIEULMIEUM
+  {0xB746, 0xD173}, //9196 #HANGUL SYLLABLE THIEUTH YEO RIEULPIEUP
+  {0xB747, 0xD174}, //9197 #HANGUL SYLLABLE THIEUTH YEO RIEULSIOS
+  {0xB748, 0xD175}, //9198 #HANGUL SYLLABLE THIEUTH YEO RIEULTHIEUTH
+  {0xB749, 0xD176}, //9199 #HANGUL SYLLABLE THIEUTH YEO RIEULPHIEUPH
+  {0xB74A, 0xD177}, //9200 #HANGUL SYLLABLE THIEUTH YEO RIEULHIEUH
+  {0xB74B, 0xD178}, //9201 #HANGUL SYLLABLE THIEUTH YEO MIEUM
+  {0xB74C, 0xD179}, //9202 #HANGUL SYLLABLE THIEUTH YEO PIEUP
+  {0xB74D, 0xD17A}, //9203 #HANGUL SYLLABLE THIEUTH YEO PIEUPSIOS
+  {0xB74E, 0xD17B}, //9204 #HANGUL SYLLABLE THIEUTH YEO SIOS
+  {0xB74F, 0xD17D}, //9205 #HANGUL SYLLABLE THIEUTH YEO IEUNG
+  {0xB750, 0xD17E}, //9206 #HANGUL SYLLABLE THIEUTH YEO CIEUC
+  {0xB751, 0xD17F}, //9207 #HANGUL SYLLABLE THIEUTH YEO CHIEUCH
+  {0xB752, 0xD180}, //9208 #HANGUL SYLLABLE THIEUTH YEO KHIEUKH
+  {0xB753, 0xD181}, //9209 #HANGUL SYLLABLE THIEUTH YEO THIEUTH
+  {0xB754, 0xD182}, //9210 #HANGUL SYLLABLE THIEUTH YEO PHIEUPH
+  {0xB755, 0xD183}, //9211 #HANGUL SYLLABLE THIEUTH YEO HIEUH
+  {0xB756, 0xD185}, //9212 #HANGUL SYLLABLE THIEUTH YE KIYEOK
+  {0xB757, 0xD186}, //9213 #HANGUL SYLLABLE THIEUTH YE SSANGKIYEOK
+  {0xB758, 0xD187}, //9214 #HANGUL SYLLABLE THIEUTH YE KIYEOKSIOS
+  {0xB759, 0xD189}, //9215 #HANGUL SYLLABLE THIEUTH YE NIEUNCIEUC
+  {0xB75A, 0xD18A}, //9216 #HANGUL SYLLABLE THIEUTH YE NIEUNHIEUH
+  {0xB761, 0xD18B}, //9217 #HANGUL SYLLABLE THIEUTH YE TIKEUT
+  {0xB762, 0xD18C}, //9218 #HANGUL SYLLABLE THIEUTH YE RIEUL
+  {0xB763, 0xD18D}, //9219 #HANGUL SYLLABLE THIEUTH YE RIEULKIYEOK
+  {0xB764, 0xD18E}, //9220 #HANGUL SYLLABLE THIEUTH YE RIEULMIEUM
+  {0xB765, 0xD18F}, //9221 #HANGUL SYLLABLE THIEUTH YE RIEULPIEUP
+  {0xB766, 0xD190}, //9222 #HANGUL SYLLABLE THIEUTH YE RIEULSIOS
+  {0xB767, 0xD191}, //9223 #HANGUL SYLLABLE THIEUTH YE RIEULTHIEUTH
+  {0xB768, 0xD192}, //9224 #HANGUL SYLLABLE THIEUTH YE RIEULPHIEUPH
+  {0xB769, 0xD193}, //9225 #HANGUL SYLLABLE THIEUTH YE RIEULHIEUH
+  {0xB76A, 0xD194}, //9226 #HANGUL SYLLABLE THIEUTH YE MIEUM
+  {0xB76B, 0xD195}, //9227 #HANGUL SYLLABLE THIEUTH YE PIEUP
+  {0xB76C, 0xD196}, //9228 #HANGUL SYLLABLE THIEUTH YE PIEUPSIOS
+  {0xB76D, 0xD197}, //9229 #HANGUL SYLLABLE THIEUTH YE SIOS
+  {0xB76E, 0xD198}, //9230 #HANGUL SYLLABLE THIEUTH YE SSANGSIOS
+  {0xB76F, 0xD199}, //9231 #HANGUL SYLLABLE THIEUTH YE IEUNG
+  {0xB770, 0xD19A}, //9232 #HANGUL SYLLABLE THIEUTH YE CIEUC
+  {0xB771, 0xD19B}, //9233 #HANGUL SYLLABLE THIEUTH YE CHIEUCH
+  {0xB772, 0xD19C}, //9234 #HANGUL SYLLABLE THIEUTH YE KHIEUKH
+  {0xB773, 0xD19D}, //9235 #HANGUL SYLLABLE THIEUTH YE THIEUTH
+  {0xB774, 0xD19E}, //9236 #HANGUL SYLLABLE THIEUTH YE PHIEUPH
+  {0xB775, 0xD19F}, //9237 #HANGUL SYLLABLE THIEUTH YE HIEUH
+  {0xB776, 0xD1A2}, //9238 #HANGUL SYLLABLE THIEUTH O SSANGKIYEOK
+  {0xB777, 0xD1A3}, //9239 #HANGUL SYLLABLE THIEUTH O KIYEOKSIOS
+  {0xB778, 0xD1A5}, //9240 #HANGUL SYLLABLE THIEUTH O NIEUNCIEUC
+  {0xB779, 0xD1A6}, //9241 #HANGUL SYLLABLE THIEUTH O NIEUNHIEUH
+  {0xB77A, 0xD1A7}, //9242 #HANGUL SYLLABLE THIEUTH O TIKEUT
+  {0xB781, 0xD1A9}, //9243 #HANGUL SYLLABLE THIEUTH O RIEULKIYEOK
+  {0xB782, 0xD1AA}, //9244 #HANGUL SYLLABLE THIEUTH O RIEULMIEUM
+  {0xB783, 0xD1AB}, //9245 #HANGUL SYLLABLE THIEUTH O RIEULPIEUP
+  {0xB784, 0xD1AC}, //9246 #HANGUL SYLLABLE THIEUTH O RIEULSIOS
+  {0xB785, 0xD1AD}, //9247 #HANGUL SYLLABLE THIEUTH O RIEULTHIEUTH
+  {0xB786, 0xD1AE}, //9248 #HANGUL SYLLABLE THIEUTH O RIEULPHIEUPH
+  {0xB787, 0xD1AF}, //9249 #HANGUL SYLLABLE THIEUTH O RIEULHIEUH
+  {0xB788, 0xD1B2}, //9250 #HANGUL SYLLABLE THIEUTH O PIEUPSIOS
+  {0xB789, 0xD1B4}, //9251 #HANGUL SYLLABLE THIEUTH O SSANGSIOS
+  {0xB78A, 0xD1B6}, //9252 #HANGUL SYLLABLE THIEUTH O CIEUC
+  {0xB78B, 0xD1B7}, //9253 #HANGUL SYLLABLE THIEUTH O CHIEUCH
+  {0xB78C, 0xD1B8}, //9254 #HANGUL SYLLABLE THIEUTH O KHIEUKH
+  {0xB78D, 0xD1B9}, //9255 #HANGUL SYLLABLE THIEUTH O THIEUTH
+  {0xB78E, 0xD1BB}, //9256 #HANGUL SYLLABLE THIEUTH O HIEUH
+  {0xB78F, 0xD1BD}, //9257 #HANGUL SYLLABLE THIEUTH WA KIYEOK
+  {0xB790, 0xD1BE}, //9258 #HANGUL SYLLABLE THIEUTH WA SSANGKIYEOK
+  {0xB791, 0xD1BF}, //9259 #HANGUL SYLLABLE THIEUTH WA KIYEOKSIOS
+  {0xB792, 0xD1C1}, //9260 #HANGUL SYLLABLE THIEUTH WA NIEUNCIEUC
+  {0xB793, 0xD1C2}, //9261 #HANGUL SYLLABLE THIEUTH WA NIEUNHIEUH
+  {0xB794, 0xD1C3}, //9262 #HANGUL SYLLABLE THIEUTH WA TIKEUT
+  {0xB795, 0xD1C4}, //9263 #HANGUL SYLLABLE THIEUTH WA RIEUL
+  {0xB796, 0xD1C5}, //9264 #HANGUL SYLLABLE THIEUTH WA RIEULKIYEOK
+  {0xB797, 0xD1C6}, //9265 #HANGUL SYLLABLE THIEUTH WA RIEULMIEUM
+  {0xB798, 0xD1C7}, //9266 #HANGUL SYLLABLE THIEUTH WA RIEULPIEUP
+  {0xB799, 0xD1C8}, //9267 #HANGUL SYLLABLE THIEUTH WA RIEULSIOS
+  {0xB79A, 0xD1C9}, //9268 #HANGUL SYLLABLE THIEUTH WA RIEULTHIEUTH
+  {0xB79B, 0xD1CA}, //9269 #HANGUL SYLLABLE THIEUTH WA RIEULPHIEUPH
+  {0xB79C, 0xD1CB}, //9270 #HANGUL SYLLABLE THIEUTH WA RIEULHIEUH
+  {0xB79D, 0xD1CC}, //9271 #HANGUL SYLLABLE THIEUTH WA MIEUM
+  {0xB79E, 0xD1CD}, //9272 #HANGUL SYLLABLE THIEUTH WA PIEUP
+  {0xB79F, 0xD1CE}, //9273 #HANGUL SYLLABLE THIEUTH WA PIEUPSIOS
+  {0xB7A0, 0xD1CF}, //9274 #HANGUL SYLLABLE THIEUTH WA SIOS
+  {0xB7A1, 0xB798}, //9275 #HANGUL SYLLABLE RIEUL AE
+  {0xB7A2, 0xB799}, //9276 #HANGUL SYLLABLE RIEUL AE KIYEOK
+  {0xB7A3, 0xB79C}, //9277 #HANGUL SYLLABLE RIEUL AE NIEUN
+  {0xB7A4, 0xB7A0}, //9278 #HANGUL SYLLABLE RIEUL AE RIEUL
+  {0xB7A5, 0xB7A8}, //9279 #HANGUL SYLLABLE RIEUL AE MIEUM
+  {0xB7A6, 0xB7A9}, //9280 #HANGUL SYLLABLE RIEUL AE PIEUP
+  {0xB7A7, 0xB7AB}, //9281 #HANGUL SYLLABLE RIEUL AE SIOS
+  {0xB7A8, 0xB7AC}, //9282 #HANGUL SYLLABLE RIEUL AE SSANGSIOS
+  {0xB7A9, 0xB7AD}, //9283 #HANGUL SYLLABLE RIEUL AE IEUNG
+  {0xB7AA, 0xB7B4}, //9284 #HANGUL SYLLABLE RIEUL YA
+  {0xB7AB, 0xB7B5}, //9285 #HANGUL SYLLABLE RIEUL YA KIYEOK
+  {0xB7AC, 0xB7B8}, //9286 #HANGUL SYLLABLE RIEUL YA NIEUN
+  {0xB7AD, 0xB7C7}, //9287 #HANGUL SYLLABLE RIEUL YA SIOS
+  {0xB7AE, 0xB7C9}, //9288 #HANGUL SYLLABLE RIEUL YA IEUNG
+  {0xB7AF, 0xB7EC}, //9289 #HANGUL SYLLABLE RIEUL EO
+  {0xB7B0, 0xB7ED}, //9290 #HANGUL SYLLABLE RIEUL EO KIYEOK
+  {0xB7B1, 0xB7F0}, //9291 #HANGUL SYLLABLE RIEUL EO NIEUN
+  {0xB7B2, 0xB7F4}, //9292 #HANGUL SYLLABLE RIEUL EO RIEUL
+  {0xB7B3, 0xB7FC}, //9293 #HANGUL SYLLABLE RIEUL EO MIEUM
+  {0xB7B4, 0xB7FD}, //9294 #HANGUL SYLLABLE RIEUL EO PIEUP
+  {0xB7B5, 0xB7FF}, //9295 #HANGUL SYLLABLE RIEUL EO SIOS
+  {0xB7B6, 0xB800}, //9296 #HANGUL SYLLABLE RIEUL EO SSANGSIOS
+  {0xB7B7, 0xB801}, //9297 #HANGUL SYLLABLE RIEUL EO IEUNG
+  {0xB7B8, 0xB807}, //9298 #HANGUL SYLLABLE RIEUL EO HIEUH
+  {0xB7B9, 0xB808}, //9299 #HANGUL SYLLABLE RIEUL E
+  {0xB7BA, 0xB809}, //9300 #HANGUL SYLLABLE RIEUL E KIYEOK
+  {0xB7BB, 0xB80C}, //9301 #HANGUL SYLLABLE RIEUL E NIEUN
+  {0xB7BC, 0xB810}, //9302 #HANGUL SYLLABLE RIEUL E RIEUL
+  {0xB7BD, 0xB818}, //9303 #HANGUL SYLLABLE RIEUL E MIEUM
+  {0xB7BE, 0xB819}, //9304 #HANGUL SYLLABLE RIEUL E PIEUP
+  {0xB7BF, 0xB81B}, //9305 #HANGUL SYLLABLE RIEUL E SIOS
+  {0xB7C0, 0xB81D}, //9306 #HANGUL SYLLABLE RIEUL E IEUNG
+  {0xB7C1, 0xB824}, //9307 #HANGUL SYLLABLE RIEUL YEO
+  {0xB7C2, 0xB825}, //9308 #HANGUL SYLLABLE RIEUL YEO KIYEOK
+  {0xB7C3, 0xB828}, //9309 #HANGUL SYLLABLE RIEUL YEO NIEUN
+  {0xB7C4, 0xB82C}, //9310 #HANGUL SYLLABLE RIEUL YEO RIEUL
+  {0xB7C5, 0xB834}, //9311 #HANGUL SYLLABLE RIEUL YEO MIEUM
+  {0xB7C6, 0xB835}, //9312 #HANGUL SYLLABLE RIEUL YEO PIEUP
+  {0xB7C7, 0xB837}, //9313 #HANGUL SYLLABLE RIEUL YEO SIOS
+  {0xB7C8, 0xB838}, //9314 #HANGUL SYLLABLE RIEUL YEO SSANGSIOS
+  {0xB7C9, 0xB839}, //9315 #HANGUL SYLLABLE RIEUL YEO IEUNG
+  {0xB7CA, 0xB840}, //9316 #HANGUL SYLLABLE RIEUL YE
+  {0xB7CB, 0xB844}, //9317 #HANGUL SYLLABLE RIEUL YE NIEUN
+  {0xB7CC, 0xB851}, //9318 #HANGUL SYLLABLE RIEUL YE PIEUP
+  {0xB7CD, 0xB853}, //9319 #HANGUL SYLLABLE RIEUL YE SIOS
+  {0xB7CE, 0xB85C}, //9320 #HANGUL SYLLABLE RIEUL O
+  {0xB7CF, 0xB85D}, //9321 #HANGUL SYLLABLE RIEUL O KIYEOK
+  {0xB7D0, 0xB860}, //9322 #HANGUL SYLLABLE RIEUL O NIEUN
+  {0xB7D1, 0xB864}, //9323 #HANGUL SYLLABLE RIEUL O RIEUL
+  {0xB7D2, 0xB86C}, //9324 #HANGUL SYLLABLE RIEUL O MIEUM
+  {0xB7D3, 0xB86D}, //9325 #HANGUL SYLLABLE RIEUL O PIEUP
+  {0xB7D4, 0xB86F}, //9326 #HANGUL SYLLABLE RIEUL O SIOS
+  {0xB7D5, 0xB871}, //9327 #HANGUL SYLLABLE RIEUL O IEUNG
+  {0xB7D6, 0xB878}, //9328 #HANGUL SYLLABLE RIEUL WA
+  {0xB7D7, 0xB87C}, //9329 #HANGUL SYLLABLE RIEUL WA NIEUN
+  {0xB7D8, 0xB88D}, //9330 #HANGUL SYLLABLE RIEUL WA IEUNG
+  {0xB7D9, 0xB8A8}, //9331 #HANGUL SYLLABLE RIEUL WAE SSANGSIOS
+  {0xB7DA, 0xB8B0}, //9332 #HANGUL SYLLABLE RIEUL OE
+  {0xB7DB, 0xB8B4}, //9333 #HANGUL SYLLABLE RIEUL OE NIEUN
+  {0xB7DC, 0xB8B8}, //9334 #HANGUL SYLLABLE RIEUL OE RIEUL
+  {0xB7DD, 0xB8C0}, //9335 #HANGUL SYLLABLE RIEUL OE MIEUM
+  {0xB7DE, 0xB8C1}, //9336 #HANGUL SYLLABLE RIEUL OE PIEUP
+  {0xB7DF, 0xB8C3}, //9337 #HANGUL SYLLABLE RIEUL OE SIOS
+  {0xB7E0, 0xB8C5}, //9338 #HANGUL SYLLABLE RIEUL OE IEUNG
+  {0xB7E1, 0xB8CC}, //9339 #HANGUL SYLLABLE RIEUL YO
+  {0xB7E2, 0xB8D0}, //9340 #HANGUL SYLLABLE RIEUL YO NIEUN
+  {0xB7E3, 0xB8D4}, //9341 #HANGUL SYLLABLE RIEUL YO RIEUL
+  {0xB7E4, 0xB8DD}, //9342 #HANGUL SYLLABLE RIEUL YO PIEUP
+  {0xB7E5, 0xB8DF}, //9343 #HANGUL SYLLABLE RIEUL YO SIOS
+  {0xB7E6, 0xB8E1}, //9344 #HANGUL SYLLABLE RIEUL YO IEUNG
+  {0xB7E7, 0xB8E8}, //9345 #HANGUL SYLLABLE RIEUL U
+  {0xB7E8, 0xB8E9}, //9346 #HANGUL SYLLABLE RIEUL U KIYEOK
+  {0xB7E9, 0xB8EC}, //9347 #HANGUL SYLLABLE RIEUL U NIEUN
+  {0xB7EA, 0xB8F0}, //9348 #HANGUL SYLLABLE RIEUL U RIEUL
+  {0xB7EB, 0xB8F8}, //9349 #HANGUL SYLLABLE RIEUL U MIEUM
+  {0xB7EC, 0xB8F9}, //9350 #HANGUL SYLLABLE RIEUL U PIEUP
+  {0xB7ED, 0xB8FB}, //9351 #HANGUL SYLLABLE RIEUL U SIOS
+  {0xB7EE, 0xB8FD}, //9352 #HANGUL SYLLABLE RIEUL U IEUNG
+  {0xB7EF, 0xB904}, //9353 #HANGUL SYLLABLE RIEUL WEO
+  {0xB7F0, 0xB918}, //9354 #HANGUL SYLLABLE RIEUL WEO SSANGSIOS
+  {0xB7F1, 0xB920}, //9355 #HANGUL SYLLABLE RIEUL WE
+  {0xB7F2, 0xB93C}, //9356 #HANGUL SYLLABLE RIEUL WI
+  {0xB7F3, 0xB93D}, //9357 #HANGUL SYLLABLE RIEUL WI KIYEOK
+  {0xB7F4, 0xB940}, //9358 #HANGUL SYLLABLE RIEUL WI NIEUN
+  {0xB7F5, 0xB944}, //9359 #HANGUL SYLLABLE RIEUL WI RIEUL
+  {0xB7F6, 0xB94C}, //9360 #HANGUL SYLLABLE RIEUL WI MIEUM
+  {0xB7F7, 0xB94F}, //9361 #HANGUL SYLLABLE RIEUL WI SIOS
+  {0xB7F8, 0xB951}, //9362 #HANGUL SYLLABLE RIEUL WI IEUNG
+  {0xB7F9, 0xB958}, //9363 #HANGUL SYLLABLE RIEUL YU
+  {0xB7FA, 0xB959}, //9364 #HANGUL SYLLABLE RIEUL YU KIYEOK
+  {0xB7FB, 0xB95C}, //9365 #HANGUL SYLLABLE RIEUL YU NIEUN
+  {0xB7FC, 0xB960}, //9366 #HANGUL SYLLABLE RIEUL YU RIEUL
+  {0xB7FD, 0xB968}, //9367 #HANGUL SYLLABLE RIEUL YU MIEUM
+  {0xB7FE, 0xB969}, //9368 #HANGUL SYLLABLE RIEUL YU PIEUP
+  {0xB841, 0xD1D0}, //9369 #HANGUL SYLLABLE THIEUTH WA SSANGSIOS
+  {0xB842, 0xD1D1}, //9370 #HANGUL SYLLABLE THIEUTH WA IEUNG
+  {0xB843, 0xD1D2}, //9371 #HANGUL SYLLABLE THIEUTH WA CIEUC
+  {0xB844, 0xD1D3}, //9372 #HANGUL SYLLABLE THIEUTH WA CHIEUCH
+  {0xB845, 0xD1D4}, //9373 #HANGUL SYLLABLE THIEUTH WA KHIEUKH
+  {0xB846, 0xD1D5}, //9374 #HANGUL SYLLABLE THIEUTH WA THIEUTH
+  {0xB847, 0xD1D6}, //9375 #HANGUL SYLLABLE THIEUTH WA PHIEUPH
+  {0xB848, 0xD1D7}, //9376 #HANGUL SYLLABLE THIEUTH WA HIEUH
+  {0xB849, 0xD1D9}, //9377 #HANGUL SYLLABLE THIEUTH WAE KIYEOK
+  {0xB84A, 0xD1DA}, //9378 #HANGUL SYLLABLE THIEUTH WAE SSANGKIYEOK
+  {0xB84B, 0xD1DB}, //9379 #HANGUL SYLLABLE THIEUTH WAE KIYEOKSIOS
+  {0xB84C, 0xD1DC}, //9380 #HANGUL SYLLABLE THIEUTH WAE NIEUN
+  {0xB84D, 0xD1DD}, //9381 #HANGUL SYLLABLE THIEUTH WAE NIEUNCIEUC
+  {0xB84E, 0xD1DE}, //9382 #HANGUL SYLLABLE THIEUTH WAE NIEUNHIEUH
+  {0xB84F, 0xD1DF}, //9383 #HANGUL SYLLABLE THIEUTH WAE TIKEUT
+  {0xB850, 0xD1E0}, //9384 #HANGUL SYLLABLE THIEUTH WAE RIEUL
+  {0xB851, 0xD1E1}, //9385 #HANGUL SYLLABLE THIEUTH WAE RIEULKIYEOK
+  {0xB852, 0xD1E2}, //9386 #HANGUL SYLLABLE THIEUTH WAE RIEULMIEUM
+  {0xB853, 0xD1E3}, //9387 #HANGUL SYLLABLE THIEUTH WAE RIEULPIEUP
+  {0xB854, 0xD1E4}, //9388 #HANGUL SYLLABLE THIEUTH WAE RIEULSIOS
+  {0xB855, 0xD1E5}, //9389 #HANGUL SYLLABLE THIEUTH WAE RIEULTHIEUTH
+  {0xB856, 0xD1E6}, //9390 #HANGUL SYLLABLE THIEUTH WAE RIEULPHIEUPH
+  {0xB857, 0xD1E7}, //9391 #HANGUL SYLLABLE THIEUTH WAE RIEULHIEUH
+  {0xB858, 0xD1E8}, //9392 #HANGUL SYLLABLE THIEUTH WAE MIEUM
+  {0xB859, 0xD1E9}, //9393 #HANGUL SYLLABLE THIEUTH WAE PIEUP
+  {0xB85A, 0xD1EA}, //9394 #HANGUL SYLLABLE THIEUTH WAE PIEUPSIOS
+  {0xB861, 0xD1EB}, //9395 #HANGUL SYLLABLE THIEUTH WAE SIOS
+  {0xB862, 0xD1EC}, //9396 #HANGUL SYLLABLE THIEUTH WAE SSANGSIOS
+  {0xB863, 0xD1ED}, //9397 #HANGUL SYLLABLE THIEUTH WAE IEUNG
+  {0xB864, 0xD1EE}, //9398 #HANGUL SYLLABLE THIEUTH WAE CIEUC
+  {0xB865, 0xD1EF}, //9399 #HANGUL SYLLABLE THIEUTH WAE CHIEUCH
+  {0xB866, 0xD1F0}, //9400 #HANGUL SYLLABLE THIEUTH WAE KHIEUKH
+  {0xB867, 0xD1F1}, //9401 #HANGUL SYLLABLE THIEUTH WAE THIEUTH
+  {0xB868, 0xD1F2}, //9402 #HANGUL SYLLABLE THIEUTH WAE PHIEUPH
+  {0xB869, 0xD1F3}, //9403 #HANGUL SYLLABLE THIEUTH WAE HIEUH
+  {0xB86A, 0xD1F5}, //9404 #HANGUL SYLLABLE THIEUTH OE KIYEOK
+  {0xB86B, 0xD1F6}, //9405 #HANGUL SYLLABLE THIEUTH OE SSANGKIYEOK
+  {0xB86C, 0xD1F7}, //9406 #HANGUL SYLLABLE THIEUTH OE KIYEOKSIOS
+  {0xB86D, 0xD1F9}, //9407 #HANGUL SYLLABLE THIEUTH OE NIEUNCIEUC
+  {0xB86E, 0xD1FA}, //9408 #HANGUL SYLLABLE THIEUTH OE NIEUNHIEUH
+  {0xB86F, 0xD1FB}, //9409 #HANGUL SYLLABLE THIEUTH OE TIKEUT
+  {0xB870, 0xD1FC}, //9410 #HANGUL SYLLABLE THIEUTH OE RIEUL
+  {0xB871, 0xD1FD}, //9411 #HANGUL SYLLABLE THIEUTH OE RIEULKIYEOK
+  {0xB872, 0xD1FE}, //9412 #HANGUL SYLLABLE THIEUTH OE RIEULMIEUM
+  {0xB873, 0xD1FF}, //9413 #HANGUL SYLLABLE THIEUTH OE RIEULPIEUP
+  {0xB874, 0xD200}, //9414 #HANGUL SYLLABLE THIEUTH OE RIEULSIOS
+  {0xB875, 0xD201}, //9415 #HANGUL SYLLABLE THIEUTH OE RIEULTHIEUTH
+  {0xB876, 0xD202}, //9416 #HANGUL SYLLABLE THIEUTH OE RIEULPHIEUPH
+  {0xB877, 0xD203}, //9417 #HANGUL SYLLABLE THIEUTH OE RIEULHIEUH
+  {0xB878, 0xD204}, //9418 #HANGUL SYLLABLE THIEUTH OE MIEUM
+  {0xB879, 0xD205}, //9419 #HANGUL SYLLABLE THIEUTH OE PIEUP
+  {0xB87A, 0xD206}, //9420 #HANGUL SYLLABLE THIEUTH OE PIEUPSIOS
+  {0xB881, 0xD208}, //9421 #HANGUL SYLLABLE THIEUTH OE SSANGSIOS
+  {0xB882, 0xD20A}, //9422 #HANGUL SYLLABLE THIEUTH OE CIEUC
+  {0xB883, 0xD20B}, //9423 #HANGUL SYLLABLE THIEUTH OE CHIEUCH
+  {0xB884, 0xD20C}, //9424 #HANGUL SYLLABLE THIEUTH OE KHIEUKH
+  {0xB885, 0xD20D}, //9425 #HANGUL SYLLABLE THIEUTH OE THIEUTH
+  {0xB886, 0xD20E}, //9426 #HANGUL SYLLABLE THIEUTH OE PHIEUPH
+  {0xB887, 0xD20F}, //9427 #HANGUL SYLLABLE THIEUTH OE HIEUH
+  {0xB888, 0xD211}, //9428 #HANGUL SYLLABLE THIEUTH YO KIYEOK
+  {0xB889, 0xD212}, //9429 #HANGUL SYLLABLE THIEUTH YO SSANGKIYEOK
+  {0xB88A, 0xD213}, //9430 #HANGUL SYLLABLE THIEUTH YO KIYEOKSIOS
+  {0xB88B, 0xD214}, //9431 #HANGUL SYLLABLE THIEUTH YO NIEUN
+  {0xB88C, 0xD215}, //9432 #HANGUL SYLLABLE THIEUTH YO NIEUNCIEUC
+  {0xB88D, 0xD216}, //9433 #HANGUL SYLLABLE THIEUTH YO NIEUNHIEUH
+  {0xB88E, 0xD217}, //9434 #HANGUL SYLLABLE THIEUTH YO TIKEUT
+  {0xB88F, 0xD218}, //9435 #HANGUL SYLLABLE THIEUTH YO RIEUL
+  {0xB890, 0xD219}, //9436 #HANGUL SYLLABLE THIEUTH YO RIEULKIYEOK
+  {0xB891, 0xD21A}, //9437 #HANGUL SYLLABLE THIEUTH YO RIEULMIEUM
+  {0xB892, 0xD21B}, //9438 #HANGUL SYLLABLE THIEUTH YO RIEULPIEUP
+  {0xB893, 0xD21C}, //9439 #HANGUL SYLLABLE THIEUTH YO RIEULSIOS
+  {0xB894, 0xD21D}, //9440 #HANGUL SYLLABLE THIEUTH YO RIEULTHIEUTH
+  {0xB895, 0xD21E}, //9441 #HANGUL SYLLABLE THIEUTH YO RIEULPHIEUPH
+  {0xB896, 0xD21F}, //9442 #HANGUL SYLLABLE THIEUTH YO RIEULHIEUH
+  {0xB897, 0xD220}, //9443 #HANGUL SYLLABLE THIEUTH YO MIEUM
+  {0xB898, 0xD221}, //9444 #HANGUL SYLLABLE THIEUTH YO PIEUP
+  {0xB899, 0xD222}, //9445 #HANGUL SYLLABLE THIEUTH YO PIEUPSIOS
+  {0xB89A, 0xD223}, //9446 #HANGUL SYLLABLE THIEUTH YO SIOS
+  {0xB89B, 0xD224}, //9447 #HANGUL SYLLABLE THIEUTH YO SSANGSIOS
+  {0xB89C, 0xD225}, //9448 #HANGUL SYLLABLE THIEUTH YO IEUNG
+  {0xB89D, 0xD226}, //9449 #HANGUL SYLLABLE THIEUTH YO CIEUC
+  {0xB89E, 0xD227}, //9450 #HANGUL SYLLABLE THIEUTH YO CHIEUCH
+  {0xB89F, 0xD228}, //9451 #HANGUL SYLLABLE THIEUTH YO KHIEUKH
+  {0xB8A0, 0xD229}, //9452 #HANGUL SYLLABLE THIEUTH YO THIEUTH
+  {0xB8A1, 0xB96B}, //9453 #HANGUL SYLLABLE RIEUL YU SIOS
+  {0xB8A2, 0xB96D}, //9454 #HANGUL SYLLABLE RIEUL YU IEUNG
+  {0xB8A3, 0xB974}, //9455 #HANGUL SYLLABLE RIEUL EU
+  {0xB8A4, 0xB975}, //9456 #HANGUL SYLLABLE RIEUL EU KIYEOK
+  {0xB8A5, 0xB978}, //9457 #HANGUL SYLLABLE RIEUL EU NIEUN
+  {0xB8A6, 0xB97C}, //9458 #HANGUL SYLLABLE RIEUL EU RIEUL
+  {0xB8A7, 0xB984}, //9459 #HANGUL SYLLABLE RIEUL EU MIEUM
+  {0xB8A8, 0xB985}, //9460 #HANGUL SYLLABLE RIEUL EU PIEUP
+  {0xB8A9, 0xB987}, //9461 #HANGUL SYLLABLE RIEUL EU SIOS
+  {0xB8AA, 0xB989}, //9462 #HANGUL SYLLABLE RIEUL EU IEUNG
+  {0xB8AB, 0xB98A}, //9463 #HANGUL SYLLABLE RIEUL EU CIEUC
+  {0xB8AC, 0xB98D}, //9464 #HANGUL SYLLABLE RIEUL EU THIEUTH
+  {0xB8AD, 0xB98E}, //9465 #HANGUL SYLLABLE RIEUL EU PHIEUPH
+  {0xB8AE, 0xB9AC}, //9466 #HANGUL SYLLABLE RIEUL I
+  {0xB8AF, 0xB9AD}, //9467 #HANGUL SYLLABLE RIEUL I KIYEOK
+  {0xB8B0, 0xB9B0}, //9468 #HANGUL SYLLABLE RIEUL I NIEUN
+  {0xB8B1, 0xB9B4}, //9469 #HANGUL SYLLABLE RIEUL I RIEUL
+  {0xB8B2, 0xB9BC}, //9470 #HANGUL SYLLABLE RIEUL I MIEUM
+  {0xB8B3, 0xB9BD}, //9471 #HANGUL SYLLABLE RIEUL I PIEUP
+  {0xB8B4, 0xB9BF}, //9472 #HANGUL SYLLABLE RIEUL I SIOS
+  {0xB8B5, 0xB9C1}, //9473 #HANGUL SYLLABLE RIEUL I IEUNG
+  {0xB8B6, 0xB9C8}, //9474 #HANGUL SYLLABLE MIEUM A
+  {0xB8B7, 0xB9C9}, //9475 #HANGUL SYLLABLE MIEUM A KIYEOK
+  {0xB8B8, 0xB9CC}, //9476 #HANGUL SYLLABLE MIEUM A NIEUN
+  {0xB8B9, 0xB9CE}, //9477 #HANGUL SYLLABLE MIEUM A NIEUNHIEUH
+  {0xB8BA, 0xB9CF}, //9478 #HANGUL SYLLABLE MIEUM A TIKEUT
+  {0xB8BB, 0xB9D0}, //9479 #HANGUL SYLLABLE MIEUM A RIEUL
+  {0xB8BC, 0xB9D1}, //9480 #HANGUL SYLLABLE MIEUM A RIEULKIYEOK
+  {0xB8BD, 0xB9D2}, //9481 #HANGUL SYLLABLE MIEUM A RIEULMIEUM
+  {0xB8BE, 0xB9D8}, //9482 #HANGUL SYLLABLE MIEUM A MIEUM
+  {0xB8BF, 0xB9D9}, //9483 #HANGUL SYLLABLE MIEUM A PIEUP
+  {0xB8C0, 0xB9DB}, //9484 #HANGUL SYLLABLE MIEUM A SIOS
+  {0xB8C1, 0xB9DD}, //9485 #HANGUL SYLLABLE MIEUM A IEUNG
+  {0xB8C2, 0xB9DE}, //9486 #HANGUL SYLLABLE MIEUM A CIEUC
+  {0xB8C3, 0xB9E1}, //9487 #HANGUL SYLLABLE MIEUM A THIEUTH
+  {0xB8C4, 0xB9E3}, //9488 #HANGUL SYLLABLE MIEUM A HIEUH
+  {0xB8C5, 0xB9E4}, //9489 #HANGUL SYLLABLE MIEUM AE
+  {0xB8C6, 0xB9E5}, //9490 #HANGUL SYLLABLE MIEUM AE KIYEOK
+  {0xB8C7, 0xB9E8}, //9491 #HANGUL SYLLABLE MIEUM AE NIEUN
+  {0xB8C8, 0xB9EC}, //9492 #HANGUL SYLLABLE MIEUM AE RIEUL
+  {0xB8C9, 0xB9F4}, //9493 #HANGUL SYLLABLE MIEUM AE MIEUM
+  {0xB8CA, 0xB9F5}, //9494 #HANGUL SYLLABLE MIEUM AE PIEUP
+  {0xB8CB, 0xB9F7}, //9495 #HANGUL SYLLABLE MIEUM AE SIOS
+  {0xB8CC, 0xB9F8}, //9496 #HANGUL SYLLABLE MIEUM AE SSANGSIOS
+  {0xB8CD, 0xB9F9}, //9497 #HANGUL SYLLABLE MIEUM AE IEUNG
+  {0xB8CE, 0xB9FA}, //9498 #HANGUL SYLLABLE MIEUM AE CIEUC
+  {0xB8CF, 0xBA00}, //9499 #HANGUL SYLLABLE MIEUM YA
+  {0xB8D0, 0xBA01}, //9500 #HANGUL SYLLABLE MIEUM YA KIYEOK
+  {0xB8D1, 0xBA08}, //9501 #HANGUL SYLLABLE MIEUM YA RIEUL
+  {0xB8D2, 0xBA15}, //9502 #HANGUL SYLLABLE MIEUM YA IEUNG
+  {0xB8D3, 0xBA38}, //9503 #HANGUL SYLLABLE MIEUM EO
+  {0xB8D4, 0xBA39}, //9504 #HANGUL SYLLABLE MIEUM EO KIYEOK
+  {0xB8D5, 0xBA3C}, //9505 #HANGUL SYLLABLE MIEUM EO NIEUN
+  {0xB8D6, 0xBA40}, //9506 #HANGUL SYLLABLE MIEUM EO RIEUL
+  {0xB8D7, 0xBA42}, //9507 #HANGUL SYLLABLE MIEUM EO RIEULMIEUM
+  {0xB8D8, 0xBA48}, //9508 #HANGUL SYLLABLE MIEUM EO MIEUM
+  {0xB8D9, 0xBA49}, //9509 #HANGUL SYLLABLE MIEUM EO PIEUP
+  {0xB8DA, 0xBA4B}, //9510 #HANGUL SYLLABLE MIEUM EO SIOS
+  {0xB8DB, 0xBA4D}, //9511 #HANGUL SYLLABLE MIEUM EO IEUNG
+  {0xB8DC, 0xBA4E}, //9512 #HANGUL SYLLABLE MIEUM EO CIEUC
+  {0xB8DD, 0xBA53}, //9513 #HANGUL SYLLABLE MIEUM EO HIEUH
+  {0xB8DE, 0xBA54}, //9514 #HANGUL SYLLABLE MIEUM E
+  {0xB8DF, 0xBA55}, //9515 #HANGUL SYLLABLE MIEUM E KIYEOK
+  {0xB8E0, 0xBA58}, //9516 #HANGUL SYLLABLE MIEUM E NIEUN
+  {0xB8E1, 0xBA5C}, //9517 #HANGUL SYLLABLE MIEUM E RIEUL
+  {0xB8E2, 0xBA64}, //9518 #HANGUL SYLLABLE MIEUM E MIEUM
+  {0xB8E3, 0xBA65}, //9519 #HANGUL SYLLABLE MIEUM E PIEUP
+  {0xB8E4, 0xBA67}, //9520 #HANGUL SYLLABLE MIEUM E SIOS
+  {0xB8E5, 0xBA68}, //9521 #HANGUL SYLLABLE MIEUM E SSANGSIOS
+  {0xB8E6, 0xBA69}, //9522 #HANGUL SYLLABLE MIEUM E IEUNG
+  {0xB8E7, 0xBA70}, //9523 #HANGUL SYLLABLE MIEUM YEO
+  {0xB8E8, 0xBA71}, //9524 #HANGUL SYLLABLE MIEUM YEO KIYEOK
+  {0xB8E9, 0xBA74}, //9525 #HANGUL SYLLABLE MIEUM YEO NIEUN
+  {0xB8EA, 0xBA78}, //9526 #HANGUL SYLLABLE MIEUM YEO RIEUL
+  {0xB8EB, 0xBA83}, //9527 #HANGUL SYLLABLE MIEUM YEO SIOS
+  {0xB8EC, 0xBA84}, //9528 #HANGUL SYLLABLE MIEUM YEO SSANGSIOS
+  {0xB8ED, 0xBA85}, //9529 #HANGUL SYLLABLE MIEUM YEO IEUNG
+  {0xB8EE, 0xBA87}, //9530 #HANGUL SYLLABLE MIEUM YEO CHIEUCH
+  {0xB8EF, 0xBA8C}, //9531 #HANGUL SYLLABLE MIEUM YE
+  {0xB8F0, 0xBAA8}, //9532 #HANGUL SYLLABLE MIEUM O
+  {0xB8F1, 0xBAA9}, //9533 #HANGUL SYLLABLE MIEUM O KIYEOK
+  {0xB8F2, 0xBAAB}, //9534 #HANGUL SYLLABLE MIEUM O KIYEOKSIOS
+  {0xB8F3, 0xBAAC}, //9535 #HANGUL SYLLABLE MIEUM O NIEUN
+  {0xB8F4, 0xBAB0}, //9536 #HANGUL SYLLABLE MIEUM O RIEUL
+  {0xB8F5, 0xBAB2}, //9537 #HANGUL SYLLABLE MIEUM O RIEULMIEUM
+  {0xB8F6, 0xBAB8}, //9538 #HANGUL SYLLABLE MIEUM O MIEUM
+  {0xB8F7, 0xBAB9}, //9539 #HANGUL SYLLABLE MIEUM O PIEUP
+  {0xB8F8, 0xBABB}, //9540 #HANGUL SYLLABLE MIEUM O SIOS
+  {0xB8F9, 0xBABD}, //9541 #HANGUL SYLLABLE MIEUM O IEUNG
+  {0xB8FA, 0xBAC4}, //9542 #HANGUL SYLLABLE MIEUM WA
+  {0xB8FB, 0xBAC8}, //9543 #HANGUL SYLLABLE MIEUM WA NIEUN
+  {0xB8FC, 0xBAD8}, //9544 #HANGUL SYLLABLE MIEUM WA SSANGSIOS
+  {0xB8FD, 0xBAD9}, //9545 #HANGUL SYLLABLE MIEUM WA IEUNG
+  {0xB8FE, 0xBAFC}, //9546 #HANGUL SYLLABLE MIEUM OE
+  {0xB941, 0xD22A}, //9547 #HANGUL SYLLABLE THIEUTH YO PHIEUPH
+  {0xB942, 0xD22B}, //9548 #HANGUL SYLLABLE THIEUTH YO HIEUH
+  {0xB943, 0xD22E}, //9549 #HANGUL SYLLABLE THIEUTH U SSANGKIYEOK
+  {0xB944, 0xD22F}, //9550 #HANGUL SYLLABLE THIEUTH U KIYEOKSIOS
+  {0xB945, 0xD231}, //9551 #HANGUL SYLLABLE THIEUTH U NIEUNCIEUC
+  {0xB946, 0xD232}, //9552 #HANGUL SYLLABLE THIEUTH U NIEUNHIEUH
+  {0xB947, 0xD233}, //9553 #HANGUL SYLLABLE THIEUTH U TIKEUT
+  {0xB948, 0xD235}, //9554 #HANGUL SYLLABLE THIEUTH U RIEULKIYEOK
+  {0xB949, 0xD236}, //9555 #HANGUL SYLLABLE THIEUTH U RIEULMIEUM
+  {0xB94A, 0xD237}, //9556 #HANGUL SYLLABLE THIEUTH U RIEULPIEUP
+  {0xB94B, 0xD238}, //9557 #HANGUL SYLLABLE THIEUTH U RIEULSIOS
+  {0xB94C, 0xD239}, //9558 #HANGUL SYLLABLE THIEUTH U RIEULTHIEUTH
+  {0xB94D, 0xD23A}, //9559 #HANGUL SYLLABLE THIEUTH U RIEULPHIEUPH
+  {0xB94E, 0xD23B}, //9560 #HANGUL SYLLABLE THIEUTH U RIEULHIEUH
+  {0xB94F, 0xD23E}, //9561 #HANGUL SYLLABLE THIEUTH U PIEUPSIOS
+  {0xB950, 0xD240}, //9562 #HANGUL SYLLABLE THIEUTH U SSANGSIOS
+  {0xB951, 0xD242}, //9563 #HANGUL SYLLABLE THIEUTH U CIEUC
+  {0xB952, 0xD243}, //9564 #HANGUL SYLLABLE THIEUTH U CHIEUCH
+  {0xB953, 0xD244}, //9565 #HANGUL SYLLABLE THIEUTH U KHIEUKH
+  {0xB954, 0xD245}, //9566 #HANGUL SYLLABLE THIEUTH U THIEUTH
+  {0xB955, 0xD246}, //9567 #HANGUL SYLLABLE THIEUTH U PHIEUPH
+  {0xB956, 0xD247}, //9568 #HANGUL SYLLABLE THIEUTH U HIEUH
+  {0xB957, 0xD249}, //9569 #HANGUL SYLLABLE THIEUTH WEO KIYEOK
+  {0xB958, 0xD24A}, //9570 #HANGUL SYLLABLE THIEUTH WEO SSANGKIYEOK
+  {0xB959, 0xD24B}, //9571 #HANGUL SYLLABLE THIEUTH WEO KIYEOKSIOS
+  {0xB95A, 0xD24C}, //9572 #HANGUL SYLLABLE THIEUTH WEO NIEUN
+  {0xB961, 0xD24D}, //9573 #HANGUL SYLLABLE THIEUTH WEO NIEUNCIEUC
+  {0xB962, 0xD24E}, //9574 #HANGUL SYLLABLE THIEUTH WEO NIEUNHIEUH
+  {0xB963, 0xD24F}, //9575 #HANGUL SYLLABLE THIEUTH WEO TIKEUT
+  {0xB964, 0xD250}, //9576 #HANGUL SYLLABLE THIEUTH WEO RIEUL
+  {0xB965, 0xD251}, //9577 #HANGUL SYLLABLE THIEUTH WEO RIEULKIYEOK
+  {0xB966, 0xD252}, //9578 #HANGUL SYLLABLE THIEUTH WEO RIEULMIEUM
+  {0xB967, 0xD253}, //9579 #HANGUL SYLLABLE THIEUTH WEO RIEULPIEUP
+  {0xB968, 0xD254}, //9580 #HANGUL SYLLABLE THIEUTH WEO RIEULSIOS
+  {0xB969, 0xD255}, //9581 #HANGUL SYLLABLE THIEUTH WEO RIEULTHIEUTH
+  {0xB96A, 0xD256}, //9582 #HANGUL SYLLABLE THIEUTH WEO RIEULPHIEUPH
+  {0xB96B, 0xD257}, //9583 #HANGUL SYLLABLE THIEUTH WEO RIEULHIEUH
+  {0xB96C, 0xD258}, //9584 #HANGUL SYLLABLE THIEUTH WEO MIEUM
+  {0xB96D, 0xD259}, //9585 #HANGUL SYLLABLE THIEUTH WEO PIEUP
+  {0xB96E, 0xD25A}, //9586 #HANGUL SYLLABLE THIEUTH WEO PIEUPSIOS
+  {0xB96F, 0xD25B}, //9587 #HANGUL SYLLABLE THIEUTH WEO SIOS
+  {0xB970, 0xD25D}, //9588 #HANGUL SYLLABLE THIEUTH WEO IEUNG
+  {0xB971, 0xD25E}, //9589 #HANGUL SYLLABLE THIEUTH WEO CIEUC
+  {0xB972, 0xD25F}, //9590 #HANGUL SYLLABLE THIEUTH WEO CHIEUCH
+  {0xB973, 0xD260}, //9591 #HANGUL SYLLABLE THIEUTH WEO KHIEUKH
+  {0xB974, 0xD261}, //9592 #HANGUL SYLLABLE THIEUTH WEO THIEUTH
+  {0xB975, 0xD262}, //9593 #HANGUL SYLLABLE THIEUTH WEO PHIEUPH
+  {0xB976, 0xD263}, //9594 #HANGUL SYLLABLE THIEUTH WEO HIEUH
+  {0xB977, 0xD265}, //9595 #HANGUL SYLLABLE THIEUTH WE KIYEOK
+  {0xB978, 0xD266}, //9596 #HANGUL SYLLABLE THIEUTH WE SSANGKIYEOK
+  {0xB979, 0xD267}, //9597 #HANGUL SYLLABLE THIEUTH WE KIYEOKSIOS
+  {0xB97A, 0xD268}, //9598 #HANGUL SYLLABLE THIEUTH WE NIEUN
+  {0xB981, 0xD269}, //9599 #HANGUL SYLLABLE THIEUTH WE NIEUNCIEUC
+  {0xB982, 0xD26A}, //9600 #HANGUL SYLLABLE THIEUTH WE NIEUNHIEUH
+  {0xB983, 0xD26B}, //9601 #HANGUL SYLLABLE THIEUTH WE TIKEUT
+  {0xB984, 0xD26C}, //9602 #HANGUL SYLLABLE THIEUTH WE RIEUL
+  {0xB985, 0xD26D}, //9603 #HANGUL SYLLABLE THIEUTH WE RIEULKIYEOK
+  {0xB986, 0xD26E}, //9604 #HANGUL SYLLABLE THIEUTH WE RIEULMIEUM
+  {0xB987, 0xD26F}, //9605 #HANGUL SYLLABLE THIEUTH WE RIEULPIEUP
+  {0xB988, 0xD270}, //9606 #HANGUL SYLLABLE THIEUTH WE RIEULSIOS
+  {0xB989, 0xD271}, //9607 #HANGUL SYLLABLE THIEUTH WE RIEULTHIEUTH
+  {0xB98A, 0xD272}, //9608 #HANGUL SYLLABLE THIEUTH WE RIEULPHIEUPH
+  {0xB98B, 0xD273}, //9609 #HANGUL SYLLABLE THIEUTH WE RIEULHIEUH
+  {0xB98C, 0xD274}, //9610 #HANGUL SYLLABLE THIEUTH WE MIEUM
+  {0xB98D, 0xD275}, //9611 #HANGUL SYLLABLE THIEUTH WE PIEUP
+  {0xB98E, 0xD276}, //9612 #HANGUL SYLLABLE THIEUTH WE PIEUPSIOS
+  {0xB98F, 0xD277}, //9613 #HANGUL SYLLABLE THIEUTH WE SIOS
+  {0xB990, 0xD278}, //9614 #HANGUL SYLLABLE THIEUTH WE SSANGSIOS
+  {0xB991, 0xD279}, //9615 #HANGUL SYLLABLE THIEUTH WE IEUNG
+  {0xB992, 0xD27A}, //9616 #HANGUL SYLLABLE THIEUTH WE CIEUC
+  {0xB993, 0xD27B}, //9617 #HANGUL SYLLABLE THIEUTH WE CHIEUCH
+  {0xB994, 0xD27C}, //9618 #HANGUL SYLLABLE THIEUTH WE KHIEUKH
+  {0xB995, 0xD27D}, //9619 #HANGUL SYLLABLE THIEUTH WE THIEUTH
+  {0xB996, 0xD27E}, //9620 #HANGUL SYLLABLE THIEUTH WE PHIEUPH
+  {0xB997, 0xD27F}, //9621 #HANGUL SYLLABLE THIEUTH WE HIEUH
+  {0xB998, 0xD282}, //9622 #HANGUL SYLLABLE THIEUTH WI SSANGKIYEOK
+  {0xB999, 0xD283}, //9623 #HANGUL SYLLABLE THIEUTH WI KIYEOKSIOS
+  {0xB99A, 0xD285}, //9624 #HANGUL SYLLABLE THIEUTH WI NIEUNCIEUC
+  {0xB99B, 0xD286}, //9625 #HANGUL SYLLABLE THIEUTH WI NIEUNHIEUH
+  {0xB99C, 0xD287}, //9626 #HANGUL SYLLABLE THIEUTH WI TIKEUT
+  {0xB99D, 0xD289}, //9627 #HANGUL SYLLABLE THIEUTH WI RIEULKIYEOK
+  {0xB99E, 0xD28A}, //9628 #HANGUL SYLLABLE THIEUTH WI RIEULMIEUM
+  {0xB99F, 0xD28B}, //9629 #HANGUL SYLLABLE THIEUTH WI RIEULPIEUP
+  {0xB9A0, 0xD28C}, //9630 #HANGUL SYLLABLE THIEUTH WI RIEULSIOS
+  {0xB9A1, 0xBB00}, //9631 #HANGUL SYLLABLE MIEUM OE NIEUN
+  {0xB9A2, 0xBB04}, //9632 #HANGUL SYLLABLE MIEUM OE RIEUL
+  {0xB9A3, 0xBB0D}, //9633 #HANGUL SYLLABLE MIEUM OE PIEUP
+  {0xB9A4, 0xBB0F}, //9634 #HANGUL SYLLABLE MIEUM OE SIOS
+  {0xB9A5, 0xBB11}, //9635 #HANGUL SYLLABLE MIEUM OE IEUNG
+  {0xB9A6, 0xBB18}, //9636 #HANGUL SYLLABLE MIEUM YO
+  {0xB9A7, 0xBB1C}, //9637 #HANGUL SYLLABLE MIEUM YO NIEUN
+  {0xB9A8, 0xBB20}, //9638 #HANGUL SYLLABLE MIEUM YO RIEUL
+  {0xB9A9, 0xBB29}, //9639 #HANGUL SYLLABLE MIEUM YO PIEUP
+  {0xB9AA, 0xBB2B}, //9640 #HANGUL SYLLABLE MIEUM YO SIOS
+  {0xB9AB, 0xBB34}, //9641 #HANGUL SYLLABLE MIEUM U
+  {0xB9AC, 0xBB35}, //9642 #HANGUL SYLLABLE MIEUM U KIYEOK
+  {0xB9AD, 0xBB36}, //9643 #HANGUL SYLLABLE MIEUM U SSANGKIYEOK
+  {0xB9AE, 0xBB38}, //9644 #HANGUL SYLLABLE MIEUM U NIEUN
+  {0xB9AF, 0xBB3B}, //9645 #HANGUL SYLLABLE MIEUM U TIKEUT
+  {0xB9B0, 0xBB3C}, //9646 #HANGUL SYLLABLE MIEUM U RIEUL
+  {0xB9B1, 0xBB3D}, //9647 #HANGUL SYLLABLE MIEUM U RIEULKIYEOK
+  {0xB9B2, 0xBB3E}, //9648 #HANGUL SYLLABLE MIEUM U RIEULMIEUM
+  {0xB9B3, 0xBB44}, //9649 #HANGUL SYLLABLE MIEUM U MIEUM
+  {0xB9B4, 0xBB45}, //9650 #HANGUL SYLLABLE MIEUM U PIEUP
+  {0xB9B5, 0xBB47}, //9651 #HANGUL SYLLABLE MIEUM U SIOS
+  {0xB9B6, 0xBB49}, //9652 #HANGUL SYLLABLE MIEUM U IEUNG
+  {0xB9B7, 0xBB4D}, //9653 #HANGUL SYLLABLE MIEUM U THIEUTH
+  {0xB9B8, 0xBB4F}, //9654 #HANGUL SYLLABLE MIEUM U HIEUH
+  {0xB9B9, 0xBB50}, //9655 #HANGUL SYLLABLE MIEUM WEO
+  {0xB9BA, 0xBB54}, //9656 #HANGUL SYLLABLE MIEUM WEO NIEUN
+  {0xB9BB, 0xBB58}, //9657 #HANGUL SYLLABLE MIEUM WEO RIEUL
+  {0xB9BC, 0xBB61}, //9658 #HANGUL SYLLABLE MIEUM WEO PIEUP
+  {0xB9BD, 0xBB63}, //9659 #HANGUL SYLLABLE MIEUM WEO SIOS
+  {0xB9BE, 0xBB6C}, //9660 #HANGUL SYLLABLE MIEUM WE
+  {0xB9BF, 0xBB88}, //9661 #HANGUL SYLLABLE MIEUM WI
+  {0xB9C0, 0xBB8C}, //9662 #HANGUL SYLLABLE MIEUM WI NIEUN
+  {0xB9C1, 0xBB90}, //9663 #HANGUL SYLLABLE MIEUM WI RIEUL
+  {0xB9C2, 0xBBA4}, //9664 #HANGUL SYLLABLE MIEUM YU
+  {0xB9C3, 0xBBA8}, //9665 #HANGUL SYLLABLE MIEUM YU NIEUN
+  {0xB9C4, 0xBBAC}, //9666 #HANGUL SYLLABLE MIEUM YU RIEUL
+  {0xB9C5, 0xBBB4}, //9667 #HANGUL SYLLABLE MIEUM YU MIEUM
+  {0xB9C6, 0xBBB7}, //9668 #HANGUL SYLLABLE MIEUM YU SIOS
+  {0xB9C7, 0xBBC0}, //9669 #HANGUL SYLLABLE MIEUM EU
+  {0xB9C8, 0xBBC4}, //9670 #HANGUL SYLLABLE MIEUM EU NIEUN
+  {0xB9C9, 0xBBC8}, //9671 #HANGUL SYLLABLE MIEUM EU RIEUL
+  {0xB9CA, 0xBBD0}, //9672 #HANGUL SYLLABLE MIEUM EU MIEUM
+  {0xB9CB, 0xBBD3}, //9673 #HANGUL SYLLABLE MIEUM EU SIOS
+  {0xB9CC, 0xBBF8}, //9674 #HANGUL SYLLABLE MIEUM I
+  {0xB9CD, 0xBBF9}, //9675 #HANGUL SYLLABLE MIEUM I KIYEOK
+  {0xB9CE, 0xBBFC}, //9676 #HANGUL SYLLABLE MIEUM I NIEUN
+  {0xB9CF, 0xBBFF}, //9677 #HANGUL SYLLABLE MIEUM I TIKEUT
+  {0xB9D0, 0xBC00}, //9678 #HANGUL SYLLABLE MIEUM I RIEUL
+  {0xB9D1, 0xBC02}, //9679 #HANGUL SYLLABLE MIEUM I RIEULMIEUM
+  {0xB9D2, 0xBC08}, //9680 #HANGUL SYLLABLE MIEUM I MIEUM
+  {0xB9D3, 0xBC09}, //9681 #HANGUL SYLLABLE MIEUM I PIEUP
+  {0xB9D4, 0xBC0B}, //9682 #HANGUL SYLLABLE MIEUM I SIOS
+  {0xB9D5, 0xBC0C}, //9683 #HANGUL SYLLABLE MIEUM I SSANGSIOS
+  {0xB9D6, 0xBC0D}, //9684 #HANGUL SYLLABLE MIEUM I IEUNG
+  {0xB9D7, 0xBC0F}, //9685 #HANGUL SYLLABLE MIEUM I CHIEUCH
+  {0xB9D8, 0xBC11}, //9686 #HANGUL SYLLABLE MIEUM I THIEUTH
+  {0xB9D9, 0xBC14}, //9687 #HANGUL SYLLABLE PIEUP A
+  {0xB9DA, 0xBC15}, //9688 #HANGUL SYLLABLE PIEUP A KIYEOK
+  {0xB9DB, 0xBC16}, //9689 #HANGUL SYLLABLE PIEUP A SSANGKIYEOK
+  {0xB9DC, 0xBC17}, //9690 #HANGUL SYLLABLE PIEUP A KIYEOKSIOS
+  {0xB9DD, 0xBC18}, //9691 #HANGUL SYLLABLE PIEUP A NIEUN
+  {0xB9DE, 0xBC1B}, //9692 #HANGUL SYLLABLE PIEUP A TIKEUT
+  {0xB9DF, 0xBC1C}, //9693 #HANGUL SYLLABLE PIEUP A RIEUL
+  {0xB9E0, 0xBC1D}, //9694 #HANGUL SYLLABLE PIEUP A RIEULKIYEOK
+  {0xB9E1, 0xBC1E}, //9695 #HANGUL SYLLABLE PIEUP A RIEULMIEUM
+  {0xB9E2, 0xBC1F}, //9696 #HANGUL SYLLABLE PIEUP A RIEULPIEUP
+  {0xB9E3, 0xBC24}, //9697 #HANGUL SYLLABLE PIEUP A MIEUM
+  {0xB9E4, 0xBC25}, //9698 #HANGUL SYLLABLE PIEUP A PIEUP
+  {0xB9E5, 0xBC27}, //9699 #HANGUL SYLLABLE PIEUP A SIOS
+  {0xB9E6, 0xBC29}, //9700 #HANGUL SYLLABLE PIEUP A IEUNG
+  {0xB9E7, 0xBC2D}, //9701 #HANGUL SYLLABLE PIEUP A THIEUTH
+  {0xB9E8, 0xBC30}, //9702 #HANGUL SYLLABLE PIEUP AE
+  {0xB9E9, 0xBC31}, //9703 #HANGUL SYLLABLE PIEUP AE KIYEOK
+  {0xB9EA, 0xBC34}, //9704 #HANGUL SYLLABLE PIEUP AE NIEUN
+  {0xB9EB, 0xBC38}, //9705 #HANGUL SYLLABLE PIEUP AE RIEUL
+  {0xB9EC, 0xBC40}, //9706 #HANGUL SYLLABLE PIEUP AE MIEUM
+  {0xB9ED, 0xBC41}, //9707 #HANGUL SYLLABLE PIEUP AE PIEUP
+  {0xB9EE, 0xBC43}, //9708 #HANGUL SYLLABLE PIEUP AE SIOS
+  {0xB9EF, 0xBC44}, //9709 #HANGUL SYLLABLE PIEUP AE SSANGSIOS
+  {0xB9F0, 0xBC45}, //9710 #HANGUL SYLLABLE PIEUP AE IEUNG
+  {0xB9F1, 0xBC49}, //9711 #HANGUL SYLLABLE PIEUP AE THIEUTH
+  {0xB9F2, 0xBC4C}, //9712 #HANGUL SYLLABLE PIEUP YA
+  {0xB9F3, 0xBC4D}, //9713 #HANGUL SYLLABLE PIEUP YA KIYEOK
+  {0xB9F4, 0xBC50}, //9714 #HANGUL SYLLABLE PIEUP YA NIEUN
+  {0xB9F5, 0xBC5D}, //9715 #HANGUL SYLLABLE PIEUP YA PIEUP
+  {0xB9F6, 0xBC84}, //9716 #HANGUL SYLLABLE PIEUP EO
+  {0xB9F7, 0xBC85}, //9717 #HANGUL SYLLABLE PIEUP EO KIYEOK
+  {0xB9F8, 0xBC88}, //9718 #HANGUL SYLLABLE PIEUP EO NIEUN
+  {0xB9F9, 0xBC8B}, //9719 #HANGUL SYLLABLE PIEUP EO TIKEUT
+  {0xB9FA, 0xBC8C}, //9720 #HANGUL SYLLABLE PIEUP EO RIEUL
+  {0xB9FB, 0xBC8E}, //9721 #HANGUL SYLLABLE PIEUP EO RIEULMIEUM
+  {0xB9FC, 0xBC94}, //9722 #HANGUL SYLLABLE PIEUP EO MIEUM
+  {0xB9FD, 0xBC95}, //9723 #HANGUL SYLLABLE PIEUP EO PIEUP
+  {0xB9FE, 0xBC97}, //9724 #HANGUL SYLLABLE PIEUP EO SIOS
+  {0xBA41, 0xD28D}, //9725 #HANGUL SYLLABLE THIEUTH WI RIEULTHIEUTH
+  {0xBA42, 0xD28E}, //9726 #HANGUL SYLLABLE THIEUTH WI RIEULPHIEUPH
+  {0xBA43, 0xD28F}, //9727 #HANGUL SYLLABLE THIEUTH WI RIEULHIEUH
+  {0xBA44, 0xD292}, //9728 #HANGUL SYLLABLE THIEUTH WI PIEUPSIOS
+  {0xBA45, 0xD293}, //9729 #HANGUL SYLLABLE THIEUTH WI SIOS
+  {0xBA46, 0xD294}, //9730 #HANGUL SYLLABLE THIEUTH WI SSANGSIOS
+  {0xBA47, 0xD296}, //9731 #HANGUL SYLLABLE THIEUTH WI CIEUC
+  {0xBA48, 0xD297}, //9732 #HANGUL SYLLABLE THIEUTH WI CHIEUCH
+  {0xBA49, 0xD298}, //9733 #HANGUL SYLLABLE THIEUTH WI KHIEUKH
+  {0xBA4A, 0xD299}, //9734 #HANGUL SYLLABLE THIEUTH WI THIEUTH
+  {0xBA4B, 0xD29A}, //9735 #HANGUL SYLLABLE THIEUTH WI PHIEUPH
+  {0xBA4C, 0xD29B}, //9736 #HANGUL SYLLABLE THIEUTH WI HIEUH
+  {0xBA4D, 0xD29D}, //9737 #HANGUL SYLLABLE THIEUTH YU KIYEOK
+  {0xBA4E, 0xD29E}, //9738 #HANGUL SYLLABLE THIEUTH YU SSANGKIYEOK
+  {0xBA4F, 0xD29F}, //9739 #HANGUL SYLLABLE THIEUTH YU KIYEOKSIOS
+  {0xBA50, 0xD2A1}, //9740 #HANGUL SYLLABLE THIEUTH YU NIEUNCIEUC
+  {0xBA51, 0xD2A2}, //9741 #HANGUL SYLLABLE THIEUTH YU NIEUNHIEUH
+  {0xBA52, 0xD2A3}, //9742 #HANGUL SYLLABLE THIEUTH YU TIKEUT
+  {0xBA53, 0xD2A5}, //9743 #HANGUL SYLLABLE THIEUTH YU RIEULKIYEOK
+  {0xBA54, 0xD2A6}, //9744 #HANGUL SYLLABLE THIEUTH YU RIEULMIEUM
+  {0xBA55, 0xD2A7}, //9745 #HANGUL SYLLABLE THIEUTH YU RIEULPIEUP
+  {0xBA56, 0xD2A8}, //9746 #HANGUL SYLLABLE THIEUTH YU RIEULSIOS
+  {0xBA57, 0xD2A9}, //9747 #HANGUL SYLLABLE THIEUTH YU RIEULTHIEUTH
+  {0xBA58, 0xD2AA}, //9748 #HANGUL SYLLABLE THIEUTH YU RIEULPHIEUPH
+  {0xBA59, 0xD2AB}, //9749 #HANGUL SYLLABLE THIEUTH YU RIEULHIEUH
+  {0xBA5A, 0xD2AD}, //9750 #HANGUL SYLLABLE THIEUTH YU PIEUP
+  {0xBA61, 0xD2AE}, //9751 #HANGUL SYLLABLE THIEUTH YU PIEUPSIOS
+  {0xBA62, 0xD2AF}, //9752 #HANGUL SYLLABLE THIEUTH YU SIOS
+  {0xBA63, 0xD2B0}, //9753 #HANGUL SYLLABLE THIEUTH YU SSANGSIOS
+  {0xBA64, 0xD2B2}, //9754 #HANGUL SYLLABLE THIEUTH YU CIEUC
+  {0xBA65, 0xD2B3}, //9755 #HANGUL SYLLABLE THIEUTH YU CHIEUCH
+  {0xBA66, 0xD2B4}, //9756 #HANGUL SYLLABLE THIEUTH YU KHIEUKH
+  {0xBA67, 0xD2B5}, //9757 #HANGUL SYLLABLE THIEUTH YU THIEUTH
+  {0xBA68, 0xD2B6}, //9758 #HANGUL SYLLABLE THIEUTH YU PHIEUPH
+  {0xBA69, 0xD2B7}, //9759 #HANGUL SYLLABLE THIEUTH YU HIEUH
+  {0xBA6A, 0xD2BA}, //9760 #HANGUL SYLLABLE THIEUTH EU SSANGKIYEOK
+  {0xBA6B, 0xD2BB}, //9761 #HANGUL SYLLABLE THIEUTH EU KIYEOKSIOS
+  {0xBA6C, 0xD2BD}, //9762 #HANGUL SYLLABLE THIEUTH EU NIEUNCIEUC
+  {0xBA6D, 0xD2BE}, //9763 #HANGUL SYLLABLE THIEUTH EU NIEUNHIEUH
+  {0xBA6E, 0xD2C1}, //9764 #HANGUL SYLLABLE THIEUTH EU RIEULKIYEOK
+  {0xBA6F, 0xD2C3}, //9765 #HANGUL SYLLABLE THIEUTH EU RIEULPIEUP
+  {0xBA70, 0xD2C4}, //9766 #HANGUL SYLLABLE THIEUTH EU RIEULSIOS
+  {0xBA71, 0xD2C5}, //9767 #HANGUL SYLLABLE THIEUTH EU RIEULTHIEUTH
+  {0xBA72, 0xD2C6}, //9768 #HANGUL SYLLABLE THIEUTH EU RIEULPHIEUPH
+  {0xBA73, 0xD2C7}, //9769 #HANGUL SYLLABLE THIEUTH EU RIEULHIEUH
+  {0xBA74, 0xD2CA}, //9770 #HANGUL SYLLABLE THIEUTH EU PIEUPSIOS
+  {0xBA75, 0xD2CC}, //9771 #HANGUL SYLLABLE THIEUTH EU SSANGSIOS
+  {0xBA76, 0xD2CD}, //9772 #HANGUL SYLLABLE THIEUTH EU IEUNG
+  {0xBA77, 0xD2CE}, //9773 #HANGUL SYLLABLE THIEUTH EU CIEUC
+  {0xBA78, 0xD2CF}, //9774 #HANGUL SYLLABLE THIEUTH EU CHIEUCH
+  {0xBA79, 0xD2D0}, //9775 #HANGUL SYLLABLE THIEUTH EU KHIEUKH
+  {0xBA7A, 0xD2D1}, //9776 #HANGUL SYLLABLE THIEUTH EU THIEUTH
+  {0xBA81, 0xD2D2}, //9777 #HANGUL SYLLABLE THIEUTH EU PHIEUPH
+  {0xBA82, 0xD2D3}, //9778 #HANGUL SYLLABLE THIEUTH EU HIEUH
+  {0xBA83, 0xD2D5}, //9779 #HANGUL SYLLABLE THIEUTH YI KIYEOK
+  {0xBA84, 0xD2D6}, //9780 #HANGUL SYLLABLE THIEUTH YI SSANGKIYEOK
+  {0xBA85, 0xD2D7}, //9781 #HANGUL SYLLABLE THIEUTH YI KIYEOKSIOS
+  {0xBA86, 0xD2D9}, //9782 #HANGUL SYLLABLE THIEUTH YI NIEUNCIEUC
+  {0xBA87, 0xD2DA}, //9783 #HANGUL SYLLABLE THIEUTH YI NIEUNHIEUH
+  {0xBA88, 0xD2DB}, //9784 #HANGUL SYLLABLE THIEUTH YI TIKEUT
+  {0xBA89, 0xD2DD}, //9785 #HANGUL SYLLABLE THIEUTH YI RIEULKIYEOK
+  {0xBA8A, 0xD2DE}, //9786 #HANGUL SYLLABLE THIEUTH YI RIEULMIEUM
+  {0xBA8B, 0xD2DF}, //9787 #HANGUL SYLLABLE THIEUTH YI RIEULPIEUP
+  {0xBA8C, 0xD2E0}, //9788 #HANGUL SYLLABLE THIEUTH YI RIEULSIOS
+  {0xBA8D, 0xD2E1}, //9789 #HANGUL SYLLABLE THIEUTH YI RIEULTHIEUTH
+  {0xBA8E, 0xD2E2}, //9790 #HANGUL SYLLABLE THIEUTH YI RIEULPHIEUPH
+  {0xBA8F, 0xD2E3}, //9791 #HANGUL SYLLABLE THIEUTH YI RIEULHIEUH
+  {0xBA90, 0xD2E6}, //9792 #HANGUL SYLLABLE THIEUTH YI PIEUPSIOS
+  {0xBA91, 0xD2E7}, //9793 #HANGUL SYLLABLE THIEUTH YI SIOS
+  {0xBA92, 0xD2E8}, //9794 #HANGUL SYLLABLE THIEUTH YI SSANGSIOS
+  {0xBA93, 0xD2E9}, //9795 #HANGUL SYLLABLE THIEUTH YI IEUNG
+  {0xBA94, 0xD2EA}, //9796 #HANGUL SYLLABLE THIEUTH YI CIEUC
+  {0xBA95, 0xD2EB}, //9797 #HANGUL SYLLABLE THIEUTH YI CHIEUCH
+  {0xBA96, 0xD2EC}, //9798 #HANGUL SYLLABLE THIEUTH YI KHIEUKH
+  {0xBA97, 0xD2ED}, //9799 #HANGUL SYLLABLE THIEUTH YI THIEUTH
+  {0xBA98, 0xD2EE}, //9800 #HANGUL SYLLABLE THIEUTH YI PHIEUPH
+  {0xBA99, 0xD2EF}, //9801 #HANGUL SYLLABLE THIEUTH YI HIEUH
+  {0xBA9A, 0xD2F2}, //9802 #HANGUL SYLLABLE THIEUTH I SSANGKIYEOK
+  {0xBA9B, 0xD2F3}, //9803 #HANGUL SYLLABLE THIEUTH I KIYEOKSIOS
+  {0xBA9C, 0xD2F5}, //9804 #HANGUL SYLLABLE THIEUTH I NIEUNCIEUC
+  {0xBA9D, 0xD2F6}, //9805 #HANGUL SYLLABLE THIEUTH I NIEUNHIEUH
+  {0xBA9E, 0xD2F7}, //9806 #HANGUL SYLLABLE THIEUTH I TIKEUT
+  {0xBA9F, 0xD2F9}, //9807 #HANGUL SYLLABLE THIEUTH I RIEULKIYEOK
+  {0xBAA0, 0xD2FA}, //9808 #HANGUL SYLLABLE THIEUTH I RIEULMIEUM
+  {0xBAA1, 0xBC99}, //9809 #HANGUL SYLLABLE PIEUP EO IEUNG
+  {0xBAA2, 0xBC9A}, //9810 #HANGUL SYLLABLE PIEUP EO CIEUC
+  {0xBAA3, 0xBCA0}, //9811 #HANGUL SYLLABLE PIEUP E
+  {0xBAA4, 0xBCA1}, //9812 #HANGUL SYLLABLE PIEUP E KIYEOK
+  {0xBAA5, 0xBCA4}, //9813 #HANGUL SYLLABLE PIEUP E NIEUN
+  {0xBAA6, 0xBCA7}, //9814 #HANGUL SYLLABLE PIEUP E TIKEUT
+  {0xBAA7, 0xBCA8}, //9815 #HANGUL SYLLABLE PIEUP E RIEUL
+  {0xBAA8, 0xBCB0}, //9816 #HANGUL SYLLABLE PIEUP E MIEUM
+  {0xBAA9, 0xBCB1}, //9817 #HANGUL SYLLABLE PIEUP E PIEUP
+  {0xBAAA, 0xBCB3}, //9818 #HANGUL SYLLABLE PIEUP E SIOS
+  {0xBAAB, 0xBCB4}, //9819 #HANGUL SYLLABLE PIEUP E SSANGSIOS
+  {0xBAAC, 0xBCB5}, //9820 #HANGUL SYLLABLE PIEUP E IEUNG
+  {0xBAAD, 0xBCBC}, //9821 #HANGUL SYLLABLE PIEUP YEO
+  {0xBAAE, 0xBCBD}, //9822 #HANGUL SYLLABLE PIEUP YEO KIYEOK
+  {0xBAAF, 0xBCC0}, //9823 #HANGUL SYLLABLE PIEUP YEO NIEUN
+  {0xBAB0, 0xBCC4}, //9824 #HANGUL SYLLABLE PIEUP YEO RIEUL
+  {0xBAB1, 0xBCCD}, //9825 #HANGUL SYLLABLE PIEUP YEO PIEUP
+  {0xBAB2, 0xBCCF}, //9826 #HANGUL SYLLABLE PIEUP YEO SIOS
+  {0xBAB3, 0xBCD0}, //9827 #HANGUL SYLLABLE PIEUP YEO SSANGSIOS
+  {0xBAB4, 0xBCD1}, //9828 #HANGUL SYLLABLE PIEUP YEO IEUNG
+  {0xBAB5, 0xBCD5}, //9829 #HANGUL SYLLABLE PIEUP YEO THIEUTH
+  {0xBAB6, 0xBCD8}, //9830 #HANGUL SYLLABLE PIEUP YE
+  {0xBAB7, 0xBCDC}, //9831 #HANGUL SYLLABLE PIEUP YE NIEUN
+  {0xBAB8, 0xBCF4}, //9832 #HANGUL SYLLABLE PIEUP O
+  {0xBAB9, 0xBCF5}, //9833 #HANGUL SYLLABLE PIEUP O KIYEOK
+  {0xBABA, 0xBCF6}, //9834 #HANGUL SYLLABLE PIEUP O SSANGKIYEOK
+  {0xBABB, 0xBCF8}, //9835 #HANGUL SYLLABLE PIEUP O NIEUN
+  {0xBABC, 0xBCFC}, //9836 #HANGUL SYLLABLE PIEUP O RIEUL
+  {0xBABD, 0xBD04}, //9837 #HANGUL SYLLABLE PIEUP O MIEUM
+  {0xBABE, 0xBD05}, //9838 #HANGUL SYLLABLE PIEUP O PIEUP
+  {0xBABF, 0xBD07}, //9839 #HANGUL SYLLABLE PIEUP O SIOS
+  {0xBAC0, 0xBD09}, //9840 #HANGUL SYLLABLE PIEUP O IEUNG
+  {0xBAC1, 0xBD10}, //9841 #HANGUL SYLLABLE PIEUP WA
+  {0xBAC2, 0xBD14}, //9842 #HANGUL SYLLABLE PIEUP WA NIEUN
+  {0xBAC3, 0xBD24}, //9843 #HANGUL SYLLABLE PIEUP WA SSANGSIOS
+  {0xBAC4, 0xBD2C}, //9844 #HANGUL SYLLABLE PIEUP WAE
+  {0xBAC5, 0xBD40}, //9845 #HANGUL SYLLABLE PIEUP WAE SSANGSIOS
+  {0xBAC6, 0xBD48}, //9846 #HANGUL SYLLABLE PIEUP OE
+  {0xBAC7, 0xBD49}, //9847 #HANGUL SYLLABLE PIEUP OE KIYEOK
+  {0xBAC8, 0xBD4C}, //9848 #HANGUL SYLLABLE PIEUP OE NIEUN
+  {0xBAC9, 0xBD50}, //9849 #HANGUL SYLLABLE PIEUP OE RIEUL
+  {0xBACA, 0xBD58}, //9850 #HANGUL SYLLABLE PIEUP OE MIEUM
+  {0xBACB, 0xBD59}, //9851 #HANGUL SYLLABLE PIEUP OE PIEUP
+  {0xBACC, 0xBD64}, //9852 #HANGUL SYLLABLE PIEUP YO
+  {0xBACD, 0xBD68}, //9853 #HANGUL SYLLABLE PIEUP YO NIEUN
+  {0xBACE, 0xBD80}, //9854 #HANGUL SYLLABLE PIEUP U
+  {0xBACF, 0xBD81}, //9855 #HANGUL SYLLABLE PIEUP U KIYEOK
+  {0xBAD0, 0xBD84}, //9856 #HANGUL SYLLABLE PIEUP U NIEUN
+  {0xBAD1, 0xBD87}, //9857 #HANGUL SYLLABLE PIEUP U TIKEUT
+  {0xBAD2, 0xBD88}, //9858 #HANGUL SYLLABLE PIEUP U RIEUL
+  {0xBAD3, 0xBD89}, //9859 #HANGUL SYLLABLE PIEUP U RIEULKIYEOK
+  {0xBAD4, 0xBD8A}, //9860 #HANGUL SYLLABLE PIEUP U RIEULMIEUM
+  {0xBAD5, 0xBD90}, //9861 #HANGUL SYLLABLE PIEUP U MIEUM
+  {0xBAD6, 0xBD91}, //9862 #HANGUL SYLLABLE PIEUP U PIEUP
+  {0xBAD7, 0xBD93}, //9863 #HANGUL SYLLABLE PIEUP U SIOS
+  {0xBAD8, 0xBD95}, //9864 #HANGUL SYLLABLE PIEUP U IEUNG
+  {0xBAD9, 0xBD99}, //9865 #HANGUL SYLLABLE PIEUP U THIEUTH
+  {0xBADA, 0xBD9A}, //9866 #HANGUL SYLLABLE PIEUP U PHIEUPH
+  {0xBADB, 0xBD9C}, //9867 #HANGUL SYLLABLE PIEUP WEO
+  {0xBADC, 0xBDA4}, //9868 #HANGUL SYLLABLE PIEUP WEO RIEUL
+  {0xBADD, 0xBDB0}, //9869 #HANGUL SYLLABLE PIEUP WEO SSANGSIOS
+  {0xBADE, 0xBDB8}, //9870 #HANGUL SYLLABLE PIEUP WE
+  {0xBADF, 0xBDD4}, //9871 #HANGUL SYLLABLE PIEUP WI
+  {0xBAE0, 0xBDD5}, //9872 #HANGUL SYLLABLE PIEUP WI KIYEOK
+  {0xBAE1, 0xBDD8}, //9873 #HANGUL SYLLABLE PIEUP WI NIEUN
+  {0xBAE2, 0xBDDC}, //9874 #HANGUL SYLLABLE PIEUP WI RIEUL
+  {0xBAE3, 0xBDE9}, //9875 #HANGUL SYLLABLE PIEUP WI IEUNG
+  {0xBAE4, 0xBDF0}, //9876 #HANGUL SYLLABLE PIEUP YU
+  {0xBAE5, 0xBDF4}, //9877 #HANGUL SYLLABLE PIEUP YU NIEUN
+  {0xBAE6, 0xBDF8}, //9878 #HANGUL SYLLABLE PIEUP YU RIEUL
+  {0xBAE7, 0xBE00}, //9879 #HANGUL SYLLABLE PIEUP YU MIEUM
+  {0xBAE8, 0xBE03}, //9880 #HANGUL SYLLABLE PIEUP YU SIOS
+  {0xBAE9, 0xBE05}, //9881 #HANGUL SYLLABLE PIEUP YU IEUNG
+  {0xBAEA, 0xBE0C}, //9882 #HANGUL SYLLABLE PIEUP EU
+  {0xBAEB, 0xBE0D}, //9883 #HANGUL SYLLABLE PIEUP EU KIYEOK
+  {0xBAEC, 0xBE10}, //9884 #HANGUL SYLLABLE PIEUP EU NIEUN
+  {0xBAED, 0xBE14}, //9885 #HANGUL SYLLABLE PIEUP EU RIEUL
+  {0xBAEE, 0xBE1C}, //9886 #HANGUL SYLLABLE PIEUP EU MIEUM
+  {0xBAEF, 0xBE1D}, //9887 #HANGUL SYLLABLE PIEUP EU PIEUP
+  {0xBAF0, 0xBE1F}, //9888 #HANGUL SYLLABLE PIEUP EU SIOS
+  {0xBAF1, 0xBE44}, //9889 #HANGUL SYLLABLE PIEUP I
+  {0xBAF2, 0xBE45}, //9890 #HANGUL SYLLABLE PIEUP I KIYEOK
+  {0xBAF3, 0xBE48}, //9891 #HANGUL SYLLABLE PIEUP I NIEUN
+  {0xBAF4, 0xBE4C}, //9892 #HANGUL SYLLABLE PIEUP I RIEUL
+  {0xBAF5, 0xBE4E}, //9893 #HANGUL SYLLABLE PIEUP I RIEULMIEUM
+  {0xBAF6, 0xBE54}, //9894 #HANGUL SYLLABLE PIEUP I MIEUM
+  {0xBAF7, 0xBE55}, //9895 #HANGUL SYLLABLE PIEUP I PIEUP
+  {0xBAF8, 0xBE57}, //9896 #HANGUL SYLLABLE PIEUP I SIOS
+  {0xBAF9, 0xBE59}, //9897 #HANGUL SYLLABLE PIEUP I IEUNG
+  {0xBAFA, 0xBE5A}, //9898 #HANGUL SYLLABLE PIEUP I CIEUC
+  {0xBAFB, 0xBE5B}, //9899 #HANGUL SYLLABLE PIEUP I CHIEUCH
+  {0xBAFC, 0xBE60}, //9900 #HANGUL SYLLABLE SSANGPIEUP A
+  {0xBAFD, 0xBE61}, //9901 #HANGUL SYLLABLE SSANGPIEUP A KIYEOK
+  {0xBAFE, 0xBE64}, //9902 #HANGUL SYLLABLE SSANGPIEUP A NIEUN
+  {0xBB41, 0xD2FB}, //9903 #HANGUL SYLLABLE THIEUTH I RIEULPIEUP
+  {0xBB42, 0xD2FC}, //9904 #HANGUL SYLLABLE THIEUTH I RIEULSIOS
+  {0xBB43, 0xD2FD}, //9905 #HANGUL SYLLABLE THIEUTH I RIEULTHIEUTH
+  {0xBB44, 0xD2FE}, //9906 #HANGUL SYLLABLE THIEUTH I RIEULPHIEUPH
+  {0xBB45, 0xD2FF}, //9907 #HANGUL SYLLABLE THIEUTH I RIEULHIEUH
+  {0xBB46, 0xD302}, //9908 #HANGUL SYLLABLE THIEUTH I PIEUPSIOS
+  {0xBB47, 0xD304}, //9909 #HANGUL SYLLABLE THIEUTH I SSANGSIOS
+  {0xBB48, 0xD306}, //9910 #HANGUL SYLLABLE THIEUTH I CIEUC
+  {0xBB49, 0xD307}, //9911 #HANGUL SYLLABLE THIEUTH I CHIEUCH
+  {0xBB4A, 0xD308}, //9912 #HANGUL SYLLABLE THIEUTH I KHIEUKH
+  {0xBB4B, 0xD309}, //9913 #HANGUL SYLLABLE THIEUTH I THIEUTH
+  {0xBB4C, 0xD30A}, //9914 #HANGUL SYLLABLE THIEUTH I PHIEUPH
+  {0xBB4D, 0xD30B}, //9915 #HANGUL SYLLABLE THIEUTH I HIEUH
+  {0xBB4E, 0xD30F}, //9916 #HANGUL SYLLABLE PHIEUPH A KIYEOKSIOS
+  {0xBB4F, 0xD311}, //9917 #HANGUL SYLLABLE PHIEUPH A NIEUNCIEUC
+  {0xBB50, 0xD312}, //9918 #HANGUL SYLLABLE PHIEUPH A NIEUNHIEUH
+  {0xBB51, 0xD313}, //9919 #HANGUL SYLLABLE PHIEUPH A TIKEUT
+  {0xBB52, 0xD315}, //9920 #HANGUL SYLLABLE PHIEUPH A RIEULKIYEOK
+  {0xBB53, 0xD317}, //9921 #HANGUL SYLLABLE PHIEUPH A RIEULPIEUP
+  {0xBB54, 0xD318}, //9922 #HANGUL SYLLABLE PHIEUPH A RIEULSIOS
+  {0xBB55, 0xD319}, //9923 #HANGUL SYLLABLE PHIEUPH A RIEULTHIEUTH
+  {0xBB56, 0xD31A}, //9924 #HANGUL SYLLABLE PHIEUPH A RIEULPHIEUPH
+  {0xBB57, 0xD31B}, //9925 #HANGUL SYLLABLE PHIEUPH A RIEULHIEUH
+  {0xBB58, 0xD31E}, //9926 #HANGUL SYLLABLE PHIEUPH A PIEUPSIOS
+  {0xBB59, 0xD322}, //9927 #HANGUL SYLLABLE PHIEUPH A CIEUC
+  {0xBB5A, 0xD323}, //9928 #HANGUL SYLLABLE PHIEUPH A CHIEUCH
+  {0xBB61, 0xD324}, //9929 #HANGUL SYLLABLE PHIEUPH A KHIEUKH
+  {0xBB62, 0xD326}, //9930 #HANGUL SYLLABLE PHIEUPH A PHIEUPH
+  {0xBB63, 0xD327}, //9931 #HANGUL SYLLABLE PHIEUPH A HIEUH
+  {0xBB64, 0xD32A}, //9932 #HANGUL SYLLABLE PHIEUPH AE SSANGKIYEOK
+  {0xBB65, 0xD32B}, //9933 #HANGUL SYLLABLE PHIEUPH AE KIYEOKSIOS
+  {0xBB66, 0xD32D}, //9934 #HANGUL SYLLABLE PHIEUPH AE NIEUNCIEUC
+  {0xBB67, 0xD32E}, //9935 #HANGUL SYLLABLE PHIEUPH AE NIEUNHIEUH
+  {0xBB68, 0xD32F}, //9936 #HANGUL SYLLABLE PHIEUPH AE TIKEUT
+  {0xBB69, 0xD331}, //9937 #HANGUL SYLLABLE PHIEUPH AE RIEULKIYEOK
+  {0xBB6A, 0xD332}, //9938 #HANGUL SYLLABLE PHIEUPH AE RIEULMIEUM
+  {0xBB6B, 0xD333}, //9939 #HANGUL SYLLABLE PHIEUPH AE RIEULPIEUP
+  {0xBB6C, 0xD334}, //9940 #HANGUL SYLLABLE PHIEUPH AE RIEULSIOS
+  {0xBB6D, 0xD335}, //9941 #HANGUL SYLLABLE PHIEUPH AE RIEULTHIEUTH
+  {0xBB6E, 0xD336}, //9942 #HANGUL SYLLABLE PHIEUPH AE RIEULPHIEUPH
+  {0xBB6F, 0xD337}, //9943 #HANGUL SYLLABLE PHIEUPH AE RIEULHIEUH
+  {0xBB70, 0xD33A}, //9944 #HANGUL SYLLABLE PHIEUPH AE PIEUPSIOS
+  {0xBB71, 0xD33E}, //9945 #HANGUL SYLLABLE PHIEUPH AE CIEUC
+  {0xBB72, 0xD33F}, //9946 #HANGUL SYLLABLE PHIEUPH AE CHIEUCH
+  {0xBB73, 0xD340}, //9947 #HANGUL SYLLABLE PHIEUPH AE KHIEUKH
+  {0xBB74, 0xD341}, //9948 #HANGUL SYLLABLE PHIEUPH AE THIEUTH
+  {0xBB75, 0xD342}, //9949 #HANGUL SYLLABLE PHIEUPH AE PHIEUPH
+  {0xBB76, 0xD343}, //9950 #HANGUL SYLLABLE PHIEUPH AE HIEUH
+  {0xBB77, 0xD346}, //9951 #HANGUL SYLLABLE PHIEUPH YA SSANGKIYEOK
+  {0xBB78, 0xD347}, //9952 #HANGUL SYLLABLE PHIEUPH YA KIYEOKSIOS
+  {0xBB79, 0xD348}, //9953 #HANGUL SYLLABLE PHIEUPH YA NIEUN
+  {0xBB7A, 0xD349}, //9954 #HANGUL SYLLABLE PHIEUPH YA NIEUNCIEUC
+  {0xBB81, 0xD34A}, //9955 #HANGUL SYLLABLE PHIEUPH YA NIEUNHIEUH
+  {0xBB82, 0xD34B}, //9956 #HANGUL SYLLABLE PHIEUPH YA TIKEUT
+  {0xBB83, 0xD34C}, //9957 #HANGUL SYLLABLE PHIEUPH YA RIEUL
+  {0xBB84, 0xD34D}, //9958 #HANGUL SYLLABLE PHIEUPH YA RIEULKIYEOK
+  {0xBB85, 0xD34E}, //9959 #HANGUL SYLLABLE PHIEUPH YA RIEULMIEUM
+  {0xBB86, 0xD34F}, //9960 #HANGUL SYLLABLE PHIEUPH YA RIEULPIEUP
+  {0xBB87, 0xD350}, //9961 #HANGUL SYLLABLE PHIEUPH YA RIEULSIOS
+  {0xBB88, 0xD351}, //9962 #HANGUL SYLLABLE PHIEUPH YA RIEULTHIEUTH
+  {0xBB89, 0xD352}, //9963 #HANGUL SYLLABLE PHIEUPH YA RIEULPHIEUPH
+  {0xBB8A, 0xD353}, //9964 #HANGUL SYLLABLE PHIEUPH YA RIEULHIEUH
+  {0xBB8B, 0xD354}, //9965 #HANGUL SYLLABLE PHIEUPH YA MIEUM
+  {0xBB8C, 0xD355}, //9966 #HANGUL SYLLABLE PHIEUPH YA PIEUP
+  {0xBB8D, 0xD356}, //9967 #HANGUL SYLLABLE PHIEUPH YA PIEUPSIOS
+  {0xBB8E, 0xD357}, //9968 #HANGUL SYLLABLE PHIEUPH YA SIOS
+  {0xBB8F, 0xD358}, //9969 #HANGUL SYLLABLE PHIEUPH YA SSANGSIOS
+  {0xBB90, 0xD359}, //9970 #HANGUL SYLLABLE PHIEUPH YA IEUNG
+  {0xBB91, 0xD35A}, //9971 #HANGUL SYLLABLE PHIEUPH YA CIEUC
+  {0xBB92, 0xD35B}, //9972 #HANGUL SYLLABLE PHIEUPH YA CHIEUCH
+  {0xBB93, 0xD35C}, //9973 #HANGUL SYLLABLE PHIEUPH YA KHIEUKH
+  {0xBB94, 0xD35D}, //9974 #HANGUL SYLLABLE PHIEUPH YA THIEUTH
+  {0xBB95, 0xD35E}, //9975 #HANGUL SYLLABLE PHIEUPH YA PHIEUPH
+  {0xBB96, 0xD35F}, //9976 #HANGUL SYLLABLE PHIEUPH YA HIEUH
+  {0xBB97, 0xD360}, //9977 #HANGUL SYLLABLE PHIEUPH YAE
+  {0xBB98, 0xD361}, //9978 #HANGUL SYLLABLE PHIEUPH YAE KIYEOK
+  {0xBB99, 0xD362}, //9979 #HANGUL SYLLABLE PHIEUPH YAE SSANGKIYEOK
+  {0xBB9A, 0xD363}, //9980 #HANGUL SYLLABLE PHIEUPH YAE KIYEOKSIOS
+  {0xBB9B, 0xD364}, //9981 #HANGUL SYLLABLE PHIEUPH YAE NIEUN
+  {0xBB9C, 0xD365}, //9982 #HANGUL SYLLABLE PHIEUPH YAE NIEUNCIEUC
+  {0xBB9D, 0xD366}, //9983 #HANGUL SYLLABLE PHIEUPH YAE NIEUNHIEUH
+  {0xBB9E, 0xD367}, //9984 #HANGUL SYLLABLE PHIEUPH YAE TIKEUT
+  {0xBB9F, 0xD368}, //9985 #HANGUL SYLLABLE PHIEUPH YAE RIEUL
+  {0xBBA0, 0xD369}, //9986 #HANGUL SYLLABLE PHIEUPH YAE RIEULKIYEOK
+  {0xBBA1, 0xBE68}, //9987 #HANGUL SYLLABLE SSANGPIEUP A RIEUL
+  {0xBBA2, 0xBE6A}, //9988 #HANGUL SYLLABLE SSANGPIEUP A RIEULMIEUM
+  {0xBBA3, 0xBE70}, //9989 #HANGUL SYLLABLE SSANGPIEUP A MIEUM
+  {0xBBA4, 0xBE71}, //9990 #HANGUL SYLLABLE SSANGPIEUP A PIEUP
+  {0xBBA5, 0xBE73}, //9991 #HANGUL SYLLABLE SSANGPIEUP A SIOS
+  {0xBBA6, 0xBE74}, //9992 #HANGUL SYLLABLE SSANGPIEUP A SSANGSIOS
+  {0xBBA7, 0xBE75}, //9993 #HANGUL SYLLABLE SSANGPIEUP A IEUNG
+  {0xBBA8, 0xBE7B}, //9994 #HANGUL SYLLABLE SSANGPIEUP A HIEUH
+  {0xBBA9, 0xBE7C}, //9995 #HANGUL SYLLABLE SSANGPIEUP AE
+  {0xBBAA, 0xBE7D}, //9996 #HANGUL SYLLABLE SSANGPIEUP AE KIYEOK
+  {0xBBAB, 0xBE80}, //9997 #HANGUL SYLLABLE SSANGPIEUP AE NIEUN
+  {0xBBAC, 0xBE84}, //9998 #HANGUL SYLLABLE SSANGPIEUP AE RIEUL
+  {0xBBAD, 0xBE8C}, //9999 #HANGUL SYLLABLE SSANGPIEUP AE MIEUM
+  {0xBBAE, 0xBE8D}, //10000 #HANGUL SYLLABLE SSANGPIEUP AE PIEUP
+  {0xBBAF, 0xBE8F}, //10001 #HANGUL SYLLABLE SSANGPIEUP AE SIOS
+  {0xBBB0, 0xBE90}, //10002 #HANGUL SYLLABLE SSANGPIEUP AE SSANGSIOS
+  {0xBBB1, 0xBE91}, //10003 #HANGUL SYLLABLE SSANGPIEUP AE IEUNG
+  {0xBBB2, 0xBE98}, //10004 #HANGUL SYLLABLE SSANGPIEUP YA
+  {0xBBB3, 0xBE99}, //10005 #HANGUL SYLLABLE SSANGPIEUP YA KIYEOK
+  {0xBBB4, 0xBEA8}, //10006 #HANGUL SYLLABLE SSANGPIEUP YA MIEUM
+  {0xBBB5, 0xBED0}, //10007 #HANGUL SYLLABLE SSANGPIEUP EO
+  {0xBBB6, 0xBED1}, //10008 #HANGUL SYLLABLE SSANGPIEUP EO KIYEOK
+  {0xBBB7, 0xBED4}, //10009 #HANGUL SYLLABLE SSANGPIEUP EO NIEUN
+  {0xBBB8, 0xBED7}, //10010 #HANGUL SYLLABLE SSANGPIEUP EO TIKEUT
+  {0xBBB9, 0xBED8}, //10011 #HANGUL SYLLABLE SSANGPIEUP EO RIEUL
+  {0xBBBA, 0xBEE0}, //10012 #HANGUL SYLLABLE SSANGPIEUP EO MIEUM
+  {0xBBBB, 0xBEE3}, //10013 #HANGUL SYLLABLE SSANGPIEUP EO SIOS
+  {0xBBBC, 0xBEE4}, //10014 #HANGUL SYLLABLE SSANGPIEUP EO SSANGSIOS
+  {0xBBBD, 0xBEE5}, //10015 #HANGUL SYLLABLE SSANGPIEUP EO IEUNG
+  {0xBBBE, 0xBEEC}, //10016 #HANGUL SYLLABLE SSANGPIEUP E
+  {0xBBBF, 0xBF01}, //10017 #HANGUL SYLLABLE SSANGPIEUP E IEUNG
+  {0xBBC0, 0xBF08}, //10018 #HANGUL SYLLABLE SSANGPIEUP YEO
+  {0xBBC1, 0xBF09}, //10019 #HANGUL SYLLABLE SSANGPIEUP YEO KIYEOK
+  {0xBBC2, 0xBF18}, //10020 #HANGUL SYLLABLE SSANGPIEUP YEO MIEUM
+  {0xBBC3, 0xBF19}, //10021 #HANGUL SYLLABLE SSANGPIEUP YEO PIEUP
+  {0xBBC4, 0xBF1B}, //10022 #HANGUL SYLLABLE SSANGPIEUP YEO SIOS
+  {0xBBC5, 0xBF1C}, //10023 #HANGUL SYLLABLE SSANGPIEUP YEO SSANGSIOS
+  {0xBBC6, 0xBF1D}, //10024 #HANGUL SYLLABLE SSANGPIEUP YEO IEUNG
+  {0xBBC7, 0xBF40}, //10025 #HANGUL SYLLABLE SSANGPIEUP O
+  {0xBBC8, 0xBF41}, //10026 #HANGUL SYLLABLE SSANGPIEUP O KIYEOK
+  {0xBBC9, 0xBF44}, //10027 #HANGUL SYLLABLE SSANGPIEUP O NIEUN
+  {0xBBCA, 0xBF48}, //10028 #HANGUL SYLLABLE SSANGPIEUP O RIEUL
+  {0xBBCB, 0xBF50}, //10029 #HANGUL SYLLABLE SSANGPIEUP O MIEUM
+  {0xBBCC, 0xBF51}, //10030 #HANGUL SYLLABLE SSANGPIEUP O PIEUP
+  {0xBBCD, 0xBF55}, //10031 #HANGUL SYLLABLE SSANGPIEUP O IEUNG
+  {0xBBCE, 0xBF94}, //10032 #HANGUL SYLLABLE SSANGPIEUP OE
+  {0xBBCF, 0xBFB0}, //10033 #HANGUL SYLLABLE SSANGPIEUP YO
+  {0xBBD0, 0xBFC5}, //10034 #HANGUL SYLLABLE SSANGPIEUP YO IEUNG
+  {0xBBD1, 0xBFCC}, //10035 #HANGUL SYLLABLE SSANGPIEUP U
+  {0xBBD2, 0xBFCD}, //10036 #HANGUL SYLLABLE SSANGPIEUP U KIYEOK
+  {0xBBD3, 0xBFD0}, //10037 #HANGUL SYLLABLE SSANGPIEUP U NIEUN
+  {0xBBD4, 0xBFD4}, //10038 #HANGUL SYLLABLE SSANGPIEUP U RIEUL
+  {0xBBD5, 0xBFDC}, //10039 #HANGUL SYLLABLE SSANGPIEUP U MIEUM
+  {0xBBD6, 0xBFDF}, //10040 #HANGUL SYLLABLE SSANGPIEUP U SIOS
+  {0xBBD7, 0xBFE1}, //10041 #HANGUL SYLLABLE SSANGPIEUP U IEUNG
+  {0xBBD8, 0xC03C}, //10042 #HANGUL SYLLABLE SSANGPIEUP YU
+  {0xBBD9, 0xC051}, //10043 #HANGUL SYLLABLE SSANGPIEUP YU IEUNG
+  {0xBBDA, 0xC058}, //10044 #HANGUL SYLLABLE SSANGPIEUP EU
+  {0xBBDB, 0xC05C}, //10045 #HANGUL SYLLABLE SSANGPIEUP EU NIEUN
+  {0xBBDC, 0xC060}, //10046 #HANGUL SYLLABLE SSANGPIEUP EU RIEUL
+  {0xBBDD, 0xC068}, //10047 #HANGUL SYLLABLE SSANGPIEUP EU MIEUM
+  {0xBBDE, 0xC069}, //10048 #HANGUL SYLLABLE SSANGPIEUP EU PIEUP
+  {0xBBDF, 0xC090}, //10049 #HANGUL SYLLABLE SSANGPIEUP I
+  {0xBBE0, 0xC091}, //10050 #HANGUL SYLLABLE SSANGPIEUP I KIYEOK
+  {0xBBE1, 0xC094}, //10051 #HANGUL SYLLABLE SSANGPIEUP I NIEUN
+  {0xBBE2, 0xC098}, //10052 #HANGUL SYLLABLE SSANGPIEUP I RIEUL
+  {0xBBE3, 0xC0A0}, //10053 #HANGUL SYLLABLE SSANGPIEUP I MIEUM
+  {0xBBE4, 0xC0A1}, //10054 #HANGUL SYLLABLE SSANGPIEUP I PIEUP
+  {0xBBE5, 0xC0A3}, //10055 #HANGUL SYLLABLE SSANGPIEUP I SIOS
+  {0xBBE6, 0xC0A5}, //10056 #HANGUL SYLLABLE SSANGPIEUP I IEUNG
+  {0xBBE7, 0xC0AC}, //10057 #HANGUL SYLLABLE SIOS A
+  {0xBBE8, 0xC0AD}, //10058 #HANGUL SYLLABLE SIOS A KIYEOK
+  {0xBBE9, 0xC0AF}, //10059 #HANGUL SYLLABLE SIOS A KIYEOKSIOS
+  {0xBBEA, 0xC0B0}, //10060 #HANGUL SYLLABLE SIOS A NIEUN
+  {0xBBEB, 0xC0B3}, //10061 #HANGUL SYLLABLE SIOS A TIKEUT
+  {0xBBEC, 0xC0B4}, //10062 #HANGUL SYLLABLE SIOS A RIEUL
+  {0xBBED, 0xC0B5}, //10063 #HANGUL SYLLABLE SIOS A RIEULKIYEOK
+  {0xBBEE, 0xC0B6}, //10064 #HANGUL SYLLABLE SIOS A RIEULMIEUM
+  {0xBBEF, 0xC0BC}, //10065 #HANGUL SYLLABLE SIOS A MIEUM
+  {0xBBF0, 0xC0BD}, //10066 #HANGUL SYLLABLE SIOS A PIEUP
+  {0xBBF1, 0xC0BF}, //10067 #HANGUL SYLLABLE SIOS A SIOS
+  {0xBBF2, 0xC0C0}, //10068 #HANGUL SYLLABLE SIOS A SSANGSIOS
+  {0xBBF3, 0xC0C1}, //10069 #HANGUL SYLLABLE SIOS A IEUNG
+  {0xBBF4, 0xC0C5}, //10070 #HANGUL SYLLABLE SIOS A THIEUTH
+  {0xBBF5, 0xC0C8}, //10071 #HANGUL SYLLABLE SIOS AE
+  {0xBBF6, 0xC0C9}, //10072 #HANGUL SYLLABLE SIOS AE KIYEOK
+  {0xBBF7, 0xC0CC}, //10073 #HANGUL SYLLABLE SIOS AE NIEUN
+  {0xBBF8, 0xC0D0}, //10074 #HANGUL SYLLABLE SIOS AE RIEUL
+  {0xBBF9, 0xC0D8}, //10075 #HANGUL SYLLABLE SIOS AE MIEUM
+  {0xBBFA, 0xC0D9}, //10076 #HANGUL SYLLABLE SIOS AE PIEUP
+  {0xBBFB, 0xC0DB}, //10077 #HANGUL SYLLABLE SIOS AE SIOS
+  {0xBBFC, 0xC0DC}, //10078 #HANGUL SYLLABLE SIOS AE SSANGSIOS
+  {0xBBFD, 0xC0DD}, //10079 #HANGUL SYLLABLE SIOS AE IEUNG
+  {0xBBFE, 0xC0E4}, //10080 #HANGUL SYLLABLE SIOS YA
+  {0xBC41, 0xD36A}, //10081 #HANGUL SYLLABLE PHIEUPH YAE RIEULMIEUM
+  {0xBC42, 0xD36B}, //10082 #HANGUL SYLLABLE PHIEUPH YAE RIEULPIEUP
+  {0xBC43, 0xD36C}, //10083 #HANGUL SYLLABLE PHIEUPH YAE RIEULSIOS
+  {0xBC44, 0xD36D}, //10084 #HANGUL SYLLABLE PHIEUPH YAE RIEULTHIEUTH
+  {0xBC45, 0xD36E}, //10085 #HANGUL SYLLABLE PHIEUPH YAE RIEULPHIEUPH
+  {0xBC46, 0xD36F}, //10086 #HANGUL SYLLABLE PHIEUPH YAE RIEULHIEUH
+  {0xBC47, 0xD370}, //10087 #HANGUL SYLLABLE PHIEUPH YAE MIEUM
+  {0xBC48, 0xD371}, //10088 #HANGUL SYLLABLE PHIEUPH YAE PIEUP
+  {0xBC49, 0xD372}, //10089 #HANGUL SYLLABLE PHIEUPH YAE PIEUPSIOS
+  {0xBC4A, 0xD373}, //10090 #HANGUL SYLLABLE PHIEUPH YAE SIOS
+  {0xBC4B, 0xD374}, //10091 #HANGUL SYLLABLE PHIEUPH YAE SSANGSIOS
+  {0xBC4C, 0xD375}, //10092 #HANGUL SYLLABLE PHIEUPH YAE IEUNG
+  {0xBC4D, 0xD376}, //10093 #HANGUL SYLLABLE PHIEUPH YAE CIEUC
+  {0xBC4E, 0xD377}, //10094 #HANGUL SYLLABLE PHIEUPH YAE CHIEUCH
+  {0xBC4F, 0xD378}, //10095 #HANGUL SYLLABLE PHIEUPH YAE KHIEUKH
+  {0xBC50, 0xD379}, //10096 #HANGUL SYLLABLE PHIEUPH YAE THIEUTH
+  {0xBC51, 0xD37A}, //10097 #HANGUL SYLLABLE PHIEUPH YAE PHIEUPH
+  {0xBC52, 0xD37B}, //10098 #HANGUL SYLLABLE PHIEUPH YAE HIEUH
+  {0xBC53, 0xD37E}, //10099 #HANGUL SYLLABLE PHIEUPH EO SSANGKIYEOK
+  {0xBC54, 0xD37F}, //10100 #HANGUL SYLLABLE PHIEUPH EO KIYEOKSIOS
+  {0xBC55, 0xD381}, //10101 #HANGUL SYLLABLE PHIEUPH EO NIEUNCIEUC
+  {0xBC56, 0xD382}, //10102 #HANGUL SYLLABLE PHIEUPH EO NIEUNHIEUH
+  {0xBC57, 0xD383}, //10103 #HANGUL SYLLABLE PHIEUPH EO TIKEUT
+  {0xBC58, 0xD385}, //10104 #HANGUL SYLLABLE PHIEUPH EO RIEULKIYEOK
+  {0xBC59, 0xD386}, //10105 #HANGUL SYLLABLE PHIEUPH EO RIEULMIEUM
+  {0xBC5A, 0xD387}, //10106 #HANGUL SYLLABLE PHIEUPH EO RIEULPIEUP
+  {0xBC61, 0xD388}, //10107 #HANGUL SYLLABLE PHIEUPH EO RIEULSIOS
+  {0xBC62, 0xD389}, //10108 #HANGUL SYLLABLE PHIEUPH EO RIEULTHIEUTH
+  {0xBC63, 0xD38A}, //10109 #HANGUL SYLLABLE PHIEUPH EO RIEULPHIEUPH
+  {0xBC64, 0xD38B}, //10110 #HANGUL SYLLABLE PHIEUPH EO RIEULHIEUH
+  {0xBC65, 0xD38E}, //10111 #HANGUL SYLLABLE PHIEUPH EO PIEUPSIOS
+  {0xBC66, 0xD392}, //10112 #HANGUL SYLLABLE PHIEUPH EO CIEUC
+  {0xBC67, 0xD393}, //10113 #HANGUL SYLLABLE PHIEUPH EO CHIEUCH
+  {0xBC68, 0xD394}, //10114 #HANGUL SYLLABLE PHIEUPH EO KHIEUKH
+  {0xBC69, 0xD395}, //10115 #HANGUL SYLLABLE PHIEUPH EO THIEUTH
+  {0xBC6A, 0xD396}, //10116 #HANGUL SYLLABLE PHIEUPH EO PHIEUPH
+  {0xBC6B, 0xD397}, //10117 #HANGUL SYLLABLE PHIEUPH EO HIEUH
+  {0xBC6C, 0xD39A}, //10118 #HANGUL SYLLABLE PHIEUPH E SSANGKIYEOK
+  {0xBC6D, 0xD39B}, //10119 #HANGUL SYLLABLE PHIEUPH E KIYEOKSIOS
+  {0xBC6E, 0xD39D}, //10120 #HANGUL SYLLABLE PHIEUPH E NIEUNCIEUC
+  {0xBC6F, 0xD39E}, //10121 #HANGUL SYLLABLE PHIEUPH E NIEUNHIEUH
+  {0xBC70, 0xD39F}, //10122 #HANGUL SYLLABLE PHIEUPH E TIKEUT
+  {0xBC71, 0xD3A1}, //10123 #HANGUL SYLLABLE PHIEUPH E RIEULKIYEOK
+  {0xBC72, 0xD3A2}, //10124 #HANGUL SYLLABLE PHIEUPH E RIEULMIEUM
+  {0xBC73, 0xD3A3}, //10125 #HANGUL SYLLABLE PHIEUPH E RIEULPIEUP
+  {0xBC74, 0xD3A4}, //10126 #HANGUL SYLLABLE PHIEUPH E RIEULSIOS
+  {0xBC75, 0xD3A5}, //10127 #HANGUL SYLLABLE PHIEUPH E RIEULTHIEUTH
+  {0xBC76, 0xD3A6}, //10128 #HANGUL SYLLABLE PHIEUPH E RIEULPHIEUPH
+  {0xBC77, 0xD3A7}, //10129 #HANGUL SYLLABLE PHIEUPH E RIEULHIEUH
+  {0xBC78, 0xD3AA}, //10130 #HANGUL SYLLABLE PHIEUPH E PIEUPSIOS
+  {0xBC79, 0xD3AC}, //10131 #HANGUL SYLLABLE PHIEUPH E SSANGSIOS
+  {0xBC7A, 0xD3AE}, //10132 #HANGUL SYLLABLE PHIEUPH E CIEUC
+  {0xBC81, 0xD3AF}, //10133 #HANGUL SYLLABLE PHIEUPH E CHIEUCH
+  {0xBC82, 0xD3B0}, //10134 #HANGUL SYLLABLE PHIEUPH E KHIEUKH
+  {0xBC83, 0xD3B1}, //10135 #HANGUL SYLLABLE PHIEUPH E THIEUTH
+  {0xBC84, 0xD3B2}, //10136 #HANGUL SYLLABLE PHIEUPH E PHIEUPH
+  {0xBC85, 0xD3B3}, //10137 #HANGUL SYLLABLE PHIEUPH E HIEUH
+  {0xBC86, 0xD3B5}, //10138 #HANGUL SYLLABLE PHIEUPH YEO KIYEOK
+  {0xBC87, 0xD3B6}, //10139 #HANGUL SYLLABLE PHIEUPH YEO SSANGKIYEOK
+  {0xBC88, 0xD3B7}, //10140 #HANGUL SYLLABLE PHIEUPH YEO KIYEOKSIOS
+  {0xBC89, 0xD3B9}, //10141 #HANGUL SYLLABLE PHIEUPH YEO NIEUNCIEUC
+  {0xBC8A, 0xD3BA}, //10142 #HANGUL SYLLABLE PHIEUPH YEO NIEUNHIEUH
+  {0xBC8B, 0xD3BB}, //10143 #HANGUL SYLLABLE PHIEUPH YEO TIKEUT
+  {0xBC8C, 0xD3BD}, //10144 #HANGUL SYLLABLE PHIEUPH YEO RIEULKIYEOK
+  {0xBC8D, 0xD3BE}, //10145 #HANGUL SYLLABLE PHIEUPH YEO RIEULMIEUM
+  {0xBC8E, 0xD3BF}, //10146 #HANGUL SYLLABLE PHIEUPH YEO RIEULPIEUP
+  {0xBC8F, 0xD3C0}, //10147 #HANGUL SYLLABLE PHIEUPH YEO RIEULSIOS
+  {0xBC90, 0xD3C1}, //10148 #HANGUL SYLLABLE PHIEUPH YEO RIEULTHIEUTH
+  {0xBC91, 0xD3C2}, //10149 #HANGUL SYLLABLE PHIEUPH YEO RIEULPHIEUPH
+  {0xBC92, 0xD3C3}, //10150 #HANGUL SYLLABLE PHIEUPH YEO RIEULHIEUH
+  {0xBC93, 0xD3C6}, //10151 #HANGUL SYLLABLE PHIEUPH YEO PIEUPSIOS
+  {0xBC94, 0xD3C7}, //10152 #HANGUL SYLLABLE PHIEUPH YEO SIOS
+  {0xBC95, 0xD3CA}, //10153 #HANGUL SYLLABLE PHIEUPH YEO CIEUC
+  {0xBC96, 0xD3CB}, //10154 #HANGUL SYLLABLE PHIEUPH YEO CHIEUCH
+  {0xBC97, 0xD3CC}, //10155 #HANGUL SYLLABLE PHIEUPH YEO KHIEUKH
+  {0xBC98, 0xD3CD}, //10156 #HANGUL SYLLABLE PHIEUPH YEO THIEUTH
+  {0xBC99, 0xD3CE}, //10157 #HANGUL SYLLABLE PHIEUPH YEO PHIEUPH
+  {0xBC9A, 0xD3CF}, //10158 #HANGUL SYLLABLE PHIEUPH YEO HIEUH
+  {0xBC9B, 0xD3D1}, //10159 #HANGUL SYLLABLE PHIEUPH YE KIYEOK
+  {0xBC9C, 0xD3D2}, //10160 #HANGUL SYLLABLE PHIEUPH YE SSANGKIYEOK
+  {0xBC9D, 0xD3D3}, //10161 #HANGUL SYLLABLE PHIEUPH YE KIYEOKSIOS
+  {0xBC9E, 0xD3D4}, //10162 #HANGUL SYLLABLE PHIEUPH YE NIEUN
+  {0xBC9F, 0xD3D5}, //10163 #HANGUL SYLLABLE PHIEUPH YE NIEUNCIEUC
+  {0xBCA0, 0xD3D6}, //10164 #HANGUL SYLLABLE PHIEUPH YE NIEUNHIEUH
+  {0xBCA1, 0xC0E5}, //10165 #HANGUL SYLLABLE SIOS YA KIYEOK
+  {0xBCA2, 0xC0E8}, //10166 #HANGUL SYLLABLE SIOS YA NIEUN
+  {0xBCA3, 0xC0EC}, //10167 #HANGUL SYLLABLE SIOS YA RIEUL
+  {0xBCA4, 0xC0F4}, //10168 #HANGUL SYLLABLE SIOS YA MIEUM
+  {0xBCA5, 0xC0F5}, //10169 #HANGUL SYLLABLE SIOS YA PIEUP
+  {0xBCA6, 0xC0F7}, //10170 #HANGUL SYLLABLE SIOS YA SIOS
+  {0xBCA7, 0xC0F9}, //10171 #HANGUL SYLLABLE SIOS YA IEUNG
+  {0xBCA8, 0xC100}, //10172 #HANGUL SYLLABLE SIOS YAE
+  {0xBCA9, 0xC104}, //10173 #HANGUL SYLLABLE SIOS YAE NIEUN
+  {0xBCAA, 0xC108}, //10174 #HANGUL SYLLABLE SIOS YAE RIEUL
+  {0xBCAB, 0xC110}, //10175 #HANGUL SYLLABLE SIOS YAE MIEUM
+  {0xBCAC, 0xC115}, //10176 #HANGUL SYLLABLE SIOS YAE IEUNG
+  {0xBCAD, 0xC11C}, //10177 #HANGUL SYLLABLE SIOS EO
+  {0xBCAE, 0xC11D}, //10178 #HANGUL SYLLABLE SIOS EO KIYEOK
+  {0xBCAF, 0xC11E}, //10179 #HANGUL SYLLABLE SIOS EO SSANGKIYEOK
+  {0xBCB0, 0xC11F}, //10180 #HANGUL SYLLABLE SIOS EO KIYEOKSIOS
+  {0xBCB1, 0xC120}, //10181 #HANGUL SYLLABLE SIOS EO NIEUN
+  {0xBCB2, 0xC123}, //10182 #HANGUL SYLLABLE SIOS EO TIKEUT
+  {0xBCB3, 0xC124}, //10183 #HANGUL SYLLABLE SIOS EO RIEUL
+  {0xBCB4, 0xC126}, //10184 #HANGUL SYLLABLE SIOS EO RIEULMIEUM
+  {0xBCB5, 0xC127}, //10185 #HANGUL SYLLABLE SIOS EO RIEULPIEUP
+  {0xBCB6, 0xC12C}, //10186 #HANGUL SYLLABLE SIOS EO MIEUM
+  {0xBCB7, 0xC12D}, //10187 #HANGUL SYLLABLE SIOS EO PIEUP
+  {0xBCB8, 0xC12F}, //10188 #HANGUL SYLLABLE SIOS EO SIOS
+  {0xBCB9, 0xC130}, //10189 #HANGUL SYLLABLE SIOS EO SSANGSIOS
+  {0xBCBA, 0xC131}, //10190 #HANGUL SYLLABLE SIOS EO IEUNG
+  {0xBCBB, 0xC136}, //10191 #HANGUL SYLLABLE SIOS EO PHIEUPH
+  {0xBCBC, 0xC138}, //10192 #HANGUL SYLLABLE SIOS E
+  {0xBCBD, 0xC139}, //10193 #HANGUL SYLLABLE SIOS E KIYEOK
+  {0xBCBE, 0xC13C}, //10194 #HANGUL SYLLABLE SIOS E NIEUN
+  {0xBCBF, 0xC140}, //10195 #HANGUL SYLLABLE SIOS E RIEUL
+  {0xBCC0, 0xC148}, //10196 #HANGUL SYLLABLE SIOS E MIEUM
+  {0xBCC1, 0xC149}, //10197 #HANGUL SYLLABLE SIOS E PIEUP
+  {0xBCC2, 0xC14B}, //10198 #HANGUL SYLLABLE SIOS E SIOS
+  {0xBCC3, 0xC14C}, //10199 #HANGUL SYLLABLE SIOS E SSANGSIOS
+  {0xBCC4, 0xC14D}, //10200 #HANGUL SYLLABLE SIOS E IEUNG
+  {0xBCC5, 0xC154}, //10201 #HANGUL SYLLABLE SIOS YEO
+  {0xBCC6, 0xC155}, //10202 #HANGUL SYLLABLE SIOS YEO KIYEOK
+  {0xBCC7, 0xC158}, //10203 #HANGUL SYLLABLE SIOS YEO NIEUN
+  {0xBCC8, 0xC15C}, //10204 #HANGUL SYLLABLE SIOS YEO RIEUL
+  {0xBCC9, 0xC164}, //10205 #HANGUL SYLLABLE SIOS YEO MIEUM
+  {0xBCCA, 0xC165}, //10206 #HANGUL SYLLABLE SIOS YEO PIEUP
+  {0xBCCB, 0xC167}, //10207 #HANGUL SYLLABLE SIOS YEO SIOS
+  {0xBCCC, 0xC168}, //10208 #HANGUL SYLLABLE SIOS YEO SSANGSIOS
+  {0xBCCD, 0xC169}, //10209 #HANGUL SYLLABLE SIOS YEO IEUNG
+  {0xBCCE, 0xC170}, //10210 #HANGUL SYLLABLE SIOS YE
+  {0xBCCF, 0xC174}, //10211 #HANGUL SYLLABLE SIOS YE NIEUN
+  {0xBCD0, 0xC178}, //10212 #HANGUL SYLLABLE SIOS YE RIEUL
+  {0xBCD1, 0xC185}, //10213 #HANGUL SYLLABLE SIOS YE IEUNG
+  {0xBCD2, 0xC18C}, //10214 #HANGUL SYLLABLE SIOS O
+  {0xBCD3, 0xC18D}, //10215 #HANGUL SYLLABLE SIOS O KIYEOK
+  {0xBCD4, 0xC18E}, //10216 #HANGUL SYLLABLE SIOS O SSANGKIYEOK
+  {0xBCD5, 0xC190}, //10217 #HANGUL SYLLABLE SIOS O NIEUN
+  {0xBCD6, 0xC194}, //10218 #HANGUL SYLLABLE SIOS O RIEUL
+  {0xBCD7, 0xC196}, //10219 #HANGUL SYLLABLE SIOS O RIEULMIEUM
+  {0xBCD8, 0xC19C}, //10220 #HANGUL SYLLABLE SIOS O MIEUM
+  {0xBCD9, 0xC19D}, //10221 #HANGUL SYLLABLE SIOS O PIEUP
+  {0xBCDA, 0xC19F}, //10222 #HANGUL SYLLABLE SIOS O SIOS
+  {0xBCDB, 0xC1A1}, //10223 #HANGUL SYLLABLE SIOS O IEUNG
+  {0xBCDC, 0xC1A5}, //10224 #HANGUL SYLLABLE SIOS O THIEUTH
+  {0xBCDD, 0xC1A8}, //10225 #HANGUL SYLLABLE SIOS WA
+  {0xBCDE, 0xC1A9}, //10226 #HANGUL SYLLABLE SIOS WA KIYEOK
+  {0xBCDF, 0xC1AC}, //10227 #HANGUL SYLLABLE SIOS WA NIEUN
+  {0xBCE0, 0xC1B0}, //10228 #HANGUL SYLLABLE SIOS WA RIEUL
+  {0xBCE1, 0xC1BD}, //10229 #HANGUL SYLLABLE SIOS WA IEUNG
+  {0xBCE2, 0xC1C4}, //10230 #HANGUL SYLLABLE SIOS WAE
+  {0xBCE3, 0xC1C8}, //10231 #HANGUL SYLLABLE SIOS WAE NIEUN
+  {0xBCE4, 0xC1CC}, //10232 #HANGUL SYLLABLE SIOS WAE RIEUL
+  {0xBCE5, 0xC1D4}, //10233 #HANGUL SYLLABLE SIOS WAE MIEUM
+  {0xBCE6, 0xC1D7}, //10234 #HANGUL SYLLABLE SIOS WAE SIOS
+  {0xBCE7, 0xC1D8}, //10235 #HANGUL SYLLABLE SIOS WAE SSANGSIOS
+  {0xBCE8, 0xC1E0}, //10236 #HANGUL SYLLABLE SIOS OE
+  {0xBCE9, 0xC1E4}, //10237 #HANGUL SYLLABLE SIOS OE NIEUN
+  {0xBCEA, 0xC1E8}, //10238 #HANGUL SYLLABLE SIOS OE RIEUL
+  {0xBCEB, 0xC1F0}, //10239 #HANGUL SYLLABLE SIOS OE MIEUM
+  {0xBCEC, 0xC1F1}, //10240 #HANGUL SYLLABLE SIOS OE PIEUP
+  {0xBCED, 0xC1F3}, //10241 #HANGUL SYLLABLE SIOS OE SIOS
+  {0xBCEE, 0xC1FC}, //10242 #HANGUL SYLLABLE SIOS YO
+  {0xBCEF, 0xC1FD}, //10243 #HANGUL SYLLABLE SIOS YO KIYEOK
+  {0xBCF0, 0xC200}, //10244 #HANGUL SYLLABLE SIOS YO NIEUN
+  {0xBCF1, 0xC204}, //10245 #HANGUL SYLLABLE SIOS YO RIEUL
+  {0xBCF2, 0xC20C}, //10246 #HANGUL SYLLABLE SIOS YO MIEUM
+  {0xBCF3, 0xC20D}, //10247 #HANGUL SYLLABLE SIOS YO PIEUP
+  {0xBCF4, 0xC20F}, //10248 #HANGUL SYLLABLE SIOS YO SIOS
+  {0xBCF5, 0xC211}, //10249 #HANGUL SYLLABLE SIOS YO IEUNG
+  {0xBCF6, 0xC218}, //10250 #HANGUL SYLLABLE SIOS U
+  {0xBCF7, 0xC219}, //10251 #HANGUL SYLLABLE SIOS U KIYEOK
+  {0xBCF8, 0xC21C}, //10252 #HANGUL SYLLABLE SIOS U NIEUN
+  {0xBCF9, 0xC21F}, //10253 #HANGUL SYLLABLE SIOS U TIKEUT
+  {0xBCFA, 0xC220}, //10254 #HANGUL SYLLABLE SIOS U RIEUL
+  {0xBCFB, 0xC228}, //10255 #HANGUL SYLLABLE SIOS U MIEUM
+  {0xBCFC, 0xC229}, //10256 #HANGUL SYLLABLE SIOS U PIEUP
+  {0xBCFD, 0xC22B}, //10257 #HANGUL SYLLABLE SIOS U SIOS
+  {0xBCFE, 0xC22D}, //10258 #HANGUL SYLLABLE SIOS U IEUNG
+  {0xBD41, 0xD3D7}, //10259 #HANGUL SYLLABLE PHIEUPH YE TIKEUT
+  {0xBD42, 0xD3D9}, //10260 #HANGUL SYLLABLE PHIEUPH YE RIEULKIYEOK
+  {0xBD43, 0xD3DA}, //10261 #HANGUL SYLLABLE PHIEUPH YE RIEULMIEUM
+  {0xBD44, 0xD3DB}, //10262 #HANGUL SYLLABLE PHIEUPH YE RIEULPIEUP
+  {0xBD45, 0xD3DC}, //10263 #HANGUL SYLLABLE PHIEUPH YE RIEULSIOS
+  {0xBD46, 0xD3DD}, //10264 #HANGUL SYLLABLE PHIEUPH YE RIEULTHIEUTH
+  {0xBD47, 0xD3DE}, //10265 #HANGUL SYLLABLE PHIEUPH YE RIEULPHIEUPH
+  {0xBD48, 0xD3DF}, //10266 #HANGUL SYLLABLE PHIEUPH YE RIEULHIEUH
+  {0xBD49, 0xD3E0}, //10267 #HANGUL SYLLABLE PHIEUPH YE MIEUM
+  {0xBD4A, 0xD3E2}, //10268 #HANGUL SYLLABLE PHIEUPH YE PIEUPSIOS
+  {0xBD4B, 0xD3E4}, //10269 #HANGUL SYLLABLE PHIEUPH YE SSANGSIOS
+  {0xBD4C, 0xD3E5}, //10270 #HANGUL SYLLABLE PHIEUPH YE IEUNG
+  {0xBD4D, 0xD3E6}, //10271 #HANGUL SYLLABLE PHIEUPH YE CIEUC
+  {0xBD4E, 0xD3E7}, //10272 #HANGUL SYLLABLE PHIEUPH YE CHIEUCH
+  {0xBD4F, 0xD3E8}, //10273 #HANGUL SYLLABLE PHIEUPH YE KHIEUKH
+  {0xBD50, 0xD3E9}, //10274 #HANGUL SYLLABLE PHIEUPH YE THIEUTH
+  {0xBD51, 0xD3EA}, //10275 #HANGUL SYLLABLE PHIEUPH YE PHIEUPH
+  {0xBD52, 0xD3EB}, //10276 #HANGUL SYLLABLE PHIEUPH YE HIEUH
+  {0xBD53, 0xD3EE}, //10277 #HANGUL SYLLABLE PHIEUPH O SSANGKIYEOK
+  {0xBD54, 0xD3EF}, //10278 #HANGUL SYLLABLE PHIEUPH O KIYEOKSIOS
+  {0xBD55, 0xD3F1}, //10279 #HANGUL SYLLABLE PHIEUPH O NIEUNCIEUC
+  {0xBD56, 0xD3F2}, //10280 #HANGUL SYLLABLE PHIEUPH O NIEUNHIEUH
+  {0xBD57, 0xD3F3}, //10281 #HANGUL SYLLABLE PHIEUPH O TIKEUT
+  {0xBD58, 0xD3F5}, //10282 #HANGUL SYLLABLE PHIEUPH O RIEULKIYEOK
+  {0xBD59, 0xD3F6}, //10283 #HANGUL SYLLABLE PHIEUPH O RIEULMIEUM
+  {0xBD5A, 0xD3F7}, //10284 #HANGUL SYLLABLE PHIEUPH O RIEULPIEUP
+  {0xBD61, 0xD3F8}, //10285 #HANGUL SYLLABLE PHIEUPH O RIEULSIOS
+  {0xBD62, 0xD3F9}, //10286 #HANGUL SYLLABLE PHIEUPH O RIEULTHIEUTH
+  {0xBD63, 0xD3FA}, //10287 #HANGUL SYLLABLE PHIEUPH O RIEULPHIEUPH
+  {0xBD64, 0xD3FB}, //10288 #HANGUL SYLLABLE PHIEUPH O RIEULHIEUH
+  {0xBD65, 0xD3FE}, //10289 #HANGUL SYLLABLE PHIEUPH O PIEUPSIOS
+  {0xBD66, 0xD400}, //10290 #HANGUL SYLLABLE PHIEUPH O SSANGSIOS
+  {0xBD67, 0xD402}, //10291 #HANGUL SYLLABLE PHIEUPH O CIEUC
+  {0xBD68, 0xD403}, //10292 #HANGUL SYLLABLE PHIEUPH O CHIEUCH
+  {0xBD69, 0xD404}, //10293 #HANGUL SYLLABLE PHIEUPH O KHIEUKH
+  {0xBD6A, 0xD405}, //10294 #HANGUL SYLLABLE PHIEUPH O THIEUTH
+  {0xBD6B, 0xD406}, //10295 #HANGUL SYLLABLE PHIEUPH O PHIEUPH
+  {0xBD6C, 0xD407}, //10296 #HANGUL SYLLABLE PHIEUPH O HIEUH
+  {0xBD6D, 0xD409}, //10297 #HANGUL SYLLABLE PHIEUPH WA KIYEOK
+  {0xBD6E, 0xD40A}, //10298 #HANGUL SYLLABLE PHIEUPH WA SSANGKIYEOK
+  {0xBD6F, 0xD40B}, //10299 #HANGUL SYLLABLE PHIEUPH WA KIYEOKSIOS
+  {0xBD70, 0xD40C}, //10300 #HANGUL SYLLABLE PHIEUPH WA NIEUN
+  {0xBD71, 0xD40D}, //10301 #HANGUL SYLLABLE PHIEUPH WA NIEUNCIEUC
+  {0xBD72, 0xD40E}, //10302 #HANGUL SYLLABLE PHIEUPH WA NIEUNHIEUH
+  {0xBD73, 0xD40F}, //10303 #HANGUL SYLLABLE PHIEUPH WA TIKEUT
+  {0xBD74, 0xD410}, //10304 #HANGUL SYLLABLE PHIEUPH WA RIEUL
+  {0xBD75, 0xD411}, //10305 #HANGUL SYLLABLE PHIEUPH WA RIEULKIYEOK
+  {0xBD76, 0xD412}, //10306 #HANGUL SYLLABLE PHIEUPH WA RIEULMIEUM
+  {0xBD77, 0xD413}, //10307 #HANGUL SYLLABLE PHIEUPH WA RIEULPIEUP
+  {0xBD78, 0xD414}, //10308 #HANGUL SYLLABLE PHIEUPH WA RIEULSIOS
+  {0xBD79, 0xD415}, //10309 #HANGUL SYLLABLE PHIEUPH WA RIEULTHIEUTH
+  {0xBD7A, 0xD416}, //10310 #HANGUL SYLLABLE PHIEUPH WA RIEULPHIEUPH
+  {0xBD81, 0xD417}, //10311 #HANGUL SYLLABLE PHIEUPH WA RIEULHIEUH
+  {0xBD82, 0xD418}, //10312 #HANGUL SYLLABLE PHIEUPH WA MIEUM
+  {0xBD83, 0xD419}, //10313 #HANGUL SYLLABLE PHIEUPH WA PIEUP
+  {0xBD84, 0xD41A}, //10314 #HANGUL SYLLABLE PHIEUPH WA PIEUPSIOS
+  {0xBD85, 0xD41B}, //10315 #HANGUL SYLLABLE PHIEUPH WA SIOS
+  {0xBD86, 0xD41C}, //10316 #HANGUL SYLLABLE PHIEUPH WA SSANGSIOS
+  {0xBD87, 0xD41E}, //10317 #HANGUL SYLLABLE PHIEUPH WA CIEUC
+  {0xBD88, 0xD41F}, //10318 #HANGUL SYLLABLE PHIEUPH WA CHIEUCH
+  {0xBD89, 0xD420}, //10319 #HANGUL SYLLABLE PHIEUPH WA KHIEUKH
+  {0xBD8A, 0xD421}, //10320 #HANGUL SYLLABLE PHIEUPH WA THIEUTH
+  {0xBD8B, 0xD422}, //10321 #HANGUL SYLLABLE PHIEUPH WA PHIEUPH
+  {0xBD8C, 0xD423}, //10322 #HANGUL SYLLABLE PHIEUPH WA HIEUH
+  {0xBD8D, 0xD424}, //10323 #HANGUL SYLLABLE PHIEUPH WAE
+  {0xBD8E, 0xD425}, //10324 #HANGUL SYLLABLE PHIEUPH WAE KIYEOK
+  {0xBD8F, 0xD426}, //10325 #HANGUL SYLLABLE PHIEUPH WAE SSANGKIYEOK
+  {0xBD90, 0xD427}, //10326 #HANGUL SYLLABLE PHIEUPH WAE KIYEOKSIOS
+  {0xBD91, 0xD428}, //10327 #HANGUL SYLLABLE PHIEUPH WAE NIEUN
+  {0xBD92, 0xD429}, //10328 #HANGUL SYLLABLE PHIEUPH WAE NIEUNCIEUC
+  {0xBD93, 0xD42A}, //10329 #HANGUL SYLLABLE PHIEUPH WAE NIEUNHIEUH
+  {0xBD94, 0xD42B}, //10330 #HANGUL SYLLABLE PHIEUPH WAE TIKEUT
+  {0xBD95, 0xD42C}, //10331 #HANGUL SYLLABLE PHIEUPH WAE RIEUL
+  {0xBD96, 0xD42D}, //10332 #HANGUL SYLLABLE PHIEUPH WAE RIEULKIYEOK
+  {0xBD97, 0xD42E}, //10333 #HANGUL SYLLABLE PHIEUPH WAE RIEULMIEUM
+  {0xBD98, 0xD42F}, //10334 #HANGUL SYLLABLE PHIEUPH WAE RIEULPIEUP
+  {0xBD99, 0xD430}, //10335 #HANGUL SYLLABLE PHIEUPH WAE RIEULSIOS
+  {0xBD9A, 0xD431}, //10336 #HANGUL SYLLABLE PHIEUPH WAE RIEULTHIEUTH
+  {0xBD9B, 0xD432}, //10337 #HANGUL SYLLABLE PHIEUPH WAE RIEULPHIEUPH
+  {0xBD9C, 0xD433}, //10338 #HANGUL SYLLABLE PHIEUPH WAE RIEULHIEUH
+  {0xBD9D, 0xD434}, //10339 #HANGUL SYLLABLE PHIEUPH WAE MIEUM
+  {0xBD9E, 0xD435}, //10340 #HANGUL SYLLABLE PHIEUPH WAE PIEUP
+  {0xBD9F, 0xD436}, //10341 #HANGUL SYLLABLE PHIEUPH WAE PIEUPSIOS
+  {0xBDA0, 0xD437}, //10342 #HANGUL SYLLABLE PHIEUPH WAE SIOS
+  {0xBDA1, 0xC22F}, //10343 #HANGUL SYLLABLE SIOS U CHIEUCH
+  {0xBDA2, 0xC231}, //10344 #HANGUL SYLLABLE SIOS U THIEUTH
+  {0xBDA3, 0xC232}, //10345 #HANGUL SYLLABLE SIOS U PHIEUPH
+  {0xBDA4, 0xC234}, //10346 #HANGUL SYLLABLE SIOS WEO
+  {0xBDA5, 0xC248}, //10347 #HANGUL SYLLABLE SIOS WEO SSANGSIOS
+  {0xBDA6, 0xC250}, //10348 #HANGUL SYLLABLE SIOS WE
+  {0xBDA7, 0xC251}, //10349 #HANGUL SYLLABLE SIOS WE KIYEOK
+  {0xBDA8, 0xC254}, //10350 #HANGUL SYLLABLE SIOS WE NIEUN
+  {0xBDA9, 0xC258}, //10351 #HANGUL SYLLABLE SIOS WE RIEUL
+  {0xBDAA, 0xC260}, //10352 #HANGUL SYLLABLE SIOS WE MIEUM
+  {0xBDAB, 0xC265}, //10353 #HANGUL SYLLABLE SIOS WE IEUNG
+  {0xBDAC, 0xC26C}, //10354 #HANGUL SYLLABLE SIOS WI
+  {0xBDAD, 0xC26D}, //10355 #HANGUL SYLLABLE SIOS WI KIYEOK
+  {0xBDAE, 0xC270}, //10356 #HANGUL SYLLABLE SIOS WI NIEUN
+  {0xBDAF, 0xC274}, //10357 #HANGUL SYLLABLE SIOS WI RIEUL
+  {0xBDB0, 0xC27C}, //10358 #HANGUL SYLLABLE SIOS WI MIEUM
+  {0xBDB1, 0xC27D}, //10359 #HANGUL SYLLABLE SIOS WI PIEUP
+  {0xBDB2, 0xC27F}, //10360 #HANGUL SYLLABLE SIOS WI SIOS
+  {0xBDB3, 0xC281}, //10361 #HANGUL SYLLABLE SIOS WI IEUNG
+  {0xBDB4, 0xC288}, //10362 #HANGUL SYLLABLE SIOS YU
+  {0xBDB5, 0xC289}, //10363 #HANGUL SYLLABLE SIOS YU KIYEOK
+  {0xBDB6, 0xC290}, //10364 #HANGUL SYLLABLE SIOS YU RIEUL
+  {0xBDB7, 0xC298}, //10365 #HANGUL SYLLABLE SIOS YU MIEUM
+  {0xBDB8, 0xC29B}, //10366 #HANGUL SYLLABLE SIOS YU SIOS
+  {0xBDB9, 0xC29D}, //10367 #HANGUL SYLLABLE SIOS YU IEUNG
+  {0xBDBA, 0xC2A4}, //10368 #HANGUL SYLLABLE SIOS EU
+  {0xBDBB, 0xC2A5}, //10369 #HANGUL SYLLABLE SIOS EU KIYEOK
+  {0xBDBC, 0xC2A8}, //10370 #HANGUL SYLLABLE SIOS EU NIEUN
+  {0xBDBD, 0xC2AC}, //10371 #HANGUL SYLLABLE SIOS EU RIEUL
+  {0xBDBE, 0xC2AD}, //10372 #HANGUL SYLLABLE SIOS EU RIEULKIYEOK
+  {0xBDBF, 0xC2B4}, //10373 #HANGUL SYLLABLE SIOS EU MIEUM
+  {0xBDC0, 0xC2B5}, //10374 #HANGUL SYLLABLE SIOS EU PIEUP
+  {0xBDC1, 0xC2B7}, //10375 #HANGUL SYLLABLE SIOS EU SIOS
+  {0xBDC2, 0xC2B9}, //10376 #HANGUL SYLLABLE SIOS EU IEUNG
+  {0xBDC3, 0xC2DC}, //10377 #HANGUL SYLLABLE SIOS I
+  {0xBDC4, 0xC2DD}, //10378 #HANGUL SYLLABLE SIOS I KIYEOK
+  {0xBDC5, 0xC2E0}, //10379 #HANGUL SYLLABLE SIOS I NIEUN
+  {0xBDC6, 0xC2E3}, //10380 #HANGUL SYLLABLE SIOS I TIKEUT
+  {0xBDC7, 0xC2E4}, //10381 #HANGUL SYLLABLE SIOS I RIEUL
+  {0xBDC8, 0xC2EB}, //10382 #HANGUL SYLLABLE SIOS I RIEULHIEUH
+  {0xBDC9, 0xC2EC}, //10383 #HANGUL SYLLABLE SIOS I MIEUM
+  {0xBDCA, 0xC2ED}, //10384 #HANGUL SYLLABLE SIOS I PIEUP
+  {0xBDCB, 0xC2EF}, //10385 #HANGUL SYLLABLE SIOS I SIOS
+  {0xBDCC, 0xC2F1}, //10386 #HANGUL SYLLABLE SIOS I IEUNG
+  {0xBDCD, 0xC2F6}, //10387 #HANGUL SYLLABLE SIOS I PHIEUPH
+  {0xBDCE, 0xC2F8}, //10388 #HANGUL SYLLABLE SSANGSIOS A
+  {0xBDCF, 0xC2F9}, //10389 #HANGUL SYLLABLE SSANGSIOS A KIYEOK
+  {0xBDD0, 0xC2FB}, //10390 #HANGUL SYLLABLE SSANGSIOS A KIYEOKSIOS
+  {0xBDD1, 0xC2FC}, //10391 #HANGUL SYLLABLE SSANGSIOS A NIEUN
+  {0xBDD2, 0xC300}, //10392 #HANGUL SYLLABLE SSANGSIOS A RIEUL
+  {0xBDD3, 0xC308}, //10393 #HANGUL SYLLABLE SSANGSIOS A MIEUM
+  {0xBDD4, 0xC309}, //10394 #HANGUL SYLLABLE SSANGSIOS A PIEUP
+  {0xBDD5, 0xC30C}, //10395 #HANGUL SYLLABLE SSANGSIOS A SSANGSIOS
+  {0xBDD6, 0xC30D}, //10396 #HANGUL SYLLABLE SSANGSIOS A IEUNG
+  {0xBDD7, 0xC313}, //10397 #HANGUL SYLLABLE SSANGSIOS A HIEUH
+  {0xBDD8, 0xC314}, //10398 #HANGUL SYLLABLE SSANGSIOS AE
+  {0xBDD9, 0xC315}, //10399 #HANGUL SYLLABLE SSANGSIOS AE KIYEOK
+  {0xBDDA, 0xC318}, //10400 #HANGUL SYLLABLE SSANGSIOS AE NIEUN
+  {0xBDDB, 0xC31C}, //10401 #HANGUL SYLLABLE SSANGSIOS AE RIEUL
+  {0xBDDC, 0xC324}, //10402 #HANGUL SYLLABLE SSANGSIOS AE MIEUM
+  {0xBDDD, 0xC325}, //10403 #HANGUL SYLLABLE SSANGSIOS AE PIEUP
+  {0xBDDE, 0xC328}, //10404 #HANGUL SYLLABLE SSANGSIOS AE SSANGSIOS
+  {0xBDDF, 0xC329}, //10405 #HANGUL SYLLABLE SSANGSIOS AE IEUNG
+  {0xBDE0, 0xC345}, //10406 #HANGUL SYLLABLE SSANGSIOS YA IEUNG
+  {0xBDE1, 0xC368}, //10407 #HANGUL SYLLABLE SSANGSIOS EO
+  {0xBDE2, 0xC369}, //10408 #HANGUL SYLLABLE SSANGSIOS EO KIYEOK
+  {0xBDE3, 0xC36C}, //10409 #HANGUL SYLLABLE SSANGSIOS EO NIEUN
+  {0xBDE4, 0xC370}, //10410 #HANGUL SYLLABLE SSANGSIOS EO RIEUL
+  {0xBDE5, 0xC372}, //10411 #HANGUL SYLLABLE SSANGSIOS EO RIEULMIEUM
+  {0xBDE6, 0xC378}, //10412 #HANGUL SYLLABLE SSANGSIOS EO MIEUM
+  {0xBDE7, 0xC379}, //10413 #HANGUL SYLLABLE SSANGSIOS EO PIEUP
+  {0xBDE8, 0xC37C}, //10414 #HANGUL SYLLABLE SSANGSIOS EO SSANGSIOS
+  {0xBDE9, 0xC37D}, //10415 #HANGUL SYLLABLE SSANGSIOS EO IEUNG
+  {0xBDEA, 0xC384}, //10416 #HANGUL SYLLABLE SSANGSIOS E
+  {0xBDEB, 0xC388}, //10417 #HANGUL SYLLABLE SSANGSIOS E NIEUN
+  {0xBDEC, 0xC38C}, //10418 #HANGUL SYLLABLE SSANGSIOS E RIEUL
+  {0xBDED, 0xC3C0}, //10419 #HANGUL SYLLABLE SSANGSIOS YE NIEUN
+  {0xBDEE, 0xC3D8}, //10420 #HANGUL SYLLABLE SSANGSIOS O
+  {0xBDEF, 0xC3D9}, //10421 #HANGUL SYLLABLE SSANGSIOS O KIYEOK
+  {0xBDF0, 0xC3DC}, //10422 #HANGUL SYLLABLE SSANGSIOS O NIEUN
+  {0xBDF1, 0xC3DF}, //10423 #HANGUL SYLLABLE SSANGSIOS O TIKEUT
+  {0xBDF2, 0xC3E0}, //10424 #HANGUL SYLLABLE SSANGSIOS O RIEUL
+  {0xBDF3, 0xC3E2}, //10425 #HANGUL SYLLABLE SSANGSIOS O RIEULMIEUM
+  {0xBDF4, 0xC3E8}, //10426 #HANGUL SYLLABLE SSANGSIOS O MIEUM
+  {0xBDF5, 0xC3E9}, //10427 #HANGUL SYLLABLE SSANGSIOS O PIEUP
+  {0xBDF6, 0xC3ED}, //10428 #HANGUL SYLLABLE SSANGSIOS O IEUNG
+  {0xBDF7, 0xC3F4}, //10429 #HANGUL SYLLABLE SSANGSIOS WA
+  {0xBDF8, 0xC3F5}, //10430 #HANGUL SYLLABLE SSANGSIOS WA KIYEOK
+  {0xBDF9, 0xC3F8}, //10431 #HANGUL SYLLABLE SSANGSIOS WA NIEUN
+  {0xBDFA, 0xC408}, //10432 #HANGUL SYLLABLE SSANGSIOS WA SSANGSIOS
+  {0xBDFB, 0xC410}, //10433 #HANGUL SYLLABLE SSANGSIOS WAE
+  {0xBDFC, 0xC424}, //10434 #HANGUL SYLLABLE SSANGSIOS WAE SSANGSIOS
+  {0xBDFD, 0xC42C}, //10435 #HANGUL SYLLABLE SSANGSIOS OE
+  {0xBDFE, 0xC430}, //10436 #HANGUL SYLLABLE SSANGSIOS OE NIEUN
+  {0xBE41, 0xD438}, //10437 #HANGUL SYLLABLE PHIEUPH WAE SSANGSIOS
+  {0xBE42, 0xD439}, //10438 #HANGUL SYLLABLE PHIEUPH WAE IEUNG
+  {0xBE43, 0xD43A}, //10439 #HANGUL SYLLABLE PHIEUPH WAE CIEUC
+  {0xBE44, 0xD43B}, //10440 #HANGUL SYLLABLE PHIEUPH WAE CHIEUCH
+  {0xBE45, 0xD43C}, //10441 #HANGUL SYLLABLE PHIEUPH WAE KHIEUKH
+  {0xBE46, 0xD43D}, //10442 #HANGUL SYLLABLE PHIEUPH WAE THIEUTH
+  {0xBE47, 0xD43E}, //10443 #HANGUL SYLLABLE PHIEUPH WAE PHIEUPH
+  {0xBE48, 0xD43F}, //10444 #HANGUL SYLLABLE PHIEUPH WAE HIEUH
+  {0xBE49, 0xD441}, //10445 #HANGUL SYLLABLE PHIEUPH OE KIYEOK
+  {0xBE4A, 0xD442}, //10446 #HANGUL SYLLABLE PHIEUPH OE SSANGKIYEOK
+  {0xBE4B, 0xD443}, //10447 #HANGUL SYLLABLE PHIEUPH OE KIYEOKSIOS
+  {0xBE4C, 0xD445}, //10448 #HANGUL SYLLABLE PHIEUPH OE NIEUNCIEUC
+  {0xBE4D, 0xD446}, //10449 #HANGUL SYLLABLE PHIEUPH OE NIEUNHIEUH
+  {0xBE4E, 0xD447}, //10450 #HANGUL SYLLABLE PHIEUPH OE TIKEUT
+  {0xBE4F, 0xD448}, //10451 #HANGUL SYLLABLE PHIEUPH OE RIEUL
+  {0xBE50, 0xD449}, //10452 #HANGUL SYLLABLE PHIEUPH OE RIEULKIYEOK
+  {0xBE51, 0xD44A}, //10453 #HANGUL SYLLABLE PHIEUPH OE RIEULMIEUM
+  {0xBE52, 0xD44B}, //10454 #HANGUL SYLLABLE PHIEUPH OE RIEULPIEUP
+  {0xBE53, 0xD44C}, //10455 #HANGUL SYLLABLE PHIEUPH OE RIEULSIOS
+  {0xBE54, 0xD44D}, //10456 #HANGUL SYLLABLE PHIEUPH OE RIEULTHIEUTH
+  {0xBE55, 0xD44E}, //10457 #HANGUL SYLLABLE PHIEUPH OE RIEULPHIEUPH
+  {0xBE56, 0xD44F}, //10458 #HANGUL SYLLABLE PHIEUPH OE RIEULHIEUH
+  {0xBE57, 0xD450}, //10459 #HANGUL SYLLABLE PHIEUPH OE MIEUM
+  {0xBE58, 0xD451}, //10460 #HANGUL SYLLABLE PHIEUPH OE PIEUP
+  {0xBE59, 0xD452}, //10461 #HANGUL SYLLABLE PHIEUPH OE PIEUPSIOS
+  {0xBE5A, 0xD453}, //10462 #HANGUL SYLLABLE PHIEUPH OE SIOS
+  {0xBE61, 0xD454}, //10463 #HANGUL SYLLABLE PHIEUPH OE SSANGSIOS
+  {0xBE62, 0xD455}, //10464 #HANGUL SYLLABLE PHIEUPH OE IEUNG
+  {0xBE63, 0xD456}, //10465 #HANGUL SYLLABLE PHIEUPH OE CIEUC
+  {0xBE64, 0xD457}, //10466 #HANGUL SYLLABLE PHIEUPH OE CHIEUCH
+  {0xBE65, 0xD458}, //10467 #HANGUL SYLLABLE PHIEUPH OE KHIEUKH
+  {0xBE66, 0xD459}, //10468 #HANGUL SYLLABLE PHIEUPH OE THIEUTH
+  {0xBE67, 0xD45A}, //10469 #HANGUL SYLLABLE PHIEUPH OE PHIEUPH
+  {0xBE68, 0xD45B}, //10470 #HANGUL SYLLABLE PHIEUPH OE HIEUH
+  {0xBE69, 0xD45D}, //10471 #HANGUL SYLLABLE PHIEUPH YO KIYEOK
+  {0xBE6A, 0xD45E}, //10472 #HANGUL SYLLABLE PHIEUPH YO SSANGKIYEOK
+  {0xBE6B, 0xD45F}, //10473 #HANGUL SYLLABLE PHIEUPH YO KIYEOKSIOS
+  {0xBE6C, 0xD461}, //10474 #HANGUL SYLLABLE PHIEUPH YO NIEUNCIEUC
+  {0xBE6D, 0xD462}, //10475 #HANGUL SYLLABLE PHIEUPH YO NIEUNHIEUH
+  {0xBE6E, 0xD463}, //10476 #HANGUL SYLLABLE PHIEUPH YO TIKEUT
+  {0xBE6F, 0xD465}, //10477 #HANGUL SYLLABLE PHIEUPH YO RIEULKIYEOK
+  {0xBE70, 0xD466}, //10478 #HANGUL SYLLABLE PHIEUPH YO RIEULMIEUM
+  {0xBE71, 0xD467}, //10479 #HANGUL SYLLABLE PHIEUPH YO RIEULPIEUP
+  {0xBE72, 0xD468}, //10480 #HANGUL SYLLABLE PHIEUPH YO RIEULSIOS
+  {0xBE73, 0xD469}, //10481 #HANGUL SYLLABLE PHIEUPH YO RIEULTHIEUTH
+  {0xBE74, 0xD46A}, //10482 #HANGUL SYLLABLE PHIEUPH YO RIEULPHIEUPH
+  {0xBE75, 0xD46B}, //10483 #HANGUL SYLLABLE PHIEUPH YO RIEULHIEUH
+  {0xBE76, 0xD46C}, //10484 #HANGUL SYLLABLE PHIEUPH YO MIEUM
+  {0xBE77, 0xD46E}, //10485 #HANGUL SYLLABLE PHIEUPH YO PIEUPSIOS
+  {0xBE78, 0xD470}, //10486 #HANGUL SYLLABLE PHIEUPH YO SSANGSIOS
+  {0xBE79, 0xD471}, //10487 #HANGUL SYLLABLE PHIEUPH YO IEUNG
+  {0xBE7A, 0xD472}, //10488 #HANGUL SYLLABLE PHIEUPH YO CIEUC
+  {0xBE81, 0xD473}, //10489 #HANGUL SYLLABLE PHIEUPH YO CHIEUCH
+  {0xBE82, 0xD474}, //10490 #HANGUL SYLLABLE PHIEUPH YO KHIEUKH
+  {0xBE83, 0xD475}, //10491 #HANGUL SYLLABLE PHIEUPH YO THIEUTH
+  {0xBE84, 0xD476}, //10492 #HANGUL SYLLABLE PHIEUPH YO PHIEUPH
+  {0xBE85, 0xD477}, //10493 #HANGUL SYLLABLE PHIEUPH YO HIEUH
+  {0xBE86, 0xD47A}, //10494 #HANGUL SYLLABLE PHIEUPH U SSANGKIYEOK
+  {0xBE87, 0xD47B}, //10495 #HANGUL SYLLABLE PHIEUPH U KIYEOKSIOS
+  {0xBE88, 0xD47D}, //10496 #HANGUL SYLLABLE PHIEUPH U NIEUNCIEUC
+  {0xBE89, 0xD47E}, //10497 #HANGUL SYLLABLE PHIEUPH U NIEUNHIEUH
+  {0xBE8A, 0xD481}, //10498 #HANGUL SYLLABLE PHIEUPH U RIEULKIYEOK
+  {0xBE8B, 0xD483}, //10499 #HANGUL SYLLABLE PHIEUPH U RIEULPIEUP
+  {0xBE8C, 0xD484}, //10500 #HANGUL SYLLABLE PHIEUPH U RIEULSIOS
+  {0xBE8D, 0xD485}, //10501 #HANGUL SYLLABLE PHIEUPH U RIEULTHIEUTH
+  {0xBE8E, 0xD486}, //10502 #HANGUL SYLLABLE PHIEUPH U RIEULPHIEUPH
+  {0xBE8F, 0xD487}, //10503 #HANGUL SYLLABLE PHIEUPH U RIEULHIEUH
+  {0xBE90, 0xD48A}, //10504 #HANGUL SYLLABLE PHIEUPH U PIEUPSIOS
+  {0xBE91, 0xD48C}, //10505 #HANGUL SYLLABLE PHIEUPH U SSANGSIOS
+  {0xBE92, 0xD48E}, //10506 #HANGUL SYLLABLE PHIEUPH U CIEUC
+  {0xBE93, 0xD48F}, //10507 #HANGUL SYLLABLE PHIEUPH U CHIEUCH
+  {0xBE94, 0xD490}, //10508 #HANGUL SYLLABLE PHIEUPH U KHIEUKH
+  {0xBE95, 0xD491}, //10509 #HANGUL SYLLABLE PHIEUPH U THIEUTH
+  {0xBE96, 0xD492}, //10510 #HANGUL SYLLABLE PHIEUPH U PHIEUPH
+  {0xBE97, 0xD493}, //10511 #HANGUL SYLLABLE PHIEUPH U HIEUH
+  {0xBE98, 0xD495}, //10512 #HANGUL SYLLABLE PHIEUPH WEO KIYEOK
+  {0xBE99, 0xD496}, //10513 #HANGUL SYLLABLE PHIEUPH WEO SSANGKIYEOK
+  {0xBE9A, 0xD497}, //10514 #HANGUL SYLLABLE PHIEUPH WEO KIYEOKSIOS
+  {0xBE9B, 0xD498}, //10515 #HANGUL SYLLABLE PHIEUPH WEO NIEUN
+  {0xBE9C, 0xD499}, //10516 #HANGUL SYLLABLE PHIEUPH WEO NIEUNCIEUC
+  {0xBE9D, 0xD49A}, //10517 #HANGUL SYLLABLE PHIEUPH WEO NIEUNHIEUH
+  {0xBE9E, 0xD49B}, //10518 #HANGUL SYLLABLE PHIEUPH WEO TIKEUT
+  {0xBE9F, 0xD49C}, //10519 #HANGUL SYLLABLE PHIEUPH WEO RIEUL
+  {0xBEA0, 0xD49D}, //10520 #HANGUL SYLLABLE PHIEUPH WEO RIEULKIYEOK
+  {0xBEA1, 0xC434}, //10521 #HANGUL SYLLABLE SSANGSIOS OE RIEUL
+  {0xBEA2, 0xC43C}, //10522 #HANGUL SYLLABLE SSANGSIOS OE MIEUM
+  {0xBEA3, 0xC43D}, //10523 #HANGUL SYLLABLE SSANGSIOS OE PIEUP
+  {0xBEA4, 0xC448}, //10524 #HANGUL SYLLABLE SSANGSIOS YO
+  {0xBEA5, 0xC464}, //10525 #HANGUL SYLLABLE SSANGSIOS U
+  {0xBEA6, 0xC465}, //10526 #HANGUL SYLLABLE SSANGSIOS U KIYEOK
+  {0xBEA7, 0xC468}, //10527 #HANGUL SYLLABLE SSANGSIOS U NIEUN
+  {0xBEA8, 0xC46C}, //10528 #HANGUL SYLLABLE SSANGSIOS U RIEUL
+  {0xBEA9, 0xC474}, //10529 #HANGUL SYLLABLE SSANGSIOS U MIEUM
+  {0xBEAA, 0xC475}, //10530 #HANGUL SYLLABLE SSANGSIOS U PIEUP
+  {0xBEAB, 0xC479}, //10531 #HANGUL SYLLABLE SSANGSIOS U IEUNG
+  {0xBEAC, 0xC480}, //10532 #HANGUL SYLLABLE SSANGSIOS WEO
+  {0xBEAD, 0xC494}, //10533 #HANGUL SYLLABLE SSANGSIOS WEO SSANGSIOS
+  {0xBEAE, 0xC49C}, //10534 #HANGUL SYLLABLE SSANGSIOS WE
+  {0xBEAF, 0xC4B8}, //10535 #HANGUL SYLLABLE SSANGSIOS WI
+  {0xBEB0, 0xC4BC}, //10536 #HANGUL SYLLABLE SSANGSIOS WI NIEUN
+  {0xBEB1, 0xC4E9}, //10537 #HANGUL SYLLABLE SSANGSIOS YU IEUNG
+  {0xBEB2, 0xC4F0}, //10538 #HANGUL SYLLABLE SSANGSIOS EU
+  {0xBEB3, 0xC4F1}, //10539 #HANGUL SYLLABLE SSANGSIOS EU KIYEOK
+  {0xBEB4, 0xC4F4}, //10540 #HANGUL SYLLABLE SSANGSIOS EU NIEUN
+  {0xBEB5, 0xC4F8}, //10541 #HANGUL SYLLABLE SSANGSIOS EU RIEUL
+  {0xBEB6, 0xC4FA}, //10542 #HANGUL SYLLABLE SSANGSIOS EU RIEULMIEUM
+  {0xBEB7, 0xC4FF}, //10543 #HANGUL SYLLABLE SSANGSIOS EU RIEULHIEUH
+  {0xBEB8, 0xC500}, //10544 #HANGUL SYLLABLE SSANGSIOS EU MIEUM
+  {0xBEB9, 0xC501}, //10545 #HANGUL SYLLABLE SSANGSIOS EU PIEUP
+  {0xBEBA, 0xC50C}, //10546 #HANGUL SYLLABLE SSANGSIOS YI
+  {0xBEBB, 0xC510}, //10547 #HANGUL SYLLABLE SSANGSIOS YI NIEUN
+  {0xBEBC, 0xC514}, //10548 #HANGUL SYLLABLE SSANGSIOS YI RIEUL
+  {0xBEBD, 0xC51C}, //10549 #HANGUL SYLLABLE SSANGSIOS YI MIEUM
+  {0xBEBE, 0xC528}, //10550 #HANGUL SYLLABLE SSANGSIOS I
+  {0xBEBF, 0xC529}, //10551 #HANGUL SYLLABLE SSANGSIOS I KIYEOK
+  {0xBEC0, 0xC52C}, //10552 #HANGUL SYLLABLE SSANGSIOS I NIEUN
+  {0xBEC1, 0xC530}, //10553 #HANGUL SYLLABLE SSANGSIOS I RIEUL
+  {0xBEC2, 0xC538}, //10554 #HANGUL SYLLABLE SSANGSIOS I MIEUM
+  {0xBEC3, 0xC539}, //10555 #HANGUL SYLLABLE SSANGSIOS I PIEUP
+  {0xBEC4, 0xC53B}, //10556 #HANGUL SYLLABLE SSANGSIOS I SIOS
+  {0xBEC5, 0xC53D}, //10557 #HANGUL SYLLABLE SSANGSIOS I IEUNG
+  {0xBEC6, 0xC544}, //10558 #HANGUL SYLLABLE IEUNG A
+  {0xBEC7, 0xC545}, //10559 #HANGUL SYLLABLE IEUNG A KIYEOK
+  {0xBEC8, 0xC548}, //10560 #HANGUL SYLLABLE IEUNG A NIEUN
+  {0xBEC9, 0xC549}, //10561 #HANGUL SYLLABLE IEUNG A NIEUNCIEUC
+  {0xBECA, 0xC54A}, //10562 #HANGUL SYLLABLE IEUNG A NIEUNHIEUH
+  {0xBECB, 0xC54C}, //10563 #HANGUL SYLLABLE IEUNG A RIEUL
+  {0xBECC, 0xC54D}, //10564 #HANGUL SYLLABLE IEUNG A RIEULKIYEOK
+  {0xBECD, 0xC54E}, //10565 #HANGUL SYLLABLE IEUNG A RIEULMIEUM
+  {0xBECE, 0xC553}, //10566 #HANGUL SYLLABLE IEUNG A RIEULHIEUH
+  {0xBECF, 0xC554}, //10567 #HANGUL SYLLABLE IEUNG A MIEUM
+  {0xBED0, 0xC555}, //10568 #HANGUL SYLLABLE IEUNG A PIEUP
+  {0xBED1, 0xC557}, //10569 #HANGUL SYLLABLE IEUNG A SIOS
+  {0xBED2, 0xC558}, //10570 #HANGUL SYLLABLE IEUNG A SSANGSIOS
+  {0xBED3, 0xC559}, //10571 #HANGUL SYLLABLE IEUNG A IEUNG
+  {0xBED4, 0xC55D}, //10572 #HANGUL SYLLABLE IEUNG A THIEUTH
+  {0xBED5, 0xC55E}, //10573 #HANGUL SYLLABLE IEUNG A PHIEUPH
+  {0xBED6, 0xC560}, //10574 #HANGUL SYLLABLE IEUNG AE
+  {0xBED7, 0xC561}, //10575 #HANGUL SYLLABLE IEUNG AE KIYEOK
+  {0xBED8, 0xC564}, //10576 #HANGUL SYLLABLE IEUNG AE NIEUN
+  {0xBED9, 0xC568}, //10577 #HANGUL SYLLABLE IEUNG AE RIEUL
+  {0xBEDA, 0xC570}, //10578 #HANGUL SYLLABLE IEUNG AE MIEUM
+  {0xBEDB, 0xC571}, //10579 #HANGUL SYLLABLE IEUNG AE PIEUP
+  {0xBEDC, 0xC573}, //10580 #HANGUL SYLLABLE IEUNG AE SIOS
+  {0xBEDD, 0xC574}, //10581 #HANGUL SYLLABLE IEUNG AE SSANGSIOS
+  {0xBEDE, 0xC575}, //10582 #HANGUL SYLLABLE IEUNG AE IEUNG
+  {0xBEDF, 0xC57C}, //10583 #HANGUL SYLLABLE IEUNG YA
+  {0xBEE0, 0xC57D}, //10584 #HANGUL SYLLABLE IEUNG YA KIYEOK
+  {0xBEE1, 0xC580}, //10585 #HANGUL SYLLABLE IEUNG YA NIEUN
+  {0xBEE2, 0xC584}, //10586 #HANGUL SYLLABLE IEUNG YA RIEUL
+  {0xBEE3, 0xC587}, //10587 #HANGUL SYLLABLE IEUNG YA RIEULPIEUP
+  {0xBEE4, 0xC58C}, //10588 #HANGUL SYLLABLE IEUNG YA MIEUM
+  {0xBEE5, 0xC58D}, //10589 #HANGUL SYLLABLE IEUNG YA PIEUP
+  {0xBEE6, 0xC58F}, //10590 #HANGUL SYLLABLE IEUNG YA SIOS
+  {0xBEE7, 0xC591}, //10591 #HANGUL SYLLABLE IEUNG YA IEUNG
+  {0xBEE8, 0xC595}, //10592 #HANGUL SYLLABLE IEUNG YA THIEUTH
+  {0xBEE9, 0xC597}, //10593 #HANGUL SYLLABLE IEUNG YA HIEUH
+  {0xBEEA, 0xC598}, //10594 #HANGUL SYLLABLE IEUNG YAE
+  {0xBEEB, 0xC59C}, //10595 #HANGUL SYLLABLE IEUNG YAE NIEUN
+  {0xBEEC, 0xC5A0}, //10596 #HANGUL SYLLABLE IEUNG YAE RIEUL
+  {0xBEED, 0xC5A9}, //10597 #HANGUL SYLLABLE IEUNG YAE PIEUP
+  {0xBEEE, 0xC5B4}, //10598 #HANGUL SYLLABLE IEUNG EO
+  {0xBEEF, 0xC5B5}, //10599 #HANGUL SYLLABLE IEUNG EO KIYEOK
+  {0xBEF0, 0xC5B8}, //10600 #HANGUL SYLLABLE IEUNG EO NIEUN
+  {0xBEF1, 0xC5B9}, //10601 #HANGUL SYLLABLE IEUNG EO NIEUNCIEUC
+  {0xBEF2, 0xC5BB}, //10602 #HANGUL SYLLABLE IEUNG EO TIKEUT
+  {0xBEF3, 0xC5BC}, //10603 #HANGUL SYLLABLE IEUNG EO RIEUL
+  {0xBEF4, 0xC5BD}, //10604 #HANGUL SYLLABLE IEUNG EO RIEULKIYEOK
+  {0xBEF5, 0xC5BE}, //10605 #HANGUL SYLLABLE IEUNG EO RIEULMIEUM
+  {0xBEF6, 0xC5C4}, //10606 #HANGUL SYLLABLE IEUNG EO MIEUM
+  {0xBEF7, 0xC5C5}, //10607 #HANGUL SYLLABLE IEUNG EO PIEUP
+  {0xBEF8, 0xC5C6}, //10608 #HANGUL SYLLABLE IEUNG EO PIEUPSIOS
+  {0xBEF9, 0xC5C7}, //10609 #HANGUL SYLLABLE IEUNG EO SIOS
+  {0xBEFA, 0xC5C8}, //10610 #HANGUL SYLLABLE IEUNG EO SSANGSIOS
+  {0xBEFB, 0xC5C9}, //10611 #HANGUL SYLLABLE IEUNG EO IEUNG
+  {0xBEFC, 0xC5CA}, //10612 #HANGUL SYLLABLE IEUNG EO CIEUC
+  {0xBEFD, 0xC5CC}, //10613 #HANGUL SYLLABLE IEUNG EO KHIEUKH
+  {0xBEFE, 0xC5CE}, //10614 #HANGUL SYLLABLE IEUNG EO PHIEUPH
+  {0xBF41, 0xD49E}, //10615 #HANGUL SYLLABLE PHIEUPH WEO RIEULMIEUM
+  {0xBF42, 0xD49F}, //10616 #HANGUL SYLLABLE PHIEUPH WEO RIEULPIEUP
+  {0xBF43, 0xD4A0}, //10617 #HANGUL SYLLABLE PHIEUPH WEO RIEULSIOS
+  {0xBF44, 0xD4A1}, //10618 #HANGUL SYLLABLE PHIEUPH WEO RIEULTHIEUTH
+  {0xBF45, 0xD4A2}, //10619 #HANGUL SYLLABLE PHIEUPH WEO RIEULPHIEUPH
+  {0xBF46, 0xD4A3}, //10620 #HANGUL SYLLABLE PHIEUPH WEO RIEULHIEUH
+  {0xBF47, 0xD4A4}, //10621 #HANGUL SYLLABLE PHIEUPH WEO MIEUM
+  {0xBF48, 0xD4A5}, //10622 #HANGUL SYLLABLE PHIEUPH WEO PIEUP
+  {0xBF49, 0xD4A6}, //10623 #HANGUL SYLLABLE PHIEUPH WEO PIEUPSIOS
+  {0xBF4A, 0xD4A7}, //10624 #HANGUL SYLLABLE PHIEUPH WEO SIOS
+  {0xBF4B, 0xD4A8}, //10625 #HANGUL SYLLABLE PHIEUPH WEO SSANGSIOS
+  {0xBF4C, 0xD4AA}, //10626 #HANGUL SYLLABLE PHIEUPH WEO CIEUC
+  {0xBF4D, 0xD4AB}, //10627 #HANGUL SYLLABLE PHIEUPH WEO CHIEUCH
+  {0xBF4E, 0xD4AC}, //10628 #HANGUL SYLLABLE PHIEUPH WEO KHIEUKH
+  {0xBF4F, 0xD4AD}, //10629 #HANGUL SYLLABLE PHIEUPH WEO THIEUTH
+  {0xBF50, 0xD4AE}, //10630 #HANGUL SYLLABLE PHIEUPH WEO PHIEUPH
+  {0xBF51, 0xD4AF}, //10631 #HANGUL SYLLABLE PHIEUPH WEO HIEUH
+  {0xBF52, 0xD4B0}, //10632 #HANGUL SYLLABLE PHIEUPH WE
+  {0xBF53, 0xD4B1}, //10633 #HANGUL SYLLABLE PHIEUPH WE KIYEOK
+  {0xBF54, 0xD4B2}, //10634 #HANGUL SYLLABLE PHIEUPH WE SSANGKIYEOK
+  {0xBF55, 0xD4B3}, //10635 #HANGUL SYLLABLE PHIEUPH WE KIYEOKSIOS
+  {0xBF56, 0xD4B4}, //10636 #HANGUL SYLLABLE PHIEUPH WE NIEUN
+  {0xBF57, 0xD4B5}, //10637 #HANGUL SYLLABLE PHIEUPH WE NIEUNCIEUC
+  {0xBF58, 0xD4B6}, //10638 #HANGUL SYLLABLE PHIEUPH WE NIEUNHIEUH
+  {0xBF59, 0xD4B7}, //10639 #HANGUL SYLLABLE PHIEUPH WE TIKEUT
+  {0xBF5A, 0xD4B8}, //10640 #HANGUL SYLLABLE PHIEUPH WE RIEUL
+  {0xBF61, 0xD4B9}, //10641 #HANGUL SYLLABLE PHIEUPH WE RIEULKIYEOK
+  {0xBF62, 0xD4BA}, //10642 #HANGUL SYLLABLE PHIEUPH WE RIEULMIEUM
+  {0xBF63, 0xD4BB}, //10643 #HANGUL SYLLABLE PHIEUPH WE RIEULPIEUP
+  {0xBF64, 0xD4BC}, //10644 #HANGUL SYLLABLE PHIEUPH WE RIEULSIOS
+  {0xBF65, 0xD4BD}, //10645 #HANGUL SYLLABLE PHIEUPH WE RIEULTHIEUTH
+  {0xBF66, 0xD4BE}, //10646 #HANGUL SYLLABLE PHIEUPH WE RIEULPHIEUPH
+  {0xBF67, 0xD4BF}, //10647 #HANGUL SYLLABLE PHIEUPH WE RIEULHIEUH
+  {0xBF68, 0xD4C0}, //10648 #HANGUL SYLLABLE PHIEUPH WE MIEUM
+  {0xBF69, 0xD4C1}, //10649 #HANGUL SYLLABLE PHIEUPH WE PIEUP
+  {0xBF6A, 0xD4C2}, //10650 #HANGUL SYLLABLE PHIEUPH WE PIEUPSIOS
+  {0xBF6B, 0xD4C3}, //10651 #HANGUL SYLLABLE PHIEUPH WE SIOS
+  {0xBF6C, 0xD4C4}, //10652 #HANGUL SYLLABLE PHIEUPH WE SSANGSIOS
+  {0xBF6D, 0xD4C5}, //10653 #HANGUL SYLLABLE PHIEUPH WE IEUNG
+  {0xBF6E, 0xD4C6}, //10654 #HANGUL SYLLABLE PHIEUPH WE CIEUC
+  {0xBF6F, 0xD4C7}, //10655 #HANGUL SYLLABLE PHIEUPH WE CHIEUCH
+  {0xBF70, 0xD4C8}, //10656 #HANGUL SYLLABLE PHIEUPH WE KHIEUKH
+  {0xBF71, 0xD4C9}, //10657 #HANGUL SYLLABLE PHIEUPH WE THIEUTH
+  {0xBF72, 0xD4CA}, //10658 #HANGUL SYLLABLE PHIEUPH WE PHIEUPH
+  {0xBF73, 0xD4CB}, //10659 #HANGUL SYLLABLE PHIEUPH WE HIEUH
+  {0xBF74, 0xD4CD}, //10660 #HANGUL SYLLABLE PHIEUPH WI KIYEOK
+  {0xBF75, 0xD4CE}, //10661 #HANGUL SYLLABLE PHIEUPH WI SSANGKIYEOK
+  {0xBF76, 0xD4CF}, //10662 #HANGUL SYLLABLE PHIEUPH WI KIYEOKSIOS
+  {0xBF77, 0xD4D1}, //10663 #HANGUL SYLLABLE PHIEUPH WI NIEUNCIEUC
+  {0xBF78, 0xD4D2}, //10664 #HANGUL SYLLABLE PHIEUPH WI NIEUNHIEUH
+  {0xBF79, 0xD4D3}, //10665 #HANGUL SYLLABLE PHIEUPH WI TIKEUT
+  {0xBF7A, 0xD4D5}, //10666 #HANGUL SYLLABLE PHIEUPH WI RIEULKIYEOK
+  {0xBF81, 0xD4D6}, //10667 #HANGUL SYLLABLE PHIEUPH WI RIEULMIEUM
+  {0xBF82, 0xD4D7}, //10668 #HANGUL SYLLABLE PHIEUPH WI RIEULPIEUP
+  {0xBF83, 0xD4D8}, //10669 #HANGUL SYLLABLE PHIEUPH WI RIEULSIOS
+  {0xBF84, 0xD4D9}, //10670 #HANGUL SYLLABLE PHIEUPH WI RIEULTHIEUTH
+  {0xBF85, 0xD4DA}, //10671 #HANGUL SYLLABLE PHIEUPH WI RIEULPHIEUPH
+  {0xBF86, 0xD4DB}, //10672 #HANGUL SYLLABLE PHIEUPH WI RIEULHIEUH
+  {0xBF87, 0xD4DD}, //10673 #HANGUL SYLLABLE PHIEUPH WI PIEUP
+  {0xBF88, 0xD4DE}, //10674 #HANGUL SYLLABLE PHIEUPH WI PIEUPSIOS
+  {0xBF89, 0xD4E0}, //10675 #HANGUL SYLLABLE PHIEUPH WI SSANGSIOS
+  {0xBF8A, 0xD4E1}, //10676 #HANGUL SYLLABLE PHIEUPH WI IEUNG
+  {0xBF8B, 0xD4E2}, //10677 #HANGUL SYLLABLE PHIEUPH WI CIEUC
+  {0xBF8C, 0xD4E3}, //10678 #HANGUL SYLLABLE PHIEUPH WI CHIEUCH
+  {0xBF8D, 0xD4E4}, //10679 #HANGUL SYLLABLE PHIEUPH WI KHIEUKH
+  {0xBF8E, 0xD4E5}, //10680 #HANGUL SYLLABLE PHIEUPH WI THIEUTH
+  {0xBF8F, 0xD4E6}, //10681 #HANGUL SYLLABLE PHIEUPH WI PHIEUPH
+  {0xBF90, 0xD4E7}, //10682 #HANGUL SYLLABLE PHIEUPH WI HIEUH
+  {0xBF91, 0xD4E9}, //10683 #HANGUL SYLLABLE PHIEUPH YU KIYEOK
+  {0xBF92, 0xD4EA}, //10684 #HANGUL SYLLABLE PHIEUPH YU SSANGKIYEOK
+  {0xBF93, 0xD4EB}, //10685 #HANGUL SYLLABLE PHIEUPH YU KIYEOKSIOS
+  {0xBF94, 0xD4ED}, //10686 #HANGUL SYLLABLE PHIEUPH YU NIEUNCIEUC
+  {0xBF95, 0xD4EE}, //10687 #HANGUL SYLLABLE PHIEUPH YU NIEUNHIEUH
+  {0xBF96, 0xD4EF}, //10688 #HANGUL SYLLABLE PHIEUPH YU TIKEUT
+  {0xBF97, 0xD4F1}, //10689 #HANGUL SYLLABLE PHIEUPH YU RIEULKIYEOK
+  {0xBF98, 0xD4F2}, //10690 #HANGUL SYLLABLE PHIEUPH YU RIEULMIEUM
+  {0xBF99, 0xD4F3}, //10691 #HANGUL SYLLABLE PHIEUPH YU RIEULPIEUP
+  {0xBF9A, 0xD4F4}, //10692 #HANGUL SYLLABLE PHIEUPH YU RIEULSIOS
+  {0xBF9B, 0xD4F5}, //10693 #HANGUL SYLLABLE PHIEUPH YU RIEULTHIEUTH
+  {0xBF9C, 0xD4F6}, //10694 #HANGUL SYLLABLE PHIEUPH YU RIEULPHIEUPH
+  {0xBF9D, 0xD4F7}, //10695 #HANGUL SYLLABLE PHIEUPH YU RIEULHIEUH
+  {0xBF9E, 0xD4F9}, //10696 #HANGUL SYLLABLE PHIEUPH YU PIEUP
+  {0xBF9F, 0xD4FA}, //10697 #HANGUL SYLLABLE PHIEUPH YU PIEUPSIOS
+  {0xBFA0, 0xD4FC}, //10698 #HANGUL SYLLABLE PHIEUPH YU SSANGSIOS
+  {0xBFA1, 0xC5D0}, //10699 #HANGUL SYLLABLE IEUNG E
+  {0xBFA2, 0xC5D1}, //10700 #HANGUL SYLLABLE IEUNG E KIYEOK
+  {0xBFA3, 0xC5D4}, //10701 #HANGUL SYLLABLE IEUNG E NIEUN
+  {0xBFA4, 0xC5D8}, //10702 #HANGUL SYLLABLE IEUNG E RIEUL
+  {0xBFA5, 0xC5E0}, //10703 #HANGUL SYLLABLE IEUNG E MIEUM
+  {0xBFA6, 0xC5E1}, //10704 #HANGUL SYLLABLE IEUNG E PIEUP
+  {0xBFA7, 0xC5E3}, //10705 #HANGUL SYLLABLE IEUNG E SIOS
+  {0xBFA8, 0xC5E5}, //10706 #HANGUL SYLLABLE IEUNG E IEUNG
+  {0xBFA9, 0xC5EC}, //10707 #HANGUL SYLLABLE IEUNG YEO
+  {0xBFAA, 0xC5ED}, //10708 #HANGUL SYLLABLE IEUNG YEO KIYEOK
+  {0xBFAB, 0xC5EE}, //10709 #HANGUL SYLLABLE IEUNG YEO SSANGKIYEOK
+  {0xBFAC, 0xC5F0}, //10710 #HANGUL SYLLABLE IEUNG YEO NIEUN
+  {0xBFAD, 0xC5F4}, //10711 #HANGUL SYLLABLE IEUNG YEO RIEUL
+  {0xBFAE, 0xC5F6}, //10712 #HANGUL SYLLABLE IEUNG YEO RIEULMIEUM
+  {0xBFAF, 0xC5F7}, //10713 #HANGUL SYLLABLE IEUNG YEO RIEULPIEUP
+  {0xBFB0, 0xC5FC}, //10714 #HANGUL SYLLABLE IEUNG YEO MIEUM
+  {0xBFB1, 0xC5FD}, //10715 #HANGUL SYLLABLE IEUNG YEO PIEUP
+  {0xBFB2, 0xC5FE}, //10716 #HANGUL SYLLABLE IEUNG YEO PIEUPSIOS
+  {0xBFB3, 0xC5FF}, //10717 #HANGUL SYLLABLE IEUNG YEO SIOS
+  {0xBFB4, 0xC600}, //10718 #HANGUL SYLLABLE IEUNG YEO SSANGSIOS
+  {0xBFB5, 0xC601}, //10719 #HANGUL SYLLABLE IEUNG YEO IEUNG
+  {0xBFB6, 0xC605}, //10720 #HANGUL SYLLABLE IEUNG YEO THIEUTH
+  {0xBFB7, 0xC606}, //10721 #HANGUL SYLLABLE IEUNG YEO PHIEUPH
+  {0xBFB8, 0xC607}, //10722 #HANGUL SYLLABLE IEUNG YEO HIEUH
+  {0xBFB9, 0xC608}, //10723 #HANGUL SYLLABLE IEUNG YE
+  {0xBFBA, 0xC60C}, //10724 #HANGUL SYLLABLE IEUNG YE NIEUN
+  {0xBFBB, 0xC610}, //10725 #HANGUL SYLLABLE IEUNG YE RIEUL
+  {0xBFBC, 0xC618}, //10726 #HANGUL SYLLABLE IEUNG YE MIEUM
+  {0xBFBD, 0xC619}, //10727 #HANGUL SYLLABLE IEUNG YE PIEUP
+  {0xBFBE, 0xC61B}, //10728 #HANGUL SYLLABLE IEUNG YE SIOS
+  {0xBFBF, 0xC61C}, //10729 #HANGUL SYLLABLE IEUNG YE SSANGSIOS
+  {0xBFC0, 0xC624}, //10730 #HANGUL SYLLABLE IEUNG O
+  {0xBFC1, 0xC625}, //10731 #HANGUL SYLLABLE IEUNG O KIYEOK
+  {0xBFC2, 0xC628}, //10732 #HANGUL SYLLABLE IEUNG O NIEUN
+  {0xBFC3, 0xC62C}, //10733 #HANGUL SYLLABLE IEUNG O RIEUL
+  {0xBFC4, 0xC62D}, //10734 #HANGUL SYLLABLE IEUNG O RIEULKIYEOK
+  {0xBFC5, 0xC62E}, //10735 #HANGUL SYLLABLE IEUNG O RIEULMIEUM
+  {0xBFC6, 0xC630}, //10736 #HANGUL SYLLABLE IEUNG O RIEULSIOS
+  {0xBFC7, 0xC633}, //10737 #HANGUL SYLLABLE IEUNG O RIEULHIEUH
+  {0xBFC8, 0xC634}, //10738 #HANGUL SYLLABLE IEUNG O MIEUM
+  {0xBFC9, 0xC635}, //10739 #HANGUL SYLLABLE IEUNG O PIEUP
+  {0xBFCA, 0xC637}, //10740 #HANGUL SYLLABLE IEUNG O SIOS
+  {0xBFCB, 0xC639}, //10741 #HANGUL SYLLABLE IEUNG O IEUNG
+  {0xBFCC, 0xC63B}, //10742 #HANGUL SYLLABLE IEUNG O CHIEUCH
+  {0xBFCD, 0xC640}, //10743 #HANGUL SYLLABLE IEUNG WA
+  {0xBFCE, 0xC641}, //10744 #HANGUL SYLLABLE IEUNG WA KIYEOK
+  {0xBFCF, 0xC644}, //10745 #HANGUL SYLLABLE IEUNG WA NIEUN
+  {0xBFD0, 0xC648}, //10746 #HANGUL SYLLABLE IEUNG WA RIEUL
+  {0xBFD1, 0xC650}, //10747 #HANGUL SYLLABLE IEUNG WA MIEUM
+  {0xBFD2, 0xC651}, //10748 #HANGUL SYLLABLE IEUNG WA PIEUP
+  {0xBFD3, 0xC653}, //10749 #HANGUL SYLLABLE IEUNG WA SIOS
+  {0xBFD4, 0xC654}, //10750 #HANGUL SYLLABLE IEUNG WA SSANGSIOS
+  {0xBFD5, 0xC655}, //10751 #HANGUL SYLLABLE IEUNG WA IEUNG
+  {0xBFD6, 0xC65C}, //10752 #HANGUL SYLLABLE IEUNG WAE
+  {0xBFD7, 0xC65D}, //10753 #HANGUL SYLLABLE IEUNG WAE KIYEOK
+  {0xBFD8, 0xC660}, //10754 #HANGUL SYLLABLE IEUNG WAE NIEUN
+  {0xBFD9, 0xC66C}, //10755 #HANGUL SYLLABLE IEUNG WAE MIEUM
+  {0xBFDA, 0xC66F}, //10756 #HANGUL SYLLABLE IEUNG WAE SIOS
+  {0xBFDB, 0xC671}, //10757 #HANGUL SYLLABLE IEUNG WAE IEUNG
+  {0xBFDC, 0xC678}, //10758 #HANGUL SYLLABLE IEUNG OE
+  {0xBFDD, 0xC679}, //10759 #HANGUL SYLLABLE IEUNG OE KIYEOK
+  {0xBFDE, 0xC67C}, //10760 #HANGUL SYLLABLE IEUNG OE NIEUN
+  {0xBFDF, 0xC680}, //10761 #HANGUL SYLLABLE IEUNG OE RIEUL
+  {0xBFE0, 0xC688}, //10762 #HANGUL SYLLABLE IEUNG OE MIEUM
+  {0xBFE1, 0xC689}, //10763 #HANGUL SYLLABLE IEUNG OE PIEUP
+  {0xBFE2, 0xC68B}, //10764 #HANGUL SYLLABLE IEUNG OE SIOS
+  {0xBFE3, 0xC68D}, //10765 #HANGUL SYLLABLE IEUNG OE IEUNG
+  {0xBFE4, 0xC694}, //10766 #HANGUL SYLLABLE IEUNG YO
+  {0xBFE5, 0xC695}, //10767 #HANGUL SYLLABLE IEUNG YO KIYEOK
+  {0xBFE6, 0xC698}, //10768 #HANGUL SYLLABLE IEUNG YO NIEUN
+  {0xBFE7, 0xC69C}, //10769 #HANGUL SYLLABLE IEUNG YO RIEUL
+  {0xBFE8, 0xC6A4}, //10770 #HANGUL SYLLABLE IEUNG YO MIEUM
+  {0xBFE9, 0xC6A5}, //10771 #HANGUL SYLLABLE IEUNG YO PIEUP
+  {0xBFEA, 0xC6A7}, //10772 #HANGUL SYLLABLE IEUNG YO SIOS
+  {0xBFEB, 0xC6A9}, //10773 #HANGUL SYLLABLE IEUNG YO IEUNG
+  {0xBFEC, 0xC6B0}, //10774 #HANGUL SYLLABLE IEUNG U
+  {0xBFED, 0xC6B1}, //10775 #HANGUL SYLLABLE IEUNG U KIYEOK
+  {0xBFEE, 0xC6B4}, //10776 #HANGUL SYLLABLE IEUNG U NIEUN
+  {0xBFEF, 0xC6B8}, //10777 #HANGUL SYLLABLE IEUNG U RIEUL
+  {0xBFF0, 0xC6B9}, //10778 #HANGUL SYLLABLE IEUNG U RIEULKIYEOK
+  {0xBFF1, 0xC6BA}, //10779 #HANGUL SYLLABLE IEUNG U RIEULMIEUM
+  {0xBFF2, 0xC6C0}, //10780 #HANGUL SYLLABLE IEUNG U MIEUM
+  {0xBFF3, 0xC6C1}, //10781 #HANGUL SYLLABLE IEUNG U PIEUP
+  {0xBFF4, 0xC6C3}, //10782 #HANGUL SYLLABLE IEUNG U SIOS
+  {0xBFF5, 0xC6C5}, //10783 #HANGUL SYLLABLE IEUNG U IEUNG
+  {0xBFF6, 0xC6CC}, //10784 #HANGUL SYLLABLE IEUNG WEO
+  {0xBFF7, 0xC6CD}, //10785 #HANGUL SYLLABLE IEUNG WEO KIYEOK
+  {0xBFF8, 0xC6D0}, //10786 #HANGUL SYLLABLE IEUNG WEO NIEUN
+  {0xBFF9, 0xC6D4}, //10787 #HANGUL SYLLABLE IEUNG WEO RIEUL
+  {0xBFFA, 0xC6DC}, //10788 #HANGUL SYLLABLE IEUNG WEO MIEUM
+  {0xBFFB, 0xC6DD}, //10789 #HANGUL SYLLABLE IEUNG WEO PIEUP
+  {0xBFFC, 0xC6E0}, //10790 #HANGUL SYLLABLE IEUNG WEO SSANGSIOS
+  {0xBFFD, 0xC6E1}, //10791 #HANGUL SYLLABLE IEUNG WEO IEUNG
+  {0xBFFE, 0xC6E8}, //10792 #HANGUL SYLLABLE IEUNG WE
+  {0xC041, 0xD4FE}, //10793 #HANGUL SYLLABLE PHIEUPH YU CIEUC
+  {0xC042, 0xD4FF}, //10794 #HANGUL SYLLABLE PHIEUPH YU CHIEUCH
+  {0xC043, 0xD500}, //10795 #HANGUL SYLLABLE PHIEUPH YU KHIEUKH
+  {0xC044, 0xD501}, //10796 #HANGUL SYLLABLE PHIEUPH YU THIEUTH
+  {0xC045, 0xD502}, //10797 #HANGUL SYLLABLE PHIEUPH YU PHIEUPH
+  {0xC046, 0xD503}, //10798 #HANGUL SYLLABLE PHIEUPH YU HIEUH
+  {0xC047, 0xD505}, //10799 #HANGUL SYLLABLE PHIEUPH EU KIYEOK
+  {0xC048, 0xD506}, //10800 #HANGUL SYLLABLE PHIEUPH EU SSANGKIYEOK
+  {0xC049, 0xD507}, //10801 #HANGUL SYLLABLE PHIEUPH EU KIYEOKSIOS
+  {0xC04A, 0xD509}, //10802 #HANGUL SYLLABLE PHIEUPH EU NIEUNCIEUC
+  {0xC04B, 0xD50A}, //10803 #HANGUL SYLLABLE PHIEUPH EU NIEUNHIEUH
+  {0xC04C, 0xD50B}, //10804 #HANGUL SYLLABLE PHIEUPH EU TIKEUT
+  {0xC04D, 0xD50D}, //10805 #HANGUL SYLLABLE PHIEUPH EU RIEULKIYEOK
+  {0xC04E, 0xD50E}, //10806 #HANGUL SYLLABLE PHIEUPH EU RIEULMIEUM
+  {0xC04F, 0xD50F}, //10807 #HANGUL SYLLABLE PHIEUPH EU RIEULPIEUP
+  {0xC050, 0xD510}, //10808 #HANGUL SYLLABLE PHIEUPH EU RIEULSIOS
+  {0xC051, 0xD511}, //10809 #HANGUL SYLLABLE PHIEUPH EU RIEULTHIEUTH
+  {0xC052, 0xD512}, //10810 #HANGUL SYLLABLE PHIEUPH EU RIEULPHIEUPH
+  {0xC053, 0xD513}, //10811 #HANGUL SYLLABLE PHIEUPH EU RIEULHIEUH
+  {0xC054, 0xD516}, //10812 #HANGUL SYLLABLE PHIEUPH EU PIEUPSIOS
+  {0xC055, 0xD518}, //10813 #HANGUL SYLLABLE PHIEUPH EU SSANGSIOS
+  {0xC056, 0xD519}, //10814 #HANGUL SYLLABLE PHIEUPH EU IEUNG
+  {0xC057, 0xD51A}, //10815 #HANGUL SYLLABLE PHIEUPH EU CIEUC
+  {0xC058, 0xD51B}, //10816 #HANGUL SYLLABLE PHIEUPH EU CHIEUCH
+  {0xC059, 0xD51C}, //10817 #HANGUL SYLLABLE PHIEUPH EU KHIEUKH
+  {0xC05A, 0xD51D}, //10818 #HANGUL SYLLABLE PHIEUPH EU THIEUTH
+  {0xC061, 0xD51E}, //10819 #HANGUL SYLLABLE PHIEUPH EU PHIEUPH
+  {0xC062, 0xD51F}, //10820 #HANGUL SYLLABLE PHIEUPH EU HIEUH
+  {0xC063, 0xD520}, //10821 #HANGUL SYLLABLE PHIEUPH YI
+  {0xC064, 0xD521}, //10822 #HANGUL SYLLABLE PHIEUPH YI KIYEOK
+  {0xC065, 0xD522}, //10823 #HANGUL SYLLABLE PHIEUPH YI SSANGKIYEOK
+  {0xC066, 0xD523}, //10824 #HANGUL SYLLABLE PHIEUPH YI KIYEOKSIOS
+  {0xC067, 0xD524}, //10825 #HANGUL SYLLABLE PHIEUPH YI NIEUN
+  {0xC068, 0xD525}, //10826 #HANGUL SYLLABLE PHIEUPH YI NIEUNCIEUC
+  {0xC069, 0xD526}, //10827 #HANGUL SYLLABLE PHIEUPH YI NIEUNHIEUH
+  {0xC06A, 0xD527}, //10828 #HANGUL SYLLABLE PHIEUPH YI TIKEUT
+  {0xC06B, 0xD528}, //10829 #HANGUL SYLLABLE PHIEUPH YI RIEUL
+  {0xC06C, 0xD529}, //10830 #HANGUL SYLLABLE PHIEUPH YI RIEULKIYEOK
+  {0xC06D, 0xD52A}, //10831 #HANGUL SYLLABLE PHIEUPH YI RIEULMIEUM
+  {0xC06E, 0xD52B}, //10832 #HANGUL SYLLABLE PHIEUPH YI RIEULPIEUP
+  {0xC06F, 0xD52C}, //10833 #HANGUL SYLLABLE PHIEUPH YI RIEULSIOS
+  {0xC070, 0xD52D}, //10834 #HANGUL SYLLABLE PHIEUPH YI RIEULTHIEUTH
+  {0xC071, 0xD52E}, //10835 #HANGUL SYLLABLE PHIEUPH YI RIEULPHIEUPH
+  {0xC072, 0xD52F}, //10836 #HANGUL SYLLABLE PHIEUPH YI RIEULHIEUH
+  {0xC073, 0xD530}, //10837 #HANGUL SYLLABLE PHIEUPH YI MIEUM
+  {0xC074, 0xD531}, //10838 #HANGUL SYLLABLE PHIEUPH YI PIEUP
+  {0xC075, 0xD532}, //10839 #HANGUL SYLLABLE PHIEUPH YI PIEUPSIOS
+  {0xC076, 0xD533}, //10840 #HANGUL SYLLABLE PHIEUPH YI SIOS
+  {0xC077, 0xD534}, //10841 #HANGUL SYLLABLE PHIEUPH YI SSANGSIOS
+  {0xC078, 0xD535}, //10842 #HANGUL SYLLABLE PHIEUPH YI IEUNG
+  {0xC079, 0xD536}, //10843 #HANGUL SYLLABLE PHIEUPH YI CIEUC
+  {0xC07A, 0xD537}, //10844 #HANGUL SYLLABLE PHIEUPH YI CHIEUCH
+  {0xC081, 0xD538}, //10845 #HANGUL SYLLABLE PHIEUPH YI KHIEUKH
+  {0xC082, 0xD539}, //10846 #HANGUL SYLLABLE PHIEUPH YI THIEUTH
+  {0xC083, 0xD53A}, //10847 #HANGUL SYLLABLE PHIEUPH YI PHIEUPH
+  {0xC084, 0xD53B}, //10848 #HANGUL SYLLABLE PHIEUPH YI HIEUH
+  {0xC085, 0xD53E}, //10849 #HANGUL SYLLABLE PHIEUPH I SSANGKIYEOK
+  {0xC086, 0xD53F}, //10850 #HANGUL SYLLABLE PHIEUPH I KIYEOKSIOS
+  {0xC087, 0xD541}, //10851 #HANGUL SYLLABLE PHIEUPH I NIEUNCIEUC
+  {0xC088, 0xD542}, //10852 #HANGUL SYLLABLE PHIEUPH I NIEUNHIEUH
+  {0xC089, 0xD543}, //10853 #HANGUL SYLLABLE PHIEUPH I TIKEUT
+  {0xC08A, 0xD545}, //10854 #HANGUL SYLLABLE PHIEUPH I RIEULKIYEOK
+  {0xC08B, 0xD546}, //10855 #HANGUL SYLLABLE PHIEUPH I RIEULMIEUM
+  {0xC08C, 0xD547}, //10856 #HANGUL SYLLABLE PHIEUPH I RIEULPIEUP
+  {0xC08D, 0xD548}, //10857 #HANGUL SYLLABLE PHIEUPH I RIEULSIOS
+  {0xC08E, 0xD549}, //10858 #HANGUL SYLLABLE PHIEUPH I RIEULTHIEUTH
+  {0xC08F, 0xD54A}, //10859 #HANGUL SYLLABLE PHIEUPH I RIEULPHIEUPH
+  {0xC090, 0xD54B}, //10860 #HANGUL SYLLABLE PHIEUPH I RIEULHIEUH
+  {0xC091, 0xD54E}, //10861 #HANGUL SYLLABLE PHIEUPH I PIEUPSIOS
+  {0xC092, 0xD550}, //10862 #HANGUL SYLLABLE PHIEUPH I SSANGSIOS
+  {0xC093, 0xD552}, //10863 #HANGUL SYLLABLE PHIEUPH I CIEUC
+  {0xC094, 0xD553}, //10864 #HANGUL SYLLABLE PHIEUPH I CHIEUCH
+  {0xC095, 0xD554}, //10865 #HANGUL SYLLABLE PHIEUPH I KHIEUKH
+  {0xC096, 0xD555}, //10866 #HANGUL SYLLABLE PHIEUPH I THIEUTH
+  {0xC097, 0xD556}, //10867 #HANGUL SYLLABLE PHIEUPH I PHIEUPH
+  {0xC098, 0xD557}, //10868 #HANGUL SYLLABLE PHIEUPH I HIEUH
+  {0xC099, 0xD55A}, //10869 #HANGUL SYLLABLE HIEUH A SSANGKIYEOK
+  {0xC09A, 0xD55B}, //10870 #HANGUL SYLLABLE HIEUH A KIYEOKSIOS
+  {0xC09B, 0xD55D}, //10871 #HANGUL SYLLABLE HIEUH A NIEUNCIEUC
+  {0xC09C, 0xD55E}, //10872 #HANGUL SYLLABLE HIEUH A NIEUNHIEUH
+  {0xC09D, 0xD55F}, //10873 #HANGUL SYLLABLE HIEUH A TIKEUT
+  {0xC09E, 0xD561}, //10874 #HANGUL SYLLABLE HIEUH A RIEULKIYEOK
+  {0xC09F, 0xD562}, //10875 #HANGUL SYLLABLE HIEUH A RIEULMIEUM
+  {0xC0A0, 0xD563}, //10876 #HANGUL SYLLABLE HIEUH A RIEULPIEUP
+  {0xC0A1, 0xC6E9}, //10877 #HANGUL SYLLABLE IEUNG WE KIYEOK
+  {0xC0A2, 0xC6EC}, //10878 #HANGUL SYLLABLE IEUNG WE NIEUN
+  {0xC0A3, 0xC6F0}, //10879 #HANGUL SYLLABLE IEUNG WE RIEUL
+  {0xC0A4, 0xC6F8}, //10880 #HANGUL SYLLABLE IEUNG WE MIEUM
+  {0xC0A5, 0xC6F9}, //10881 #HANGUL SYLLABLE IEUNG WE PIEUP
+  {0xC0A6, 0xC6FD}, //10882 #HANGUL SYLLABLE IEUNG WE IEUNG
+  {0xC0A7, 0xC704}, //10883 #HANGUL SYLLABLE IEUNG WI
+  {0xC0A8, 0xC705}, //10884 #HANGUL SYLLABLE IEUNG WI KIYEOK
+  {0xC0A9, 0xC708}, //10885 #HANGUL SYLLABLE IEUNG WI NIEUN
+  {0xC0AA, 0xC70C}, //10886 #HANGUL SYLLABLE IEUNG WI RIEUL
+  {0xC0AB, 0xC714}, //10887 #HANGUL SYLLABLE IEUNG WI MIEUM
+  {0xC0AC, 0xC715}, //10888 #HANGUL SYLLABLE IEUNG WI PIEUP
+  {0xC0AD, 0xC717}, //10889 #HANGUL SYLLABLE IEUNG WI SIOS
+  {0xC0AE, 0xC719}, //10890 #HANGUL SYLLABLE IEUNG WI IEUNG
+  {0xC0AF, 0xC720}, //10891 #HANGUL SYLLABLE IEUNG YU
+  {0xC0B0, 0xC721}, //10892 #HANGUL SYLLABLE IEUNG YU KIYEOK
+  {0xC0B1, 0xC724}, //10893 #HANGUL SYLLABLE IEUNG YU NIEUN
+  {0xC0B2, 0xC728}, //10894 #HANGUL SYLLABLE IEUNG YU RIEUL
+  {0xC0B3, 0xC730}, //10895 #HANGUL SYLLABLE IEUNG YU MIEUM
+  {0xC0B4, 0xC731}, //10896 #HANGUL SYLLABLE IEUNG YU PIEUP
+  {0xC0B5, 0xC733}, //10897 #HANGUL SYLLABLE IEUNG YU SIOS
+  {0xC0B6, 0xC735}, //10898 #HANGUL SYLLABLE IEUNG YU IEUNG
+  {0xC0B7, 0xC737}, //10899 #HANGUL SYLLABLE IEUNG YU CHIEUCH
+  {0xC0B8, 0xC73C}, //10900 #HANGUL SYLLABLE IEUNG EU
+  {0xC0B9, 0xC73D}, //10901 #HANGUL SYLLABLE IEUNG EU KIYEOK
+  {0xC0BA, 0xC740}, //10902 #HANGUL SYLLABLE IEUNG EU NIEUN
+  {0xC0BB, 0xC744}, //10903 #HANGUL SYLLABLE IEUNG EU RIEUL
+  {0xC0BC, 0xC74A}, //10904 #HANGUL SYLLABLE IEUNG EU RIEULPHIEUPH
+  {0xC0BD, 0xC74C}, //10905 #HANGUL SYLLABLE IEUNG EU MIEUM
+  {0xC0BE, 0xC74D}, //10906 #HANGUL SYLLABLE IEUNG EU PIEUP
+  {0xC0BF, 0xC74F}, //10907 #HANGUL SYLLABLE IEUNG EU SIOS
+  {0xC0C0, 0xC751}, //10908 #HANGUL SYLLABLE IEUNG EU IEUNG
+  {0xC0C1, 0xC752}, //10909 #HANGUL SYLLABLE IEUNG EU CIEUC
+  {0xC0C2, 0xC753}, //10910 #HANGUL SYLLABLE IEUNG EU CHIEUCH
+  {0xC0C3, 0xC754}, //10911 #HANGUL SYLLABLE IEUNG EU KHIEUKH
+  {0xC0C4, 0xC755}, //10912 #HANGUL SYLLABLE IEUNG EU THIEUTH
+  {0xC0C5, 0xC756}, //10913 #HANGUL SYLLABLE IEUNG EU PHIEUPH
+  {0xC0C6, 0xC757}, //10914 #HANGUL SYLLABLE IEUNG EU HIEUH
+  {0xC0C7, 0xC758}, //10915 #HANGUL SYLLABLE IEUNG YI
+  {0xC0C8, 0xC75C}, //10916 #HANGUL SYLLABLE IEUNG YI NIEUN
+  {0xC0C9, 0xC760}, //10917 #HANGUL SYLLABLE IEUNG YI RIEUL
+  {0xC0CA, 0xC768}, //10918 #HANGUL SYLLABLE IEUNG YI MIEUM
+  {0xC0CB, 0xC76B}, //10919 #HANGUL SYLLABLE IEUNG YI SIOS
+  {0xC0CC, 0xC774}, //10920 #HANGUL SYLLABLE IEUNG I
+  {0xC0CD, 0xC775}, //10921 #HANGUL SYLLABLE IEUNG I KIYEOK
+  {0xC0CE, 0xC778}, //10922 #HANGUL SYLLABLE IEUNG I NIEUN
+  {0xC0CF, 0xC77C}, //10923 #HANGUL SYLLABLE IEUNG I RIEUL
+  {0xC0D0, 0xC77D}, //10924 #HANGUL SYLLABLE IEUNG I RIEULKIYEOK
+  {0xC0D1, 0xC77E}, //10925 #HANGUL SYLLABLE IEUNG I RIEULMIEUM
+  {0xC0D2, 0xC783}, //10926 #HANGUL SYLLABLE IEUNG I RIEULHIEUH
+  {0xC0D3, 0xC784}, //10927 #HANGUL SYLLABLE IEUNG I MIEUM
+  {0xC0D4, 0xC785}, //10928 #HANGUL SYLLABLE IEUNG I PIEUP
+  {0xC0D5, 0xC787}, //10929 #HANGUL SYLLABLE IEUNG I SIOS
+  {0xC0D6, 0xC788}, //10930 #HANGUL SYLLABLE IEUNG I SSANGSIOS
+  {0xC0D7, 0xC789}, //10931 #HANGUL SYLLABLE IEUNG I IEUNG
+  {0xC0D8, 0xC78A}, //10932 #HANGUL SYLLABLE IEUNG I CIEUC
+  {0xC0D9, 0xC78E}, //10933 #HANGUL SYLLABLE IEUNG I PHIEUPH
+  {0xC0DA, 0xC790}, //10934 #HANGUL SYLLABLE CIEUC A
+  {0xC0DB, 0xC791}, //10935 #HANGUL SYLLABLE CIEUC A KIYEOK
+  {0xC0DC, 0xC794}, //10936 #HANGUL SYLLABLE CIEUC A NIEUN
+  {0xC0DD, 0xC796}, //10937 #HANGUL SYLLABLE CIEUC A NIEUNHIEUH
+  {0xC0DE, 0xC797}, //10938 #HANGUL SYLLABLE CIEUC A TIKEUT
+  {0xC0DF, 0xC798}, //10939 #HANGUL SYLLABLE CIEUC A RIEUL
+  {0xC0E0, 0xC79A}, //10940 #HANGUL SYLLABLE CIEUC A RIEULMIEUM
+  {0xC0E1, 0xC7A0}, //10941 #HANGUL SYLLABLE CIEUC A MIEUM
+  {0xC0E2, 0xC7A1}, //10942 #HANGUL SYLLABLE CIEUC A PIEUP
+  {0xC0E3, 0xC7A3}, //10943 #HANGUL SYLLABLE CIEUC A SIOS
+  {0xC0E4, 0xC7A4}, //10944 #HANGUL SYLLABLE CIEUC A SSANGSIOS
+  {0xC0E5, 0xC7A5}, //10945 #HANGUL SYLLABLE CIEUC A IEUNG
+  {0xC0E6, 0xC7A6}, //10946 #HANGUL SYLLABLE CIEUC A CIEUC
+  {0xC0E7, 0xC7AC}, //10947 #HANGUL SYLLABLE CIEUC AE
+  {0xC0E8, 0xC7AD}, //10948 #HANGUL SYLLABLE CIEUC AE KIYEOK
+  {0xC0E9, 0xC7B0}, //10949 #HANGUL SYLLABLE CIEUC AE NIEUN
+  {0xC0EA, 0xC7B4}, //10950 #HANGUL SYLLABLE CIEUC AE RIEUL
+  {0xC0EB, 0xC7BC}, //10951 #HANGUL SYLLABLE CIEUC AE MIEUM
+  {0xC0EC, 0xC7BD}, //10952 #HANGUL SYLLABLE CIEUC AE PIEUP
+  {0xC0ED, 0xC7BF}, //10953 #HANGUL SYLLABLE CIEUC AE SIOS
+  {0xC0EE, 0xC7C0}, //10954 #HANGUL SYLLABLE CIEUC AE SSANGSIOS
+  {0xC0EF, 0xC7C1}, //10955 #HANGUL SYLLABLE CIEUC AE IEUNG
+  {0xC0F0, 0xC7C8}, //10956 #HANGUL SYLLABLE CIEUC YA
+  {0xC0F1, 0xC7C9}, //10957 #HANGUL SYLLABLE CIEUC YA KIYEOK
+  {0xC0F2, 0xC7CC}, //10958 #HANGUL SYLLABLE CIEUC YA NIEUN
+  {0xC0F3, 0xC7CE}, //10959 #HANGUL SYLLABLE CIEUC YA NIEUNHIEUH
+  {0xC0F4, 0xC7D0}, //10960 #HANGUL SYLLABLE CIEUC YA RIEUL
+  {0xC0F5, 0xC7D8}, //10961 #HANGUL SYLLABLE CIEUC YA MIEUM
+  {0xC0F6, 0xC7DD}, //10962 #HANGUL SYLLABLE CIEUC YA IEUNG
+  {0xC0F7, 0xC7E4}, //10963 #HANGUL SYLLABLE CIEUC YAE
+  {0xC0F8, 0xC7E8}, //10964 #HANGUL SYLLABLE CIEUC YAE NIEUN
+  {0xC0F9, 0xC7EC}, //10965 #HANGUL SYLLABLE CIEUC YAE RIEUL
+  {0xC0FA, 0xC800}, //10966 #HANGUL SYLLABLE CIEUC EO
+  {0xC0FB, 0xC801}, //10967 #HANGUL SYLLABLE CIEUC EO KIYEOK
+  {0xC0FC, 0xC804}, //10968 #HANGUL SYLLABLE CIEUC EO NIEUN
+  {0xC0FD, 0xC808}, //10969 #HANGUL SYLLABLE CIEUC EO RIEUL
+  {0xC0FE, 0xC80A}, //10970 #HANGUL SYLLABLE CIEUC EO RIEULMIEUM
+  {0xC141, 0xD564}, //10971 #HANGUL SYLLABLE HIEUH A RIEULSIOS
+  {0xC142, 0xD566}, //10972 #HANGUL SYLLABLE HIEUH A RIEULPHIEUPH
+  {0xC143, 0xD567}, //10973 #HANGUL SYLLABLE HIEUH A RIEULHIEUH
+  {0xC144, 0xD56A}, //10974 #HANGUL SYLLABLE HIEUH A PIEUPSIOS
+  {0xC145, 0xD56C}, //10975 #HANGUL SYLLABLE HIEUH A SSANGSIOS
+  {0xC146, 0xD56E}, //10976 #HANGUL SYLLABLE HIEUH A CIEUC
+  {0xC147, 0xD56F}, //10977 #HANGUL SYLLABLE HIEUH A CHIEUCH
+  {0xC148, 0xD570}, //10978 #HANGUL SYLLABLE HIEUH A KHIEUKH
+  {0xC149, 0xD571}, //10979 #HANGUL SYLLABLE HIEUH A THIEUTH
+  {0xC14A, 0xD572}, //10980 #HANGUL SYLLABLE HIEUH A PHIEUPH
+  {0xC14B, 0xD573}, //10981 #HANGUL SYLLABLE HIEUH A HIEUH
+  {0xC14C, 0xD576}, //10982 #HANGUL SYLLABLE HIEUH AE SSANGKIYEOK
+  {0xC14D, 0xD577}, //10983 #HANGUL SYLLABLE HIEUH AE KIYEOKSIOS
+  {0xC14E, 0xD579}, //10984 #HANGUL SYLLABLE HIEUH AE NIEUNCIEUC
+  {0xC14F, 0xD57A}, //10985 #HANGUL SYLLABLE HIEUH AE NIEUNHIEUH
+  {0xC150, 0xD57B}, //10986 #HANGUL SYLLABLE HIEUH AE TIKEUT
+  {0xC151, 0xD57D}, //10987 #HANGUL SYLLABLE HIEUH AE RIEULKIYEOK
+  {0xC152, 0xD57E}, //10988 #HANGUL SYLLABLE HIEUH AE RIEULMIEUM
+  {0xC153, 0xD57F}, //10989 #HANGUL SYLLABLE HIEUH AE RIEULPIEUP
+  {0xC154, 0xD580}, //10990 #HANGUL SYLLABLE HIEUH AE RIEULSIOS
+  {0xC155, 0xD581}, //10991 #HANGUL SYLLABLE HIEUH AE RIEULTHIEUTH
+  {0xC156, 0xD582}, //10992 #HANGUL SYLLABLE HIEUH AE RIEULPHIEUPH
+  {0xC157, 0xD583}, //10993 #HANGUL SYLLABLE HIEUH AE RIEULHIEUH
+  {0xC158, 0xD586}, //10994 #HANGUL SYLLABLE HIEUH AE PIEUPSIOS
+  {0xC159, 0xD58A}, //10995 #HANGUL SYLLABLE HIEUH AE CIEUC
+  {0xC15A, 0xD58B}, //10996 #HANGUL SYLLABLE HIEUH AE CHIEUCH
+  {0xC161, 0xD58C}, //10997 #HANGUL SYLLABLE HIEUH AE KHIEUKH
+  {0xC162, 0xD58D}, //10998 #HANGUL SYLLABLE HIEUH AE THIEUTH
+  {0xC163, 0xD58E}, //10999 #HANGUL SYLLABLE HIEUH AE PHIEUPH
+  {0xC164, 0xD58F}, //11000 #HANGUL SYLLABLE HIEUH AE HIEUH
+  {0xC165, 0xD591}, //11001 #HANGUL SYLLABLE HIEUH YA KIYEOK
+  {0xC166, 0xD592}, //11002 #HANGUL SYLLABLE HIEUH YA SSANGKIYEOK
+  {0xC167, 0xD593}, //11003 #HANGUL SYLLABLE HIEUH YA KIYEOKSIOS
+  {0xC168, 0xD594}, //11004 #HANGUL SYLLABLE HIEUH YA NIEUN
+  {0xC169, 0xD595}, //11005 #HANGUL SYLLABLE HIEUH YA NIEUNCIEUC
+  {0xC16A, 0xD596}, //11006 #HANGUL SYLLABLE HIEUH YA NIEUNHIEUH
+  {0xC16B, 0xD597}, //11007 #HANGUL SYLLABLE HIEUH YA TIKEUT
+  {0xC16C, 0xD598}, //11008 #HANGUL SYLLABLE HIEUH YA RIEUL
+  {0xC16D, 0xD599}, //11009 #HANGUL SYLLABLE HIEUH YA RIEULKIYEOK
+  {0xC16E, 0xD59A}, //11010 #HANGUL SYLLABLE HIEUH YA RIEULMIEUM
+  {0xC16F, 0xD59B}, //11011 #HANGUL SYLLABLE HIEUH YA RIEULPIEUP
+  {0xC170, 0xD59C}, //11012 #HANGUL SYLLABLE HIEUH YA RIEULSIOS
+  {0xC171, 0xD59D}, //11013 #HANGUL SYLLABLE HIEUH YA RIEULTHIEUTH
+  {0xC172, 0xD59E}, //11014 #HANGUL SYLLABLE HIEUH YA RIEULPHIEUPH
+  {0xC173, 0xD59F}, //11015 #HANGUL SYLLABLE HIEUH YA RIEULHIEUH
+  {0xC174, 0xD5A0}, //11016 #HANGUL SYLLABLE HIEUH YA MIEUM
+  {0xC175, 0xD5A1}, //11017 #HANGUL SYLLABLE HIEUH YA PIEUP
+  {0xC176, 0xD5A2}, //11018 #HANGUL SYLLABLE HIEUH YA PIEUPSIOS
+  {0xC177, 0xD5A3}, //11019 #HANGUL SYLLABLE HIEUH YA SIOS
+  {0xC178, 0xD5A4}, //11020 #HANGUL SYLLABLE HIEUH YA SSANGSIOS
+  {0xC179, 0xD5A6}, //11021 #HANGUL SYLLABLE HIEUH YA CIEUC
+  {0xC17A, 0xD5A7}, //11022 #HANGUL SYLLABLE HIEUH YA CHIEUCH
+  {0xC181, 0xD5A8}, //11023 #HANGUL SYLLABLE HIEUH YA KHIEUKH
+  {0xC182, 0xD5A9}, //11024 #HANGUL SYLLABLE HIEUH YA THIEUTH
+  {0xC183, 0xD5AA}, //11025 #HANGUL SYLLABLE HIEUH YA PHIEUPH
+  {0xC184, 0xD5AB}, //11026 #HANGUL SYLLABLE HIEUH YA HIEUH
+  {0xC185, 0xD5AC}, //11027 #HANGUL SYLLABLE HIEUH YAE
+  {0xC186, 0xD5AD}, //11028 #HANGUL SYLLABLE HIEUH YAE KIYEOK
+  {0xC187, 0xD5AE}, //11029 #HANGUL SYLLABLE HIEUH YAE SSANGKIYEOK
+  {0xC188, 0xD5AF}, //11030 #HANGUL SYLLABLE HIEUH YAE KIYEOKSIOS
+  {0xC189, 0xD5B0}, //11031 #HANGUL SYLLABLE HIEUH YAE NIEUN
+  {0xC18A, 0xD5B1}, //11032 #HANGUL SYLLABLE HIEUH YAE NIEUNCIEUC
+  {0xC18B, 0xD5B2}, //11033 #HANGUL SYLLABLE HIEUH YAE NIEUNHIEUH
+  {0xC18C, 0xD5B3}, //11034 #HANGUL SYLLABLE HIEUH YAE TIKEUT
+  {0xC18D, 0xD5B4}, //11035 #HANGUL SYLLABLE HIEUH YAE RIEUL
+  {0xC18E, 0xD5B5}, //11036 #HANGUL SYLLABLE HIEUH YAE RIEULKIYEOK
+  {0xC18F, 0xD5B6}, //11037 #HANGUL SYLLABLE HIEUH YAE RIEULMIEUM
+  {0xC190, 0xD5B7}, //11038 #HANGUL SYLLABLE HIEUH YAE RIEULPIEUP
+  {0xC191, 0xD5B8}, //11039 #HANGUL SYLLABLE HIEUH YAE RIEULSIOS
+  {0xC192, 0xD5B9}, //11040 #HANGUL SYLLABLE HIEUH YAE RIEULTHIEUTH
+  {0xC193, 0xD5BA}, //11041 #HANGUL SYLLABLE HIEUH YAE RIEULPHIEUPH
+  {0xC194, 0xD5BB}, //11042 #HANGUL SYLLABLE HIEUH YAE RIEULHIEUH
+  {0xC195, 0xD5BC}, //11043 #HANGUL SYLLABLE HIEUH YAE MIEUM
+  {0xC196, 0xD5BD}, //11044 #HANGUL SYLLABLE HIEUH YAE PIEUP
+  {0xC197, 0xD5BE}, //11045 #HANGUL SYLLABLE HIEUH YAE PIEUPSIOS
+  {0xC198, 0xD5BF}, //11046 #HANGUL SYLLABLE HIEUH YAE SIOS
+  {0xC199, 0xD5C0}, //11047 #HANGUL SYLLABLE HIEUH YAE SSANGSIOS
+  {0xC19A, 0xD5C1}, //11048 #HANGUL SYLLABLE HIEUH YAE IEUNG
+  {0xC19B, 0xD5C2}, //11049 #HANGUL SYLLABLE HIEUH YAE CIEUC
+  {0xC19C, 0xD5C3}, //11050 #HANGUL SYLLABLE HIEUH YAE CHIEUCH
+  {0xC19D, 0xD5C4}, //11051 #HANGUL SYLLABLE HIEUH YAE KHIEUKH
+  {0xC19E, 0xD5C5}, //11052 #HANGUL SYLLABLE HIEUH YAE THIEUTH
+  {0xC19F, 0xD5C6}, //11053 #HANGUL SYLLABLE HIEUH YAE PHIEUPH
+  {0xC1A0, 0xD5C7}, //11054 #HANGUL SYLLABLE HIEUH YAE HIEUH
+  {0xC1A1, 0xC810}, //11055 #HANGUL SYLLABLE CIEUC EO MIEUM
+  {0xC1A2, 0xC811}, //11056 #HANGUL SYLLABLE CIEUC EO PIEUP
+  {0xC1A3, 0xC813}, //11057 #HANGUL SYLLABLE CIEUC EO SIOS
+  {0xC1A4, 0xC815}, //11058 #HANGUL SYLLABLE CIEUC EO IEUNG
+  {0xC1A5, 0xC816}, //11059 #HANGUL SYLLABLE CIEUC EO CIEUC
+  {0xC1A6, 0xC81C}, //11060 #HANGUL SYLLABLE CIEUC E
+  {0xC1A7, 0xC81D}, //11061 #HANGUL SYLLABLE CIEUC E KIYEOK
+  {0xC1A8, 0xC820}, //11062 #HANGUL SYLLABLE CIEUC E NIEUN
+  {0xC1A9, 0xC824}, //11063 #HANGUL SYLLABLE CIEUC E RIEUL
+  {0xC1AA, 0xC82C}, //11064 #HANGUL SYLLABLE CIEUC E MIEUM
+  {0xC1AB, 0xC82D}, //11065 #HANGUL SYLLABLE CIEUC E PIEUP
+  {0xC1AC, 0xC82F}, //11066 #HANGUL SYLLABLE CIEUC E SIOS
+  {0xC1AD, 0xC831}, //11067 #HANGUL SYLLABLE CIEUC E IEUNG
+  {0xC1AE, 0xC838}, //11068 #HANGUL SYLLABLE CIEUC YEO
+  {0xC1AF, 0xC83C}, //11069 #HANGUL SYLLABLE CIEUC YEO NIEUN
+  {0xC1B0, 0xC840}, //11070 #HANGUL SYLLABLE CIEUC YEO RIEUL
+  {0xC1B1, 0xC848}, //11071 #HANGUL SYLLABLE CIEUC YEO MIEUM
+  {0xC1B2, 0xC849}, //11072 #HANGUL SYLLABLE CIEUC YEO PIEUP
+  {0xC1B3, 0xC84C}, //11073 #HANGUL SYLLABLE CIEUC YEO SSANGSIOS
+  {0xC1B4, 0xC84D}, //11074 #HANGUL SYLLABLE CIEUC YEO IEUNG
+  {0xC1B5, 0xC854}, //11075 #HANGUL SYLLABLE CIEUC YE
+  {0xC1B6, 0xC870}, //11076 #HANGUL SYLLABLE CIEUC O
+  {0xC1B7, 0xC871}, //11077 #HANGUL SYLLABLE CIEUC O KIYEOK
+  {0xC1B8, 0xC874}, //11078 #HANGUL SYLLABLE CIEUC O NIEUN
+  {0xC1B9, 0xC878}, //11079 #HANGUL SYLLABLE CIEUC O RIEUL
+  {0xC1BA, 0xC87A}, //11080 #HANGUL SYLLABLE CIEUC O RIEULMIEUM
+  {0xC1BB, 0xC880}, //11081 #HANGUL SYLLABLE CIEUC O MIEUM
+  {0xC1BC, 0xC881}, //11082 #HANGUL SYLLABLE CIEUC O PIEUP
+  {0xC1BD, 0xC883}, //11083 #HANGUL SYLLABLE CIEUC O SIOS
+  {0xC1BE, 0xC885}, //11084 #HANGUL SYLLABLE CIEUC O IEUNG
+  {0xC1BF, 0xC886}, //11085 #HANGUL SYLLABLE CIEUC O CIEUC
+  {0xC1C0, 0xC887}, //11086 #HANGUL SYLLABLE CIEUC O CHIEUCH
+  {0xC1C1, 0xC88B}, //11087 #HANGUL SYLLABLE CIEUC O HIEUH
+  {0xC1C2, 0xC88C}, //11088 #HANGUL SYLLABLE CIEUC WA
+  {0xC1C3, 0xC88D}, //11089 #HANGUL SYLLABLE CIEUC WA KIYEOK
+  {0xC1C4, 0xC894}, //11090 #HANGUL SYLLABLE CIEUC WA RIEUL
+  {0xC1C5, 0xC89D}, //11091 #HANGUL SYLLABLE CIEUC WA PIEUP
+  {0xC1C6, 0xC89F}, //11092 #HANGUL SYLLABLE CIEUC WA SIOS
+  {0xC1C7, 0xC8A1}, //11093 #HANGUL SYLLABLE CIEUC WA IEUNG
+  {0xC1C8, 0xC8A8}, //11094 #HANGUL SYLLABLE CIEUC WAE
+  {0xC1C9, 0xC8BC}, //11095 #HANGUL SYLLABLE CIEUC WAE SSANGSIOS
+  {0xC1CA, 0xC8BD}, //11096 #HANGUL SYLLABLE CIEUC WAE IEUNG
+  {0xC1CB, 0xC8C4}, //11097 #HANGUL SYLLABLE CIEUC OE
+  {0xC1CC, 0xC8C8}, //11098 #HANGUL SYLLABLE CIEUC OE NIEUN
+  {0xC1CD, 0xC8CC}, //11099 #HANGUL SYLLABLE CIEUC OE RIEUL
+  {0xC1CE, 0xC8D4}, //11100 #HANGUL SYLLABLE CIEUC OE MIEUM
+  {0xC1CF, 0xC8D5}, //11101 #HANGUL SYLLABLE CIEUC OE PIEUP
+  {0xC1D0, 0xC8D7}, //11102 #HANGUL SYLLABLE CIEUC OE SIOS
+  {0xC1D1, 0xC8D9}, //11103 #HANGUL SYLLABLE CIEUC OE IEUNG
+  {0xC1D2, 0xC8E0}, //11104 #HANGUL SYLLABLE CIEUC YO
+  {0xC1D3, 0xC8E1}, //11105 #HANGUL SYLLABLE CIEUC YO KIYEOK
+  {0xC1D4, 0xC8E4}, //11106 #HANGUL SYLLABLE CIEUC YO NIEUN
+  {0xC1D5, 0xC8F5}, //11107 #HANGUL SYLLABLE CIEUC YO IEUNG
+  {0xC1D6, 0xC8FC}, //11108 #HANGUL SYLLABLE CIEUC U
+  {0xC1D7, 0xC8FD}, //11109 #HANGUL SYLLABLE CIEUC U KIYEOK
+  {0xC1D8, 0xC900}, //11110 #HANGUL SYLLABLE CIEUC U NIEUN
+  {0xC1D9, 0xC904}, //11111 #HANGUL SYLLABLE CIEUC U RIEUL
+  {0xC1DA, 0xC905}, //11112 #HANGUL SYLLABLE CIEUC U RIEULKIYEOK
+  {0xC1DB, 0xC906}, //11113 #HANGUL SYLLABLE CIEUC U RIEULMIEUM
+  {0xC1DC, 0xC90C}, //11114 #HANGUL SYLLABLE CIEUC U MIEUM
+  {0xC1DD, 0xC90D}, //11115 #HANGUL SYLLABLE CIEUC U PIEUP
+  {0xC1DE, 0xC90F}, //11116 #HANGUL SYLLABLE CIEUC U SIOS
+  {0xC1DF, 0xC911}, //11117 #HANGUL SYLLABLE CIEUC U IEUNG
+  {0xC1E0, 0xC918}, //11118 #HANGUL SYLLABLE CIEUC WEO
+  {0xC1E1, 0xC92C}, //11119 #HANGUL SYLLABLE CIEUC WEO SSANGSIOS
+  {0xC1E2, 0xC934}, //11120 #HANGUL SYLLABLE CIEUC WE
+  {0xC1E3, 0xC950}, //11121 #HANGUL SYLLABLE CIEUC WI
+  {0xC1E4, 0xC951}, //11122 #HANGUL SYLLABLE CIEUC WI KIYEOK
+  {0xC1E5, 0xC954}, //11123 #HANGUL SYLLABLE CIEUC WI NIEUN
+  {0xC1E6, 0xC958}, //11124 #HANGUL SYLLABLE CIEUC WI RIEUL
+  {0xC1E7, 0xC960}, //11125 #HANGUL SYLLABLE CIEUC WI MIEUM
+  {0xC1E8, 0xC961}, //11126 #HANGUL SYLLABLE CIEUC WI PIEUP
+  {0xC1E9, 0xC963}, //11127 #HANGUL SYLLABLE CIEUC WI SIOS
+  {0xC1EA, 0xC96C}, //11128 #HANGUL SYLLABLE CIEUC YU
+  {0xC1EB, 0xC970}, //11129 #HANGUL SYLLABLE CIEUC YU NIEUN
+  {0xC1EC, 0xC974}, //11130 #HANGUL SYLLABLE CIEUC YU RIEUL
+  {0xC1ED, 0xC97C}, //11131 #HANGUL SYLLABLE CIEUC YU MIEUM
+  {0xC1EE, 0xC988}, //11132 #HANGUL SYLLABLE CIEUC EU
+  {0xC1EF, 0xC989}, //11133 #HANGUL SYLLABLE CIEUC EU KIYEOK
+  {0xC1F0, 0xC98C}, //11134 #HANGUL SYLLABLE CIEUC EU NIEUN
+  {0xC1F1, 0xC990}, //11135 #HANGUL SYLLABLE CIEUC EU RIEUL
+  {0xC1F2, 0xC998}, //11136 #HANGUL SYLLABLE CIEUC EU MIEUM
+  {0xC1F3, 0xC999}, //11137 #HANGUL SYLLABLE CIEUC EU PIEUP
+  {0xC1F4, 0xC99B}, //11138 #HANGUL SYLLABLE CIEUC EU SIOS
+  {0xC1F5, 0xC99D}, //11139 #HANGUL SYLLABLE CIEUC EU IEUNG
+  {0xC1F6, 0xC9C0}, //11140 #HANGUL SYLLABLE CIEUC I
+  {0xC1F7, 0xC9C1}, //11141 #HANGUL SYLLABLE CIEUC I KIYEOK
+  {0xC1F8, 0xC9C4}, //11142 #HANGUL SYLLABLE CIEUC I NIEUN
+  {0xC1F9, 0xC9C7}, //11143 #HANGUL SYLLABLE CIEUC I TIKEUT
+  {0xC1FA, 0xC9C8}, //11144 #HANGUL SYLLABLE CIEUC I RIEUL
+  {0xC1FB, 0xC9CA}, //11145 #HANGUL SYLLABLE CIEUC I RIEULMIEUM
+  {0xC1FC, 0xC9D0}, //11146 #HANGUL SYLLABLE CIEUC I MIEUM
+  {0xC1FD, 0xC9D1}, //11147 #HANGUL SYLLABLE CIEUC I PIEUP
+  {0xC1FE, 0xC9D3}, //11148 #HANGUL SYLLABLE CIEUC I SIOS
+  {0xC241, 0xD5CA}, //11149 #HANGUL SYLLABLE HIEUH EO SSANGKIYEOK
+  {0xC242, 0xD5CB}, //11150 #HANGUL SYLLABLE HIEUH EO KIYEOKSIOS
+  {0xC243, 0xD5CD}, //11151 #HANGUL SYLLABLE HIEUH EO NIEUNCIEUC
+  {0xC244, 0xD5CE}, //11152 #HANGUL SYLLABLE HIEUH EO NIEUNHIEUH
+  {0xC245, 0xD5CF}, //11153 #HANGUL SYLLABLE HIEUH EO TIKEUT
+  {0xC246, 0xD5D1}, //11154 #HANGUL SYLLABLE HIEUH EO RIEULKIYEOK
+  {0xC247, 0xD5D3}, //11155 #HANGUL SYLLABLE HIEUH EO RIEULPIEUP
+  {0xC248, 0xD5D4}, //11156 #HANGUL SYLLABLE HIEUH EO RIEULSIOS
+  {0xC249, 0xD5D5}, //11157 #HANGUL SYLLABLE HIEUH EO RIEULTHIEUTH
+  {0xC24A, 0xD5D6}, //11158 #HANGUL SYLLABLE HIEUH EO RIEULPHIEUPH
+  {0xC24B, 0xD5D7}, //11159 #HANGUL SYLLABLE HIEUH EO RIEULHIEUH
+  {0xC24C, 0xD5DA}, //11160 #HANGUL SYLLABLE HIEUH EO PIEUPSIOS
+  {0xC24D, 0xD5DC}, //11161 #HANGUL SYLLABLE HIEUH EO SSANGSIOS
+  {0xC24E, 0xD5DE}, //11162 #HANGUL SYLLABLE HIEUH EO CIEUC
+  {0xC24F, 0xD5DF}, //11163 #HANGUL SYLLABLE HIEUH EO CHIEUCH
+  {0xC250, 0xD5E0}, //11164 #HANGUL SYLLABLE HIEUH EO KHIEUKH
+  {0xC251, 0xD5E1}, //11165 #HANGUL SYLLABLE HIEUH EO THIEUTH
+  {0xC252, 0xD5E2}, //11166 #HANGUL SYLLABLE HIEUH EO PHIEUPH
+  {0xC253, 0xD5E3}, //11167 #HANGUL SYLLABLE HIEUH EO HIEUH
+  {0xC254, 0xD5E6}, //11168 #HANGUL SYLLABLE HIEUH E SSANGKIYEOK
+  {0xC255, 0xD5E7}, //11169 #HANGUL SYLLABLE HIEUH E KIYEOKSIOS
+  {0xC256, 0xD5E9}, //11170 #HANGUL SYLLABLE HIEUH E NIEUNCIEUC
+  {0xC257, 0xD5EA}, //11171 #HANGUL SYLLABLE HIEUH E NIEUNHIEUH
+  {0xC258, 0xD5EB}, //11172 #HANGUL SYLLABLE HIEUH E TIKEUT
+  {0xC259, 0xD5ED}, //11173 #HANGUL SYLLABLE HIEUH E RIEULKIYEOK
+  {0xC25A, 0xD5EE}, //11174 #HANGUL SYLLABLE HIEUH E RIEULMIEUM
+  {0xC261, 0xD5EF}, //11175 #HANGUL SYLLABLE HIEUH E RIEULPIEUP
+  {0xC262, 0xD5F0}, //11176 #HANGUL SYLLABLE HIEUH E RIEULSIOS
+  {0xC263, 0xD5F1}, //11177 #HANGUL SYLLABLE HIEUH E RIEULTHIEUTH
+  {0xC264, 0xD5F2}, //11178 #HANGUL SYLLABLE HIEUH E RIEULPHIEUPH
+  {0xC265, 0xD5F3}, //11179 #HANGUL SYLLABLE HIEUH E RIEULHIEUH
+  {0xC266, 0xD5F6}, //11180 #HANGUL SYLLABLE HIEUH E PIEUPSIOS
+  {0xC267, 0xD5F8}, //11181 #HANGUL SYLLABLE HIEUH E SSANGSIOS
+  {0xC268, 0xD5FA}, //11182 #HANGUL SYLLABLE HIEUH E CIEUC
+  {0xC269, 0xD5FB}, //11183 #HANGUL SYLLABLE HIEUH E CHIEUCH
+  {0xC26A, 0xD5FC}, //11184 #HANGUL SYLLABLE HIEUH E KHIEUKH
+  {0xC26B, 0xD5FD}, //11185 #HANGUL SYLLABLE HIEUH E THIEUTH
+  {0xC26C, 0xD5FE}, //11186 #HANGUL SYLLABLE HIEUH E PHIEUPH
+  {0xC26D, 0xD5FF}, //11187 #HANGUL SYLLABLE HIEUH E HIEUH
+  {0xC26E, 0xD602}, //11188 #HANGUL SYLLABLE HIEUH YEO SSANGKIYEOK
+  {0xC26F, 0xD603}, //11189 #HANGUL SYLLABLE HIEUH YEO KIYEOKSIOS
+  {0xC270, 0xD605}, //11190 #HANGUL SYLLABLE HIEUH YEO NIEUNCIEUC
+  {0xC271, 0xD606}, //11191 #HANGUL SYLLABLE HIEUH YEO NIEUNHIEUH
+  {0xC272, 0xD607}, //11192 #HANGUL SYLLABLE HIEUH YEO TIKEUT
+  {0xC273, 0xD609}, //11193 #HANGUL SYLLABLE HIEUH YEO RIEULKIYEOK
+  {0xC274, 0xD60A}, //11194 #HANGUL SYLLABLE HIEUH YEO RIEULMIEUM
+  {0xC275, 0xD60B}, //11195 #HANGUL SYLLABLE HIEUH YEO RIEULPIEUP
+  {0xC276, 0xD60C}, //11196 #HANGUL SYLLABLE HIEUH YEO RIEULSIOS
+  {0xC277, 0xD60D}, //11197 #HANGUL SYLLABLE HIEUH YEO RIEULTHIEUTH
+  {0xC278, 0xD60E}, //11198 #HANGUL SYLLABLE HIEUH YEO RIEULPHIEUPH
+  {0xC279, 0xD60F}, //11199 #HANGUL SYLLABLE HIEUH YEO RIEULHIEUH
+  {0xC27A, 0xD612}, //11200 #HANGUL SYLLABLE HIEUH YEO PIEUPSIOS
+  {0xC281, 0xD616}, //11201 #HANGUL SYLLABLE HIEUH YEO CIEUC
+  {0xC282, 0xD617}, //11202 #HANGUL SYLLABLE HIEUH YEO CHIEUCH
+  {0xC283, 0xD618}, //11203 #HANGUL SYLLABLE HIEUH YEO KHIEUKH
+  {0xC284, 0xD619}, //11204 #HANGUL SYLLABLE HIEUH YEO THIEUTH
+  {0xC285, 0xD61A}, //11205 #HANGUL SYLLABLE HIEUH YEO PHIEUPH
+  {0xC286, 0xD61B}, //11206 #HANGUL SYLLABLE HIEUH YEO HIEUH
+  {0xC287, 0xD61D}, //11207 #HANGUL SYLLABLE HIEUH YE KIYEOK
+  {0xC288, 0xD61E}, //11208 #HANGUL SYLLABLE HIEUH YE SSANGKIYEOK
+  {0xC289, 0xD61F}, //11209 #HANGUL SYLLABLE HIEUH YE KIYEOKSIOS
+  {0xC28A, 0xD621}, //11210 #HANGUL SYLLABLE HIEUH YE NIEUNCIEUC
+  {0xC28B, 0xD622}, //11211 #HANGUL SYLLABLE HIEUH YE NIEUNHIEUH
+  {0xC28C, 0xD623}, //11212 #HANGUL SYLLABLE HIEUH YE TIKEUT
+  {0xC28D, 0xD625}, //11213 #HANGUL SYLLABLE HIEUH YE RIEULKIYEOK
+  {0xC28E, 0xD626}, //11214 #HANGUL SYLLABLE HIEUH YE RIEULMIEUM
+  {0xC28F, 0xD627}, //11215 #HANGUL SYLLABLE HIEUH YE RIEULPIEUP
+  {0xC290, 0xD628}, //11216 #HANGUL SYLLABLE HIEUH YE RIEULSIOS
+  {0xC291, 0xD629}, //11217 #HANGUL SYLLABLE HIEUH YE RIEULTHIEUTH
+  {0xC292, 0xD62A}, //11218 #HANGUL SYLLABLE HIEUH YE RIEULPHIEUPH
+  {0xC293, 0xD62B}, //11219 #HANGUL SYLLABLE HIEUH YE RIEULHIEUH
+  {0xC294, 0xD62C}, //11220 #HANGUL SYLLABLE HIEUH YE MIEUM
+  {0xC295, 0xD62E}, //11221 #HANGUL SYLLABLE HIEUH YE PIEUPSIOS
+  {0xC296, 0xD62F}, //11222 #HANGUL SYLLABLE HIEUH YE SIOS
+  {0xC297, 0xD630}, //11223 #HANGUL SYLLABLE HIEUH YE SSANGSIOS
+  {0xC298, 0xD631}, //11224 #HANGUL SYLLABLE HIEUH YE IEUNG
+  {0xC299, 0xD632}, //11225 #HANGUL SYLLABLE HIEUH YE CIEUC
+  {0xC29A, 0xD633}, //11226 #HANGUL SYLLABLE HIEUH YE CHIEUCH
+  {0xC29B, 0xD634}, //11227 #HANGUL SYLLABLE HIEUH YE KHIEUKH
+  {0xC29C, 0xD635}, //11228 #HANGUL SYLLABLE HIEUH YE THIEUTH
+  {0xC29D, 0xD636}, //11229 #HANGUL SYLLABLE HIEUH YE PHIEUPH
+  {0xC29E, 0xD637}, //11230 #HANGUL SYLLABLE HIEUH YE HIEUH
+  {0xC29F, 0xD63A}, //11231 #HANGUL SYLLABLE HIEUH O SSANGKIYEOK
+  {0xC2A0, 0xD63B}, //11232 #HANGUL SYLLABLE HIEUH O KIYEOKSIOS
+  {0xC2A1, 0xC9D5}, //11233 #HANGUL SYLLABLE CIEUC I IEUNG
+  {0xC2A2, 0xC9D6}, //11234 #HANGUL SYLLABLE CIEUC I CIEUC
+  {0xC2A3, 0xC9D9}, //11235 #HANGUL SYLLABLE CIEUC I THIEUTH
+  {0xC2A4, 0xC9DA}, //11236 #HANGUL SYLLABLE CIEUC I PHIEUPH
+  {0xC2A5, 0xC9DC}, //11237 #HANGUL SYLLABLE SSANGCIEUC A
+  {0xC2A6, 0xC9DD}, //11238 #HANGUL SYLLABLE SSANGCIEUC A KIYEOK
+  {0xC2A7, 0xC9E0}, //11239 #HANGUL SYLLABLE SSANGCIEUC A NIEUN
+  {0xC2A8, 0xC9E2}, //11240 #HANGUL SYLLABLE SSANGCIEUC A NIEUNHIEUH
+  {0xC2A9, 0xC9E4}, //11241 #HANGUL SYLLABLE SSANGCIEUC A RIEUL
+  {0xC2AA, 0xC9E7}, //11242 #HANGUL SYLLABLE SSANGCIEUC A RIEULPIEUP
+  {0xC2AB, 0xC9EC}, //11243 #HANGUL SYLLABLE SSANGCIEUC A MIEUM
+  {0xC2AC, 0xC9ED}, //11244 #HANGUL SYLLABLE SSANGCIEUC A PIEUP
+  {0xC2AD, 0xC9EF}, //11245 #HANGUL SYLLABLE SSANGCIEUC A SIOS
+  {0xC2AE, 0xC9F0}, //11246 #HANGUL SYLLABLE SSANGCIEUC A SSANGSIOS
+  {0xC2AF, 0xC9F1}, //11247 #HANGUL SYLLABLE SSANGCIEUC A IEUNG
+  {0xC2B0, 0xC9F8}, //11248 #HANGUL SYLLABLE SSANGCIEUC AE
+  {0xC2B1, 0xC9F9}, //11249 #HANGUL SYLLABLE SSANGCIEUC AE KIYEOK
+  {0xC2B2, 0xC9FC}, //11250 #HANGUL SYLLABLE SSANGCIEUC AE NIEUN
+  {0xC2B3, 0xCA00}, //11251 #HANGUL SYLLABLE SSANGCIEUC AE RIEUL
+  {0xC2B4, 0xCA08}, //11252 #HANGUL SYLLABLE SSANGCIEUC AE MIEUM
+  {0xC2B5, 0xCA09}, //11253 #HANGUL SYLLABLE SSANGCIEUC AE PIEUP
+  {0xC2B6, 0xCA0B}, //11254 #HANGUL SYLLABLE SSANGCIEUC AE SIOS
+  {0xC2B7, 0xCA0C}, //11255 #HANGUL SYLLABLE SSANGCIEUC AE SSANGSIOS
+  {0xC2B8, 0xCA0D}, //11256 #HANGUL SYLLABLE SSANGCIEUC AE IEUNG
+  {0xC2B9, 0xCA14}, //11257 #HANGUL SYLLABLE SSANGCIEUC YA
+  {0xC2BA, 0xCA18}, //11258 #HANGUL SYLLABLE SSANGCIEUC YA NIEUN
+  {0xC2BB, 0xCA29}, //11259 #HANGUL SYLLABLE SSANGCIEUC YA IEUNG
+  {0xC2BC, 0xCA4C}, //11260 #HANGUL SYLLABLE SSANGCIEUC EO
+  {0xC2BD, 0xCA4D}, //11261 #HANGUL SYLLABLE SSANGCIEUC EO KIYEOK
+  {0xC2BE, 0xCA50}, //11262 #HANGUL SYLLABLE SSANGCIEUC EO NIEUN
+  {0xC2BF, 0xCA54}, //11263 #HANGUL SYLLABLE SSANGCIEUC EO RIEUL
+  {0xC2C0, 0xCA5C}, //11264 #HANGUL SYLLABLE SSANGCIEUC EO MIEUM
+  {0xC2C1, 0xCA5D}, //11265 #HANGUL SYLLABLE SSANGCIEUC EO PIEUP
+  {0xC2C2, 0xCA5F}, //11266 #HANGUL SYLLABLE SSANGCIEUC EO SIOS
+  {0xC2C3, 0xCA60}, //11267 #HANGUL SYLLABLE SSANGCIEUC EO SSANGSIOS
+  {0xC2C4, 0xCA61}, //11268 #HANGUL SYLLABLE SSANGCIEUC EO IEUNG
+  {0xC2C5, 0xCA68}, //11269 #HANGUL SYLLABLE SSANGCIEUC E
+  {0xC2C6, 0xCA7D}, //11270 #HANGUL SYLLABLE SSANGCIEUC E IEUNG
+  {0xC2C7, 0xCA84}, //11271 #HANGUL SYLLABLE SSANGCIEUC YEO
+  {0xC2C8, 0xCA98}, //11272 #HANGUL SYLLABLE SSANGCIEUC YEO SSANGSIOS
+  {0xC2C9, 0xCABC}, //11273 #HANGUL SYLLABLE SSANGCIEUC O
+  {0xC2CA, 0xCABD}, //11274 #HANGUL SYLLABLE SSANGCIEUC O KIYEOK
+  {0xC2CB, 0xCAC0}, //11275 #HANGUL SYLLABLE SSANGCIEUC O NIEUN
+  {0xC2CC, 0xCAC4}, //11276 #HANGUL SYLLABLE SSANGCIEUC O RIEUL
+  {0xC2CD, 0xCACC}, //11277 #HANGUL SYLLABLE SSANGCIEUC O MIEUM
+  {0xC2CE, 0xCACD}, //11278 #HANGUL SYLLABLE SSANGCIEUC O PIEUP
+  {0xC2CF, 0xCACF}, //11279 #HANGUL SYLLABLE SSANGCIEUC O SIOS
+  {0xC2D0, 0xCAD1}, //11280 #HANGUL SYLLABLE SSANGCIEUC O IEUNG
+  {0xC2D1, 0xCAD3}, //11281 #HANGUL SYLLABLE SSANGCIEUC O CHIEUCH
+  {0xC2D2, 0xCAD8}, //11282 #HANGUL SYLLABLE SSANGCIEUC WA
+  {0xC2D3, 0xCAD9}, //11283 #HANGUL SYLLABLE SSANGCIEUC WA KIYEOK
+  {0xC2D4, 0xCAE0}, //11284 #HANGUL SYLLABLE SSANGCIEUC WA RIEUL
+  {0xC2D5, 0xCAEC}, //11285 #HANGUL SYLLABLE SSANGCIEUC WA SSANGSIOS
+  {0xC2D6, 0xCAF4}, //11286 #HANGUL SYLLABLE SSANGCIEUC WAE
+  {0xC2D7, 0xCB08}, //11287 #HANGUL SYLLABLE SSANGCIEUC WAE SSANGSIOS
+  {0xC2D8, 0xCB10}, //11288 #HANGUL SYLLABLE SSANGCIEUC OE
+  {0xC2D9, 0xCB14}, //11289 #HANGUL SYLLABLE SSANGCIEUC OE NIEUN
+  {0xC2DA, 0xCB18}, //11290 #HANGUL SYLLABLE SSANGCIEUC OE RIEUL
+  {0xC2DB, 0xCB20}, //11291 #HANGUL SYLLABLE SSANGCIEUC OE MIEUM
+  {0xC2DC, 0xCB21}, //11292 #HANGUL SYLLABLE SSANGCIEUC OE PIEUP
+  {0xC2DD, 0xCB41}, //11293 #HANGUL SYLLABLE SSANGCIEUC YO IEUNG
+  {0xC2DE, 0xCB48}, //11294 #HANGUL SYLLABLE SSANGCIEUC U
+  {0xC2DF, 0xCB49}, //11295 #HANGUL SYLLABLE SSANGCIEUC U KIYEOK
+  {0xC2E0, 0xCB4C}, //11296 #HANGUL SYLLABLE SSANGCIEUC U NIEUN
+  {0xC2E1, 0xCB50}, //11297 #HANGUL SYLLABLE SSANGCIEUC U RIEUL
+  {0xC2E2, 0xCB58}, //11298 #HANGUL SYLLABLE SSANGCIEUC U MIEUM
+  {0xC2E3, 0xCB59}, //11299 #HANGUL SYLLABLE SSANGCIEUC U PIEUP
+  {0xC2E4, 0xCB5D}, //11300 #HANGUL SYLLABLE SSANGCIEUC U IEUNG
+  {0xC2E5, 0xCB64}, //11301 #HANGUL SYLLABLE SSANGCIEUC WEO
+  {0xC2E6, 0xCB78}, //11302 #HANGUL SYLLABLE SSANGCIEUC WEO SSANGSIOS
+  {0xC2E7, 0xCB79}, //11303 #HANGUL SYLLABLE SSANGCIEUC WEO IEUNG
+  {0xC2E8, 0xCB9C}, //11304 #HANGUL SYLLABLE SSANGCIEUC WI
+  {0xC2E9, 0xCBB8}, //11305 #HANGUL SYLLABLE SSANGCIEUC YU
+  {0xC2EA, 0xCBD4}, //11306 #HANGUL SYLLABLE SSANGCIEUC EU
+  {0xC2EB, 0xCBE4}, //11307 #HANGUL SYLLABLE SSANGCIEUC EU MIEUM
+  {0xC2EC, 0xCBE7}, //11308 #HANGUL SYLLABLE SSANGCIEUC EU SIOS
+  {0xC2ED, 0xCBE9}, //11309 #HANGUL SYLLABLE SSANGCIEUC EU IEUNG
+  {0xC2EE, 0xCC0C}, //11310 #HANGUL SYLLABLE SSANGCIEUC I
+  {0xC2EF, 0xCC0D}, //11311 #HANGUL SYLLABLE SSANGCIEUC I KIYEOK
+  {0xC2F0, 0xCC10}, //11312 #HANGUL SYLLABLE SSANGCIEUC I NIEUN
+  {0xC2F1, 0xCC14}, //11313 #HANGUL SYLLABLE SSANGCIEUC I RIEUL
+  {0xC2F2, 0xCC1C}, //11314 #HANGUL SYLLABLE SSANGCIEUC I MIEUM
+  {0xC2F3, 0xCC1D}, //11315 #HANGUL SYLLABLE SSANGCIEUC I PIEUP
+  {0xC2F4, 0xCC21}, //11316 #HANGUL SYLLABLE SSANGCIEUC I IEUNG
+  {0xC2F5, 0xCC22}, //11317 #HANGUL SYLLABLE SSANGCIEUC I CIEUC
+  {0xC2F6, 0xCC27}, //11318 #HANGUL SYLLABLE SSANGCIEUC I HIEUH
+  {0xC2F7, 0xCC28}, //11319 #HANGUL SYLLABLE CHIEUCH A
+  {0xC2F8, 0xCC29}, //11320 #HANGUL SYLLABLE CHIEUCH A KIYEOK
+  {0xC2F9, 0xCC2C}, //11321 #HANGUL SYLLABLE CHIEUCH A NIEUN
+  {0xC2FA, 0xCC2E}, //11322 #HANGUL SYLLABLE CHIEUCH A NIEUNHIEUH
+  {0xC2FB, 0xCC30}, //11323 #HANGUL SYLLABLE CHIEUCH A RIEUL
+  {0xC2FC, 0xCC38}, //11324 #HANGUL SYLLABLE CHIEUCH A MIEUM
+  {0xC2FD, 0xCC39}, //11325 #HANGUL SYLLABLE CHIEUCH A PIEUP
+  {0xC2FE, 0xCC3B}, //11326 #HANGUL SYLLABLE CHIEUCH A SIOS
+  {0xC341, 0xD63D}, //11327 #HANGUL SYLLABLE HIEUH O NIEUNCIEUC
+  {0xC342, 0xD63E}, //11328 #HANGUL SYLLABLE HIEUH O NIEUNHIEUH
+  {0xC343, 0xD63F}, //11329 #HANGUL SYLLABLE HIEUH O TIKEUT
+  {0xC344, 0xD641}, //11330 #HANGUL SYLLABLE HIEUH O RIEULKIYEOK
+  {0xC345, 0xD642}, //11331 #HANGUL SYLLABLE HIEUH O RIEULMIEUM
+  {0xC346, 0xD643}, //11332 #HANGUL SYLLABLE HIEUH O RIEULPIEUP
+  {0xC347, 0xD644}, //11333 #HANGUL SYLLABLE HIEUH O RIEULSIOS
+  {0xC348, 0xD646}, //11334 #HANGUL SYLLABLE HIEUH O RIEULPHIEUPH
+  {0xC349, 0xD647}, //11335 #HANGUL SYLLABLE HIEUH O RIEULHIEUH
+  {0xC34A, 0xD64A}, //11336 #HANGUL SYLLABLE HIEUH O PIEUPSIOS
+  {0xC34B, 0xD64C}, //11337 #HANGUL SYLLABLE HIEUH O SSANGSIOS
+  {0xC34C, 0xD64E}, //11338 #HANGUL SYLLABLE HIEUH O CIEUC
+  {0xC34D, 0xD64F}, //11339 #HANGUL SYLLABLE HIEUH O CHIEUCH
+  {0xC34E, 0xD650}, //11340 #HANGUL SYLLABLE HIEUH O KHIEUKH
+  {0xC34F, 0xD652}, //11341 #HANGUL SYLLABLE HIEUH O PHIEUPH
+  {0xC350, 0xD653}, //11342 #HANGUL SYLLABLE HIEUH O HIEUH
+  {0xC351, 0xD656}, //11343 #HANGUL SYLLABLE HIEUH WA SSANGKIYEOK
+  {0xC352, 0xD657}, //11344 #HANGUL SYLLABLE HIEUH WA KIYEOKSIOS
+  {0xC353, 0xD659}, //11345 #HANGUL SYLLABLE HIEUH WA NIEUNCIEUC
+  {0xC354, 0xD65A}, //11346 #HANGUL SYLLABLE HIEUH WA NIEUNHIEUH
+  {0xC355, 0xD65B}, //11347 #HANGUL SYLLABLE HIEUH WA TIKEUT
+  {0xC356, 0xD65D}, //11348 #HANGUL SYLLABLE HIEUH WA RIEULKIYEOK
+  {0xC357, 0xD65E}, //11349 #HANGUL SYLLABLE HIEUH WA RIEULMIEUM
+  {0xC358, 0xD65F}, //11350 #HANGUL SYLLABLE HIEUH WA RIEULPIEUP
+  {0xC359, 0xD660}, //11351 #HANGUL SYLLABLE HIEUH WA RIEULSIOS
+  {0xC35A, 0xD661}, //11352 #HANGUL SYLLABLE HIEUH WA RIEULTHIEUTH
+  {0xC361, 0xD662}, //11353 #HANGUL SYLLABLE HIEUH WA RIEULPHIEUPH
+  {0xC362, 0xD663}, //11354 #HANGUL SYLLABLE HIEUH WA RIEULHIEUH
+  {0xC363, 0xD664}, //11355 #HANGUL SYLLABLE HIEUH WA MIEUM
+  {0xC364, 0xD665}, //11356 #HANGUL SYLLABLE HIEUH WA PIEUP
+  {0xC365, 0xD666}, //11357 #HANGUL SYLLABLE HIEUH WA PIEUPSIOS
+  {0xC366, 0xD668}, //11358 #HANGUL SYLLABLE HIEUH WA SSANGSIOS
+  {0xC367, 0xD66A}, //11359 #HANGUL SYLLABLE HIEUH WA CIEUC
+  {0xC368, 0xD66B}, //11360 #HANGUL SYLLABLE HIEUH WA CHIEUCH
+  {0xC369, 0xD66C}, //11361 #HANGUL SYLLABLE HIEUH WA KHIEUKH
+  {0xC36A, 0xD66D}, //11362 #HANGUL SYLLABLE HIEUH WA THIEUTH
+  {0xC36B, 0xD66E}, //11363 #HANGUL SYLLABLE HIEUH WA PHIEUPH
+  {0xC36C, 0xD66F}, //11364 #HANGUL SYLLABLE HIEUH WA HIEUH
+  {0xC36D, 0xD672}, //11365 #HANGUL SYLLABLE HIEUH WAE SSANGKIYEOK
+  {0xC36E, 0xD673}, //11366 #HANGUL SYLLABLE HIEUH WAE KIYEOKSIOS
+  {0xC36F, 0xD675}, //11367 #HANGUL SYLLABLE HIEUH WAE NIEUNCIEUC
+  {0xC370, 0xD676}, //11368 #HANGUL SYLLABLE HIEUH WAE NIEUNHIEUH
+  {0xC371, 0xD677}, //11369 #HANGUL SYLLABLE HIEUH WAE TIKEUT
+  {0xC372, 0xD678}, //11370 #HANGUL SYLLABLE HIEUH WAE RIEUL
+  {0xC373, 0xD679}, //11371 #HANGUL SYLLABLE HIEUH WAE RIEULKIYEOK
+  {0xC374, 0xD67A}, //11372 #HANGUL SYLLABLE HIEUH WAE RIEULMIEUM
+  {0xC375, 0xD67B}, //11373 #HANGUL SYLLABLE HIEUH WAE RIEULPIEUP
+  {0xC376, 0xD67C}, //11374 #HANGUL SYLLABLE HIEUH WAE RIEULSIOS
+  {0xC377, 0xD67D}, //11375 #HANGUL SYLLABLE HIEUH WAE RIEULTHIEUTH
+  {0xC378, 0xD67E}, //11376 #HANGUL SYLLABLE HIEUH WAE RIEULPHIEUPH
+  {0xC379, 0xD67F}, //11377 #HANGUL SYLLABLE HIEUH WAE RIEULHIEUH
+  {0xC37A, 0xD680}, //11378 #HANGUL SYLLABLE HIEUH WAE MIEUM
+  {0xC381, 0xD681}, //11379 #HANGUL SYLLABLE HIEUH WAE PIEUP
+  {0xC382, 0xD682}, //11380 #HANGUL SYLLABLE HIEUH WAE PIEUPSIOS
+  {0xC383, 0xD684}, //11381 #HANGUL SYLLABLE HIEUH WAE SSANGSIOS
+  {0xC384, 0xD686}, //11382 #HANGUL SYLLABLE HIEUH WAE CIEUC
+  {0xC385, 0xD687}, //11383 #HANGUL SYLLABLE HIEUH WAE CHIEUCH
+  {0xC386, 0xD688}, //11384 #HANGUL SYLLABLE HIEUH WAE KHIEUKH
+  {0xC387, 0xD689}, //11385 #HANGUL SYLLABLE HIEUH WAE THIEUTH
+  {0xC388, 0xD68A}, //11386 #HANGUL SYLLABLE HIEUH WAE PHIEUPH
+  {0xC389, 0xD68B}, //11387 #HANGUL SYLLABLE HIEUH WAE HIEUH
+  {0xC38A, 0xD68E}, //11388 #HANGUL SYLLABLE HIEUH OE SSANGKIYEOK
+  {0xC38B, 0xD68F}, //11389 #HANGUL SYLLABLE HIEUH OE KIYEOKSIOS
+  {0xC38C, 0xD691}, //11390 #HANGUL SYLLABLE HIEUH OE NIEUNCIEUC
+  {0xC38D, 0xD692}, //11391 #HANGUL SYLLABLE HIEUH OE NIEUNHIEUH
+  {0xC38E, 0xD693}, //11392 #HANGUL SYLLABLE HIEUH OE TIKEUT
+  {0xC38F, 0xD695}, //11393 #HANGUL SYLLABLE HIEUH OE RIEULKIYEOK
+  {0xC390, 0xD696}, //11394 #HANGUL SYLLABLE HIEUH OE RIEULMIEUM
+  {0xC391, 0xD697}, //11395 #HANGUL SYLLABLE HIEUH OE RIEULPIEUP
+  {0xC392, 0xD698}, //11396 #HANGUL SYLLABLE HIEUH OE RIEULSIOS
+  {0xC393, 0xD699}, //11397 #HANGUL SYLLABLE HIEUH OE RIEULTHIEUTH
+  {0xC394, 0xD69A}, //11398 #HANGUL SYLLABLE HIEUH OE RIEULPHIEUPH
+  {0xC395, 0xD69B}, //11399 #HANGUL SYLLABLE HIEUH OE RIEULHIEUH
+  {0xC396, 0xD69C}, //11400 #HANGUL SYLLABLE HIEUH OE MIEUM
+  {0xC397, 0xD69E}, //11401 #HANGUL SYLLABLE HIEUH OE PIEUPSIOS
+  {0xC398, 0xD6A0}, //11402 #HANGUL SYLLABLE HIEUH OE SSANGSIOS
+  {0xC399, 0xD6A2}, //11403 #HANGUL SYLLABLE HIEUH OE CIEUC
+  {0xC39A, 0xD6A3}, //11404 #HANGUL SYLLABLE HIEUH OE CHIEUCH
+  {0xC39B, 0xD6A4}, //11405 #HANGUL SYLLABLE HIEUH OE KHIEUKH
+  {0xC39C, 0xD6A5}, //11406 #HANGUL SYLLABLE HIEUH OE THIEUTH
+  {0xC39D, 0xD6A6}, //11407 #HANGUL SYLLABLE HIEUH OE PHIEUPH
+  {0xC39E, 0xD6A7}, //11408 #HANGUL SYLLABLE HIEUH OE HIEUH
+  {0xC39F, 0xD6A9}, //11409 #HANGUL SYLLABLE HIEUH YO KIYEOK
+  {0xC3A0, 0xD6AA}, //11410 #HANGUL SYLLABLE HIEUH YO SSANGKIYEOK
+  {0xC3A1, 0xCC3C}, //11411 #HANGUL SYLLABLE CHIEUCH A SSANGSIOS
+  {0xC3A2, 0xCC3D}, //11412 #HANGUL SYLLABLE CHIEUCH A IEUNG
+  {0xC3A3, 0xCC3E}, //11413 #HANGUL SYLLABLE CHIEUCH A CIEUC
+  {0xC3A4, 0xCC44}, //11414 #HANGUL SYLLABLE CHIEUCH AE
+  {0xC3A5, 0xCC45}, //11415 #HANGUL SYLLABLE CHIEUCH AE KIYEOK
+  {0xC3A6, 0xCC48}, //11416 #HANGUL SYLLABLE CHIEUCH AE NIEUN
+  {0xC3A7, 0xCC4C}, //11417 #HANGUL SYLLABLE CHIEUCH AE RIEUL
+  {0xC3A8, 0xCC54}, //11418 #HANGUL SYLLABLE CHIEUCH AE MIEUM
+  {0xC3A9, 0xCC55}, //11419 #HANGUL SYLLABLE CHIEUCH AE PIEUP
+  {0xC3AA, 0xCC57}, //11420 #HANGUL SYLLABLE CHIEUCH AE SIOS
+  {0xC3AB, 0xCC58}, //11421 #HANGUL SYLLABLE CHIEUCH AE SSANGSIOS
+  {0xC3AC, 0xCC59}, //11422 #HANGUL SYLLABLE CHIEUCH AE IEUNG
+  {0xC3AD, 0xCC60}, //11423 #HANGUL SYLLABLE CHIEUCH YA
+  {0xC3AE, 0xCC64}, //11424 #HANGUL SYLLABLE CHIEUCH YA NIEUN
+  {0xC3AF, 0xCC66}, //11425 #HANGUL SYLLABLE CHIEUCH YA NIEUNHIEUH
+  {0xC3B0, 0xCC68}, //11426 #HANGUL SYLLABLE CHIEUCH YA RIEUL
+  {0xC3B1, 0xCC70}, //11427 #HANGUL SYLLABLE CHIEUCH YA MIEUM
+  {0xC3B2, 0xCC75}, //11428 #HANGUL SYLLABLE CHIEUCH YA IEUNG
+  {0xC3B3, 0xCC98}, //11429 #HANGUL SYLLABLE CHIEUCH EO
+  {0xC3B4, 0xCC99}, //11430 #HANGUL SYLLABLE CHIEUCH EO KIYEOK
+  {0xC3B5, 0xCC9C}, //11431 #HANGUL SYLLABLE CHIEUCH EO NIEUN
+  {0xC3B6, 0xCCA0}, //11432 #HANGUL SYLLABLE CHIEUCH EO RIEUL
+  {0xC3B7, 0xCCA8}, //11433 #HANGUL SYLLABLE CHIEUCH EO MIEUM
+  {0xC3B8, 0xCCA9}, //11434 #HANGUL SYLLABLE CHIEUCH EO PIEUP
+  {0xC3B9, 0xCCAB}, //11435 #HANGUL SYLLABLE CHIEUCH EO SIOS
+  {0xC3BA, 0xCCAC}, //11436 #HANGUL SYLLABLE CHIEUCH EO SSANGSIOS
+  {0xC3BB, 0xCCAD}, //11437 #HANGUL SYLLABLE CHIEUCH EO IEUNG
+  {0xC3BC, 0xCCB4}, //11438 #HANGUL SYLLABLE CHIEUCH E
+  {0xC3BD, 0xCCB5}, //11439 #HANGUL SYLLABLE CHIEUCH E KIYEOK
+  {0xC3BE, 0xCCB8}, //11440 #HANGUL SYLLABLE CHIEUCH E NIEUN
+  {0xC3BF, 0xCCBC}, //11441 #HANGUL SYLLABLE CHIEUCH E RIEUL
+  {0xC3C0, 0xCCC4}, //11442 #HANGUL SYLLABLE CHIEUCH E MIEUM
+  {0xC3C1, 0xCCC5}, //11443 #HANGUL SYLLABLE CHIEUCH E PIEUP
+  {0xC3C2, 0xCCC7}, //11444 #HANGUL SYLLABLE CHIEUCH E SIOS
+  {0xC3C3, 0xCCC9}, //11445 #HANGUL SYLLABLE CHIEUCH E IEUNG
+  {0xC3C4, 0xCCD0}, //11446 #HANGUL SYLLABLE CHIEUCH YEO
+  {0xC3C5, 0xCCD4}, //11447 #HANGUL SYLLABLE CHIEUCH YEO NIEUN
+  {0xC3C6, 0xCCE4}, //11448 #HANGUL SYLLABLE CHIEUCH YEO SSANGSIOS
+  {0xC3C7, 0xCCEC}, //11449 #HANGUL SYLLABLE CHIEUCH YE
+  {0xC3C8, 0xCCF0}, //11450 #HANGUL SYLLABLE CHIEUCH YE NIEUN
+  {0xC3C9, 0xCD01}, //11451 #HANGUL SYLLABLE CHIEUCH YE IEUNG
+  {0xC3CA, 0xCD08}, //11452 #HANGUL SYLLABLE CHIEUCH O
+  {0xC3CB, 0xCD09}, //11453 #HANGUL SYLLABLE CHIEUCH O KIYEOK
+  {0xC3CC, 0xCD0C}, //11454 #HANGUL SYLLABLE CHIEUCH O NIEUN
+  {0xC3CD, 0xCD10}, //11455 #HANGUL SYLLABLE CHIEUCH O RIEUL
+  {0xC3CE, 0xCD18}, //11456 #HANGUL SYLLABLE CHIEUCH O MIEUM
+  {0xC3CF, 0xCD19}, //11457 #HANGUL SYLLABLE CHIEUCH O PIEUP
+  {0xC3D0, 0xCD1B}, //11458 #HANGUL SYLLABLE CHIEUCH O SIOS
+  {0xC3D1, 0xCD1D}, //11459 #HANGUL SYLLABLE CHIEUCH O IEUNG
+  {0xC3D2, 0xCD24}, //11460 #HANGUL SYLLABLE CHIEUCH WA
+  {0xC3D3, 0xCD28}, //11461 #HANGUL SYLLABLE CHIEUCH WA NIEUN
+  {0xC3D4, 0xCD2C}, //11462 #HANGUL SYLLABLE CHIEUCH WA RIEUL
+  {0xC3D5, 0xCD39}, //11463 #HANGUL SYLLABLE CHIEUCH WA IEUNG
+  {0xC3D6, 0xCD5C}, //11464 #HANGUL SYLLABLE CHIEUCH OE
+  {0xC3D7, 0xCD60}, //11465 #HANGUL SYLLABLE CHIEUCH OE NIEUN
+  {0xC3D8, 0xCD64}, //11466 #HANGUL SYLLABLE CHIEUCH OE RIEUL
+  {0xC3D9, 0xCD6C}, //11467 #HANGUL SYLLABLE CHIEUCH OE MIEUM
+  {0xC3DA, 0xCD6D}, //11468 #HANGUL SYLLABLE CHIEUCH OE PIEUP
+  {0xC3DB, 0xCD6F}, //11469 #HANGUL SYLLABLE CHIEUCH OE SIOS
+  {0xC3DC, 0xCD71}, //11470 #HANGUL SYLLABLE CHIEUCH OE IEUNG
+  {0xC3DD, 0xCD78}, //11471 #HANGUL SYLLABLE CHIEUCH YO
+  {0xC3DE, 0xCD88}, //11472 #HANGUL SYLLABLE CHIEUCH YO MIEUM
+  {0xC3DF, 0xCD94}, //11473 #HANGUL SYLLABLE CHIEUCH U
+  {0xC3E0, 0xCD95}, //11474 #HANGUL SYLLABLE CHIEUCH U KIYEOK
+  {0xC3E1, 0xCD98}, //11475 #HANGUL SYLLABLE CHIEUCH U NIEUN
+  {0xC3E2, 0xCD9C}, //11476 #HANGUL SYLLABLE CHIEUCH U RIEUL
+  {0xC3E3, 0xCDA4}, //11477 #HANGUL SYLLABLE CHIEUCH U MIEUM
+  {0xC3E4, 0xCDA5}, //11478 #HANGUL SYLLABLE CHIEUCH U PIEUP
+  {0xC3E5, 0xCDA7}, //11479 #HANGUL SYLLABLE CHIEUCH U SIOS
+  {0xC3E6, 0xCDA9}, //11480 #HANGUL SYLLABLE CHIEUCH U IEUNG
+  {0xC3E7, 0xCDB0}, //11481 #HANGUL SYLLABLE CHIEUCH WEO
+  {0xC3E8, 0xCDC4}, //11482 #HANGUL SYLLABLE CHIEUCH WEO SSANGSIOS
+  {0xC3E9, 0xCDCC}, //11483 #HANGUL SYLLABLE CHIEUCH WE
+  {0xC3EA, 0xCDD0}, //11484 #HANGUL SYLLABLE CHIEUCH WE NIEUN
+  {0xC3EB, 0xCDE8}, //11485 #HANGUL SYLLABLE CHIEUCH WI
+  {0xC3EC, 0xCDEC}, //11486 #HANGUL SYLLABLE CHIEUCH WI NIEUN
+  {0xC3ED, 0xCDF0}, //11487 #HANGUL SYLLABLE CHIEUCH WI RIEUL
+  {0xC3EE, 0xCDF8}, //11488 #HANGUL SYLLABLE CHIEUCH WI MIEUM
+  {0xC3EF, 0xCDF9}, //11489 #HANGUL SYLLABLE CHIEUCH WI PIEUP
+  {0xC3F0, 0xCDFB}, //11490 #HANGUL SYLLABLE CHIEUCH WI SIOS
+  {0xC3F1, 0xCDFD}, //11491 #HANGUL SYLLABLE CHIEUCH WI IEUNG
+  {0xC3F2, 0xCE04}, //11492 #HANGUL SYLLABLE CHIEUCH YU
+  {0xC3F3, 0xCE08}, //11493 #HANGUL SYLLABLE CHIEUCH YU NIEUN
+  {0xC3F4, 0xCE0C}, //11494 #HANGUL SYLLABLE CHIEUCH YU RIEUL
+  {0xC3F5, 0xCE14}, //11495 #HANGUL SYLLABLE CHIEUCH YU MIEUM
+  {0xC3F6, 0xCE19}, //11496 #HANGUL SYLLABLE CHIEUCH YU IEUNG
+  {0xC3F7, 0xCE20}, //11497 #HANGUL SYLLABLE CHIEUCH EU
+  {0xC3F8, 0xCE21}, //11498 #HANGUL SYLLABLE CHIEUCH EU KIYEOK
+  {0xC3F9, 0xCE24}, //11499 #HANGUL SYLLABLE CHIEUCH EU NIEUN
+  {0xC3FA, 0xCE28}, //11500 #HANGUL SYLLABLE CHIEUCH EU RIEUL
+  {0xC3FB, 0xCE30}, //11501 #HANGUL SYLLABLE CHIEUCH EU MIEUM
+  {0xC3FC, 0xCE31}, //11502 #HANGUL SYLLABLE CHIEUCH EU PIEUP
+  {0xC3FD, 0xCE33}, //11503 #HANGUL SYLLABLE CHIEUCH EU SIOS
+  {0xC3FE, 0xCE35}, //11504 #HANGUL SYLLABLE CHIEUCH EU IEUNG
+  {0xC441, 0xD6AB}, //11505 #HANGUL SYLLABLE HIEUH YO KIYEOKSIOS
+  {0xC442, 0xD6AD}, //11506 #HANGUL SYLLABLE HIEUH YO NIEUNCIEUC
+  {0xC443, 0xD6AE}, //11507 #HANGUL SYLLABLE HIEUH YO NIEUNHIEUH
+  {0xC444, 0xD6AF}, //11508 #HANGUL SYLLABLE HIEUH YO TIKEUT
+  {0xC445, 0xD6B1}, //11509 #HANGUL SYLLABLE HIEUH YO RIEULKIYEOK
+  {0xC446, 0xD6B2}, //11510 #HANGUL SYLLABLE HIEUH YO RIEULMIEUM
+  {0xC447, 0xD6B3}, //11511 #HANGUL SYLLABLE HIEUH YO RIEULPIEUP
+  {0xC448, 0xD6B4}, //11512 #HANGUL SYLLABLE HIEUH YO RIEULSIOS
+  {0xC449, 0xD6B5}, //11513 #HANGUL SYLLABLE HIEUH YO RIEULTHIEUTH
+  {0xC44A, 0xD6B6}, //11514 #HANGUL SYLLABLE HIEUH YO RIEULPHIEUPH
+  {0xC44B, 0xD6B7}, //11515 #HANGUL SYLLABLE HIEUH YO RIEULHIEUH
+  {0xC44C, 0xD6B8}, //11516 #HANGUL SYLLABLE HIEUH YO MIEUM
+  {0xC44D, 0xD6BA}, //11517 #HANGUL SYLLABLE HIEUH YO PIEUPSIOS
+  {0xC44E, 0xD6BC}, //11518 #HANGUL SYLLABLE HIEUH YO SSANGSIOS
+  {0xC44F, 0xD6BD}, //11519 #HANGUL SYLLABLE HIEUH YO IEUNG
+  {0xC450, 0xD6BE}, //11520 #HANGUL SYLLABLE HIEUH YO CIEUC
+  {0xC451, 0xD6BF}, //11521 #HANGUL SYLLABLE HIEUH YO CHIEUCH
+  {0xC452, 0xD6C0}, //11522 #HANGUL SYLLABLE HIEUH YO KHIEUKH
+  {0xC453, 0xD6C1}, //11523 #HANGUL SYLLABLE HIEUH YO THIEUTH
+  {0xC454, 0xD6C2}, //11524 #HANGUL SYLLABLE HIEUH YO PHIEUPH
+  {0xC455, 0xD6C3}, //11525 #HANGUL SYLLABLE HIEUH YO HIEUH
+  {0xC456, 0xD6C6}, //11526 #HANGUL SYLLABLE HIEUH U SSANGKIYEOK
+  {0xC457, 0xD6C7}, //11527 #HANGUL SYLLABLE HIEUH U KIYEOKSIOS
+  {0xC458, 0xD6C9}, //11528 #HANGUL SYLLABLE HIEUH U NIEUNCIEUC
+  {0xC459, 0xD6CA}, //11529 #HANGUL SYLLABLE HIEUH U NIEUNHIEUH
+  {0xC45A, 0xD6CB}, //11530 #HANGUL SYLLABLE HIEUH U TIKEUT
+  {0xC461, 0xD6CD}, //11531 #HANGUL SYLLABLE HIEUH U RIEULKIYEOK
+  {0xC462, 0xD6CE}, //11532 #HANGUL SYLLABLE HIEUH U RIEULMIEUM
+  {0xC463, 0xD6CF}, //11533 #HANGUL SYLLABLE HIEUH U RIEULPIEUP
+  {0xC464, 0xD6D0}, //11534 #HANGUL SYLLABLE HIEUH U RIEULSIOS
+  {0xC465, 0xD6D2}, //11535 #HANGUL SYLLABLE HIEUH U RIEULPHIEUPH
+  {0xC466, 0xD6D3}, //11536 #HANGUL SYLLABLE HIEUH U RIEULHIEUH
+  {0xC467, 0xD6D5}, //11537 #HANGUL SYLLABLE HIEUH U PIEUP
+  {0xC468, 0xD6D6}, //11538 #HANGUL SYLLABLE HIEUH U PIEUPSIOS
+  {0xC469, 0xD6D8}, //11539 #HANGUL SYLLABLE HIEUH U SSANGSIOS
+  {0xC46A, 0xD6DA}, //11540 #HANGUL SYLLABLE HIEUH U CIEUC
+  {0xC46B, 0xD6DB}, //11541 #HANGUL SYLLABLE HIEUH U CHIEUCH
+  {0xC46C, 0xD6DC}, //11542 #HANGUL SYLLABLE HIEUH U KHIEUKH
+  {0xC46D, 0xD6DD}, //11543 #HANGUL SYLLABLE HIEUH U THIEUTH
+  {0xC46E, 0xD6DE}, //11544 #HANGUL SYLLABLE HIEUH U PHIEUPH
+  {0xC46F, 0xD6DF}, //11545 #HANGUL SYLLABLE HIEUH U HIEUH
+  {0xC470, 0xD6E1}, //11546 #HANGUL SYLLABLE HIEUH WEO KIYEOK
+  {0xC471, 0xD6E2}, //11547 #HANGUL SYLLABLE HIEUH WEO SSANGKIYEOK
+  {0xC472, 0xD6E3}, //11548 #HANGUL SYLLABLE HIEUH WEO KIYEOKSIOS
+  {0xC473, 0xD6E5}, //11549 #HANGUL SYLLABLE HIEUH WEO NIEUNCIEUC
+  {0xC474, 0xD6E6}, //11550 #HANGUL SYLLABLE HIEUH WEO NIEUNHIEUH
+  {0xC475, 0xD6E7}, //11551 #HANGUL SYLLABLE HIEUH WEO TIKEUT
+  {0xC476, 0xD6E9}, //11552 #HANGUL SYLLABLE HIEUH WEO RIEULKIYEOK
+  {0xC477, 0xD6EA}, //11553 #HANGUL SYLLABLE HIEUH WEO RIEULMIEUM
+  {0xC478, 0xD6EB}, //11554 #HANGUL SYLLABLE HIEUH WEO RIEULPIEUP
+  {0xC479, 0xD6EC}, //11555 #HANGUL SYLLABLE HIEUH WEO RIEULSIOS
+  {0xC47A, 0xD6ED}, //11556 #HANGUL SYLLABLE HIEUH WEO RIEULTHIEUTH
+  {0xC481, 0xD6EE}, //11557 #HANGUL SYLLABLE HIEUH WEO RIEULPHIEUPH
+  {0xC482, 0xD6EF}, //11558 #HANGUL SYLLABLE HIEUH WEO RIEULHIEUH
+  {0xC483, 0xD6F1}, //11559 #HANGUL SYLLABLE HIEUH WEO PIEUP
+  {0xC484, 0xD6F2}, //11560 #HANGUL SYLLABLE HIEUH WEO PIEUPSIOS
+  {0xC485, 0xD6F3}, //11561 #HANGUL SYLLABLE HIEUH WEO SIOS
+  {0xC486, 0xD6F4}, //11562 #HANGUL SYLLABLE HIEUH WEO SSANGSIOS
+  {0xC487, 0xD6F6}, //11563 #HANGUL SYLLABLE HIEUH WEO CIEUC
+  {0xC488, 0xD6F7}, //11564 #HANGUL SYLLABLE HIEUH WEO CHIEUCH
+  {0xC489, 0xD6F8}, //11565 #HANGUL SYLLABLE HIEUH WEO KHIEUKH
+  {0xC48A, 0xD6F9}, //11566 #HANGUL SYLLABLE HIEUH WEO THIEUTH
+  {0xC48B, 0xD6FA}, //11567 #HANGUL SYLLABLE HIEUH WEO PHIEUPH
+  {0xC48C, 0xD6FB}, //11568 #HANGUL SYLLABLE HIEUH WEO HIEUH
+  {0xC48D, 0xD6FE}, //11569 #HANGUL SYLLABLE HIEUH WE SSANGKIYEOK
+  {0xC48E, 0xD6FF}, //11570 #HANGUL SYLLABLE HIEUH WE KIYEOKSIOS
+  {0xC48F, 0xD701}, //11571 #HANGUL SYLLABLE HIEUH WE NIEUNCIEUC
+  {0xC490, 0xD702}, //11572 #HANGUL SYLLABLE HIEUH WE NIEUNHIEUH
+  {0xC491, 0xD703}, //11573 #HANGUL SYLLABLE HIEUH WE TIKEUT
+  {0xC492, 0xD705}, //11574 #HANGUL SYLLABLE HIEUH WE RIEULKIYEOK
+  {0xC493, 0xD706}, //11575 #HANGUL SYLLABLE HIEUH WE RIEULMIEUM
+  {0xC494, 0xD707}, //11576 #HANGUL SYLLABLE HIEUH WE RIEULPIEUP
+  {0xC495, 0xD708}, //11577 #HANGUL SYLLABLE HIEUH WE RIEULSIOS
+  {0xC496, 0xD709}, //11578 #HANGUL SYLLABLE HIEUH WE RIEULTHIEUTH
+  {0xC497, 0xD70A}, //11579 #HANGUL SYLLABLE HIEUH WE RIEULPHIEUPH
+  {0xC498, 0xD70B}, //11580 #HANGUL SYLLABLE HIEUH WE RIEULHIEUH
+  {0xC499, 0xD70C}, //11581 #HANGUL SYLLABLE HIEUH WE MIEUM
+  {0xC49A, 0xD70D}, //11582 #HANGUL SYLLABLE HIEUH WE PIEUP
+  {0xC49B, 0xD70E}, //11583 #HANGUL SYLLABLE HIEUH WE PIEUPSIOS
+  {0xC49C, 0xD70F}, //11584 #HANGUL SYLLABLE HIEUH WE SIOS
+  {0xC49D, 0xD710}, //11585 #HANGUL SYLLABLE HIEUH WE SSANGSIOS
+  {0xC49E, 0xD712}, //11586 #HANGUL SYLLABLE HIEUH WE CIEUC
+  {0xC49F, 0xD713}, //11587 #HANGUL SYLLABLE HIEUH WE CHIEUCH
+  {0xC4A0, 0xD714}, //11588 #HANGUL SYLLABLE HIEUH WE KHIEUKH
+  {0xC4A1, 0xCE58}, //11589 #HANGUL SYLLABLE CHIEUCH I
+  {0xC4A2, 0xCE59}, //11590 #HANGUL SYLLABLE CHIEUCH I KIYEOK
+  {0xC4A3, 0xCE5C}, //11591 #HANGUL SYLLABLE CHIEUCH I NIEUN
+  {0xC4A4, 0xCE5F}, //11592 #HANGUL SYLLABLE CHIEUCH I TIKEUT
+  {0xC4A5, 0xCE60}, //11593 #HANGUL SYLLABLE CHIEUCH I RIEUL
+  {0xC4A6, 0xCE61}, //11594 #HANGUL SYLLABLE CHIEUCH I RIEULKIYEOK
+  {0xC4A7, 0xCE68}, //11595 #HANGUL SYLLABLE CHIEUCH I MIEUM
+  {0xC4A8, 0xCE69}, //11596 #HANGUL SYLLABLE CHIEUCH I PIEUP
+  {0xC4A9, 0xCE6B}, //11597 #HANGUL SYLLABLE CHIEUCH I SIOS
+  {0xC4AA, 0xCE6D}, //11598 #HANGUL SYLLABLE CHIEUCH I IEUNG
+  {0xC4AB, 0xCE74}, //11599 #HANGUL SYLLABLE KHIEUKH A
+  {0xC4AC, 0xCE75}, //11600 #HANGUL SYLLABLE KHIEUKH A KIYEOK
+  {0xC4AD, 0xCE78}, //11601 #HANGUL SYLLABLE KHIEUKH A NIEUN
+  {0xC4AE, 0xCE7C}, //11602 #HANGUL SYLLABLE KHIEUKH A RIEUL
+  {0xC4AF, 0xCE84}, //11603 #HANGUL SYLLABLE KHIEUKH A MIEUM
+  {0xC4B0, 0xCE85}, //11604 #HANGUL SYLLABLE KHIEUKH A PIEUP
+  {0xC4B1, 0xCE87}, //11605 #HANGUL SYLLABLE KHIEUKH A SIOS
+  {0xC4B2, 0xCE89}, //11606 #HANGUL SYLLABLE KHIEUKH A IEUNG
+  {0xC4B3, 0xCE90}, //11607 #HANGUL SYLLABLE KHIEUKH AE
+  {0xC4B4, 0xCE91}, //11608 #HANGUL SYLLABLE KHIEUKH AE KIYEOK
+  {0xC4B5, 0xCE94}, //11609 #HANGUL SYLLABLE KHIEUKH AE NIEUN
+  {0xC4B6, 0xCE98}, //11610 #HANGUL SYLLABLE KHIEUKH AE RIEUL
+  {0xC4B7, 0xCEA0}, //11611 #HANGUL SYLLABLE KHIEUKH AE MIEUM
+  {0xC4B8, 0xCEA1}, //11612 #HANGUL SYLLABLE KHIEUKH AE PIEUP
+  {0xC4B9, 0xCEA3}, //11613 #HANGUL SYLLABLE KHIEUKH AE SIOS
+  {0xC4BA, 0xCEA4}, //11614 #HANGUL SYLLABLE KHIEUKH AE SSANGSIOS
+  {0xC4BB, 0xCEA5}, //11615 #HANGUL SYLLABLE KHIEUKH AE IEUNG
+  {0xC4BC, 0xCEAC}, //11616 #HANGUL SYLLABLE KHIEUKH YA
+  {0xC4BD, 0xCEAD}, //11617 #HANGUL SYLLABLE KHIEUKH YA KIYEOK
+  {0xC4BE, 0xCEC1}, //11618 #HANGUL SYLLABLE KHIEUKH YA IEUNG
+  {0xC4BF, 0xCEE4}, //11619 #HANGUL SYLLABLE KHIEUKH EO
+  {0xC4C0, 0xCEE5}, //11620 #HANGUL SYLLABLE KHIEUKH EO KIYEOK
+  {0xC4C1, 0xCEE8}, //11621 #HANGUL SYLLABLE KHIEUKH EO NIEUN
+  {0xC4C2, 0xCEEB}, //11622 #HANGUL SYLLABLE KHIEUKH EO TIKEUT
+  {0xC4C3, 0xCEEC}, //11623 #HANGUL SYLLABLE KHIEUKH EO RIEUL
+  {0xC4C4, 0xCEF4}, //11624 #HANGUL SYLLABLE KHIEUKH EO MIEUM
+  {0xC4C5, 0xCEF5}, //11625 #HANGUL SYLLABLE KHIEUKH EO PIEUP
+  {0xC4C6, 0xCEF7}, //11626 #HANGUL SYLLABLE KHIEUKH EO SIOS
+  {0xC4C7, 0xCEF8}, //11627 #HANGUL SYLLABLE KHIEUKH EO SSANGSIOS
+  {0xC4C8, 0xCEF9}, //11628 #HANGUL SYLLABLE KHIEUKH EO IEUNG
+  {0xC4C9, 0xCF00}, //11629 #HANGUL SYLLABLE KHIEUKH E
+  {0xC4CA, 0xCF01}, //11630 #HANGUL SYLLABLE KHIEUKH E KIYEOK
+  {0xC4CB, 0xCF04}, //11631 #HANGUL SYLLABLE KHIEUKH E NIEUN
+  {0xC4CC, 0xCF08}, //11632 #HANGUL SYLLABLE KHIEUKH E RIEUL
+  {0xC4CD, 0xCF10}, //11633 #HANGUL SYLLABLE KHIEUKH E MIEUM
+  {0xC4CE, 0xCF11}, //11634 #HANGUL SYLLABLE KHIEUKH E PIEUP
+  {0xC4CF, 0xCF13}, //11635 #HANGUL SYLLABLE KHIEUKH E SIOS
+  {0xC4D0, 0xCF15}, //11636 #HANGUL SYLLABLE KHIEUKH E IEUNG
+  {0xC4D1, 0xCF1C}, //11637 #HANGUL SYLLABLE KHIEUKH YEO
+  {0xC4D2, 0xCF20}, //11638 #HANGUL SYLLABLE KHIEUKH YEO NIEUN
+  {0xC4D3, 0xCF24}, //11639 #HANGUL SYLLABLE KHIEUKH YEO RIEUL
+  {0xC4D4, 0xCF2C}, //11640 #HANGUL SYLLABLE KHIEUKH YEO MIEUM
+  {0xC4D5, 0xCF2D}, //11641 #HANGUL SYLLABLE KHIEUKH YEO PIEUP
+  {0xC4D6, 0xCF2F}, //11642 #HANGUL SYLLABLE KHIEUKH YEO SIOS
+  {0xC4D7, 0xCF30}, //11643 #HANGUL SYLLABLE KHIEUKH YEO SSANGSIOS
+  {0xC4D8, 0xCF31}, //11644 #HANGUL SYLLABLE KHIEUKH YEO IEUNG
+  {0xC4D9, 0xCF38}, //11645 #HANGUL SYLLABLE KHIEUKH YE
+  {0xC4DA, 0xCF54}, //11646 #HANGUL SYLLABLE KHIEUKH O
+  {0xC4DB, 0xCF55}, //11647 #HANGUL SYLLABLE KHIEUKH O KIYEOK
+  {0xC4DC, 0xCF58}, //11648 #HANGUL SYLLABLE KHIEUKH O NIEUN
+  {0xC4DD, 0xCF5C}, //11649 #HANGUL SYLLABLE KHIEUKH O RIEUL
+  {0xC4DE, 0xCF64}, //11650 #HANGUL SYLLABLE KHIEUKH O MIEUM
+  {0xC4DF, 0xCF65}, //11651 #HANGUL SYLLABLE KHIEUKH O PIEUP
+  {0xC4E0, 0xCF67}, //11652 #HANGUL SYLLABLE KHIEUKH O SIOS
+  {0xC4E1, 0xCF69}, //11653 #HANGUL SYLLABLE KHIEUKH O IEUNG
+  {0xC4E2, 0xCF70}, //11654 #HANGUL SYLLABLE KHIEUKH WA
+  {0xC4E3, 0xCF71}, //11655 #HANGUL SYLLABLE KHIEUKH WA KIYEOK
+  {0xC4E4, 0xCF74}, //11656 #HANGUL SYLLABLE KHIEUKH WA NIEUN
+  {0xC4E5, 0xCF78}, //11657 #HANGUL SYLLABLE KHIEUKH WA RIEUL
+  {0xC4E6, 0xCF80}, //11658 #HANGUL SYLLABLE KHIEUKH WA MIEUM
+  {0xC4E7, 0xCF85}, //11659 #HANGUL SYLLABLE KHIEUKH WA IEUNG
+  {0xC4E8, 0xCF8C}, //11660 #HANGUL SYLLABLE KHIEUKH WAE
+  {0xC4E9, 0xCFA1}, //11661 #HANGUL SYLLABLE KHIEUKH WAE IEUNG
+  {0xC4EA, 0xCFA8}, //11662 #HANGUL SYLLABLE KHIEUKH OE
+  {0xC4EB, 0xCFB0}, //11663 #HANGUL SYLLABLE KHIEUKH OE RIEUL
+  {0xC4EC, 0xCFC4}, //11664 #HANGUL SYLLABLE KHIEUKH YO
+  {0xC4ED, 0xCFE0}, //11665 #HANGUL SYLLABLE KHIEUKH U
+  {0xC4EE, 0xCFE1}, //11666 #HANGUL SYLLABLE KHIEUKH U KIYEOK
+  {0xC4EF, 0xCFE4}, //11667 #HANGUL SYLLABLE KHIEUKH U NIEUN
+  {0xC4F0, 0xCFE8}, //11668 #HANGUL SYLLABLE KHIEUKH U RIEUL
+  {0xC4F1, 0xCFF0}, //11669 #HANGUL SYLLABLE KHIEUKH U MIEUM
+  {0xC4F2, 0xCFF1}, //11670 #HANGUL SYLLABLE KHIEUKH U PIEUP
+  {0xC4F3, 0xCFF3}, //11671 #HANGUL SYLLABLE KHIEUKH U SIOS
+  {0xC4F4, 0xCFF5}, //11672 #HANGUL SYLLABLE KHIEUKH U IEUNG
+  {0xC4F5, 0xCFFC}, //11673 #HANGUL SYLLABLE KHIEUKH WEO
+  {0xC4F6, 0xD000}, //11674 #HANGUL SYLLABLE KHIEUKH WEO NIEUN
+  {0xC4F7, 0xD004}, //11675 #HANGUL SYLLABLE KHIEUKH WEO RIEUL
+  {0xC4F8, 0xD011}, //11676 #HANGUL SYLLABLE KHIEUKH WEO IEUNG
+  {0xC4F9, 0xD018}, //11677 #HANGUL SYLLABLE KHIEUKH WE
+  {0xC4FA, 0xD02D}, //11678 #HANGUL SYLLABLE KHIEUKH WE IEUNG
+  {0xC4FB, 0xD034}, //11679 #HANGUL SYLLABLE KHIEUKH WI
+  {0xC4FC, 0xD035}, //11680 #HANGUL SYLLABLE KHIEUKH WI KIYEOK
+  {0xC4FD, 0xD038}, //11681 #HANGUL SYLLABLE KHIEUKH WI NIEUN
+  {0xC4FE, 0xD03C}, //11682 #HANGUL SYLLABLE KHIEUKH WI RIEUL
+  {0xC541, 0xD715}, //11683 #HANGUL SYLLABLE HIEUH WE THIEUTH
+  {0xC542, 0xD716}, //11684 #HANGUL SYLLABLE HIEUH WE PHIEUPH
+  {0xC543, 0xD717}, //11685 #HANGUL SYLLABLE HIEUH WE HIEUH
+  {0xC544, 0xD71A}, //11686 #HANGUL SYLLABLE HIEUH WI SSANGKIYEOK
+  {0xC545, 0xD71B}, //11687 #HANGUL SYLLABLE HIEUH WI KIYEOKSIOS
+  {0xC546, 0xD71D}, //11688 #HANGUL SYLLABLE HIEUH WI NIEUNCIEUC
+  {0xC547, 0xD71E}, //11689 #HANGUL SYLLABLE HIEUH WI NIEUNHIEUH
+  {0xC548, 0xD71F}, //11690 #HANGUL SYLLABLE HIEUH WI TIKEUT
+  {0xC549, 0xD721}, //11691 #HANGUL SYLLABLE HIEUH WI RIEULKIYEOK
+  {0xC54A, 0xD722}, //11692 #HANGUL SYLLABLE HIEUH WI RIEULMIEUM
+  {0xC54B, 0xD723}, //11693 #HANGUL SYLLABLE HIEUH WI RIEULPIEUP
+  {0xC54C, 0xD724}, //11694 #HANGUL SYLLABLE HIEUH WI RIEULSIOS
+  {0xC54D, 0xD725}, //11695 #HANGUL SYLLABLE HIEUH WI RIEULTHIEUTH
+  {0xC54E, 0xD726}, //11696 #HANGUL SYLLABLE HIEUH WI RIEULPHIEUPH
+  {0xC54F, 0xD727}, //11697 #HANGUL SYLLABLE HIEUH WI RIEULHIEUH
+  {0xC550, 0xD72A}, //11698 #HANGUL SYLLABLE HIEUH WI PIEUPSIOS
+  {0xC551, 0xD72C}, //11699 #HANGUL SYLLABLE HIEUH WI SSANGSIOS
+  {0xC552, 0xD72E}, //11700 #HANGUL SYLLABLE HIEUH WI CIEUC
+  {0xC553, 0xD72F}, //11701 #HANGUL SYLLABLE HIEUH WI CHIEUCH
+  {0xC554, 0xD730}, //11702 #HANGUL SYLLABLE HIEUH WI KHIEUKH
+  {0xC555, 0xD731}, //11703 #HANGUL SYLLABLE HIEUH WI THIEUTH
+  {0xC556, 0xD732}, //11704 #HANGUL SYLLABLE HIEUH WI PHIEUPH
+  {0xC557, 0xD733}, //11705 #HANGUL SYLLABLE HIEUH WI HIEUH
+  {0xC558, 0xD736}, //11706 #HANGUL SYLLABLE HIEUH YU SSANGKIYEOK
+  {0xC559, 0xD737}, //11707 #HANGUL SYLLABLE HIEUH YU KIYEOKSIOS
+  {0xC55A, 0xD739}, //11708 #HANGUL SYLLABLE HIEUH YU NIEUNCIEUC
+  {0xC561, 0xD73A}, //11709 #HANGUL SYLLABLE HIEUH YU NIEUNHIEUH
+  {0xC562, 0xD73B}, //11710 #HANGUL SYLLABLE HIEUH YU TIKEUT
+  {0xC563, 0xD73D}, //11711 #HANGUL SYLLABLE HIEUH YU RIEULKIYEOK
+  {0xC564, 0xD73E}, //11712 #HANGUL SYLLABLE HIEUH YU RIEULMIEUM
+  {0xC565, 0xD73F}, //11713 #HANGUL SYLLABLE HIEUH YU RIEULPIEUP
+  {0xC566, 0xD740}, //11714 #HANGUL SYLLABLE HIEUH YU RIEULSIOS
+  {0xC567, 0xD741}, //11715 #HANGUL SYLLABLE HIEUH YU RIEULTHIEUTH
+  {0xC568, 0xD742}, //11716 #HANGUL SYLLABLE HIEUH YU RIEULPHIEUPH
+  {0xC569, 0xD743}, //11717 #HANGUL SYLLABLE HIEUH YU RIEULHIEUH
+  {0xC56A, 0xD745}, //11718 #HANGUL SYLLABLE HIEUH YU PIEUP
+  {0xC56B, 0xD746}, //11719 #HANGUL SYLLABLE HIEUH YU PIEUPSIOS
+  {0xC56C, 0xD748}, //11720 #HANGUL SYLLABLE HIEUH YU SSANGSIOS
+  {0xC56D, 0xD74A}, //11721 #HANGUL SYLLABLE HIEUH YU CIEUC
+  {0xC56E, 0xD74B}, //11722 #HANGUL SYLLABLE HIEUH YU CHIEUCH
+  {0xC56F, 0xD74C}, //11723 #HANGUL SYLLABLE HIEUH YU KHIEUKH
+  {0xC570, 0xD74D}, //11724 #HANGUL SYLLABLE HIEUH YU THIEUTH
+  {0xC571, 0xD74E}, //11725 #HANGUL SYLLABLE HIEUH YU PHIEUPH
+  {0xC572, 0xD74F}, //11726 #HANGUL SYLLABLE HIEUH YU HIEUH
+  {0xC573, 0xD752}, //11727 #HANGUL SYLLABLE HIEUH EU SSANGKIYEOK
+  {0xC574, 0xD753}, //11728 #HANGUL SYLLABLE HIEUH EU KIYEOKSIOS
+  {0xC575, 0xD755}, //11729 #HANGUL SYLLABLE HIEUH EU NIEUNCIEUC
+  {0xC576, 0xD75A}, //11730 #HANGUL SYLLABLE HIEUH EU RIEULMIEUM
+  {0xC577, 0xD75B}, //11731 #HANGUL SYLLABLE HIEUH EU RIEULPIEUP
+  {0xC578, 0xD75C}, //11732 #HANGUL SYLLABLE HIEUH EU RIEULSIOS
+  {0xC579, 0xD75D}, //11733 #HANGUL SYLLABLE HIEUH EU RIEULTHIEUTH
+  {0xC57A, 0xD75E}, //11734 #HANGUL SYLLABLE HIEUH EU RIEULPHIEUPH
+  {0xC581, 0xD75F}, //11735 #HANGUL SYLLABLE HIEUH EU RIEULHIEUH
+  {0xC582, 0xD762}, //11736 #HANGUL SYLLABLE HIEUH EU PIEUPSIOS
+  {0xC583, 0xD764}, //11737 #HANGUL SYLLABLE HIEUH EU SSANGSIOS
+  {0xC584, 0xD766}, //11738 #HANGUL SYLLABLE HIEUH EU CIEUC
+  {0xC585, 0xD767}, //11739 #HANGUL SYLLABLE HIEUH EU CHIEUCH
+  {0xC586, 0xD768}, //11740 #HANGUL SYLLABLE HIEUH EU KHIEUKH
+  {0xC587, 0xD76A}, //11741 #HANGUL SYLLABLE HIEUH EU PHIEUPH
+  {0xC588, 0xD76B}, //11742 #HANGUL SYLLABLE HIEUH EU HIEUH
+  {0xC589, 0xD76D}, //11743 #HANGUL SYLLABLE HIEUH YI KIYEOK
+  {0xC58A, 0xD76E}, //11744 #HANGUL SYLLABLE HIEUH YI SSANGKIYEOK
+  {0xC58B, 0xD76F}, //11745 #HANGUL SYLLABLE HIEUH YI KIYEOKSIOS
+  {0xC58C, 0xD771}, //11746 #HANGUL SYLLABLE HIEUH YI NIEUNCIEUC
+  {0xC58D, 0xD772}, //11747 #HANGUL SYLLABLE HIEUH YI NIEUNHIEUH
+  {0xC58E, 0xD773}, //11748 #HANGUL SYLLABLE HIEUH YI TIKEUT
+  {0xC58F, 0xD775}, //11749 #HANGUL SYLLABLE HIEUH YI RIEULKIYEOK
+  {0xC590, 0xD776}, //11750 #HANGUL SYLLABLE HIEUH YI RIEULMIEUM
+  {0xC591, 0xD777}, //11751 #HANGUL SYLLABLE HIEUH YI RIEULPIEUP
+  {0xC592, 0xD778}, //11752 #HANGUL SYLLABLE HIEUH YI RIEULSIOS
+  {0xC593, 0xD779}, //11753 #HANGUL SYLLABLE HIEUH YI RIEULTHIEUTH
+  {0xC594, 0xD77A}, //11754 #HANGUL SYLLABLE HIEUH YI RIEULPHIEUPH
+  {0xC595, 0xD77B}, //11755 #HANGUL SYLLABLE HIEUH YI RIEULHIEUH
+  {0xC596, 0xD77E}, //11756 #HANGUL SYLLABLE HIEUH YI PIEUPSIOS
+  {0xC597, 0xD77F}, //11757 #HANGUL SYLLABLE HIEUH YI SIOS
+  {0xC598, 0xD780}, //11758 #HANGUL SYLLABLE HIEUH YI SSANGSIOS
+  {0xC599, 0xD782}, //11759 #HANGUL SYLLABLE HIEUH YI CIEUC
+  {0xC59A, 0xD783}, //11760 #HANGUL SYLLABLE HIEUH YI CHIEUCH
+  {0xC59B, 0xD784}, //11761 #HANGUL SYLLABLE HIEUH YI KHIEUKH
+  {0xC59C, 0xD785}, //11762 #HANGUL SYLLABLE HIEUH YI THIEUTH
+  {0xC59D, 0xD786}, //11763 #HANGUL SYLLABLE HIEUH YI PHIEUPH
+  {0xC59E, 0xD787}, //11764 #HANGUL SYLLABLE HIEUH YI HIEUH
+  {0xC59F, 0xD78A}, //11765 #HANGUL SYLLABLE HIEUH I SSANGKIYEOK
+  {0xC5A0, 0xD78B}, //11766 #HANGUL SYLLABLE HIEUH I KIYEOKSIOS
+  {0xC5A1, 0xD044}, //11767 #HANGUL SYLLABLE KHIEUKH WI MIEUM
+  {0xC5A2, 0xD045}, //11768 #HANGUL SYLLABLE KHIEUKH WI PIEUP
+  {0xC5A3, 0xD047}, //11769 #HANGUL SYLLABLE KHIEUKH WI SIOS
+  {0xC5A4, 0xD049}, //11770 #HANGUL SYLLABLE KHIEUKH WI IEUNG
+  {0xC5A5, 0xD050}, //11771 #HANGUL SYLLABLE KHIEUKH YU
+  {0xC5A6, 0xD054}, //11772 #HANGUL SYLLABLE KHIEUKH YU NIEUN
+  {0xC5A7, 0xD058}, //11773 #HANGUL SYLLABLE KHIEUKH YU RIEUL
+  {0xC5A8, 0xD060}, //11774 #HANGUL SYLLABLE KHIEUKH YU MIEUM
+  {0xC5A9, 0xD06C}, //11775 #HANGUL SYLLABLE KHIEUKH EU
+  {0xC5AA, 0xD06D}, //11776 #HANGUL SYLLABLE KHIEUKH EU KIYEOK
+  {0xC5AB, 0xD070}, //11777 #HANGUL SYLLABLE KHIEUKH EU NIEUN
+  {0xC5AC, 0xD074}, //11778 #HANGUL SYLLABLE KHIEUKH EU RIEUL
+  {0xC5AD, 0xD07C}, //11779 #HANGUL SYLLABLE KHIEUKH EU MIEUM
+  {0xC5AE, 0xD07D}, //11780 #HANGUL SYLLABLE KHIEUKH EU PIEUP
+  {0xC5AF, 0xD081}, //11781 #HANGUL SYLLABLE KHIEUKH EU IEUNG
+  {0xC5B0, 0xD0A4}, //11782 #HANGUL SYLLABLE KHIEUKH I
+  {0xC5B1, 0xD0A5}, //11783 #HANGUL SYLLABLE KHIEUKH I KIYEOK
+  {0xC5B2, 0xD0A8}, //11784 #HANGUL SYLLABLE KHIEUKH I NIEUN
+  {0xC5B3, 0xD0AC}, //11785 #HANGUL SYLLABLE KHIEUKH I RIEUL
+  {0xC5B4, 0xD0B4}, //11786 #HANGUL SYLLABLE KHIEUKH I MIEUM
+  {0xC5B5, 0xD0B5}, //11787 #HANGUL SYLLABLE KHIEUKH I PIEUP
+  {0xC5B6, 0xD0B7}, //11788 #HANGUL SYLLABLE KHIEUKH I SIOS
+  {0xC5B7, 0xD0B9}, //11789 #HANGUL SYLLABLE KHIEUKH I IEUNG
+  {0xC5B8, 0xD0C0}, //11790 #HANGUL SYLLABLE THIEUTH A
+  {0xC5B9, 0xD0C1}, //11791 #HANGUL SYLLABLE THIEUTH A KIYEOK
+  {0xC5BA, 0xD0C4}, //11792 #HANGUL SYLLABLE THIEUTH A NIEUN
+  {0xC5BB, 0xD0C8}, //11793 #HANGUL SYLLABLE THIEUTH A RIEUL
+  {0xC5BC, 0xD0C9}, //11794 #HANGUL SYLLABLE THIEUTH A RIEULKIYEOK
+  {0xC5BD, 0xD0D0}, //11795 #HANGUL SYLLABLE THIEUTH A MIEUM
+  {0xC5BE, 0xD0D1}, //11796 #HANGUL SYLLABLE THIEUTH A PIEUP
+  {0xC5BF, 0xD0D3}, //11797 #HANGUL SYLLABLE THIEUTH A SIOS
+  {0xC5C0, 0xD0D4}, //11798 #HANGUL SYLLABLE THIEUTH A SSANGSIOS
+  {0xC5C1, 0xD0D5}, //11799 #HANGUL SYLLABLE THIEUTH A IEUNG
+  {0xC5C2, 0xD0DC}, //11800 #HANGUL SYLLABLE THIEUTH AE
+  {0xC5C3, 0xD0DD}, //11801 #HANGUL SYLLABLE THIEUTH AE KIYEOK
+  {0xC5C4, 0xD0E0}, //11802 #HANGUL SYLLABLE THIEUTH AE NIEUN
+  {0xC5C5, 0xD0E4}, //11803 #HANGUL SYLLABLE THIEUTH AE RIEUL
+  {0xC5C6, 0xD0EC}, //11804 #HANGUL SYLLABLE THIEUTH AE MIEUM
+  {0xC5C7, 0xD0ED}, //11805 #HANGUL SYLLABLE THIEUTH AE PIEUP
+  {0xC5C8, 0xD0EF}, //11806 #HANGUL SYLLABLE THIEUTH AE SIOS
+  {0xC5C9, 0xD0F0}, //11807 #HANGUL SYLLABLE THIEUTH AE SSANGSIOS
+  {0xC5CA, 0xD0F1}, //11808 #HANGUL SYLLABLE THIEUTH AE IEUNG
+  {0xC5CB, 0xD0F8}, //11809 #HANGUL SYLLABLE THIEUTH YA
+  {0xC5CC, 0xD10D}, //11810 #HANGUL SYLLABLE THIEUTH YA IEUNG
+  {0xC5CD, 0xD130}, //11811 #HANGUL SYLLABLE THIEUTH EO
+  {0xC5CE, 0xD131}, //11812 #HANGUL SYLLABLE THIEUTH EO KIYEOK
+  {0xC5CF, 0xD134}, //11813 #HANGUL SYLLABLE THIEUTH EO NIEUN
+  {0xC5D0, 0xD138}, //11814 #HANGUL SYLLABLE THIEUTH EO RIEUL
+  {0xC5D1, 0xD13A}, //11815 #HANGUL SYLLABLE THIEUTH EO RIEULMIEUM
+  {0xC5D2, 0xD140}, //11816 #HANGUL SYLLABLE THIEUTH EO MIEUM
+  {0xC5D3, 0xD141}, //11817 #HANGUL SYLLABLE THIEUTH EO PIEUP
+  {0xC5D4, 0xD143}, //11818 #HANGUL SYLLABLE THIEUTH EO SIOS
+  {0xC5D5, 0xD144}, //11819 #HANGUL SYLLABLE THIEUTH EO SSANGSIOS
+  {0xC5D6, 0xD145}, //11820 #HANGUL SYLLABLE THIEUTH EO IEUNG
+  {0xC5D7, 0xD14C}, //11821 #HANGUL SYLLABLE THIEUTH E
+  {0xC5D8, 0xD14D}, //11822 #HANGUL SYLLABLE THIEUTH E KIYEOK
+  {0xC5D9, 0xD150}, //11823 #HANGUL SYLLABLE THIEUTH E NIEUN
+  {0xC5DA, 0xD154}, //11824 #HANGUL SYLLABLE THIEUTH E RIEUL
+  {0xC5DB, 0xD15C}, //11825 #HANGUL SYLLABLE THIEUTH E MIEUM
+  {0xC5DC, 0xD15D}, //11826 #HANGUL SYLLABLE THIEUTH E PIEUP
+  {0xC5DD, 0xD15F}, //11827 #HANGUL SYLLABLE THIEUTH E SIOS
+  {0xC5DE, 0xD161}, //11828 #HANGUL SYLLABLE THIEUTH E IEUNG
+  {0xC5DF, 0xD168}, //11829 #HANGUL SYLLABLE THIEUTH YEO
+  {0xC5E0, 0xD16C}, //11830 #HANGUL SYLLABLE THIEUTH YEO NIEUN
+  {0xC5E1, 0xD17C}, //11831 #HANGUL SYLLABLE THIEUTH YEO SSANGSIOS
+  {0xC5E2, 0xD184}, //11832 #HANGUL SYLLABLE THIEUTH YE
+  {0xC5E3, 0xD188}, //11833 #HANGUL SYLLABLE THIEUTH YE NIEUN
+  {0xC5E4, 0xD1A0}, //11834 #HANGUL SYLLABLE THIEUTH O
+  {0xC5E5, 0xD1A1}, //11835 #HANGUL SYLLABLE THIEUTH O KIYEOK
+  {0xC5E6, 0xD1A4}, //11836 #HANGUL SYLLABLE THIEUTH O NIEUN
+  {0xC5E7, 0xD1A8}, //11837 #HANGUL SYLLABLE THIEUTH O RIEUL
+  {0xC5E8, 0xD1B0}, //11838 #HANGUL SYLLABLE THIEUTH O MIEUM
+  {0xC5E9, 0xD1B1}, //11839 #HANGUL SYLLABLE THIEUTH O PIEUP
+  {0xC5EA, 0xD1B3}, //11840 #HANGUL SYLLABLE THIEUTH O SIOS
+  {0xC5EB, 0xD1B5}, //11841 #HANGUL SYLLABLE THIEUTH O IEUNG
+  {0xC5EC, 0xD1BA}, //11842 #HANGUL SYLLABLE THIEUTH O PHIEUPH
+  {0xC5ED, 0xD1BC}, //11843 #HANGUL SYLLABLE THIEUTH WA
+  {0xC5EE, 0xD1C0}, //11844 #HANGUL SYLLABLE THIEUTH WA NIEUN
+  {0xC5EF, 0xD1D8}, //11845 #HANGUL SYLLABLE THIEUTH WAE
+  {0xC5F0, 0xD1F4}, //11846 #HANGUL SYLLABLE THIEUTH OE
+  {0xC5F1, 0xD1F8}, //11847 #HANGUL SYLLABLE THIEUTH OE NIEUN
+  {0xC5F2, 0xD207}, //11848 #HANGUL SYLLABLE THIEUTH OE SIOS
+  {0xC5F3, 0xD209}, //11849 #HANGUL SYLLABLE THIEUTH OE IEUNG
+  {0xC5F4, 0xD210}, //11850 #HANGUL SYLLABLE THIEUTH YO
+  {0xC5F5, 0xD22C}, //11851 #HANGUL SYLLABLE THIEUTH U
+  {0xC5F6, 0xD22D}, //11852 #HANGUL SYLLABLE THIEUTH U KIYEOK
+  {0xC5F7, 0xD230}, //11853 #HANGUL SYLLABLE THIEUTH U NIEUN
+  {0xC5F8, 0xD234}, //11854 #HANGUL SYLLABLE THIEUTH U RIEUL
+  {0xC5F9, 0xD23C}, //11855 #HANGUL SYLLABLE THIEUTH U MIEUM
+  {0xC5FA, 0xD23D}, //11856 #HANGUL SYLLABLE THIEUTH U PIEUP
+  {0xC5FB, 0xD23F}, //11857 #HANGUL SYLLABLE THIEUTH U SIOS
+  {0xC5FC, 0xD241}, //11858 #HANGUL SYLLABLE THIEUTH U IEUNG
+  {0xC5FD, 0xD248}, //11859 #HANGUL SYLLABLE THIEUTH WEO
+  {0xC5FE, 0xD25C}, //11860 #HANGUL SYLLABLE THIEUTH WEO SSANGSIOS
+  {0xC641, 0xD78D}, //11861 #HANGUL SYLLABLE HIEUH I NIEUNCIEUC
+  {0xC642, 0xD78E}, //11862 #HANGUL SYLLABLE HIEUH I NIEUNHIEUH
+  {0xC643, 0xD78F}, //11863 #HANGUL SYLLABLE HIEUH I TIKEUT
+  {0xC644, 0xD791}, //11864 #HANGUL SYLLABLE HIEUH I RIEULKIYEOK
+  {0xC645, 0xD792}, //11865 #HANGUL SYLLABLE HIEUH I RIEULMIEUM
+  {0xC646, 0xD793}, //11866 #HANGUL SYLLABLE HIEUH I RIEULPIEUP
+  {0xC647, 0xD794}, //11867 #HANGUL SYLLABLE HIEUH I RIEULSIOS
+  {0xC648, 0xD795}, //11868 #HANGUL SYLLABLE HIEUH I RIEULTHIEUTH
+  {0xC649, 0xD796}, //11869 #HANGUL SYLLABLE HIEUH I RIEULPHIEUPH
+  {0xC64A, 0xD797}, //11870 #HANGUL SYLLABLE HIEUH I RIEULHIEUH
+  {0xC64B, 0xD79A}, //11871 #HANGUL SYLLABLE HIEUH I PIEUPSIOS
+  {0xC64C, 0xD79C}, //11872 #HANGUL SYLLABLE HIEUH I SSANGSIOS
+  {0xC64D, 0xD79E}, //11873 #HANGUL SYLLABLE HIEUH I CIEUC
+  {0xC64E, 0xD79F}, //11874 #HANGUL SYLLABLE HIEUH I CHIEUCH
+  {0xC64F, 0xD7A0}, //11875 #HANGUL SYLLABLE HIEUH I KHIEUKH
+  {0xC650, 0xD7A1}, //11876 #HANGUL SYLLABLE HIEUH I THIEUTH
+  {0xC651, 0xD7A2}, //11877 #HANGUL SYLLABLE HIEUH I PHIEUPH
+  {0xC652, 0xD7A3}, //11878 #HANGUL SYLLABLE HIEUH I HIEUH
+  {0xC6A1, 0xD264}, //11879 #HANGUL SYLLABLE THIEUTH WE
+  {0xC6A2, 0xD280}, //11880 #HANGUL SYLLABLE THIEUTH WI
+  {0xC6A3, 0xD281}, //11881 #HANGUL SYLLABLE THIEUTH WI KIYEOK
+  {0xC6A4, 0xD284}, //11882 #HANGUL SYLLABLE THIEUTH WI NIEUN
+  {0xC6A5, 0xD288}, //11883 #HANGUL SYLLABLE THIEUTH WI RIEUL
+  {0xC6A6, 0xD290}, //11884 #HANGUL SYLLABLE THIEUTH WI MIEUM
+  {0xC6A7, 0xD291}, //11885 #HANGUL SYLLABLE THIEUTH WI PIEUP
+  {0xC6A8, 0xD295}, //11886 #HANGUL SYLLABLE THIEUTH WI IEUNG
+  {0xC6A9, 0xD29C}, //11887 #HANGUL SYLLABLE THIEUTH YU
+  {0xC6AA, 0xD2A0}, //11888 #HANGUL SYLLABLE THIEUTH YU NIEUN
+  {0xC6AB, 0xD2A4}, //11889 #HANGUL SYLLABLE THIEUTH YU RIEUL
+  {0xC6AC, 0xD2AC}, //11890 #HANGUL SYLLABLE THIEUTH YU MIEUM
+  {0xC6AD, 0xD2B1}, //11891 #HANGUL SYLLABLE THIEUTH YU IEUNG
+  {0xC6AE, 0xD2B8}, //11892 #HANGUL SYLLABLE THIEUTH EU
+  {0xC6AF, 0xD2B9}, //11893 #HANGUL SYLLABLE THIEUTH EU KIYEOK
+  {0xC6B0, 0xD2BC}, //11894 #HANGUL SYLLABLE THIEUTH EU NIEUN
+  {0xC6B1, 0xD2BF}, //11895 #HANGUL SYLLABLE THIEUTH EU TIKEUT
+  {0xC6B2, 0xD2C0}, //11896 #HANGUL SYLLABLE THIEUTH EU RIEUL
+  {0xC6B3, 0xD2C2}, //11897 #HANGUL SYLLABLE THIEUTH EU RIEULMIEUM
+  {0xC6B4, 0xD2C8}, //11898 #HANGUL SYLLABLE THIEUTH EU MIEUM
+  {0xC6B5, 0xD2C9}, //11899 #HANGUL SYLLABLE THIEUTH EU PIEUP
+  {0xC6B6, 0xD2CB}, //11900 #HANGUL SYLLABLE THIEUTH EU SIOS
+  {0xC6B7, 0xD2D4}, //11901 #HANGUL SYLLABLE THIEUTH YI
+  {0xC6B8, 0xD2D8}, //11902 #HANGUL SYLLABLE THIEUTH YI NIEUN
+  {0xC6B9, 0xD2DC}, //11903 #HANGUL SYLLABLE THIEUTH YI RIEUL
+  {0xC6BA, 0xD2E4}, //11904 #HANGUL SYLLABLE THIEUTH YI MIEUM
+  {0xC6BB, 0xD2E5}, //11905 #HANGUL SYLLABLE THIEUTH YI PIEUP
+  {0xC6BC, 0xD2F0}, //11906 #HANGUL SYLLABLE THIEUTH I
+  {0xC6BD, 0xD2F1}, //11907 #HANGUL SYLLABLE THIEUTH I KIYEOK
+  {0xC6BE, 0xD2F4}, //11908 #HANGUL SYLLABLE THIEUTH I NIEUN
+  {0xC6BF, 0xD2F8}, //11909 #HANGUL SYLLABLE THIEUTH I RIEUL
+  {0xC6C0, 0xD300}, //11910 #HANGUL SYLLABLE THIEUTH I MIEUM
+  {0xC6C1, 0xD301}, //11911 #HANGUL SYLLABLE THIEUTH I PIEUP
+  {0xC6C2, 0xD303}, //11912 #HANGUL SYLLABLE THIEUTH I SIOS
+  {0xC6C3, 0xD305}, //11913 #HANGUL SYLLABLE THIEUTH I IEUNG
+  {0xC6C4, 0xD30C}, //11914 #HANGUL SYLLABLE PHIEUPH A
+  {0xC6C5, 0xD30D}, //11915 #HANGUL SYLLABLE PHIEUPH A KIYEOK
+  {0xC6C6, 0xD30E}, //11916 #HANGUL SYLLABLE PHIEUPH A SSANGKIYEOK
+  {0xC6C7, 0xD310}, //11917 #HANGUL SYLLABLE PHIEUPH A NIEUN
+  {0xC6C8, 0xD314}, //11918 #HANGUL SYLLABLE PHIEUPH A RIEUL
+  {0xC6C9, 0xD316}, //11919 #HANGUL SYLLABLE PHIEUPH A RIEULMIEUM
+  {0xC6CA, 0xD31C}, //11920 #HANGUL SYLLABLE PHIEUPH A MIEUM
+  {0xC6CB, 0xD31D}, //11921 #HANGUL SYLLABLE PHIEUPH A PIEUP
+  {0xC6CC, 0xD31F}, //11922 #HANGUL SYLLABLE PHIEUPH A SIOS
+  {0xC6CD, 0xD320}, //11923 #HANGUL SYLLABLE PHIEUPH A SSANGSIOS
+  {0xC6CE, 0xD321}, //11924 #HANGUL SYLLABLE PHIEUPH A IEUNG
+  {0xC6CF, 0xD325}, //11925 #HANGUL SYLLABLE PHIEUPH A THIEUTH
+  {0xC6D0, 0xD328}, //11926 #HANGUL SYLLABLE PHIEUPH AE
+  {0xC6D1, 0xD329}, //11927 #HANGUL SYLLABLE PHIEUPH AE KIYEOK
+  {0xC6D2, 0xD32C}, //11928 #HANGUL SYLLABLE PHIEUPH AE NIEUN
+  {0xC6D3, 0xD330}, //11929 #HANGUL SYLLABLE PHIEUPH AE RIEUL
+  {0xC6D4, 0xD338}, //11930 #HANGUL SYLLABLE PHIEUPH AE MIEUM
+  {0xC6D5, 0xD339}, //11931 #HANGUL SYLLABLE PHIEUPH AE PIEUP
+  {0xC6D6, 0xD33B}, //11932 #HANGUL SYLLABLE PHIEUPH AE SIOS
+  {0xC6D7, 0xD33C}, //11933 #HANGUL SYLLABLE PHIEUPH AE SSANGSIOS
+  {0xC6D8, 0xD33D}, //11934 #HANGUL SYLLABLE PHIEUPH AE IEUNG
+  {0xC6D9, 0xD344}, //11935 #HANGUL SYLLABLE PHIEUPH YA
+  {0xC6DA, 0xD345}, //11936 #HANGUL SYLLABLE PHIEUPH YA KIYEOK
+  {0xC6DB, 0xD37C}, //11937 #HANGUL SYLLABLE PHIEUPH EO
+  {0xC6DC, 0xD37D}, //11938 #HANGUL SYLLABLE PHIEUPH EO KIYEOK
+  {0xC6DD, 0xD380}, //11939 #HANGUL SYLLABLE PHIEUPH EO NIEUN
+  {0xC6DE, 0xD384}, //11940 #HANGUL SYLLABLE PHIEUPH EO RIEUL
+  {0xC6DF, 0xD38C}, //11941 #HANGUL SYLLABLE PHIEUPH EO MIEUM
+  {0xC6E0, 0xD38D}, //11942 #HANGUL SYLLABLE PHIEUPH EO PIEUP
+  {0xC6E1, 0xD38F}, //11943 #HANGUL SYLLABLE PHIEUPH EO SIOS
+  {0xC6E2, 0xD390}, //11944 #HANGUL SYLLABLE PHIEUPH EO SSANGSIOS
+  {0xC6E3, 0xD391}, //11945 #HANGUL SYLLABLE PHIEUPH EO IEUNG
+  {0xC6E4, 0xD398}, //11946 #HANGUL SYLLABLE PHIEUPH E
+  {0xC6E5, 0xD399}, //11947 #HANGUL SYLLABLE PHIEUPH E KIYEOK
+  {0xC6E6, 0xD39C}, //11948 #HANGUL SYLLABLE PHIEUPH E NIEUN
+  {0xC6E7, 0xD3A0}, //11949 #HANGUL SYLLABLE PHIEUPH E RIEUL
+  {0xC6E8, 0xD3A8}, //11950 #HANGUL SYLLABLE PHIEUPH E MIEUM
+  {0xC6E9, 0xD3A9}, //11951 #HANGUL SYLLABLE PHIEUPH E PIEUP
+  {0xC6EA, 0xD3AB}, //11952 #HANGUL SYLLABLE PHIEUPH E SIOS
+  {0xC6EB, 0xD3AD}, //11953 #HANGUL SYLLABLE PHIEUPH E IEUNG
+  {0xC6EC, 0xD3B4}, //11954 #HANGUL SYLLABLE PHIEUPH YEO
+  {0xC6ED, 0xD3B8}, //11955 #HANGUL SYLLABLE PHIEUPH YEO NIEUN
+  {0xC6EE, 0xD3BC}, //11956 #HANGUL SYLLABLE PHIEUPH YEO RIEUL
+  {0xC6EF, 0xD3C4}, //11957 #HANGUL SYLLABLE PHIEUPH YEO MIEUM
+  {0xC6F0, 0xD3C5}, //11958 #HANGUL SYLLABLE PHIEUPH YEO PIEUP
+  {0xC6F1, 0xD3C8}, //11959 #HANGUL SYLLABLE PHIEUPH YEO SSANGSIOS
+  {0xC6F2, 0xD3C9}, //11960 #HANGUL SYLLABLE PHIEUPH YEO IEUNG
+  {0xC6F3, 0xD3D0}, //11961 #HANGUL SYLLABLE PHIEUPH YE
+  {0xC6F4, 0xD3D8}, //11962 #HANGUL SYLLABLE PHIEUPH YE RIEUL
+  {0xC6F5, 0xD3E1}, //11963 #HANGUL SYLLABLE PHIEUPH YE PIEUP
+  {0xC6F6, 0xD3E3}, //11964 #HANGUL SYLLABLE PHIEUPH YE SIOS
+  {0xC6F7, 0xD3EC}, //11965 #HANGUL SYLLABLE PHIEUPH O
+  {0xC6F8, 0xD3ED}, //11966 #HANGUL SYLLABLE PHIEUPH O KIYEOK
+  {0xC6F9, 0xD3F0}, //11967 #HANGUL SYLLABLE PHIEUPH O NIEUN
+  {0xC6FA, 0xD3F4}, //11968 #HANGUL SYLLABLE PHIEUPH O RIEUL
+  {0xC6FB, 0xD3FC}, //11969 #HANGUL SYLLABLE PHIEUPH O MIEUM
+  {0xC6FC, 0xD3FD}, //11970 #HANGUL SYLLABLE PHIEUPH O PIEUP
+  {0xC6FD, 0xD3FF}, //11971 #HANGUL SYLLABLE PHIEUPH O SIOS
+  {0xC6FE, 0xD401}, //11972 #HANGUL SYLLABLE PHIEUPH O IEUNG
+  {0xC7A1, 0xD408}, //11973 #HANGUL SYLLABLE PHIEUPH WA
+  {0xC7A2, 0xD41D}, //11974 #HANGUL SYLLABLE PHIEUPH WA IEUNG
+  {0xC7A3, 0xD440}, //11975 #HANGUL SYLLABLE PHIEUPH OE
+  {0xC7A4, 0xD444}, //11976 #HANGUL SYLLABLE PHIEUPH OE NIEUN
+  {0xC7A5, 0xD45C}, //11977 #HANGUL SYLLABLE PHIEUPH YO
+  {0xC7A6, 0xD460}, //11978 #HANGUL SYLLABLE PHIEUPH YO NIEUN
+  {0xC7A7, 0xD464}, //11979 #HANGUL SYLLABLE PHIEUPH YO RIEUL
+  {0xC7A8, 0xD46D}, //11980 #HANGUL SYLLABLE PHIEUPH YO PIEUP
+  {0xC7A9, 0xD46F}, //11981 #HANGUL SYLLABLE PHIEUPH YO SIOS
+  {0xC7AA, 0xD478}, //11982 #HANGUL SYLLABLE PHIEUPH U
+  {0xC7AB, 0xD479}, //11983 #HANGUL SYLLABLE PHIEUPH U KIYEOK
+  {0xC7AC, 0xD47C}, //11984 #HANGUL SYLLABLE PHIEUPH U NIEUN
+  {0xC7AD, 0xD47F}, //11985 #HANGUL SYLLABLE PHIEUPH U TIKEUT
+  {0xC7AE, 0xD480}, //11986 #HANGUL SYLLABLE PHIEUPH U RIEUL
+  {0xC7AF, 0xD482}, //11987 #HANGUL SYLLABLE PHIEUPH U RIEULMIEUM
+  {0xC7B0, 0xD488}, //11988 #HANGUL SYLLABLE PHIEUPH U MIEUM
+  {0xC7B1, 0xD489}, //11989 #HANGUL SYLLABLE PHIEUPH U PIEUP
+  {0xC7B2, 0xD48B}, //11990 #HANGUL SYLLABLE PHIEUPH U SIOS
+  {0xC7B3, 0xD48D}, //11991 #HANGUL SYLLABLE PHIEUPH U IEUNG
+  {0xC7B4, 0xD494}, //11992 #HANGUL SYLLABLE PHIEUPH WEO
+  {0xC7B5, 0xD4A9}, //11993 #HANGUL SYLLABLE PHIEUPH WEO IEUNG
+  {0xC7B6, 0xD4CC}, //11994 #HANGUL SYLLABLE PHIEUPH WI
+  {0xC7B7, 0xD4D0}, //11995 #HANGUL SYLLABLE PHIEUPH WI NIEUN
+  {0xC7B8, 0xD4D4}, //11996 #HANGUL SYLLABLE PHIEUPH WI RIEUL
+  {0xC7B9, 0xD4DC}, //11997 #HANGUL SYLLABLE PHIEUPH WI MIEUM
+  {0xC7BA, 0xD4DF}, //11998 #HANGUL SYLLABLE PHIEUPH WI SIOS
+  {0xC7BB, 0xD4E8}, //11999 #HANGUL SYLLABLE PHIEUPH YU
+  {0xC7BC, 0xD4EC}, //12000 #HANGUL SYLLABLE PHIEUPH YU NIEUN
+  {0xC7BD, 0xD4F0}, //12001 #HANGUL SYLLABLE PHIEUPH YU RIEUL
+  {0xC7BE, 0xD4F8}, //12002 #HANGUL SYLLABLE PHIEUPH YU MIEUM
+  {0xC7BF, 0xD4FB}, //12003 #HANGUL SYLLABLE PHIEUPH YU SIOS
+  {0xC7C0, 0xD4FD}, //12004 #HANGUL SYLLABLE PHIEUPH YU IEUNG
+  {0xC7C1, 0xD504}, //12005 #HANGUL SYLLABLE PHIEUPH EU
+  {0xC7C2, 0xD508}, //12006 #HANGUL SYLLABLE PHIEUPH EU NIEUN
+  {0xC7C3, 0xD50C}, //12007 #HANGUL SYLLABLE PHIEUPH EU RIEUL
+  {0xC7C4, 0xD514}, //12008 #HANGUL SYLLABLE PHIEUPH EU MIEUM
+  {0xC7C5, 0xD515}, //12009 #HANGUL SYLLABLE PHIEUPH EU PIEUP
+  {0xC7C6, 0xD517}, //12010 #HANGUL SYLLABLE PHIEUPH EU SIOS
+  {0xC7C7, 0xD53C}, //12011 #HANGUL SYLLABLE PHIEUPH I
+  {0xC7C8, 0xD53D}, //12012 #HANGUL SYLLABLE PHIEUPH I KIYEOK
+  {0xC7C9, 0xD540}, //12013 #HANGUL SYLLABLE PHIEUPH I NIEUN
+  {0xC7CA, 0xD544}, //12014 #HANGUL SYLLABLE PHIEUPH I RIEUL
+  {0xC7CB, 0xD54C}, //12015 #HANGUL SYLLABLE PHIEUPH I MIEUM
+  {0xC7CC, 0xD54D}, //12016 #HANGUL SYLLABLE PHIEUPH I PIEUP
+  {0xC7CD, 0xD54F}, //12017 #HANGUL SYLLABLE PHIEUPH I SIOS
+  {0xC7CE, 0xD551}, //12018 #HANGUL SYLLABLE PHIEUPH I IEUNG
+  {0xC7CF, 0xD558}, //12019 #HANGUL SYLLABLE HIEUH A
+  {0xC7D0, 0xD559}, //12020 #HANGUL SYLLABLE HIEUH A KIYEOK
+  {0xC7D1, 0xD55C}, //12021 #HANGUL SYLLABLE HIEUH A NIEUN
+  {0xC7D2, 0xD560}, //12022 #HANGUL SYLLABLE HIEUH A RIEUL
+  {0xC7D3, 0xD565}, //12023 #HANGUL SYLLABLE HIEUH A RIEULTHIEUTH
+  {0xC7D4, 0xD568}, //12024 #HANGUL SYLLABLE HIEUH A MIEUM
+  {0xC7D5, 0xD569}, //12025 #HANGUL SYLLABLE HIEUH A PIEUP
+  {0xC7D6, 0xD56B}, //12026 #HANGUL SYLLABLE HIEUH A SIOS
+  {0xC7D7, 0xD56D}, //12027 #HANGUL SYLLABLE HIEUH A IEUNG
+  {0xC7D8, 0xD574}, //12028 #HANGUL SYLLABLE HIEUH AE
+  {0xC7D9, 0xD575}, //12029 #HANGUL SYLLABLE HIEUH AE KIYEOK
+  {0xC7DA, 0xD578}, //12030 #HANGUL SYLLABLE HIEUH AE NIEUN
+  {0xC7DB, 0xD57C}, //12031 #HANGUL SYLLABLE HIEUH AE RIEUL
+  {0xC7DC, 0xD584}, //12032 #HANGUL SYLLABLE HIEUH AE MIEUM
+  {0xC7DD, 0xD585}, //12033 #HANGUL SYLLABLE HIEUH AE PIEUP
+  {0xC7DE, 0xD587}, //12034 #HANGUL SYLLABLE HIEUH AE SIOS
+  {0xC7DF, 0xD588}, //12035 #HANGUL SYLLABLE HIEUH AE SSANGSIOS
+  {0xC7E0, 0xD589}, //12036 #HANGUL SYLLABLE HIEUH AE IEUNG
+  {0xC7E1, 0xD590}, //12037 #HANGUL SYLLABLE HIEUH YA
+  {0xC7E2, 0xD5A5}, //12038 #HANGUL SYLLABLE HIEUH YA IEUNG
+  {0xC7E3, 0xD5C8}, //12039 #HANGUL SYLLABLE HIEUH EO
+  {0xC7E4, 0xD5C9}, //12040 #HANGUL SYLLABLE HIEUH EO KIYEOK
+  {0xC7E5, 0xD5CC}, //12041 #HANGUL SYLLABLE HIEUH EO NIEUN
+  {0xC7E6, 0xD5D0}, //12042 #HANGUL SYLLABLE HIEUH EO RIEUL
+  {0xC7E7, 0xD5D2}, //12043 #HANGUL SYLLABLE HIEUH EO RIEULMIEUM
+  {0xC7E8, 0xD5D8}, //12044 #HANGUL SYLLABLE HIEUH EO MIEUM
+  {0xC7E9, 0xD5D9}, //12045 #HANGUL SYLLABLE HIEUH EO PIEUP
+  {0xC7EA, 0xD5DB}, //12046 #HANGUL SYLLABLE HIEUH EO SIOS
+  {0xC7EB, 0xD5DD}, //12047 #HANGUL SYLLABLE HIEUH EO IEUNG
+  {0xC7EC, 0xD5E4}, //12048 #HANGUL SYLLABLE HIEUH E
+  {0xC7ED, 0xD5E5}, //12049 #HANGUL SYLLABLE HIEUH E KIYEOK
+  {0xC7EE, 0xD5E8}, //12050 #HANGUL SYLLABLE HIEUH E NIEUN
+  {0xC7EF, 0xD5EC}, //12051 #HANGUL SYLLABLE HIEUH E RIEUL
+  {0xC7F0, 0xD5F4}, //12052 #HANGUL SYLLABLE HIEUH E MIEUM
+  {0xC7F1, 0xD5F5}, //12053 #HANGUL SYLLABLE HIEUH E PIEUP
+  {0xC7F2, 0xD5F7}, //12054 #HANGUL SYLLABLE HIEUH E SIOS
+  {0xC7F3, 0xD5F9}, //12055 #HANGUL SYLLABLE HIEUH E IEUNG
+  {0xC7F4, 0xD600}, //12056 #HANGUL SYLLABLE HIEUH YEO
+  {0xC7F5, 0xD601}, //12057 #HANGUL SYLLABLE HIEUH YEO KIYEOK
+  {0xC7F6, 0xD604}, //12058 #HANGUL SYLLABLE HIEUH YEO NIEUN
+  {0xC7F7, 0xD608}, //12059 #HANGUL SYLLABLE HIEUH YEO RIEUL
+  {0xC7F8, 0xD610}, //12060 #HANGUL SYLLABLE HIEUH YEO MIEUM
+  {0xC7F9, 0xD611}, //12061 #HANGUL SYLLABLE HIEUH YEO PIEUP
+  {0xC7FA, 0xD613}, //12062 #HANGUL SYLLABLE HIEUH YEO SIOS
+  {0xC7FB, 0xD614}, //12063 #HANGUL SYLLABLE HIEUH YEO SSANGSIOS
+  {0xC7FC, 0xD615}, //12064 #HANGUL SYLLABLE HIEUH YEO IEUNG
+  {0xC7FD, 0xD61C}, //12065 #HANGUL SYLLABLE HIEUH YE
+  {0xC7FE, 0xD620}, //12066 #HANGUL SYLLABLE HIEUH YE NIEUN
+  {0xC8A1, 0xD624}, //12067 #HANGUL SYLLABLE HIEUH YE RIEUL
+  {0xC8A2, 0xD62D}, //12068 #HANGUL SYLLABLE HIEUH YE PIEUP
+  {0xC8A3, 0xD638}, //12069 #HANGUL SYLLABLE HIEUH O
+  {0xC8A4, 0xD639}, //12070 #HANGUL SYLLABLE HIEUH O KIYEOK
+  {0xC8A5, 0xD63C}, //12071 #HANGUL SYLLABLE HIEUH O NIEUN
+  {0xC8A6, 0xD640}, //12072 #HANGUL SYLLABLE HIEUH O RIEUL
+  {0xC8A7, 0xD645}, //12073 #HANGUL SYLLABLE HIEUH O RIEULTHIEUTH
+  {0xC8A8, 0xD648}, //12074 #HANGUL SYLLABLE HIEUH O MIEUM
+  {0xC8A9, 0xD649}, //12075 #HANGUL SYLLABLE HIEUH O PIEUP
+  {0xC8AA, 0xD64B}, //12076 #HANGUL SYLLABLE HIEUH O SIOS
+  {0xC8AB, 0xD64D}, //12077 #HANGUL SYLLABLE HIEUH O IEUNG
+  {0xC8AC, 0xD651}, //12078 #HANGUL SYLLABLE HIEUH O THIEUTH
+  {0xC8AD, 0xD654}, //12079 #HANGUL SYLLABLE HIEUH WA
+  {0xC8AE, 0xD655}, //12080 #HANGUL SYLLABLE HIEUH WA KIYEOK
+  {0xC8AF, 0xD658}, //12081 #HANGUL SYLLABLE HIEUH WA NIEUN
+  {0xC8B0, 0xD65C}, //12082 #HANGUL SYLLABLE HIEUH WA RIEUL
+  {0xC8B1, 0xD667}, //12083 #HANGUL SYLLABLE HIEUH WA SIOS
+  {0xC8B2, 0xD669}, //12084 #HANGUL SYLLABLE HIEUH WA IEUNG
+  {0xC8B3, 0xD670}, //12085 #HANGUL SYLLABLE HIEUH WAE
+  {0xC8B4, 0xD671}, //12086 #HANGUL SYLLABLE HIEUH WAE KIYEOK
+  {0xC8B5, 0xD674}, //12087 #HANGUL SYLLABLE HIEUH WAE NIEUN
+  {0xC8B6, 0xD683}, //12088 #HANGUL SYLLABLE HIEUH WAE SIOS
+  {0xC8B7, 0xD685}, //12089 #HANGUL SYLLABLE HIEUH WAE IEUNG
+  {0xC8B8, 0xD68C}, //12090 #HANGUL SYLLABLE HIEUH OE
+  {0xC8B9, 0xD68D}, //12091 #HANGUL SYLLABLE HIEUH OE KIYEOK
+  {0xC8BA, 0xD690}, //12092 #HANGUL SYLLABLE HIEUH OE NIEUN
+  {0xC8BB, 0xD694}, //12093 #HANGUL SYLLABLE HIEUH OE RIEUL
+  {0xC8BC, 0xD69D}, //12094 #HANGUL SYLLABLE HIEUH OE PIEUP
+  {0xC8BD, 0xD69F}, //12095 #HANGUL SYLLABLE HIEUH OE SIOS
+  {0xC8BE, 0xD6A1}, //12096 #HANGUL SYLLABLE HIEUH OE IEUNG
+  {0xC8BF, 0xD6A8}, //12097 #HANGUL SYLLABLE HIEUH YO
+  {0xC8C0, 0xD6AC}, //12098 #HANGUL SYLLABLE HIEUH YO NIEUN
+  {0xC8C1, 0xD6B0}, //12099 #HANGUL SYLLABLE HIEUH YO RIEUL
+  {0xC8C2, 0xD6B9}, //12100 #HANGUL SYLLABLE HIEUH YO PIEUP
+  {0xC8C3, 0xD6BB}, //12101 #HANGUL SYLLABLE HIEUH YO SIOS
+  {0xC8C4, 0xD6C4}, //12102 #HANGUL SYLLABLE HIEUH U
+  {0xC8C5, 0xD6C5}, //12103 #HANGUL SYLLABLE HIEUH U KIYEOK
+  {0xC8C6, 0xD6C8}, //12104 #HANGUL SYLLABLE HIEUH U NIEUN
+  {0xC8C7, 0xD6CC}, //12105 #HANGUL SYLLABLE HIEUH U RIEUL
+  {0xC8C8, 0xD6D1}, //12106 #HANGUL SYLLABLE HIEUH U RIEULTHIEUTH
+  {0xC8C9, 0xD6D4}, //12107 #HANGUL SYLLABLE HIEUH U MIEUM
+  {0xC8CA, 0xD6D7}, //12108 #HANGUL SYLLABLE HIEUH U SIOS
+  {0xC8CB, 0xD6D9}, //12109 #HANGUL SYLLABLE HIEUH U IEUNG
+  {0xC8CC, 0xD6E0}, //12110 #HANGUL SYLLABLE HIEUH WEO
+  {0xC8CD, 0xD6E4}, //12111 #HANGUL SYLLABLE HIEUH WEO NIEUN
+  {0xC8CE, 0xD6E8}, //12112 #HANGUL SYLLABLE HIEUH WEO RIEUL
+  {0xC8CF, 0xD6F0}, //12113 #HANGUL SYLLABLE HIEUH WEO MIEUM
+  {0xC8D0, 0xD6F5}, //12114 #HANGUL SYLLABLE HIEUH WEO IEUNG
+  {0xC8D1, 0xD6FC}, //12115 #HANGUL SYLLABLE HIEUH WE
+  {0xC8D2, 0xD6FD}, //12116 #HANGUL SYLLABLE HIEUH WE KIYEOK
+  {0xC8D3, 0xD700}, //12117 #HANGUL SYLLABLE HIEUH WE NIEUN
+  {0xC8D4, 0xD704}, //12118 #HANGUL SYLLABLE HIEUH WE RIEUL
+  {0xC8D5, 0xD711}, //12119 #HANGUL SYLLABLE HIEUH WE IEUNG
+  {0xC8D6, 0xD718}, //12120 #HANGUL SYLLABLE HIEUH WI
+  {0xC8D7, 0xD719}, //12121 #HANGUL SYLLABLE HIEUH WI KIYEOK
+  {0xC8D8, 0xD71C}, //12122 #HANGUL SYLLABLE HIEUH WI NIEUN
+  {0xC8D9, 0xD720}, //12123 #HANGUL SYLLABLE HIEUH WI RIEUL
+  {0xC8DA, 0xD728}, //12124 #HANGUL SYLLABLE HIEUH WI MIEUM
+  {0xC8DB, 0xD729}, //12125 #HANGUL SYLLABLE HIEUH WI PIEUP
+  {0xC8DC, 0xD72B}, //12126 #HANGUL SYLLABLE HIEUH WI SIOS
+  {0xC8DD, 0xD72D}, //12127 #HANGUL SYLLABLE HIEUH WI IEUNG
+  {0xC8DE, 0xD734}, //12128 #HANGUL SYLLABLE HIEUH YU
+  {0xC8DF, 0xD735}, //12129 #HANGUL SYLLABLE HIEUH YU KIYEOK
+  {0xC8E0, 0xD738}, //12130 #HANGUL SYLLABLE HIEUH YU NIEUN
+  {0xC8E1, 0xD73C}, //12131 #HANGUL SYLLABLE HIEUH YU RIEUL
+  {0xC8E2, 0xD744}, //12132 #HANGUL SYLLABLE HIEUH YU MIEUM
+  {0xC8E3, 0xD747}, //12133 #HANGUL SYLLABLE HIEUH YU SIOS
+  {0xC8E4, 0xD749}, //12134 #HANGUL SYLLABLE HIEUH YU IEUNG
+  {0xC8E5, 0xD750}, //12135 #HANGUL SYLLABLE HIEUH EU
+  {0xC8E6, 0xD751}, //12136 #HANGUL SYLLABLE HIEUH EU KIYEOK
+  {0xC8E7, 0xD754}, //12137 #HANGUL SYLLABLE HIEUH EU NIEUN
+  {0xC8E8, 0xD756}, //12138 #HANGUL SYLLABLE HIEUH EU NIEUNHIEUH
+  {0xC8E9, 0xD757}, //12139 #HANGUL SYLLABLE HIEUH EU TIKEUT
+  {0xC8EA, 0xD758}, //12140 #HANGUL SYLLABLE HIEUH EU RIEUL
+  {0xC8EB, 0xD759}, //12141 #HANGUL SYLLABLE HIEUH EU RIEULKIYEOK
+  {0xC8EC, 0xD760}, //12142 #HANGUL SYLLABLE HIEUH EU MIEUM
+  {0xC8ED, 0xD761}, //12143 #HANGUL SYLLABLE HIEUH EU PIEUP
+  {0xC8EE, 0xD763}, //12144 #HANGUL SYLLABLE HIEUH EU SIOS
+  {0xC8EF, 0xD765}, //12145 #HANGUL SYLLABLE HIEUH EU IEUNG
+  {0xC8F0, 0xD769}, //12146 #HANGUL SYLLABLE HIEUH EU THIEUTH
+  {0xC8F1, 0xD76C}, //12147 #HANGUL SYLLABLE HIEUH YI
+  {0xC8F2, 0xD770}, //12148 #HANGUL SYLLABLE HIEUH YI NIEUN
+  {0xC8F3, 0xD774}, //12149 #HANGUL SYLLABLE HIEUH YI RIEUL
+  {0xC8F4, 0xD77C}, //12150 #HANGUL SYLLABLE HIEUH YI MIEUM
+  {0xC8F5, 0xD77D}, //12151 #HANGUL SYLLABLE HIEUH YI PIEUP
+  {0xC8F6, 0xD781}, //12152 #HANGUL SYLLABLE HIEUH YI IEUNG
+  {0xC8F7, 0xD788}, //12153 #HANGUL SYLLABLE HIEUH I
+  {0xC8F8, 0xD789}, //12154 #HANGUL SYLLABLE HIEUH I KIYEOK
+  {0xC8F9, 0xD78C}, //12155 #HANGUL SYLLABLE HIEUH I NIEUN
+  {0xC8FA, 0xD790}, //12156 #HANGUL SYLLABLE HIEUH I RIEUL
+  {0xC8FB, 0xD798}, //12157 #HANGUL SYLLABLE HIEUH I MIEUM
+  {0xC8FC, 0xD799}, //12158 #HANGUL SYLLABLE HIEUH I PIEUP
+  {0xC8FD, 0xD79B}, //12159 #HANGUL SYLLABLE HIEUH I SIOS
+  {0xC8FE, 0xD79D}, //12160 #HANGUL SYLLABLE HIEUH I IEUNG
+  {0xCAA1, 0x4F3D}, //12161 #CJK UNIFIED IDEOGRAPH
+  {0xCAA2, 0x4F73}, //12162 #CJK UNIFIED IDEOGRAPH
+  {0xCAA3, 0x5047}, //12163 #CJK UNIFIED IDEOGRAPH
+  {0xCAA4, 0x50F9}, //12164 #CJK UNIFIED IDEOGRAPH
+  {0xCAA5, 0x52A0}, //12165 #CJK UNIFIED IDEOGRAPH
+  {0xCAA6, 0x53EF}, //12166 #CJK UNIFIED IDEOGRAPH
+  {0xCAA7, 0x5475}, //12167 #CJK UNIFIED IDEOGRAPH
+  {0xCAA8, 0x54E5}, //12168 #CJK UNIFIED IDEOGRAPH
+  {0xCAA9, 0x5609}, //12169 #CJK UNIFIED IDEOGRAPH
+  {0xCAAA, 0x5AC1}, //12170 #CJK UNIFIED IDEOGRAPH
+  {0xCAAB, 0x5BB6}, //12171 #CJK UNIFIED IDEOGRAPH
+  {0xCAAC, 0x6687}, //12172 #CJK UNIFIED IDEOGRAPH
+  {0xCAAD, 0x67B6}, //12173 #CJK UNIFIED IDEOGRAPH
+  {0xCAAE, 0x67B7}, //12174 #CJK UNIFIED IDEOGRAPH
+  {0xCAAF, 0x67EF}, //12175 #CJK UNIFIED IDEOGRAPH
+  {0xCAB0, 0x6B4C}, //12176 #CJK UNIFIED IDEOGRAPH
+  {0xCAB1, 0x73C2}, //12177 #CJK UNIFIED IDEOGRAPH
+  {0xCAB2, 0x75C2}, //12178 #CJK UNIFIED IDEOGRAPH
+  {0xCAB3, 0x7A3C}, //12179 #CJK UNIFIED IDEOGRAPH
+  {0xCAB4, 0x82DB}, //12180 #CJK UNIFIED IDEOGRAPH
+  {0xCAB5, 0x8304}, //12181 #CJK UNIFIED IDEOGRAPH
+  {0xCAB6, 0x8857}, //12182 #CJK UNIFIED IDEOGRAPH
+  {0xCAB7, 0x8888}, //12183 #CJK UNIFIED IDEOGRAPH
+  {0xCAB8, 0x8A36}, //12184 #CJK UNIFIED IDEOGRAPH
+  {0xCAB9, 0x8CC8}, //12185 #CJK UNIFIED IDEOGRAPH
+  {0xCABA, 0x8DCF}, //12186 #CJK UNIFIED IDEOGRAPH
+  {0xCABB, 0x8EFB}, //12187 #CJK UNIFIED IDEOGRAPH
+  {0xCABC, 0x8FE6}, //12188 #CJK UNIFIED IDEOGRAPH
+  {0xCABD, 0x99D5}, //12189 #CJK UNIFIED IDEOGRAPH
+  {0xCABE, 0x523B}, //12190 #CJK UNIFIED IDEOGRAPH
+  {0xCABF, 0x5374}, //12191 #CJK UNIFIED IDEOGRAPH
+  {0xCAC0, 0x5404}, //12192 #CJK UNIFIED IDEOGRAPH
+  {0xCAC1, 0x606A}, //12193 #CJK UNIFIED IDEOGRAPH
+  {0xCAC2, 0x6164}, //12194 #CJK UNIFIED IDEOGRAPH
+  {0xCAC3, 0x6BBC}, //12195 #CJK UNIFIED IDEOGRAPH
+  {0xCAC4, 0x73CF}, //12196 #CJK UNIFIED IDEOGRAPH
+  {0xCAC5, 0x811A}, //12197 #CJK UNIFIED IDEOGRAPH
+  {0xCAC6, 0x89BA}, //12198 #CJK UNIFIED IDEOGRAPH
+  {0xCAC7, 0x89D2}, //12199 #CJK UNIFIED IDEOGRAPH
+  {0xCAC8, 0x95A3}, //12200 #CJK UNIFIED IDEOGRAPH
+  {0xCAC9, 0x4F83}, //12201 #CJK UNIFIED IDEOGRAPH
+  {0xCACA, 0x520A}, //12202 #CJK UNIFIED IDEOGRAPH
+  {0xCACB, 0x58BE}, //12203 #CJK UNIFIED IDEOGRAPH
+  {0xCACC, 0x5978}, //12204 #CJK UNIFIED IDEOGRAPH
+  {0xCACD, 0x59E6}, //12205 #CJK UNIFIED IDEOGRAPH
+  {0xCACE, 0x5E72}, //12206 #CJK UNIFIED IDEOGRAPH
+  {0xCACF, 0x5E79}, //12207 #CJK UNIFIED IDEOGRAPH
+  {0xCAD0, 0x61C7}, //12208 #CJK UNIFIED IDEOGRAPH
+  {0xCAD1, 0x63C0}, //12209 #CJK UNIFIED IDEOGRAPH
+  {0xCAD2, 0x6746}, //12210 #CJK UNIFIED IDEOGRAPH
+  {0xCAD3, 0x67EC}, //12211 #CJK UNIFIED IDEOGRAPH
+  {0xCAD4, 0x687F}, //12212 #CJK UNIFIED IDEOGRAPH
+  {0xCAD5, 0x6F97}, //12213 #CJK UNIFIED IDEOGRAPH
+  {0xCAD6, 0x764E}, //12214 #CJK UNIFIED IDEOGRAPH
+  {0xCAD7, 0x770B}, //12215 #CJK UNIFIED IDEOGRAPH
+  {0xCAD8, 0x78F5}, //12216 #CJK UNIFIED IDEOGRAPH
+  {0xCAD9, 0x7A08}, //12217 #CJK UNIFIED IDEOGRAPH
+  {0xCADA, 0x7AFF}, //12218 #CJK UNIFIED IDEOGRAPH
+  {0xCADB, 0x7C21}, //12219 #CJK UNIFIED IDEOGRAPH
+  {0xCADC, 0x809D}, //12220 #CJK UNIFIED IDEOGRAPH
+  {0xCADD, 0x826E}, //12221 #CJK UNIFIED IDEOGRAPH
+  {0xCADE, 0x8271}, //12222 #CJK UNIFIED IDEOGRAPH
+  {0xCADF, 0x8AEB}, //12223 #CJK UNIFIED IDEOGRAPH
+  {0xCAE0, 0x9593}, //12224 #CJK UNIFIED IDEOGRAPH
+  {0xCAE1, 0x4E6B}, //12225 #CJK UNIFIED IDEOGRAPH
+  {0xCAE2, 0x559D}, //12226 #CJK UNIFIED IDEOGRAPH
+  {0xCAE3, 0x66F7}, //12227 #CJK UNIFIED IDEOGRAPH
+  {0xCAE4, 0x6E34}, //12228 #CJK UNIFIED IDEOGRAPH
+  {0xCAE5, 0x78A3}, //12229 #CJK UNIFIED IDEOGRAPH
+  {0xCAE6, 0x7AED}, //12230 #CJK UNIFIED IDEOGRAPH
+  {0xCAE7, 0x845B}, //12231 #CJK UNIFIED IDEOGRAPH
+  {0xCAE8, 0x8910}, //12232 #CJK UNIFIED IDEOGRAPH
+  {0xCAE9, 0x874E}, //12233 #CJK UNIFIED IDEOGRAPH
+  {0xCAEA, 0x97A8}, //12234 #CJK UNIFIED IDEOGRAPH
+  {0xCAEB, 0x52D8}, //12235 #CJK UNIFIED IDEOGRAPH
+  {0xCAEC, 0x574E}, //12236 #CJK UNIFIED IDEOGRAPH
+  {0xCAED, 0x582A}, //12237 #CJK UNIFIED IDEOGRAPH
+  {0xCAEE, 0x5D4C}, //12238 #CJK UNIFIED IDEOGRAPH
+  {0xCAEF, 0x611F}, //12239 #CJK UNIFIED IDEOGRAPH
+  {0xCAF0, 0x61BE}, //12240 #CJK UNIFIED IDEOGRAPH
+  {0xCAF1, 0x6221}, //12241 #CJK UNIFIED IDEOGRAPH
+  {0xCAF2, 0x6562}, //12242 #CJK UNIFIED IDEOGRAPH
+  {0xCAF3, 0x67D1}, //12243 #CJK UNIFIED IDEOGRAPH
+  {0xCAF4, 0x6A44}, //12244 #CJK UNIFIED IDEOGRAPH
+  {0xCAF5, 0x6E1B}, //12245 #CJK UNIFIED IDEOGRAPH
+  {0xCAF6, 0x7518}, //12246 #CJK UNIFIED IDEOGRAPH
+  {0xCAF7, 0x75B3}, //12247 #CJK UNIFIED IDEOGRAPH
+  {0xCAF8, 0x76E3}, //12248 #CJK UNIFIED IDEOGRAPH
+  {0xCAF9, 0x77B0}, //12249 #CJK UNIFIED IDEOGRAPH
+  {0xCAFA, 0x7D3A}, //12250 #CJK UNIFIED IDEOGRAPH
+  {0xCAFB, 0x90AF}, //12251 #CJK UNIFIED IDEOGRAPH
+  {0xCAFC, 0x9451}, //12252 #CJK UNIFIED IDEOGRAPH
+  {0xCAFD, 0x9452}, //12253 #CJK UNIFIED IDEOGRAPH
+  {0xCAFE, 0x9F95}, //12254 #CJK UNIFIED IDEOGRAPH
+  {0xCBA1, 0x5323}, //12255 #CJK UNIFIED IDEOGRAPH
+  {0xCBA2, 0x5CAC}, //12256 #CJK UNIFIED IDEOGRAPH
+  {0xCBA3, 0x7532}, //12257 #CJK UNIFIED IDEOGRAPH
+  {0xCBA4, 0x80DB}, //12258 #CJK UNIFIED IDEOGRAPH
+  {0xCBA5, 0x9240}, //12259 #CJK UNIFIED IDEOGRAPH
+  {0xCBA6, 0x9598}, //12260 #CJK UNIFIED IDEOGRAPH
+  {0xCBA7, 0x525B}, //12261 #CJK UNIFIED IDEOGRAPH
+  {0xCBA8, 0x5808}, //12262 #CJK UNIFIED IDEOGRAPH
+  {0xCBA9, 0x59DC}, //12263 #CJK UNIFIED IDEOGRAPH
+  {0xCBAA, 0x5CA1}, //12264 #CJK UNIFIED IDEOGRAPH
+  {0xCBAB, 0x5D17}, //12265 #CJK UNIFIED IDEOGRAPH
+  {0xCBAC, 0x5EB7}, //12266 #CJK UNIFIED IDEOGRAPH
+  {0xCBAD, 0x5F3A}, //12267 #CJK UNIFIED IDEOGRAPH
+  {0xCBAE, 0x5F4A}, //12268 #CJK UNIFIED IDEOGRAPH
+  {0xCBAF, 0x6177}, //12269 #CJK UNIFIED IDEOGRAPH
+  {0xCBB0, 0x6C5F}, //12270 #CJK UNIFIED IDEOGRAPH
+  {0xCBB1, 0x757A}, //12271 #CJK UNIFIED IDEOGRAPH
+  {0xCBB2, 0x7586}, //12272 #CJK UNIFIED IDEOGRAPH
+  {0xCBB3, 0x7CE0}, //12273 #CJK UNIFIED IDEOGRAPH
+  {0xCBB4, 0x7D73}, //12274 #CJK UNIFIED IDEOGRAPH
+  {0xCBB5, 0x7DB1}, //12275 #CJK UNIFIED IDEOGRAPH
+  {0xCBB6, 0x7F8C}, //12276 #CJK UNIFIED IDEOGRAPH
+  {0xCBB7, 0x8154}, //12277 #CJK UNIFIED IDEOGRAPH
+  {0xCBB8, 0x8221}, //12278 #CJK UNIFIED IDEOGRAPH
+  {0xCBB9, 0x8591}, //12279 #CJK UNIFIED IDEOGRAPH
+  {0xCBBA, 0x8941}, //12280 #CJK UNIFIED IDEOGRAPH
+  {0xCBBB, 0x8B1B}, //12281 #CJK UNIFIED IDEOGRAPH
+  {0xCBBC, 0x92FC}, //12282 #CJK UNIFIED IDEOGRAPH
+  {0xCBBD, 0x964D}, //12283 #CJK UNIFIED IDEOGRAPH
+  {0xCBBE, 0x9C47}, //12284 #CJK UNIFIED IDEOGRAPH
+  {0xCBBF, 0x4ECB}, //12285 #CJK UNIFIED IDEOGRAPH
+  {0xCBC0, 0x4EF7}, //12286 #CJK UNIFIED IDEOGRAPH
+  {0xCBC1, 0x500B}, //12287 #CJK UNIFIED IDEOGRAPH
+  {0xCBC2, 0x51F1}, //12288 #CJK UNIFIED IDEOGRAPH
+  {0xCBC3, 0x584F}, //12289 #CJK UNIFIED IDEOGRAPH
+  {0xCBC4, 0x6137}, //12290 #CJK UNIFIED IDEOGRAPH
+  {0xCBC5, 0x613E}, //12291 #CJK UNIFIED IDEOGRAPH
+  {0xCBC6, 0x6168}, //12292 #CJK UNIFIED IDEOGRAPH
+  {0xCBC7, 0x6539}, //12293 #CJK UNIFIED IDEOGRAPH
+  {0xCBC8, 0x69EA}, //12294 #CJK UNIFIED IDEOGRAPH
+  {0xCBC9, 0x6F11}, //12295 #CJK UNIFIED IDEOGRAPH
+  {0xCBCA, 0x75A5}, //12296 #CJK UNIFIED IDEOGRAPH
+  {0xCBCB, 0x7686}, //12297 #CJK UNIFIED IDEOGRAPH
+  {0xCBCC, 0x76D6}, //12298 #CJK UNIFIED IDEOGRAPH
+  {0xCBCD, 0x7B87}, //12299 #CJK UNIFIED IDEOGRAPH
+  {0xCBCE, 0x82A5}, //12300 #CJK UNIFIED IDEOGRAPH
+  {0xCBCF, 0x84CB}, //12301 #CJK UNIFIED IDEOGRAPH
+  {0xCBD0, 0xF900}, //12302 #CJK COMPATIBILITY IDEOGRAPH
+  {0xCBD1, 0x93A7}, //12303 #CJK UNIFIED IDEOGRAPH
+  {0xCBD2, 0x958B}, //12304 #CJK UNIFIED IDEOGRAPH
+  {0xCBD3, 0x5580}, //12305 #CJK UNIFIED IDEOGRAPH
+  {0xCBD4, 0x5BA2}, //12306 #CJK UNIFIED IDEOGRAPH
+  {0xCBD5, 0x5751}, //12307 #CJK UNIFIED IDEOGRAPH
+  {0xCBD6, 0xF901}, //12308 #CJK COMPATIBILITY IDEOGRAPH
+  {0xCBD7, 0x7CB3}, //12309 #CJK UNIFIED IDEOGRAPH
+  {0xCBD8, 0x7FB9}, //12310 #CJK UNIFIED IDEOGRAPH
+  {0xCBD9, 0x91B5}, //12311 #CJK UNIFIED IDEOGRAPH
+  {0xCBDA, 0x5028}, //12312 #CJK UNIFIED IDEOGRAPH
+  {0xCBDB, 0x53BB}, //12313 #CJK UNIFIED IDEOGRAPH
+  {0xCBDC, 0x5C45}, //12314 #CJK UNIFIED IDEOGRAPH
+  {0xCBDD, 0x5DE8}, //12315 #CJK UNIFIED IDEOGRAPH
+  {0xCBDE, 0x62D2}, //12316 #CJK UNIFIED IDEOGRAPH
+  {0xCBDF, 0x636E}, //12317 #CJK UNIFIED IDEOGRAPH
+  {0xCBE0, 0x64DA}, //12318 #CJK UNIFIED IDEOGRAPH
+  {0xCBE1, 0x64E7}, //12319 #CJK UNIFIED IDEOGRAPH
+  {0xCBE2, 0x6E20}, //12320 #CJK UNIFIED IDEOGRAPH
+  {0xCBE3, 0x70AC}, //12321 #CJK UNIFIED IDEOGRAPH
+  {0xCBE4, 0x795B}, //12322 #CJK UNIFIED IDEOGRAPH
+  {0xCBE5, 0x8DDD}, //12323 #CJK UNIFIED IDEOGRAPH
+  {0xCBE6, 0x8E1E}, //12324 #CJK UNIFIED IDEOGRAPH
+  {0xCBE7, 0xF902}, //12325 #CJK COMPATIBILITY IDEOGRAPH
+  {0xCBE8, 0x907D}, //12326 #CJK UNIFIED IDEOGRAPH
+  {0xCBE9, 0x9245}, //12327 #CJK UNIFIED IDEOGRAPH
+  {0xCBEA, 0x92F8}, //12328 #CJK UNIFIED IDEOGRAPH
+  {0xCBEB, 0x4E7E}, //12329 #CJK UNIFIED IDEOGRAPH
+  {0xCBEC, 0x4EF6}, //12330 #CJK UNIFIED IDEOGRAPH
+  {0xCBED, 0x5065}, //12331 #CJK UNIFIED IDEOGRAPH
+  {0xCBEE, 0x5DFE}, //12332 #CJK UNIFIED IDEOGRAPH
+  {0xCBEF, 0x5EFA}, //12333 #CJK UNIFIED IDEOGRAPH
+  {0xCBF0, 0x6106}, //12334 #CJK UNIFIED IDEOGRAPH
+  {0xCBF1, 0x6957}, //12335 #CJK UNIFIED IDEOGRAPH
+  {0xCBF2, 0x8171}, //12336 #CJK UNIFIED IDEOGRAPH
+  {0xCBF3, 0x8654}, //12337 #CJK UNIFIED IDEOGRAPH
+  {0xCBF4, 0x8E47}, //12338 #CJK UNIFIED IDEOGRAPH
+  {0xCBF5, 0x9375}, //12339 #CJK UNIFIED IDEOGRAPH
+  {0xCBF6, 0x9A2B}, //12340 #CJK UNIFIED IDEOGRAPH
+  {0xCBF7, 0x4E5E}, //12341 #CJK UNIFIED IDEOGRAPH
+  {0xCBF8, 0x5091}, //12342 #CJK UNIFIED IDEOGRAPH
+  {0xCBF9, 0x6770}, //12343 #CJK UNIFIED IDEOGRAPH
+  {0xCBFA, 0x6840}, //12344 #CJK UNIFIED IDEOGRAPH
+  {0xCBFB, 0x5109}, //12345 #CJK UNIFIED IDEOGRAPH
+  {0xCBFC, 0x528D}, //12346 #CJK UNIFIED IDEOGRAPH
+  {0xCBFD, 0x5292}, //12347 #CJK UNIFIED IDEOGRAPH
+  {0xCBFE, 0x6AA2}, //12348 #CJK UNIFIED IDEOGRAPH
+  {0xCCA1, 0x77BC}, //12349 #CJK UNIFIED IDEOGRAPH
+  {0xCCA2, 0x9210}, //12350 #CJK UNIFIED IDEOGRAPH
+  {0xCCA3, 0x9ED4}, //12351 #CJK UNIFIED IDEOGRAPH
+  {0xCCA4, 0x52AB}, //12352 #CJK UNIFIED IDEOGRAPH
+  {0xCCA5, 0x602F}, //12353 #CJK UNIFIED IDEOGRAPH
+  {0xCCA6, 0x8FF2}, //12354 #CJK UNIFIED IDEOGRAPH
+  {0xCCA7, 0x5048}, //12355 #CJK UNIFIED IDEOGRAPH
+  {0xCCA8, 0x61A9}, //12356 #CJK UNIFIED IDEOGRAPH
+  {0xCCA9, 0x63ED}, //12357 #CJK UNIFIED IDEOGRAPH
+  {0xCCAA, 0x64CA}, //12358 #CJK UNIFIED IDEOGRAPH
+  {0xCCAB, 0x683C}, //12359 #CJK UNIFIED IDEOGRAPH
+  {0xCCAC, 0x6A84}, //12360 #CJK UNIFIED IDEOGRAPH
+  {0xCCAD, 0x6FC0}, //12361 #CJK UNIFIED IDEOGRAPH
+  {0xCCAE, 0x8188}, //12362 #CJK UNIFIED IDEOGRAPH
+  {0xCCAF, 0x89A1}, //12363 #CJK UNIFIED IDEOGRAPH
+  {0xCCB0, 0x9694}, //12364 #CJK UNIFIED IDEOGRAPH
+  {0xCCB1, 0x5805}, //12365 #CJK UNIFIED IDEOGRAPH
+  {0xCCB2, 0x727D}, //12366 #CJK UNIFIED IDEOGRAPH
+  {0xCCB3, 0x72AC}, //12367 #CJK UNIFIED IDEOGRAPH
+  {0xCCB4, 0x7504}, //12368 #CJK UNIFIED IDEOGRAPH
+  {0xCCB5, 0x7D79}, //12369 #CJK UNIFIED IDEOGRAPH
+  {0xCCB6, 0x7E6D}, //12370 #CJK UNIFIED IDEOGRAPH
+  {0xCCB7, 0x80A9}, //12371 #CJK UNIFIED IDEOGRAPH
+  {0xCCB8, 0x898B}, //12372 #CJK UNIFIED IDEOGRAPH
+  {0xCCB9, 0x8B74}, //12373 #CJK UNIFIED IDEOGRAPH
+  {0xCCBA, 0x9063}, //12374 #CJK UNIFIED IDEOGRAPH
+  {0xCCBB, 0x9D51}, //12375 #CJK UNIFIED IDEOGRAPH
+  {0xCCBC, 0x6289}, //12376 #CJK UNIFIED IDEOGRAPH
+  {0xCCBD, 0x6C7A}, //12377 #CJK UNIFIED IDEOGRAPH
+  {0xCCBE, 0x6F54}, //12378 #CJK UNIFIED IDEOGRAPH
+  {0xCCBF, 0x7D50}, //12379 #CJK UNIFIED IDEOGRAPH
+  {0xCCC0, 0x7F3A}, //12380 #CJK UNIFIED IDEOGRAPH
+  {0xCCC1, 0x8A23}, //12381 #CJK UNIFIED IDEOGRAPH
+  {0xCCC2, 0x517C}, //12382 #CJK UNIFIED IDEOGRAPH
+  {0xCCC3, 0x614A}, //12383 #CJK UNIFIED IDEOGRAPH
+  {0xCCC4, 0x7B9D}, //12384 #CJK UNIFIED IDEOGRAPH
+  {0xCCC5, 0x8B19}, //12385 #CJK UNIFIED IDEOGRAPH
+  {0xCCC6, 0x9257}, //12386 #CJK UNIFIED IDEOGRAPH
+  {0xCCC7, 0x938C}, //12387 #CJK UNIFIED IDEOGRAPH
+  {0xCCC8, 0x4EAC}, //12388 #CJK UNIFIED IDEOGRAPH
+  {0xCCC9, 0x4FD3}, //12389 #CJK UNIFIED IDEOGRAPH
+  {0xCCCA, 0x501E}, //12390 #CJK UNIFIED IDEOGRAPH
+  {0xCCCB, 0x50BE}, //12391 #CJK UNIFIED IDEOGRAPH
+  {0xCCCC, 0x5106}, //12392 #CJK UNIFIED IDEOGRAPH
+  {0xCCCD, 0x52C1}, //12393 #CJK UNIFIED IDEOGRAPH
+  {0xCCCE, 0x52CD}, //12394 #CJK UNIFIED IDEOGRAPH
+  {0xCCCF, 0x537F}, //12395 #CJK UNIFIED IDEOGRAPH
+  {0xCCD0, 0x5770}, //12396 #CJK UNIFIED IDEOGRAPH
+  {0xCCD1, 0x5883}, //12397 #CJK UNIFIED IDEOGRAPH
+  {0xCCD2, 0x5E9A}, //12398 #CJK UNIFIED IDEOGRAPH
+  {0xCCD3, 0x5F91}, //12399 #CJK UNIFIED IDEOGRAPH
+  {0xCCD4, 0x6176}, //12400 #CJK UNIFIED IDEOGRAPH
+  {0xCCD5, 0x61AC}, //12401 #CJK UNIFIED IDEOGRAPH
+  {0xCCD6, 0x64CE}, //12402 #CJK UNIFIED IDEOGRAPH
+  {0xCCD7, 0x656C}, //12403 #CJK UNIFIED IDEOGRAPH
+  {0xCCD8, 0x666F}, //12404 #CJK UNIFIED IDEOGRAPH
+  {0xCCD9, 0x66BB}, //12405 #CJK UNIFIED IDEOGRAPH
+  {0xCCDA, 0x66F4}, //12406 #CJK UNIFIED IDEOGRAPH
+  {0xCCDB, 0x6897}, //12407 #CJK UNIFIED IDEOGRAPH
+  {0xCCDC, 0x6D87}, //12408 #CJK UNIFIED IDEOGRAPH
+  {0xCCDD, 0x7085}, //12409 #CJK UNIFIED IDEOGRAPH
+  {0xCCDE, 0x70F1}, //12410 #CJK UNIFIED IDEOGRAPH
+  {0xCCDF, 0x749F}, //12411 #CJK UNIFIED IDEOGRAPH
+  {0xCCE0, 0x74A5}, //12412 #CJK UNIFIED IDEOGRAPH
+  {0xCCE1, 0x74CA}, //12413 #CJK UNIFIED IDEOGRAPH
+  {0xCCE2, 0x75D9}, //12414 #CJK UNIFIED IDEOGRAPH
+  {0xCCE3, 0x786C}, //12415 #CJK UNIFIED IDEOGRAPH
+  {0xCCE4, 0x78EC}, //12416 #CJK UNIFIED IDEOGRAPH
+  {0xCCE5, 0x7ADF}, //12417 #CJK UNIFIED IDEOGRAPH
+  {0xCCE6, 0x7AF6}, //12418 #CJK UNIFIED IDEOGRAPH
+  {0xCCE7, 0x7D45}, //12419 #CJK UNIFIED IDEOGRAPH
+  {0xCCE8, 0x7D93}, //12420 #CJK UNIFIED IDEOGRAPH
+  {0xCCE9, 0x8015}, //12421 #CJK UNIFIED IDEOGRAPH
+  {0xCCEA, 0x803F}, //12422 #CJK UNIFIED IDEOGRAPH
+  {0xCCEB, 0x811B}, //12423 #CJK UNIFIED IDEOGRAPH
+  {0xCCEC, 0x8396}, //12424 #CJK UNIFIED IDEOGRAPH
+  {0xCCED, 0x8B66}, //12425 #CJK UNIFIED IDEOGRAPH
+  {0xCCEE, 0x8F15}, //12426 #CJK UNIFIED IDEOGRAPH
+  {0xCCEF, 0x9015}, //12427 #CJK UNIFIED IDEOGRAPH
+  {0xCCF0, 0x93E1}, //12428 #CJK UNIFIED IDEOGRAPH
+  {0xCCF1, 0x9803}, //12429 #CJK UNIFIED IDEOGRAPH
+  {0xCCF2, 0x9838}, //12430 #CJK UNIFIED IDEOGRAPH
+  {0xCCF3, 0x9A5A}, //12431 #CJK UNIFIED IDEOGRAPH
+  {0xCCF4, 0x9BE8}, //12432 #CJK UNIFIED IDEOGRAPH
+  {0xCCF5, 0x4FC2}, //12433 #CJK UNIFIED IDEOGRAPH
+  {0xCCF6, 0x5553}, //12434 #CJK UNIFIED IDEOGRAPH
+  {0xCCF7, 0x583A}, //12435 #CJK UNIFIED IDEOGRAPH
+  {0xCCF8, 0x5951}, //12436 #CJK UNIFIED IDEOGRAPH
+  {0xCCF9, 0x5B63}, //12437 #CJK UNIFIED IDEOGRAPH
+  {0xCCFA, 0x5C46}, //12438 #CJK UNIFIED IDEOGRAPH
+  {0xCCFB, 0x60B8}, //12439 #CJK UNIFIED IDEOGRAPH
+  {0xCCFC, 0x6212}, //12440 #CJK UNIFIED IDEOGRAPH
+  {0xCCFD, 0x6842}, //12441 #CJK UNIFIED IDEOGRAPH
+  {0xCCFE, 0x68B0}, //12442 #CJK UNIFIED IDEOGRAPH
+  {0xCDA1, 0x68E8}, //12443 #CJK UNIFIED IDEOGRAPH
+  {0xCDA2, 0x6EAA}, //12444 #CJK UNIFIED IDEOGRAPH
+  {0xCDA3, 0x754C}, //12445 #CJK UNIFIED IDEOGRAPH
+  {0xCDA4, 0x7678}, //12446 #CJK UNIFIED IDEOGRAPH
+  {0xCDA5, 0x78CE}, //12447 #CJK UNIFIED IDEOGRAPH
+  {0xCDA6, 0x7A3D}, //12448 #CJK UNIFIED IDEOGRAPH
+  {0xCDA7, 0x7CFB}, //12449 #CJK UNIFIED IDEOGRAPH
+  {0xCDA8, 0x7E6B}, //12450 #CJK UNIFIED IDEOGRAPH
+  {0xCDA9, 0x7E7C}, //12451 #CJK UNIFIED IDEOGRAPH
+  {0xCDAA, 0x8A08}, //12452 #CJK UNIFIED IDEOGRAPH
+  {0xCDAB, 0x8AA1}, //12453 #CJK UNIFIED IDEOGRAPH
+  {0xCDAC, 0x8C3F}, //12454 #CJK UNIFIED IDEOGRAPH
+  {0xCDAD, 0x968E}, //12455 #CJK UNIFIED IDEOGRAPH
+  {0xCDAE, 0x9DC4}, //12456 #CJK UNIFIED IDEOGRAPH
+  {0xCDAF, 0x53E4}, //12457 #CJK UNIFIED IDEOGRAPH
+  {0xCDB0, 0x53E9}, //12458 #CJK UNIFIED IDEOGRAPH
+  {0xCDB1, 0x544A}, //12459 #CJK UNIFIED IDEOGRAPH
+  {0xCDB2, 0x5471}, //12460 #CJK UNIFIED IDEOGRAPH
+  {0xCDB3, 0x56FA}, //12461 #CJK UNIFIED IDEOGRAPH
+  {0xCDB4, 0x59D1}, //12462 #CJK UNIFIED IDEOGRAPH
+  {0xCDB5, 0x5B64}, //12463 #CJK UNIFIED IDEOGRAPH
+  {0xCDB6, 0x5C3B}, //12464 #CJK UNIFIED IDEOGRAPH
+  {0xCDB7, 0x5EAB}, //12465 #CJK UNIFIED IDEOGRAPH
+  {0xCDB8, 0x62F7}, //12466 #CJK UNIFIED IDEOGRAPH
+  {0xCDB9, 0x6537}, //12467 #CJK UNIFIED IDEOGRAPH
+  {0xCDBA, 0x6545}, //12468 #CJK UNIFIED IDEOGRAPH
+  {0xCDBB, 0x6572}, //12469 #CJK UNIFIED IDEOGRAPH
+  {0xCDBC, 0x66A0}, //12470 #CJK UNIFIED IDEOGRAPH
+  {0xCDBD, 0x67AF}, //12471 #CJK UNIFIED IDEOGRAPH
+  {0xCDBE, 0x69C1}, //12472 #CJK UNIFIED IDEOGRAPH
+  {0xCDBF, 0x6CBD}, //12473 #CJK UNIFIED IDEOGRAPH
+  {0xCDC0, 0x75FC}, //12474 #CJK UNIFIED IDEOGRAPH
+  {0xCDC1, 0x7690}, //12475 #CJK UNIFIED IDEOGRAPH
+  {0xCDC2, 0x777E}, //12476 #CJK UNIFIED IDEOGRAPH
+  {0xCDC3, 0x7A3F}, //12477 #CJK UNIFIED IDEOGRAPH
+  {0xCDC4, 0x7F94}, //12478 #CJK UNIFIED IDEOGRAPH
+  {0xCDC5, 0x8003}, //12479 #CJK UNIFIED IDEOGRAPH
+  {0xCDC6, 0x80A1}, //12480 #CJK UNIFIED IDEOGRAPH
+  {0xCDC7, 0x818F}, //12481 #CJK UNIFIED IDEOGRAPH
+  {0xCDC8, 0x82E6}, //12482 #CJK UNIFIED IDEOGRAPH
+  {0xCDC9, 0x82FD}, //12483 #CJK UNIFIED IDEOGRAPH
+  {0xCDCA, 0x83F0}, //12484 #CJK UNIFIED IDEOGRAPH
+  {0xCDCB, 0x85C1}, //12485 #CJK UNIFIED IDEOGRAPH
+  {0xCDCC, 0x8831}, //12486 #CJK UNIFIED IDEOGRAPH
+  {0xCDCD, 0x88B4}, //12487 #CJK UNIFIED IDEOGRAPH
+  {0xCDCE, 0x8AA5}, //12488 #CJK UNIFIED IDEOGRAPH
+  {0xCDCF, 0xF903}, //12489 #CJK COMPATIBILITY IDEOGRAPH
+  {0xCDD0, 0x8F9C}, //12490 #CJK UNIFIED IDEOGRAPH
+  {0xCDD1, 0x932E}, //12491 #CJK UNIFIED IDEOGRAPH
+  {0xCDD2, 0x96C7}, //12492 #CJK UNIFIED IDEOGRAPH
+  {0xCDD3, 0x9867}, //12493 #CJK UNIFIED IDEOGRAPH
+  {0xCDD4, 0x9AD8}, //12494 #CJK UNIFIED IDEOGRAPH
+  {0xCDD5, 0x9F13}, //12495 #CJK UNIFIED IDEOGRAPH
+  {0xCDD6, 0x54ED}, //12496 #CJK UNIFIED IDEOGRAPH
+  {0xCDD7, 0x659B}, //12497 #CJK UNIFIED IDEOGRAPH
+  {0xCDD8, 0x66F2}, //12498 #CJK UNIFIED IDEOGRAPH
+  {0xCDD9, 0x688F}, //12499 #CJK UNIFIED IDEOGRAPH
+  {0xCDDA, 0x7A40}, //12500 #CJK UNIFIED IDEOGRAPH
+  {0xCDDB, 0x8C37}, //12501 #CJK UNIFIED IDEOGRAPH
+  {0xCDDC, 0x9D60}, //12502 #CJK UNIFIED IDEOGRAPH
+  {0xCDDD, 0x56F0}, //12503 #CJK UNIFIED IDEOGRAPH
+  {0xCDDE, 0x5764}, //12504 #CJK UNIFIED IDEOGRAPH
+  {0xCDDF, 0x5D11}, //12505 #CJK UNIFIED IDEOGRAPH
+  {0xCDE0, 0x6606}, //12506 #CJK UNIFIED IDEOGRAPH
+  {0xCDE1, 0x68B1}, //12507 #CJK UNIFIED IDEOGRAPH
+  {0xCDE2, 0x68CD}, //12508 #CJK UNIFIED IDEOGRAPH
+  {0xCDE3, 0x6EFE}, //12509 #CJK UNIFIED IDEOGRAPH
+  {0xCDE4, 0x7428}, //12510 #CJK UNIFIED IDEOGRAPH
+  {0xCDE5, 0x889E}, //12511 #CJK UNIFIED IDEOGRAPH
+  {0xCDE6, 0x9BE4}, //12512 #CJK UNIFIED IDEOGRAPH
+  {0xCDE7, 0x6C68}, //12513 #CJK UNIFIED IDEOGRAPH
+  {0xCDE8, 0xF904}, //12514 #CJK COMPATIBILITY IDEOGRAPH
+  {0xCDE9, 0x9AA8}, //12515 #CJK UNIFIED IDEOGRAPH
+  {0xCDEA, 0x4F9B}, //12516 #CJK UNIFIED IDEOGRAPH
+  {0xCDEB, 0x516C}, //12517 #CJK UNIFIED IDEOGRAPH
+  {0xCDEC, 0x5171}, //12518 #CJK UNIFIED IDEOGRAPH
+  {0xCDED, 0x529F}, //12519 #CJK UNIFIED IDEOGRAPH
+  {0xCDEE, 0x5B54}, //12520 #CJK UNIFIED IDEOGRAPH
+  {0xCDEF, 0x5DE5}, //12521 #CJK UNIFIED IDEOGRAPH
+  {0xCDF0, 0x6050}, //12522 #CJK UNIFIED IDEOGRAPH
+  {0xCDF1, 0x606D}, //12523 #CJK UNIFIED IDEOGRAPH
+  {0xCDF2, 0x62F1}, //12524 #CJK UNIFIED IDEOGRAPH
+  {0xCDF3, 0x63A7}, //12525 #CJK UNIFIED IDEOGRAPH
+  {0xCDF4, 0x653B}, //12526 #CJK UNIFIED IDEOGRAPH
+  {0xCDF5, 0x73D9}, //12527 #CJK UNIFIED IDEOGRAPH
+  {0xCDF6, 0x7A7A}, //12528 #CJK UNIFIED IDEOGRAPH
+  {0xCDF7, 0x86A3}, //12529 #CJK UNIFIED IDEOGRAPH
+  {0xCDF8, 0x8CA2}, //12530 #CJK UNIFIED IDEOGRAPH
+  {0xCDF9, 0x978F}, //12531 #CJK UNIFIED IDEOGRAPH
+  {0xCDFA, 0x4E32}, //12532 #CJK UNIFIED IDEOGRAPH
+  {0xCDFB, 0x5BE1}, //12533 #CJK UNIFIED IDEOGRAPH
+  {0xCDFC, 0x6208}, //12534 #CJK UNIFIED IDEOGRAPH
+  {0xCDFD, 0x679C}, //12535 #CJK UNIFIED IDEOGRAPH
+  {0xCDFE, 0x74DC}, //12536 #CJK UNIFIED IDEOGRAPH
+  {0xCEA1, 0x79D1}, //12537 #CJK UNIFIED IDEOGRAPH
+  {0xCEA2, 0x83D3}, //12538 #CJK UNIFIED IDEOGRAPH
+  {0xCEA3, 0x8A87}, //12539 #CJK UNIFIED IDEOGRAPH
+  {0xCEA4, 0x8AB2}, //12540 #CJK UNIFIED IDEOGRAPH
+  {0xCEA5, 0x8DE8}, //12541 #CJK UNIFIED IDEOGRAPH
+  {0xCEA6, 0x904E}, //12542 #CJK UNIFIED IDEOGRAPH
+  {0xCEA7, 0x934B}, //12543 #CJK UNIFIED IDEOGRAPH
+  {0xCEA8, 0x9846}, //12544 #CJK UNIFIED IDEOGRAPH
+  {0xCEA9, 0x5ED3}, //12545 #CJK UNIFIED IDEOGRAPH
+  {0xCEAA, 0x69E8}, //12546 #CJK UNIFIED IDEOGRAPH
+  {0xCEAB, 0x85FF}, //12547 #CJK UNIFIED IDEOGRAPH
+  {0xCEAC, 0x90ED}, //12548 #CJK UNIFIED IDEOGRAPH
+  {0xCEAD, 0xF905}, //12549 #CJK COMPATIBILITY IDEOGRAPH
+  {0xCEAE, 0x51A0}, //12550 #CJK UNIFIED IDEOGRAPH
+  {0xCEAF, 0x5B98}, //12551 #CJK UNIFIED IDEOGRAPH
+  {0xCEB0, 0x5BEC}, //12552 #CJK UNIFIED IDEOGRAPH
+  {0xCEB1, 0x6163}, //12553 #CJK UNIFIED IDEOGRAPH
+  {0xCEB2, 0x68FA}, //12554 #CJK UNIFIED IDEOGRAPH
+  {0xCEB3, 0x6B3E}, //12555 #CJK UNIFIED IDEOGRAPH
+  {0xCEB4, 0x704C}, //12556 #CJK UNIFIED IDEOGRAPH
+  {0xCEB5, 0x742F}, //12557 #CJK UNIFIED IDEOGRAPH
+  {0xCEB6, 0x74D8}, //12558 #CJK UNIFIED IDEOGRAPH
+  {0xCEB7, 0x7BA1}, //12559 #CJK UNIFIED IDEOGRAPH
+  {0xCEB8, 0x7F50}, //12560 #CJK UNIFIED IDEOGRAPH
+  {0xCEB9, 0x83C5}, //12561 #CJK UNIFIED IDEOGRAPH
+  {0xCEBA, 0x89C0}, //12562 #CJK UNIFIED IDEOGRAPH
+  {0xCEBB, 0x8CAB}, //12563 #CJK UNIFIED IDEOGRAPH
+  {0xCEBC, 0x95DC}, //12564 #CJK UNIFIED IDEOGRAPH
+  {0xCEBD, 0x9928}, //12565 #CJK UNIFIED IDEOGRAPH
+  {0xCEBE, 0x522E}, //12566 #CJK UNIFIED IDEOGRAPH
+  {0xCEBF, 0x605D}, //12567 #CJK UNIFIED IDEOGRAPH
+  {0xCEC0, 0x62EC}, //12568 #CJK UNIFIED IDEOGRAPH
+  {0xCEC1, 0x9002}, //12569 #CJK UNIFIED IDEOGRAPH
+  {0xCEC2, 0x4F8A}, //12570 #CJK UNIFIED IDEOGRAPH
+  {0xCEC3, 0x5149}, //12571 #CJK UNIFIED IDEOGRAPH
+  {0xCEC4, 0x5321}, //12572 #CJK UNIFIED IDEOGRAPH
+  {0xCEC5, 0x58D9}, //12573 #CJK UNIFIED IDEOGRAPH
+  {0xCEC6, 0x5EE3}, //12574 #CJK UNIFIED IDEOGRAPH
+  {0xCEC7, 0x66E0}, //12575 #CJK UNIFIED IDEOGRAPH
+  {0xCEC8, 0x6D38}, //12576 #CJK UNIFIED IDEOGRAPH
+  {0xCEC9, 0x709A}, //12577 #CJK UNIFIED IDEOGRAPH
+  {0xCECA, 0x72C2}, //12578 #CJK UNIFIED IDEOGRAPH
+  {0xCECB, 0x73D6}, //12579 #CJK UNIFIED IDEOGRAPH
+  {0xCECC, 0x7B50}, //12580 #CJK UNIFIED IDEOGRAPH
+  {0xCECD, 0x80F1}, //12581 #CJK UNIFIED IDEOGRAPH
+  {0xCECE, 0x945B}, //12582 #CJK UNIFIED IDEOGRAPH
+  {0xCECF, 0x5366}, //12583 #CJK UNIFIED IDEOGRAPH
+  {0xCED0, 0x639B}, //12584 #CJK UNIFIED IDEOGRAPH
+  {0xCED1, 0x7F6B}, //12585 #CJK UNIFIED IDEOGRAPH
+  {0xCED2, 0x4E56}, //12586 #CJK UNIFIED IDEOGRAPH
+  {0xCED3, 0x5080}, //12587 #CJK UNIFIED IDEOGRAPH
+  {0xCED4, 0x584A}, //12588 #CJK UNIFIED IDEOGRAPH
+  {0xCED5, 0x58DE}, //12589 #CJK UNIFIED IDEOGRAPH
+  {0xCED6, 0x602A}, //12590 #CJK UNIFIED IDEOGRAPH
+  {0xCED7, 0x6127}, //12591 #CJK UNIFIED IDEOGRAPH
+  {0xCED8, 0x62D0}, //12592 #CJK UNIFIED IDEOGRAPH
+  {0xCED9, 0x69D0}, //12593 #CJK UNIFIED IDEOGRAPH
+  {0xCEDA, 0x9B41}, //12594 #CJK UNIFIED IDEOGRAPH
+  {0xCEDB, 0x5B8F}, //12595 #CJK UNIFIED IDEOGRAPH
+  {0xCEDC, 0x7D18}, //12596 #CJK UNIFIED IDEOGRAPH
+  {0xCEDD, 0x80B1}, //12597 #CJK UNIFIED IDEOGRAPH
+  {0xCEDE, 0x8F5F}, //12598 #CJK UNIFIED IDEOGRAPH
+  {0xCEDF, 0x4EA4}, //12599 #CJK UNIFIED IDEOGRAPH
+  {0xCEE0, 0x50D1}, //12600 #CJK UNIFIED IDEOGRAPH
+  {0xCEE1, 0x54AC}, //12601 #CJK UNIFIED IDEOGRAPH
+  {0xCEE2, 0x55AC}, //12602 #CJK UNIFIED IDEOGRAPH
+  {0xCEE3, 0x5B0C}, //12603 #CJK UNIFIED IDEOGRAPH
+  {0xCEE4, 0x5DA0}, //12604 #CJK UNIFIED IDEOGRAPH
+  {0xCEE5, 0x5DE7}, //12605 #CJK UNIFIED IDEOGRAPH
+  {0xCEE6, 0x652A}, //12606 #CJK UNIFIED IDEOGRAPH
+  {0xCEE7, 0x654E}, //12607 #CJK UNIFIED IDEOGRAPH
+  {0xCEE8, 0x6821}, //12608 #CJK UNIFIED IDEOGRAPH
+  {0xCEE9, 0x6A4B}, //12609 #CJK UNIFIED IDEOGRAPH
+  {0xCEEA, 0x72E1}, //12610 #CJK UNIFIED IDEOGRAPH
+  {0xCEEB, 0x768E}, //12611 #CJK UNIFIED IDEOGRAPH
+  {0xCEEC, 0x77EF}, //12612 #CJK UNIFIED IDEOGRAPH
+  {0xCEED, 0x7D5E}, //12613 #CJK UNIFIED IDEOGRAPH
+  {0xCEEE, 0x7FF9}, //12614 #CJK UNIFIED IDEOGRAPH
+  {0xCEEF, 0x81A0}, //12615 #CJK UNIFIED IDEOGRAPH
+  {0xCEF0, 0x854E}, //12616 #CJK UNIFIED IDEOGRAPH
+  {0xCEF1, 0x86DF}, //12617 #CJK UNIFIED IDEOGRAPH
+  {0xCEF2, 0x8F03}, //12618 #CJK UNIFIED IDEOGRAPH
+  {0xCEF3, 0x8F4E}, //12619 #CJK UNIFIED IDEOGRAPH
+  {0xCEF4, 0x90CA}, //12620 #CJK UNIFIED IDEOGRAPH
+  {0xCEF5, 0x9903}, //12621 #CJK UNIFIED IDEOGRAPH
+  {0xCEF6, 0x9A55}, //12622 #CJK UNIFIED IDEOGRAPH
+  {0xCEF7, 0x9BAB}, //12623 #CJK UNIFIED IDEOGRAPH
+  {0xCEF8, 0x4E18}, //12624 #CJK UNIFIED IDEOGRAPH
+  {0xCEF9, 0x4E45}, //12625 #CJK UNIFIED IDEOGRAPH
+  {0xCEFA, 0x4E5D}, //12626 #CJK UNIFIED IDEOGRAPH
+  {0xCEFB, 0x4EC7}, //12627 #CJK UNIFIED IDEOGRAPH
+  {0xCEFC, 0x4FF1}, //12628 #CJK UNIFIED IDEOGRAPH
+  {0xCEFD, 0x5177}, //12629 #CJK UNIFIED IDEOGRAPH
+  {0xCEFE, 0x52FE}, //12630 #CJK UNIFIED IDEOGRAPH
+  {0xCFA1, 0x5340}, //12631 #CJK UNIFIED IDEOGRAPH
+  {0xCFA2, 0x53E3}, //12632 #CJK UNIFIED IDEOGRAPH
+  {0xCFA3, 0x53E5}, //12633 #CJK UNIFIED IDEOGRAPH
+  {0xCFA4, 0x548E}, //12634 #CJK UNIFIED IDEOGRAPH
+  {0xCFA5, 0x5614}, //12635 #CJK UNIFIED IDEOGRAPH
+  {0xCFA6, 0x5775}, //12636 #CJK UNIFIED IDEOGRAPH
+  {0xCFA7, 0x57A2}, //12637 #CJK UNIFIED IDEOGRAPH
+  {0xCFA8, 0x5BC7}, //12638 #CJK UNIFIED IDEOGRAPH
+  {0xCFA9, 0x5D87}, //12639 #CJK UNIFIED IDEOGRAPH
+  {0xCFAA, 0x5ED0}, //12640 #CJK UNIFIED IDEOGRAPH
+  {0xCFAB, 0x61FC}, //12641 #CJK UNIFIED IDEOGRAPH
+  {0xCFAC, 0x62D8}, //12642 #CJK UNIFIED IDEOGRAPH
+  {0xCFAD, 0x6551}, //12643 #CJK UNIFIED IDEOGRAPH
+  {0xCFAE, 0x67B8}, //12644 #CJK UNIFIED IDEOGRAPH
+  {0xCFAF, 0x67E9}, //12645 #CJK UNIFIED IDEOGRAPH
+  {0xCFB0, 0x69CB}, //12646 #CJK UNIFIED IDEOGRAPH
+  {0xCFB1, 0x6B50}, //12647 #CJK UNIFIED IDEOGRAPH
+  {0xCFB2, 0x6BC6}, //12648 #CJK UNIFIED IDEOGRAPH
+  {0xCFB3, 0x6BEC}, //12649 #CJK UNIFIED IDEOGRAPH
+  {0xCFB4, 0x6C42}, //12650 #CJK UNIFIED IDEOGRAPH
+  {0xCFB5, 0x6E9D}, //12651 #CJK UNIFIED IDEOGRAPH
+  {0xCFB6, 0x7078}, //12652 #CJK UNIFIED IDEOGRAPH
+  {0xCFB7, 0x72D7}, //12653 #CJK UNIFIED IDEOGRAPH
+  {0xCFB8, 0x7396}, //12654 #CJK UNIFIED IDEOGRAPH
+  {0xCFB9, 0x7403}, //12655 #CJK UNIFIED IDEOGRAPH
+  {0xCFBA, 0x77BF}, //12656 #CJK UNIFIED IDEOGRAPH
+  {0xCFBB, 0x77E9}, //12657 #CJK UNIFIED IDEOGRAPH
+  {0xCFBC, 0x7A76}, //12658 #CJK UNIFIED IDEOGRAPH
+  {0xCFBD, 0x7D7F}, //12659 #CJK UNIFIED IDEOGRAPH
+  {0xCFBE, 0x8009}, //12660 #CJK UNIFIED IDEOGRAPH
+  {0xCFBF, 0x81FC}, //12661 #CJK UNIFIED IDEOGRAPH
+  {0xCFC0, 0x8205}, //12662 #CJK UNIFIED IDEOGRAPH
+  {0xCFC1, 0x820A}, //12663 #CJK UNIFIED IDEOGRAPH
+  {0xCFC2, 0x82DF}, //12664 #CJK UNIFIED IDEOGRAPH
+  {0xCFC3, 0x8862}, //12665 #CJK UNIFIED IDEOGRAPH
+  {0xCFC4, 0x8B33}, //12666 #CJK UNIFIED IDEOGRAPH
+  {0xCFC5, 0x8CFC}, //12667 #CJK UNIFIED IDEOGRAPH
+  {0xCFC6, 0x8EC0}, //12668 #CJK UNIFIED IDEOGRAPH
+  {0xCFC7, 0x9011}, //12669 #CJK UNIFIED IDEOGRAPH
+  {0xCFC8, 0x90B1}, //12670 #CJK UNIFIED IDEOGRAPH
+  {0xCFC9, 0x9264}, //12671 #CJK UNIFIED IDEOGRAPH
+  {0xCFCA, 0x92B6}, //12672 #CJK UNIFIED IDEOGRAPH
+  {0xCFCB, 0x99D2}, //12673 #CJK UNIFIED IDEOGRAPH
+  {0xCFCC, 0x9A45}, //12674 #CJK UNIFIED IDEOGRAPH
+  {0xCFCD, 0x9CE9}, //12675 #CJK UNIFIED IDEOGRAPH
+  {0xCFCE, 0x9DD7}, //12676 #CJK UNIFIED IDEOGRAPH
+  {0xCFCF, 0x9F9C}, //12677 #CJK UNIFIED IDEOGRAPH
+  {0xCFD0, 0x570B}, //12678 #CJK UNIFIED IDEOGRAPH
+  {0xCFD1, 0x5C40}, //12679 #CJK UNIFIED IDEOGRAPH
+  {0xCFD2, 0x83CA}, //12680 #CJK UNIFIED IDEOGRAPH
+  {0xCFD3, 0x97A0}, //12681 #CJK UNIFIED IDEOGRAPH
+  {0xCFD4, 0x97AB}, //12682 #CJK UNIFIED IDEOGRAPH
+  {0xCFD5, 0x9EB4}, //12683 #CJK UNIFIED IDEOGRAPH
+  {0xCFD6, 0x541B}, //12684 #CJK UNIFIED IDEOGRAPH
+  {0xCFD7, 0x7A98}, //12685 #CJK UNIFIED IDEOGRAPH
+  {0xCFD8, 0x7FA4}, //12686 #CJK UNIFIED IDEOGRAPH
+  {0xCFD9, 0x88D9}, //12687 #CJK UNIFIED IDEOGRAPH
+  {0xCFDA, 0x8ECD}, //12688 #CJK UNIFIED IDEOGRAPH
+  {0xCFDB, 0x90E1}, //12689 #CJK UNIFIED IDEOGRAPH
+  {0xCFDC, 0x5800}, //12690 #CJK UNIFIED IDEOGRAPH
+  {0xCFDD, 0x5C48}, //12691 #CJK UNIFIED IDEOGRAPH
+  {0xCFDE, 0x6398}, //12692 #CJK UNIFIED IDEOGRAPH
+  {0xCFDF, 0x7A9F}, //12693 #CJK UNIFIED IDEOGRAPH
+  {0xCFE0, 0x5BAE}, //12694 #CJK UNIFIED IDEOGRAPH
+  {0xCFE1, 0x5F13}, //12695 #CJK UNIFIED IDEOGRAPH
+  {0xCFE2, 0x7A79}, //12696 #CJK UNIFIED IDEOGRAPH
+  {0xCFE3, 0x7AAE}, //12697 #CJK UNIFIED IDEOGRAPH
+  {0xCFE4, 0x828E}, //12698 #CJK UNIFIED IDEOGRAPH
+  {0xCFE5, 0x8EAC}, //12699 #CJK UNIFIED IDEOGRAPH
+  {0xCFE6, 0x5026}, //12700 #CJK UNIFIED IDEOGRAPH
+  {0xCFE7, 0x5238}, //12701 #CJK UNIFIED IDEOGRAPH
+  {0xCFE8, 0x52F8}, //12702 #CJK UNIFIED IDEOGRAPH
+  {0xCFE9, 0x5377}, //12703 #CJK UNIFIED IDEOGRAPH
+  {0xCFEA, 0x5708}, //12704 #CJK UNIFIED IDEOGRAPH
+  {0xCFEB, 0x62F3}, //12705 #CJK UNIFIED IDEOGRAPH
+  {0xCFEC, 0x6372}, //12706 #CJK UNIFIED IDEOGRAPH
+  {0xCFED, 0x6B0A}, //12707 #CJK UNIFIED IDEOGRAPH
+  {0xCFEE, 0x6DC3}, //12708 #CJK UNIFIED IDEOGRAPH
+  {0xCFEF, 0x7737}, //12709 #CJK UNIFIED IDEOGRAPH
+  {0xCFF0, 0x53A5}, //12710 #CJK UNIFIED IDEOGRAPH
+  {0xCFF1, 0x7357}, //12711 #CJK UNIFIED IDEOGRAPH
+  {0xCFF2, 0x8568}, //12712 #CJK UNIFIED IDEOGRAPH
+  {0xCFF3, 0x8E76}, //12713 #CJK UNIFIED IDEOGRAPH
+  {0xCFF4, 0x95D5}, //12714 #CJK UNIFIED IDEOGRAPH
+  {0xCFF5, 0x673A}, //12715 #CJK UNIFIED IDEOGRAPH
+  {0xCFF6, 0x6AC3}, //12716 #CJK UNIFIED IDEOGRAPH
+  {0xCFF7, 0x6F70}, //12717 #CJK UNIFIED IDEOGRAPH
+  {0xCFF8, 0x8A6D}, //12718 #CJK UNIFIED IDEOGRAPH
+  {0xCFF9, 0x8ECC}, //12719 #CJK UNIFIED IDEOGRAPH
+  {0xCFFA, 0x994B}, //12720 #CJK UNIFIED IDEOGRAPH
+  {0xCFFB, 0xF906}, //12721 #CJK COMPATIBILITY IDEOGRAPH
+  {0xCFFC, 0x6677}, //12722 #CJK UNIFIED IDEOGRAPH
+  {0xCFFD, 0x6B78}, //12723 #CJK UNIFIED IDEOGRAPH
+  {0xCFFE, 0x8CB4}, //12724 #CJK UNIFIED IDEOGRAPH
+  {0xD0A1, 0x9B3C}, //12725 #CJK UNIFIED IDEOGRAPH
+  {0xD0A2, 0xF907}, //12726 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD0A3, 0x53EB}, //12727 #CJK UNIFIED IDEOGRAPH
+  {0xD0A4, 0x572D}, //12728 #CJK UNIFIED IDEOGRAPH
+  {0xD0A5, 0x594E}, //12729 #CJK UNIFIED IDEOGRAPH
+  {0xD0A6, 0x63C6}, //12730 #CJK UNIFIED IDEOGRAPH
+  {0xD0A7, 0x69FB}, //12731 #CJK UNIFIED IDEOGRAPH
+  {0xD0A8, 0x73EA}, //12732 #CJK UNIFIED IDEOGRAPH
+  {0xD0A9, 0x7845}, //12733 #CJK UNIFIED IDEOGRAPH
+  {0xD0AA, 0x7ABA}, //12734 #CJK UNIFIED IDEOGRAPH
+  {0xD0AB, 0x7AC5}, //12735 #CJK UNIFIED IDEOGRAPH
+  {0xD0AC, 0x7CFE}, //12736 #CJK UNIFIED IDEOGRAPH
+  {0xD0AD, 0x8475}, //12737 #CJK UNIFIED IDEOGRAPH
+  {0xD0AE, 0x898F}, //12738 #CJK UNIFIED IDEOGRAPH
+  {0xD0AF, 0x8D73}, //12739 #CJK UNIFIED IDEOGRAPH
+  {0xD0B0, 0x9035}, //12740 #CJK UNIFIED IDEOGRAPH
+  {0xD0B1, 0x95A8}, //12741 #CJK UNIFIED IDEOGRAPH
+  {0xD0B2, 0x52FB}, //12742 #CJK UNIFIED IDEOGRAPH
+  {0xD0B3, 0x5747}, //12743 #CJK UNIFIED IDEOGRAPH
+  {0xD0B4, 0x7547}, //12744 #CJK UNIFIED IDEOGRAPH
+  {0xD0B5, 0x7B60}, //12745 #CJK UNIFIED IDEOGRAPH
+  {0xD0B6, 0x83CC}, //12746 #CJK UNIFIED IDEOGRAPH
+  {0xD0B7, 0x921E}, //12747 #CJK UNIFIED IDEOGRAPH
+  {0xD0B8, 0xF908}, //12748 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD0B9, 0x6A58}, //12749 #CJK UNIFIED IDEOGRAPH
+  {0xD0BA, 0x514B}, //12750 #CJK UNIFIED IDEOGRAPH
+  {0xD0BB, 0x524B}, //12751 #CJK UNIFIED IDEOGRAPH
+  {0xD0BC, 0x5287}, //12752 #CJK UNIFIED IDEOGRAPH
+  {0xD0BD, 0x621F}, //12753 #CJK UNIFIED IDEOGRAPH
+  {0xD0BE, 0x68D8}, //12754 #CJK UNIFIED IDEOGRAPH
+  {0xD0BF, 0x6975}, //12755 #CJK UNIFIED IDEOGRAPH
+  {0xD0C0, 0x9699}, //12756 #CJK UNIFIED IDEOGRAPH
+  {0xD0C1, 0x50C5}, //12757 #CJK UNIFIED IDEOGRAPH
+  {0xD0C2, 0x52A4}, //12758 #CJK UNIFIED IDEOGRAPH
+  {0xD0C3, 0x52E4}, //12759 #CJK UNIFIED IDEOGRAPH
+  {0xD0C4, 0x61C3}, //12760 #CJK UNIFIED IDEOGRAPH
+  {0xD0C5, 0x65A4}, //12761 #CJK UNIFIED IDEOGRAPH
+  {0xD0C6, 0x6839}, //12762 #CJK UNIFIED IDEOGRAPH
+  {0xD0C7, 0x69FF}, //12763 #CJK UNIFIED IDEOGRAPH
+  {0xD0C8, 0x747E}, //12764 #CJK UNIFIED IDEOGRAPH
+  {0xD0C9, 0x7B4B}, //12765 #CJK UNIFIED IDEOGRAPH
+  {0xD0CA, 0x82B9}, //12766 #CJK UNIFIED IDEOGRAPH
+  {0xD0CB, 0x83EB}, //12767 #CJK UNIFIED IDEOGRAPH
+  {0xD0CC, 0x89B2}, //12768 #CJK UNIFIED IDEOGRAPH
+  {0xD0CD, 0x8B39}, //12769 #CJK UNIFIED IDEOGRAPH
+  {0xD0CE, 0x8FD1}, //12770 #CJK UNIFIED IDEOGRAPH
+  {0xD0CF, 0x9949}, //12771 #CJK UNIFIED IDEOGRAPH
+  {0xD0D0, 0xF909}, //12772 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD0D1, 0x4ECA}, //12773 #CJK UNIFIED IDEOGRAPH
+  {0xD0D2, 0x5997}, //12774 #CJK UNIFIED IDEOGRAPH
+  {0xD0D3, 0x64D2}, //12775 #CJK UNIFIED IDEOGRAPH
+  {0xD0D4, 0x6611}, //12776 #CJK UNIFIED IDEOGRAPH
+  {0xD0D5, 0x6A8E}, //12777 #CJK UNIFIED IDEOGRAPH
+  {0xD0D6, 0x7434}, //12778 #CJK UNIFIED IDEOGRAPH
+  {0xD0D7, 0x7981}, //12779 #CJK UNIFIED IDEOGRAPH
+  {0xD0D8, 0x79BD}, //12780 #CJK UNIFIED IDEOGRAPH
+  {0xD0D9, 0x82A9}, //12781 #CJK UNIFIED IDEOGRAPH
+  {0xD0DA, 0x887E}, //12782 #CJK UNIFIED IDEOGRAPH
+  {0xD0DB, 0x887F}, //12783 #CJK UNIFIED IDEOGRAPH
+  {0xD0DC, 0x895F}, //12784 #CJK UNIFIED IDEOGRAPH
+  {0xD0DD, 0xF90A}, //12785 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD0DE, 0x9326}, //12786 #CJK UNIFIED IDEOGRAPH
+  {0xD0DF, 0x4F0B}, //12787 #CJK UNIFIED IDEOGRAPH
+  {0xD0E0, 0x53CA}, //12788 #CJK UNIFIED IDEOGRAPH
+  {0xD0E1, 0x6025}, //12789 #CJK UNIFIED IDEOGRAPH
+  {0xD0E2, 0x6271}, //12790 #CJK UNIFIED IDEOGRAPH
+  {0xD0E3, 0x6C72}, //12791 #CJK UNIFIED IDEOGRAPH
+  {0xD0E4, 0x7D1A}, //12792 #CJK UNIFIED IDEOGRAPH
+  {0xD0E5, 0x7D66}, //12793 #CJK UNIFIED IDEOGRAPH
+  {0xD0E6, 0x4E98}, //12794 #CJK UNIFIED IDEOGRAPH
+  {0xD0E7, 0x5162}, //12795 #CJK UNIFIED IDEOGRAPH
+  {0xD0E8, 0x77DC}, //12796 #CJK UNIFIED IDEOGRAPH
+  {0xD0E9, 0x80AF}, //12797 #CJK UNIFIED IDEOGRAPH
+  {0xD0EA, 0x4F01}, //12798 #CJK UNIFIED IDEOGRAPH
+  {0xD0EB, 0x4F0E}, //12799 #CJK UNIFIED IDEOGRAPH
+  {0xD0EC, 0x5176}, //12800 #CJK UNIFIED IDEOGRAPH
+  {0xD0ED, 0x5180}, //12801 #CJK UNIFIED IDEOGRAPH
+  {0xD0EE, 0x55DC}, //12802 #CJK UNIFIED IDEOGRAPH
+  {0xD0EF, 0x5668}, //12803 #CJK UNIFIED IDEOGRAPH
+  {0xD0F0, 0x573B}, //12804 #CJK UNIFIED IDEOGRAPH
+  {0xD0F1, 0x57FA}, //12805 #CJK UNIFIED IDEOGRAPH
+  {0xD0F2, 0x57FC}, //12806 #CJK UNIFIED IDEOGRAPH
+  {0xD0F3, 0x5914}, //12807 #CJK UNIFIED IDEOGRAPH
+  {0xD0F4, 0x5947}, //12808 #CJK UNIFIED IDEOGRAPH
+  {0xD0F5, 0x5993}, //12809 #CJK UNIFIED IDEOGRAPH
+  {0xD0F6, 0x5BC4}, //12810 #CJK UNIFIED IDEOGRAPH
+  {0xD0F7, 0x5C90}, //12811 #CJK UNIFIED IDEOGRAPH
+  {0xD0F8, 0x5D0E}, //12812 #CJK UNIFIED IDEOGRAPH
+  {0xD0F9, 0x5DF1}, //12813 #CJK UNIFIED IDEOGRAPH
+  {0xD0FA, 0x5E7E}, //12814 #CJK UNIFIED IDEOGRAPH
+  {0xD0FB, 0x5FCC}, //12815 #CJK UNIFIED IDEOGRAPH
+  {0xD0FC, 0x6280}, //12816 #CJK UNIFIED IDEOGRAPH
+  {0xD0FD, 0x65D7}, //12817 #CJK UNIFIED IDEOGRAPH
+  {0xD0FE, 0x65E3}, //12818 #CJK UNIFIED IDEOGRAPH
+  {0xD1A1, 0x671E}, //12819 #CJK UNIFIED IDEOGRAPH
+  {0xD1A2, 0x671F}, //12820 #CJK UNIFIED IDEOGRAPH
+  {0xD1A3, 0x675E}, //12821 #CJK UNIFIED IDEOGRAPH
+  {0xD1A4, 0x68CB}, //12822 #CJK UNIFIED IDEOGRAPH
+  {0xD1A5, 0x68C4}, //12823 #CJK UNIFIED IDEOGRAPH
+  {0xD1A6, 0x6A5F}, //12824 #CJK UNIFIED IDEOGRAPH
+  {0xD1A7, 0x6B3A}, //12825 #CJK UNIFIED IDEOGRAPH
+  {0xD1A8, 0x6C23}, //12826 #CJK UNIFIED IDEOGRAPH
+  {0xD1A9, 0x6C7D}, //12827 #CJK UNIFIED IDEOGRAPH
+  {0xD1AA, 0x6C82}, //12828 #CJK UNIFIED IDEOGRAPH
+  {0xD1AB, 0x6DC7}, //12829 #CJK UNIFIED IDEOGRAPH
+  {0xD1AC, 0x7398}, //12830 #CJK UNIFIED IDEOGRAPH
+  {0xD1AD, 0x7426}, //12831 #CJK UNIFIED IDEOGRAPH
+  {0xD1AE, 0x742A}, //12832 #CJK UNIFIED IDEOGRAPH
+  {0xD1AF, 0x7482}, //12833 #CJK UNIFIED IDEOGRAPH
+  {0xD1B0, 0x74A3}, //12834 #CJK UNIFIED IDEOGRAPH
+  {0xD1B1, 0x7578}, //12835 #CJK UNIFIED IDEOGRAPH
+  {0xD1B2, 0x757F}, //12836 #CJK UNIFIED IDEOGRAPH
+  {0xD1B3, 0x7881}, //12837 #CJK UNIFIED IDEOGRAPH
+  {0xD1B4, 0x78EF}, //12838 #CJK UNIFIED IDEOGRAPH
+  {0xD1B5, 0x7941}, //12839 #CJK UNIFIED IDEOGRAPH
+  {0xD1B6, 0x7947}, //12840 #CJK UNIFIED IDEOGRAPH
+  {0xD1B7, 0x7948}, //12841 #CJK UNIFIED IDEOGRAPH
+  {0xD1B8, 0x797A}, //12842 #CJK UNIFIED IDEOGRAPH
+  {0xD1B9, 0x7B95}, //12843 #CJK UNIFIED IDEOGRAPH
+  {0xD1BA, 0x7D00}, //12844 #CJK UNIFIED IDEOGRAPH
+  {0xD1BB, 0x7DBA}, //12845 #CJK UNIFIED IDEOGRAPH
+  {0xD1BC, 0x7F88}, //12846 #CJK UNIFIED IDEOGRAPH
+  {0xD1BD, 0x8006}, //12847 #CJK UNIFIED IDEOGRAPH
+  {0xD1BE, 0x802D}, //12848 #CJK UNIFIED IDEOGRAPH
+  {0xD1BF, 0x808C}, //12849 #CJK UNIFIED IDEOGRAPH
+  {0xD1C0, 0x8A18}, //12850 #CJK UNIFIED IDEOGRAPH
+  {0xD1C1, 0x8B4F}, //12851 #CJK UNIFIED IDEOGRAPH
+  {0xD1C2, 0x8C48}, //12852 #CJK UNIFIED IDEOGRAPH
+  {0xD1C3, 0x8D77}, //12853 #CJK UNIFIED IDEOGRAPH
+  {0xD1C4, 0x9321}, //12854 #CJK UNIFIED IDEOGRAPH
+  {0xD1C5, 0x9324}, //12855 #CJK UNIFIED IDEOGRAPH
+  {0xD1C6, 0x98E2}, //12856 #CJK UNIFIED IDEOGRAPH
+  {0xD1C7, 0x9951}, //12857 #CJK UNIFIED IDEOGRAPH
+  {0xD1C8, 0x9A0E}, //12858 #CJK UNIFIED IDEOGRAPH
+  {0xD1C9, 0x9A0F}, //12859 #CJK UNIFIED IDEOGRAPH
+  {0xD1CA, 0x9A65}, //12860 #CJK UNIFIED IDEOGRAPH
+  {0xD1CB, 0x9E92}, //12861 #CJK UNIFIED IDEOGRAPH
+  {0xD1CC, 0x7DCA}, //12862 #CJK UNIFIED IDEOGRAPH
+  {0xD1CD, 0x4F76}, //12863 #CJK UNIFIED IDEOGRAPH
+  {0xD1CE, 0x5409}, //12864 #CJK UNIFIED IDEOGRAPH
+  {0xD1CF, 0x62EE}, //12865 #CJK UNIFIED IDEOGRAPH
+  {0xD1D0, 0x6854}, //12866 #CJK UNIFIED IDEOGRAPH
+  {0xD1D1, 0x91D1}, //12867 #CJK UNIFIED IDEOGRAPH
+  {0xD1D2, 0x55AB}, //12868 #CJK UNIFIED IDEOGRAPH
+  {0xD1D3, 0x513A}, //12869 #CJK UNIFIED IDEOGRAPH
+  {0xD1D4, 0xF90B}, //12870 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1D5, 0xF90C}, //12871 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1D6, 0x5A1C}, //12872 #CJK UNIFIED IDEOGRAPH
+  {0xD1D7, 0x61E6}, //12873 #CJK UNIFIED IDEOGRAPH
+  {0xD1D8, 0xF90D}, //12874 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1D9, 0x62CF}, //12875 #CJK UNIFIED IDEOGRAPH
+  {0xD1DA, 0x62FF}, //12876 #CJK UNIFIED IDEOGRAPH
+  {0xD1DB, 0xF90E}, //12877 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1DC, 0xF90F}, //12878 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1DD, 0xF910}, //12879 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1DE, 0xF911}, //12880 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1DF, 0xF912}, //12881 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1E0, 0xF913}, //12882 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1E1, 0x90A3}, //12883 #CJK UNIFIED IDEOGRAPH
+  {0xD1E2, 0xF914}, //12884 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1E3, 0xF915}, //12885 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1E4, 0xF916}, //12886 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1E5, 0xF917}, //12887 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1E6, 0xF918}, //12888 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1E7, 0x8AFE}, //12889 #CJK UNIFIED IDEOGRAPH
+  {0xD1E8, 0xF919}, //12890 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1E9, 0xF91A}, //12891 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1EA, 0xF91B}, //12892 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1EB, 0xF91C}, //12893 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1EC, 0x6696}, //12894 #CJK UNIFIED IDEOGRAPH
+  {0xD1ED, 0xF91D}, //12895 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1EE, 0x7156}, //12896 #CJK UNIFIED IDEOGRAPH
+  {0xD1EF, 0xF91E}, //12897 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1F0, 0xF91F}, //12898 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1F1, 0x96E3}, //12899 #CJK UNIFIED IDEOGRAPH
+  {0xD1F2, 0xF920}, //12900 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1F3, 0x634F}, //12901 #CJK UNIFIED IDEOGRAPH
+  {0xD1F4, 0x637A}, //12902 #CJK UNIFIED IDEOGRAPH
+  {0xD1F5, 0x5357}, //12903 #CJK UNIFIED IDEOGRAPH
+  {0xD1F6, 0xF921}, //12904 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1F7, 0x678F}, //12905 #CJK UNIFIED IDEOGRAPH
+  {0xD1F8, 0x6960}, //12906 #CJK UNIFIED IDEOGRAPH
+  {0xD1F9, 0x6E73}, //12907 #CJK UNIFIED IDEOGRAPH
+  {0xD1FA, 0xF922}, //12908 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1FB, 0x7537}, //12909 #CJK UNIFIED IDEOGRAPH
+  {0xD1FC, 0xF923}, //12910 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1FD, 0xF924}, //12911 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD1FE, 0xF925}, //12912 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2A1, 0x7D0D}, //12913 #CJK UNIFIED IDEOGRAPH
+  {0xD2A2, 0xF926}, //12914 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2A3, 0xF927}, //12915 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2A4, 0x8872}, //12916 #CJK UNIFIED IDEOGRAPH
+  {0xD2A5, 0x56CA}, //12917 #CJK UNIFIED IDEOGRAPH
+  {0xD2A6, 0x5A18}, //12918 #CJK UNIFIED IDEOGRAPH
+  {0xD2A7, 0xF928}, //12919 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2A8, 0xF929}, //12920 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2A9, 0xF92A}, //12921 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2AA, 0xF92B}, //12922 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2AB, 0xF92C}, //12923 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2AC, 0x4E43}, //12924 #CJK UNIFIED IDEOGRAPH
+  {0xD2AD, 0xF92D}, //12925 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2AE, 0x5167}, //12926 #CJK UNIFIED IDEOGRAPH
+  {0xD2AF, 0x5948}, //12927 #CJK UNIFIED IDEOGRAPH
+  {0xD2B0, 0x67F0}, //12928 #CJK UNIFIED IDEOGRAPH
+  {0xD2B1, 0x8010}, //12929 #CJK UNIFIED IDEOGRAPH
+  {0xD2B2, 0xF92E}, //12930 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2B3, 0x5973}, //12931 #CJK UNIFIED IDEOGRAPH
+  {0xD2B4, 0x5E74}, //12932 #CJK UNIFIED IDEOGRAPH
+  {0xD2B5, 0x649A}, //12933 #CJK UNIFIED IDEOGRAPH
+  {0xD2B6, 0x79CA}, //12934 #CJK UNIFIED IDEOGRAPH
+  {0xD2B7, 0x5FF5}, //12935 #CJK UNIFIED IDEOGRAPH
+  {0xD2B8, 0x606C}, //12936 #CJK UNIFIED IDEOGRAPH
+  {0xD2B9, 0x62C8}, //12937 #CJK UNIFIED IDEOGRAPH
+  {0xD2BA, 0x637B}, //12938 #CJK UNIFIED IDEOGRAPH
+  {0xD2BB, 0x5BE7}, //12939 #CJK UNIFIED IDEOGRAPH
+  {0xD2BC, 0x5BD7}, //12940 #CJK UNIFIED IDEOGRAPH
+  {0xD2BD, 0x52AA}, //12941 #CJK UNIFIED IDEOGRAPH
+  {0xD2BE, 0xF92F}, //12942 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2BF, 0x5974}, //12943 #CJK UNIFIED IDEOGRAPH
+  {0xD2C0, 0x5F29}, //12944 #CJK UNIFIED IDEOGRAPH
+  {0xD2C1, 0x6012}, //12945 #CJK UNIFIED IDEOGRAPH
+  {0xD2C2, 0xF930}, //12946 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2C3, 0xF931}, //12947 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2C4, 0xF932}, //12948 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2C5, 0x7459}, //12949 #CJK UNIFIED IDEOGRAPH
+  {0xD2C6, 0xF933}, //12950 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2C7, 0xF934}, //12951 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2C8, 0xF935}, //12952 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2C9, 0xF936}, //12953 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2CA, 0xF937}, //12954 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2CB, 0xF938}, //12955 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2CC, 0x99D1}, //12956 #CJK UNIFIED IDEOGRAPH
+  {0xD2CD, 0xF939}, //12957 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2CE, 0xF93A}, //12958 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2CF, 0xF93B}, //12959 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2D0, 0xF93C}, //12960 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2D1, 0xF93D}, //12961 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2D2, 0xF93E}, //12962 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2D3, 0xF93F}, //12963 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2D4, 0xF940}, //12964 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2D5, 0xF941}, //12965 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2D6, 0xF942}, //12966 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2D7, 0xF943}, //12967 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2D8, 0x6FC3}, //12968 #CJK UNIFIED IDEOGRAPH
+  {0xD2D9, 0xF944}, //12969 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2DA, 0xF945}, //12970 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2DB, 0x81BF}, //12971 #CJK UNIFIED IDEOGRAPH
+  {0xD2DC, 0x8FB2}, //12972 #CJK UNIFIED IDEOGRAPH
+  {0xD2DD, 0x60F1}, //12973 #CJK UNIFIED IDEOGRAPH
+  {0xD2DE, 0xF946}, //12974 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2DF, 0xF947}, //12975 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2E0, 0x8166}, //12976 #CJK UNIFIED IDEOGRAPH
+  {0xD2E1, 0xF948}, //12977 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2E2, 0xF949}, //12978 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2E3, 0x5C3F}, //12979 #CJK UNIFIED IDEOGRAPH
+  {0xD2E4, 0xF94A}, //12980 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2E5, 0xF94B}, //12981 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2E6, 0xF94C}, //12982 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2E7, 0xF94D}, //12983 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2E8, 0xF94E}, //12984 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2E9, 0xF94F}, //12985 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2EA, 0xF950}, //12986 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2EB, 0xF951}, //12987 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2EC, 0x5AE9}, //12988 #CJK UNIFIED IDEOGRAPH
+  {0xD2ED, 0x8A25}, //12989 #CJK UNIFIED IDEOGRAPH
+  {0xD2EE, 0x677B}, //12990 #CJK UNIFIED IDEOGRAPH
+  {0xD2EF, 0x7D10}, //12991 #CJK UNIFIED IDEOGRAPH
+  {0xD2F0, 0xF952}, //12992 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2F1, 0xF953}, //12993 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2F2, 0xF954}, //12994 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2F3, 0xF955}, //12995 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2F4, 0xF956}, //12996 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2F5, 0xF957}, //12997 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2F6, 0x80FD}, //12998 #CJK UNIFIED IDEOGRAPH
+  {0xD2F7, 0xF958}, //12999 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2F8, 0xF959}, //13000 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD2F9, 0x5C3C}, //13001 #CJK UNIFIED IDEOGRAPH
+  {0xD2FA, 0x6CE5}, //13002 #CJK UNIFIED IDEOGRAPH
+  {0xD2FB, 0x533F}, //13003 #CJK UNIFIED IDEOGRAPH
+  {0xD2FC, 0x6EBA}, //13004 #CJK UNIFIED IDEOGRAPH
+  {0xD2FD, 0x591A}, //13005 #CJK UNIFIED IDEOGRAPH
+  {0xD2FE, 0x8336}, //13006 #CJK UNIFIED IDEOGRAPH
+  {0xD3A1, 0x4E39}, //13007 #CJK UNIFIED IDEOGRAPH
+  {0xD3A2, 0x4EB6}, //13008 #CJK UNIFIED IDEOGRAPH
+  {0xD3A3, 0x4F46}, //13009 #CJK UNIFIED IDEOGRAPH
+  {0xD3A4, 0x55AE}, //13010 #CJK UNIFIED IDEOGRAPH
+  {0xD3A5, 0x5718}, //13011 #CJK UNIFIED IDEOGRAPH
+  {0xD3A6, 0x58C7}, //13012 #CJK UNIFIED IDEOGRAPH
+  {0xD3A7, 0x5F56}, //13013 #CJK UNIFIED IDEOGRAPH
+  {0xD3A8, 0x65B7}, //13014 #CJK UNIFIED IDEOGRAPH
+  {0xD3A9, 0x65E6}, //13015 #CJK UNIFIED IDEOGRAPH
+  {0xD3AA, 0x6A80}, //13016 #CJK UNIFIED IDEOGRAPH
+  {0xD3AB, 0x6BB5}, //13017 #CJK UNIFIED IDEOGRAPH
+  {0xD3AC, 0x6E4D}, //13018 #CJK UNIFIED IDEOGRAPH
+  {0xD3AD, 0x77ED}, //13019 #CJK UNIFIED IDEOGRAPH
+  {0xD3AE, 0x7AEF}, //13020 #CJK UNIFIED IDEOGRAPH
+  {0xD3AF, 0x7C1E}, //13021 #CJK UNIFIED IDEOGRAPH
+  {0xD3B0, 0x7DDE}, //13022 #CJK UNIFIED IDEOGRAPH
+  {0xD3B1, 0x86CB}, //13023 #CJK UNIFIED IDEOGRAPH
+  {0xD3B2, 0x8892}, //13024 #CJK UNIFIED IDEOGRAPH
+  {0xD3B3, 0x9132}, //13025 #CJK UNIFIED IDEOGRAPH
+  {0xD3B4, 0x935B}, //13026 #CJK UNIFIED IDEOGRAPH
+  {0xD3B5, 0x64BB}, //13027 #CJK UNIFIED IDEOGRAPH
+  {0xD3B6, 0x6FBE}, //13028 #CJK UNIFIED IDEOGRAPH
+  {0xD3B7, 0x737A}, //13029 #CJK UNIFIED IDEOGRAPH
+  {0xD3B8, 0x75B8}, //13030 #CJK UNIFIED IDEOGRAPH
+  {0xD3B9, 0x9054}, //13031 #CJK UNIFIED IDEOGRAPH
+  {0xD3BA, 0x5556}, //13032 #CJK UNIFIED IDEOGRAPH
+  {0xD3BB, 0x574D}, //13033 #CJK UNIFIED IDEOGRAPH
+  {0xD3BC, 0x61BA}, //13034 #CJK UNIFIED IDEOGRAPH
+  {0xD3BD, 0x64D4}, //13035 #CJK UNIFIED IDEOGRAPH
+  {0xD3BE, 0x66C7}, //13036 #CJK UNIFIED IDEOGRAPH
+  {0xD3BF, 0x6DE1}, //13037 #CJK UNIFIED IDEOGRAPH
+  {0xD3C0, 0x6E5B}, //13038 #CJK UNIFIED IDEOGRAPH
+  {0xD3C1, 0x6F6D}, //13039 #CJK UNIFIED IDEOGRAPH
+  {0xD3C2, 0x6FB9}, //13040 #CJK UNIFIED IDEOGRAPH
+  {0xD3C3, 0x75F0}, //13041 #CJK UNIFIED IDEOGRAPH
+  {0xD3C4, 0x8043}, //13042 #CJK UNIFIED IDEOGRAPH
+  {0xD3C5, 0x81BD}, //13043 #CJK UNIFIED IDEOGRAPH
+  {0xD3C6, 0x8541}, //13044 #CJK UNIFIED IDEOGRAPH
+  {0xD3C7, 0x8983}, //13045 #CJK UNIFIED IDEOGRAPH
+  {0xD3C8, 0x8AC7}, //13046 #CJK UNIFIED IDEOGRAPH
+  {0xD3C9, 0x8B5A}, //13047 #CJK UNIFIED IDEOGRAPH
+  {0xD3CA, 0x931F}, //13048 #CJK UNIFIED IDEOGRAPH
+  {0xD3CB, 0x6C93}, //13049 #CJK UNIFIED IDEOGRAPH
+  {0xD3CC, 0x7553}, //13050 #CJK UNIFIED IDEOGRAPH
+  {0xD3CD, 0x7B54}, //13051 #CJK UNIFIED IDEOGRAPH
+  {0xD3CE, 0x8E0F}, //13052 #CJK UNIFIED IDEOGRAPH
+  {0xD3CF, 0x905D}, //13053 #CJK UNIFIED IDEOGRAPH
+  {0xD3D0, 0x5510}, //13054 #CJK UNIFIED IDEOGRAPH
+  {0xD3D1, 0x5802}, //13055 #CJK UNIFIED IDEOGRAPH
+  {0xD3D2, 0x5858}, //13056 #CJK UNIFIED IDEOGRAPH
+  {0xD3D3, 0x5E62}, //13057 #CJK UNIFIED IDEOGRAPH
+  {0xD3D4, 0x6207}, //13058 #CJK UNIFIED IDEOGRAPH
+  {0xD3D5, 0x649E}, //13059 #CJK UNIFIED IDEOGRAPH
+  {0xD3D6, 0x68E0}, //13060 #CJK UNIFIED IDEOGRAPH
+  {0xD3D7, 0x7576}, //13061 #CJK UNIFIED IDEOGRAPH
+  {0xD3D8, 0x7CD6}, //13062 #CJK UNIFIED IDEOGRAPH
+  {0xD3D9, 0x87B3}, //13063 #CJK UNIFIED IDEOGRAPH
+  {0xD3DA, 0x9EE8}, //13064 #CJK UNIFIED IDEOGRAPH
+  {0xD3DB, 0x4EE3}, //13065 #CJK UNIFIED IDEOGRAPH
+  {0xD3DC, 0x5788}, //13066 #CJK UNIFIED IDEOGRAPH
+  {0xD3DD, 0x576E}, //13067 #CJK UNIFIED IDEOGRAPH
+  {0xD3DE, 0x5927}, //13068 #CJK UNIFIED IDEOGRAPH
+  {0xD3DF, 0x5C0D}, //13069 #CJK UNIFIED IDEOGRAPH
+  {0xD3E0, 0x5CB1}, //13070 #CJK UNIFIED IDEOGRAPH
+  {0xD3E1, 0x5E36}, //13071 #CJK UNIFIED IDEOGRAPH
+  {0xD3E2, 0x5F85}, //13072 #CJK UNIFIED IDEOGRAPH
+  {0xD3E3, 0x6234}, //13073 #CJK UNIFIED IDEOGRAPH
+  {0xD3E4, 0x64E1}, //13074 #CJK UNIFIED IDEOGRAPH
+  {0xD3E5, 0x73B3}, //13075 #CJK UNIFIED IDEOGRAPH
+  {0xD3E6, 0x81FA}, //13076 #CJK UNIFIED IDEOGRAPH
+  {0xD3E7, 0x888B}, //13077 #CJK UNIFIED IDEOGRAPH
+  {0xD3E8, 0x8CB8}, //13078 #CJK UNIFIED IDEOGRAPH
+  {0xD3E9, 0x968A}, //13079 #CJK UNIFIED IDEOGRAPH
+  {0xD3EA, 0x9EDB}, //13080 #CJK UNIFIED IDEOGRAPH
+  {0xD3EB, 0x5B85}, //13081 #CJK UNIFIED IDEOGRAPH
+  {0xD3EC, 0x5FB7}, //13082 #CJK UNIFIED IDEOGRAPH
+  {0xD3ED, 0x60B3}, //13083 #CJK UNIFIED IDEOGRAPH
+  {0xD3EE, 0x5012}, //13084 #CJK UNIFIED IDEOGRAPH
+  {0xD3EF, 0x5200}, //13085 #CJK UNIFIED IDEOGRAPH
+  {0xD3F0, 0x5230}, //13086 #CJK UNIFIED IDEOGRAPH
+  {0xD3F1, 0x5716}, //13087 #CJK UNIFIED IDEOGRAPH
+  {0xD3F2, 0x5835}, //13088 #CJK UNIFIED IDEOGRAPH
+  {0xD3F3, 0x5857}, //13089 #CJK UNIFIED IDEOGRAPH
+  {0xD3F4, 0x5C0E}, //13090 #CJK UNIFIED IDEOGRAPH
+  {0xD3F5, 0x5C60}, //13091 #CJK UNIFIED IDEOGRAPH
+  {0xD3F6, 0x5CF6}, //13092 #CJK UNIFIED IDEOGRAPH
+  {0xD3F7, 0x5D8B}, //13093 #CJK UNIFIED IDEOGRAPH
+  {0xD3F8, 0x5EA6}, //13094 #CJK UNIFIED IDEOGRAPH
+  {0xD3F9, 0x5F92}, //13095 #CJK UNIFIED IDEOGRAPH
+  {0xD3FA, 0x60BC}, //13096 #CJK UNIFIED IDEOGRAPH
+  {0xD3FB, 0x6311}, //13097 #CJK UNIFIED IDEOGRAPH
+  {0xD3FC, 0x6389}, //13098 #CJK UNIFIED IDEOGRAPH
+  {0xD3FD, 0x6417}, //13099 #CJK UNIFIED IDEOGRAPH
+  {0xD3FE, 0x6843}, //13100 #CJK UNIFIED IDEOGRAPH
+  {0xD4A1, 0x68F9}, //13101 #CJK UNIFIED IDEOGRAPH
+  {0xD4A2, 0x6AC2}, //13102 #CJK UNIFIED IDEOGRAPH
+  {0xD4A3, 0x6DD8}, //13103 #CJK UNIFIED IDEOGRAPH
+  {0xD4A4, 0x6E21}, //13104 #CJK UNIFIED IDEOGRAPH
+  {0xD4A5, 0x6ED4}, //13105 #CJK UNIFIED IDEOGRAPH
+  {0xD4A6, 0x6FE4}, //13106 #CJK UNIFIED IDEOGRAPH
+  {0xD4A7, 0x71FE}, //13107 #CJK UNIFIED IDEOGRAPH
+  {0xD4A8, 0x76DC}, //13108 #CJK UNIFIED IDEOGRAPH
+  {0xD4A9, 0x7779}, //13109 #CJK UNIFIED IDEOGRAPH
+  {0xD4AA, 0x79B1}, //13110 #CJK UNIFIED IDEOGRAPH
+  {0xD4AB, 0x7A3B}, //13111 #CJK UNIFIED IDEOGRAPH
+  {0xD4AC, 0x8404}, //13112 #CJK UNIFIED IDEOGRAPH
+  {0xD4AD, 0x89A9}, //13113 #CJK UNIFIED IDEOGRAPH
+  {0xD4AE, 0x8CED}, //13114 #CJK UNIFIED IDEOGRAPH
+  {0xD4AF, 0x8DF3}, //13115 #CJK UNIFIED IDEOGRAPH
+  {0xD4B0, 0x8E48}, //13116 #CJK UNIFIED IDEOGRAPH
+  {0xD4B1, 0x9003}, //13117 #CJK UNIFIED IDEOGRAPH
+  {0xD4B2, 0x9014}, //13118 #CJK UNIFIED IDEOGRAPH
+  {0xD4B3, 0x9053}, //13119 #CJK UNIFIED IDEOGRAPH
+  {0xD4B4, 0x90FD}, //13120 #CJK UNIFIED IDEOGRAPH
+  {0xD4B5, 0x934D}, //13121 #CJK UNIFIED IDEOGRAPH
+  {0xD4B6, 0x9676}, //13122 #CJK UNIFIED IDEOGRAPH
+  {0xD4B7, 0x97DC}, //13123 #CJK UNIFIED IDEOGRAPH
+  {0xD4B8, 0x6BD2}, //13124 #CJK UNIFIED IDEOGRAPH
+  {0xD4B9, 0x7006}, //13125 #CJK UNIFIED IDEOGRAPH
+  {0xD4BA, 0x7258}, //13126 #CJK UNIFIED IDEOGRAPH
+  {0xD4BB, 0x72A2}, //13127 #CJK UNIFIED IDEOGRAPH
+  {0xD4BC, 0x7368}, //13128 #CJK UNIFIED IDEOGRAPH
+  {0xD4BD, 0x7763}, //13129 #CJK UNIFIED IDEOGRAPH
+  {0xD4BE, 0x79BF}, //13130 #CJK UNIFIED IDEOGRAPH
+  {0xD4BF, 0x7BE4}, //13131 #CJK UNIFIED IDEOGRAPH
+  {0xD4C0, 0x7E9B}, //13132 #CJK UNIFIED IDEOGRAPH
+  {0xD4C1, 0x8B80}, //13133 #CJK UNIFIED IDEOGRAPH
+  {0xD4C2, 0x58A9}, //13134 #CJK UNIFIED IDEOGRAPH
+  {0xD4C3, 0x60C7}, //13135 #CJK UNIFIED IDEOGRAPH
+  {0xD4C4, 0x6566}, //13136 #CJK UNIFIED IDEOGRAPH
+  {0xD4C5, 0x65FD}, //13137 #CJK UNIFIED IDEOGRAPH
+  {0xD4C6, 0x66BE}, //13138 #CJK UNIFIED IDEOGRAPH
+  {0xD4C7, 0x6C8C}, //13139 #CJK UNIFIED IDEOGRAPH
+  {0xD4C8, 0x711E}, //13140 #CJK UNIFIED IDEOGRAPH
+  {0xD4C9, 0x71C9}, //13141 #CJK UNIFIED IDEOGRAPH
+  {0xD4CA, 0x8C5A}, //13142 #CJK UNIFIED IDEOGRAPH
+  {0xD4CB, 0x9813}, //13143 #CJK UNIFIED IDEOGRAPH
+  {0xD4CC, 0x4E6D}, //13144 #CJK UNIFIED IDEOGRAPH
+  {0xD4CD, 0x7A81}, //13145 #CJK UNIFIED IDEOGRAPH
+  {0xD4CE, 0x4EDD}, //13146 #CJK UNIFIED IDEOGRAPH
+  {0xD4CF, 0x51AC}, //13147 #CJK UNIFIED IDEOGRAPH
+  {0xD4D0, 0x51CD}, //13148 #CJK UNIFIED IDEOGRAPH
+  {0xD4D1, 0x52D5}, //13149 #CJK UNIFIED IDEOGRAPH
+  {0xD4D2, 0x540C}, //13150 #CJK UNIFIED IDEOGRAPH
+  {0xD4D3, 0x61A7}, //13151 #CJK UNIFIED IDEOGRAPH
+  {0xD4D4, 0x6771}, //13152 #CJK UNIFIED IDEOGRAPH
+  {0xD4D5, 0x6850}, //13153 #CJK UNIFIED IDEOGRAPH
+  {0xD4D6, 0x68DF}, //13154 #CJK UNIFIED IDEOGRAPH
+  {0xD4D7, 0x6D1E}, //13155 #CJK UNIFIED IDEOGRAPH
+  {0xD4D8, 0x6F7C}, //13156 #CJK UNIFIED IDEOGRAPH
+  {0xD4D9, 0x75BC}, //13157 #CJK UNIFIED IDEOGRAPH
+  {0xD4DA, 0x77B3}, //13158 #CJK UNIFIED IDEOGRAPH
+  {0xD4DB, 0x7AE5}, //13159 #CJK UNIFIED IDEOGRAPH
+  {0xD4DC, 0x80F4}, //13160 #CJK UNIFIED IDEOGRAPH
+  {0xD4DD, 0x8463}, //13161 #CJK UNIFIED IDEOGRAPH
+  {0xD4DE, 0x9285}, //13162 #CJK UNIFIED IDEOGRAPH
+  {0xD4DF, 0x515C}, //13163 #CJK UNIFIED IDEOGRAPH
+  {0xD4E0, 0x6597}, //13164 #CJK UNIFIED IDEOGRAPH
+  {0xD4E1, 0x675C}, //13165 #CJK UNIFIED IDEOGRAPH
+  {0xD4E2, 0x6793}, //13166 #CJK UNIFIED IDEOGRAPH
+  {0xD4E3, 0x75D8}, //13167 #CJK UNIFIED IDEOGRAPH
+  {0xD4E4, 0x7AC7}, //13168 #CJK UNIFIED IDEOGRAPH
+  {0xD4E5, 0x8373}, //13169 #CJK UNIFIED IDEOGRAPH
+  {0xD4E6, 0xF95A}, //13170 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD4E7, 0x8C46}, //13171 #CJK UNIFIED IDEOGRAPH
+  {0xD4E8, 0x9017}, //13172 #CJK UNIFIED IDEOGRAPH
+  {0xD4E9, 0x982D}, //13173 #CJK UNIFIED IDEOGRAPH
+  {0xD4EA, 0x5C6F}, //13174 #CJK UNIFIED IDEOGRAPH
+  {0xD4EB, 0x81C0}, //13175 #CJK UNIFIED IDEOGRAPH
+  {0xD4EC, 0x829A}, //13176 #CJK UNIFIED IDEOGRAPH
+  {0xD4ED, 0x9041}, //13177 #CJK UNIFIED IDEOGRAPH
+  {0xD4EE, 0x906F}, //13178 #CJK UNIFIED IDEOGRAPH
+  {0xD4EF, 0x920D}, //13179 #CJK UNIFIED IDEOGRAPH
+  {0xD4F0, 0x5F97}, //13180 #CJK UNIFIED IDEOGRAPH
+  {0xD4F1, 0x5D9D}, //13181 #CJK UNIFIED IDEOGRAPH
+  {0xD4F2, 0x6A59}, //13182 #CJK UNIFIED IDEOGRAPH
+  {0xD4F3, 0x71C8}, //13183 #CJK UNIFIED IDEOGRAPH
+  {0xD4F4, 0x767B}, //13184 #CJK UNIFIED IDEOGRAPH
+  {0xD4F5, 0x7B49}, //13185 #CJK UNIFIED IDEOGRAPH
+  {0xD4F6, 0x85E4}, //13186 #CJK UNIFIED IDEOGRAPH
+  {0xD4F7, 0x8B04}, //13187 #CJK UNIFIED IDEOGRAPH
+  {0xD4F8, 0x9127}, //13188 #CJK UNIFIED IDEOGRAPH
+  {0xD4F9, 0x9A30}, //13189 #CJK UNIFIED IDEOGRAPH
+  {0xD4FA, 0x5587}, //13190 #CJK UNIFIED IDEOGRAPH
+  {0xD4FB, 0x61F6}, //13191 #CJK UNIFIED IDEOGRAPH
+  {0xD4FC, 0xF95B}, //13192 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD4FD, 0x7669}, //13193 #CJK UNIFIED IDEOGRAPH
+  {0xD4FE, 0x7F85}, //13194 #CJK UNIFIED IDEOGRAPH
+  {0xD5A1, 0x863F}, //13195 #CJK UNIFIED IDEOGRAPH
+  {0xD5A2, 0x87BA}, //13196 #CJK UNIFIED IDEOGRAPH
+  {0xD5A3, 0x88F8}, //13197 #CJK UNIFIED IDEOGRAPH
+  {0xD5A4, 0x908F}, //13198 #CJK UNIFIED IDEOGRAPH
+  {0xD5A5, 0xF95C}, //13199 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD5A6, 0x6D1B}, //13200 #CJK UNIFIED IDEOGRAPH
+  {0xD5A7, 0x70D9}, //13201 #CJK UNIFIED IDEOGRAPH
+  {0xD5A8, 0x73DE}, //13202 #CJK UNIFIED IDEOGRAPH
+  {0xD5A9, 0x7D61}, //13203 #CJK UNIFIED IDEOGRAPH
+  {0xD5AA, 0x843D}, //13204 #CJK UNIFIED IDEOGRAPH
+  {0xD5AB, 0xF95D}, //13205 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD5AC, 0x916A}, //13206 #CJK UNIFIED IDEOGRAPH
+  {0xD5AD, 0x99F1}, //13207 #CJK UNIFIED IDEOGRAPH
+  {0xD5AE, 0xF95E}, //13208 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD5AF, 0x4E82}, //13209 #CJK UNIFIED IDEOGRAPH
+  {0xD5B0, 0x5375}, //13210 #CJK UNIFIED IDEOGRAPH
+  {0xD5B1, 0x6B04}, //13211 #CJK UNIFIED IDEOGRAPH
+  {0xD5B2, 0x6B12}, //13212 #CJK UNIFIED IDEOGRAPH
+  {0xD5B3, 0x703E}, //13213 #CJK UNIFIED IDEOGRAPH
+  {0xD5B4, 0x721B}, //13214 #CJK UNIFIED IDEOGRAPH
+  {0xD5B5, 0x862D}, //13215 #CJK UNIFIED IDEOGRAPH
+  {0xD5B6, 0x9E1E}, //13216 #CJK UNIFIED IDEOGRAPH
+  {0xD5B7, 0x524C}, //13217 #CJK UNIFIED IDEOGRAPH
+  {0xD5B8, 0x8FA3}, //13218 #CJK UNIFIED IDEOGRAPH
+  {0xD5B9, 0x5D50}, //13219 #CJK UNIFIED IDEOGRAPH
+  {0xD5BA, 0x64E5}, //13220 #CJK UNIFIED IDEOGRAPH
+  {0xD5BB, 0x652C}, //13221 #CJK UNIFIED IDEOGRAPH
+  {0xD5BC, 0x6B16}, //13222 #CJK UNIFIED IDEOGRAPH
+  {0xD5BD, 0x6FEB}, //13223 #CJK UNIFIED IDEOGRAPH
+  {0xD5BE, 0x7C43}, //13224 #CJK UNIFIED IDEOGRAPH
+  {0xD5BF, 0x7E9C}, //13225 #CJK UNIFIED IDEOGRAPH
+  {0xD5C0, 0x85CD}, //13226 #CJK UNIFIED IDEOGRAPH
+  {0xD5C1, 0x8964}, //13227 #CJK UNIFIED IDEOGRAPH
+  {0xD5C2, 0x89BD}, //13228 #CJK UNIFIED IDEOGRAPH
+  {0xD5C3, 0x62C9}, //13229 #CJK UNIFIED IDEOGRAPH
+  {0xD5C4, 0x81D8}, //13230 #CJK UNIFIED IDEOGRAPH
+  {0xD5C5, 0x881F}, //13231 #CJK UNIFIED IDEOGRAPH
+  {0xD5C6, 0x5ECA}, //13232 #CJK UNIFIED IDEOGRAPH
+  {0xD5C7, 0x6717}, //13233 #CJK UNIFIED IDEOGRAPH
+  {0xD5C8, 0x6D6A}, //13234 #CJK UNIFIED IDEOGRAPH
+  {0xD5C9, 0x72FC}, //13235 #CJK UNIFIED IDEOGRAPH
+  {0xD5CA, 0x7405}, //13236 #CJK UNIFIED IDEOGRAPH
+  {0xD5CB, 0x746F}, //13237 #CJK UNIFIED IDEOGRAPH
+  {0xD5CC, 0x8782}, //13238 #CJK UNIFIED IDEOGRAPH
+  {0xD5CD, 0x90DE}, //13239 #CJK UNIFIED IDEOGRAPH
+  {0xD5CE, 0x4F86}, //13240 #CJK UNIFIED IDEOGRAPH
+  {0xD5CF, 0x5D0D}, //13241 #CJK UNIFIED IDEOGRAPH
+  {0xD5D0, 0x5FA0}, //13242 #CJK UNIFIED IDEOGRAPH
+  {0xD5D1, 0x840A}, //13243 #CJK UNIFIED IDEOGRAPH
+  {0xD5D2, 0x51B7}, //13244 #CJK UNIFIED IDEOGRAPH
+  {0xD5D3, 0x63A0}, //13245 #CJK UNIFIED IDEOGRAPH
+  {0xD5D4, 0x7565}, //13246 #CJK UNIFIED IDEOGRAPH
+  {0xD5D5, 0x4EAE}, //13247 #CJK UNIFIED IDEOGRAPH
+  {0xD5D6, 0x5006}, //13248 #CJK UNIFIED IDEOGRAPH
+  {0xD5D7, 0x5169}, //13249 #CJK UNIFIED IDEOGRAPH
+  {0xD5D8, 0x51C9}, //13250 #CJK UNIFIED IDEOGRAPH
+  {0xD5D9, 0x6881}, //13251 #CJK UNIFIED IDEOGRAPH
+  {0xD5DA, 0x6A11}, //13252 #CJK UNIFIED IDEOGRAPH
+  {0xD5DB, 0x7CAE}, //13253 #CJK UNIFIED IDEOGRAPH
+  {0xD5DC, 0x7CB1}, //13254 #CJK UNIFIED IDEOGRAPH
+  {0xD5DD, 0x7CE7}, //13255 #CJK UNIFIED IDEOGRAPH
+  {0xD5DE, 0x826F}, //13256 #CJK UNIFIED IDEOGRAPH
+  {0xD5DF, 0x8AD2}, //13257 #CJK UNIFIED IDEOGRAPH
+  {0xD5E0, 0x8F1B}, //13258 #CJK UNIFIED IDEOGRAPH
+  {0xD5E1, 0x91CF}, //13259 #CJK UNIFIED IDEOGRAPH
+  {0xD5E2, 0x4FB6}, //13260 #CJK UNIFIED IDEOGRAPH
+  {0xD5E3, 0x5137}, //13261 #CJK UNIFIED IDEOGRAPH
+  {0xD5E4, 0x52F5}, //13262 #CJK UNIFIED IDEOGRAPH
+  {0xD5E5, 0x5442}, //13263 #CJK UNIFIED IDEOGRAPH
+  {0xD5E6, 0x5EEC}, //13264 #CJK UNIFIED IDEOGRAPH
+  {0xD5E7, 0x616E}, //13265 #CJK UNIFIED IDEOGRAPH
+  {0xD5E8, 0x623E}, //13266 #CJK UNIFIED IDEOGRAPH
+  {0xD5E9, 0x65C5}, //13267 #CJK UNIFIED IDEOGRAPH
+  {0xD5EA, 0x6ADA}, //13268 #CJK UNIFIED IDEOGRAPH
+  {0xD5EB, 0x6FFE}, //13269 #CJK UNIFIED IDEOGRAPH
+  {0xD5EC, 0x792A}, //13270 #CJK UNIFIED IDEOGRAPH
+  {0xD5ED, 0x85DC}, //13271 #CJK UNIFIED IDEOGRAPH
+  {0xD5EE, 0x8823}, //13272 #CJK UNIFIED IDEOGRAPH
+  {0xD5EF, 0x95AD}, //13273 #CJK UNIFIED IDEOGRAPH
+  {0xD5F0, 0x9A62}, //13274 #CJK UNIFIED IDEOGRAPH
+  {0xD5F1, 0x9A6A}, //13275 #CJK UNIFIED IDEOGRAPH
+  {0xD5F2, 0x9E97}, //13276 #CJK UNIFIED IDEOGRAPH
+  {0xD5F3, 0x9ECE}, //13277 #CJK UNIFIED IDEOGRAPH
+  {0xD5F4, 0x529B}, //13278 #CJK UNIFIED IDEOGRAPH
+  {0xD5F5, 0x66C6}, //13279 #CJK UNIFIED IDEOGRAPH
+  {0xD5F6, 0x6B77}, //13280 #CJK UNIFIED IDEOGRAPH
+  {0xD5F7, 0x701D}, //13281 #CJK UNIFIED IDEOGRAPH
+  {0xD5F8, 0x792B}, //13282 #CJK UNIFIED IDEOGRAPH
+  {0xD5F9, 0x8F62}, //13283 #CJK UNIFIED IDEOGRAPH
+  {0xD5FA, 0x9742}, //13284 #CJK UNIFIED IDEOGRAPH
+  {0xD5FB, 0x6190}, //13285 #CJK UNIFIED IDEOGRAPH
+  {0xD5FC, 0x6200}, //13286 #CJK UNIFIED IDEOGRAPH
+  {0xD5FD, 0x6523}, //13287 #CJK UNIFIED IDEOGRAPH
+  {0xD5FE, 0x6F23}, //13288 #CJK UNIFIED IDEOGRAPH
+  {0xD6A1, 0x7149}, //13289 #CJK UNIFIED IDEOGRAPH
+  {0xD6A2, 0x7489}, //13290 #CJK UNIFIED IDEOGRAPH
+  {0xD6A3, 0x7DF4}, //13291 #CJK UNIFIED IDEOGRAPH
+  {0xD6A4, 0x806F}, //13292 #CJK UNIFIED IDEOGRAPH
+  {0xD6A5, 0x84EE}, //13293 #CJK UNIFIED IDEOGRAPH
+  {0xD6A6, 0x8F26}, //13294 #CJK UNIFIED IDEOGRAPH
+  {0xD6A7, 0x9023}, //13295 #CJK UNIFIED IDEOGRAPH
+  {0xD6A8, 0x934A}, //13296 #CJK UNIFIED IDEOGRAPH
+  {0xD6A9, 0x51BD}, //13297 #CJK UNIFIED IDEOGRAPH
+  {0xD6AA, 0x5217}, //13298 #CJK UNIFIED IDEOGRAPH
+  {0xD6AB, 0x52A3}, //13299 #CJK UNIFIED IDEOGRAPH
+  {0xD6AC, 0x6D0C}, //13300 #CJK UNIFIED IDEOGRAPH
+  {0xD6AD, 0x70C8}, //13301 #CJK UNIFIED IDEOGRAPH
+  {0xD6AE, 0x88C2}, //13302 #CJK UNIFIED IDEOGRAPH
+  {0xD6AF, 0x5EC9}, //13303 #CJK UNIFIED IDEOGRAPH
+  {0xD6B0, 0x6582}, //13304 #CJK UNIFIED IDEOGRAPH
+  {0xD6B1, 0x6BAE}, //13305 #CJK UNIFIED IDEOGRAPH
+  {0xD6B2, 0x6FC2}, //13306 #CJK UNIFIED IDEOGRAPH
+  {0xD6B3, 0x7C3E}, //13307 #CJK UNIFIED IDEOGRAPH
+  {0xD6B4, 0x7375}, //13308 #CJK UNIFIED IDEOGRAPH
+  {0xD6B5, 0x4EE4}, //13309 #CJK UNIFIED IDEOGRAPH
+  {0xD6B6, 0x4F36}, //13310 #CJK UNIFIED IDEOGRAPH
+  {0xD6B7, 0x56F9}, //13311 #CJK UNIFIED IDEOGRAPH
+  {0xD6B8, 0xF95F}, //13312 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD6B9, 0x5CBA}, //13313 #CJK UNIFIED IDEOGRAPH
+  {0xD6BA, 0x5DBA}, //13314 #CJK UNIFIED IDEOGRAPH
+  {0xD6BB, 0x601C}, //13315 #CJK UNIFIED IDEOGRAPH
+  {0xD6BC, 0x73B2}, //13316 #CJK UNIFIED IDEOGRAPH
+  {0xD6BD, 0x7B2D}, //13317 #CJK UNIFIED IDEOGRAPH
+  {0xD6BE, 0x7F9A}, //13318 #CJK UNIFIED IDEOGRAPH
+  {0xD6BF, 0x7FCE}, //13319 #CJK UNIFIED IDEOGRAPH
+  {0xD6C0, 0x8046}, //13320 #CJK UNIFIED IDEOGRAPH
+  {0xD6C1, 0x901E}, //13321 #CJK UNIFIED IDEOGRAPH
+  {0xD6C2, 0x9234}, //13322 #CJK UNIFIED IDEOGRAPH
+  {0xD6C3, 0x96F6}, //13323 #CJK UNIFIED IDEOGRAPH
+  {0xD6C4, 0x9748}, //13324 #CJK UNIFIED IDEOGRAPH
+  {0xD6C5, 0x9818}, //13325 #CJK UNIFIED IDEOGRAPH
+  {0xD6C6, 0x9F61}, //13326 #CJK UNIFIED IDEOGRAPH
+  {0xD6C7, 0x4F8B}, //13327 #CJK UNIFIED IDEOGRAPH
+  {0xD6C8, 0x6FA7}, //13328 #CJK UNIFIED IDEOGRAPH
+  {0xD6C9, 0x79AE}, //13329 #CJK UNIFIED IDEOGRAPH
+  {0xD6CA, 0x91B4}, //13330 #CJK UNIFIED IDEOGRAPH
+  {0xD6CB, 0x96B7}, //13331 #CJK UNIFIED IDEOGRAPH
+  {0xD6CC, 0x52DE}, //13332 #CJK UNIFIED IDEOGRAPH
+  {0xD6CD, 0xF960}, //13333 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD6CE, 0x6488}, //13334 #CJK UNIFIED IDEOGRAPH
+  {0xD6CF, 0x64C4}, //13335 #CJK UNIFIED IDEOGRAPH
+  {0xD6D0, 0x6AD3}, //13336 #CJK UNIFIED IDEOGRAPH
+  {0xD6D1, 0x6F5E}, //13337 #CJK UNIFIED IDEOGRAPH
+  {0xD6D2, 0x7018}, //13338 #CJK UNIFIED IDEOGRAPH
+  {0xD6D3, 0x7210}, //13339 #CJK UNIFIED IDEOGRAPH
+  {0xD6D4, 0x76E7}, //13340 #CJK UNIFIED IDEOGRAPH
+  {0xD6D5, 0x8001}, //13341 #CJK UNIFIED IDEOGRAPH
+  {0xD6D6, 0x8606}, //13342 #CJK UNIFIED IDEOGRAPH
+  {0xD6D7, 0x865C}, //13343 #CJK UNIFIED IDEOGRAPH
+  {0xD6D8, 0x8DEF}, //13344 #CJK UNIFIED IDEOGRAPH
+  {0xD6D9, 0x8F05}, //13345 #CJK UNIFIED IDEOGRAPH
+  {0xD6DA, 0x9732}, //13346 #CJK UNIFIED IDEOGRAPH
+  {0xD6DB, 0x9B6F}, //13347 #CJK UNIFIED IDEOGRAPH
+  {0xD6DC, 0x9DFA}, //13348 #CJK UNIFIED IDEOGRAPH
+  {0xD6DD, 0x9E75}, //13349 #CJK UNIFIED IDEOGRAPH
+  {0xD6DE, 0x788C}, //13350 #CJK UNIFIED IDEOGRAPH
+  {0xD6DF, 0x797F}, //13351 #CJK UNIFIED IDEOGRAPH
+  {0xD6E0, 0x7DA0}, //13352 #CJK UNIFIED IDEOGRAPH
+  {0xD6E1, 0x83C9}, //13353 #CJK UNIFIED IDEOGRAPH
+  {0xD6E2, 0x9304}, //13354 #CJK UNIFIED IDEOGRAPH
+  {0xD6E3, 0x9E7F}, //13355 #CJK UNIFIED IDEOGRAPH
+  {0xD6E4, 0x9E93}, //13356 #CJK UNIFIED IDEOGRAPH
+  {0xD6E5, 0x8AD6}, //13357 #CJK UNIFIED IDEOGRAPH
+  {0xD6E6, 0x58DF}, //13358 #CJK UNIFIED IDEOGRAPH
+  {0xD6E7, 0x5F04}, //13359 #CJK UNIFIED IDEOGRAPH
+  {0xD6E8, 0x6727}, //13360 #CJK UNIFIED IDEOGRAPH
+  {0xD6E9, 0x7027}, //13361 #CJK UNIFIED IDEOGRAPH
+  {0xD6EA, 0x74CF}, //13362 #CJK UNIFIED IDEOGRAPH
+  {0xD6EB, 0x7C60}, //13363 #CJK UNIFIED IDEOGRAPH
+  {0xD6EC, 0x807E}, //13364 #CJK UNIFIED IDEOGRAPH
+  {0xD6ED, 0x5121}, //13365 #CJK UNIFIED IDEOGRAPH
+  {0xD6EE, 0x7028}, //13366 #CJK UNIFIED IDEOGRAPH
+  {0xD6EF, 0x7262}, //13367 #CJK UNIFIED IDEOGRAPH
+  {0xD6F0, 0x78CA}, //13368 #CJK UNIFIED IDEOGRAPH
+  {0xD6F1, 0x8CC2}, //13369 #CJK UNIFIED IDEOGRAPH
+  {0xD6F2, 0x8CDA}, //13370 #CJK UNIFIED IDEOGRAPH
+  {0xD6F3, 0x8CF4}, //13371 #CJK UNIFIED IDEOGRAPH
+  {0xD6F4, 0x96F7}, //13372 #CJK UNIFIED IDEOGRAPH
+  {0xD6F5, 0x4E86}, //13373 #CJK UNIFIED IDEOGRAPH
+  {0xD6F6, 0x50DA}, //13374 #CJK UNIFIED IDEOGRAPH
+  {0xD6F7, 0x5BEE}, //13375 #CJK UNIFIED IDEOGRAPH
+  {0xD6F8, 0x5ED6}, //13376 #CJK UNIFIED IDEOGRAPH
+  {0xD6F9, 0x6599}, //13377 #CJK UNIFIED IDEOGRAPH
+  {0xD6FA, 0x71CE}, //13378 #CJK UNIFIED IDEOGRAPH
+  {0xD6FB, 0x7642}, //13379 #CJK UNIFIED IDEOGRAPH
+  {0xD6FC, 0x77AD}, //13380 #CJK UNIFIED IDEOGRAPH
+  {0xD6FD, 0x804A}, //13381 #CJK UNIFIED IDEOGRAPH
+  {0xD6FE, 0x84FC}, //13382 #CJK UNIFIED IDEOGRAPH
+  {0xD7A1, 0x907C}, //13383 #CJK UNIFIED IDEOGRAPH
+  {0xD7A2, 0x9B27}, //13384 #CJK UNIFIED IDEOGRAPH
+  {0xD7A3, 0x9F8D}, //13385 #CJK UNIFIED IDEOGRAPH
+  {0xD7A4, 0x58D8}, //13386 #CJK UNIFIED IDEOGRAPH
+  {0xD7A5, 0x5A41}, //13387 #CJK UNIFIED IDEOGRAPH
+  {0xD7A6, 0x5C62}, //13388 #CJK UNIFIED IDEOGRAPH
+  {0xD7A7, 0x6A13}, //13389 #CJK UNIFIED IDEOGRAPH
+  {0xD7A8, 0x6DDA}, //13390 #CJK UNIFIED IDEOGRAPH
+  {0xD7A9, 0x6F0F}, //13391 #CJK UNIFIED IDEOGRAPH
+  {0xD7AA, 0x763B}, //13392 #CJK UNIFIED IDEOGRAPH
+  {0xD7AB, 0x7D2F}, //13393 #CJK UNIFIED IDEOGRAPH
+  {0xD7AC, 0x7E37}, //13394 #CJK UNIFIED IDEOGRAPH
+  {0xD7AD, 0x851E}, //13395 #CJK UNIFIED IDEOGRAPH
+  {0xD7AE, 0x8938}, //13396 #CJK UNIFIED IDEOGRAPH
+  {0xD7AF, 0x93E4}, //13397 #CJK UNIFIED IDEOGRAPH
+  {0xD7B0, 0x964B}, //13398 #CJK UNIFIED IDEOGRAPH
+  {0xD7B1, 0x5289}, //13399 #CJK UNIFIED IDEOGRAPH
+  {0xD7B2, 0x65D2}, //13400 #CJK UNIFIED IDEOGRAPH
+  {0xD7B3, 0x67F3}, //13401 #CJK UNIFIED IDEOGRAPH
+  {0xD7B4, 0x69B4}, //13402 #CJK UNIFIED IDEOGRAPH
+  {0xD7B5, 0x6D41}, //13403 #CJK UNIFIED IDEOGRAPH
+  {0xD7B6, 0x6E9C}, //13404 #CJK UNIFIED IDEOGRAPH
+  {0xD7B7, 0x700F}, //13405 #CJK UNIFIED IDEOGRAPH
+  {0xD7B8, 0x7409}, //13406 #CJK UNIFIED IDEOGRAPH
+  {0xD7B9, 0x7460}, //13407 #CJK UNIFIED IDEOGRAPH
+  {0xD7BA, 0x7559}, //13408 #CJK UNIFIED IDEOGRAPH
+  {0xD7BB, 0x7624}, //13409 #CJK UNIFIED IDEOGRAPH
+  {0xD7BC, 0x786B}, //13410 #CJK UNIFIED IDEOGRAPH
+  {0xD7BD, 0x8B2C}, //13411 #CJK UNIFIED IDEOGRAPH
+  {0xD7BE, 0x985E}, //13412 #CJK UNIFIED IDEOGRAPH
+  {0xD7BF, 0x516D}, //13413 #CJK UNIFIED IDEOGRAPH
+  {0xD7C0, 0x622E}, //13414 #CJK UNIFIED IDEOGRAPH
+  {0xD7C1, 0x9678}, //13415 #CJK UNIFIED IDEOGRAPH
+  {0xD7C2, 0x4F96}, //13416 #CJK UNIFIED IDEOGRAPH
+  {0xD7C3, 0x502B}, //13417 #CJK UNIFIED IDEOGRAPH
+  {0xD7C4, 0x5D19}, //13418 #CJK UNIFIED IDEOGRAPH
+  {0xD7C5, 0x6DEA}, //13419 #CJK UNIFIED IDEOGRAPH
+  {0xD7C6, 0x7DB8}, //13420 #CJK UNIFIED IDEOGRAPH
+  {0xD7C7, 0x8F2A}, //13421 #CJK UNIFIED IDEOGRAPH
+  {0xD7C8, 0x5F8B}, //13422 #CJK UNIFIED IDEOGRAPH
+  {0xD7C9, 0x6144}, //13423 #CJK UNIFIED IDEOGRAPH
+  {0xD7CA, 0x6817}, //13424 #CJK UNIFIED IDEOGRAPH
+  {0xD7CB, 0xF961}, //13425 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD7CC, 0x9686}, //13426 #CJK UNIFIED IDEOGRAPH
+  {0xD7CD, 0x52D2}, //13427 #CJK UNIFIED IDEOGRAPH
+  {0xD7CE, 0x808B}, //13428 #CJK UNIFIED IDEOGRAPH
+  {0xD7CF, 0x51DC}, //13429 #CJK UNIFIED IDEOGRAPH
+  {0xD7D0, 0x51CC}, //13430 #CJK UNIFIED IDEOGRAPH
+  {0xD7D1, 0x695E}, //13431 #CJK UNIFIED IDEOGRAPH
+  {0xD7D2, 0x7A1C}, //13432 #CJK UNIFIED IDEOGRAPH
+  {0xD7D3, 0x7DBE}, //13433 #CJK UNIFIED IDEOGRAPH
+  {0xD7D4, 0x83F1}, //13434 #CJK UNIFIED IDEOGRAPH
+  {0xD7D5, 0x9675}, //13435 #CJK UNIFIED IDEOGRAPH
+  {0xD7D6, 0x4FDA}, //13436 #CJK UNIFIED IDEOGRAPH
+  {0xD7D7, 0x5229}, //13437 #CJK UNIFIED IDEOGRAPH
+  {0xD7D8, 0x5398}, //13438 #CJK UNIFIED IDEOGRAPH
+  {0xD7D9, 0x540F}, //13439 #CJK UNIFIED IDEOGRAPH
+  {0xD7DA, 0x550E}, //13440 #CJK UNIFIED IDEOGRAPH
+  {0xD7DB, 0x5C65}, //13441 #CJK UNIFIED IDEOGRAPH
+  {0xD7DC, 0x60A7}, //13442 #CJK UNIFIED IDEOGRAPH
+  {0xD7DD, 0x674E}, //13443 #CJK UNIFIED IDEOGRAPH
+  {0xD7DE, 0x68A8}, //13444 #CJK UNIFIED IDEOGRAPH
+  {0xD7DF, 0x6D6C}, //13445 #CJK UNIFIED IDEOGRAPH
+  {0xD7E0, 0x7281}, //13446 #CJK UNIFIED IDEOGRAPH
+  {0xD7E1, 0x72F8}, //13447 #CJK UNIFIED IDEOGRAPH
+  {0xD7E2, 0x7406}, //13448 #CJK UNIFIED IDEOGRAPH
+  {0xD7E3, 0x7483}, //13449 #CJK UNIFIED IDEOGRAPH
+  {0xD7E4, 0xF962}, //13450 #CJK COMPATIBILITY IDEOGRAPH
+  {0xD7E5, 0x75E2}, //13451 #CJK UNIFIED IDEOGRAPH
+  {0xD7E6, 0x7C6C}, //13452 #CJK UNIFIED IDEOGRAPH
+  {0xD7E7, 0x7F79}, //13453 #CJK UNIFIED IDEOGRAPH
+  {0xD7E8, 0x7FB8}, //13454 #CJK UNIFIED IDEOGRAPH
+  {0xD7E9, 0x8389}, //13455 #CJK UNIFIED IDEOGRAPH
+  {0xD7EA, 0x88CF}, //13456 #CJK UNIFIED IDEOGRAPH
+  {0xD7EB, 0x88E1}, //13457 #CJK UNIFIED IDEOGRAPH
+  {0xD7EC, 0x91CC}, //13458 #CJK UNIFIED IDEOGRAPH
+  {0xD7ED, 0x91D0}, //13459 #CJK UNIFIED IDEOGRAPH
+  {0xD7EE, 0x96E2}, //13460 #CJK UNIFIED IDEOGRAPH
+  {0xD7EF, 0x9BC9}, //13461 #CJK UNIFIED IDEOGRAPH
+  {0xD7F0, 0x541D}, //13462 #CJK UNIFIED IDEOGRAPH
+  {0xD7F1, 0x6F7E}, //13463 #CJK UNIFIED IDEOGRAPH
+  {0xD7F2, 0x71D0}, //13464 #CJK UNIFIED IDEOGRAPH
+  {0xD7F3, 0x7498}, //13465 #CJK UNIFIED IDEOGRAPH
+  {0xD7F4, 0x85FA}, //13466 #CJK UNIFIED IDEOGRAPH
+  {0xD7F5, 0x8EAA}, //13467 #CJK UNIFIED IDEOGRAPH
+  {0xD7F6, 0x96A3}, //13468 #CJK UNIFIED IDEOGRAPH
+  {0xD7F7, 0x9C57}, //13469 #CJK UNIFIED IDEOGRAPH
+  {0xD7F8, 0x9E9F}, //13470 #CJK UNIFIED IDEOGRAPH
+  {0xD7F9, 0x6797}, //13471 #CJK UNIFIED IDEOGRAPH
+  {0xD7FA, 0x6DCB}, //13472 #CJK UNIFIED IDEOGRAPH
+  {0xD7FB, 0x7433}, //13473 #CJK UNIFIED IDEOGRAPH
+  {0xD7FC, 0x81E8}, //13474 #CJK UNIFIED IDEOGRAPH
+  {0xD7FD, 0x9716}, //13475 #CJK UNIFIED IDEOGRAPH
+  {0xD7FE, 0x782C}, //13476 #CJK UNIFIED IDEOGRAPH
+  {0xD8A1, 0x7ACB}, //13477 #CJK UNIFIED IDEOGRAPH
+  {0xD8A2, 0x7B20}, //13478 #CJK UNIFIED IDEOGRAPH
+  {0xD8A3, 0x7C92}, //13479 #CJK UNIFIED IDEOGRAPH
+  {0xD8A4, 0x6469}, //13480 #CJK UNIFIED IDEOGRAPH
+  {0xD8A5, 0x746A}, //13481 #CJK UNIFIED IDEOGRAPH
+  {0xD8A6, 0x75F2}, //13482 #CJK UNIFIED IDEOGRAPH
+  {0xD8A7, 0x78BC}, //13483 #CJK UNIFIED IDEOGRAPH
+  {0xD8A8, 0x78E8}, //13484 #CJK UNIFIED IDEOGRAPH
+  {0xD8A9, 0x99AC}, //13485 #CJK UNIFIED IDEOGRAPH
+  {0xD8AA, 0x9B54}, //13486 #CJK UNIFIED IDEOGRAPH
+  {0xD8AB, 0x9EBB}, //13487 #CJK UNIFIED IDEOGRAPH
+  {0xD8AC, 0x5BDE}, //13488 #CJK UNIFIED IDEOGRAPH
+  {0xD8AD, 0x5E55}, //13489 #CJK UNIFIED IDEOGRAPH
+  {0xD8AE, 0x6F20}, //13490 #CJK UNIFIED IDEOGRAPH
+  {0xD8AF, 0x819C}, //13491 #CJK UNIFIED IDEOGRAPH
+  {0xD8B0, 0x83AB}, //13492 #CJK UNIFIED IDEOGRAPH
+  {0xD8B1, 0x9088}, //13493 #CJK UNIFIED IDEOGRAPH
+  {0xD8B2, 0x4E07}, //13494 #CJK UNIFIED IDEOGRAPH
+  {0xD8B3, 0x534D}, //13495 #CJK UNIFIED IDEOGRAPH
+  {0xD8B4, 0x5A29}, //13496 #CJK UNIFIED IDEOGRAPH
+  {0xD8B5, 0x5DD2}, //13497 #CJK UNIFIED IDEOGRAPH
+  {0xD8B6, 0x5F4E}, //13498 #CJK UNIFIED IDEOGRAPH
+  {0xD8B7, 0x6162}, //13499 #CJK UNIFIED IDEOGRAPH
+  {0xD8B8, 0x633D}, //13500 #CJK UNIFIED IDEOGRAPH
+  {0xD8B9, 0x6669}, //13501 #CJK UNIFIED IDEOGRAPH
+  {0xD8BA, 0x66FC}, //13502 #CJK UNIFIED IDEOGRAPH
+  {0xD8BB, 0x6EFF}, //13503 #CJK UNIFIED IDEOGRAPH
+  {0xD8BC, 0x6F2B}, //13504 #CJK UNIFIED IDEOGRAPH
+  {0xD8BD, 0x7063}, //13505 #CJK UNIFIED IDEOGRAPH
+  {0xD8BE, 0x779E}, //13506 #CJK UNIFIED IDEOGRAPH
+  {0xD8BF, 0x842C}, //13507 #CJK UNIFIED IDEOGRAPH
+  {0xD8C0, 0x8513}, //13508 #CJK UNIFIED IDEOGRAPH
+  {0xD8C1, 0x883B}, //13509 #CJK UNIFIED IDEOGRAPH
+  {0xD8C2, 0x8F13}, //13510 #CJK UNIFIED IDEOGRAPH
+  {0xD8C3, 0x9945}, //13511 #CJK UNIFIED IDEOGRAPH
+  {0xD8C4, 0x9C3B}, //13512 #CJK UNIFIED IDEOGRAPH
+  {0xD8C5, 0x551C}, //13513 #CJK UNIFIED IDEOGRAPH
+  {0xD8C6, 0x62B9}, //13514 #CJK UNIFIED IDEOGRAPH
+  {0xD8C7, 0x672B}, //13515 #CJK UNIFIED IDEOGRAPH
+  {0xD8C8, 0x6CAB}, //13516 #CJK UNIFIED IDEOGRAPH
+  {0xD8C9, 0x8309}, //13517 #CJK UNIFIED IDEOGRAPH
+  {0xD8CA, 0x896A}, //13518 #CJK UNIFIED IDEOGRAPH
+  {0xD8CB, 0x977A}, //13519 #CJK UNIFIED IDEOGRAPH
+  {0xD8CC, 0x4EA1}, //13520 #CJK UNIFIED IDEOGRAPH
+  {0xD8CD, 0x5984}, //13521 #CJK UNIFIED IDEOGRAPH
+  {0xD8CE, 0x5FD8}, //13522 #CJK UNIFIED IDEOGRAPH
+  {0xD8CF, 0x5FD9}, //13523 #CJK UNIFIED IDEOGRAPH
+  {0xD8D0, 0x671B}, //13524 #CJK UNIFIED IDEOGRAPH
+  {0xD8D1, 0x7DB2}, //13525 #CJK UNIFIED IDEOGRAPH
+  {0xD8D2, 0x7F54}, //13526 #CJK UNIFIED IDEOGRAPH
+  {0xD8D3, 0x8292}, //13527 #CJK UNIFIED IDEOGRAPH
+  {0xD8D4, 0x832B}, //13528 #CJK UNIFIED IDEOGRAPH
+  {0xD8D5, 0x83BD}, //13529 #CJK UNIFIED IDEOGRAPH
+  {0xD8D6, 0x8F1E}, //13530 #CJK UNIFIED IDEOGRAPH
+  {0xD8D7, 0x9099}, //13531 #CJK UNIFIED IDEOGRAPH
+  {0xD8D8, 0x57CB}, //13532 #CJK UNIFIED IDEOGRAPH
+  {0xD8D9, 0x59B9}, //13533 #CJK UNIFIED IDEOGRAPH
+  {0xD8DA, 0x5A92}, //13534 #CJK UNIFIED IDEOGRAPH
+  {0xD8DB, 0x5BD0}, //13535 #CJK UNIFIED IDEOGRAPH
+  {0xD8DC, 0x6627}, //13536 #CJK UNIFIED IDEOGRAPH
+  {0xD8DD, 0x679A}, //13537 #CJK UNIFIED IDEOGRAPH
+  {0xD8DE, 0x6885}, //13538 #CJK UNIFIED IDEOGRAPH
+  {0xD8DF, 0x6BCF}, //13539 #CJK UNIFIED IDEOGRAPH
+  {0xD8E0, 0x7164}, //13540 #CJK UNIFIED IDEOGRAPH
+  {0xD8E1, 0x7F75}, //13541 #CJK UNIFIED IDEOGRAPH
+  {0xD8E2, 0x8CB7}, //13542 #CJK UNIFIED IDEOGRAPH
+  {0xD8E3, 0x8CE3}, //13543 #CJK UNIFIED IDEOGRAPH
+  {0xD8E4, 0x9081}, //13544 #CJK UNIFIED IDEOGRAPH
+  {0xD8E5, 0x9B45}, //13545 #CJK UNIFIED IDEOGRAPH
+  {0xD8E6, 0x8108}, //13546 #CJK UNIFIED IDEOGRAPH
+  {0xD8E7, 0x8C8A}, //13547 #CJK UNIFIED IDEOGRAPH
+  {0xD8E8, 0x964C}, //13548 #CJK UNIFIED IDEOGRAPH
+  {0xD8E9, 0x9A40}, //13549 #CJK UNIFIED IDEOGRAPH
+  {0xD8EA, 0x9EA5}, //13550 #CJK UNIFIED IDEOGRAPH
+  {0xD8EB, 0x5B5F}, //13551 #CJK UNIFIED IDEOGRAPH
+  {0xD8EC, 0x6C13}, //13552 #CJK UNIFIED IDEOGRAPH
+  {0xD8ED, 0x731B}, //13553 #CJK UNIFIED IDEOGRAPH
+  {0xD8EE, 0x76F2}, //13554 #CJK UNIFIED IDEOGRAPH
+  {0xD8EF, 0x76DF}, //13555 #CJK UNIFIED IDEOGRAPH
+  {0xD8F0, 0x840C}, //13556 #CJK UNIFIED IDEOGRAPH
+  {0xD8F1, 0x51AA}, //13557 #CJK UNIFIED IDEOGRAPH
+  {0xD8F2, 0x8993}, //13558 #CJK UNIFIED IDEOGRAPH
+  {0xD8F3, 0x514D}, //13559 #CJK UNIFIED IDEOGRAPH
+  {0xD8F4, 0x5195}, //13560 #CJK UNIFIED IDEOGRAPH
+  {0xD8F5, 0x52C9}, //13561 #CJK UNIFIED IDEOGRAPH
+  {0xD8F6, 0x68C9}, //13562 #CJK UNIFIED IDEOGRAPH
+  {0xD8F7, 0x6C94}, //13563 #CJK UNIFIED IDEOGRAPH
+  {0xD8F8, 0x7704}, //13564 #CJK UNIFIED IDEOGRAPH
+  {0xD8F9, 0x7720}, //13565 #CJK UNIFIED IDEOGRAPH
+  {0xD8FA, 0x7DBF}, //13566 #CJK UNIFIED IDEOGRAPH
+  {0xD8FB, 0x7DEC}, //13567 #CJK UNIFIED IDEOGRAPH
+  {0xD8FC, 0x9762}, //13568 #CJK UNIFIED IDEOGRAPH
+  {0xD8FD, 0x9EB5}, //13569 #CJK UNIFIED IDEOGRAPH
+  {0xD8FE, 0x6EC5}, //13570 #CJK UNIFIED IDEOGRAPH
+  {0xD9A1, 0x8511}, //13571 #CJK UNIFIED IDEOGRAPH
+  {0xD9A2, 0x51A5}, //13572 #CJK UNIFIED IDEOGRAPH
+  {0xD9A3, 0x540D}, //13573 #CJK UNIFIED IDEOGRAPH
+  {0xD9A4, 0x547D}, //13574 #CJK UNIFIED IDEOGRAPH
+  {0xD9A5, 0x660E}, //13575 #CJK UNIFIED IDEOGRAPH
+  {0xD9A6, 0x669D}, //13576 #CJK UNIFIED IDEOGRAPH
+  {0xD9A7, 0x6927}, //13577 #CJK UNIFIED IDEOGRAPH
+  {0xD9A8, 0x6E9F}, //13578 #CJK UNIFIED IDEOGRAPH
+  {0xD9A9, 0x76BF}, //13579 #CJK UNIFIED IDEOGRAPH
+  {0xD9AA, 0x7791}, //13580 #CJK UNIFIED IDEOGRAPH
+  {0xD9AB, 0x8317}, //13581 #CJK UNIFIED IDEOGRAPH
+  {0xD9AC, 0x84C2}, //13582 #CJK UNIFIED IDEOGRAPH
+  {0xD9AD, 0x879F}, //13583 #CJK UNIFIED IDEOGRAPH
+  {0xD9AE, 0x9169}, //13584 #CJK UNIFIED IDEOGRAPH
+  {0xD9AF, 0x9298}, //13585 #CJK UNIFIED IDEOGRAPH
+  {0xD9B0, 0x9CF4}, //13586 #CJK UNIFIED IDEOGRAPH
+  {0xD9B1, 0x8882}, //13587 #CJK UNIFIED IDEOGRAPH
+  {0xD9B2, 0x4FAE}, //13588 #CJK UNIFIED IDEOGRAPH
+  {0xD9B3, 0x5192}, //13589 #CJK UNIFIED IDEOGRAPH
+  {0xD9B4, 0x52DF}, //13590 #CJK UNIFIED IDEOGRAPH
+  {0xD9B5, 0x59C6}, //13591 #CJK UNIFIED IDEOGRAPH
+  {0xD9B6, 0x5E3D}, //13592 #CJK UNIFIED IDEOGRAPH
+  {0xD9B7, 0x6155}, //13593 #CJK UNIFIED IDEOGRAPH
+  {0xD9B8, 0x6478}, //13594 #CJK UNIFIED IDEOGRAPH
+  {0xD9B9, 0x6479}, //13595 #CJK UNIFIED IDEOGRAPH
+  {0xD9BA, 0x66AE}, //13596 #CJK UNIFIED IDEOGRAPH
+  {0xD9BB, 0x67D0}, //13597 #CJK UNIFIED IDEOGRAPH
+  {0xD9BC, 0x6A21}, //13598 #CJK UNIFIED IDEOGRAPH
+  {0xD9BD, 0x6BCD}, //13599 #CJK UNIFIED IDEOGRAPH
+  {0xD9BE, 0x6BDB}, //13600 #CJK UNIFIED IDEOGRAPH
+  {0xD9BF, 0x725F}, //13601 #CJK UNIFIED IDEOGRAPH
+  {0xD9C0, 0x7261}, //13602 #CJK UNIFIED IDEOGRAPH
+  {0xD9C1, 0x7441}, //13603 #CJK UNIFIED IDEOGRAPH
+  {0xD9C2, 0x7738}, //13604 #CJK UNIFIED IDEOGRAPH
+  {0xD9C3, 0x77DB}, //13605 #CJK UNIFIED IDEOGRAPH
+  {0xD9C4, 0x8017}, //13606 #CJK UNIFIED IDEOGRAPH
+  {0xD9C5, 0x82BC}, //13607 #CJK UNIFIED IDEOGRAPH
+  {0xD9C6, 0x8305}, //13608 #CJK UNIFIED IDEOGRAPH
+  {0xD9C7, 0x8B00}, //13609 #CJK UNIFIED IDEOGRAPH
+  {0xD9C8, 0x8B28}, //13610 #CJK UNIFIED IDEOGRAPH
+  {0xD9C9, 0x8C8C}, //13611 #CJK UNIFIED IDEOGRAPH
+  {0xD9CA, 0x6728}, //13612 #CJK UNIFIED IDEOGRAPH
+  {0xD9CB, 0x6C90}, //13613 #CJK UNIFIED IDEOGRAPH
+  {0xD9CC, 0x7267}, //13614 #CJK UNIFIED IDEOGRAPH
+  {0xD9CD, 0x76EE}, //13615 #CJK UNIFIED IDEOGRAPH
+  {0xD9CE, 0x7766}, //13616 #CJK UNIFIED IDEOGRAPH
+  {0xD9CF, 0x7A46}, //13617 #CJK UNIFIED IDEOGRAPH
+  {0xD9D0, 0x9DA9}, //13618 #CJK UNIFIED IDEOGRAPH
+  {0xD9D1, 0x6B7F}, //13619 #CJK UNIFIED IDEOGRAPH
+  {0xD9D2, 0x6C92}, //13620 #CJK UNIFIED IDEOGRAPH
+  {0xD9D3, 0x5922}, //13621 #CJK UNIFIED IDEOGRAPH
+  {0xD9D4, 0x6726}, //13622 #CJK UNIFIED IDEOGRAPH
+  {0xD9D5, 0x8499}, //13623 #CJK UNIFIED IDEOGRAPH
+  {0xD9D6, 0x536F}, //13624 #CJK UNIFIED IDEOGRAPH
+  {0xD9D7, 0x5893}, //13625 #CJK UNIFIED IDEOGRAPH
+  {0xD9D8, 0x5999}, //13626 #CJK UNIFIED IDEOGRAPH
+  {0xD9D9, 0x5EDF}, //13627 #CJK UNIFIED IDEOGRAPH
+  {0xD9DA, 0x63CF}, //13628 #CJK UNIFIED IDEOGRAPH
+  {0xD9DB, 0x6634}, //13629 #CJK UNIFIED IDEOGRAPH
+  {0xD9DC, 0x6773}, //13630 #CJK UNIFIED IDEOGRAPH
+  {0xD9DD, 0x6E3A}, //13631 #CJK UNIFIED IDEOGRAPH
+  {0xD9DE, 0x732B}, //13632 #CJK UNIFIED IDEOGRAPH
+  {0xD9DF, 0x7AD7}, //13633 #CJK UNIFIED IDEOGRAPH
+  {0xD9E0, 0x82D7}, //13634 #CJK UNIFIED IDEOGRAPH
+  {0xD9E1, 0x9328}, //13635 #CJK UNIFIED IDEOGRAPH
+  {0xD9E2, 0x52D9}, //13636 #CJK UNIFIED IDEOGRAPH
+  {0xD9E3, 0x5DEB}, //13637 #CJK UNIFIED IDEOGRAPH
+  {0xD9E4, 0x61AE}, //13638 #CJK UNIFIED IDEOGRAPH
+  {0xD9E5, 0x61CB}, //13639 #CJK UNIFIED IDEOGRAPH
+  {0xD9E6, 0x620A}, //13640 #CJK UNIFIED IDEOGRAPH
+  {0xD9E7, 0x62C7}, //13641 #CJK UNIFIED IDEOGRAPH
+  {0xD9E8, 0x64AB}, //13642 #CJK UNIFIED IDEOGRAPH
+  {0xD9E9, 0x65E0}, //13643 #CJK UNIFIED IDEOGRAPH
+  {0xD9EA, 0x6959}, //13644 #CJK UNIFIED IDEOGRAPH
+  {0xD9EB, 0x6B66}, //13645 #CJK UNIFIED IDEOGRAPH
+  {0xD9EC, 0x6BCB}, //13646 #CJK UNIFIED IDEOGRAPH
+  {0xD9ED, 0x7121}, //13647 #CJK UNIFIED IDEOGRAPH
+  {0xD9EE, 0x73F7}, //13648 #CJK UNIFIED IDEOGRAPH
+  {0xD9EF, 0x755D}, //13649 #CJK UNIFIED IDEOGRAPH
+  {0xD9F0, 0x7E46}, //13650 #CJK UNIFIED IDEOGRAPH
+  {0xD9F1, 0x821E}, //13651 #CJK UNIFIED IDEOGRAPH
+  {0xD9F2, 0x8302}, //13652 #CJK UNIFIED IDEOGRAPH
+  {0xD9F3, 0x856A}, //13653 #CJK UNIFIED IDEOGRAPH
+  {0xD9F4, 0x8AA3}, //13654 #CJK UNIFIED IDEOGRAPH
+  {0xD9F5, 0x8CBF}, //13655 #CJK UNIFIED IDEOGRAPH
+  {0xD9F6, 0x9727}, //13656 #CJK UNIFIED IDEOGRAPH
+  {0xD9F7, 0x9D61}, //13657 #CJK UNIFIED IDEOGRAPH
+  {0xD9F8, 0x58A8}, //13658 #CJK UNIFIED IDEOGRAPH
+  {0xD9F9, 0x9ED8}, //13659 #CJK UNIFIED IDEOGRAPH
+  {0xD9FA, 0x5011}, //13660 #CJK UNIFIED IDEOGRAPH
+  {0xD9FB, 0x520E}, //13661 #CJK UNIFIED IDEOGRAPH
+  {0xD9FC, 0x543B}, //13662 #CJK UNIFIED IDEOGRAPH
+  {0xD9FD, 0x554F}, //13663 #CJK UNIFIED IDEOGRAPH
+  {0xD9FE, 0x6587}, //13664 #CJK UNIFIED IDEOGRAPH
+  {0xDAA1, 0x6C76}, //13665 #CJK UNIFIED IDEOGRAPH
+  {0xDAA2, 0x7D0A}, //13666 #CJK UNIFIED IDEOGRAPH
+  {0xDAA3, 0x7D0B}, //13667 #CJK UNIFIED IDEOGRAPH
+  {0xDAA4, 0x805E}, //13668 #CJK UNIFIED IDEOGRAPH
+  {0xDAA5, 0x868A}, //13669 #CJK UNIFIED IDEOGRAPH
+  {0xDAA6, 0x9580}, //13670 #CJK UNIFIED IDEOGRAPH
+  {0xDAA7, 0x96EF}, //13671 #CJK UNIFIED IDEOGRAPH
+  {0xDAA8, 0x52FF}, //13672 #CJK UNIFIED IDEOGRAPH
+  {0xDAA9, 0x6C95}, //13673 #CJK UNIFIED IDEOGRAPH
+  {0xDAAA, 0x7269}, //13674 #CJK UNIFIED IDEOGRAPH
+  {0xDAAB, 0x5473}, //13675 #CJK UNIFIED IDEOGRAPH
+  {0xDAAC, 0x5A9A}, //13676 #CJK UNIFIED IDEOGRAPH
+  {0xDAAD, 0x5C3E}, //13677 #CJK UNIFIED IDEOGRAPH
+  {0xDAAE, 0x5D4B}, //13678 #CJK UNIFIED IDEOGRAPH
+  {0xDAAF, 0x5F4C}, //13679 #CJK UNIFIED IDEOGRAPH
+  {0xDAB0, 0x5FAE}, //13680 #CJK UNIFIED IDEOGRAPH
+  {0xDAB1, 0x672A}, //13681 #CJK UNIFIED IDEOGRAPH
+  {0xDAB2, 0x68B6}, //13682 #CJK UNIFIED IDEOGRAPH
+  {0xDAB3, 0x6963}, //13683 #CJK UNIFIED IDEOGRAPH
+  {0xDAB4, 0x6E3C}, //13684 #CJK UNIFIED IDEOGRAPH
+  {0xDAB5, 0x6E44}, //13685 #CJK UNIFIED IDEOGRAPH
+  {0xDAB6, 0x7709}, //13686 #CJK UNIFIED IDEOGRAPH
+  {0xDAB7, 0x7C73}, //13687 #CJK UNIFIED IDEOGRAPH
+  {0xDAB8, 0x7F8E}, //13688 #CJK UNIFIED IDEOGRAPH
+  {0xDAB9, 0x8587}, //13689 #CJK UNIFIED IDEOGRAPH
+  {0xDABA, 0x8B0E}, //13690 #CJK UNIFIED IDEOGRAPH
+  {0xDABB, 0x8FF7}, //13691 #CJK UNIFIED IDEOGRAPH
+  {0xDABC, 0x9761}, //13692 #CJK UNIFIED IDEOGRAPH
+  {0xDABD, 0x9EF4}, //13693 #CJK UNIFIED IDEOGRAPH
+  {0xDABE, 0x5CB7}, //13694 #CJK UNIFIED IDEOGRAPH
+  {0xDABF, 0x60B6}, //13695 #CJK UNIFIED IDEOGRAPH
+  {0xDAC0, 0x610D}, //13696 #CJK UNIFIED IDEOGRAPH
+  {0xDAC1, 0x61AB}, //13697 #CJK UNIFIED IDEOGRAPH
+  {0xDAC2, 0x654F}, //13698 #CJK UNIFIED IDEOGRAPH
+  {0xDAC3, 0x65FB}, //13699 #CJK UNIFIED IDEOGRAPH
+  {0xDAC4, 0x65FC}, //13700 #CJK UNIFIED IDEOGRAPH
+  {0xDAC5, 0x6C11}, //13701 #CJK UNIFIED IDEOGRAPH
+  {0xDAC6, 0x6CEF}, //13702 #CJK UNIFIED IDEOGRAPH
+  {0xDAC7, 0x739F}, //13703 #CJK UNIFIED IDEOGRAPH
+  {0xDAC8, 0x73C9}, //13704 #CJK UNIFIED IDEOGRAPH
+  {0xDAC9, 0x7DE1}, //13705 #CJK UNIFIED IDEOGRAPH
+  {0xDACA, 0x9594}, //13706 #CJK UNIFIED IDEOGRAPH
+  {0xDACB, 0x5BC6}, //13707 #CJK UNIFIED IDEOGRAPH
+  {0xDACC, 0x871C}, //13708 #CJK UNIFIED IDEOGRAPH
+  {0xDACD, 0x8B10}, //13709 #CJK UNIFIED IDEOGRAPH
+  {0xDACE, 0x525D}, //13710 #CJK UNIFIED IDEOGRAPH
+  {0xDACF, 0x535A}, //13711 #CJK UNIFIED IDEOGRAPH
+  {0xDAD0, 0x62CD}, //13712 #CJK UNIFIED IDEOGRAPH
+  {0xDAD1, 0x640F}, //13713 #CJK UNIFIED IDEOGRAPH
+  {0xDAD2, 0x64B2}, //13714 #CJK UNIFIED IDEOGRAPH
+  {0xDAD3, 0x6734}, //13715 #CJK UNIFIED IDEOGRAPH
+  {0xDAD4, 0x6A38}, //13716 #CJK UNIFIED IDEOGRAPH
+  {0xDAD5, 0x6CCA}, //13717 #CJK UNIFIED IDEOGRAPH
+  {0xDAD6, 0x73C0}, //13718 #CJK UNIFIED IDEOGRAPH
+  {0xDAD7, 0x749E}, //13719 #CJK UNIFIED IDEOGRAPH
+  {0xDAD8, 0x7B94}, //13720 #CJK UNIFIED IDEOGRAPH
+  {0xDAD9, 0x7C95}, //13721 #CJK UNIFIED IDEOGRAPH
+  {0xDADA, 0x7E1B}, //13722 #CJK UNIFIED IDEOGRAPH
+  {0xDADB, 0x818A}, //13723 #CJK UNIFIED IDEOGRAPH
+  {0xDADC, 0x8236}, //13724 #CJK UNIFIED IDEOGRAPH
+  {0xDADD, 0x8584}, //13725 #CJK UNIFIED IDEOGRAPH
+  {0xDADE, 0x8FEB}, //13726 #CJK UNIFIED IDEOGRAPH
+  {0xDADF, 0x96F9}, //13727 #CJK UNIFIED IDEOGRAPH
+  {0xDAE0, 0x99C1}, //13728 #CJK UNIFIED IDEOGRAPH
+  {0xDAE1, 0x4F34}, //13729 #CJK UNIFIED IDEOGRAPH
+  {0xDAE2, 0x534A}, //13730 #CJK UNIFIED IDEOGRAPH
+  {0xDAE3, 0x53CD}, //13731 #CJK UNIFIED IDEOGRAPH
+  {0xDAE4, 0x53DB}, //13732 #CJK UNIFIED IDEOGRAPH
+  {0xDAE5, 0x62CC}, //13733 #CJK UNIFIED IDEOGRAPH
+  {0xDAE6, 0x642C}, //13734 #CJK UNIFIED IDEOGRAPH
+  {0xDAE7, 0x6500}, //13735 #CJK UNIFIED IDEOGRAPH
+  {0xDAE8, 0x6591}, //13736 #CJK UNIFIED IDEOGRAPH
+  {0xDAE9, 0x69C3}, //13737 #CJK UNIFIED IDEOGRAPH
+  {0xDAEA, 0x6CEE}, //13738 #CJK UNIFIED IDEOGRAPH
+  {0xDAEB, 0x6F58}, //13739 #CJK UNIFIED IDEOGRAPH
+  {0xDAEC, 0x73ED}, //13740 #CJK UNIFIED IDEOGRAPH
+  {0xDAED, 0x7554}, //13741 #CJK UNIFIED IDEOGRAPH
+  {0xDAEE, 0x7622}, //13742 #CJK UNIFIED IDEOGRAPH
+  {0xDAEF, 0x76E4}, //13743 #CJK UNIFIED IDEOGRAPH
+  {0xDAF0, 0x76FC}, //13744 #CJK UNIFIED IDEOGRAPH
+  {0xDAF1, 0x78D0}, //13745 #CJK UNIFIED IDEOGRAPH
+  {0xDAF2, 0x78FB}, //13746 #CJK UNIFIED IDEOGRAPH
+  {0xDAF3, 0x792C}, //13747 #CJK UNIFIED IDEOGRAPH
+  {0xDAF4, 0x7D46}, //13748 #CJK UNIFIED IDEOGRAPH
+  {0xDAF5, 0x822C}, //13749 #CJK UNIFIED IDEOGRAPH
+  {0xDAF6, 0x87E0}, //13750 #CJK UNIFIED IDEOGRAPH
+  {0xDAF7, 0x8FD4}, //13751 #CJK UNIFIED IDEOGRAPH
+  {0xDAF8, 0x9812}, //13752 #CJK UNIFIED IDEOGRAPH
+  {0xDAF9, 0x98EF}, //13753 #CJK UNIFIED IDEOGRAPH
+  {0xDAFA, 0x52C3}, //13754 #CJK UNIFIED IDEOGRAPH
+  {0xDAFB, 0x62D4}, //13755 #CJK UNIFIED IDEOGRAPH
+  {0xDAFC, 0x64A5}, //13756 #CJK UNIFIED IDEOGRAPH
+  {0xDAFD, 0x6E24}, //13757 #CJK UNIFIED IDEOGRAPH
+  {0xDAFE, 0x6F51}, //13758 #CJK UNIFIED IDEOGRAPH
+  {0xDBA1, 0x767C}, //13759 #CJK UNIFIED IDEOGRAPH
+  {0xDBA2, 0x8DCB}, //13760 #CJK UNIFIED IDEOGRAPH
+  {0xDBA3, 0x91B1}, //13761 #CJK UNIFIED IDEOGRAPH
+  {0xDBA4, 0x9262}, //13762 #CJK UNIFIED IDEOGRAPH
+  {0xDBA5, 0x9AEE}, //13763 #CJK UNIFIED IDEOGRAPH
+  {0xDBA6, 0x9B43}, //13764 #CJK UNIFIED IDEOGRAPH
+  {0xDBA7, 0x5023}, //13765 #CJK UNIFIED IDEOGRAPH
+  {0xDBA8, 0x508D}, //13766 #CJK UNIFIED IDEOGRAPH
+  {0xDBA9, 0x574A}, //13767 #CJK UNIFIED IDEOGRAPH
+  {0xDBAA, 0x59A8}, //13768 #CJK UNIFIED IDEOGRAPH
+  {0xDBAB, 0x5C28}, //13769 #CJK UNIFIED IDEOGRAPH
+  {0xDBAC, 0x5E47}, //13770 #CJK UNIFIED IDEOGRAPH
+  {0xDBAD, 0x5F77}, //13771 #CJK UNIFIED IDEOGRAPH
+  {0xDBAE, 0x623F}, //13772 #CJK UNIFIED IDEOGRAPH
+  {0xDBAF, 0x653E}, //13773 #CJK UNIFIED IDEOGRAPH
+  {0xDBB0, 0x65B9}, //13774 #CJK UNIFIED IDEOGRAPH
+  {0xDBB1, 0x65C1}, //13775 #CJK UNIFIED IDEOGRAPH
+  {0xDBB2, 0x6609}, //13776 #CJK UNIFIED IDEOGRAPH
+  {0xDBB3, 0x678B}, //13777 #CJK UNIFIED IDEOGRAPH
+  {0xDBB4, 0x699C}, //13778 #CJK UNIFIED IDEOGRAPH
+  {0xDBB5, 0x6EC2}, //13779 #CJK UNIFIED IDEOGRAPH
+  {0xDBB6, 0x78C5}, //13780 #CJK UNIFIED IDEOGRAPH
+  {0xDBB7, 0x7D21}, //13781 #CJK UNIFIED IDEOGRAPH
+  {0xDBB8, 0x80AA}, //13782 #CJK UNIFIED IDEOGRAPH
+  {0xDBB9, 0x8180}, //13783 #CJK UNIFIED IDEOGRAPH
+  {0xDBBA, 0x822B}, //13784 #CJK UNIFIED IDEOGRAPH
+  {0xDBBB, 0x82B3}, //13785 #CJK UNIFIED IDEOGRAPH
+  {0xDBBC, 0x84A1}, //13786 #CJK UNIFIED IDEOGRAPH
+  {0xDBBD, 0x868C}, //13787 #CJK UNIFIED IDEOGRAPH
+  {0xDBBE, 0x8A2A}, //13788 #CJK UNIFIED IDEOGRAPH
+  {0xDBBF, 0x8B17}, //13789 #CJK UNIFIED IDEOGRAPH
+  {0xDBC0, 0x90A6}, //13790 #CJK UNIFIED IDEOGRAPH
+  {0xDBC1, 0x9632}, //13791 #CJK UNIFIED IDEOGRAPH
+  {0xDBC2, 0x9F90}, //13792 #CJK UNIFIED IDEOGRAPH
+  {0xDBC3, 0x500D}, //13793 #CJK UNIFIED IDEOGRAPH
+  {0xDBC4, 0x4FF3}, //13794 #CJK UNIFIED IDEOGRAPH
+  {0xDBC5, 0xF963}, //13795 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDBC6, 0x57F9}, //13796 #CJK UNIFIED IDEOGRAPH
+  {0xDBC7, 0x5F98}, //13797 #CJK UNIFIED IDEOGRAPH
+  {0xDBC8, 0x62DC}, //13798 #CJK UNIFIED IDEOGRAPH
+  {0xDBC9, 0x6392}, //13799 #CJK UNIFIED IDEOGRAPH
+  {0xDBCA, 0x676F}, //13800 #CJK UNIFIED IDEOGRAPH
+  {0xDBCB, 0x6E43}, //13801 #CJK UNIFIED IDEOGRAPH
+  {0xDBCC, 0x7119}, //13802 #CJK UNIFIED IDEOGRAPH
+  {0xDBCD, 0x76C3}, //13803 #CJK UNIFIED IDEOGRAPH
+  {0xDBCE, 0x80CC}, //13804 #CJK UNIFIED IDEOGRAPH
+  {0xDBCF, 0x80DA}, //13805 #CJK UNIFIED IDEOGRAPH
+  {0xDBD0, 0x88F4}, //13806 #CJK UNIFIED IDEOGRAPH
+  {0xDBD1, 0x88F5}, //13807 #CJK UNIFIED IDEOGRAPH
+  {0xDBD2, 0x8919}, //13808 #CJK UNIFIED IDEOGRAPH
+  {0xDBD3, 0x8CE0}, //13809 #CJK UNIFIED IDEOGRAPH
+  {0xDBD4, 0x8F29}, //13810 #CJK UNIFIED IDEOGRAPH
+  {0xDBD5, 0x914D}, //13811 #CJK UNIFIED IDEOGRAPH
+  {0xDBD6, 0x966A}, //13812 #CJK UNIFIED IDEOGRAPH
+  {0xDBD7, 0x4F2F}, //13813 #CJK UNIFIED IDEOGRAPH
+  {0xDBD8, 0x4F70}, //13814 #CJK UNIFIED IDEOGRAPH
+  {0xDBD9, 0x5E1B}, //13815 #CJK UNIFIED IDEOGRAPH
+  {0xDBDA, 0x67CF}, //13816 #CJK UNIFIED IDEOGRAPH
+  {0xDBDB, 0x6822}, //13817 #CJK UNIFIED IDEOGRAPH
+  {0xDBDC, 0x767D}, //13818 #CJK UNIFIED IDEOGRAPH
+  {0xDBDD, 0x767E}, //13819 #CJK UNIFIED IDEOGRAPH
+  {0xDBDE, 0x9B44}, //13820 #CJK UNIFIED IDEOGRAPH
+  {0xDBDF, 0x5E61}, //13821 #CJK UNIFIED IDEOGRAPH
+  {0xDBE0, 0x6A0A}, //13822 #CJK UNIFIED IDEOGRAPH
+  {0xDBE1, 0x7169}, //13823 #CJK UNIFIED IDEOGRAPH
+  {0xDBE2, 0x71D4}, //13824 #CJK UNIFIED IDEOGRAPH
+  {0xDBE3, 0x756A}, //13825 #CJK UNIFIED IDEOGRAPH
+  {0xDBE4, 0xF964}, //13826 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDBE5, 0x7E41}, //13827 #CJK UNIFIED IDEOGRAPH
+  {0xDBE6, 0x8543}, //13828 #CJK UNIFIED IDEOGRAPH
+  {0xDBE7, 0x85E9}, //13829 #CJK UNIFIED IDEOGRAPH
+  {0xDBE8, 0x98DC}, //13830 #CJK UNIFIED IDEOGRAPH
+  {0xDBE9, 0x4F10}, //13831 #CJK UNIFIED IDEOGRAPH
+  {0xDBEA, 0x7B4F}, //13832 #CJK UNIFIED IDEOGRAPH
+  {0xDBEB, 0x7F70}, //13833 #CJK UNIFIED IDEOGRAPH
+  {0xDBEC, 0x95A5}, //13834 #CJK UNIFIED IDEOGRAPH
+  {0xDBED, 0x51E1}, //13835 #CJK UNIFIED IDEOGRAPH
+  {0xDBEE, 0x5E06}, //13836 #CJK UNIFIED IDEOGRAPH
+  {0xDBEF, 0x68B5}, //13837 #CJK UNIFIED IDEOGRAPH
+  {0xDBF0, 0x6C3E}, //13838 #CJK UNIFIED IDEOGRAPH
+  {0xDBF1, 0x6C4E}, //13839 #CJK UNIFIED IDEOGRAPH
+  {0xDBF2, 0x6CDB}, //13840 #CJK UNIFIED IDEOGRAPH
+  {0xDBF3, 0x72AF}, //13841 #CJK UNIFIED IDEOGRAPH
+  {0xDBF4, 0x7BC4}, //13842 #CJK UNIFIED IDEOGRAPH
+  {0xDBF5, 0x8303}, //13843 #CJK UNIFIED IDEOGRAPH
+  {0xDBF6, 0x6CD5}, //13844 #CJK UNIFIED IDEOGRAPH
+  {0xDBF7, 0x743A}, //13845 #CJK UNIFIED IDEOGRAPH
+  {0xDBF8, 0x50FB}, //13846 #CJK UNIFIED IDEOGRAPH
+  {0xDBF9, 0x5288}, //13847 #CJK UNIFIED IDEOGRAPH
+  {0xDBFA, 0x58C1}, //13848 #CJK UNIFIED IDEOGRAPH
+  {0xDBFB, 0x64D8}, //13849 #CJK UNIFIED IDEOGRAPH
+  {0xDBFC, 0x6A97}, //13850 #CJK UNIFIED IDEOGRAPH
+  {0xDBFD, 0x74A7}, //13851 #CJK UNIFIED IDEOGRAPH
+  {0xDBFE, 0x7656}, //13852 #CJK UNIFIED IDEOGRAPH
+  {0xDCA1, 0x78A7}, //13853 #CJK UNIFIED IDEOGRAPH
+  {0xDCA2, 0x8617}, //13854 #CJK UNIFIED IDEOGRAPH
+  {0xDCA3, 0x95E2}, //13855 #CJK UNIFIED IDEOGRAPH
+  {0xDCA4, 0x9739}, //13856 #CJK UNIFIED IDEOGRAPH
+  {0xDCA5, 0xF965}, //13857 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDCA6, 0x535E}, //13858 #CJK UNIFIED IDEOGRAPH
+  {0xDCA7, 0x5F01}, //13859 #CJK UNIFIED IDEOGRAPH
+  {0xDCA8, 0x8B8A}, //13860 #CJK UNIFIED IDEOGRAPH
+  {0xDCA9, 0x8FA8}, //13861 #CJK UNIFIED IDEOGRAPH
+  {0xDCAA, 0x8FAF}, //13862 #CJK UNIFIED IDEOGRAPH
+  {0xDCAB, 0x908A}, //13863 #CJK UNIFIED IDEOGRAPH
+  {0xDCAC, 0x5225}, //13864 #CJK UNIFIED IDEOGRAPH
+  {0xDCAD, 0x77A5}, //13865 #CJK UNIFIED IDEOGRAPH
+  {0xDCAE, 0x9C49}, //13866 #CJK UNIFIED IDEOGRAPH
+  {0xDCAF, 0x9F08}, //13867 #CJK UNIFIED IDEOGRAPH
+  {0xDCB0, 0x4E19}, //13868 #CJK UNIFIED IDEOGRAPH
+  {0xDCB1, 0x5002}, //13869 #CJK UNIFIED IDEOGRAPH
+  {0xDCB2, 0x5175}, //13870 #CJK UNIFIED IDEOGRAPH
+  {0xDCB3, 0x5C5B}, //13871 #CJK UNIFIED IDEOGRAPH
+  {0xDCB4, 0x5E77}, //13872 #CJK UNIFIED IDEOGRAPH
+  {0xDCB5, 0x661E}, //13873 #CJK UNIFIED IDEOGRAPH
+  {0xDCB6, 0x663A}, //13874 #CJK UNIFIED IDEOGRAPH
+  {0xDCB7, 0x67C4}, //13875 #CJK UNIFIED IDEOGRAPH
+  {0xDCB8, 0x68C5}, //13876 #CJK UNIFIED IDEOGRAPH
+  {0xDCB9, 0x70B3}, //13877 #CJK UNIFIED IDEOGRAPH
+  {0xDCBA, 0x7501}, //13878 #CJK UNIFIED IDEOGRAPH
+  {0xDCBB, 0x75C5}, //13879 #CJK UNIFIED IDEOGRAPH
+  {0xDCBC, 0x79C9}, //13880 #CJK UNIFIED IDEOGRAPH
+  {0xDCBD, 0x7ADD}, //13881 #CJK UNIFIED IDEOGRAPH
+  {0xDCBE, 0x8F27}, //13882 #CJK UNIFIED IDEOGRAPH
+  {0xDCBF, 0x9920}, //13883 #CJK UNIFIED IDEOGRAPH
+  {0xDCC0, 0x9A08}, //13884 #CJK UNIFIED IDEOGRAPH
+  {0xDCC1, 0x4FDD}, //13885 #CJK UNIFIED IDEOGRAPH
+  {0xDCC2, 0x5821}, //13886 #CJK UNIFIED IDEOGRAPH
+  {0xDCC3, 0x5831}, //13887 #CJK UNIFIED IDEOGRAPH
+  {0xDCC4, 0x5BF6}, //13888 #CJK UNIFIED IDEOGRAPH
+  {0xDCC5, 0x666E}, //13889 #CJK UNIFIED IDEOGRAPH
+  {0xDCC6, 0x6B65}, //13890 #CJK UNIFIED IDEOGRAPH
+  {0xDCC7, 0x6D11}, //13891 #CJK UNIFIED IDEOGRAPH
+  {0xDCC8, 0x6E7A}, //13892 #CJK UNIFIED IDEOGRAPH
+  {0xDCC9, 0x6F7D}, //13893 #CJK UNIFIED IDEOGRAPH
+  {0xDCCA, 0x73E4}, //13894 #CJK UNIFIED IDEOGRAPH
+  {0xDCCB, 0x752B}, //13895 #CJK UNIFIED IDEOGRAPH
+  {0xDCCC, 0x83E9}, //13896 #CJK UNIFIED IDEOGRAPH
+  {0xDCCD, 0x88DC}, //13897 #CJK UNIFIED IDEOGRAPH
+  {0xDCCE, 0x8913}, //13898 #CJK UNIFIED IDEOGRAPH
+  {0xDCCF, 0x8B5C}, //13899 #CJK UNIFIED IDEOGRAPH
+  {0xDCD0, 0x8F14}, //13900 #CJK UNIFIED IDEOGRAPH
+  {0xDCD1, 0x4F0F}, //13901 #CJK UNIFIED IDEOGRAPH
+  {0xDCD2, 0x50D5}, //13902 #CJK UNIFIED IDEOGRAPH
+  {0xDCD3, 0x5310}, //13903 #CJK UNIFIED IDEOGRAPH
+  {0xDCD4, 0x535C}, //13904 #CJK UNIFIED IDEOGRAPH
+  {0xDCD5, 0x5B93}, //13905 #CJK UNIFIED IDEOGRAPH
+  {0xDCD6, 0x5FA9}, //13906 #CJK UNIFIED IDEOGRAPH
+  {0xDCD7, 0x670D}, //13907 #CJK UNIFIED IDEOGRAPH
+  {0xDCD8, 0x798F}, //13908 #CJK UNIFIED IDEOGRAPH
+  {0xDCD9, 0x8179}, //13909 #CJK UNIFIED IDEOGRAPH
+  {0xDCDA, 0x832F}, //13910 #CJK UNIFIED IDEOGRAPH
+  {0xDCDB, 0x8514}, //13911 #CJK UNIFIED IDEOGRAPH
+  {0xDCDC, 0x8907}, //13912 #CJK UNIFIED IDEOGRAPH
+  {0xDCDD, 0x8986}, //13913 #CJK UNIFIED IDEOGRAPH
+  {0xDCDE, 0x8F39}, //13914 #CJK UNIFIED IDEOGRAPH
+  {0xDCDF, 0x8F3B}, //13915 #CJK UNIFIED IDEOGRAPH
+  {0xDCE0, 0x99A5}, //13916 #CJK UNIFIED IDEOGRAPH
+  {0xDCE1, 0x9C12}, //13917 #CJK UNIFIED IDEOGRAPH
+  {0xDCE2, 0x672C}, //13918 #CJK UNIFIED IDEOGRAPH
+  {0xDCE3, 0x4E76}, //13919 #CJK UNIFIED IDEOGRAPH
+  {0xDCE4, 0x4FF8}, //13920 #CJK UNIFIED IDEOGRAPH
+  {0xDCE5, 0x5949}, //13921 #CJK UNIFIED IDEOGRAPH
+  {0xDCE6, 0x5C01}, //13922 #CJK UNIFIED IDEOGRAPH
+  {0xDCE7, 0x5CEF}, //13923 #CJK UNIFIED IDEOGRAPH
+  {0xDCE8, 0x5CF0}, //13924 #CJK UNIFIED IDEOGRAPH
+  {0xDCE9, 0x6367}, //13925 #CJK UNIFIED IDEOGRAPH
+  {0xDCEA, 0x68D2}, //13926 #CJK UNIFIED IDEOGRAPH
+  {0xDCEB, 0x70FD}, //13927 #CJK UNIFIED IDEOGRAPH
+  {0xDCEC, 0x71A2}, //13928 #CJK UNIFIED IDEOGRAPH
+  {0xDCED, 0x742B}, //13929 #CJK UNIFIED IDEOGRAPH
+  {0xDCEE, 0x7E2B}, //13930 #CJK UNIFIED IDEOGRAPH
+  {0xDCEF, 0x84EC}, //13931 #CJK UNIFIED IDEOGRAPH
+  {0xDCF0, 0x8702}, //13932 #CJK UNIFIED IDEOGRAPH
+  {0xDCF1, 0x9022}, //13933 #CJK UNIFIED IDEOGRAPH
+  {0xDCF2, 0x92D2}, //13934 #CJK UNIFIED IDEOGRAPH
+  {0xDCF3, 0x9CF3}, //13935 #CJK UNIFIED IDEOGRAPH
+  {0xDCF4, 0x4E0D}, //13936 #CJK UNIFIED IDEOGRAPH
+  {0xDCF5, 0x4ED8}, //13937 #CJK UNIFIED IDEOGRAPH
+  {0xDCF6, 0x4FEF}, //13938 #CJK UNIFIED IDEOGRAPH
+  {0xDCF7, 0x5085}, //13939 #CJK UNIFIED IDEOGRAPH
+  {0xDCF8, 0x5256}, //13940 #CJK UNIFIED IDEOGRAPH
+  {0xDCF9, 0x526F}, //13941 #CJK UNIFIED IDEOGRAPH
+  {0xDCFA, 0x5426}, //13942 #CJK UNIFIED IDEOGRAPH
+  {0xDCFB, 0x5490}, //13943 #CJK UNIFIED IDEOGRAPH
+  {0xDCFC, 0x57E0}, //13944 #CJK UNIFIED IDEOGRAPH
+  {0xDCFD, 0x592B}, //13945 #CJK UNIFIED IDEOGRAPH
+  {0xDCFE, 0x5A66}, //13946 #CJK UNIFIED IDEOGRAPH
+  {0xDDA1, 0x5B5A}, //13947 #CJK UNIFIED IDEOGRAPH
+  {0xDDA2, 0x5B75}, //13948 #CJK UNIFIED IDEOGRAPH
+  {0xDDA3, 0x5BCC}, //13949 #CJK UNIFIED IDEOGRAPH
+  {0xDDA4, 0x5E9C}, //13950 #CJK UNIFIED IDEOGRAPH
+  {0xDDA5, 0xF966}, //13951 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDDA6, 0x6276}, //13952 #CJK UNIFIED IDEOGRAPH
+  {0xDDA7, 0x6577}, //13953 #CJK UNIFIED IDEOGRAPH
+  {0xDDA8, 0x65A7}, //13954 #CJK UNIFIED IDEOGRAPH
+  {0xDDA9, 0x6D6E}, //13955 #CJK UNIFIED IDEOGRAPH
+  {0xDDAA, 0x6EA5}, //13956 #CJK UNIFIED IDEOGRAPH
+  {0xDDAB, 0x7236}, //13957 #CJK UNIFIED IDEOGRAPH
+  {0xDDAC, 0x7B26}, //13958 #CJK UNIFIED IDEOGRAPH
+  {0xDDAD, 0x7C3F}, //13959 #CJK UNIFIED IDEOGRAPH
+  {0xDDAE, 0x7F36}, //13960 #CJK UNIFIED IDEOGRAPH
+  {0xDDAF, 0x8150}, //13961 #CJK UNIFIED IDEOGRAPH
+  {0xDDB0, 0x8151}, //13962 #CJK UNIFIED IDEOGRAPH
+  {0xDDB1, 0x819A}, //13963 #CJK UNIFIED IDEOGRAPH
+  {0xDDB2, 0x8240}, //13964 #CJK UNIFIED IDEOGRAPH
+  {0xDDB3, 0x8299}, //13965 #CJK UNIFIED IDEOGRAPH
+  {0xDDB4, 0x83A9}, //13966 #CJK UNIFIED IDEOGRAPH
+  {0xDDB5, 0x8A03}, //13967 #CJK UNIFIED IDEOGRAPH
+  {0xDDB6, 0x8CA0}, //13968 #CJK UNIFIED IDEOGRAPH
+  {0xDDB7, 0x8CE6}, //13969 #CJK UNIFIED IDEOGRAPH
+  {0xDDB8, 0x8CFB}, //13970 #CJK UNIFIED IDEOGRAPH
+  {0xDDB9, 0x8D74}, //13971 #CJK UNIFIED IDEOGRAPH
+  {0xDDBA, 0x8DBA}, //13972 #CJK UNIFIED IDEOGRAPH
+  {0xDDBB, 0x90E8}, //13973 #CJK UNIFIED IDEOGRAPH
+  {0xDDBC, 0x91DC}, //13974 #CJK UNIFIED IDEOGRAPH
+  {0xDDBD, 0x961C}, //13975 #CJK UNIFIED IDEOGRAPH
+  {0xDDBE, 0x9644}, //13976 #CJK UNIFIED IDEOGRAPH
+  {0xDDBF, 0x99D9}, //13977 #CJK UNIFIED IDEOGRAPH
+  {0xDDC0, 0x9CE7}, //13978 #CJK UNIFIED IDEOGRAPH
+  {0xDDC1, 0x5317}, //13979 #CJK UNIFIED IDEOGRAPH
+  {0xDDC2, 0x5206}, //13980 #CJK UNIFIED IDEOGRAPH
+  {0xDDC3, 0x5429}, //13981 #CJK UNIFIED IDEOGRAPH
+  {0xDDC4, 0x5674}, //13982 #CJK UNIFIED IDEOGRAPH
+  {0xDDC5, 0x58B3}, //13983 #CJK UNIFIED IDEOGRAPH
+  {0xDDC6, 0x5954}, //13984 #CJK UNIFIED IDEOGRAPH
+  {0xDDC7, 0x596E}, //13985 #CJK UNIFIED IDEOGRAPH
+  {0xDDC8, 0x5FFF}, //13986 #CJK UNIFIED IDEOGRAPH
+  {0xDDC9, 0x61A4}, //13987 #CJK UNIFIED IDEOGRAPH
+  {0xDDCA, 0x626E}, //13988 #CJK UNIFIED IDEOGRAPH
+  {0xDDCB, 0x6610}, //13989 #CJK UNIFIED IDEOGRAPH
+  {0xDDCC, 0x6C7E}, //13990 #CJK UNIFIED IDEOGRAPH
+  {0xDDCD, 0x711A}, //13991 #CJK UNIFIED IDEOGRAPH
+  {0xDDCE, 0x76C6}, //13992 #CJK UNIFIED IDEOGRAPH
+  {0xDDCF, 0x7C89}, //13993 #CJK UNIFIED IDEOGRAPH
+  {0xDDD0, 0x7CDE}, //13994 #CJK UNIFIED IDEOGRAPH
+  {0xDDD1, 0x7D1B}, //13995 #CJK UNIFIED IDEOGRAPH
+  {0xDDD2, 0x82AC}, //13996 #CJK UNIFIED IDEOGRAPH
+  {0xDDD3, 0x8CC1}, //13997 #CJK UNIFIED IDEOGRAPH
+  {0xDDD4, 0x96F0}, //13998 #CJK UNIFIED IDEOGRAPH
+  {0xDDD5, 0xF967}, //13999 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDDD6, 0x4F5B}, //14000 #CJK UNIFIED IDEOGRAPH
+  {0xDDD7, 0x5F17}, //14001 #CJK UNIFIED IDEOGRAPH
+  {0xDDD8, 0x5F7F}, //14002 #CJK UNIFIED IDEOGRAPH
+  {0xDDD9, 0x62C2}, //14003 #CJK UNIFIED IDEOGRAPH
+  {0xDDDA, 0x5D29}, //14004 #CJK UNIFIED IDEOGRAPH
+  {0xDDDB, 0x670B}, //14005 #CJK UNIFIED IDEOGRAPH
+  {0xDDDC, 0x68DA}, //14006 #CJK UNIFIED IDEOGRAPH
+  {0xDDDD, 0x787C}, //14007 #CJK UNIFIED IDEOGRAPH
+  {0xDDDE, 0x7E43}, //14008 #CJK UNIFIED IDEOGRAPH
+  {0xDDDF, 0x9D6C}, //14009 #CJK UNIFIED IDEOGRAPH
+  {0xDDE0, 0x4E15}, //14010 #CJK UNIFIED IDEOGRAPH
+  {0xDDE1, 0x5099}, //14011 #CJK UNIFIED IDEOGRAPH
+  {0xDDE2, 0x5315}, //14012 #CJK UNIFIED IDEOGRAPH
+  {0xDDE3, 0x532A}, //14013 #CJK UNIFIED IDEOGRAPH
+  {0xDDE4, 0x5351}, //14014 #CJK UNIFIED IDEOGRAPH
+  {0xDDE5, 0x5983}, //14015 #CJK UNIFIED IDEOGRAPH
+  {0xDDE6, 0x5A62}, //14016 #CJK UNIFIED IDEOGRAPH
+  {0xDDE7, 0x5E87}, //14017 #CJK UNIFIED IDEOGRAPH
+  {0xDDE8, 0x60B2}, //14018 #CJK UNIFIED IDEOGRAPH
+  {0xDDE9, 0x618A}, //14019 #CJK UNIFIED IDEOGRAPH
+  {0xDDEA, 0x6249}, //14020 #CJK UNIFIED IDEOGRAPH
+  {0xDDEB, 0x6279}, //14021 #CJK UNIFIED IDEOGRAPH
+  {0xDDEC, 0x6590}, //14022 #CJK UNIFIED IDEOGRAPH
+  {0xDDED, 0x6787}, //14023 #CJK UNIFIED IDEOGRAPH
+  {0xDDEE, 0x69A7}, //14024 #CJK UNIFIED IDEOGRAPH
+  {0xDDEF, 0x6BD4}, //14025 #CJK UNIFIED IDEOGRAPH
+  {0xDDF0, 0x6BD6}, //14026 #CJK UNIFIED IDEOGRAPH
+  {0xDDF1, 0x6BD7}, //14027 #CJK UNIFIED IDEOGRAPH
+  {0xDDF2, 0x6BD8}, //14028 #CJK UNIFIED IDEOGRAPH
+  {0xDDF3, 0x6CB8}, //14029 #CJK UNIFIED IDEOGRAPH
+  {0xDDF4, 0xF968}, //14030 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDDF5, 0x7435}, //14031 #CJK UNIFIED IDEOGRAPH
+  {0xDDF6, 0x75FA}, //14032 #CJK UNIFIED IDEOGRAPH
+  {0xDDF7, 0x7812}, //14033 #CJK UNIFIED IDEOGRAPH
+  {0xDDF8, 0x7891}, //14034 #CJK UNIFIED IDEOGRAPH
+  {0xDDF9, 0x79D5}, //14035 #CJK UNIFIED IDEOGRAPH
+  {0xDDFA, 0x79D8}, //14036 #CJK UNIFIED IDEOGRAPH
+  {0xDDFB, 0x7C83}, //14037 #CJK UNIFIED IDEOGRAPH
+  {0xDDFC, 0x7DCB}, //14038 #CJK UNIFIED IDEOGRAPH
+  {0xDDFD, 0x7FE1}, //14039 #CJK UNIFIED IDEOGRAPH
+  {0xDDFE, 0x80A5}, //14040 #CJK UNIFIED IDEOGRAPH
+  {0xDEA1, 0x813E}, //14041 #CJK UNIFIED IDEOGRAPH
+  {0xDEA2, 0x81C2}, //14042 #CJK UNIFIED IDEOGRAPH
+  {0xDEA3, 0x83F2}, //14043 #CJK UNIFIED IDEOGRAPH
+  {0xDEA4, 0x871A}, //14044 #CJK UNIFIED IDEOGRAPH
+  {0xDEA5, 0x88E8}, //14045 #CJK UNIFIED IDEOGRAPH
+  {0xDEA6, 0x8AB9}, //14046 #CJK UNIFIED IDEOGRAPH
+  {0xDEA7, 0x8B6C}, //14047 #CJK UNIFIED IDEOGRAPH
+  {0xDEA8, 0x8CBB}, //14048 #CJK UNIFIED IDEOGRAPH
+  {0xDEA9, 0x9119}, //14049 #CJK UNIFIED IDEOGRAPH
+  {0xDEAA, 0x975E}, //14050 #CJK UNIFIED IDEOGRAPH
+  {0xDEAB, 0x98DB}, //14051 #CJK UNIFIED IDEOGRAPH
+  {0xDEAC, 0x9F3B}, //14052 #CJK UNIFIED IDEOGRAPH
+  {0xDEAD, 0x56AC}, //14053 #CJK UNIFIED IDEOGRAPH
+  {0xDEAE, 0x5B2A}, //14054 #CJK UNIFIED IDEOGRAPH
+  {0xDEAF, 0x5F6C}, //14055 #CJK UNIFIED IDEOGRAPH
+  {0xDEB0, 0x658C}, //14056 #CJK UNIFIED IDEOGRAPH
+  {0xDEB1, 0x6AB3}, //14057 #CJK UNIFIED IDEOGRAPH
+  {0xDEB2, 0x6BAF}, //14058 #CJK UNIFIED IDEOGRAPH
+  {0xDEB3, 0x6D5C}, //14059 #CJK UNIFIED IDEOGRAPH
+  {0xDEB4, 0x6FF1}, //14060 #CJK UNIFIED IDEOGRAPH
+  {0xDEB5, 0x7015}, //14061 #CJK UNIFIED IDEOGRAPH
+  {0xDEB6, 0x725D}, //14062 #CJK UNIFIED IDEOGRAPH
+  {0xDEB7, 0x73AD}, //14063 #CJK UNIFIED IDEOGRAPH
+  {0xDEB8, 0x8CA7}, //14064 #CJK UNIFIED IDEOGRAPH
+  {0xDEB9, 0x8CD3}, //14065 #CJK UNIFIED IDEOGRAPH
+  {0xDEBA, 0x983B}, //14066 #CJK UNIFIED IDEOGRAPH
+  {0xDEBB, 0x6191}, //14067 #CJK UNIFIED IDEOGRAPH
+  {0xDEBC, 0x6C37}, //14068 #CJK UNIFIED IDEOGRAPH
+  {0xDEBD, 0x8058}, //14069 #CJK UNIFIED IDEOGRAPH
+  {0xDEBE, 0x9A01}, //14070 #CJK UNIFIED IDEOGRAPH
+  {0xDEBF, 0x4E4D}, //14071 #CJK UNIFIED IDEOGRAPH
+  {0xDEC0, 0x4E8B}, //14072 #CJK UNIFIED IDEOGRAPH
+  {0xDEC1, 0x4E9B}, //14073 #CJK UNIFIED IDEOGRAPH
+  {0xDEC2, 0x4ED5}, //14074 #CJK UNIFIED IDEOGRAPH
+  {0xDEC3, 0x4F3A}, //14075 #CJK UNIFIED IDEOGRAPH
+  {0xDEC4, 0x4F3C}, //14076 #CJK UNIFIED IDEOGRAPH
+  {0xDEC5, 0x4F7F}, //14077 #CJK UNIFIED IDEOGRAPH
+  {0xDEC6, 0x4FDF}, //14078 #CJK UNIFIED IDEOGRAPH
+  {0xDEC7, 0x50FF}, //14079 #CJK UNIFIED IDEOGRAPH
+  {0xDEC8, 0x53F2}, //14080 #CJK UNIFIED IDEOGRAPH
+  {0xDEC9, 0x53F8}, //14081 #CJK UNIFIED IDEOGRAPH
+  {0xDECA, 0x5506}, //14082 #CJK UNIFIED IDEOGRAPH
+  {0xDECB, 0x55E3}, //14083 #CJK UNIFIED IDEOGRAPH
+  {0xDECC, 0x56DB}, //14084 #CJK UNIFIED IDEOGRAPH
+  {0xDECD, 0x58EB}, //14085 #CJK UNIFIED IDEOGRAPH
+  {0xDECE, 0x5962}, //14086 #CJK UNIFIED IDEOGRAPH
+  {0xDECF, 0x5A11}, //14087 #CJK UNIFIED IDEOGRAPH
+  {0xDED0, 0x5BEB}, //14088 #CJK UNIFIED IDEOGRAPH
+  {0xDED1, 0x5BFA}, //14089 #CJK UNIFIED IDEOGRAPH
+  {0xDED2, 0x5C04}, //14090 #CJK UNIFIED IDEOGRAPH
+  {0xDED3, 0x5DF3}, //14091 #CJK UNIFIED IDEOGRAPH
+  {0xDED4, 0x5E2B}, //14092 #CJK UNIFIED IDEOGRAPH
+  {0xDED5, 0x5F99}, //14093 #CJK UNIFIED IDEOGRAPH
+  {0xDED6, 0x601D}, //14094 #CJK UNIFIED IDEOGRAPH
+  {0xDED7, 0x6368}, //14095 #CJK UNIFIED IDEOGRAPH
+  {0xDED8, 0x659C}, //14096 #CJK UNIFIED IDEOGRAPH
+  {0xDED9, 0x65AF}, //14097 #CJK UNIFIED IDEOGRAPH
+  {0xDEDA, 0x67F6}, //14098 #CJK UNIFIED IDEOGRAPH
+  {0xDEDB, 0x67FB}, //14099 #CJK UNIFIED IDEOGRAPH
+  {0xDEDC, 0x68AD}, //14100 #CJK UNIFIED IDEOGRAPH
+  {0xDEDD, 0x6B7B}, //14101 #CJK UNIFIED IDEOGRAPH
+  {0xDEDE, 0x6C99}, //14102 #CJK UNIFIED IDEOGRAPH
+  {0xDEDF, 0x6CD7}, //14103 #CJK UNIFIED IDEOGRAPH
+  {0xDEE0, 0x6E23}, //14104 #CJK UNIFIED IDEOGRAPH
+  {0xDEE1, 0x7009}, //14105 #CJK UNIFIED IDEOGRAPH
+  {0xDEE2, 0x7345}, //14106 #CJK UNIFIED IDEOGRAPH
+  {0xDEE3, 0x7802}, //14107 #CJK UNIFIED IDEOGRAPH
+  {0xDEE4, 0x793E}, //14108 #CJK UNIFIED IDEOGRAPH
+  {0xDEE5, 0x7940}, //14109 #CJK UNIFIED IDEOGRAPH
+  {0xDEE6, 0x7960}, //14110 #CJK UNIFIED IDEOGRAPH
+  {0xDEE7, 0x79C1}, //14111 #CJK UNIFIED IDEOGRAPH
+  {0xDEE8, 0x7BE9}, //14112 #CJK UNIFIED IDEOGRAPH
+  {0xDEE9, 0x7D17}, //14113 #CJK UNIFIED IDEOGRAPH
+  {0xDEEA, 0x7D72}, //14114 #CJK UNIFIED IDEOGRAPH
+  {0xDEEB, 0x8086}, //14115 #CJK UNIFIED IDEOGRAPH
+  {0xDEEC, 0x820D}, //14116 #CJK UNIFIED IDEOGRAPH
+  {0xDEED, 0x838E}, //14117 #CJK UNIFIED IDEOGRAPH
+  {0xDEEE, 0x84D1}, //14118 #CJK UNIFIED IDEOGRAPH
+  {0xDEEF, 0x86C7}, //14119 #CJK UNIFIED IDEOGRAPH
+  {0xDEF0, 0x88DF}, //14120 #CJK UNIFIED IDEOGRAPH
+  {0xDEF1, 0x8A50}, //14121 #CJK UNIFIED IDEOGRAPH
+  {0xDEF2, 0x8A5E}, //14122 #CJK UNIFIED IDEOGRAPH
+  {0xDEF3, 0x8B1D}, //14123 #CJK UNIFIED IDEOGRAPH
+  {0xDEF4, 0x8CDC}, //14124 #CJK UNIFIED IDEOGRAPH
+  {0xDEF5, 0x8D66}, //14125 #CJK UNIFIED IDEOGRAPH
+  {0xDEF6, 0x8FAD}, //14126 #CJK UNIFIED IDEOGRAPH
+  {0xDEF7, 0x90AA}, //14127 #CJK UNIFIED IDEOGRAPH
+  {0xDEF8, 0x98FC}, //14128 #CJK UNIFIED IDEOGRAPH
+  {0xDEF9, 0x99DF}, //14129 #CJK UNIFIED IDEOGRAPH
+  {0xDEFA, 0x9E9D}, //14130 #CJK UNIFIED IDEOGRAPH
+  {0xDEFB, 0x524A}, //14131 #CJK UNIFIED IDEOGRAPH
+  {0xDEFC, 0xF969}, //14132 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDEFD, 0x6714}, //14133 #CJK UNIFIED IDEOGRAPH
+  {0xDEFE, 0xF96A}, //14134 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDFA1, 0x5098}, //14135 #CJK UNIFIED IDEOGRAPH
+  {0xDFA2, 0x522A}, //14136 #CJK UNIFIED IDEOGRAPH
+  {0xDFA3, 0x5C71}, //14137 #CJK UNIFIED IDEOGRAPH
+  {0xDFA4, 0x6563}, //14138 #CJK UNIFIED IDEOGRAPH
+  {0xDFA5, 0x6C55}, //14139 #CJK UNIFIED IDEOGRAPH
+  {0xDFA6, 0x73CA}, //14140 #CJK UNIFIED IDEOGRAPH
+  {0xDFA7, 0x7523}, //14141 #CJK UNIFIED IDEOGRAPH
+  {0xDFA8, 0x759D}, //14142 #CJK UNIFIED IDEOGRAPH
+  {0xDFA9, 0x7B97}, //14143 #CJK UNIFIED IDEOGRAPH
+  {0xDFAA, 0x849C}, //14144 #CJK UNIFIED IDEOGRAPH
+  {0xDFAB, 0x9178}, //14145 #CJK UNIFIED IDEOGRAPH
+  {0xDFAC, 0x9730}, //14146 #CJK UNIFIED IDEOGRAPH
+  {0xDFAD, 0x4E77}, //14147 #CJK UNIFIED IDEOGRAPH
+  {0xDFAE, 0x6492}, //14148 #CJK UNIFIED IDEOGRAPH
+  {0xDFAF, 0x6BBA}, //14149 #CJK UNIFIED IDEOGRAPH
+  {0xDFB0, 0x715E}, //14150 #CJK UNIFIED IDEOGRAPH
+  {0xDFB1, 0x85A9}, //14151 #CJK UNIFIED IDEOGRAPH
+  {0xDFB2, 0x4E09}, //14152 #CJK UNIFIED IDEOGRAPH
+  {0xDFB3, 0xF96B}, //14153 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDFB4, 0x6749}, //14154 #CJK UNIFIED IDEOGRAPH
+  {0xDFB5, 0x68EE}, //14155 #CJK UNIFIED IDEOGRAPH
+  {0xDFB6, 0x6E17}, //14156 #CJK UNIFIED IDEOGRAPH
+  {0xDFB7, 0x829F}, //14157 #CJK UNIFIED IDEOGRAPH
+  {0xDFB8, 0x8518}, //14158 #CJK UNIFIED IDEOGRAPH
+  {0xDFB9, 0x886B}, //14159 #CJK UNIFIED IDEOGRAPH
+  {0xDFBA, 0x63F7}, //14160 #CJK UNIFIED IDEOGRAPH
+  {0xDFBB, 0x6F81}, //14161 #CJK UNIFIED IDEOGRAPH
+  {0xDFBC, 0x9212}, //14162 #CJK UNIFIED IDEOGRAPH
+  {0xDFBD, 0x98AF}, //14163 #CJK UNIFIED IDEOGRAPH
+  {0xDFBE, 0x4E0A}, //14164 #CJK UNIFIED IDEOGRAPH
+  {0xDFBF, 0x50B7}, //14165 #CJK UNIFIED IDEOGRAPH
+  {0xDFC0, 0x50CF}, //14166 #CJK UNIFIED IDEOGRAPH
+  {0xDFC1, 0x511F}, //14167 #CJK UNIFIED IDEOGRAPH
+  {0xDFC2, 0x5546}, //14168 #CJK UNIFIED IDEOGRAPH
+  {0xDFC3, 0x55AA}, //14169 #CJK UNIFIED IDEOGRAPH
+  {0xDFC4, 0x5617}, //14170 #CJK UNIFIED IDEOGRAPH
+  {0xDFC5, 0x5B40}, //14171 #CJK UNIFIED IDEOGRAPH
+  {0xDFC6, 0x5C19}, //14172 #CJK UNIFIED IDEOGRAPH
+  {0xDFC7, 0x5CE0}, //14173 #CJK UNIFIED IDEOGRAPH
+  {0xDFC8, 0x5E38}, //14174 #CJK UNIFIED IDEOGRAPH
+  {0xDFC9, 0x5E8A}, //14175 #CJK UNIFIED IDEOGRAPH
+  {0xDFCA, 0x5EA0}, //14176 #CJK UNIFIED IDEOGRAPH
+  {0xDFCB, 0x5EC2}, //14177 #CJK UNIFIED IDEOGRAPH
+  {0xDFCC, 0x60F3}, //14178 #CJK UNIFIED IDEOGRAPH
+  {0xDFCD, 0x6851}, //14179 #CJK UNIFIED IDEOGRAPH
+  {0xDFCE, 0x6A61}, //14180 #CJK UNIFIED IDEOGRAPH
+  {0xDFCF, 0x6E58}, //14181 #CJK UNIFIED IDEOGRAPH
+  {0xDFD0, 0x723D}, //14182 #CJK UNIFIED IDEOGRAPH
+  {0xDFD1, 0x7240}, //14183 #CJK UNIFIED IDEOGRAPH
+  {0xDFD2, 0x72C0}, //14184 #CJK UNIFIED IDEOGRAPH
+  {0xDFD3, 0x76F8}, //14185 #CJK UNIFIED IDEOGRAPH
+  {0xDFD4, 0x7965}, //14186 #CJK UNIFIED IDEOGRAPH
+  {0xDFD5, 0x7BB1}, //14187 #CJK UNIFIED IDEOGRAPH
+  {0xDFD6, 0x7FD4}, //14188 #CJK UNIFIED IDEOGRAPH
+  {0xDFD7, 0x88F3}, //14189 #CJK UNIFIED IDEOGRAPH
+  {0xDFD8, 0x89F4}, //14190 #CJK UNIFIED IDEOGRAPH
+  {0xDFD9, 0x8A73}, //14191 #CJK UNIFIED IDEOGRAPH
+  {0xDFDA, 0x8C61}, //14192 #CJK UNIFIED IDEOGRAPH
+  {0xDFDB, 0x8CDE}, //14193 #CJK UNIFIED IDEOGRAPH
+  {0xDFDC, 0x971C}, //14194 #CJK UNIFIED IDEOGRAPH
+  {0xDFDD, 0x585E}, //14195 #CJK UNIFIED IDEOGRAPH
+  {0xDFDE, 0x74BD}, //14196 #CJK UNIFIED IDEOGRAPH
+  {0xDFDF, 0x8CFD}, //14197 #CJK UNIFIED IDEOGRAPH
+  {0xDFE0, 0x55C7}, //14198 #CJK UNIFIED IDEOGRAPH
+  {0xDFE1, 0xF96C}, //14199 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDFE2, 0x7A61}, //14200 #CJK UNIFIED IDEOGRAPH
+  {0xDFE3, 0x7D22}, //14201 #CJK UNIFIED IDEOGRAPH
+  {0xDFE4, 0x8272}, //14202 #CJK UNIFIED IDEOGRAPH
+  {0xDFE5, 0x7272}, //14203 #CJK UNIFIED IDEOGRAPH
+  {0xDFE6, 0x751F}, //14204 #CJK UNIFIED IDEOGRAPH
+  {0xDFE7, 0x7525}, //14205 #CJK UNIFIED IDEOGRAPH
+  {0xDFE8, 0xF96D}, //14206 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDFE9, 0x7B19}, //14207 #CJK UNIFIED IDEOGRAPH
+  {0xDFEA, 0x5885}, //14208 #CJK UNIFIED IDEOGRAPH
+  {0xDFEB, 0x58FB}, //14209 #CJK UNIFIED IDEOGRAPH
+  {0xDFEC, 0x5DBC}, //14210 #CJK UNIFIED IDEOGRAPH
+  {0xDFED, 0x5E8F}, //14211 #CJK UNIFIED IDEOGRAPH
+  {0xDFEE, 0x5EB6}, //14212 #CJK UNIFIED IDEOGRAPH
+  {0xDFEF, 0x5F90}, //14213 #CJK UNIFIED IDEOGRAPH
+  {0xDFF0, 0x6055}, //14214 #CJK UNIFIED IDEOGRAPH
+  {0xDFF1, 0x6292}, //14215 #CJK UNIFIED IDEOGRAPH
+  {0xDFF2, 0x637F}, //14216 #CJK UNIFIED IDEOGRAPH
+  {0xDFF3, 0x654D}, //14217 #CJK UNIFIED IDEOGRAPH
+  {0xDFF4, 0x6691}, //14218 #CJK UNIFIED IDEOGRAPH
+  {0xDFF5, 0x66D9}, //14219 #CJK UNIFIED IDEOGRAPH
+  {0xDFF6, 0x66F8}, //14220 #CJK UNIFIED IDEOGRAPH
+  {0xDFF7, 0x6816}, //14221 #CJK UNIFIED IDEOGRAPH
+  {0xDFF8, 0x68F2}, //14222 #CJK UNIFIED IDEOGRAPH
+  {0xDFF9, 0x7280}, //14223 #CJK UNIFIED IDEOGRAPH
+  {0xDFFA, 0x745E}, //14224 #CJK UNIFIED IDEOGRAPH
+  {0xDFFB, 0x7B6E}, //14225 #CJK UNIFIED IDEOGRAPH
+  {0xDFFC, 0x7D6E}, //14226 #CJK UNIFIED IDEOGRAPH
+  {0xDFFD, 0x7DD6}, //14227 #CJK UNIFIED IDEOGRAPH
+  {0xDFFE, 0x7F72}, //14228 #CJK UNIFIED IDEOGRAPH
+  {0xE0A1, 0x80E5}, //14229 #CJK UNIFIED IDEOGRAPH
+  {0xE0A2, 0x8212}, //14230 #CJK UNIFIED IDEOGRAPH
+  {0xE0A3, 0x85AF}, //14231 #CJK UNIFIED IDEOGRAPH
+  {0xE0A4, 0x897F}, //14232 #CJK UNIFIED IDEOGRAPH
+  {0xE0A5, 0x8A93}, //14233 #CJK UNIFIED IDEOGRAPH
+  {0xE0A6, 0x901D}, //14234 #CJK UNIFIED IDEOGRAPH
+  {0xE0A7, 0x92E4}, //14235 #CJK UNIFIED IDEOGRAPH
+  {0xE0A8, 0x9ECD}, //14236 #CJK UNIFIED IDEOGRAPH
+  {0xE0A9, 0x9F20}, //14237 #CJK UNIFIED IDEOGRAPH
+  {0xE0AA, 0x5915}, //14238 #CJK UNIFIED IDEOGRAPH
+  {0xE0AB, 0x596D}, //14239 #CJK UNIFIED IDEOGRAPH
+  {0xE0AC, 0x5E2D}, //14240 #CJK UNIFIED IDEOGRAPH
+  {0xE0AD, 0x60DC}, //14241 #CJK UNIFIED IDEOGRAPH
+  {0xE0AE, 0x6614}, //14242 #CJK UNIFIED IDEOGRAPH
+  {0xE0AF, 0x6673}, //14243 #CJK UNIFIED IDEOGRAPH
+  {0xE0B0, 0x6790}, //14244 #CJK UNIFIED IDEOGRAPH
+  {0xE0B1, 0x6C50}, //14245 #CJK UNIFIED IDEOGRAPH
+  {0xE0B2, 0x6DC5}, //14246 #CJK UNIFIED IDEOGRAPH
+  {0xE0B3, 0x6F5F}, //14247 #CJK UNIFIED IDEOGRAPH
+  {0xE0B4, 0x77F3}, //14248 #CJK UNIFIED IDEOGRAPH
+  {0xE0B5, 0x78A9}, //14249 #CJK UNIFIED IDEOGRAPH
+  {0xE0B6, 0x84C6}, //14250 #CJK UNIFIED IDEOGRAPH
+  {0xE0B7, 0x91CB}, //14251 #CJK UNIFIED IDEOGRAPH
+  {0xE0B8, 0x932B}, //14252 #CJK UNIFIED IDEOGRAPH
+  {0xE0B9, 0x4ED9}, //14253 #CJK UNIFIED IDEOGRAPH
+  {0xE0BA, 0x50CA}, //14254 #CJK UNIFIED IDEOGRAPH
+  {0xE0BB, 0x5148}, //14255 #CJK UNIFIED IDEOGRAPH
+  {0xE0BC, 0x5584}, //14256 #CJK UNIFIED IDEOGRAPH
+  {0xE0BD, 0x5B0B}, //14257 #CJK UNIFIED IDEOGRAPH
+  {0xE0BE, 0x5BA3}, //14258 #CJK UNIFIED IDEOGRAPH
+  {0xE0BF, 0x6247}, //14259 #CJK UNIFIED IDEOGRAPH
+  {0xE0C0, 0x657E}, //14260 #CJK UNIFIED IDEOGRAPH
+  {0xE0C1, 0x65CB}, //14261 #CJK UNIFIED IDEOGRAPH
+  {0xE0C2, 0x6E32}, //14262 #CJK UNIFIED IDEOGRAPH
+  {0xE0C3, 0x717D}, //14263 #CJK UNIFIED IDEOGRAPH
+  {0xE0C4, 0x7401}, //14264 #CJK UNIFIED IDEOGRAPH
+  {0xE0C5, 0x7444}, //14265 #CJK UNIFIED IDEOGRAPH
+  {0xE0C6, 0x7487}, //14266 #CJK UNIFIED IDEOGRAPH
+  {0xE0C7, 0x74BF}, //14267 #CJK UNIFIED IDEOGRAPH
+  {0xE0C8, 0x766C}, //14268 #CJK UNIFIED IDEOGRAPH
+  {0xE0C9, 0x79AA}, //14269 #CJK UNIFIED IDEOGRAPH
+  {0xE0CA, 0x7DDA}, //14270 #CJK UNIFIED IDEOGRAPH
+  {0xE0CB, 0x7E55}, //14271 #CJK UNIFIED IDEOGRAPH
+  {0xE0CC, 0x7FA8}, //14272 #CJK UNIFIED IDEOGRAPH
+  {0xE0CD, 0x817A}, //14273 #CJK UNIFIED IDEOGRAPH
+  {0xE0CE, 0x81B3}, //14274 #CJK UNIFIED IDEOGRAPH
+  {0xE0CF, 0x8239}, //14275 #CJK UNIFIED IDEOGRAPH
+  {0xE0D0, 0x861A}, //14276 #CJK UNIFIED IDEOGRAPH
+  {0xE0D1, 0x87EC}, //14277 #CJK UNIFIED IDEOGRAPH
+  {0xE0D2, 0x8A75}, //14278 #CJK UNIFIED IDEOGRAPH
+  {0xE0D3, 0x8DE3}, //14279 #CJK UNIFIED IDEOGRAPH
+  {0xE0D4, 0x9078}, //14280 #CJK UNIFIED IDEOGRAPH
+  {0xE0D5, 0x9291}, //14281 #CJK UNIFIED IDEOGRAPH
+  {0xE0D6, 0x9425}, //14282 #CJK UNIFIED IDEOGRAPH
+  {0xE0D7, 0x994D}, //14283 #CJK UNIFIED IDEOGRAPH
+  {0xE0D8, 0x9BAE}, //14284 #CJK UNIFIED IDEOGRAPH
+  {0xE0D9, 0x5368}, //14285 #CJK UNIFIED IDEOGRAPH
+  {0xE0DA, 0x5C51}, //14286 #CJK UNIFIED IDEOGRAPH
+  {0xE0DB, 0x6954}, //14287 #CJK UNIFIED IDEOGRAPH
+  {0xE0DC, 0x6CC4}, //14288 #CJK UNIFIED IDEOGRAPH
+  {0xE0DD, 0x6D29}, //14289 #CJK UNIFIED IDEOGRAPH
+  {0xE0DE, 0x6E2B}, //14290 #CJK UNIFIED IDEOGRAPH
+  {0xE0DF, 0x820C}, //14291 #CJK UNIFIED IDEOGRAPH
+  {0xE0E0, 0x859B}, //14292 #CJK UNIFIED IDEOGRAPH
+  {0xE0E1, 0x893B}, //14293 #CJK UNIFIED IDEOGRAPH
+  {0xE0E2, 0x8A2D}, //14294 #CJK UNIFIED IDEOGRAPH
+  {0xE0E3, 0x8AAA}, //14295 #CJK UNIFIED IDEOGRAPH
+  {0xE0E4, 0x96EA}, //14296 #CJK UNIFIED IDEOGRAPH
+  {0xE0E5, 0x9F67}, //14297 #CJK UNIFIED IDEOGRAPH
+  {0xE0E6, 0x5261}, //14298 #CJK UNIFIED IDEOGRAPH
+  {0xE0E7, 0x66B9}, //14299 #CJK UNIFIED IDEOGRAPH
+  {0xE0E8, 0x6BB2}, //14300 #CJK UNIFIED IDEOGRAPH
+  {0xE0E9, 0x7E96}, //14301 #CJK UNIFIED IDEOGRAPH
+  {0xE0EA, 0x87FE}, //14302 #CJK UNIFIED IDEOGRAPH
+  {0xE0EB, 0x8D0D}, //14303 #CJK UNIFIED IDEOGRAPH
+  {0xE0EC, 0x9583}, //14304 #CJK UNIFIED IDEOGRAPH
+  {0xE0ED, 0x965D}, //14305 #CJK UNIFIED IDEOGRAPH
+  {0xE0EE, 0x651D}, //14306 #CJK UNIFIED IDEOGRAPH
+  {0xE0EF, 0x6D89}, //14307 #CJK UNIFIED IDEOGRAPH
+  {0xE0F0, 0x71EE}, //14308 #CJK UNIFIED IDEOGRAPH
+  {0xE0F1, 0xF96E}, //14309 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE0F2, 0x57CE}, //14310 #CJK UNIFIED IDEOGRAPH
+  {0xE0F3, 0x59D3}, //14311 #CJK UNIFIED IDEOGRAPH
+  {0xE0F4, 0x5BAC}, //14312 #CJK UNIFIED IDEOGRAPH
+  {0xE0F5, 0x6027}, //14313 #CJK UNIFIED IDEOGRAPH
+  {0xE0F6, 0x60FA}, //14314 #CJK UNIFIED IDEOGRAPH
+  {0xE0F7, 0x6210}, //14315 #CJK UNIFIED IDEOGRAPH
+  {0xE0F8, 0x661F}, //14316 #CJK UNIFIED IDEOGRAPH
+  {0xE0F9, 0x665F}, //14317 #CJK UNIFIED IDEOGRAPH
+  {0xE0FA, 0x7329}, //14318 #CJK UNIFIED IDEOGRAPH
+  {0xE0FB, 0x73F9}, //14319 #CJK UNIFIED IDEOGRAPH
+  {0xE0FC, 0x76DB}, //14320 #CJK UNIFIED IDEOGRAPH
+  {0xE0FD, 0x7701}, //14321 #CJK UNIFIED IDEOGRAPH
+  {0xE0FE, 0x7B6C}, //14322 #CJK UNIFIED IDEOGRAPH
+  {0xE1A1, 0x8056}, //14323 #CJK UNIFIED IDEOGRAPH
+  {0xE1A2, 0x8072}, //14324 #CJK UNIFIED IDEOGRAPH
+  {0xE1A3, 0x8165}, //14325 #CJK UNIFIED IDEOGRAPH
+  {0xE1A4, 0x8AA0}, //14326 #CJK UNIFIED IDEOGRAPH
+  {0xE1A5, 0x9192}, //14327 #CJK UNIFIED IDEOGRAPH
+  {0xE1A6, 0x4E16}, //14328 #CJK UNIFIED IDEOGRAPH
+  {0xE1A7, 0x52E2}, //14329 #CJK UNIFIED IDEOGRAPH
+  {0xE1A8, 0x6B72}, //14330 #CJK UNIFIED IDEOGRAPH
+  {0xE1A9, 0x6D17}, //14331 #CJK UNIFIED IDEOGRAPH
+  {0xE1AA, 0x7A05}, //14332 #CJK UNIFIED IDEOGRAPH
+  {0xE1AB, 0x7B39}, //14333 #CJK UNIFIED IDEOGRAPH
+  {0xE1AC, 0x7D30}, //14334 #CJK UNIFIED IDEOGRAPH
+  {0xE1AD, 0xF96F}, //14335 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE1AE, 0x8CB0}, //14336 #CJK UNIFIED IDEOGRAPH
+  {0xE1AF, 0x53EC}, //14337 #CJK UNIFIED IDEOGRAPH
+  {0xE1B0, 0x562F}, //14338 #CJK UNIFIED IDEOGRAPH
+  {0xE1B1, 0x5851}, //14339 #CJK UNIFIED IDEOGRAPH
+  {0xE1B2, 0x5BB5}, //14340 #CJK UNIFIED IDEOGRAPH
+  {0xE1B3, 0x5C0F}, //14341 #CJK UNIFIED IDEOGRAPH
+  {0xE1B4, 0x5C11}, //14342 #CJK UNIFIED IDEOGRAPH
+  {0xE1B5, 0x5DE2}, //14343 #CJK UNIFIED IDEOGRAPH
+  {0xE1B6, 0x6240}, //14344 #CJK UNIFIED IDEOGRAPH
+  {0xE1B7, 0x6383}, //14345 #CJK UNIFIED IDEOGRAPH
+  {0xE1B8, 0x6414}, //14346 #CJK UNIFIED IDEOGRAPH
+  {0xE1B9, 0x662D}, //14347 #CJK UNIFIED IDEOGRAPH
+  {0xE1BA, 0x68B3}, //14348 #CJK UNIFIED IDEOGRAPH
+  {0xE1BB, 0x6CBC}, //14349 #CJK UNIFIED IDEOGRAPH
+  {0xE1BC, 0x6D88}, //14350 #CJK UNIFIED IDEOGRAPH
+  {0xE1BD, 0x6EAF}, //14351 #CJK UNIFIED IDEOGRAPH
+  {0xE1BE, 0x701F}, //14352 #CJK UNIFIED IDEOGRAPH
+  {0xE1BF, 0x70A4}, //14353 #CJK UNIFIED IDEOGRAPH
+  {0xE1C0, 0x71D2}, //14354 #CJK UNIFIED IDEOGRAPH
+  {0xE1C1, 0x7526}, //14355 #CJK UNIFIED IDEOGRAPH
+  {0xE1C2, 0x758F}, //14356 #CJK UNIFIED IDEOGRAPH
+  {0xE1C3, 0x758E}, //14357 #CJK UNIFIED IDEOGRAPH
+  {0xE1C4, 0x7619}, //14358 #CJK UNIFIED IDEOGRAPH
+  {0xE1C5, 0x7B11}, //14359 #CJK UNIFIED IDEOGRAPH
+  {0xE1C6, 0x7BE0}, //14360 #CJK UNIFIED IDEOGRAPH
+  {0xE1C7, 0x7C2B}, //14361 #CJK UNIFIED IDEOGRAPH
+  {0xE1C8, 0x7D20}, //14362 #CJK UNIFIED IDEOGRAPH
+  {0xE1C9, 0x7D39}, //14363 #CJK UNIFIED IDEOGRAPH
+  {0xE1CA, 0x852C}, //14364 #CJK UNIFIED IDEOGRAPH
+  {0xE1CB, 0x856D}, //14365 #CJK UNIFIED IDEOGRAPH
+  {0xE1CC, 0x8607}, //14366 #CJK UNIFIED IDEOGRAPH
+  {0xE1CD, 0x8A34}, //14367 #CJK UNIFIED IDEOGRAPH
+  {0xE1CE, 0x900D}, //14368 #CJK UNIFIED IDEOGRAPH
+  {0xE1CF, 0x9061}, //14369 #CJK UNIFIED IDEOGRAPH
+  {0xE1D0, 0x90B5}, //14370 #CJK UNIFIED IDEOGRAPH
+  {0xE1D1, 0x92B7}, //14371 #CJK UNIFIED IDEOGRAPH
+  {0xE1D2, 0x97F6}, //14372 #CJK UNIFIED IDEOGRAPH
+  {0xE1D3, 0x9A37}, //14373 #CJK UNIFIED IDEOGRAPH
+  {0xE1D4, 0x4FD7}, //14374 #CJK UNIFIED IDEOGRAPH
+  {0xE1D5, 0x5C6C}, //14375 #CJK UNIFIED IDEOGRAPH
+  {0xE1D6, 0x675F}, //14376 #CJK UNIFIED IDEOGRAPH
+  {0xE1D7, 0x6D91}, //14377 #CJK UNIFIED IDEOGRAPH
+  {0xE1D8, 0x7C9F}, //14378 #CJK UNIFIED IDEOGRAPH
+  {0xE1D9, 0x7E8C}, //14379 #CJK UNIFIED IDEOGRAPH
+  {0xE1DA, 0x8B16}, //14380 #CJK UNIFIED IDEOGRAPH
+  {0xE1DB, 0x8D16}, //14381 #CJK UNIFIED IDEOGRAPH
+  {0xE1DC, 0x901F}, //14382 #CJK UNIFIED IDEOGRAPH
+  {0xE1DD, 0x5B6B}, //14383 #CJK UNIFIED IDEOGRAPH
+  {0xE1DE, 0x5DFD}, //14384 #CJK UNIFIED IDEOGRAPH
+  {0xE1DF, 0x640D}, //14385 #CJK UNIFIED IDEOGRAPH
+  {0xE1E0, 0x84C0}, //14386 #CJK UNIFIED IDEOGRAPH
+  {0xE1E1, 0x905C}, //14387 #CJK UNIFIED IDEOGRAPH
+  {0xE1E2, 0x98E1}, //14388 #CJK UNIFIED IDEOGRAPH
+  {0xE1E3, 0x7387}, //14389 #CJK UNIFIED IDEOGRAPH
+  {0xE1E4, 0x5B8B}, //14390 #CJK UNIFIED IDEOGRAPH
+  {0xE1E5, 0x609A}, //14391 #CJK UNIFIED IDEOGRAPH
+  {0xE1E6, 0x677E}, //14392 #CJK UNIFIED IDEOGRAPH
+  {0xE1E7, 0x6DDE}, //14393 #CJK UNIFIED IDEOGRAPH
+  {0xE1E8, 0x8A1F}, //14394 #CJK UNIFIED IDEOGRAPH
+  {0xE1E9, 0x8AA6}, //14395 #CJK UNIFIED IDEOGRAPH
+  {0xE1EA, 0x9001}, //14396 #CJK UNIFIED IDEOGRAPH
+  {0xE1EB, 0x980C}, //14397 #CJK UNIFIED IDEOGRAPH
+  {0xE1EC, 0x5237}, //14398 #CJK UNIFIED IDEOGRAPH
+  {0xE1ED, 0xF970}, //14399 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE1EE, 0x7051}, //14400 #CJK UNIFIED IDEOGRAPH
+  {0xE1EF, 0x788E}, //14401 #CJK UNIFIED IDEOGRAPH
+  {0xE1F0, 0x9396}, //14402 #CJK UNIFIED IDEOGRAPH
+  {0xE1F1, 0x8870}, //14403 #CJK UNIFIED IDEOGRAPH
+  {0xE1F2, 0x91D7}, //14404 #CJK UNIFIED IDEOGRAPH
+  {0xE1F3, 0x4FEE}, //14405 #CJK UNIFIED IDEOGRAPH
+  {0xE1F4, 0x53D7}, //14406 #CJK UNIFIED IDEOGRAPH
+  {0xE1F5, 0x55FD}, //14407 #CJK UNIFIED IDEOGRAPH
+  {0xE1F6, 0x56DA}, //14408 #CJK UNIFIED IDEOGRAPH
+  {0xE1F7, 0x5782}, //14409 #CJK UNIFIED IDEOGRAPH
+  {0xE1F8, 0x58FD}, //14410 #CJK UNIFIED IDEOGRAPH
+  {0xE1F9, 0x5AC2}, //14411 #CJK UNIFIED IDEOGRAPH
+  {0xE1FA, 0x5B88}, //14412 #CJK UNIFIED IDEOGRAPH
+  {0xE1FB, 0x5CAB}, //14413 #CJK UNIFIED IDEOGRAPH
+  {0xE1FC, 0x5CC0}, //14414 #CJK UNIFIED IDEOGRAPH
+  {0xE1FD, 0x5E25}, //14415 #CJK UNIFIED IDEOGRAPH
+  {0xE1FE, 0x6101}, //14416 #CJK UNIFIED IDEOGRAPH
+  {0xE2A1, 0x620D}, //14417 #CJK UNIFIED IDEOGRAPH
+  {0xE2A2, 0x624B}, //14418 #CJK UNIFIED IDEOGRAPH
+  {0xE2A3, 0x6388}, //14419 #CJK UNIFIED IDEOGRAPH
+  {0xE2A4, 0x641C}, //14420 #CJK UNIFIED IDEOGRAPH
+  {0xE2A5, 0x6536}, //14421 #CJK UNIFIED IDEOGRAPH
+  {0xE2A6, 0x6578}, //14422 #CJK UNIFIED IDEOGRAPH
+  {0xE2A7, 0x6A39}, //14423 #CJK UNIFIED IDEOGRAPH
+  {0xE2A8, 0x6B8A}, //14424 #CJK UNIFIED IDEOGRAPH
+  {0xE2A9, 0x6C34}, //14425 #CJK UNIFIED IDEOGRAPH
+  {0xE2AA, 0x6D19}, //14426 #CJK UNIFIED IDEOGRAPH
+  {0xE2AB, 0x6F31}, //14427 #CJK UNIFIED IDEOGRAPH
+  {0xE2AC, 0x71E7}, //14428 #CJK UNIFIED IDEOGRAPH
+  {0xE2AD, 0x72E9}, //14429 #CJK UNIFIED IDEOGRAPH
+  {0xE2AE, 0x7378}, //14430 #CJK UNIFIED IDEOGRAPH
+  {0xE2AF, 0x7407}, //14431 #CJK UNIFIED IDEOGRAPH
+  {0xE2B0, 0x74B2}, //14432 #CJK UNIFIED IDEOGRAPH
+  {0xE2B1, 0x7626}, //14433 #CJK UNIFIED IDEOGRAPH
+  {0xE2B2, 0x7761}, //14434 #CJK UNIFIED IDEOGRAPH
+  {0xE2B3, 0x79C0}, //14435 #CJK UNIFIED IDEOGRAPH
+  {0xE2B4, 0x7A57}, //14436 #CJK UNIFIED IDEOGRAPH
+  {0xE2B5, 0x7AEA}, //14437 #CJK UNIFIED IDEOGRAPH
+  {0xE2B6, 0x7CB9}, //14438 #CJK UNIFIED IDEOGRAPH
+  {0xE2B7, 0x7D8F}, //14439 #CJK UNIFIED IDEOGRAPH
+  {0xE2B8, 0x7DAC}, //14440 #CJK UNIFIED IDEOGRAPH
+  {0xE2B9, 0x7E61}, //14441 #CJK UNIFIED IDEOGRAPH
+  {0xE2BA, 0x7F9E}, //14442 #CJK UNIFIED IDEOGRAPH
+  {0xE2BB, 0x8129}, //14443 #CJK UNIFIED IDEOGRAPH
+  {0xE2BC, 0x8331}, //14444 #CJK UNIFIED IDEOGRAPH
+  {0xE2BD, 0x8490}, //14445 #CJK UNIFIED IDEOGRAPH
+  {0xE2BE, 0x84DA}, //14446 #CJK UNIFIED IDEOGRAPH
+  {0xE2BF, 0x85EA}, //14447 #CJK UNIFIED IDEOGRAPH
+  {0xE2C0, 0x8896}, //14448 #CJK UNIFIED IDEOGRAPH
+  {0xE2C1, 0x8AB0}, //14449 #CJK UNIFIED IDEOGRAPH
+  {0xE2C2, 0x8B90}, //14450 #CJK UNIFIED IDEOGRAPH
+  {0xE2C3, 0x8F38}, //14451 #CJK UNIFIED IDEOGRAPH
+  {0xE2C4, 0x9042}, //14452 #CJK UNIFIED IDEOGRAPH
+  {0xE2C5, 0x9083}, //14453 #CJK UNIFIED IDEOGRAPH
+  {0xE2C6, 0x916C}, //14454 #CJK UNIFIED IDEOGRAPH
+  {0xE2C7, 0x9296}, //14455 #CJK UNIFIED IDEOGRAPH
+  {0xE2C8, 0x92B9}, //14456 #CJK UNIFIED IDEOGRAPH
+  {0xE2C9, 0x968B}, //14457 #CJK UNIFIED IDEOGRAPH
+  {0xE2CA, 0x96A7}, //14458 #CJK UNIFIED IDEOGRAPH
+  {0xE2CB, 0x96A8}, //14459 #CJK UNIFIED IDEOGRAPH
+  {0xE2CC, 0x96D6}, //14460 #CJK UNIFIED IDEOGRAPH
+  {0xE2CD, 0x9700}, //14461 #CJK UNIFIED IDEOGRAPH
+  {0xE2CE, 0x9808}, //14462 #CJK UNIFIED IDEOGRAPH
+  {0xE2CF, 0x9996}, //14463 #CJK UNIFIED IDEOGRAPH
+  {0xE2D0, 0x9AD3}, //14464 #CJK UNIFIED IDEOGRAPH
+  {0xE2D1, 0x9B1A}, //14465 #CJK UNIFIED IDEOGRAPH
+  {0xE2D2, 0x53D4}, //14466 #CJK UNIFIED IDEOGRAPH
+  {0xE2D3, 0x587E}, //14467 #CJK UNIFIED IDEOGRAPH
+  {0xE2D4, 0x5919}, //14468 #CJK UNIFIED IDEOGRAPH
+  {0xE2D5, 0x5B70}, //14469 #CJK UNIFIED IDEOGRAPH
+  {0xE2D6, 0x5BBF}, //14470 #CJK UNIFIED IDEOGRAPH
+  {0xE2D7, 0x6DD1}, //14471 #CJK UNIFIED IDEOGRAPH
+  {0xE2D8, 0x6F5A}, //14472 #CJK UNIFIED IDEOGRAPH
+  {0xE2D9, 0x719F}, //14473 #CJK UNIFIED IDEOGRAPH
+  {0xE2DA, 0x7421}, //14474 #CJK UNIFIED IDEOGRAPH
+  {0xE2DB, 0x74B9}, //14475 #CJK UNIFIED IDEOGRAPH
+  {0xE2DC, 0x8085}, //14476 #CJK UNIFIED IDEOGRAPH
+  {0xE2DD, 0x83FD}, //14477 #CJK UNIFIED IDEOGRAPH
+  {0xE2DE, 0x5DE1}, //14478 #CJK UNIFIED IDEOGRAPH
+  {0xE2DF, 0x5F87}, //14479 #CJK UNIFIED IDEOGRAPH
+  {0xE2E0, 0x5FAA}, //14480 #CJK UNIFIED IDEOGRAPH
+  {0xE2E1, 0x6042}, //14481 #CJK UNIFIED IDEOGRAPH
+  {0xE2E2, 0x65EC}, //14482 #CJK UNIFIED IDEOGRAPH
+  {0xE2E3, 0x6812}, //14483 #CJK UNIFIED IDEOGRAPH
+  {0xE2E4, 0x696F}, //14484 #CJK UNIFIED IDEOGRAPH
+  {0xE2E5, 0x6A53}, //14485 #CJK UNIFIED IDEOGRAPH
+  {0xE2E6, 0x6B89}, //14486 #CJK UNIFIED IDEOGRAPH
+  {0xE2E7, 0x6D35}, //14487 #CJK UNIFIED IDEOGRAPH
+  {0xE2E8, 0x6DF3}, //14488 #CJK UNIFIED IDEOGRAPH
+  {0xE2E9, 0x73E3}, //14489 #CJK UNIFIED IDEOGRAPH
+  {0xE2EA, 0x76FE}, //14490 #CJK UNIFIED IDEOGRAPH
+  {0xE2EB, 0x77AC}, //14491 #CJK UNIFIED IDEOGRAPH
+  {0xE2EC, 0x7B4D}, //14492 #CJK UNIFIED IDEOGRAPH
+  {0xE2ED, 0x7D14}, //14493 #CJK UNIFIED IDEOGRAPH
+  {0xE2EE, 0x8123}, //14494 #CJK UNIFIED IDEOGRAPH
+  {0xE2EF, 0x821C}, //14495 #CJK UNIFIED IDEOGRAPH
+  {0xE2F0, 0x8340}, //14496 #CJK UNIFIED IDEOGRAPH
+  {0xE2F1, 0x84F4}, //14497 #CJK UNIFIED IDEOGRAPH
+  {0xE2F2, 0x8563}, //14498 #CJK UNIFIED IDEOGRAPH
+  {0xE2F3, 0x8A62}, //14499 #CJK UNIFIED IDEOGRAPH
+  {0xE2F4, 0x8AC4}, //14500 #CJK UNIFIED IDEOGRAPH
+  {0xE2F5, 0x9187}, //14501 #CJK UNIFIED IDEOGRAPH
+  {0xE2F6, 0x931E}, //14502 #CJK UNIFIED IDEOGRAPH
+  {0xE2F7, 0x9806}, //14503 #CJK UNIFIED IDEOGRAPH
+  {0xE2F8, 0x99B4}, //14504 #CJK UNIFIED IDEOGRAPH
+  {0xE2F9, 0x620C}, //14505 #CJK UNIFIED IDEOGRAPH
+  {0xE2FA, 0x8853}, //14506 #CJK UNIFIED IDEOGRAPH
+  {0xE2FB, 0x8FF0}, //14507 #CJK UNIFIED IDEOGRAPH
+  {0xE2FC, 0x9265}, //14508 #CJK UNIFIED IDEOGRAPH
+  {0xE2FD, 0x5D07}, //14509 #CJK UNIFIED IDEOGRAPH
+  {0xE2FE, 0x5D27}, //14510 #CJK UNIFIED IDEOGRAPH
+  {0xE3A1, 0x5D69}, //14511 #CJK UNIFIED IDEOGRAPH
+  {0xE3A2, 0x745F}, //14512 #CJK UNIFIED IDEOGRAPH
+  {0xE3A3, 0x819D}, //14513 #CJK UNIFIED IDEOGRAPH
+  {0xE3A4, 0x8768}, //14514 #CJK UNIFIED IDEOGRAPH
+  {0xE3A5, 0x6FD5}, //14515 #CJK UNIFIED IDEOGRAPH
+  {0xE3A6, 0x62FE}, //14516 #CJK UNIFIED IDEOGRAPH
+  {0xE3A7, 0x7FD2}, //14517 #CJK UNIFIED IDEOGRAPH
+  {0xE3A8, 0x8936}, //14518 #CJK UNIFIED IDEOGRAPH
+  {0xE3A9, 0x8972}, //14519 #CJK UNIFIED IDEOGRAPH
+  {0xE3AA, 0x4E1E}, //14520 #CJK UNIFIED IDEOGRAPH
+  {0xE3AB, 0x4E58}, //14521 #CJK UNIFIED IDEOGRAPH
+  {0xE3AC, 0x50E7}, //14522 #CJK UNIFIED IDEOGRAPH
+  {0xE3AD, 0x52DD}, //14523 #CJK UNIFIED IDEOGRAPH
+  {0xE3AE, 0x5347}, //14524 #CJK UNIFIED IDEOGRAPH
+  {0xE3AF, 0x627F}, //14525 #CJK UNIFIED IDEOGRAPH
+  {0xE3B0, 0x6607}, //14526 #CJK UNIFIED IDEOGRAPH
+  {0xE3B1, 0x7E69}, //14527 #CJK UNIFIED IDEOGRAPH
+  {0xE3B2, 0x8805}, //14528 #CJK UNIFIED IDEOGRAPH
+  {0xE3B3, 0x965E}, //14529 #CJK UNIFIED IDEOGRAPH
+  {0xE3B4, 0x4F8D}, //14530 #CJK UNIFIED IDEOGRAPH
+  {0xE3B5, 0x5319}, //14531 #CJK UNIFIED IDEOGRAPH
+  {0xE3B6, 0x5636}, //14532 #CJK UNIFIED IDEOGRAPH
+  {0xE3B7, 0x59CB}, //14533 #CJK UNIFIED IDEOGRAPH
+  {0xE3B8, 0x5AA4}, //14534 #CJK UNIFIED IDEOGRAPH
+  {0xE3B9, 0x5C38}, //14535 #CJK UNIFIED IDEOGRAPH
+  {0xE3BA, 0x5C4E}, //14536 #CJK UNIFIED IDEOGRAPH
+  {0xE3BB, 0x5C4D}, //14537 #CJK UNIFIED IDEOGRAPH
+  {0xE3BC, 0x5E02}, //14538 #CJK UNIFIED IDEOGRAPH
+  {0xE3BD, 0x5F11}, //14539 #CJK UNIFIED IDEOGRAPH
+  {0xE3BE, 0x6043}, //14540 #CJK UNIFIED IDEOGRAPH
+  {0xE3BF, 0x65BD}, //14541 #CJK UNIFIED IDEOGRAPH
+  {0xE3C0, 0x662F}, //14542 #CJK UNIFIED IDEOGRAPH
+  {0xE3C1, 0x6642}, //14543 #CJK UNIFIED IDEOGRAPH
+  {0xE3C2, 0x67BE}, //14544 #CJK UNIFIED IDEOGRAPH
+  {0xE3C3, 0x67F4}, //14545 #CJK UNIFIED IDEOGRAPH
+  {0xE3C4, 0x731C}, //14546 #CJK UNIFIED IDEOGRAPH
+  {0xE3C5, 0x77E2}, //14547 #CJK UNIFIED IDEOGRAPH
+  {0xE3C6, 0x793A}, //14548 #CJK UNIFIED IDEOGRAPH
+  {0xE3C7, 0x7FC5}, //14549 #CJK UNIFIED IDEOGRAPH
+  {0xE3C8, 0x8494}, //14550 #CJK UNIFIED IDEOGRAPH
+  {0xE3C9, 0x84CD}, //14551 #CJK UNIFIED IDEOGRAPH
+  {0xE3CA, 0x8996}, //14552 #CJK UNIFIED IDEOGRAPH
+  {0xE3CB, 0x8A66}, //14553 #CJK UNIFIED IDEOGRAPH
+  {0xE3CC, 0x8A69}, //14554 #CJK UNIFIED IDEOGRAPH
+  {0xE3CD, 0x8AE1}, //14555 #CJK UNIFIED IDEOGRAPH
+  {0xE3CE, 0x8C55}, //14556 #CJK UNIFIED IDEOGRAPH
+  {0xE3CF, 0x8C7A}, //14557 #CJK UNIFIED IDEOGRAPH
+  {0xE3D0, 0x57F4}, //14558 #CJK UNIFIED IDEOGRAPH
+  {0xE3D1, 0x5BD4}, //14559 #CJK UNIFIED IDEOGRAPH
+  {0xE3D2, 0x5F0F}, //14560 #CJK UNIFIED IDEOGRAPH
+  {0xE3D3, 0x606F}, //14561 #CJK UNIFIED IDEOGRAPH
+  {0xE3D4, 0x62ED}, //14562 #CJK UNIFIED IDEOGRAPH
+  {0xE3D5, 0x690D}, //14563 #CJK UNIFIED IDEOGRAPH
+  {0xE3D6, 0x6B96}, //14564 #CJK UNIFIED IDEOGRAPH
+  {0xE3D7, 0x6E5C}, //14565 #CJK UNIFIED IDEOGRAPH
+  {0xE3D8, 0x7184}, //14566 #CJK UNIFIED IDEOGRAPH
+  {0xE3D9, 0x7BD2}, //14567 #CJK UNIFIED IDEOGRAPH
+  {0xE3DA, 0x8755}, //14568 #CJK UNIFIED IDEOGRAPH
+  {0xE3DB, 0x8B58}, //14569 #CJK UNIFIED IDEOGRAPH
+  {0xE3DC, 0x8EFE}, //14570 #CJK UNIFIED IDEOGRAPH
+  {0xE3DD, 0x98DF}, //14571 #CJK UNIFIED IDEOGRAPH
+  {0xE3DE, 0x98FE}, //14572 #CJK UNIFIED IDEOGRAPH
+  {0xE3DF, 0x4F38}, //14573 #CJK UNIFIED IDEOGRAPH
+  {0xE3E0, 0x4F81}, //14574 #CJK UNIFIED IDEOGRAPH
+  {0xE3E1, 0x4FE1}, //14575 #CJK UNIFIED IDEOGRAPH
+  {0xE3E2, 0x547B}, //14576 #CJK UNIFIED IDEOGRAPH
+  {0xE3E3, 0x5A20}, //14577 #CJK UNIFIED IDEOGRAPH
+  {0xE3E4, 0x5BB8}, //14578 #CJK UNIFIED IDEOGRAPH
+  {0xE3E5, 0x613C}, //14579 #CJK UNIFIED IDEOGRAPH
+  {0xE3E6, 0x65B0}, //14580 #CJK UNIFIED IDEOGRAPH
+  {0xE3E7, 0x6668}, //14581 #CJK UNIFIED IDEOGRAPH
+  {0xE3E8, 0x71FC}, //14582 #CJK UNIFIED IDEOGRAPH
+  {0xE3E9, 0x7533}, //14583 #CJK UNIFIED IDEOGRAPH
+  {0xE3EA, 0x795E}, //14584 #CJK UNIFIED IDEOGRAPH
+  {0xE3EB, 0x7D33}, //14585 #CJK UNIFIED IDEOGRAPH
+  {0xE3EC, 0x814E}, //14586 #CJK UNIFIED IDEOGRAPH
+  {0xE3ED, 0x81E3}, //14587 #CJK UNIFIED IDEOGRAPH
+  {0xE3EE, 0x8398}, //14588 #CJK UNIFIED IDEOGRAPH
+  {0xE3EF, 0x85AA}, //14589 #CJK UNIFIED IDEOGRAPH
+  {0xE3F0, 0x85CE}, //14590 #CJK UNIFIED IDEOGRAPH
+  {0xE3F1, 0x8703}, //14591 #CJK UNIFIED IDEOGRAPH
+  {0xE3F2, 0x8A0A}, //14592 #CJK UNIFIED IDEOGRAPH
+  {0xE3F3, 0x8EAB}, //14593 #CJK UNIFIED IDEOGRAPH
+  {0xE3F4, 0x8F9B}, //14594 #CJK UNIFIED IDEOGRAPH
+  {0xE3F5, 0xF971}, //14595 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE3F6, 0x8FC5}, //14596 #CJK UNIFIED IDEOGRAPH
+  {0xE3F7, 0x5931}, //14597 #CJK UNIFIED IDEOGRAPH
+  {0xE3F8, 0x5BA4}, //14598 #CJK UNIFIED IDEOGRAPH
+  {0xE3F9, 0x5BE6}, //14599 #CJK UNIFIED IDEOGRAPH
+  {0xE3FA, 0x6089}, //14600 #CJK UNIFIED IDEOGRAPH
+  {0xE3FB, 0x5BE9}, //14601 #CJK UNIFIED IDEOGRAPH
+  {0xE3FC, 0x5C0B}, //14602 #CJK UNIFIED IDEOGRAPH
+  {0xE3FD, 0x5FC3}, //14603 #CJK UNIFIED IDEOGRAPH
+  {0xE3FE, 0x6C81}, //14604 #CJK UNIFIED IDEOGRAPH
+  {0xE4A1, 0xF972}, //14605 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE4A2, 0x6DF1}, //14606 #CJK UNIFIED IDEOGRAPH
+  {0xE4A3, 0x700B}, //14607 #CJK UNIFIED IDEOGRAPH
+  {0xE4A4, 0x751A}, //14608 #CJK UNIFIED IDEOGRAPH
+  {0xE4A5, 0x82AF}, //14609 #CJK UNIFIED IDEOGRAPH
+  {0xE4A6, 0x8AF6}, //14610 #CJK UNIFIED IDEOGRAPH
+  {0xE4A7, 0x4EC0}, //14611 #CJK UNIFIED IDEOGRAPH
+  {0xE4A8, 0x5341}, //14612 #CJK UNIFIED IDEOGRAPH
+  {0xE4A9, 0xF973}, //14613 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE4AA, 0x96D9}, //14614 #CJK UNIFIED IDEOGRAPH
+  {0xE4AB, 0x6C0F}, //14615 #CJK UNIFIED IDEOGRAPH
+  {0xE4AC, 0x4E9E}, //14616 #CJK UNIFIED IDEOGRAPH
+  {0xE4AD, 0x4FC4}, //14617 #CJK UNIFIED IDEOGRAPH
+  {0xE4AE, 0x5152}, //14618 #CJK UNIFIED IDEOGRAPH
+  {0xE4AF, 0x555E}, //14619 #CJK UNIFIED IDEOGRAPH
+  {0xE4B0, 0x5A25}, //14620 #CJK UNIFIED IDEOGRAPH
+  {0xE4B1, 0x5CE8}, //14621 #CJK UNIFIED IDEOGRAPH
+  {0xE4B2, 0x6211}, //14622 #CJK UNIFIED IDEOGRAPH
+  {0xE4B3, 0x7259}, //14623 #CJK UNIFIED IDEOGRAPH
+  {0xE4B4, 0x82BD}, //14624 #CJK UNIFIED IDEOGRAPH
+  {0xE4B5, 0x83AA}, //14625 #CJK UNIFIED IDEOGRAPH
+  {0xE4B6, 0x86FE}, //14626 #CJK UNIFIED IDEOGRAPH
+  {0xE4B7, 0x8859}, //14627 #CJK UNIFIED IDEOGRAPH
+  {0xE4B8, 0x8A1D}, //14628 #CJK UNIFIED IDEOGRAPH
+  {0xE4B9, 0x963F}, //14629 #CJK UNIFIED IDEOGRAPH
+  {0xE4BA, 0x96C5}, //14630 #CJK UNIFIED IDEOGRAPH
+  {0xE4BB, 0x9913}, //14631 #CJK UNIFIED IDEOGRAPH
+  {0xE4BC, 0x9D09}, //14632 #CJK UNIFIED IDEOGRAPH
+  {0xE4BD, 0x9D5D}, //14633 #CJK UNIFIED IDEOGRAPH
+  {0xE4BE, 0x580A}, //14634 #CJK UNIFIED IDEOGRAPH
+  {0xE4BF, 0x5CB3}, //14635 #CJK UNIFIED IDEOGRAPH
+  {0xE4C0, 0x5DBD}, //14636 #CJK UNIFIED IDEOGRAPH
+  {0xE4C1, 0x5E44}, //14637 #CJK UNIFIED IDEOGRAPH
+  {0xE4C2, 0x60E1}, //14638 #CJK UNIFIED IDEOGRAPH
+  {0xE4C3, 0x6115}, //14639 #CJK UNIFIED IDEOGRAPH
+  {0xE4C4, 0x63E1}, //14640 #CJK UNIFIED IDEOGRAPH
+  {0xE4C5, 0x6A02}, //14641 #CJK UNIFIED IDEOGRAPH
+  {0xE4C6, 0x6E25}, //14642 #CJK UNIFIED IDEOGRAPH
+  {0xE4C7, 0x9102}, //14643 #CJK UNIFIED IDEOGRAPH
+  {0xE4C8, 0x9354}, //14644 #CJK UNIFIED IDEOGRAPH
+  {0xE4C9, 0x984E}, //14645 #CJK UNIFIED IDEOGRAPH
+  {0xE4CA, 0x9C10}, //14646 #CJK UNIFIED IDEOGRAPH
+  {0xE4CB, 0x9F77}, //14647 #CJK UNIFIED IDEOGRAPH
+  {0xE4CC, 0x5B89}, //14648 #CJK UNIFIED IDEOGRAPH
+  {0xE4CD, 0x5CB8}, //14649 #CJK UNIFIED IDEOGRAPH
+  {0xE4CE, 0x6309}, //14650 #CJK UNIFIED IDEOGRAPH
+  {0xE4CF, 0x664F}, //14651 #CJK UNIFIED IDEOGRAPH
+  {0xE4D0, 0x6848}, //14652 #CJK UNIFIED IDEOGRAPH
+  {0xE4D1, 0x773C}, //14653 #CJK UNIFIED IDEOGRAPH
+  {0xE4D2, 0x96C1}, //14654 #CJK UNIFIED IDEOGRAPH
+  {0xE4D3, 0x978D}, //14655 #CJK UNIFIED IDEOGRAPH
+  {0xE4D4, 0x9854}, //14656 #CJK UNIFIED IDEOGRAPH
+  {0xE4D5, 0x9B9F}, //14657 #CJK UNIFIED IDEOGRAPH
+  {0xE4D6, 0x65A1}, //14658 #CJK UNIFIED IDEOGRAPH
+  {0xE4D7, 0x8B01}, //14659 #CJK UNIFIED IDEOGRAPH
+  {0xE4D8, 0x8ECB}, //14660 #CJK UNIFIED IDEOGRAPH
+  {0xE4D9, 0x95BC}, //14661 #CJK UNIFIED IDEOGRAPH
+  {0xE4DA, 0x5535}, //14662 #CJK UNIFIED IDEOGRAPH
+  {0xE4DB, 0x5CA9}, //14663 #CJK UNIFIED IDEOGRAPH
+  {0xE4DC, 0x5DD6}, //14664 #CJK UNIFIED IDEOGRAPH
+  {0xE4DD, 0x5EB5}, //14665 #CJK UNIFIED IDEOGRAPH
+  {0xE4DE, 0x6697}, //14666 #CJK UNIFIED IDEOGRAPH
+  {0xE4DF, 0x764C}, //14667 #CJK UNIFIED IDEOGRAPH
+  {0xE4E0, 0x83F4}, //14668 #CJK UNIFIED IDEOGRAPH
+  {0xE4E1, 0x95C7}, //14669 #CJK UNIFIED IDEOGRAPH
+  {0xE4E2, 0x58D3}, //14670 #CJK UNIFIED IDEOGRAPH
+  {0xE4E3, 0x62BC}, //14671 #CJK UNIFIED IDEOGRAPH
+  {0xE4E4, 0x72CE}, //14672 #CJK UNIFIED IDEOGRAPH
+  {0xE4E5, 0x9D28}, //14673 #CJK UNIFIED IDEOGRAPH
+  {0xE4E6, 0x4EF0}, //14674 #CJK UNIFIED IDEOGRAPH
+  {0xE4E7, 0x592E}, //14675 #CJK UNIFIED IDEOGRAPH
+  {0xE4E8, 0x600F}, //14676 #CJK UNIFIED IDEOGRAPH
+  {0xE4E9, 0x663B}, //14677 #CJK UNIFIED IDEOGRAPH
+  {0xE4EA, 0x6B83}, //14678 #CJK UNIFIED IDEOGRAPH
+  {0xE4EB, 0x79E7}, //14679 #CJK UNIFIED IDEOGRAPH
+  {0xE4EC, 0x9D26}, //14680 #CJK UNIFIED IDEOGRAPH
+  {0xE4ED, 0x5393}, //14681 #CJK UNIFIED IDEOGRAPH
+  {0xE4EE, 0x54C0}, //14682 #CJK UNIFIED IDEOGRAPH
+  {0xE4EF, 0x57C3}, //14683 #CJK UNIFIED IDEOGRAPH
+  {0xE4F0, 0x5D16}, //14684 #CJK UNIFIED IDEOGRAPH
+  {0xE4F1, 0x611B}, //14685 #CJK UNIFIED IDEOGRAPH
+  {0xE4F2, 0x66D6}, //14686 #CJK UNIFIED IDEOGRAPH
+  {0xE4F3, 0x6DAF}, //14687 #CJK UNIFIED IDEOGRAPH
+  {0xE4F4, 0x788D}, //14688 #CJK UNIFIED IDEOGRAPH
+  {0xE4F5, 0x827E}, //14689 #CJK UNIFIED IDEOGRAPH
+  {0xE4F6, 0x9698}, //14690 #CJK UNIFIED IDEOGRAPH
+  {0xE4F7, 0x9744}, //14691 #CJK UNIFIED IDEOGRAPH
+  {0xE4F8, 0x5384}, //14692 #CJK UNIFIED IDEOGRAPH
+  {0xE4F9, 0x627C}, //14693 #CJK UNIFIED IDEOGRAPH
+  {0xE4FA, 0x6396}, //14694 #CJK UNIFIED IDEOGRAPH
+  {0xE4FB, 0x6DB2}, //14695 #CJK UNIFIED IDEOGRAPH
+  {0xE4FC, 0x7E0A}, //14696 #CJK UNIFIED IDEOGRAPH
+  {0xE4FD, 0x814B}, //14697 #CJK UNIFIED IDEOGRAPH
+  {0xE4FE, 0x984D}, //14698 #CJK UNIFIED IDEOGRAPH
+  {0xE5A1, 0x6AFB}, //14699 #CJK UNIFIED IDEOGRAPH
+  {0xE5A2, 0x7F4C}, //14700 #CJK UNIFIED IDEOGRAPH
+  {0xE5A3, 0x9DAF}, //14701 #CJK UNIFIED IDEOGRAPH
+  {0xE5A4, 0x9E1A}, //14702 #CJK UNIFIED IDEOGRAPH
+  {0xE5A5, 0x4E5F}, //14703 #CJK UNIFIED IDEOGRAPH
+  {0xE5A6, 0x503B}, //14704 #CJK UNIFIED IDEOGRAPH
+  {0xE5A7, 0x51B6}, //14705 #CJK UNIFIED IDEOGRAPH
+  {0xE5A8, 0x591C}, //14706 #CJK UNIFIED IDEOGRAPH
+  {0xE5A9, 0x60F9}, //14707 #CJK UNIFIED IDEOGRAPH
+  {0xE5AA, 0x63F6}, //14708 #CJK UNIFIED IDEOGRAPH
+  {0xE5AB, 0x6930}, //14709 #CJK UNIFIED IDEOGRAPH
+  {0xE5AC, 0x723A}, //14710 #CJK UNIFIED IDEOGRAPH
+  {0xE5AD, 0x8036}, //14711 #CJK UNIFIED IDEOGRAPH
+  {0xE5AE, 0xF974}, //14712 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5AF, 0x91CE}, //14713 #CJK UNIFIED IDEOGRAPH
+  {0xE5B0, 0x5F31}, //14714 #CJK UNIFIED IDEOGRAPH
+  {0xE5B1, 0xF975}, //14715 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5B2, 0xF976}, //14716 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5B3, 0x7D04}, //14717 #CJK UNIFIED IDEOGRAPH
+  {0xE5B4, 0x82E5}, //14718 #CJK UNIFIED IDEOGRAPH
+  {0xE5B5, 0x846F}, //14719 #CJK UNIFIED IDEOGRAPH
+  {0xE5B6, 0x84BB}, //14720 #CJK UNIFIED IDEOGRAPH
+  {0xE5B7, 0x85E5}, //14721 #CJK UNIFIED IDEOGRAPH
+  {0xE5B8, 0x8E8D}, //14722 #CJK UNIFIED IDEOGRAPH
+  {0xE5B9, 0xF977}, //14723 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5BA, 0x4F6F}, //14724 #CJK UNIFIED IDEOGRAPH
+  {0xE5BB, 0xF978}, //14725 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5BC, 0xF979}, //14726 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5BD, 0x58E4}, //14727 #CJK UNIFIED IDEOGRAPH
+  {0xE5BE, 0x5B43}, //14728 #CJK UNIFIED IDEOGRAPH
+  {0xE5BF, 0x6059}, //14729 #CJK UNIFIED IDEOGRAPH
+  {0xE5C0, 0x63DA}, //14730 #CJK UNIFIED IDEOGRAPH
+  {0xE5C1, 0x6518}, //14731 #CJK UNIFIED IDEOGRAPH
+  {0xE5C2, 0x656D}, //14732 #CJK UNIFIED IDEOGRAPH
+  {0xE5C3, 0x6698}, //14733 #CJK UNIFIED IDEOGRAPH
+  {0xE5C4, 0xF97A}, //14734 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5C5, 0x694A}, //14735 #CJK UNIFIED IDEOGRAPH
+  {0xE5C6, 0x6A23}, //14736 #CJK UNIFIED IDEOGRAPH
+  {0xE5C7, 0x6D0B}, //14737 #CJK UNIFIED IDEOGRAPH
+  {0xE5C8, 0x7001}, //14738 #CJK UNIFIED IDEOGRAPH
+  {0xE5C9, 0x716C}, //14739 #CJK UNIFIED IDEOGRAPH
+  {0xE5CA, 0x75D2}, //14740 #CJK UNIFIED IDEOGRAPH
+  {0xE5CB, 0x760D}, //14741 #CJK UNIFIED IDEOGRAPH
+  {0xE5CC, 0x79B3}, //14742 #CJK UNIFIED IDEOGRAPH
+  {0xE5CD, 0x7A70}, //14743 #CJK UNIFIED IDEOGRAPH
+  {0xE5CE, 0xF97B}, //14744 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5CF, 0x7F8A}, //14745 #CJK UNIFIED IDEOGRAPH
+  {0xE5D0, 0xF97C}, //14746 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5D1, 0x8944}, //14747 #CJK UNIFIED IDEOGRAPH
+  {0xE5D2, 0xF97D}, //14748 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5D3, 0x8B93}, //14749 #CJK UNIFIED IDEOGRAPH
+  {0xE5D4, 0x91C0}, //14750 #CJK UNIFIED IDEOGRAPH
+  {0xE5D5, 0x967D}, //14751 #CJK UNIFIED IDEOGRAPH
+  {0xE5D6, 0xF97E}, //14752 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5D7, 0x990A}, //14753 #CJK UNIFIED IDEOGRAPH
+  {0xE5D8, 0x5704}, //14754 #CJK UNIFIED IDEOGRAPH
+  {0xE5D9, 0x5FA1}, //14755 #CJK UNIFIED IDEOGRAPH
+  {0xE5DA, 0x65BC}, //14756 #CJK UNIFIED IDEOGRAPH
+  {0xE5DB, 0x6F01}, //14757 #CJK UNIFIED IDEOGRAPH
+  {0xE5DC, 0x7600}, //14758 #CJK UNIFIED IDEOGRAPH
+  {0xE5DD, 0x79A6}, //14759 #CJK UNIFIED IDEOGRAPH
+  {0xE5DE, 0x8A9E}, //14760 #CJK UNIFIED IDEOGRAPH
+  {0xE5DF, 0x99AD}, //14761 #CJK UNIFIED IDEOGRAPH
+  {0xE5E0, 0x9B5A}, //14762 #CJK UNIFIED IDEOGRAPH
+  {0xE5E1, 0x9F6C}, //14763 #CJK UNIFIED IDEOGRAPH
+  {0xE5E2, 0x5104}, //14764 #CJK UNIFIED IDEOGRAPH
+  {0xE5E3, 0x61B6}, //14765 #CJK UNIFIED IDEOGRAPH
+  {0xE5E4, 0x6291}, //14766 #CJK UNIFIED IDEOGRAPH
+  {0xE5E5, 0x6A8D}, //14767 #CJK UNIFIED IDEOGRAPH
+  {0xE5E6, 0x81C6}, //14768 #CJK UNIFIED IDEOGRAPH
+  {0xE5E7, 0x5043}, //14769 #CJK UNIFIED IDEOGRAPH
+  {0xE5E8, 0x5830}, //14770 #CJK UNIFIED IDEOGRAPH
+  {0xE5E9, 0x5F66}, //14771 #CJK UNIFIED IDEOGRAPH
+  {0xE5EA, 0x7109}, //14772 #CJK UNIFIED IDEOGRAPH
+  {0xE5EB, 0x8A00}, //14773 #CJK UNIFIED IDEOGRAPH
+  {0xE5EC, 0x8AFA}, //14774 #CJK UNIFIED IDEOGRAPH
+  {0xE5ED, 0x5B7C}, //14775 #CJK UNIFIED IDEOGRAPH
+  {0xE5EE, 0x8616}, //14776 #CJK UNIFIED IDEOGRAPH
+  {0xE5EF, 0x4FFA}, //14777 #CJK UNIFIED IDEOGRAPH
+  {0xE5F0, 0x513C}, //14778 #CJK UNIFIED IDEOGRAPH
+  {0xE5F1, 0x56B4}, //14779 #CJK UNIFIED IDEOGRAPH
+  {0xE5F2, 0x5944}, //14780 #CJK UNIFIED IDEOGRAPH
+  {0xE5F3, 0x63A9}, //14781 #CJK UNIFIED IDEOGRAPH
+  {0xE5F4, 0x6DF9}, //14782 #CJK UNIFIED IDEOGRAPH
+  {0xE5F5, 0x5DAA}, //14783 #CJK UNIFIED IDEOGRAPH
+  {0xE5F6, 0x696D}, //14784 #CJK UNIFIED IDEOGRAPH
+  {0xE5F7, 0x5186}, //14785 #CJK UNIFIED IDEOGRAPH
+  {0xE5F8, 0x4E88}, //14786 #CJK UNIFIED IDEOGRAPH
+  {0xE5F9, 0x4F59}, //14787 #CJK UNIFIED IDEOGRAPH
+  {0xE5FA, 0xF97F}, //14788 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5FB, 0xF980}, //14789 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5FC, 0xF981}, //14790 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE5FD, 0x5982}, //14791 #CJK UNIFIED IDEOGRAPH
+  {0xE5FE, 0xF982}, //14792 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6A1, 0xF983}, //14793 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6A2, 0x6B5F}, //14794 #CJK UNIFIED IDEOGRAPH
+  {0xE6A3, 0x6C5D}, //14795 #CJK UNIFIED IDEOGRAPH
+  {0xE6A4, 0xF984}, //14796 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6A5, 0x74B5}, //14797 #CJK UNIFIED IDEOGRAPH
+  {0xE6A6, 0x7916}, //14798 #CJK UNIFIED IDEOGRAPH
+  {0xE6A7, 0xF985}, //14799 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6A8, 0x8207}, //14800 #CJK UNIFIED IDEOGRAPH
+  {0xE6A9, 0x8245}, //14801 #CJK UNIFIED IDEOGRAPH
+  {0xE6AA, 0x8339}, //14802 #CJK UNIFIED IDEOGRAPH
+  {0xE6AB, 0x8F3F}, //14803 #CJK UNIFIED IDEOGRAPH
+  {0xE6AC, 0x8F5D}, //14804 #CJK UNIFIED IDEOGRAPH
+  {0xE6AD, 0xF986}, //14805 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6AE, 0x9918}, //14806 #CJK UNIFIED IDEOGRAPH
+  {0xE6AF, 0xF987}, //14807 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6B0, 0xF988}, //14808 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6B1, 0xF989}, //14809 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6B2, 0x4EA6}, //14810 #CJK UNIFIED IDEOGRAPH
+  {0xE6B3, 0xF98A}, //14811 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6B4, 0x57DF}, //14812 #CJK UNIFIED IDEOGRAPH
+  {0xE6B5, 0x5F79}, //14813 #CJK UNIFIED IDEOGRAPH
+  {0xE6B6, 0x6613}, //14814 #CJK UNIFIED IDEOGRAPH
+  {0xE6B7, 0xF98B}, //14815 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6B8, 0xF98C}, //14816 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6B9, 0x75AB}, //14817 #CJK UNIFIED IDEOGRAPH
+  {0xE6BA, 0x7E79}, //14818 #CJK UNIFIED IDEOGRAPH
+  {0xE6BB, 0x8B6F}, //14819 #CJK UNIFIED IDEOGRAPH
+  {0xE6BC, 0xF98D}, //14820 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6BD, 0x9006}, //14821 #CJK UNIFIED IDEOGRAPH
+  {0xE6BE, 0x9A5B}, //14822 #CJK UNIFIED IDEOGRAPH
+  {0xE6BF, 0x56A5}, //14823 #CJK UNIFIED IDEOGRAPH
+  {0xE6C0, 0x5827}, //14824 #CJK UNIFIED IDEOGRAPH
+  {0xE6C1, 0x59F8}, //14825 #CJK UNIFIED IDEOGRAPH
+  {0xE6C2, 0x5A1F}, //14826 #CJK UNIFIED IDEOGRAPH
+  {0xE6C3, 0x5BB4}, //14827 #CJK UNIFIED IDEOGRAPH
+  {0xE6C4, 0xF98E}, //14828 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6C5, 0x5EF6}, //14829 #CJK UNIFIED IDEOGRAPH
+  {0xE6C6, 0xF98F}, //14830 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6C7, 0xF990}, //14831 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6C8, 0x6350}, //14832 #CJK UNIFIED IDEOGRAPH
+  {0xE6C9, 0x633B}, //14833 #CJK UNIFIED IDEOGRAPH
+  {0xE6CA, 0xF991}, //14834 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6CB, 0x693D}, //14835 #CJK UNIFIED IDEOGRAPH
+  {0xE6CC, 0x6C87}, //14836 #CJK UNIFIED IDEOGRAPH
+  {0xE6CD, 0x6CBF}, //14837 #CJK UNIFIED IDEOGRAPH
+  {0xE6CE, 0x6D8E}, //14838 #CJK UNIFIED IDEOGRAPH
+  {0xE6CF, 0x6D93}, //14839 #CJK UNIFIED IDEOGRAPH
+  {0xE6D0, 0x6DF5}, //14840 #CJK UNIFIED IDEOGRAPH
+  {0xE6D1, 0x6F14}, //14841 #CJK UNIFIED IDEOGRAPH
+  {0xE6D2, 0xF992}, //14842 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6D3, 0x70DF}, //14843 #CJK UNIFIED IDEOGRAPH
+  {0xE6D4, 0x7136}, //14844 #CJK UNIFIED IDEOGRAPH
+  {0xE6D5, 0x7159}, //14845 #CJK UNIFIED IDEOGRAPH
+  {0xE6D6, 0xF993}, //14846 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6D7, 0x71C3}, //14847 #CJK UNIFIED IDEOGRAPH
+  {0xE6D8, 0x71D5}, //14848 #CJK UNIFIED IDEOGRAPH
+  {0xE6D9, 0xF994}, //14849 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6DA, 0x784F}, //14850 #CJK UNIFIED IDEOGRAPH
+  {0xE6DB, 0x786F}, //14851 #CJK UNIFIED IDEOGRAPH
+  {0xE6DC, 0xF995}, //14852 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6DD, 0x7B75}, //14853 #CJK UNIFIED IDEOGRAPH
+  {0xE6DE, 0x7DE3}, //14854 #CJK UNIFIED IDEOGRAPH
+  {0xE6DF, 0xF996}, //14855 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6E0, 0x7E2F}, //14856 #CJK UNIFIED IDEOGRAPH
+  {0xE6E1, 0xF997}, //14857 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6E2, 0x884D}, //14858 #CJK UNIFIED IDEOGRAPH
+  {0xE6E3, 0x8EDF}, //14859 #CJK UNIFIED IDEOGRAPH
+  {0xE6E4, 0xF998}, //14860 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6E5, 0xF999}, //14861 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6E6, 0xF99A}, //14862 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6E7, 0x925B}, //14863 #CJK UNIFIED IDEOGRAPH
+  {0xE6E8, 0xF99B}, //14864 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6E9, 0x9CF6}, //14865 #CJK UNIFIED IDEOGRAPH
+  {0xE6EA, 0xF99C}, //14866 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6EB, 0xF99D}, //14867 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6EC, 0xF99E}, //14868 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6ED, 0x6085}, //14869 #CJK UNIFIED IDEOGRAPH
+  {0xE6EE, 0x6D85}, //14870 #CJK UNIFIED IDEOGRAPH
+  {0xE6EF, 0xF99F}, //14871 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6F0, 0x71B1}, //14872 #CJK UNIFIED IDEOGRAPH
+  {0xE6F1, 0xF9A0}, //14873 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6F2, 0xF9A1}, //14874 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6F3, 0x95B1}, //14875 #CJK UNIFIED IDEOGRAPH
+  {0xE6F4, 0x53AD}, //14876 #CJK UNIFIED IDEOGRAPH
+  {0xE6F5, 0xF9A2}, //14877 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6F6, 0xF9A3}, //14878 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6F7, 0xF9A4}, //14879 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6F8, 0x67D3}, //14880 #CJK UNIFIED IDEOGRAPH
+  {0xE6F9, 0xF9A5}, //14881 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE6FA, 0x708E}, //14882 #CJK UNIFIED IDEOGRAPH
+  {0xE6FB, 0x7130}, //14883 #CJK UNIFIED IDEOGRAPH
+  {0xE6FC, 0x7430}, //14884 #CJK UNIFIED IDEOGRAPH
+  {0xE6FD, 0x8276}, //14885 #CJK UNIFIED IDEOGRAPH
+  {0xE6FE, 0x82D2}, //14886 #CJK UNIFIED IDEOGRAPH
+  {0xE7A1, 0xF9A6}, //14887 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7A2, 0x95BB}, //14888 #CJK UNIFIED IDEOGRAPH
+  {0xE7A3, 0x9AE5}, //14889 #CJK UNIFIED IDEOGRAPH
+  {0xE7A4, 0x9E7D}, //14890 #CJK UNIFIED IDEOGRAPH
+  {0xE7A5, 0x66C4}, //14891 #CJK UNIFIED IDEOGRAPH
+  {0xE7A6, 0xF9A7}, //14892 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7A7, 0x71C1}, //14893 #CJK UNIFIED IDEOGRAPH
+  {0xE7A8, 0x8449}, //14894 #CJK UNIFIED IDEOGRAPH
+  {0xE7A9, 0xF9A8}, //14895 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7AA, 0xF9A9}, //14896 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7AB, 0x584B}, //14897 #CJK UNIFIED IDEOGRAPH
+  {0xE7AC, 0xF9AA}, //14898 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7AD, 0xF9AB}, //14899 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7AE, 0x5DB8}, //14900 #CJK UNIFIED IDEOGRAPH
+  {0xE7AF, 0x5F71}, //14901 #CJK UNIFIED IDEOGRAPH
+  {0xE7B0, 0xF9AC}, //14902 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7B1, 0x6620}, //14903 #CJK UNIFIED IDEOGRAPH
+  {0xE7B2, 0x668E}, //14904 #CJK UNIFIED IDEOGRAPH
+  {0xE7B3, 0x6979}, //14905 #CJK UNIFIED IDEOGRAPH
+  {0xE7B4, 0x69AE}, //14906 #CJK UNIFIED IDEOGRAPH
+  {0xE7B5, 0x6C38}, //14907 #CJK UNIFIED IDEOGRAPH
+  {0xE7B6, 0x6CF3}, //14908 #CJK UNIFIED IDEOGRAPH
+  {0xE7B7, 0x6E36}, //14909 #CJK UNIFIED IDEOGRAPH
+  {0xE7B8, 0x6F41}, //14910 #CJK UNIFIED IDEOGRAPH
+  {0xE7B9, 0x6FDA}, //14911 #CJK UNIFIED IDEOGRAPH
+  {0xE7BA, 0x701B}, //14912 #CJK UNIFIED IDEOGRAPH
+  {0xE7BB, 0x702F}, //14913 #CJK UNIFIED IDEOGRAPH
+  {0xE7BC, 0x7150}, //14914 #CJK UNIFIED IDEOGRAPH
+  {0xE7BD, 0x71DF}, //14915 #CJK UNIFIED IDEOGRAPH
+  {0xE7BE, 0x7370}, //14916 #CJK UNIFIED IDEOGRAPH
+  {0xE7BF, 0xF9AD}, //14917 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7C0, 0x745B}, //14918 #CJK UNIFIED IDEOGRAPH
+  {0xE7C1, 0xF9AE}, //14919 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7C2, 0x74D4}, //14920 #CJK UNIFIED IDEOGRAPH
+  {0xE7C3, 0x76C8}, //14921 #CJK UNIFIED IDEOGRAPH
+  {0xE7C4, 0x7A4E}, //14922 #CJK UNIFIED IDEOGRAPH
+  {0xE7C5, 0x7E93}, //14923 #CJK UNIFIED IDEOGRAPH
+  {0xE7C6, 0xF9AF}, //14924 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7C7, 0xF9B0}, //14925 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7C8, 0x82F1}, //14926 #CJK UNIFIED IDEOGRAPH
+  {0xE7C9, 0x8A60}, //14927 #CJK UNIFIED IDEOGRAPH
+  {0xE7CA, 0x8FCE}, //14928 #CJK UNIFIED IDEOGRAPH
+  {0xE7CB, 0xF9B1}, //14929 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7CC, 0x9348}, //14930 #CJK UNIFIED IDEOGRAPH
+  {0xE7CD, 0xF9B2}, //14931 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7CE, 0x9719}, //14932 #CJK UNIFIED IDEOGRAPH
+  {0xE7CF, 0xF9B3}, //14933 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7D0, 0xF9B4}, //14934 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7D1, 0x4E42}, //14935 #CJK UNIFIED IDEOGRAPH
+  {0xE7D2, 0x502A}, //14936 #CJK UNIFIED IDEOGRAPH
+  {0xE7D3, 0xF9B5}, //14937 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7D4, 0x5208}, //14938 #CJK UNIFIED IDEOGRAPH
+  {0xE7D5, 0x53E1}, //14939 #CJK UNIFIED IDEOGRAPH
+  {0xE7D6, 0x66F3}, //14940 #CJK UNIFIED IDEOGRAPH
+  {0xE7D7, 0x6C6D}, //14941 #CJK UNIFIED IDEOGRAPH
+  {0xE7D8, 0x6FCA}, //14942 #CJK UNIFIED IDEOGRAPH
+  {0xE7D9, 0x730A}, //14943 #CJK UNIFIED IDEOGRAPH
+  {0xE7DA, 0x777F}, //14944 #CJK UNIFIED IDEOGRAPH
+  {0xE7DB, 0x7A62}, //14945 #CJK UNIFIED IDEOGRAPH
+  {0xE7DC, 0x82AE}, //14946 #CJK UNIFIED IDEOGRAPH
+  {0xE7DD, 0x85DD}, //14947 #CJK UNIFIED IDEOGRAPH
+  {0xE7DE, 0x8602}, //14948 #CJK UNIFIED IDEOGRAPH
+  {0xE7DF, 0xF9B6}, //14949 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7E0, 0x88D4}, //14950 #CJK UNIFIED IDEOGRAPH
+  {0xE7E1, 0x8A63}, //14951 #CJK UNIFIED IDEOGRAPH
+  {0xE7E2, 0x8B7D}, //14952 #CJK UNIFIED IDEOGRAPH
+  {0xE7E3, 0x8C6B}, //14953 #CJK UNIFIED IDEOGRAPH
+  {0xE7E4, 0xF9B7}, //14954 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7E5, 0x92B3}, //14955 #CJK UNIFIED IDEOGRAPH
+  {0xE7E6, 0xF9B8}, //14956 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7E7, 0x9713}, //14957 #CJK UNIFIED IDEOGRAPH
+  {0xE7E8, 0x9810}, //14958 #CJK UNIFIED IDEOGRAPH
+  {0xE7E9, 0x4E94}, //14959 #CJK UNIFIED IDEOGRAPH
+  {0xE7EA, 0x4F0D}, //14960 #CJK UNIFIED IDEOGRAPH
+  {0xE7EB, 0x4FC9}, //14961 #CJK UNIFIED IDEOGRAPH
+  {0xE7EC, 0x50B2}, //14962 #CJK UNIFIED IDEOGRAPH
+  {0xE7ED, 0x5348}, //14963 #CJK UNIFIED IDEOGRAPH
+  {0xE7EE, 0x543E}, //14964 #CJK UNIFIED IDEOGRAPH
+  {0xE7EF, 0x5433}, //14965 #CJK UNIFIED IDEOGRAPH
+  {0xE7F0, 0x55DA}, //14966 #CJK UNIFIED IDEOGRAPH
+  {0xE7F1, 0x5862}, //14967 #CJK UNIFIED IDEOGRAPH
+  {0xE7F2, 0x58BA}, //14968 #CJK UNIFIED IDEOGRAPH
+  {0xE7F3, 0x5967}, //14969 #CJK UNIFIED IDEOGRAPH
+  {0xE7F4, 0x5A1B}, //14970 #CJK UNIFIED IDEOGRAPH
+  {0xE7F5, 0x5BE4}, //14971 #CJK UNIFIED IDEOGRAPH
+  {0xE7F6, 0x609F}, //14972 #CJK UNIFIED IDEOGRAPH
+  {0xE7F7, 0xF9B9}, //14973 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE7F8, 0x61CA}, //14974 #CJK UNIFIED IDEOGRAPH
+  {0xE7F9, 0x6556}, //14975 #CJK UNIFIED IDEOGRAPH
+  {0xE7FA, 0x65FF}, //14976 #CJK UNIFIED IDEOGRAPH
+  {0xE7FB, 0x6664}, //14977 #CJK UNIFIED IDEOGRAPH
+  {0xE7FC, 0x68A7}, //14978 #CJK UNIFIED IDEOGRAPH
+  {0xE7FD, 0x6C5A}, //14979 #CJK UNIFIED IDEOGRAPH
+  {0xE7FE, 0x6FB3}, //14980 #CJK UNIFIED IDEOGRAPH
+  {0xE8A1, 0x70CF}, //14981 #CJK UNIFIED IDEOGRAPH
+  {0xE8A2, 0x71AC}, //14982 #CJK UNIFIED IDEOGRAPH
+  {0xE8A3, 0x7352}, //14983 #CJK UNIFIED IDEOGRAPH
+  {0xE8A4, 0x7B7D}, //14984 #CJK UNIFIED IDEOGRAPH
+  {0xE8A5, 0x8708}, //14985 #CJK UNIFIED IDEOGRAPH
+  {0xE8A6, 0x8AA4}, //14986 #CJK UNIFIED IDEOGRAPH
+  {0xE8A7, 0x9C32}, //14987 #CJK UNIFIED IDEOGRAPH
+  {0xE8A8, 0x9F07}, //14988 #CJK UNIFIED IDEOGRAPH
+  {0xE8A9, 0x5C4B}, //14989 #CJK UNIFIED IDEOGRAPH
+  {0xE8AA, 0x6C83}, //14990 #CJK UNIFIED IDEOGRAPH
+  {0xE8AB, 0x7344}, //14991 #CJK UNIFIED IDEOGRAPH
+  {0xE8AC, 0x7389}, //14992 #CJK UNIFIED IDEOGRAPH
+  {0xE8AD, 0x923A}, //14993 #CJK UNIFIED IDEOGRAPH
+  {0xE8AE, 0x6EAB}, //14994 #CJK UNIFIED IDEOGRAPH
+  {0xE8AF, 0x7465}, //14995 #CJK UNIFIED IDEOGRAPH
+  {0xE8B0, 0x761F}, //14996 #CJK UNIFIED IDEOGRAPH
+  {0xE8B1, 0x7A69}, //14997 #CJK UNIFIED IDEOGRAPH
+  {0xE8B2, 0x7E15}, //14998 #CJK UNIFIED IDEOGRAPH
+  {0xE8B3, 0x860A}, //14999 #CJK UNIFIED IDEOGRAPH
+  {0xE8B4, 0x5140}, //15000 #CJK UNIFIED IDEOGRAPH
+  {0xE8B5, 0x58C5}, //15001 #CJK UNIFIED IDEOGRAPH
+  {0xE8B6, 0x64C1}, //15002 #CJK UNIFIED IDEOGRAPH
+  {0xE8B7, 0x74EE}, //15003 #CJK UNIFIED IDEOGRAPH
+  {0xE8B8, 0x7515}, //15004 #CJK UNIFIED IDEOGRAPH
+  {0xE8B9, 0x7670}, //15005 #CJK UNIFIED IDEOGRAPH
+  {0xE8BA, 0x7FC1}, //15006 #CJK UNIFIED IDEOGRAPH
+  {0xE8BB, 0x9095}, //15007 #CJK UNIFIED IDEOGRAPH
+  {0xE8BC, 0x96CD}, //15008 #CJK UNIFIED IDEOGRAPH
+  {0xE8BD, 0x9954}, //15009 #CJK UNIFIED IDEOGRAPH
+  {0xE8BE, 0x6E26}, //15010 #CJK UNIFIED IDEOGRAPH
+  {0xE8BF, 0x74E6}, //15011 #CJK UNIFIED IDEOGRAPH
+  {0xE8C0, 0x7AA9}, //15012 #CJK UNIFIED IDEOGRAPH
+  {0xE8C1, 0x7AAA}, //15013 #CJK UNIFIED IDEOGRAPH
+  {0xE8C2, 0x81E5}, //15014 #CJK UNIFIED IDEOGRAPH
+  {0xE8C3, 0x86D9}, //15015 #CJK UNIFIED IDEOGRAPH
+  {0xE8C4, 0x8778}, //15016 #CJK UNIFIED IDEOGRAPH
+  {0xE8C5, 0x8A1B}, //15017 #CJK UNIFIED IDEOGRAPH
+  {0xE8C6, 0x5A49}, //15018 #CJK UNIFIED IDEOGRAPH
+  {0xE8C7, 0x5B8C}, //15019 #CJK UNIFIED IDEOGRAPH
+  {0xE8C8, 0x5B9B}, //15020 #CJK UNIFIED IDEOGRAPH
+  {0xE8C9, 0x68A1}, //15021 #CJK UNIFIED IDEOGRAPH
+  {0xE8CA, 0x6900}, //15022 #CJK UNIFIED IDEOGRAPH
+  {0xE8CB, 0x6D63}, //15023 #CJK UNIFIED IDEOGRAPH
+  {0xE8CC, 0x73A9}, //15024 #CJK UNIFIED IDEOGRAPH
+  {0xE8CD, 0x7413}, //15025 #CJK UNIFIED IDEOGRAPH
+  {0xE8CE, 0x742C}, //15026 #CJK UNIFIED IDEOGRAPH
+  {0xE8CF, 0x7897}, //15027 #CJK UNIFIED IDEOGRAPH
+  {0xE8D0, 0x7DE9}, //15028 #CJK UNIFIED IDEOGRAPH
+  {0xE8D1, 0x7FEB}, //15029 #CJK UNIFIED IDEOGRAPH
+  {0xE8D2, 0x8118}, //15030 #CJK UNIFIED IDEOGRAPH
+  {0xE8D3, 0x8155}, //15031 #CJK UNIFIED IDEOGRAPH
+  {0xE8D4, 0x839E}, //15032 #CJK UNIFIED IDEOGRAPH
+  {0xE8D5, 0x8C4C}, //15033 #CJK UNIFIED IDEOGRAPH
+  {0xE8D6, 0x962E}, //15034 #CJK UNIFIED IDEOGRAPH
+  {0xE8D7, 0x9811}, //15035 #CJK UNIFIED IDEOGRAPH
+  {0xE8D8, 0x66F0}, //15036 #CJK UNIFIED IDEOGRAPH
+  {0xE8D9, 0x5F80}, //15037 #CJK UNIFIED IDEOGRAPH
+  {0xE8DA, 0x65FA}, //15038 #CJK UNIFIED IDEOGRAPH
+  {0xE8DB, 0x6789}, //15039 #CJK UNIFIED IDEOGRAPH
+  {0xE8DC, 0x6C6A}, //15040 #CJK UNIFIED IDEOGRAPH
+  {0xE8DD, 0x738B}, //15041 #CJK UNIFIED IDEOGRAPH
+  {0xE8DE, 0x502D}, //15042 #CJK UNIFIED IDEOGRAPH
+  {0xE8DF, 0x5A03}, //15043 #CJK UNIFIED IDEOGRAPH
+  {0xE8E0, 0x6B6A}, //15044 #CJK UNIFIED IDEOGRAPH
+  {0xE8E1, 0x77EE}, //15045 #CJK UNIFIED IDEOGRAPH
+  {0xE8E2, 0x5916}, //15046 #CJK UNIFIED IDEOGRAPH
+  {0xE8E3, 0x5D6C}, //15047 #CJK UNIFIED IDEOGRAPH
+  {0xE8E4, 0x5DCD}, //15048 #CJK UNIFIED IDEOGRAPH
+  {0xE8E5, 0x7325}, //15049 #CJK UNIFIED IDEOGRAPH
+  {0xE8E6, 0x754F}, //15050 #CJK UNIFIED IDEOGRAPH
+  {0xE8E7, 0xF9BA}, //15051 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE8E8, 0xF9BB}, //15052 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE8E9, 0x50E5}, //15053 #CJK UNIFIED IDEOGRAPH
+  {0xE8EA, 0x51F9}, //15054 #CJK UNIFIED IDEOGRAPH
+  {0xE8EB, 0x582F}, //15055 #CJK UNIFIED IDEOGRAPH
+  {0xE8EC, 0x592D}, //15056 #CJK UNIFIED IDEOGRAPH
+  {0xE8ED, 0x5996}, //15057 #CJK UNIFIED IDEOGRAPH
+  {0xE8EE, 0x59DA}, //15058 #CJK UNIFIED IDEOGRAPH
+  {0xE8EF, 0x5BE5}, //15059 #CJK UNIFIED IDEOGRAPH
+  {0xE8F0, 0xF9BC}, //15060 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE8F1, 0xF9BD}, //15061 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE8F2, 0x5DA2}, //15062 #CJK UNIFIED IDEOGRAPH
+  {0xE8F3, 0x62D7}, //15063 #CJK UNIFIED IDEOGRAPH
+  {0xE8F4, 0x6416}, //15064 #CJK UNIFIED IDEOGRAPH
+  {0xE8F5, 0x6493}, //15065 #CJK UNIFIED IDEOGRAPH
+  {0xE8F6, 0x64FE}, //15066 #CJK UNIFIED IDEOGRAPH
+  {0xE8F7, 0xF9BE}, //15067 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE8F8, 0x66DC}, //15068 #CJK UNIFIED IDEOGRAPH
+  {0xE8F9, 0xF9BF}, //15069 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE8FA, 0x6A48}, //15070 #CJK UNIFIED IDEOGRAPH
+  {0xE8FB, 0xF9C0}, //15071 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE8FC, 0x71FF}, //15072 #CJK UNIFIED IDEOGRAPH
+  {0xE8FD, 0x7464}, //15073 #CJK UNIFIED IDEOGRAPH
+  {0xE8FE, 0xF9C1}, //15074 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE9A1, 0x7A88}, //15075 #CJK UNIFIED IDEOGRAPH
+  {0xE9A2, 0x7AAF}, //15076 #CJK UNIFIED IDEOGRAPH
+  {0xE9A3, 0x7E47}, //15077 #CJK UNIFIED IDEOGRAPH
+  {0xE9A4, 0x7E5E}, //15078 #CJK UNIFIED IDEOGRAPH
+  {0xE9A5, 0x8000}, //15079 #CJK UNIFIED IDEOGRAPH
+  {0xE9A6, 0x8170}, //15080 #CJK UNIFIED IDEOGRAPH
+  {0xE9A7, 0xF9C2}, //15081 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE9A8, 0x87EF}, //15082 #CJK UNIFIED IDEOGRAPH
+  {0xE9A9, 0x8981}, //15083 #CJK UNIFIED IDEOGRAPH
+  {0xE9AA, 0x8B20}, //15084 #CJK UNIFIED IDEOGRAPH
+  {0xE9AB, 0x9059}, //15085 #CJK UNIFIED IDEOGRAPH
+  {0xE9AC, 0xF9C3}, //15086 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE9AD, 0x9080}, //15087 #CJK UNIFIED IDEOGRAPH
+  {0xE9AE, 0x9952}, //15088 #CJK UNIFIED IDEOGRAPH
+  {0xE9AF, 0x617E}, //15089 #CJK UNIFIED IDEOGRAPH
+  {0xE9B0, 0x6B32}, //15090 #CJK UNIFIED IDEOGRAPH
+  {0xE9B1, 0x6D74}, //15091 #CJK UNIFIED IDEOGRAPH
+  {0xE9B2, 0x7E1F}, //15092 #CJK UNIFIED IDEOGRAPH
+  {0xE9B3, 0x8925}, //15093 #CJK UNIFIED IDEOGRAPH
+  {0xE9B4, 0x8FB1}, //15094 #CJK UNIFIED IDEOGRAPH
+  {0xE9B5, 0x4FD1}, //15095 #CJK UNIFIED IDEOGRAPH
+  {0xE9B6, 0x50AD}, //15096 #CJK UNIFIED IDEOGRAPH
+  {0xE9B7, 0x5197}, //15097 #CJK UNIFIED IDEOGRAPH
+  {0xE9B8, 0x52C7}, //15098 #CJK UNIFIED IDEOGRAPH
+  {0xE9B9, 0x57C7}, //15099 #CJK UNIFIED IDEOGRAPH
+  {0xE9BA, 0x5889}, //15100 #CJK UNIFIED IDEOGRAPH
+  {0xE9BB, 0x5BB9}, //15101 #CJK UNIFIED IDEOGRAPH
+  {0xE9BC, 0x5EB8}, //15102 #CJK UNIFIED IDEOGRAPH
+  {0xE9BD, 0x6142}, //15103 #CJK UNIFIED IDEOGRAPH
+  {0xE9BE, 0x6995}, //15104 #CJK UNIFIED IDEOGRAPH
+  {0xE9BF, 0x6D8C}, //15105 #CJK UNIFIED IDEOGRAPH
+  {0xE9C0, 0x6E67}, //15106 #CJK UNIFIED IDEOGRAPH
+  {0xE9C1, 0x6EB6}, //15107 #CJK UNIFIED IDEOGRAPH
+  {0xE9C2, 0x7194}, //15108 #CJK UNIFIED IDEOGRAPH
+  {0xE9C3, 0x7462}, //15109 #CJK UNIFIED IDEOGRAPH
+  {0xE9C4, 0x7528}, //15110 #CJK UNIFIED IDEOGRAPH
+  {0xE9C5, 0x752C}, //15111 #CJK UNIFIED IDEOGRAPH
+  {0xE9C6, 0x8073}, //15112 #CJK UNIFIED IDEOGRAPH
+  {0xE9C7, 0x8338}, //15113 #CJK UNIFIED IDEOGRAPH
+  {0xE9C8, 0x84C9}, //15114 #CJK UNIFIED IDEOGRAPH
+  {0xE9C9, 0x8E0A}, //15115 #CJK UNIFIED IDEOGRAPH
+  {0xE9CA, 0x9394}, //15116 #CJK UNIFIED IDEOGRAPH
+  {0xE9CB, 0x93DE}, //15117 #CJK UNIFIED IDEOGRAPH
+  {0xE9CC, 0xF9C4}, //15118 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE9CD, 0x4E8E}, //15119 #CJK UNIFIED IDEOGRAPH
+  {0xE9CE, 0x4F51}, //15120 #CJK UNIFIED IDEOGRAPH
+  {0xE9CF, 0x5076}, //15121 #CJK UNIFIED IDEOGRAPH
+  {0xE9D0, 0x512A}, //15122 #CJK UNIFIED IDEOGRAPH
+  {0xE9D1, 0x53C8}, //15123 #CJK UNIFIED IDEOGRAPH
+  {0xE9D2, 0x53CB}, //15124 #CJK UNIFIED IDEOGRAPH
+  {0xE9D3, 0x53F3}, //15125 #CJK UNIFIED IDEOGRAPH
+  {0xE9D4, 0x5B87}, //15126 #CJK UNIFIED IDEOGRAPH
+  {0xE9D5, 0x5BD3}, //15127 #CJK UNIFIED IDEOGRAPH
+  {0xE9D6, 0x5C24}, //15128 #CJK UNIFIED IDEOGRAPH
+  {0xE9D7, 0x611A}, //15129 #CJK UNIFIED IDEOGRAPH
+  {0xE9D8, 0x6182}, //15130 #CJK UNIFIED IDEOGRAPH
+  {0xE9D9, 0x65F4}, //15131 #CJK UNIFIED IDEOGRAPH
+  {0xE9DA, 0x725B}, //15132 #CJK UNIFIED IDEOGRAPH
+  {0xE9DB, 0x7397}, //15133 #CJK UNIFIED IDEOGRAPH
+  {0xE9DC, 0x7440}, //15134 #CJK UNIFIED IDEOGRAPH
+  {0xE9DD, 0x76C2}, //15135 #CJK UNIFIED IDEOGRAPH
+  {0xE9DE, 0x7950}, //15136 #CJK UNIFIED IDEOGRAPH
+  {0xE9DF, 0x7991}, //15137 #CJK UNIFIED IDEOGRAPH
+  {0xE9E0, 0x79B9}, //15138 #CJK UNIFIED IDEOGRAPH
+  {0xE9E1, 0x7D06}, //15139 #CJK UNIFIED IDEOGRAPH
+  {0xE9E2, 0x7FBD}, //15140 #CJK UNIFIED IDEOGRAPH
+  {0xE9E3, 0x828B}, //15141 #CJK UNIFIED IDEOGRAPH
+  {0xE9E4, 0x85D5}, //15142 #CJK UNIFIED IDEOGRAPH
+  {0xE9E5, 0x865E}, //15143 #CJK UNIFIED IDEOGRAPH
+  {0xE9E6, 0x8FC2}, //15144 #CJK UNIFIED IDEOGRAPH
+  {0xE9E7, 0x9047}, //15145 #CJK UNIFIED IDEOGRAPH
+  {0xE9E8, 0x90F5}, //15146 #CJK UNIFIED IDEOGRAPH
+  {0xE9E9, 0x91EA}, //15147 #CJK UNIFIED IDEOGRAPH
+  {0xE9EA, 0x9685}, //15148 #CJK UNIFIED IDEOGRAPH
+  {0xE9EB, 0x96E8}, //15149 #CJK UNIFIED IDEOGRAPH
+  {0xE9EC, 0x96E9}, //15150 #CJK UNIFIED IDEOGRAPH
+  {0xE9ED, 0x52D6}, //15151 #CJK UNIFIED IDEOGRAPH
+  {0xE9EE, 0x5F67}, //15152 #CJK UNIFIED IDEOGRAPH
+  {0xE9EF, 0x65ED}, //15153 #CJK UNIFIED IDEOGRAPH
+  {0xE9F0, 0x6631}, //15154 #CJK UNIFIED IDEOGRAPH
+  {0xE9F1, 0x682F}, //15155 #CJK UNIFIED IDEOGRAPH
+  {0xE9F2, 0x715C}, //15156 #CJK UNIFIED IDEOGRAPH
+  {0xE9F3, 0x7A36}, //15157 #CJK UNIFIED IDEOGRAPH
+  {0xE9F4, 0x90C1}, //15158 #CJK UNIFIED IDEOGRAPH
+  {0xE9F5, 0x980A}, //15159 #CJK UNIFIED IDEOGRAPH
+  {0xE9F6, 0x4E91}, //15160 #CJK UNIFIED IDEOGRAPH
+  {0xE9F7, 0xF9C5}, //15161 #CJK COMPATIBILITY IDEOGRAPH
+  {0xE9F8, 0x6A52}, //15162 #CJK UNIFIED IDEOGRAPH
+  {0xE9F9, 0x6B9E}, //15163 #CJK UNIFIED IDEOGRAPH
+  {0xE9FA, 0x6F90}, //15164 #CJK UNIFIED IDEOGRAPH
+  {0xE9FB, 0x7189}, //15165 #CJK UNIFIED IDEOGRAPH
+  {0xE9FC, 0x8018}, //15166 #CJK UNIFIED IDEOGRAPH
+  {0xE9FD, 0x82B8}, //15167 #CJK UNIFIED IDEOGRAPH
+  {0xE9FE, 0x8553}, //15168 #CJK UNIFIED IDEOGRAPH
+  {0xEAA1, 0x904B}, //15169 #CJK UNIFIED IDEOGRAPH
+  {0xEAA2, 0x9695}, //15170 #CJK UNIFIED IDEOGRAPH
+  {0xEAA3, 0x96F2}, //15171 #CJK UNIFIED IDEOGRAPH
+  {0xEAA4, 0x97FB}, //15172 #CJK UNIFIED IDEOGRAPH
+  {0xEAA5, 0x851A}, //15173 #CJK UNIFIED IDEOGRAPH
+  {0xEAA6, 0x9B31}, //15174 #CJK UNIFIED IDEOGRAPH
+  {0xEAA7, 0x4E90}, //15175 #CJK UNIFIED IDEOGRAPH
+  {0xEAA8, 0x718A}, //15176 #CJK UNIFIED IDEOGRAPH
+  {0xEAA9, 0x96C4}, //15177 #CJK UNIFIED IDEOGRAPH
+  {0xEAAA, 0x5143}, //15178 #CJK UNIFIED IDEOGRAPH
+  {0xEAAB, 0x539F}, //15179 #CJK UNIFIED IDEOGRAPH
+  {0xEAAC, 0x54E1}, //15180 #CJK UNIFIED IDEOGRAPH
+  {0xEAAD, 0x5713}, //15181 #CJK UNIFIED IDEOGRAPH
+  {0xEAAE, 0x5712}, //15182 #CJK UNIFIED IDEOGRAPH
+  {0xEAAF, 0x57A3}, //15183 #CJK UNIFIED IDEOGRAPH
+  {0xEAB0, 0x5A9B}, //15184 #CJK UNIFIED IDEOGRAPH
+  {0xEAB1, 0x5AC4}, //15185 #CJK UNIFIED IDEOGRAPH
+  {0xEAB2, 0x5BC3}, //15186 #CJK UNIFIED IDEOGRAPH
+  {0xEAB3, 0x6028}, //15187 #CJK UNIFIED IDEOGRAPH
+  {0xEAB4, 0x613F}, //15188 #CJK UNIFIED IDEOGRAPH
+  {0xEAB5, 0x63F4}, //15189 #CJK UNIFIED IDEOGRAPH
+  {0xEAB6, 0x6C85}, //15190 #CJK UNIFIED IDEOGRAPH
+  {0xEAB7, 0x6D39}, //15191 #CJK UNIFIED IDEOGRAPH
+  {0xEAB8, 0x6E72}, //15192 #CJK UNIFIED IDEOGRAPH
+  {0xEAB9, 0x6E90}, //15193 #CJK UNIFIED IDEOGRAPH
+  {0xEABA, 0x7230}, //15194 #CJK UNIFIED IDEOGRAPH
+  {0xEABB, 0x733F}, //15195 #CJK UNIFIED IDEOGRAPH
+  {0xEABC, 0x7457}, //15196 #CJK UNIFIED IDEOGRAPH
+  {0xEABD, 0x82D1}, //15197 #CJK UNIFIED IDEOGRAPH
+  {0xEABE, 0x8881}, //15198 #CJK UNIFIED IDEOGRAPH
+  {0xEABF, 0x8F45}, //15199 #CJK UNIFIED IDEOGRAPH
+  {0xEAC0, 0x9060}, //15200 #CJK UNIFIED IDEOGRAPH
+  {0xEAC1, 0xF9C6}, //15201 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEAC2, 0x9662}, //15202 #CJK UNIFIED IDEOGRAPH
+  {0xEAC3, 0x9858}, //15203 #CJK UNIFIED IDEOGRAPH
+  {0xEAC4, 0x9D1B}, //15204 #CJK UNIFIED IDEOGRAPH
+  {0xEAC5, 0x6708}, //15205 #CJK UNIFIED IDEOGRAPH
+  {0xEAC6, 0x8D8A}, //15206 #CJK UNIFIED IDEOGRAPH
+  {0xEAC7, 0x925E}, //15207 #CJK UNIFIED IDEOGRAPH
+  {0xEAC8, 0x4F4D}, //15208 #CJK UNIFIED IDEOGRAPH
+  {0xEAC9, 0x5049}, //15209 #CJK UNIFIED IDEOGRAPH
+  {0xEACA, 0x50DE}, //15210 #CJK UNIFIED IDEOGRAPH
+  {0xEACB, 0x5371}, //15211 #CJK UNIFIED IDEOGRAPH
+  {0xEACC, 0x570D}, //15212 #CJK UNIFIED IDEOGRAPH
+  {0xEACD, 0x59D4}, //15213 #CJK UNIFIED IDEOGRAPH
+  {0xEACE, 0x5A01}, //15214 #CJK UNIFIED IDEOGRAPH
+  {0xEACF, 0x5C09}, //15215 #CJK UNIFIED IDEOGRAPH
+  {0xEAD0, 0x6170}, //15216 #CJK UNIFIED IDEOGRAPH
+  {0xEAD1, 0x6690}, //15217 #CJK UNIFIED IDEOGRAPH
+  {0xEAD2, 0x6E2D}, //15218 #CJK UNIFIED IDEOGRAPH
+  {0xEAD3, 0x7232}, //15219 #CJK UNIFIED IDEOGRAPH
+  {0xEAD4, 0x744B}, //15220 #CJK UNIFIED IDEOGRAPH
+  {0xEAD5, 0x7DEF}, //15221 #CJK UNIFIED IDEOGRAPH
+  {0xEAD6, 0x80C3}, //15222 #CJK UNIFIED IDEOGRAPH
+  {0xEAD7, 0x840E}, //15223 #CJK UNIFIED IDEOGRAPH
+  {0xEAD8, 0x8466}, //15224 #CJK UNIFIED IDEOGRAPH
+  {0xEAD9, 0x853F}, //15225 #CJK UNIFIED IDEOGRAPH
+  {0xEADA, 0x875F}, //15226 #CJK UNIFIED IDEOGRAPH
+  {0xEADB, 0x885B}, //15227 #CJK UNIFIED IDEOGRAPH
+  {0xEADC, 0x8918}, //15228 #CJK UNIFIED IDEOGRAPH
+  {0xEADD, 0x8B02}, //15229 #CJK UNIFIED IDEOGRAPH
+  {0xEADE, 0x9055}, //15230 #CJK UNIFIED IDEOGRAPH
+  {0xEADF, 0x97CB}, //15231 #CJK UNIFIED IDEOGRAPH
+  {0xEAE0, 0x9B4F}, //15232 #CJK UNIFIED IDEOGRAPH
+  {0xEAE1, 0x4E73}, //15233 #CJK UNIFIED IDEOGRAPH
+  {0xEAE2, 0x4F91}, //15234 #CJK UNIFIED IDEOGRAPH
+  {0xEAE3, 0x5112}, //15235 #CJK UNIFIED IDEOGRAPH
+  {0xEAE4, 0x516A}, //15236 #CJK UNIFIED IDEOGRAPH
+  {0xEAE5, 0xF9C7}, //15237 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEAE6, 0x552F}, //15238 #CJK UNIFIED IDEOGRAPH
+  {0xEAE7, 0x55A9}, //15239 #CJK UNIFIED IDEOGRAPH
+  {0xEAE8, 0x5B7A}, //15240 #CJK UNIFIED IDEOGRAPH
+  {0xEAE9, 0x5BA5}, //15241 #CJK UNIFIED IDEOGRAPH
+  {0xEAEA, 0x5E7C}, //15242 #CJK UNIFIED IDEOGRAPH
+  {0xEAEB, 0x5E7D}, //15243 #CJK UNIFIED IDEOGRAPH
+  {0xEAEC, 0x5EBE}, //15244 #CJK UNIFIED IDEOGRAPH
+  {0xEAED, 0x60A0}, //15245 #CJK UNIFIED IDEOGRAPH
+  {0xEAEE, 0x60DF}, //15246 #CJK UNIFIED IDEOGRAPH
+  {0xEAEF, 0x6108}, //15247 #CJK UNIFIED IDEOGRAPH
+  {0xEAF0, 0x6109}, //15248 #CJK UNIFIED IDEOGRAPH
+  {0xEAF1, 0x63C4}, //15249 #CJK UNIFIED IDEOGRAPH
+  {0xEAF2, 0x6538}, //15250 #CJK UNIFIED IDEOGRAPH
+  {0xEAF3, 0x6709}, //15251 #CJK UNIFIED IDEOGRAPH
+  {0xEAF4, 0xF9C8}, //15252 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEAF5, 0x67D4}, //15253 #CJK UNIFIED IDEOGRAPH
+  {0xEAF6, 0x67DA}, //15254 #CJK UNIFIED IDEOGRAPH
+  {0xEAF7, 0xF9C9}, //15255 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEAF8, 0x6961}, //15256 #CJK UNIFIED IDEOGRAPH
+  {0xEAF9, 0x6962}, //15257 #CJK UNIFIED IDEOGRAPH
+  {0xEAFA, 0x6CB9}, //15258 #CJK UNIFIED IDEOGRAPH
+  {0xEAFB, 0x6D27}, //15259 #CJK UNIFIED IDEOGRAPH
+  {0xEAFC, 0xF9CA}, //15260 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEAFD, 0x6E38}, //15261 #CJK UNIFIED IDEOGRAPH
+  {0xEAFE, 0xF9CB}, //15262 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBA1, 0x6FE1}, //15263 #CJK UNIFIED IDEOGRAPH
+  {0xEBA2, 0x7336}, //15264 #CJK UNIFIED IDEOGRAPH
+  {0xEBA3, 0x7337}, //15265 #CJK UNIFIED IDEOGRAPH
+  {0xEBA4, 0xF9CC}, //15266 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBA5, 0x745C}, //15267 #CJK UNIFIED IDEOGRAPH
+  {0xEBA6, 0x7531}, //15268 #CJK UNIFIED IDEOGRAPH
+  {0xEBA7, 0xF9CD}, //15269 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBA8, 0x7652}, //15270 #CJK UNIFIED IDEOGRAPH
+  {0xEBA9, 0xF9CE}, //15271 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBAA, 0xF9CF}, //15272 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBAB, 0x7DAD}, //15273 #CJK UNIFIED IDEOGRAPH
+  {0xEBAC, 0x81FE}, //15274 #CJK UNIFIED IDEOGRAPH
+  {0xEBAD, 0x8438}, //15275 #CJK UNIFIED IDEOGRAPH
+  {0xEBAE, 0x88D5}, //15276 #CJK UNIFIED IDEOGRAPH
+  {0xEBAF, 0x8A98}, //15277 #CJK UNIFIED IDEOGRAPH
+  {0xEBB0, 0x8ADB}, //15278 #CJK UNIFIED IDEOGRAPH
+  {0xEBB1, 0x8AED}, //15279 #CJK UNIFIED IDEOGRAPH
+  {0xEBB2, 0x8E30}, //15280 #CJK UNIFIED IDEOGRAPH
+  {0xEBB3, 0x8E42}, //15281 #CJK UNIFIED IDEOGRAPH
+  {0xEBB4, 0x904A}, //15282 #CJK UNIFIED IDEOGRAPH
+  {0xEBB5, 0x903E}, //15283 #CJK UNIFIED IDEOGRAPH
+  {0xEBB6, 0x907A}, //15284 #CJK UNIFIED IDEOGRAPH
+  {0xEBB7, 0x9149}, //15285 #CJK UNIFIED IDEOGRAPH
+  {0xEBB8, 0x91C9}, //15286 #CJK UNIFIED IDEOGRAPH
+  {0xEBB9, 0x936E}, //15287 #CJK UNIFIED IDEOGRAPH
+  {0xEBBA, 0xF9D0}, //15288 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBBB, 0xF9D1}, //15289 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBBC, 0x5809}, //15290 #CJK UNIFIED IDEOGRAPH
+  {0xEBBD, 0xF9D2}, //15291 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBBE, 0x6BD3}, //15292 #CJK UNIFIED IDEOGRAPH
+  {0xEBBF, 0x8089}, //15293 #CJK UNIFIED IDEOGRAPH
+  {0xEBC0, 0x80B2}, //15294 #CJK UNIFIED IDEOGRAPH
+  {0xEBC1, 0xF9D3}, //15295 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBC2, 0xF9D4}, //15296 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBC3, 0x5141}, //15297 #CJK UNIFIED IDEOGRAPH
+  {0xEBC4, 0x596B}, //15298 #CJK UNIFIED IDEOGRAPH
+  {0xEBC5, 0x5C39}, //15299 #CJK UNIFIED IDEOGRAPH
+  {0xEBC6, 0xF9D5}, //15300 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBC7, 0xF9D6}, //15301 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBC8, 0x6F64}, //15302 #CJK UNIFIED IDEOGRAPH
+  {0xEBC9, 0x73A7}, //15303 #CJK UNIFIED IDEOGRAPH
+  {0xEBCA, 0x80E4}, //15304 #CJK UNIFIED IDEOGRAPH
+  {0xEBCB, 0x8D07}, //15305 #CJK UNIFIED IDEOGRAPH
+  {0xEBCC, 0xF9D7}, //15306 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBCD, 0x9217}, //15307 #CJK UNIFIED IDEOGRAPH
+  {0xEBCE, 0x958F}, //15308 #CJK UNIFIED IDEOGRAPH
+  {0xEBCF, 0xF9D8}, //15309 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBD0, 0xF9D9}, //15310 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBD1, 0xF9DA}, //15311 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBD2, 0xF9DB}, //15312 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBD3, 0x807F}, //15313 #CJK UNIFIED IDEOGRAPH
+  {0xEBD4, 0x620E}, //15314 #CJK UNIFIED IDEOGRAPH
+  {0xEBD5, 0x701C}, //15315 #CJK UNIFIED IDEOGRAPH
+  {0xEBD6, 0x7D68}, //15316 #CJK UNIFIED IDEOGRAPH
+  {0xEBD7, 0x878D}, //15317 #CJK UNIFIED IDEOGRAPH
+  {0xEBD8, 0xF9DC}, //15318 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEBD9, 0x57A0}, //15319 #CJK UNIFIED IDEOGRAPH
+  {0xEBDA, 0x6069}, //15320 #CJK UNIFIED IDEOGRAPH
+  {0xEBDB, 0x6147}, //15321 #CJK UNIFIED IDEOGRAPH
+  {0xEBDC, 0x6BB7}, //15322 #CJK UNIFIED IDEOGRAPH
+  {0xEBDD, 0x8ABE}, //15323 #CJK UNIFIED IDEOGRAPH
+  {0xEBDE, 0x9280}, //15324 #CJK UNIFIED IDEOGRAPH
+  {0xEBDF, 0x96B1}, //15325 #CJK UNIFIED IDEOGRAPH
+  {0xEBE0, 0x4E59}, //15326 #CJK UNIFIED IDEOGRAPH
+  {0xEBE1, 0x541F}, //15327 #CJK UNIFIED IDEOGRAPH
+  {0xEBE2, 0x6DEB}, //15328 #CJK UNIFIED IDEOGRAPH
+  {0xEBE3, 0x852D}, //15329 #CJK UNIFIED IDEOGRAPH
+  {0xEBE4, 0x9670}, //15330 #CJK UNIFIED IDEOGRAPH
+  {0xEBE5, 0x97F3}, //15331 #CJK UNIFIED IDEOGRAPH
+  {0xEBE6, 0x98EE}, //15332 #CJK UNIFIED IDEOGRAPH
+  {0xEBE7, 0x63D6}, //15333 #CJK UNIFIED IDEOGRAPH
+  {0xEBE8, 0x6CE3}, //15334 #CJK UNIFIED IDEOGRAPH
+  {0xEBE9, 0x9091}, //15335 #CJK UNIFIED IDEOGRAPH
+  {0xEBEA, 0x51DD}, //15336 #CJK UNIFIED IDEOGRAPH
+  {0xEBEB, 0x61C9}, //15337 #CJK UNIFIED IDEOGRAPH
+  {0xEBEC, 0x81BA}, //15338 #CJK UNIFIED IDEOGRAPH
+  {0xEBED, 0x9DF9}, //15339 #CJK UNIFIED IDEOGRAPH
+  {0xEBEE, 0x4F9D}, //15340 #CJK UNIFIED IDEOGRAPH
+  {0xEBEF, 0x501A}, //15341 #CJK UNIFIED IDEOGRAPH
+  {0xEBF0, 0x5100}, //15342 #CJK UNIFIED IDEOGRAPH
+  {0xEBF1, 0x5B9C}, //15343 #CJK UNIFIED IDEOGRAPH
+  {0xEBF2, 0x610F}, //15344 #CJK UNIFIED IDEOGRAPH
+  {0xEBF3, 0x61FF}, //15345 #CJK UNIFIED IDEOGRAPH
+  {0xEBF4, 0x64EC}, //15346 #CJK UNIFIED IDEOGRAPH
+  {0xEBF5, 0x6905}, //15347 #CJK UNIFIED IDEOGRAPH
+  {0xEBF6, 0x6BC5}, //15348 #CJK UNIFIED IDEOGRAPH
+  {0xEBF7, 0x7591}, //15349 #CJK UNIFIED IDEOGRAPH
+  {0xEBF8, 0x77E3}, //15350 #CJK UNIFIED IDEOGRAPH
+  {0xEBF9, 0x7FA9}, //15351 #CJK UNIFIED IDEOGRAPH
+  {0xEBFA, 0x8264}, //15352 #CJK UNIFIED IDEOGRAPH
+  {0xEBFB, 0x858F}, //15353 #CJK UNIFIED IDEOGRAPH
+  {0xEBFC, 0x87FB}, //15354 #CJK UNIFIED IDEOGRAPH
+  {0xEBFD, 0x8863}, //15355 #CJK UNIFIED IDEOGRAPH
+  {0xEBFE, 0x8ABC}, //15356 #CJK UNIFIED IDEOGRAPH
+  {0xECA1, 0x8B70}, //15357 #CJK UNIFIED IDEOGRAPH
+  {0xECA2, 0x91AB}, //15358 #CJK UNIFIED IDEOGRAPH
+  {0xECA3, 0x4E8C}, //15359 #CJK UNIFIED IDEOGRAPH
+  {0xECA4, 0x4EE5}, //15360 #CJK UNIFIED IDEOGRAPH
+  {0xECA5, 0x4F0A}, //15361 #CJK UNIFIED IDEOGRAPH
+  {0xECA6, 0xF9DD}, //15362 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECA7, 0xF9DE}, //15363 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECA8, 0x5937}, //15364 #CJK UNIFIED IDEOGRAPH
+  {0xECA9, 0x59E8}, //15365 #CJK UNIFIED IDEOGRAPH
+  {0xECAA, 0xF9DF}, //15366 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECAB, 0x5DF2}, //15367 #CJK UNIFIED IDEOGRAPH
+  {0xECAC, 0x5F1B}, //15368 #CJK UNIFIED IDEOGRAPH
+  {0xECAD, 0x5F5B}, //15369 #CJK UNIFIED IDEOGRAPH
+  {0xECAE, 0x6021}, //15370 #CJK UNIFIED IDEOGRAPH
+  {0xECAF, 0xF9E0}, //15371 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECB0, 0xF9E1}, //15372 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECB1, 0xF9E2}, //15373 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECB2, 0xF9E3}, //15374 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECB3, 0x723E}, //15375 #CJK UNIFIED IDEOGRAPH
+  {0xECB4, 0x73E5}, //15376 #CJK UNIFIED IDEOGRAPH
+  {0xECB5, 0xF9E4}, //15377 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECB6, 0x7570}, //15378 #CJK UNIFIED IDEOGRAPH
+  {0xECB7, 0x75CD}, //15379 #CJK UNIFIED IDEOGRAPH
+  {0xECB8, 0xF9E5}, //15380 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECB9, 0x79FB}, //15381 #CJK UNIFIED IDEOGRAPH
+  {0xECBA, 0xF9E6}, //15382 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECBB, 0x800C}, //15383 #CJK UNIFIED IDEOGRAPH
+  {0xECBC, 0x8033}, //15384 #CJK UNIFIED IDEOGRAPH
+  {0xECBD, 0x8084}, //15385 #CJK UNIFIED IDEOGRAPH
+  {0xECBE, 0x82E1}, //15386 #CJK UNIFIED IDEOGRAPH
+  {0xECBF, 0x8351}, //15387 #CJK UNIFIED IDEOGRAPH
+  {0xECC0, 0xF9E7}, //15388 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECC1, 0xF9E8}, //15389 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECC2, 0x8CBD}, //15390 #CJK UNIFIED IDEOGRAPH
+  {0xECC3, 0x8CB3}, //15391 #CJK UNIFIED IDEOGRAPH
+  {0xECC4, 0x9087}, //15392 #CJK UNIFIED IDEOGRAPH
+  {0xECC5, 0xF9E9}, //15393 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECC6, 0xF9EA}, //15394 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECC7, 0x98F4}, //15395 #CJK UNIFIED IDEOGRAPH
+  {0xECC8, 0x990C}, //15396 #CJK UNIFIED IDEOGRAPH
+  {0xECC9, 0xF9EB}, //15397 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECCA, 0xF9EC}, //15398 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECCB, 0x7037}, //15399 #CJK UNIFIED IDEOGRAPH
+  {0xECCC, 0x76CA}, //15400 #CJK UNIFIED IDEOGRAPH
+  {0xECCD, 0x7FCA}, //15401 #CJK UNIFIED IDEOGRAPH
+  {0xECCE, 0x7FCC}, //15402 #CJK UNIFIED IDEOGRAPH
+  {0xECCF, 0x7FFC}, //15403 #CJK UNIFIED IDEOGRAPH
+  {0xECD0, 0x8B1A}, //15404 #CJK UNIFIED IDEOGRAPH
+  {0xECD1, 0x4EBA}, //15405 #CJK UNIFIED IDEOGRAPH
+  {0xECD2, 0x4EC1}, //15406 #CJK UNIFIED IDEOGRAPH
+  {0xECD3, 0x5203}, //15407 #CJK UNIFIED IDEOGRAPH
+  {0xECD4, 0x5370}, //15408 #CJK UNIFIED IDEOGRAPH
+  {0xECD5, 0xF9ED}, //15409 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECD6, 0x54BD}, //15410 #CJK UNIFIED IDEOGRAPH
+  {0xECD7, 0x56E0}, //15411 #CJK UNIFIED IDEOGRAPH
+  {0xECD8, 0x59FB}, //15412 #CJK UNIFIED IDEOGRAPH
+  {0xECD9, 0x5BC5}, //15413 #CJK UNIFIED IDEOGRAPH
+  {0xECDA, 0x5F15}, //15414 #CJK UNIFIED IDEOGRAPH
+  {0xECDB, 0x5FCD}, //15415 #CJK UNIFIED IDEOGRAPH
+  {0xECDC, 0x6E6E}, //15416 #CJK UNIFIED IDEOGRAPH
+  {0xECDD, 0xF9EE}, //15417 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECDE, 0xF9EF}, //15418 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECDF, 0x7D6A}, //15419 #CJK UNIFIED IDEOGRAPH
+  {0xECE0, 0x8335}, //15420 #CJK UNIFIED IDEOGRAPH
+  {0xECE1, 0xF9F0}, //15421 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECE2, 0x8693}, //15422 #CJK UNIFIED IDEOGRAPH
+  {0xECE3, 0x8A8D}, //15423 #CJK UNIFIED IDEOGRAPH
+  {0xECE4, 0xF9F1}, //15424 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECE5, 0x976D}, //15425 #CJK UNIFIED IDEOGRAPH
+  {0xECE6, 0x9777}, //15426 #CJK UNIFIED IDEOGRAPH
+  {0xECE7, 0xF9F2}, //15427 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECE8, 0xF9F3}, //15428 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECE9, 0x4E00}, //15429 #CJK UNIFIED IDEOGRAPH
+  {0xECEA, 0x4F5A}, //15430 #CJK UNIFIED IDEOGRAPH
+  {0xECEB, 0x4F7E}, //15431 #CJK UNIFIED IDEOGRAPH
+  {0xECEC, 0x58F9}, //15432 #CJK UNIFIED IDEOGRAPH
+  {0xECED, 0x65E5}, //15433 #CJK UNIFIED IDEOGRAPH
+  {0xECEE, 0x6EA2}, //15434 #CJK UNIFIED IDEOGRAPH
+  {0xECEF, 0x9038}, //15435 #CJK UNIFIED IDEOGRAPH
+  {0xECF0, 0x93B0}, //15436 #CJK UNIFIED IDEOGRAPH
+  {0xECF1, 0x99B9}, //15437 #CJK UNIFIED IDEOGRAPH
+  {0xECF2, 0x4EFB}, //15438 #CJK UNIFIED IDEOGRAPH
+  {0xECF3, 0x58EC}, //15439 #CJK UNIFIED IDEOGRAPH
+  {0xECF4, 0x598A}, //15440 #CJK UNIFIED IDEOGRAPH
+  {0xECF5, 0x59D9}, //15441 #CJK UNIFIED IDEOGRAPH
+  {0xECF6, 0x6041}, //15442 #CJK UNIFIED IDEOGRAPH
+  {0xECF7, 0xF9F4}, //15443 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECF8, 0xF9F5}, //15444 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECF9, 0x7A14}, //15445 #CJK UNIFIED IDEOGRAPH
+  {0xECFA, 0xF9F6}, //15446 #CJK COMPATIBILITY IDEOGRAPH
+  {0xECFB, 0x834F}, //15447 #CJK UNIFIED IDEOGRAPH
+  {0xECFC, 0x8CC3}, //15448 #CJK UNIFIED IDEOGRAPH
+  {0xECFD, 0x5165}, //15449 #CJK UNIFIED IDEOGRAPH
+  {0xECFE, 0x5344}, //15450 #CJK UNIFIED IDEOGRAPH
+  {0xEDA1, 0xF9F7}, //15451 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEDA2, 0xF9F8}, //15452 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEDA3, 0xF9F9}, //15453 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEDA4, 0x4ECD}, //15454 #CJK UNIFIED IDEOGRAPH
+  {0xEDA5, 0x5269}, //15455 #CJK UNIFIED IDEOGRAPH
+  {0xEDA6, 0x5B55}, //15456 #CJK UNIFIED IDEOGRAPH
+  {0xEDA7, 0x82BF}, //15457 #CJK UNIFIED IDEOGRAPH
+  {0xEDA8, 0x4ED4}, //15458 #CJK UNIFIED IDEOGRAPH
+  {0xEDA9, 0x523A}, //15459 #CJK UNIFIED IDEOGRAPH
+  {0xEDAA, 0x54A8}, //15460 #CJK UNIFIED IDEOGRAPH
+  {0xEDAB, 0x59C9}, //15461 #CJK UNIFIED IDEOGRAPH
+  {0xEDAC, 0x59FF}, //15462 #CJK UNIFIED IDEOGRAPH
+  {0xEDAD, 0x5B50}, //15463 #CJK UNIFIED IDEOGRAPH
+  {0xEDAE, 0x5B57}, //15464 #CJK UNIFIED IDEOGRAPH
+  {0xEDAF, 0x5B5C}, //15465 #CJK UNIFIED IDEOGRAPH
+  {0xEDB0, 0x6063}, //15466 #CJK UNIFIED IDEOGRAPH
+  {0xEDB1, 0x6148}, //15467 #CJK UNIFIED IDEOGRAPH
+  {0xEDB2, 0x6ECB}, //15468 #CJK UNIFIED IDEOGRAPH
+  {0xEDB3, 0x7099}, //15469 #CJK UNIFIED IDEOGRAPH
+  {0xEDB4, 0x716E}, //15470 #CJK UNIFIED IDEOGRAPH
+  {0xEDB5, 0x7386}, //15471 #CJK UNIFIED IDEOGRAPH
+  {0xEDB6, 0x74F7}, //15472 #CJK UNIFIED IDEOGRAPH
+  {0xEDB7, 0x75B5}, //15473 #CJK UNIFIED IDEOGRAPH
+  {0xEDB8, 0x78C1}, //15474 #CJK UNIFIED IDEOGRAPH
+  {0xEDB9, 0x7D2B}, //15475 #CJK UNIFIED IDEOGRAPH
+  {0xEDBA, 0x8005}, //15476 #CJK UNIFIED IDEOGRAPH
+  {0xEDBB, 0x81EA}, //15477 #CJK UNIFIED IDEOGRAPH
+  {0xEDBC, 0x8328}, //15478 #CJK UNIFIED IDEOGRAPH
+  {0xEDBD, 0x8517}, //15479 #CJK UNIFIED IDEOGRAPH
+  {0xEDBE, 0x85C9}, //15480 #CJK UNIFIED IDEOGRAPH
+  {0xEDBF, 0x8AEE}, //15481 #CJK UNIFIED IDEOGRAPH
+  {0xEDC0, 0x8CC7}, //15482 #CJK UNIFIED IDEOGRAPH
+  {0xEDC1, 0x96CC}, //15483 #CJK UNIFIED IDEOGRAPH
+  {0xEDC2, 0x4F5C}, //15484 #CJK UNIFIED IDEOGRAPH
+  {0xEDC3, 0x52FA}, //15485 #CJK UNIFIED IDEOGRAPH
+  {0xEDC4, 0x56BC}, //15486 #CJK UNIFIED IDEOGRAPH
+  {0xEDC5, 0x65AB}, //15487 #CJK UNIFIED IDEOGRAPH
+  {0xEDC6, 0x6628}, //15488 #CJK UNIFIED IDEOGRAPH
+  {0xEDC7, 0x707C}, //15489 #CJK UNIFIED IDEOGRAPH
+  {0xEDC8, 0x70B8}, //15490 #CJK UNIFIED IDEOGRAPH
+  {0xEDC9, 0x7235}, //15491 #CJK UNIFIED IDEOGRAPH
+  {0xEDCA, 0x7DBD}, //15492 #CJK UNIFIED IDEOGRAPH
+  {0xEDCB, 0x828D}, //15493 #CJK UNIFIED IDEOGRAPH
+  {0xEDCC, 0x914C}, //15494 #CJK UNIFIED IDEOGRAPH
+  {0xEDCD, 0x96C0}, //15495 #CJK UNIFIED IDEOGRAPH
+  {0xEDCE, 0x9D72}, //15496 #CJK UNIFIED IDEOGRAPH
+  {0xEDCF, 0x5B71}, //15497 #CJK UNIFIED IDEOGRAPH
+  {0xEDD0, 0x68E7}, //15498 #CJK UNIFIED IDEOGRAPH
+  {0xEDD1, 0x6B98}, //15499 #CJK UNIFIED IDEOGRAPH
+  {0xEDD2, 0x6F7A}, //15500 #CJK UNIFIED IDEOGRAPH
+  {0xEDD3, 0x76DE}, //15501 #CJK UNIFIED IDEOGRAPH
+  {0xEDD4, 0x5C91}, //15502 #CJK UNIFIED IDEOGRAPH
+  {0xEDD5, 0x66AB}, //15503 #CJK UNIFIED IDEOGRAPH
+  {0xEDD6, 0x6F5B}, //15504 #CJK UNIFIED IDEOGRAPH
+  {0xEDD7, 0x7BB4}, //15505 #CJK UNIFIED IDEOGRAPH
+  {0xEDD8, 0x7C2A}, //15506 #CJK UNIFIED IDEOGRAPH
+  {0xEDD9, 0x8836}, //15507 #CJK UNIFIED IDEOGRAPH
+  {0xEDDA, 0x96DC}, //15508 #CJK UNIFIED IDEOGRAPH
+  {0xEDDB, 0x4E08}, //15509 #CJK UNIFIED IDEOGRAPH
+  {0xEDDC, 0x4ED7}, //15510 #CJK UNIFIED IDEOGRAPH
+  {0xEDDD, 0x5320}, //15511 #CJK UNIFIED IDEOGRAPH
+  {0xEDDE, 0x5834}, //15512 #CJK UNIFIED IDEOGRAPH
+  {0xEDDF, 0x58BB}, //15513 #CJK UNIFIED IDEOGRAPH
+  {0xEDE0, 0x58EF}, //15514 #CJK UNIFIED IDEOGRAPH
+  {0xEDE1, 0x596C}, //15515 #CJK UNIFIED IDEOGRAPH
+  {0xEDE2, 0x5C07}, //15516 #CJK UNIFIED IDEOGRAPH
+  {0xEDE3, 0x5E33}, //15517 #CJK UNIFIED IDEOGRAPH
+  {0xEDE4, 0x5E84}, //15518 #CJK UNIFIED IDEOGRAPH
+  {0xEDE5, 0x5F35}, //15519 #CJK UNIFIED IDEOGRAPH
+  {0xEDE6, 0x638C}, //15520 #CJK UNIFIED IDEOGRAPH
+  {0xEDE7, 0x66B2}, //15521 #CJK UNIFIED IDEOGRAPH
+  {0xEDE8, 0x6756}, //15522 #CJK UNIFIED IDEOGRAPH
+  {0xEDE9, 0x6A1F}, //15523 #CJK UNIFIED IDEOGRAPH
+  {0xEDEA, 0x6AA3}, //15524 #CJK UNIFIED IDEOGRAPH
+  {0xEDEB, 0x6B0C}, //15525 #CJK UNIFIED IDEOGRAPH
+  {0xEDEC, 0x6F3F}, //15526 #CJK UNIFIED IDEOGRAPH
+  {0xEDED, 0x7246}, //15527 #CJK UNIFIED IDEOGRAPH
+  {0xEDEE, 0xF9FA}, //15528 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEDEF, 0x7350}, //15529 #CJK UNIFIED IDEOGRAPH
+  {0xEDF0, 0x748B}, //15530 #CJK UNIFIED IDEOGRAPH
+  {0xEDF1, 0x7AE0}, //15531 #CJK UNIFIED IDEOGRAPH
+  {0xEDF2, 0x7CA7}, //15532 #CJK UNIFIED IDEOGRAPH
+  {0xEDF3, 0x8178}, //15533 #CJK UNIFIED IDEOGRAPH
+  {0xEDF4, 0x81DF}, //15534 #CJK UNIFIED IDEOGRAPH
+  {0xEDF5, 0x81E7}, //15535 #CJK UNIFIED IDEOGRAPH
+  {0xEDF6, 0x838A}, //15536 #CJK UNIFIED IDEOGRAPH
+  {0xEDF7, 0x846C}, //15537 #CJK UNIFIED IDEOGRAPH
+  {0xEDF8, 0x8523}, //15538 #CJK UNIFIED IDEOGRAPH
+  {0xEDF9, 0x8594}, //15539 #CJK UNIFIED IDEOGRAPH
+  {0xEDFA, 0x85CF}, //15540 #CJK UNIFIED IDEOGRAPH
+  {0xEDFB, 0x88DD}, //15541 #CJK UNIFIED IDEOGRAPH
+  {0xEDFC, 0x8D13}, //15542 #CJK UNIFIED IDEOGRAPH
+  {0xEDFD, 0x91AC}, //15543 #CJK UNIFIED IDEOGRAPH
+  {0xEDFE, 0x9577}, //15544 #CJK UNIFIED IDEOGRAPH
+  {0xEEA1, 0x969C}, //15545 #CJK UNIFIED IDEOGRAPH
+  {0xEEA2, 0x518D}, //15546 #CJK UNIFIED IDEOGRAPH
+  {0xEEA3, 0x54C9}, //15547 #CJK UNIFIED IDEOGRAPH
+  {0xEEA4, 0x5728}, //15548 #CJK UNIFIED IDEOGRAPH
+  {0xEEA5, 0x5BB0}, //15549 #CJK UNIFIED IDEOGRAPH
+  {0xEEA6, 0x624D}, //15550 #CJK UNIFIED IDEOGRAPH
+  {0xEEA7, 0x6750}, //15551 #CJK UNIFIED IDEOGRAPH
+  {0xEEA8, 0x683D}, //15552 #CJK UNIFIED IDEOGRAPH
+  {0xEEA9, 0x6893}, //15553 #CJK UNIFIED IDEOGRAPH
+  {0xEEAA, 0x6E3D}, //15554 #CJK UNIFIED IDEOGRAPH
+  {0xEEAB, 0x6ED3}, //15555 #CJK UNIFIED IDEOGRAPH
+  {0xEEAC, 0x707D}, //15556 #CJK UNIFIED IDEOGRAPH
+  {0xEEAD, 0x7E21}, //15557 #CJK UNIFIED IDEOGRAPH
+  {0xEEAE, 0x88C1}, //15558 #CJK UNIFIED IDEOGRAPH
+  {0xEEAF, 0x8CA1}, //15559 #CJK UNIFIED IDEOGRAPH
+  {0xEEB0, 0x8F09}, //15560 #CJK UNIFIED IDEOGRAPH
+  {0xEEB1, 0x9F4B}, //15561 #CJK UNIFIED IDEOGRAPH
+  {0xEEB2, 0x9F4E}, //15562 #CJK UNIFIED IDEOGRAPH
+  {0xEEB3, 0x722D}, //15563 #CJK UNIFIED IDEOGRAPH
+  {0xEEB4, 0x7B8F}, //15564 #CJK UNIFIED IDEOGRAPH
+  {0xEEB5, 0x8ACD}, //15565 #CJK UNIFIED IDEOGRAPH
+  {0xEEB6, 0x931A}, //15566 #CJK UNIFIED IDEOGRAPH
+  {0xEEB7, 0x4F47}, //15567 #CJK UNIFIED IDEOGRAPH
+  {0xEEB8, 0x4F4E}, //15568 #CJK UNIFIED IDEOGRAPH
+  {0xEEB9, 0x5132}, //15569 #CJK UNIFIED IDEOGRAPH
+  {0xEEBA, 0x5480}, //15570 #CJK UNIFIED IDEOGRAPH
+  {0xEEBB, 0x59D0}, //15571 #CJK UNIFIED IDEOGRAPH
+  {0xEEBC, 0x5E95}, //15572 #CJK UNIFIED IDEOGRAPH
+  {0xEEBD, 0x62B5}, //15573 #CJK UNIFIED IDEOGRAPH
+  {0xEEBE, 0x6775}, //15574 #CJK UNIFIED IDEOGRAPH
+  {0xEEBF, 0x696E}, //15575 #CJK UNIFIED IDEOGRAPH
+  {0xEEC0, 0x6A17}, //15576 #CJK UNIFIED IDEOGRAPH
+  {0xEEC1, 0x6CAE}, //15577 #CJK UNIFIED IDEOGRAPH
+  {0xEEC2, 0x6E1A}, //15578 #CJK UNIFIED IDEOGRAPH
+  {0xEEC3, 0x72D9}, //15579 #CJK UNIFIED IDEOGRAPH
+  {0xEEC4, 0x732A}, //15580 #CJK UNIFIED IDEOGRAPH
+  {0xEEC5, 0x75BD}, //15581 #CJK UNIFIED IDEOGRAPH
+  {0xEEC6, 0x7BB8}, //15582 #CJK UNIFIED IDEOGRAPH
+  {0xEEC7, 0x7D35}, //15583 #CJK UNIFIED IDEOGRAPH
+  {0xEEC8, 0x82E7}, //15584 #CJK UNIFIED IDEOGRAPH
+  {0xEEC9, 0x83F9}, //15585 #CJK UNIFIED IDEOGRAPH
+  {0xEECA, 0x8457}, //15586 #CJK UNIFIED IDEOGRAPH
+  {0xEECB, 0x85F7}, //15587 #CJK UNIFIED IDEOGRAPH
+  {0xEECC, 0x8A5B}, //15588 #CJK UNIFIED IDEOGRAPH
+  {0xEECD, 0x8CAF}, //15589 #CJK UNIFIED IDEOGRAPH
+  {0xEECE, 0x8E87}, //15590 #CJK UNIFIED IDEOGRAPH
+  {0xEECF, 0x9019}, //15591 #CJK UNIFIED IDEOGRAPH
+  {0xEED0, 0x90B8}, //15592 #CJK UNIFIED IDEOGRAPH
+  {0xEED1, 0x96CE}, //15593 #CJK UNIFIED IDEOGRAPH
+  {0xEED2, 0x9F5F}, //15594 #CJK UNIFIED IDEOGRAPH
+  {0xEED3, 0x52E3}, //15595 #CJK UNIFIED IDEOGRAPH
+  {0xEED4, 0x540A}, //15596 #CJK UNIFIED IDEOGRAPH
+  {0xEED5, 0x5AE1}, //15597 #CJK UNIFIED IDEOGRAPH
+  {0xEED6, 0x5BC2}, //15598 #CJK UNIFIED IDEOGRAPH
+  {0xEED7, 0x6458}, //15599 #CJK UNIFIED IDEOGRAPH
+  {0xEED8, 0x6575}, //15600 #CJK UNIFIED IDEOGRAPH
+  {0xEED9, 0x6EF4}, //15601 #CJK UNIFIED IDEOGRAPH
+  {0xEEDA, 0x72C4}, //15602 #CJK UNIFIED IDEOGRAPH
+  {0xEEDB, 0xF9FB}, //15603 #CJK COMPATIBILITY IDEOGRAPH
+  {0xEEDC, 0x7684}, //15604 #CJK UNIFIED IDEOGRAPH
+  {0xEEDD, 0x7A4D}, //15605 #CJK UNIFIED IDEOGRAPH
+  {0xEEDE, 0x7B1B}, //15606 #CJK UNIFIED IDEOGRAPH
+  {0xEEDF, 0x7C4D}, //15607 #CJK UNIFIED IDEOGRAPH
+  {0xEEE0, 0x7E3E}, //15608 #CJK UNIFIED IDEOGRAPH
+  {0xEEE1, 0x7FDF}, //15609 #CJK UNIFIED IDEOGRAPH
+  {0xEEE2, 0x837B}, //15610 #CJK UNIFIED IDEOGRAPH
+  {0xEEE3, 0x8B2B}, //15611 #CJK UNIFIED IDEOGRAPH
+  {0xEEE4, 0x8CCA}, //15612 #CJK UNIFIED IDEOGRAPH
+  {0xEEE5, 0x8D64}, //15613 #CJK UNIFIED IDEOGRAPH
+  {0xEEE6, 0x8DE1}, //15614 #CJK UNIFIED IDEOGRAPH
+  {0xEEE7, 0x8E5F}, //15615 #CJK UNIFIED IDEOGRAPH
+  {0xEEE8, 0x8FEA}, //15616 #CJK UNIFIED IDEOGRAPH
+  {0xEEE9, 0x8FF9}, //15617 #CJK UNIFIED IDEOGRAPH
+  {0xEEEA, 0x9069}, //15618 #CJK UNIFIED IDEOGRAPH
+  {0xEEEB, 0x93D1}, //15619 #CJK UNIFIED IDEOGRAPH
+  {0xEEEC, 0x4F43}, //15620 #CJK UNIFIED IDEOGRAPH
+  {0xEEED, 0x4F7A}, //15621 #CJK UNIFIED IDEOGRAPH
+  {0xEEEE, 0x50B3}, //15622 #CJK UNIFIED IDEOGRAPH
+  {0xEEEF, 0x5168}, //15623 #CJK UNIFIED IDEOGRAPH
+  {0xEEF0, 0x5178}, //15624 #CJK UNIFIED IDEOGRAPH
+  {0xEEF1, 0x524D}, //15625 #CJK UNIFIED IDEOGRAPH
+  {0xEEF2, 0x526A}, //15626 #CJK UNIFIED IDEOGRAPH
+  {0xEEF3, 0x5861}, //15627 #CJK UNIFIED IDEOGRAPH
+  {0xEEF4, 0x587C}, //15628 #CJK UNIFIED IDEOGRAPH
+  {0xEEF5, 0x5960}, //15629 #CJK UNIFIED IDEOGRAPH
+  {0xEEF6, 0x5C08}, //15630 #CJK UNIFIED IDEOGRAPH
+  {0xEEF7, 0x5C55}, //15631 #CJK UNIFIED IDEOGRAPH
+  {0xEEF8, 0x5EDB}, //15632 #CJK UNIFIED IDEOGRAPH
+  {0xEEF9, 0x609B}, //15633 #CJK UNIFIED IDEOGRAPH
+  {0xEEFA, 0x6230}, //15634 #CJK UNIFIED IDEOGRAPH
+  {0xEEFB, 0x6813}, //15635 #CJK UNIFIED IDEOGRAPH
+  {0xEEFC, 0x6BBF}, //15636 #CJK UNIFIED IDEOGRAPH
+  {0xEEFD, 0x6C08}, //15637 #CJK UNIFIED IDEOGRAPH
+  {0xEEFE, 0x6FB1}, //15638 #CJK UNIFIED IDEOGRAPH
+  {0xEFA1, 0x714E}, //15639 #CJK UNIFIED IDEOGRAPH
+  {0xEFA2, 0x7420}, //15640 #CJK UNIFIED IDEOGRAPH
+  {0xEFA3, 0x7530}, //15641 #CJK UNIFIED IDEOGRAPH
+  {0xEFA4, 0x7538}, //15642 #CJK UNIFIED IDEOGRAPH
+  {0xEFA5, 0x7551}, //15643 #CJK UNIFIED IDEOGRAPH
+  {0xEFA6, 0x7672}, //15644 #CJK UNIFIED IDEOGRAPH
+  {0xEFA7, 0x7B4C}, //15645 #CJK UNIFIED IDEOGRAPH
+  {0xEFA8, 0x7B8B}, //15646 #CJK UNIFIED IDEOGRAPH
+  {0xEFA9, 0x7BAD}, //15647 #CJK UNIFIED IDEOGRAPH
+  {0xEFAA, 0x7BC6}, //15648 #CJK UNIFIED IDEOGRAPH
+  {0xEFAB, 0x7E8F}, //15649 #CJK UNIFIED IDEOGRAPH
+  {0xEFAC, 0x8A6E}, //15650 #CJK UNIFIED IDEOGRAPH
+  {0xEFAD, 0x8F3E}, //15651 #CJK UNIFIED IDEOGRAPH
+  {0xEFAE, 0x8F49}, //15652 #CJK UNIFIED IDEOGRAPH
+  {0xEFAF, 0x923F}, //15653 #CJK UNIFIED IDEOGRAPH
+  {0xEFB0, 0x9293}, //15654 #CJK UNIFIED IDEOGRAPH
+  {0xEFB1, 0x9322}, //15655 #CJK UNIFIED IDEOGRAPH
+  {0xEFB2, 0x942B}, //15656 #CJK UNIFIED IDEOGRAPH
+  {0xEFB3, 0x96FB}, //15657 #CJK UNIFIED IDEOGRAPH
+  {0xEFB4, 0x985A}, //15658 #CJK UNIFIED IDEOGRAPH
+  {0xEFB5, 0x986B}, //15659 #CJK UNIFIED IDEOGRAPH
+  {0xEFB6, 0x991E}, //15660 #CJK UNIFIED IDEOGRAPH
+  {0xEFB7, 0x5207}, //15661 #CJK UNIFIED IDEOGRAPH
+  {0xEFB8, 0x622A}, //15662 #CJK UNIFIED IDEOGRAPH
+  {0xEFB9, 0x6298}, //15663 #CJK UNIFIED IDEOGRAPH
+  {0xEFBA, 0x6D59}, //15664 #CJK UNIFIED IDEOGRAPH
+  {0xEFBB, 0x7664}, //15665 #CJK UNIFIED IDEOGRAPH
+  {0xEFBC, 0x7ACA}, //15666 #CJK UNIFIED IDEOGRAPH
+  {0xEFBD, 0x7BC0}, //15667 #CJK UNIFIED IDEOGRAPH
+  {0xEFBE, 0x7D76}, //15668 #CJK UNIFIED IDEOGRAPH
+  {0xEFBF, 0x5360}, //15669 #CJK UNIFIED IDEOGRAPH
+  {0xEFC0, 0x5CBE}, //15670 #CJK UNIFIED IDEOGRAPH
+  {0xEFC1, 0x5E97}, //15671 #CJK UNIFIED IDEOGRAPH
+  {0xEFC2, 0x6F38}, //15672 #CJK UNIFIED IDEOGRAPH
+  {0xEFC3, 0x70B9}, //15673 #CJK UNIFIED IDEOGRAPH
+  {0xEFC4, 0x7C98}, //15674 #CJK UNIFIED IDEOGRAPH
+  {0xEFC5, 0x9711}, //15675 #CJK UNIFIED IDEOGRAPH
+  {0xEFC6, 0x9B8E}, //15676 #CJK UNIFIED IDEOGRAPH
+  {0xEFC7, 0x9EDE}, //15677 #CJK UNIFIED IDEOGRAPH
+  {0xEFC8, 0x63A5}, //15678 #CJK UNIFIED IDEOGRAPH
+  {0xEFC9, 0x647A}, //15679 #CJK UNIFIED IDEOGRAPH
+  {0xEFCA, 0x8776}, //15680 #CJK UNIFIED IDEOGRAPH
+  {0xEFCB, 0x4E01}, //15681 #CJK UNIFIED IDEOGRAPH
+  {0xEFCC, 0x4E95}, //15682 #CJK UNIFIED IDEOGRAPH
+  {0xEFCD, 0x4EAD}, //15683 #CJK UNIFIED IDEOGRAPH
+  {0xEFCE, 0x505C}, //15684 #CJK UNIFIED IDEOGRAPH
+  {0xEFCF, 0x5075}, //15685 #CJK UNIFIED IDEOGRAPH
+  {0xEFD0, 0x5448}, //15686 #CJK UNIFIED IDEOGRAPH
+  {0xEFD1, 0x59C3}, //15687 #CJK UNIFIED IDEOGRAPH
+  {0xEFD2, 0x5B9A}, //15688 #CJK UNIFIED IDEOGRAPH
+  {0xEFD3, 0x5E40}, //15689 #CJK UNIFIED IDEOGRAPH
+  {0xEFD4, 0x5EAD}, //15690 #CJK UNIFIED IDEOGRAPH
+  {0xEFD5, 0x5EF7}, //15691 #CJK UNIFIED IDEOGRAPH
+  {0xEFD6, 0x5F81}, //15692 #CJK UNIFIED IDEOGRAPH
+  {0xEFD7, 0x60C5}, //15693 #CJK UNIFIED IDEOGRAPH
+  {0xEFD8, 0x633A}, //15694 #CJK UNIFIED IDEOGRAPH
+  {0xEFD9, 0x653F}, //15695 #CJK UNIFIED IDEOGRAPH
+  {0xEFDA, 0x6574}, //15696 #CJK UNIFIED IDEOGRAPH
+  {0xEFDB, 0x65CC}, //15697 #CJK UNIFIED IDEOGRAPH
+  {0xEFDC, 0x6676}, //15698 #CJK UNIFIED IDEOGRAPH
+  {0xEFDD, 0x6678}, //15699 #CJK UNIFIED IDEOGRAPH
+  {0xEFDE, 0x67FE}, //15700 #CJK UNIFIED IDEOGRAPH
+  {0xEFDF, 0x6968}, //15701 #CJK UNIFIED IDEOGRAPH
+  {0xEFE0, 0x6A89}, //15702 #CJK UNIFIED IDEOGRAPH
+  {0xEFE1, 0x6B63}, //15703 #CJK UNIFIED IDEOGRAPH
+  {0xEFE2, 0x6C40}, //15704 #CJK UNIFIED IDEOGRAPH
+  {0xEFE3, 0x6DC0}, //15705 #CJK UNIFIED IDEOGRAPH
+  {0xEFE4, 0x6DE8}, //15706 #CJK UNIFIED IDEOGRAPH
+  {0xEFE5, 0x6E1F}, //15707 #CJK UNIFIED IDEOGRAPH
+  {0xEFE6, 0x6E5E}, //15708 #CJK UNIFIED IDEOGRAPH
+  {0xEFE7, 0x701E}, //15709 #CJK UNIFIED IDEOGRAPH
+  {0xEFE8, 0x70A1}, //15710 #CJK UNIFIED IDEOGRAPH
+  {0xEFE9, 0x738E}, //15711 #CJK UNIFIED IDEOGRAPH
+  {0xEFEA, 0x73FD}, //15712 #CJK UNIFIED IDEOGRAPH
+  {0xEFEB, 0x753A}, //15713 #CJK UNIFIED IDEOGRAPH
+  {0xEFEC, 0x775B}, //15714 #CJK UNIFIED IDEOGRAPH
+  {0xEFED, 0x7887}, //15715 #CJK UNIFIED IDEOGRAPH
+  {0xEFEE, 0x798E}, //15716 #CJK UNIFIED IDEOGRAPH
+  {0xEFEF, 0x7A0B}, //15717 #CJK UNIFIED IDEOGRAPH
+  {0xEFF0, 0x7A7D}, //15718 #CJK UNIFIED IDEOGRAPH
+  {0xEFF1, 0x7CBE}, //15719 #CJK UNIFIED IDEOGRAPH
+  {0xEFF2, 0x7D8E}, //15720 #CJK UNIFIED IDEOGRAPH
+  {0xEFF3, 0x8247}, //15721 #CJK UNIFIED IDEOGRAPH
+  {0xEFF4, 0x8A02}, //15722 #CJK UNIFIED IDEOGRAPH
+  {0xEFF5, 0x8AEA}, //15723 #CJK UNIFIED IDEOGRAPH
+  {0xEFF6, 0x8C9E}, //15724 #CJK UNIFIED IDEOGRAPH
+  {0xEFF7, 0x912D}, //15725 #CJK UNIFIED IDEOGRAPH
+  {0xEFF8, 0x914A}, //15726 #CJK UNIFIED IDEOGRAPH
+  {0xEFF9, 0x91D8}, //15727 #CJK UNIFIED IDEOGRAPH
+  {0xEFFA, 0x9266}, //15728 #CJK UNIFIED IDEOGRAPH
+  {0xEFFB, 0x92CC}, //15729 #CJK UNIFIED IDEOGRAPH
+  {0xEFFC, 0x9320}, //15730 #CJK UNIFIED IDEOGRAPH
+  {0xEFFD, 0x9706}, //15731 #CJK UNIFIED IDEOGRAPH
+  {0xEFFE, 0x9756}, //15732 #CJK UNIFIED IDEOGRAPH
+  {0xF0A1, 0x975C}, //15733 #CJK UNIFIED IDEOGRAPH
+  {0xF0A2, 0x9802}, //15734 #CJK UNIFIED IDEOGRAPH
+  {0xF0A3, 0x9F0E}, //15735 #CJK UNIFIED IDEOGRAPH
+  {0xF0A4, 0x5236}, //15736 #CJK UNIFIED IDEOGRAPH
+  {0xF0A5, 0x5291}, //15737 #CJK UNIFIED IDEOGRAPH
+  {0xF0A6, 0x557C}, //15738 #CJK UNIFIED IDEOGRAPH
+  {0xF0A7, 0x5824}, //15739 #CJK UNIFIED IDEOGRAPH
+  {0xF0A8, 0x5E1D}, //15740 #CJK UNIFIED IDEOGRAPH
+  {0xF0A9, 0x5F1F}, //15741 #CJK UNIFIED IDEOGRAPH
+  {0xF0AA, 0x608C}, //15742 #CJK UNIFIED IDEOGRAPH
+  {0xF0AB, 0x63D0}, //15743 #CJK UNIFIED IDEOGRAPH
+  {0xF0AC, 0x68AF}, //15744 #CJK UNIFIED IDEOGRAPH
+  {0xF0AD, 0x6FDF}, //15745 #CJK UNIFIED IDEOGRAPH
+  {0xF0AE, 0x796D}, //15746 #CJK UNIFIED IDEOGRAPH
+  {0xF0AF, 0x7B2C}, //15747 #CJK UNIFIED IDEOGRAPH
+  {0xF0B0, 0x81CD}, //15748 #CJK UNIFIED IDEOGRAPH
+  {0xF0B1, 0x85BA}, //15749 #CJK UNIFIED IDEOGRAPH
+  {0xF0B2, 0x88FD}, //15750 #CJK UNIFIED IDEOGRAPH
+  {0xF0B3, 0x8AF8}, //15751 #CJK UNIFIED IDEOGRAPH
+  {0xF0B4, 0x8E44}, //15752 #CJK UNIFIED IDEOGRAPH
+  {0xF0B5, 0x918D}, //15753 #CJK UNIFIED IDEOGRAPH
+  {0xF0B6, 0x9664}, //15754 #CJK UNIFIED IDEOGRAPH
+  {0xF0B7, 0x969B}, //15755 #CJK UNIFIED IDEOGRAPH
+  {0xF0B8, 0x973D}, //15756 #CJK UNIFIED IDEOGRAPH
+  {0xF0B9, 0x984C}, //15757 #CJK UNIFIED IDEOGRAPH
+  {0xF0BA, 0x9F4A}, //15758 #CJK UNIFIED IDEOGRAPH
+  {0xF0BB, 0x4FCE}, //15759 #CJK UNIFIED IDEOGRAPH
+  {0xF0BC, 0x5146}, //15760 #CJK UNIFIED IDEOGRAPH
+  {0xF0BD, 0x51CB}, //15761 #CJK UNIFIED IDEOGRAPH
+  {0xF0BE, 0x52A9}, //15762 #CJK UNIFIED IDEOGRAPH
+  {0xF0BF, 0x5632}, //15763 #CJK UNIFIED IDEOGRAPH
+  {0xF0C0, 0x5F14}, //15764 #CJK UNIFIED IDEOGRAPH
+  {0xF0C1, 0x5F6B}, //15765 #CJK UNIFIED IDEOGRAPH
+  {0xF0C2, 0x63AA}, //15766 #CJK UNIFIED IDEOGRAPH
+  {0xF0C3, 0x64CD}, //15767 #CJK UNIFIED IDEOGRAPH
+  {0xF0C4, 0x65E9}, //15768 #CJK UNIFIED IDEOGRAPH
+  {0xF0C5, 0x6641}, //15769 #CJK UNIFIED IDEOGRAPH
+  {0xF0C6, 0x66FA}, //15770 #CJK UNIFIED IDEOGRAPH
+  {0xF0C7, 0x66F9}, //15771 #CJK UNIFIED IDEOGRAPH
+  {0xF0C8, 0x671D}, //15772 #CJK UNIFIED IDEOGRAPH
+  {0xF0C9, 0x689D}, //15773 #CJK UNIFIED IDEOGRAPH
+  {0xF0CA, 0x68D7}, //15774 #CJK UNIFIED IDEOGRAPH
+  {0xF0CB, 0x69FD}, //15775 #CJK UNIFIED IDEOGRAPH
+  {0xF0CC, 0x6F15}, //15776 #CJK UNIFIED IDEOGRAPH
+  {0xF0CD, 0x6F6E}, //15777 #CJK UNIFIED IDEOGRAPH
+  {0xF0CE, 0x7167}, //15778 #CJK UNIFIED IDEOGRAPH
+  {0xF0CF, 0x71E5}, //15779 #CJK UNIFIED IDEOGRAPH
+  {0xF0D0, 0x722A}, //15780 #CJK UNIFIED IDEOGRAPH
+  {0xF0D1, 0x74AA}, //15781 #CJK UNIFIED IDEOGRAPH
+  {0xF0D2, 0x773A}, //15782 #CJK UNIFIED IDEOGRAPH
+  {0xF0D3, 0x7956}, //15783 #CJK UNIFIED IDEOGRAPH
+  {0xF0D4, 0x795A}, //15784 #CJK UNIFIED IDEOGRAPH
+  {0xF0D5, 0x79DF}, //15785 #CJK UNIFIED IDEOGRAPH
+  {0xF0D6, 0x7A20}, //15786 #CJK UNIFIED IDEOGRAPH
+  {0xF0D7, 0x7A95}, //15787 #CJK UNIFIED IDEOGRAPH
+  {0xF0D8, 0x7C97}, //15788 #CJK UNIFIED IDEOGRAPH
+  {0xF0D9, 0x7CDF}, //15789 #CJK UNIFIED IDEOGRAPH
+  {0xF0DA, 0x7D44}, //15790 #CJK UNIFIED IDEOGRAPH
+  {0xF0DB, 0x7E70}, //15791 #CJK UNIFIED IDEOGRAPH
+  {0xF0DC, 0x8087}, //15792 #CJK UNIFIED IDEOGRAPH
+  {0xF0DD, 0x85FB}, //15793 #CJK UNIFIED IDEOGRAPH
+  {0xF0DE, 0x86A4}, //15794 #CJK UNIFIED IDEOGRAPH
+  {0xF0DF, 0x8A54}, //15795 #CJK UNIFIED IDEOGRAPH
+  {0xF0E0, 0x8ABF}, //15796 #CJK UNIFIED IDEOGRAPH
+  {0xF0E1, 0x8D99}, //15797 #CJK UNIFIED IDEOGRAPH
+  {0xF0E2, 0x8E81}, //15798 #CJK UNIFIED IDEOGRAPH
+  {0xF0E3, 0x9020}, //15799 #CJK UNIFIED IDEOGRAPH
+  {0xF0E4, 0x906D}, //15800 #CJK UNIFIED IDEOGRAPH
+  {0xF0E5, 0x91E3}, //15801 #CJK UNIFIED IDEOGRAPH
+  {0xF0E6, 0x963B}, //15802 #CJK UNIFIED IDEOGRAPH
+  {0xF0E7, 0x96D5}, //15803 #CJK UNIFIED IDEOGRAPH
+  {0xF0E8, 0x9CE5}, //15804 #CJK UNIFIED IDEOGRAPH
+  {0xF0E9, 0x65CF}, //15805 #CJK UNIFIED IDEOGRAPH
+  {0xF0EA, 0x7C07}, //15806 #CJK UNIFIED IDEOGRAPH
+  {0xF0EB, 0x8DB3}, //15807 #CJK UNIFIED IDEOGRAPH
+  {0xF0EC, 0x93C3}, //15808 #CJK UNIFIED IDEOGRAPH
+  {0xF0ED, 0x5B58}, //15809 #CJK UNIFIED IDEOGRAPH
+  {0xF0EE, 0x5C0A}, //15810 #CJK UNIFIED IDEOGRAPH
+  {0xF0EF, 0x5352}, //15811 #CJK UNIFIED IDEOGRAPH
+  {0xF0F0, 0x62D9}, //15812 #CJK UNIFIED IDEOGRAPH
+  {0xF0F1, 0x731D}, //15813 #CJK UNIFIED IDEOGRAPH
+  {0xF0F2, 0x5027}, //15814 #CJK UNIFIED IDEOGRAPH
+  {0xF0F3, 0x5B97}, //15815 #CJK UNIFIED IDEOGRAPH
+  {0xF0F4, 0x5F9E}, //15816 #CJK UNIFIED IDEOGRAPH
+  {0xF0F5, 0x60B0}, //15817 #CJK UNIFIED IDEOGRAPH
+  {0xF0F6, 0x616B}, //15818 #CJK UNIFIED IDEOGRAPH
+  {0xF0F7, 0x68D5}, //15819 #CJK UNIFIED IDEOGRAPH
+  {0xF0F8, 0x6DD9}, //15820 #CJK UNIFIED IDEOGRAPH
+  {0xF0F9, 0x742E}, //15821 #CJK UNIFIED IDEOGRAPH
+  {0xF0FA, 0x7A2E}, //15822 #CJK UNIFIED IDEOGRAPH
+  {0xF0FB, 0x7D42}, //15823 #CJK UNIFIED IDEOGRAPH
+  {0xF0FC, 0x7D9C}, //15824 #CJK UNIFIED IDEOGRAPH
+  {0xF0FD, 0x7E31}, //15825 #CJK UNIFIED IDEOGRAPH
+  {0xF0FE, 0x816B}, //15826 #CJK UNIFIED IDEOGRAPH
+  {0xF1A1, 0x8E2A}, //15827 #CJK UNIFIED IDEOGRAPH
+  {0xF1A2, 0x8E35}, //15828 #CJK UNIFIED IDEOGRAPH
+  {0xF1A3, 0x937E}, //15829 #CJK UNIFIED IDEOGRAPH
+  {0xF1A4, 0x9418}, //15830 #CJK UNIFIED IDEOGRAPH
+  {0xF1A5, 0x4F50}, //15831 #CJK UNIFIED IDEOGRAPH
+  {0xF1A6, 0x5750}, //15832 #CJK UNIFIED IDEOGRAPH
+  {0xF1A7, 0x5DE6}, //15833 #CJK UNIFIED IDEOGRAPH
+  {0xF1A8, 0x5EA7}, //15834 #CJK UNIFIED IDEOGRAPH
+  {0xF1A9, 0x632B}, //15835 #CJK UNIFIED IDEOGRAPH
+  {0xF1AA, 0x7F6A}, //15836 #CJK UNIFIED IDEOGRAPH
+  {0xF1AB, 0x4E3B}, //15837 #CJK UNIFIED IDEOGRAPH
+  {0xF1AC, 0x4F4F}, //15838 #CJK UNIFIED IDEOGRAPH
+  {0xF1AD, 0x4F8F}, //15839 #CJK UNIFIED IDEOGRAPH
+  {0xF1AE, 0x505A}, //15840 #CJK UNIFIED IDEOGRAPH
+  {0xF1AF, 0x59DD}, //15841 #CJK UNIFIED IDEOGRAPH
+  {0xF1B0, 0x80C4}, //15842 #CJK UNIFIED IDEOGRAPH
+  {0xF1B1, 0x546A}, //15843 #CJK UNIFIED IDEOGRAPH
+  {0xF1B2, 0x5468}, //15844 #CJK UNIFIED IDEOGRAPH
+  {0xF1B3, 0x55FE}, //15845 #CJK UNIFIED IDEOGRAPH
+  {0xF1B4, 0x594F}, //15846 #CJK UNIFIED IDEOGRAPH
+  {0xF1B5, 0x5B99}, //15847 #CJK UNIFIED IDEOGRAPH
+  {0xF1B6, 0x5DDE}, //15848 #CJK UNIFIED IDEOGRAPH
+  {0xF1B7, 0x5EDA}, //15849 #CJK UNIFIED IDEOGRAPH
+  {0xF1B8, 0x665D}, //15850 #CJK UNIFIED IDEOGRAPH
+  {0xF1B9, 0x6731}, //15851 #CJK UNIFIED IDEOGRAPH
+  {0xF1BA, 0x67F1}, //15852 #CJK UNIFIED IDEOGRAPH
+  {0xF1BB, 0x682A}, //15853 #CJK UNIFIED IDEOGRAPH
+  {0xF1BC, 0x6CE8}, //15854 #CJK UNIFIED IDEOGRAPH
+  {0xF1BD, 0x6D32}, //15855 #CJK UNIFIED IDEOGRAPH
+  {0xF1BE, 0x6E4A}, //15856 #CJK UNIFIED IDEOGRAPH
+  {0xF1BF, 0x6F8D}, //15857 #CJK UNIFIED IDEOGRAPH
+  {0xF1C0, 0x70B7}, //15858 #CJK UNIFIED IDEOGRAPH
+  {0xF1C1, 0x73E0}, //15859 #CJK UNIFIED IDEOGRAPH
+  {0xF1C2, 0x7587}, //15860 #CJK UNIFIED IDEOGRAPH
+  {0xF1C3, 0x7C4C}, //15861 #CJK UNIFIED IDEOGRAPH
+  {0xF1C4, 0x7D02}, //15862 #CJK UNIFIED IDEOGRAPH
+  {0xF1C5, 0x7D2C}, //15863 #CJK UNIFIED IDEOGRAPH
+  {0xF1C6, 0x7DA2}, //15864 #CJK UNIFIED IDEOGRAPH
+  {0xF1C7, 0x821F}, //15865 #CJK UNIFIED IDEOGRAPH
+  {0xF1C8, 0x86DB}, //15866 #CJK UNIFIED IDEOGRAPH
+  {0xF1C9, 0x8A3B}, //15867 #CJK UNIFIED IDEOGRAPH
+  {0xF1CA, 0x8A85}, //15868 #CJK UNIFIED IDEOGRAPH
+  {0xF1CB, 0x8D70}, //15869 #CJK UNIFIED IDEOGRAPH
+  {0xF1CC, 0x8E8A}, //15870 #CJK UNIFIED IDEOGRAPH
+  {0xF1CD, 0x8F33}, //15871 #CJK UNIFIED IDEOGRAPH
+  {0xF1CE, 0x9031}, //15872 #CJK UNIFIED IDEOGRAPH
+  {0xF1CF, 0x914E}, //15873 #CJK UNIFIED IDEOGRAPH
+  {0xF1D0, 0x9152}, //15874 #CJK UNIFIED IDEOGRAPH
+  {0xF1D1, 0x9444}, //15875 #CJK UNIFIED IDEOGRAPH
+  {0xF1D2, 0x99D0}, //15876 #CJK UNIFIED IDEOGRAPH
+  {0xF1D3, 0x7AF9}, //15877 #CJK UNIFIED IDEOGRAPH
+  {0xF1D4, 0x7CA5}, //15878 #CJK UNIFIED IDEOGRAPH
+  {0xF1D5, 0x4FCA}, //15879 #CJK UNIFIED IDEOGRAPH
+  {0xF1D6, 0x5101}, //15880 #CJK UNIFIED IDEOGRAPH
+  {0xF1D7, 0x51C6}, //15881 #CJK UNIFIED IDEOGRAPH
+  {0xF1D8, 0x57C8}, //15882 #CJK UNIFIED IDEOGRAPH
+  {0xF1D9, 0x5BEF}, //15883 #CJK UNIFIED IDEOGRAPH
+  {0xF1DA, 0x5CFB}, //15884 #CJK UNIFIED IDEOGRAPH
+  {0xF1DB, 0x6659}, //15885 #CJK UNIFIED IDEOGRAPH
+  {0xF1DC, 0x6A3D}, //15886 #CJK UNIFIED IDEOGRAPH
+  {0xF1DD, 0x6D5A}, //15887 #CJK UNIFIED IDEOGRAPH
+  {0xF1DE, 0x6E96}, //15888 #CJK UNIFIED IDEOGRAPH
+  {0xF1DF, 0x6FEC}, //15889 #CJK UNIFIED IDEOGRAPH
+  {0xF1E0, 0x710C}, //15890 #CJK UNIFIED IDEOGRAPH
+  {0xF1E1, 0x756F}, //15891 #CJK UNIFIED IDEOGRAPH
+  {0xF1E2, 0x7AE3}, //15892 #CJK UNIFIED IDEOGRAPH
+  {0xF1E3, 0x8822}, //15893 #CJK UNIFIED IDEOGRAPH
+  {0xF1E4, 0x9021}, //15894 #CJK UNIFIED IDEOGRAPH
+  {0xF1E5, 0x9075}, //15895 #CJK UNIFIED IDEOGRAPH
+  {0xF1E6, 0x96CB}, //15896 #CJK UNIFIED IDEOGRAPH
+  {0xF1E7, 0x99FF}, //15897 #CJK UNIFIED IDEOGRAPH
+  {0xF1E8, 0x8301}, //15898 #CJK UNIFIED IDEOGRAPH
+  {0xF1E9, 0x4E2D}, //15899 #CJK UNIFIED IDEOGRAPH
+  {0xF1EA, 0x4EF2}, //15900 #CJK UNIFIED IDEOGRAPH
+  {0xF1EB, 0x8846}, //15901 #CJK UNIFIED IDEOGRAPH
+  {0xF1EC, 0x91CD}, //15902 #CJK UNIFIED IDEOGRAPH
+  {0xF1ED, 0x537D}, //15903 #CJK UNIFIED IDEOGRAPH
+  {0xF1EE, 0x6ADB}, //15904 #CJK UNIFIED IDEOGRAPH
+  {0xF1EF, 0x696B}, //15905 #CJK UNIFIED IDEOGRAPH
+  {0xF1F0, 0x6C41}, //15906 #CJK UNIFIED IDEOGRAPH
+  {0xF1F1, 0x847A}, //15907 #CJK UNIFIED IDEOGRAPH
+  {0xF1F2, 0x589E}, //15908 #CJK UNIFIED IDEOGRAPH
+  {0xF1F3, 0x618E}, //15909 #CJK UNIFIED IDEOGRAPH
+  {0xF1F4, 0x66FE}, //15910 #CJK UNIFIED IDEOGRAPH
+  {0xF1F5, 0x62EF}, //15911 #CJK UNIFIED IDEOGRAPH
+  {0xF1F6, 0x70DD}, //15912 #CJK UNIFIED IDEOGRAPH
+  {0xF1F7, 0x7511}, //15913 #CJK UNIFIED IDEOGRAPH
+  {0xF1F8, 0x75C7}, //15914 #CJK UNIFIED IDEOGRAPH
+  {0xF1F9, 0x7E52}, //15915 #CJK UNIFIED IDEOGRAPH
+  {0xF1FA, 0x84B8}, //15916 #CJK UNIFIED IDEOGRAPH
+  {0xF1FB, 0x8B49}, //15917 #CJK UNIFIED IDEOGRAPH
+  {0xF1FC, 0x8D08}, //15918 #CJK UNIFIED IDEOGRAPH
+  {0xF1FD, 0x4E4B}, //15919 #CJK UNIFIED IDEOGRAPH
+  {0xF1FE, 0x53EA}, //15920 #CJK UNIFIED IDEOGRAPH
+  {0xF2A1, 0x54AB}, //15921 #CJK UNIFIED IDEOGRAPH
+  {0xF2A2, 0x5730}, //15922 #CJK UNIFIED IDEOGRAPH
+  {0xF2A3, 0x5740}, //15923 #CJK UNIFIED IDEOGRAPH
+  {0xF2A4, 0x5FD7}, //15924 #CJK UNIFIED IDEOGRAPH
+  {0xF2A5, 0x6301}, //15925 #CJK UNIFIED IDEOGRAPH
+  {0xF2A6, 0x6307}, //15926 #CJK UNIFIED IDEOGRAPH
+  {0xF2A7, 0x646F}, //15927 #CJK UNIFIED IDEOGRAPH
+  {0xF2A8, 0x652F}, //15928 #CJK UNIFIED IDEOGRAPH
+  {0xF2A9, 0x65E8}, //15929 #CJK UNIFIED IDEOGRAPH
+  {0xF2AA, 0x667A}, //15930 #CJK UNIFIED IDEOGRAPH
+  {0xF2AB, 0x679D}, //15931 #CJK UNIFIED IDEOGRAPH
+  {0xF2AC, 0x67B3}, //15932 #CJK UNIFIED IDEOGRAPH
+  {0xF2AD, 0x6B62}, //15933 #CJK UNIFIED IDEOGRAPH
+  {0xF2AE, 0x6C60}, //15934 #CJK UNIFIED IDEOGRAPH
+  {0xF2AF, 0x6C9A}, //15935 #CJK UNIFIED IDEOGRAPH
+  {0xF2B0, 0x6F2C}, //15936 #CJK UNIFIED IDEOGRAPH
+  {0xF2B1, 0x77E5}, //15937 #CJK UNIFIED IDEOGRAPH
+  {0xF2B2, 0x7825}, //15938 #CJK UNIFIED IDEOGRAPH
+  {0xF2B3, 0x7949}, //15939 #CJK UNIFIED IDEOGRAPH
+  {0xF2B4, 0x7957}, //15940 #CJK UNIFIED IDEOGRAPH
+  {0xF2B5, 0x7D19}, //15941 #CJK UNIFIED IDEOGRAPH
+  {0xF2B6, 0x80A2}, //15942 #CJK UNIFIED IDEOGRAPH
+  {0xF2B7, 0x8102}, //15943 #CJK UNIFIED IDEOGRAPH
+  {0xF2B8, 0x81F3}, //15944 #CJK UNIFIED IDEOGRAPH
+  {0xF2B9, 0x829D}, //15945 #CJK UNIFIED IDEOGRAPH
+  {0xF2BA, 0x82B7}, //15946 #CJK UNIFIED IDEOGRAPH
+  {0xF2BB, 0x8718}, //15947 #CJK UNIFIED IDEOGRAPH
+  {0xF2BC, 0x8A8C}, //15948 #CJK UNIFIED IDEOGRAPH
+  {0xF2BD, 0xF9FC}, //15949 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF2BE, 0x8D04}, //15950 #CJK UNIFIED IDEOGRAPH
+  {0xF2BF, 0x8DBE}, //15951 #CJK UNIFIED IDEOGRAPH
+  {0xF2C0, 0x9072}, //15952 #CJK UNIFIED IDEOGRAPH
+  {0xF2C1, 0x76F4}, //15953 #CJK UNIFIED IDEOGRAPH
+  {0xF2C2, 0x7A19}, //15954 #CJK UNIFIED IDEOGRAPH
+  {0xF2C3, 0x7A37}, //15955 #CJK UNIFIED IDEOGRAPH
+  {0xF2C4, 0x7E54}, //15956 #CJK UNIFIED IDEOGRAPH
+  {0xF2C5, 0x8077}, //15957 #CJK UNIFIED IDEOGRAPH
+  {0xF2C6, 0x5507}, //15958 #CJK UNIFIED IDEOGRAPH
+  {0xF2C7, 0x55D4}, //15959 #CJK UNIFIED IDEOGRAPH
+  {0xF2C8, 0x5875}, //15960 #CJK UNIFIED IDEOGRAPH
+  {0xF2C9, 0x632F}, //15961 #CJK UNIFIED IDEOGRAPH
+  {0xF2CA, 0x6422}, //15962 #CJK UNIFIED IDEOGRAPH
+  {0xF2CB, 0x6649}, //15963 #CJK UNIFIED IDEOGRAPH
+  {0xF2CC, 0x664B}, //15964 #CJK UNIFIED IDEOGRAPH
+  {0xF2CD, 0x686D}, //15965 #CJK UNIFIED IDEOGRAPH
+  {0xF2CE, 0x699B}, //15966 #CJK UNIFIED IDEOGRAPH
+  {0xF2CF, 0x6B84}, //15967 #CJK UNIFIED IDEOGRAPH
+  {0xF2D0, 0x6D25}, //15968 #CJK UNIFIED IDEOGRAPH
+  {0xF2D1, 0x6EB1}, //15969 #CJK UNIFIED IDEOGRAPH
+  {0xF2D2, 0x73CD}, //15970 #CJK UNIFIED IDEOGRAPH
+  {0xF2D3, 0x7468}, //15971 #CJK UNIFIED IDEOGRAPH
+  {0xF2D4, 0x74A1}, //15972 #CJK UNIFIED IDEOGRAPH
+  {0xF2D5, 0x755B}, //15973 #CJK UNIFIED IDEOGRAPH
+  {0xF2D6, 0x75B9}, //15974 #CJK UNIFIED IDEOGRAPH
+  {0xF2D7, 0x76E1}, //15975 #CJK UNIFIED IDEOGRAPH
+  {0xF2D8, 0x771E}, //15976 #CJK UNIFIED IDEOGRAPH
+  {0xF2D9, 0x778B}, //15977 #CJK UNIFIED IDEOGRAPH
+  {0xF2DA, 0x79E6}, //15978 #CJK UNIFIED IDEOGRAPH
+  {0xF2DB, 0x7E09}, //15979 #CJK UNIFIED IDEOGRAPH
+  {0xF2DC, 0x7E1D}, //15980 #CJK UNIFIED IDEOGRAPH
+  {0xF2DD, 0x81FB}, //15981 #CJK UNIFIED IDEOGRAPH
+  {0xF2DE, 0x852F}, //15982 #CJK UNIFIED IDEOGRAPH
+  {0xF2DF, 0x8897}, //15983 #CJK UNIFIED IDEOGRAPH
+  {0xF2E0, 0x8A3A}, //15984 #CJK UNIFIED IDEOGRAPH
+  {0xF2E1, 0x8CD1}, //15985 #CJK UNIFIED IDEOGRAPH
+  {0xF2E2, 0x8EEB}, //15986 #CJK UNIFIED IDEOGRAPH
+  {0xF2E3, 0x8FB0}, //15987 #CJK UNIFIED IDEOGRAPH
+  {0xF2E4, 0x9032}, //15988 #CJK UNIFIED IDEOGRAPH
+  {0xF2E5, 0x93AD}, //15989 #CJK UNIFIED IDEOGRAPH
+  {0xF2E6, 0x9663}, //15990 #CJK UNIFIED IDEOGRAPH
+  {0xF2E7, 0x9673}, //15991 #CJK UNIFIED IDEOGRAPH
+  {0xF2E8, 0x9707}, //15992 #CJK UNIFIED IDEOGRAPH
+  {0xF2E9, 0x4F84}, //15993 #CJK UNIFIED IDEOGRAPH
+  {0xF2EA, 0x53F1}, //15994 #CJK UNIFIED IDEOGRAPH
+  {0xF2EB, 0x59EA}, //15995 #CJK UNIFIED IDEOGRAPH
+  {0xF2EC, 0x5AC9}, //15996 #CJK UNIFIED IDEOGRAPH
+  {0xF2ED, 0x5E19}, //15997 #CJK UNIFIED IDEOGRAPH
+  {0xF2EE, 0x684E}, //15998 #CJK UNIFIED IDEOGRAPH
+  {0xF2EF, 0x74C6}, //15999 #CJK UNIFIED IDEOGRAPH
+  {0xF2F0, 0x75BE}, //16000 #CJK UNIFIED IDEOGRAPH
+  {0xF2F1, 0x79E9}, //16001 #CJK UNIFIED IDEOGRAPH
+  {0xF2F2, 0x7A92}, //16002 #CJK UNIFIED IDEOGRAPH
+  {0xF2F3, 0x81A3}, //16003 #CJK UNIFIED IDEOGRAPH
+  {0xF2F4, 0x86ED}, //16004 #CJK UNIFIED IDEOGRAPH
+  {0xF2F5, 0x8CEA}, //16005 #CJK UNIFIED IDEOGRAPH
+  {0xF2F6, 0x8DCC}, //16006 #CJK UNIFIED IDEOGRAPH
+  {0xF2F7, 0x8FED}, //16007 #CJK UNIFIED IDEOGRAPH
+  {0xF2F8, 0x659F}, //16008 #CJK UNIFIED IDEOGRAPH
+  {0xF2F9, 0x6715}, //16009 #CJK UNIFIED IDEOGRAPH
+  {0xF2FA, 0xF9FD}, //16010 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF2FB, 0x57F7}, //16011 #CJK UNIFIED IDEOGRAPH
+  {0xF2FC, 0x6F57}, //16012 #CJK UNIFIED IDEOGRAPH
+  {0xF2FD, 0x7DDD}, //16013 #CJK UNIFIED IDEOGRAPH
+  {0xF2FE, 0x8F2F}, //16014 #CJK UNIFIED IDEOGRAPH
+  {0xF3A1, 0x93F6}, //16015 #CJK UNIFIED IDEOGRAPH
+  {0xF3A2, 0x96C6}, //16016 #CJK UNIFIED IDEOGRAPH
+  {0xF3A3, 0x5FB5}, //16017 #CJK UNIFIED IDEOGRAPH
+  {0xF3A4, 0x61F2}, //16018 #CJK UNIFIED IDEOGRAPH
+  {0xF3A5, 0x6F84}, //16019 #CJK UNIFIED IDEOGRAPH
+  {0xF3A6, 0x4E14}, //16020 #CJK UNIFIED IDEOGRAPH
+  {0xF3A7, 0x4F98}, //16021 #CJK UNIFIED IDEOGRAPH
+  {0xF3A8, 0x501F}, //16022 #CJK UNIFIED IDEOGRAPH
+  {0xF3A9, 0x53C9}, //16023 #CJK UNIFIED IDEOGRAPH
+  {0xF3AA, 0x55DF}, //16024 #CJK UNIFIED IDEOGRAPH
+  {0xF3AB, 0x5D6F}, //16025 #CJK UNIFIED IDEOGRAPH
+  {0xF3AC, 0x5DEE}, //16026 #CJK UNIFIED IDEOGRAPH
+  {0xF3AD, 0x6B21}, //16027 #CJK UNIFIED IDEOGRAPH
+  {0xF3AE, 0x6B64}, //16028 #CJK UNIFIED IDEOGRAPH
+  {0xF3AF, 0x78CB}, //16029 #CJK UNIFIED IDEOGRAPH
+  {0xF3B0, 0x7B9A}, //16030 #CJK UNIFIED IDEOGRAPH
+  {0xF3B1, 0xF9FE}, //16031 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF3B2, 0x8E49}, //16032 #CJK UNIFIED IDEOGRAPH
+  {0xF3B3, 0x8ECA}, //16033 #CJK UNIFIED IDEOGRAPH
+  {0xF3B4, 0x906E}, //16034 #CJK UNIFIED IDEOGRAPH
+  {0xF3B5, 0x6349}, //16035 #CJK UNIFIED IDEOGRAPH
+  {0xF3B6, 0x643E}, //16036 #CJK UNIFIED IDEOGRAPH
+  {0xF3B7, 0x7740}, //16037 #CJK UNIFIED IDEOGRAPH
+  {0xF3B8, 0x7A84}, //16038 #CJK UNIFIED IDEOGRAPH
+  {0xF3B9, 0x932F}, //16039 #CJK UNIFIED IDEOGRAPH
+  {0xF3BA, 0x947F}, //16040 #CJK UNIFIED IDEOGRAPH
+  {0xF3BB, 0x9F6A}, //16041 #CJK UNIFIED IDEOGRAPH
+  {0xF3BC, 0x64B0}, //16042 #CJK UNIFIED IDEOGRAPH
+  {0xF3BD, 0x6FAF}, //16043 #CJK UNIFIED IDEOGRAPH
+  {0xF3BE, 0x71E6}, //16044 #CJK UNIFIED IDEOGRAPH
+  {0xF3BF, 0x74A8}, //16045 #CJK UNIFIED IDEOGRAPH
+  {0xF3C0, 0x74DA}, //16046 #CJK UNIFIED IDEOGRAPH
+  {0xF3C1, 0x7AC4}, //16047 #CJK UNIFIED IDEOGRAPH
+  {0xF3C2, 0x7C12}, //16048 #CJK UNIFIED IDEOGRAPH
+  {0xF3C3, 0x7E82}, //16049 #CJK UNIFIED IDEOGRAPH
+  {0xF3C4, 0x7CB2}, //16050 #CJK UNIFIED IDEOGRAPH
+  {0xF3C5, 0x7E98}, //16051 #CJK UNIFIED IDEOGRAPH
+  {0xF3C6, 0x8B9A}, //16052 #CJK UNIFIED IDEOGRAPH
+  {0xF3C7, 0x8D0A}, //16053 #CJK UNIFIED IDEOGRAPH
+  {0xF3C8, 0x947D}, //16054 #CJK UNIFIED IDEOGRAPH
+  {0xF3C9, 0x9910}, //16055 #CJK UNIFIED IDEOGRAPH
+  {0xF3CA, 0x994C}, //16056 #CJK UNIFIED IDEOGRAPH
+  {0xF3CB, 0x5239}, //16057 #CJK UNIFIED IDEOGRAPH
+  {0xF3CC, 0x5BDF}, //16058 #CJK UNIFIED IDEOGRAPH
+  {0xF3CD, 0x64E6}, //16059 #CJK UNIFIED IDEOGRAPH
+  {0xF3CE, 0x672D}, //16060 #CJK UNIFIED IDEOGRAPH
+  {0xF3CF, 0x7D2E}, //16061 #CJK UNIFIED IDEOGRAPH
+  {0xF3D0, 0x50ED}, //16062 #CJK UNIFIED IDEOGRAPH
+  {0xF3D1, 0x53C3}, //16063 #CJK UNIFIED IDEOGRAPH
+  {0xF3D2, 0x5879}, //16064 #CJK UNIFIED IDEOGRAPH
+  {0xF3D3, 0x6158}, //16065 #CJK UNIFIED IDEOGRAPH
+  {0xF3D4, 0x6159}, //16066 #CJK UNIFIED IDEOGRAPH
+  {0xF3D5, 0x61FA}, //16067 #CJK UNIFIED IDEOGRAPH
+  {0xF3D6, 0x65AC}, //16068 #CJK UNIFIED IDEOGRAPH
+  {0xF3D7, 0x7AD9}, //16069 #CJK UNIFIED IDEOGRAPH
+  {0xF3D8, 0x8B92}, //16070 #CJK UNIFIED IDEOGRAPH
+  {0xF3D9, 0x8B96}, //16071 #CJK UNIFIED IDEOGRAPH
+  {0xF3DA, 0x5009}, //16072 #CJK UNIFIED IDEOGRAPH
+  {0xF3DB, 0x5021}, //16073 #CJK UNIFIED IDEOGRAPH
+  {0xF3DC, 0x5275}, //16074 #CJK UNIFIED IDEOGRAPH
+  {0xF3DD, 0x5531}, //16075 #CJK UNIFIED IDEOGRAPH
+  {0xF3DE, 0x5A3C}, //16076 #CJK UNIFIED IDEOGRAPH
+  {0xF3DF, 0x5EE0}, //16077 #CJK UNIFIED IDEOGRAPH
+  {0xF3E0, 0x5F70}, //16078 #CJK UNIFIED IDEOGRAPH
+  {0xF3E1, 0x6134}, //16079 #CJK UNIFIED IDEOGRAPH
+  {0xF3E2, 0x655E}, //16080 #CJK UNIFIED IDEOGRAPH
+  {0xF3E3, 0x660C}, //16081 #CJK UNIFIED IDEOGRAPH
+  {0xF3E4, 0x6636}, //16082 #CJK UNIFIED IDEOGRAPH
+  {0xF3E5, 0x66A2}, //16083 #CJK UNIFIED IDEOGRAPH
+  {0xF3E6, 0x69CD}, //16084 #CJK UNIFIED IDEOGRAPH
+  {0xF3E7, 0x6EC4}, //16085 #CJK UNIFIED IDEOGRAPH
+  {0xF3E8, 0x6F32}, //16086 #CJK UNIFIED IDEOGRAPH
+  {0xF3E9, 0x7316}, //16087 #CJK UNIFIED IDEOGRAPH
+  {0xF3EA, 0x7621}, //16088 #CJK UNIFIED IDEOGRAPH
+  {0xF3EB, 0x7A93}, //16089 #CJK UNIFIED IDEOGRAPH
+  {0xF3EC, 0x8139}, //16090 #CJK UNIFIED IDEOGRAPH
+  {0xF3ED, 0x8259}, //16091 #CJK UNIFIED IDEOGRAPH
+  {0xF3EE, 0x83D6}, //16092 #CJK UNIFIED IDEOGRAPH
+  {0xF3EF, 0x84BC}, //16093 #CJK UNIFIED IDEOGRAPH
+  {0xF3F0, 0x50B5}, //16094 #CJK UNIFIED IDEOGRAPH
+  {0xF3F1, 0x57F0}, //16095 #CJK UNIFIED IDEOGRAPH
+  {0xF3F2, 0x5BC0}, //16096 #CJK UNIFIED IDEOGRAPH
+  {0xF3F3, 0x5BE8}, //16097 #CJK UNIFIED IDEOGRAPH
+  {0xF3F4, 0x5F69}, //16098 #CJK UNIFIED IDEOGRAPH
+  {0xF3F5, 0x63A1}, //16099 #CJK UNIFIED IDEOGRAPH
+  {0xF3F6, 0x7826}, //16100 #CJK UNIFIED IDEOGRAPH
+  {0xF3F7, 0x7DB5}, //16101 #CJK UNIFIED IDEOGRAPH
+  {0xF3F8, 0x83DC}, //16102 #CJK UNIFIED IDEOGRAPH
+  {0xF3F9, 0x8521}, //16103 #CJK UNIFIED IDEOGRAPH
+  {0xF3FA, 0x91C7}, //16104 #CJK UNIFIED IDEOGRAPH
+  {0xF3FB, 0x91F5}, //16105 #CJK UNIFIED IDEOGRAPH
+  {0xF3FC, 0x518A}, //16106 #CJK UNIFIED IDEOGRAPH
+  {0xF3FD, 0x67F5}, //16107 #CJK UNIFIED IDEOGRAPH
+  {0xF3FE, 0x7B56}, //16108 #CJK UNIFIED IDEOGRAPH
+  {0xF4A1, 0x8CAC}, //16109 #CJK UNIFIED IDEOGRAPH
+  {0xF4A2, 0x51C4}, //16110 #CJK UNIFIED IDEOGRAPH
+  {0xF4A3, 0x59BB}, //16111 #CJK UNIFIED IDEOGRAPH
+  {0xF4A4, 0x60BD}, //16112 #CJK UNIFIED IDEOGRAPH
+  {0xF4A5, 0x8655}, //16113 #CJK UNIFIED IDEOGRAPH
+  {0xF4A6, 0x501C}, //16114 #CJK UNIFIED IDEOGRAPH
+  {0xF4A7, 0xF9FF}, //16115 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF4A8, 0x5254}, //16116 #CJK UNIFIED IDEOGRAPH
+  {0xF4A9, 0x5C3A}, //16117 #CJK UNIFIED IDEOGRAPH
+  {0xF4AA, 0x617D}, //16118 #CJK UNIFIED IDEOGRAPH
+  {0xF4AB, 0x621A}, //16119 #CJK UNIFIED IDEOGRAPH
+  {0xF4AC, 0x62D3}, //16120 #CJK UNIFIED IDEOGRAPH
+  {0xF4AD, 0x64F2}, //16121 #CJK UNIFIED IDEOGRAPH
+  {0xF4AE, 0x65A5}, //16122 #CJK UNIFIED IDEOGRAPH
+  {0xF4AF, 0x6ECC}, //16123 #CJK UNIFIED IDEOGRAPH
+  {0xF4B0, 0x7620}, //16124 #CJK UNIFIED IDEOGRAPH
+  {0xF4B1, 0x810A}, //16125 #CJK UNIFIED IDEOGRAPH
+  {0xF4B2, 0x8E60}, //16126 #CJK UNIFIED IDEOGRAPH
+  {0xF4B3, 0x965F}, //16127 #CJK UNIFIED IDEOGRAPH
+  {0xF4B4, 0x96BB}, //16128 #CJK UNIFIED IDEOGRAPH
+  {0xF4B5, 0x4EDF}, //16129 #CJK UNIFIED IDEOGRAPH
+  {0xF4B6, 0x5343}, //16130 #CJK UNIFIED IDEOGRAPH
+  {0xF4B7, 0x5598}, //16131 #CJK UNIFIED IDEOGRAPH
+  {0xF4B8, 0x5929}, //16132 #CJK UNIFIED IDEOGRAPH
+  {0xF4B9, 0x5DDD}, //16133 #CJK UNIFIED IDEOGRAPH
+  {0xF4BA, 0x64C5}, //16134 #CJK UNIFIED IDEOGRAPH
+  {0xF4BB, 0x6CC9}, //16135 #CJK UNIFIED IDEOGRAPH
+  {0xF4BC, 0x6DFA}, //16136 #CJK UNIFIED IDEOGRAPH
+  {0xF4BD, 0x7394}, //16137 #CJK UNIFIED IDEOGRAPH
+  {0xF4BE, 0x7A7F}, //16138 #CJK UNIFIED IDEOGRAPH
+  {0xF4BF, 0x821B}, //16139 #CJK UNIFIED IDEOGRAPH
+  {0xF4C0, 0x85A6}, //16140 #CJK UNIFIED IDEOGRAPH
+  {0xF4C1, 0x8CE4}, //16141 #CJK UNIFIED IDEOGRAPH
+  {0xF4C2, 0x8E10}, //16142 #CJK UNIFIED IDEOGRAPH
+  {0xF4C3, 0x9077}, //16143 #CJK UNIFIED IDEOGRAPH
+  {0xF4C4, 0x91E7}, //16144 #CJK UNIFIED IDEOGRAPH
+  {0xF4C5, 0x95E1}, //16145 #CJK UNIFIED IDEOGRAPH
+  {0xF4C6, 0x9621}, //16146 #CJK UNIFIED IDEOGRAPH
+  {0xF4C7, 0x97C6}, //16147 #CJK UNIFIED IDEOGRAPH
+  {0xF4C8, 0x51F8}, //16148 #CJK UNIFIED IDEOGRAPH
+  {0xF4C9, 0x54F2}, //16149 #CJK UNIFIED IDEOGRAPH
+  {0xF4CA, 0x5586}, //16150 #CJK UNIFIED IDEOGRAPH
+  {0xF4CB, 0x5FB9}, //16151 #CJK UNIFIED IDEOGRAPH
+  {0xF4CC, 0x64A4}, //16152 #CJK UNIFIED IDEOGRAPH
+  {0xF4CD, 0x6F88}, //16153 #CJK UNIFIED IDEOGRAPH
+  {0xF4CE, 0x7DB4}, //16154 #CJK UNIFIED IDEOGRAPH
+  {0xF4CF, 0x8F1F}, //16155 #CJK UNIFIED IDEOGRAPH
+  {0xF4D0, 0x8F4D}, //16156 #CJK UNIFIED IDEOGRAPH
+  {0xF4D1, 0x9435}, //16157 #CJK UNIFIED IDEOGRAPH
+  {0xF4D2, 0x50C9}, //16158 #CJK UNIFIED IDEOGRAPH
+  {0xF4D3, 0x5C16}, //16159 #CJK UNIFIED IDEOGRAPH
+  {0xF4D4, 0x6CBE}, //16160 #CJK UNIFIED IDEOGRAPH
+  {0xF4D5, 0x6DFB}, //16161 #CJK UNIFIED IDEOGRAPH
+  {0xF4D6, 0x751B}, //16162 #CJK UNIFIED IDEOGRAPH
+  {0xF4D7, 0x77BB}, //16163 #CJK UNIFIED IDEOGRAPH
+  {0xF4D8, 0x7C3D}, //16164 #CJK UNIFIED IDEOGRAPH
+  {0xF4D9, 0x7C64}, //16165 #CJK UNIFIED IDEOGRAPH
+  {0xF4DA, 0x8A79}, //16166 #CJK UNIFIED IDEOGRAPH
+  {0xF4DB, 0x8AC2}, //16167 #CJK UNIFIED IDEOGRAPH
+  {0xF4DC, 0x581E}, //16168 #CJK UNIFIED IDEOGRAPH
+  {0xF4DD, 0x59BE}, //16169 #CJK UNIFIED IDEOGRAPH
+  {0xF4DE, 0x5E16}, //16170 #CJK UNIFIED IDEOGRAPH
+  {0xF4DF, 0x6377}, //16171 #CJK UNIFIED IDEOGRAPH
+  {0xF4E0, 0x7252}, //16172 #CJK UNIFIED IDEOGRAPH
+  {0xF4E1, 0x758A}, //16173 #CJK UNIFIED IDEOGRAPH
+  {0xF4E2, 0x776B}, //16174 #CJK UNIFIED IDEOGRAPH
+  {0xF4E3, 0x8ADC}, //16175 #CJK UNIFIED IDEOGRAPH
+  {0xF4E4, 0x8CBC}, //16176 #CJK UNIFIED IDEOGRAPH
+  {0xF4E5, 0x8F12}, //16177 #CJK UNIFIED IDEOGRAPH
+  {0xF4E6, 0x5EF3}, //16178 #CJK UNIFIED IDEOGRAPH
+  {0xF4E7, 0x6674}, //16179 #CJK UNIFIED IDEOGRAPH
+  {0xF4E8, 0x6DF8}, //16180 #CJK UNIFIED IDEOGRAPH
+  {0xF4E9, 0x807D}, //16181 #CJK UNIFIED IDEOGRAPH
+  {0xF4EA, 0x83C1}, //16182 #CJK UNIFIED IDEOGRAPH
+  {0xF4EB, 0x8ACB}, //16183 #CJK UNIFIED IDEOGRAPH
+  {0xF4EC, 0x9751}, //16184 #CJK UNIFIED IDEOGRAPH
+  {0xF4ED, 0x9BD6}, //16185 #CJK UNIFIED IDEOGRAPH
+  {0xF4EE, 0xFA00}, //16186 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF4EF, 0x5243}, //16187 #CJK UNIFIED IDEOGRAPH
+  {0xF4F0, 0x66FF}, //16188 #CJK UNIFIED IDEOGRAPH
+  {0xF4F1, 0x6D95}, //16189 #CJK UNIFIED IDEOGRAPH
+  {0xF4F2, 0x6EEF}, //16190 #CJK UNIFIED IDEOGRAPH
+  {0xF4F3, 0x7DE0}, //16191 #CJK UNIFIED IDEOGRAPH
+  {0xF4F4, 0x8AE6}, //16192 #CJK UNIFIED IDEOGRAPH
+  {0xF4F5, 0x902E}, //16193 #CJK UNIFIED IDEOGRAPH
+  {0xF4F6, 0x905E}, //16194 #CJK UNIFIED IDEOGRAPH
+  {0xF4F7, 0x9AD4}, //16195 #CJK UNIFIED IDEOGRAPH
+  {0xF4F8, 0x521D}, //16196 #CJK UNIFIED IDEOGRAPH
+  {0xF4F9, 0x527F}, //16197 #CJK UNIFIED IDEOGRAPH
+  {0xF4FA, 0x54E8}, //16198 #CJK UNIFIED IDEOGRAPH
+  {0xF4FB, 0x6194}, //16199 #CJK UNIFIED IDEOGRAPH
+  {0xF4FC, 0x6284}, //16200 #CJK UNIFIED IDEOGRAPH
+  {0xF4FD, 0x62DB}, //16201 #CJK UNIFIED IDEOGRAPH
+  {0xF4FE, 0x68A2}, //16202 #CJK UNIFIED IDEOGRAPH
+  {0xF5A1, 0x6912}, //16203 #CJK UNIFIED IDEOGRAPH
+  {0xF5A2, 0x695A}, //16204 #CJK UNIFIED IDEOGRAPH
+  {0xF5A3, 0x6A35}, //16205 #CJK UNIFIED IDEOGRAPH
+  {0xF5A4, 0x7092}, //16206 #CJK UNIFIED IDEOGRAPH
+  {0xF5A5, 0x7126}, //16207 #CJK UNIFIED IDEOGRAPH
+  {0xF5A6, 0x785D}, //16208 #CJK UNIFIED IDEOGRAPH
+  {0xF5A7, 0x7901}, //16209 #CJK UNIFIED IDEOGRAPH
+  {0xF5A8, 0x790E}, //16210 #CJK UNIFIED IDEOGRAPH
+  {0xF5A9, 0x79D2}, //16211 #CJK UNIFIED IDEOGRAPH
+  {0xF5AA, 0x7A0D}, //16212 #CJK UNIFIED IDEOGRAPH
+  {0xF5AB, 0x8096}, //16213 #CJK UNIFIED IDEOGRAPH
+  {0xF5AC, 0x8278}, //16214 #CJK UNIFIED IDEOGRAPH
+  {0xF5AD, 0x82D5}, //16215 #CJK UNIFIED IDEOGRAPH
+  {0xF5AE, 0x8349}, //16216 #CJK UNIFIED IDEOGRAPH
+  {0xF5AF, 0x8549}, //16217 #CJK UNIFIED IDEOGRAPH
+  {0xF5B0, 0x8C82}, //16218 #CJK UNIFIED IDEOGRAPH
+  {0xF5B1, 0x8D85}, //16219 #CJK UNIFIED IDEOGRAPH
+  {0xF5B2, 0x9162}, //16220 #CJK UNIFIED IDEOGRAPH
+  {0xF5B3, 0x918B}, //16221 #CJK UNIFIED IDEOGRAPH
+  {0xF5B4, 0x91AE}, //16222 #CJK UNIFIED IDEOGRAPH
+  {0xF5B5, 0x4FC3}, //16223 #CJK UNIFIED IDEOGRAPH
+  {0xF5B6, 0x56D1}, //16224 #CJK UNIFIED IDEOGRAPH
+  {0xF5B7, 0x71ED}, //16225 #CJK UNIFIED IDEOGRAPH
+  {0xF5B8, 0x77D7}, //16226 #CJK UNIFIED IDEOGRAPH
+  {0xF5B9, 0x8700}, //16227 #CJK UNIFIED IDEOGRAPH
+  {0xF5BA, 0x89F8}, //16228 #CJK UNIFIED IDEOGRAPH
+  {0xF5BB, 0x5BF8}, //16229 #CJK UNIFIED IDEOGRAPH
+  {0xF5BC, 0x5FD6}, //16230 #CJK UNIFIED IDEOGRAPH
+  {0xF5BD, 0x6751}, //16231 #CJK UNIFIED IDEOGRAPH
+  {0xF5BE, 0x90A8}, //16232 #CJK UNIFIED IDEOGRAPH
+  {0xF5BF, 0x53E2}, //16233 #CJK UNIFIED IDEOGRAPH
+  {0xF5C0, 0x585A}, //16234 #CJK UNIFIED IDEOGRAPH
+  {0xF5C1, 0x5BF5}, //16235 #CJK UNIFIED IDEOGRAPH
+  {0xF5C2, 0x60A4}, //16236 #CJK UNIFIED IDEOGRAPH
+  {0xF5C3, 0x6181}, //16237 #CJK UNIFIED IDEOGRAPH
+  {0xF5C4, 0x6460}, //16238 #CJK UNIFIED IDEOGRAPH
+  {0xF5C5, 0x7E3D}, //16239 #CJK UNIFIED IDEOGRAPH
+  {0xF5C6, 0x8070}, //16240 #CJK UNIFIED IDEOGRAPH
+  {0xF5C7, 0x8525}, //16241 #CJK UNIFIED IDEOGRAPH
+  {0xF5C8, 0x9283}, //16242 #CJK UNIFIED IDEOGRAPH
+  {0xF5C9, 0x64AE}, //16243 #CJK UNIFIED IDEOGRAPH
+  {0xF5CA, 0x50AC}, //16244 #CJK UNIFIED IDEOGRAPH
+  {0xF5CB, 0x5D14}, //16245 #CJK UNIFIED IDEOGRAPH
+  {0xF5CC, 0x6700}, //16246 #CJK UNIFIED IDEOGRAPH
+  {0xF5CD, 0x589C}, //16247 #CJK UNIFIED IDEOGRAPH
+  {0xF5CE, 0x62BD}, //16248 #CJK UNIFIED IDEOGRAPH
+  {0xF5CF, 0x63A8}, //16249 #CJK UNIFIED IDEOGRAPH
+  {0xF5D0, 0x690E}, //16250 #CJK UNIFIED IDEOGRAPH
+  {0xF5D1, 0x6978}, //16251 #CJK UNIFIED IDEOGRAPH
+  {0xF5D2, 0x6A1E}, //16252 #CJK UNIFIED IDEOGRAPH
+  {0xF5D3, 0x6E6B}, //16253 #CJK UNIFIED IDEOGRAPH
+  {0xF5D4, 0x76BA}, //16254 #CJK UNIFIED IDEOGRAPH
+  {0xF5D5, 0x79CB}, //16255 #CJK UNIFIED IDEOGRAPH
+  {0xF5D6, 0x82BB}, //16256 #CJK UNIFIED IDEOGRAPH
+  {0xF5D7, 0x8429}, //16257 #CJK UNIFIED IDEOGRAPH
+  {0xF5D8, 0x8ACF}, //16258 #CJK UNIFIED IDEOGRAPH
+  {0xF5D9, 0x8DA8}, //16259 #CJK UNIFIED IDEOGRAPH
+  {0xF5DA, 0x8FFD}, //16260 #CJK UNIFIED IDEOGRAPH
+  {0xF5DB, 0x9112}, //16261 #CJK UNIFIED IDEOGRAPH
+  {0xF5DC, 0x914B}, //16262 #CJK UNIFIED IDEOGRAPH
+  {0xF5DD, 0x919C}, //16263 #CJK UNIFIED IDEOGRAPH
+  {0xF5DE, 0x9310}, //16264 #CJK UNIFIED IDEOGRAPH
+  {0xF5DF, 0x9318}, //16265 #CJK UNIFIED IDEOGRAPH
+  {0xF5E0, 0x939A}, //16266 #CJK UNIFIED IDEOGRAPH
+  {0xF5E1, 0x96DB}, //16267 #CJK UNIFIED IDEOGRAPH
+  {0xF5E2, 0x9A36}, //16268 #CJK UNIFIED IDEOGRAPH
+  {0xF5E3, 0x9C0D}, //16269 #CJK UNIFIED IDEOGRAPH
+  {0xF5E4, 0x4E11}, //16270 #CJK UNIFIED IDEOGRAPH
+  {0xF5E5, 0x755C}, //16271 #CJK UNIFIED IDEOGRAPH
+  {0xF5E6, 0x795D}, //16272 #CJK UNIFIED IDEOGRAPH
+  {0xF5E7, 0x7AFA}, //16273 #CJK UNIFIED IDEOGRAPH
+  {0xF5E8, 0x7B51}, //16274 #CJK UNIFIED IDEOGRAPH
+  {0xF5E9, 0x7BC9}, //16275 #CJK UNIFIED IDEOGRAPH
+  {0xF5EA, 0x7E2E}, //16276 #CJK UNIFIED IDEOGRAPH
+  {0xF5EB, 0x84C4}, //16277 #CJK UNIFIED IDEOGRAPH
+  {0xF5EC, 0x8E59}, //16278 #CJK UNIFIED IDEOGRAPH
+  {0xF5ED, 0x8E74}, //16279 #CJK UNIFIED IDEOGRAPH
+  {0xF5EE, 0x8EF8}, //16280 #CJK UNIFIED IDEOGRAPH
+  {0xF5EF, 0x9010}, //16281 #CJK UNIFIED IDEOGRAPH
+  {0xF5F0, 0x6625}, //16282 #CJK UNIFIED IDEOGRAPH
+  {0xF5F1, 0x693F}, //16283 #CJK UNIFIED IDEOGRAPH
+  {0xF5F2, 0x7443}, //16284 #CJK UNIFIED IDEOGRAPH
+  {0xF5F3, 0x51FA}, //16285 #CJK UNIFIED IDEOGRAPH
+  {0xF5F4, 0x672E}, //16286 #CJK UNIFIED IDEOGRAPH
+  {0xF5F5, 0x9EDC}, //16287 #CJK UNIFIED IDEOGRAPH
+  {0xF5F6, 0x5145}, //16288 #CJK UNIFIED IDEOGRAPH
+  {0xF5F7, 0x5FE0}, //16289 #CJK UNIFIED IDEOGRAPH
+  {0xF5F8, 0x6C96}, //16290 #CJK UNIFIED IDEOGRAPH
+  {0xF5F9, 0x87F2}, //16291 #CJK UNIFIED IDEOGRAPH
+  {0xF5FA, 0x885D}, //16292 #CJK UNIFIED IDEOGRAPH
+  {0xF5FB, 0x8877}, //16293 #CJK UNIFIED IDEOGRAPH
+  {0xF5FC, 0x60B4}, //16294 #CJK UNIFIED IDEOGRAPH
+  {0xF5FD, 0x81B5}, //16295 #CJK UNIFIED IDEOGRAPH
+  {0xF5FE, 0x8403}, //16296 #CJK UNIFIED IDEOGRAPH
+  {0xF6A1, 0x8D05}, //16297 #CJK UNIFIED IDEOGRAPH
+  {0xF6A2, 0x53D6}, //16298 #CJK UNIFIED IDEOGRAPH
+  {0xF6A3, 0x5439}, //16299 #CJK UNIFIED IDEOGRAPH
+  {0xF6A4, 0x5634}, //16300 #CJK UNIFIED IDEOGRAPH
+  {0xF6A5, 0x5A36}, //16301 #CJK UNIFIED IDEOGRAPH
+  {0xF6A6, 0x5C31}, //16302 #CJK UNIFIED IDEOGRAPH
+  {0xF6A7, 0x708A}, //16303 #CJK UNIFIED IDEOGRAPH
+  {0xF6A8, 0x7FE0}, //16304 #CJK UNIFIED IDEOGRAPH
+  {0xF6A9, 0x805A}, //16305 #CJK UNIFIED IDEOGRAPH
+  {0xF6AA, 0x8106}, //16306 #CJK UNIFIED IDEOGRAPH
+  {0xF6AB, 0x81ED}, //16307 #CJK UNIFIED IDEOGRAPH
+  {0xF6AC, 0x8DA3}, //16308 #CJK UNIFIED IDEOGRAPH
+  {0xF6AD, 0x9189}, //16309 #CJK UNIFIED IDEOGRAPH
+  {0xF6AE, 0x9A5F}, //16310 #CJK UNIFIED IDEOGRAPH
+  {0xF6AF, 0x9DF2}, //16311 #CJK UNIFIED IDEOGRAPH
+  {0xF6B0, 0x5074}, //16312 #CJK UNIFIED IDEOGRAPH
+  {0xF6B1, 0x4EC4}, //16313 #CJK UNIFIED IDEOGRAPH
+  {0xF6B2, 0x53A0}, //16314 #CJK UNIFIED IDEOGRAPH
+  {0xF6B3, 0x60FB}, //16315 #CJK UNIFIED IDEOGRAPH
+  {0xF6B4, 0x6E2C}, //16316 #CJK UNIFIED IDEOGRAPH
+  {0xF6B5, 0x5C64}, //16317 #CJK UNIFIED IDEOGRAPH
+  {0xF6B6, 0x4F88}, //16318 #CJK UNIFIED IDEOGRAPH
+  {0xF6B7, 0x5024}, //16319 #CJK UNIFIED IDEOGRAPH
+  {0xF6B8, 0x55E4}, //16320 #CJK UNIFIED IDEOGRAPH
+  {0xF6B9, 0x5CD9}, //16321 #CJK UNIFIED IDEOGRAPH
+  {0xF6BA, 0x5E5F}, //16322 #CJK UNIFIED IDEOGRAPH
+  {0xF6BB, 0x6065}, //16323 #CJK UNIFIED IDEOGRAPH
+  {0xF6BC, 0x6894}, //16324 #CJK UNIFIED IDEOGRAPH
+  {0xF6BD, 0x6CBB}, //16325 #CJK UNIFIED IDEOGRAPH
+  {0xF6BE, 0x6DC4}, //16326 #CJK UNIFIED IDEOGRAPH
+  {0xF6BF, 0x71BE}, //16327 #CJK UNIFIED IDEOGRAPH
+  {0xF6C0, 0x75D4}, //16328 #CJK UNIFIED IDEOGRAPH
+  {0xF6C1, 0x75F4}, //16329 #CJK UNIFIED IDEOGRAPH
+  {0xF6C2, 0x7661}, //16330 #CJK UNIFIED IDEOGRAPH
+  {0xF6C3, 0x7A1A}, //16331 #CJK UNIFIED IDEOGRAPH
+  {0xF6C4, 0x7A49}, //16332 #CJK UNIFIED IDEOGRAPH
+  {0xF6C5, 0x7DC7}, //16333 #CJK UNIFIED IDEOGRAPH
+  {0xF6C6, 0x7DFB}, //16334 #CJK UNIFIED IDEOGRAPH
+  {0xF6C7, 0x7F6E}, //16335 #CJK UNIFIED IDEOGRAPH
+  {0xF6C8, 0x81F4}, //16336 #CJK UNIFIED IDEOGRAPH
+  {0xF6C9, 0x86A9}, //16337 #CJK UNIFIED IDEOGRAPH
+  {0xF6CA, 0x8F1C}, //16338 #CJK UNIFIED IDEOGRAPH
+  {0xF6CB, 0x96C9}, //16339 #CJK UNIFIED IDEOGRAPH
+  {0xF6CC, 0x99B3}, //16340 #CJK UNIFIED IDEOGRAPH
+  {0xF6CD, 0x9F52}, //16341 #CJK UNIFIED IDEOGRAPH
+  {0xF6CE, 0x5247}, //16342 #CJK UNIFIED IDEOGRAPH
+  {0xF6CF, 0x52C5}, //16343 #CJK UNIFIED IDEOGRAPH
+  {0xF6D0, 0x98ED}, //16344 #CJK UNIFIED IDEOGRAPH
+  {0xF6D1, 0x89AA}, //16345 #CJK UNIFIED IDEOGRAPH
+  {0xF6D2, 0x4E03}, //16346 #CJK UNIFIED IDEOGRAPH
+  {0xF6D3, 0x67D2}, //16347 #CJK UNIFIED IDEOGRAPH
+  {0xF6D4, 0x6F06}, //16348 #CJK UNIFIED IDEOGRAPH
+  {0xF6D5, 0x4FB5}, //16349 #CJK UNIFIED IDEOGRAPH
+  {0xF6D6, 0x5BE2}, //16350 #CJK UNIFIED IDEOGRAPH
+  {0xF6D7, 0x6795}, //16351 #CJK UNIFIED IDEOGRAPH
+  {0xF6D8, 0x6C88}, //16352 #CJK UNIFIED IDEOGRAPH
+  {0xF6D9, 0x6D78}, //16353 #CJK UNIFIED IDEOGRAPH
+  {0xF6DA, 0x741B}, //16354 #CJK UNIFIED IDEOGRAPH
+  {0xF6DB, 0x7827}, //16355 #CJK UNIFIED IDEOGRAPH
+  {0xF6DC, 0x91DD}, //16356 #CJK UNIFIED IDEOGRAPH
+  {0xF6DD, 0x937C}, //16357 #CJK UNIFIED IDEOGRAPH
+  {0xF6DE, 0x87C4}, //16358 #CJK UNIFIED IDEOGRAPH
+  {0xF6DF, 0x79E4}, //16359 #CJK UNIFIED IDEOGRAPH
+  {0xF6E0, 0x7A31}, //16360 #CJK UNIFIED IDEOGRAPH
+  {0xF6E1, 0x5FEB}, //16361 #CJK UNIFIED IDEOGRAPH
+  {0xF6E2, 0x4ED6}, //16362 #CJK UNIFIED IDEOGRAPH
+  {0xF6E3, 0x54A4}, //16363 #CJK UNIFIED IDEOGRAPH
+  {0xF6E4, 0x553E}, //16364 #CJK UNIFIED IDEOGRAPH
+  {0xF6E5, 0x58AE}, //16365 #CJK UNIFIED IDEOGRAPH
+  {0xF6E6, 0x59A5}, //16366 #CJK UNIFIED IDEOGRAPH
+  {0xF6E7, 0x60F0}, //16367 #CJK UNIFIED IDEOGRAPH
+  {0xF6E8, 0x6253}, //16368 #CJK UNIFIED IDEOGRAPH
+  {0xF6E9, 0x62D6}, //16369 #CJK UNIFIED IDEOGRAPH
+  {0xF6EA, 0x6736}, //16370 #CJK UNIFIED IDEOGRAPH
+  {0xF6EB, 0x6955}, //16371 #CJK UNIFIED IDEOGRAPH
+  {0xF6EC, 0x8235}, //16372 #CJK UNIFIED IDEOGRAPH
+  {0xF6ED, 0x9640}, //16373 #CJK UNIFIED IDEOGRAPH
+  {0xF6EE, 0x99B1}, //16374 #CJK UNIFIED IDEOGRAPH
+  {0xF6EF, 0x99DD}, //16375 #CJK UNIFIED IDEOGRAPH
+  {0xF6F0, 0x502C}, //16376 #CJK UNIFIED IDEOGRAPH
+  {0xF6F1, 0x5353}, //16377 #CJK UNIFIED IDEOGRAPH
+  {0xF6F2, 0x5544}, //16378 #CJK UNIFIED IDEOGRAPH
+  {0xF6F3, 0x577C}, //16379 #CJK UNIFIED IDEOGRAPH
+  {0xF6F4, 0xFA01}, //16380 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF6F5, 0x6258}, //16381 #CJK UNIFIED IDEOGRAPH
+  {0xF6F6, 0xFA02}, //16382 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF6F7, 0x64E2}, //16383 #CJK UNIFIED IDEOGRAPH
+  {0xF6F8, 0x666B}, //16384 #CJK UNIFIED IDEOGRAPH
+  {0xF6F9, 0x67DD}, //16385 #CJK UNIFIED IDEOGRAPH
+  {0xF6FA, 0x6FC1}, //16386 #CJK UNIFIED IDEOGRAPH
+  {0xF6FB, 0x6FEF}, //16387 #CJK UNIFIED IDEOGRAPH
+  {0xF6FC, 0x7422}, //16388 #CJK UNIFIED IDEOGRAPH
+  {0xF6FD, 0x7438}, //16389 #CJK UNIFIED IDEOGRAPH
+  {0xF6FE, 0x8A17}, //16390 #CJK UNIFIED IDEOGRAPH
+  {0xF7A1, 0x9438}, //16391 #CJK UNIFIED IDEOGRAPH
+  {0xF7A2, 0x5451}, //16392 #CJK UNIFIED IDEOGRAPH
+  {0xF7A3, 0x5606}, //16393 #CJK UNIFIED IDEOGRAPH
+  {0xF7A4, 0x5766}, //16394 #CJK UNIFIED IDEOGRAPH
+  {0xF7A5, 0x5F48}, //16395 #CJK UNIFIED IDEOGRAPH
+  {0xF7A6, 0x619A}, //16396 #CJK UNIFIED IDEOGRAPH
+  {0xF7A7, 0x6B4E}, //16397 #CJK UNIFIED IDEOGRAPH
+  {0xF7A8, 0x7058}, //16398 #CJK UNIFIED IDEOGRAPH
+  {0xF7A9, 0x70AD}, //16399 #CJK UNIFIED IDEOGRAPH
+  {0xF7AA, 0x7DBB}, //16400 #CJK UNIFIED IDEOGRAPH
+  {0xF7AB, 0x8A95}, //16401 #CJK UNIFIED IDEOGRAPH
+  {0xF7AC, 0x596A}, //16402 #CJK UNIFIED IDEOGRAPH
+  {0xF7AD, 0x812B}, //16403 #CJK UNIFIED IDEOGRAPH
+  {0xF7AE, 0x63A2}, //16404 #CJK UNIFIED IDEOGRAPH
+  {0xF7AF, 0x7708}, //16405 #CJK UNIFIED IDEOGRAPH
+  {0xF7B0, 0x803D}, //16406 #CJK UNIFIED IDEOGRAPH
+  {0xF7B1, 0x8CAA}, //16407 #CJK UNIFIED IDEOGRAPH
+  {0xF7B2, 0x5854}, //16408 #CJK UNIFIED IDEOGRAPH
+  {0xF7B3, 0x642D}, //16409 #CJK UNIFIED IDEOGRAPH
+  {0xF7B4, 0x69BB}, //16410 #CJK UNIFIED IDEOGRAPH
+  {0xF7B5, 0x5B95}, //16411 #CJK UNIFIED IDEOGRAPH
+  {0xF7B6, 0x5E11}, //16412 #CJK UNIFIED IDEOGRAPH
+  {0xF7B7, 0x6E6F}, //16413 #CJK UNIFIED IDEOGRAPH
+  {0xF7B8, 0xFA03}, //16414 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF7B9, 0x8569}, //16415 #CJK UNIFIED IDEOGRAPH
+  {0xF7BA, 0x514C}, //16416 #CJK UNIFIED IDEOGRAPH
+  {0xF7BB, 0x53F0}, //16417 #CJK UNIFIED IDEOGRAPH
+  {0xF7BC, 0x592A}, //16418 #CJK UNIFIED IDEOGRAPH
+  {0xF7BD, 0x6020}, //16419 #CJK UNIFIED IDEOGRAPH
+  {0xF7BE, 0x614B}, //16420 #CJK UNIFIED IDEOGRAPH
+  {0xF7BF, 0x6B86}, //16421 #CJK UNIFIED IDEOGRAPH
+  {0xF7C0, 0x6C70}, //16422 #CJK UNIFIED IDEOGRAPH
+  {0xF7C1, 0x6CF0}, //16423 #CJK UNIFIED IDEOGRAPH
+  {0xF7C2, 0x7B1E}, //16424 #CJK UNIFIED IDEOGRAPH
+  {0xF7C3, 0x80CE}, //16425 #CJK UNIFIED IDEOGRAPH
+  {0xF7C4, 0x82D4}, //16426 #CJK UNIFIED IDEOGRAPH
+  {0xF7C5, 0x8DC6}, //16427 #CJK UNIFIED IDEOGRAPH
+  {0xF7C6, 0x90B0}, //16428 #CJK UNIFIED IDEOGRAPH
+  {0xF7C7, 0x98B1}, //16429 #CJK UNIFIED IDEOGRAPH
+  {0xF7C8, 0xFA04}, //16430 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF7C9, 0x64C7}, //16431 #CJK UNIFIED IDEOGRAPH
+  {0xF7CA, 0x6FA4}, //16432 #CJK UNIFIED IDEOGRAPH
+  {0xF7CB, 0x6491}, //16433 #CJK UNIFIED IDEOGRAPH
+  {0xF7CC, 0x6504}, //16434 #CJK UNIFIED IDEOGRAPH
+  {0xF7CD, 0x514E}, //16435 #CJK UNIFIED IDEOGRAPH
+  {0xF7CE, 0x5410}, //16436 #CJK UNIFIED IDEOGRAPH
+  {0xF7CF, 0x571F}, //16437 #CJK UNIFIED IDEOGRAPH
+  {0xF7D0, 0x8A0E}, //16438 #CJK UNIFIED IDEOGRAPH
+  {0xF7D1, 0x615F}, //16439 #CJK UNIFIED IDEOGRAPH
+  {0xF7D2, 0x6876}, //16440 #CJK UNIFIED IDEOGRAPH
+  {0xF7D3, 0xFA05}, //16441 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF7D4, 0x75DB}, //16442 #CJK UNIFIED IDEOGRAPH
+  {0xF7D5, 0x7B52}, //16443 #CJK UNIFIED IDEOGRAPH
+  {0xF7D6, 0x7D71}, //16444 #CJK UNIFIED IDEOGRAPH
+  {0xF7D7, 0x901A}, //16445 #CJK UNIFIED IDEOGRAPH
+  {0xF7D8, 0x5806}, //16446 #CJK UNIFIED IDEOGRAPH
+  {0xF7D9, 0x69CC}, //16447 #CJK UNIFIED IDEOGRAPH
+  {0xF7DA, 0x817F}, //16448 #CJK UNIFIED IDEOGRAPH
+  {0xF7DB, 0x892A}, //16449 #CJK UNIFIED IDEOGRAPH
+  {0xF7DC, 0x9000}, //16450 #CJK UNIFIED IDEOGRAPH
+  {0xF7DD, 0x9839}, //16451 #CJK UNIFIED IDEOGRAPH
+  {0xF7DE, 0x5078}, //16452 #CJK UNIFIED IDEOGRAPH
+  {0xF7DF, 0x5957}, //16453 #CJK UNIFIED IDEOGRAPH
+  {0xF7E0, 0x59AC}, //16454 #CJK UNIFIED IDEOGRAPH
+  {0xF7E1, 0x6295}, //16455 #CJK UNIFIED IDEOGRAPH
+  {0xF7E2, 0x900F}, //16456 #CJK UNIFIED IDEOGRAPH
+  {0xF7E3, 0x9B2A}, //16457 #CJK UNIFIED IDEOGRAPH
+  {0xF7E4, 0x615D}, //16458 #CJK UNIFIED IDEOGRAPH
+  {0xF7E5, 0x7279}, //16459 #CJK UNIFIED IDEOGRAPH
+  {0xF7E6, 0x95D6}, //16460 #CJK UNIFIED IDEOGRAPH
+  {0xF7E7, 0x5761}, //16461 #CJK UNIFIED IDEOGRAPH
+  {0xF7E8, 0x5A46}, //16462 #CJK UNIFIED IDEOGRAPH
+  {0xF7E9, 0x5DF4}, //16463 #CJK UNIFIED IDEOGRAPH
+  {0xF7EA, 0x628A}, //16464 #CJK UNIFIED IDEOGRAPH
+  {0xF7EB, 0x64AD}, //16465 #CJK UNIFIED IDEOGRAPH
+  {0xF7EC, 0x64FA}, //16466 #CJK UNIFIED IDEOGRAPH
+  {0xF7ED, 0x6777}, //16467 #CJK UNIFIED IDEOGRAPH
+  {0xF7EE, 0x6CE2}, //16468 #CJK UNIFIED IDEOGRAPH
+  {0xF7EF, 0x6D3E}, //16469 #CJK UNIFIED IDEOGRAPH
+  {0xF7F0, 0x722C}, //16470 #CJK UNIFIED IDEOGRAPH
+  {0xF7F1, 0x7436}, //16471 #CJK UNIFIED IDEOGRAPH
+  {0xF7F2, 0x7834}, //16472 #CJK UNIFIED IDEOGRAPH
+  {0xF7F3, 0x7F77}, //16473 #CJK UNIFIED IDEOGRAPH
+  {0xF7F4, 0x82AD}, //16474 #CJK UNIFIED IDEOGRAPH
+  {0xF7F5, 0x8DDB}, //16475 #CJK UNIFIED IDEOGRAPH
+  {0xF7F6, 0x9817}, //16476 #CJK UNIFIED IDEOGRAPH
+  {0xF7F7, 0x5224}, //16477 #CJK UNIFIED IDEOGRAPH
+  {0xF7F8, 0x5742}, //16478 #CJK UNIFIED IDEOGRAPH
+  {0xF7F9, 0x677F}, //16479 #CJK UNIFIED IDEOGRAPH
+  {0xF7FA, 0x7248}, //16480 #CJK UNIFIED IDEOGRAPH
+  {0xF7FB, 0x74E3}, //16481 #CJK UNIFIED IDEOGRAPH
+  {0xF7FC, 0x8CA9}, //16482 #CJK UNIFIED IDEOGRAPH
+  {0xF7FD, 0x8FA6}, //16483 #CJK UNIFIED IDEOGRAPH
+  {0xF7FE, 0x9211}, //16484 #CJK UNIFIED IDEOGRAPH
+  {0xF8A1, 0x962A}, //16485 #CJK UNIFIED IDEOGRAPH
+  {0xF8A2, 0x516B}, //16486 #CJK UNIFIED IDEOGRAPH
+  {0xF8A3, 0x53ED}, //16487 #CJK UNIFIED IDEOGRAPH
+  {0xF8A4, 0x634C}, //16488 #CJK UNIFIED IDEOGRAPH
+  {0xF8A5, 0x4F69}, //16489 #CJK UNIFIED IDEOGRAPH
+  {0xF8A6, 0x5504}, //16490 #CJK UNIFIED IDEOGRAPH
+  {0xF8A7, 0x6096}, //16491 #CJK UNIFIED IDEOGRAPH
+  {0xF8A8, 0x6557}, //16492 #CJK UNIFIED IDEOGRAPH
+  {0xF8A9, 0x6C9B}, //16493 #CJK UNIFIED IDEOGRAPH
+  {0xF8AA, 0x6D7F}, //16494 #CJK UNIFIED IDEOGRAPH
+  {0xF8AB, 0x724C}, //16495 #CJK UNIFIED IDEOGRAPH
+  {0xF8AC, 0x72FD}, //16496 #CJK UNIFIED IDEOGRAPH
+  {0xF8AD, 0x7A17}, //16497 #CJK UNIFIED IDEOGRAPH
+  {0xF8AE, 0x8987}, //16498 #CJK UNIFIED IDEOGRAPH
+  {0xF8AF, 0x8C9D}, //16499 #CJK UNIFIED IDEOGRAPH
+  {0xF8B0, 0x5F6D}, //16500 #CJK UNIFIED IDEOGRAPH
+  {0xF8B1, 0x6F8E}, //16501 #CJK UNIFIED IDEOGRAPH
+  {0xF8B2, 0x70F9}, //16502 #CJK UNIFIED IDEOGRAPH
+  {0xF8B3, 0x81A8}, //16503 #CJK UNIFIED IDEOGRAPH
+  {0xF8B4, 0x610E}, //16504 #CJK UNIFIED IDEOGRAPH
+  {0xF8B5, 0x4FBF}, //16505 #CJK UNIFIED IDEOGRAPH
+  {0xF8B6, 0x504F}, //16506 #CJK UNIFIED IDEOGRAPH
+  {0xF8B7, 0x6241}, //16507 #CJK UNIFIED IDEOGRAPH
+  {0xF8B8, 0x7247}, //16508 #CJK UNIFIED IDEOGRAPH
+  {0xF8B9, 0x7BC7}, //16509 #CJK UNIFIED IDEOGRAPH
+  {0xF8BA, 0x7DE8}, //16510 #CJK UNIFIED IDEOGRAPH
+  {0xF8BB, 0x7FE9}, //16511 #CJK UNIFIED IDEOGRAPH
+  {0xF8BC, 0x904D}, //16512 #CJK UNIFIED IDEOGRAPH
+  {0xF8BD, 0x97AD}, //16513 #CJK UNIFIED IDEOGRAPH
+  {0xF8BE, 0x9A19}, //16514 #CJK UNIFIED IDEOGRAPH
+  {0xF8BF, 0x8CB6}, //16515 #CJK UNIFIED IDEOGRAPH
+  {0xF8C0, 0x576A}, //16516 #CJK UNIFIED IDEOGRAPH
+  {0xF8C1, 0x5E73}, //16517 #CJK UNIFIED IDEOGRAPH
+  {0xF8C2, 0x67B0}, //16518 #CJK UNIFIED IDEOGRAPH
+  {0xF8C3, 0x840D}, //16519 #CJK UNIFIED IDEOGRAPH
+  {0xF8C4, 0x8A55}, //16520 #CJK UNIFIED IDEOGRAPH
+  {0xF8C5, 0x5420}, //16521 #CJK UNIFIED IDEOGRAPH
+  {0xF8C6, 0x5B16}, //16522 #CJK UNIFIED IDEOGRAPH
+  {0xF8C7, 0x5E63}, //16523 #CJK UNIFIED IDEOGRAPH
+  {0xF8C8, 0x5EE2}, //16524 #CJK UNIFIED IDEOGRAPH
+  {0xF8C9, 0x5F0A}, //16525 #CJK UNIFIED IDEOGRAPH
+  {0xF8CA, 0x6583}, //16526 #CJK UNIFIED IDEOGRAPH
+  {0xF8CB, 0x80BA}, //16527 #CJK UNIFIED IDEOGRAPH
+  {0xF8CC, 0x853D}, //16528 #CJK UNIFIED IDEOGRAPH
+  {0xF8CD, 0x9589}, //16529 #CJK UNIFIED IDEOGRAPH
+  {0xF8CE, 0x965B}, //16530 #CJK UNIFIED IDEOGRAPH
+  {0xF8CF, 0x4F48}, //16531 #CJK UNIFIED IDEOGRAPH
+  {0xF8D0, 0x5305}, //16532 #CJK UNIFIED IDEOGRAPH
+  {0xF8D1, 0x530D}, //16533 #CJK UNIFIED IDEOGRAPH
+  {0xF8D2, 0x530F}, //16534 #CJK UNIFIED IDEOGRAPH
+  {0xF8D3, 0x5486}, //16535 #CJK UNIFIED IDEOGRAPH
+  {0xF8D4, 0x54FA}, //16536 #CJK UNIFIED IDEOGRAPH
+  {0xF8D5, 0x5703}, //16537 #CJK UNIFIED IDEOGRAPH
+  {0xF8D6, 0x5E03}, //16538 #CJK UNIFIED IDEOGRAPH
+  {0xF8D7, 0x6016}, //16539 #CJK UNIFIED IDEOGRAPH
+  {0xF8D8, 0x629B}, //16540 #CJK UNIFIED IDEOGRAPH
+  {0xF8D9, 0x62B1}, //16541 #CJK UNIFIED IDEOGRAPH
+  {0xF8DA, 0x6355}, //16542 #CJK UNIFIED IDEOGRAPH
+  {0xF8DB, 0xFA06}, //16543 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF8DC, 0x6CE1}, //16544 #CJK UNIFIED IDEOGRAPH
+  {0xF8DD, 0x6D66}, //16545 #CJK UNIFIED IDEOGRAPH
+  {0xF8DE, 0x75B1}, //16546 #CJK UNIFIED IDEOGRAPH
+  {0xF8DF, 0x7832}, //16547 #CJK UNIFIED IDEOGRAPH
+  {0xF8E0, 0x80DE}, //16548 #CJK UNIFIED IDEOGRAPH
+  {0xF8E1, 0x812F}, //16549 #CJK UNIFIED IDEOGRAPH
+  {0xF8E2, 0x82DE}, //16550 #CJK UNIFIED IDEOGRAPH
+  {0xF8E3, 0x8461}, //16551 #CJK UNIFIED IDEOGRAPH
+  {0xF8E4, 0x84B2}, //16552 #CJK UNIFIED IDEOGRAPH
+  {0xF8E5, 0x888D}, //16553 #CJK UNIFIED IDEOGRAPH
+  {0xF8E6, 0x8912}, //16554 #CJK UNIFIED IDEOGRAPH
+  {0xF8E7, 0x900B}, //16555 #CJK UNIFIED IDEOGRAPH
+  {0xF8E8, 0x92EA}, //16556 #CJK UNIFIED IDEOGRAPH
+  {0xF8E9, 0x98FD}, //16557 #CJK UNIFIED IDEOGRAPH
+  {0xF8EA, 0x9B91}, //16558 #CJK UNIFIED IDEOGRAPH
+  {0xF8EB, 0x5E45}, //16559 #CJK UNIFIED IDEOGRAPH
+  {0xF8EC, 0x66B4}, //16560 #CJK UNIFIED IDEOGRAPH
+  {0xF8ED, 0x66DD}, //16561 #CJK UNIFIED IDEOGRAPH
+  {0xF8EE, 0x7011}, //16562 #CJK UNIFIED IDEOGRAPH
+  {0xF8EF, 0x7206}, //16563 #CJK UNIFIED IDEOGRAPH
+  {0xF8F0, 0xFA07}, //16564 #CJK COMPATIBILITY IDEOGRAPH
+  {0xF8F1, 0x4FF5}, //16565 #CJK UNIFIED IDEOGRAPH
+  {0xF8F2, 0x527D}, //16566 #CJK UNIFIED IDEOGRAPH
+  {0xF8F3, 0x5F6A}, //16567 #CJK UNIFIED IDEOGRAPH
+  {0xF8F4, 0x6153}, //16568 #CJK UNIFIED IDEOGRAPH
+  {0xF8F5, 0x6753}, //16569 #CJK UNIFIED IDEOGRAPH
+  {0xF8F6, 0x6A19}, //16570 #CJK UNIFIED IDEOGRAPH
+  {0xF8F7, 0x6F02}, //16571 #CJK UNIFIED IDEOGRAPH
+  {0xF8F8, 0x74E2}, //16572 #CJK UNIFIED IDEOGRAPH
+  {0xF8F9, 0x7968}, //16573 #CJK UNIFIED IDEOGRAPH
+  {0xF8FA, 0x8868}, //16574 #CJK UNIFIED IDEOGRAPH
+  {0xF8FB, 0x8C79}, //16575 #CJK UNIFIED IDEOGRAPH
+  {0xF8FC, 0x98C7}, //16576 #CJK UNIFIED IDEOGRAPH
+  {0xF8FD, 0x98C4}, //16577 #CJK UNIFIED IDEOGRAPH
+  {0xF8FE, 0x9A43}, //16578 #CJK UNIFIED IDEOGRAPH
+  {0xF9A1, 0x54C1}, //16579 #CJK UNIFIED IDEOGRAPH
+  {0xF9A2, 0x7A1F}, //16580 #CJK UNIFIED IDEOGRAPH
+  {0xF9A3, 0x6953}, //16581 #CJK UNIFIED IDEOGRAPH
+  {0xF9A4, 0x8AF7}, //16582 #CJK UNIFIED IDEOGRAPH
+  {0xF9A5, 0x8C4A}, //16583 #CJK UNIFIED IDEOGRAPH
+  {0xF9A6, 0x98A8}, //16584 #CJK UNIFIED IDEOGRAPH
+  {0xF9A7, 0x99AE}, //16585 #CJK UNIFIED IDEOGRAPH
+  {0xF9A8, 0x5F7C}, //16586 #CJK UNIFIED IDEOGRAPH
+  {0xF9A9, 0x62AB}, //16587 #CJK UNIFIED IDEOGRAPH
+  {0xF9AA, 0x75B2}, //16588 #CJK UNIFIED IDEOGRAPH
+  {0xF9AB, 0x76AE}, //16589 #CJK UNIFIED IDEOGRAPH
+  {0xF9AC, 0x88AB}, //16590 #CJK UNIFIED IDEOGRAPH
+  {0xF9AD, 0x907F}, //16591 #CJK UNIFIED IDEOGRAPH
+  {0xF9AE, 0x9642}, //16592 #CJK UNIFIED IDEOGRAPH
+  {0xF9AF, 0x5339}, //16593 #CJK UNIFIED IDEOGRAPH
+  {0xF9B0, 0x5F3C}, //16594 #CJK UNIFIED IDEOGRAPH
+  {0xF9B1, 0x5FC5}, //16595 #CJK UNIFIED IDEOGRAPH
+  {0xF9B2, 0x6CCC}, //16596 #CJK UNIFIED IDEOGRAPH
+  {0xF9B3, 0x73CC}, //16597 #CJK UNIFIED IDEOGRAPH
+  {0xF9B4, 0x7562}, //16598 #CJK UNIFIED IDEOGRAPH
+  {0xF9B5, 0x758B}, //16599 #CJK UNIFIED IDEOGRAPH
+  {0xF9B6, 0x7B46}, //16600 #CJK UNIFIED IDEOGRAPH
+  {0xF9B7, 0x82FE}, //16601 #CJK UNIFIED IDEOGRAPH
+  {0xF9B8, 0x999D}, //16602 #CJK UNIFIED IDEOGRAPH
+  {0xF9B9, 0x4E4F}, //16603 #CJK UNIFIED IDEOGRAPH
+  {0xF9BA, 0x903C}, //16604 #CJK UNIFIED IDEOGRAPH
+  {0xF9BB, 0x4E0B}, //16605 #CJK UNIFIED IDEOGRAPH
+  {0xF9BC, 0x4F55}, //16606 #CJK UNIFIED IDEOGRAPH
+  {0xF9BD, 0x53A6}, //16607 #CJK UNIFIED IDEOGRAPH
+  {0xF9BE, 0x590F}, //16608 #CJK UNIFIED IDEOGRAPH
+  {0xF9BF, 0x5EC8}, //16609 #CJK UNIFIED IDEOGRAPH
+  {0xF9C0, 0x6630}, //16610 #CJK UNIFIED IDEOGRAPH
+  {0xF9C1, 0x6CB3}, //16611 #CJK UNIFIED IDEOGRAPH
+  {0xF9C2, 0x7455}, //16612 #CJK UNIFIED IDEOGRAPH
+  {0xF9C3, 0x8377}, //16613 #CJK UNIFIED IDEOGRAPH
+  {0xF9C4, 0x8766}, //16614 #CJK UNIFIED IDEOGRAPH
+  {0xF9C5, 0x8CC0}, //16615 #CJK UNIFIED IDEOGRAPH
+  {0xF9C6, 0x9050}, //16616 #CJK UNIFIED IDEOGRAPH
+  {0xF9C7, 0x971E}, //16617 #CJK UNIFIED IDEOGRAPH
+  {0xF9C8, 0x9C15}, //16618 #CJK UNIFIED IDEOGRAPH
+  {0xF9C9, 0x58D1}, //16619 #CJK UNIFIED IDEOGRAPH
+  {0xF9CA, 0x5B78}, //16620 #CJK UNIFIED IDEOGRAPH
+  {0xF9CB, 0x8650}, //16621 #CJK UNIFIED IDEOGRAPH
+  {0xF9CC, 0x8B14}, //16622 #CJK UNIFIED IDEOGRAPH
+  {0xF9CD, 0x9DB4}, //16623 #CJK UNIFIED IDEOGRAPH
+  {0xF9CE, 0x5BD2}, //16624 #CJK UNIFIED IDEOGRAPH
+  {0xF9CF, 0x6068}, //16625 #CJK UNIFIED IDEOGRAPH
+  {0xF9D0, 0x608D}, //16626 #CJK UNIFIED IDEOGRAPH
+  {0xF9D1, 0x65F1}, //16627 #CJK UNIFIED IDEOGRAPH
+  {0xF9D2, 0x6C57}, //16628 #CJK UNIFIED IDEOGRAPH
+  {0xF9D3, 0x6F22}, //16629 #CJK UNIFIED IDEOGRAPH
+  {0xF9D4, 0x6FA3}, //16630 #CJK UNIFIED IDEOGRAPH
+  {0xF9D5, 0x701A}, //16631 #CJK UNIFIED IDEOGRAPH
+  {0xF9D6, 0x7F55}, //16632 #CJK UNIFIED IDEOGRAPH
+  {0xF9D7, 0x7FF0}, //16633 #CJK UNIFIED IDEOGRAPH
+  {0xF9D8, 0x9591}, //16634 #CJK UNIFIED IDEOGRAPH
+  {0xF9D9, 0x9592}, //16635 #CJK UNIFIED IDEOGRAPH
+  {0xF9DA, 0x9650}, //16636 #CJK UNIFIED IDEOGRAPH
+  {0xF9DB, 0x97D3}, //16637 #CJK UNIFIED IDEOGRAPH
+  {0xF9DC, 0x5272}, //16638 #CJK UNIFIED IDEOGRAPH
+  {0xF9DD, 0x8F44}, //16639 #CJK UNIFIED IDEOGRAPH
+  {0xF9DE, 0x51FD}, //16640 #CJK UNIFIED IDEOGRAPH
+  {0xF9DF, 0x542B}, //16641 #CJK UNIFIED IDEOGRAPH
+  {0xF9E0, 0x54B8}, //16642 #CJK UNIFIED IDEOGRAPH
+  {0xF9E1, 0x5563}, //16643 #CJK UNIFIED IDEOGRAPH
+  {0xF9E2, 0x558A}, //16644 #CJK UNIFIED IDEOGRAPH
+  {0xF9E3, 0x6ABB}, //16645 #CJK UNIFIED IDEOGRAPH
+  {0xF9E4, 0x6DB5}, //16646 #CJK UNIFIED IDEOGRAPH
+  {0xF9E5, 0x7DD8}, //16647 #CJK UNIFIED IDEOGRAPH
+  {0xF9E6, 0x8266}, //16648 #CJK UNIFIED IDEOGRAPH
+  {0xF9E7, 0x929C}, //16649 #CJK UNIFIED IDEOGRAPH
+  {0xF9E8, 0x9677}, //16650 #CJK UNIFIED IDEOGRAPH
+  {0xF9E9, 0x9E79}, //16651 #CJK UNIFIED IDEOGRAPH
+  {0xF9EA, 0x5408}, //16652 #CJK UNIFIED IDEOGRAPH
+  {0xF9EB, 0x54C8}, //16653 #CJK UNIFIED IDEOGRAPH
+  {0xF9EC, 0x76D2}, //16654 #CJK UNIFIED IDEOGRAPH
+  {0xF9ED, 0x86E4}, //16655 #CJK UNIFIED IDEOGRAPH
+  {0xF9EE, 0x95A4}, //16656 #CJK UNIFIED IDEOGRAPH
+  {0xF9EF, 0x95D4}, //16657 #CJK UNIFIED IDEOGRAPH
+  {0xF9F0, 0x965C}, //16658 #CJK UNIFIED IDEOGRAPH
+  {0xF9F1, 0x4EA2}, //16659 #CJK UNIFIED IDEOGRAPH
+  {0xF9F2, 0x4F09}, //16660 #CJK UNIFIED IDEOGRAPH
+  {0xF9F3, 0x59EE}, //16661 #CJK UNIFIED IDEOGRAPH
+  {0xF9F4, 0x5AE6}, //16662 #CJK UNIFIED IDEOGRAPH
+  {0xF9F5, 0x5DF7}, //16663 #CJK UNIFIED IDEOGRAPH
+  {0xF9F6, 0x6052}, //16664 #CJK UNIFIED IDEOGRAPH
+  {0xF9F7, 0x6297}, //16665 #CJK UNIFIED IDEOGRAPH
+  {0xF9F8, 0x676D}, //16666 #CJK UNIFIED IDEOGRAPH
+  {0xF9F9, 0x6841}, //16667 #CJK UNIFIED IDEOGRAPH
+  {0xF9FA, 0x6C86}, //16668 #CJK UNIFIED IDEOGRAPH
+  {0xF9FB, 0x6E2F}, //16669 #CJK UNIFIED IDEOGRAPH
+  {0xF9FC, 0x7F38}, //16670 #CJK UNIFIED IDEOGRAPH
+  {0xF9FD, 0x809B}, //16671 #CJK UNIFIED IDEOGRAPH
+  {0xF9FE, 0x822A}, //16672 #CJK UNIFIED IDEOGRAPH
+  {0xFAA1, 0xFA08}, //16673 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFAA2, 0xFA09}, //16674 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFAA3, 0x9805}, //16675 #CJK UNIFIED IDEOGRAPH
+  {0xFAA4, 0x4EA5}, //16676 #CJK UNIFIED IDEOGRAPH
+  {0xFAA5, 0x5055}, //16677 #CJK UNIFIED IDEOGRAPH
+  {0xFAA6, 0x54B3}, //16678 #CJK UNIFIED IDEOGRAPH
+  {0xFAA7, 0x5793}, //16679 #CJK UNIFIED IDEOGRAPH
+  {0xFAA8, 0x595A}, //16680 #CJK UNIFIED IDEOGRAPH
+  {0xFAA9, 0x5B69}, //16681 #CJK UNIFIED IDEOGRAPH
+  {0xFAAA, 0x5BB3}, //16682 #CJK UNIFIED IDEOGRAPH
+  {0xFAAB, 0x61C8}, //16683 #CJK UNIFIED IDEOGRAPH
+  {0xFAAC, 0x6977}, //16684 #CJK UNIFIED IDEOGRAPH
+  {0xFAAD, 0x6D77}, //16685 #CJK UNIFIED IDEOGRAPH
+  {0xFAAE, 0x7023}, //16686 #CJK UNIFIED IDEOGRAPH
+  {0xFAAF, 0x87F9}, //16687 #CJK UNIFIED IDEOGRAPH
+  {0xFAB0, 0x89E3}, //16688 #CJK UNIFIED IDEOGRAPH
+  {0xFAB1, 0x8A72}, //16689 #CJK UNIFIED IDEOGRAPH
+  {0xFAB2, 0x8AE7}, //16690 #CJK UNIFIED IDEOGRAPH
+  {0xFAB3, 0x9082}, //16691 #CJK UNIFIED IDEOGRAPH
+  {0xFAB4, 0x99ED}, //16692 #CJK UNIFIED IDEOGRAPH
+  {0xFAB5, 0x9AB8}, //16693 #CJK UNIFIED IDEOGRAPH
+  {0xFAB6, 0x52BE}, //16694 #CJK UNIFIED IDEOGRAPH
+  {0xFAB7, 0x6838}, //16695 #CJK UNIFIED IDEOGRAPH
+  {0xFAB8, 0x5016}, //16696 #CJK UNIFIED IDEOGRAPH
+  {0xFAB9, 0x5E78}, //16697 #CJK UNIFIED IDEOGRAPH
+  {0xFABA, 0x674F}, //16698 #CJK UNIFIED IDEOGRAPH
+  {0xFABB, 0x8347}, //16699 #CJK UNIFIED IDEOGRAPH
+  {0xFABC, 0x884C}, //16700 #CJK UNIFIED IDEOGRAPH
+  {0xFABD, 0x4EAB}, //16701 #CJK UNIFIED IDEOGRAPH
+  {0xFABE, 0x5411}, //16702 #CJK UNIFIED IDEOGRAPH
+  {0xFABF, 0x56AE}, //16703 #CJK UNIFIED IDEOGRAPH
+  {0xFAC0, 0x73E6}, //16704 #CJK UNIFIED IDEOGRAPH
+  {0xFAC1, 0x9115}, //16705 #CJK UNIFIED IDEOGRAPH
+  {0xFAC2, 0x97FF}, //16706 #CJK UNIFIED IDEOGRAPH
+  {0xFAC3, 0x9909}, //16707 #CJK UNIFIED IDEOGRAPH
+  {0xFAC4, 0x9957}, //16708 #CJK UNIFIED IDEOGRAPH
+  {0xFAC5, 0x9999}, //16709 #CJK UNIFIED IDEOGRAPH
+  {0xFAC6, 0x5653}, //16710 #CJK UNIFIED IDEOGRAPH
+  {0xFAC7, 0x589F}, //16711 #CJK UNIFIED IDEOGRAPH
+  {0xFAC8, 0x865B}, //16712 #CJK UNIFIED IDEOGRAPH
+  {0xFAC9, 0x8A31}, //16713 #CJK UNIFIED IDEOGRAPH
+  {0xFACA, 0x61B2}, //16714 #CJK UNIFIED IDEOGRAPH
+  {0xFACB, 0x6AF6}, //16715 #CJK UNIFIED IDEOGRAPH
+  {0xFACC, 0x737B}, //16716 #CJK UNIFIED IDEOGRAPH
+  {0xFACD, 0x8ED2}, //16717 #CJK UNIFIED IDEOGRAPH
+  {0xFACE, 0x6B47}, //16718 #CJK UNIFIED IDEOGRAPH
+  {0xFACF, 0x96AA}, //16719 #CJK UNIFIED IDEOGRAPH
+  {0xFAD0, 0x9A57}, //16720 #CJK UNIFIED IDEOGRAPH
+  {0xFAD1, 0x5955}, //16721 #CJK UNIFIED IDEOGRAPH
+  {0xFAD2, 0x7200}, //16722 #CJK UNIFIED IDEOGRAPH
+  {0xFAD3, 0x8D6B}, //16723 #CJK UNIFIED IDEOGRAPH
+  {0xFAD4, 0x9769}, //16724 #CJK UNIFIED IDEOGRAPH
+  {0xFAD5, 0x4FD4}, //16725 #CJK UNIFIED IDEOGRAPH
+  {0xFAD6, 0x5CF4}, //16726 #CJK UNIFIED IDEOGRAPH
+  {0xFAD7, 0x5F26}, //16727 #CJK UNIFIED IDEOGRAPH
+  {0xFAD8, 0x61F8}, //16728 #CJK UNIFIED IDEOGRAPH
+  {0xFAD9, 0x665B}, //16729 #CJK UNIFIED IDEOGRAPH
+  {0xFADA, 0x6CEB}, //16730 #CJK UNIFIED IDEOGRAPH
+  {0xFADB, 0x70AB}, //16731 #CJK UNIFIED IDEOGRAPH
+  {0xFADC, 0x7384}, //16732 #CJK UNIFIED IDEOGRAPH
+  {0xFADD, 0x73B9}, //16733 #CJK UNIFIED IDEOGRAPH
+  {0xFADE, 0x73FE}, //16734 #CJK UNIFIED IDEOGRAPH
+  {0xFADF, 0x7729}, //16735 #CJK UNIFIED IDEOGRAPH
+  {0xFAE0, 0x774D}, //16736 #CJK UNIFIED IDEOGRAPH
+  {0xFAE1, 0x7D43}, //16737 #CJK UNIFIED IDEOGRAPH
+  {0xFAE2, 0x7D62}, //16738 #CJK UNIFIED IDEOGRAPH
+  {0xFAE3, 0x7E23}, //16739 #CJK UNIFIED IDEOGRAPH
+  {0xFAE4, 0x8237}, //16740 #CJK UNIFIED IDEOGRAPH
+  {0xFAE5, 0x8852}, //16741 #CJK UNIFIED IDEOGRAPH
+  {0xFAE6, 0xFA0A}, //16742 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFAE7, 0x8CE2}, //16743 #CJK UNIFIED IDEOGRAPH
+  {0xFAE8, 0x9249}, //16744 #CJK UNIFIED IDEOGRAPH
+  {0xFAE9, 0x986F}, //16745 #CJK UNIFIED IDEOGRAPH
+  {0xFAEA, 0x5B51}, //16746 #CJK UNIFIED IDEOGRAPH
+  {0xFAEB, 0x7A74}, //16747 #CJK UNIFIED IDEOGRAPH
+  {0xFAEC, 0x8840}, //16748 #CJK UNIFIED IDEOGRAPH
+  {0xFAED, 0x9801}, //16749 #CJK UNIFIED IDEOGRAPH
+  {0xFAEE, 0x5ACC}, //16750 #CJK UNIFIED IDEOGRAPH
+  {0xFAEF, 0x4FE0}, //16751 #CJK UNIFIED IDEOGRAPH
+  {0xFAF0, 0x5354}, //16752 #CJK UNIFIED IDEOGRAPH
+  {0xFAF1, 0x593E}, //16753 #CJK UNIFIED IDEOGRAPH
+  {0xFAF2, 0x5CFD}, //16754 #CJK UNIFIED IDEOGRAPH
+  {0xFAF3, 0x633E}, //16755 #CJK UNIFIED IDEOGRAPH
+  {0xFAF4, 0x6D79}, //16756 #CJK UNIFIED IDEOGRAPH
+  {0xFAF5, 0x72F9}, //16757 #CJK UNIFIED IDEOGRAPH
+  {0xFAF6, 0x8105}, //16758 #CJK UNIFIED IDEOGRAPH
+  {0xFAF7, 0x8107}, //16759 #CJK UNIFIED IDEOGRAPH
+  {0xFAF8, 0x83A2}, //16760 #CJK UNIFIED IDEOGRAPH
+  {0xFAF9, 0x92CF}, //16761 #CJK UNIFIED IDEOGRAPH
+  {0xFAFA, 0x9830}, //16762 #CJK UNIFIED IDEOGRAPH
+  {0xFAFB, 0x4EA8}, //16763 #CJK UNIFIED IDEOGRAPH
+  {0xFAFC, 0x5144}, //16764 #CJK UNIFIED IDEOGRAPH
+  {0xFAFD, 0x5211}, //16765 #CJK UNIFIED IDEOGRAPH
+  {0xFAFE, 0x578B}, //16766 #CJK UNIFIED IDEOGRAPH
+  {0xFBA1, 0x5F62}, //16767 #CJK UNIFIED IDEOGRAPH
+  {0xFBA2, 0x6CC2}, //16768 #CJK UNIFIED IDEOGRAPH
+  {0xFBA3, 0x6ECE}, //16769 #CJK UNIFIED IDEOGRAPH
+  {0xFBA4, 0x7005}, //16770 #CJK UNIFIED IDEOGRAPH
+  {0xFBA5, 0x7050}, //16771 #CJK UNIFIED IDEOGRAPH
+  {0xFBA6, 0x70AF}, //16772 #CJK UNIFIED IDEOGRAPH
+  {0xFBA7, 0x7192}, //16773 #CJK UNIFIED IDEOGRAPH
+  {0xFBA8, 0x73E9}, //16774 #CJK UNIFIED IDEOGRAPH
+  {0xFBA9, 0x7469}, //16775 #CJK UNIFIED IDEOGRAPH
+  {0xFBAA, 0x834A}, //16776 #CJK UNIFIED IDEOGRAPH
+  {0xFBAB, 0x87A2}, //16777 #CJK UNIFIED IDEOGRAPH
+  {0xFBAC, 0x8861}, //16778 #CJK UNIFIED IDEOGRAPH
+  {0xFBAD, 0x9008}, //16779 #CJK UNIFIED IDEOGRAPH
+  {0xFBAE, 0x90A2}, //16780 #CJK UNIFIED IDEOGRAPH
+  {0xFBAF, 0x93A3}, //16781 #CJK UNIFIED IDEOGRAPH
+  {0xFBB0, 0x99A8}, //16782 #CJK UNIFIED IDEOGRAPH
+  {0xFBB1, 0x516E}, //16783 #CJK UNIFIED IDEOGRAPH
+  {0xFBB2, 0x5F57}, //16784 #CJK UNIFIED IDEOGRAPH
+  {0xFBB3, 0x60E0}, //16785 #CJK UNIFIED IDEOGRAPH
+  {0xFBB4, 0x6167}, //16786 #CJK UNIFIED IDEOGRAPH
+  {0xFBB5, 0x66B3}, //16787 #CJK UNIFIED IDEOGRAPH
+  {0xFBB6, 0x8559}, //16788 #CJK UNIFIED IDEOGRAPH
+  {0xFBB7, 0x8E4A}, //16789 #CJK UNIFIED IDEOGRAPH
+  {0xFBB8, 0x91AF}, //16790 #CJK UNIFIED IDEOGRAPH
+  {0xFBB9, 0x978B}, //16791 #CJK UNIFIED IDEOGRAPH
+  {0xFBBA, 0x4E4E}, //16792 #CJK UNIFIED IDEOGRAPH
+  {0xFBBB, 0x4E92}, //16793 #CJK UNIFIED IDEOGRAPH
+  {0xFBBC, 0x547C}, //16794 #CJK UNIFIED IDEOGRAPH
+  {0xFBBD, 0x58D5}, //16795 #CJK UNIFIED IDEOGRAPH
+  {0xFBBE, 0x58FA}, //16796 #CJK UNIFIED IDEOGRAPH
+  {0xFBBF, 0x597D}, //16797 #CJK UNIFIED IDEOGRAPH
+  {0xFBC0, 0x5CB5}, //16798 #CJK UNIFIED IDEOGRAPH
+  {0xFBC1, 0x5F27}, //16799 #CJK UNIFIED IDEOGRAPH
+  {0xFBC2, 0x6236}, //16800 #CJK UNIFIED IDEOGRAPH
+  {0xFBC3, 0x6248}, //16801 #CJK UNIFIED IDEOGRAPH
+  {0xFBC4, 0x660A}, //16802 #CJK UNIFIED IDEOGRAPH
+  {0xFBC5, 0x6667}, //16803 #CJK UNIFIED IDEOGRAPH
+  {0xFBC6, 0x6BEB}, //16804 #CJK UNIFIED IDEOGRAPH
+  {0xFBC7, 0x6D69}, //16805 #CJK UNIFIED IDEOGRAPH
+  {0xFBC8, 0x6DCF}, //16806 #CJK UNIFIED IDEOGRAPH
+  {0xFBC9, 0x6E56}, //16807 #CJK UNIFIED IDEOGRAPH
+  {0xFBCA, 0x6EF8}, //16808 #CJK UNIFIED IDEOGRAPH
+  {0xFBCB, 0x6F94}, //16809 #CJK UNIFIED IDEOGRAPH
+  {0xFBCC, 0x6FE0}, //16810 #CJK UNIFIED IDEOGRAPH
+  {0xFBCD, 0x6FE9}, //16811 #CJK UNIFIED IDEOGRAPH
+  {0xFBCE, 0x705D}, //16812 #CJK UNIFIED IDEOGRAPH
+  {0xFBCF, 0x72D0}, //16813 #CJK UNIFIED IDEOGRAPH
+  {0xFBD0, 0x7425}, //16814 #CJK UNIFIED IDEOGRAPH
+  {0xFBD1, 0x745A}, //16815 #CJK UNIFIED IDEOGRAPH
+  {0xFBD2, 0x74E0}, //16816 #CJK UNIFIED IDEOGRAPH
+  {0xFBD3, 0x7693}, //16817 #CJK UNIFIED IDEOGRAPH
+  {0xFBD4, 0x795C}, //16818 #CJK UNIFIED IDEOGRAPH
+  {0xFBD5, 0x7CCA}, //16819 #CJK UNIFIED IDEOGRAPH
+  {0xFBD6, 0x7E1E}, //16820 #CJK UNIFIED IDEOGRAPH
+  {0xFBD7, 0x80E1}, //16821 #CJK UNIFIED IDEOGRAPH
+  {0xFBD8, 0x82A6}, //16822 #CJK UNIFIED IDEOGRAPH
+  {0xFBD9, 0x846B}, //16823 #CJK UNIFIED IDEOGRAPH
+  {0xFBDA, 0x84BF}, //16824 #CJK UNIFIED IDEOGRAPH
+  {0xFBDB, 0x864E}, //16825 #CJK UNIFIED IDEOGRAPH
+  {0xFBDC, 0x865F}, //16826 #CJK UNIFIED IDEOGRAPH
+  {0xFBDD, 0x8774}, //16827 #CJK UNIFIED IDEOGRAPH
+  {0xFBDE, 0x8B77}, //16828 #CJK UNIFIED IDEOGRAPH
+  {0xFBDF, 0x8C6A}, //16829 #CJK UNIFIED IDEOGRAPH
+  {0xFBE0, 0x93AC}, //16830 #CJK UNIFIED IDEOGRAPH
+  {0xFBE1, 0x9800}, //16831 #CJK UNIFIED IDEOGRAPH
+  {0xFBE2, 0x9865}, //16832 #CJK UNIFIED IDEOGRAPH
+  {0xFBE3, 0x60D1}, //16833 #CJK UNIFIED IDEOGRAPH
+  {0xFBE4, 0x6216}, //16834 #CJK UNIFIED IDEOGRAPH
+  {0xFBE5, 0x9177}, //16835 #CJK UNIFIED IDEOGRAPH
+  {0xFBE6, 0x5A5A}, //16836 #CJK UNIFIED IDEOGRAPH
+  {0xFBE7, 0x660F}, //16837 #CJK UNIFIED IDEOGRAPH
+  {0xFBE8, 0x6DF7}, //16838 #CJK UNIFIED IDEOGRAPH
+  {0xFBE9, 0x6E3E}, //16839 #CJK UNIFIED IDEOGRAPH
+  {0xFBEA, 0x743F}, //16840 #CJK UNIFIED IDEOGRAPH
+  {0xFBEB, 0x9B42}, //16841 #CJK UNIFIED IDEOGRAPH
+  {0xFBEC, 0x5FFD}, //16842 #CJK UNIFIED IDEOGRAPH
+  {0xFBED, 0x60DA}, //16843 #CJK UNIFIED IDEOGRAPH
+  {0xFBEE, 0x7B0F}, //16844 #CJK UNIFIED IDEOGRAPH
+  {0xFBEF, 0x54C4}, //16845 #CJK UNIFIED IDEOGRAPH
+  {0xFBF0, 0x5F18}, //16846 #CJK UNIFIED IDEOGRAPH
+  {0xFBF1, 0x6C5E}, //16847 #CJK UNIFIED IDEOGRAPH
+  {0xFBF2, 0x6CD3}, //16848 #CJK UNIFIED IDEOGRAPH
+  {0xFBF3, 0x6D2A}, //16849 #CJK UNIFIED IDEOGRAPH
+  {0xFBF4, 0x70D8}, //16850 #CJK UNIFIED IDEOGRAPH
+  {0xFBF5, 0x7D05}, //16851 #CJK UNIFIED IDEOGRAPH
+  {0xFBF6, 0x8679}, //16852 #CJK UNIFIED IDEOGRAPH
+  {0xFBF7, 0x8A0C}, //16853 #CJK UNIFIED IDEOGRAPH
+  {0xFBF8, 0x9D3B}, //16854 #CJK UNIFIED IDEOGRAPH
+  {0xFBF9, 0x5316}, //16855 #CJK UNIFIED IDEOGRAPH
+  {0xFBFA, 0x548C}, //16856 #CJK UNIFIED IDEOGRAPH
+  {0xFBFB, 0x5B05}, //16857 #CJK UNIFIED IDEOGRAPH
+  {0xFBFC, 0x6A3A}, //16858 #CJK UNIFIED IDEOGRAPH
+  {0xFBFD, 0x706B}, //16859 #CJK UNIFIED IDEOGRAPH
+  {0xFBFE, 0x7575}, //16860 #CJK UNIFIED IDEOGRAPH
+  {0xFCA1, 0x798D}, //16861 #CJK UNIFIED IDEOGRAPH
+  {0xFCA2, 0x79BE}, //16862 #CJK UNIFIED IDEOGRAPH
+  {0xFCA3, 0x82B1}, //16863 #CJK UNIFIED IDEOGRAPH
+  {0xFCA4, 0x83EF}, //16864 #CJK UNIFIED IDEOGRAPH
+  {0xFCA5, 0x8A71}, //16865 #CJK UNIFIED IDEOGRAPH
+  {0xFCA6, 0x8B41}, //16866 #CJK UNIFIED IDEOGRAPH
+  {0xFCA7, 0x8CA8}, //16867 #CJK UNIFIED IDEOGRAPH
+  {0xFCA8, 0x9774}, //16868 #CJK UNIFIED IDEOGRAPH
+  {0xFCA9, 0xFA0B}, //16869 #CJK COMPATIBILITY IDEOGRAPH
+  {0xFCAA, 0x64F4}, //16870 #CJK UNIFIED IDEOGRAPH
+  {0xFCAB, 0x652B}, //16871 #CJK UNIFIED IDEOGRAPH
+  {0xFCAC, 0x78BA}, //16872 #CJK UNIFIED IDEOGRAPH
+  {0xFCAD, 0x78BB}, //16873 #CJK UNIFIED IDEOGRAPH
+  {0xFCAE, 0x7A6B}, //16874 #CJK UNIFIED IDEOGRAPH
+  {0xFCAF, 0x4E38}, //16875 #CJK UNIFIED IDEOGRAPH
+  {0xFCB0, 0x559A}, //16876 #CJK UNIFIED IDEOGRAPH
+  {0xFCB1, 0x5950}, //16877 #CJK UNIFIED IDEOGRAPH
+  {0xFCB2, 0x5BA6}, //16878 #CJK UNIFIED IDEOGRAPH
+  {0xFCB3, 0x5E7B}, //16879 #CJK UNIFIED IDEOGRAPH
+  {0xFCB4, 0x60A3}, //16880 #CJK UNIFIED IDEOGRAPH
+  {0xFCB5, 0x63DB}, //16881 #CJK UNIFIED IDEOGRAPH
+  {0xFCB6, 0x6B61}, //16882 #CJK UNIFIED IDEOGRAPH
+  {0xFCB7, 0x6665}, //16883 #CJK UNIFIED IDEOGRAPH
+  {0xFCB8, 0x6853}, //16884 #CJK UNIFIED IDEOGRAPH
+  {0xFCB9, 0x6E19}, //16885 #CJK UNIFIED IDEOGRAPH
+  {0xFCBA, 0x7165}, //16886 #CJK UNIFIED IDEOGRAPH
+  {0xFCBB, 0x74B0}, //16887 #CJK UNIFIED IDEOGRAPH
+  {0xFCBC, 0x7D08}, //16888 #CJK UNIFIED IDEOGRAPH
+  {0xFCBD, 0x9084}, //16889 #CJK UNIFIED IDEOGRAPH
+  {0xFCBE, 0x9A69}, //16890 #CJK UNIFIED IDEOGRAPH
+  {0xFCBF, 0x9C25}, //16891 #CJK UNIFIED IDEOGRAPH
+  {0xFCC0, 0x6D3B}, //16892 #CJK UNIFIED IDEOGRAPH
+  {0xFCC1, 0x6ED1}, //16893 #CJK UNIFIED IDEOGRAPH
+  {0xFCC2, 0x733E}, //16894 #CJK UNIFIED IDEOGRAPH
+  {0xFCC3, 0x8C41}, //16895 #CJK UNIFIED IDEOGRAPH
+  {0xFCC4, 0x95CA}, //16896 #CJK UNIFIED IDEOGRAPH
+  {0xFCC5, 0x51F0}, //16897 #CJK UNIFIED IDEOGRAPH
+  {0xFCC6, 0x5E4C}, //16898 #CJK UNIFIED IDEOGRAPH
+  {0xFCC7, 0x5FA8}, //16899 #CJK UNIFIED IDEOGRAPH
+  {0xFCC8, 0x604D}, //16900 #CJK UNIFIED IDEOGRAPH
+  {0xFCC9, 0x60F6}, //16901 #CJK UNIFIED IDEOGRAPH
+  {0xFCCA, 0x6130}, //16902 #CJK UNIFIED IDEOGRAPH
+  {0xFCCB, 0x614C}, //16903 #CJK UNIFIED IDEOGRAPH
+  {0xFCCC, 0x6643}, //16904 #CJK UNIFIED IDEOGRAPH
+  {0xFCCD, 0x6644}, //16905 #CJK UNIFIED IDEOGRAPH
+  {0xFCCE, 0x69A5}, //16906 #CJK UNIFIED IDEOGRAPH
+  {0xFCCF, 0x6CC1}, //16907 #CJK UNIFIED IDEOGRAPH
+  {0xFCD0, 0x6E5F}, //16908 #CJK UNIFIED IDEOGRAPH
+  {0xFCD1, 0x6EC9}, //16909 #CJK UNIFIED IDEOGRAPH
+  {0xFCD2, 0x6F62}, //16910 #CJK UNIFIED IDEOGRAPH
+  {0xFCD3, 0x714C}, //16911 #CJK UNIFIED IDEOGRAPH
+  {0xFCD4, 0x749C}, //16912 #CJK UNIFIED IDEOGRAPH
+  {0xFCD5, 0x7687}, //16913 #CJK UNIFIED IDEOGRAPH
+  {0xFCD6, 0x7BC1}, //16914 #CJK UNIFIED IDEOGRAPH
+  {0xFCD7, 0x7C27}, //16915 #CJK UNIFIED IDEOGRAPH
+  {0xFCD8, 0x8352}, //16916 #CJK UNIFIED IDEOGRAPH
+  {0xFCD9, 0x8757}, //16917 #CJK UNIFIED IDEOGRAPH
+  {0xFCDA, 0x9051}, //16918 #CJK UNIFIED IDEOGRAPH
+  {0xFCDB, 0x968D}, //16919 #CJK UNIFIED IDEOGRAPH
+  {0xFCDC, 0x9EC3}, //16920 #CJK UNIFIED IDEOGRAPH
+  {0xFCDD, 0x532F}, //16921 #CJK UNIFIED IDEOGRAPH
+  {0xFCDE, 0x56DE}, //16922 #CJK UNIFIED IDEOGRAPH
+  {0xFCDF, 0x5EFB}, //16923 #CJK UNIFIED IDEOGRAPH
+  {0xFCE0, 0x5F8A}, //16924 #CJK UNIFIED IDEOGRAPH
+  {0xFCE1, 0x6062}, //16925 #CJK UNIFIED IDEOGRAPH
+  {0xFCE2, 0x6094}, //16926 #CJK UNIFIED IDEOGRAPH
+  {0xFCE3, 0x61F7}, //16927 #CJK UNIFIED IDEOGRAPH
+  {0xFCE4, 0x6666}, //16928 #CJK UNIFIED IDEOGRAPH
+  {0xFCE5, 0x6703}, //16929 #CJK UNIFIED IDEOGRAPH
+  {0xFCE6, 0x6A9C}, //16930 #CJK UNIFIED IDEOGRAPH
+  {0xFCE7, 0x6DEE}, //16931 #CJK UNIFIED IDEOGRAPH
+  {0xFCE8, 0x6FAE}, //16932 #CJK UNIFIED IDEOGRAPH
+  {0xFCE9, 0x7070}, //16933 #CJK UNIFIED IDEOGRAPH
+  {0xFCEA, 0x736A}, //16934 #CJK UNIFIED IDEOGRAPH
+  {0xFCEB, 0x7E6A}, //16935 #CJK UNIFIED IDEOGRAPH
+  {0xFCEC, 0x81BE}, //16936 #CJK UNIFIED IDEOGRAPH
+  {0xFCED, 0x8334}, //16937 #CJK UNIFIED IDEOGRAPH
+  {0xFCEE, 0x86D4}, //16938 #CJK UNIFIED IDEOGRAPH
+  {0xFCEF, 0x8AA8}, //16939 #CJK UNIFIED IDEOGRAPH
+  {0xFCF0, 0x8CC4}, //16940 #CJK UNIFIED IDEOGRAPH
+  {0xFCF1, 0x5283}, //16941 #CJK UNIFIED IDEOGRAPH
+  {0xFCF2, 0x7372}, //16942 #CJK UNIFIED IDEOGRAPH
+  {0xFCF3, 0x5B96}, //16943 #CJK UNIFIED IDEOGRAPH
+  {0xFCF4, 0x6A6B}, //16944 #CJK UNIFIED IDEOGRAPH
+  {0xFCF5, 0x9404}, //16945 #CJK UNIFIED IDEOGRAPH
+  {0xFCF6, 0x54EE}, //16946 #CJK UNIFIED IDEOGRAPH
+  {0xFCF7, 0x5686}, //16947 #CJK UNIFIED IDEOGRAPH
+  {0xFCF8, 0x5B5D}, //16948 #CJK UNIFIED IDEOGRAPH
+  {0xFCF9, 0x6548}, //16949 #CJK UNIFIED IDEOGRAPH
+  {0xFCFA, 0x6585}, //16950 #CJK UNIFIED IDEOGRAPH
+  {0xFCFB, 0x66C9}, //16951 #CJK UNIFIED IDEOGRAPH
+  {0xFCFC, 0x689F}, //16952 #CJK UNIFIED IDEOGRAPH
+  {0xFCFD, 0x6D8D}, //16953 #CJK UNIFIED IDEOGRAPH
+  {0xFCFE, 0x6DC6}, //16954 #CJK UNIFIED IDEOGRAPH
+  {0xFDA1, 0x723B}, //16955 #CJK UNIFIED IDEOGRAPH
+  {0xFDA2, 0x80B4}, //16956 #CJK UNIFIED IDEOGRAPH
+  {0xFDA3, 0x9175}, //16957 #CJK UNIFIED IDEOGRAPH
+  {0xFDA4, 0x9A4D}, //16958 #CJK UNIFIED IDEOGRAPH
+  {0xFDA5, 0x4FAF}, //16959 #CJK UNIFIED IDEOGRAPH
+  {0xFDA6, 0x5019}, //16960 #CJK UNIFIED IDEOGRAPH
+  {0xFDA7, 0x539A}, //16961 #CJK UNIFIED IDEOGRAPH
+  {0xFDA8, 0x540E}, //16962 #CJK UNIFIED IDEOGRAPH
+  {0xFDA9, 0x543C}, //16963 #CJK UNIFIED IDEOGRAPH
+  {0xFDAA, 0x5589}, //16964 #CJK UNIFIED IDEOGRAPH
+  {0xFDAB, 0x55C5}, //16965 #CJK UNIFIED IDEOGRAPH
+  {0xFDAC, 0x5E3F}, //16966 #CJK UNIFIED IDEOGRAPH
+  {0xFDAD, 0x5F8C}, //16967 #CJK UNIFIED IDEOGRAPH
+  {0xFDAE, 0x673D}, //16968 #CJK UNIFIED IDEOGRAPH
+  {0xFDAF, 0x7166}, //16969 #CJK UNIFIED IDEOGRAPH
+  {0xFDB0, 0x73DD}, //16970 #CJK UNIFIED IDEOGRAPH
+  {0xFDB1, 0x9005}, //16971 #CJK UNIFIED IDEOGRAPH
+  {0xFDB2, 0x52DB}, //16972 #CJK UNIFIED IDEOGRAPH
+  {0xFDB3, 0x52F3}, //16973 #CJK UNIFIED IDEOGRAPH
+  {0xFDB4, 0x5864}, //16974 #CJK UNIFIED IDEOGRAPH
+  {0xFDB5, 0x58CE}, //16975 #CJK UNIFIED IDEOGRAPH
+  {0xFDB6, 0x7104}, //16976 #CJK UNIFIED IDEOGRAPH
+  {0xFDB7, 0x718F}, //16977 #CJK UNIFIED IDEOGRAPH
+  {0xFDB8, 0x71FB}, //16978 #CJK UNIFIED IDEOGRAPH
+  {0xFDB9, 0x85B0}, //16979 #CJK UNIFIED IDEOGRAPH
+  {0xFDBA, 0x8A13}, //16980 #CJK UNIFIED IDEOGRAPH
+  {0xFDBB, 0x6688}, //16981 #CJK UNIFIED IDEOGRAPH
+  {0xFDBC, 0x85A8}, //16982 #CJK UNIFIED IDEOGRAPH
+  {0xFDBD, 0x55A7}, //16983 #CJK UNIFIED IDEOGRAPH
+  {0xFDBE, 0x6684}, //16984 #CJK UNIFIED IDEOGRAPH
+  {0xFDBF, 0x714A}, //16985 #CJK UNIFIED IDEOGRAPH
+  {0xFDC0, 0x8431}, //16986 #CJK UNIFIED IDEOGRAPH
+  {0xFDC1, 0x5349}, //16987 #CJK UNIFIED IDEOGRAPH
+  {0xFDC2, 0x5599}, //16988 #CJK UNIFIED IDEOGRAPH
+  {0xFDC3, 0x6BC1}, //16989 #CJK UNIFIED IDEOGRAPH
+  {0xFDC4, 0x5F59}, //16990 #CJK UNIFIED IDEOGRAPH
+  {0xFDC5, 0x5FBD}, //16991 #CJK UNIFIED IDEOGRAPH
+  {0xFDC6, 0x63EE}, //16992 #CJK UNIFIED IDEOGRAPH
+  {0xFDC7, 0x6689}, //16993 #CJK UNIFIED IDEOGRAPH
+  {0xFDC8, 0x7147}, //16994 #CJK UNIFIED IDEOGRAPH
+  {0xFDC9, 0x8AF1}, //16995 #CJK UNIFIED IDEOGRAPH
+  {0xFDCA, 0x8F1D}, //16996 #CJK UNIFIED IDEOGRAPH
+  {0xFDCB, 0x9EBE}, //16997 #CJK UNIFIED IDEOGRAPH
+  {0xFDCC, 0x4F11}, //16998 #CJK UNIFIED IDEOGRAPH
+  {0xFDCD, 0x643A}, //16999 #CJK UNIFIED IDEOGRAPH
+  {0xFDCE, 0x70CB}, //17000 #CJK UNIFIED IDEOGRAPH
+  {0xFDCF, 0x7566}, //17001 #CJK UNIFIED IDEOGRAPH
+  {0xFDD0, 0x8667}, //17002 #CJK UNIFIED IDEOGRAPH
+  {0xFDD1, 0x6064}, //17003 #CJK UNIFIED IDEOGRAPH
+  {0xFDD2, 0x8B4E}, //17004 #CJK UNIFIED IDEOGRAPH
+  {0xFDD3, 0x9DF8}, //17005 #CJK UNIFIED IDEOGRAPH
+  {0xFDD4, 0x5147}, //17006 #CJK UNIFIED IDEOGRAPH
+  {0xFDD5, 0x51F6}, //17007 #CJK UNIFIED IDEOGRAPH
+  {0xFDD6, 0x5308}, //17008 #CJK UNIFIED IDEOGRAPH
+  {0xFDD7, 0x6D36}, //17009 #CJK UNIFIED IDEOGRAPH
+  {0xFDD8, 0x80F8}, //17010 #CJK UNIFIED IDEOGRAPH
+  {0xFDD9, 0x9ED1}, //17011 #CJK UNIFIED IDEOGRAPH
+  {0xFDDA, 0x6615}, //17012 #CJK UNIFIED IDEOGRAPH
+  {0xFDDB, 0x6B23}, //17013 #CJK UNIFIED IDEOGRAPH
+  {0xFDDC, 0x7098}, //17014 #CJK UNIFIED IDEOGRAPH
+  {0xFDDD, 0x75D5}, //17015 #CJK UNIFIED IDEOGRAPH
+  {0xFDDE, 0x5403}, //17016 #CJK UNIFIED IDEOGRAPH
+  {0xFDDF, 0x5C79}, //17017 #CJK UNIFIED IDEOGRAPH
+  {0xFDE0, 0x7D07}, //17018 #CJK UNIFIED IDEOGRAPH
+  {0xFDE1, 0x8A16}, //17019 #CJK UNIFIED IDEOGRAPH
+  {0xFDE2, 0x6B20}, //17020 #CJK UNIFIED IDEOGRAPH
+  {0xFDE3, 0x6B3D}, //17021 #CJK UNIFIED IDEOGRAPH
+  {0xFDE4, 0x6B46}, //17022 #CJK UNIFIED IDEOGRAPH
+  {0xFDE5, 0x5438}, //17023 #CJK UNIFIED IDEOGRAPH
+  {0xFDE6, 0x6070}, //17024 #CJK UNIFIED IDEOGRAPH
+  {0xFDE7, 0x6D3D}, //17025 #CJK UNIFIED IDEOGRAPH
+  {0xFDE8, 0x7FD5}, //17026 #CJK UNIFIED IDEOGRAPH
+  {0xFDE9, 0x8208}, //17027 #CJK UNIFIED IDEOGRAPH
+  {0xFDEA, 0x50D6}, //17028 #CJK UNIFIED IDEOGRAPH
+  {0xFDEB, 0x51DE}, //17029 #CJK UNIFIED IDEOGRAPH
+  {0xFDEC, 0x559C}, //17030 #CJK UNIFIED IDEOGRAPH
+  {0xFDED, 0x566B}, //17031 #CJK UNIFIED IDEOGRAPH
+  {0xFDEE, 0x56CD}, //17032 #CJK UNIFIED IDEOGRAPH
+  {0xFDEF, 0x59EC}, //17033 #CJK UNIFIED IDEOGRAPH
+  {0xFDF0, 0x5B09}, //17034 #CJK UNIFIED IDEOGRAPH
+  {0xFDF1, 0x5E0C}, //17035 #CJK UNIFIED IDEOGRAPH
+  {0xFDF2, 0x6199}, //17036 #CJK UNIFIED IDEOGRAPH
+  {0xFDF3, 0x6198}, //17037 #CJK UNIFIED IDEOGRAPH
+  {0xFDF4, 0x6231}, //17038 #CJK UNIFIED IDEOGRAPH
+  {0xFDF5, 0x665E}, //17039 #CJK UNIFIED IDEOGRAPH
+  {0xFDF6, 0x66E6}, //17040 #CJK UNIFIED IDEOGRAPH
+  {0xFDF7, 0x7199}, //17041 #CJK UNIFIED IDEOGRAPH
+  {0xFDF8, 0x71B9}, //17042 #CJK UNIFIED IDEOGRAPH
+  {0xFDF9, 0x71BA}, //17043 #CJK UNIFIED IDEOGRAPH
+  {0xFDFA, 0x72A7}, //17044 #CJK UNIFIED IDEOGRAPH
+  {0xFDFB, 0x79A7}, //17045 #CJK UNIFIED IDEOGRAPH
+  {0xFDFC, 0x7A00}, //17046 #CJK UNIFIED IDEOGRAPH
+  {0xFDFD, 0x7FB2}, //17047 #CJK UNIFIED IDEOGRAPH
+  {0xFDFE, 0x8A70}, //17048 #CJK UNIFIED IDEOGRAPH
+};
+
+#endif // DRW_CPTABLE949_H
diff --git a/src/app/dwg/libdxfrw/intern/drw_cptable950.h b/src/app/dwg/libdxfrw/intern/drw_cptable950.h
new file mode 100644
index 0000000..9a1ae3c
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/drw_cptable950.h
@@ -0,0 +1,13657 @@
+#ifndef DRW_CPTABLE950_H
+#define DRW_CPTABLE950_H
+
+//Chinese (Taiwan, Hong Kong SAR)
+
+//first entry in this table are 0x80
+#define CPOFFSET950 0x80
+#define CPLENGHT950 13503
+#define NOTFOUND950 0x003F
+
+//Table 950 one byte
+static const int DRW_Table950[1] =
+{
+};
+
+//Table 950 lead byte
+//pairs of start/end in DRW_DoubleTable950
+static const int DRW_LeadTable950[] =
+{
+  0, //1#DBCS LEAD BYTE 0x81, empty
+  0, //2#DBCS LEAD BYTE 0x82, empty
+  0, //3#DBCS LEAD BYTE 0x83, empty
+  0, //4#DBCS LEAD BYTE 0x84, empty
+  0, //5#DBCS LEAD BYTE 0x85, empty
+  0, //6#DBCS LEAD BYTE 0x86, empty
+  0, //7#DBCS LEAD BYTE 0x87, empty
+  0, //8#DBCS LEAD BYTE 0x88, empty
+  0, //9#DBCS LEAD BYTE 0x89, empty
+  0, //10#DBCS LEAD BYTE 0x8A, empty
+  0, //11#DBCS LEAD BYTE 0x8B, empty
+  0, //12#DBCS LEAD BYTE 0x8C, empty
+  0, //13#DBCS LEAD BYTE 0x8D, empty
+  0, //14#DBCS LEAD BYTE 0x8E, empty
+  0, //15#DBCS LEAD BYTE 0x8F, empty
+  0, //16#DBCS LEAD BYTE 0x90, empty
+  0, //17#DBCS LEAD BYTE 0x91, empty
+  0, //18#DBCS LEAD BYTE 0x92, empty
+  0, //19#DBCS LEAD BYTE 0x93, empty
+  0, //20#DBCS LEAD BYTE 0x94, empty
+  0, //21#DBCS LEAD BYTE 0x95, empty
+  0, //22#DBCS LEAD BYTE 0x96, empty
+  0, //23#DBCS LEAD BYTE 0x97, empty
+  0, //24#DBCS LEAD BYTE 0x98, empty
+  0, //25#DBCS LEAD BYTE 0x99, empty
+  0, //26#DBCS LEAD BYTE 0x9A, empty
+  0, //27#DBCS LEAD BYTE 0x9B, empty
+  0, //28#DBCS LEAD BYTE 0x9C, empty
+  0, //29#DBCS LEAD BYTE 0x9D, empty
+  0, //30#DBCS LEAD BYTE 0x9E, empty
+  0, //31#DBCS LEAD BYTE 0x9F, empty
+  0, //32#DBCS LEAD BYTE 0xA0, empty
+  0, //33#DBCS LEAD BYTE 0xA1
+  157, //34#DBCS LEAD BYTE 0xA2
+  314, //35#DBCS LEAD BYTE 0xA3
+  409, //36#DBCS LEAD BYTE 0xA4
+  566, //37#DBCS LEAD BYTE 0xA5
+  723, //38#DBCS LEAD BYTE 0xA6
+  880, //39#DBCS LEAD BYTE 0xA7
+  1037, //40#DBCS LEAD BYTE 0xA8
+  1194, //41#DBCS LEAD BYTE 0xA9
+  1351, //42#DBCS LEAD BYTE 0xAA
+  1508, //43#DBCS LEAD BYTE 0xAB
+  1665, //44#DBCS LEAD BYTE 0xAC
+  1822, //45#DBCS LEAD BYTE 0xAD
+  1979, //46#DBCS LEAD BYTE 0xAE
+  2136, //47#DBCS LEAD BYTE 0xAF
+  2293, //48#DBCS LEAD BYTE 0xB0
+  2450, //49#DBCS LEAD BYTE 0xB1
+  2607, //50#DBCS LEAD BYTE 0xB2
+  2764, //51#DBCS LEAD BYTE 0xB3
+  2921, //52#DBCS LEAD BYTE 0xB4
+  3078, //53#DBCS LEAD BYTE 0xB5
+  3235, //54#DBCS LEAD BYTE 0xB6
+  3392, //55#DBCS LEAD BYTE 0xB7
+  3549, //56#DBCS LEAD BYTE 0xB8
+  3706, //57#DBCS LEAD BYTE 0xB9
+  3863, //58#DBCS LEAD BYTE 0xBA
+  4020, //59#DBCS LEAD BYTE 0xBB
+  4177, //60#DBCS LEAD BYTE 0xBC
+  4334, //61#DBCS LEAD BYTE 0xBD
+  4491, //62#DBCS LEAD BYTE 0xBE
+  4648, //63#DBCS LEAD BYTE 0xBF
+  4805, //64#DBCS LEAD BYTE 0xC0
+  4962, //65#DBCS LEAD BYTE 0xC1
+  5119, //66#DBCS LEAD BYTE 0xC2
+  5276, //67#DBCS LEAD BYTE 0xC3
+  5443, //68#DBCS LEAD BYTE 0xC4
+  5590, //69#DBCS LEAD BYTE 0xC5
+  5747, //70#DBCS LEAD BYTE 0xC6
+  5810, //71#DBCS LEAD BYTE 0xC7, empty
+  5810, //72#DBCS LEAD BYTE 0xC8, empty
+  5810, //73#DBCS LEAD BYTE 0xC9
+  5967, //74#DBCS LEAD BYTE 0xCA
+  6124, //75#DBCS LEAD BYTE 0xCB
+  6281, //76#DBCS LEAD BYTE 0xCC
+  6438, //77#DBCS LEAD BYTE 0xCD
+  6595, //78#DBCS LEAD BYTE 0xCE
+  6752, //79#DBCS LEAD BYTE 0xCF
+  6909, //80#DBCS LEAD BYTE 0xD0
+  7066, //81#DBCS LEAD BYTE 0xD1
+  7223, //82#DBCS LEAD BYTE 0xD2
+  7380, //83#DBCS LEAD BYTE 0xD3
+  7537, //84#DBCS LEAD BYTE 0xD4
+  7694, //85#DBCS LEAD BYTE 0xD5
+  7851, //86#DBCS LEAD BYTE 0xD6
+  8008, //87#DBCS LEAD BYTE 0xD7
+  8165, //88#DBCS LEAD BYTE 0xD8
+  8322, //89#DBCS LEAD BYTE 0xD9
+  8479, //90#DBCS LEAD BYTE 0xDA
+  8636, //91#DBCS LEAD BYTE 0xDB
+  8793, //92#DBCS LEAD BYTE 0xDC
+  8950, //93#DBCS LEAD BYTE 0xDD
+  9107, //94#DBCS LEAD BYTE 0xDE
+  9264, //95#DBCS LEAD BYTE 0xDF
+  9421, //96#DBCS LEAD BYTE 0xE0
+  9578, //97#DBCS LEAD BYTE 0xE1
+  9735, //98#DBCS LEAD BYTE 0xE2
+  9892, //99#DBCS LEAD BYTE 0xE3
+  10049, //100#DBCS LEAD BYTE 0xE4
+  10206, //101#DBCS LEAD BYTE 0xE5
+  10363, //102#DBCS LEAD BYTE 0xE6
+  10520, //103#DBCS LEAD BYTE 0xE7
+  10677, //104#DBCS LEAD BYTE 0xE8
+  10834, //105#DBCS LEAD BYTE 0xE9
+  10991, //106#DBCS LEAD BYTE 0xEA
+  11148, //107#DBCS LEAD BYTE 0xEB
+  11305, //108#DBCS LEAD BYTE 0xEC
+  11462, //109#DBCS LEAD BYTE 0xED
+  11619, //110#DBCS LEAD BYTE 0xEE
+  11776, //111#DBCS LEAD BYTE 0xEF
+  11933, //112#DBCS LEAD BYTE 0xF0
+  12090, //113#DBCS LEAD BYTE 0xF1
+  12247, //114#DBCS LEAD BYTE 0xF2
+  12404, //115#DBCS LEAD BYTE 0xF3
+  12561, //116#DBCS LEAD BYTE 0xF4
+  12718, //117#DBCS LEAD BYTE 0xF5
+  12875, //118#DBCS LEAD BYTE 0xF6
+  13032, //119#DBCS LEAD BYTE 0xF7
+  13189, //120#DBCS LEAD BYTE 0xF8
+  13346, //121#DBCS LEAD BYTE 0xF9
+  13502, //122#DBCS LEAD BYTE 0xFA, empty
+  13502, //123#DBCS LEAD BYTE 0xFB, empty
+  13502, //124#DBCS LEAD BYTE 0xFC, empty
+  13502, //125#DBCS LEAD BYTE 0xFD, empty
+  13502, //126#DBCS LEAD BYTE 0xFE, empty
+  13502, //127#UNDEFINED 0xFF, END OF TABLE
+};
+
+//Table 950 tail byte
+static const int DRW_DoubleTable950[][2] =
+{
+  {0xA140, 0x3000}, //1 #IDEOGRAPHIC SPACE
+  {0xA141, 0xFF0C}, //2 #FULLWIDTH COMMA
+  {0xA142, 0x3001}, //3 #IDEOGRAPHIC COMMA
+  {0xA143, 0x3002}, //4 #IDEOGRAPHIC FULL STOP
+  {0xA144, 0xFF0E}, //5 #FULLWIDTH FULL STOP
+  {0xA145, 0x2027}, //6 #HYPHENATION POINT
+  {0xA146, 0xFF1B}, //7 #FULLWIDTH SEMICOLON
+  {0xA147, 0xFF1A}, //8 #FULLWIDTH COLON
+  {0xA148, 0xFF1F}, //9 #FULLWIDTH QUESTION MARK
+  {0xA149, 0xFF01}, //10 #FULLWIDTH EXCLAMATION MARK
+  {0xA14A, 0xFE30}, //11 #PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+  {0xA14B, 0x2026}, //12 #HORIZONTAL ELLIPSIS
+  {0xA14C, 0x2025}, //13 #TWO DOT LEADER
+  {0xA14D, 0xFE50}, //14 #SMALL COMMA
+  {0xA14E, 0xFE51}, //15 #SMALL IDEOGRAPHIC COMMA
+  {0xA14F, 0xFE52}, //16 #SMALL FULL STOP
+  {0xA150, 0x00B7}, //17 #MIDDLE DOT
+  {0xA151, 0xFE54}, //18 #SMALL SEMICOLON
+  {0xA152, 0xFE55}, //19 #SMALL COLON
+  {0xA153, 0xFE56}, //20 #SMALL QUESTION MARK
+  {0xA154, 0xFE57}, //21 #SMALL EXCLAMATION MARK
+  {0xA155, 0xFF5C}, //22 #FULLWIDTH VERTICAL LINE
+  {0xA156, 0x2013}, //23 #EN DASH
+  {0xA157, 0xFE31}, //24 #PRESENTATION FORM FOR VERTICAL EM DASH
+  {0xA158, 0x2014}, //25 #EM DASH
+  {0xA159, 0xFE33}, //26 #PRESENTATION FORM FOR VERTICAL LOW LINE
+  {0xA15A, 0x2574}, //27 #BOX DRAWINGS LIGHT LEFT
+  {0xA15B, 0xFE34}, //28 #PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
+  {0xA15C, 0xFE4F}, //29 #WAVY LOW LINE
+  {0xA15D, 0xFF08}, //30 #FULLWIDTH LEFT PARENTHESIS
+  {0xA15E, 0xFF09}, //31 #FULLWIDTH RIGHT PARENTHESIS
+  {0xA15F, 0xFE35}, //32 #PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+  {0xA160, 0xFE36}, //33 #PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+  {0xA161, 0xFF5B}, //34 #FULLWIDTH LEFT CURLY BRACKET
+  {0xA162, 0xFF5D}, //35 #FULLWIDTH RIGHT CURLY BRACKET
+  {0xA163, 0xFE37}, //36 #PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+  {0xA164, 0xFE38}, //37 #PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+  {0xA165, 0x3014}, //38 #LEFT TORTOISE SHELL BRACKET
+  {0xA166, 0x3015}, //39 #RIGHT TORTOISE SHELL BRACKET
+  {0xA167, 0xFE39}, //40 #PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+  {0xA168, 0xFE3A}, //41 #PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+  {0xA169, 0x3010}, //42 #LEFT BLACK LENTICULAR BRACKET
+  {0xA16A, 0x3011}, //43 #RIGHT BLACK LENTICULAR BRACKET
+  {0xA16B, 0xFE3B}, //44 #PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+  {0xA16C, 0xFE3C}, //45 #PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+  {0xA16D, 0x300A}, //46 #LEFT DOUBLE ANGLE BRACKET
+  {0xA16E, 0x300B}, //47 #RIGHT DOUBLE ANGLE BRACKET
+  {0xA16F, 0xFE3D}, //48 #PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+  {0xA170, 0xFE3E}, //49 #PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+  {0xA171, 0x3008}, //50 #LEFT ANGLE BRACKET
+  {0xA172, 0x3009}, //51 #RIGHT ANGLE BRACKET
+  {0xA173, 0xFE3F}, //52 #PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+  {0xA174, 0xFE40}, //53 #PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+  {0xA175, 0x300C}, //54 #LEFT CORNER BRACKET
+  {0xA176, 0x300D}, //55 #RIGHT CORNER BRACKET
+  {0xA177, 0xFE41}, //56 #PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+  {0xA178, 0xFE42}, //57 #PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+  {0xA179, 0x300E}, //58 #LEFT WHITE CORNER BRACKET
+  {0xA17A, 0x300F}, //59 #RIGHT WHITE CORNER BRACKET
+  {0xA17B, 0xFE43}, //60 #PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+  {0xA17C, 0xFE44}, //61 #PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+  {0xA17D, 0xFE59}, //62 #SMALL LEFT PARENTHESIS
+  {0xA17E, 0xFE5A}, //63 #SMALL RIGHT PARENTHESIS
+  {0xA1A1, 0xFE5B}, //64 #SMALL LEFT CURLY BRACKET
+  {0xA1A2, 0xFE5C}, //65 #SMALL RIGHT CURLY BRACKET
+  {0xA1A3, 0xFE5D}, //66 #SMALL LEFT TORTOISE SHELL BRACKET
+  {0xA1A4, 0xFE5E}, //67 #SMALL RIGHT TORTOISE SHELL BRACKET
+  {0xA1A5, 0x2018}, //68 #LEFT SINGLE QUOTATION MARK
+  {0xA1A6, 0x2019}, //69 #RIGHT SINGLE QUOTATION MARK
+  {0xA1A7, 0x201C}, //70 #LEFT DOUBLE QUOTATION MARK
+  {0xA1A8, 0x201D}, //71 #RIGHT DOUBLE QUOTATION MARK
+  {0xA1A9, 0x301D}, //72 #REVERSED DOUBLE PRIME QUOTATION MARK
+  {0xA1AA, 0x301E}, //73 #DOUBLE PRIME QUOTATION MARK
+  {0xA1AB, 0x2035}, //74 #REVERSED PRIME
+  {0xA1AC, 0x2032}, //75 #PRIME
+  {0xA1AD, 0xFF03}, //76 #FULLWIDTH NUMBER SIGN
+  {0xA1AE, 0xFF06}, //77 #FULLWIDTH AMPERSAND
+  {0xA1AF, 0xFF0A}, //78 #FULLWIDTH ASTERISK
+  {0xA1B0, 0x203B}, //79 #REFERENCE MARK
+  {0xA1B1, 0x00A7}, //80 #SECTION SIGN
+  {0xA1B2, 0x3003}, //81 #DITTO MARK
+  {0xA1B3, 0x25CB}, //82 #WHITE CIRCLE
+  {0xA1B4, 0x25CF}, //83 #BLACK CIRCLE
+  {0xA1B5, 0x25B3}, //84 #WHITE UP-POINTING TRIANGLE
+  {0xA1B6, 0x25B2}, //85 #BLACK UP-POINTING TRIANGLE
+  {0xA1B7, 0x25CE}, //86 #BULLSEYE
+  {0xA1B8, 0x2606}, //87 #WHITE STAR
+  {0xA1B9, 0x2605}, //88 #BLACK STAR
+  {0xA1BA, 0x25C7}, //89 #WHITE DIAMOND
+  {0xA1BB, 0x25C6}, //90 #BLACK DIAMOND
+  {0xA1BC, 0x25A1}, //91 #WHITE SQUARE
+  {0xA1BD, 0x25A0}, //92 #BLACK SQUARE
+  {0xA1BE, 0x25BD}, //93 #WHITE DOWN-POINTING TRIANGLE
+  {0xA1BF, 0x25BC}, //94 #BLACK DOWN-POINTING TRIANGLE
+  {0xA1C0, 0x32A3}, //95 #CIRCLED IDEOGRAPH CORRECT
+  {0xA1C1, 0x2105}, //96 #CARE OF
+  {0xA1C2, 0x00AF}, //97 #MACRON
+  {0xA1C3, 0xFFE3}, //98 #FULLWIDTH MACRON
+  {0xA1C4, 0xFF3F}, //99 #FULLWIDTH LOW LINE
+  {0xA1C5, 0x02CD}, //100 #MODIFIER LETTER LOW MACRON
+  {0xA1C6, 0xFE49}, //101 #DASHED OVERLINE
+  {0xA1C7, 0xFE4A}, //102 #CENTRELINE OVERLINE
+  {0xA1C8, 0xFE4D}, //103 #DASHED LOW LINE
+  {0xA1C9, 0xFE4E}, //104 #CENTRELINE LOW LINE
+  {0xA1CA, 0xFE4B}, //105 #WAVY OVERLINE
+  {0xA1CB, 0xFE4C}, //106 #DOUBLE WAVY OVERLINE
+  {0xA1CC, 0xFE5F}, //107 #SMALL NUMBER SIGN
+  {0xA1CD, 0xFE60}, //108 #SMALL AMPERSAND
+  {0xA1CE, 0xFE61}, //109 #SMALL ASTERISK
+  {0xA1CF, 0xFF0B}, //110 #FULLWIDTH PLUS SIGN
+  {0xA1D0, 0xFF0D}, //111 #FULLWIDTH HYPHEN-MINUS
+  {0xA1D1, 0x00D7}, //112 #MULTIPLICATION SIGN
+  {0xA1D2, 0x00F7}, //113 #DIVISION SIGN
+  {0xA1D3, 0x00B1}, //114 #PLUS-MINUS SIGN
+  {0xA1D4, 0x221A}, //115 #SQUARE ROOT
+  {0xA1D5, 0xFF1C}, //116 #FULLWIDTH LESS-THAN SIGN
+  {0xA1D6, 0xFF1E}, //117 #FULLWIDTH GREATER-THAN SIGN
+  {0xA1D7, 0xFF1D}, //118 #FULLWIDTH EQUALS SIGN
+  {0xA1D8, 0x2266}, //119 #LESS-THAN OVER EQUAL TO
+  {0xA1D9, 0x2267}, //120 #GREATER-THAN OVER EQUAL TO
+  {0xA1DA, 0x2260}, //121 #NOT EQUAL TO
+  {0xA1DB, 0x221E}, //122 #INFINITY
+  {0xA1DC, 0x2252}, //123 #APPROXIMATELY EQUAL TO OR THE IMAGE OF
+  {0xA1DD, 0x2261}, //124 #IDENTICAL TO
+  {0xA1DE, 0xFE62}, //125 #SMALL PLUS SIGN
+  {0xA1DF, 0xFE63}, //126 #SMALL HYPHEN-MINUS
+  {0xA1E0, 0xFE64}, //127 #SMALL LESS-THAN SIGN
+  {0xA1E1, 0xFE65}, //128 #SMALL GREATER-THAN SIGN
+  {0xA1E2, 0xFE66}, //129 #SMALL EQUALS SIGN
+  {0xA1E3, 0xFF5E}, //130 #FULLWIDTH TILDE
+  {0xA1E4, 0x2229}, //131 #INTERSECTION
+  {0xA1E5, 0x222A}, //132 #UNION
+  {0xA1E6, 0x22A5}, //133 #UP TACK
+  {0xA1E7, 0x2220}, //134 #ANGLE
+  {0xA1E8, 0x221F}, //135 #RIGHT ANGLE
+  {0xA1E9, 0x22BF}, //136 #RIGHT TRIANGLE
+  {0xA1EA, 0x33D2}, //137 #SQUARE LOG
+  {0xA1EB, 0x33D1}, //138 #SQUARE LN
+  {0xA1EC, 0x222B}, //139 #INTEGRAL
+  {0xA1ED, 0x222E}, //140 #CONTOUR INTEGRAL
+  {0xA1EE, 0x2235}, //141 #BECAUSE
+  {0xA1EF, 0x2234}, //142 #THEREFORE
+  {0xA1F0, 0x2640}, //143 #FEMALE SIGN
+  {0xA1F1, 0x2642}, //144 #MALE SIGN
+  {0xA1F2, 0x2295}, //145 #CIRCLED PLUS
+  {0xA1F3, 0x2299}, //146 #CIRCLED DOT OPERATOR
+  {0xA1F4, 0x2191}, //147 #UPWARDS ARROW
+  {0xA1F5, 0x2193}, //148 #DOWNWARDS ARROW
+  {0xA1F6, 0x2190}, //149 #LEFTWARDS ARROW
+  {0xA1F7, 0x2192}, //150 #RIGHTWARDS ARROW
+  {0xA1F8, 0x2196}, //151 #NORTH WEST ARROW
+  {0xA1F9, 0x2197}, //152 #NORTH EAST ARROW
+  {0xA1FA, 0x2199}, //153 #SOUTH WEST ARROW
+  {0xA1FB, 0x2198}, //154 #SOUTH EAST ARROW
+  {0xA1FC, 0x2225}, //155 #PARALLEL TO
+  {0xA1FD, 0x2223}, //156 #DIVIDES
+  {0xA1FE, 0xFF0F}, //157 #FULLWIDTH SOLIDUS
+  {0xA240, 0xFF3C}, //158 #FULLWIDTH REVERSE SOLIDUS
+  {0xA241, 0x2215}, //159 #DIVISION SLASH
+  {0xA242, 0xFE68}, //160 #SMALL REVERSE SOLIDUS
+  {0xA243, 0xFF04}, //161 #FULLWIDTH DOLLAR SIGN
+  {0xA244, 0xFFE5}, //162 #FULLWIDTH YEN SIGN
+  {0xA245, 0x3012}, //163 #POSTAL MARK
+  {0xA246, 0xFFE0}, //164 #FULLWIDTH CENT SIGN
+  {0xA247, 0xFFE1}, //165 #FULLWIDTH POUND SIGN
+  {0xA248, 0xFF05}, //166 #FULLWIDTH PERCENT SIGN
+  {0xA249, 0xFF20}, //167 #FULLWIDTH COMMERCIAL AT
+  {0xA24A, 0x2103}, //168 #DEGREE CELSIUS
+  {0xA24B, 0x2109}, //169 #DEGREE FAHRENHEIT
+  {0xA24C, 0xFE69}, //170 #SMALL DOLLAR SIGN
+  {0xA24D, 0xFE6A}, //171 #SMALL PERCENT SIGN
+  {0xA24E, 0xFE6B}, //172 #SMALL COMMERCIAL AT
+  {0xA24F, 0x33D5}, //173 #SQUARE MIL
+  {0xA250, 0x339C}, //174 #SQUARE MM
+  {0xA251, 0x339D}, //175 #SQUARE CM
+  {0xA252, 0x339E}, //176 #SQUARE KM
+  {0xA253, 0x33CE}, //177 #SQUARE KM CAPITAL
+  {0xA254, 0x33A1}, //178 #SQUARE M SQUARED
+  {0xA255, 0x338E}, //179 #SQUARE MG
+  {0xA256, 0x338F}, //180 #SQUARE KG
+  {0xA257, 0x33C4}, //181 #SQUARE CC
+  {0xA258, 0x00B0}, //182 #DEGREE SIGN
+  {0xA259, 0x5159}, //183 #CJK UNIFIED IDEOGRAPH
+  {0xA25A, 0x515B}, //184 #CJK UNIFIED IDEOGRAPH
+  {0xA25B, 0x515E}, //185 #CJK UNIFIED IDEOGRAPH
+  {0xA25C, 0x515D}, //186 #CJK UNIFIED IDEOGRAPH
+  {0xA25D, 0x5161}, //187 #CJK UNIFIED IDEOGRAPH
+  {0xA25E, 0x5163}, //188 #CJK UNIFIED IDEOGRAPH
+  {0xA25F, 0x55E7}, //189 #CJK UNIFIED IDEOGRAPH
+  {0xA260, 0x74E9}, //190 #CJK UNIFIED IDEOGRAPH
+  {0xA261, 0x7CCE}, //191 #CJK UNIFIED IDEOGRAPH
+  {0xA262, 0x2581}, //192 #LOWER ONE EIGHTH BLOCK
+  {0xA263, 0x2582}, //193 #LOWER ONE QUARTER BLOCK
+  {0xA264, 0x2583}, //194 #LOWER THREE EIGHTHS BLOCK
+  {0xA265, 0x2584}, //195 #LOWER HALF BLOCK
+  {0xA266, 0x2585}, //196 #LOWER FIVE EIGHTHS BLOCK
+  {0xA267, 0x2586}, //197 #LOWER THREE QUARTERS BLOCK
+  {0xA268, 0x2587}, //198 #LOWER SEVEN EIGHTHS BLOCK
+  {0xA269, 0x2588}, //199 #FULL BLOCK
+  {0xA26A, 0x258F}, //200 #LEFT ONE EIGHTH BLOCK
+  {0xA26B, 0x258E}, //201 #LEFT ONE QUARTER BLOCK
+  {0xA26C, 0x258D}, //202 #LEFT THREE EIGHTHS BLOCK
+  {0xA26D, 0x258C}, //203 #LEFT HALF BLOCK
+  {0xA26E, 0x258B}, //204 #LEFT FIVE EIGHTHS BLOCK
+  {0xA26F, 0x258A}, //205 #LEFT THREE QUARTERS BLOCK
+  {0xA270, 0x2589}, //206 #LEFT SEVEN EIGHTHS BLOCK
+  {0xA271, 0x253C}, //207 #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+  {0xA272, 0x2534}, //208 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+  {0xA273, 0x252C}, //209 #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+  {0xA274, 0x2524}, //210 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+  {0xA275, 0x251C}, //211 #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+  {0xA276, 0x2594}, //212 #UPPER ONE EIGHTH BLOCK
+  {0xA277, 0x2500}, //213 #BOX DRAWINGS LIGHT HORIZONTAL
+  {0xA278, 0x2502}, //214 #BOX DRAWINGS LIGHT VERTICAL
+  {0xA279, 0x2595}, //215 #RIGHT ONE EIGHTH BLOCK
+  {0xA27A, 0x250C}, //216 #BOX DRAWINGS LIGHT DOWN AND RIGHT
+  {0xA27B, 0x2510}, //217 #BOX DRAWINGS LIGHT DOWN AND LEFT
+  {0xA27C, 0x2514}, //218 #BOX DRAWINGS LIGHT UP AND RIGHT
+  {0xA27D, 0x2518}, //219 #BOX DRAWINGS LIGHT UP AND LEFT
+  {0xA27E, 0x256D}, //220 #BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+  {0xA2A1, 0x256E}, //221 #BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+  {0xA2A2, 0x2570}, //222 #BOX DRAWINGS LIGHT ARC UP AND RIGHT
+  {0xA2A3, 0x256F}, //223 #BOX DRAWINGS LIGHT ARC UP AND LEFT
+  {0xA2A4, 0x2550}, //224 #BOX DRAWINGS DOUBLE HORIZONTAL
+  {0xA2A5, 0x255E}, //225 #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+  {0xA2A6, 0x256A}, //226 #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+  {0xA2A7, 0x2561}, //227 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+  {0xA2A8, 0x25E2}, //228 #BLACK LOWER RIGHT TRIANGLE
+  {0xA2A9, 0x25E3}, //229 #BLACK LOWER LEFT TRIANGLE
+  {0xA2AA, 0x25E5}, //230 #BLACK UPPER RIGHT TRIANGLE
+  {0xA2AB, 0x25E4}, //231 #BLACK UPPER LEFT TRIANGLE
+  {0xA2AC, 0x2571}, //232 #BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+  {0xA2AD, 0x2572}, //233 #BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+  {0xA2AE, 0x2573}, //234 #BOX DRAWINGS LIGHT DIAGONAL CROSS
+  {0xA2AF, 0xFF10}, //235 #FULLWIDTH DIGIT ZERO
+  {0xA2B0, 0xFF11}, //236 #FULLWIDTH DIGIT ONE
+  {0xA2B1, 0xFF12}, //237 #FULLWIDTH DIGIT TWO
+  {0xA2B2, 0xFF13}, //238 #FULLWIDTH DIGIT THREE
+  {0xA2B3, 0xFF14}, //239 #FULLWIDTH DIGIT FOUR
+  {0xA2B4, 0xFF15}, //240 #FULLWIDTH DIGIT FIVE
+  {0xA2B5, 0xFF16}, //241 #FULLWIDTH DIGIT SIX
+  {0xA2B6, 0xFF17}, //242 #FULLWIDTH DIGIT SEVEN
+  {0xA2B7, 0xFF18}, //243 #FULLWIDTH DIGIT EIGHT
+  {0xA2B8, 0xFF19}, //244 #FULLWIDTH DIGIT NINE
+  {0xA2B9, 0x2160}, //245 #ROMAN NUMERAL ONE
+  {0xA2BA, 0x2161}, //246 #ROMAN NUMERAL TWO
+  {0xA2BB, 0x2162}, //247 #ROMAN NUMERAL THREE
+  {0xA2BC, 0x2163}, //248 #ROMAN NUMERAL FOUR
+  {0xA2BD, 0x2164}, //249 #ROMAN NUMERAL FIVE
+  {0xA2BE, 0x2165}, //250 #ROMAN NUMERAL SIX
+  {0xA2BF, 0x2166}, //251 #ROMAN NUMERAL SEVEN
+  {0xA2C0, 0x2167}, //252 #ROMAN NUMERAL EIGHT
+  {0xA2C1, 0x2168}, //253 #ROMAN NUMERAL NINE
+  {0xA2C2, 0x2169}, //254 #ROMAN NUMERAL TEN
+  {0xA2C3, 0x3021}, //255 #HANGZHOU NUMERAL ONE
+  {0xA2C4, 0x3022}, //256 #HANGZHOU NUMERAL TWO
+  {0xA2C5, 0x3023}, //257 #HANGZHOU NUMERAL THREE
+  {0xA2C6, 0x3024}, //258 #HANGZHOU NUMERAL FOUR
+  {0xA2C7, 0x3025}, //259 #HANGZHOU NUMERAL FIVE
+  {0xA2C8, 0x3026}, //260 #HANGZHOU NUMERAL SIX
+  {0xA2C9, 0x3027}, //261 #HANGZHOU NUMERAL SEVEN
+  {0xA2CA, 0x3028}, //262 #HANGZHOU NUMERAL EIGHT
+  {0xA2CB, 0x3029}, //263 #HANGZHOU NUMERAL NINE
+  {0xA2CC, 0x5341}, //264 #CJK UNIFIED IDEOGRAPH
+  {0xA2CD, 0x5344}, //265 #CJK UNIFIED IDEOGRAPH
+  {0xA2CE, 0x5345}, //266 #CJK UNIFIED IDEOGRAPH
+  {0xA2CF, 0xFF21}, //267 #FULLWIDTH LATIN CAPITAL LETTER A
+  {0xA2D0, 0xFF22}, //268 #FULLWIDTH LATIN CAPITAL LETTER B
+  {0xA2D1, 0xFF23}, //269 #FULLWIDTH LATIN CAPITAL LETTER C
+  {0xA2D2, 0xFF24}, //270 #FULLWIDTH LATIN CAPITAL LETTER D
+  {0xA2D3, 0xFF25}, //271 #FULLWIDTH LATIN CAPITAL LETTER E
+  {0xA2D4, 0xFF26}, //272 #FULLWIDTH LATIN CAPITAL LETTER F
+  {0xA2D5, 0xFF27}, //273 #FULLWIDTH LATIN CAPITAL LETTER G
+  {0xA2D6, 0xFF28}, //274 #FULLWIDTH LATIN CAPITAL LETTER H
+  {0xA2D7, 0xFF29}, //275 #FULLWIDTH LATIN CAPITAL LETTER I
+  {0xA2D8, 0xFF2A}, //276 #FULLWIDTH LATIN CAPITAL LETTER J
+  {0xA2D9, 0xFF2B}, //277 #FULLWIDTH LATIN CAPITAL LETTER K
+  {0xA2DA, 0xFF2C}, //278 #FULLWIDTH LATIN CAPITAL LETTER L
+  {0xA2DB, 0xFF2D}, //279 #FULLWIDTH LATIN CAPITAL LETTER M
+  {0xA2DC, 0xFF2E}, //280 #FULLWIDTH LATIN CAPITAL LETTER N
+  {0xA2DD, 0xFF2F}, //281 #FULLWIDTH LATIN CAPITAL LETTER O
+  {0xA2DE, 0xFF30}, //282 #FULLWIDTH LATIN CAPITAL LETTER P
+  {0xA2DF, 0xFF31}, //283 #FULLWIDTH LATIN CAPITAL LETTER Q
+  {0xA2E0, 0xFF32}, //284 #FULLWIDTH LATIN CAPITAL LETTER R
+  {0xA2E1, 0xFF33}, //285 #FULLWIDTH LATIN CAPITAL LETTER S
+  {0xA2E2, 0xFF34}, //286 #FULLWIDTH LATIN CAPITAL LETTER T
+  {0xA2E3, 0xFF35}, //287 #FULLWIDTH LATIN CAPITAL LETTER U
+  {0xA2E4, 0xFF36}, //288 #FULLWIDTH LATIN CAPITAL LETTER V
+  {0xA2E5, 0xFF37}, //289 #FULLWIDTH LATIN CAPITAL LETTER W
+  {0xA2E6, 0xFF38}, //290 #FULLWIDTH LATIN CAPITAL LETTER X
+  {0xA2E7, 0xFF39}, //291 #FULLWIDTH LATIN CAPITAL LETTER Y
+  {0xA2E8, 0xFF3A}, //292 #FULLWIDTH LATIN CAPITAL LETTER Z
+  {0xA2E9, 0xFF41}, //293 #FULLWIDTH LATIN SMALL LETTER A
+  {0xA2EA, 0xFF42}, //294 #FULLWIDTH LATIN SMALL LETTER B
+  {0xA2EB, 0xFF43}, //295 #FULLWIDTH LATIN SMALL LETTER C
+  {0xA2EC, 0xFF44}, //296 #FULLWIDTH LATIN SMALL LETTER D
+  {0xA2ED, 0xFF45}, //297 #FULLWIDTH LATIN SMALL LETTER E
+  {0xA2EE, 0xFF46}, //298 #FULLWIDTH LATIN SMALL LETTER F
+  {0xA2EF, 0xFF47}, //299 #FULLWIDTH LATIN SMALL LETTER G
+  {0xA2F0, 0xFF48}, //300 #FULLWIDTH LATIN SMALL LETTER H
+  {0xA2F1, 0xFF49}, //301 #FULLWIDTH LATIN SMALL LETTER I
+  {0xA2F2, 0xFF4A}, //302 #FULLWIDTH LATIN SMALL LETTER J
+  {0xA2F3, 0xFF4B}, //303 #FULLWIDTH LATIN SMALL LETTER K
+  {0xA2F4, 0xFF4C}, //304 #FULLWIDTH LATIN SMALL LETTER L
+  {0xA2F5, 0xFF4D}, //305 #FULLWIDTH LATIN SMALL LETTER M
+  {0xA2F6, 0xFF4E}, //306 #FULLWIDTH LATIN SMALL LETTER N
+  {0xA2F7, 0xFF4F}, //307 #FULLWIDTH LATIN SMALL LETTER O
+  {0xA2F8, 0xFF50}, //308 #FULLWIDTH LATIN SMALL LETTER P
+  {0xA2F9, 0xFF51}, //309 #FULLWIDTH LATIN SMALL LETTER Q
+  {0xA2FA, 0xFF52}, //310 #FULLWIDTH LATIN SMALL LETTER R
+  {0xA2FB, 0xFF53}, //311 #FULLWIDTH LATIN SMALL LETTER S
+  {0xA2FC, 0xFF54}, //312 #FULLWIDTH LATIN SMALL LETTER T
+  {0xA2FD, 0xFF55}, //313 #FULLWIDTH LATIN SMALL LETTER U
+  {0xA2FE, 0xFF56}, //314 #FULLWIDTH LATIN SMALL LETTER V
+  {0xA340, 0xFF57}, //315 #FULLWIDTH LATIN SMALL LETTER W
+  {0xA341, 0xFF58}, //316 #FULLWIDTH LATIN SMALL LETTER X
+  {0xA342, 0xFF59}, //317 #FULLWIDTH LATIN SMALL LETTER Y
+  {0xA343, 0xFF5A}, //318 #FULLWIDTH LATIN SMALL LETTER Z
+  {0xA344, 0x0391}, //319 #GREEK CAPITAL LETTER ALPHA
+  {0xA345, 0x0392}, //320 #GREEK CAPITAL LETTER BETA
+  {0xA346, 0x0393}, //321 #GREEK CAPITAL LETTER GAMMA
+  {0xA347, 0x0394}, //322 #GREEK CAPITAL LETTER DELTA
+  {0xA348, 0x0395}, //323 #GREEK CAPITAL LETTER EPSILON
+  {0xA349, 0x0396}, //324 #GREEK CAPITAL LETTER ZETA
+  {0xA34A, 0x0397}, //325 #GREEK CAPITAL LETTER ETA
+  {0xA34B, 0x0398}, //326 #GREEK CAPITAL LETTER THETA
+  {0xA34C, 0x0399}, //327 #GREEK CAPITAL LETTER IOTA
+  {0xA34D, 0x039A}, //328 #GREEK CAPITAL LETTER KAPPA
+  {0xA34E, 0x039B}, //329 #GREEK CAPITAL LETTER LAMDA
+  {0xA34F, 0x039C}, //330 #GREEK CAPITAL LETTER MU
+  {0xA350, 0x039D}, //331 #GREEK CAPITAL LETTER NU
+  {0xA351, 0x039E}, //332 #GREEK CAPITAL LETTER XI
+  {0xA352, 0x039F}, //333 #GREEK CAPITAL LETTER OMICRON
+  {0xA353, 0x03A0}, //334 #GREEK CAPITAL LETTER PI
+  {0xA354, 0x03A1}, //335 #GREEK CAPITAL LETTER RHO
+  {0xA355, 0x03A3}, //336 #GREEK CAPITAL LETTER SIGMA
+  {0xA356, 0x03A4}, //337 #GREEK CAPITAL LETTER TAU
+  {0xA357, 0x03A5}, //338 #GREEK CAPITAL LETTER UPSILON
+  {0xA358, 0x03A6}, //339 #GREEK CAPITAL LETTER PHI
+  {0xA359, 0x03A7}, //340 #GREEK CAPITAL LETTER CHI
+  {0xA35A, 0x03A8}, //341 #GREEK CAPITAL LETTER PSI
+  {0xA35B, 0x03A9}, //342 #GREEK CAPITAL LETTER OMEGA
+  {0xA35C, 0x03B1}, //343 #GREEK SMALL LETTER ALPHA
+  {0xA35D, 0x03B2}, //344 #GREEK SMALL LETTER BETA
+  {0xA35E, 0x03B3}, //345 #GREEK SMALL LETTER GAMMA
+  {0xA35F, 0x03B4}, //346 #GREEK SMALL LETTER DELTA
+  {0xA360, 0x03B5}, //347 #GREEK SMALL LETTER EPSILON
+  {0xA361, 0x03B6}, //348 #GREEK SMALL LETTER ZETA
+  {0xA362, 0x03B7}, //349 #GREEK SMALL LETTER ETA
+  {0xA363, 0x03B8}, //350 #GREEK SMALL LETTER THETA
+  {0xA364, 0x03B9}, //351 #GREEK SMALL LETTER IOTA
+  {0xA365, 0x03BA}, //352 #GREEK SMALL LETTER KAPPA
+  {0xA366, 0x03BB}, //353 #GREEK SMALL LETTER LAMDA
+  {0xA367, 0x03BC}, //354 #GREEK SMALL LETTER MU
+  {0xA368, 0x03BD}, //355 #GREEK SMALL LETTER NU
+  {0xA369, 0x03BE}, //356 #GREEK SMALL LETTER XI
+  {0xA36A, 0x03BF}, //357 #GREEK SMALL LETTER OMICRON
+  {0xA36B, 0x03C0}, //358 #GREEK SMALL LETTER PI
+  {0xA36C, 0x03C1}, //359 #GREEK SMALL LETTER RHO
+  {0xA36D, 0x03C3}, //360 #GREEK SMALL LETTER SIGMA
+  {0xA36E, 0x03C4}, //361 #GREEK SMALL LETTER TAU
+  {0xA36F, 0x03C5}, //362 #GREEK SMALL LETTER UPSILON
+  {0xA370, 0x03C6}, //363 #GREEK SMALL LETTER PHI
+  {0xA371, 0x03C7}, //364 #GREEK SMALL LETTER CHI
+  {0xA372, 0x03C8}, //365 #GREEK SMALL LETTER PSI
+  {0xA373, 0x03C9}, //366 #GREEK SMALL LETTER OMEGA
+  {0xA374, 0x3105}, //367 #BOPOMOFO LETTER B
+  {0xA375, 0x3106}, //368 #BOPOMOFO LETTER P
+  {0xA376, 0x3107}, //369 #BOPOMOFO LETTER M
+  {0xA377, 0x3108}, //370 #BOPOMOFO LETTER F
+  {0xA378, 0x3109}, //371 #BOPOMOFO LETTER D
+  {0xA379, 0x310A}, //372 #BOPOMOFO LETTER T
+  {0xA37A, 0x310B}, //373 #BOPOMOFO LETTER N
+  {0xA37B, 0x310C}, //374 #BOPOMOFO LETTER L
+  {0xA37C, 0x310D}, //375 #BOPOMOFO LETTER G
+  {0xA37D, 0x310E}, //376 #BOPOMOFO LETTER K
+  {0xA37E, 0x310F}, //377 #BOPOMOFO LETTER H
+  {0xA3A1, 0x3110}, //378 #BOPOMOFO LETTER J
+  {0xA3A2, 0x3111}, //379 #BOPOMOFO LETTER Q
+  {0xA3A3, 0x3112}, //380 #BOPOMOFO LETTER X
+  {0xA3A4, 0x3113}, //381 #BOPOMOFO LETTER ZH
+  {0xA3A5, 0x3114}, //382 #BOPOMOFO LETTER CH
+  {0xA3A6, 0x3115}, //383 #BOPOMOFO LETTER SH
+  {0xA3A7, 0x3116}, //384 #BOPOMOFO LETTER R
+  {0xA3A8, 0x3117}, //385 #BOPOMOFO LETTER Z
+  {0xA3A9, 0x3118}, //386 #BOPOMOFO LETTER C
+  {0xA3AA, 0x3119}, //387 #BOPOMOFO LETTER S
+  {0xA3AB, 0x311A}, //388 #BOPOMOFO LETTER A
+  {0xA3AC, 0x311B}, //389 #BOPOMOFO LETTER O
+  {0xA3AD, 0x311C}, //390 #BOPOMOFO LETTER E
+  {0xA3AE, 0x311D}, //391 #BOPOMOFO LETTER EH
+  {0xA3AF, 0x311E}, //392 #BOPOMOFO LETTER AI
+  {0xA3B0, 0x311F}, //393 #BOPOMOFO LETTER EI
+  {0xA3B1, 0x3120}, //394 #BOPOMOFO LETTER AU
+  {0xA3B2, 0x3121}, //395 #BOPOMOFO LETTER OU
+  {0xA3B3, 0x3122}, //396 #BOPOMOFO LETTER AN
+  {0xA3B4, 0x3123}, //397 #BOPOMOFO LETTER EN
+  {0xA3B5, 0x3124}, //398 #BOPOMOFO LETTER ANG
+  {0xA3B6, 0x3125}, //399 #BOPOMOFO LETTER ENG
+  {0xA3B7, 0x3126}, //400 #BOPOMOFO LETTER ER
+  {0xA3B8, 0x3127}, //401 #BOPOMOFO LETTER I
+  {0xA3B9, 0x3128}, //402 #BOPOMOFO LETTER U
+  {0xA3BA, 0x3129}, //403 #BOPOMOFO LETTER IU
+  {0xA3BB, 0x02D9}, //404 #DOT ABOVE
+  {0xA3BC, 0x02C9}, //405 #MODIFIER LETTER MACRON
+  {0xA3BD, 0x02CA}, //406 #MODIFIER LETTER ACUTE ACCENT
+  {0xA3BE, 0x02C7}, //407 #CARON
+  {0xA3BF, 0x02CB}, //408 #MODIFIER LETTER GRAVE ACCENT
+  {0xA3E1, 0x20AC}, //409 #EURO SIGN
+  {0xA440, 0x4E00}, //410 #CJK UNIFIED IDEOGRAPH
+  {0xA441, 0x4E59}, //411 #CJK UNIFIED IDEOGRAPH
+  {0xA442, 0x4E01}, //412 #CJK UNIFIED IDEOGRAPH
+  {0xA443, 0x4E03}, //413 #CJK UNIFIED IDEOGRAPH
+  {0xA444, 0x4E43}, //414 #CJK UNIFIED IDEOGRAPH
+  {0xA445, 0x4E5D}, //415 #CJK UNIFIED IDEOGRAPH
+  {0xA446, 0x4E86}, //416 #CJK UNIFIED IDEOGRAPH
+  {0xA447, 0x4E8C}, //417 #CJK UNIFIED IDEOGRAPH
+  {0xA448, 0x4EBA}, //418 #CJK UNIFIED IDEOGRAPH
+  {0xA449, 0x513F}, //419 #CJK UNIFIED IDEOGRAPH
+  {0xA44A, 0x5165}, //420 #CJK UNIFIED IDEOGRAPH
+  {0xA44B, 0x516B}, //421 #CJK UNIFIED IDEOGRAPH
+  {0xA44C, 0x51E0}, //422 #CJK UNIFIED IDEOGRAPH
+  {0xA44D, 0x5200}, //423 #CJK UNIFIED IDEOGRAPH
+  {0xA44E, 0x5201}, //424 #CJK UNIFIED IDEOGRAPH
+  {0xA44F, 0x529B}, //425 #CJK UNIFIED IDEOGRAPH
+  {0xA450, 0x5315}, //426 #CJK UNIFIED IDEOGRAPH
+  {0xA451, 0x5341}, //427 #CJK UNIFIED IDEOGRAPH
+  {0xA452, 0x535C}, //428 #CJK UNIFIED IDEOGRAPH
+  {0xA453, 0x53C8}, //429 #CJK UNIFIED IDEOGRAPH
+  {0xA454, 0x4E09}, //430 #CJK UNIFIED IDEOGRAPH
+  {0xA455, 0x4E0B}, //431 #CJK UNIFIED IDEOGRAPH
+  {0xA456, 0x4E08}, //432 #CJK UNIFIED IDEOGRAPH
+  {0xA457, 0x4E0A}, //433 #CJK UNIFIED IDEOGRAPH
+  {0xA458, 0x4E2B}, //434 #CJK UNIFIED IDEOGRAPH
+  {0xA459, 0x4E38}, //435 #CJK UNIFIED IDEOGRAPH
+  {0xA45A, 0x51E1}, //436 #CJK UNIFIED IDEOGRAPH
+  {0xA45B, 0x4E45}, //437 #CJK UNIFIED IDEOGRAPH
+  {0xA45C, 0x4E48}, //438 #CJK UNIFIED IDEOGRAPH
+  {0xA45D, 0x4E5F}, //439 #CJK UNIFIED IDEOGRAPH
+  {0xA45E, 0x4E5E}, //440 #CJK UNIFIED IDEOGRAPH
+  {0xA45F, 0x4E8E}, //441 #CJK UNIFIED IDEOGRAPH
+  {0xA460, 0x4EA1}, //442 #CJK UNIFIED IDEOGRAPH
+  {0xA461, 0x5140}, //443 #CJK UNIFIED IDEOGRAPH
+  {0xA462, 0x5203}, //444 #CJK UNIFIED IDEOGRAPH
+  {0xA463, 0x52FA}, //445 #CJK UNIFIED IDEOGRAPH
+  {0xA464, 0x5343}, //446 #CJK UNIFIED IDEOGRAPH
+  {0xA465, 0x53C9}, //447 #CJK UNIFIED IDEOGRAPH
+  {0xA466, 0x53E3}, //448 #CJK UNIFIED IDEOGRAPH
+  {0xA467, 0x571F}, //449 #CJK UNIFIED IDEOGRAPH
+  {0xA468, 0x58EB}, //450 #CJK UNIFIED IDEOGRAPH
+  {0xA469, 0x5915}, //451 #CJK UNIFIED IDEOGRAPH
+  {0xA46A, 0x5927}, //452 #CJK UNIFIED IDEOGRAPH
+  {0xA46B, 0x5973}, //453 #CJK UNIFIED IDEOGRAPH
+  {0xA46C, 0x5B50}, //454 #CJK UNIFIED IDEOGRAPH
+  {0xA46D, 0x5B51}, //455 #CJK UNIFIED IDEOGRAPH
+  {0xA46E, 0x5B53}, //456 #CJK UNIFIED IDEOGRAPH
+  {0xA46F, 0x5BF8}, //457 #CJK UNIFIED IDEOGRAPH
+  {0xA470, 0x5C0F}, //458 #CJK UNIFIED IDEOGRAPH
+  {0xA471, 0x5C22}, //459 #CJK UNIFIED IDEOGRAPH
+  {0xA472, 0x5C38}, //460 #CJK UNIFIED IDEOGRAPH
+  {0xA473, 0x5C71}, //461 #CJK UNIFIED IDEOGRAPH
+  {0xA474, 0x5DDD}, //462 #CJK UNIFIED IDEOGRAPH
+  {0xA475, 0x5DE5}, //463 #CJK UNIFIED IDEOGRAPH
+  {0xA476, 0x5DF1}, //464 #CJK UNIFIED IDEOGRAPH
+  {0xA477, 0x5DF2}, //465 #CJK UNIFIED IDEOGRAPH
+  {0xA478, 0x5DF3}, //466 #CJK UNIFIED IDEOGRAPH
+  {0xA479, 0x5DFE}, //467 #CJK UNIFIED IDEOGRAPH
+  {0xA47A, 0x5E72}, //468 #CJK UNIFIED IDEOGRAPH
+  {0xA47B, 0x5EFE}, //469 #CJK UNIFIED IDEOGRAPH
+  {0xA47C, 0x5F0B}, //470 #CJK UNIFIED IDEOGRAPH
+  {0xA47D, 0x5F13}, //471 #CJK UNIFIED IDEOGRAPH
+  {0xA47E, 0x624D}, //472 #CJK UNIFIED IDEOGRAPH
+  {0xA4A1, 0x4E11}, //473 #CJK UNIFIED IDEOGRAPH
+  {0xA4A2, 0x4E10}, //474 #CJK UNIFIED IDEOGRAPH
+  {0xA4A3, 0x4E0D}, //475 #CJK UNIFIED IDEOGRAPH
+  {0xA4A4, 0x4E2D}, //476 #CJK UNIFIED IDEOGRAPH
+  {0xA4A5, 0x4E30}, //477 #CJK UNIFIED IDEOGRAPH
+  {0xA4A6, 0x4E39}, //478 #CJK UNIFIED IDEOGRAPH
+  {0xA4A7, 0x4E4B}, //479 #CJK UNIFIED IDEOGRAPH
+  {0xA4A8, 0x5C39}, //480 #CJK UNIFIED IDEOGRAPH
+  {0xA4A9, 0x4E88}, //481 #CJK UNIFIED IDEOGRAPH
+  {0xA4AA, 0x4E91}, //482 #CJK UNIFIED IDEOGRAPH
+  {0xA4AB, 0x4E95}, //483 #CJK UNIFIED IDEOGRAPH
+  {0xA4AC, 0x4E92}, //484 #CJK UNIFIED IDEOGRAPH
+  {0xA4AD, 0x4E94}, //485 #CJK UNIFIED IDEOGRAPH
+  {0xA4AE, 0x4EA2}, //486 #CJK UNIFIED IDEOGRAPH
+  {0xA4AF, 0x4EC1}, //487 #CJK UNIFIED IDEOGRAPH
+  {0xA4B0, 0x4EC0}, //488 #CJK UNIFIED IDEOGRAPH
+  {0xA4B1, 0x4EC3}, //489 #CJK UNIFIED IDEOGRAPH
+  {0xA4B2, 0x4EC6}, //490 #CJK UNIFIED IDEOGRAPH
+  {0xA4B3, 0x4EC7}, //491 #CJK UNIFIED IDEOGRAPH
+  {0xA4B4, 0x4ECD}, //492 #CJK UNIFIED IDEOGRAPH
+  {0xA4B5, 0x4ECA}, //493 #CJK UNIFIED IDEOGRAPH
+  {0xA4B6, 0x4ECB}, //494 #CJK UNIFIED IDEOGRAPH
+  {0xA4B7, 0x4EC4}, //495 #CJK UNIFIED IDEOGRAPH
+  {0xA4B8, 0x5143}, //496 #CJK UNIFIED IDEOGRAPH
+  {0xA4B9, 0x5141}, //497 #CJK UNIFIED IDEOGRAPH
+  {0xA4BA, 0x5167}, //498 #CJK UNIFIED IDEOGRAPH
+  {0xA4BB, 0x516D}, //499 #CJK UNIFIED IDEOGRAPH
+  {0xA4BC, 0x516E}, //500 #CJK UNIFIED IDEOGRAPH
+  {0xA4BD, 0x516C}, //501 #CJK UNIFIED IDEOGRAPH
+  {0xA4BE, 0x5197}, //502 #CJK UNIFIED IDEOGRAPH
+  {0xA4BF, 0x51F6}, //503 #CJK UNIFIED IDEOGRAPH
+  {0xA4C0, 0x5206}, //504 #CJK UNIFIED IDEOGRAPH
+  {0xA4C1, 0x5207}, //505 #CJK UNIFIED IDEOGRAPH
+  {0xA4C2, 0x5208}, //506 #CJK UNIFIED IDEOGRAPH
+  {0xA4C3, 0x52FB}, //507 #CJK UNIFIED IDEOGRAPH
+  {0xA4C4, 0x52FE}, //508 #CJK UNIFIED IDEOGRAPH
+  {0xA4C5, 0x52FF}, //509 #CJK UNIFIED IDEOGRAPH
+  {0xA4C6, 0x5316}, //510 #CJK UNIFIED IDEOGRAPH
+  {0xA4C7, 0x5339}, //511 #CJK UNIFIED IDEOGRAPH
+  {0xA4C8, 0x5348}, //512 #CJK UNIFIED IDEOGRAPH
+  {0xA4C9, 0x5347}, //513 #CJK UNIFIED IDEOGRAPH
+  {0xA4CA, 0x5345}, //514 #CJK UNIFIED IDEOGRAPH
+  {0xA4CB, 0x535E}, //515 #CJK UNIFIED IDEOGRAPH
+  {0xA4CC, 0x5384}, //516 #CJK UNIFIED IDEOGRAPH
+  {0xA4CD, 0x53CB}, //517 #CJK UNIFIED IDEOGRAPH
+  {0xA4CE, 0x53CA}, //518 #CJK UNIFIED IDEOGRAPH
+  {0xA4CF, 0x53CD}, //519 #CJK UNIFIED IDEOGRAPH
+  {0xA4D0, 0x58EC}, //520 #CJK UNIFIED IDEOGRAPH
+  {0xA4D1, 0x5929}, //521 #CJK UNIFIED IDEOGRAPH
+  {0xA4D2, 0x592B}, //522 #CJK UNIFIED IDEOGRAPH
+  {0xA4D3, 0x592A}, //523 #CJK UNIFIED IDEOGRAPH
+  {0xA4D4, 0x592D}, //524 #CJK UNIFIED IDEOGRAPH
+  {0xA4D5, 0x5B54}, //525 #CJK UNIFIED IDEOGRAPH
+  {0xA4D6, 0x5C11}, //526 #CJK UNIFIED IDEOGRAPH
+  {0xA4D7, 0x5C24}, //527 #CJK UNIFIED IDEOGRAPH
+  {0xA4D8, 0x5C3A}, //528 #CJK UNIFIED IDEOGRAPH
+  {0xA4D9, 0x5C6F}, //529 #CJK UNIFIED IDEOGRAPH
+  {0xA4DA, 0x5DF4}, //530 #CJK UNIFIED IDEOGRAPH
+  {0xA4DB, 0x5E7B}, //531 #CJK UNIFIED IDEOGRAPH
+  {0xA4DC, 0x5EFF}, //532 #CJK UNIFIED IDEOGRAPH
+  {0xA4DD, 0x5F14}, //533 #CJK UNIFIED IDEOGRAPH
+  {0xA4DE, 0x5F15}, //534 #CJK UNIFIED IDEOGRAPH
+  {0xA4DF, 0x5FC3}, //535 #CJK UNIFIED IDEOGRAPH
+  {0xA4E0, 0x6208}, //536 #CJK UNIFIED IDEOGRAPH
+  {0xA4E1, 0x6236}, //537 #CJK UNIFIED IDEOGRAPH
+  {0xA4E2, 0x624B}, //538 #CJK UNIFIED IDEOGRAPH
+  {0xA4E3, 0x624E}, //539 #CJK UNIFIED IDEOGRAPH
+  {0xA4E4, 0x652F}, //540 #CJK UNIFIED IDEOGRAPH
+  {0xA4E5, 0x6587}, //541 #CJK UNIFIED IDEOGRAPH
+  {0xA4E6, 0x6597}, //542 #CJK UNIFIED IDEOGRAPH
+  {0xA4E7, 0x65A4}, //543 #CJK UNIFIED IDEOGRAPH
+  {0xA4E8, 0x65B9}, //544 #CJK UNIFIED IDEOGRAPH
+  {0xA4E9, 0x65E5}, //545 #CJK UNIFIED IDEOGRAPH
+  {0xA4EA, 0x66F0}, //546 #CJK UNIFIED IDEOGRAPH
+  {0xA4EB, 0x6708}, //547 #CJK UNIFIED IDEOGRAPH
+  {0xA4EC, 0x6728}, //548 #CJK UNIFIED IDEOGRAPH
+  {0xA4ED, 0x6B20}, //549 #CJK UNIFIED IDEOGRAPH
+  {0xA4EE, 0x6B62}, //550 #CJK UNIFIED IDEOGRAPH
+  {0xA4EF, 0x6B79}, //551 #CJK UNIFIED IDEOGRAPH
+  {0xA4F0, 0x6BCB}, //552 #CJK UNIFIED IDEOGRAPH
+  {0xA4F1, 0x6BD4}, //553 #CJK UNIFIED IDEOGRAPH
+  {0xA4F2, 0x6BDB}, //554 #CJK UNIFIED IDEOGRAPH
+  {0xA4F3, 0x6C0F}, //555 #CJK UNIFIED IDEOGRAPH
+  {0xA4F4, 0x6C34}, //556 #CJK UNIFIED IDEOGRAPH
+  {0xA4F5, 0x706B}, //557 #CJK UNIFIED IDEOGRAPH
+  {0xA4F6, 0x722A}, //558 #CJK UNIFIED IDEOGRAPH
+  {0xA4F7, 0x7236}, //559 #CJK UNIFIED IDEOGRAPH
+  {0xA4F8, 0x723B}, //560 #CJK UNIFIED IDEOGRAPH
+  {0xA4F9, 0x7247}, //561 #CJK UNIFIED IDEOGRAPH
+  {0xA4FA, 0x7259}, //562 #CJK UNIFIED IDEOGRAPH
+  {0xA4FB, 0x725B}, //563 #CJK UNIFIED IDEOGRAPH
+  {0xA4FC, 0x72AC}, //564 #CJK UNIFIED IDEOGRAPH
+  {0xA4FD, 0x738B}, //565 #CJK UNIFIED IDEOGRAPH
+  {0xA4FE, 0x4E19}, //566 #CJK UNIFIED IDEOGRAPH
+  {0xA540, 0x4E16}, //567 #CJK UNIFIED IDEOGRAPH
+  {0xA541, 0x4E15}, //568 #CJK UNIFIED IDEOGRAPH
+  {0xA542, 0x4E14}, //569 #CJK UNIFIED IDEOGRAPH
+  {0xA543, 0x4E18}, //570 #CJK UNIFIED IDEOGRAPH
+  {0xA544, 0x4E3B}, //571 #CJK UNIFIED IDEOGRAPH
+  {0xA545, 0x4E4D}, //572 #CJK UNIFIED IDEOGRAPH
+  {0xA546, 0x4E4F}, //573 #CJK UNIFIED IDEOGRAPH
+  {0xA547, 0x4E4E}, //574 #CJK UNIFIED IDEOGRAPH
+  {0xA548, 0x4EE5}, //575 #CJK UNIFIED IDEOGRAPH
+  {0xA549, 0x4ED8}, //576 #CJK UNIFIED IDEOGRAPH
+  {0xA54A, 0x4ED4}, //577 #CJK UNIFIED IDEOGRAPH
+  {0xA54B, 0x4ED5}, //578 #CJK UNIFIED IDEOGRAPH
+  {0xA54C, 0x4ED6}, //579 #CJK UNIFIED IDEOGRAPH
+  {0xA54D, 0x4ED7}, //580 #CJK UNIFIED IDEOGRAPH
+  {0xA54E, 0x4EE3}, //581 #CJK UNIFIED IDEOGRAPH
+  {0xA54F, 0x4EE4}, //582 #CJK UNIFIED IDEOGRAPH
+  {0xA550, 0x4ED9}, //583 #CJK UNIFIED IDEOGRAPH
+  {0xA551, 0x4EDE}, //584 #CJK UNIFIED IDEOGRAPH
+  {0xA552, 0x5145}, //585 #CJK UNIFIED IDEOGRAPH
+  {0xA553, 0x5144}, //586 #CJK UNIFIED IDEOGRAPH
+  {0xA554, 0x5189}, //587 #CJK UNIFIED IDEOGRAPH
+  {0xA555, 0x518A}, //588 #CJK UNIFIED IDEOGRAPH
+  {0xA556, 0x51AC}, //589 #CJK UNIFIED IDEOGRAPH
+  {0xA557, 0x51F9}, //590 #CJK UNIFIED IDEOGRAPH
+  {0xA558, 0x51FA}, //591 #CJK UNIFIED IDEOGRAPH
+  {0xA559, 0x51F8}, //592 #CJK UNIFIED IDEOGRAPH
+  {0xA55A, 0x520A}, //593 #CJK UNIFIED IDEOGRAPH
+  {0xA55B, 0x52A0}, //594 #CJK UNIFIED IDEOGRAPH
+  {0xA55C, 0x529F}, //595 #CJK UNIFIED IDEOGRAPH
+  {0xA55D, 0x5305}, //596 #CJK UNIFIED IDEOGRAPH
+  {0xA55E, 0x5306}, //597 #CJK UNIFIED IDEOGRAPH
+  {0xA55F, 0x5317}, //598 #CJK UNIFIED IDEOGRAPH
+  {0xA560, 0x531D}, //599 #CJK UNIFIED IDEOGRAPH
+  {0xA561, 0x4EDF}, //600 #CJK UNIFIED IDEOGRAPH
+  {0xA562, 0x534A}, //601 #CJK UNIFIED IDEOGRAPH
+  {0xA563, 0x5349}, //602 #CJK UNIFIED IDEOGRAPH
+  {0xA564, 0x5361}, //603 #CJK UNIFIED IDEOGRAPH
+  {0xA565, 0x5360}, //604 #CJK UNIFIED IDEOGRAPH
+  {0xA566, 0x536F}, //605 #CJK UNIFIED IDEOGRAPH
+  {0xA567, 0x536E}, //606 #CJK UNIFIED IDEOGRAPH
+  {0xA568, 0x53BB}, //607 #CJK UNIFIED IDEOGRAPH
+  {0xA569, 0x53EF}, //608 #CJK UNIFIED IDEOGRAPH
+  {0xA56A, 0x53E4}, //609 #CJK UNIFIED IDEOGRAPH
+  {0xA56B, 0x53F3}, //610 #CJK UNIFIED IDEOGRAPH
+  {0xA56C, 0x53EC}, //611 #CJK UNIFIED IDEOGRAPH
+  {0xA56D, 0x53EE}, //612 #CJK UNIFIED IDEOGRAPH
+  {0xA56E, 0x53E9}, //613 #CJK UNIFIED IDEOGRAPH
+  {0xA56F, 0x53E8}, //614 #CJK UNIFIED IDEOGRAPH
+  {0xA570, 0x53FC}, //615 #CJK UNIFIED IDEOGRAPH
+  {0xA571, 0x53F8}, //616 #CJK UNIFIED IDEOGRAPH
+  {0xA572, 0x53F5}, //617 #CJK UNIFIED IDEOGRAPH
+  {0xA573, 0x53EB}, //618 #CJK UNIFIED IDEOGRAPH
+  {0xA574, 0x53E6}, //619 #CJK UNIFIED IDEOGRAPH
+  {0xA575, 0x53EA}, //620 #CJK UNIFIED IDEOGRAPH
+  {0xA576, 0x53F2}, //621 #CJK UNIFIED IDEOGRAPH
+  {0xA577, 0x53F1}, //622 #CJK UNIFIED IDEOGRAPH
+  {0xA578, 0x53F0}, //623 #CJK UNIFIED IDEOGRAPH
+  {0xA579, 0x53E5}, //624 #CJK UNIFIED IDEOGRAPH
+  {0xA57A, 0x53ED}, //625 #CJK UNIFIED IDEOGRAPH
+  {0xA57B, 0x53FB}, //626 #CJK UNIFIED IDEOGRAPH
+  {0xA57C, 0x56DB}, //627 #CJK UNIFIED IDEOGRAPH
+  {0xA57D, 0x56DA}, //628 #CJK UNIFIED IDEOGRAPH
+  {0xA57E, 0x5916}, //629 #CJK UNIFIED IDEOGRAPH
+  {0xA5A1, 0x592E}, //630 #CJK UNIFIED IDEOGRAPH
+  {0xA5A2, 0x5931}, //631 #CJK UNIFIED IDEOGRAPH
+  {0xA5A3, 0x5974}, //632 #CJK UNIFIED IDEOGRAPH
+  {0xA5A4, 0x5976}, //633 #CJK UNIFIED IDEOGRAPH
+  {0xA5A5, 0x5B55}, //634 #CJK UNIFIED IDEOGRAPH
+  {0xA5A6, 0x5B83}, //635 #CJK UNIFIED IDEOGRAPH
+  {0xA5A7, 0x5C3C}, //636 #CJK UNIFIED IDEOGRAPH
+  {0xA5A8, 0x5DE8}, //637 #CJK UNIFIED IDEOGRAPH
+  {0xA5A9, 0x5DE7}, //638 #CJK UNIFIED IDEOGRAPH
+  {0xA5AA, 0x5DE6}, //639 #CJK UNIFIED IDEOGRAPH
+  {0xA5AB, 0x5E02}, //640 #CJK UNIFIED IDEOGRAPH
+  {0xA5AC, 0x5E03}, //641 #CJK UNIFIED IDEOGRAPH
+  {0xA5AD, 0x5E73}, //642 #CJK UNIFIED IDEOGRAPH
+  {0xA5AE, 0x5E7C}, //643 #CJK UNIFIED IDEOGRAPH
+  {0xA5AF, 0x5F01}, //644 #CJK UNIFIED IDEOGRAPH
+  {0xA5B0, 0x5F18}, //645 #CJK UNIFIED IDEOGRAPH
+  {0xA5B1, 0x5F17}, //646 #CJK UNIFIED IDEOGRAPH
+  {0xA5B2, 0x5FC5}, //647 #CJK UNIFIED IDEOGRAPH
+  {0xA5B3, 0x620A}, //648 #CJK UNIFIED IDEOGRAPH
+  {0xA5B4, 0x6253}, //649 #CJK UNIFIED IDEOGRAPH
+  {0xA5B5, 0x6254}, //650 #CJK UNIFIED IDEOGRAPH
+  {0xA5B6, 0x6252}, //651 #CJK UNIFIED IDEOGRAPH
+  {0xA5B7, 0x6251}, //652 #CJK UNIFIED IDEOGRAPH
+  {0xA5B8, 0x65A5}, //653 #CJK UNIFIED IDEOGRAPH
+  {0xA5B9, 0x65E6}, //654 #CJK UNIFIED IDEOGRAPH
+  {0xA5BA, 0x672E}, //655 #CJK UNIFIED IDEOGRAPH
+  {0xA5BB, 0x672C}, //656 #CJK UNIFIED IDEOGRAPH
+  {0xA5BC, 0x672A}, //657 #CJK UNIFIED IDEOGRAPH
+  {0xA5BD, 0x672B}, //658 #CJK UNIFIED IDEOGRAPH
+  {0xA5BE, 0x672D}, //659 #CJK UNIFIED IDEOGRAPH
+  {0xA5BF, 0x6B63}, //660 #CJK UNIFIED IDEOGRAPH
+  {0xA5C0, 0x6BCD}, //661 #CJK UNIFIED IDEOGRAPH
+  {0xA5C1, 0x6C11}, //662 #CJK UNIFIED IDEOGRAPH
+  {0xA5C2, 0x6C10}, //663 #CJK UNIFIED IDEOGRAPH
+  {0xA5C3, 0x6C38}, //664 #CJK UNIFIED IDEOGRAPH
+  {0xA5C4, 0x6C41}, //665 #CJK UNIFIED IDEOGRAPH
+  {0xA5C5, 0x6C40}, //666 #CJK UNIFIED IDEOGRAPH
+  {0xA5C6, 0x6C3E}, //667 #CJK UNIFIED IDEOGRAPH
+  {0xA5C7, 0x72AF}, //668 #CJK UNIFIED IDEOGRAPH
+  {0xA5C8, 0x7384}, //669 #CJK UNIFIED IDEOGRAPH
+  {0xA5C9, 0x7389}, //670 #CJK UNIFIED IDEOGRAPH
+  {0xA5CA, 0x74DC}, //671 #CJK UNIFIED IDEOGRAPH
+  {0xA5CB, 0x74E6}, //672 #CJK UNIFIED IDEOGRAPH
+  {0xA5CC, 0x7518}, //673 #CJK UNIFIED IDEOGRAPH
+  {0xA5CD, 0x751F}, //674 #CJK UNIFIED IDEOGRAPH
+  {0xA5CE, 0x7528}, //675 #CJK UNIFIED IDEOGRAPH
+  {0xA5CF, 0x7529}, //676 #CJK UNIFIED IDEOGRAPH
+  {0xA5D0, 0x7530}, //677 #CJK UNIFIED IDEOGRAPH
+  {0xA5D1, 0x7531}, //678 #CJK UNIFIED IDEOGRAPH
+  {0xA5D2, 0x7532}, //679 #CJK UNIFIED IDEOGRAPH
+  {0xA5D3, 0x7533}, //680 #CJK UNIFIED IDEOGRAPH
+  {0xA5D4, 0x758B}, //681 #CJK UNIFIED IDEOGRAPH
+  {0xA5D5, 0x767D}, //682 #CJK UNIFIED IDEOGRAPH
+  {0xA5D6, 0x76AE}, //683 #CJK UNIFIED IDEOGRAPH
+  {0xA5D7, 0x76BF}, //684 #CJK UNIFIED IDEOGRAPH
+  {0xA5D8, 0x76EE}, //685 #CJK UNIFIED IDEOGRAPH
+  {0xA5D9, 0x77DB}, //686 #CJK UNIFIED IDEOGRAPH
+  {0xA5DA, 0x77E2}, //687 #CJK UNIFIED IDEOGRAPH
+  {0xA5DB, 0x77F3}, //688 #CJK UNIFIED IDEOGRAPH
+  {0xA5DC, 0x793A}, //689 #CJK UNIFIED IDEOGRAPH
+  {0xA5DD, 0x79BE}, //690 #CJK UNIFIED IDEOGRAPH
+  {0xA5DE, 0x7A74}, //691 #CJK UNIFIED IDEOGRAPH
+  {0xA5DF, 0x7ACB}, //692 #CJK UNIFIED IDEOGRAPH
+  {0xA5E0, 0x4E1E}, //693 #CJK UNIFIED IDEOGRAPH
+  {0xA5E1, 0x4E1F}, //694 #CJK UNIFIED IDEOGRAPH
+  {0xA5E2, 0x4E52}, //695 #CJK UNIFIED IDEOGRAPH
+  {0xA5E3, 0x4E53}, //696 #CJK UNIFIED IDEOGRAPH
+  {0xA5E4, 0x4E69}, //697 #CJK UNIFIED IDEOGRAPH
+  {0xA5E5, 0x4E99}, //698 #CJK UNIFIED IDEOGRAPH
+  {0xA5E6, 0x4EA4}, //699 #CJK UNIFIED IDEOGRAPH
+  {0xA5E7, 0x4EA6}, //700 #CJK UNIFIED IDEOGRAPH
+  {0xA5E8, 0x4EA5}, //701 #CJK UNIFIED IDEOGRAPH
+  {0xA5E9, 0x4EFF}, //702 #CJK UNIFIED IDEOGRAPH
+  {0xA5EA, 0x4F09}, //703 #CJK UNIFIED IDEOGRAPH
+  {0xA5EB, 0x4F19}, //704 #CJK UNIFIED IDEOGRAPH
+  {0xA5EC, 0x4F0A}, //705 #CJK UNIFIED IDEOGRAPH
+  {0xA5ED, 0x4F15}, //706 #CJK UNIFIED IDEOGRAPH
+  {0xA5EE, 0x4F0D}, //707 #CJK UNIFIED IDEOGRAPH
+  {0xA5EF, 0x4F10}, //708 #CJK UNIFIED IDEOGRAPH
+  {0xA5F0, 0x4F11}, //709 #CJK UNIFIED IDEOGRAPH
+  {0xA5F1, 0x4F0F}, //710 #CJK UNIFIED IDEOGRAPH
+  {0xA5F2, 0x4EF2}, //711 #CJK UNIFIED IDEOGRAPH
+  {0xA5F3, 0x4EF6}, //712 #CJK UNIFIED IDEOGRAPH
+  {0xA5F4, 0x4EFB}, //713 #CJK UNIFIED IDEOGRAPH
+  {0xA5F5, 0x4EF0}, //714 #CJK UNIFIED IDEOGRAPH
+  {0xA5F6, 0x4EF3}, //715 #CJK UNIFIED IDEOGRAPH
+  {0xA5F7, 0x4EFD}, //716 #CJK UNIFIED IDEOGRAPH
+  {0xA5F8, 0x4F01}, //717 #CJK UNIFIED IDEOGRAPH
+  {0xA5F9, 0x4F0B}, //718 #CJK UNIFIED IDEOGRAPH
+  {0xA5FA, 0x5149}, //719 #CJK UNIFIED IDEOGRAPH
+  {0xA5FB, 0x5147}, //720 #CJK UNIFIED IDEOGRAPH
+  {0xA5FC, 0x5146}, //721 #CJK UNIFIED IDEOGRAPH
+  {0xA5FD, 0x5148}, //722 #CJK UNIFIED IDEOGRAPH
+  {0xA5FE, 0x5168}, //723 #CJK UNIFIED IDEOGRAPH
+  {0xA640, 0x5171}, //724 #CJK UNIFIED IDEOGRAPH
+  {0xA641, 0x518D}, //725 #CJK UNIFIED IDEOGRAPH
+  {0xA642, 0x51B0}, //726 #CJK UNIFIED IDEOGRAPH
+  {0xA643, 0x5217}, //727 #CJK UNIFIED IDEOGRAPH
+  {0xA644, 0x5211}, //728 #CJK UNIFIED IDEOGRAPH
+  {0xA645, 0x5212}, //729 #CJK UNIFIED IDEOGRAPH
+  {0xA646, 0x520E}, //730 #CJK UNIFIED IDEOGRAPH
+  {0xA647, 0x5216}, //731 #CJK UNIFIED IDEOGRAPH
+  {0xA648, 0x52A3}, //732 #CJK UNIFIED IDEOGRAPH
+  {0xA649, 0x5308}, //733 #CJK UNIFIED IDEOGRAPH
+  {0xA64A, 0x5321}, //734 #CJK UNIFIED IDEOGRAPH
+  {0xA64B, 0x5320}, //735 #CJK UNIFIED IDEOGRAPH
+  {0xA64C, 0x5370}, //736 #CJK UNIFIED IDEOGRAPH
+  {0xA64D, 0x5371}, //737 #CJK UNIFIED IDEOGRAPH
+  {0xA64E, 0x5409}, //738 #CJK UNIFIED IDEOGRAPH
+  {0xA64F, 0x540F}, //739 #CJK UNIFIED IDEOGRAPH
+  {0xA650, 0x540C}, //740 #CJK UNIFIED IDEOGRAPH
+  {0xA651, 0x540A}, //741 #CJK UNIFIED IDEOGRAPH
+  {0xA652, 0x5410}, //742 #CJK UNIFIED IDEOGRAPH
+  {0xA653, 0x5401}, //743 #CJK UNIFIED IDEOGRAPH
+  {0xA654, 0x540B}, //744 #CJK UNIFIED IDEOGRAPH
+  {0xA655, 0x5404}, //745 #CJK UNIFIED IDEOGRAPH
+  {0xA656, 0x5411}, //746 #CJK UNIFIED IDEOGRAPH
+  {0xA657, 0x540D}, //747 #CJK UNIFIED IDEOGRAPH
+  {0xA658, 0x5408}, //748 #CJK UNIFIED IDEOGRAPH
+  {0xA659, 0x5403}, //749 #CJK UNIFIED IDEOGRAPH
+  {0xA65A, 0x540E}, //750 #CJK UNIFIED IDEOGRAPH
+  {0xA65B, 0x5406}, //751 #CJK UNIFIED IDEOGRAPH
+  {0xA65C, 0x5412}, //752 #CJK UNIFIED IDEOGRAPH
+  {0xA65D, 0x56E0}, //753 #CJK UNIFIED IDEOGRAPH
+  {0xA65E, 0x56DE}, //754 #CJK UNIFIED IDEOGRAPH
+  {0xA65F, 0x56DD}, //755 #CJK UNIFIED IDEOGRAPH
+  {0xA660, 0x5733}, //756 #CJK UNIFIED IDEOGRAPH
+  {0xA661, 0x5730}, //757 #CJK UNIFIED IDEOGRAPH
+  {0xA662, 0x5728}, //758 #CJK UNIFIED IDEOGRAPH
+  {0xA663, 0x572D}, //759 #CJK UNIFIED IDEOGRAPH
+  {0xA664, 0x572C}, //760 #CJK UNIFIED IDEOGRAPH
+  {0xA665, 0x572F}, //761 #CJK UNIFIED IDEOGRAPH
+  {0xA666, 0x5729}, //762 #CJK UNIFIED IDEOGRAPH
+  {0xA667, 0x5919}, //763 #CJK UNIFIED IDEOGRAPH
+  {0xA668, 0x591A}, //764 #CJK UNIFIED IDEOGRAPH
+  {0xA669, 0x5937}, //765 #CJK UNIFIED IDEOGRAPH
+  {0xA66A, 0x5938}, //766 #CJK UNIFIED IDEOGRAPH
+  {0xA66B, 0x5984}, //767 #CJK UNIFIED IDEOGRAPH
+  {0xA66C, 0x5978}, //768 #CJK UNIFIED IDEOGRAPH
+  {0xA66D, 0x5983}, //769 #CJK UNIFIED IDEOGRAPH
+  {0xA66E, 0x597D}, //770 #CJK UNIFIED IDEOGRAPH
+  {0xA66F, 0x5979}, //771 #CJK UNIFIED IDEOGRAPH
+  {0xA670, 0x5982}, //772 #CJK UNIFIED IDEOGRAPH
+  {0xA671, 0x5981}, //773 #CJK UNIFIED IDEOGRAPH
+  {0xA672, 0x5B57}, //774 #CJK UNIFIED IDEOGRAPH
+  {0xA673, 0x5B58}, //775 #CJK UNIFIED IDEOGRAPH
+  {0xA674, 0x5B87}, //776 #CJK UNIFIED IDEOGRAPH
+  {0xA675, 0x5B88}, //777 #CJK UNIFIED IDEOGRAPH
+  {0xA676, 0x5B85}, //778 #CJK UNIFIED IDEOGRAPH
+  {0xA677, 0x5B89}, //779 #CJK UNIFIED IDEOGRAPH
+  {0xA678, 0x5BFA}, //780 #CJK UNIFIED IDEOGRAPH
+  {0xA679, 0x5C16}, //781 #CJK UNIFIED IDEOGRAPH
+  {0xA67A, 0x5C79}, //782 #CJK UNIFIED IDEOGRAPH
+  {0xA67B, 0x5DDE}, //783 #CJK UNIFIED IDEOGRAPH
+  {0xA67C, 0x5E06}, //784 #CJK UNIFIED IDEOGRAPH
+  {0xA67D, 0x5E76}, //785 #CJK UNIFIED IDEOGRAPH
+  {0xA67E, 0x5E74}, //786 #CJK UNIFIED IDEOGRAPH
+  {0xA6A1, 0x5F0F}, //787 #CJK UNIFIED IDEOGRAPH
+  {0xA6A2, 0x5F1B}, //788 #CJK UNIFIED IDEOGRAPH
+  {0xA6A3, 0x5FD9}, //789 #CJK UNIFIED IDEOGRAPH
+  {0xA6A4, 0x5FD6}, //790 #CJK UNIFIED IDEOGRAPH
+  {0xA6A5, 0x620E}, //791 #CJK UNIFIED IDEOGRAPH
+  {0xA6A6, 0x620C}, //792 #CJK UNIFIED IDEOGRAPH
+  {0xA6A7, 0x620D}, //793 #CJK UNIFIED IDEOGRAPH
+  {0xA6A8, 0x6210}, //794 #CJK UNIFIED IDEOGRAPH
+  {0xA6A9, 0x6263}, //795 #CJK UNIFIED IDEOGRAPH
+  {0xA6AA, 0x625B}, //796 #CJK UNIFIED IDEOGRAPH
+  {0xA6AB, 0x6258}, //797 #CJK UNIFIED IDEOGRAPH
+  {0xA6AC, 0x6536}, //798 #CJK UNIFIED IDEOGRAPH
+  {0xA6AD, 0x65E9}, //799 #CJK UNIFIED IDEOGRAPH
+  {0xA6AE, 0x65E8}, //800 #CJK UNIFIED IDEOGRAPH
+  {0xA6AF, 0x65EC}, //801 #CJK UNIFIED IDEOGRAPH
+  {0xA6B0, 0x65ED}, //802 #CJK UNIFIED IDEOGRAPH
+  {0xA6B1, 0x66F2}, //803 #CJK UNIFIED IDEOGRAPH
+  {0xA6B2, 0x66F3}, //804 #CJK UNIFIED IDEOGRAPH
+  {0xA6B3, 0x6709}, //805 #CJK UNIFIED IDEOGRAPH
+  {0xA6B4, 0x673D}, //806 #CJK UNIFIED IDEOGRAPH
+  {0xA6B5, 0x6734}, //807 #CJK UNIFIED IDEOGRAPH
+  {0xA6B6, 0x6731}, //808 #CJK UNIFIED IDEOGRAPH
+  {0xA6B7, 0x6735}, //809 #CJK UNIFIED IDEOGRAPH
+  {0xA6B8, 0x6B21}, //810 #CJK UNIFIED IDEOGRAPH
+  {0xA6B9, 0x6B64}, //811 #CJK UNIFIED IDEOGRAPH
+  {0xA6BA, 0x6B7B}, //812 #CJK UNIFIED IDEOGRAPH
+  {0xA6BB, 0x6C16}, //813 #CJK UNIFIED IDEOGRAPH
+  {0xA6BC, 0x6C5D}, //814 #CJK UNIFIED IDEOGRAPH
+  {0xA6BD, 0x6C57}, //815 #CJK UNIFIED IDEOGRAPH
+  {0xA6BE, 0x6C59}, //816 #CJK UNIFIED IDEOGRAPH
+  {0xA6BF, 0x6C5F}, //817 #CJK UNIFIED IDEOGRAPH
+  {0xA6C0, 0x6C60}, //818 #CJK UNIFIED IDEOGRAPH
+  {0xA6C1, 0x6C50}, //819 #CJK UNIFIED IDEOGRAPH
+  {0xA6C2, 0x6C55}, //820 #CJK UNIFIED IDEOGRAPH
+  {0xA6C3, 0x6C61}, //821 #CJK UNIFIED IDEOGRAPH
+  {0xA6C4, 0x6C5B}, //822 #CJK UNIFIED IDEOGRAPH
+  {0xA6C5, 0x6C4D}, //823 #CJK UNIFIED IDEOGRAPH
+  {0xA6C6, 0x6C4E}, //824 #CJK UNIFIED IDEOGRAPH
+  {0xA6C7, 0x7070}, //825 #CJK UNIFIED IDEOGRAPH
+  {0xA6C8, 0x725F}, //826 #CJK UNIFIED IDEOGRAPH
+  {0xA6C9, 0x725D}, //827 #CJK UNIFIED IDEOGRAPH
+  {0xA6CA, 0x767E}, //828 #CJK UNIFIED IDEOGRAPH
+  {0xA6CB, 0x7AF9}, //829 #CJK UNIFIED IDEOGRAPH
+  {0xA6CC, 0x7C73}, //830 #CJK UNIFIED IDEOGRAPH
+  {0xA6CD, 0x7CF8}, //831 #CJK UNIFIED IDEOGRAPH
+  {0xA6CE, 0x7F36}, //832 #CJK UNIFIED IDEOGRAPH
+  {0xA6CF, 0x7F8A}, //833 #CJK UNIFIED IDEOGRAPH
+  {0xA6D0, 0x7FBD}, //834 #CJK UNIFIED IDEOGRAPH
+  {0xA6D1, 0x8001}, //835 #CJK UNIFIED IDEOGRAPH
+  {0xA6D2, 0x8003}, //836 #CJK UNIFIED IDEOGRAPH
+  {0xA6D3, 0x800C}, //837 #CJK UNIFIED IDEOGRAPH
+  {0xA6D4, 0x8012}, //838 #CJK UNIFIED IDEOGRAPH
+  {0xA6D5, 0x8033}, //839 #CJK UNIFIED IDEOGRAPH
+  {0xA6D6, 0x807F}, //840 #CJK UNIFIED IDEOGRAPH
+  {0xA6D7, 0x8089}, //841 #CJK UNIFIED IDEOGRAPH
+  {0xA6D8, 0x808B}, //842 #CJK UNIFIED IDEOGRAPH
+  {0xA6D9, 0x808C}, //843 #CJK UNIFIED IDEOGRAPH
+  {0xA6DA, 0x81E3}, //844 #CJK UNIFIED IDEOGRAPH
+  {0xA6DB, 0x81EA}, //845 #CJK UNIFIED IDEOGRAPH
+  {0xA6DC, 0x81F3}, //846 #CJK UNIFIED IDEOGRAPH
+  {0xA6DD, 0x81FC}, //847 #CJK UNIFIED IDEOGRAPH
+  {0xA6DE, 0x820C}, //848 #CJK UNIFIED IDEOGRAPH
+  {0xA6DF, 0x821B}, //849 #CJK UNIFIED IDEOGRAPH
+  {0xA6E0, 0x821F}, //850 #CJK UNIFIED IDEOGRAPH
+  {0xA6E1, 0x826E}, //851 #CJK UNIFIED IDEOGRAPH
+  {0xA6E2, 0x8272}, //852 #CJK UNIFIED IDEOGRAPH
+  {0xA6E3, 0x827E}, //853 #CJK UNIFIED IDEOGRAPH
+  {0xA6E4, 0x866B}, //854 #CJK UNIFIED IDEOGRAPH
+  {0xA6E5, 0x8840}, //855 #CJK UNIFIED IDEOGRAPH
+  {0xA6E6, 0x884C}, //856 #CJK UNIFIED IDEOGRAPH
+  {0xA6E7, 0x8863}, //857 #CJK UNIFIED IDEOGRAPH
+  {0xA6E8, 0x897F}, //858 #CJK UNIFIED IDEOGRAPH
+  {0xA6E9, 0x9621}, //859 #CJK UNIFIED IDEOGRAPH
+  {0xA6EA, 0x4E32}, //860 #CJK UNIFIED IDEOGRAPH
+  {0xA6EB, 0x4EA8}, //861 #CJK UNIFIED IDEOGRAPH
+  {0xA6EC, 0x4F4D}, //862 #CJK UNIFIED IDEOGRAPH
+  {0xA6ED, 0x4F4F}, //863 #CJK UNIFIED IDEOGRAPH
+  {0xA6EE, 0x4F47}, //864 #CJK UNIFIED IDEOGRAPH
+  {0xA6EF, 0x4F57}, //865 #CJK UNIFIED IDEOGRAPH
+  {0xA6F0, 0x4F5E}, //866 #CJK UNIFIED IDEOGRAPH
+  {0xA6F1, 0x4F34}, //867 #CJK UNIFIED IDEOGRAPH
+  {0xA6F2, 0x4F5B}, //868 #CJK UNIFIED IDEOGRAPH
+  {0xA6F3, 0x4F55}, //869 #CJK UNIFIED IDEOGRAPH
+  {0xA6F4, 0x4F30}, //870 #CJK UNIFIED IDEOGRAPH
+  {0xA6F5, 0x4F50}, //871 #CJK UNIFIED IDEOGRAPH
+  {0xA6F6, 0x4F51}, //872 #CJK UNIFIED IDEOGRAPH
+  {0xA6F7, 0x4F3D}, //873 #CJK UNIFIED IDEOGRAPH
+  {0xA6F8, 0x4F3A}, //874 #CJK UNIFIED IDEOGRAPH
+  {0xA6F9, 0x4F38}, //875 #CJK UNIFIED IDEOGRAPH
+  {0xA6FA, 0x4F43}, //876 #CJK UNIFIED IDEOGRAPH
+  {0xA6FB, 0x4F54}, //877 #CJK UNIFIED IDEOGRAPH
+  {0xA6FC, 0x4F3C}, //878 #CJK UNIFIED IDEOGRAPH
+  {0xA6FD, 0x4F46}, //879 #CJK UNIFIED IDEOGRAPH
+  {0xA6FE, 0x4F63}, //880 #CJK UNIFIED IDEOGRAPH
+  {0xA740, 0x4F5C}, //881 #CJK UNIFIED IDEOGRAPH
+  {0xA741, 0x4F60}, //882 #CJK UNIFIED IDEOGRAPH
+  {0xA742, 0x4F2F}, //883 #CJK UNIFIED IDEOGRAPH
+  {0xA743, 0x4F4E}, //884 #CJK UNIFIED IDEOGRAPH
+  {0xA744, 0x4F36}, //885 #CJK UNIFIED IDEOGRAPH
+  {0xA745, 0x4F59}, //886 #CJK UNIFIED IDEOGRAPH
+  {0xA746, 0x4F5D}, //887 #CJK UNIFIED IDEOGRAPH
+  {0xA747, 0x4F48}, //888 #CJK UNIFIED IDEOGRAPH
+  {0xA748, 0x4F5A}, //889 #CJK UNIFIED IDEOGRAPH
+  {0xA749, 0x514C}, //890 #CJK UNIFIED IDEOGRAPH
+  {0xA74A, 0x514B}, //891 #CJK UNIFIED IDEOGRAPH
+  {0xA74B, 0x514D}, //892 #CJK UNIFIED IDEOGRAPH
+  {0xA74C, 0x5175}, //893 #CJK UNIFIED IDEOGRAPH
+  {0xA74D, 0x51B6}, //894 #CJK UNIFIED IDEOGRAPH
+  {0xA74E, 0x51B7}, //895 #CJK UNIFIED IDEOGRAPH
+  {0xA74F, 0x5225}, //896 #CJK UNIFIED IDEOGRAPH
+  {0xA750, 0x5224}, //897 #CJK UNIFIED IDEOGRAPH
+  {0xA751, 0x5229}, //898 #CJK UNIFIED IDEOGRAPH
+  {0xA752, 0x522A}, //899 #CJK UNIFIED IDEOGRAPH
+  {0xA753, 0x5228}, //900 #CJK UNIFIED IDEOGRAPH
+  {0xA754, 0x52AB}, //901 #CJK UNIFIED IDEOGRAPH
+  {0xA755, 0x52A9}, //902 #CJK UNIFIED IDEOGRAPH
+  {0xA756, 0x52AA}, //903 #CJK UNIFIED IDEOGRAPH
+  {0xA757, 0x52AC}, //904 #CJK UNIFIED IDEOGRAPH
+  {0xA758, 0x5323}, //905 #CJK UNIFIED IDEOGRAPH
+  {0xA759, 0x5373}, //906 #CJK UNIFIED IDEOGRAPH
+  {0xA75A, 0x5375}, //907 #CJK UNIFIED IDEOGRAPH
+  {0xA75B, 0x541D}, //908 #CJK UNIFIED IDEOGRAPH
+  {0xA75C, 0x542D}, //909 #CJK UNIFIED IDEOGRAPH
+  {0xA75D, 0x541E}, //910 #CJK UNIFIED IDEOGRAPH
+  {0xA75E, 0x543E}, //911 #CJK UNIFIED IDEOGRAPH
+  {0xA75F, 0x5426}, //912 #CJK UNIFIED IDEOGRAPH
+  {0xA760, 0x544E}, //913 #CJK UNIFIED IDEOGRAPH
+  {0xA761, 0x5427}, //914 #CJK UNIFIED IDEOGRAPH
+  {0xA762, 0x5446}, //915 #CJK UNIFIED IDEOGRAPH
+  {0xA763, 0x5443}, //916 #CJK UNIFIED IDEOGRAPH
+  {0xA764, 0x5433}, //917 #CJK UNIFIED IDEOGRAPH
+  {0xA765, 0x5448}, //918 #CJK UNIFIED IDEOGRAPH
+  {0xA766, 0x5442}, //919 #CJK UNIFIED IDEOGRAPH
+  {0xA767, 0x541B}, //920 #CJK UNIFIED IDEOGRAPH
+  {0xA768, 0x5429}, //921 #CJK UNIFIED IDEOGRAPH
+  {0xA769, 0x544A}, //922 #CJK UNIFIED IDEOGRAPH
+  {0xA76A, 0x5439}, //923 #CJK UNIFIED IDEOGRAPH
+  {0xA76B, 0x543B}, //924 #CJK UNIFIED IDEOGRAPH
+  {0xA76C, 0x5438}, //925 #CJK UNIFIED IDEOGRAPH
+  {0xA76D, 0x542E}, //926 #CJK UNIFIED IDEOGRAPH
+  {0xA76E, 0x5435}, //927 #CJK UNIFIED IDEOGRAPH
+  {0xA76F, 0x5436}, //928 #CJK UNIFIED IDEOGRAPH
+  {0xA770, 0x5420}, //929 #CJK UNIFIED IDEOGRAPH
+  {0xA771, 0x543C}, //930 #CJK UNIFIED IDEOGRAPH
+  {0xA772, 0x5440}, //931 #CJK UNIFIED IDEOGRAPH
+  {0xA773, 0x5431}, //932 #CJK UNIFIED IDEOGRAPH
+  {0xA774, 0x542B}, //933 #CJK UNIFIED IDEOGRAPH
+  {0xA775, 0x541F}, //934 #CJK UNIFIED IDEOGRAPH
+  {0xA776, 0x542C}, //935 #CJK UNIFIED IDEOGRAPH
+  {0xA777, 0x56EA}, //936 #CJK UNIFIED IDEOGRAPH
+  {0xA778, 0x56F0}, //937 #CJK UNIFIED IDEOGRAPH
+  {0xA779, 0x56E4}, //938 #CJK UNIFIED IDEOGRAPH
+  {0xA77A, 0x56EB}, //939 #CJK UNIFIED IDEOGRAPH
+  {0xA77B, 0x574A}, //940 #CJK UNIFIED IDEOGRAPH
+  {0xA77C, 0x5751}, //941 #CJK UNIFIED IDEOGRAPH
+  {0xA77D, 0x5740}, //942 #CJK UNIFIED IDEOGRAPH
+  {0xA77E, 0x574D}, //943 #CJK UNIFIED IDEOGRAPH
+  {0xA7A1, 0x5747}, //944 #CJK UNIFIED IDEOGRAPH
+  {0xA7A2, 0x574E}, //945 #CJK UNIFIED IDEOGRAPH
+  {0xA7A3, 0x573E}, //946 #CJK UNIFIED IDEOGRAPH
+  {0xA7A4, 0x5750}, //947 #CJK UNIFIED IDEOGRAPH
+  {0xA7A5, 0x574F}, //948 #CJK UNIFIED IDEOGRAPH
+  {0xA7A6, 0x573B}, //949 #CJK UNIFIED IDEOGRAPH
+  {0xA7A7, 0x58EF}, //950 #CJK UNIFIED IDEOGRAPH
+  {0xA7A8, 0x593E}, //951 #CJK UNIFIED IDEOGRAPH
+  {0xA7A9, 0x599D}, //952 #CJK UNIFIED IDEOGRAPH
+  {0xA7AA, 0x5992}, //953 #CJK UNIFIED IDEOGRAPH
+  {0xA7AB, 0x59A8}, //954 #CJK UNIFIED IDEOGRAPH
+  {0xA7AC, 0x599E}, //955 #CJK UNIFIED IDEOGRAPH
+  {0xA7AD, 0x59A3}, //956 #CJK UNIFIED IDEOGRAPH
+  {0xA7AE, 0x5999}, //957 #CJK UNIFIED IDEOGRAPH
+  {0xA7AF, 0x5996}, //958 #CJK UNIFIED IDEOGRAPH
+  {0xA7B0, 0x598D}, //959 #CJK UNIFIED IDEOGRAPH
+  {0xA7B1, 0x59A4}, //960 #CJK UNIFIED IDEOGRAPH
+  {0xA7B2, 0x5993}, //961 #CJK UNIFIED IDEOGRAPH
+  {0xA7B3, 0x598A}, //962 #CJK UNIFIED IDEOGRAPH
+  {0xA7B4, 0x59A5}, //963 #CJK UNIFIED IDEOGRAPH
+  {0xA7B5, 0x5B5D}, //964 #CJK UNIFIED IDEOGRAPH
+  {0xA7B6, 0x5B5C}, //965 #CJK UNIFIED IDEOGRAPH
+  {0xA7B7, 0x5B5A}, //966 #CJK UNIFIED IDEOGRAPH
+  {0xA7B8, 0x5B5B}, //967 #CJK UNIFIED IDEOGRAPH
+  {0xA7B9, 0x5B8C}, //968 #CJK UNIFIED IDEOGRAPH
+  {0xA7BA, 0x5B8B}, //969 #CJK UNIFIED IDEOGRAPH
+  {0xA7BB, 0x5B8F}, //970 #CJK UNIFIED IDEOGRAPH
+  {0xA7BC, 0x5C2C}, //971 #CJK UNIFIED IDEOGRAPH
+  {0xA7BD, 0x5C40}, //972 #CJK UNIFIED IDEOGRAPH
+  {0xA7BE, 0x5C41}, //973 #CJK UNIFIED IDEOGRAPH
+  {0xA7BF, 0x5C3F}, //974 #CJK UNIFIED IDEOGRAPH
+  {0xA7C0, 0x5C3E}, //975 #CJK UNIFIED IDEOGRAPH
+  {0xA7C1, 0x5C90}, //976 #CJK UNIFIED IDEOGRAPH
+  {0xA7C2, 0x5C91}, //977 #CJK UNIFIED IDEOGRAPH
+  {0xA7C3, 0x5C94}, //978 #CJK UNIFIED IDEOGRAPH
+  {0xA7C4, 0x5C8C}, //979 #CJK UNIFIED IDEOGRAPH
+  {0xA7C5, 0x5DEB}, //980 #CJK UNIFIED IDEOGRAPH
+  {0xA7C6, 0x5E0C}, //981 #CJK UNIFIED IDEOGRAPH
+  {0xA7C7, 0x5E8F}, //982 #CJK UNIFIED IDEOGRAPH
+  {0xA7C8, 0x5E87}, //983 #CJK UNIFIED IDEOGRAPH
+  {0xA7C9, 0x5E8A}, //984 #CJK UNIFIED IDEOGRAPH
+  {0xA7CA, 0x5EF7}, //985 #CJK UNIFIED IDEOGRAPH
+  {0xA7CB, 0x5F04}, //986 #CJK UNIFIED IDEOGRAPH
+  {0xA7CC, 0x5F1F}, //987 #CJK UNIFIED IDEOGRAPH
+  {0xA7CD, 0x5F64}, //988 #CJK UNIFIED IDEOGRAPH
+  {0xA7CE, 0x5F62}, //989 #CJK UNIFIED IDEOGRAPH
+  {0xA7CF, 0x5F77}, //990 #CJK UNIFIED IDEOGRAPH
+  {0xA7D0, 0x5F79}, //991 #CJK UNIFIED IDEOGRAPH
+  {0xA7D1, 0x5FD8}, //992 #CJK UNIFIED IDEOGRAPH
+  {0xA7D2, 0x5FCC}, //993 #CJK UNIFIED IDEOGRAPH
+  {0xA7D3, 0x5FD7}, //994 #CJK UNIFIED IDEOGRAPH
+  {0xA7D4, 0x5FCD}, //995 #CJK UNIFIED IDEOGRAPH
+  {0xA7D5, 0x5FF1}, //996 #CJK UNIFIED IDEOGRAPH
+  {0xA7D6, 0x5FEB}, //997 #CJK UNIFIED IDEOGRAPH
+  {0xA7D7, 0x5FF8}, //998 #CJK UNIFIED IDEOGRAPH
+  {0xA7D8, 0x5FEA}, //999 #CJK UNIFIED IDEOGRAPH
+  {0xA7D9, 0x6212}, //1000 #CJK UNIFIED IDEOGRAPH
+  {0xA7DA, 0x6211}, //1001 #CJK UNIFIED IDEOGRAPH
+  {0xA7DB, 0x6284}, //1002 #CJK UNIFIED IDEOGRAPH
+  {0xA7DC, 0x6297}, //1003 #CJK UNIFIED IDEOGRAPH
+  {0xA7DD, 0x6296}, //1004 #CJK UNIFIED IDEOGRAPH
+  {0xA7DE, 0x6280}, //1005 #CJK UNIFIED IDEOGRAPH
+  {0xA7DF, 0x6276}, //1006 #CJK UNIFIED IDEOGRAPH
+  {0xA7E0, 0x6289}, //1007 #CJK UNIFIED IDEOGRAPH
+  {0xA7E1, 0x626D}, //1008 #CJK UNIFIED IDEOGRAPH
+  {0xA7E2, 0x628A}, //1009 #CJK UNIFIED IDEOGRAPH
+  {0xA7E3, 0x627C}, //1010 #CJK UNIFIED IDEOGRAPH
+  {0xA7E4, 0x627E}, //1011 #CJK UNIFIED IDEOGRAPH
+  {0xA7E5, 0x6279}, //1012 #CJK UNIFIED IDEOGRAPH
+  {0xA7E6, 0x6273}, //1013 #CJK UNIFIED IDEOGRAPH
+  {0xA7E7, 0x6292}, //1014 #CJK UNIFIED IDEOGRAPH
+  {0xA7E8, 0x626F}, //1015 #CJK UNIFIED IDEOGRAPH
+  {0xA7E9, 0x6298}, //1016 #CJK UNIFIED IDEOGRAPH
+  {0xA7EA, 0x626E}, //1017 #CJK UNIFIED IDEOGRAPH
+  {0xA7EB, 0x6295}, //1018 #CJK UNIFIED IDEOGRAPH
+  {0xA7EC, 0x6293}, //1019 #CJK UNIFIED IDEOGRAPH
+  {0xA7ED, 0x6291}, //1020 #CJK UNIFIED IDEOGRAPH
+  {0xA7EE, 0x6286}, //1021 #CJK UNIFIED IDEOGRAPH
+  {0xA7EF, 0x6539}, //1022 #CJK UNIFIED IDEOGRAPH
+  {0xA7F0, 0x653B}, //1023 #CJK UNIFIED IDEOGRAPH
+  {0xA7F1, 0x6538}, //1024 #CJK UNIFIED IDEOGRAPH
+  {0xA7F2, 0x65F1}, //1025 #CJK UNIFIED IDEOGRAPH
+  {0xA7F3, 0x66F4}, //1026 #CJK UNIFIED IDEOGRAPH
+  {0xA7F4, 0x675F}, //1027 #CJK UNIFIED IDEOGRAPH
+  {0xA7F5, 0x674E}, //1028 #CJK UNIFIED IDEOGRAPH
+  {0xA7F6, 0x674F}, //1029 #CJK UNIFIED IDEOGRAPH
+  {0xA7F7, 0x6750}, //1030 #CJK UNIFIED IDEOGRAPH
+  {0xA7F8, 0x6751}, //1031 #CJK UNIFIED IDEOGRAPH
+  {0xA7F9, 0x675C}, //1032 #CJK UNIFIED IDEOGRAPH
+  {0xA7FA, 0x6756}, //1033 #CJK UNIFIED IDEOGRAPH
+  {0xA7FB, 0x675E}, //1034 #CJK UNIFIED IDEOGRAPH
+  {0xA7FC, 0x6749}, //1035 #CJK UNIFIED IDEOGRAPH
+  {0xA7FD, 0x6746}, //1036 #CJK UNIFIED IDEOGRAPH
+  {0xA7FE, 0x6760}, //1037 #CJK UNIFIED IDEOGRAPH
+  {0xA840, 0x6753}, //1038 #CJK UNIFIED IDEOGRAPH
+  {0xA841, 0x6757}, //1039 #CJK UNIFIED IDEOGRAPH
+  {0xA842, 0x6B65}, //1040 #CJK UNIFIED IDEOGRAPH
+  {0xA843, 0x6BCF}, //1041 #CJK UNIFIED IDEOGRAPH
+  {0xA844, 0x6C42}, //1042 #CJK UNIFIED IDEOGRAPH
+  {0xA845, 0x6C5E}, //1043 #CJK UNIFIED IDEOGRAPH
+  {0xA846, 0x6C99}, //1044 #CJK UNIFIED IDEOGRAPH
+  {0xA847, 0x6C81}, //1045 #CJK UNIFIED IDEOGRAPH
+  {0xA848, 0x6C88}, //1046 #CJK UNIFIED IDEOGRAPH
+  {0xA849, 0x6C89}, //1047 #CJK UNIFIED IDEOGRAPH
+  {0xA84A, 0x6C85}, //1048 #CJK UNIFIED IDEOGRAPH
+  {0xA84B, 0x6C9B}, //1049 #CJK UNIFIED IDEOGRAPH
+  {0xA84C, 0x6C6A}, //1050 #CJK UNIFIED IDEOGRAPH
+  {0xA84D, 0x6C7A}, //1051 #CJK UNIFIED IDEOGRAPH
+  {0xA84E, 0x6C90}, //1052 #CJK UNIFIED IDEOGRAPH
+  {0xA84F, 0x6C70}, //1053 #CJK UNIFIED IDEOGRAPH
+  {0xA850, 0x6C8C}, //1054 #CJK UNIFIED IDEOGRAPH
+  {0xA851, 0x6C68}, //1055 #CJK UNIFIED IDEOGRAPH
+  {0xA852, 0x6C96}, //1056 #CJK UNIFIED IDEOGRAPH
+  {0xA853, 0x6C92}, //1057 #CJK UNIFIED IDEOGRAPH
+  {0xA854, 0x6C7D}, //1058 #CJK UNIFIED IDEOGRAPH
+  {0xA855, 0x6C83}, //1059 #CJK UNIFIED IDEOGRAPH
+  {0xA856, 0x6C72}, //1060 #CJK UNIFIED IDEOGRAPH
+  {0xA857, 0x6C7E}, //1061 #CJK UNIFIED IDEOGRAPH
+  {0xA858, 0x6C74}, //1062 #CJK UNIFIED IDEOGRAPH
+  {0xA859, 0x6C86}, //1063 #CJK UNIFIED IDEOGRAPH
+  {0xA85A, 0x6C76}, //1064 #CJK UNIFIED IDEOGRAPH
+  {0xA85B, 0x6C8D}, //1065 #CJK UNIFIED IDEOGRAPH
+  {0xA85C, 0x6C94}, //1066 #CJK UNIFIED IDEOGRAPH
+  {0xA85D, 0x6C98}, //1067 #CJK UNIFIED IDEOGRAPH
+  {0xA85E, 0x6C82}, //1068 #CJK UNIFIED IDEOGRAPH
+  {0xA85F, 0x7076}, //1069 #CJK UNIFIED IDEOGRAPH
+  {0xA860, 0x707C}, //1070 #CJK UNIFIED IDEOGRAPH
+  {0xA861, 0x707D}, //1071 #CJK UNIFIED IDEOGRAPH
+  {0xA862, 0x7078}, //1072 #CJK UNIFIED IDEOGRAPH
+  {0xA863, 0x7262}, //1073 #CJK UNIFIED IDEOGRAPH
+  {0xA864, 0x7261}, //1074 #CJK UNIFIED IDEOGRAPH
+  {0xA865, 0x7260}, //1075 #CJK UNIFIED IDEOGRAPH
+  {0xA866, 0x72C4}, //1076 #CJK UNIFIED IDEOGRAPH
+  {0xA867, 0x72C2}, //1077 #CJK UNIFIED IDEOGRAPH
+  {0xA868, 0x7396}, //1078 #CJK UNIFIED IDEOGRAPH
+  {0xA869, 0x752C}, //1079 #CJK UNIFIED IDEOGRAPH
+  {0xA86A, 0x752B}, //1080 #CJK UNIFIED IDEOGRAPH
+  {0xA86B, 0x7537}, //1081 #CJK UNIFIED IDEOGRAPH
+  {0xA86C, 0x7538}, //1082 #CJK UNIFIED IDEOGRAPH
+  {0xA86D, 0x7682}, //1083 #CJK UNIFIED IDEOGRAPH
+  {0xA86E, 0x76EF}, //1084 #CJK UNIFIED IDEOGRAPH
+  {0xA86F, 0x77E3}, //1085 #CJK UNIFIED IDEOGRAPH
+  {0xA870, 0x79C1}, //1086 #CJK UNIFIED IDEOGRAPH
+  {0xA871, 0x79C0}, //1087 #CJK UNIFIED IDEOGRAPH
+  {0xA872, 0x79BF}, //1088 #CJK UNIFIED IDEOGRAPH
+  {0xA873, 0x7A76}, //1089 #CJK UNIFIED IDEOGRAPH
+  {0xA874, 0x7CFB}, //1090 #CJK UNIFIED IDEOGRAPH
+  {0xA875, 0x7F55}, //1091 #CJK UNIFIED IDEOGRAPH
+  {0xA876, 0x8096}, //1092 #CJK UNIFIED IDEOGRAPH
+  {0xA877, 0x8093}, //1093 #CJK UNIFIED IDEOGRAPH
+  {0xA878, 0x809D}, //1094 #CJK UNIFIED IDEOGRAPH
+  {0xA879, 0x8098}, //1095 #CJK UNIFIED IDEOGRAPH
+  {0xA87A, 0x809B}, //1096 #CJK UNIFIED IDEOGRAPH
+  {0xA87B, 0x809A}, //1097 #CJK UNIFIED IDEOGRAPH
+  {0xA87C, 0x80B2}, //1098 #CJK UNIFIED IDEOGRAPH
+  {0xA87D, 0x826F}, //1099 #CJK UNIFIED IDEOGRAPH
+  {0xA87E, 0x8292}, //1100 #CJK UNIFIED IDEOGRAPH
+  {0xA8A1, 0x828B}, //1101 #CJK UNIFIED IDEOGRAPH
+  {0xA8A2, 0x828D}, //1102 #CJK UNIFIED IDEOGRAPH
+  {0xA8A3, 0x898B}, //1103 #CJK UNIFIED IDEOGRAPH
+  {0xA8A4, 0x89D2}, //1104 #CJK UNIFIED IDEOGRAPH
+  {0xA8A5, 0x8A00}, //1105 #CJK UNIFIED IDEOGRAPH
+  {0xA8A6, 0x8C37}, //1106 #CJK UNIFIED IDEOGRAPH
+  {0xA8A7, 0x8C46}, //1107 #CJK UNIFIED IDEOGRAPH
+  {0xA8A8, 0x8C55}, //1108 #CJK UNIFIED IDEOGRAPH
+  {0xA8A9, 0x8C9D}, //1109 #CJK UNIFIED IDEOGRAPH
+  {0xA8AA, 0x8D64}, //1110 #CJK UNIFIED IDEOGRAPH
+  {0xA8AB, 0x8D70}, //1111 #CJK UNIFIED IDEOGRAPH
+  {0xA8AC, 0x8DB3}, //1112 #CJK UNIFIED IDEOGRAPH
+  {0xA8AD, 0x8EAB}, //1113 #CJK UNIFIED IDEOGRAPH
+  {0xA8AE, 0x8ECA}, //1114 #CJK UNIFIED IDEOGRAPH
+  {0xA8AF, 0x8F9B}, //1115 #CJK UNIFIED IDEOGRAPH
+  {0xA8B0, 0x8FB0}, //1116 #CJK UNIFIED IDEOGRAPH
+  {0xA8B1, 0x8FC2}, //1117 #CJK UNIFIED IDEOGRAPH
+  {0xA8B2, 0x8FC6}, //1118 #CJK UNIFIED IDEOGRAPH
+  {0xA8B3, 0x8FC5}, //1119 #CJK UNIFIED IDEOGRAPH
+  {0xA8B4, 0x8FC4}, //1120 #CJK UNIFIED IDEOGRAPH
+  {0xA8B5, 0x5DE1}, //1121 #CJK UNIFIED IDEOGRAPH
+  {0xA8B6, 0x9091}, //1122 #CJK UNIFIED IDEOGRAPH
+  {0xA8B7, 0x90A2}, //1123 #CJK UNIFIED IDEOGRAPH
+  {0xA8B8, 0x90AA}, //1124 #CJK UNIFIED IDEOGRAPH
+  {0xA8B9, 0x90A6}, //1125 #CJK UNIFIED IDEOGRAPH
+  {0xA8BA, 0x90A3}, //1126 #CJK UNIFIED IDEOGRAPH
+  {0xA8BB, 0x9149}, //1127 #CJK UNIFIED IDEOGRAPH
+  {0xA8BC, 0x91C6}, //1128 #CJK UNIFIED IDEOGRAPH
+  {0xA8BD, 0x91CC}, //1129 #CJK UNIFIED IDEOGRAPH
+  {0xA8BE, 0x9632}, //1130 #CJK UNIFIED IDEOGRAPH
+  {0xA8BF, 0x962E}, //1131 #CJK UNIFIED IDEOGRAPH
+  {0xA8C0, 0x9631}, //1132 #CJK UNIFIED IDEOGRAPH
+  {0xA8C1, 0x962A}, //1133 #CJK UNIFIED IDEOGRAPH
+  {0xA8C2, 0x962C}, //1134 #CJK UNIFIED IDEOGRAPH
+  {0xA8C3, 0x4E26}, //1135 #CJK UNIFIED IDEOGRAPH
+  {0xA8C4, 0x4E56}, //1136 #CJK UNIFIED IDEOGRAPH
+  {0xA8C5, 0x4E73}, //1137 #CJK UNIFIED IDEOGRAPH
+  {0xA8C6, 0x4E8B}, //1138 #CJK UNIFIED IDEOGRAPH
+  {0xA8C7, 0x4E9B}, //1139 #CJK UNIFIED IDEOGRAPH
+  {0xA8C8, 0x4E9E}, //1140 #CJK UNIFIED IDEOGRAPH
+  {0xA8C9, 0x4EAB}, //1141 #CJK UNIFIED IDEOGRAPH
+  {0xA8CA, 0x4EAC}, //1142 #CJK UNIFIED IDEOGRAPH
+  {0xA8CB, 0x4F6F}, //1143 #CJK UNIFIED IDEOGRAPH
+  {0xA8CC, 0x4F9D}, //1144 #CJK UNIFIED IDEOGRAPH
+  {0xA8CD, 0x4F8D}, //1145 #CJK UNIFIED IDEOGRAPH
+  {0xA8CE, 0x4F73}, //1146 #CJK UNIFIED IDEOGRAPH
+  {0xA8CF, 0x4F7F}, //1147 #CJK UNIFIED IDEOGRAPH
+  {0xA8D0, 0x4F6C}, //1148 #CJK UNIFIED IDEOGRAPH
+  {0xA8D1, 0x4F9B}, //1149 #CJK UNIFIED IDEOGRAPH
+  {0xA8D2, 0x4F8B}, //1150 #CJK UNIFIED IDEOGRAPH
+  {0xA8D3, 0x4F86}, //1151 #CJK UNIFIED IDEOGRAPH
+  {0xA8D4, 0x4F83}, //1152 #CJK UNIFIED IDEOGRAPH
+  {0xA8D5, 0x4F70}, //1153 #CJK UNIFIED IDEOGRAPH
+  {0xA8D6, 0x4F75}, //1154 #CJK UNIFIED IDEOGRAPH
+  {0xA8D7, 0x4F88}, //1155 #CJK UNIFIED IDEOGRAPH
+  {0xA8D8, 0x4F69}, //1156 #CJK UNIFIED IDEOGRAPH
+  {0xA8D9, 0x4F7B}, //1157 #CJK UNIFIED IDEOGRAPH
+  {0xA8DA, 0x4F96}, //1158 #CJK UNIFIED IDEOGRAPH
+  {0xA8DB, 0x4F7E}, //1159 #CJK UNIFIED IDEOGRAPH
+  {0xA8DC, 0x4F8F}, //1160 #CJK UNIFIED IDEOGRAPH
+  {0xA8DD, 0x4F91}, //1161 #CJK UNIFIED IDEOGRAPH
+  {0xA8DE, 0x4F7A}, //1162 #CJK UNIFIED IDEOGRAPH
+  {0xA8DF, 0x5154}, //1163 #CJK UNIFIED IDEOGRAPH
+  {0xA8E0, 0x5152}, //1164 #CJK UNIFIED IDEOGRAPH
+  {0xA8E1, 0x5155}, //1165 #CJK UNIFIED IDEOGRAPH
+  {0xA8E2, 0x5169}, //1166 #CJK UNIFIED IDEOGRAPH
+  {0xA8E3, 0x5177}, //1167 #CJK UNIFIED IDEOGRAPH
+  {0xA8E4, 0x5176}, //1168 #CJK UNIFIED IDEOGRAPH
+  {0xA8E5, 0x5178}, //1169 #CJK UNIFIED IDEOGRAPH
+  {0xA8E6, 0x51BD}, //1170 #CJK UNIFIED IDEOGRAPH
+  {0xA8E7, 0x51FD}, //1171 #CJK UNIFIED IDEOGRAPH
+  {0xA8E8, 0x523B}, //1172 #CJK UNIFIED IDEOGRAPH
+  {0xA8E9, 0x5238}, //1173 #CJK UNIFIED IDEOGRAPH
+  {0xA8EA, 0x5237}, //1174 #CJK UNIFIED IDEOGRAPH
+  {0xA8EB, 0x523A}, //1175 #CJK UNIFIED IDEOGRAPH
+  {0xA8EC, 0x5230}, //1176 #CJK UNIFIED IDEOGRAPH
+  {0xA8ED, 0x522E}, //1177 #CJK UNIFIED IDEOGRAPH
+  {0xA8EE, 0x5236}, //1178 #CJK UNIFIED IDEOGRAPH
+  {0xA8EF, 0x5241}, //1179 #CJK UNIFIED IDEOGRAPH
+  {0xA8F0, 0x52BE}, //1180 #CJK UNIFIED IDEOGRAPH
+  {0xA8F1, 0x52BB}, //1181 #CJK UNIFIED IDEOGRAPH
+  {0xA8F2, 0x5352}, //1182 #CJK UNIFIED IDEOGRAPH
+  {0xA8F3, 0x5354}, //1183 #CJK UNIFIED IDEOGRAPH
+  {0xA8F4, 0x5353}, //1184 #CJK UNIFIED IDEOGRAPH
+  {0xA8F5, 0x5351}, //1185 #CJK UNIFIED IDEOGRAPH
+  {0xA8F6, 0x5366}, //1186 #CJK UNIFIED IDEOGRAPH
+  {0xA8F7, 0x5377}, //1187 #CJK UNIFIED IDEOGRAPH
+  {0xA8F8, 0x5378}, //1188 #CJK UNIFIED IDEOGRAPH
+  {0xA8F9, 0x5379}, //1189 #CJK UNIFIED IDEOGRAPH
+  {0xA8FA, 0x53D6}, //1190 #CJK UNIFIED IDEOGRAPH
+  {0xA8FB, 0x53D4}, //1191 #CJK UNIFIED IDEOGRAPH
+  {0xA8FC, 0x53D7}, //1192 #CJK UNIFIED IDEOGRAPH
+  {0xA8FD, 0x5473}, //1193 #CJK UNIFIED IDEOGRAPH
+  {0xA8FE, 0x5475}, //1194 #CJK UNIFIED IDEOGRAPH
+  {0xA940, 0x5496}, //1195 #CJK UNIFIED IDEOGRAPH
+  {0xA941, 0x5478}, //1196 #CJK UNIFIED IDEOGRAPH
+  {0xA942, 0x5495}, //1197 #CJK UNIFIED IDEOGRAPH
+  {0xA943, 0x5480}, //1198 #CJK UNIFIED IDEOGRAPH
+  {0xA944, 0x547B}, //1199 #CJK UNIFIED IDEOGRAPH
+  {0xA945, 0x5477}, //1200 #CJK UNIFIED IDEOGRAPH
+  {0xA946, 0x5484}, //1201 #CJK UNIFIED IDEOGRAPH
+  {0xA947, 0x5492}, //1202 #CJK UNIFIED IDEOGRAPH
+  {0xA948, 0x5486}, //1203 #CJK UNIFIED IDEOGRAPH
+  {0xA949, 0x547C}, //1204 #CJK UNIFIED IDEOGRAPH
+  {0xA94A, 0x5490}, //1205 #CJK UNIFIED IDEOGRAPH
+  {0xA94B, 0x5471}, //1206 #CJK UNIFIED IDEOGRAPH
+  {0xA94C, 0x5476}, //1207 #CJK UNIFIED IDEOGRAPH
+  {0xA94D, 0x548C}, //1208 #CJK UNIFIED IDEOGRAPH
+  {0xA94E, 0x549A}, //1209 #CJK UNIFIED IDEOGRAPH
+  {0xA94F, 0x5462}, //1210 #CJK UNIFIED IDEOGRAPH
+  {0xA950, 0x5468}, //1211 #CJK UNIFIED IDEOGRAPH
+  {0xA951, 0x548B}, //1212 #CJK UNIFIED IDEOGRAPH
+  {0xA952, 0x547D}, //1213 #CJK UNIFIED IDEOGRAPH
+  {0xA953, 0x548E}, //1214 #CJK UNIFIED IDEOGRAPH
+  {0xA954, 0x56FA}, //1215 #CJK UNIFIED IDEOGRAPH
+  {0xA955, 0x5783}, //1216 #CJK UNIFIED IDEOGRAPH
+  {0xA956, 0x5777}, //1217 #CJK UNIFIED IDEOGRAPH
+  {0xA957, 0x576A}, //1218 #CJK UNIFIED IDEOGRAPH
+  {0xA958, 0x5769}, //1219 #CJK UNIFIED IDEOGRAPH
+  {0xA959, 0x5761}, //1220 #CJK UNIFIED IDEOGRAPH
+  {0xA95A, 0x5766}, //1221 #CJK UNIFIED IDEOGRAPH
+  {0xA95B, 0x5764}, //1222 #CJK UNIFIED IDEOGRAPH
+  {0xA95C, 0x577C}, //1223 #CJK UNIFIED IDEOGRAPH
+  {0xA95D, 0x591C}, //1224 #CJK UNIFIED IDEOGRAPH
+  {0xA95E, 0x5949}, //1225 #CJK UNIFIED IDEOGRAPH
+  {0xA95F, 0x5947}, //1226 #CJK UNIFIED IDEOGRAPH
+  {0xA960, 0x5948}, //1227 #CJK UNIFIED IDEOGRAPH
+  {0xA961, 0x5944}, //1228 #CJK UNIFIED IDEOGRAPH
+  {0xA962, 0x5954}, //1229 #CJK UNIFIED IDEOGRAPH
+  {0xA963, 0x59BE}, //1230 #CJK UNIFIED IDEOGRAPH
+  {0xA964, 0x59BB}, //1231 #CJK UNIFIED IDEOGRAPH
+  {0xA965, 0x59D4}, //1232 #CJK UNIFIED IDEOGRAPH
+  {0xA966, 0x59B9}, //1233 #CJK UNIFIED IDEOGRAPH
+  {0xA967, 0x59AE}, //1234 #CJK UNIFIED IDEOGRAPH
+  {0xA968, 0x59D1}, //1235 #CJK UNIFIED IDEOGRAPH
+  {0xA969, 0x59C6}, //1236 #CJK UNIFIED IDEOGRAPH
+  {0xA96A, 0x59D0}, //1237 #CJK UNIFIED IDEOGRAPH
+  {0xA96B, 0x59CD}, //1238 #CJK UNIFIED IDEOGRAPH
+  {0xA96C, 0x59CB}, //1239 #CJK UNIFIED IDEOGRAPH
+  {0xA96D, 0x59D3}, //1240 #CJK UNIFIED IDEOGRAPH
+  {0xA96E, 0x59CA}, //1241 #CJK UNIFIED IDEOGRAPH
+  {0xA96F, 0x59AF}, //1242 #CJK UNIFIED IDEOGRAPH
+  {0xA970, 0x59B3}, //1243 #CJK UNIFIED IDEOGRAPH
+  {0xA971, 0x59D2}, //1244 #CJK UNIFIED IDEOGRAPH
+  {0xA972, 0x59C5}, //1245 #CJK UNIFIED IDEOGRAPH
+  {0xA973, 0x5B5F}, //1246 #CJK UNIFIED IDEOGRAPH
+  {0xA974, 0x5B64}, //1247 #CJK UNIFIED IDEOGRAPH
+  {0xA975, 0x5B63}, //1248 #CJK UNIFIED IDEOGRAPH
+  {0xA976, 0x5B97}, //1249 #CJK UNIFIED IDEOGRAPH
+  {0xA977, 0x5B9A}, //1250 #CJK UNIFIED IDEOGRAPH
+  {0xA978, 0x5B98}, //1251 #CJK UNIFIED IDEOGRAPH
+  {0xA979, 0x5B9C}, //1252 #CJK UNIFIED IDEOGRAPH
+  {0xA97A, 0x5B99}, //1253 #CJK UNIFIED IDEOGRAPH
+  {0xA97B, 0x5B9B}, //1254 #CJK UNIFIED IDEOGRAPH
+  {0xA97C, 0x5C1A}, //1255 #CJK UNIFIED IDEOGRAPH
+  {0xA97D, 0x5C48}, //1256 #CJK UNIFIED IDEOGRAPH
+  {0xA97E, 0x5C45}, //1257 #CJK UNIFIED IDEOGRAPH
+  {0xA9A1, 0x5C46}, //1258 #CJK UNIFIED IDEOGRAPH
+  {0xA9A2, 0x5CB7}, //1259 #CJK UNIFIED IDEOGRAPH
+  {0xA9A3, 0x5CA1}, //1260 #CJK UNIFIED IDEOGRAPH
+  {0xA9A4, 0x5CB8}, //1261 #CJK UNIFIED IDEOGRAPH
+  {0xA9A5, 0x5CA9}, //1262 #CJK UNIFIED IDEOGRAPH
+  {0xA9A6, 0x5CAB}, //1263 #CJK UNIFIED IDEOGRAPH
+  {0xA9A7, 0x5CB1}, //1264 #CJK UNIFIED IDEOGRAPH
+  {0xA9A8, 0x5CB3}, //1265 #CJK UNIFIED IDEOGRAPH
+  {0xA9A9, 0x5E18}, //1266 #CJK UNIFIED IDEOGRAPH
+  {0xA9AA, 0x5E1A}, //1267 #CJK UNIFIED IDEOGRAPH
+  {0xA9AB, 0x5E16}, //1268 #CJK UNIFIED IDEOGRAPH
+  {0xA9AC, 0x5E15}, //1269 #CJK UNIFIED IDEOGRAPH
+  {0xA9AD, 0x5E1B}, //1270 #CJK UNIFIED IDEOGRAPH
+  {0xA9AE, 0x5E11}, //1271 #CJK UNIFIED IDEOGRAPH
+  {0xA9AF, 0x5E78}, //1272 #CJK UNIFIED IDEOGRAPH
+  {0xA9B0, 0x5E9A}, //1273 #CJK UNIFIED IDEOGRAPH
+  {0xA9B1, 0x5E97}, //1274 #CJK UNIFIED IDEOGRAPH
+  {0xA9B2, 0x5E9C}, //1275 #CJK UNIFIED IDEOGRAPH
+  {0xA9B3, 0x5E95}, //1276 #CJK UNIFIED IDEOGRAPH
+  {0xA9B4, 0x5E96}, //1277 #CJK UNIFIED IDEOGRAPH
+  {0xA9B5, 0x5EF6}, //1278 #CJK UNIFIED IDEOGRAPH
+  {0xA9B6, 0x5F26}, //1279 #CJK UNIFIED IDEOGRAPH
+  {0xA9B7, 0x5F27}, //1280 #CJK UNIFIED IDEOGRAPH
+  {0xA9B8, 0x5F29}, //1281 #CJK UNIFIED IDEOGRAPH
+  {0xA9B9, 0x5F80}, //1282 #CJK UNIFIED IDEOGRAPH
+  {0xA9BA, 0x5F81}, //1283 #CJK UNIFIED IDEOGRAPH
+  {0xA9BB, 0x5F7F}, //1284 #CJK UNIFIED IDEOGRAPH
+  {0xA9BC, 0x5F7C}, //1285 #CJK UNIFIED IDEOGRAPH
+  {0xA9BD, 0x5FDD}, //1286 #CJK UNIFIED IDEOGRAPH
+  {0xA9BE, 0x5FE0}, //1287 #CJK UNIFIED IDEOGRAPH
+  {0xA9BF, 0x5FFD}, //1288 #CJK UNIFIED IDEOGRAPH
+  {0xA9C0, 0x5FF5}, //1289 #CJK UNIFIED IDEOGRAPH
+  {0xA9C1, 0x5FFF}, //1290 #CJK UNIFIED IDEOGRAPH
+  {0xA9C2, 0x600F}, //1291 #CJK UNIFIED IDEOGRAPH
+  {0xA9C3, 0x6014}, //1292 #CJK UNIFIED IDEOGRAPH
+  {0xA9C4, 0x602F}, //1293 #CJK UNIFIED IDEOGRAPH
+  {0xA9C5, 0x6035}, //1294 #CJK UNIFIED IDEOGRAPH
+  {0xA9C6, 0x6016}, //1295 #CJK UNIFIED IDEOGRAPH
+  {0xA9C7, 0x602A}, //1296 #CJK UNIFIED IDEOGRAPH
+  {0xA9C8, 0x6015}, //1297 #CJK UNIFIED IDEOGRAPH
+  {0xA9C9, 0x6021}, //1298 #CJK UNIFIED IDEOGRAPH
+  {0xA9CA, 0x6027}, //1299 #CJK UNIFIED IDEOGRAPH
+  {0xA9CB, 0x6029}, //1300 #CJK UNIFIED IDEOGRAPH
+  {0xA9CC, 0x602B}, //1301 #CJK UNIFIED IDEOGRAPH
+  {0xA9CD, 0x601B}, //1302 #CJK UNIFIED IDEOGRAPH
+  {0xA9CE, 0x6216}, //1303 #CJK UNIFIED IDEOGRAPH
+  {0xA9CF, 0x6215}, //1304 #CJK UNIFIED IDEOGRAPH
+  {0xA9D0, 0x623F}, //1305 #CJK UNIFIED IDEOGRAPH
+  {0xA9D1, 0x623E}, //1306 #CJK UNIFIED IDEOGRAPH
+  {0xA9D2, 0x6240}, //1307 #CJK UNIFIED IDEOGRAPH
+  {0xA9D3, 0x627F}, //1308 #CJK UNIFIED IDEOGRAPH
+  {0xA9D4, 0x62C9}, //1309 #CJK UNIFIED IDEOGRAPH
+  {0xA9D5, 0x62CC}, //1310 #CJK UNIFIED IDEOGRAPH
+  {0xA9D6, 0x62C4}, //1311 #CJK UNIFIED IDEOGRAPH
+  {0xA9D7, 0x62BF}, //1312 #CJK UNIFIED IDEOGRAPH
+  {0xA9D8, 0x62C2}, //1313 #CJK UNIFIED IDEOGRAPH
+  {0xA9D9, 0x62B9}, //1314 #CJK UNIFIED IDEOGRAPH
+  {0xA9DA, 0x62D2}, //1315 #CJK UNIFIED IDEOGRAPH
+  {0xA9DB, 0x62DB}, //1316 #CJK UNIFIED IDEOGRAPH
+  {0xA9DC, 0x62AB}, //1317 #CJK UNIFIED IDEOGRAPH
+  {0xA9DD, 0x62D3}, //1318 #CJK UNIFIED IDEOGRAPH
+  {0xA9DE, 0x62D4}, //1319 #CJK UNIFIED IDEOGRAPH
+  {0xA9DF, 0x62CB}, //1320 #CJK UNIFIED IDEOGRAPH
+  {0xA9E0, 0x62C8}, //1321 #CJK UNIFIED IDEOGRAPH
+  {0xA9E1, 0x62A8}, //1322 #CJK UNIFIED IDEOGRAPH
+  {0xA9E2, 0x62BD}, //1323 #CJK UNIFIED IDEOGRAPH
+  {0xA9E3, 0x62BC}, //1324 #CJK UNIFIED IDEOGRAPH
+  {0xA9E4, 0x62D0}, //1325 #CJK UNIFIED IDEOGRAPH
+  {0xA9E5, 0x62D9}, //1326 #CJK UNIFIED IDEOGRAPH
+  {0xA9E6, 0x62C7}, //1327 #CJK UNIFIED IDEOGRAPH
+  {0xA9E7, 0x62CD}, //1328 #CJK UNIFIED IDEOGRAPH
+  {0xA9E8, 0x62B5}, //1329 #CJK UNIFIED IDEOGRAPH
+  {0xA9E9, 0x62DA}, //1330 #CJK UNIFIED IDEOGRAPH
+  {0xA9EA, 0x62B1}, //1331 #CJK UNIFIED IDEOGRAPH
+  {0xA9EB, 0x62D8}, //1332 #CJK UNIFIED IDEOGRAPH
+  {0xA9EC, 0x62D6}, //1333 #CJK UNIFIED IDEOGRAPH
+  {0xA9ED, 0x62D7}, //1334 #CJK UNIFIED IDEOGRAPH
+  {0xA9EE, 0x62C6}, //1335 #CJK UNIFIED IDEOGRAPH
+  {0xA9EF, 0x62AC}, //1336 #CJK UNIFIED IDEOGRAPH
+  {0xA9F0, 0x62CE}, //1337 #CJK UNIFIED IDEOGRAPH
+  {0xA9F1, 0x653E}, //1338 #CJK UNIFIED IDEOGRAPH
+  {0xA9F2, 0x65A7}, //1339 #CJK UNIFIED IDEOGRAPH
+  {0xA9F3, 0x65BC}, //1340 #CJK UNIFIED IDEOGRAPH
+  {0xA9F4, 0x65FA}, //1341 #CJK UNIFIED IDEOGRAPH
+  {0xA9F5, 0x6614}, //1342 #CJK UNIFIED IDEOGRAPH
+  {0xA9F6, 0x6613}, //1343 #CJK UNIFIED IDEOGRAPH
+  {0xA9F7, 0x660C}, //1344 #CJK UNIFIED IDEOGRAPH
+  {0xA9F8, 0x6606}, //1345 #CJK UNIFIED IDEOGRAPH
+  {0xA9F9, 0x6602}, //1346 #CJK UNIFIED IDEOGRAPH
+  {0xA9FA, 0x660E}, //1347 #CJK UNIFIED IDEOGRAPH
+  {0xA9FB, 0x6600}, //1348 #CJK UNIFIED IDEOGRAPH
+  {0xA9FC, 0x660F}, //1349 #CJK UNIFIED IDEOGRAPH
+  {0xA9FD, 0x6615}, //1350 #CJK UNIFIED IDEOGRAPH
+  {0xA9FE, 0x660A}, //1351 #CJK UNIFIED IDEOGRAPH
+  {0xAA40, 0x6607}, //1352 #CJK UNIFIED IDEOGRAPH
+  {0xAA41, 0x670D}, //1353 #CJK UNIFIED IDEOGRAPH
+  {0xAA42, 0x670B}, //1354 #CJK UNIFIED IDEOGRAPH
+  {0xAA43, 0x676D}, //1355 #CJK UNIFIED IDEOGRAPH
+  {0xAA44, 0x678B}, //1356 #CJK UNIFIED IDEOGRAPH
+  {0xAA45, 0x6795}, //1357 #CJK UNIFIED IDEOGRAPH
+  {0xAA46, 0x6771}, //1358 #CJK UNIFIED IDEOGRAPH
+  {0xAA47, 0x679C}, //1359 #CJK UNIFIED IDEOGRAPH
+  {0xAA48, 0x6773}, //1360 #CJK UNIFIED IDEOGRAPH
+  {0xAA49, 0x6777}, //1361 #CJK UNIFIED IDEOGRAPH
+  {0xAA4A, 0x6787}, //1362 #CJK UNIFIED IDEOGRAPH
+  {0xAA4B, 0x679D}, //1363 #CJK UNIFIED IDEOGRAPH
+  {0xAA4C, 0x6797}, //1364 #CJK UNIFIED IDEOGRAPH
+  {0xAA4D, 0x676F}, //1365 #CJK UNIFIED IDEOGRAPH
+  {0xAA4E, 0x6770}, //1366 #CJK UNIFIED IDEOGRAPH
+  {0xAA4F, 0x677F}, //1367 #CJK UNIFIED IDEOGRAPH
+  {0xAA50, 0x6789}, //1368 #CJK UNIFIED IDEOGRAPH
+  {0xAA51, 0x677E}, //1369 #CJK UNIFIED IDEOGRAPH
+  {0xAA52, 0x6790}, //1370 #CJK UNIFIED IDEOGRAPH
+  {0xAA53, 0x6775}, //1371 #CJK UNIFIED IDEOGRAPH
+  {0xAA54, 0x679A}, //1372 #CJK UNIFIED IDEOGRAPH
+  {0xAA55, 0x6793}, //1373 #CJK UNIFIED IDEOGRAPH
+  {0xAA56, 0x677C}, //1374 #CJK UNIFIED IDEOGRAPH
+  {0xAA57, 0x676A}, //1375 #CJK UNIFIED IDEOGRAPH
+  {0xAA58, 0x6772}, //1376 #CJK UNIFIED IDEOGRAPH
+  {0xAA59, 0x6B23}, //1377 #CJK UNIFIED IDEOGRAPH
+  {0xAA5A, 0x6B66}, //1378 #CJK UNIFIED IDEOGRAPH
+  {0xAA5B, 0x6B67}, //1379 #CJK UNIFIED IDEOGRAPH
+  {0xAA5C, 0x6B7F}, //1380 #CJK UNIFIED IDEOGRAPH
+  {0xAA5D, 0x6C13}, //1381 #CJK UNIFIED IDEOGRAPH
+  {0xAA5E, 0x6C1B}, //1382 #CJK UNIFIED IDEOGRAPH
+  {0xAA5F, 0x6CE3}, //1383 #CJK UNIFIED IDEOGRAPH
+  {0xAA60, 0x6CE8}, //1384 #CJK UNIFIED IDEOGRAPH
+  {0xAA61, 0x6CF3}, //1385 #CJK UNIFIED IDEOGRAPH
+  {0xAA62, 0x6CB1}, //1386 #CJK UNIFIED IDEOGRAPH
+  {0xAA63, 0x6CCC}, //1387 #CJK UNIFIED IDEOGRAPH
+  {0xAA64, 0x6CE5}, //1388 #CJK UNIFIED IDEOGRAPH
+  {0xAA65, 0x6CB3}, //1389 #CJK UNIFIED IDEOGRAPH
+  {0xAA66, 0x6CBD}, //1390 #CJK UNIFIED IDEOGRAPH
+  {0xAA67, 0x6CBE}, //1391 #CJK UNIFIED IDEOGRAPH
+  {0xAA68, 0x6CBC}, //1392 #CJK UNIFIED IDEOGRAPH
+  {0xAA69, 0x6CE2}, //1393 #CJK UNIFIED IDEOGRAPH
+  {0xAA6A, 0x6CAB}, //1394 #CJK UNIFIED IDEOGRAPH
+  {0xAA6B, 0x6CD5}, //1395 #CJK UNIFIED IDEOGRAPH
+  {0xAA6C, 0x6CD3}, //1396 #CJK UNIFIED IDEOGRAPH
+  {0xAA6D, 0x6CB8}, //1397 #CJK UNIFIED IDEOGRAPH
+  {0xAA6E, 0x6CC4}, //1398 #CJK UNIFIED IDEOGRAPH
+  {0xAA6F, 0x6CB9}, //1399 #CJK UNIFIED IDEOGRAPH
+  {0xAA70, 0x6CC1}, //1400 #CJK UNIFIED IDEOGRAPH
+  {0xAA71, 0x6CAE}, //1401 #CJK UNIFIED IDEOGRAPH
+  {0xAA72, 0x6CD7}, //1402 #CJK UNIFIED IDEOGRAPH
+  {0xAA73, 0x6CC5}, //1403 #CJK UNIFIED IDEOGRAPH
+  {0xAA74, 0x6CF1}, //1404 #CJK UNIFIED IDEOGRAPH
+  {0xAA75, 0x6CBF}, //1405 #CJK UNIFIED IDEOGRAPH
+  {0xAA76, 0x6CBB}, //1406 #CJK UNIFIED IDEOGRAPH
+  {0xAA77, 0x6CE1}, //1407 #CJK UNIFIED IDEOGRAPH
+  {0xAA78, 0x6CDB}, //1408 #CJK UNIFIED IDEOGRAPH
+  {0xAA79, 0x6CCA}, //1409 #CJK UNIFIED IDEOGRAPH
+  {0xAA7A, 0x6CAC}, //1410 #CJK UNIFIED IDEOGRAPH
+  {0xAA7B, 0x6CEF}, //1411 #CJK UNIFIED IDEOGRAPH
+  {0xAA7C, 0x6CDC}, //1412 #CJK UNIFIED IDEOGRAPH
+  {0xAA7D, 0x6CD6}, //1413 #CJK UNIFIED IDEOGRAPH
+  {0xAA7E, 0x6CE0}, //1414 #CJK UNIFIED IDEOGRAPH
+  {0xAAA1, 0x7095}, //1415 #CJK UNIFIED IDEOGRAPH
+  {0xAAA2, 0x708E}, //1416 #CJK UNIFIED IDEOGRAPH
+  {0xAAA3, 0x7092}, //1417 #CJK UNIFIED IDEOGRAPH
+  {0xAAA4, 0x708A}, //1418 #CJK UNIFIED IDEOGRAPH
+  {0xAAA5, 0x7099}, //1419 #CJK UNIFIED IDEOGRAPH
+  {0xAAA6, 0x722C}, //1420 #CJK UNIFIED IDEOGRAPH
+  {0xAAA7, 0x722D}, //1421 #CJK UNIFIED IDEOGRAPH
+  {0xAAA8, 0x7238}, //1422 #CJK UNIFIED IDEOGRAPH
+  {0xAAA9, 0x7248}, //1423 #CJK UNIFIED IDEOGRAPH
+  {0xAAAA, 0x7267}, //1424 #CJK UNIFIED IDEOGRAPH
+  {0xAAAB, 0x7269}, //1425 #CJK UNIFIED IDEOGRAPH
+  {0xAAAC, 0x72C0}, //1426 #CJK UNIFIED IDEOGRAPH
+  {0xAAAD, 0x72CE}, //1427 #CJK UNIFIED IDEOGRAPH
+  {0xAAAE, 0x72D9}, //1428 #CJK UNIFIED IDEOGRAPH
+  {0xAAAF, 0x72D7}, //1429 #CJK UNIFIED IDEOGRAPH
+  {0xAAB0, 0x72D0}, //1430 #CJK UNIFIED IDEOGRAPH
+  {0xAAB1, 0x73A9}, //1431 #CJK UNIFIED IDEOGRAPH
+  {0xAAB2, 0x73A8}, //1432 #CJK UNIFIED IDEOGRAPH
+  {0xAAB3, 0x739F}, //1433 #CJK UNIFIED IDEOGRAPH
+  {0xAAB4, 0x73AB}, //1434 #CJK UNIFIED IDEOGRAPH
+  {0xAAB5, 0x73A5}, //1435 #CJK UNIFIED IDEOGRAPH
+  {0xAAB6, 0x753D}, //1436 #CJK UNIFIED IDEOGRAPH
+  {0xAAB7, 0x759D}, //1437 #CJK UNIFIED IDEOGRAPH
+  {0xAAB8, 0x7599}, //1438 #CJK UNIFIED IDEOGRAPH
+  {0xAAB9, 0x759A}, //1439 #CJK UNIFIED IDEOGRAPH
+  {0xAABA, 0x7684}, //1440 #CJK UNIFIED IDEOGRAPH
+  {0xAABB, 0x76C2}, //1441 #CJK UNIFIED IDEOGRAPH
+  {0xAABC, 0x76F2}, //1442 #CJK UNIFIED IDEOGRAPH
+  {0xAABD, 0x76F4}, //1443 #CJK UNIFIED IDEOGRAPH
+  {0xAABE, 0x77E5}, //1444 #CJK UNIFIED IDEOGRAPH
+  {0xAABF, 0x77FD}, //1445 #CJK UNIFIED IDEOGRAPH
+  {0xAAC0, 0x793E}, //1446 #CJK UNIFIED IDEOGRAPH
+  {0xAAC1, 0x7940}, //1447 #CJK UNIFIED IDEOGRAPH
+  {0xAAC2, 0x7941}, //1448 #CJK UNIFIED IDEOGRAPH
+  {0xAAC3, 0x79C9}, //1449 #CJK UNIFIED IDEOGRAPH
+  {0xAAC4, 0x79C8}, //1450 #CJK UNIFIED IDEOGRAPH
+  {0xAAC5, 0x7A7A}, //1451 #CJK UNIFIED IDEOGRAPH
+  {0xAAC6, 0x7A79}, //1452 #CJK UNIFIED IDEOGRAPH
+  {0xAAC7, 0x7AFA}, //1453 #CJK UNIFIED IDEOGRAPH
+  {0xAAC8, 0x7CFE}, //1454 #CJK UNIFIED IDEOGRAPH
+  {0xAAC9, 0x7F54}, //1455 #CJK UNIFIED IDEOGRAPH
+  {0xAACA, 0x7F8C}, //1456 #CJK UNIFIED IDEOGRAPH
+  {0xAACB, 0x7F8B}, //1457 #CJK UNIFIED IDEOGRAPH
+  {0xAACC, 0x8005}, //1458 #CJK UNIFIED IDEOGRAPH
+  {0xAACD, 0x80BA}, //1459 #CJK UNIFIED IDEOGRAPH
+  {0xAACE, 0x80A5}, //1460 #CJK UNIFIED IDEOGRAPH
+  {0xAACF, 0x80A2}, //1461 #CJK UNIFIED IDEOGRAPH
+  {0xAAD0, 0x80B1}, //1462 #CJK UNIFIED IDEOGRAPH
+  {0xAAD1, 0x80A1}, //1463 #CJK UNIFIED IDEOGRAPH
+  {0xAAD2, 0x80AB}, //1464 #CJK UNIFIED IDEOGRAPH
+  {0xAAD3, 0x80A9}, //1465 #CJK UNIFIED IDEOGRAPH
+  {0xAAD4, 0x80B4}, //1466 #CJK UNIFIED IDEOGRAPH
+  {0xAAD5, 0x80AA}, //1467 #CJK UNIFIED IDEOGRAPH
+  {0xAAD6, 0x80AF}, //1468 #CJK UNIFIED IDEOGRAPH
+  {0xAAD7, 0x81E5}, //1469 #CJK UNIFIED IDEOGRAPH
+  {0xAAD8, 0x81FE}, //1470 #CJK UNIFIED IDEOGRAPH
+  {0xAAD9, 0x820D}, //1471 #CJK UNIFIED IDEOGRAPH
+  {0xAADA, 0x82B3}, //1472 #CJK UNIFIED IDEOGRAPH
+  {0xAADB, 0x829D}, //1473 #CJK UNIFIED IDEOGRAPH
+  {0xAADC, 0x8299}, //1474 #CJK UNIFIED IDEOGRAPH
+  {0xAADD, 0x82AD}, //1475 #CJK UNIFIED IDEOGRAPH
+  {0xAADE, 0x82BD}, //1476 #CJK UNIFIED IDEOGRAPH
+  {0xAADF, 0x829F}, //1477 #CJK UNIFIED IDEOGRAPH
+  {0xAAE0, 0x82B9}, //1478 #CJK UNIFIED IDEOGRAPH
+  {0xAAE1, 0x82B1}, //1479 #CJK UNIFIED IDEOGRAPH
+  {0xAAE2, 0x82AC}, //1480 #CJK UNIFIED IDEOGRAPH
+  {0xAAE3, 0x82A5}, //1481 #CJK UNIFIED IDEOGRAPH
+  {0xAAE4, 0x82AF}, //1482 #CJK UNIFIED IDEOGRAPH
+  {0xAAE5, 0x82B8}, //1483 #CJK UNIFIED IDEOGRAPH
+  {0xAAE6, 0x82A3}, //1484 #CJK UNIFIED IDEOGRAPH
+  {0xAAE7, 0x82B0}, //1485 #CJK UNIFIED IDEOGRAPH
+  {0xAAE8, 0x82BE}, //1486 #CJK UNIFIED IDEOGRAPH
+  {0xAAE9, 0x82B7}, //1487 #CJK UNIFIED IDEOGRAPH
+  {0xAAEA, 0x864E}, //1488 #CJK UNIFIED IDEOGRAPH
+  {0xAAEB, 0x8671}, //1489 #CJK UNIFIED IDEOGRAPH
+  {0xAAEC, 0x521D}, //1490 #CJK UNIFIED IDEOGRAPH
+  {0xAAED, 0x8868}, //1491 #CJK UNIFIED IDEOGRAPH
+  {0xAAEE, 0x8ECB}, //1492 #CJK UNIFIED IDEOGRAPH
+  {0xAAEF, 0x8FCE}, //1493 #CJK UNIFIED IDEOGRAPH
+  {0xAAF0, 0x8FD4}, //1494 #CJK UNIFIED IDEOGRAPH
+  {0xAAF1, 0x8FD1}, //1495 #CJK UNIFIED IDEOGRAPH
+  {0xAAF2, 0x90B5}, //1496 #CJK UNIFIED IDEOGRAPH
+  {0xAAF3, 0x90B8}, //1497 #CJK UNIFIED IDEOGRAPH
+  {0xAAF4, 0x90B1}, //1498 #CJK UNIFIED IDEOGRAPH
+  {0xAAF5, 0x90B6}, //1499 #CJK UNIFIED IDEOGRAPH
+  {0xAAF6, 0x91C7}, //1500 #CJK UNIFIED IDEOGRAPH
+  {0xAAF7, 0x91D1}, //1501 #CJK UNIFIED IDEOGRAPH
+  {0xAAF8, 0x9577}, //1502 #CJK UNIFIED IDEOGRAPH
+  {0xAAF9, 0x9580}, //1503 #CJK UNIFIED IDEOGRAPH
+  {0xAAFA, 0x961C}, //1504 #CJK UNIFIED IDEOGRAPH
+  {0xAAFB, 0x9640}, //1505 #CJK UNIFIED IDEOGRAPH
+  {0xAAFC, 0x963F}, //1506 #CJK UNIFIED IDEOGRAPH
+  {0xAAFD, 0x963B}, //1507 #CJK UNIFIED IDEOGRAPH
+  {0xAAFE, 0x9644}, //1508 #CJK UNIFIED IDEOGRAPH
+  {0xAB40, 0x9642}, //1509 #CJK UNIFIED IDEOGRAPH
+  {0xAB41, 0x96B9}, //1510 #CJK UNIFIED IDEOGRAPH
+  {0xAB42, 0x96E8}, //1511 #CJK UNIFIED IDEOGRAPH
+  {0xAB43, 0x9752}, //1512 #CJK UNIFIED IDEOGRAPH
+  {0xAB44, 0x975E}, //1513 #CJK UNIFIED IDEOGRAPH
+  {0xAB45, 0x4E9F}, //1514 #CJK UNIFIED IDEOGRAPH
+  {0xAB46, 0x4EAD}, //1515 #CJK UNIFIED IDEOGRAPH
+  {0xAB47, 0x4EAE}, //1516 #CJK UNIFIED IDEOGRAPH
+  {0xAB48, 0x4FE1}, //1517 #CJK UNIFIED IDEOGRAPH
+  {0xAB49, 0x4FB5}, //1518 #CJK UNIFIED IDEOGRAPH
+  {0xAB4A, 0x4FAF}, //1519 #CJK UNIFIED IDEOGRAPH
+  {0xAB4B, 0x4FBF}, //1520 #CJK UNIFIED IDEOGRAPH
+  {0xAB4C, 0x4FE0}, //1521 #CJK UNIFIED IDEOGRAPH
+  {0xAB4D, 0x4FD1}, //1522 #CJK UNIFIED IDEOGRAPH
+  {0xAB4E, 0x4FCF}, //1523 #CJK UNIFIED IDEOGRAPH
+  {0xAB4F, 0x4FDD}, //1524 #CJK UNIFIED IDEOGRAPH
+  {0xAB50, 0x4FC3}, //1525 #CJK UNIFIED IDEOGRAPH
+  {0xAB51, 0x4FB6}, //1526 #CJK UNIFIED IDEOGRAPH
+  {0xAB52, 0x4FD8}, //1527 #CJK UNIFIED IDEOGRAPH
+  {0xAB53, 0x4FDF}, //1528 #CJK UNIFIED IDEOGRAPH
+  {0xAB54, 0x4FCA}, //1529 #CJK UNIFIED IDEOGRAPH
+  {0xAB55, 0x4FD7}, //1530 #CJK UNIFIED IDEOGRAPH
+  {0xAB56, 0x4FAE}, //1531 #CJK UNIFIED IDEOGRAPH
+  {0xAB57, 0x4FD0}, //1532 #CJK UNIFIED IDEOGRAPH
+  {0xAB58, 0x4FC4}, //1533 #CJK UNIFIED IDEOGRAPH
+  {0xAB59, 0x4FC2}, //1534 #CJK UNIFIED IDEOGRAPH
+  {0xAB5A, 0x4FDA}, //1535 #CJK UNIFIED IDEOGRAPH
+  {0xAB5B, 0x4FCE}, //1536 #CJK UNIFIED IDEOGRAPH
+  {0xAB5C, 0x4FDE}, //1537 #CJK UNIFIED IDEOGRAPH
+  {0xAB5D, 0x4FB7}, //1538 #CJK UNIFIED IDEOGRAPH
+  {0xAB5E, 0x5157}, //1539 #CJK UNIFIED IDEOGRAPH
+  {0xAB5F, 0x5192}, //1540 #CJK UNIFIED IDEOGRAPH
+  {0xAB60, 0x5191}, //1541 #CJK UNIFIED IDEOGRAPH
+  {0xAB61, 0x51A0}, //1542 #CJK UNIFIED IDEOGRAPH
+  {0xAB62, 0x524E}, //1543 #CJK UNIFIED IDEOGRAPH
+  {0xAB63, 0x5243}, //1544 #CJK UNIFIED IDEOGRAPH
+  {0xAB64, 0x524A}, //1545 #CJK UNIFIED IDEOGRAPH
+  {0xAB65, 0x524D}, //1546 #CJK UNIFIED IDEOGRAPH
+  {0xAB66, 0x524C}, //1547 #CJK UNIFIED IDEOGRAPH
+  {0xAB67, 0x524B}, //1548 #CJK UNIFIED IDEOGRAPH
+  {0xAB68, 0x5247}, //1549 #CJK UNIFIED IDEOGRAPH
+  {0xAB69, 0x52C7}, //1550 #CJK UNIFIED IDEOGRAPH
+  {0xAB6A, 0x52C9}, //1551 #CJK UNIFIED IDEOGRAPH
+  {0xAB6B, 0x52C3}, //1552 #CJK UNIFIED IDEOGRAPH
+  {0xAB6C, 0x52C1}, //1553 #CJK UNIFIED IDEOGRAPH
+  {0xAB6D, 0x530D}, //1554 #CJK UNIFIED IDEOGRAPH
+  {0xAB6E, 0x5357}, //1555 #CJK UNIFIED IDEOGRAPH
+  {0xAB6F, 0x537B}, //1556 #CJK UNIFIED IDEOGRAPH
+  {0xAB70, 0x539A}, //1557 #CJK UNIFIED IDEOGRAPH
+  {0xAB71, 0x53DB}, //1558 #CJK UNIFIED IDEOGRAPH
+  {0xAB72, 0x54AC}, //1559 #CJK UNIFIED IDEOGRAPH
+  {0xAB73, 0x54C0}, //1560 #CJK UNIFIED IDEOGRAPH
+  {0xAB74, 0x54A8}, //1561 #CJK UNIFIED IDEOGRAPH
+  {0xAB75, 0x54CE}, //1562 #CJK UNIFIED IDEOGRAPH
+  {0xAB76, 0x54C9}, //1563 #CJK UNIFIED IDEOGRAPH
+  {0xAB77, 0x54B8}, //1564 #CJK UNIFIED IDEOGRAPH
+  {0xAB78, 0x54A6}, //1565 #CJK UNIFIED IDEOGRAPH
+  {0xAB79, 0x54B3}, //1566 #CJK UNIFIED IDEOGRAPH
+  {0xAB7A, 0x54C7}, //1567 #CJK UNIFIED IDEOGRAPH
+  {0xAB7B, 0x54C2}, //1568 #CJK UNIFIED IDEOGRAPH
+  {0xAB7C, 0x54BD}, //1569 #CJK UNIFIED IDEOGRAPH
+  {0xAB7D, 0x54AA}, //1570 #CJK UNIFIED IDEOGRAPH
+  {0xAB7E, 0x54C1}, //1571 #CJK UNIFIED IDEOGRAPH
+  {0xABA1, 0x54C4}, //1572 #CJK UNIFIED IDEOGRAPH
+  {0xABA2, 0x54C8}, //1573 #CJK UNIFIED IDEOGRAPH
+  {0xABA3, 0x54AF}, //1574 #CJK UNIFIED IDEOGRAPH
+  {0xABA4, 0x54AB}, //1575 #CJK UNIFIED IDEOGRAPH
+  {0xABA5, 0x54B1}, //1576 #CJK UNIFIED IDEOGRAPH
+  {0xABA6, 0x54BB}, //1577 #CJK UNIFIED IDEOGRAPH
+  {0xABA7, 0x54A9}, //1578 #CJK UNIFIED IDEOGRAPH
+  {0xABA8, 0x54A7}, //1579 #CJK UNIFIED IDEOGRAPH
+  {0xABA9, 0x54BF}, //1580 #CJK UNIFIED IDEOGRAPH
+  {0xABAA, 0x56FF}, //1581 #CJK UNIFIED IDEOGRAPH
+  {0xABAB, 0x5782}, //1582 #CJK UNIFIED IDEOGRAPH
+  {0xABAC, 0x578B}, //1583 #CJK UNIFIED IDEOGRAPH
+  {0xABAD, 0x57A0}, //1584 #CJK UNIFIED IDEOGRAPH
+  {0xABAE, 0x57A3}, //1585 #CJK UNIFIED IDEOGRAPH
+  {0xABAF, 0x57A2}, //1586 #CJK UNIFIED IDEOGRAPH
+  {0xABB0, 0x57CE}, //1587 #CJK UNIFIED IDEOGRAPH
+  {0xABB1, 0x57AE}, //1588 #CJK UNIFIED IDEOGRAPH
+  {0xABB2, 0x5793}, //1589 #CJK UNIFIED IDEOGRAPH
+  {0xABB3, 0x5955}, //1590 #CJK UNIFIED IDEOGRAPH
+  {0xABB4, 0x5951}, //1591 #CJK UNIFIED IDEOGRAPH
+  {0xABB5, 0x594F}, //1592 #CJK UNIFIED IDEOGRAPH
+  {0xABB6, 0x594E}, //1593 #CJK UNIFIED IDEOGRAPH
+  {0xABB7, 0x5950}, //1594 #CJK UNIFIED IDEOGRAPH
+  {0xABB8, 0x59DC}, //1595 #CJK UNIFIED IDEOGRAPH
+  {0xABB9, 0x59D8}, //1596 #CJK UNIFIED IDEOGRAPH
+  {0xABBA, 0x59FF}, //1597 #CJK UNIFIED IDEOGRAPH
+  {0xABBB, 0x59E3}, //1598 #CJK UNIFIED IDEOGRAPH
+  {0xABBC, 0x59E8}, //1599 #CJK UNIFIED IDEOGRAPH
+  {0xABBD, 0x5A03}, //1600 #CJK UNIFIED IDEOGRAPH
+  {0xABBE, 0x59E5}, //1601 #CJK UNIFIED IDEOGRAPH
+  {0xABBF, 0x59EA}, //1602 #CJK UNIFIED IDEOGRAPH
+  {0xABC0, 0x59DA}, //1603 #CJK UNIFIED IDEOGRAPH
+  {0xABC1, 0x59E6}, //1604 #CJK UNIFIED IDEOGRAPH
+  {0xABC2, 0x5A01}, //1605 #CJK UNIFIED IDEOGRAPH
+  {0xABC3, 0x59FB}, //1606 #CJK UNIFIED IDEOGRAPH
+  {0xABC4, 0x5B69}, //1607 #CJK UNIFIED IDEOGRAPH
+  {0xABC5, 0x5BA3}, //1608 #CJK UNIFIED IDEOGRAPH
+  {0xABC6, 0x5BA6}, //1609 #CJK UNIFIED IDEOGRAPH
+  {0xABC7, 0x5BA4}, //1610 #CJK UNIFIED IDEOGRAPH
+  {0xABC8, 0x5BA2}, //1611 #CJK UNIFIED IDEOGRAPH
+  {0xABC9, 0x5BA5}, //1612 #CJK UNIFIED IDEOGRAPH
+  {0xABCA, 0x5C01}, //1613 #CJK UNIFIED IDEOGRAPH
+  {0xABCB, 0x5C4E}, //1614 #CJK UNIFIED IDEOGRAPH
+  {0xABCC, 0x5C4F}, //1615 #CJK UNIFIED IDEOGRAPH
+  {0xABCD, 0x5C4D}, //1616 #CJK UNIFIED IDEOGRAPH
+  {0xABCE, 0x5C4B}, //1617 #CJK UNIFIED IDEOGRAPH
+  {0xABCF, 0x5CD9}, //1618 #CJK UNIFIED IDEOGRAPH
+  {0xABD0, 0x5CD2}, //1619 #CJK UNIFIED IDEOGRAPH
+  {0xABD1, 0x5DF7}, //1620 #CJK UNIFIED IDEOGRAPH
+  {0xABD2, 0x5E1D}, //1621 #CJK UNIFIED IDEOGRAPH
+  {0xABD3, 0x5E25}, //1622 #CJK UNIFIED IDEOGRAPH
+  {0xABD4, 0x5E1F}, //1623 #CJK UNIFIED IDEOGRAPH
+  {0xABD5, 0x5E7D}, //1624 #CJK UNIFIED IDEOGRAPH
+  {0xABD6, 0x5EA0}, //1625 #CJK UNIFIED IDEOGRAPH
+  {0xABD7, 0x5EA6}, //1626 #CJK UNIFIED IDEOGRAPH
+  {0xABD8, 0x5EFA}, //1627 #CJK UNIFIED IDEOGRAPH
+  {0xABD9, 0x5F08}, //1628 #CJK UNIFIED IDEOGRAPH
+  {0xABDA, 0x5F2D}, //1629 #CJK UNIFIED IDEOGRAPH
+  {0xABDB, 0x5F65}, //1630 #CJK UNIFIED IDEOGRAPH
+  {0xABDC, 0x5F88}, //1631 #CJK UNIFIED IDEOGRAPH
+  {0xABDD, 0x5F85}, //1632 #CJK UNIFIED IDEOGRAPH
+  {0xABDE, 0x5F8A}, //1633 #CJK UNIFIED IDEOGRAPH
+  {0xABDF, 0x5F8B}, //1634 #CJK UNIFIED IDEOGRAPH
+  {0xABE0, 0x5F87}, //1635 #CJK UNIFIED IDEOGRAPH
+  {0xABE1, 0x5F8C}, //1636 #CJK UNIFIED IDEOGRAPH
+  {0xABE2, 0x5F89}, //1637 #CJK UNIFIED IDEOGRAPH
+  {0xABE3, 0x6012}, //1638 #CJK UNIFIED IDEOGRAPH
+  {0xABE4, 0x601D}, //1639 #CJK UNIFIED IDEOGRAPH
+  {0xABE5, 0x6020}, //1640 #CJK UNIFIED IDEOGRAPH
+  {0xABE6, 0x6025}, //1641 #CJK UNIFIED IDEOGRAPH
+  {0xABE7, 0x600E}, //1642 #CJK UNIFIED IDEOGRAPH
+  {0xABE8, 0x6028}, //1643 #CJK UNIFIED IDEOGRAPH
+  {0xABE9, 0x604D}, //1644 #CJK UNIFIED IDEOGRAPH
+  {0xABEA, 0x6070}, //1645 #CJK UNIFIED IDEOGRAPH
+  {0xABEB, 0x6068}, //1646 #CJK UNIFIED IDEOGRAPH
+  {0xABEC, 0x6062}, //1647 #CJK UNIFIED IDEOGRAPH
+  {0xABED, 0x6046}, //1648 #CJK UNIFIED IDEOGRAPH
+  {0xABEE, 0x6043}, //1649 #CJK UNIFIED IDEOGRAPH
+  {0xABEF, 0x606C}, //1650 #CJK UNIFIED IDEOGRAPH
+  {0xABF0, 0x606B}, //1651 #CJK UNIFIED IDEOGRAPH
+  {0xABF1, 0x606A}, //1652 #CJK UNIFIED IDEOGRAPH
+  {0xABF2, 0x6064}, //1653 #CJK UNIFIED IDEOGRAPH
+  {0xABF3, 0x6241}, //1654 #CJK UNIFIED IDEOGRAPH
+  {0xABF4, 0x62DC}, //1655 #CJK UNIFIED IDEOGRAPH
+  {0xABF5, 0x6316}, //1656 #CJK UNIFIED IDEOGRAPH
+  {0xABF6, 0x6309}, //1657 #CJK UNIFIED IDEOGRAPH
+  {0xABF7, 0x62FC}, //1658 #CJK UNIFIED IDEOGRAPH
+  {0xABF8, 0x62ED}, //1659 #CJK UNIFIED IDEOGRAPH
+  {0xABF9, 0x6301}, //1660 #CJK UNIFIED IDEOGRAPH
+  {0xABFA, 0x62EE}, //1661 #CJK UNIFIED IDEOGRAPH
+  {0xABFB, 0x62FD}, //1662 #CJK UNIFIED IDEOGRAPH
+  {0xABFC, 0x6307}, //1663 #CJK UNIFIED IDEOGRAPH
+  {0xABFD, 0x62F1}, //1664 #CJK UNIFIED IDEOGRAPH
+  {0xABFE, 0x62F7}, //1665 #CJK UNIFIED IDEOGRAPH
+  {0xAC40, 0x62EF}, //1666 #CJK UNIFIED IDEOGRAPH
+  {0xAC41, 0x62EC}, //1667 #CJK UNIFIED IDEOGRAPH
+  {0xAC42, 0x62FE}, //1668 #CJK UNIFIED IDEOGRAPH
+  {0xAC43, 0x62F4}, //1669 #CJK UNIFIED IDEOGRAPH
+  {0xAC44, 0x6311}, //1670 #CJK UNIFIED IDEOGRAPH
+  {0xAC45, 0x6302}, //1671 #CJK UNIFIED IDEOGRAPH
+  {0xAC46, 0x653F}, //1672 #CJK UNIFIED IDEOGRAPH
+  {0xAC47, 0x6545}, //1673 #CJK UNIFIED IDEOGRAPH
+  {0xAC48, 0x65AB}, //1674 #CJK UNIFIED IDEOGRAPH
+  {0xAC49, 0x65BD}, //1675 #CJK UNIFIED IDEOGRAPH
+  {0xAC4A, 0x65E2}, //1676 #CJK UNIFIED IDEOGRAPH
+  {0xAC4B, 0x6625}, //1677 #CJK UNIFIED IDEOGRAPH
+  {0xAC4C, 0x662D}, //1678 #CJK UNIFIED IDEOGRAPH
+  {0xAC4D, 0x6620}, //1679 #CJK UNIFIED IDEOGRAPH
+  {0xAC4E, 0x6627}, //1680 #CJK UNIFIED IDEOGRAPH
+  {0xAC4F, 0x662F}, //1681 #CJK UNIFIED IDEOGRAPH
+  {0xAC50, 0x661F}, //1682 #CJK UNIFIED IDEOGRAPH
+  {0xAC51, 0x6628}, //1683 #CJK UNIFIED IDEOGRAPH
+  {0xAC52, 0x6631}, //1684 #CJK UNIFIED IDEOGRAPH
+  {0xAC53, 0x6624}, //1685 #CJK UNIFIED IDEOGRAPH
+  {0xAC54, 0x66F7}, //1686 #CJK UNIFIED IDEOGRAPH
+  {0xAC55, 0x67FF}, //1687 #CJK UNIFIED IDEOGRAPH
+  {0xAC56, 0x67D3}, //1688 #CJK UNIFIED IDEOGRAPH
+  {0xAC57, 0x67F1}, //1689 #CJK UNIFIED IDEOGRAPH
+  {0xAC58, 0x67D4}, //1690 #CJK UNIFIED IDEOGRAPH
+  {0xAC59, 0x67D0}, //1691 #CJK UNIFIED IDEOGRAPH
+  {0xAC5A, 0x67EC}, //1692 #CJK UNIFIED IDEOGRAPH
+  {0xAC5B, 0x67B6}, //1693 #CJK UNIFIED IDEOGRAPH
+  {0xAC5C, 0x67AF}, //1694 #CJK UNIFIED IDEOGRAPH
+  {0xAC5D, 0x67F5}, //1695 #CJK UNIFIED IDEOGRAPH
+  {0xAC5E, 0x67E9}, //1696 #CJK UNIFIED IDEOGRAPH
+  {0xAC5F, 0x67EF}, //1697 #CJK UNIFIED IDEOGRAPH
+  {0xAC60, 0x67C4}, //1698 #CJK UNIFIED IDEOGRAPH
+  {0xAC61, 0x67D1}, //1699 #CJK UNIFIED IDEOGRAPH
+  {0xAC62, 0x67B4}, //1700 #CJK UNIFIED IDEOGRAPH
+  {0xAC63, 0x67DA}, //1701 #CJK UNIFIED IDEOGRAPH
+  {0xAC64, 0x67E5}, //1702 #CJK UNIFIED IDEOGRAPH
+  {0xAC65, 0x67B8}, //1703 #CJK UNIFIED IDEOGRAPH
+  {0xAC66, 0x67CF}, //1704 #CJK UNIFIED IDEOGRAPH
+  {0xAC67, 0x67DE}, //1705 #CJK UNIFIED IDEOGRAPH
+  {0xAC68, 0x67F3}, //1706 #CJK UNIFIED IDEOGRAPH
+  {0xAC69, 0x67B0}, //1707 #CJK UNIFIED IDEOGRAPH
+  {0xAC6A, 0x67D9}, //1708 #CJK UNIFIED IDEOGRAPH
+  {0xAC6B, 0x67E2}, //1709 #CJK UNIFIED IDEOGRAPH
+  {0xAC6C, 0x67DD}, //1710 #CJK UNIFIED IDEOGRAPH
+  {0xAC6D, 0x67D2}, //1711 #CJK UNIFIED IDEOGRAPH
+  {0xAC6E, 0x6B6A}, //1712 #CJK UNIFIED IDEOGRAPH
+  {0xAC6F, 0x6B83}, //1713 #CJK UNIFIED IDEOGRAPH
+  {0xAC70, 0x6B86}, //1714 #CJK UNIFIED IDEOGRAPH
+  {0xAC71, 0x6BB5}, //1715 #CJK UNIFIED IDEOGRAPH
+  {0xAC72, 0x6BD2}, //1716 #CJK UNIFIED IDEOGRAPH
+  {0xAC73, 0x6BD7}, //1717 #CJK UNIFIED IDEOGRAPH
+  {0xAC74, 0x6C1F}, //1718 #CJK UNIFIED IDEOGRAPH
+  {0xAC75, 0x6CC9}, //1719 #CJK UNIFIED IDEOGRAPH
+  {0xAC76, 0x6D0B}, //1720 #CJK UNIFIED IDEOGRAPH
+  {0xAC77, 0x6D32}, //1721 #CJK UNIFIED IDEOGRAPH
+  {0xAC78, 0x6D2A}, //1722 #CJK UNIFIED IDEOGRAPH
+  {0xAC79, 0x6D41}, //1723 #CJK UNIFIED IDEOGRAPH
+  {0xAC7A, 0x6D25}, //1724 #CJK UNIFIED IDEOGRAPH
+  {0xAC7B, 0x6D0C}, //1725 #CJK UNIFIED IDEOGRAPH
+  {0xAC7C, 0x6D31}, //1726 #CJK UNIFIED IDEOGRAPH
+  {0xAC7D, 0x6D1E}, //1727 #CJK UNIFIED IDEOGRAPH
+  {0xAC7E, 0x6D17}, //1728 #CJK UNIFIED IDEOGRAPH
+  {0xACA1, 0x6D3B}, //1729 #CJK UNIFIED IDEOGRAPH
+  {0xACA2, 0x6D3D}, //1730 #CJK UNIFIED IDEOGRAPH
+  {0xACA3, 0x6D3E}, //1731 #CJK UNIFIED IDEOGRAPH
+  {0xACA4, 0x6D36}, //1732 #CJK UNIFIED IDEOGRAPH
+  {0xACA5, 0x6D1B}, //1733 #CJK UNIFIED IDEOGRAPH
+  {0xACA6, 0x6CF5}, //1734 #CJK UNIFIED IDEOGRAPH
+  {0xACA7, 0x6D39}, //1735 #CJK UNIFIED IDEOGRAPH
+  {0xACA8, 0x6D27}, //1736 #CJK UNIFIED IDEOGRAPH
+  {0xACA9, 0x6D38}, //1737 #CJK UNIFIED IDEOGRAPH
+  {0xACAA, 0x6D29}, //1738 #CJK UNIFIED IDEOGRAPH
+  {0xACAB, 0x6D2E}, //1739 #CJK UNIFIED IDEOGRAPH
+  {0xACAC, 0x6D35}, //1740 #CJK UNIFIED IDEOGRAPH
+  {0xACAD, 0x6D0E}, //1741 #CJK UNIFIED IDEOGRAPH
+  {0xACAE, 0x6D2B}, //1742 #CJK UNIFIED IDEOGRAPH
+  {0xACAF, 0x70AB}, //1743 #CJK UNIFIED IDEOGRAPH
+  {0xACB0, 0x70BA}, //1744 #CJK UNIFIED IDEOGRAPH
+  {0xACB1, 0x70B3}, //1745 #CJK UNIFIED IDEOGRAPH
+  {0xACB2, 0x70AC}, //1746 #CJK UNIFIED IDEOGRAPH
+  {0xACB3, 0x70AF}, //1747 #CJK UNIFIED IDEOGRAPH
+  {0xACB4, 0x70AD}, //1748 #CJK UNIFIED IDEOGRAPH
+  {0xACB5, 0x70B8}, //1749 #CJK UNIFIED IDEOGRAPH
+  {0xACB6, 0x70AE}, //1750 #CJK UNIFIED IDEOGRAPH
+  {0xACB7, 0x70A4}, //1751 #CJK UNIFIED IDEOGRAPH
+  {0xACB8, 0x7230}, //1752 #CJK UNIFIED IDEOGRAPH
+  {0xACB9, 0x7272}, //1753 #CJK UNIFIED IDEOGRAPH
+  {0xACBA, 0x726F}, //1754 #CJK UNIFIED IDEOGRAPH
+  {0xACBB, 0x7274}, //1755 #CJK UNIFIED IDEOGRAPH
+  {0xACBC, 0x72E9}, //1756 #CJK UNIFIED IDEOGRAPH
+  {0xACBD, 0x72E0}, //1757 #CJK UNIFIED IDEOGRAPH
+  {0xACBE, 0x72E1}, //1758 #CJK UNIFIED IDEOGRAPH
+  {0xACBF, 0x73B7}, //1759 #CJK UNIFIED IDEOGRAPH
+  {0xACC0, 0x73CA}, //1760 #CJK UNIFIED IDEOGRAPH
+  {0xACC1, 0x73BB}, //1761 #CJK UNIFIED IDEOGRAPH
+  {0xACC2, 0x73B2}, //1762 #CJK UNIFIED IDEOGRAPH
+  {0xACC3, 0x73CD}, //1763 #CJK UNIFIED IDEOGRAPH
+  {0xACC4, 0x73C0}, //1764 #CJK UNIFIED IDEOGRAPH
+  {0xACC5, 0x73B3}, //1765 #CJK UNIFIED IDEOGRAPH
+  {0xACC6, 0x751A}, //1766 #CJK UNIFIED IDEOGRAPH
+  {0xACC7, 0x752D}, //1767 #CJK UNIFIED IDEOGRAPH
+  {0xACC8, 0x754F}, //1768 #CJK UNIFIED IDEOGRAPH
+  {0xACC9, 0x754C}, //1769 #CJK UNIFIED IDEOGRAPH
+  {0xACCA, 0x754E}, //1770 #CJK UNIFIED IDEOGRAPH
+  {0xACCB, 0x754B}, //1771 #CJK UNIFIED IDEOGRAPH
+  {0xACCC, 0x75AB}, //1772 #CJK UNIFIED IDEOGRAPH
+  {0xACCD, 0x75A4}, //1773 #CJK UNIFIED IDEOGRAPH
+  {0xACCE, 0x75A5}, //1774 #CJK UNIFIED IDEOGRAPH
+  {0xACCF, 0x75A2}, //1775 #CJK UNIFIED IDEOGRAPH
+  {0xACD0, 0x75A3}, //1776 #CJK UNIFIED IDEOGRAPH
+  {0xACD1, 0x7678}, //1777 #CJK UNIFIED IDEOGRAPH
+  {0xACD2, 0x7686}, //1778 #CJK UNIFIED IDEOGRAPH
+  {0xACD3, 0x7687}, //1779 #CJK UNIFIED IDEOGRAPH
+  {0xACD4, 0x7688}, //1780 #CJK UNIFIED IDEOGRAPH
+  {0xACD5, 0x76C8}, //1781 #CJK UNIFIED IDEOGRAPH
+  {0xACD6, 0x76C6}, //1782 #CJK UNIFIED IDEOGRAPH
+  {0xACD7, 0x76C3}, //1783 #CJK UNIFIED IDEOGRAPH
+  {0xACD8, 0x76C5}, //1784 #CJK UNIFIED IDEOGRAPH
+  {0xACD9, 0x7701}, //1785 #CJK UNIFIED IDEOGRAPH
+  {0xACDA, 0x76F9}, //1786 #CJK UNIFIED IDEOGRAPH
+  {0xACDB, 0x76F8}, //1787 #CJK UNIFIED IDEOGRAPH
+  {0xACDC, 0x7709}, //1788 #CJK UNIFIED IDEOGRAPH
+  {0xACDD, 0x770B}, //1789 #CJK UNIFIED IDEOGRAPH
+  {0xACDE, 0x76FE}, //1790 #CJK UNIFIED IDEOGRAPH
+  {0xACDF, 0x76FC}, //1791 #CJK UNIFIED IDEOGRAPH
+  {0xACE0, 0x7707}, //1792 #CJK UNIFIED IDEOGRAPH
+  {0xACE1, 0x77DC}, //1793 #CJK UNIFIED IDEOGRAPH
+  {0xACE2, 0x7802}, //1794 #CJK UNIFIED IDEOGRAPH
+  {0xACE3, 0x7814}, //1795 #CJK UNIFIED IDEOGRAPH
+  {0xACE4, 0x780C}, //1796 #CJK UNIFIED IDEOGRAPH
+  {0xACE5, 0x780D}, //1797 #CJK UNIFIED IDEOGRAPH
+  {0xACE6, 0x7946}, //1798 #CJK UNIFIED IDEOGRAPH
+  {0xACE7, 0x7949}, //1799 #CJK UNIFIED IDEOGRAPH
+  {0xACE8, 0x7948}, //1800 #CJK UNIFIED IDEOGRAPH
+  {0xACE9, 0x7947}, //1801 #CJK UNIFIED IDEOGRAPH
+  {0xACEA, 0x79B9}, //1802 #CJK UNIFIED IDEOGRAPH
+  {0xACEB, 0x79BA}, //1803 #CJK UNIFIED IDEOGRAPH
+  {0xACEC, 0x79D1}, //1804 #CJK UNIFIED IDEOGRAPH
+  {0xACED, 0x79D2}, //1805 #CJK UNIFIED IDEOGRAPH
+  {0xACEE, 0x79CB}, //1806 #CJK UNIFIED IDEOGRAPH
+  {0xACEF, 0x7A7F}, //1807 #CJK UNIFIED IDEOGRAPH
+  {0xACF0, 0x7A81}, //1808 #CJK UNIFIED IDEOGRAPH
+  {0xACF1, 0x7AFF}, //1809 #CJK UNIFIED IDEOGRAPH
+  {0xACF2, 0x7AFD}, //1810 #CJK UNIFIED IDEOGRAPH
+  {0xACF3, 0x7C7D}, //1811 #CJK UNIFIED IDEOGRAPH
+  {0xACF4, 0x7D02}, //1812 #CJK UNIFIED IDEOGRAPH
+  {0xACF5, 0x7D05}, //1813 #CJK UNIFIED IDEOGRAPH
+  {0xACF6, 0x7D00}, //1814 #CJK UNIFIED IDEOGRAPH
+  {0xACF7, 0x7D09}, //1815 #CJK UNIFIED IDEOGRAPH
+  {0xACF8, 0x7D07}, //1816 #CJK UNIFIED IDEOGRAPH
+  {0xACF9, 0x7D04}, //1817 #CJK UNIFIED IDEOGRAPH
+  {0xACFA, 0x7D06}, //1818 #CJK UNIFIED IDEOGRAPH
+  {0xACFB, 0x7F38}, //1819 #CJK UNIFIED IDEOGRAPH
+  {0xACFC, 0x7F8E}, //1820 #CJK UNIFIED IDEOGRAPH
+  {0xACFD, 0x7FBF}, //1821 #CJK UNIFIED IDEOGRAPH
+  {0xACFE, 0x8004}, //1822 #CJK UNIFIED IDEOGRAPH
+  {0xAD40, 0x8010}, //1823 #CJK UNIFIED IDEOGRAPH
+  {0xAD41, 0x800D}, //1824 #CJK UNIFIED IDEOGRAPH
+  {0xAD42, 0x8011}, //1825 #CJK UNIFIED IDEOGRAPH
+  {0xAD43, 0x8036}, //1826 #CJK UNIFIED IDEOGRAPH
+  {0xAD44, 0x80D6}, //1827 #CJK UNIFIED IDEOGRAPH
+  {0xAD45, 0x80E5}, //1828 #CJK UNIFIED IDEOGRAPH
+  {0xAD46, 0x80DA}, //1829 #CJK UNIFIED IDEOGRAPH
+  {0xAD47, 0x80C3}, //1830 #CJK UNIFIED IDEOGRAPH
+  {0xAD48, 0x80C4}, //1831 #CJK UNIFIED IDEOGRAPH
+  {0xAD49, 0x80CC}, //1832 #CJK UNIFIED IDEOGRAPH
+  {0xAD4A, 0x80E1}, //1833 #CJK UNIFIED IDEOGRAPH
+  {0xAD4B, 0x80DB}, //1834 #CJK UNIFIED IDEOGRAPH
+  {0xAD4C, 0x80CE}, //1835 #CJK UNIFIED IDEOGRAPH
+  {0xAD4D, 0x80DE}, //1836 #CJK UNIFIED IDEOGRAPH
+  {0xAD4E, 0x80E4}, //1837 #CJK UNIFIED IDEOGRAPH
+  {0xAD4F, 0x80DD}, //1838 #CJK UNIFIED IDEOGRAPH
+  {0xAD50, 0x81F4}, //1839 #CJK UNIFIED IDEOGRAPH
+  {0xAD51, 0x8222}, //1840 #CJK UNIFIED IDEOGRAPH
+  {0xAD52, 0x82E7}, //1841 #CJK UNIFIED IDEOGRAPH
+  {0xAD53, 0x8303}, //1842 #CJK UNIFIED IDEOGRAPH
+  {0xAD54, 0x8305}, //1843 #CJK UNIFIED IDEOGRAPH
+  {0xAD55, 0x82E3}, //1844 #CJK UNIFIED IDEOGRAPH
+  {0xAD56, 0x82DB}, //1845 #CJK UNIFIED IDEOGRAPH
+  {0xAD57, 0x82E6}, //1846 #CJK UNIFIED IDEOGRAPH
+  {0xAD58, 0x8304}, //1847 #CJK UNIFIED IDEOGRAPH
+  {0xAD59, 0x82E5}, //1848 #CJK UNIFIED IDEOGRAPH
+  {0xAD5A, 0x8302}, //1849 #CJK UNIFIED IDEOGRAPH
+  {0xAD5B, 0x8309}, //1850 #CJK UNIFIED IDEOGRAPH
+  {0xAD5C, 0x82D2}, //1851 #CJK UNIFIED IDEOGRAPH
+  {0xAD5D, 0x82D7}, //1852 #CJK UNIFIED IDEOGRAPH
+  {0xAD5E, 0x82F1}, //1853 #CJK UNIFIED IDEOGRAPH
+  {0xAD5F, 0x8301}, //1854 #CJK UNIFIED IDEOGRAPH
+  {0xAD60, 0x82DC}, //1855 #CJK UNIFIED IDEOGRAPH
+  {0xAD61, 0x82D4}, //1856 #CJK UNIFIED IDEOGRAPH
+  {0xAD62, 0x82D1}, //1857 #CJK UNIFIED IDEOGRAPH
+  {0xAD63, 0x82DE}, //1858 #CJK UNIFIED IDEOGRAPH
+  {0xAD64, 0x82D3}, //1859 #CJK UNIFIED IDEOGRAPH
+  {0xAD65, 0x82DF}, //1860 #CJK UNIFIED IDEOGRAPH
+  {0xAD66, 0x82EF}, //1861 #CJK UNIFIED IDEOGRAPH
+  {0xAD67, 0x8306}, //1862 #CJK UNIFIED IDEOGRAPH
+  {0xAD68, 0x8650}, //1863 #CJK UNIFIED IDEOGRAPH
+  {0xAD69, 0x8679}, //1864 #CJK UNIFIED IDEOGRAPH
+  {0xAD6A, 0x867B}, //1865 #CJK UNIFIED IDEOGRAPH
+  {0xAD6B, 0x867A}, //1866 #CJK UNIFIED IDEOGRAPH
+  {0xAD6C, 0x884D}, //1867 #CJK UNIFIED IDEOGRAPH
+  {0xAD6D, 0x886B}, //1868 #CJK UNIFIED IDEOGRAPH
+  {0xAD6E, 0x8981}, //1869 #CJK UNIFIED IDEOGRAPH
+  {0xAD6F, 0x89D4}, //1870 #CJK UNIFIED IDEOGRAPH
+  {0xAD70, 0x8A08}, //1871 #CJK UNIFIED IDEOGRAPH
+  {0xAD71, 0x8A02}, //1872 #CJK UNIFIED IDEOGRAPH
+  {0xAD72, 0x8A03}, //1873 #CJK UNIFIED IDEOGRAPH
+  {0xAD73, 0x8C9E}, //1874 #CJK UNIFIED IDEOGRAPH
+  {0xAD74, 0x8CA0}, //1875 #CJK UNIFIED IDEOGRAPH
+  {0xAD75, 0x8D74}, //1876 #CJK UNIFIED IDEOGRAPH
+  {0xAD76, 0x8D73}, //1877 #CJK UNIFIED IDEOGRAPH
+  {0xAD77, 0x8DB4}, //1878 #CJK UNIFIED IDEOGRAPH
+  {0xAD78, 0x8ECD}, //1879 #CJK UNIFIED IDEOGRAPH
+  {0xAD79, 0x8ECC}, //1880 #CJK UNIFIED IDEOGRAPH
+  {0xAD7A, 0x8FF0}, //1881 #CJK UNIFIED IDEOGRAPH
+  {0xAD7B, 0x8FE6}, //1882 #CJK UNIFIED IDEOGRAPH
+  {0xAD7C, 0x8FE2}, //1883 #CJK UNIFIED IDEOGRAPH
+  {0xAD7D, 0x8FEA}, //1884 #CJK UNIFIED IDEOGRAPH
+  {0xAD7E, 0x8FE5}, //1885 #CJK UNIFIED IDEOGRAPH
+  {0xADA1, 0x8FED}, //1886 #CJK UNIFIED IDEOGRAPH
+  {0xADA2, 0x8FEB}, //1887 #CJK UNIFIED IDEOGRAPH
+  {0xADA3, 0x8FE4}, //1888 #CJK UNIFIED IDEOGRAPH
+  {0xADA4, 0x8FE8}, //1889 #CJK UNIFIED IDEOGRAPH
+  {0xADA5, 0x90CA}, //1890 #CJK UNIFIED IDEOGRAPH
+  {0xADA6, 0x90CE}, //1891 #CJK UNIFIED IDEOGRAPH
+  {0xADA7, 0x90C1}, //1892 #CJK UNIFIED IDEOGRAPH
+  {0xADA8, 0x90C3}, //1893 #CJK UNIFIED IDEOGRAPH
+  {0xADA9, 0x914B}, //1894 #CJK UNIFIED IDEOGRAPH
+  {0xADAA, 0x914A}, //1895 #CJK UNIFIED IDEOGRAPH
+  {0xADAB, 0x91CD}, //1896 #CJK UNIFIED IDEOGRAPH
+  {0xADAC, 0x9582}, //1897 #CJK UNIFIED IDEOGRAPH
+  {0xADAD, 0x9650}, //1898 #CJK UNIFIED IDEOGRAPH
+  {0xADAE, 0x964B}, //1899 #CJK UNIFIED IDEOGRAPH
+  {0xADAF, 0x964C}, //1900 #CJK UNIFIED IDEOGRAPH
+  {0xADB0, 0x964D}, //1901 #CJK UNIFIED IDEOGRAPH
+  {0xADB1, 0x9762}, //1902 #CJK UNIFIED IDEOGRAPH
+  {0xADB2, 0x9769}, //1903 #CJK UNIFIED IDEOGRAPH
+  {0xADB3, 0x97CB}, //1904 #CJK UNIFIED IDEOGRAPH
+  {0xADB4, 0x97ED}, //1905 #CJK UNIFIED IDEOGRAPH
+  {0xADB5, 0x97F3}, //1906 #CJK UNIFIED IDEOGRAPH
+  {0xADB6, 0x9801}, //1907 #CJK UNIFIED IDEOGRAPH
+  {0xADB7, 0x98A8}, //1908 #CJK UNIFIED IDEOGRAPH
+  {0xADB8, 0x98DB}, //1909 #CJK UNIFIED IDEOGRAPH
+  {0xADB9, 0x98DF}, //1910 #CJK UNIFIED IDEOGRAPH
+  {0xADBA, 0x9996}, //1911 #CJK UNIFIED IDEOGRAPH
+  {0xADBB, 0x9999}, //1912 #CJK UNIFIED IDEOGRAPH
+  {0xADBC, 0x4E58}, //1913 #CJK UNIFIED IDEOGRAPH
+  {0xADBD, 0x4EB3}, //1914 #CJK UNIFIED IDEOGRAPH
+  {0xADBE, 0x500C}, //1915 #CJK UNIFIED IDEOGRAPH
+  {0xADBF, 0x500D}, //1916 #CJK UNIFIED IDEOGRAPH
+  {0xADC0, 0x5023}, //1917 #CJK UNIFIED IDEOGRAPH
+  {0xADC1, 0x4FEF}, //1918 #CJK UNIFIED IDEOGRAPH
+  {0xADC2, 0x5026}, //1919 #CJK UNIFIED IDEOGRAPH
+  {0xADC3, 0x5025}, //1920 #CJK UNIFIED IDEOGRAPH
+  {0xADC4, 0x4FF8}, //1921 #CJK UNIFIED IDEOGRAPH
+  {0xADC5, 0x5029}, //1922 #CJK UNIFIED IDEOGRAPH
+  {0xADC6, 0x5016}, //1923 #CJK UNIFIED IDEOGRAPH
+  {0xADC7, 0x5006}, //1924 #CJK UNIFIED IDEOGRAPH
+  {0xADC8, 0x503C}, //1925 #CJK UNIFIED IDEOGRAPH
+  {0xADC9, 0x501F}, //1926 #CJK UNIFIED IDEOGRAPH
+  {0xADCA, 0x501A}, //1927 #CJK UNIFIED IDEOGRAPH
+  {0xADCB, 0x5012}, //1928 #CJK UNIFIED IDEOGRAPH
+  {0xADCC, 0x5011}, //1929 #CJK UNIFIED IDEOGRAPH
+  {0xADCD, 0x4FFA}, //1930 #CJK UNIFIED IDEOGRAPH
+  {0xADCE, 0x5000}, //1931 #CJK UNIFIED IDEOGRAPH
+  {0xADCF, 0x5014}, //1932 #CJK UNIFIED IDEOGRAPH
+  {0xADD0, 0x5028}, //1933 #CJK UNIFIED IDEOGRAPH
+  {0xADD1, 0x4FF1}, //1934 #CJK UNIFIED IDEOGRAPH
+  {0xADD2, 0x5021}, //1935 #CJK UNIFIED IDEOGRAPH
+  {0xADD3, 0x500B}, //1936 #CJK UNIFIED IDEOGRAPH
+  {0xADD4, 0x5019}, //1937 #CJK UNIFIED IDEOGRAPH
+  {0xADD5, 0x5018}, //1938 #CJK UNIFIED IDEOGRAPH
+  {0xADD6, 0x4FF3}, //1939 #CJK UNIFIED IDEOGRAPH
+  {0xADD7, 0x4FEE}, //1940 #CJK UNIFIED IDEOGRAPH
+  {0xADD8, 0x502D}, //1941 #CJK UNIFIED IDEOGRAPH
+  {0xADD9, 0x502A}, //1942 #CJK UNIFIED IDEOGRAPH
+  {0xADDA, 0x4FFE}, //1943 #CJK UNIFIED IDEOGRAPH
+  {0xADDB, 0x502B}, //1944 #CJK UNIFIED IDEOGRAPH
+  {0xADDC, 0x5009}, //1945 #CJK UNIFIED IDEOGRAPH
+  {0xADDD, 0x517C}, //1946 #CJK UNIFIED IDEOGRAPH
+  {0xADDE, 0x51A4}, //1947 #CJK UNIFIED IDEOGRAPH
+  {0xADDF, 0x51A5}, //1948 #CJK UNIFIED IDEOGRAPH
+  {0xADE0, 0x51A2}, //1949 #CJK UNIFIED IDEOGRAPH
+  {0xADE1, 0x51CD}, //1950 #CJK UNIFIED IDEOGRAPH
+  {0xADE2, 0x51CC}, //1951 #CJK UNIFIED IDEOGRAPH
+  {0xADE3, 0x51C6}, //1952 #CJK UNIFIED IDEOGRAPH
+  {0xADE4, 0x51CB}, //1953 #CJK UNIFIED IDEOGRAPH
+  {0xADE5, 0x5256}, //1954 #CJK UNIFIED IDEOGRAPH
+  {0xADE6, 0x525C}, //1955 #CJK UNIFIED IDEOGRAPH
+  {0xADE7, 0x5254}, //1956 #CJK UNIFIED IDEOGRAPH
+  {0xADE8, 0x525B}, //1957 #CJK UNIFIED IDEOGRAPH
+  {0xADE9, 0x525D}, //1958 #CJK UNIFIED IDEOGRAPH
+  {0xADEA, 0x532A}, //1959 #CJK UNIFIED IDEOGRAPH
+  {0xADEB, 0x537F}, //1960 #CJK UNIFIED IDEOGRAPH
+  {0xADEC, 0x539F}, //1961 #CJK UNIFIED IDEOGRAPH
+  {0xADED, 0x539D}, //1962 #CJK UNIFIED IDEOGRAPH
+  {0xADEE, 0x53DF}, //1963 #CJK UNIFIED IDEOGRAPH
+  {0xADEF, 0x54E8}, //1964 #CJK UNIFIED IDEOGRAPH
+  {0xADF0, 0x5510}, //1965 #CJK UNIFIED IDEOGRAPH
+  {0xADF1, 0x5501}, //1966 #CJK UNIFIED IDEOGRAPH
+  {0xADF2, 0x5537}, //1967 #CJK UNIFIED IDEOGRAPH
+  {0xADF3, 0x54FC}, //1968 #CJK UNIFIED IDEOGRAPH
+  {0xADF4, 0x54E5}, //1969 #CJK UNIFIED IDEOGRAPH
+  {0xADF5, 0x54F2}, //1970 #CJK UNIFIED IDEOGRAPH
+  {0xADF6, 0x5506}, //1971 #CJK UNIFIED IDEOGRAPH
+  {0xADF7, 0x54FA}, //1972 #CJK UNIFIED IDEOGRAPH
+  {0xADF8, 0x5514}, //1973 #CJK UNIFIED IDEOGRAPH
+  {0xADF9, 0x54E9}, //1974 #CJK UNIFIED IDEOGRAPH
+  {0xADFA, 0x54ED}, //1975 #CJK UNIFIED IDEOGRAPH
+  {0xADFB, 0x54E1}, //1976 #CJK UNIFIED IDEOGRAPH
+  {0xADFC, 0x5509}, //1977 #CJK UNIFIED IDEOGRAPH
+  {0xADFD, 0x54EE}, //1978 #CJK UNIFIED IDEOGRAPH
+  {0xADFE, 0x54EA}, //1979 #CJK UNIFIED IDEOGRAPH
+  {0xAE40, 0x54E6}, //1980 #CJK UNIFIED IDEOGRAPH
+  {0xAE41, 0x5527}, //1981 #CJK UNIFIED IDEOGRAPH
+  {0xAE42, 0x5507}, //1982 #CJK UNIFIED IDEOGRAPH
+  {0xAE43, 0x54FD}, //1983 #CJK UNIFIED IDEOGRAPH
+  {0xAE44, 0x550F}, //1984 #CJK UNIFIED IDEOGRAPH
+  {0xAE45, 0x5703}, //1985 #CJK UNIFIED IDEOGRAPH
+  {0xAE46, 0x5704}, //1986 #CJK UNIFIED IDEOGRAPH
+  {0xAE47, 0x57C2}, //1987 #CJK UNIFIED IDEOGRAPH
+  {0xAE48, 0x57D4}, //1988 #CJK UNIFIED IDEOGRAPH
+  {0xAE49, 0x57CB}, //1989 #CJK UNIFIED IDEOGRAPH
+  {0xAE4A, 0x57C3}, //1990 #CJK UNIFIED IDEOGRAPH
+  {0xAE4B, 0x5809}, //1991 #CJK UNIFIED IDEOGRAPH
+  {0xAE4C, 0x590F}, //1992 #CJK UNIFIED IDEOGRAPH
+  {0xAE4D, 0x5957}, //1993 #CJK UNIFIED IDEOGRAPH
+  {0xAE4E, 0x5958}, //1994 #CJK UNIFIED IDEOGRAPH
+  {0xAE4F, 0x595A}, //1995 #CJK UNIFIED IDEOGRAPH
+  {0xAE50, 0x5A11}, //1996 #CJK UNIFIED IDEOGRAPH
+  {0xAE51, 0x5A18}, //1997 #CJK UNIFIED IDEOGRAPH
+  {0xAE52, 0x5A1C}, //1998 #CJK UNIFIED IDEOGRAPH
+  {0xAE53, 0x5A1F}, //1999 #CJK UNIFIED IDEOGRAPH
+  {0xAE54, 0x5A1B}, //2000 #CJK UNIFIED IDEOGRAPH
+  {0xAE55, 0x5A13}, //2001 #CJK UNIFIED IDEOGRAPH
+  {0xAE56, 0x59EC}, //2002 #CJK UNIFIED IDEOGRAPH
+  {0xAE57, 0x5A20}, //2003 #CJK UNIFIED IDEOGRAPH
+  {0xAE58, 0x5A23}, //2004 #CJK UNIFIED IDEOGRAPH
+  {0xAE59, 0x5A29}, //2005 #CJK UNIFIED IDEOGRAPH
+  {0xAE5A, 0x5A25}, //2006 #CJK UNIFIED IDEOGRAPH
+  {0xAE5B, 0x5A0C}, //2007 #CJK UNIFIED IDEOGRAPH
+  {0xAE5C, 0x5A09}, //2008 #CJK UNIFIED IDEOGRAPH
+  {0xAE5D, 0x5B6B}, //2009 #CJK UNIFIED IDEOGRAPH
+  {0xAE5E, 0x5C58}, //2010 #CJK UNIFIED IDEOGRAPH
+  {0xAE5F, 0x5BB0}, //2011 #CJK UNIFIED IDEOGRAPH
+  {0xAE60, 0x5BB3}, //2012 #CJK UNIFIED IDEOGRAPH
+  {0xAE61, 0x5BB6}, //2013 #CJK UNIFIED IDEOGRAPH
+  {0xAE62, 0x5BB4}, //2014 #CJK UNIFIED IDEOGRAPH
+  {0xAE63, 0x5BAE}, //2015 #CJK UNIFIED IDEOGRAPH
+  {0xAE64, 0x5BB5}, //2016 #CJK UNIFIED IDEOGRAPH
+  {0xAE65, 0x5BB9}, //2017 #CJK UNIFIED IDEOGRAPH
+  {0xAE66, 0x5BB8}, //2018 #CJK UNIFIED IDEOGRAPH
+  {0xAE67, 0x5C04}, //2019 #CJK UNIFIED IDEOGRAPH
+  {0xAE68, 0x5C51}, //2020 #CJK UNIFIED IDEOGRAPH
+  {0xAE69, 0x5C55}, //2021 #CJK UNIFIED IDEOGRAPH
+  {0xAE6A, 0x5C50}, //2022 #CJK UNIFIED IDEOGRAPH
+  {0xAE6B, 0x5CED}, //2023 #CJK UNIFIED IDEOGRAPH
+  {0xAE6C, 0x5CFD}, //2024 #CJK UNIFIED IDEOGRAPH
+  {0xAE6D, 0x5CFB}, //2025 #CJK UNIFIED IDEOGRAPH
+  {0xAE6E, 0x5CEA}, //2026 #CJK UNIFIED IDEOGRAPH
+  {0xAE6F, 0x5CE8}, //2027 #CJK UNIFIED IDEOGRAPH
+  {0xAE70, 0x5CF0}, //2028 #CJK UNIFIED IDEOGRAPH
+  {0xAE71, 0x5CF6}, //2029 #CJK UNIFIED IDEOGRAPH
+  {0xAE72, 0x5D01}, //2030 #CJK UNIFIED IDEOGRAPH
+  {0xAE73, 0x5CF4}, //2031 #CJK UNIFIED IDEOGRAPH
+  {0xAE74, 0x5DEE}, //2032 #CJK UNIFIED IDEOGRAPH
+  {0xAE75, 0x5E2D}, //2033 #CJK UNIFIED IDEOGRAPH
+  {0xAE76, 0x5E2B}, //2034 #CJK UNIFIED IDEOGRAPH
+  {0xAE77, 0x5EAB}, //2035 #CJK UNIFIED IDEOGRAPH
+  {0xAE78, 0x5EAD}, //2036 #CJK UNIFIED IDEOGRAPH
+  {0xAE79, 0x5EA7}, //2037 #CJK UNIFIED IDEOGRAPH
+  {0xAE7A, 0x5F31}, //2038 #CJK UNIFIED IDEOGRAPH
+  {0xAE7B, 0x5F92}, //2039 #CJK UNIFIED IDEOGRAPH
+  {0xAE7C, 0x5F91}, //2040 #CJK UNIFIED IDEOGRAPH
+  {0xAE7D, 0x5F90}, //2041 #CJK UNIFIED IDEOGRAPH
+  {0xAE7E, 0x6059}, //2042 #CJK UNIFIED IDEOGRAPH
+  {0xAEA1, 0x6063}, //2043 #CJK UNIFIED IDEOGRAPH
+  {0xAEA2, 0x6065}, //2044 #CJK UNIFIED IDEOGRAPH
+  {0xAEA3, 0x6050}, //2045 #CJK UNIFIED IDEOGRAPH
+  {0xAEA4, 0x6055}, //2046 #CJK UNIFIED IDEOGRAPH
+  {0xAEA5, 0x606D}, //2047 #CJK UNIFIED IDEOGRAPH
+  {0xAEA6, 0x6069}, //2048 #CJK UNIFIED IDEOGRAPH
+  {0xAEA7, 0x606F}, //2049 #CJK UNIFIED IDEOGRAPH
+  {0xAEA8, 0x6084}, //2050 #CJK UNIFIED IDEOGRAPH
+  {0xAEA9, 0x609F}, //2051 #CJK UNIFIED IDEOGRAPH
+  {0xAEAA, 0x609A}, //2052 #CJK UNIFIED IDEOGRAPH
+  {0xAEAB, 0x608D}, //2053 #CJK UNIFIED IDEOGRAPH
+  {0xAEAC, 0x6094}, //2054 #CJK UNIFIED IDEOGRAPH
+  {0xAEAD, 0x608C}, //2055 #CJK UNIFIED IDEOGRAPH
+  {0xAEAE, 0x6085}, //2056 #CJK UNIFIED IDEOGRAPH
+  {0xAEAF, 0x6096}, //2057 #CJK UNIFIED IDEOGRAPH
+  {0xAEB0, 0x6247}, //2058 #CJK UNIFIED IDEOGRAPH
+  {0xAEB1, 0x62F3}, //2059 #CJK UNIFIED IDEOGRAPH
+  {0xAEB2, 0x6308}, //2060 #CJK UNIFIED IDEOGRAPH
+  {0xAEB3, 0x62FF}, //2061 #CJK UNIFIED IDEOGRAPH
+  {0xAEB4, 0x634E}, //2062 #CJK UNIFIED IDEOGRAPH
+  {0xAEB5, 0x633E}, //2063 #CJK UNIFIED IDEOGRAPH
+  {0xAEB6, 0x632F}, //2064 #CJK UNIFIED IDEOGRAPH
+  {0xAEB7, 0x6355}, //2065 #CJK UNIFIED IDEOGRAPH
+  {0xAEB8, 0x6342}, //2066 #CJK UNIFIED IDEOGRAPH
+  {0xAEB9, 0x6346}, //2067 #CJK UNIFIED IDEOGRAPH
+  {0xAEBA, 0x634F}, //2068 #CJK UNIFIED IDEOGRAPH
+  {0xAEBB, 0x6349}, //2069 #CJK UNIFIED IDEOGRAPH
+  {0xAEBC, 0x633A}, //2070 #CJK UNIFIED IDEOGRAPH
+  {0xAEBD, 0x6350}, //2071 #CJK UNIFIED IDEOGRAPH
+  {0xAEBE, 0x633D}, //2072 #CJK UNIFIED IDEOGRAPH
+  {0xAEBF, 0x632A}, //2073 #CJK UNIFIED IDEOGRAPH
+  {0xAEC0, 0x632B}, //2074 #CJK UNIFIED IDEOGRAPH
+  {0xAEC1, 0x6328}, //2075 #CJK UNIFIED IDEOGRAPH
+  {0xAEC2, 0x634D}, //2076 #CJK UNIFIED IDEOGRAPH
+  {0xAEC3, 0x634C}, //2077 #CJK UNIFIED IDEOGRAPH
+  {0xAEC4, 0x6548}, //2078 #CJK UNIFIED IDEOGRAPH
+  {0xAEC5, 0x6549}, //2079 #CJK UNIFIED IDEOGRAPH
+  {0xAEC6, 0x6599}, //2080 #CJK UNIFIED IDEOGRAPH
+  {0xAEC7, 0x65C1}, //2081 #CJK UNIFIED IDEOGRAPH
+  {0xAEC8, 0x65C5}, //2082 #CJK UNIFIED IDEOGRAPH
+  {0xAEC9, 0x6642}, //2083 #CJK UNIFIED IDEOGRAPH
+  {0xAECA, 0x6649}, //2084 #CJK UNIFIED IDEOGRAPH
+  {0xAECB, 0x664F}, //2085 #CJK UNIFIED IDEOGRAPH
+  {0xAECC, 0x6643}, //2086 #CJK UNIFIED IDEOGRAPH
+  {0xAECD, 0x6652}, //2087 #CJK UNIFIED IDEOGRAPH
+  {0xAECE, 0x664C}, //2088 #CJK UNIFIED IDEOGRAPH
+  {0xAECF, 0x6645}, //2089 #CJK UNIFIED IDEOGRAPH
+  {0xAED0, 0x6641}, //2090 #CJK UNIFIED IDEOGRAPH
+  {0xAED1, 0x66F8}, //2091 #CJK UNIFIED IDEOGRAPH
+  {0xAED2, 0x6714}, //2092 #CJK UNIFIED IDEOGRAPH
+  {0xAED3, 0x6715}, //2093 #CJK UNIFIED IDEOGRAPH
+  {0xAED4, 0x6717}, //2094 #CJK UNIFIED IDEOGRAPH
+  {0xAED5, 0x6821}, //2095 #CJK UNIFIED IDEOGRAPH
+  {0xAED6, 0x6838}, //2096 #CJK UNIFIED IDEOGRAPH
+  {0xAED7, 0x6848}, //2097 #CJK UNIFIED IDEOGRAPH
+  {0xAED8, 0x6846}, //2098 #CJK UNIFIED IDEOGRAPH
+  {0xAED9, 0x6853}, //2099 #CJK UNIFIED IDEOGRAPH
+  {0xAEDA, 0x6839}, //2100 #CJK UNIFIED IDEOGRAPH
+  {0xAEDB, 0x6842}, //2101 #CJK UNIFIED IDEOGRAPH
+  {0xAEDC, 0x6854}, //2102 #CJK UNIFIED IDEOGRAPH
+  {0xAEDD, 0x6829}, //2103 #CJK UNIFIED IDEOGRAPH
+  {0xAEDE, 0x68B3}, //2104 #CJK UNIFIED IDEOGRAPH
+  {0xAEDF, 0x6817}, //2105 #CJK UNIFIED IDEOGRAPH
+  {0xAEE0, 0x684C}, //2106 #CJK UNIFIED IDEOGRAPH
+  {0xAEE1, 0x6851}, //2107 #CJK UNIFIED IDEOGRAPH
+  {0xAEE2, 0x683D}, //2108 #CJK UNIFIED IDEOGRAPH
+  {0xAEE3, 0x67F4}, //2109 #CJK UNIFIED IDEOGRAPH
+  {0xAEE4, 0x6850}, //2110 #CJK UNIFIED IDEOGRAPH
+  {0xAEE5, 0x6840}, //2111 #CJK UNIFIED IDEOGRAPH
+  {0xAEE6, 0x683C}, //2112 #CJK UNIFIED IDEOGRAPH
+  {0xAEE7, 0x6843}, //2113 #CJK UNIFIED IDEOGRAPH
+  {0xAEE8, 0x682A}, //2114 #CJK UNIFIED IDEOGRAPH
+  {0xAEE9, 0x6845}, //2115 #CJK UNIFIED IDEOGRAPH
+  {0xAEEA, 0x6813}, //2116 #CJK UNIFIED IDEOGRAPH
+  {0xAEEB, 0x6818}, //2117 #CJK UNIFIED IDEOGRAPH
+  {0xAEEC, 0x6841}, //2118 #CJK UNIFIED IDEOGRAPH
+  {0xAEED, 0x6B8A}, //2119 #CJK UNIFIED IDEOGRAPH
+  {0xAEEE, 0x6B89}, //2120 #CJK UNIFIED IDEOGRAPH
+  {0xAEEF, 0x6BB7}, //2121 #CJK UNIFIED IDEOGRAPH
+  {0xAEF0, 0x6C23}, //2122 #CJK UNIFIED IDEOGRAPH
+  {0xAEF1, 0x6C27}, //2123 #CJK UNIFIED IDEOGRAPH
+  {0xAEF2, 0x6C28}, //2124 #CJK UNIFIED IDEOGRAPH
+  {0xAEF3, 0x6C26}, //2125 #CJK UNIFIED IDEOGRAPH
+  {0xAEF4, 0x6C24}, //2126 #CJK UNIFIED IDEOGRAPH
+  {0xAEF5, 0x6CF0}, //2127 #CJK UNIFIED IDEOGRAPH
+  {0xAEF6, 0x6D6A}, //2128 #CJK UNIFIED IDEOGRAPH
+  {0xAEF7, 0x6D95}, //2129 #CJK UNIFIED IDEOGRAPH
+  {0xAEF8, 0x6D88}, //2130 #CJK UNIFIED IDEOGRAPH
+  {0xAEF9, 0x6D87}, //2131 #CJK UNIFIED IDEOGRAPH
+  {0xAEFA, 0x6D66}, //2132 #CJK UNIFIED IDEOGRAPH
+  {0xAEFB, 0x6D78}, //2133 #CJK UNIFIED IDEOGRAPH
+  {0xAEFC, 0x6D77}, //2134 #CJK UNIFIED IDEOGRAPH
+  {0xAEFD, 0x6D59}, //2135 #CJK UNIFIED IDEOGRAPH
+  {0xAEFE, 0x6D93}, //2136 #CJK UNIFIED IDEOGRAPH
+  {0xAF40, 0x6D6C}, //2137 #CJK UNIFIED IDEOGRAPH
+  {0xAF41, 0x6D89}, //2138 #CJK UNIFIED IDEOGRAPH
+  {0xAF42, 0x6D6E}, //2139 #CJK UNIFIED IDEOGRAPH
+  {0xAF43, 0x6D5A}, //2140 #CJK UNIFIED IDEOGRAPH
+  {0xAF44, 0x6D74}, //2141 #CJK UNIFIED IDEOGRAPH
+  {0xAF45, 0x6D69}, //2142 #CJK UNIFIED IDEOGRAPH
+  {0xAF46, 0x6D8C}, //2143 #CJK UNIFIED IDEOGRAPH
+  {0xAF47, 0x6D8A}, //2144 #CJK UNIFIED IDEOGRAPH
+  {0xAF48, 0x6D79}, //2145 #CJK UNIFIED IDEOGRAPH
+  {0xAF49, 0x6D85}, //2146 #CJK UNIFIED IDEOGRAPH
+  {0xAF4A, 0x6D65}, //2147 #CJK UNIFIED IDEOGRAPH
+  {0xAF4B, 0x6D94}, //2148 #CJK UNIFIED IDEOGRAPH
+  {0xAF4C, 0x70CA}, //2149 #CJK UNIFIED IDEOGRAPH
+  {0xAF4D, 0x70D8}, //2150 #CJK UNIFIED IDEOGRAPH
+  {0xAF4E, 0x70E4}, //2151 #CJK UNIFIED IDEOGRAPH
+  {0xAF4F, 0x70D9}, //2152 #CJK UNIFIED IDEOGRAPH
+  {0xAF50, 0x70C8}, //2153 #CJK UNIFIED IDEOGRAPH
+  {0xAF51, 0x70CF}, //2154 #CJK UNIFIED IDEOGRAPH
+  {0xAF52, 0x7239}, //2155 #CJK UNIFIED IDEOGRAPH
+  {0xAF53, 0x7279}, //2156 #CJK UNIFIED IDEOGRAPH
+  {0xAF54, 0x72FC}, //2157 #CJK UNIFIED IDEOGRAPH
+  {0xAF55, 0x72F9}, //2158 #CJK UNIFIED IDEOGRAPH
+  {0xAF56, 0x72FD}, //2159 #CJK UNIFIED IDEOGRAPH
+  {0xAF57, 0x72F8}, //2160 #CJK UNIFIED IDEOGRAPH
+  {0xAF58, 0x72F7}, //2161 #CJK UNIFIED IDEOGRAPH
+  {0xAF59, 0x7386}, //2162 #CJK UNIFIED IDEOGRAPH
+  {0xAF5A, 0x73ED}, //2163 #CJK UNIFIED IDEOGRAPH
+  {0xAF5B, 0x7409}, //2164 #CJK UNIFIED IDEOGRAPH
+  {0xAF5C, 0x73EE}, //2165 #CJK UNIFIED IDEOGRAPH
+  {0xAF5D, 0x73E0}, //2166 #CJK UNIFIED IDEOGRAPH
+  {0xAF5E, 0x73EA}, //2167 #CJK UNIFIED IDEOGRAPH
+  {0xAF5F, 0x73DE}, //2168 #CJK UNIFIED IDEOGRAPH
+  {0xAF60, 0x7554}, //2169 #CJK UNIFIED IDEOGRAPH
+  {0xAF61, 0x755D}, //2170 #CJK UNIFIED IDEOGRAPH
+  {0xAF62, 0x755C}, //2171 #CJK UNIFIED IDEOGRAPH
+  {0xAF63, 0x755A}, //2172 #CJK UNIFIED IDEOGRAPH
+  {0xAF64, 0x7559}, //2173 #CJK UNIFIED IDEOGRAPH
+  {0xAF65, 0x75BE}, //2174 #CJK UNIFIED IDEOGRAPH
+  {0xAF66, 0x75C5}, //2175 #CJK UNIFIED IDEOGRAPH
+  {0xAF67, 0x75C7}, //2176 #CJK UNIFIED IDEOGRAPH
+  {0xAF68, 0x75B2}, //2177 #CJK UNIFIED IDEOGRAPH
+  {0xAF69, 0x75B3}, //2178 #CJK UNIFIED IDEOGRAPH
+  {0xAF6A, 0x75BD}, //2179 #CJK UNIFIED IDEOGRAPH
+  {0xAF6B, 0x75BC}, //2180 #CJK UNIFIED IDEOGRAPH
+  {0xAF6C, 0x75B9}, //2181 #CJK UNIFIED IDEOGRAPH
+  {0xAF6D, 0x75C2}, //2182 #CJK UNIFIED IDEOGRAPH
+  {0xAF6E, 0x75B8}, //2183 #CJK UNIFIED IDEOGRAPH
+  {0xAF6F, 0x768B}, //2184 #CJK UNIFIED IDEOGRAPH
+  {0xAF70, 0x76B0}, //2185 #CJK UNIFIED IDEOGRAPH
+  {0xAF71, 0x76CA}, //2186 #CJK UNIFIED IDEOGRAPH
+  {0xAF72, 0x76CD}, //2187 #CJK UNIFIED IDEOGRAPH
+  {0xAF73, 0x76CE}, //2188 #CJK UNIFIED IDEOGRAPH
+  {0xAF74, 0x7729}, //2189 #CJK UNIFIED IDEOGRAPH
+  {0xAF75, 0x771F}, //2190 #CJK UNIFIED IDEOGRAPH
+  {0xAF76, 0x7720}, //2191 #CJK UNIFIED IDEOGRAPH
+  {0xAF77, 0x7728}, //2192 #CJK UNIFIED IDEOGRAPH
+  {0xAF78, 0x77E9}, //2193 #CJK UNIFIED IDEOGRAPH
+  {0xAF79, 0x7830}, //2194 #CJK UNIFIED IDEOGRAPH
+  {0xAF7A, 0x7827}, //2195 #CJK UNIFIED IDEOGRAPH
+  {0xAF7B, 0x7838}, //2196 #CJK UNIFIED IDEOGRAPH
+  {0xAF7C, 0x781D}, //2197 #CJK UNIFIED IDEOGRAPH
+  {0xAF7D, 0x7834}, //2198 #CJK UNIFIED IDEOGRAPH
+  {0xAF7E, 0x7837}, //2199 #CJK UNIFIED IDEOGRAPH
+  {0xAFA1, 0x7825}, //2200 #CJK UNIFIED IDEOGRAPH
+  {0xAFA2, 0x782D}, //2201 #CJK UNIFIED IDEOGRAPH
+  {0xAFA3, 0x7820}, //2202 #CJK UNIFIED IDEOGRAPH
+  {0xAFA4, 0x781F}, //2203 #CJK UNIFIED IDEOGRAPH
+  {0xAFA5, 0x7832}, //2204 #CJK UNIFIED IDEOGRAPH
+  {0xAFA6, 0x7955}, //2205 #CJK UNIFIED IDEOGRAPH
+  {0xAFA7, 0x7950}, //2206 #CJK UNIFIED IDEOGRAPH
+  {0xAFA8, 0x7960}, //2207 #CJK UNIFIED IDEOGRAPH
+  {0xAFA9, 0x795F}, //2208 #CJK UNIFIED IDEOGRAPH
+  {0xAFAA, 0x7956}, //2209 #CJK UNIFIED IDEOGRAPH
+  {0xAFAB, 0x795E}, //2210 #CJK UNIFIED IDEOGRAPH
+  {0xAFAC, 0x795D}, //2211 #CJK UNIFIED IDEOGRAPH
+  {0xAFAD, 0x7957}, //2212 #CJK UNIFIED IDEOGRAPH
+  {0xAFAE, 0x795A}, //2213 #CJK UNIFIED IDEOGRAPH
+  {0xAFAF, 0x79E4}, //2214 #CJK UNIFIED IDEOGRAPH
+  {0xAFB0, 0x79E3}, //2215 #CJK UNIFIED IDEOGRAPH
+  {0xAFB1, 0x79E7}, //2216 #CJK UNIFIED IDEOGRAPH
+  {0xAFB2, 0x79DF}, //2217 #CJK UNIFIED IDEOGRAPH
+  {0xAFB3, 0x79E6}, //2218 #CJK UNIFIED IDEOGRAPH
+  {0xAFB4, 0x79E9}, //2219 #CJK UNIFIED IDEOGRAPH
+  {0xAFB5, 0x79D8}, //2220 #CJK UNIFIED IDEOGRAPH
+  {0xAFB6, 0x7A84}, //2221 #CJK UNIFIED IDEOGRAPH
+  {0xAFB7, 0x7A88}, //2222 #CJK UNIFIED IDEOGRAPH
+  {0xAFB8, 0x7AD9}, //2223 #CJK UNIFIED IDEOGRAPH
+  {0xAFB9, 0x7B06}, //2224 #CJK UNIFIED IDEOGRAPH
+  {0xAFBA, 0x7B11}, //2225 #CJK UNIFIED IDEOGRAPH
+  {0xAFBB, 0x7C89}, //2226 #CJK UNIFIED IDEOGRAPH
+  {0xAFBC, 0x7D21}, //2227 #CJK UNIFIED IDEOGRAPH
+  {0xAFBD, 0x7D17}, //2228 #CJK UNIFIED IDEOGRAPH
+  {0xAFBE, 0x7D0B}, //2229 #CJK UNIFIED IDEOGRAPH
+  {0xAFBF, 0x7D0A}, //2230 #CJK UNIFIED IDEOGRAPH
+  {0xAFC0, 0x7D20}, //2231 #CJK UNIFIED IDEOGRAPH
+  {0xAFC1, 0x7D22}, //2232 #CJK UNIFIED IDEOGRAPH
+  {0xAFC2, 0x7D14}, //2233 #CJK UNIFIED IDEOGRAPH
+  {0xAFC3, 0x7D10}, //2234 #CJK UNIFIED IDEOGRAPH
+  {0xAFC4, 0x7D15}, //2235 #CJK UNIFIED IDEOGRAPH
+  {0xAFC5, 0x7D1A}, //2236 #CJK UNIFIED IDEOGRAPH
+  {0xAFC6, 0x7D1C}, //2237 #CJK UNIFIED IDEOGRAPH
+  {0xAFC7, 0x7D0D}, //2238 #CJK UNIFIED IDEOGRAPH
+  {0xAFC8, 0x7D19}, //2239 #CJK UNIFIED IDEOGRAPH
+  {0xAFC9, 0x7D1B}, //2240 #CJK UNIFIED IDEOGRAPH
+  {0xAFCA, 0x7F3A}, //2241 #CJK UNIFIED IDEOGRAPH
+  {0xAFCB, 0x7F5F}, //2242 #CJK UNIFIED IDEOGRAPH
+  {0xAFCC, 0x7F94}, //2243 #CJK UNIFIED IDEOGRAPH
+  {0xAFCD, 0x7FC5}, //2244 #CJK UNIFIED IDEOGRAPH
+  {0xAFCE, 0x7FC1}, //2245 #CJK UNIFIED IDEOGRAPH
+  {0xAFCF, 0x8006}, //2246 #CJK UNIFIED IDEOGRAPH
+  {0xAFD0, 0x8018}, //2247 #CJK UNIFIED IDEOGRAPH
+  {0xAFD1, 0x8015}, //2248 #CJK UNIFIED IDEOGRAPH
+  {0xAFD2, 0x8019}, //2249 #CJK UNIFIED IDEOGRAPH
+  {0xAFD3, 0x8017}, //2250 #CJK UNIFIED IDEOGRAPH
+  {0xAFD4, 0x803D}, //2251 #CJK UNIFIED IDEOGRAPH
+  {0xAFD5, 0x803F}, //2252 #CJK UNIFIED IDEOGRAPH
+  {0xAFD6, 0x80F1}, //2253 #CJK UNIFIED IDEOGRAPH
+  {0xAFD7, 0x8102}, //2254 #CJK UNIFIED IDEOGRAPH
+  {0xAFD8, 0x80F0}, //2255 #CJK UNIFIED IDEOGRAPH
+  {0xAFD9, 0x8105}, //2256 #CJK UNIFIED IDEOGRAPH
+  {0xAFDA, 0x80ED}, //2257 #CJK UNIFIED IDEOGRAPH
+  {0xAFDB, 0x80F4}, //2258 #CJK UNIFIED IDEOGRAPH
+  {0xAFDC, 0x8106}, //2259 #CJK UNIFIED IDEOGRAPH
+  {0xAFDD, 0x80F8}, //2260 #CJK UNIFIED IDEOGRAPH
+  {0xAFDE, 0x80F3}, //2261 #CJK UNIFIED IDEOGRAPH
+  {0xAFDF, 0x8108}, //2262 #CJK UNIFIED IDEOGRAPH
+  {0xAFE0, 0x80FD}, //2263 #CJK UNIFIED IDEOGRAPH
+  {0xAFE1, 0x810A}, //2264 #CJK UNIFIED IDEOGRAPH
+  {0xAFE2, 0x80FC}, //2265 #CJK UNIFIED IDEOGRAPH
+  {0xAFE3, 0x80EF}, //2266 #CJK UNIFIED IDEOGRAPH
+  {0xAFE4, 0x81ED}, //2267 #CJK UNIFIED IDEOGRAPH
+  {0xAFE5, 0x81EC}, //2268 #CJK UNIFIED IDEOGRAPH
+  {0xAFE6, 0x8200}, //2269 #CJK UNIFIED IDEOGRAPH
+  {0xAFE7, 0x8210}, //2270 #CJK UNIFIED IDEOGRAPH
+  {0xAFE8, 0x822A}, //2271 #CJK UNIFIED IDEOGRAPH
+  {0xAFE9, 0x822B}, //2272 #CJK UNIFIED IDEOGRAPH
+  {0xAFEA, 0x8228}, //2273 #CJK UNIFIED IDEOGRAPH
+  {0xAFEB, 0x822C}, //2274 #CJK UNIFIED IDEOGRAPH
+  {0xAFEC, 0x82BB}, //2275 #CJK UNIFIED IDEOGRAPH
+  {0xAFED, 0x832B}, //2276 #CJK UNIFIED IDEOGRAPH
+  {0xAFEE, 0x8352}, //2277 #CJK UNIFIED IDEOGRAPH
+  {0xAFEF, 0x8354}, //2278 #CJK UNIFIED IDEOGRAPH
+  {0xAFF0, 0x834A}, //2279 #CJK UNIFIED IDEOGRAPH
+  {0xAFF1, 0x8338}, //2280 #CJK UNIFIED IDEOGRAPH
+  {0xAFF2, 0x8350}, //2281 #CJK UNIFIED IDEOGRAPH
+  {0xAFF3, 0x8349}, //2282 #CJK UNIFIED IDEOGRAPH
+  {0xAFF4, 0x8335}, //2283 #CJK UNIFIED IDEOGRAPH
+  {0xAFF5, 0x8334}, //2284 #CJK UNIFIED IDEOGRAPH
+  {0xAFF6, 0x834F}, //2285 #CJK UNIFIED IDEOGRAPH
+  {0xAFF7, 0x8332}, //2286 #CJK UNIFIED IDEOGRAPH
+  {0xAFF8, 0x8339}, //2287 #CJK UNIFIED IDEOGRAPH
+  {0xAFF9, 0x8336}, //2288 #CJK UNIFIED IDEOGRAPH
+  {0xAFFA, 0x8317}, //2289 #CJK UNIFIED IDEOGRAPH
+  {0xAFFB, 0x8340}, //2290 #CJK UNIFIED IDEOGRAPH
+  {0xAFFC, 0x8331}, //2291 #CJK UNIFIED IDEOGRAPH
+  {0xAFFD, 0x8328}, //2292 #CJK UNIFIED IDEOGRAPH
+  {0xAFFE, 0x8343}, //2293 #CJK UNIFIED IDEOGRAPH
+  {0xB040, 0x8654}, //2294 #CJK UNIFIED IDEOGRAPH
+  {0xB041, 0x868A}, //2295 #CJK UNIFIED IDEOGRAPH
+  {0xB042, 0x86AA}, //2296 #CJK UNIFIED IDEOGRAPH
+  {0xB043, 0x8693}, //2297 #CJK UNIFIED IDEOGRAPH
+  {0xB044, 0x86A4}, //2298 #CJK UNIFIED IDEOGRAPH
+  {0xB045, 0x86A9}, //2299 #CJK UNIFIED IDEOGRAPH
+  {0xB046, 0x868C}, //2300 #CJK UNIFIED IDEOGRAPH
+  {0xB047, 0x86A3}, //2301 #CJK UNIFIED IDEOGRAPH
+  {0xB048, 0x869C}, //2302 #CJK UNIFIED IDEOGRAPH
+  {0xB049, 0x8870}, //2303 #CJK UNIFIED IDEOGRAPH
+  {0xB04A, 0x8877}, //2304 #CJK UNIFIED IDEOGRAPH
+  {0xB04B, 0x8881}, //2305 #CJK UNIFIED IDEOGRAPH
+  {0xB04C, 0x8882}, //2306 #CJK UNIFIED IDEOGRAPH
+  {0xB04D, 0x887D}, //2307 #CJK UNIFIED IDEOGRAPH
+  {0xB04E, 0x8879}, //2308 #CJK UNIFIED IDEOGRAPH
+  {0xB04F, 0x8A18}, //2309 #CJK UNIFIED IDEOGRAPH
+  {0xB050, 0x8A10}, //2310 #CJK UNIFIED IDEOGRAPH
+  {0xB051, 0x8A0E}, //2311 #CJK UNIFIED IDEOGRAPH
+  {0xB052, 0x8A0C}, //2312 #CJK UNIFIED IDEOGRAPH
+  {0xB053, 0x8A15}, //2313 #CJK UNIFIED IDEOGRAPH
+  {0xB054, 0x8A0A}, //2314 #CJK UNIFIED IDEOGRAPH
+  {0xB055, 0x8A17}, //2315 #CJK UNIFIED IDEOGRAPH
+  {0xB056, 0x8A13}, //2316 #CJK UNIFIED IDEOGRAPH
+  {0xB057, 0x8A16}, //2317 #CJK UNIFIED IDEOGRAPH
+  {0xB058, 0x8A0F}, //2318 #CJK UNIFIED IDEOGRAPH
+  {0xB059, 0x8A11}, //2319 #CJK UNIFIED IDEOGRAPH
+  {0xB05A, 0x8C48}, //2320 #CJK UNIFIED IDEOGRAPH
+  {0xB05B, 0x8C7A}, //2321 #CJK UNIFIED IDEOGRAPH
+  {0xB05C, 0x8C79}, //2322 #CJK UNIFIED IDEOGRAPH
+  {0xB05D, 0x8CA1}, //2323 #CJK UNIFIED IDEOGRAPH
+  {0xB05E, 0x8CA2}, //2324 #CJK UNIFIED IDEOGRAPH
+  {0xB05F, 0x8D77}, //2325 #CJK UNIFIED IDEOGRAPH
+  {0xB060, 0x8EAC}, //2326 #CJK UNIFIED IDEOGRAPH
+  {0xB061, 0x8ED2}, //2327 #CJK UNIFIED IDEOGRAPH
+  {0xB062, 0x8ED4}, //2328 #CJK UNIFIED IDEOGRAPH
+  {0xB063, 0x8ECF}, //2329 #CJK UNIFIED IDEOGRAPH
+  {0xB064, 0x8FB1}, //2330 #CJK UNIFIED IDEOGRAPH
+  {0xB065, 0x9001}, //2331 #CJK UNIFIED IDEOGRAPH
+  {0xB066, 0x9006}, //2332 #CJK UNIFIED IDEOGRAPH
+  {0xB067, 0x8FF7}, //2333 #CJK UNIFIED IDEOGRAPH
+  {0xB068, 0x9000}, //2334 #CJK UNIFIED IDEOGRAPH
+  {0xB069, 0x8FFA}, //2335 #CJK UNIFIED IDEOGRAPH
+  {0xB06A, 0x8FF4}, //2336 #CJK UNIFIED IDEOGRAPH
+  {0xB06B, 0x9003}, //2337 #CJK UNIFIED IDEOGRAPH
+  {0xB06C, 0x8FFD}, //2338 #CJK UNIFIED IDEOGRAPH
+  {0xB06D, 0x9005}, //2339 #CJK UNIFIED IDEOGRAPH
+  {0xB06E, 0x8FF8}, //2340 #CJK UNIFIED IDEOGRAPH
+  {0xB06F, 0x9095}, //2341 #CJK UNIFIED IDEOGRAPH
+  {0xB070, 0x90E1}, //2342 #CJK UNIFIED IDEOGRAPH
+  {0xB071, 0x90DD}, //2343 #CJK UNIFIED IDEOGRAPH
+  {0xB072, 0x90E2}, //2344 #CJK UNIFIED IDEOGRAPH
+  {0xB073, 0x9152}, //2345 #CJK UNIFIED IDEOGRAPH
+  {0xB074, 0x914D}, //2346 #CJK UNIFIED IDEOGRAPH
+  {0xB075, 0x914C}, //2347 #CJK UNIFIED IDEOGRAPH
+  {0xB076, 0x91D8}, //2348 #CJK UNIFIED IDEOGRAPH
+  {0xB077, 0x91DD}, //2349 #CJK UNIFIED IDEOGRAPH
+  {0xB078, 0x91D7}, //2350 #CJK UNIFIED IDEOGRAPH
+  {0xB079, 0x91DC}, //2351 #CJK UNIFIED IDEOGRAPH
+  {0xB07A, 0x91D9}, //2352 #CJK UNIFIED IDEOGRAPH
+  {0xB07B, 0x9583}, //2353 #CJK UNIFIED IDEOGRAPH
+  {0xB07C, 0x9662}, //2354 #CJK UNIFIED IDEOGRAPH
+  {0xB07D, 0x9663}, //2355 #CJK UNIFIED IDEOGRAPH
+  {0xB07E, 0x9661}, //2356 #CJK UNIFIED IDEOGRAPH
+  {0xB0A1, 0x965B}, //2357 #CJK UNIFIED IDEOGRAPH
+  {0xB0A2, 0x965D}, //2358 #CJK UNIFIED IDEOGRAPH
+  {0xB0A3, 0x9664}, //2359 #CJK UNIFIED IDEOGRAPH
+  {0xB0A4, 0x9658}, //2360 #CJK UNIFIED IDEOGRAPH
+  {0xB0A5, 0x965E}, //2361 #CJK UNIFIED IDEOGRAPH
+  {0xB0A6, 0x96BB}, //2362 #CJK UNIFIED IDEOGRAPH
+  {0xB0A7, 0x98E2}, //2363 #CJK UNIFIED IDEOGRAPH
+  {0xB0A8, 0x99AC}, //2364 #CJK UNIFIED IDEOGRAPH
+  {0xB0A9, 0x9AA8}, //2365 #CJK UNIFIED IDEOGRAPH
+  {0xB0AA, 0x9AD8}, //2366 #CJK UNIFIED IDEOGRAPH
+  {0xB0AB, 0x9B25}, //2367 #CJK UNIFIED IDEOGRAPH
+  {0xB0AC, 0x9B32}, //2368 #CJK UNIFIED IDEOGRAPH
+  {0xB0AD, 0x9B3C}, //2369 #CJK UNIFIED IDEOGRAPH
+  {0xB0AE, 0x4E7E}, //2370 #CJK UNIFIED IDEOGRAPH
+  {0xB0AF, 0x507A}, //2371 #CJK UNIFIED IDEOGRAPH
+  {0xB0B0, 0x507D}, //2372 #CJK UNIFIED IDEOGRAPH
+  {0xB0B1, 0x505C}, //2373 #CJK UNIFIED IDEOGRAPH
+  {0xB0B2, 0x5047}, //2374 #CJK UNIFIED IDEOGRAPH
+  {0xB0B3, 0x5043}, //2375 #CJK UNIFIED IDEOGRAPH
+  {0xB0B4, 0x504C}, //2376 #CJK UNIFIED IDEOGRAPH
+  {0xB0B5, 0x505A}, //2377 #CJK UNIFIED IDEOGRAPH
+  {0xB0B6, 0x5049}, //2378 #CJK UNIFIED IDEOGRAPH
+  {0xB0B7, 0x5065}, //2379 #CJK UNIFIED IDEOGRAPH
+  {0xB0B8, 0x5076}, //2380 #CJK UNIFIED IDEOGRAPH
+  {0xB0B9, 0x504E}, //2381 #CJK UNIFIED IDEOGRAPH
+  {0xB0BA, 0x5055}, //2382 #CJK UNIFIED IDEOGRAPH
+  {0xB0BB, 0x5075}, //2383 #CJK UNIFIED IDEOGRAPH
+  {0xB0BC, 0x5074}, //2384 #CJK UNIFIED IDEOGRAPH
+  {0xB0BD, 0x5077}, //2385 #CJK UNIFIED IDEOGRAPH
+  {0xB0BE, 0x504F}, //2386 #CJK UNIFIED IDEOGRAPH
+  {0xB0BF, 0x500F}, //2387 #CJK UNIFIED IDEOGRAPH
+  {0xB0C0, 0x506F}, //2388 #CJK UNIFIED IDEOGRAPH
+  {0xB0C1, 0x506D}, //2389 #CJK UNIFIED IDEOGRAPH
+  {0xB0C2, 0x515C}, //2390 #CJK UNIFIED IDEOGRAPH
+  {0xB0C3, 0x5195}, //2391 #CJK UNIFIED IDEOGRAPH
+  {0xB0C4, 0x51F0}, //2392 #CJK UNIFIED IDEOGRAPH
+  {0xB0C5, 0x526A}, //2393 #CJK UNIFIED IDEOGRAPH
+  {0xB0C6, 0x526F}, //2394 #CJK UNIFIED IDEOGRAPH
+  {0xB0C7, 0x52D2}, //2395 #CJK UNIFIED IDEOGRAPH
+  {0xB0C8, 0x52D9}, //2396 #CJK UNIFIED IDEOGRAPH
+  {0xB0C9, 0x52D8}, //2397 #CJK UNIFIED IDEOGRAPH
+  {0xB0CA, 0x52D5}, //2398 #CJK UNIFIED IDEOGRAPH
+  {0xB0CB, 0x5310}, //2399 #CJK UNIFIED IDEOGRAPH
+  {0xB0CC, 0x530F}, //2400 #CJK UNIFIED IDEOGRAPH
+  {0xB0CD, 0x5319}, //2401 #CJK UNIFIED IDEOGRAPH
+  {0xB0CE, 0x533F}, //2402 #CJK UNIFIED IDEOGRAPH
+  {0xB0CF, 0x5340}, //2403 #CJK UNIFIED IDEOGRAPH
+  {0xB0D0, 0x533E}, //2404 #CJK UNIFIED IDEOGRAPH
+  {0xB0D1, 0x53C3}, //2405 #CJK UNIFIED IDEOGRAPH
+  {0xB0D2, 0x66FC}, //2406 #CJK UNIFIED IDEOGRAPH
+  {0xB0D3, 0x5546}, //2407 #CJK UNIFIED IDEOGRAPH
+  {0xB0D4, 0x556A}, //2408 #CJK UNIFIED IDEOGRAPH
+  {0xB0D5, 0x5566}, //2409 #CJK UNIFIED IDEOGRAPH
+  {0xB0D6, 0x5544}, //2410 #CJK UNIFIED IDEOGRAPH
+  {0xB0D7, 0x555E}, //2411 #CJK UNIFIED IDEOGRAPH
+  {0xB0D8, 0x5561}, //2412 #CJK UNIFIED IDEOGRAPH
+  {0xB0D9, 0x5543}, //2413 #CJK UNIFIED IDEOGRAPH
+  {0xB0DA, 0x554A}, //2414 #CJK UNIFIED IDEOGRAPH
+  {0xB0DB, 0x5531}, //2415 #CJK UNIFIED IDEOGRAPH
+  {0xB0DC, 0x5556}, //2416 #CJK UNIFIED IDEOGRAPH
+  {0xB0DD, 0x554F}, //2417 #CJK UNIFIED IDEOGRAPH
+  {0xB0DE, 0x5555}, //2418 #CJK UNIFIED IDEOGRAPH
+  {0xB0DF, 0x552F}, //2419 #CJK UNIFIED IDEOGRAPH
+  {0xB0E0, 0x5564}, //2420 #CJK UNIFIED IDEOGRAPH
+  {0xB0E1, 0x5538}, //2421 #CJK UNIFIED IDEOGRAPH
+  {0xB0E2, 0x552E}, //2422 #CJK UNIFIED IDEOGRAPH
+  {0xB0E3, 0x555C}, //2423 #CJK UNIFIED IDEOGRAPH
+  {0xB0E4, 0x552C}, //2424 #CJK UNIFIED IDEOGRAPH
+  {0xB0E5, 0x5563}, //2425 #CJK UNIFIED IDEOGRAPH
+  {0xB0E6, 0x5533}, //2426 #CJK UNIFIED IDEOGRAPH
+  {0xB0E7, 0x5541}, //2427 #CJK UNIFIED IDEOGRAPH
+  {0xB0E8, 0x5557}, //2428 #CJK UNIFIED IDEOGRAPH
+  {0xB0E9, 0x5708}, //2429 #CJK UNIFIED IDEOGRAPH
+  {0xB0EA, 0x570B}, //2430 #CJK UNIFIED IDEOGRAPH
+  {0xB0EB, 0x5709}, //2431 #CJK UNIFIED IDEOGRAPH
+  {0xB0EC, 0x57DF}, //2432 #CJK UNIFIED IDEOGRAPH
+  {0xB0ED, 0x5805}, //2433 #CJK UNIFIED IDEOGRAPH
+  {0xB0EE, 0x580A}, //2434 #CJK UNIFIED IDEOGRAPH
+  {0xB0EF, 0x5806}, //2435 #CJK UNIFIED IDEOGRAPH
+  {0xB0F0, 0x57E0}, //2436 #CJK UNIFIED IDEOGRAPH
+  {0xB0F1, 0x57E4}, //2437 #CJK UNIFIED IDEOGRAPH
+  {0xB0F2, 0x57FA}, //2438 #CJK UNIFIED IDEOGRAPH
+  {0xB0F3, 0x5802}, //2439 #CJK UNIFIED IDEOGRAPH
+  {0xB0F4, 0x5835}, //2440 #CJK UNIFIED IDEOGRAPH
+  {0xB0F5, 0x57F7}, //2441 #CJK UNIFIED IDEOGRAPH
+  {0xB0F6, 0x57F9}, //2442 #CJK UNIFIED IDEOGRAPH
+  {0xB0F7, 0x5920}, //2443 #CJK UNIFIED IDEOGRAPH
+  {0xB0F8, 0x5962}, //2444 #CJK UNIFIED IDEOGRAPH
+  {0xB0F9, 0x5A36}, //2445 #CJK UNIFIED IDEOGRAPH
+  {0xB0FA, 0x5A41}, //2446 #CJK UNIFIED IDEOGRAPH
+  {0xB0FB, 0x5A49}, //2447 #CJK UNIFIED IDEOGRAPH
+  {0xB0FC, 0x5A66}, //2448 #CJK UNIFIED IDEOGRAPH
+  {0xB0FD, 0x5A6A}, //2449 #CJK UNIFIED IDEOGRAPH
+  {0xB0FE, 0x5A40}, //2450 #CJK UNIFIED IDEOGRAPH
+  {0xB140, 0x5A3C}, //2451 #CJK UNIFIED IDEOGRAPH
+  {0xB141, 0x5A62}, //2452 #CJK UNIFIED IDEOGRAPH
+  {0xB142, 0x5A5A}, //2453 #CJK UNIFIED IDEOGRAPH
+  {0xB143, 0x5A46}, //2454 #CJK UNIFIED IDEOGRAPH
+  {0xB144, 0x5A4A}, //2455 #CJK UNIFIED IDEOGRAPH
+  {0xB145, 0x5B70}, //2456 #CJK UNIFIED IDEOGRAPH
+  {0xB146, 0x5BC7}, //2457 #CJK UNIFIED IDEOGRAPH
+  {0xB147, 0x5BC5}, //2458 #CJK UNIFIED IDEOGRAPH
+  {0xB148, 0x5BC4}, //2459 #CJK UNIFIED IDEOGRAPH
+  {0xB149, 0x5BC2}, //2460 #CJK UNIFIED IDEOGRAPH
+  {0xB14A, 0x5BBF}, //2461 #CJK UNIFIED IDEOGRAPH
+  {0xB14B, 0x5BC6}, //2462 #CJK UNIFIED IDEOGRAPH
+  {0xB14C, 0x5C09}, //2463 #CJK UNIFIED IDEOGRAPH
+  {0xB14D, 0x5C08}, //2464 #CJK UNIFIED IDEOGRAPH
+  {0xB14E, 0x5C07}, //2465 #CJK UNIFIED IDEOGRAPH
+  {0xB14F, 0x5C60}, //2466 #CJK UNIFIED IDEOGRAPH
+  {0xB150, 0x5C5C}, //2467 #CJK UNIFIED IDEOGRAPH
+  {0xB151, 0x5C5D}, //2468 #CJK UNIFIED IDEOGRAPH
+  {0xB152, 0x5D07}, //2469 #CJK UNIFIED IDEOGRAPH
+  {0xB153, 0x5D06}, //2470 #CJK UNIFIED IDEOGRAPH
+  {0xB154, 0x5D0E}, //2471 #CJK UNIFIED IDEOGRAPH
+  {0xB155, 0x5D1B}, //2472 #CJK UNIFIED IDEOGRAPH
+  {0xB156, 0x5D16}, //2473 #CJK UNIFIED IDEOGRAPH
+  {0xB157, 0x5D22}, //2474 #CJK UNIFIED IDEOGRAPH
+  {0xB158, 0x5D11}, //2475 #CJK UNIFIED IDEOGRAPH
+  {0xB159, 0x5D29}, //2476 #CJK UNIFIED IDEOGRAPH
+  {0xB15A, 0x5D14}, //2477 #CJK UNIFIED IDEOGRAPH
+  {0xB15B, 0x5D19}, //2478 #CJK UNIFIED IDEOGRAPH
+  {0xB15C, 0x5D24}, //2479 #CJK UNIFIED IDEOGRAPH
+  {0xB15D, 0x5D27}, //2480 #CJK UNIFIED IDEOGRAPH
+  {0xB15E, 0x5D17}, //2481 #CJK UNIFIED IDEOGRAPH
+  {0xB15F, 0x5DE2}, //2482 #CJK UNIFIED IDEOGRAPH
+  {0xB160, 0x5E38}, //2483 #CJK UNIFIED IDEOGRAPH
+  {0xB161, 0x5E36}, //2484 #CJK UNIFIED IDEOGRAPH
+  {0xB162, 0x5E33}, //2485 #CJK UNIFIED IDEOGRAPH
+  {0xB163, 0x5E37}, //2486 #CJK UNIFIED IDEOGRAPH
+  {0xB164, 0x5EB7}, //2487 #CJK UNIFIED IDEOGRAPH
+  {0xB165, 0x5EB8}, //2488 #CJK UNIFIED IDEOGRAPH
+  {0xB166, 0x5EB6}, //2489 #CJK UNIFIED IDEOGRAPH
+  {0xB167, 0x5EB5}, //2490 #CJK UNIFIED IDEOGRAPH
+  {0xB168, 0x5EBE}, //2491 #CJK UNIFIED IDEOGRAPH
+  {0xB169, 0x5F35}, //2492 #CJK UNIFIED IDEOGRAPH
+  {0xB16A, 0x5F37}, //2493 #CJK UNIFIED IDEOGRAPH
+  {0xB16B, 0x5F57}, //2494 #CJK UNIFIED IDEOGRAPH
+  {0xB16C, 0x5F6C}, //2495 #CJK UNIFIED IDEOGRAPH
+  {0xB16D, 0x5F69}, //2496 #CJK UNIFIED IDEOGRAPH
+  {0xB16E, 0x5F6B}, //2497 #CJK UNIFIED IDEOGRAPH
+  {0xB16F, 0x5F97}, //2498 #CJK UNIFIED IDEOGRAPH
+  {0xB170, 0x5F99}, //2499 #CJK UNIFIED IDEOGRAPH
+  {0xB171, 0x5F9E}, //2500 #CJK UNIFIED IDEOGRAPH
+  {0xB172, 0x5F98}, //2501 #CJK UNIFIED IDEOGRAPH
+  {0xB173, 0x5FA1}, //2502 #CJK UNIFIED IDEOGRAPH
+  {0xB174, 0x5FA0}, //2503 #CJK UNIFIED IDEOGRAPH
+  {0xB175, 0x5F9C}, //2504 #CJK UNIFIED IDEOGRAPH
+  {0xB176, 0x607F}, //2505 #CJK UNIFIED IDEOGRAPH
+  {0xB177, 0x60A3}, //2506 #CJK UNIFIED IDEOGRAPH
+  {0xB178, 0x6089}, //2507 #CJK UNIFIED IDEOGRAPH
+  {0xB179, 0x60A0}, //2508 #CJK UNIFIED IDEOGRAPH
+  {0xB17A, 0x60A8}, //2509 #CJK UNIFIED IDEOGRAPH
+  {0xB17B, 0x60CB}, //2510 #CJK UNIFIED IDEOGRAPH
+  {0xB17C, 0x60B4}, //2511 #CJK UNIFIED IDEOGRAPH
+  {0xB17D, 0x60E6}, //2512 #CJK UNIFIED IDEOGRAPH
+  {0xB17E, 0x60BD}, //2513 #CJK UNIFIED IDEOGRAPH
+  {0xB1A1, 0x60C5}, //2514 #CJK UNIFIED IDEOGRAPH
+  {0xB1A2, 0x60BB}, //2515 #CJK UNIFIED IDEOGRAPH
+  {0xB1A3, 0x60B5}, //2516 #CJK UNIFIED IDEOGRAPH
+  {0xB1A4, 0x60DC}, //2517 #CJK UNIFIED IDEOGRAPH
+  {0xB1A5, 0x60BC}, //2518 #CJK UNIFIED IDEOGRAPH
+  {0xB1A6, 0x60D8}, //2519 #CJK UNIFIED IDEOGRAPH
+  {0xB1A7, 0x60D5}, //2520 #CJK UNIFIED IDEOGRAPH
+  {0xB1A8, 0x60C6}, //2521 #CJK UNIFIED IDEOGRAPH
+  {0xB1A9, 0x60DF}, //2522 #CJK UNIFIED IDEOGRAPH
+  {0xB1AA, 0x60B8}, //2523 #CJK UNIFIED IDEOGRAPH
+  {0xB1AB, 0x60DA}, //2524 #CJK UNIFIED IDEOGRAPH
+  {0xB1AC, 0x60C7}, //2525 #CJK UNIFIED IDEOGRAPH
+  {0xB1AD, 0x621A}, //2526 #CJK UNIFIED IDEOGRAPH
+  {0xB1AE, 0x621B}, //2527 #CJK UNIFIED IDEOGRAPH
+  {0xB1AF, 0x6248}, //2528 #CJK UNIFIED IDEOGRAPH
+  {0xB1B0, 0x63A0}, //2529 #CJK UNIFIED IDEOGRAPH
+  {0xB1B1, 0x63A7}, //2530 #CJK UNIFIED IDEOGRAPH
+  {0xB1B2, 0x6372}, //2531 #CJK UNIFIED IDEOGRAPH
+  {0xB1B3, 0x6396}, //2532 #CJK UNIFIED IDEOGRAPH
+  {0xB1B4, 0x63A2}, //2533 #CJK UNIFIED IDEOGRAPH
+  {0xB1B5, 0x63A5}, //2534 #CJK UNIFIED IDEOGRAPH
+  {0xB1B6, 0x6377}, //2535 #CJK UNIFIED IDEOGRAPH
+  {0xB1B7, 0x6367}, //2536 #CJK UNIFIED IDEOGRAPH
+  {0xB1B8, 0x6398}, //2537 #CJK UNIFIED IDEOGRAPH
+  {0xB1B9, 0x63AA}, //2538 #CJK UNIFIED IDEOGRAPH
+  {0xB1BA, 0x6371}, //2539 #CJK UNIFIED IDEOGRAPH
+  {0xB1BB, 0x63A9}, //2540 #CJK UNIFIED IDEOGRAPH
+  {0xB1BC, 0x6389}, //2541 #CJK UNIFIED IDEOGRAPH
+  {0xB1BD, 0x6383}, //2542 #CJK UNIFIED IDEOGRAPH
+  {0xB1BE, 0x639B}, //2543 #CJK UNIFIED IDEOGRAPH
+  {0xB1BF, 0x636B}, //2544 #CJK UNIFIED IDEOGRAPH
+  {0xB1C0, 0x63A8}, //2545 #CJK UNIFIED IDEOGRAPH
+  {0xB1C1, 0x6384}, //2546 #CJK UNIFIED IDEOGRAPH
+  {0xB1C2, 0x6388}, //2547 #CJK UNIFIED IDEOGRAPH
+  {0xB1C3, 0x6399}, //2548 #CJK UNIFIED IDEOGRAPH
+  {0xB1C4, 0x63A1}, //2549 #CJK UNIFIED IDEOGRAPH
+  {0xB1C5, 0x63AC}, //2550 #CJK UNIFIED IDEOGRAPH
+  {0xB1C6, 0x6392}, //2551 #CJK UNIFIED IDEOGRAPH
+  {0xB1C7, 0x638F}, //2552 #CJK UNIFIED IDEOGRAPH
+  {0xB1C8, 0x6380}, //2553 #CJK UNIFIED IDEOGRAPH
+  {0xB1C9, 0x637B}, //2554 #CJK UNIFIED IDEOGRAPH
+  {0xB1CA, 0x6369}, //2555 #CJK UNIFIED IDEOGRAPH
+  {0xB1CB, 0x6368}, //2556 #CJK UNIFIED IDEOGRAPH
+  {0xB1CC, 0x637A}, //2557 #CJK UNIFIED IDEOGRAPH
+  {0xB1CD, 0x655D}, //2558 #CJK UNIFIED IDEOGRAPH
+  {0xB1CE, 0x6556}, //2559 #CJK UNIFIED IDEOGRAPH
+  {0xB1CF, 0x6551}, //2560 #CJK UNIFIED IDEOGRAPH
+  {0xB1D0, 0x6559}, //2561 #CJK UNIFIED IDEOGRAPH
+  {0xB1D1, 0x6557}, //2562 #CJK UNIFIED IDEOGRAPH
+  {0xB1D2, 0x555F}, //2563 #CJK UNIFIED IDEOGRAPH
+  {0xB1D3, 0x654F}, //2564 #CJK UNIFIED IDEOGRAPH
+  {0xB1D4, 0x6558}, //2565 #CJK UNIFIED IDEOGRAPH
+  {0xB1D5, 0x6555}, //2566 #CJK UNIFIED IDEOGRAPH
+  {0xB1D6, 0x6554}, //2567 #CJK UNIFIED IDEOGRAPH
+  {0xB1D7, 0x659C}, //2568 #CJK UNIFIED IDEOGRAPH
+  {0xB1D8, 0x659B}, //2569 #CJK UNIFIED IDEOGRAPH
+  {0xB1D9, 0x65AC}, //2570 #CJK UNIFIED IDEOGRAPH
+  {0xB1DA, 0x65CF}, //2571 #CJK UNIFIED IDEOGRAPH
+  {0xB1DB, 0x65CB}, //2572 #CJK UNIFIED IDEOGRAPH
+  {0xB1DC, 0x65CC}, //2573 #CJK UNIFIED IDEOGRAPH
+  {0xB1DD, 0x65CE}, //2574 #CJK UNIFIED IDEOGRAPH
+  {0xB1DE, 0x665D}, //2575 #CJK UNIFIED IDEOGRAPH
+  {0xB1DF, 0x665A}, //2576 #CJK UNIFIED IDEOGRAPH
+  {0xB1E0, 0x6664}, //2577 #CJK UNIFIED IDEOGRAPH
+  {0xB1E1, 0x6668}, //2578 #CJK UNIFIED IDEOGRAPH
+  {0xB1E2, 0x6666}, //2579 #CJK UNIFIED IDEOGRAPH
+  {0xB1E3, 0x665E}, //2580 #CJK UNIFIED IDEOGRAPH
+  {0xB1E4, 0x66F9}, //2581 #CJK UNIFIED IDEOGRAPH
+  {0xB1E5, 0x52D7}, //2582 #CJK UNIFIED IDEOGRAPH
+  {0xB1E6, 0x671B}, //2583 #CJK UNIFIED IDEOGRAPH
+  {0xB1E7, 0x6881}, //2584 #CJK UNIFIED IDEOGRAPH
+  {0xB1E8, 0x68AF}, //2585 #CJK UNIFIED IDEOGRAPH
+  {0xB1E9, 0x68A2}, //2586 #CJK UNIFIED IDEOGRAPH
+  {0xB1EA, 0x6893}, //2587 #CJK UNIFIED IDEOGRAPH
+  {0xB1EB, 0x68B5}, //2588 #CJK UNIFIED IDEOGRAPH
+  {0xB1EC, 0x687F}, //2589 #CJK UNIFIED IDEOGRAPH
+  {0xB1ED, 0x6876}, //2590 #CJK UNIFIED IDEOGRAPH
+  {0xB1EE, 0x68B1}, //2591 #CJK UNIFIED IDEOGRAPH
+  {0xB1EF, 0x68A7}, //2592 #CJK UNIFIED IDEOGRAPH
+  {0xB1F0, 0x6897}, //2593 #CJK UNIFIED IDEOGRAPH
+  {0xB1F1, 0x68B0}, //2594 #CJK UNIFIED IDEOGRAPH
+  {0xB1F2, 0x6883}, //2595 #CJK UNIFIED IDEOGRAPH
+  {0xB1F3, 0x68C4}, //2596 #CJK UNIFIED IDEOGRAPH
+  {0xB1F4, 0x68AD}, //2597 #CJK UNIFIED IDEOGRAPH
+  {0xB1F5, 0x6886}, //2598 #CJK UNIFIED IDEOGRAPH
+  {0xB1F6, 0x6885}, //2599 #CJK UNIFIED IDEOGRAPH
+  {0xB1F7, 0x6894}, //2600 #CJK UNIFIED IDEOGRAPH
+  {0xB1F8, 0x689D}, //2601 #CJK UNIFIED IDEOGRAPH
+  {0xB1F9, 0x68A8}, //2602 #CJK UNIFIED IDEOGRAPH
+  {0xB1FA, 0x689F}, //2603 #CJK UNIFIED IDEOGRAPH
+  {0xB1FB, 0x68A1}, //2604 #CJK UNIFIED IDEOGRAPH
+  {0xB1FC, 0x6882}, //2605 #CJK UNIFIED IDEOGRAPH
+  {0xB1FD, 0x6B32}, //2606 #CJK UNIFIED IDEOGRAPH
+  {0xB1FE, 0x6BBA}, //2607 #CJK UNIFIED IDEOGRAPH
+  {0xB240, 0x6BEB}, //2608 #CJK UNIFIED IDEOGRAPH
+  {0xB241, 0x6BEC}, //2609 #CJK UNIFIED IDEOGRAPH
+  {0xB242, 0x6C2B}, //2610 #CJK UNIFIED IDEOGRAPH
+  {0xB243, 0x6D8E}, //2611 #CJK UNIFIED IDEOGRAPH
+  {0xB244, 0x6DBC}, //2612 #CJK UNIFIED IDEOGRAPH
+  {0xB245, 0x6DF3}, //2613 #CJK UNIFIED IDEOGRAPH
+  {0xB246, 0x6DD9}, //2614 #CJK UNIFIED IDEOGRAPH
+  {0xB247, 0x6DB2}, //2615 #CJK UNIFIED IDEOGRAPH
+  {0xB248, 0x6DE1}, //2616 #CJK UNIFIED IDEOGRAPH
+  {0xB249, 0x6DCC}, //2617 #CJK UNIFIED IDEOGRAPH
+  {0xB24A, 0x6DE4}, //2618 #CJK UNIFIED IDEOGRAPH
+  {0xB24B, 0x6DFB}, //2619 #CJK UNIFIED IDEOGRAPH
+  {0xB24C, 0x6DFA}, //2620 #CJK UNIFIED IDEOGRAPH
+  {0xB24D, 0x6E05}, //2621 #CJK UNIFIED IDEOGRAPH
+  {0xB24E, 0x6DC7}, //2622 #CJK UNIFIED IDEOGRAPH
+  {0xB24F, 0x6DCB}, //2623 #CJK UNIFIED IDEOGRAPH
+  {0xB250, 0x6DAF}, //2624 #CJK UNIFIED IDEOGRAPH
+  {0xB251, 0x6DD1}, //2625 #CJK UNIFIED IDEOGRAPH
+  {0xB252, 0x6DAE}, //2626 #CJK UNIFIED IDEOGRAPH
+  {0xB253, 0x6DDE}, //2627 #CJK UNIFIED IDEOGRAPH
+  {0xB254, 0x6DF9}, //2628 #CJK UNIFIED IDEOGRAPH
+  {0xB255, 0x6DB8}, //2629 #CJK UNIFIED IDEOGRAPH
+  {0xB256, 0x6DF7}, //2630 #CJK UNIFIED IDEOGRAPH
+  {0xB257, 0x6DF5}, //2631 #CJK UNIFIED IDEOGRAPH
+  {0xB258, 0x6DC5}, //2632 #CJK UNIFIED IDEOGRAPH
+  {0xB259, 0x6DD2}, //2633 #CJK UNIFIED IDEOGRAPH
+  {0xB25A, 0x6E1A}, //2634 #CJK UNIFIED IDEOGRAPH
+  {0xB25B, 0x6DB5}, //2635 #CJK UNIFIED IDEOGRAPH
+  {0xB25C, 0x6DDA}, //2636 #CJK UNIFIED IDEOGRAPH
+  {0xB25D, 0x6DEB}, //2637 #CJK UNIFIED IDEOGRAPH
+  {0xB25E, 0x6DD8}, //2638 #CJK UNIFIED IDEOGRAPH
+  {0xB25F, 0x6DEA}, //2639 #CJK UNIFIED IDEOGRAPH
+  {0xB260, 0x6DF1}, //2640 #CJK UNIFIED IDEOGRAPH
+  {0xB261, 0x6DEE}, //2641 #CJK UNIFIED IDEOGRAPH
+  {0xB262, 0x6DE8}, //2642 #CJK UNIFIED IDEOGRAPH
+  {0xB263, 0x6DC6}, //2643 #CJK UNIFIED IDEOGRAPH
+  {0xB264, 0x6DC4}, //2644 #CJK UNIFIED IDEOGRAPH
+  {0xB265, 0x6DAA}, //2645 #CJK UNIFIED IDEOGRAPH
+  {0xB266, 0x6DEC}, //2646 #CJK UNIFIED IDEOGRAPH
+  {0xB267, 0x6DBF}, //2647 #CJK UNIFIED IDEOGRAPH
+  {0xB268, 0x6DE6}, //2648 #CJK UNIFIED IDEOGRAPH
+  {0xB269, 0x70F9}, //2649 #CJK UNIFIED IDEOGRAPH
+  {0xB26A, 0x7109}, //2650 #CJK UNIFIED IDEOGRAPH
+  {0xB26B, 0x710A}, //2651 #CJK UNIFIED IDEOGRAPH
+  {0xB26C, 0x70FD}, //2652 #CJK UNIFIED IDEOGRAPH
+  {0xB26D, 0x70EF}, //2653 #CJK UNIFIED IDEOGRAPH
+  {0xB26E, 0x723D}, //2654 #CJK UNIFIED IDEOGRAPH
+  {0xB26F, 0x727D}, //2655 #CJK UNIFIED IDEOGRAPH
+  {0xB270, 0x7281}, //2656 #CJK UNIFIED IDEOGRAPH
+  {0xB271, 0x731C}, //2657 #CJK UNIFIED IDEOGRAPH
+  {0xB272, 0x731B}, //2658 #CJK UNIFIED IDEOGRAPH
+  {0xB273, 0x7316}, //2659 #CJK UNIFIED IDEOGRAPH
+  {0xB274, 0x7313}, //2660 #CJK UNIFIED IDEOGRAPH
+  {0xB275, 0x7319}, //2661 #CJK UNIFIED IDEOGRAPH
+  {0xB276, 0x7387}, //2662 #CJK UNIFIED IDEOGRAPH
+  {0xB277, 0x7405}, //2663 #CJK UNIFIED IDEOGRAPH
+  {0xB278, 0x740A}, //2664 #CJK UNIFIED IDEOGRAPH
+  {0xB279, 0x7403}, //2665 #CJK UNIFIED IDEOGRAPH
+  {0xB27A, 0x7406}, //2666 #CJK UNIFIED IDEOGRAPH
+  {0xB27B, 0x73FE}, //2667 #CJK UNIFIED IDEOGRAPH
+  {0xB27C, 0x740D}, //2668 #CJK UNIFIED IDEOGRAPH
+  {0xB27D, 0x74E0}, //2669 #CJK UNIFIED IDEOGRAPH
+  {0xB27E, 0x74F6}, //2670 #CJK UNIFIED IDEOGRAPH
+  {0xB2A1, 0x74F7}, //2671 #CJK UNIFIED IDEOGRAPH
+  {0xB2A2, 0x751C}, //2672 #CJK UNIFIED IDEOGRAPH
+  {0xB2A3, 0x7522}, //2673 #CJK UNIFIED IDEOGRAPH
+  {0xB2A4, 0x7565}, //2674 #CJK UNIFIED IDEOGRAPH
+  {0xB2A5, 0x7566}, //2675 #CJK UNIFIED IDEOGRAPH
+  {0xB2A6, 0x7562}, //2676 #CJK UNIFIED IDEOGRAPH
+  {0xB2A7, 0x7570}, //2677 #CJK UNIFIED IDEOGRAPH
+  {0xB2A8, 0x758F}, //2678 #CJK UNIFIED IDEOGRAPH
+  {0xB2A9, 0x75D4}, //2679 #CJK UNIFIED IDEOGRAPH
+  {0xB2AA, 0x75D5}, //2680 #CJK UNIFIED IDEOGRAPH
+  {0xB2AB, 0x75B5}, //2681 #CJK UNIFIED IDEOGRAPH
+  {0xB2AC, 0x75CA}, //2682 #CJK UNIFIED IDEOGRAPH
+  {0xB2AD, 0x75CD}, //2683 #CJK UNIFIED IDEOGRAPH
+  {0xB2AE, 0x768E}, //2684 #CJK UNIFIED IDEOGRAPH
+  {0xB2AF, 0x76D4}, //2685 #CJK UNIFIED IDEOGRAPH
+  {0xB2B0, 0x76D2}, //2686 #CJK UNIFIED IDEOGRAPH
+  {0xB2B1, 0x76DB}, //2687 #CJK UNIFIED IDEOGRAPH
+  {0xB2B2, 0x7737}, //2688 #CJK UNIFIED IDEOGRAPH
+  {0xB2B3, 0x773E}, //2689 #CJK UNIFIED IDEOGRAPH
+  {0xB2B4, 0x773C}, //2690 #CJK UNIFIED IDEOGRAPH
+  {0xB2B5, 0x7736}, //2691 #CJK UNIFIED IDEOGRAPH
+  {0xB2B6, 0x7738}, //2692 #CJK UNIFIED IDEOGRAPH
+  {0xB2B7, 0x773A}, //2693 #CJK UNIFIED IDEOGRAPH
+  {0xB2B8, 0x786B}, //2694 #CJK UNIFIED IDEOGRAPH
+  {0xB2B9, 0x7843}, //2695 #CJK UNIFIED IDEOGRAPH
+  {0xB2BA, 0x784E}, //2696 #CJK UNIFIED IDEOGRAPH
+  {0xB2BB, 0x7965}, //2697 #CJK UNIFIED IDEOGRAPH
+  {0xB2BC, 0x7968}, //2698 #CJK UNIFIED IDEOGRAPH
+  {0xB2BD, 0x796D}, //2699 #CJK UNIFIED IDEOGRAPH
+  {0xB2BE, 0x79FB}, //2700 #CJK UNIFIED IDEOGRAPH
+  {0xB2BF, 0x7A92}, //2701 #CJK UNIFIED IDEOGRAPH
+  {0xB2C0, 0x7A95}, //2702 #CJK UNIFIED IDEOGRAPH
+  {0xB2C1, 0x7B20}, //2703 #CJK UNIFIED IDEOGRAPH
+  {0xB2C2, 0x7B28}, //2704 #CJK UNIFIED IDEOGRAPH
+  {0xB2C3, 0x7B1B}, //2705 #CJK UNIFIED IDEOGRAPH
+  {0xB2C4, 0x7B2C}, //2706 #CJK UNIFIED IDEOGRAPH
+  {0xB2C5, 0x7B26}, //2707 #CJK UNIFIED IDEOGRAPH
+  {0xB2C6, 0x7B19}, //2708 #CJK UNIFIED IDEOGRAPH
+  {0xB2C7, 0x7B1E}, //2709 #CJK UNIFIED IDEOGRAPH
+  {0xB2C8, 0x7B2E}, //2710 #CJK UNIFIED IDEOGRAPH
+  {0xB2C9, 0x7C92}, //2711 #CJK UNIFIED IDEOGRAPH
+  {0xB2CA, 0x7C97}, //2712 #CJK UNIFIED IDEOGRAPH
+  {0xB2CB, 0x7C95}, //2713 #CJK UNIFIED IDEOGRAPH
+  {0xB2CC, 0x7D46}, //2714 #CJK UNIFIED IDEOGRAPH
+  {0xB2CD, 0x7D43}, //2715 #CJK UNIFIED IDEOGRAPH
+  {0xB2CE, 0x7D71}, //2716 #CJK UNIFIED IDEOGRAPH
+  {0xB2CF, 0x7D2E}, //2717 #CJK UNIFIED IDEOGRAPH
+  {0xB2D0, 0x7D39}, //2718 #CJK UNIFIED IDEOGRAPH
+  {0xB2D1, 0x7D3C}, //2719 #CJK UNIFIED IDEOGRAPH
+  {0xB2D2, 0x7D40}, //2720 #CJK UNIFIED IDEOGRAPH
+  {0xB2D3, 0x7D30}, //2721 #CJK UNIFIED IDEOGRAPH
+  {0xB2D4, 0x7D33}, //2722 #CJK UNIFIED IDEOGRAPH
+  {0xB2D5, 0x7D44}, //2723 #CJK UNIFIED IDEOGRAPH
+  {0xB2D6, 0x7D2F}, //2724 #CJK UNIFIED IDEOGRAPH
+  {0xB2D7, 0x7D42}, //2725 #CJK UNIFIED IDEOGRAPH
+  {0xB2D8, 0x7D32}, //2726 #CJK UNIFIED IDEOGRAPH
+  {0xB2D9, 0x7D31}, //2727 #CJK UNIFIED IDEOGRAPH
+  {0xB2DA, 0x7F3D}, //2728 #CJK UNIFIED IDEOGRAPH
+  {0xB2DB, 0x7F9E}, //2729 #CJK UNIFIED IDEOGRAPH
+  {0xB2DC, 0x7F9A}, //2730 #CJK UNIFIED IDEOGRAPH
+  {0xB2DD, 0x7FCC}, //2731 #CJK UNIFIED IDEOGRAPH
+  {0xB2DE, 0x7FCE}, //2732 #CJK UNIFIED IDEOGRAPH
+  {0xB2DF, 0x7FD2}, //2733 #CJK UNIFIED IDEOGRAPH
+  {0xB2E0, 0x801C}, //2734 #CJK UNIFIED IDEOGRAPH
+  {0xB2E1, 0x804A}, //2735 #CJK UNIFIED IDEOGRAPH
+  {0xB2E2, 0x8046}, //2736 #CJK UNIFIED IDEOGRAPH
+  {0xB2E3, 0x812F}, //2737 #CJK UNIFIED IDEOGRAPH
+  {0xB2E4, 0x8116}, //2738 #CJK UNIFIED IDEOGRAPH
+  {0xB2E5, 0x8123}, //2739 #CJK UNIFIED IDEOGRAPH
+  {0xB2E6, 0x812B}, //2740 #CJK UNIFIED IDEOGRAPH
+  {0xB2E7, 0x8129}, //2741 #CJK UNIFIED IDEOGRAPH
+  {0xB2E8, 0x8130}, //2742 #CJK UNIFIED IDEOGRAPH
+  {0xB2E9, 0x8124}, //2743 #CJK UNIFIED IDEOGRAPH
+  {0xB2EA, 0x8202}, //2744 #CJK UNIFIED IDEOGRAPH
+  {0xB2EB, 0x8235}, //2745 #CJK UNIFIED IDEOGRAPH
+  {0xB2EC, 0x8237}, //2746 #CJK UNIFIED IDEOGRAPH
+  {0xB2ED, 0x8236}, //2747 #CJK UNIFIED IDEOGRAPH
+  {0xB2EE, 0x8239}, //2748 #CJK UNIFIED IDEOGRAPH
+  {0xB2EF, 0x838E}, //2749 #CJK UNIFIED IDEOGRAPH
+  {0xB2F0, 0x839E}, //2750 #CJK UNIFIED IDEOGRAPH
+  {0xB2F1, 0x8398}, //2751 #CJK UNIFIED IDEOGRAPH
+  {0xB2F2, 0x8378}, //2752 #CJK UNIFIED IDEOGRAPH
+  {0xB2F3, 0x83A2}, //2753 #CJK UNIFIED IDEOGRAPH
+  {0xB2F4, 0x8396}, //2754 #CJK UNIFIED IDEOGRAPH
+  {0xB2F5, 0x83BD}, //2755 #CJK UNIFIED IDEOGRAPH
+  {0xB2F6, 0x83AB}, //2756 #CJK UNIFIED IDEOGRAPH
+  {0xB2F7, 0x8392}, //2757 #CJK UNIFIED IDEOGRAPH
+  {0xB2F8, 0x838A}, //2758 #CJK UNIFIED IDEOGRAPH
+  {0xB2F9, 0x8393}, //2759 #CJK UNIFIED IDEOGRAPH
+  {0xB2FA, 0x8389}, //2760 #CJK UNIFIED IDEOGRAPH
+  {0xB2FB, 0x83A0}, //2761 #CJK UNIFIED IDEOGRAPH
+  {0xB2FC, 0x8377}, //2762 #CJK UNIFIED IDEOGRAPH
+  {0xB2FD, 0x837B}, //2763 #CJK UNIFIED IDEOGRAPH
+  {0xB2FE, 0x837C}, //2764 #CJK UNIFIED IDEOGRAPH
+  {0xB340, 0x8386}, //2765 #CJK UNIFIED IDEOGRAPH
+  {0xB341, 0x83A7}, //2766 #CJK UNIFIED IDEOGRAPH
+  {0xB342, 0x8655}, //2767 #CJK UNIFIED IDEOGRAPH
+  {0xB343, 0x5F6A}, //2768 #CJK UNIFIED IDEOGRAPH
+  {0xB344, 0x86C7}, //2769 #CJK UNIFIED IDEOGRAPH
+  {0xB345, 0x86C0}, //2770 #CJK UNIFIED IDEOGRAPH
+  {0xB346, 0x86B6}, //2771 #CJK UNIFIED IDEOGRAPH
+  {0xB347, 0x86C4}, //2772 #CJK UNIFIED IDEOGRAPH
+  {0xB348, 0x86B5}, //2773 #CJK UNIFIED IDEOGRAPH
+  {0xB349, 0x86C6}, //2774 #CJK UNIFIED IDEOGRAPH
+  {0xB34A, 0x86CB}, //2775 #CJK UNIFIED IDEOGRAPH
+  {0xB34B, 0x86B1}, //2776 #CJK UNIFIED IDEOGRAPH
+  {0xB34C, 0x86AF}, //2777 #CJK UNIFIED IDEOGRAPH
+  {0xB34D, 0x86C9}, //2778 #CJK UNIFIED IDEOGRAPH
+  {0xB34E, 0x8853}, //2779 #CJK UNIFIED IDEOGRAPH
+  {0xB34F, 0x889E}, //2780 #CJK UNIFIED IDEOGRAPH
+  {0xB350, 0x8888}, //2781 #CJK UNIFIED IDEOGRAPH
+  {0xB351, 0x88AB}, //2782 #CJK UNIFIED IDEOGRAPH
+  {0xB352, 0x8892}, //2783 #CJK UNIFIED IDEOGRAPH
+  {0xB353, 0x8896}, //2784 #CJK UNIFIED IDEOGRAPH
+  {0xB354, 0x888D}, //2785 #CJK UNIFIED IDEOGRAPH
+  {0xB355, 0x888B}, //2786 #CJK UNIFIED IDEOGRAPH
+  {0xB356, 0x8993}, //2787 #CJK UNIFIED IDEOGRAPH
+  {0xB357, 0x898F}, //2788 #CJK UNIFIED IDEOGRAPH
+  {0xB358, 0x8A2A}, //2789 #CJK UNIFIED IDEOGRAPH
+  {0xB359, 0x8A1D}, //2790 #CJK UNIFIED IDEOGRAPH
+  {0xB35A, 0x8A23}, //2791 #CJK UNIFIED IDEOGRAPH
+  {0xB35B, 0x8A25}, //2792 #CJK UNIFIED IDEOGRAPH
+  {0xB35C, 0x8A31}, //2793 #CJK UNIFIED IDEOGRAPH
+  {0xB35D, 0x8A2D}, //2794 #CJK UNIFIED IDEOGRAPH
+  {0xB35E, 0x8A1F}, //2795 #CJK UNIFIED IDEOGRAPH
+  {0xB35F, 0x8A1B}, //2796 #CJK UNIFIED IDEOGRAPH
+  {0xB360, 0x8A22}, //2797 #CJK UNIFIED IDEOGRAPH
+  {0xB361, 0x8C49}, //2798 #CJK UNIFIED IDEOGRAPH
+  {0xB362, 0x8C5A}, //2799 #CJK UNIFIED IDEOGRAPH
+  {0xB363, 0x8CA9}, //2800 #CJK UNIFIED IDEOGRAPH
+  {0xB364, 0x8CAC}, //2801 #CJK UNIFIED IDEOGRAPH
+  {0xB365, 0x8CAB}, //2802 #CJK UNIFIED IDEOGRAPH
+  {0xB366, 0x8CA8}, //2803 #CJK UNIFIED IDEOGRAPH
+  {0xB367, 0x8CAA}, //2804 #CJK UNIFIED IDEOGRAPH
+  {0xB368, 0x8CA7}, //2805 #CJK UNIFIED IDEOGRAPH
+  {0xB369, 0x8D67}, //2806 #CJK UNIFIED IDEOGRAPH
+  {0xB36A, 0x8D66}, //2807 #CJK UNIFIED IDEOGRAPH
+  {0xB36B, 0x8DBE}, //2808 #CJK UNIFIED IDEOGRAPH
+  {0xB36C, 0x8DBA}, //2809 #CJK UNIFIED IDEOGRAPH
+  {0xB36D, 0x8EDB}, //2810 #CJK UNIFIED IDEOGRAPH
+  {0xB36E, 0x8EDF}, //2811 #CJK UNIFIED IDEOGRAPH
+  {0xB36F, 0x9019}, //2812 #CJK UNIFIED IDEOGRAPH
+  {0xB370, 0x900D}, //2813 #CJK UNIFIED IDEOGRAPH
+  {0xB371, 0x901A}, //2814 #CJK UNIFIED IDEOGRAPH
+  {0xB372, 0x9017}, //2815 #CJK UNIFIED IDEOGRAPH
+  {0xB373, 0x9023}, //2816 #CJK UNIFIED IDEOGRAPH
+  {0xB374, 0x901F}, //2817 #CJK UNIFIED IDEOGRAPH
+  {0xB375, 0x901D}, //2818 #CJK UNIFIED IDEOGRAPH
+  {0xB376, 0x9010}, //2819 #CJK UNIFIED IDEOGRAPH
+  {0xB377, 0x9015}, //2820 #CJK UNIFIED IDEOGRAPH
+  {0xB378, 0x901E}, //2821 #CJK UNIFIED IDEOGRAPH
+  {0xB379, 0x9020}, //2822 #CJK UNIFIED IDEOGRAPH
+  {0xB37A, 0x900F}, //2823 #CJK UNIFIED IDEOGRAPH
+  {0xB37B, 0x9022}, //2824 #CJK UNIFIED IDEOGRAPH
+  {0xB37C, 0x9016}, //2825 #CJK UNIFIED IDEOGRAPH
+  {0xB37D, 0x901B}, //2826 #CJK UNIFIED IDEOGRAPH
+  {0xB37E, 0x9014}, //2827 #CJK UNIFIED IDEOGRAPH
+  {0xB3A1, 0x90E8}, //2828 #CJK UNIFIED IDEOGRAPH
+  {0xB3A2, 0x90ED}, //2829 #CJK UNIFIED IDEOGRAPH
+  {0xB3A3, 0x90FD}, //2830 #CJK UNIFIED IDEOGRAPH
+  {0xB3A4, 0x9157}, //2831 #CJK UNIFIED IDEOGRAPH
+  {0xB3A5, 0x91CE}, //2832 #CJK UNIFIED IDEOGRAPH
+  {0xB3A6, 0x91F5}, //2833 #CJK UNIFIED IDEOGRAPH
+  {0xB3A7, 0x91E6}, //2834 #CJK UNIFIED IDEOGRAPH
+  {0xB3A8, 0x91E3}, //2835 #CJK UNIFIED IDEOGRAPH
+  {0xB3A9, 0x91E7}, //2836 #CJK UNIFIED IDEOGRAPH
+  {0xB3AA, 0x91ED}, //2837 #CJK UNIFIED IDEOGRAPH
+  {0xB3AB, 0x91E9}, //2838 #CJK UNIFIED IDEOGRAPH
+  {0xB3AC, 0x9589}, //2839 #CJK UNIFIED IDEOGRAPH
+  {0xB3AD, 0x966A}, //2840 #CJK UNIFIED IDEOGRAPH
+  {0xB3AE, 0x9675}, //2841 #CJK UNIFIED IDEOGRAPH
+  {0xB3AF, 0x9673}, //2842 #CJK UNIFIED IDEOGRAPH
+  {0xB3B0, 0x9678}, //2843 #CJK UNIFIED IDEOGRAPH
+  {0xB3B1, 0x9670}, //2844 #CJK UNIFIED IDEOGRAPH
+  {0xB3B2, 0x9674}, //2845 #CJK UNIFIED IDEOGRAPH
+  {0xB3B3, 0x9676}, //2846 #CJK UNIFIED IDEOGRAPH
+  {0xB3B4, 0x9677}, //2847 #CJK UNIFIED IDEOGRAPH
+  {0xB3B5, 0x966C}, //2848 #CJK UNIFIED IDEOGRAPH
+  {0xB3B6, 0x96C0}, //2849 #CJK UNIFIED IDEOGRAPH
+  {0xB3B7, 0x96EA}, //2850 #CJK UNIFIED IDEOGRAPH
+  {0xB3B8, 0x96E9}, //2851 #CJK UNIFIED IDEOGRAPH
+  {0xB3B9, 0x7AE0}, //2852 #CJK UNIFIED IDEOGRAPH
+  {0xB3BA, 0x7ADF}, //2853 #CJK UNIFIED IDEOGRAPH
+  {0xB3BB, 0x9802}, //2854 #CJK UNIFIED IDEOGRAPH
+  {0xB3BC, 0x9803}, //2855 #CJK UNIFIED IDEOGRAPH
+  {0xB3BD, 0x9B5A}, //2856 #CJK UNIFIED IDEOGRAPH
+  {0xB3BE, 0x9CE5}, //2857 #CJK UNIFIED IDEOGRAPH
+  {0xB3BF, 0x9E75}, //2858 #CJK UNIFIED IDEOGRAPH
+  {0xB3C0, 0x9E7F}, //2859 #CJK UNIFIED IDEOGRAPH
+  {0xB3C1, 0x9EA5}, //2860 #CJK UNIFIED IDEOGRAPH
+  {0xB3C2, 0x9EBB}, //2861 #CJK UNIFIED IDEOGRAPH
+  {0xB3C3, 0x50A2}, //2862 #CJK UNIFIED IDEOGRAPH
+  {0xB3C4, 0x508D}, //2863 #CJK UNIFIED IDEOGRAPH
+  {0xB3C5, 0x5085}, //2864 #CJK UNIFIED IDEOGRAPH
+  {0xB3C6, 0x5099}, //2865 #CJK UNIFIED IDEOGRAPH
+  {0xB3C7, 0x5091}, //2866 #CJK UNIFIED IDEOGRAPH
+  {0xB3C8, 0x5080}, //2867 #CJK UNIFIED IDEOGRAPH
+  {0xB3C9, 0x5096}, //2868 #CJK UNIFIED IDEOGRAPH
+  {0xB3CA, 0x5098}, //2869 #CJK UNIFIED IDEOGRAPH
+  {0xB3CB, 0x509A}, //2870 #CJK UNIFIED IDEOGRAPH
+  {0xB3CC, 0x6700}, //2871 #CJK UNIFIED IDEOGRAPH
+  {0xB3CD, 0x51F1}, //2872 #CJK UNIFIED IDEOGRAPH
+  {0xB3CE, 0x5272}, //2873 #CJK UNIFIED IDEOGRAPH
+  {0xB3CF, 0x5274}, //2874 #CJK UNIFIED IDEOGRAPH
+  {0xB3D0, 0x5275}, //2875 #CJK UNIFIED IDEOGRAPH
+  {0xB3D1, 0x5269}, //2876 #CJK UNIFIED IDEOGRAPH
+  {0xB3D2, 0x52DE}, //2877 #CJK UNIFIED IDEOGRAPH
+  {0xB3D3, 0x52DD}, //2878 #CJK UNIFIED IDEOGRAPH
+  {0xB3D4, 0x52DB}, //2879 #CJK UNIFIED IDEOGRAPH
+  {0xB3D5, 0x535A}, //2880 #CJK UNIFIED IDEOGRAPH
+  {0xB3D6, 0x53A5}, //2881 #CJK UNIFIED IDEOGRAPH
+  {0xB3D7, 0x557B}, //2882 #CJK UNIFIED IDEOGRAPH
+  {0xB3D8, 0x5580}, //2883 #CJK UNIFIED IDEOGRAPH
+  {0xB3D9, 0x55A7}, //2884 #CJK UNIFIED IDEOGRAPH
+  {0xB3DA, 0x557C}, //2885 #CJK UNIFIED IDEOGRAPH
+  {0xB3DB, 0x558A}, //2886 #CJK UNIFIED IDEOGRAPH
+  {0xB3DC, 0x559D}, //2887 #CJK UNIFIED IDEOGRAPH
+  {0xB3DD, 0x5598}, //2888 #CJK UNIFIED IDEOGRAPH
+  {0xB3DE, 0x5582}, //2889 #CJK UNIFIED IDEOGRAPH
+  {0xB3DF, 0x559C}, //2890 #CJK UNIFIED IDEOGRAPH
+  {0xB3E0, 0x55AA}, //2891 #CJK UNIFIED IDEOGRAPH
+  {0xB3E1, 0x5594}, //2892 #CJK UNIFIED IDEOGRAPH
+  {0xB3E2, 0x5587}, //2893 #CJK UNIFIED IDEOGRAPH
+  {0xB3E3, 0x558B}, //2894 #CJK UNIFIED IDEOGRAPH
+  {0xB3E4, 0x5583}, //2895 #CJK UNIFIED IDEOGRAPH
+  {0xB3E5, 0x55B3}, //2896 #CJK UNIFIED IDEOGRAPH
+  {0xB3E6, 0x55AE}, //2897 #CJK UNIFIED IDEOGRAPH
+  {0xB3E7, 0x559F}, //2898 #CJK UNIFIED IDEOGRAPH
+  {0xB3E8, 0x553E}, //2899 #CJK UNIFIED IDEOGRAPH
+  {0xB3E9, 0x55B2}, //2900 #CJK UNIFIED IDEOGRAPH
+  {0xB3EA, 0x559A}, //2901 #CJK UNIFIED IDEOGRAPH
+  {0xB3EB, 0x55BB}, //2902 #CJK UNIFIED IDEOGRAPH
+  {0xB3EC, 0x55AC}, //2903 #CJK UNIFIED IDEOGRAPH
+  {0xB3ED, 0x55B1}, //2904 #CJK UNIFIED IDEOGRAPH
+  {0xB3EE, 0x557E}, //2905 #CJK UNIFIED IDEOGRAPH
+  {0xB3EF, 0x5589}, //2906 #CJK UNIFIED IDEOGRAPH
+  {0xB3F0, 0x55AB}, //2907 #CJK UNIFIED IDEOGRAPH
+  {0xB3F1, 0x5599}, //2908 #CJK UNIFIED IDEOGRAPH
+  {0xB3F2, 0x570D}, //2909 #CJK UNIFIED IDEOGRAPH
+  {0xB3F3, 0x582F}, //2910 #CJK UNIFIED IDEOGRAPH
+  {0xB3F4, 0x582A}, //2911 #CJK UNIFIED IDEOGRAPH
+  {0xB3F5, 0x5834}, //2912 #CJK UNIFIED IDEOGRAPH
+  {0xB3F6, 0x5824}, //2913 #CJK UNIFIED IDEOGRAPH
+  {0xB3F7, 0x5830}, //2914 #CJK UNIFIED IDEOGRAPH
+  {0xB3F8, 0x5831}, //2915 #CJK UNIFIED IDEOGRAPH
+  {0xB3F9, 0x5821}, //2916 #CJK UNIFIED IDEOGRAPH
+  {0xB3FA, 0x581D}, //2917 #CJK UNIFIED IDEOGRAPH
+  {0xB3FB, 0x5820}, //2918 #CJK UNIFIED IDEOGRAPH
+  {0xB3FC, 0x58F9}, //2919 #CJK UNIFIED IDEOGRAPH
+  {0xB3FD, 0x58FA}, //2920 #CJK UNIFIED IDEOGRAPH
+  {0xB3FE, 0x5960}, //2921 #CJK UNIFIED IDEOGRAPH
+  {0xB440, 0x5A77}, //2922 #CJK UNIFIED IDEOGRAPH
+  {0xB441, 0x5A9A}, //2923 #CJK UNIFIED IDEOGRAPH
+  {0xB442, 0x5A7F}, //2924 #CJK UNIFIED IDEOGRAPH
+  {0xB443, 0x5A92}, //2925 #CJK UNIFIED IDEOGRAPH
+  {0xB444, 0x5A9B}, //2926 #CJK UNIFIED IDEOGRAPH
+  {0xB445, 0x5AA7}, //2927 #CJK UNIFIED IDEOGRAPH
+  {0xB446, 0x5B73}, //2928 #CJK UNIFIED IDEOGRAPH
+  {0xB447, 0x5B71}, //2929 #CJK UNIFIED IDEOGRAPH
+  {0xB448, 0x5BD2}, //2930 #CJK UNIFIED IDEOGRAPH
+  {0xB449, 0x5BCC}, //2931 #CJK UNIFIED IDEOGRAPH
+  {0xB44A, 0x5BD3}, //2932 #CJK UNIFIED IDEOGRAPH
+  {0xB44B, 0x5BD0}, //2933 #CJK UNIFIED IDEOGRAPH
+  {0xB44C, 0x5C0A}, //2934 #CJK UNIFIED IDEOGRAPH
+  {0xB44D, 0x5C0B}, //2935 #CJK UNIFIED IDEOGRAPH
+  {0xB44E, 0x5C31}, //2936 #CJK UNIFIED IDEOGRAPH
+  {0xB44F, 0x5D4C}, //2937 #CJK UNIFIED IDEOGRAPH
+  {0xB450, 0x5D50}, //2938 #CJK UNIFIED IDEOGRAPH
+  {0xB451, 0x5D34}, //2939 #CJK UNIFIED IDEOGRAPH
+  {0xB452, 0x5D47}, //2940 #CJK UNIFIED IDEOGRAPH
+  {0xB453, 0x5DFD}, //2941 #CJK UNIFIED IDEOGRAPH
+  {0xB454, 0x5E45}, //2942 #CJK UNIFIED IDEOGRAPH
+  {0xB455, 0x5E3D}, //2943 #CJK UNIFIED IDEOGRAPH
+  {0xB456, 0x5E40}, //2944 #CJK UNIFIED IDEOGRAPH
+  {0xB457, 0x5E43}, //2945 #CJK UNIFIED IDEOGRAPH
+  {0xB458, 0x5E7E}, //2946 #CJK UNIFIED IDEOGRAPH
+  {0xB459, 0x5ECA}, //2947 #CJK UNIFIED IDEOGRAPH
+  {0xB45A, 0x5EC1}, //2948 #CJK UNIFIED IDEOGRAPH
+  {0xB45B, 0x5EC2}, //2949 #CJK UNIFIED IDEOGRAPH
+  {0xB45C, 0x5EC4}, //2950 #CJK UNIFIED IDEOGRAPH
+  {0xB45D, 0x5F3C}, //2951 #CJK UNIFIED IDEOGRAPH
+  {0xB45E, 0x5F6D}, //2952 #CJK UNIFIED IDEOGRAPH
+  {0xB45F, 0x5FA9}, //2953 #CJK UNIFIED IDEOGRAPH
+  {0xB460, 0x5FAA}, //2954 #CJK UNIFIED IDEOGRAPH
+  {0xB461, 0x5FA8}, //2955 #CJK UNIFIED IDEOGRAPH
+  {0xB462, 0x60D1}, //2956 #CJK UNIFIED IDEOGRAPH
+  {0xB463, 0x60E1}, //2957 #CJK UNIFIED IDEOGRAPH
+  {0xB464, 0x60B2}, //2958 #CJK UNIFIED IDEOGRAPH
+  {0xB465, 0x60B6}, //2959 #CJK UNIFIED IDEOGRAPH
+  {0xB466, 0x60E0}, //2960 #CJK UNIFIED IDEOGRAPH
+  {0xB467, 0x611C}, //2961 #CJK UNIFIED IDEOGRAPH
+  {0xB468, 0x6123}, //2962 #CJK UNIFIED IDEOGRAPH
+  {0xB469, 0x60FA}, //2963 #CJK UNIFIED IDEOGRAPH
+  {0xB46A, 0x6115}, //2964 #CJK UNIFIED IDEOGRAPH
+  {0xB46B, 0x60F0}, //2965 #CJK UNIFIED IDEOGRAPH
+  {0xB46C, 0x60FB}, //2966 #CJK UNIFIED IDEOGRAPH
+  {0xB46D, 0x60F4}, //2967 #CJK UNIFIED IDEOGRAPH
+  {0xB46E, 0x6168}, //2968 #CJK UNIFIED IDEOGRAPH
+  {0xB46F, 0x60F1}, //2969 #CJK UNIFIED IDEOGRAPH
+  {0xB470, 0x610E}, //2970 #CJK UNIFIED IDEOGRAPH
+  {0xB471, 0x60F6}, //2971 #CJK UNIFIED IDEOGRAPH
+  {0xB472, 0x6109}, //2972 #CJK UNIFIED IDEOGRAPH
+  {0xB473, 0x6100}, //2973 #CJK UNIFIED IDEOGRAPH
+  {0xB474, 0x6112}, //2974 #CJK UNIFIED IDEOGRAPH
+  {0xB475, 0x621F}, //2975 #CJK UNIFIED IDEOGRAPH
+  {0xB476, 0x6249}, //2976 #CJK UNIFIED IDEOGRAPH
+  {0xB477, 0x63A3}, //2977 #CJK UNIFIED IDEOGRAPH
+  {0xB478, 0x638C}, //2978 #CJK UNIFIED IDEOGRAPH
+  {0xB479, 0x63CF}, //2979 #CJK UNIFIED IDEOGRAPH
+  {0xB47A, 0x63C0}, //2980 #CJK UNIFIED IDEOGRAPH
+  {0xB47B, 0x63E9}, //2981 #CJK UNIFIED IDEOGRAPH
+  {0xB47C, 0x63C9}, //2982 #CJK UNIFIED IDEOGRAPH
+  {0xB47D, 0x63C6}, //2983 #CJK UNIFIED IDEOGRAPH
+  {0xB47E, 0x63CD}, //2984 #CJK UNIFIED IDEOGRAPH
+  {0xB4A1, 0x63D2}, //2985 #CJK UNIFIED IDEOGRAPH
+  {0xB4A2, 0x63E3}, //2986 #CJK UNIFIED IDEOGRAPH
+  {0xB4A3, 0x63D0}, //2987 #CJK UNIFIED IDEOGRAPH
+  {0xB4A4, 0x63E1}, //2988 #CJK UNIFIED IDEOGRAPH
+  {0xB4A5, 0x63D6}, //2989 #CJK UNIFIED IDEOGRAPH
+  {0xB4A6, 0x63ED}, //2990 #CJK UNIFIED IDEOGRAPH
+  {0xB4A7, 0x63EE}, //2991 #CJK UNIFIED IDEOGRAPH
+  {0xB4A8, 0x6376}, //2992 #CJK UNIFIED IDEOGRAPH
+  {0xB4A9, 0x63F4}, //2993 #CJK UNIFIED IDEOGRAPH
+  {0xB4AA, 0x63EA}, //2994 #CJK UNIFIED IDEOGRAPH
+  {0xB4AB, 0x63DB}, //2995 #CJK UNIFIED IDEOGRAPH
+  {0xB4AC, 0x6452}, //2996 #CJK UNIFIED IDEOGRAPH
+  {0xB4AD, 0x63DA}, //2997 #CJK UNIFIED IDEOGRAPH
+  {0xB4AE, 0x63F9}, //2998 #CJK UNIFIED IDEOGRAPH
+  {0xB4AF, 0x655E}, //2999 #CJK UNIFIED IDEOGRAPH
+  {0xB4B0, 0x6566}, //3000 #CJK UNIFIED IDEOGRAPH
+  {0xB4B1, 0x6562}, //3001 #CJK UNIFIED IDEOGRAPH
+  {0xB4B2, 0x6563}, //3002 #CJK UNIFIED IDEOGRAPH
+  {0xB4B3, 0x6591}, //3003 #CJK UNIFIED IDEOGRAPH
+  {0xB4B4, 0x6590}, //3004 #CJK UNIFIED IDEOGRAPH
+  {0xB4B5, 0x65AF}, //3005 #CJK UNIFIED IDEOGRAPH
+  {0xB4B6, 0x666E}, //3006 #CJK UNIFIED IDEOGRAPH
+  {0xB4B7, 0x6670}, //3007 #CJK UNIFIED IDEOGRAPH
+  {0xB4B8, 0x6674}, //3008 #CJK UNIFIED IDEOGRAPH
+  {0xB4B9, 0x6676}, //3009 #CJK UNIFIED IDEOGRAPH
+  {0xB4BA, 0x666F}, //3010 #CJK UNIFIED IDEOGRAPH
+  {0xB4BB, 0x6691}, //3011 #CJK UNIFIED IDEOGRAPH
+  {0xB4BC, 0x667A}, //3012 #CJK UNIFIED IDEOGRAPH
+  {0xB4BD, 0x667E}, //3013 #CJK UNIFIED IDEOGRAPH
+  {0xB4BE, 0x6677}, //3014 #CJK UNIFIED IDEOGRAPH
+  {0xB4BF, 0x66FE}, //3015 #CJK UNIFIED IDEOGRAPH
+  {0xB4C0, 0x66FF}, //3016 #CJK UNIFIED IDEOGRAPH
+  {0xB4C1, 0x671F}, //3017 #CJK UNIFIED IDEOGRAPH
+  {0xB4C2, 0x671D}, //3018 #CJK UNIFIED IDEOGRAPH
+  {0xB4C3, 0x68FA}, //3019 #CJK UNIFIED IDEOGRAPH
+  {0xB4C4, 0x68D5}, //3020 #CJK UNIFIED IDEOGRAPH
+  {0xB4C5, 0x68E0}, //3021 #CJK UNIFIED IDEOGRAPH
+  {0xB4C6, 0x68D8}, //3022 #CJK UNIFIED IDEOGRAPH
+  {0xB4C7, 0x68D7}, //3023 #CJK UNIFIED IDEOGRAPH
+  {0xB4C8, 0x6905}, //3024 #CJK UNIFIED IDEOGRAPH
+  {0xB4C9, 0x68DF}, //3025 #CJK UNIFIED IDEOGRAPH
+  {0xB4CA, 0x68F5}, //3026 #CJK UNIFIED IDEOGRAPH
+  {0xB4CB, 0x68EE}, //3027 #CJK UNIFIED IDEOGRAPH
+  {0xB4CC, 0x68E7}, //3028 #CJK UNIFIED IDEOGRAPH
+  {0xB4CD, 0x68F9}, //3029 #CJK UNIFIED IDEOGRAPH
+  {0xB4CE, 0x68D2}, //3030 #CJK UNIFIED IDEOGRAPH
+  {0xB4CF, 0x68F2}, //3031 #CJK UNIFIED IDEOGRAPH
+  {0xB4D0, 0x68E3}, //3032 #CJK UNIFIED IDEOGRAPH
+  {0xB4D1, 0x68CB}, //3033 #CJK UNIFIED IDEOGRAPH
+  {0xB4D2, 0x68CD}, //3034 #CJK UNIFIED IDEOGRAPH
+  {0xB4D3, 0x690D}, //3035 #CJK UNIFIED IDEOGRAPH
+  {0xB4D4, 0x6912}, //3036 #CJK UNIFIED IDEOGRAPH
+  {0xB4D5, 0x690E}, //3037 #CJK UNIFIED IDEOGRAPH
+  {0xB4D6, 0x68C9}, //3038 #CJK UNIFIED IDEOGRAPH
+  {0xB4D7, 0x68DA}, //3039 #CJK UNIFIED IDEOGRAPH
+  {0xB4D8, 0x696E}, //3040 #CJK UNIFIED IDEOGRAPH
+  {0xB4D9, 0x68FB}, //3041 #CJK UNIFIED IDEOGRAPH
+  {0xB4DA, 0x6B3E}, //3042 #CJK UNIFIED IDEOGRAPH
+  {0xB4DB, 0x6B3A}, //3043 #CJK UNIFIED IDEOGRAPH
+  {0xB4DC, 0x6B3D}, //3044 #CJK UNIFIED IDEOGRAPH
+  {0xB4DD, 0x6B98}, //3045 #CJK UNIFIED IDEOGRAPH
+  {0xB4DE, 0x6B96}, //3046 #CJK UNIFIED IDEOGRAPH
+  {0xB4DF, 0x6BBC}, //3047 #CJK UNIFIED IDEOGRAPH
+  {0xB4E0, 0x6BEF}, //3048 #CJK UNIFIED IDEOGRAPH
+  {0xB4E1, 0x6C2E}, //3049 #CJK UNIFIED IDEOGRAPH
+  {0xB4E2, 0x6C2F}, //3050 #CJK UNIFIED IDEOGRAPH
+  {0xB4E3, 0x6C2C}, //3051 #CJK UNIFIED IDEOGRAPH
+  {0xB4E4, 0x6E2F}, //3052 #CJK UNIFIED IDEOGRAPH
+  {0xB4E5, 0x6E38}, //3053 #CJK UNIFIED IDEOGRAPH
+  {0xB4E6, 0x6E54}, //3054 #CJK UNIFIED IDEOGRAPH
+  {0xB4E7, 0x6E21}, //3055 #CJK UNIFIED IDEOGRAPH
+  {0xB4E8, 0x6E32}, //3056 #CJK UNIFIED IDEOGRAPH
+  {0xB4E9, 0x6E67}, //3057 #CJK UNIFIED IDEOGRAPH
+  {0xB4EA, 0x6E4A}, //3058 #CJK UNIFIED IDEOGRAPH
+  {0xB4EB, 0x6E20}, //3059 #CJK UNIFIED IDEOGRAPH
+  {0xB4EC, 0x6E25}, //3060 #CJK UNIFIED IDEOGRAPH
+  {0xB4ED, 0x6E23}, //3061 #CJK UNIFIED IDEOGRAPH
+  {0xB4EE, 0x6E1B}, //3062 #CJK UNIFIED IDEOGRAPH
+  {0xB4EF, 0x6E5B}, //3063 #CJK UNIFIED IDEOGRAPH
+  {0xB4F0, 0x6E58}, //3064 #CJK UNIFIED IDEOGRAPH
+  {0xB4F1, 0x6E24}, //3065 #CJK UNIFIED IDEOGRAPH
+  {0xB4F2, 0x6E56}, //3066 #CJK UNIFIED IDEOGRAPH
+  {0xB4F3, 0x6E6E}, //3067 #CJK UNIFIED IDEOGRAPH
+  {0xB4F4, 0x6E2D}, //3068 #CJK UNIFIED IDEOGRAPH
+  {0xB4F5, 0x6E26}, //3069 #CJK UNIFIED IDEOGRAPH
+  {0xB4F6, 0x6E6F}, //3070 #CJK UNIFIED IDEOGRAPH
+  {0xB4F7, 0x6E34}, //3071 #CJK UNIFIED IDEOGRAPH
+  {0xB4F8, 0x6E4D}, //3072 #CJK UNIFIED IDEOGRAPH
+  {0xB4F9, 0x6E3A}, //3073 #CJK UNIFIED IDEOGRAPH
+  {0xB4FA, 0x6E2C}, //3074 #CJK UNIFIED IDEOGRAPH
+  {0xB4FB, 0x6E43}, //3075 #CJK UNIFIED IDEOGRAPH
+  {0xB4FC, 0x6E1D}, //3076 #CJK UNIFIED IDEOGRAPH
+  {0xB4FD, 0x6E3E}, //3077 #CJK UNIFIED IDEOGRAPH
+  {0xB4FE, 0x6ECB}, //3078 #CJK UNIFIED IDEOGRAPH
+  {0xB540, 0x6E89}, //3079 #CJK UNIFIED IDEOGRAPH
+  {0xB541, 0x6E19}, //3080 #CJK UNIFIED IDEOGRAPH
+  {0xB542, 0x6E4E}, //3081 #CJK UNIFIED IDEOGRAPH
+  {0xB543, 0x6E63}, //3082 #CJK UNIFIED IDEOGRAPH
+  {0xB544, 0x6E44}, //3083 #CJK UNIFIED IDEOGRAPH
+  {0xB545, 0x6E72}, //3084 #CJK UNIFIED IDEOGRAPH
+  {0xB546, 0x6E69}, //3085 #CJK UNIFIED IDEOGRAPH
+  {0xB547, 0x6E5F}, //3086 #CJK UNIFIED IDEOGRAPH
+  {0xB548, 0x7119}, //3087 #CJK UNIFIED IDEOGRAPH
+  {0xB549, 0x711A}, //3088 #CJK UNIFIED IDEOGRAPH
+  {0xB54A, 0x7126}, //3089 #CJK UNIFIED IDEOGRAPH
+  {0xB54B, 0x7130}, //3090 #CJK UNIFIED IDEOGRAPH
+  {0xB54C, 0x7121}, //3091 #CJK UNIFIED IDEOGRAPH
+  {0xB54D, 0x7136}, //3092 #CJK UNIFIED IDEOGRAPH
+  {0xB54E, 0x716E}, //3093 #CJK UNIFIED IDEOGRAPH
+  {0xB54F, 0x711C}, //3094 #CJK UNIFIED IDEOGRAPH
+  {0xB550, 0x724C}, //3095 #CJK UNIFIED IDEOGRAPH
+  {0xB551, 0x7284}, //3096 #CJK UNIFIED IDEOGRAPH
+  {0xB552, 0x7280}, //3097 #CJK UNIFIED IDEOGRAPH
+  {0xB553, 0x7336}, //3098 #CJK UNIFIED IDEOGRAPH
+  {0xB554, 0x7325}, //3099 #CJK UNIFIED IDEOGRAPH
+  {0xB555, 0x7334}, //3100 #CJK UNIFIED IDEOGRAPH
+  {0xB556, 0x7329}, //3101 #CJK UNIFIED IDEOGRAPH
+  {0xB557, 0x743A}, //3102 #CJK UNIFIED IDEOGRAPH
+  {0xB558, 0x742A}, //3103 #CJK UNIFIED IDEOGRAPH
+  {0xB559, 0x7433}, //3104 #CJK UNIFIED IDEOGRAPH
+  {0xB55A, 0x7422}, //3105 #CJK UNIFIED IDEOGRAPH
+  {0xB55B, 0x7425}, //3106 #CJK UNIFIED IDEOGRAPH
+  {0xB55C, 0x7435}, //3107 #CJK UNIFIED IDEOGRAPH
+  {0xB55D, 0x7436}, //3108 #CJK UNIFIED IDEOGRAPH
+  {0xB55E, 0x7434}, //3109 #CJK UNIFIED IDEOGRAPH
+  {0xB55F, 0x742F}, //3110 #CJK UNIFIED IDEOGRAPH
+  {0xB560, 0x741B}, //3111 #CJK UNIFIED IDEOGRAPH
+  {0xB561, 0x7426}, //3112 #CJK UNIFIED IDEOGRAPH
+  {0xB562, 0x7428}, //3113 #CJK UNIFIED IDEOGRAPH
+  {0xB563, 0x7525}, //3114 #CJK UNIFIED IDEOGRAPH
+  {0xB564, 0x7526}, //3115 #CJK UNIFIED IDEOGRAPH
+  {0xB565, 0x756B}, //3116 #CJK UNIFIED IDEOGRAPH
+  {0xB566, 0x756A}, //3117 #CJK UNIFIED IDEOGRAPH
+  {0xB567, 0x75E2}, //3118 #CJK UNIFIED IDEOGRAPH
+  {0xB568, 0x75DB}, //3119 #CJK UNIFIED IDEOGRAPH
+  {0xB569, 0x75E3}, //3120 #CJK UNIFIED IDEOGRAPH
+  {0xB56A, 0x75D9}, //3121 #CJK UNIFIED IDEOGRAPH
+  {0xB56B, 0x75D8}, //3122 #CJK UNIFIED IDEOGRAPH
+  {0xB56C, 0x75DE}, //3123 #CJK UNIFIED IDEOGRAPH
+  {0xB56D, 0x75E0}, //3124 #CJK UNIFIED IDEOGRAPH
+  {0xB56E, 0x767B}, //3125 #CJK UNIFIED IDEOGRAPH
+  {0xB56F, 0x767C}, //3126 #CJK UNIFIED IDEOGRAPH
+  {0xB570, 0x7696}, //3127 #CJK UNIFIED IDEOGRAPH
+  {0xB571, 0x7693}, //3128 #CJK UNIFIED IDEOGRAPH
+  {0xB572, 0x76B4}, //3129 #CJK UNIFIED IDEOGRAPH
+  {0xB573, 0x76DC}, //3130 #CJK UNIFIED IDEOGRAPH
+  {0xB574, 0x774F}, //3131 #CJK UNIFIED IDEOGRAPH
+  {0xB575, 0x77ED}, //3132 #CJK UNIFIED IDEOGRAPH
+  {0xB576, 0x785D}, //3133 #CJK UNIFIED IDEOGRAPH
+  {0xB577, 0x786C}, //3134 #CJK UNIFIED IDEOGRAPH
+  {0xB578, 0x786F}, //3135 #CJK UNIFIED IDEOGRAPH
+  {0xB579, 0x7A0D}, //3136 #CJK UNIFIED IDEOGRAPH
+  {0xB57A, 0x7A08}, //3137 #CJK UNIFIED IDEOGRAPH
+  {0xB57B, 0x7A0B}, //3138 #CJK UNIFIED IDEOGRAPH
+  {0xB57C, 0x7A05}, //3139 #CJK UNIFIED IDEOGRAPH
+  {0xB57D, 0x7A00}, //3140 #CJK UNIFIED IDEOGRAPH
+  {0xB57E, 0x7A98}, //3141 #CJK UNIFIED IDEOGRAPH
+  {0xB5A1, 0x7A97}, //3142 #CJK UNIFIED IDEOGRAPH
+  {0xB5A2, 0x7A96}, //3143 #CJK UNIFIED IDEOGRAPH
+  {0xB5A3, 0x7AE5}, //3144 #CJK UNIFIED IDEOGRAPH
+  {0xB5A4, 0x7AE3}, //3145 #CJK UNIFIED IDEOGRAPH
+  {0xB5A5, 0x7B49}, //3146 #CJK UNIFIED IDEOGRAPH
+  {0xB5A6, 0x7B56}, //3147 #CJK UNIFIED IDEOGRAPH
+  {0xB5A7, 0x7B46}, //3148 #CJK UNIFIED IDEOGRAPH
+  {0xB5A8, 0x7B50}, //3149 #CJK UNIFIED IDEOGRAPH
+  {0xB5A9, 0x7B52}, //3150 #CJK UNIFIED IDEOGRAPH
+  {0xB5AA, 0x7B54}, //3151 #CJK UNIFIED IDEOGRAPH
+  {0xB5AB, 0x7B4D}, //3152 #CJK UNIFIED IDEOGRAPH
+  {0xB5AC, 0x7B4B}, //3153 #CJK UNIFIED IDEOGRAPH
+  {0xB5AD, 0x7B4F}, //3154 #CJK UNIFIED IDEOGRAPH
+  {0xB5AE, 0x7B51}, //3155 #CJK UNIFIED IDEOGRAPH
+  {0xB5AF, 0x7C9F}, //3156 #CJK UNIFIED IDEOGRAPH
+  {0xB5B0, 0x7CA5}, //3157 #CJK UNIFIED IDEOGRAPH
+  {0xB5B1, 0x7D5E}, //3158 #CJK UNIFIED IDEOGRAPH
+  {0xB5B2, 0x7D50}, //3159 #CJK UNIFIED IDEOGRAPH
+  {0xB5B3, 0x7D68}, //3160 #CJK UNIFIED IDEOGRAPH
+  {0xB5B4, 0x7D55}, //3161 #CJK UNIFIED IDEOGRAPH
+  {0xB5B5, 0x7D2B}, //3162 #CJK UNIFIED IDEOGRAPH
+  {0xB5B6, 0x7D6E}, //3163 #CJK UNIFIED IDEOGRAPH
+  {0xB5B7, 0x7D72}, //3164 #CJK UNIFIED IDEOGRAPH
+  {0xB5B8, 0x7D61}, //3165 #CJK UNIFIED IDEOGRAPH
+  {0xB5B9, 0x7D66}, //3166 #CJK UNIFIED IDEOGRAPH
+  {0xB5BA, 0x7D62}, //3167 #CJK UNIFIED IDEOGRAPH
+  {0xB5BB, 0x7D70}, //3168 #CJK UNIFIED IDEOGRAPH
+  {0xB5BC, 0x7D73}, //3169 #CJK UNIFIED IDEOGRAPH
+  {0xB5BD, 0x5584}, //3170 #CJK UNIFIED IDEOGRAPH
+  {0xB5BE, 0x7FD4}, //3171 #CJK UNIFIED IDEOGRAPH
+  {0xB5BF, 0x7FD5}, //3172 #CJK UNIFIED IDEOGRAPH
+  {0xB5C0, 0x800B}, //3173 #CJK UNIFIED IDEOGRAPH
+  {0xB5C1, 0x8052}, //3174 #CJK UNIFIED IDEOGRAPH
+  {0xB5C2, 0x8085}, //3175 #CJK UNIFIED IDEOGRAPH
+  {0xB5C3, 0x8155}, //3176 #CJK UNIFIED IDEOGRAPH
+  {0xB5C4, 0x8154}, //3177 #CJK UNIFIED IDEOGRAPH
+  {0xB5C5, 0x814B}, //3178 #CJK UNIFIED IDEOGRAPH
+  {0xB5C6, 0x8151}, //3179 #CJK UNIFIED IDEOGRAPH
+  {0xB5C7, 0x814E}, //3180 #CJK UNIFIED IDEOGRAPH
+  {0xB5C8, 0x8139}, //3181 #CJK UNIFIED IDEOGRAPH
+  {0xB5C9, 0x8146}, //3182 #CJK UNIFIED IDEOGRAPH
+  {0xB5CA, 0x813E}, //3183 #CJK UNIFIED IDEOGRAPH
+  {0xB5CB, 0x814C}, //3184 #CJK UNIFIED IDEOGRAPH
+  {0xB5CC, 0x8153}, //3185 #CJK UNIFIED IDEOGRAPH
+  {0xB5CD, 0x8174}, //3186 #CJK UNIFIED IDEOGRAPH
+  {0xB5CE, 0x8212}, //3187 #CJK UNIFIED IDEOGRAPH
+  {0xB5CF, 0x821C}, //3188 #CJK UNIFIED IDEOGRAPH
+  {0xB5D0, 0x83E9}, //3189 #CJK UNIFIED IDEOGRAPH
+  {0xB5D1, 0x8403}, //3190 #CJK UNIFIED IDEOGRAPH
+  {0xB5D2, 0x83F8}, //3191 #CJK UNIFIED IDEOGRAPH
+  {0xB5D3, 0x840D}, //3192 #CJK UNIFIED IDEOGRAPH
+  {0xB5D4, 0x83E0}, //3193 #CJK UNIFIED IDEOGRAPH
+  {0xB5D5, 0x83C5}, //3194 #CJK UNIFIED IDEOGRAPH
+  {0xB5D6, 0x840B}, //3195 #CJK UNIFIED IDEOGRAPH
+  {0xB5D7, 0x83C1}, //3196 #CJK UNIFIED IDEOGRAPH
+  {0xB5D8, 0x83EF}, //3197 #CJK UNIFIED IDEOGRAPH
+  {0xB5D9, 0x83F1}, //3198 #CJK UNIFIED IDEOGRAPH
+  {0xB5DA, 0x83F4}, //3199 #CJK UNIFIED IDEOGRAPH
+  {0xB5DB, 0x8457}, //3200 #CJK UNIFIED IDEOGRAPH
+  {0xB5DC, 0x840A}, //3201 #CJK UNIFIED IDEOGRAPH
+  {0xB5DD, 0x83F0}, //3202 #CJK UNIFIED IDEOGRAPH
+  {0xB5DE, 0x840C}, //3203 #CJK UNIFIED IDEOGRAPH
+  {0xB5DF, 0x83CC}, //3204 #CJK UNIFIED IDEOGRAPH
+  {0xB5E0, 0x83FD}, //3205 #CJK UNIFIED IDEOGRAPH
+  {0xB5E1, 0x83F2}, //3206 #CJK UNIFIED IDEOGRAPH
+  {0xB5E2, 0x83CA}, //3207 #CJK UNIFIED IDEOGRAPH
+  {0xB5E3, 0x8438}, //3208 #CJK UNIFIED IDEOGRAPH
+  {0xB5E4, 0x840E}, //3209 #CJK UNIFIED IDEOGRAPH
+  {0xB5E5, 0x8404}, //3210 #CJK UNIFIED IDEOGRAPH
+  {0xB5E6, 0x83DC}, //3211 #CJK UNIFIED IDEOGRAPH
+  {0xB5E7, 0x8407}, //3212 #CJK UNIFIED IDEOGRAPH
+  {0xB5E8, 0x83D4}, //3213 #CJK UNIFIED IDEOGRAPH
+  {0xB5E9, 0x83DF}, //3214 #CJK UNIFIED IDEOGRAPH
+  {0xB5EA, 0x865B}, //3215 #CJK UNIFIED IDEOGRAPH
+  {0xB5EB, 0x86DF}, //3216 #CJK UNIFIED IDEOGRAPH
+  {0xB5EC, 0x86D9}, //3217 #CJK UNIFIED IDEOGRAPH
+  {0xB5ED, 0x86ED}, //3218 #CJK UNIFIED IDEOGRAPH
+  {0xB5EE, 0x86D4}, //3219 #CJK UNIFIED IDEOGRAPH
+  {0xB5EF, 0x86DB}, //3220 #CJK UNIFIED IDEOGRAPH
+  {0xB5F0, 0x86E4}, //3221 #CJK UNIFIED IDEOGRAPH
+  {0xB5F1, 0x86D0}, //3222 #CJK UNIFIED IDEOGRAPH
+  {0xB5F2, 0x86DE}, //3223 #CJK UNIFIED IDEOGRAPH
+  {0xB5F3, 0x8857}, //3224 #CJK UNIFIED IDEOGRAPH
+  {0xB5F4, 0x88C1}, //3225 #CJK UNIFIED IDEOGRAPH
+  {0xB5F5, 0x88C2}, //3226 #CJK UNIFIED IDEOGRAPH
+  {0xB5F6, 0x88B1}, //3227 #CJK UNIFIED IDEOGRAPH
+  {0xB5F7, 0x8983}, //3228 #CJK UNIFIED IDEOGRAPH
+  {0xB5F8, 0x8996}, //3229 #CJK UNIFIED IDEOGRAPH
+  {0xB5F9, 0x8A3B}, //3230 #CJK UNIFIED IDEOGRAPH
+  {0xB5FA, 0x8A60}, //3231 #CJK UNIFIED IDEOGRAPH
+  {0xB5FB, 0x8A55}, //3232 #CJK UNIFIED IDEOGRAPH
+  {0xB5FC, 0x8A5E}, //3233 #CJK UNIFIED IDEOGRAPH
+  {0xB5FD, 0x8A3C}, //3234 #CJK UNIFIED IDEOGRAPH
+  {0xB5FE, 0x8A41}, //3235 #CJK UNIFIED IDEOGRAPH
+  {0xB640, 0x8A54}, //3236 #CJK UNIFIED IDEOGRAPH
+  {0xB641, 0x8A5B}, //3237 #CJK UNIFIED IDEOGRAPH
+  {0xB642, 0x8A50}, //3238 #CJK UNIFIED IDEOGRAPH
+  {0xB643, 0x8A46}, //3239 #CJK UNIFIED IDEOGRAPH
+  {0xB644, 0x8A34}, //3240 #CJK UNIFIED IDEOGRAPH
+  {0xB645, 0x8A3A}, //3241 #CJK UNIFIED IDEOGRAPH
+  {0xB646, 0x8A36}, //3242 #CJK UNIFIED IDEOGRAPH
+  {0xB647, 0x8A56}, //3243 #CJK UNIFIED IDEOGRAPH
+  {0xB648, 0x8C61}, //3244 #CJK UNIFIED IDEOGRAPH
+  {0xB649, 0x8C82}, //3245 #CJK UNIFIED IDEOGRAPH
+  {0xB64A, 0x8CAF}, //3246 #CJK UNIFIED IDEOGRAPH
+  {0xB64B, 0x8CBC}, //3247 #CJK UNIFIED IDEOGRAPH
+  {0xB64C, 0x8CB3}, //3248 #CJK UNIFIED IDEOGRAPH
+  {0xB64D, 0x8CBD}, //3249 #CJK UNIFIED IDEOGRAPH
+  {0xB64E, 0x8CC1}, //3250 #CJK UNIFIED IDEOGRAPH
+  {0xB64F, 0x8CBB}, //3251 #CJK UNIFIED IDEOGRAPH
+  {0xB650, 0x8CC0}, //3252 #CJK UNIFIED IDEOGRAPH
+  {0xB651, 0x8CB4}, //3253 #CJK UNIFIED IDEOGRAPH
+  {0xB652, 0x8CB7}, //3254 #CJK UNIFIED IDEOGRAPH
+  {0xB653, 0x8CB6}, //3255 #CJK UNIFIED IDEOGRAPH
+  {0xB654, 0x8CBF}, //3256 #CJK UNIFIED IDEOGRAPH
+  {0xB655, 0x8CB8}, //3257 #CJK UNIFIED IDEOGRAPH
+  {0xB656, 0x8D8A}, //3258 #CJK UNIFIED IDEOGRAPH
+  {0xB657, 0x8D85}, //3259 #CJK UNIFIED IDEOGRAPH
+  {0xB658, 0x8D81}, //3260 #CJK UNIFIED IDEOGRAPH
+  {0xB659, 0x8DCE}, //3261 #CJK UNIFIED IDEOGRAPH
+  {0xB65A, 0x8DDD}, //3262 #CJK UNIFIED IDEOGRAPH
+  {0xB65B, 0x8DCB}, //3263 #CJK UNIFIED IDEOGRAPH
+  {0xB65C, 0x8DDA}, //3264 #CJK UNIFIED IDEOGRAPH
+  {0xB65D, 0x8DD1}, //3265 #CJK UNIFIED IDEOGRAPH
+  {0xB65E, 0x8DCC}, //3266 #CJK UNIFIED IDEOGRAPH
+  {0xB65F, 0x8DDB}, //3267 #CJK UNIFIED IDEOGRAPH
+  {0xB660, 0x8DC6}, //3268 #CJK UNIFIED IDEOGRAPH
+  {0xB661, 0x8EFB}, //3269 #CJK UNIFIED IDEOGRAPH
+  {0xB662, 0x8EF8}, //3270 #CJK UNIFIED IDEOGRAPH
+  {0xB663, 0x8EFC}, //3271 #CJK UNIFIED IDEOGRAPH
+  {0xB664, 0x8F9C}, //3272 #CJK UNIFIED IDEOGRAPH
+  {0xB665, 0x902E}, //3273 #CJK UNIFIED IDEOGRAPH
+  {0xB666, 0x9035}, //3274 #CJK UNIFIED IDEOGRAPH
+  {0xB667, 0x9031}, //3275 #CJK UNIFIED IDEOGRAPH
+  {0xB668, 0x9038}, //3276 #CJK UNIFIED IDEOGRAPH
+  {0xB669, 0x9032}, //3277 #CJK UNIFIED IDEOGRAPH
+  {0xB66A, 0x9036}, //3278 #CJK UNIFIED IDEOGRAPH
+  {0xB66B, 0x9102}, //3279 #CJK UNIFIED IDEOGRAPH
+  {0xB66C, 0x90F5}, //3280 #CJK UNIFIED IDEOGRAPH
+  {0xB66D, 0x9109}, //3281 #CJK UNIFIED IDEOGRAPH
+  {0xB66E, 0x90FE}, //3282 #CJK UNIFIED IDEOGRAPH
+  {0xB66F, 0x9163}, //3283 #CJK UNIFIED IDEOGRAPH
+  {0xB670, 0x9165}, //3284 #CJK UNIFIED IDEOGRAPH
+  {0xB671, 0x91CF}, //3285 #CJK UNIFIED IDEOGRAPH
+  {0xB672, 0x9214}, //3286 #CJK UNIFIED IDEOGRAPH
+  {0xB673, 0x9215}, //3287 #CJK UNIFIED IDEOGRAPH
+  {0xB674, 0x9223}, //3288 #CJK UNIFIED IDEOGRAPH
+  {0xB675, 0x9209}, //3289 #CJK UNIFIED IDEOGRAPH
+  {0xB676, 0x921E}, //3290 #CJK UNIFIED IDEOGRAPH
+  {0xB677, 0x920D}, //3291 #CJK UNIFIED IDEOGRAPH
+  {0xB678, 0x9210}, //3292 #CJK UNIFIED IDEOGRAPH
+  {0xB679, 0x9207}, //3293 #CJK UNIFIED IDEOGRAPH
+  {0xB67A, 0x9211}, //3294 #CJK UNIFIED IDEOGRAPH
+  {0xB67B, 0x9594}, //3295 #CJK UNIFIED IDEOGRAPH
+  {0xB67C, 0x958F}, //3296 #CJK UNIFIED IDEOGRAPH
+  {0xB67D, 0x958B}, //3297 #CJK UNIFIED IDEOGRAPH
+  {0xB67E, 0x9591}, //3298 #CJK UNIFIED IDEOGRAPH
+  {0xB6A1, 0x9593}, //3299 #CJK UNIFIED IDEOGRAPH
+  {0xB6A2, 0x9592}, //3300 #CJK UNIFIED IDEOGRAPH
+  {0xB6A3, 0x958E}, //3301 #CJK UNIFIED IDEOGRAPH
+  {0xB6A4, 0x968A}, //3302 #CJK UNIFIED IDEOGRAPH
+  {0xB6A5, 0x968E}, //3303 #CJK UNIFIED IDEOGRAPH
+  {0xB6A6, 0x968B}, //3304 #CJK UNIFIED IDEOGRAPH
+  {0xB6A7, 0x967D}, //3305 #CJK UNIFIED IDEOGRAPH
+  {0xB6A8, 0x9685}, //3306 #CJK UNIFIED IDEOGRAPH
+  {0xB6A9, 0x9686}, //3307 #CJK UNIFIED IDEOGRAPH
+  {0xB6AA, 0x968D}, //3308 #CJK UNIFIED IDEOGRAPH
+  {0xB6AB, 0x9672}, //3309 #CJK UNIFIED IDEOGRAPH
+  {0xB6AC, 0x9684}, //3310 #CJK UNIFIED IDEOGRAPH
+  {0xB6AD, 0x96C1}, //3311 #CJK UNIFIED IDEOGRAPH
+  {0xB6AE, 0x96C5}, //3312 #CJK UNIFIED IDEOGRAPH
+  {0xB6AF, 0x96C4}, //3313 #CJK UNIFIED IDEOGRAPH
+  {0xB6B0, 0x96C6}, //3314 #CJK UNIFIED IDEOGRAPH
+  {0xB6B1, 0x96C7}, //3315 #CJK UNIFIED IDEOGRAPH
+  {0xB6B2, 0x96EF}, //3316 #CJK UNIFIED IDEOGRAPH
+  {0xB6B3, 0x96F2}, //3317 #CJK UNIFIED IDEOGRAPH
+  {0xB6B4, 0x97CC}, //3318 #CJK UNIFIED IDEOGRAPH
+  {0xB6B5, 0x9805}, //3319 #CJK UNIFIED IDEOGRAPH
+  {0xB6B6, 0x9806}, //3320 #CJK UNIFIED IDEOGRAPH
+  {0xB6B7, 0x9808}, //3321 #CJK UNIFIED IDEOGRAPH
+  {0xB6B8, 0x98E7}, //3322 #CJK UNIFIED IDEOGRAPH
+  {0xB6B9, 0x98EA}, //3323 #CJK UNIFIED IDEOGRAPH
+  {0xB6BA, 0x98EF}, //3324 #CJK UNIFIED IDEOGRAPH
+  {0xB6BB, 0x98E9}, //3325 #CJK UNIFIED IDEOGRAPH
+  {0xB6BC, 0x98F2}, //3326 #CJK UNIFIED IDEOGRAPH
+  {0xB6BD, 0x98ED}, //3327 #CJK UNIFIED IDEOGRAPH
+  {0xB6BE, 0x99AE}, //3328 #CJK UNIFIED IDEOGRAPH
+  {0xB6BF, 0x99AD}, //3329 #CJK UNIFIED IDEOGRAPH
+  {0xB6C0, 0x9EC3}, //3330 #CJK UNIFIED IDEOGRAPH
+  {0xB6C1, 0x9ECD}, //3331 #CJK UNIFIED IDEOGRAPH
+  {0xB6C2, 0x9ED1}, //3332 #CJK UNIFIED IDEOGRAPH
+  {0xB6C3, 0x4E82}, //3333 #CJK UNIFIED IDEOGRAPH
+  {0xB6C4, 0x50AD}, //3334 #CJK UNIFIED IDEOGRAPH
+  {0xB6C5, 0x50B5}, //3335 #CJK UNIFIED IDEOGRAPH
+  {0xB6C6, 0x50B2}, //3336 #CJK UNIFIED IDEOGRAPH
+  {0xB6C7, 0x50B3}, //3337 #CJK UNIFIED IDEOGRAPH
+  {0xB6C8, 0x50C5}, //3338 #CJK UNIFIED IDEOGRAPH
+  {0xB6C9, 0x50BE}, //3339 #CJK UNIFIED IDEOGRAPH
+  {0xB6CA, 0x50AC}, //3340 #CJK UNIFIED IDEOGRAPH
+  {0xB6CB, 0x50B7}, //3341 #CJK UNIFIED IDEOGRAPH
+  {0xB6CC, 0x50BB}, //3342 #CJK UNIFIED IDEOGRAPH
+  {0xB6CD, 0x50AF}, //3343 #CJK UNIFIED IDEOGRAPH
+  {0xB6CE, 0x50C7}, //3344 #CJK UNIFIED IDEOGRAPH
+  {0xB6CF, 0x527F}, //3345 #CJK UNIFIED IDEOGRAPH
+  {0xB6D0, 0x5277}, //3346 #CJK UNIFIED IDEOGRAPH
+  {0xB6D1, 0x527D}, //3347 #CJK UNIFIED IDEOGRAPH
+  {0xB6D2, 0x52DF}, //3348 #CJK UNIFIED IDEOGRAPH
+  {0xB6D3, 0x52E6}, //3349 #CJK UNIFIED IDEOGRAPH
+  {0xB6D4, 0x52E4}, //3350 #CJK UNIFIED IDEOGRAPH
+  {0xB6D5, 0x52E2}, //3351 #CJK UNIFIED IDEOGRAPH
+  {0xB6D6, 0x52E3}, //3352 #CJK UNIFIED IDEOGRAPH
+  {0xB6D7, 0x532F}, //3353 #CJK UNIFIED IDEOGRAPH
+  {0xB6D8, 0x55DF}, //3354 #CJK UNIFIED IDEOGRAPH
+  {0xB6D9, 0x55E8}, //3355 #CJK UNIFIED IDEOGRAPH
+  {0xB6DA, 0x55D3}, //3356 #CJK UNIFIED IDEOGRAPH
+  {0xB6DB, 0x55E6}, //3357 #CJK UNIFIED IDEOGRAPH
+  {0xB6DC, 0x55CE}, //3358 #CJK UNIFIED IDEOGRAPH
+  {0xB6DD, 0x55DC}, //3359 #CJK UNIFIED IDEOGRAPH
+  {0xB6DE, 0x55C7}, //3360 #CJK UNIFIED IDEOGRAPH
+  {0xB6DF, 0x55D1}, //3361 #CJK UNIFIED IDEOGRAPH
+  {0xB6E0, 0x55E3}, //3362 #CJK UNIFIED IDEOGRAPH
+  {0xB6E1, 0x55E4}, //3363 #CJK UNIFIED IDEOGRAPH
+  {0xB6E2, 0x55EF}, //3364 #CJK UNIFIED IDEOGRAPH
+  {0xB6E3, 0x55DA}, //3365 #CJK UNIFIED IDEOGRAPH
+  {0xB6E4, 0x55E1}, //3366 #CJK UNIFIED IDEOGRAPH
+  {0xB6E5, 0x55C5}, //3367 #CJK UNIFIED IDEOGRAPH
+  {0xB6E6, 0x55C6}, //3368 #CJK UNIFIED IDEOGRAPH
+  {0xB6E7, 0x55E5}, //3369 #CJK UNIFIED IDEOGRAPH
+  {0xB6E8, 0x55C9}, //3370 #CJK UNIFIED IDEOGRAPH
+  {0xB6E9, 0x5712}, //3371 #CJK UNIFIED IDEOGRAPH
+  {0xB6EA, 0x5713}, //3372 #CJK UNIFIED IDEOGRAPH
+  {0xB6EB, 0x585E}, //3373 #CJK UNIFIED IDEOGRAPH
+  {0xB6EC, 0x5851}, //3374 #CJK UNIFIED IDEOGRAPH
+  {0xB6ED, 0x5858}, //3375 #CJK UNIFIED IDEOGRAPH
+  {0xB6EE, 0x5857}, //3376 #CJK UNIFIED IDEOGRAPH
+  {0xB6EF, 0x585A}, //3377 #CJK UNIFIED IDEOGRAPH
+  {0xB6F0, 0x5854}, //3378 #CJK UNIFIED IDEOGRAPH
+  {0xB6F1, 0x586B}, //3379 #CJK UNIFIED IDEOGRAPH
+  {0xB6F2, 0x584C}, //3380 #CJK UNIFIED IDEOGRAPH
+  {0xB6F3, 0x586D}, //3381 #CJK UNIFIED IDEOGRAPH
+  {0xB6F4, 0x584A}, //3382 #CJK UNIFIED IDEOGRAPH
+  {0xB6F5, 0x5862}, //3383 #CJK UNIFIED IDEOGRAPH
+  {0xB6F6, 0x5852}, //3384 #CJK UNIFIED IDEOGRAPH
+  {0xB6F7, 0x584B}, //3385 #CJK UNIFIED IDEOGRAPH
+  {0xB6F8, 0x5967}, //3386 #CJK UNIFIED IDEOGRAPH
+  {0xB6F9, 0x5AC1}, //3387 #CJK UNIFIED IDEOGRAPH
+  {0xB6FA, 0x5AC9}, //3388 #CJK UNIFIED IDEOGRAPH
+  {0xB6FB, 0x5ACC}, //3389 #CJK UNIFIED IDEOGRAPH
+  {0xB6FC, 0x5ABE}, //3390 #CJK UNIFIED IDEOGRAPH
+  {0xB6FD, 0x5ABD}, //3391 #CJK UNIFIED IDEOGRAPH
+  {0xB6FE, 0x5ABC}, //3392 #CJK UNIFIED IDEOGRAPH
+  {0xB740, 0x5AB3}, //3393 #CJK UNIFIED IDEOGRAPH
+  {0xB741, 0x5AC2}, //3394 #CJK UNIFIED IDEOGRAPH
+  {0xB742, 0x5AB2}, //3395 #CJK UNIFIED IDEOGRAPH
+  {0xB743, 0x5D69}, //3396 #CJK UNIFIED IDEOGRAPH
+  {0xB744, 0x5D6F}, //3397 #CJK UNIFIED IDEOGRAPH
+  {0xB745, 0x5E4C}, //3398 #CJK UNIFIED IDEOGRAPH
+  {0xB746, 0x5E79}, //3399 #CJK UNIFIED IDEOGRAPH
+  {0xB747, 0x5EC9}, //3400 #CJK UNIFIED IDEOGRAPH
+  {0xB748, 0x5EC8}, //3401 #CJK UNIFIED IDEOGRAPH
+  {0xB749, 0x5F12}, //3402 #CJK UNIFIED IDEOGRAPH
+  {0xB74A, 0x5F59}, //3403 #CJK UNIFIED IDEOGRAPH
+  {0xB74B, 0x5FAC}, //3404 #CJK UNIFIED IDEOGRAPH
+  {0xB74C, 0x5FAE}, //3405 #CJK UNIFIED IDEOGRAPH
+  {0xB74D, 0x611A}, //3406 #CJK UNIFIED IDEOGRAPH
+  {0xB74E, 0x610F}, //3407 #CJK UNIFIED IDEOGRAPH
+  {0xB74F, 0x6148}, //3408 #CJK UNIFIED IDEOGRAPH
+  {0xB750, 0x611F}, //3409 #CJK UNIFIED IDEOGRAPH
+  {0xB751, 0x60F3}, //3410 #CJK UNIFIED IDEOGRAPH
+  {0xB752, 0x611B}, //3411 #CJK UNIFIED IDEOGRAPH
+  {0xB753, 0x60F9}, //3412 #CJK UNIFIED IDEOGRAPH
+  {0xB754, 0x6101}, //3413 #CJK UNIFIED IDEOGRAPH
+  {0xB755, 0x6108}, //3414 #CJK UNIFIED IDEOGRAPH
+  {0xB756, 0x614E}, //3415 #CJK UNIFIED IDEOGRAPH
+  {0xB757, 0x614C}, //3416 #CJK UNIFIED IDEOGRAPH
+  {0xB758, 0x6144}, //3417 #CJK UNIFIED IDEOGRAPH
+  {0xB759, 0x614D}, //3418 #CJK UNIFIED IDEOGRAPH
+  {0xB75A, 0x613E}, //3419 #CJK UNIFIED IDEOGRAPH
+  {0xB75B, 0x6134}, //3420 #CJK UNIFIED IDEOGRAPH
+  {0xB75C, 0x6127}, //3421 #CJK UNIFIED IDEOGRAPH
+  {0xB75D, 0x610D}, //3422 #CJK UNIFIED IDEOGRAPH
+  {0xB75E, 0x6106}, //3423 #CJK UNIFIED IDEOGRAPH
+  {0xB75F, 0x6137}, //3424 #CJK UNIFIED IDEOGRAPH
+  {0xB760, 0x6221}, //3425 #CJK UNIFIED IDEOGRAPH
+  {0xB761, 0x6222}, //3426 #CJK UNIFIED IDEOGRAPH
+  {0xB762, 0x6413}, //3427 #CJK UNIFIED IDEOGRAPH
+  {0xB763, 0x643E}, //3428 #CJK UNIFIED IDEOGRAPH
+  {0xB764, 0x641E}, //3429 #CJK UNIFIED IDEOGRAPH
+  {0xB765, 0x642A}, //3430 #CJK UNIFIED IDEOGRAPH
+  {0xB766, 0x642D}, //3431 #CJK UNIFIED IDEOGRAPH
+  {0xB767, 0x643D}, //3432 #CJK UNIFIED IDEOGRAPH
+  {0xB768, 0x642C}, //3433 #CJK UNIFIED IDEOGRAPH
+  {0xB769, 0x640F}, //3434 #CJK UNIFIED IDEOGRAPH
+  {0xB76A, 0x641C}, //3435 #CJK UNIFIED IDEOGRAPH
+  {0xB76B, 0x6414}, //3436 #CJK UNIFIED IDEOGRAPH
+  {0xB76C, 0x640D}, //3437 #CJK UNIFIED IDEOGRAPH
+  {0xB76D, 0x6436}, //3438 #CJK UNIFIED IDEOGRAPH
+  {0xB76E, 0x6416}, //3439 #CJK UNIFIED IDEOGRAPH
+  {0xB76F, 0x6417}, //3440 #CJK UNIFIED IDEOGRAPH
+  {0xB770, 0x6406}, //3441 #CJK UNIFIED IDEOGRAPH
+  {0xB771, 0x656C}, //3442 #CJK UNIFIED IDEOGRAPH
+  {0xB772, 0x659F}, //3443 #CJK UNIFIED IDEOGRAPH
+  {0xB773, 0x65B0}, //3444 #CJK UNIFIED IDEOGRAPH
+  {0xB774, 0x6697}, //3445 #CJK UNIFIED IDEOGRAPH
+  {0xB775, 0x6689}, //3446 #CJK UNIFIED IDEOGRAPH
+  {0xB776, 0x6687}, //3447 #CJK UNIFIED IDEOGRAPH
+  {0xB777, 0x6688}, //3448 #CJK UNIFIED IDEOGRAPH
+  {0xB778, 0x6696}, //3449 #CJK UNIFIED IDEOGRAPH
+  {0xB779, 0x6684}, //3450 #CJK UNIFIED IDEOGRAPH
+  {0xB77A, 0x6698}, //3451 #CJK UNIFIED IDEOGRAPH
+  {0xB77B, 0x668D}, //3452 #CJK UNIFIED IDEOGRAPH
+  {0xB77C, 0x6703}, //3453 #CJK UNIFIED IDEOGRAPH
+  {0xB77D, 0x6994}, //3454 #CJK UNIFIED IDEOGRAPH
+  {0xB77E, 0x696D}, //3455 #CJK UNIFIED IDEOGRAPH
+  {0xB7A1, 0x695A}, //3456 #CJK UNIFIED IDEOGRAPH
+  {0xB7A2, 0x6977}, //3457 #CJK UNIFIED IDEOGRAPH
+  {0xB7A3, 0x6960}, //3458 #CJK UNIFIED IDEOGRAPH
+  {0xB7A4, 0x6954}, //3459 #CJK UNIFIED IDEOGRAPH
+  {0xB7A5, 0x6975}, //3460 #CJK UNIFIED IDEOGRAPH
+  {0xB7A6, 0x6930}, //3461 #CJK UNIFIED IDEOGRAPH
+  {0xB7A7, 0x6982}, //3462 #CJK UNIFIED IDEOGRAPH
+  {0xB7A8, 0x694A}, //3463 #CJK UNIFIED IDEOGRAPH
+  {0xB7A9, 0x6968}, //3464 #CJK UNIFIED IDEOGRAPH
+  {0xB7AA, 0x696B}, //3465 #CJK UNIFIED IDEOGRAPH
+  {0xB7AB, 0x695E}, //3466 #CJK UNIFIED IDEOGRAPH
+  {0xB7AC, 0x6953}, //3467 #CJK UNIFIED IDEOGRAPH
+  {0xB7AD, 0x6979}, //3468 #CJK UNIFIED IDEOGRAPH
+  {0xB7AE, 0x6986}, //3469 #CJK UNIFIED IDEOGRAPH
+  {0xB7AF, 0x695D}, //3470 #CJK UNIFIED IDEOGRAPH
+  {0xB7B0, 0x6963}, //3471 #CJK UNIFIED IDEOGRAPH
+  {0xB7B1, 0x695B}, //3472 #CJK UNIFIED IDEOGRAPH
+  {0xB7B2, 0x6B47}, //3473 #CJK UNIFIED IDEOGRAPH
+  {0xB7B3, 0x6B72}, //3474 #CJK UNIFIED IDEOGRAPH
+  {0xB7B4, 0x6BC0}, //3475 #CJK UNIFIED IDEOGRAPH
+  {0xB7B5, 0x6BBF}, //3476 #CJK UNIFIED IDEOGRAPH
+  {0xB7B6, 0x6BD3}, //3477 #CJK UNIFIED IDEOGRAPH
+  {0xB7B7, 0x6BFD}, //3478 #CJK UNIFIED IDEOGRAPH
+  {0xB7B8, 0x6EA2}, //3479 #CJK UNIFIED IDEOGRAPH
+  {0xB7B9, 0x6EAF}, //3480 #CJK UNIFIED IDEOGRAPH
+  {0xB7BA, 0x6ED3}, //3481 #CJK UNIFIED IDEOGRAPH
+  {0xB7BB, 0x6EB6}, //3482 #CJK UNIFIED IDEOGRAPH
+  {0xB7BC, 0x6EC2}, //3483 #CJK UNIFIED IDEOGRAPH
+  {0xB7BD, 0x6E90}, //3484 #CJK UNIFIED IDEOGRAPH
+  {0xB7BE, 0x6E9D}, //3485 #CJK UNIFIED IDEOGRAPH
+  {0xB7BF, 0x6EC7}, //3486 #CJK UNIFIED IDEOGRAPH
+  {0xB7C0, 0x6EC5}, //3487 #CJK UNIFIED IDEOGRAPH
+  {0xB7C1, 0x6EA5}, //3488 #CJK UNIFIED IDEOGRAPH
+  {0xB7C2, 0x6E98}, //3489 #CJK UNIFIED IDEOGRAPH
+  {0xB7C3, 0x6EBC}, //3490 #CJK UNIFIED IDEOGRAPH
+  {0xB7C4, 0x6EBA}, //3491 #CJK UNIFIED IDEOGRAPH
+  {0xB7C5, 0x6EAB}, //3492 #CJK UNIFIED IDEOGRAPH
+  {0xB7C6, 0x6ED1}, //3493 #CJK UNIFIED IDEOGRAPH
+  {0xB7C7, 0x6E96}, //3494 #CJK UNIFIED IDEOGRAPH
+  {0xB7C8, 0x6E9C}, //3495 #CJK UNIFIED IDEOGRAPH
+  {0xB7C9, 0x6EC4}, //3496 #CJK UNIFIED IDEOGRAPH
+  {0xB7CA, 0x6ED4}, //3497 #CJK UNIFIED IDEOGRAPH
+  {0xB7CB, 0x6EAA}, //3498 #CJK UNIFIED IDEOGRAPH
+  {0xB7CC, 0x6EA7}, //3499 #CJK UNIFIED IDEOGRAPH
+  {0xB7CD, 0x6EB4}, //3500 #CJK UNIFIED IDEOGRAPH
+  {0xB7CE, 0x714E}, //3501 #CJK UNIFIED IDEOGRAPH
+  {0xB7CF, 0x7159}, //3502 #CJK UNIFIED IDEOGRAPH
+  {0xB7D0, 0x7169}, //3503 #CJK UNIFIED IDEOGRAPH
+  {0xB7D1, 0x7164}, //3504 #CJK UNIFIED IDEOGRAPH
+  {0xB7D2, 0x7149}, //3505 #CJK UNIFIED IDEOGRAPH
+  {0xB7D3, 0x7167}, //3506 #CJK UNIFIED IDEOGRAPH
+  {0xB7D4, 0x715C}, //3507 #CJK UNIFIED IDEOGRAPH
+  {0xB7D5, 0x716C}, //3508 #CJK UNIFIED IDEOGRAPH
+  {0xB7D6, 0x7166}, //3509 #CJK UNIFIED IDEOGRAPH
+  {0xB7D7, 0x714C}, //3510 #CJK UNIFIED IDEOGRAPH
+  {0xB7D8, 0x7165}, //3511 #CJK UNIFIED IDEOGRAPH
+  {0xB7D9, 0x715E}, //3512 #CJK UNIFIED IDEOGRAPH
+  {0xB7DA, 0x7146}, //3513 #CJK UNIFIED IDEOGRAPH
+  {0xB7DB, 0x7168}, //3514 #CJK UNIFIED IDEOGRAPH
+  {0xB7DC, 0x7156}, //3515 #CJK UNIFIED IDEOGRAPH
+  {0xB7DD, 0x723A}, //3516 #CJK UNIFIED IDEOGRAPH
+  {0xB7DE, 0x7252}, //3517 #CJK UNIFIED IDEOGRAPH
+  {0xB7DF, 0x7337}, //3518 #CJK UNIFIED IDEOGRAPH
+  {0xB7E0, 0x7345}, //3519 #CJK UNIFIED IDEOGRAPH
+  {0xB7E1, 0x733F}, //3520 #CJK UNIFIED IDEOGRAPH
+  {0xB7E2, 0x733E}, //3521 #CJK UNIFIED IDEOGRAPH
+  {0xB7E3, 0x746F}, //3522 #CJK UNIFIED IDEOGRAPH
+  {0xB7E4, 0x745A}, //3523 #CJK UNIFIED IDEOGRAPH
+  {0xB7E5, 0x7455}, //3524 #CJK UNIFIED IDEOGRAPH
+  {0xB7E6, 0x745F}, //3525 #CJK UNIFIED IDEOGRAPH
+  {0xB7E7, 0x745E}, //3526 #CJK UNIFIED IDEOGRAPH
+  {0xB7E8, 0x7441}, //3527 #CJK UNIFIED IDEOGRAPH
+  {0xB7E9, 0x743F}, //3528 #CJK UNIFIED IDEOGRAPH
+  {0xB7EA, 0x7459}, //3529 #CJK UNIFIED IDEOGRAPH
+  {0xB7EB, 0x745B}, //3530 #CJK UNIFIED IDEOGRAPH
+  {0xB7EC, 0x745C}, //3531 #CJK UNIFIED IDEOGRAPH
+  {0xB7ED, 0x7576}, //3532 #CJK UNIFIED IDEOGRAPH
+  {0xB7EE, 0x7578}, //3533 #CJK UNIFIED IDEOGRAPH
+  {0xB7EF, 0x7600}, //3534 #CJK UNIFIED IDEOGRAPH
+  {0xB7F0, 0x75F0}, //3535 #CJK UNIFIED IDEOGRAPH
+  {0xB7F1, 0x7601}, //3536 #CJK UNIFIED IDEOGRAPH
+  {0xB7F2, 0x75F2}, //3537 #CJK UNIFIED IDEOGRAPH
+  {0xB7F3, 0x75F1}, //3538 #CJK UNIFIED IDEOGRAPH
+  {0xB7F4, 0x75FA}, //3539 #CJK UNIFIED IDEOGRAPH
+  {0xB7F5, 0x75FF}, //3540 #CJK UNIFIED IDEOGRAPH
+  {0xB7F6, 0x75F4}, //3541 #CJK UNIFIED IDEOGRAPH
+  {0xB7F7, 0x75F3}, //3542 #CJK UNIFIED IDEOGRAPH
+  {0xB7F8, 0x76DE}, //3543 #CJK UNIFIED IDEOGRAPH
+  {0xB7F9, 0x76DF}, //3544 #CJK UNIFIED IDEOGRAPH
+  {0xB7FA, 0x775B}, //3545 #CJK UNIFIED IDEOGRAPH
+  {0xB7FB, 0x776B}, //3546 #CJK UNIFIED IDEOGRAPH
+  {0xB7FC, 0x7766}, //3547 #CJK UNIFIED IDEOGRAPH
+  {0xB7FD, 0x775E}, //3548 #CJK UNIFIED IDEOGRAPH
+  {0xB7FE, 0x7763}, //3549 #CJK UNIFIED IDEOGRAPH
+  {0xB840, 0x7779}, //3550 #CJK UNIFIED IDEOGRAPH
+  {0xB841, 0x776A}, //3551 #CJK UNIFIED IDEOGRAPH
+  {0xB842, 0x776C}, //3552 #CJK UNIFIED IDEOGRAPH
+  {0xB843, 0x775C}, //3553 #CJK UNIFIED IDEOGRAPH
+  {0xB844, 0x7765}, //3554 #CJK UNIFIED IDEOGRAPH
+  {0xB845, 0x7768}, //3555 #CJK UNIFIED IDEOGRAPH
+  {0xB846, 0x7762}, //3556 #CJK UNIFIED IDEOGRAPH
+  {0xB847, 0x77EE}, //3557 #CJK UNIFIED IDEOGRAPH
+  {0xB848, 0x788E}, //3558 #CJK UNIFIED IDEOGRAPH
+  {0xB849, 0x78B0}, //3559 #CJK UNIFIED IDEOGRAPH
+  {0xB84A, 0x7897}, //3560 #CJK UNIFIED IDEOGRAPH
+  {0xB84B, 0x7898}, //3561 #CJK UNIFIED IDEOGRAPH
+  {0xB84C, 0x788C}, //3562 #CJK UNIFIED IDEOGRAPH
+  {0xB84D, 0x7889}, //3563 #CJK UNIFIED IDEOGRAPH
+  {0xB84E, 0x787C}, //3564 #CJK UNIFIED IDEOGRAPH
+  {0xB84F, 0x7891}, //3565 #CJK UNIFIED IDEOGRAPH
+  {0xB850, 0x7893}, //3566 #CJK UNIFIED IDEOGRAPH
+  {0xB851, 0x787F}, //3567 #CJK UNIFIED IDEOGRAPH
+  {0xB852, 0x797A}, //3568 #CJK UNIFIED IDEOGRAPH
+  {0xB853, 0x797F}, //3569 #CJK UNIFIED IDEOGRAPH
+  {0xB854, 0x7981}, //3570 #CJK UNIFIED IDEOGRAPH
+  {0xB855, 0x842C}, //3571 #CJK UNIFIED IDEOGRAPH
+  {0xB856, 0x79BD}, //3572 #CJK UNIFIED IDEOGRAPH
+  {0xB857, 0x7A1C}, //3573 #CJK UNIFIED IDEOGRAPH
+  {0xB858, 0x7A1A}, //3574 #CJK UNIFIED IDEOGRAPH
+  {0xB859, 0x7A20}, //3575 #CJK UNIFIED IDEOGRAPH
+  {0xB85A, 0x7A14}, //3576 #CJK UNIFIED IDEOGRAPH
+  {0xB85B, 0x7A1F}, //3577 #CJK UNIFIED IDEOGRAPH
+  {0xB85C, 0x7A1E}, //3578 #CJK UNIFIED IDEOGRAPH
+  {0xB85D, 0x7A9F}, //3579 #CJK UNIFIED IDEOGRAPH
+  {0xB85E, 0x7AA0}, //3580 #CJK UNIFIED IDEOGRAPH
+  {0xB85F, 0x7B77}, //3581 #CJK UNIFIED IDEOGRAPH
+  {0xB860, 0x7BC0}, //3582 #CJK UNIFIED IDEOGRAPH
+  {0xB861, 0x7B60}, //3583 #CJK UNIFIED IDEOGRAPH
+  {0xB862, 0x7B6E}, //3584 #CJK UNIFIED IDEOGRAPH
+  {0xB863, 0x7B67}, //3585 #CJK UNIFIED IDEOGRAPH
+  {0xB864, 0x7CB1}, //3586 #CJK UNIFIED IDEOGRAPH
+  {0xB865, 0x7CB3}, //3587 #CJK UNIFIED IDEOGRAPH
+  {0xB866, 0x7CB5}, //3588 #CJK UNIFIED IDEOGRAPH
+  {0xB867, 0x7D93}, //3589 #CJK UNIFIED IDEOGRAPH
+  {0xB868, 0x7D79}, //3590 #CJK UNIFIED IDEOGRAPH
+  {0xB869, 0x7D91}, //3591 #CJK UNIFIED IDEOGRAPH
+  {0xB86A, 0x7D81}, //3592 #CJK UNIFIED IDEOGRAPH
+  {0xB86B, 0x7D8F}, //3593 #CJK UNIFIED IDEOGRAPH
+  {0xB86C, 0x7D5B}, //3594 #CJK UNIFIED IDEOGRAPH
+  {0xB86D, 0x7F6E}, //3595 #CJK UNIFIED IDEOGRAPH
+  {0xB86E, 0x7F69}, //3596 #CJK UNIFIED IDEOGRAPH
+  {0xB86F, 0x7F6A}, //3597 #CJK UNIFIED IDEOGRAPH
+  {0xB870, 0x7F72}, //3598 #CJK UNIFIED IDEOGRAPH
+  {0xB871, 0x7FA9}, //3599 #CJK UNIFIED IDEOGRAPH
+  {0xB872, 0x7FA8}, //3600 #CJK UNIFIED IDEOGRAPH
+  {0xB873, 0x7FA4}, //3601 #CJK UNIFIED IDEOGRAPH
+  {0xB874, 0x8056}, //3602 #CJK UNIFIED IDEOGRAPH
+  {0xB875, 0x8058}, //3603 #CJK UNIFIED IDEOGRAPH
+  {0xB876, 0x8086}, //3604 #CJK UNIFIED IDEOGRAPH
+  {0xB877, 0x8084}, //3605 #CJK UNIFIED IDEOGRAPH
+  {0xB878, 0x8171}, //3606 #CJK UNIFIED IDEOGRAPH
+  {0xB879, 0x8170}, //3607 #CJK UNIFIED IDEOGRAPH
+  {0xB87A, 0x8178}, //3608 #CJK UNIFIED IDEOGRAPH
+  {0xB87B, 0x8165}, //3609 #CJK UNIFIED IDEOGRAPH
+  {0xB87C, 0x816E}, //3610 #CJK UNIFIED IDEOGRAPH
+  {0xB87D, 0x8173}, //3611 #CJK UNIFIED IDEOGRAPH
+  {0xB87E, 0x816B}, //3612 #CJK UNIFIED IDEOGRAPH
+  {0xB8A1, 0x8179}, //3613 #CJK UNIFIED IDEOGRAPH
+  {0xB8A2, 0x817A}, //3614 #CJK UNIFIED IDEOGRAPH
+  {0xB8A3, 0x8166}, //3615 #CJK UNIFIED IDEOGRAPH
+  {0xB8A4, 0x8205}, //3616 #CJK UNIFIED IDEOGRAPH
+  {0xB8A5, 0x8247}, //3617 #CJK UNIFIED IDEOGRAPH
+  {0xB8A6, 0x8482}, //3618 #CJK UNIFIED IDEOGRAPH
+  {0xB8A7, 0x8477}, //3619 #CJK UNIFIED IDEOGRAPH
+  {0xB8A8, 0x843D}, //3620 #CJK UNIFIED IDEOGRAPH
+  {0xB8A9, 0x8431}, //3621 #CJK UNIFIED IDEOGRAPH
+  {0xB8AA, 0x8475}, //3622 #CJK UNIFIED IDEOGRAPH
+  {0xB8AB, 0x8466}, //3623 #CJK UNIFIED IDEOGRAPH
+  {0xB8AC, 0x846B}, //3624 #CJK UNIFIED IDEOGRAPH
+  {0xB8AD, 0x8449}, //3625 #CJK UNIFIED IDEOGRAPH
+  {0xB8AE, 0x846C}, //3626 #CJK UNIFIED IDEOGRAPH
+  {0xB8AF, 0x845B}, //3627 #CJK UNIFIED IDEOGRAPH
+  {0xB8B0, 0x843C}, //3628 #CJK UNIFIED IDEOGRAPH
+  {0xB8B1, 0x8435}, //3629 #CJK UNIFIED IDEOGRAPH
+  {0xB8B2, 0x8461}, //3630 #CJK UNIFIED IDEOGRAPH
+  {0xB8B3, 0x8463}, //3631 #CJK UNIFIED IDEOGRAPH
+  {0xB8B4, 0x8469}, //3632 #CJK UNIFIED IDEOGRAPH
+  {0xB8B5, 0x846D}, //3633 #CJK UNIFIED IDEOGRAPH
+  {0xB8B6, 0x8446}, //3634 #CJK UNIFIED IDEOGRAPH
+  {0xB8B7, 0x865E}, //3635 #CJK UNIFIED IDEOGRAPH
+  {0xB8B8, 0x865C}, //3636 #CJK UNIFIED IDEOGRAPH
+  {0xB8B9, 0x865F}, //3637 #CJK UNIFIED IDEOGRAPH
+  {0xB8BA, 0x86F9}, //3638 #CJK UNIFIED IDEOGRAPH
+  {0xB8BB, 0x8713}, //3639 #CJK UNIFIED IDEOGRAPH
+  {0xB8BC, 0x8708}, //3640 #CJK UNIFIED IDEOGRAPH
+  {0xB8BD, 0x8707}, //3641 #CJK UNIFIED IDEOGRAPH
+  {0xB8BE, 0x8700}, //3642 #CJK UNIFIED IDEOGRAPH
+  {0xB8BF, 0x86FE}, //3643 #CJK UNIFIED IDEOGRAPH
+  {0xB8C0, 0x86FB}, //3644 #CJK UNIFIED IDEOGRAPH
+  {0xB8C1, 0x8702}, //3645 #CJK UNIFIED IDEOGRAPH
+  {0xB8C2, 0x8703}, //3646 #CJK UNIFIED IDEOGRAPH
+  {0xB8C3, 0x8706}, //3647 #CJK UNIFIED IDEOGRAPH
+  {0xB8C4, 0x870A}, //3648 #CJK UNIFIED IDEOGRAPH
+  {0xB8C5, 0x8859}, //3649 #CJK UNIFIED IDEOGRAPH
+  {0xB8C6, 0x88DF}, //3650 #CJK UNIFIED IDEOGRAPH
+  {0xB8C7, 0x88D4}, //3651 #CJK UNIFIED IDEOGRAPH
+  {0xB8C8, 0x88D9}, //3652 #CJK UNIFIED IDEOGRAPH
+  {0xB8C9, 0x88DC}, //3653 #CJK UNIFIED IDEOGRAPH
+  {0xB8CA, 0x88D8}, //3654 #CJK UNIFIED IDEOGRAPH
+  {0xB8CB, 0x88DD}, //3655 #CJK UNIFIED IDEOGRAPH
+  {0xB8CC, 0x88E1}, //3656 #CJK UNIFIED IDEOGRAPH
+  {0xB8CD, 0x88CA}, //3657 #CJK UNIFIED IDEOGRAPH
+  {0xB8CE, 0x88D5}, //3658 #CJK UNIFIED IDEOGRAPH
+  {0xB8CF, 0x88D2}, //3659 #CJK UNIFIED IDEOGRAPH
+  {0xB8D0, 0x899C}, //3660 #CJK UNIFIED IDEOGRAPH
+  {0xB8D1, 0x89E3}, //3661 #CJK UNIFIED IDEOGRAPH
+  {0xB8D2, 0x8A6B}, //3662 #CJK UNIFIED IDEOGRAPH
+  {0xB8D3, 0x8A72}, //3663 #CJK UNIFIED IDEOGRAPH
+  {0xB8D4, 0x8A73}, //3664 #CJK UNIFIED IDEOGRAPH
+  {0xB8D5, 0x8A66}, //3665 #CJK UNIFIED IDEOGRAPH
+  {0xB8D6, 0x8A69}, //3666 #CJK UNIFIED IDEOGRAPH
+  {0xB8D7, 0x8A70}, //3667 #CJK UNIFIED IDEOGRAPH
+  {0xB8D8, 0x8A87}, //3668 #CJK UNIFIED IDEOGRAPH
+  {0xB8D9, 0x8A7C}, //3669 #CJK UNIFIED IDEOGRAPH
+  {0xB8DA, 0x8A63}, //3670 #CJK UNIFIED IDEOGRAPH
+  {0xB8DB, 0x8AA0}, //3671 #CJK UNIFIED IDEOGRAPH
+  {0xB8DC, 0x8A71}, //3672 #CJK UNIFIED IDEOGRAPH
+  {0xB8DD, 0x8A85}, //3673 #CJK UNIFIED IDEOGRAPH
+  {0xB8DE, 0x8A6D}, //3674 #CJK UNIFIED IDEOGRAPH
+  {0xB8DF, 0x8A62}, //3675 #CJK UNIFIED IDEOGRAPH
+  {0xB8E0, 0x8A6E}, //3676 #CJK UNIFIED IDEOGRAPH
+  {0xB8E1, 0x8A6C}, //3677 #CJK UNIFIED IDEOGRAPH
+  {0xB8E2, 0x8A79}, //3678 #CJK UNIFIED IDEOGRAPH
+  {0xB8E3, 0x8A7B}, //3679 #CJK UNIFIED IDEOGRAPH
+  {0xB8E4, 0x8A3E}, //3680 #CJK UNIFIED IDEOGRAPH
+  {0xB8E5, 0x8A68}, //3681 #CJK UNIFIED IDEOGRAPH
+  {0xB8E6, 0x8C62}, //3682 #CJK UNIFIED IDEOGRAPH
+  {0xB8E7, 0x8C8A}, //3683 #CJK UNIFIED IDEOGRAPH
+  {0xB8E8, 0x8C89}, //3684 #CJK UNIFIED IDEOGRAPH
+  {0xB8E9, 0x8CCA}, //3685 #CJK UNIFIED IDEOGRAPH
+  {0xB8EA, 0x8CC7}, //3686 #CJK UNIFIED IDEOGRAPH
+  {0xB8EB, 0x8CC8}, //3687 #CJK UNIFIED IDEOGRAPH
+  {0xB8EC, 0x8CC4}, //3688 #CJK UNIFIED IDEOGRAPH
+  {0xB8ED, 0x8CB2}, //3689 #CJK UNIFIED IDEOGRAPH
+  {0xB8EE, 0x8CC3}, //3690 #CJK UNIFIED IDEOGRAPH
+  {0xB8EF, 0x8CC2}, //3691 #CJK UNIFIED IDEOGRAPH
+  {0xB8F0, 0x8CC5}, //3692 #CJK UNIFIED IDEOGRAPH
+  {0xB8F1, 0x8DE1}, //3693 #CJK UNIFIED IDEOGRAPH
+  {0xB8F2, 0x8DDF}, //3694 #CJK UNIFIED IDEOGRAPH
+  {0xB8F3, 0x8DE8}, //3695 #CJK UNIFIED IDEOGRAPH
+  {0xB8F4, 0x8DEF}, //3696 #CJK UNIFIED IDEOGRAPH
+  {0xB8F5, 0x8DF3}, //3697 #CJK UNIFIED IDEOGRAPH
+  {0xB8F6, 0x8DFA}, //3698 #CJK UNIFIED IDEOGRAPH
+  {0xB8F7, 0x8DEA}, //3699 #CJK UNIFIED IDEOGRAPH
+  {0xB8F8, 0x8DE4}, //3700 #CJK UNIFIED IDEOGRAPH
+  {0xB8F9, 0x8DE6}, //3701 #CJK UNIFIED IDEOGRAPH
+  {0xB8FA, 0x8EB2}, //3702 #CJK UNIFIED IDEOGRAPH
+  {0xB8FB, 0x8F03}, //3703 #CJK UNIFIED IDEOGRAPH
+  {0xB8FC, 0x8F09}, //3704 #CJK UNIFIED IDEOGRAPH
+  {0xB8FD, 0x8EFE}, //3705 #CJK UNIFIED IDEOGRAPH
+  {0xB8FE, 0x8F0A}, //3706 #CJK UNIFIED IDEOGRAPH
+  {0xB940, 0x8F9F}, //3707 #CJK UNIFIED IDEOGRAPH
+  {0xB941, 0x8FB2}, //3708 #CJK UNIFIED IDEOGRAPH
+  {0xB942, 0x904B}, //3709 #CJK UNIFIED IDEOGRAPH
+  {0xB943, 0x904A}, //3710 #CJK UNIFIED IDEOGRAPH
+  {0xB944, 0x9053}, //3711 #CJK UNIFIED IDEOGRAPH
+  {0xB945, 0x9042}, //3712 #CJK UNIFIED IDEOGRAPH
+  {0xB946, 0x9054}, //3713 #CJK UNIFIED IDEOGRAPH
+  {0xB947, 0x903C}, //3714 #CJK UNIFIED IDEOGRAPH
+  {0xB948, 0x9055}, //3715 #CJK UNIFIED IDEOGRAPH
+  {0xB949, 0x9050}, //3716 #CJK UNIFIED IDEOGRAPH
+  {0xB94A, 0x9047}, //3717 #CJK UNIFIED IDEOGRAPH
+  {0xB94B, 0x904F}, //3718 #CJK UNIFIED IDEOGRAPH
+  {0xB94C, 0x904E}, //3719 #CJK UNIFIED IDEOGRAPH
+  {0xB94D, 0x904D}, //3720 #CJK UNIFIED IDEOGRAPH
+  {0xB94E, 0x9051}, //3721 #CJK UNIFIED IDEOGRAPH
+  {0xB94F, 0x903E}, //3722 #CJK UNIFIED IDEOGRAPH
+  {0xB950, 0x9041}, //3723 #CJK UNIFIED IDEOGRAPH
+  {0xB951, 0x9112}, //3724 #CJK UNIFIED IDEOGRAPH
+  {0xB952, 0x9117}, //3725 #CJK UNIFIED IDEOGRAPH
+  {0xB953, 0x916C}, //3726 #CJK UNIFIED IDEOGRAPH
+  {0xB954, 0x916A}, //3727 #CJK UNIFIED IDEOGRAPH
+  {0xB955, 0x9169}, //3728 #CJK UNIFIED IDEOGRAPH
+  {0xB956, 0x91C9}, //3729 #CJK UNIFIED IDEOGRAPH
+  {0xB957, 0x9237}, //3730 #CJK UNIFIED IDEOGRAPH
+  {0xB958, 0x9257}, //3731 #CJK UNIFIED IDEOGRAPH
+  {0xB959, 0x9238}, //3732 #CJK UNIFIED IDEOGRAPH
+  {0xB95A, 0x923D}, //3733 #CJK UNIFIED IDEOGRAPH
+  {0xB95B, 0x9240}, //3734 #CJK UNIFIED IDEOGRAPH
+  {0xB95C, 0x923E}, //3735 #CJK UNIFIED IDEOGRAPH
+  {0xB95D, 0x925B}, //3736 #CJK UNIFIED IDEOGRAPH
+  {0xB95E, 0x924B}, //3737 #CJK UNIFIED IDEOGRAPH
+  {0xB95F, 0x9264}, //3738 #CJK UNIFIED IDEOGRAPH
+  {0xB960, 0x9251}, //3739 #CJK UNIFIED IDEOGRAPH
+  {0xB961, 0x9234}, //3740 #CJK UNIFIED IDEOGRAPH
+  {0xB962, 0x9249}, //3741 #CJK UNIFIED IDEOGRAPH
+  {0xB963, 0x924D}, //3742 #CJK UNIFIED IDEOGRAPH
+  {0xB964, 0x9245}, //3743 #CJK UNIFIED IDEOGRAPH
+  {0xB965, 0x9239}, //3744 #CJK UNIFIED IDEOGRAPH
+  {0xB966, 0x923F}, //3745 #CJK UNIFIED IDEOGRAPH
+  {0xB967, 0x925A}, //3746 #CJK UNIFIED IDEOGRAPH
+  {0xB968, 0x9598}, //3747 #CJK UNIFIED IDEOGRAPH
+  {0xB969, 0x9698}, //3748 #CJK UNIFIED IDEOGRAPH
+  {0xB96A, 0x9694}, //3749 #CJK UNIFIED IDEOGRAPH
+  {0xB96B, 0x9695}, //3750 #CJK UNIFIED IDEOGRAPH
+  {0xB96C, 0x96CD}, //3751 #CJK UNIFIED IDEOGRAPH
+  {0xB96D, 0x96CB}, //3752 #CJK UNIFIED IDEOGRAPH
+  {0xB96E, 0x96C9}, //3753 #CJK UNIFIED IDEOGRAPH
+  {0xB96F, 0x96CA}, //3754 #CJK UNIFIED IDEOGRAPH
+  {0xB970, 0x96F7}, //3755 #CJK UNIFIED IDEOGRAPH
+  {0xB971, 0x96FB}, //3756 #CJK UNIFIED IDEOGRAPH
+  {0xB972, 0x96F9}, //3757 #CJK UNIFIED IDEOGRAPH
+  {0xB973, 0x96F6}, //3758 #CJK UNIFIED IDEOGRAPH
+  {0xB974, 0x9756}, //3759 #CJK UNIFIED IDEOGRAPH
+  {0xB975, 0x9774}, //3760 #CJK UNIFIED IDEOGRAPH
+  {0xB976, 0x9776}, //3761 #CJK UNIFIED IDEOGRAPH
+  {0xB977, 0x9810}, //3762 #CJK UNIFIED IDEOGRAPH
+  {0xB978, 0x9811}, //3763 #CJK UNIFIED IDEOGRAPH
+  {0xB979, 0x9813}, //3764 #CJK UNIFIED IDEOGRAPH
+  {0xB97A, 0x980A}, //3765 #CJK UNIFIED IDEOGRAPH
+  {0xB97B, 0x9812}, //3766 #CJK UNIFIED IDEOGRAPH
+  {0xB97C, 0x980C}, //3767 #CJK UNIFIED IDEOGRAPH
+  {0xB97D, 0x98FC}, //3768 #CJK UNIFIED IDEOGRAPH
+  {0xB97E, 0x98F4}, //3769 #CJK UNIFIED IDEOGRAPH
+  {0xB9A1, 0x98FD}, //3770 #CJK UNIFIED IDEOGRAPH
+  {0xB9A2, 0x98FE}, //3771 #CJK UNIFIED IDEOGRAPH
+  {0xB9A3, 0x99B3}, //3772 #CJK UNIFIED IDEOGRAPH
+  {0xB9A4, 0x99B1}, //3773 #CJK UNIFIED IDEOGRAPH
+  {0xB9A5, 0x99B4}, //3774 #CJK UNIFIED IDEOGRAPH
+  {0xB9A6, 0x9AE1}, //3775 #CJK UNIFIED IDEOGRAPH
+  {0xB9A7, 0x9CE9}, //3776 #CJK UNIFIED IDEOGRAPH
+  {0xB9A8, 0x9E82}, //3777 #CJK UNIFIED IDEOGRAPH
+  {0xB9A9, 0x9F0E}, //3778 #CJK UNIFIED IDEOGRAPH
+  {0xB9AA, 0x9F13}, //3779 #CJK UNIFIED IDEOGRAPH
+  {0xB9AB, 0x9F20}, //3780 #CJK UNIFIED IDEOGRAPH
+  {0xB9AC, 0x50E7}, //3781 #CJK UNIFIED IDEOGRAPH
+  {0xB9AD, 0x50EE}, //3782 #CJK UNIFIED IDEOGRAPH
+  {0xB9AE, 0x50E5}, //3783 #CJK UNIFIED IDEOGRAPH
+  {0xB9AF, 0x50D6}, //3784 #CJK UNIFIED IDEOGRAPH
+  {0xB9B0, 0x50ED}, //3785 #CJK UNIFIED IDEOGRAPH
+  {0xB9B1, 0x50DA}, //3786 #CJK UNIFIED IDEOGRAPH
+  {0xB9B2, 0x50D5}, //3787 #CJK UNIFIED IDEOGRAPH
+  {0xB9B3, 0x50CF}, //3788 #CJK UNIFIED IDEOGRAPH
+  {0xB9B4, 0x50D1}, //3789 #CJK UNIFIED IDEOGRAPH
+  {0xB9B5, 0x50F1}, //3790 #CJK UNIFIED IDEOGRAPH
+  {0xB9B6, 0x50CE}, //3791 #CJK UNIFIED IDEOGRAPH
+  {0xB9B7, 0x50E9}, //3792 #CJK UNIFIED IDEOGRAPH
+  {0xB9B8, 0x5162}, //3793 #CJK UNIFIED IDEOGRAPH
+  {0xB9B9, 0x51F3}, //3794 #CJK UNIFIED IDEOGRAPH
+  {0xB9BA, 0x5283}, //3795 #CJK UNIFIED IDEOGRAPH
+  {0xB9BB, 0x5282}, //3796 #CJK UNIFIED IDEOGRAPH
+  {0xB9BC, 0x5331}, //3797 #CJK UNIFIED IDEOGRAPH
+  {0xB9BD, 0x53AD}, //3798 #CJK UNIFIED IDEOGRAPH
+  {0xB9BE, 0x55FE}, //3799 #CJK UNIFIED IDEOGRAPH
+  {0xB9BF, 0x5600}, //3800 #CJK UNIFIED IDEOGRAPH
+  {0xB9C0, 0x561B}, //3801 #CJK UNIFIED IDEOGRAPH
+  {0xB9C1, 0x5617}, //3802 #CJK UNIFIED IDEOGRAPH
+  {0xB9C2, 0x55FD}, //3803 #CJK UNIFIED IDEOGRAPH
+  {0xB9C3, 0x5614}, //3804 #CJK UNIFIED IDEOGRAPH
+  {0xB9C4, 0x5606}, //3805 #CJK UNIFIED IDEOGRAPH
+  {0xB9C5, 0x5609}, //3806 #CJK UNIFIED IDEOGRAPH
+  {0xB9C6, 0x560D}, //3807 #CJK UNIFIED IDEOGRAPH
+  {0xB9C7, 0x560E}, //3808 #CJK UNIFIED IDEOGRAPH
+  {0xB9C8, 0x55F7}, //3809 #CJK UNIFIED IDEOGRAPH
+  {0xB9C9, 0x5616}, //3810 #CJK UNIFIED IDEOGRAPH
+  {0xB9CA, 0x561F}, //3811 #CJK UNIFIED IDEOGRAPH
+  {0xB9CB, 0x5608}, //3812 #CJK UNIFIED IDEOGRAPH
+  {0xB9CC, 0x5610}, //3813 #CJK UNIFIED IDEOGRAPH
+  {0xB9CD, 0x55F6}, //3814 #CJK UNIFIED IDEOGRAPH
+  {0xB9CE, 0x5718}, //3815 #CJK UNIFIED IDEOGRAPH
+  {0xB9CF, 0x5716}, //3816 #CJK UNIFIED IDEOGRAPH
+  {0xB9D0, 0x5875}, //3817 #CJK UNIFIED IDEOGRAPH
+  {0xB9D1, 0x587E}, //3818 #CJK UNIFIED IDEOGRAPH
+  {0xB9D2, 0x5883}, //3819 #CJK UNIFIED IDEOGRAPH
+  {0xB9D3, 0x5893}, //3820 #CJK UNIFIED IDEOGRAPH
+  {0xB9D4, 0x588A}, //3821 #CJK UNIFIED IDEOGRAPH
+  {0xB9D5, 0x5879}, //3822 #CJK UNIFIED IDEOGRAPH
+  {0xB9D6, 0x5885}, //3823 #CJK UNIFIED IDEOGRAPH
+  {0xB9D7, 0x587D}, //3824 #CJK UNIFIED IDEOGRAPH
+  {0xB9D8, 0x58FD}, //3825 #CJK UNIFIED IDEOGRAPH
+  {0xB9D9, 0x5925}, //3826 #CJK UNIFIED IDEOGRAPH
+  {0xB9DA, 0x5922}, //3827 #CJK UNIFIED IDEOGRAPH
+  {0xB9DB, 0x5924}, //3828 #CJK UNIFIED IDEOGRAPH
+  {0xB9DC, 0x596A}, //3829 #CJK UNIFIED IDEOGRAPH
+  {0xB9DD, 0x5969}, //3830 #CJK UNIFIED IDEOGRAPH
+  {0xB9DE, 0x5AE1}, //3831 #CJK UNIFIED IDEOGRAPH
+  {0xB9DF, 0x5AE6}, //3832 #CJK UNIFIED IDEOGRAPH
+  {0xB9E0, 0x5AE9}, //3833 #CJK UNIFIED IDEOGRAPH
+  {0xB9E1, 0x5AD7}, //3834 #CJK UNIFIED IDEOGRAPH
+  {0xB9E2, 0x5AD6}, //3835 #CJK UNIFIED IDEOGRAPH
+  {0xB9E3, 0x5AD8}, //3836 #CJK UNIFIED IDEOGRAPH
+  {0xB9E4, 0x5AE3}, //3837 #CJK UNIFIED IDEOGRAPH
+  {0xB9E5, 0x5B75}, //3838 #CJK UNIFIED IDEOGRAPH
+  {0xB9E6, 0x5BDE}, //3839 #CJK UNIFIED IDEOGRAPH
+  {0xB9E7, 0x5BE7}, //3840 #CJK UNIFIED IDEOGRAPH
+  {0xB9E8, 0x5BE1}, //3841 #CJK UNIFIED IDEOGRAPH
+  {0xB9E9, 0x5BE5}, //3842 #CJK UNIFIED IDEOGRAPH
+  {0xB9EA, 0x5BE6}, //3843 #CJK UNIFIED IDEOGRAPH
+  {0xB9EB, 0x5BE8}, //3844 #CJK UNIFIED IDEOGRAPH
+  {0xB9EC, 0x5BE2}, //3845 #CJK UNIFIED IDEOGRAPH
+  {0xB9ED, 0x5BE4}, //3846 #CJK UNIFIED IDEOGRAPH
+  {0xB9EE, 0x5BDF}, //3847 #CJK UNIFIED IDEOGRAPH
+  {0xB9EF, 0x5C0D}, //3848 #CJK UNIFIED IDEOGRAPH
+  {0xB9F0, 0x5C62}, //3849 #CJK UNIFIED IDEOGRAPH
+  {0xB9F1, 0x5D84}, //3850 #CJK UNIFIED IDEOGRAPH
+  {0xB9F2, 0x5D87}, //3851 #CJK UNIFIED IDEOGRAPH
+  {0xB9F3, 0x5E5B}, //3852 #CJK UNIFIED IDEOGRAPH
+  {0xB9F4, 0x5E63}, //3853 #CJK UNIFIED IDEOGRAPH
+  {0xB9F5, 0x5E55}, //3854 #CJK UNIFIED IDEOGRAPH
+  {0xB9F6, 0x5E57}, //3855 #CJK UNIFIED IDEOGRAPH
+  {0xB9F7, 0x5E54}, //3856 #CJK UNIFIED IDEOGRAPH
+  {0xB9F8, 0x5ED3}, //3857 #CJK UNIFIED IDEOGRAPH
+  {0xB9F9, 0x5ED6}, //3858 #CJK UNIFIED IDEOGRAPH
+  {0xB9FA, 0x5F0A}, //3859 #CJK UNIFIED IDEOGRAPH
+  {0xB9FB, 0x5F46}, //3860 #CJK UNIFIED IDEOGRAPH
+  {0xB9FC, 0x5F70}, //3861 #CJK UNIFIED IDEOGRAPH
+  {0xB9FD, 0x5FB9}, //3862 #CJK UNIFIED IDEOGRAPH
+  {0xB9FE, 0x6147}, //3863 #CJK UNIFIED IDEOGRAPH
+  {0xBA40, 0x613F}, //3864 #CJK UNIFIED IDEOGRAPH
+  {0xBA41, 0x614B}, //3865 #CJK UNIFIED IDEOGRAPH
+  {0xBA42, 0x6177}, //3866 #CJK UNIFIED IDEOGRAPH
+  {0xBA43, 0x6162}, //3867 #CJK UNIFIED IDEOGRAPH
+  {0xBA44, 0x6163}, //3868 #CJK UNIFIED IDEOGRAPH
+  {0xBA45, 0x615F}, //3869 #CJK UNIFIED IDEOGRAPH
+  {0xBA46, 0x615A}, //3870 #CJK UNIFIED IDEOGRAPH
+  {0xBA47, 0x6158}, //3871 #CJK UNIFIED IDEOGRAPH
+  {0xBA48, 0x6175}, //3872 #CJK UNIFIED IDEOGRAPH
+  {0xBA49, 0x622A}, //3873 #CJK UNIFIED IDEOGRAPH
+  {0xBA4A, 0x6487}, //3874 #CJK UNIFIED IDEOGRAPH
+  {0xBA4B, 0x6458}, //3875 #CJK UNIFIED IDEOGRAPH
+  {0xBA4C, 0x6454}, //3876 #CJK UNIFIED IDEOGRAPH
+  {0xBA4D, 0x64A4}, //3877 #CJK UNIFIED IDEOGRAPH
+  {0xBA4E, 0x6478}, //3878 #CJK UNIFIED IDEOGRAPH
+  {0xBA4F, 0x645F}, //3879 #CJK UNIFIED IDEOGRAPH
+  {0xBA50, 0x647A}, //3880 #CJK UNIFIED IDEOGRAPH
+  {0xBA51, 0x6451}, //3881 #CJK UNIFIED IDEOGRAPH
+  {0xBA52, 0x6467}, //3882 #CJK UNIFIED IDEOGRAPH
+  {0xBA53, 0x6434}, //3883 #CJK UNIFIED IDEOGRAPH
+  {0xBA54, 0x646D}, //3884 #CJK UNIFIED IDEOGRAPH
+  {0xBA55, 0x647B}, //3885 #CJK UNIFIED IDEOGRAPH
+  {0xBA56, 0x6572}, //3886 #CJK UNIFIED IDEOGRAPH
+  {0xBA57, 0x65A1}, //3887 #CJK UNIFIED IDEOGRAPH
+  {0xBA58, 0x65D7}, //3888 #CJK UNIFIED IDEOGRAPH
+  {0xBA59, 0x65D6}, //3889 #CJK UNIFIED IDEOGRAPH
+  {0xBA5A, 0x66A2}, //3890 #CJK UNIFIED IDEOGRAPH
+  {0xBA5B, 0x66A8}, //3891 #CJK UNIFIED IDEOGRAPH
+  {0xBA5C, 0x669D}, //3892 #CJK UNIFIED IDEOGRAPH
+  {0xBA5D, 0x699C}, //3893 #CJK UNIFIED IDEOGRAPH
+  {0xBA5E, 0x69A8}, //3894 #CJK UNIFIED IDEOGRAPH
+  {0xBA5F, 0x6995}, //3895 #CJK UNIFIED IDEOGRAPH
+  {0xBA60, 0x69C1}, //3896 #CJK UNIFIED IDEOGRAPH
+  {0xBA61, 0x69AE}, //3897 #CJK UNIFIED IDEOGRAPH
+  {0xBA62, 0x69D3}, //3898 #CJK UNIFIED IDEOGRAPH
+  {0xBA63, 0x69CB}, //3899 #CJK UNIFIED IDEOGRAPH
+  {0xBA64, 0x699B}, //3900 #CJK UNIFIED IDEOGRAPH
+  {0xBA65, 0x69B7}, //3901 #CJK UNIFIED IDEOGRAPH
+  {0xBA66, 0x69BB}, //3902 #CJK UNIFIED IDEOGRAPH
+  {0xBA67, 0x69AB}, //3903 #CJK UNIFIED IDEOGRAPH
+  {0xBA68, 0x69B4}, //3904 #CJK UNIFIED IDEOGRAPH
+  {0xBA69, 0x69D0}, //3905 #CJK UNIFIED IDEOGRAPH
+  {0xBA6A, 0x69CD}, //3906 #CJK UNIFIED IDEOGRAPH
+  {0xBA6B, 0x69AD}, //3907 #CJK UNIFIED IDEOGRAPH
+  {0xBA6C, 0x69CC}, //3908 #CJK UNIFIED IDEOGRAPH
+  {0xBA6D, 0x69A6}, //3909 #CJK UNIFIED IDEOGRAPH
+  {0xBA6E, 0x69C3}, //3910 #CJK UNIFIED IDEOGRAPH
+  {0xBA6F, 0x69A3}, //3911 #CJK UNIFIED IDEOGRAPH
+  {0xBA70, 0x6B49}, //3912 #CJK UNIFIED IDEOGRAPH
+  {0xBA71, 0x6B4C}, //3913 #CJK UNIFIED IDEOGRAPH
+  {0xBA72, 0x6C33}, //3914 #CJK UNIFIED IDEOGRAPH
+  {0xBA73, 0x6F33}, //3915 #CJK UNIFIED IDEOGRAPH
+  {0xBA74, 0x6F14}, //3916 #CJK UNIFIED IDEOGRAPH
+  {0xBA75, 0x6EFE}, //3917 #CJK UNIFIED IDEOGRAPH
+  {0xBA76, 0x6F13}, //3918 #CJK UNIFIED IDEOGRAPH
+  {0xBA77, 0x6EF4}, //3919 #CJK UNIFIED IDEOGRAPH
+  {0xBA78, 0x6F29}, //3920 #CJK UNIFIED IDEOGRAPH
+  {0xBA79, 0x6F3E}, //3921 #CJK UNIFIED IDEOGRAPH
+  {0xBA7A, 0x6F20}, //3922 #CJK UNIFIED IDEOGRAPH
+  {0xBA7B, 0x6F2C}, //3923 #CJK UNIFIED IDEOGRAPH
+  {0xBA7C, 0x6F0F}, //3924 #CJK UNIFIED IDEOGRAPH
+  {0xBA7D, 0x6F02}, //3925 #CJK UNIFIED IDEOGRAPH
+  {0xBA7E, 0x6F22}, //3926 #CJK UNIFIED IDEOGRAPH
+  {0xBAA1, 0x6EFF}, //3927 #CJK UNIFIED IDEOGRAPH
+  {0xBAA2, 0x6EEF}, //3928 #CJK UNIFIED IDEOGRAPH
+  {0xBAA3, 0x6F06}, //3929 #CJK UNIFIED IDEOGRAPH
+  {0xBAA4, 0x6F31}, //3930 #CJK UNIFIED IDEOGRAPH
+  {0xBAA5, 0x6F38}, //3931 #CJK UNIFIED IDEOGRAPH
+  {0xBAA6, 0x6F32}, //3932 #CJK UNIFIED IDEOGRAPH
+  {0xBAA7, 0x6F23}, //3933 #CJK UNIFIED IDEOGRAPH
+  {0xBAA8, 0x6F15}, //3934 #CJK UNIFIED IDEOGRAPH
+  {0xBAA9, 0x6F2B}, //3935 #CJK UNIFIED IDEOGRAPH
+  {0xBAAA, 0x6F2F}, //3936 #CJK UNIFIED IDEOGRAPH
+  {0xBAAB, 0x6F88}, //3937 #CJK UNIFIED IDEOGRAPH
+  {0xBAAC, 0x6F2A}, //3938 #CJK UNIFIED IDEOGRAPH
+  {0xBAAD, 0x6EEC}, //3939 #CJK UNIFIED IDEOGRAPH
+  {0xBAAE, 0x6F01}, //3940 #CJK UNIFIED IDEOGRAPH
+  {0xBAAF, 0x6EF2}, //3941 #CJK UNIFIED IDEOGRAPH
+  {0xBAB0, 0x6ECC}, //3942 #CJK UNIFIED IDEOGRAPH
+  {0xBAB1, 0x6EF7}, //3943 #CJK UNIFIED IDEOGRAPH
+  {0xBAB2, 0x7194}, //3944 #CJK UNIFIED IDEOGRAPH
+  {0xBAB3, 0x7199}, //3945 #CJK UNIFIED IDEOGRAPH
+  {0xBAB4, 0x717D}, //3946 #CJK UNIFIED IDEOGRAPH
+  {0xBAB5, 0x718A}, //3947 #CJK UNIFIED IDEOGRAPH
+  {0xBAB6, 0x7184}, //3948 #CJK UNIFIED IDEOGRAPH
+  {0xBAB7, 0x7192}, //3949 #CJK UNIFIED IDEOGRAPH
+  {0xBAB8, 0x723E}, //3950 #CJK UNIFIED IDEOGRAPH
+  {0xBAB9, 0x7292}, //3951 #CJK UNIFIED IDEOGRAPH
+  {0xBABA, 0x7296}, //3952 #CJK UNIFIED IDEOGRAPH
+  {0xBABB, 0x7344}, //3953 #CJK UNIFIED IDEOGRAPH
+  {0xBABC, 0x7350}, //3954 #CJK UNIFIED IDEOGRAPH
+  {0xBABD, 0x7464}, //3955 #CJK UNIFIED IDEOGRAPH
+  {0xBABE, 0x7463}, //3956 #CJK UNIFIED IDEOGRAPH
+  {0xBABF, 0x746A}, //3957 #CJK UNIFIED IDEOGRAPH
+  {0xBAC0, 0x7470}, //3958 #CJK UNIFIED IDEOGRAPH
+  {0xBAC1, 0x746D}, //3959 #CJK UNIFIED IDEOGRAPH
+  {0xBAC2, 0x7504}, //3960 #CJK UNIFIED IDEOGRAPH
+  {0xBAC3, 0x7591}, //3961 #CJK UNIFIED IDEOGRAPH
+  {0xBAC4, 0x7627}, //3962 #CJK UNIFIED IDEOGRAPH
+  {0xBAC5, 0x760D}, //3963 #CJK UNIFIED IDEOGRAPH
+  {0xBAC6, 0x760B}, //3964 #CJK UNIFIED IDEOGRAPH
+  {0xBAC7, 0x7609}, //3965 #CJK UNIFIED IDEOGRAPH
+  {0xBAC8, 0x7613}, //3966 #CJK UNIFIED IDEOGRAPH
+  {0xBAC9, 0x76E1}, //3967 #CJK UNIFIED IDEOGRAPH
+  {0xBACA, 0x76E3}, //3968 #CJK UNIFIED IDEOGRAPH
+  {0xBACB, 0x7784}, //3969 #CJK UNIFIED IDEOGRAPH
+  {0xBACC, 0x777D}, //3970 #CJK UNIFIED IDEOGRAPH
+  {0xBACD, 0x777F}, //3971 #CJK UNIFIED IDEOGRAPH
+  {0xBACE, 0x7761}, //3972 #CJK UNIFIED IDEOGRAPH
+  {0xBACF, 0x78C1}, //3973 #CJK UNIFIED IDEOGRAPH
+  {0xBAD0, 0x789F}, //3974 #CJK UNIFIED IDEOGRAPH
+  {0xBAD1, 0x78A7}, //3975 #CJK UNIFIED IDEOGRAPH
+  {0xBAD2, 0x78B3}, //3976 #CJK UNIFIED IDEOGRAPH
+  {0xBAD3, 0x78A9}, //3977 #CJK UNIFIED IDEOGRAPH
+  {0xBAD4, 0x78A3}, //3978 #CJK UNIFIED IDEOGRAPH
+  {0xBAD5, 0x798E}, //3979 #CJK UNIFIED IDEOGRAPH
+  {0xBAD6, 0x798F}, //3980 #CJK UNIFIED IDEOGRAPH
+  {0xBAD7, 0x798D}, //3981 #CJK UNIFIED IDEOGRAPH
+  {0xBAD8, 0x7A2E}, //3982 #CJK UNIFIED IDEOGRAPH
+  {0xBAD9, 0x7A31}, //3983 #CJK UNIFIED IDEOGRAPH
+  {0xBADA, 0x7AAA}, //3984 #CJK UNIFIED IDEOGRAPH
+  {0xBADB, 0x7AA9}, //3985 #CJK UNIFIED IDEOGRAPH
+  {0xBADC, 0x7AED}, //3986 #CJK UNIFIED IDEOGRAPH
+  {0xBADD, 0x7AEF}, //3987 #CJK UNIFIED IDEOGRAPH
+  {0xBADE, 0x7BA1}, //3988 #CJK UNIFIED IDEOGRAPH
+  {0xBADF, 0x7B95}, //3989 #CJK UNIFIED IDEOGRAPH
+  {0xBAE0, 0x7B8B}, //3990 #CJK UNIFIED IDEOGRAPH
+  {0xBAE1, 0x7B75}, //3991 #CJK UNIFIED IDEOGRAPH
+  {0xBAE2, 0x7B97}, //3992 #CJK UNIFIED IDEOGRAPH
+  {0xBAE3, 0x7B9D}, //3993 #CJK UNIFIED IDEOGRAPH
+  {0xBAE4, 0x7B94}, //3994 #CJK UNIFIED IDEOGRAPH
+  {0xBAE5, 0x7B8F}, //3995 #CJK UNIFIED IDEOGRAPH
+  {0xBAE6, 0x7BB8}, //3996 #CJK UNIFIED IDEOGRAPH
+  {0xBAE7, 0x7B87}, //3997 #CJK UNIFIED IDEOGRAPH
+  {0xBAE8, 0x7B84}, //3998 #CJK UNIFIED IDEOGRAPH
+  {0xBAE9, 0x7CB9}, //3999 #CJK UNIFIED IDEOGRAPH
+  {0xBAEA, 0x7CBD}, //4000 #CJK UNIFIED IDEOGRAPH
+  {0xBAEB, 0x7CBE}, //4001 #CJK UNIFIED IDEOGRAPH
+  {0xBAEC, 0x7DBB}, //4002 #CJK UNIFIED IDEOGRAPH
+  {0xBAED, 0x7DB0}, //4003 #CJK UNIFIED IDEOGRAPH
+  {0xBAEE, 0x7D9C}, //4004 #CJK UNIFIED IDEOGRAPH
+  {0xBAEF, 0x7DBD}, //4005 #CJK UNIFIED IDEOGRAPH
+  {0xBAF0, 0x7DBE}, //4006 #CJK UNIFIED IDEOGRAPH
+  {0xBAF1, 0x7DA0}, //4007 #CJK UNIFIED IDEOGRAPH
+  {0xBAF2, 0x7DCA}, //4008 #CJK UNIFIED IDEOGRAPH
+  {0xBAF3, 0x7DB4}, //4009 #CJK UNIFIED IDEOGRAPH
+  {0xBAF4, 0x7DB2}, //4010 #CJK UNIFIED IDEOGRAPH
+  {0xBAF5, 0x7DB1}, //4011 #CJK UNIFIED IDEOGRAPH
+  {0xBAF6, 0x7DBA}, //4012 #CJK UNIFIED IDEOGRAPH
+  {0xBAF7, 0x7DA2}, //4013 #CJK UNIFIED IDEOGRAPH
+  {0xBAF8, 0x7DBF}, //4014 #CJK UNIFIED IDEOGRAPH
+  {0xBAF9, 0x7DB5}, //4015 #CJK UNIFIED IDEOGRAPH
+  {0xBAFA, 0x7DB8}, //4016 #CJK UNIFIED IDEOGRAPH
+  {0xBAFB, 0x7DAD}, //4017 #CJK UNIFIED IDEOGRAPH
+  {0xBAFC, 0x7DD2}, //4018 #CJK UNIFIED IDEOGRAPH
+  {0xBAFD, 0x7DC7}, //4019 #CJK UNIFIED IDEOGRAPH
+  {0xBAFE, 0x7DAC}, //4020 #CJK UNIFIED IDEOGRAPH
+  {0xBB40, 0x7F70}, //4021 #CJK UNIFIED IDEOGRAPH
+  {0xBB41, 0x7FE0}, //4022 #CJK UNIFIED IDEOGRAPH
+  {0xBB42, 0x7FE1}, //4023 #CJK UNIFIED IDEOGRAPH
+  {0xBB43, 0x7FDF}, //4024 #CJK UNIFIED IDEOGRAPH
+  {0xBB44, 0x805E}, //4025 #CJK UNIFIED IDEOGRAPH
+  {0xBB45, 0x805A}, //4026 #CJK UNIFIED IDEOGRAPH
+  {0xBB46, 0x8087}, //4027 #CJK UNIFIED IDEOGRAPH
+  {0xBB47, 0x8150}, //4028 #CJK UNIFIED IDEOGRAPH
+  {0xBB48, 0x8180}, //4029 #CJK UNIFIED IDEOGRAPH
+  {0xBB49, 0x818F}, //4030 #CJK UNIFIED IDEOGRAPH
+  {0xBB4A, 0x8188}, //4031 #CJK UNIFIED IDEOGRAPH
+  {0xBB4B, 0x818A}, //4032 #CJK UNIFIED IDEOGRAPH
+  {0xBB4C, 0x817F}, //4033 #CJK UNIFIED IDEOGRAPH
+  {0xBB4D, 0x8182}, //4034 #CJK UNIFIED IDEOGRAPH
+  {0xBB4E, 0x81E7}, //4035 #CJK UNIFIED IDEOGRAPH
+  {0xBB4F, 0x81FA}, //4036 #CJK UNIFIED IDEOGRAPH
+  {0xBB50, 0x8207}, //4037 #CJK UNIFIED IDEOGRAPH
+  {0xBB51, 0x8214}, //4038 #CJK UNIFIED IDEOGRAPH
+  {0xBB52, 0x821E}, //4039 #CJK UNIFIED IDEOGRAPH
+  {0xBB53, 0x824B}, //4040 #CJK UNIFIED IDEOGRAPH
+  {0xBB54, 0x84C9}, //4041 #CJK UNIFIED IDEOGRAPH
+  {0xBB55, 0x84BF}, //4042 #CJK UNIFIED IDEOGRAPH
+  {0xBB56, 0x84C6}, //4043 #CJK UNIFIED IDEOGRAPH
+  {0xBB57, 0x84C4}, //4044 #CJK UNIFIED IDEOGRAPH
+  {0xBB58, 0x8499}, //4045 #CJK UNIFIED IDEOGRAPH
+  {0xBB59, 0x849E}, //4046 #CJK UNIFIED IDEOGRAPH
+  {0xBB5A, 0x84B2}, //4047 #CJK UNIFIED IDEOGRAPH
+  {0xBB5B, 0x849C}, //4048 #CJK UNIFIED IDEOGRAPH
+  {0xBB5C, 0x84CB}, //4049 #CJK UNIFIED IDEOGRAPH
+  {0xBB5D, 0x84B8}, //4050 #CJK UNIFIED IDEOGRAPH
+  {0xBB5E, 0x84C0}, //4051 #CJK UNIFIED IDEOGRAPH
+  {0xBB5F, 0x84D3}, //4052 #CJK UNIFIED IDEOGRAPH
+  {0xBB60, 0x8490}, //4053 #CJK UNIFIED IDEOGRAPH
+  {0xBB61, 0x84BC}, //4054 #CJK UNIFIED IDEOGRAPH
+  {0xBB62, 0x84D1}, //4055 #CJK UNIFIED IDEOGRAPH
+  {0xBB63, 0x84CA}, //4056 #CJK UNIFIED IDEOGRAPH
+  {0xBB64, 0x873F}, //4057 #CJK UNIFIED IDEOGRAPH
+  {0xBB65, 0x871C}, //4058 #CJK UNIFIED IDEOGRAPH
+  {0xBB66, 0x873B}, //4059 #CJK UNIFIED IDEOGRAPH
+  {0xBB67, 0x8722}, //4060 #CJK UNIFIED IDEOGRAPH
+  {0xBB68, 0x8725}, //4061 #CJK UNIFIED IDEOGRAPH
+  {0xBB69, 0x8734}, //4062 #CJK UNIFIED IDEOGRAPH
+  {0xBB6A, 0x8718}, //4063 #CJK UNIFIED IDEOGRAPH
+  {0xBB6B, 0x8755}, //4064 #CJK UNIFIED IDEOGRAPH
+  {0xBB6C, 0x8737}, //4065 #CJK UNIFIED IDEOGRAPH
+  {0xBB6D, 0x8729}, //4066 #CJK UNIFIED IDEOGRAPH
+  {0xBB6E, 0x88F3}, //4067 #CJK UNIFIED IDEOGRAPH
+  {0xBB6F, 0x8902}, //4068 #CJK UNIFIED IDEOGRAPH
+  {0xBB70, 0x88F4}, //4069 #CJK UNIFIED IDEOGRAPH
+  {0xBB71, 0x88F9}, //4070 #CJK UNIFIED IDEOGRAPH
+  {0xBB72, 0x88F8}, //4071 #CJK UNIFIED IDEOGRAPH
+  {0xBB73, 0x88FD}, //4072 #CJK UNIFIED IDEOGRAPH
+  {0xBB74, 0x88E8}, //4073 #CJK UNIFIED IDEOGRAPH
+  {0xBB75, 0x891A}, //4074 #CJK UNIFIED IDEOGRAPH
+  {0xBB76, 0x88EF}, //4075 #CJK UNIFIED IDEOGRAPH
+  {0xBB77, 0x8AA6}, //4076 #CJK UNIFIED IDEOGRAPH
+  {0xBB78, 0x8A8C}, //4077 #CJK UNIFIED IDEOGRAPH
+  {0xBB79, 0x8A9E}, //4078 #CJK UNIFIED IDEOGRAPH
+  {0xBB7A, 0x8AA3}, //4079 #CJK UNIFIED IDEOGRAPH
+  {0xBB7B, 0x8A8D}, //4080 #CJK UNIFIED IDEOGRAPH
+  {0xBB7C, 0x8AA1}, //4081 #CJK UNIFIED IDEOGRAPH
+  {0xBB7D, 0x8A93}, //4082 #CJK UNIFIED IDEOGRAPH
+  {0xBB7E, 0x8AA4}, //4083 #CJK UNIFIED IDEOGRAPH
+  {0xBBA1, 0x8AAA}, //4084 #CJK UNIFIED IDEOGRAPH
+  {0xBBA2, 0x8AA5}, //4085 #CJK UNIFIED IDEOGRAPH
+  {0xBBA3, 0x8AA8}, //4086 #CJK UNIFIED IDEOGRAPH
+  {0xBBA4, 0x8A98}, //4087 #CJK UNIFIED IDEOGRAPH
+  {0xBBA5, 0x8A91}, //4088 #CJK UNIFIED IDEOGRAPH
+  {0xBBA6, 0x8A9A}, //4089 #CJK UNIFIED IDEOGRAPH
+  {0xBBA7, 0x8AA7}, //4090 #CJK UNIFIED IDEOGRAPH
+  {0xBBA8, 0x8C6A}, //4091 #CJK UNIFIED IDEOGRAPH
+  {0xBBA9, 0x8C8D}, //4092 #CJK UNIFIED IDEOGRAPH
+  {0xBBAA, 0x8C8C}, //4093 #CJK UNIFIED IDEOGRAPH
+  {0xBBAB, 0x8CD3}, //4094 #CJK UNIFIED IDEOGRAPH
+  {0xBBAC, 0x8CD1}, //4095 #CJK UNIFIED IDEOGRAPH
+  {0xBBAD, 0x8CD2}, //4096 #CJK UNIFIED IDEOGRAPH
+  {0xBBAE, 0x8D6B}, //4097 #CJK UNIFIED IDEOGRAPH
+  {0xBBAF, 0x8D99}, //4098 #CJK UNIFIED IDEOGRAPH
+  {0xBBB0, 0x8D95}, //4099 #CJK UNIFIED IDEOGRAPH
+  {0xBBB1, 0x8DFC}, //4100 #CJK UNIFIED IDEOGRAPH
+  {0xBBB2, 0x8F14}, //4101 #CJK UNIFIED IDEOGRAPH
+  {0xBBB3, 0x8F12}, //4102 #CJK UNIFIED IDEOGRAPH
+  {0xBBB4, 0x8F15}, //4103 #CJK UNIFIED IDEOGRAPH
+  {0xBBB5, 0x8F13}, //4104 #CJK UNIFIED IDEOGRAPH
+  {0xBBB6, 0x8FA3}, //4105 #CJK UNIFIED IDEOGRAPH
+  {0xBBB7, 0x9060}, //4106 #CJK UNIFIED IDEOGRAPH
+  {0xBBB8, 0x9058}, //4107 #CJK UNIFIED IDEOGRAPH
+  {0xBBB9, 0x905C}, //4108 #CJK UNIFIED IDEOGRAPH
+  {0xBBBA, 0x9063}, //4109 #CJK UNIFIED IDEOGRAPH
+  {0xBBBB, 0x9059}, //4110 #CJK UNIFIED IDEOGRAPH
+  {0xBBBC, 0x905E}, //4111 #CJK UNIFIED IDEOGRAPH
+  {0xBBBD, 0x9062}, //4112 #CJK UNIFIED IDEOGRAPH
+  {0xBBBE, 0x905D}, //4113 #CJK UNIFIED IDEOGRAPH
+  {0xBBBF, 0x905B}, //4114 #CJK UNIFIED IDEOGRAPH
+  {0xBBC0, 0x9119}, //4115 #CJK UNIFIED IDEOGRAPH
+  {0xBBC1, 0x9118}, //4116 #CJK UNIFIED IDEOGRAPH
+  {0xBBC2, 0x911E}, //4117 #CJK UNIFIED IDEOGRAPH
+  {0xBBC3, 0x9175}, //4118 #CJK UNIFIED IDEOGRAPH
+  {0xBBC4, 0x9178}, //4119 #CJK UNIFIED IDEOGRAPH
+  {0xBBC5, 0x9177}, //4120 #CJK UNIFIED IDEOGRAPH
+  {0xBBC6, 0x9174}, //4121 #CJK UNIFIED IDEOGRAPH
+  {0xBBC7, 0x9278}, //4122 #CJK UNIFIED IDEOGRAPH
+  {0xBBC8, 0x9280}, //4123 #CJK UNIFIED IDEOGRAPH
+  {0xBBC9, 0x9285}, //4124 #CJK UNIFIED IDEOGRAPH
+  {0xBBCA, 0x9298}, //4125 #CJK UNIFIED IDEOGRAPH
+  {0xBBCB, 0x9296}, //4126 #CJK UNIFIED IDEOGRAPH
+  {0xBBCC, 0x927B}, //4127 #CJK UNIFIED IDEOGRAPH
+  {0xBBCD, 0x9293}, //4128 #CJK UNIFIED IDEOGRAPH
+  {0xBBCE, 0x929C}, //4129 #CJK UNIFIED IDEOGRAPH
+  {0xBBCF, 0x92A8}, //4130 #CJK UNIFIED IDEOGRAPH
+  {0xBBD0, 0x927C}, //4131 #CJK UNIFIED IDEOGRAPH
+  {0xBBD1, 0x9291}, //4132 #CJK UNIFIED IDEOGRAPH
+  {0xBBD2, 0x95A1}, //4133 #CJK UNIFIED IDEOGRAPH
+  {0xBBD3, 0x95A8}, //4134 #CJK UNIFIED IDEOGRAPH
+  {0xBBD4, 0x95A9}, //4135 #CJK UNIFIED IDEOGRAPH
+  {0xBBD5, 0x95A3}, //4136 #CJK UNIFIED IDEOGRAPH
+  {0xBBD6, 0x95A5}, //4137 #CJK UNIFIED IDEOGRAPH
+  {0xBBD7, 0x95A4}, //4138 #CJK UNIFIED IDEOGRAPH
+  {0xBBD8, 0x9699}, //4139 #CJK UNIFIED IDEOGRAPH
+  {0xBBD9, 0x969C}, //4140 #CJK UNIFIED IDEOGRAPH
+  {0xBBDA, 0x969B}, //4141 #CJK UNIFIED IDEOGRAPH
+  {0xBBDB, 0x96CC}, //4142 #CJK UNIFIED IDEOGRAPH
+  {0xBBDC, 0x96D2}, //4143 #CJK UNIFIED IDEOGRAPH
+  {0xBBDD, 0x9700}, //4144 #CJK UNIFIED IDEOGRAPH
+  {0xBBDE, 0x977C}, //4145 #CJK UNIFIED IDEOGRAPH
+  {0xBBDF, 0x9785}, //4146 #CJK UNIFIED IDEOGRAPH
+  {0xBBE0, 0x97F6}, //4147 #CJK UNIFIED IDEOGRAPH
+  {0xBBE1, 0x9817}, //4148 #CJK UNIFIED IDEOGRAPH
+  {0xBBE2, 0x9818}, //4149 #CJK UNIFIED IDEOGRAPH
+  {0xBBE3, 0x98AF}, //4150 #CJK UNIFIED IDEOGRAPH
+  {0xBBE4, 0x98B1}, //4151 #CJK UNIFIED IDEOGRAPH
+  {0xBBE5, 0x9903}, //4152 #CJK UNIFIED IDEOGRAPH
+  {0xBBE6, 0x9905}, //4153 #CJK UNIFIED IDEOGRAPH
+  {0xBBE7, 0x990C}, //4154 #CJK UNIFIED IDEOGRAPH
+  {0xBBE8, 0x9909}, //4155 #CJK UNIFIED IDEOGRAPH
+  {0xBBE9, 0x99C1}, //4156 #CJK UNIFIED IDEOGRAPH
+  {0xBBEA, 0x9AAF}, //4157 #CJK UNIFIED IDEOGRAPH
+  {0xBBEB, 0x9AB0}, //4158 #CJK UNIFIED IDEOGRAPH
+  {0xBBEC, 0x9AE6}, //4159 #CJK UNIFIED IDEOGRAPH
+  {0xBBED, 0x9B41}, //4160 #CJK UNIFIED IDEOGRAPH
+  {0xBBEE, 0x9B42}, //4161 #CJK UNIFIED IDEOGRAPH
+  {0xBBEF, 0x9CF4}, //4162 #CJK UNIFIED IDEOGRAPH
+  {0xBBF0, 0x9CF6}, //4163 #CJK UNIFIED IDEOGRAPH
+  {0xBBF1, 0x9CF3}, //4164 #CJK UNIFIED IDEOGRAPH
+  {0xBBF2, 0x9EBC}, //4165 #CJK UNIFIED IDEOGRAPH
+  {0xBBF3, 0x9F3B}, //4166 #CJK UNIFIED IDEOGRAPH
+  {0xBBF4, 0x9F4A}, //4167 #CJK UNIFIED IDEOGRAPH
+  {0xBBF5, 0x5104}, //4168 #CJK UNIFIED IDEOGRAPH
+  {0xBBF6, 0x5100}, //4169 #CJK UNIFIED IDEOGRAPH
+  {0xBBF7, 0x50FB}, //4170 #CJK UNIFIED IDEOGRAPH
+  {0xBBF8, 0x50F5}, //4171 #CJK UNIFIED IDEOGRAPH
+  {0xBBF9, 0x50F9}, //4172 #CJK UNIFIED IDEOGRAPH
+  {0xBBFA, 0x5102}, //4173 #CJK UNIFIED IDEOGRAPH
+  {0xBBFB, 0x5108}, //4174 #CJK UNIFIED IDEOGRAPH
+  {0xBBFC, 0x5109}, //4175 #CJK UNIFIED IDEOGRAPH
+  {0xBBFD, 0x5105}, //4176 #CJK UNIFIED IDEOGRAPH
+  {0xBBFE, 0x51DC}, //4177 #CJK UNIFIED IDEOGRAPH
+  {0xBC40, 0x5287}, //4178 #CJK UNIFIED IDEOGRAPH
+  {0xBC41, 0x5288}, //4179 #CJK UNIFIED IDEOGRAPH
+  {0xBC42, 0x5289}, //4180 #CJK UNIFIED IDEOGRAPH
+  {0xBC43, 0x528D}, //4181 #CJK UNIFIED IDEOGRAPH
+  {0xBC44, 0x528A}, //4182 #CJK UNIFIED IDEOGRAPH
+  {0xBC45, 0x52F0}, //4183 #CJK UNIFIED IDEOGRAPH
+  {0xBC46, 0x53B2}, //4184 #CJK UNIFIED IDEOGRAPH
+  {0xBC47, 0x562E}, //4185 #CJK UNIFIED IDEOGRAPH
+  {0xBC48, 0x563B}, //4186 #CJK UNIFIED IDEOGRAPH
+  {0xBC49, 0x5639}, //4187 #CJK UNIFIED IDEOGRAPH
+  {0xBC4A, 0x5632}, //4188 #CJK UNIFIED IDEOGRAPH
+  {0xBC4B, 0x563F}, //4189 #CJK UNIFIED IDEOGRAPH
+  {0xBC4C, 0x5634}, //4190 #CJK UNIFIED IDEOGRAPH
+  {0xBC4D, 0x5629}, //4191 #CJK UNIFIED IDEOGRAPH
+  {0xBC4E, 0x5653}, //4192 #CJK UNIFIED IDEOGRAPH
+  {0xBC4F, 0x564E}, //4193 #CJK UNIFIED IDEOGRAPH
+  {0xBC50, 0x5657}, //4194 #CJK UNIFIED IDEOGRAPH
+  {0xBC51, 0x5674}, //4195 #CJK UNIFIED IDEOGRAPH
+  {0xBC52, 0x5636}, //4196 #CJK UNIFIED IDEOGRAPH
+  {0xBC53, 0x562F}, //4197 #CJK UNIFIED IDEOGRAPH
+  {0xBC54, 0x5630}, //4198 #CJK UNIFIED IDEOGRAPH
+  {0xBC55, 0x5880}, //4199 #CJK UNIFIED IDEOGRAPH
+  {0xBC56, 0x589F}, //4200 #CJK UNIFIED IDEOGRAPH
+  {0xBC57, 0x589E}, //4201 #CJK UNIFIED IDEOGRAPH
+  {0xBC58, 0x58B3}, //4202 #CJK UNIFIED IDEOGRAPH
+  {0xBC59, 0x589C}, //4203 #CJK UNIFIED IDEOGRAPH
+  {0xBC5A, 0x58AE}, //4204 #CJK UNIFIED IDEOGRAPH
+  {0xBC5B, 0x58A9}, //4205 #CJK UNIFIED IDEOGRAPH
+  {0xBC5C, 0x58A6}, //4206 #CJK UNIFIED IDEOGRAPH
+  {0xBC5D, 0x596D}, //4207 #CJK UNIFIED IDEOGRAPH
+  {0xBC5E, 0x5B09}, //4208 #CJK UNIFIED IDEOGRAPH
+  {0xBC5F, 0x5AFB}, //4209 #CJK UNIFIED IDEOGRAPH
+  {0xBC60, 0x5B0B}, //4210 #CJK UNIFIED IDEOGRAPH
+  {0xBC61, 0x5AF5}, //4211 #CJK UNIFIED IDEOGRAPH
+  {0xBC62, 0x5B0C}, //4212 #CJK UNIFIED IDEOGRAPH
+  {0xBC63, 0x5B08}, //4213 #CJK UNIFIED IDEOGRAPH
+  {0xBC64, 0x5BEE}, //4214 #CJK UNIFIED IDEOGRAPH
+  {0xBC65, 0x5BEC}, //4215 #CJK UNIFIED IDEOGRAPH
+  {0xBC66, 0x5BE9}, //4216 #CJK UNIFIED IDEOGRAPH
+  {0xBC67, 0x5BEB}, //4217 #CJK UNIFIED IDEOGRAPH
+  {0xBC68, 0x5C64}, //4218 #CJK UNIFIED IDEOGRAPH
+  {0xBC69, 0x5C65}, //4219 #CJK UNIFIED IDEOGRAPH
+  {0xBC6A, 0x5D9D}, //4220 #CJK UNIFIED IDEOGRAPH
+  {0xBC6B, 0x5D94}, //4221 #CJK UNIFIED IDEOGRAPH
+  {0xBC6C, 0x5E62}, //4222 #CJK UNIFIED IDEOGRAPH
+  {0xBC6D, 0x5E5F}, //4223 #CJK UNIFIED IDEOGRAPH
+  {0xBC6E, 0x5E61}, //4224 #CJK UNIFIED IDEOGRAPH
+  {0xBC6F, 0x5EE2}, //4225 #CJK UNIFIED IDEOGRAPH
+  {0xBC70, 0x5EDA}, //4226 #CJK UNIFIED IDEOGRAPH
+  {0xBC71, 0x5EDF}, //4227 #CJK UNIFIED IDEOGRAPH
+  {0xBC72, 0x5EDD}, //4228 #CJK UNIFIED IDEOGRAPH
+  {0xBC73, 0x5EE3}, //4229 #CJK UNIFIED IDEOGRAPH
+  {0xBC74, 0x5EE0}, //4230 #CJK UNIFIED IDEOGRAPH
+  {0xBC75, 0x5F48}, //4231 #CJK UNIFIED IDEOGRAPH
+  {0xBC76, 0x5F71}, //4232 #CJK UNIFIED IDEOGRAPH
+  {0xBC77, 0x5FB7}, //4233 #CJK UNIFIED IDEOGRAPH
+  {0xBC78, 0x5FB5}, //4234 #CJK UNIFIED IDEOGRAPH
+  {0xBC79, 0x6176}, //4235 #CJK UNIFIED IDEOGRAPH
+  {0xBC7A, 0x6167}, //4236 #CJK UNIFIED IDEOGRAPH
+  {0xBC7B, 0x616E}, //4237 #CJK UNIFIED IDEOGRAPH
+  {0xBC7C, 0x615D}, //4238 #CJK UNIFIED IDEOGRAPH
+  {0xBC7D, 0x6155}, //4239 #CJK UNIFIED IDEOGRAPH
+  {0xBC7E, 0x6182}, //4240 #CJK UNIFIED IDEOGRAPH
+  {0xBCA1, 0x617C}, //4241 #CJK UNIFIED IDEOGRAPH
+  {0xBCA2, 0x6170}, //4242 #CJK UNIFIED IDEOGRAPH
+  {0xBCA3, 0x616B}, //4243 #CJK UNIFIED IDEOGRAPH
+  {0xBCA4, 0x617E}, //4244 #CJK UNIFIED IDEOGRAPH
+  {0xBCA5, 0x61A7}, //4245 #CJK UNIFIED IDEOGRAPH
+  {0xBCA6, 0x6190}, //4246 #CJK UNIFIED IDEOGRAPH
+  {0xBCA7, 0x61AB}, //4247 #CJK UNIFIED IDEOGRAPH
+  {0xBCA8, 0x618E}, //4248 #CJK UNIFIED IDEOGRAPH
+  {0xBCA9, 0x61AC}, //4249 #CJK UNIFIED IDEOGRAPH
+  {0xBCAA, 0x619A}, //4250 #CJK UNIFIED IDEOGRAPH
+  {0xBCAB, 0x61A4}, //4251 #CJK UNIFIED IDEOGRAPH
+  {0xBCAC, 0x6194}, //4252 #CJK UNIFIED IDEOGRAPH
+  {0xBCAD, 0x61AE}, //4253 #CJK UNIFIED IDEOGRAPH
+  {0xBCAE, 0x622E}, //4254 #CJK UNIFIED IDEOGRAPH
+  {0xBCAF, 0x6469}, //4255 #CJK UNIFIED IDEOGRAPH
+  {0xBCB0, 0x646F}, //4256 #CJK UNIFIED IDEOGRAPH
+  {0xBCB1, 0x6479}, //4257 #CJK UNIFIED IDEOGRAPH
+  {0xBCB2, 0x649E}, //4258 #CJK UNIFIED IDEOGRAPH
+  {0xBCB3, 0x64B2}, //4259 #CJK UNIFIED IDEOGRAPH
+  {0xBCB4, 0x6488}, //4260 #CJK UNIFIED IDEOGRAPH
+  {0xBCB5, 0x6490}, //4261 #CJK UNIFIED IDEOGRAPH
+  {0xBCB6, 0x64B0}, //4262 #CJK UNIFIED IDEOGRAPH
+  {0xBCB7, 0x64A5}, //4263 #CJK UNIFIED IDEOGRAPH
+  {0xBCB8, 0x6493}, //4264 #CJK UNIFIED IDEOGRAPH
+  {0xBCB9, 0x6495}, //4265 #CJK UNIFIED IDEOGRAPH
+  {0xBCBA, 0x64A9}, //4266 #CJK UNIFIED IDEOGRAPH
+  {0xBCBB, 0x6492}, //4267 #CJK UNIFIED IDEOGRAPH
+  {0xBCBC, 0x64AE}, //4268 #CJK UNIFIED IDEOGRAPH
+  {0xBCBD, 0x64AD}, //4269 #CJK UNIFIED IDEOGRAPH
+  {0xBCBE, 0x64AB}, //4270 #CJK UNIFIED IDEOGRAPH
+  {0xBCBF, 0x649A}, //4271 #CJK UNIFIED IDEOGRAPH
+  {0xBCC0, 0x64AC}, //4272 #CJK UNIFIED IDEOGRAPH
+  {0xBCC1, 0x6499}, //4273 #CJK UNIFIED IDEOGRAPH
+  {0xBCC2, 0x64A2}, //4274 #CJK UNIFIED IDEOGRAPH
+  {0xBCC3, 0x64B3}, //4275 #CJK UNIFIED IDEOGRAPH
+  {0xBCC4, 0x6575}, //4276 #CJK UNIFIED IDEOGRAPH
+  {0xBCC5, 0x6577}, //4277 #CJK UNIFIED IDEOGRAPH
+  {0xBCC6, 0x6578}, //4278 #CJK UNIFIED IDEOGRAPH
+  {0xBCC7, 0x66AE}, //4279 #CJK UNIFIED IDEOGRAPH
+  {0xBCC8, 0x66AB}, //4280 #CJK UNIFIED IDEOGRAPH
+  {0xBCC9, 0x66B4}, //4281 #CJK UNIFIED IDEOGRAPH
+  {0xBCCA, 0x66B1}, //4282 #CJK UNIFIED IDEOGRAPH
+  {0xBCCB, 0x6A23}, //4283 #CJK UNIFIED IDEOGRAPH
+  {0xBCCC, 0x6A1F}, //4284 #CJK UNIFIED IDEOGRAPH
+  {0xBCCD, 0x69E8}, //4285 #CJK UNIFIED IDEOGRAPH
+  {0xBCCE, 0x6A01}, //4286 #CJK UNIFIED IDEOGRAPH
+  {0xBCCF, 0x6A1E}, //4287 #CJK UNIFIED IDEOGRAPH
+  {0xBCD0, 0x6A19}, //4288 #CJK UNIFIED IDEOGRAPH
+  {0xBCD1, 0x69FD}, //4289 #CJK UNIFIED IDEOGRAPH
+  {0xBCD2, 0x6A21}, //4290 #CJK UNIFIED IDEOGRAPH
+  {0xBCD3, 0x6A13}, //4291 #CJK UNIFIED IDEOGRAPH
+  {0xBCD4, 0x6A0A}, //4292 #CJK UNIFIED IDEOGRAPH
+  {0xBCD5, 0x69F3}, //4293 #CJK UNIFIED IDEOGRAPH
+  {0xBCD6, 0x6A02}, //4294 #CJK UNIFIED IDEOGRAPH
+  {0xBCD7, 0x6A05}, //4295 #CJK UNIFIED IDEOGRAPH
+  {0xBCD8, 0x69ED}, //4296 #CJK UNIFIED IDEOGRAPH
+  {0xBCD9, 0x6A11}, //4297 #CJK UNIFIED IDEOGRAPH
+  {0xBCDA, 0x6B50}, //4298 #CJK UNIFIED IDEOGRAPH
+  {0xBCDB, 0x6B4E}, //4299 #CJK UNIFIED IDEOGRAPH
+  {0xBCDC, 0x6BA4}, //4300 #CJK UNIFIED IDEOGRAPH
+  {0xBCDD, 0x6BC5}, //4301 #CJK UNIFIED IDEOGRAPH
+  {0xBCDE, 0x6BC6}, //4302 #CJK UNIFIED IDEOGRAPH
+  {0xBCDF, 0x6F3F}, //4303 #CJK UNIFIED IDEOGRAPH
+  {0xBCE0, 0x6F7C}, //4304 #CJK UNIFIED IDEOGRAPH
+  {0xBCE1, 0x6F84}, //4305 #CJK UNIFIED IDEOGRAPH
+  {0xBCE2, 0x6F51}, //4306 #CJK UNIFIED IDEOGRAPH
+  {0xBCE3, 0x6F66}, //4307 #CJK UNIFIED IDEOGRAPH
+  {0xBCE4, 0x6F54}, //4308 #CJK UNIFIED IDEOGRAPH
+  {0xBCE5, 0x6F86}, //4309 #CJK UNIFIED IDEOGRAPH
+  {0xBCE6, 0x6F6D}, //4310 #CJK UNIFIED IDEOGRAPH
+  {0xBCE7, 0x6F5B}, //4311 #CJK UNIFIED IDEOGRAPH
+  {0xBCE8, 0x6F78}, //4312 #CJK UNIFIED IDEOGRAPH
+  {0xBCE9, 0x6F6E}, //4313 #CJK UNIFIED IDEOGRAPH
+  {0xBCEA, 0x6F8E}, //4314 #CJK UNIFIED IDEOGRAPH
+  {0xBCEB, 0x6F7A}, //4315 #CJK UNIFIED IDEOGRAPH
+  {0xBCEC, 0x6F70}, //4316 #CJK UNIFIED IDEOGRAPH
+  {0xBCED, 0x6F64}, //4317 #CJK UNIFIED IDEOGRAPH
+  {0xBCEE, 0x6F97}, //4318 #CJK UNIFIED IDEOGRAPH
+  {0xBCEF, 0x6F58}, //4319 #CJK UNIFIED IDEOGRAPH
+  {0xBCF0, 0x6ED5}, //4320 #CJK UNIFIED IDEOGRAPH
+  {0xBCF1, 0x6F6F}, //4321 #CJK UNIFIED IDEOGRAPH
+  {0xBCF2, 0x6F60}, //4322 #CJK UNIFIED IDEOGRAPH
+  {0xBCF3, 0x6F5F}, //4323 #CJK UNIFIED IDEOGRAPH
+  {0xBCF4, 0x719F}, //4324 #CJK UNIFIED IDEOGRAPH
+  {0xBCF5, 0x71AC}, //4325 #CJK UNIFIED IDEOGRAPH
+  {0xBCF6, 0x71B1}, //4326 #CJK UNIFIED IDEOGRAPH
+  {0xBCF7, 0x71A8}, //4327 #CJK UNIFIED IDEOGRAPH
+  {0xBCF8, 0x7256}, //4328 #CJK UNIFIED IDEOGRAPH
+  {0xBCF9, 0x729B}, //4329 #CJK UNIFIED IDEOGRAPH
+  {0xBCFA, 0x734E}, //4330 #CJK UNIFIED IDEOGRAPH
+  {0xBCFB, 0x7357}, //4331 #CJK UNIFIED IDEOGRAPH
+  {0xBCFC, 0x7469}, //4332 #CJK UNIFIED IDEOGRAPH
+  {0xBCFD, 0x748B}, //4333 #CJK UNIFIED IDEOGRAPH
+  {0xBCFE, 0x7483}, //4334 #CJK UNIFIED IDEOGRAPH
+  {0xBD40, 0x747E}, //4335 #CJK UNIFIED IDEOGRAPH
+  {0xBD41, 0x7480}, //4336 #CJK UNIFIED IDEOGRAPH
+  {0xBD42, 0x757F}, //4337 #CJK UNIFIED IDEOGRAPH
+  {0xBD43, 0x7620}, //4338 #CJK UNIFIED IDEOGRAPH
+  {0xBD44, 0x7629}, //4339 #CJK UNIFIED IDEOGRAPH
+  {0xBD45, 0x761F}, //4340 #CJK UNIFIED IDEOGRAPH
+  {0xBD46, 0x7624}, //4341 #CJK UNIFIED IDEOGRAPH
+  {0xBD47, 0x7626}, //4342 #CJK UNIFIED IDEOGRAPH
+  {0xBD48, 0x7621}, //4343 #CJK UNIFIED IDEOGRAPH
+  {0xBD49, 0x7622}, //4344 #CJK UNIFIED IDEOGRAPH
+  {0xBD4A, 0x769A}, //4345 #CJK UNIFIED IDEOGRAPH
+  {0xBD4B, 0x76BA}, //4346 #CJK UNIFIED IDEOGRAPH
+  {0xBD4C, 0x76E4}, //4347 #CJK UNIFIED IDEOGRAPH
+  {0xBD4D, 0x778E}, //4348 #CJK UNIFIED IDEOGRAPH
+  {0xBD4E, 0x7787}, //4349 #CJK UNIFIED IDEOGRAPH
+  {0xBD4F, 0x778C}, //4350 #CJK UNIFIED IDEOGRAPH
+  {0xBD50, 0x7791}, //4351 #CJK UNIFIED IDEOGRAPH
+  {0xBD51, 0x778B}, //4352 #CJK UNIFIED IDEOGRAPH
+  {0xBD52, 0x78CB}, //4353 #CJK UNIFIED IDEOGRAPH
+  {0xBD53, 0x78C5}, //4354 #CJK UNIFIED IDEOGRAPH
+  {0xBD54, 0x78BA}, //4355 #CJK UNIFIED IDEOGRAPH
+  {0xBD55, 0x78CA}, //4356 #CJK UNIFIED IDEOGRAPH
+  {0xBD56, 0x78BE}, //4357 #CJK UNIFIED IDEOGRAPH
+  {0xBD57, 0x78D5}, //4358 #CJK UNIFIED IDEOGRAPH
+  {0xBD58, 0x78BC}, //4359 #CJK UNIFIED IDEOGRAPH
+  {0xBD59, 0x78D0}, //4360 #CJK UNIFIED IDEOGRAPH
+  {0xBD5A, 0x7A3F}, //4361 #CJK UNIFIED IDEOGRAPH
+  {0xBD5B, 0x7A3C}, //4362 #CJK UNIFIED IDEOGRAPH
+  {0xBD5C, 0x7A40}, //4363 #CJK UNIFIED IDEOGRAPH
+  {0xBD5D, 0x7A3D}, //4364 #CJK UNIFIED IDEOGRAPH
+  {0xBD5E, 0x7A37}, //4365 #CJK UNIFIED IDEOGRAPH
+  {0xBD5F, 0x7A3B}, //4366 #CJK UNIFIED IDEOGRAPH
+  {0xBD60, 0x7AAF}, //4367 #CJK UNIFIED IDEOGRAPH
+  {0xBD61, 0x7AAE}, //4368 #CJK UNIFIED IDEOGRAPH
+  {0xBD62, 0x7BAD}, //4369 #CJK UNIFIED IDEOGRAPH
+  {0xBD63, 0x7BB1}, //4370 #CJK UNIFIED IDEOGRAPH
+  {0xBD64, 0x7BC4}, //4371 #CJK UNIFIED IDEOGRAPH
+  {0xBD65, 0x7BB4}, //4372 #CJK UNIFIED IDEOGRAPH
+  {0xBD66, 0x7BC6}, //4373 #CJK UNIFIED IDEOGRAPH
+  {0xBD67, 0x7BC7}, //4374 #CJK UNIFIED IDEOGRAPH
+  {0xBD68, 0x7BC1}, //4375 #CJK UNIFIED IDEOGRAPH
+  {0xBD69, 0x7BA0}, //4376 #CJK UNIFIED IDEOGRAPH
+  {0xBD6A, 0x7BCC}, //4377 #CJK UNIFIED IDEOGRAPH
+  {0xBD6B, 0x7CCA}, //4378 #CJK UNIFIED IDEOGRAPH
+  {0xBD6C, 0x7DE0}, //4379 #CJK UNIFIED IDEOGRAPH
+  {0xBD6D, 0x7DF4}, //4380 #CJK UNIFIED IDEOGRAPH
+  {0xBD6E, 0x7DEF}, //4381 #CJK UNIFIED IDEOGRAPH
+  {0xBD6F, 0x7DFB}, //4382 #CJK UNIFIED IDEOGRAPH
+  {0xBD70, 0x7DD8}, //4383 #CJK UNIFIED IDEOGRAPH
+  {0xBD71, 0x7DEC}, //4384 #CJK UNIFIED IDEOGRAPH
+  {0xBD72, 0x7DDD}, //4385 #CJK UNIFIED IDEOGRAPH
+  {0xBD73, 0x7DE8}, //4386 #CJK UNIFIED IDEOGRAPH
+  {0xBD74, 0x7DE3}, //4387 #CJK UNIFIED IDEOGRAPH
+  {0xBD75, 0x7DDA}, //4388 #CJK UNIFIED IDEOGRAPH
+  {0xBD76, 0x7DDE}, //4389 #CJK UNIFIED IDEOGRAPH
+  {0xBD77, 0x7DE9}, //4390 #CJK UNIFIED IDEOGRAPH
+  {0xBD78, 0x7D9E}, //4391 #CJK UNIFIED IDEOGRAPH
+  {0xBD79, 0x7DD9}, //4392 #CJK UNIFIED IDEOGRAPH
+  {0xBD7A, 0x7DF2}, //4393 #CJK UNIFIED IDEOGRAPH
+  {0xBD7B, 0x7DF9}, //4394 #CJK UNIFIED IDEOGRAPH
+  {0xBD7C, 0x7F75}, //4395 #CJK UNIFIED IDEOGRAPH
+  {0xBD7D, 0x7F77}, //4396 #CJK UNIFIED IDEOGRAPH
+  {0xBD7E, 0x7FAF}, //4397 #CJK UNIFIED IDEOGRAPH
+  {0xBDA1, 0x7FE9}, //4398 #CJK UNIFIED IDEOGRAPH
+  {0xBDA2, 0x8026}, //4399 #CJK UNIFIED IDEOGRAPH
+  {0xBDA3, 0x819B}, //4400 #CJK UNIFIED IDEOGRAPH
+  {0xBDA4, 0x819C}, //4401 #CJK UNIFIED IDEOGRAPH
+  {0xBDA5, 0x819D}, //4402 #CJK UNIFIED IDEOGRAPH
+  {0xBDA6, 0x81A0}, //4403 #CJK UNIFIED IDEOGRAPH
+  {0xBDA7, 0x819A}, //4404 #CJK UNIFIED IDEOGRAPH
+  {0xBDA8, 0x8198}, //4405 #CJK UNIFIED IDEOGRAPH
+  {0xBDA9, 0x8517}, //4406 #CJK UNIFIED IDEOGRAPH
+  {0xBDAA, 0x853D}, //4407 #CJK UNIFIED IDEOGRAPH
+  {0xBDAB, 0x851A}, //4408 #CJK UNIFIED IDEOGRAPH
+  {0xBDAC, 0x84EE}, //4409 #CJK UNIFIED IDEOGRAPH
+  {0xBDAD, 0x852C}, //4410 #CJK UNIFIED IDEOGRAPH
+  {0xBDAE, 0x852D}, //4411 #CJK UNIFIED IDEOGRAPH
+  {0xBDAF, 0x8513}, //4412 #CJK UNIFIED IDEOGRAPH
+  {0xBDB0, 0x8511}, //4413 #CJK UNIFIED IDEOGRAPH
+  {0xBDB1, 0x8523}, //4414 #CJK UNIFIED IDEOGRAPH
+  {0xBDB2, 0x8521}, //4415 #CJK UNIFIED IDEOGRAPH
+  {0xBDB3, 0x8514}, //4416 #CJK UNIFIED IDEOGRAPH
+  {0xBDB4, 0x84EC}, //4417 #CJK UNIFIED IDEOGRAPH
+  {0xBDB5, 0x8525}, //4418 #CJK UNIFIED IDEOGRAPH
+  {0xBDB6, 0x84FF}, //4419 #CJK UNIFIED IDEOGRAPH
+  {0xBDB7, 0x8506}, //4420 #CJK UNIFIED IDEOGRAPH
+  {0xBDB8, 0x8782}, //4421 #CJK UNIFIED IDEOGRAPH
+  {0xBDB9, 0x8774}, //4422 #CJK UNIFIED IDEOGRAPH
+  {0xBDBA, 0x8776}, //4423 #CJK UNIFIED IDEOGRAPH
+  {0xBDBB, 0x8760}, //4424 #CJK UNIFIED IDEOGRAPH
+  {0xBDBC, 0x8766}, //4425 #CJK UNIFIED IDEOGRAPH
+  {0xBDBD, 0x8778}, //4426 #CJK UNIFIED IDEOGRAPH
+  {0xBDBE, 0x8768}, //4427 #CJK UNIFIED IDEOGRAPH
+  {0xBDBF, 0x8759}, //4428 #CJK UNIFIED IDEOGRAPH
+  {0xBDC0, 0x8757}, //4429 #CJK UNIFIED IDEOGRAPH
+  {0xBDC1, 0x874C}, //4430 #CJK UNIFIED IDEOGRAPH
+  {0xBDC2, 0x8753}, //4431 #CJK UNIFIED IDEOGRAPH
+  {0xBDC3, 0x885B}, //4432 #CJK UNIFIED IDEOGRAPH
+  {0xBDC4, 0x885D}, //4433 #CJK UNIFIED IDEOGRAPH
+  {0xBDC5, 0x8910}, //4434 #CJK UNIFIED IDEOGRAPH
+  {0xBDC6, 0x8907}, //4435 #CJK UNIFIED IDEOGRAPH
+  {0xBDC7, 0x8912}, //4436 #CJK UNIFIED IDEOGRAPH
+  {0xBDC8, 0x8913}, //4437 #CJK UNIFIED IDEOGRAPH
+  {0xBDC9, 0x8915}, //4438 #CJK UNIFIED IDEOGRAPH
+  {0xBDCA, 0x890A}, //4439 #CJK UNIFIED IDEOGRAPH
+  {0xBDCB, 0x8ABC}, //4440 #CJK UNIFIED IDEOGRAPH
+  {0xBDCC, 0x8AD2}, //4441 #CJK UNIFIED IDEOGRAPH
+  {0xBDCD, 0x8AC7}, //4442 #CJK UNIFIED IDEOGRAPH
+  {0xBDCE, 0x8AC4}, //4443 #CJK UNIFIED IDEOGRAPH
+  {0xBDCF, 0x8A95}, //4444 #CJK UNIFIED IDEOGRAPH
+  {0xBDD0, 0x8ACB}, //4445 #CJK UNIFIED IDEOGRAPH
+  {0xBDD1, 0x8AF8}, //4446 #CJK UNIFIED IDEOGRAPH
+  {0xBDD2, 0x8AB2}, //4447 #CJK UNIFIED IDEOGRAPH
+  {0xBDD3, 0x8AC9}, //4448 #CJK UNIFIED IDEOGRAPH
+  {0xBDD4, 0x8AC2}, //4449 #CJK UNIFIED IDEOGRAPH
+  {0xBDD5, 0x8ABF}, //4450 #CJK UNIFIED IDEOGRAPH
+  {0xBDD6, 0x8AB0}, //4451 #CJK UNIFIED IDEOGRAPH
+  {0xBDD7, 0x8AD6}, //4452 #CJK UNIFIED IDEOGRAPH
+  {0xBDD8, 0x8ACD}, //4453 #CJK UNIFIED IDEOGRAPH
+  {0xBDD9, 0x8AB6}, //4454 #CJK UNIFIED IDEOGRAPH
+  {0xBDDA, 0x8AB9}, //4455 #CJK UNIFIED IDEOGRAPH
+  {0xBDDB, 0x8ADB}, //4456 #CJK UNIFIED IDEOGRAPH
+  {0xBDDC, 0x8C4C}, //4457 #CJK UNIFIED IDEOGRAPH
+  {0xBDDD, 0x8C4E}, //4458 #CJK UNIFIED IDEOGRAPH
+  {0xBDDE, 0x8C6C}, //4459 #CJK UNIFIED IDEOGRAPH
+  {0xBDDF, 0x8CE0}, //4460 #CJK UNIFIED IDEOGRAPH
+  {0xBDE0, 0x8CDE}, //4461 #CJK UNIFIED IDEOGRAPH
+  {0xBDE1, 0x8CE6}, //4462 #CJK UNIFIED IDEOGRAPH
+  {0xBDE2, 0x8CE4}, //4463 #CJK UNIFIED IDEOGRAPH
+  {0xBDE3, 0x8CEC}, //4464 #CJK UNIFIED IDEOGRAPH
+  {0xBDE4, 0x8CED}, //4465 #CJK UNIFIED IDEOGRAPH
+  {0xBDE5, 0x8CE2}, //4466 #CJK UNIFIED IDEOGRAPH
+  {0xBDE6, 0x8CE3}, //4467 #CJK UNIFIED IDEOGRAPH
+  {0xBDE7, 0x8CDC}, //4468 #CJK UNIFIED IDEOGRAPH
+  {0xBDE8, 0x8CEA}, //4469 #CJK UNIFIED IDEOGRAPH
+  {0xBDE9, 0x8CE1}, //4470 #CJK UNIFIED IDEOGRAPH
+  {0xBDEA, 0x8D6D}, //4471 #CJK UNIFIED IDEOGRAPH
+  {0xBDEB, 0x8D9F}, //4472 #CJK UNIFIED IDEOGRAPH
+  {0xBDEC, 0x8DA3}, //4473 #CJK UNIFIED IDEOGRAPH
+  {0xBDED, 0x8E2B}, //4474 #CJK UNIFIED IDEOGRAPH
+  {0xBDEE, 0x8E10}, //4475 #CJK UNIFIED IDEOGRAPH
+  {0xBDEF, 0x8E1D}, //4476 #CJK UNIFIED IDEOGRAPH
+  {0xBDF0, 0x8E22}, //4477 #CJK UNIFIED IDEOGRAPH
+  {0xBDF1, 0x8E0F}, //4478 #CJK UNIFIED IDEOGRAPH
+  {0xBDF2, 0x8E29}, //4479 #CJK UNIFIED IDEOGRAPH
+  {0xBDF3, 0x8E1F}, //4480 #CJK UNIFIED IDEOGRAPH
+  {0xBDF4, 0x8E21}, //4481 #CJK UNIFIED IDEOGRAPH
+  {0xBDF5, 0x8E1E}, //4482 #CJK UNIFIED IDEOGRAPH
+  {0xBDF6, 0x8EBA}, //4483 #CJK UNIFIED IDEOGRAPH
+  {0xBDF7, 0x8F1D}, //4484 #CJK UNIFIED IDEOGRAPH
+  {0xBDF8, 0x8F1B}, //4485 #CJK UNIFIED IDEOGRAPH
+  {0xBDF9, 0x8F1F}, //4486 #CJK UNIFIED IDEOGRAPH
+  {0xBDFA, 0x8F29}, //4487 #CJK UNIFIED IDEOGRAPH
+  {0xBDFB, 0x8F26}, //4488 #CJK UNIFIED IDEOGRAPH
+  {0xBDFC, 0x8F2A}, //4489 #CJK UNIFIED IDEOGRAPH
+  {0xBDFD, 0x8F1C}, //4490 #CJK UNIFIED IDEOGRAPH
+  {0xBDFE, 0x8F1E}, //4491 #CJK UNIFIED IDEOGRAPH
+  {0xBE40, 0x8F25}, //4492 #CJK UNIFIED IDEOGRAPH
+  {0xBE41, 0x9069}, //4493 #CJK UNIFIED IDEOGRAPH
+  {0xBE42, 0x906E}, //4494 #CJK UNIFIED IDEOGRAPH
+  {0xBE43, 0x9068}, //4495 #CJK UNIFIED IDEOGRAPH
+  {0xBE44, 0x906D}, //4496 #CJK UNIFIED IDEOGRAPH
+  {0xBE45, 0x9077}, //4497 #CJK UNIFIED IDEOGRAPH
+  {0xBE46, 0x9130}, //4498 #CJK UNIFIED IDEOGRAPH
+  {0xBE47, 0x912D}, //4499 #CJK UNIFIED IDEOGRAPH
+  {0xBE48, 0x9127}, //4500 #CJK UNIFIED IDEOGRAPH
+  {0xBE49, 0x9131}, //4501 #CJK UNIFIED IDEOGRAPH
+  {0xBE4A, 0x9187}, //4502 #CJK UNIFIED IDEOGRAPH
+  {0xBE4B, 0x9189}, //4503 #CJK UNIFIED IDEOGRAPH
+  {0xBE4C, 0x918B}, //4504 #CJK UNIFIED IDEOGRAPH
+  {0xBE4D, 0x9183}, //4505 #CJK UNIFIED IDEOGRAPH
+  {0xBE4E, 0x92C5}, //4506 #CJK UNIFIED IDEOGRAPH
+  {0xBE4F, 0x92BB}, //4507 #CJK UNIFIED IDEOGRAPH
+  {0xBE50, 0x92B7}, //4508 #CJK UNIFIED IDEOGRAPH
+  {0xBE51, 0x92EA}, //4509 #CJK UNIFIED IDEOGRAPH
+  {0xBE52, 0x92AC}, //4510 #CJK UNIFIED IDEOGRAPH
+  {0xBE53, 0x92E4}, //4511 #CJK UNIFIED IDEOGRAPH
+  {0xBE54, 0x92C1}, //4512 #CJK UNIFIED IDEOGRAPH
+  {0xBE55, 0x92B3}, //4513 #CJK UNIFIED IDEOGRAPH
+  {0xBE56, 0x92BC}, //4514 #CJK UNIFIED IDEOGRAPH
+  {0xBE57, 0x92D2}, //4515 #CJK UNIFIED IDEOGRAPH
+  {0xBE58, 0x92C7}, //4516 #CJK UNIFIED IDEOGRAPH
+  {0xBE59, 0x92F0}, //4517 #CJK UNIFIED IDEOGRAPH
+  {0xBE5A, 0x92B2}, //4518 #CJK UNIFIED IDEOGRAPH
+  {0xBE5B, 0x95AD}, //4519 #CJK UNIFIED IDEOGRAPH
+  {0xBE5C, 0x95B1}, //4520 #CJK UNIFIED IDEOGRAPH
+  {0xBE5D, 0x9704}, //4521 #CJK UNIFIED IDEOGRAPH
+  {0xBE5E, 0x9706}, //4522 #CJK UNIFIED IDEOGRAPH
+  {0xBE5F, 0x9707}, //4523 #CJK UNIFIED IDEOGRAPH
+  {0xBE60, 0x9709}, //4524 #CJK UNIFIED IDEOGRAPH
+  {0xBE61, 0x9760}, //4525 #CJK UNIFIED IDEOGRAPH
+  {0xBE62, 0x978D}, //4526 #CJK UNIFIED IDEOGRAPH
+  {0xBE63, 0x978B}, //4527 #CJK UNIFIED IDEOGRAPH
+  {0xBE64, 0x978F}, //4528 #CJK UNIFIED IDEOGRAPH
+  {0xBE65, 0x9821}, //4529 #CJK UNIFIED IDEOGRAPH
+  {0xBE66, 0x982B}, //4530 #CJK UNIFIED IDEOGRAPH
+  {0xBE67, 0x981C}, //4531 #CJK UNIFIED IDEOGRAPH
+  {0xBE68, 0x98B3}, //4532 #CJK UNIFIED IDEOGRAPH
+  {0xBE69, 0x990A}, //4533 #CJK UNIFIED IDEOGRAPH
+  {0xBE6A, 0x9913}, //4534 #CJK UNIFIED IDEOGRAPH
+  {0xBE6B, 0x9912}, //4535 #CJK UNIFIED IDEOGRAPH
+  {0xBE6C, 0x9918}, //4536 #CJK UNIFIED IDEOGRAPH
+  {0xBE6D, 0x99DD}, //4537 #CJK UNIFIED IDEOGRAPH
+  {0xBE6E, 0x99D0}, //4538 #CJK UNIFIED IDEOGRAPH
+  {0xBE6F, 0x99DF}, //4539 #CJK UNIFIED IDEOGRAPH
+  {0xBE70, 0x99DB}, //4540 #CJK UNIFIED IDEOGRAPH
+  {0xBE71, 0x99D1}, //4541 #CJK UNIFIED IDEOGRAPH
+  {0xBE72, 0x99D5}, //4542 #CJK UNIFIED IDEOGRAPH
+  {0xBE73, 0x99D2}, //4543 #CJK UNIFIED IDEOGRAPH
+  {0xBE74, 0x99D9}, //4544 #CJK UNIFIED IDEOGRAPH
+  {0xBE75, 0x9AB7}, //4545 #CJK UNIFIED IDEOGRAPH
+  {0xBE76, 0x9AEE}, //4546 #CJK UNIFIED IDEOGRAPH
+  {0xBE77, 0x9AEF}, //4547 #CJK UNIFIED IDEOGRAPH
+  {0xBE78, 0x9B27}, //4548 #CJK UNIFIED IDEOGRAPH
+  {0xBE79, 0x9B45}, //4549 #CJK UNIFIED IDEOGRAPH
+  {0xBE7A, 0x9B44}, //4550 #CJK UNIFIED IDEOGRAPH
+  {0xBE7B, 0x9B77}, //4551 #CJK UNIFIED IDEOGRAPH
+  {0xBE7C, 0x9B6F}, //4552 #CJK UNIFIED IDEOGRAPH
+  {0xBE7D, 0x9D06}, //4553 #CJK UNIFIED IDEOGRAPH
+  {0xBE7E, 0x9D09}, //4554 #CJK UNIFIED IDEOGRAPH
+  {0xBEA1, 0x9D03}, //4555 #CJK UNIFIED IDEOGRAPH
+  {0xBEA2, 0x9EA9}, //4556 #CJK UNIFIED IDEOGRAPH
+  {0xBEA3, 0x9EBE}, //4557 #CJK UNIFIED IDEOGRAPH
+  {0xBEA4, 0x9ECE}, //4558 #CJK UNIFIED IDEOGRAPH
+  {0xBEA5, 0x58A8}, //4559 #CJK UNIFIED IDEOGRAPH
+  {0xBEA6, 0x9F52}, //4560 #CJK UNIFIED IDEOGRAPH
+  {0xBEA7, 0x5112}, //4561 #CJK UNIFIED IDEOGRAPH
+  {0xBEA8, 0x5118}, //4562 #CJK UNIFIED IDEOGRAPH
+  {0xBEA9, 0x5114}, //4563 #CJK UNIFIED IDEOGRAPH
+  {0xBEAA, 0x5110}, //4564 #CJK UNIFIED IDEOGRAPH
+  {0xBEAB, 0x5115}, //4565 #CJK UNIFIED IDEOGRAPH
+  {0xBEAC, 0x5180}, //4566 #CJK UNIFIED IDEOGRAPH
+  {0xBEAD, 0x51AA}, //4567 #CJK UNIFIED IDEOGRAPH
+  {0xBEAE, 0x51DD}, //4568 #CJK UNIFIED IDEOGRAPH
+  {0xBEAF, 0x5291}, //4569 #CJK UNIFIED IDEOGRAPH
+  {0xBEB0, 0x5293}, //4570 #CJK UNIFIED IDEOGRAPH
+  {0xBEB1, 0x52F3}, //4571 #CJK UNIFIED IDEOGRAPH
+  {0xBEB2, 0x5659}, //4572 #CJK UNIFIED IDEOGRAPH
+  {0xBEB3, 0x566B}, //4573 #CJK UNIFIED IDEOGRAPH
+  {0xBEB4, 0x5679}, //4574 #CJK UNIFIED IDEOGRAPH
+  {0xBEB5, 0x5669}, //4575 #CJK UNIFIED IDEOGRAPH
+  {0xBEB6, 0x5664}, //4576 #CJK UNIFIED IDEOGRAPH
+  {0xBEB7, 0x5678}, //4577 #CJK UNIFIED IDEOGRAPH
+  {0xBEB8, 0x566A}, //4578 #CJK UNIFIED IDEOGRAPH
+  {0xBEB9, 0x5668}, //4579 #CJK UNIFIED IDEOGRAPH
+  {0xBEBA, 0x5665}, //4580 #CJK UNIFIED IDEOGRAPH
+  {0xBEBB, 0x5671}, //4581 #CJK UNIFIED IDEOGRAPH
+  {0xBEBC, 0x566F}, //4582 #CJK UNIFIED IDEOGRAPH
+  {0xBEBD, 0x566C}, //4583 #CJK UNIFIED IDEOGRAPH
+  {0xBEBE, 0x5662}, //4584 #CJK UNIFIED IDEOGRAPH
+  {0xBEBF, 0x5676}, //4585 #CJK UNIFIED IDEOGRAPH
+  {0xBEC0, 0x58C1}, //4586 #CJK UNIFIED IDEOGRAPH
+  {0xBEC1, 0x58BE}, //4587 #CJK UNIFIED IDEOGRAPH
+  {0xBEC2, 0x58C7}, //4588 #CJK UNIFIED IDEOGRAPH
+  {0xBEC3, 0x58C5}, //4589 #CJK UNIFIED IDEOGRAPH
+  {0xBEC4, 0x596E}, //4590 #CJK UNIFIED IDEOGRAPH
+  {0xBEC5, 0x5B1D}, //4591 #CJK UNIFIED IDEOGRAPH
+  {0xBEC6, 0x5B34}, //4592 #CJK UNIFIED IDEOGRAPH
+  {0xBEC7, 0x5B78}, //4593 #CJK UNIFIED IDEOGRAPH
+  {0xBEC8, 0x5BF0}, //4594 #CJK UNIFIED IDEOGRAPH
+  {0xBEC9, 0x5C0E}, //4595 #CJK UNIFIED IDEOGRAPH
+  {0xBECA, 0x5F4A}, //4596 #CJK UNIFIED IDEOGRAPH
+  {0xBECB, 0x61B2}, //4597 #CJK UNIFIED IDEOGRAPH
+  {0xBECC, 0x6191}, //4598 #CJK UNIFIED IDEOGRAPH
+  {0xBECD, 0x61A9}, //4599 #CJK UNIFIED IDEOGRAPH
+  {0xBECE, 0x618A}, //4600 #CJK UNIFIED IDEOGRAPH
+  {0xBECF, 0x61CD}, //4601 #CJK UNIFIED IDEOGRAPH
+  {0xBED0, 0x61B6}, //4602 #CJK UNIFIED IDEOGRAPH
+  {0xBED1, 0x61BE}, //4603 #CJK UNIFIED IDEOGRAPH
+  {0xBED2, 0x61CA}, //4604 #CJK UNIFIED IDEOGRAPH
+  {0xBED3, 0x61C8}, //4605 #CJK UNIFIED IDEOGRAPH
+  {0xBED4, 0x6230}, //4606 #CJK UNIFIED IDEOGRAPH
+  {0xBED5, 0x64C5}, //4607 #CJK UNIFIED IDEOGRAPH
+  {0xBED6, 0x64C1}, //4608 #CJK UNIFIED IDEOGRAPH
+  {0xBED7, 0x64CB}, //4609 #CJK UNIFIED IDEOGRAPH
+  {0xBED8, 0x64BB}, //4610 #CJK UNIFIED IDEOGRAPH
+  {0xBED9, 0x64BC}, //4611 #CJK UNIFIED IDEOGRAPH
+  {0xBEDA, 0x64DA}, //4612 #CJK UNIFIED IDEOGRAPH
+  {0xBEDB, 0x64C4}, //4613 #CJK UNIFIED IDEOGRAPH
+  {0xBEDC, 0x64C7}, //4614 #CJK UNIFIED IDEOGRAPH
+  {0xBEDD, 0x64C2}, //4615 #CJK UNIFIED IDEOGRAPH
+  {0xBEDE, 0x64CD}, //4616 #CJK UNIFIED IDEOGRAPH
+  {0xBEDF, 0x64BF}, //4617 #CJK UNIFIED IDEOGRAPH
+  {0xBEE0, 0x64D2}, //4618 #CJK UNIFIED IDEOGRAPH
+  {0xBEE1, 0x64D4}, //4619 #CJK UNIFIED IDEOGRAPH
+  {0xBEE2, 0x64BE}, //4620 #CJK UNIFIED IDEOGRAPH
+  {0xBEE3, 0x6574}, //4621 #CJK UNIFIED IDEOGRAPH
+  {0xBEE4, 0x66C6}, //4622 #CJK UNIFIED IDEOGRAPH
+  {0xBEE5, 0x66C9}, //4623 #CJK UNIFIED IDEOGRAPH
+  {0xBEE6, 0x66B9}, //4624 #CJK UNIFIED IDEOGRAPH
+  {0xBEE7, 0x66C4}, //4625 #CJK UNIFIED IDEOGRAPH
+  {0xBEE8, 0x66C7}, //4626 #CJK UNIFIED IDEOGRAPH
+  {0xBEE9, 0x66B8}, //4627 #CJK UNIFIED IDEOGRAPH
+  {0xBEEA, 0x6A3D}, //4628 #CJK UNIFIED IDEOGRAPH
+  {0xBEEB, 0x6A38}, //4629 #CJK UNIFIED IDEOGRAPH
+  {0xBEEC, 0x6A3A}, //4630 #CJK UNIFIED IDEOGRAPH
+  {0xBEED, 0x6A59}, //4631 #CJK UNIFIED IDEOGRAPH
+  {0xBEEE, 0x6A6B}, //4632 #CJK UNIFIED IDEOGRAPH
+  {0xBEEF, 0x6A58}, //4633 #CJK UNIFIED IDEOGRAPH
+  {0xBEF0, 0x6A39}, //4634 #CJK UNIFIED IDEOGRAPH
+  {0xBEF1, 0x6A44}, //4635 #CJK UNIFIED IDEOGRAPH
+  {0xBEF2, 0x6A62}, //4636 #CJK UNIFIED IDEOGRAPH
+  {0xBEF3, 0x6A61}, //4637 #CJK UNIFIED IDEOGRAPH
+  {0xBEF4, 0x6A4B}, //4638 #CJK UNIFIED IDEOGRAPH
+  {0xBEF5, 0x6A47}, //4639 #CJK UNIFIED IDEOGRAPH
+  {0xBEF6, 0x6A35}, //4640 #CJK UNIFIED IDEOGRAPH
+  {0xBEF7, 0x6A5F}, //4641 #CJK UNIFIED IDEOGRAPH
+  {0xBEF8, 0x6A48}, //4642 #CJK UNIFIED IDEOGRAPH
+  {0xBEF9, 0x6B59}, //4643 #CJK UNIFIED IDEOGRAPH
+  {0xBEFA, 0x6B77}, //4644 #CJK UNIFIED IDEOGRAPH
+  {0xBEFB, 0x6C05}, //4645 #CJK UNIFIED IDEOGRAPH
+  {0xBEFC, 0x6FC2}, //4646 #CJK UNIFIED IDEOGRAPH
+  {0xBEFD, 0x6FB1}, //4647 #CJK UNIFIED IDEOGRAPH
+  {0xBEFE, 0x6FA1}, //4648 #CJK UNIFIED IDEOGRAPH
+  {0xBF40, 0x6FC3}, //4649 #CJK UNIFIED IDEOGRAPH
+  {0xBF41, 0x6FA4}, //4650 #CJK UNIFIED IDEOGRAPH
+  {0xBF42, 0x6FC1}, //4651 #CJK UNIFIED IDEOGRAPH
+  {0xBF43, 0x6FA7}, //4652 #CJK UNIFIED IDEOGRAPH
+  {0xBF44, 0x6FB3}, //4653 #CJK UNIFIED IDEOGRAPH
+  {0xBF45, 0x6FC0}, //4654 #CJK UNIFIED IDEOGRAPH
+  {0xBF46, 0x6FB9}, //4655 #CJK UNIFIED IDEOGRAPH
+  {0xBF47, 0x6FB6}, //4656 #CJK UNIFIED IDEOGRAPH
+  {0xBF48, 0x6FA6}, //4657 #CJK UNIFIED IDEOGRAPH
+  {0xBF49, 0x6FA0}, //4658 #CJK UNIFIED IDEOGRAPH
+  {0xBF4A, 0x6FB4}, //4659 #CJK UNIFIED IDEOGRAPH
+  {0xBF4B, 0x71BE}, //4660 #CJK UNIFIED IDEOGRAPH
+  {0xBF4C, 0x71C9}, //4661 #CJK UNIFIED IDEOGRAPH
+  {0xBF4D, 0x71D0}, //4662 #CJK UNIFIED IDEOGRAPH
+  {0xBF4E, 0x71D2}, //4663 #CJK UNIFIED IDEOGRAPH
+  {0xBF4F, 0x71C8}, //4664 #CJK UNIFIED IDEOGRAPH
+  {0xBF50, 0x71D5}, //4665 #CJK UNIFIED IDEOGRAPH
+  {0xBF51, 0x71B9}, //4666 #CJK UNIFIED IDEOGRAPH
+  {0xBF52, 0x71CE}, //4667 #CJK UNIFIED IDEOGRAPH
+  {0xBF53, 0x71D9}, //4668 #CJK UNIFIED IDEOGRAPH
+  {0xBF54, 0x71DC}, //4669 #CJK UNIFIED IDEOGRAPH
+  {0xBF55, 0x71C3}, //4670 #CJK UNIFIED IDEOGRAPH
+  {0xBF56, 0x71C4}, //4671 #CJK UNIFIED IDEOGRAPH
+  {0xBF57, 0x7368}, //4672 #CJK UNIFIED IDEOGRAPH
+  {0xBF58, 0x749C}, //4673 #CJK UNIFIED IDEOGRAPH
+  {0xBF59, 0x74A3}, //4674 #CJK UNIFIED IDEOGRAPH
+  {0xBF5A, 0x7498}, //4675 #CJK UNIFIED IDEOGRAPH
+  {0xBF5B, 0x749F}, //4676 #CJK UNIFIED IDEOGRAPH
+  {0xBF5C, 0x749E}, //4677 #CJK UNIFIED IDEOGRAPH
+  {0xBF5D, 0x74E2}, //4678 #CJK UNIFIED IDEOGRAPH
+  {0xBF5E, 0x750C}, //4679 #CJK UNIFIED IDEOGRAPH
+  {0xBF5F, 0x750D}, //4680 #CJK UNIFIED IDEOGRAPH
+  {0xBF60, 0x7634}, //4681 #CJK UNIFIED IDEOGRAPH
+  {0xBF61, 0x7638}, //4682 #CJK UNIFIED IDEOGRAPH
+  {0xBF62, 0x763A}, //4683 #CJK UNIFIED IDEOGRAPH
+  {0xBF63, 0x76E7}, //4684 #CJK UNIFIED IDEOGRAPH
+  {0xBF64, 0x76E5}, //4685 #CJK UNIFIED IDEOGRAPH
+  {0xBF65, 0x77A0}, //4686 #CJK UNIFIED IDEOGRAPH
+  {0xBF66, 0x779E}, //4687 #CJK UNIFIED IDEOGRAPH
+  {0xBF67, 0x779F}, //4688 #CJK UNIFIED IDEOGRAPH
+  {0xBF68, 0x77A5}, //4689 #CJK UNIFIED IDEOGRAPH
+  {0xBF69, 0x78E8}, //4690 #CJK UNIFIED IDEOGRAPH
+  {0xBF6A, 0x78DA}, //4691 #CJK UNIFIED IDEOGRAPH
+  {0xBF6B, 0x78EC}, //4692 #CJK UNIFIED IDEOGRAPH
+  {0xBF6C, 0x78E7}, //4693 #CJK UNIFIED IDEOGRAPH
+  {0xBF6D, 0x79A6}, //4694 #CJK UNIFIED IDEOGRAPH
+  {0xBF6E, 0x7A4D}, //4695 #CJK UNIFIED IDEOGRAPH
+  {0xBF6F, 0x7A4E}, //4696 #CJK UNIFIED IDEOGRAPH
+  {0xBF70, 0x7A46}, //4697 #CJK UNIFIED IDEOGRAPH
+  {0xBF71, 0x7A4C}, //4698 #CJK UNIFIED IDEOGRAPH
+  {0xBF72, 0x7A4B}, //4699 #CJK UNIFIED IDEOGRAPH
+  {0xBF73, 0x7ABA}, //4700 #CJK UNIFIED IDEOGRAPH
+  {0xBF74, 0x7BD9}, //4701 #CJK UNIFIED IDEOGRAPH
+  {0xBF75, 0x7C11}, //4702 #CJK UNIFIED IDEOGRAPH
+  {0xBF76, 0x7BC9}, //4703 #CJK UNIFIED IDEOGRAPH
+  {0xBF77, 0x7BE4}, //4704 #CJK UNIFIED IDEOGRAPH
+  {0xBF78, 0x7BDB}, //4705 #CJK UNIFIED IDEOGRAPH
+  {0xBF79, 0x7BE1}, //4706 #CJK UNIFIED IDEOGRAPH
+  {0xBF7A, 0x7BE9}, //4707 #CJK UNIFIED IDEOGRAPH
+  {0xBF7B, 0x7BE6}, //4708 #CJK UNIFIED IDEOGRAPH
+  {0xBF7C, 0x7CD5}, //4709 #CJK UNIFIED IDEOGRAPH
+  {0xBF7D, 0x7CD6}, //4710 #CJK UNIFIED IDEOGRAPH
+  {0xBF7E, 0x7E0A}, //4711 #CJK UNIFIED IDEOGRAPH
+  {0xBFA1, 0x7E11}, //4712 #CJK UNIFIED IDEOGRAPH
+  {0xBFA2, 0x7E08}, //4713 #CJK UNIFIED IDEOGRAPH
+  {0xBFA3, 0x7E1B}, //4714 #CJK UNIFIED IDEOGRAPH
+  {0xBFA4, 0x7E23}, //4715 #CJK UNIFIED IDEOGRAPH
+  {0xBFA5, 0x7E1E}, //4716 #CJK UNIFIED IDEOGRAPH
+  {0xBFA6, 0x7E1D}, //4717 #CJK UNIFIED IDEOGRAPH
+  {0xBFA7, 0x7E09}, //4718 #CJK UNIFIED IDEOGRAPH
+  {0xBFA8, 0x7E10}, //4719 #CJK UNIFIED IDEOGRAPH
+  {0xBFA9, 0x7F79}, //4720 #CJK UNIFIED IDEOGRAPH
+  {0xBFAA, 0x7FB2}, //4721 #CJK UNIFIED IDEOGRAPH
+  {0xBFAB, 0x7FF0}, //4722 #CJK UNIFIED IDEOGRAPH
+  {0xBFAC, 0x7FF1}, //4723 #CJK UNIFIED IDEOGRAPH
+  {0xBFAD, 0x7FEE}, //4724 #CJK UNIFIED IDEOGRAPH
+  {0xBFAE, 0x8028}, //4725 #CJK UNIFIED IDEOGRAPH
+  {0xBFAF, 0x81B3}, //4726 #CJK UNIFIED IDEOGRAPH
+  {0xBFB0, 0x81A9}, //4727 #CJK UNIFIED IDEOGRAPH
+  {0xBFB1, 0x81A8}, //4728 #CJK UNIFIED IDEOGRAPH
+  {0xBFB2, 0x81FB}, //4729 #CJK UNIFIED IDEOGRAPH
+  {0xBFB3, 0x8208}, //4730 #CJK UNIFIED IDEOGRAPH
+  {0xBFB4, 0x8258}, //4731 #CJK UNIFIED IDEOGRAPH
+  {0xBFB5, 0x8259}, //4732 #CJK UNIFIED IDEOGRAPH
+  {0xBFB6, 0x854A}, //4733 #CJK UNIFIED IDEOGRAPH
+  {0xBFB7, 0x8559}, //4734 #CJK UNIFIED IDEOGRAPH
+  {0xBFB8, 0x8548}, //4735 #CJK UNIFIED IDEOGRAPH
+  {0xBFB9, 0x8568}, //4736 #CJK UNIFIED IDEOGRAPH
+  {0xBFBA, 0x8569}, //4737 #CJK UNIFIED IDEOGRAPH
+  {0xBFBB, 0x8543}, //4738 #CJK UNIFIED IDEOGRAPH
+  {0xBFBC, 0x8549}, //4739 #CJK UNIFIED IDEOGRAPH
+  {0xBFBD, 0x856D}, //4740 #CJK UNIFIED IDEOGRAPH
+  {0xBFBE, 0x856A}, //4741 #CJK UNIFIED IDEOGRAPH
+  {0xBFBF, 0x855E}, //4742 #CJK UNIFIED IDEOGRAPH
+  {0xBFC0, 0x8783}, //4743 #CJK UNIFIED IDEOGRAPH
+  {0xBFC1, 0x879F}, //4744 #CJK UNIFIED IDEOGRAPH
+  {0xBFC2, 0x879E}, //4745 #CJK UNIFIED IDEOGRAPH
+  {0xBFC3, 0x87A2}, //4746 #CJK UNIFIED IDEOGRAPH
+  {0xBFC4, 0x878D}, //4747 #CJK UNIFIED IDEOGRAPH
+  {0xBFC5, 0x8861}, //4748 #CJK UNIFIED IDEOGRAPH
+  {0xBFC6, 0x892A}, //4749 #CJK UNIFIED IDEOGRAPH
+  {0xBFC7, 0x8932}, //4750 #CJK UNIFIED IDEOGRAPH
+  {0xBFC8, 0x8925}, //4751 #CJK UNIFIED IDEOGRAPH
+  {0xBFC9, 0x892B}, //4752 #CJK UNIFIED IDEOGRAPH
+  {0xBFCA, 0x8921}, //4753 #CJK UNIFIED IDEOGRAPH
+  {0xBFCB, 0x89AA}, //4754 #CJK UNIFIED IDEOGRAPH
+  {0xBFCC, 0x89A6}, //4755 #CJK UNIFIED IDEOGRAPH
+  {0xBFCD, 0x8AE6}, //4756 #CJK UNIFIED IDEOGRAPH
+  {0xBFCE, 0x8AFA}, //4757 #CJK UNIFIED IDEOGRAPH
+  {0xBFCF, 0x8AEB}, //4758 #CJK UNIFIED IDEOGRAPH
+  {0xBFD0, 0x8AF1}, //4759 #CJK UNIFIED IDEOGRAPH
+  {0xBFD1, 0x8B00}, //4760 #CJK UNIFIED IDEOGRAPH
+  {0xBFD2, 0x8ADC}, //4761 #CJK UNIFIED IDEOGRAPH
+  {0xBFD3, 0x8AE7}, //4762 #CJK UNIFIED IDEOGRAPH
+  {0xBFD4, 0x8AEE}, //4763 #CJK UNIFIED IDEOGRAPH
+  {0xBFD5, 0x8AFE}, //4764 #CJK UNIFIED IDEOGRAPH
+  {0xBFD6, 0x8B01}, //4765 #CJK UNIFIED IDEOGRAPH
+  {0xBFD7, 0x8B02}, //4766 #CJK UNIFIED IDEOGRAPH
+  {0xBFD8, 0x8AF7}, //4767 #CJK UNIFIED IDEOGRAPH
+  {0xBFD9, 0x8AED}, //4768 #CJK UNIFIED IDEOGRAPH
+  {0xBFDA, 0x8AF3}, //4769 #CJK UNIFIED IDEOGRAPH
+  {0xBFDB, 0x8AF6}, //4770 #CJK UNIFIED IDEOGRAPH
+  {0xBFDC, 0x8AFC}, //4771 #CJK UNIFIED IDEOGRAPH
+  {0xBFDD, 0x8C6B}, //4772 #CJK UNIFIED IDEOGRAPH
+  {0xBFDE, 0x8C6D}, //4773 #CJK UNIFIED IDEOGRAPH
+  {0xBFDF, 0x8C93}, //4774 #CJK UNIFIED IDEOGRAPH
+  {0xBFE0, 0x8CF4}, //4775 #CJK UNIFIED IDEOGRAPH
+  {0xBFE1, 0x8E44}, //4776 #CJK UNIFIED IDEOGRAPH
+  {0xBFE2, 0x8E31}, //4777 #CJK UNIFIED IDEOGRAPH
+  {0xBFE3, 0x8E34}, //4778 #CJK UNIFIED IDEOGRAPH
+  {0xBFE4, 0x8E42}, //4779 #CJK UNIFIED IDEOGRAPH
+  {0xBFE5, 0x8E39}, //4780 #CJK UNIFIED IDEOGRAPH
+  {0xBFE6, 0x8E35}, //4781 #CJK UNIFIED IDEOGRAPH
+  {0xBFE7, 0x8F3B}, //4782 #CJK UNIFIED IDEOGRAPH
+  {0xBFE8, 0x8F2F}, //4783 #CJK UNIFIED IDEOGRAPH
+  {0xBFE9, 0x8F38}, //4784 #CJK UNIFIED IDEOGRAPH
+  {0xBFEA, 0x8F33}, //4785 #CJK UNIFIED IDEOGRAPH
+  {0xBFEB, 0x8FA8}, //4786 #CJK UNIFIED IDEOGRAPH
+  {0xBFEC, 0x8FA6}, //4787 #CJK UNIFIED IDEOGRAPH
+  {0xBFED, 0x9075}, //4788 #CJK UNIFIED IDEOGRAPH
+  {0xBFEE, 0x9074}, //4789 #CJK UNIFIED IDEOGRAPH
+  {0xBFEF, 0x9078}, //4790 #CJK UNIFIED IDEOGRAPH
+  {0xBFF0, 0x9072}, //4791 #CJK UNIFIED IDEOGRAPH
+  {0xBFF1, 0x907C}, //4792 #CJK UNIFIED IDEOGRAPH
+  {0xBFF2, 0x907A}, //4793 #CJK UNIFIED IDEOGRAPH
+  {0xBFF3, 0x9134}, //4794 #CJK UNIFIED IDEOGRAPH
+  {0xBFF4, 0x9192}, //4795 #CJK UNIFIED IDEOGRAPH
+  {0xBFF5, 0x9320}, //4796 #CJK UNIFIED IDEOGRAPH
+  {0xBFF6, 0x9336}, //4797 #CJK UNIFIED IDEOGRAPH
+  {0xBFF7, 0x92F8}, //4798 #CJK UNIFIED IDEOGRAPH
+  {0xBFF8, 0x9333}, //4799 #CJK UNIFIED IDEOGRAPH
+  {0xBFF9, 0x932F}, //4800 #CJK UNIFIED IDEOGRAPH
+  {0xBFFA, 0x9322}, //4801 #CJK UNIFIED IDEOGRAPH
+  {0xBFFB, 0x92FC}, //4802 #CJK UNIFIED IDEOGRAPH
+  {0xBFFC, 0x932B}, //4803 #CJK UNIFIED IDEOGRAPH
+  {0xBFFD, 0x9304}, //4804 #CJK UNIFIED IDEOGRAPH
+  {0xBFFE, 0x931A}, //4805 #CJK UNIFIED IDEOGRAPH
+  {0xC040, 0x9310}, //4806 #CJK UNIFIED IDEOGRAPH
+  {0xC041, 0x9326}, //4807 #CJK UNIFIED IDEOGRAPH
+  {0xC042, 0x9321}, //4808 #CJK UNIFIED IDEOGRAPH
+  {0xC043, 0x9315}, //4809 #CJK UNIFIED IDEOGRAPH
+  {0xC044, 0x932E}, //4810 #CJK UNIFIED IDEOGRAPH
+  {0xC045, 0x9319}, //4811 #CJK UNIFIED IDEOGRAPH
+  {0xC046, 0x95BB}, //4812 #CJK UNIFIED IDEOGRAPH
+  {0xC047, 0x96A7}, //4813 #CJK UNIFIED IDEOGRAPH
+  {0xC048, 0x96A8}, //4814 #CJK UNIFIED IDEOGRAPH
+  {0xC049, 0x96AA}, //4815 #CJK UNIFIED IDEOGRAPH
+  {0xC04A, 0x96D5}, //4816 #CJK UNIFIED IDEOGRAPH
+  {0xC04B, 0x970E}, //4817 #CJK UNIFIED IDEOGRAPH
+  {0xC04C, 0x9711}, //4818 #CJK UNIFIED IDEOGRAPH
+  {0xC04D, 0x9716}, //4819 #CJK UNIFIED IDEOGRAPH
+  {0xC04E, 0x970D}, //4820 #CJK UNIFIED IDEOGRAPH
+  {0xC04F, 0x9713}, //4821 #CJK UNIFIED IDEOGRAPH
+  {0xC050, 0x970F}, //4822 #CJK UNIFIED IDEOGRAPH
+  {0xC051, 0x975B}, //4823 #CJK UNIFIED IDEOGRAPH
+  {0xC052, 0x975C}, //4824 #CJK UNIFIED IDEOGRAPH
+  {0xC053, 0x9766}, //4825 #CJK UNIFIED IDEOGRAPH
+  {0xC054, 0x9798}, //4826 #CJK UNIFIED IDEOGRAPH
+  {0xC055, 0x9830}, //4827 #CJK UNIFIED IDEOGRAPH
+  {0xC056, 0x9838}, //4828 #CJK UNIFIED IDEOGRAPH
+  {0xC057, 0x983B}, //4829 #CJK UNIFIED IDEOGRAPH
+  {0xC058, 0x9837}, //4830 #CJK UNIFIED IDEOGRAPH
+  {0xC059, 0x982D}, //4831 #CJK UNIFIED IDEOGRAPH
+  {0xC05A, 0x9839}, //4832 #CJK UNIFIED IDEOGRAPH
+  {0xC05B, 0x9824}, //4833 #CJK UNIFIED IDEOGRAPH
+  {0xC05C, 0x9910}, //4834 #CJK UNIFIED IDEOGRAPH
+  {0xC05D, 0x9928}, //4835 #CJK UNIFIED IDEOGRAPH
+  {0xC05E, 0x991E}, //4836 #CJK UNIFIED IDEOGRAPH
+  {0xC05F, 0x991B}, //4837 #CJK UNIFIED IDEOGRAPH
+  {0xC060, 0x9921}, //4838 #CJK UNIFIED IDEOGRAPH
+  {0xC061, 0x991A}, //4839 #CJK UNIFIED IDEOGRAPH
+  {0xC062, 0x99ED}, //4840 #CJK UNIFIED IDEOGRAPH
+  {0xC063, 0x99E2}, //4841 #CJK UNIFIED IDEOGRAPH
+  {0xC064, 0x99F1}, //4842 #CJK UNIFIED IDEOGRAPH
+  {0xC065, 0x9AB8}, //4843 #CJK UNIFIED IDEOGRAPH
+  {0xC066, 0x9ABC}, //4844 #CJK UNIFIED IDEOGRAPH
+  {0xC067, 0x9AFB}, //4845 #CJK UNIFIED IDEOGRAPH
+  {0xC068, 0x9AED}, //4846 #CJK UNIFIED IDEOGRAPH
+  {0xC069, 0x9B28}, //4847 #CJK UNIFIED IDEOGRAPH
+  {0xC06A, 0x9B91}, //4848 #CJK UNIFIED IDEOGRAPH
+  {0xC06B, 0x9D15}, //4849 #CJK UNIFIED IDEOGRAPH
+  {0xC06C, 0x9D23}, //4850 #CJK UNIFIED IDEOGRAPH
+  {0xC06D, 0x9D26}, //4851 #CJK UNIFIED IDEOGRAPH
+  {0xC06E, 0x9D28}, //4852 #CJK UNIFIED IDEOGRAPH
+  {0xC06F, 0x9D12}, //4853 #CJK UNIFIED IDEOGRAPH
+  {0xC070, 0x9D1B}, //4854 #CJK UNIFIED IDEOGRAPH
+  {0xC071, 0x9ED8}, //4855 #CJK UNIFIED IDEOGRAPH
+  {0xC072, 0x9ED4}, //4856 #CJK UNIFIED IDEOGRAPH
+  {0xC073, 0x9F8D}, //4857 #CJK UNIFIED IDEOGRAPH
+  {0xC074, 0x9F9C}, //4858 #CJK UNIFIED IDEOGRAPH
+  {0xC075, 0x512A}, //4859 #CJK UNIFIED IDEOGRAPH
+  {0xC076, 0x511F}, //4860 #CJK UNIFIED IDEOGRAPH
+  {0xC077, 0x5121}, //4861 #CJK UNIFIED IDEOGRAPH
+  {0xC078, 0x5132}, //4862 #CJK UNIFIED IDEOGRAPH
+  {0xC079, 0x52F5}, //4863 #CJK UNIFIED IDEOGRAPH
+  {0xC07A, 0x568E}, //4864 #CJK UNIFIED IDEOGRAPH
+  {0xC07B, 0x5680}, //4865 #CJK UNIFIED IDEOGRAPH
+  {0xC07C, 0x5690}, //4866 #CJK UNIFIED IDEOGRAPH
+  {0xC07D, 0x5685}, //4867 #CJK UNIFIED IDEOGRAPH
+  {0xC07E, 0x5687}, //4868 #CJK UNIFIED IDEOGRAPH
+  {0xC0A1, 0x568F}, //4869 #CJK UNIFIED IDEOGRAPH
+  {0xC0A2, 0x58D5}, //4870 #CJK UNIFIED IDEOGRAPH
+  {0xC0A3, 0x58D3}, //4871 #CJK UNIFIED IDEOGRAPH
+  {0xC0A4, 0x58D1}, //4872 #CJK UNIFIED IDEOGRAPH
+  {0xC0A5, 0x58CE}, //4873 #CJK UNIFIED IDEOGRAPH
+  {0xC0A6, 0x5B30}, //4874 #CJK UNIFIED IDEOGRAPH
+  {0xC0A7, 0x5B2A}, //4875 #CJK UNIFIED IDEOGRAPH
+  {0xC0A8, 0x5B24}, //4876 #CJK UNIFIED IDEOGRAPH
+  {0xC0A9, 0x5B7A}, //4877 #CJK UNIFIED IDEOGRAPH
+  {0xC0AA, 0x5C37}, //4878 #CJK UNIFIED IDEOGRAPH
+  {0xC0AB, 0x5C68}, //4879 #CJK UNIFIED IDEOGRAPH
+  {0xC0AC, 0x5DBC}, //4880 #CJK UNIFIED IDEOGRAPH
+  {0xC0AD, 0x5DBA}, //4881 #CJK UNIFIED IDEOGRAPH
+  {0xC0AE, 0x5DBD}, //4882 #CJK UNIFIED IDEOGRAPH
+  {0xC0AF, 0x5DB8}, //4883 #CJK UNIFIED IDEOGRAPH
+  {0xC0B0, 0x5E6B}, //4884 #CJK UNIFIED IDEOGRAPH
+  {0xC0B1, 0x5F4C}, //4885 #CJK UNIFIED IDEOGRAPH
+  {0xC0B2, 0x5FBD}, //4886 #CJK UNIFIED IDEOGRAPH
+  {0xC0B3, 0x61C9}, //4887 #CJK UNIFIED IDEOGRAPH
+  {0xC0B4, 0x61C2}, //4888 #CJK UNIFIED IDEOGRAPH
+  {0xC0B5, 0x61C7}, //4889 #CJK UNIFIED IDEOGRAPH
+  {0xC0B6, 0x61E6}, //4890 #CJK UNIFIED IDEOGRAPH
+  {0xC0B7, 0x61CB}, //4891 #CJK UNIFIED IDEOGRAPH
+  {0xC0B8, 0x6232}, //4892 #CJK UNIFIED IDEOGRAPH
+  {0xC0B9, 0x6234}, //4893 #CJK UNIFIED IDEOGRAPH
+  {0xC0BA, 0x64CE}, //4894 #CJK UNIFIED IDEOGRAPH
+  {0xC0BB, 0x64CA}, //4895 #CJK UNIFIED IDEOGRAPH
+  {0xC0BC, 0x64D8}, //4896 #CJK UNIFIED IDEOGRAPH
+  {0xC0BD, 0x64E0}, //4897 #CJK UNIFIED IDEOGRAPH
+  {0xC0BE, 0x64F0}, //4898 #CJK UNIFIED IDEOGRAPH
+  {0xC0BF, 0x64E6}, //4899 #CJK UNIFIED IDEOGRAPH
+  {0xC0C0, 0x64EC}, //4900 #CJK UNIFIED IDEOGRAPH
+  {0xC0C1, 0x64F1}, //4901 #CJK UNIFIED IDEOGRAPH
+  {0xC0C2, 0x64E2}, //4902 #CJK UNIFIED IDEOGRAPH
+  {0xC0C3, 0x64ED}, //4903 #CJK UNIFIED IDEOGRAPH
+  {0xC0C4, 0x6582}, //4904 #CJK UNIFIED IDEOGRAPH
+  {0xC0C5, 0x6583}, //4905 #CJK UNIFIED IDEOGRAPH
+  {0xC0C6, 0x66D9}, //4906 #CJK UNIFIED IDEOGRAPH
+  {0xC0C7, 0x66D6}, //4907 #CJK UNIFIED IDEOGRAPH
+  {0xC0C8, 0x6A80}, //4908 #CJK UNIFIED IDEOGRAPH
+  {0xC0C9, 0x6A94}, //4909 #CJK UNIFIED IDEOGRAPH
+  {0xC0CA, 0x6A84}, //4910 #CJK UNIFIED IDEOGRAPH
+  {0xC0CB, 0x6AA2}, //4911 #CJK UNIFIED IDEOGRAPH
+  {0xC0CC, 0x6A9C}, //4912 #CJK UNIFIED IDEOGRAPH
+  {0xC0CD, 0x6ADB}, //4913 #CJK UNIFIED IDEOGRAPH
+  {0xC0CE, 0x6AA3}, //4914 #CJK UNIFIED IDEOGRAPH
+  {0xC0CF, 0x6A7E}, //4915 #CJK UNIFIED IDEOGRAPH
+  {0xC0D0, 0x6A97}, //4916 #CJK UNIFIED IDEOGRAPH
+  {0xC0D1, 0x6A90}, //4917 #CJK UNIFIED IDEOGRAPH
+  {0xC0D2, 0x6AA0}, //4918 #CJK UNIFIED IDEOGRAPH
+  {0xC0D3, 0x6B5C}, //4919 #CJK UNIFIED IDEOGRAPH
+  {0xC0D4, 0x6BAE}, //4920 #CJK UNIFIED IDEOGRAPH
+  {0xC0D5, 0x6BDA}, //4921 #CJK UNIFIED IDEOGRAPH
+  {0xC0D6, 0x6C08}, //4922 #CJK UNIFIED IDEOGRAPH
+  {0xC0D7, 0x6FD8}, //4923 #CJK UNIFIED IDEOGRAPH
+  {0xC0D8, 0x6FF1}, //4924 #CJK UNIFIED IDEOGRAPH
+  {0xC0D9, 0x6FDF}, //4925 #CJK UNIFIED IDEOGRAPH
+  {0xC0DA, 0x6FE0}, //4926 #CJK UNIFIED IDEOGRAPH
+  {0xC0DB, 0x6FDB}, //4927 #CJK UNIFIED IDEOGRAPH
+  {0xC0DC, 0x6FE4}, //4928 #CJK UNIFIED IDEOGRAPH
+  {0xC0DD, 0x6FEB}, //4929 #CJK UNIFIED IDEOGRAPH
+  {0xC0DE, 0x6FEF}, //4930 #CJK UNIFIED IDEOGRAPH
+  {0xC0DF, 0x6F80}, //4931 #CJK UNIFIED IDEOGRAPH
+  {0xC0E0, 0x6FEC}, //4932 #CJK UNIFIED IDEOGRAPH
+  {0xC0E1, 0x6FE1}, //4933 #CJK UNIFIED IDEOGRAPH
+  {0xC0E2, 0x6FE9}, //4934 #CJK UNIFIED IDEOGRAPH
+  {0xC0E3, 0x6FD5}, //4935 #CJK UNIFIED IDEOGRAPH
+  {0xC0E4, 0x6FEE}, //4936 #CJK UNIFIED IDEOGRAPH
+  {0xC0E5, 0x6FF0}, //4937 #CJK UNIFIED IDEOGRAPH
+  {0xC0E6, 0x71E7}, //4938 #CJK UNIFIED IDEOGRAPH
+  {0xC0E7, 0x71DF}, //4939 #CJK UNIFIED IDEOGRAPH
+  {0xC0E8, 0x71EE}, //4940 #CJK UNIFIED IDEOGRAPH
+  {0xC0E9, 0x71E6}, //4941 #CJK UNIFIED IDEOGRAPH
+  {0xC0EA, 0x71E5}, //4942 #CJK UNIFIED IDEOGRAPH
+  {0xC0EB, 0x71ED}, //4943 #CJK UNIFIED IDEOGRAPH
+  {0xC0EC, 0x71EC}, //4944 #CJK UNIFIED IDEOGRAPH
+  {0xC0ED, 0x71F4}, //4945 #CJK UNIFIED IDEOGRAPH
+  {0xC0EE, 0x71E0}, //4946 #CJK UNIFIED IDEOGRAPH
+  {0xC0EF, 0x7235}, //4947 #CJK UNIFIED IDEOGRAPH
+  {0xC0F0, 0x7246}, //4948 #CJK UNIFIED IDEOGRAPH
+  {0xC0F1, 0x7370}, //4949 #CJK UNIFIED IDEOGRAPH
+  {0xC0F2, 0x7372}, //4950 #CJK UNIFIED IDEOGRAPH
+  {0xC0F3, 0x74A9}, //4951 #CJK UNIFIED IDEOGRAPH
+  {0xC0F4, 0x74B0}, //4952 #CJK UNIFIED IDEOGRAPH
+  {0xC0F5, 0x74A6}, //4953 #CJK UNIFIED IDEOGRAPH
+  {0xC0F6, 0x74A8}, //4954 #CJK UNIFIED IDEOGRAPH
+  {0xC0F7, 0x7646}, //4955 #CJK UNIFIED IDEOGRAPH
+  {0xC0F8, 0x7642}, //4956 #CJK UNIFIED IDEOGRAPH
+  {0xC0F9, 0x764C}, //4957 #CJK UNIFIED IDEOGRAPH
+  {0xC0FA, 0x76EA}, //4958 #CJK UNIFIED IDEOGRAPH
+  {0xC0FB, 0x77B3}, //4959 #CJK UNIFIED IDEOGRAPH
+  {0xC0FC, 0x77AA}, //4960 #CJK UNIFIED IDEOGRAPH
+  {0xC0FD, 0x77B0}, //4961 #CJK UNIFIED IDEOGRAPH
+  {0xC0FE, 0x77AC}, //4962 #CJK UNIFIED IDEOGRAPH
+  {0xC140, 0x77A7}, //4963 #CJK UNIFIED IDEOGRAPH
+  {0xC141, 0x77AD}, //4964 #CJK UNIFIED IDEOGRAPH
+  {0xC142, 0x77EF}, //4965 #CJK UNIFIED IDEOGRAPH
+  {0xC143, 0x78F7}, //4966 #CJK UNIFIED IDEOGRAPH
+  {0xC144, 0x78FA}, //4967 #CJK UNIFIED IDEOGRAPH
+  {0xC145, 0x78F4}, //4968 #CJK UNIFIED IDEOGRAPH
+  {0xC146, 0x78EF}, //4969 #CJK UNIFIED IDEOGRAPH
+  {0xC147, 0x7901}, //4970 #CJK UNIFIED IDEOGRAPH
+  {0xC148, 0x79A7}, //4971 #CJK UNIFIED IDEOGRAPH
+  {0xC149, 0x79AA}, //4972 #CJK UNIFIED IDEOGRAPH
+  {0xC14A, 0x7A57}, //4973 #CJK UNIFIED IDEOGRAPH
+  {0xC14B, 0x7ABF}, //4974 #CJK UNIFIED IDEOGRAPH
+  {0xC14C, 0x7C07}, //4975 #CJK UNIFIED IDEOGRAPH
+  {0xC14D, 0x7C0D}, //4976 #CJK UNIFIED IDEOGRAPH
+  {0xC14E, 0x7BFE}, //4977 #CJK UNIFIED IDEOGRAPH
+  {0xC14F, 0x7BF7}, //4978 #CJK UNIFIED IDEOGRAPH
+  {0xC150, 0x7C0C}, //4979 #CJK UNIFIED IDEOGRAPH
+  {0xC151, 0x7BE0}, //4980 #CJK UNIFIED IDEOGRAPH
+  {0xC152, 0x7CE0}, //4981 #CJK UNIFIED IDEOGRAPH
+  {0xC153, 0x7CDC}, //4982 #CJK UNIFIED IDEOGRAPH
+  {0xC154, 0x7CDE}, //4983 #CJK UNIFIED IDEOGRAPH
+  {0xC155, 0x7CE2}, //4984 #CJK UNIFIED IDEOGRAPH
+  {0xC156, 0x7CDF}, //4985 #CJK UNIFIED IDEOGRAPH
+  {0xC157, 0x7CD9}, //4986 #CJK UNIFIED IDEOGRAPH
+  {0xC158, 0x7CDD}, //4987 #CJK UNIFIED IDEOGRAPH
+  {0xC159, 0x7E2E}, //4988 #CJK UNIFIED IDEOGRAPH
+  {0xC15A, 0x7E3E}, //4989 #CJK UNIFIED IDEOGRAPH
+  {0xC15B, 0x7E46}, //4990 #CJK UNIFIED IDEOGRAPH
+  {0xC15C, 0x7E37}, //4991 #CJK UNIFIED IDEOGRAPH
+  {0xC15D, 0x7E32}, //4992 #CJK UNIFIED IDEOGRAPH
+  {0xC15E, 0x7E43}, //4993 #CJK UNIFIED IDEOGRAPH
+  {0xC15F, 0x7E2B}, //4994 #CJK UNIFIED IDEOGRAPH
+  {0xC160, 0x7E3D}, //4995 #CJK UNIFIED IDEOGRAPH
+  {0xC161, 0x7E31}, //4996 #CJK UNIFIED IDEOGRAPH
+  {0xC162, 0x7E45}, //4997 #CJK UNIFIED IDEOGRAPH
+  {0xC163, 0x7E41}, //4998 #CJK UNIFIED IDEOGRAPH
+  {0xC164, 0x7E34}, //4999 #CJK UNIFIED IDEOGRAPH
+  {0xC165, 0x7E39}, //5000 #CJK UNIFIED IDEOGRAPH
+  {0xC166, 0x7E48}, //5001 #CJK UNIFIED IDEOGRAPH
+  {0xC167, 0x7E35}, //5002 #CJK UNIFIED IDEOGRAPH
+  {0xC168, 0x7E3F}, //5003 #CJK UNIFIED IDEOGRAPH
+  {0xC169, 0x7E2F}, //5004 #CJK UNIFIED IDEOGRAPH
+  {0xC16A, 0x7F44}, //5005 #CJK UNIFIED IDEOGRAPH
+  {0xC16B, 0x7FF3}, //5006 #CJK UNIFIED IDEOGRAPH
+  {0xC16C, 0x7FFC}, //5007 #CJK UNIFIED IDEOGRAPH
+  {0xC16D, 0x8071}, //5008 #CJK UNIFIED IDEOGRAPH
+  {0xC16E, 0x8072}, //5009 #CJK UNIFIED IDEOGRAPH
+  {0xC16F, 0x8070}, //5010 #CJK UNIFIED IDEOGRAPH
+  {0xC170, 0x806F}, //5011 #CJK UNIFIED IDEOGRAPH
+  {0xC171, 0x8073}, //5012 #CJK UNIFIED IDEOGRAPH
+  {0xC172, 0x81C6}, //5013 #CJK UNIFIED IDEOGRAPH
+  {0xC173, 0x81C3}, //5014 #CJK UNIFIED IDEOGRAPH
+  {0xC174, 0x81BA}, //5015 #CJK UNIFIED IDEOGRAPH
+  {0xC175, 0x81C2}, //5016 #CJK UNIFIED IDEOGRAPH
+  {0xC176, 0x81C0}, //5017 #CJK UNIFIED IDEOGRAPH
+  {0xC177, 0x81BF}, //5018 #CJK UNIFIED IDEOGRAPH
+  {0xC178, 0x81BD}, //5019 #CJK UNIFIED IDEOGRAPH
+  {0xC179, 0x81C9}, //5020 #CJK UNIFIED IDEOGRAPH
+  {0xC17A, 0x81BE}, //5021 #CJK UNIFIED IDEOGRAPH
+  {0xC17B, 0x81E8}, //5022 #CJK UNIFIED IDEOGRAPH
+  {0xC17C, 0x8209}, //5023 #CJK UNIFIED IDEOGRAPH
+  {0xC17D, 0x8271}, //5024 #CJK UNIFIED IDEOGRAPH
+  {0xC17E, 0x85AA}, //5025 #CJK UNIFIED IDEOGRAPH
+  {0xC1A1, 0x8584}, //5026 #CJK UNIFIED IDEOGRAPH
+  {0xC1A2, 0x857E}, //5027 #CJK UNIFIED IDEOGRAPH
+  {0xC1A3, 0x859C}, //5028 #CJK UNIFIED IDEOGRAPH
+  {0xC1A4, 0x8591}, //5029 #CJK UNIFIED IDEOGRAPH
+  {0xC1A5, 0x8594}, //5030 #CJK UNIFIED IDEOGRAPH
+  {0xC1A6, 0x85AF}, //5031 #CJK UNIFIED IDEOGRAPH
+  {0xC1A7, 0x859B}, //5032 #CJK UNIFIED IDEOGRAPH
+  {0xC1A8, 0x8587}, //5033 #CJK UNIFIED IDEOGRAPH
+  {0xC1A9, 0x85A8}, //5034 #CJK UNIFIED IDEOGRAPH
+  {0xC1AA, 0x858A}, //5035 #CJK UNIFIED IDEOGRAPH
+  {0xC1AB, 0x8667}, //5036 #CJK UNIFIED IDEOGRAPH
+  {0xC1AC, 0x87C0}, //5037 #CJK UNIFIED IDEOGRAPH
+  {0xC1AD, 0x87D1}, //5038 #CJK UNIFIED IDEOGRAPH
+  {0xC1AE, 0x87B3}, //5039 #CJK UNIFIED IDEOGRAPH
+  {0xC1AF, 0x87D2}, //5040 #CJK UNIFIED IDEOGRAPH
+  {0xC1B0, 0x87C6}, //5041 #CJK UNIFIED IDEOGRAPH
+  {0xC1B1, 0x87AB}, //5042 #CJK UNIFIED IDEOGRAPH
+  {0xC1B2, 0x87BB}, //5043 #CJK UNIFIED IDEOGRAPH
+  {0xC1B3, 0x87BA}, //5044 #CJK UNIFIED IDEOGRAPH
+  {0xC1B4, 0x87C8}, //5045 #CJK UNIFIED IDEOGRAPH
+  {0xC1B5, 0x87CB}, //5046 #CJK UNIFIED IDEOGRAPH
+  {0xC1B6, 0x893B}, //5047 #CJK UNIFIED IDEOGRAPH
+  {0xC1B7, 0x8936}, //5048 #CJK UNIFIED IDEOGRAPH
+  {0xC1B8, 0x8944}, //5049 #CJK UNIFIED IDEOGRAPH
+  {0xC1B9, 0x8938}, //5050 #CJK UNIFIED IDEOGRAPH
+  {0xC1BA, 0x893D}, //5051 #CJK UNIFIED IDEOGRAPH
+  {0xC1BB, 0x89AC}, //5052 #CJK UNIFIED IDEOGRAPH
+  {0xC1BC, 0x8B0E}, //5053 #CJK UNIFIED IDEOGRAPH
+  {0xC1BD, 0x8B17}, //5054 #CJK UNIFIED IDEOGRAPH
+  {0xC1BE, 0x8B19}, //5055 #CJK UNIFIED IDEOGRAPH
+  {0xC1BF, 0x8B1B}, //5056 #CJK UNIFIED IDEOGRAPH
+  {0xC1C0, 0x8B0A}, //5057 #CJK UNIFIED IDEOGRAPH
+  {0xC1C1, 0x8B20}, //5058 #CJK UNIFIED IDEOGRAPH
+  {0xC1C2, 0x8B1D}, //5059 #CJK UNIFIED IDEOGRAPH
+  {0xC1C3, 0x8B04}, //5060 #CJK UNIFIED IDEOGRAPH
+  {0xC1C4, 0x8B10}, //5061 #CJK UNIFIED IDEOGRAPH
+  {0xC1C5, 0x8C41}, //5062 #CJK UNIFIED IDEOGRAPH
+  {0xC1C6, 0x8C3F}, //5063 #CJK UNIFIED IDEOGRAPH
+  {0xC1C7, 0x8C73}, //5064 #CJK UNIFIED IDEOGRAPH
+  {0xC1C8, 0x8CFA}, //5065 #CJK UNIFIED IDEOGRAPH
+  {0xC1C9, 0x8CFD}, //5066 #CJK UNIFIED IDEOGRAPH
+  {0xC1CA, 0x8CFC}, //5067 #CJK UNIFIED IDEOGRAPH
+  {0xC1CB, 0x8CF8}, //5068 #CJK UNIFIED IDEOGRAPH
+  {0xC1CC, 0x8CFB}, //5069 #CJK UNIFIED IDEOGRAPH
+  {0xC1CD, 0x8DA8}, //5070 #CJK UNIFIED IDEOGRAPH
+  {0xC1CE, 0x8E49}, //5071 #CJK UNIFIED IDEOGRAPH
+  {0xC1CF, 0x8E4B}, //5072 #CJK UNIFIED IDEOGRAPH
+  {0xC1D0, 0x8E48}, //5073 #CJK UNIFIED IDEOGRAPH
+  {0xC1D1, 0x8E4A}, //5074 #CJK UNIFIED IDEOGRAPH
+  {0xC1D2, 0x8F44}, //5075 #CJK UNIFIED IDEOGRAPH
+  {0xC1D3, 0x8F3E}, //5076 #CJK UNIFIED IDEOGRAPH
+  {0xC1D4, 0x8F42}, //5077 #CJK UNIFIED IDEOGRAPH
+  {0xC1D5, 0x8F45}, //5078 #CJK UNIFIED IDEOGRAPH
+  {0xC1D6, 0x8F3F}, //5079 #CJK UNIFIED IDEOGRAPH
+  {0xC1D7, 0x907F}, //5080 #CJK UNIFIED IDEOGRAPH
+  {0xC1D8, 0x907D}, //5081 #CJK UNIFIED IDEOGRAPH
+  {0xC1D9, 0x9084}, //5082 #CJK UNIFIED IDEOGRAPH
+  {0xC1DA, 0x9081}, //5083 #CJK UNIFIED IDEOGRAPH
+  {0xC1DB, 0x9082}, //5084 #CJK UNIFIED IDEOGRAPH
+  {0xC1DC, 0x9080}, //5085 #CJK UNIFIED IDEOGRAPH
+  {0xC1DD, 0x9139}, //5086 #CJK UNIFIED IDEOGRAPH
+  {0xC1DE, 0x91A3}, //5087 #CJK UNIFIED IDEOGRAPH
+  {0xC1DF, 0x919E}, //5088 #CJK UNIFIED IDEOGRAPH
+  {0xC1E0, 0x919C}, //5089 #CJK UNIFIED IDEOGRAPH
+  {0xC1E1, 0x934D}, //5090 #CJK UNIFIED IDEOGRAPH
+  {0xC1E2, 0x9382}, //5091 #CJK UNIFIED IDEOGRAPH
+  {0xC1E3, 0x9328}, //5092 #CJK UNIFIED IDEOGRAPH
+  {0xC1E4, 0x9375}, //5093 #CJK UNIFIED IDEOGRAPH
+  {0xC1E5, 0x934A}, //5094 #CJK UNIFIED IDEOGRAPH
+  {0xC1E6, 0x9365}, //5095 #CJK UNIFIED IDEOGRAPH
+  {0xC1E7, 0x934B}, //5096 #CJK UNIFIED IDEOGRAPH
+  {0xC1E8, 0x9318}, //5097 #CJK UNIFIED IDEOGRAPH
+  {0xC1E9, 0x937E}, //5098 #CJK UNIFIED IDEOGRAPH
+  {0xC1EA, 0x936C}, //5099 #CJK UNIFIED IDEOGRAPH
+  {0xC1EB, 0x935B}, //5100 #CJK UNIFIED IDEOGRAPH
+  {0xC1EC, 0x9370}, //5101 #CJK UNIFIED IDEOGRAPH
+  {0xC1ED, 0x935A}, //5102 #CJK UNIFIED IDEOGRAPH
+  {0xC1EE, 0x9354}, //5103 #CJK UNIFIED IDEOGRAPH
+  {0xC1EF, 0x95CA}, //5104 #CJK UNIFIED IDEOGRAPH
+  {0xC1F0, 0x95CB}, //5105 #CJK UNIFIED IDEOGRAPH
+  {0xC1F1, 0x95CC}, //5106 #CJK UNIFIED IDEOGRAPH
+  {0xC1F2, 0x95C8}, //5107 #CJK UNIFIED IDEOGRAPH
+  {0xC1F3, 0x95C6}, //5108 #CJK UNIFIED IDEOGRAPH
+  {0xC1F4, 0x96B1}, //5109 #CJK UNIFIED IDEOGRAPH
+  {0xC1F5, 0x96B8}, //5110 #CJK UNIFIED IDEOGRAPH
+  {0xC1F6, 0x96D6}, //5111 #CJK UNIFIED IDEOGRAPH
+  {0xC1F7, 0x971C}, //5112 #CJK UNIFIED IDEOGRAPH
+  {0xC1F8, 0x971E}, //5113 #CJK UNIFIED IDEOGRAPH
+  {0xC1F9, 0x97A0}, //5114 #CJK UNIFIED IDEOGRAPH
+  {0xC1FA, 0x97D3}, //5115 #CJK UNIFIED IDEOGRAPH
+  {0xC1FB, 0x9846}, //5116 #CJK UNIFIED IDEOGRAPH
+  {0xC1FC, 0x98B6}, //5117 #CJK UNIFIED IDEOGRAPH
+  {0xC1FD, 0x9935}, //5118 #CJK UNIFIED IDEOGRAPH
+  {0xC1FE, 0x9A01}, //5119 #CJK UNIFIED IDEOGRAPH
+  {0xC240, 0x99FF}, //5120 #CJK UNIFIED IDEOGRAPH
+  {0xC241, 0x9BAE}, //5121 #CJK UNIFIED IDEOGRAPH
+  {0xC242, 0x9BAB}, //5122 #CJK UNIFIED IDEOGRAPH
+  {0xC243, 0x9BAA}, //5123 #CJK UNIFIED IDEOGRAPH
+  {0xC244, 0x9BAD}, //5124 #CJK UNIFIED IDEOGRAPH
+  {0xC245, 0x9D3B}, //5125 #CJK UNIFIED IDEOGRAPH
+  {0xC246, 0x9D3F}, //5126 #CJK UNIFIED IDEOGRAPH
+  {0xC247, 0x9E8B}, //5127 #CJK UNIFIED IDEOGRAPH
+  {0xC248, 0x9ECF}, //5128 #CJK UNIFIED IDEOGRAPH
+  {0xC249, 0x9EDE}, //5129 #CJK UNIFIED IDEOGRAPH
+  {0xC24A, 0x9EDC}, //5130 #CJK UNIFIED IDEOGRAPH
+  {0xC24B, 0x9EDD}, //5131 #CJK UNIFIED IDEOGRAPH
+  {0xC24C, 0x9EDB}, //5132 #CJK UNIFIED IDEOGRAPH
+  {0xC24D, 0x9F3E}, //5133 #CJK UNIFIED IDEOGRAPH
+  {0xC24E, 0x9F4B}, //5134 #CJK UNIFIED IDEOGRAPH
+  {0xC24F, 0x53E2}, //5135 #CJK UNIFIED IDEOGRAPH
+  {0xC250, 0x5695}, //5136 #CJK UNIFIED IDEOGRAPH
+  {0xC251, 0x56AE}, //5137 #CJK UNIFIED IDEOGRAPH
+  {0xC252, 0x58D9}, //5138 #CJK UNIFIED IDEOGRAPH
+  {0xC253, 0x58D8}, //5139 #CJK UNIFIED IDEOGRAPH
+  {0xC254, 0x5B38}, //5140 #CJK UNIFIED IDEOGRAPH
+  {0xC255, 0x5F5D}, //5141 #CJK UNIFIED IDEOGRAPH
+  {0xC256, 0x61E3}, //5142 #CJK UNIFIED IDEOGRAPH
+  {0xC257, 0x6233}, //5143 #CJK UNIFIED IDEOGRAPH
+  {0xC258, 0x64F4}, //5144 #CJK UNIFIED IDEOGRAPH
+  {0xC259, 0x64F2}, //5145 #CJK UNIFIED IDEOGRAPH
+  {0xC25A, 0x64FE}, //5146 #CJK UNIFIED IDEOGRAPH
+  {0xC25B, 0x6506}, //5147 #CJK UNIFIED IDEOGRAPH
+  {0xC25C, 0x64FA}, //5148 #CJK UNIFIED IDEOGRAPH
+  {0xC25D, 0x64FB}, //5149 #CJK UNIFIED IDEOGRAPH
+  {0xC25E, 0x64F7}, //5150 #CJK UNIFIED IDEOGRAPH
+  {0xC25F, 0x65B7}, //5151 #CJK UNIFIED IDEOGRAPH
+  {0xC260, 0x66DC}, //5152 #CJK UNIFIED IDEOGRAPH
+  {0xC261, 0x6726}, //5153 #CJK UNIFIED IDEOGRAPH
+  {0xC262, 0x6AB3}, //5154 #CJK UNIFIED IDEOGRAPH
+  {0xC263, 0x6AAC}, //5155 #CJK UNIFIED IDEOGRAPH
+  {0xC264, 0x6AC3}, //5156 #CJK UNIFIED IDEOGRAPH
+  {0xC265, 0x6ABB}, //5157 #CJK UNIFIED IDEOGRAPH
+  {0xC266, 0x6AB8}, //5158 #CJK UNIFIED IDEOGRAPH
+  {0xC267, 0x6AC2}, //5159 #CJK UNIFIED IDEOGRAPH
+  {0xC268, 0x6AAE}, //5160 #CJK UNIFIED IDEOGRAPH
+  {0xC269, 0x6AAF}, //5161 #CJK UNIFIED IDEOGRAPH
+  {0xC26A, 0x6B5F}, //5162 #CJK UNIFIED IDEOGRAPH
+  {0xC26B, 0x6B78}, //5163 #CJK UNIFIED IDEOGRAPH
+  {0xC26C, 0x6BAF}, //5164 #CJK UNIFIED IDEOGRAPH
+  {0xC26D, 0x7009}, //5165 #CJK UNIFIED IDEOGRAPH
+  {0xC26E, 0x700B}, //5166 #CJK UNIFIED IDEOGRAPH
+  {0xC26F, 0x6FFE}, //5167 #CJK UNIFIED IDEOGRAPH
+  {0xC270, 0x7006}, //5168 #CJK UNIFIED IDEOGRAPH
+  {0xC271, 0x6FFA}, //5169 #CJK UNIFIED IDEOGRAPH
+  {0xC272, 0x7011}, //5170 #CJK UNIFIED IDEOGRAPH
+  {0xC273, 0x700F}, //5171 #CJK UNIFIED IDEOGRAPH
+  {0xC274, 0x71FB}, //5172 #CJK UNIFIED IDEOGRAPH
+  {0xC275, 0x71FC}, //5173 #CJK UNIFIED IDEOGRAPH
+  {0xC276, 0x71FE}, //5174 #CJK UNIFIED IDEOGRAPH
+  {0xC277, 0x71F8}, //5175 #CJK UNIFIED IDEOGRAPH
+  {0xC278, 0x7377}, //5176 #CJK UNIFIED IDEOGRAPH
+  {0xC279, 0x7375}, //5177 #CJK UNIFIED IDEOGRAPH
+  {0xC27A, 0x74A7}, //5178 #CJK UNIFIED IDEOGRAPH
+  {0xC27B, 0x74BF}, //5179 #CJK UNIFIED IDEOGRAPH
+  {0xC27C, 0x7515}, //5180 #CJK UNIFIED IDEOGRAPH
+  {0xC27D, 0x7656}, //5181 #CJK UNIFIED IDEOGRAPH
+  {0xC27E, 0x7658}, //5182 #CJK UNIFIED IDEOGRAPH
+  {0xC2A1, 0x7652}, //5183 #CJK UNIFIED IDEOGRAPH
+  {0xC2A2, 0x77BD}, //5184 #CJK UNIFIED IDEOGRAPH
+  {0xC2A3, 0x77BF}, //5185 #CJK UNIFIED IDEOGRAPH
+  {0xC2A4, 0x77BB}, //5186 #CJK UNIFIED IDEOGRAPH
+  {0xC2A5, 0x77BC}, //5187 #CJK UNIFIED IDEOGRAPH
+  {0xC2A6, 0x790E}, //5188 #CJK UNIFIED IDEOGRAPH
+  {0xC2A7, 0x79AE}, //5189 #CJK UNIFIED IDEOGRAPH
+  {0xC2A8, 0x7A61}, //5190 #CJK UNIFIED IDEOGRAPH
+  {0xC2A9, 0x7A62}, //5191 #CJK UNIFIED IDEOGRAPH
+  {0xC2AA, 0x7A60}, //5192 #CJK UNIFIED IDEOGRAPH
+  {0xC2AB, 0x7AC4}, //5193 #CJK UNIFIED IDEOGRAPH
+  {0xC2AC, 0x7AC5}, //5194 #CJK UNIFIED IDEOGRAPH
+  {0xC2AD, 0x7C2B}, //5195 #CJK UNIFIED IDEOGRAPH
+  {0xC2AE, 0x7C27}, //5196 #CJK UNIFIED IDEOGRAPH
+  {0xC2AF, 0x7C2A}, //5197 #CJK UNIFIED IDEOGRAPH
+  {0xC2B0, 0x7C1E}, //5198 #CJK UNIFIED IDEOGRAPH
+  {0xC2B1, 0x7C23}, //5199 #CJK UNIFIED IDEOGRAPH
+  {0xC2B2, 0x7C21}, //5200 #CJK UNIFIED IDEOGRAPH
+  {0xC2B3, 0x7CE7}, //5201 #CJK UNIFIED IDEOGRAPH
+  {0xC2B4, 0x7E54}, //5202 #CJK UNIFIED IDEOGRAPH
+  {0xC2B5, 0x7E55}, //5203 #CJK UNIFIED IDEOGRAPH
+  {0xC2B6, 0x7E5E}, //5204 #CJK UNIFIED IDEOGRAPH
+  {0xC2B7, 0x7E5A}, //5205 #CJK UNIFIED IDEOGRAPH
+  {0xC2B8, 0x7E61}, //5206 #CJK UNIFIED IDEOGRAPH
+  {0xC2B9, 0x7E52}, //5207 #CJK UNIFIED IDEOGRAPH
+  {0xC2BA, 0x7E59}, //5208 #CJK UNIFIED IDEOGRAPH
+  {0xC2BB, 0x7F48}, //5209 #CJK UNIFIED IDEOGRAPH
+  {0xC2BC, 0x7FF9}, //5210 #CJK UNIFIED IDEOGRAPH
+  {0xC2BD, 0x7FFB}, //5211 #CJK UNIFIED IDEOGRAPH
+  {0xC2BE, 0x8077}, //5212 #CJK UNIFIED IDEOGRAPH
+  {0xC2BF, 0x8076}, //5213 #CJK UNIFIED IDEOGRAPH
+  {0xC2C0, 0x81CD}, //5214 #CJK UNIFIED IDEOGRAPH
+  {0xC2C1, 0x81CF}, //5215 #CJK UNIFIED IDEOGRAPH
+  {0xC2C2, 0x820A}, //5216 #CJK UNIFIED IDEOGRAPH
+  {0xC2C3, 0x85CF}, //5217 #CJK UNIFIED IDEOGRAPH
+  {0xC2C4, 0x85A9}, //5218 #CJK UNIFIED IDEOGRAPH
+  {0xC2C5, 0x85CD}, //5219 #CJK UNIFIED IDEOGRAPH
+  {0xC2C6, 0x85D0}, //5220 #CJK UNIFIED IDEOGRAPH
+  {0xC2C7, 0x85C9}, //5221 #CJK UNIFIED IDEOGRAPH
+  {0xC2C8, 0x85B0}, //5222 #CJK UNIFIED IDEOGRAPH
+  {0xC2C9, 0x85BA}, //5223 #CJK UNIFIED IDEOGRAPH
+  {0xC2CA, 0x85B9}, //5224 #CJK UNIFIED IDEOGRAPH
+  {0xC2CB, 0x85A6}, //5225 #CJK UNIFIED IDEOGRAPH
+  {0xC2CC, 0x87EF}, //5226 #CJK UNIFIED IDEOGRAPH
+  {0xC2CD, 0x87EC}, //5227 #CJK UNIFIED IDEOGRAPH
+  {0xC2CE, 0x87F2}, //5228 #CJK UNIFIED IDEOGRAPH
+  {0xC2CF, 0x87E0}, //5229 #CJK UNIFIED IDEOGRAPH
+  {0xC2D0, 0x8986}, //5230 #CJK UNIFIED IDEOGRAPH
+  {0xC2D1, 0x89B2}, //5231 #CJK UNIFIED IDEOGRAPH
+  {0xC2D2, 0x89F4}, //5232 #CJK UNIFIED IDEOGRAPH
+  {0xC2D3, 0x8B28}, //5233 #CJK UNIFIED IDEOGRAPH
+  {0xC2D4, 0x8B39}, //5234 #CJK UNIFIED IDEOGRAPH
+  {0xC2D5, 0x8B2C}, //5235 #CJK UNIFIED IDEOGRAPH
+  {0xC2D6, 0x8B2B}, //5236 #CJK UNIFIED IDEOGRAPH
+  {0xC2D7, 0x8C50}, //5237 #CJK UNIFIED IDEOGRAPH
+  {0xC2D8, 0x8D05}, //5238 #CJK UNIFIED IDEOGRAPH
+  {0xC2D9, 0x8E59}, //5239 #CJK UNIFIED IDEOGRAPH
+  {0xC2DA, 0x8E63}, //5240 #CJK UNIFIED IDEOGRAPH
+  {0xC2DB, 0x8E66}, //5241 #CJK UNIFIED IDEOGRAPH
+  {0xC2DC, 0x8E64}, //5242 #CJK UNIFIED IDEOGRAPH
+  {0xC2DD, 0x8E5F}, //5243 #CJK UNIFIED IDEOGRAPH
+  {0xC2DE, 0x8E55}, //5244 #CJK UNIFIED IDEOGRAPH
+  {0xC2DF, 0x8EC0}, //5245 #CJK UNIFIED IDEOGRAPH
+  {0xC2E0, 0x8F49}, //5246 #CJK UNIFIED IDEOGRAPH
+  {0xC2E1, 0x8F4D}, //5247 #CJK UNIFIED IDEOGRAPH
+  {0xC2E2, 0x9087}, //5248 #CJK UNIFIED IDEOGRAPH
+  {0xC2E3, 0x9083}, //5249 #CJK UNIFIED IDEOGRAPH
+  {0xC2E4, 0x9088}, //5250 #CJK UNIFIED IDEOGRAPH
+  {0xC2E5, 0x91AB}, //5251 #CJK UNIFIED IDEOGRAPH
+  {0xC2E6, 0x91AC}, //5252 #CJK UNIFIED IDEOGRAPH
+  {0xC2E7, 0x91D0}, //5253 #CJK UNIFIED IDEOGRAPH
+  {0xC2E8, 0x9394}, //5254 #CJK UNIFIED IDEOGRAPH
+  {0xC2E9, 0x938A}, //5255 #CJK UNIFIED IDEOGRAPH
+  {0xC2EA, 0x9396}, //5256 #CJK UNIFIED IDEOGRAPH
+  {0xC2EB, 0x93A2}, //5257 #CJK UNIFIED IDEOGRAPH
+  {0xC2EC, 0x93B3}, //5258 #CJK UNIFIED IDEOGRAPH
+  {0xC2ED, 0x93AE}, //5259 #CJK UNIFIED IDEOGRAPH
+  {0xC2EE, 0x93AC}, //5260 #CJK UNIFIED IDEOGRAPH
+  {0xC2EF, 0x93B0}, //5261 #CJK UNIFIED IDEOGRAPH
+  {0xC2F0, 0x9398}, //5262 #CJK UNIFIED IDEOGRAPH
+  {0xC2F1, 0x939A}, //5263 #CJK UNIFIED IDEOGRAPH
+  {0xC2F2, 0x9397}, //5264 #CJK UNIFIED IDEOGRAPH
+  {0xC2F3, 0x95D4}, //5265 #CJK UNIFIED IDEOGRAPH
+  {0xC2F4, 0x95D6}, //5266 #CJK UNIFIED IDEOGRAPH
+  {0xC2F5, 0x95D0}, //5267 #CJK UNIFIED IDEOGRAPH
+  {0xC2F6, 0x95D5}, //5268 #CJK UNIFIED IDEOGRAPH
+  {0xC2F7, 0x96E2}, //5269 #CJK UNIFIED IDEOGRAPH
+  {0xC2F8, 0x96DC}, //5270 #CJK UNIFIED IDEOGRAPH
+  {0xC2F9, 0x96D9}, //5271 #CJK UNIFIED IDEOGRAPH
+  {0xC2FA, 0x96DB}, //5272 #CJK UNIFIED IDEOGRAPH
+  {0xC2FB, 0x96DE}, //5273 #CJK UNIFIED IDEOGRAPH
+  {0xC2FC, 0x9724}, //5274 #CJK UNIFIED IDEOGRAPH
+  {0xC2FD, 0x97A3}, //5275 #CJK UNIFIED IDEOGRAPH
+  {0xC2FE, 0x97A6}, //5276 #CJK UNIFIED IDEOGRAPH
+  {0xC340, 0x97AD}, //5277 #CJK UNIFIED IDEOGRAPH
+  {0xC341, 0x97F9}, //5278 #CJK UNIFIED IDEOGRAPH
+  {0xC342, 0x984D}, //5279 #CJK UNIFIED IDEOGRAPH
+  {0xC343, 0x984F}, //5280 #CJK UNIFIED IDEOGRAPH
+  {0xC344, 0x984C}, //5281 #CJK UNIFIED IDEOGRAPH
+  {0xC345, 0x984E}, //5282 #CJK UNIFIED IDEOGRAPH
+  {0xC346, 0x9853}, //5283 #CJK UNIFIED IDEOGRAPH
+  {0xC347, 0x98BA}, //5284 #CJK UNIFIED IDEOGRAPH
+  {0xC348, 0x993E}, //5285 #CJK UNIFIED IDEOGRAPH
+  {0xC349, 0x993F}, //5286 #CJK UNIFIED IDEOGRAPH
+  {0xC34A, 0x993D}, //5287 #CJK UNIFIED IDEOGRAPH
+  {0xC34B, 0x992E}, //5288 #CJK UNIFIED IDEOGRAPH
+  {0xC34C, 0x99A5}, //5289 #CJK UNIFIED IDEOGRAPH
+  {0xC34D, 0x9A0E}, //5290 #CJK UNIFIED IDEOGRAPH
+  {0xC34E, 0x9AC1}, //5291 #CJK UNIFIED IDEOGRAPH
+  {0xC34F, 0x9B03}, //5292 #CJK UNIFIED IDEOGRAPH
+  {0xC350, 0x9B06}, //5293 #CJK UNIFIED IDEOGRAPH
+  {0xC351, 0x9B4F}, //5294 #CJK UNIFIED IDEOGRAPH
+  {0xC352, 0x9B4E}, //5295 #CJK UNIFIED IDEOGRAPH
+  {0xC353, 0x9B4D}, //5296 #CJK UNIFIED IDEOGRAPH
+  {0xC354, 0x9BCA}, //5297 #CJK UNIFIED IDEOGRAPH
+  {0xC355, 0x9BC9}, //5298 #CJK UNIFIED IDEOGRAPH
+  {0xC356, 0x9BFD}, //5299 #CJK UNIFIED IDEOGRAPH
+  {0xC357, 0x9BC8}, //5300 #CJK UNIFIED IDEOGRAPH
+  {0xC358, 0x9BC0}, //5301 #CJK UNIFIED IDEOGRAPH
+  {0xC359, 0x9D51}, //5302 #CJK UNIFIED IDEOGRAPH
+  {0xC35A, 0x9D5D}, //5303 #CJK UNIFIED IDEOGRAPH
+  {0xC35B, 0x9D60}, //5304 #CJK UNIFIED IDEOGRAPH
+  {0xC35C, 0x9EE0}, //5305 #CJK UNIFIED IDEOGRAPH
+  {0xC35D, 0x9F15}, //5306 #CJK UNIFIED IDEOGRAPH
+  {0xC35E, 0x9F2C}, //5307 #CJK UNIFIED IDEOGRAPH
+  {0xC35F, 0x5133}, //5308 #CJK UNIFIED IDEOGRAPH
+  {0xC360, 0x56A5}, //5309 #CJK UNIFIED IDEOGRAPH
+  {0xC361, 0x58DE}, //5310 #CJK UNIFIED IDEOGRAPH
+  {0xC362, 0x58DF}, //5311 #CJK UNIFIED IDEOGRAPH
+  {0xC363, 0x58E2}, //5312 #CJK UNIFIED IDEOGRAPH
+  {0xC364, 0x5BF5}, //5313 #CJK UNIFIED IDEOGRAPH
+  {0xC365, 0x9F90}, //5314 #CJK UNIFIED IDEOGRAPH
+  {0xC366, 0x5EEC}, //5315 #CJK UNIFIED IDEOGRAPH
+  {0xC367, 0x61F2}, //5316 #CJK UNIFIED IDEOGRAPH
+  {0xC368, 0x61F7}, //5317 #CJK UNIFIED IDEOGRAPH
+  {0xC369, 0x61F6}, //5318 #CJK UNIFIED IDEOGRAPH
+  {0xC36A, 0x61F5}, //5319 #CJK UNIFIED IDEOGRAPH
+  {0xC36B, 0x6500}, //5320 #CJK UNIFIED IDEOGRAPH
+  {0xC36C, 0x650F}, //5321 #CJK UNIFIED IDEOGRAPH
+  {0xC36D, 0x66E0}, //5322 #CJK UNIFIED IDEOGRAPH
+  {0xC36E, 0x66DD}, //5323 #CJK UNIFIED IDEOGRAPH
+  {0xC36F, 0x6AE5}, //5324 #CJK UNIFIED IDEOGRAPH
+  {0xC370, 0x6ADD}, //5325 #CJK UNIFIED IDEOGRAPH
+  {0xC371, 0x6ADA}, //5326 #CJK UNIFIED IDEOGRAPH
+  {0xC372, 0x6AD3}, //5327 #CJK UNIFIED IDEOGRAPH
+  {0xC373, 0x701B}, //5328 #CJK UNIFIED IDEOGRAPH
+  {0xC374, 0x701F}, //5329 #CJK UNIFIED IDEOGRAPH
+  {0xC375, 0x7028}, //5330 #CJK UNIFIED IDEOGRAPH
+  {0xC376, 0x701A}, //5331 #CJK UNIFIED IDEOGRAPH
+  {0xC377, 0x701D}, //5332 #CJK UNIFIED IDEOGRAPH
+  {0xC378, 0x7015}, //5333 #CJK UNIFIED IDEOGRAPH
+  {0xC379, 0x7018}, //5334 #CJK UNIFIED IDEOGRAPH
+  {0xC37A, 0x7206}, //5335 #CJK UNIFIED IDEOGRAPH
+  {0xC37B, 0x720D}, //5336 #CJK UNIFIED IDEOGRAPH
+  {0xC37C, 0x7258}, //5337 #CJK UNIFIED IDEOGRAPH
+  {0xC37D, 0x72A2}, //5338 #CJK UNIFIED IDEOGRAPH
+  {0xC37E, 0x7378}, //5339 #CJK UNIFIED IDEOGRAPH
+  {0xC3A1, 0x737A}, //5340 #CJK UNIFIED IDEOGRAPH
+  {0xC3A2, 0x74BD}, //5341 #CJK UNIFIED IDEOGRAPH
+  {0xC3A3, 0x74CA}, //5342 #CJK UNIFIED IDEOGRAPH
+  {0xC3A4, 0x74E3}, //5343 #CJK UNIFIED IDEOGRAPH
+  {0xC3A5, 0x7587}, //5344 #CJK UNIFIED IDEOGRAPH
+  {0xC3A6, 0x7586}, //5345 #CJK UNIFIED IDEOGRAPH
+  {0xC3A7, 0x765F}, //5346 #CJK UNIFIED IDEOGRAPH
+  {0xC3A8, 0x7661}, //5347 #CJK UNIFIED IDEOGRAPH
+  {0xC3A9, 0x77C7}, //5348 #CJK UNIFIED IDEOGRAPH
+  {0xC3AA, 0x7919}, //5349 #CJK UNIFIED IDEOGRAPH
+  {0xC3AB, 0x79B1}, //5350 #CJK UNIFIED IDEOGRAPH
+  {0xC3AC, 0x7A6B}, //5351 #CJK UNIFIED IDEOGRAPH
+  {0xC3AD, 0x7A69}, //5352 #CJK UNIFIED IDEOGRAPH
+  {0xC3AE, 0x7C3E}, //5353 #CJK UNIFIED IDEOGRAPH
+  {0xC3AF, 0x7C3F}, //5354 #CJK UNIFIED IDEOGRAPH
+  {0xC3B0, 0x7C38}, //5355 #CJK UNIFIED IDEOGRAPH
+  {0xC3B1, 0x7C3D}, //5356 #CJK UNIFIED IDEOGRAPH
+  {0xC3B2, 0x7C37}, //5357 #CJK UNIFIED IDEOGRAPH
+  {0xC3B3, 0x7C40}, //5358 #CJK UNIFIED IDEOGRAPH
+  {0xC3B4, 0x7E6B}, //5359 #CJK UNIFIED IDEOGRAPH
+  {0xC3B5, 0x7E6D}, //5360 #CJK UNIFIED IDEOGRAPH
+  {0xC3B6, 0x7E79}, //5361 #CJK UNIFIED IDEOGRAPH
+  {0xC3B7, 0x7E69}, //5362 #CJK UNIFIED IDEOGRAPH
+  {0xC3B8, 0x7E6A}, //5363 #CJK UNIFIED IDEOGRAPH
+  {0xC3B9, 0x7F85}, //5364 #CJK UNIFIED IDEOGRAPH
+  {0xC3BA, 0x7E73}, //5365 #CJK UNIFIED IDEOGRAPH
+  {0xC3BB, 0x7FB6}, //5366 #CJK UNIFIED IDEOGRAPH
+  {0xC3BC, 0x7FB9}, //5367 #CJK UNIFIED IDEOGRAPH
+  {0xC3BD, 0x7FB8}, //5368 #CJK UNIFIED IDEOGRAPH
+  {0xC3BE, 0x81D8}, //5369 #CJK UNIFIED IDEOGRAPH
+  {0xC3BF, 0x85E9}, //5370 #CJK UNIFIED IDEOGRAPH
+  {0xC3C0, 0x85DD}, //5371 #CJK UNIFIED IDEOGRAPH
+  {0xC3C1, 0x85EA}, //5372 #CJK UNIFIED IDEOGRAPH
+  {0xC3C2, 0x85D5}, //5373 #CJK UNIFIED IDEOGRAPH
+  {0xC3C3, 0x85E4}, //5374 #CJK UNIFIED IDEOGRAPH
+  {0xC3C4, 0x85E5}, //5375 #CJK UNIFIED IDEOGRAPH
+  {0xC3C5, 0x85F7}, //5376 #CJK UNIFIED IDEOGRAPH
+  {0xC3C6, 0x87FB}, //5377 #CJK UNIFIED IDEOGRAPH
+  {0xC3C7, 0x8805}, //5378 #CJK UNIFIED IDEOGRAPH
+  {0xC3C8, 0x880D}, //5379 #CJK UNIFIED IDEOGRAPH
+  {0xC3C9, 0x87F9}, //5380 #CJK UNIFIED IDEOGRAPH
+  {0xC3CA, 0x87FE}, //5381 #CJK UNIFIED IDEOGRAPH
+  {0xC3CB, 0x8960}, //5382 #CJK UNIFIED IDEOGRAPH
+  {0xC3CC, 0x895F}, //5383 #CJK UNIFIED IDEOGRAPH
+  {0xC3CD, 0x8956}, //5384 #CJK UNIFIED IDEOGRAPH
+  {0xC3CE, 0x895E}, //5385 #CJK UNIFIED IDEOGRAPH
+  {0xC3CF, 0x8B41}, //5386 #CJK UNIFIED IDEOGRAPH
+  {0xC3D0, 0x8B5C}, //5387 #CJK UNIFIED IDEOGRAPH
+  {0xC3D1, 0x8B58}, //5388 #CJK UNIFIED IDEOGRAPH
+  {0xC3D2, 0x8B49}, //5389 #CJK UNIFIED IDEOGRAPH
+  {0xC3D3, 0x8B5A}, //5390 #CJK UNIFIED IDEOGRAPH
+  {0xC3D4, 0x8B4E}, //5391 #CJK UNIFIED IDEOGRAPH
+  {0xC3D5, 0x8B4F}, //5392 #CJK UNIFIED IDEOGRAPH
+  {0xC3D6, 0x8B46}, //5393 #CJK UNIFIED IDEOGRAPH
+  {0xC3D7, 0x8B59}, //5394 #CJK UNIFIED IDEOGRAPH
+  {0xC3D8, 0x8D08}, //5395 #CJK UNIFIED IDEOGRAPH
+  {0xC3D9, 0x8D0A}, //5396 #CJK UNIFIED IDEOGRAPH
+  {0xC3DA, 0x8E7C}, //5397 #CJK UNIFIED IDEOGRAPH
+  {0xC3DB, 0x8E72}, //5398 #CJK UNIFIED IDEOGRAPH
+  {0xC3DC, 0x8E87}, //5399 #CJK UNIFIED IDEOGRAPH
+  {0xC3DD, 0x8E76}, //5400 #CJK UNIFIED IDEOGRAPH
+  {0xC3DE, 0x8E6C}, //5401 #CJK UNIFIED IDEOGRAPH
+  {0xC3DF, 0x8E7A}, //5402 #CJK UNIFIED IDEOGRAPH
+  {0xC3E0, 0x8E74}, //5403 #CJK UNIFIED IDEOGRAPH
+  {0xC3E1, 0x8F54}, //5404 #CJK UNIFIED IDEOGRAPH
+  {0xC3E2, 0x8F4E}, //5405 #CJK UNIFIED IDEOGRAPH
+  {0xC3E3, 0x8FAD}, //5406 #CJK UNIFIED IDEOGRAPH
+  {0xC3E4, 0x908A}, //5407 #CJK UNIFIED IDEOGRAPH
+  {0xC3E5, 0x908B}, //5408 #CJK UNIFIED IDEOGRAPH
+  {0xC3E6, 0x91B1}, //5409 #CJK UNIFIED IDEOGRAPH
+  {0xC3E7, 0x91AE}, //5410 #CJK UNIFIED IDEOGRAPH
+  {0xC3E8, 0x93E1}, //5411 #CJK UNIFIED IDEOGRAPH
+  {0xC3E9, 0x93D1}, //5412 #CJK UNIFIED IDEOGRAPH
+  {0xC3EA, 0x93DF}, //5413 #CJK UNIFIED IDEOGRAPH
+  {0xC3EB, 0x93C3}, //5414 #CJK UNIFIED IDEOGRAPH
+  {0xC3EC, 0x93C8}, //5415 #CJK UNIFIED IDEOGRAPH
+  {0xC3ED, 0x93DC}, //5416 #CJK UNIFIED IDEOGRAPH
+  {0xC3EE, 0x93DD}, //5417 #CJK UNIFIED IDEOGRAPH
+  {0xC3EF, 0x93D6}, //5418 #CJK UNIFIED IDEOGRAPH
+  {0xC3F0, 0x93E2}, //5419 #CJK UNIFIED IDEOGRAPH
+  {0xC3F1, 0x93CD}, //5420 #CJK UNIFIED IDEOGRAPH
+  {0xC3F2, 0x93D8}, //5421 #CJK UNIFIED IDEOGRAPH
+  {0xC3F3, 0x93E4}, //5422 #CJK UNIFIED IDEOGRAPH
+  {0xC3F4, 0x93D7}, //5423 #CJK UNIFIED IDEOGRAPH
+  {0xC3F5, 0x93E8}, //5424 #CJK UNIFIED IDEOGRAPH
+  {0xC3F6, 0x95DC}, //5425 #CJK UNIFIED IDEOGRAPH
+  {0xC3F7, 0x96B4}, //5426 #CJK UNIFIED IDEOGRAPH
+  {0xC3F8, 0x96E3}, //5427 #CJK UNIFIED IDEOGRAPH
+  {0xC3F9, 0x972A}, //5428 #CJK UNIFIED IDEOGRAPH
+  {0xC3FA, 0x9727}, //5429 #CJK UNIFIED IDEOGRAPH
+  {0xC3FB, 0x9761}, //5430 #CJK UNIFIED IDEOGRAPH
+  {0xC3FC, 0x97DC}, //5431 #CJK UNIFIED IDEOGRAPH
+  {0xC3FD, 0x97FB}, //5432 #CJK UNIFIED IDEOGRAPH
+  {0xC3FE, 0x985E}, //5433 #CJK UNIFIED IDEOGRAPH
+  {0xC440, 0x9858}, //5434 #CJK UNIFIED IDEOGRAPH
+  {0xC441, 0x985B}, //5435 #CJK UNIFIED IDEOGRAPH
+  {0xC442, 0x98BC}, //5436 #CJK UNIFIED IDEOGRAPH
+  {0xC443, 0x9945}, //5437 #CJK UNIFIED IDEOGRAPH
+  {0xC444, 0x9949}, //5438 #CJK UNIFIED IDEOGRAPH
+  {0xC445, 0x9A16}, //5439 #CJK UNIFIED IDEOGRAPH
+  {0xC446, 0x9A19}, //5440 #CJK UNIFIED IDEOGRAPH
+  {0xC447, 0x9B0D}, //5441 #CJK UNIFIED IDEOGRAPH
+  {0xC448, 0x9BE8}, //5442 #CJK UNIFIED IDEOGRAPH
+  {0xC449, 0x9BE7}, //5443 #CJK UNIFIED IDEOGRAPH
+  {0xC44A, 0x9BD6}, //5444 #CJK UNIFIED IDEOGRAPH
+  {0xC44B, 0x9BDB}, //5445 #CJK UNIFIED IDEOGRAPH
+  {0xC44C, 0x9D89}, //5446 #CJK UNIFIED IDEOGRAPH
+  {0xC44D, 0x9D61}, //5447 #CJK UNIFIED IDEOGRAPH
+  {0xC44E, 0x9D72}, //5448 #CJK UNIFIED IDEOGRAPH
+  {0xC44F, 0x9D6A}, //5449 #CJK UNIFIED IDEOGRAPH
+  {0xC450, 0x9D6C}, //5450 #CJK UNIFIED IDEOGRAPH
+  {0xC451, 0x9E92}, //5451 #CJK UNIFIED IDEOGRAPH
+  {0xC452, 0x9E97}, //5452 #CJK UNIFIED IDEOGRAPH
+  {0xC453, 0x9E93}, //5453 #CJK UNIFIED IDEOGRAPH
+  {0xC454, 0x9EB4}, //5454 #CJK UNIFIED IDEOGRAPH
+  {0xC455, 0x52F8}, //5455 #CJK UNIFIED IDEOGRAPH
+  {0xC456, 0x56A8}, //5456 #CJK UNIFIED IDEOGRAPH
+  {0xC457, 0x56B7}, //5457 #CJK UNIFIED IDEOGRAPH
+  {0xC458, 0x56B6}, //5458 #CJK UNIFIED IDEOGRAPH
+  {0xC459, 0x56B4}, //5459 #CJK UNIFIED IDEOGRAPH
+  {0xC45A, 0x56BC}, //5460 #CJK UNIFIED IDEOGRAPH
+  {0xC45B, 0x58E4}, //5461 #CJK UNIFIED IDEOGRAPH
+  {0xC45C, 0x5B40}, //5462 #CJK UNIFIED IDEOGRAPH
+  {0xC45D, 0x5B43}, //5463 #CJK UNIFIED IDEOGRAPH
+  {0xC45E, 0x5B7D}, //5464 #CJK UNIFIED IDEOGRAPH
+  {0xC45F, 0x5BF6}, //5465 #CJK UNIFIED IDEOGRAPH
+  {0xC460, 0x5DC9}, //5466 #CJK UNIFIED IDEOGRAPH
+  {0xC461, 0x61F8}, //5467 #CJK UNIFIED IDEOGRAPH
+  {0xC462, 0x61FA}, //5468 #CJK UNIFIED IDEOGRAPH
+  {0xC463, 0x6518}, //5469 #CJK UNIFIED IDEOGRAPH
+  {0xC464, 0x6514}, //5470 #CJK UNIFIED IDEOGRAPH
+  {0xC465, 0x6519}, //5471 #CJK UNIFIED IDEOGRAPH
+  {0xC466, 0x66E6}, //5472 #CJK UNIFIED IDEOGRAPH
+  {0xC467, 0x6727}, //5473 #CJK UNIFIED IDEOGRAPH
+  {0xC468, 0x6AEC}, //5474 #CJK UNIFIED IDEOGRAPH
+  {0xC469, 0x703E}, //5475 #CJK UNIFIED IDEOGRAPH
+  {0xC46A, 0x7030}, //5476 #CJK UNIFIED IDEOGRAPH
+  {0xC46B, 0x7032}, //5477 #CJK UNIFIED IDEOGRAPH
+  {0xC46C, 0x7210}, //5478 #CJK UNIFIED IDEOGRAPH
+  {0xC46D, 0x737B}, //5479 #CJK UNIFIED IDEOGRAPH
+  {0xC46E, 0x74CF}, //5480 #CJK UNIFIED IDEOGRAPH
+  {0xC46F, 0x7662}, //5481 #CJK UNIFIED IDEOGRAPH
+  {0xC470, 0x7665}, //5482 #CJK UNIFIED IDEOGRAPH
+  {0xC471, 0x7926}, //5483 #CJK UNIFIED IDEOGRAPH
+  {0xC472, 0x792A}, //5484 #CJK UNIFIED IDEOGRAPH
+  {0xC473, 0x792C}, //5485 #CJK UNIFIED IDEOGRAPH
+  {0xC474, 0x792B}, //5486 #CJK UNIFIED IDEOGRAPH
+  {0xC475, 0x7AC7}, //5487 #CJK UNIFIED IDEOGRAPH
+  {0xC476, 0x7AF6}, //5488 #CJK UNIFIED IDEOGRAPH
+  {0xC477, 0x7C4C}, //5489 #CJK UNIFIED IDEOGRAPH
+  {0xC478, 0x7C43}, //5490 #CJK UNIFIED IDEOGRAPH
+  {0xC479, 0x7C4D}, //5491 #CJK UNIFIED IDEOGRAPH
+  {0xC47A, 0x7CEF}, //5492 #CJK UNIFIED IDEOGRAPH
+  {0xC47B, 0x7CF0}, //5493 #CJK UNIFIED IDEOGRAPH
+  {0xC47C, 0x8FAE}, //5494 #CJK UNIFIED IDEOGRAPH
+  {0xC47D, 0x7E7D}, //5495 #CJK UNIFIED IDEOGRAPH
+  {0xC47E, 0x7E7C}, //5496 #CJK UNIFIED IDEOGRAPH
+  {0xC4A1, 0x7E82}, //5497 #CJK UNIFIED IDEOGRAPH
+  {0xC4A2, 0x7F4C}, //5498 #CJK UNIFIED IDEOGRAPH
+  {0xC4A3, 0x8000}, //5499 #CJK UNIFIED IDEOGRAPH
+  {0xC4A4, 0x81DA}, //5500 #CJK UNIFIED IDEOGRAPH
+  {0xC4A5, 0x8266}, //5501 #CJK UNIFIED IDEOGRAPH
+  {0xC4A6, 0x85FB}, //5502 #CJK UNIFIED IDEOGRAPH
+  {0xC4A7, 0x85F9}, //5503 #CJK UNIFIED IDEOGRAPH
+  {0xC4A8, 0x8611}, //5504 #CJK UNIFIED IDEOGRAPH
+  {0xC4A9, 0x85FA}, //5505 #CJK UNIFIED IDEOGRAPH
+  {0xC4AA, 0x8606}, //5506 #CJK UNIFIED IDEOGRAPH
+  {0xC4AB, 0x860B}, //5507 #CJK UNIFIED IDEOGRAPH
+  {0xC4AC, 0x8607}, //5508 #CJK UNIFIED IDEOGRAPH
+  {0xC4AD, 0x860A}, //5509 #CJK UNIFIED IDEOGRAPH
+  {0xC4AE, 0x8814}, //5510 #CJK UNIFIED IDEOGRAPH
+  {0xC4AF, 0x8815}, //5511 #CJK UNIFIED IDEOGRAPH
+  {0xC4B0, 0x8964}, //5512 #CJK UNIFIED IDEOGRAPH
+  {0xC4B1, 0x89BA}, //5513 #CJK UNIFIED IDEOGRAPH
+  {0xC4B2, 0x89F8}, //5514 #CJK UNIFIED IDEOGRAPH
+  {0xC4B3, 0x8B70}, //5515 #CJK UNIFIED IDEOGRAPH
+  {0xC4B4, 0x8B6C}, //5516 #CJK UNIFIED IDEOGRAPH
+  {0xC4B5, 0x8B66}, //5517 #CJK UNIFIED IDEOGRAPH
+  {0xC4B6, 0x8B6F}, //5518 #CJK UNIFIED IDEOGRAPH
+  {0xC4B7, 0x8B5F}, //5519 #CJK UNIFIED IDEOGRAPH
+  {0xC4B8, 0x8B6B}, //5520 #CJK UNIFIED IDEOGRAPH
+  {0xC4B9, 0x8D0F}, //5521 #CJK UNIFIED IDEOGRAPH
+  {0xC4BA, 0x8D0D}, //5522 #CJK UNIFIED IDEOGRAPH
+  {0xC4BB, 0x8E89}, //5523 #CJK UNIFIED IDEOGRAPH
+  {0xC4BC, 0x8E81}, //5524 #CJK UNIFIED IDEOGRAPH
+  {0xC4BD, 0x8E85}, //5525 #CJK UNIFIED IDEOGRAPH
+  {0xC4BE, 0x8E82}, //5526 #CJK UNIFIED IDEOGRAPH
+  {0xC4BF, 0x91B4}, //5527 #CJK UNIFIED IDEOGRAPH
+  {0xC4C0, 0x91CB}, //5528 #CJK UNIFIED IDEOGRAPH
+  {0xC4C1, 0x9418}, //5529 #CJK UNIFIED IDEOGRAPH
+  {0xC4C2, 0x9403}, //5530 #CJK UNIFIED IDEOGRAPH
+  {0xC4C3, 0x93FD}, //5531 #CJK UNIFIED IDEOGRAPH
+  {0xC4C4, 0x95E1}, //5532 #CJK UNIFIED IDEOGRAPH
+  {0xC4C5, 0x9730}, //5533 #CJK UNIFIED IDEOGRAPH
+  {0xC4C6, 0x98C4}, //5534 #CJK UNIFIED IDEOGRAPH
+  {0xC4C7, 0x9952}, //5535 #CJK UNIFIED IDEOGRAPH
+  {0xC4C8, 0x9951}, //5536 #CJK UNIFIED IDEOGRAPH
+  {0xC4C9, 0x99A8}, //5537 #CJK UNIFIED IDEOGRAPH
+  {0xC4CA, 0x9A2B}, //5538 #CJK UNIFIED IDEOGRAPH
+  {0xC4CB, 0x9A30}, //5539 #CJK UNIFIED IDEOGRAPH
+  {0xC4CC, 0x9A37}, //5540 #CJK UNIFIED IDEOGRAPH
+  {0xC4CD, 0x9A35}, //5541 #CJK UNIFIED IDEOGRAPH
+  {0xC4CE, 0x9C13}, //5542 #CJK UNIFIED IDEOGRAPH
+  {0xC4CF, 0x9C0D}, //5543 #CJK UNIFIED IDEOGRAPH
+  {0xC4D0, 0x9E79}, //5544 #CJK UNIFIED IDEOGRAPH
+  {0xC4D1, 0x9EB5}, //5545 #CJK UNIFIED IDEOGRAPH
+  {0xC4D2, 0x9EE8}, //5546 #CJK UNIFIED IDEOGRAPH
+  {0xC4D3, 0x9F2F}, //5547 #CJK UNIFIED IDEOGRAPH
+  {0xC4D4, 0x9F5F}, //5548 #CJK UNIFIED IDEOGRAPH
+  {0xC4D5, 0x9F63}, //5549 #CJK UNIFIED IDEOGRAPH
+  {0xC4D6, 0x9F61}, //5550 #CJK UNIFIED IDEOGRAPH
+  {0xC4D7, 0x5137}, //5551 #CJK UNIFIED IDEOGRAPH
+  {0xC4D8, 0x5138}, //5552 #CJK UNIFIED IDEOGRAPH
+  {0xC4D9, 0x56C1}, //5553 #CJK UNIFIED IDEOGRAPH
+  {0xC4DA, 0x56C0}, //5554 #CJK UNIFIED IDEOGRAPH
+  {0xC4DB, 0x56C2}, //5555 #CJK UNIFIED IDEOGRAPH
+  {0xC4DC, 0x5914}, //5556 #CJK UNIFIED IDEOGRAPH
+  {0xC4DD, 0x5C6C}, //5557 #CJK UNIFIED IDEOGRAPH
+  {0xC4DE, 0x5DCD}, //5558 #CJK UNIFIED IDEOGRAPH
+  {0xC4DF, 0x61FC}, //5559 #CJK UNIFIED IDEOGRAPH
+  {0xC4E0, 0x61FE}, //5560 #CJK UNIFIED IDEOGRAPH
+  {0xC4E1, 0x651D}, //5561 #CJK UNIFIED IDEOGRAPH
+  {0xC4E2, 0x651C}, //5562 #CJK UNIFIED IDEOGRAPH
+  {0xC4E3, 0x6595}, //5563 #CJK UNIFIED IDEOGRAPH
+  {0xC4E4, 0x66E9}, //5564 #CJK UNIFIED IDEOGRAPH
+  {0xC4E5, 0x6AFB}, //5565 #CJK UNIFIED IDEOGRAPH
+  {0xC4E6, 0x6B04}, //5566 #CJK UNIFIED IDEOGRAPH
+  {0xC4E7, 0x6AFA}, //5567 #CJK UNIFIED IDEOGRAPH
+  {0xC4E8, 0x6BB2}, //5568 #CJK UNIFIED IDEOGRAPH
+  {0xC4E9, 0x704C}, //5569 #CJK UNIFIED IDEOGRAPH
+  {0xC4EA, 0x721B}, //5570 #CJK UNIFIED IDEOGRAPH
+  {0xC4EB, 0x72A7}, //5571 #CJK UNIFIED IDEOGRAPH
+  {0xC4EC, 0x74D6}, //5572 #CJK UNIFIED IDEOGRAPH
+  {0xC4ED, 0x74D4}, //5573 #CJK UNIFIED IDEOGRAPH
+  {0xC4EE, 0x7669}, //5574 #CJK UNIFIED IDEOGRAPH
+  {0xC4EF, 0x77D3}, //5575 #CJK UNIFIED IDEOGRAPH
+  {0xC4F0, 0x7C50}, //5576 #CJK UNIFIED IDEOGRAPH
+  {0xC4F1, 0x7E8F}, //5577 #CJK UNIFIED IDEOGRAPH
+  {0xC4F2, 0x7E8C}, //5578 #CJK UNIFIED IDEOGRAPH
+  {0xC4F3, 0x7FBC}, //5579 #CJK UNIFIED IDEOGRAPH
+  {0xC4F4, 0x8617}, //5580 #CJK UNIFIED IDEOGRAPH
+  {0xC4F5, 0x862D}, //5581 #CJK UNIFIED IDEOGRAPH
+  {0xC4F6, 0x861A}, //5582 #CJK UNIFIED IDEOGRAPH
+  {0xC4F7, 0x8823}, //5583 #CJK UNIFIED IDEOGRAPH
+  {0xC4F8, 0x8822}, //5584 #CJK UNIFIED IDEOGRAPH
+  {0xC4F9, 0x8821}, //5585 #CJK UNIFIED IDEOGRAPH
+  {0xC4FA, 0x881F}, //5586 #CJK UNIFIED IDEOGRAPH
+  {0xC4FB, 0x896A}, //5587 #CJK UNIFIED IDEOGRAPH
+  {0xC4FC, 0x896C}, //5588 #CJK UNIFIED IDEOGRAPH
+  {0xC4FD, 0x89BD}, //5589 #CJK UNIFIED IDEOGRAPH
+  {0xC4FE, 0x8B74}, //5590 #CJK UNIFIED IDEOGRAPH
+  {0xC540, 0x8B77}, //5591 #CJK UNIFIED IDEOGRAPH
+  {0xC541, 0x8B7D}, //5592 #CJK UNIFIED IDEOGRAPH
+  {0xC542, 0x8D13}, //5593 #CJK UNIFIED IDEOGRAPH
+  {0xC543, 0x8E8A}, //5594 #CJK UNIFIED IDEOGRAPH
+  {0xC544, 0x8E8D}, //5595 #CJK UNIFIED IDEOGRAPH
+  {0xC545, 0x8E8B}, //5596 #CJK UNIFIED IDEOGRAPH
+  {0xC546, 0x8F5F}, //5597 #CJK UNIFIED IDEOGRAPH
+  {0xC547, 0x8FAF}, //5598 #CJK UNIFIED IDEOGRAPH
+  {0xC548, 0x91BA}, //5599 #CJK UNIFIED IDEOGRAPH
+  {0xC549, 0x942E}, //5600 #CJK UNIFIED IDEOGRAPH
+  {0xC54A, 0x9433}, //5601 #CJK UNIFIED IDEOGRAPH
+  {0xC54B, 0x9435}, //5602 #CJK UNIFIED IDEOGRAPH
+  {0xC54C, 0x943A}, //5603 #CJK UNIFIED IDEOGRAPH
+  {0xC54D, 0x9438}, //5604 #CJK UNIFIED IDEOGRAPH
+  {0xC54E, 0x9432}, //5605 #CJK UNIFIED IDEOGRAPH
+  {0xC54F, 0x942B}, //5606 #CJK UNIFIED IDEOGRAPH
+  {0xC550, 0x95E2}, //5607 #CJK UNIFIED IDEOGRAPH
+  {0xC551, 0x9738}, //5608 #CJK UNIFIED IDEOGRAPH
+  {0xC552, 0x9739}, //5609 #CJK UNIFIED IDEOGRAPH
+  {0xC553, 0x9732}, //5610 #CJK UNIFIED IDEOGRAPH
+  {0xC554, 0x97FF}, //5611 #CJK UNIFIED IDEOGRAPH
+  {0xC555, 0x9867}, //5612 #CJK UNIFIED IDEOGRAPH
+  {0xC556, 0x9865}, //5613 #CJK UNIFIED IDEOGRAPH
+  {0xC557, 0x9957}, //5614 #CJK UNIFIED IDEOGRAPH
+  {0xC558, 0x9A45}, //5615 #CJK UNIFIED IDEOGRAPH
+  {0xC559, 0x9A43}, //5616 #CJK UNIFIED IDEOGRAPH
+  {0xC55A, 0x9A40}, //5617 #CJK UNIFIED IDEOGRAPH
+  {0xC55B, 0x9A3E}, //5618 #CJK UNIFIED IDEOGRAPH
+  {0xC55C, 0x9ACF}, //5619 #CJK UNIFIED IDEOGRAPH
+  {0xC55D, 0x9B54}, //5620 #CJK UNIFIED IDEOGRAPH
+  {0xC55E, 0x9B51}, //5621 #CJK UNIFIED IDEOGRAPH
+  {0xC55F, 0x9C2D}, //5622 #CJK UNIFIED IDEOGRAPH
+  {0xC560, 0x9C25}, //5623 #CJK UNIFIED IDEOGRAPH
+  {0xC561, 0x9DAF}, //5624 #CJK UNIFIED IDEOGRAPH
+  {0xC562, 0x9DB4}, //5625 #CJK UNIFIED IDEOGRAPH
+  {0xC563, 0x9DC2}, //5626 #CJK UNIFIED IDEOGRAPH
+  {0xC564, 0x9DB8}, //5627 #CJK UNIFIED IDEOGRAPH
+  {0xC565, 0x9E9D}, //5628 #CJK UNIFIED IDEOGRAPH
+  {0xC566, 0x9EEF}, //5629 #CJK UNIFIED IDEOGRAPH
+  {0xC567, 0x9F19}, //5630 #CJK UNIFIED IDEOGRAPH
+  {0xC568, 0x9F5C}, //5631 #CJK UNIFIED IDEOGRAPH
+  {0xC569, 0x9F66}, //5632 #CJK UNIFIED IDEOGRAPH
+  {0xC56A, 0x9F67}, //5633 #CJK UNIFIED IDEOGRAPH
+  {0xC56B, 0x513C}, //5634 #CJK UNIFIED IDEOGRAPH
+  {0xC56C, 0x513B}, //5635 #CJK UNIFIED IDEOGRAPH
+  {0xC56D, 0x56C8}, //5636 #CJK UNIFIED IDEOGRAPH
+  {0xC56E, 0x56CA}, //5637 #CJK UNIFIED IDEOGRAPH
+  {0xC56F, 0x56C9}, //5638 #CJK UNIFIED IDEOGRAPH
+  {0xC570, 0x5B7F}, //5639 #CJK UNIFIED IDEOGRAPH
+  {0xC571, 0x5DD4}, //5640 #CJK UNIFIED IDEOGRAPH
+  {0xC572, 0x5DD2}, //5641 #CJK UNIFIED IDEOGRAPH
+  {0xC573, 0x5F4E}, //5642 #CJK UNIFIED IDEOGRAPH
+  {0xC574, 0x61FF}, //5643 #CJK UNIFIED IDEOGRAPH
+  {0xC575, 0x6524}, //5644 #CJK UNIFIED IDEOGRAPH
+  {0xC576, 0x6B0A}, //5645 #CJK UNIFIED IDEOGRAPH
+  {0xC577, 0x6B61}, //5646 #CJK UNIFIED IDEOGRAPH
+  {0xC578, 0x7051}, //5647 #CJK UNIFIED IDEOGRAPH
+  {0xC579, 0x7058}, //5648 #CJK UNIFIED IDEOGRAPH
+  {0xC57A, 0x7380}, //5649 #CJK UNIFIED IDEOGRAPH
+  {0xC57B, 0x74E4}, //5650 #CJK UNIFIED IDEOGRAPH
+  {0xC57C, 0x758A}, //5651 #CJK UNIFIED IDEOGRAPH
+  {0xC57D, 0x766E}, //5652 #CJK UNIFIED IDEOGRAPH
+  {0xC57E, 0x766C}, //5653 #CJK UNIFIED IDEOGRAPH
+  {0xC5A1, 0x79B3}, //5654 #CJK UNIFIED IDEOGRAPH
+  {0xC5A2, 0x7C60}, //5655 #CJK UNIFIED IDEOGRAPH
+  {0xC5A3, 0x7C5F}, //5656 #CJK UNIFIED IDEOGRAPH
+  {0xC5A4, 0x807E}, //5657 #CJK UNIFIED IDEOGRAPH
+  {0xC5A5, 0x807D}, //5658 #CJK UNIFIED IDEOGRAPH
+  {0xC5A6, 0x81DF}, //5659 #CJK UNIFIED IDEOGRAPH
+  {0xC5A7, 0x8972}, //5660 #CJK UNIFIED IDEOGRAPH
+  {0xC5A8, 0x896F}, //5661 #CJK UNIFIED IDEOGRAPH
+  {0xC5A9, 0x89FC}, //5662 #CJK UNIFIED IDEOGRAPH
+  {0xC5AA, 0x8B80}, //5663 #CJK UNIFIED IDEOGRAPH
+  {0xC5AB, 0x8D16}, //5664 #CJK UNIFIED IDEOGRAPH
+  {0xC5AC, 0x8D17}, //5665 #CJK UNIFIED IDEOGRAPH
+  {0xC5AD, 0x8E91}, //5666 #CJK UNIFIED IDEOGRAPH
+  {0xC5AE, 0x8E93}, //5667 #CJK UNIFIED IDEOGRAPH
+  {0xC5AF, 0x8F61}, //5668 #CJK UNIFIED IDEOGRAPH
+  {0xC5B0, 0x9148}, //5669 #CJK UNIFIED IDEOGRAPH
+  {0xC5B1, 0x9444}, //5670 #CJK UNIFIED IDEOGRAPH
+  {0xC5B2, 0x9451}, //5671 #CJK UNIFIED IDEOGRAPH
+  {0xC5B3, 0x9452}, //5672 #CJK UNIFIED IDEOGRAPH
+  {0xC5B4, 0x973D}, //5673 #CJK UNIFIED IDEOGRAPH
+  {0xC5B5, 0x973E}, //5674 #CJK UNIFIED IDEOGRAPH
+  {0xC5B6, 0x97C3}, //5675 #CJK UNIFIED IDEOGRAPH
+  {0xC5B7, 0x97C1}, //5676 #CJK UNIFIED IDEOGRAPH
+  {0xC5B8, 0x986B}, //5677 #CJK UNIFIED IDEOGRAPH
+  {0xC5B9, 0x9955}, //5678 #CJK UNIFIED IDEOGRAPH
+  {0xC5BA, 0x9A55}, //5679 #CJK UNIFIED IDEOGRAPH
+  {0xC5BB, 0x9A4D}, //5680 #CJK UNIFIED IDEOGRAPH
+  {0xC5BC, 0x9AD2}, //5681 #CJK UNIFIED IDEOGRAPH
+  {0xC5BD, 0x9B1A}, //5682 #CJK UNIFIED IDEOGRAPH
+  {0xC5BE, 0x9C49}, //5683 #CJK UNIFIED IDEOGRAPH
+  {0xC5BF, 0x9C31}, //5684 #CJK UNIFIED IDEOGRAPH
+  {0xC5C0, 0x9C3E}, //5685 #CJK UNIFIED IDEOGRAPH
+  {0xC5C1, 0x9C3B}, //5686 #CJK UNIFIED IDEOGRAPH
+  {0xC5C2, 0x9DD3}, //5687 #CJK UNIFIED IDEOGRAPH
+  {0xC5C3, 0x9DD7}, //5688 #CJK UNIFIED IDEOGRAPH
+  {0xC5C4, 0x9F34}, //5689 #CJK UNIFIED IDEOGRAPH
+  {0xC5C5, 0x9F6C}, //5690 #CJK UNIFIED IDEOGRAPH
+  {0xC5C6, 0x9F6A}, //5691 #CJK UNIFIED IDEOGRAPH
+  {0xC5C7, 0x9F94}, //5692 #CJK UNIFIED IDEOGRAPH
+  {0xC5C8, 0x56CC}, //5693 #CJK UNIFIED IDEOGRAPH
+  {0xC5C9, 0x5DD6}, //5694 #CJK UNIFIED IDEOGRAPH
+  {0xC5CA, 0x6200}, //5695 #CJK UNIFIED IDEOGRAPH
+  {0xC5CB, 0x6523}, //5696 #CJK UNIFIED IDEOGRAPH
+  {0xC5CC, 0x652B}, //5697 #CJK UNIFIED IDEOGRAPH
+  {0xC5CD, 0x652A}, //5698 #CJK UNIFIED IDEOGRAPH
+  {0xC5CE, 0x66EC}, //5699 #CJK UNIFIED IDEOGRAPH
+  {0xC5CF, 0x6B10}, //5700 #CJK UNIFIED IDEOGRAPH
+  {0xC5D0, 0x74DA}, //5701 #CJK UNIFIED IDEOGRAPH
+  {0xC5D1, 0x7ACA}, //5702 #CJK UNIFIED IDEOGRAPH
+  {0xC5D2, 0x7C64}, //5703 #CJK UNIFIED IDEOGRAPH
+  {0xC5D3, 0x7C63}, //5704 #CJK UNIFIED IDEOGRAPH
+  {0xC5D4, 0x7C65}, //5705 #CJK UNIFIED IDEOGRAPH
+  {0xC5D5, 0x7E93}, //5706 #CJK UNIFIED IDEOGRAPH
+  {0xC5D6, 0x7E96}, //5707 #CJK UNIFIED IDEOGRAPH
+  {0xC5D7, 0x7E94}, //5708 #CJK UNIFIED IDEOGRAPH
+  {0xC5D8, 0x81E2}, //5709 #CJK UNIFIED IDEOGRAPH
+  {0xC5D9, 0x8638}, //5710 #CJK UNIFIED IDEOGRAPH
+  {0xC5DA, 0x863F}, //5711 #CJK UNIFIED IDEOGRAPH
+  {0xC5DB, 0x8831}, //5712 #CJK UNIFIED IDEOGRAPH
+  {0xC5DC, 0x8B8A}, //5713 #CJK UNIFIED IDEOGRAPH
+  {0xC5DD, 0x9090}, //5714 #CJK UNIFIED IDEOGRAPH
+  {0xC5DE, 0x908F}, //5715 #CJK UNIFIED IDEOGRAPH
+  {0xC5DF, 0x9463}, //5716 #CJK UNIFIED IDEOGRAPH
+  {0xC5E0, 0x9460}, //5717 #CJK UNIFIED IDEOGRAPH
+  {0xC5E1, 0x9464}, //5718 #CJK UNIFIED IDEOGRAPH
+  {0xC5E2, 0x9768}, //5719 #CJK UNIFIED IDEOGRAPH
+  {0xC5E3, 0x986F}, //5720 #CJK UNIFIED IDEOGRAPH
+  {0xC5E4, 0x995C}, //5721 #CJK UNIFIED IDEOGRAPH
+  {0xC5E5, 0x9A5A}, //5722 #CJK UNIFIED IDEOGRAPH
+  {0xC5E6, 0x9A5B}, //5723 #CJK UNIFIED IDEOGRAPH
+  {0xC5E7, 0x9A57}, //5724 #CJK UNIFIED IDEOGRAPH
+  {0xC5E8, 0x9AD3}, //5725 #CJK UNIFIED IDEOGRAPH
+  {0xC5E9, 0x9AD4}, //5726 #CJK UNIFIED IDEOGRAPH
+  {0xC5EA, 0x9AD1}, //5727 #CJK UNIFIED IDEOGRAPH
+  {0xC5EB, 0x9C54}, //5728 #CJK UNIFIED IDEOGRAPH
+  {0xC5EC, 0x9C57}, //5729 #CJK UNIFIED IDEOGRAPH
+  {0xC5ED, 0x9C56}, //5730 #CJK UNIFIED IDEOGRAPH
+  {0xC5EE, 0x9DE5}, //5731 #CJK UNIFIED IDEOGRAPH
+  {0xC5EF, 0x9E9F}, //5732 #CJK UNIFIED IDEOGRAPH
+  {0xC5F0, 0x9EF4}, //5733 #CJK UNIFIED IDEOGRAPH
+  {0xC5F1, 0x56D1}, //5734 #CJK UNIFIED IDEOGRAPH
+  {0xC5F2, 0x58E9}, //5735 #CJK UNIFIED IDEOGRAPH
+  {0xC5F3, 0x652C}, //5736 #CJK UNIFIED IDEOGRAPH
+  {0xC5F4, 0x705E}, //5737 #CJK UNIFIED IDEOGRAPH
+  {0xC5F5, 0x7671}, //5738 #CJK UNIFIED IDEOGRAPH
+  {0xC5F6, 0x7672}, //5739 #CJK UNIFIED IDEOGRAPH
+  {0xC5F7, 0x77D7}, //5740 #CJK UNIFIED IDEOGRAPH
+  {0xC5F8, 0x7F50}, //5741 #CJK UNIFIED IDEOGRAPH
+  {0xC5F9, 0x7F88}, //5742 #CJK UNIFIED IDEOGRAPH
+  {0xC5FA, 0x8836}, //5743 #CJK UNIFIED IDEOGRAPH
+  {0xC5FB, 0x8839}, //5744 #CJK UNIFIED IDEOGRAPH
+  {0xC5FC, 0x8862}, //5745 #CJK UNIFIED IDEOGRAPH
+  {0xC5FD, 0x8B93}, //5746 #CJK UNIFIED IDEOGRAPH
+  {0xC5FE, 0x8B92}, //5747 #CJK UNIFIED IDEOGRAPH
+  {0xC640, 0x8B96}, //5748 #CJK UNIFIED IDEOGRAPH
+  {0xC641, 0x8277}, //5749 #CJK UNIFIED IDEOGRAPH
+  {0xC642, 0x8D1B}, //5750 #CJK UNIFIED IDEOGRAPH
+  {0xC643, 0x91C0}, //5751 #CJK UNIFIED IDEOGRAPH
+  {0xC644, 0x946A}, //5752 #CJK UNIFIED IDEOGRAPH
+  {0xC645, 0x9742}, //5753 #CJK UNIFIED IDEOGRAPH
+  {0xC646, 0x9748}, //5754 #CJK UNIFIED IDEOGRAPH
+  {0xC647, 0x9744}, //5755 #CJK UNIFIED IDEOGRAPH
+  {0xC648, 0x97C6}, //5756 #CJK UNIFIED IDEOGRAPH
+  {0xC649, 0x9870}, //5757 #CJK UNIFIED IDEOGRAPH
+  {0xC64A, 0x9A5F}, //5758 #CJK UNIFIED IDEOGRAPH
+  {0xC64B, 0x9B22}, //5759 #CJK UNIFIED IDEOGRAPH
+  {0xC64C, 0x9B58}, //5760 #CJK UNIFIED IDEOGRAPH
+  {0xC64D, 0x9C5F}, //5761 #CJK UNIFIED IDEOGRAPH
+  {0xC64E, 0x9DF9}, //5762 #CJK UNIFIED IDEOGRAPH
+  {0xC64F, 0x9DFA}, //5763 #CJK UNIFIED IDEOGRAPH
+  {0xC650, 0x9E7C}, //5764 #CJK UNIFIED IDEOGRAPH
+  {0xC651, 0x9E7D}, //5765 #CJK UNIFIED IDEOGRAPH
+  {0xC652, 0x9F07}, //5766 #CJK UNIFIED IDEOGRAPH
+  {0xC653, 0x9F77}, //5767 #CJK UNIFIED IDEOGRAPH
+  {0xC654, 0x9F72}, //5768 #CJK UNIFIED IDEOGRAPH
+  {0xC655, 0x5EF3}, //5769 #CJK UNIFIED IDEOGRAPH
+  {0xC656, 0x6B16}, //5770 #CJK UNIFIED IDEOGRAPH
+  {0xC657, 0x7063}, //5771 #CJK UNIFIED IDEOGRAPH
+  {0xC658, 0x7C6C}, //5772 #CJK UNIFIED IDEOGRAPH
+  {0xC659, 0x7C6E}, //5773 #CJK UNIFIED IDEOGRAPH
+  {0xC65A, 0x883B}, //5774 #CJK UNIFIED IDEOGRAPH
+  {0xC65B, 0x89C0}, //5775 #CJK UNIFIED IDEOGRAPH
+  {0xC65C, 0x8EA1}, //5776 #CJK UNIFIED IDEOGRAPH
+  {0xC65D, 0x91C1}, //5777 #CJK UNIFIED IDEOGRAPH
+  {0xC65E, 0x9472}, //5778 #CJK UNIFIED IDEOGRAPH
+  {0xC65F, 0x9470}, //5779 #CJK UNIFIED IDEOGRAPH
+  {0xC660, 0x9871}, //5780 #CJK UNIFIED IDEOGRAPH
+  {0xC661, 0x995E}, //5781 #CJK UNIFIED IDEOGRAPH
+  {0xC662, 0x9AD6}, //5782 #CJK UNIFIED IDEOGRAPH
+  {0xC663, 0x9B23}, //5783 #CJK UNIFIED IDEOGRAPH
+  {0xC664, 0x9ECC}, //5784 #CJK UNIFIED IDEOGRAPH
+  {0xC665, 0x7064}, //5785 #CJK UNIFIED IDEOGRAPH
+  {0xC666, 0x77DA}, //5786 #CJK UNIFIED IDEOGRAPH
+  {0xC667, 0x8B9A}, //5787 #CJK UNIFIED IDEOGRAPH
+  {0xC668, 0x9477}, //5788 #CJK UNIFIED IDEOGRAPH
+  {0xC669, 0x97C9}, //5789 #CJK UNIFIED IDEOGRAPH
+  {0xC66A, 0x9A62}, //5790 #CJK UNIFIED IDEOGRAPH
+  {0xC66B, 0x9A65}, //5791 #CJK UNIFIED IDEOGRAPH
+  {0xC66C, 0x7E9C}, //5792 #CJK UNIFIED IDEOGRAPH
+  {0xC66D, 0x8B9C}, //5793 #CJK UNIFIED IDEOGRAPH
+  {0xC66E, 0x8EAA}, //5794 #CJK UNIFIED IDEOGRAPH
+  {0xC66F, 0x91C5}, //5795 #CJK UNIFIED IDEOGRAPH
+  {0xC670, 0x947D}, //5796 #CJK UNIFIED IDEOGRAPH
+  {0xC671, 0x947E}, //5797 #CJK UNIFIED IDEOGRAPH
+  {0xC672, 0x947C}, //5798 #CJK UNIFIED IDEOGRAPH
+  {0xC673, 0x9C77}, //5799 #CJK UNIFIED IDEOGRAPH
+  {0xC674, 0x9C78}, //5800 #CJK UNIFIED IDEOGRAPH
+  {0xC675, 0x9EF7}, //5801 #CJK UNIFIED IDEOGRAPH
+  {0xC676, 0x8C54}, //5802 #CJK UNIFIED IDEOGRAPH
+  {0xC677, 0x947F}, //5803 #CJK UNIFIED IDEOGRAPH
+  {0xC678, 0x9E1A}, //5804 #CJK UNIFIED IDEOGRAPH
+  {0xC679, 0x7228}, //5805 #CJK UNIFIED IDEOGRAPH
+  {0xC67A, 0x9A6A}, //5806 #CJK UNIFIED IDEOGRAPH
+  {0xC67B, 0x9B31}, //5807 #CJK UNIFIED IDEOGRAPH
+  {0xC67C, 0x9E1B}, //5808 #CJK UNIFIED IDEOGRAPH
+  {0xC67D, 0x9E1E}, //5809 #CJK UNIFIED IDEOGRAPH
+  {0xC67E, 0x7C72}, //5810 #CJK UNIFIED IDEOGRAPH
+  {0xC940, 0x4E42}, //5811 #CJK UNIFIED IDEOGRAPH
+  {0xC941, 0x4E5C}, //5812 #CJK UNIFIED IDEOGRAPH
+  {0xC942, 0x51F5}, //5813 #CJK UNIFIED IDEOGRAPH
+  {0xC943, 0x531A}, //5814 #CJK UNIFIED IDEOGRAPH
+  {0xC944, 0x5382}, //5815 #CJK UNIFIED IDEOGRAPH
+  {0xC945, 0x4E07}, //5816 #CJK UNIFIED IDEOGRAPH
+  {0xC946, 0x4E0C}, //5817 #CJK UNIFIED IDEOGRAPH
+  {0xC947, 0x4E47}, //5818 #CJK UNIFIED IDEOGRAPH
+  {0xC948, 0x4E8D}, //5819 #CJK UNIFIED IDEOGRAPH
+  {0xC949, 0x56D7}, //5820 #CJK UNIFIED IDEOGRAPH
+  {0xC94A, 0xFA0C}, //5821 #CJK COMPATIBILITY IDEOGRAPH
+  {0xC94B, 0x5C6E}, //5822 #CJK UNIFIED IDEOGRAPH
+  {0xC94C, 0x5F73}, //5823 #CJK UNIFIED IDEOGRAPH
+  {0xC94D, 0x4E0F}, //5824 #CJK UNIFIED IDEOGRAPH
+  {0xC94E, 0x5187}, //5825 #CJK UNIFIED IDEOGRAPH
+  {0xC94F, 0x4E0E}, //5826 #CJK UNIFIED IDEOGRAPH
+  {0xC950, 0x4E2E}, //5827 #CJK UNIFIED IDEOGRAPH
+  {0xC951, 0x4E93}, //5828 #CJK UNIFIED IDEOGRAPH
+  {0xC952, 0x4EC2}, //5829 #CJK UNIFIED IDEOGRAPH
+  {0xC953, 0x4EC9}, //5830 #CJK UNIFIED IDEOGRAPH
+  {0xC954, 0x4EC8}, //5831 #CJK UNIFIED IDEOGRAPH
+  {0xC955, 0x5198}, //5832 #CJK UNIFIED IDEOGRAPH
+  {0xC956, 0x52FC}, //5833 #CJK UNIFIED IDEOGRAPH
+  {0xC957, 0x536C}, //5834 #CJK UNIFIED IDEOGRAPH
+  {0xC958, 0x53B9}, //5835 #CJK UNIFIED IDEOGRAPH
+  {0xC959, 0x5720}, //5836 #CJK UNIFIED IDEOGRAPH
+  {0xC95A, 0x5903}, //5837 #CJK UNIFIED IDEOGRAPH
+  {0xC95B, 0x592C}, //5838 #CJK UNIFIED IDEOGRAPH
+  {0xC95C, 0x5C10}, //5839 #CJK UNIFIED IDEOGRAPH
+  {0xC95D, 0x5DFF}, //5840 #CJK UNIFIED IDEOGRAPH
+  {0xC95E, 0x65E1}, //5841 #CJK UNIFIED IDEOGRAPH
+  {0xC95F, 0x6BB3}, //5842 #CJK UNIFIED IDEOGRAPH
+  {0xC960, 0x6BCC}, //5843 #CJK UNIFIED IDEOGRAPH
+  {0xC961, 0x6C14}, //5844 #CJK UNIFIED IDEOGRAPH
+  {0xC962, 0x723F}, //5845 #CJK UNIFIED IDEOGRAPH
+  {0xC963, 0x4E31}, //5846 #CJK UNIFIED IDEOGRAPH
+  {0xC964, 0x4E3C}, //5847 #CJK UNIFIED IDEOGRAPH
+  {0xC965, 0x4EE8}, //5848 #CJK UNIFIED IDEOGRAPH
+  {0xC966, 0x4EDC}, //5849 #CJK UNIFIED IDEOGRAPH
+  {0xC967, 0x4EE9}, //5850 #CJK UNIFIED IDEOGRAPH
+  {0xC968, 0x4EE1}, //5851 #CJK UNIFIED IDEOGRAPH
+  {0xC969, 0x4EDD}, //5852 #CJK UNIFIED IDEOGRAPH
+  {0xC96A, 0x4EDA}, //5853 #CJK UNIFIED IDEOGRAPH
+  {0xC96B, 0x520C}, //5854 #CJK UNIFIED IDEOGRAPH
+  {0xC96C, 0x531C}, //5855 #CJK UNIFIED IDEOGRAPH
+  {0xC96D, 0x534C}, //5856 #CJK UNIFIED IDEOGRAPH
+  {0xC96E, 0x5722}, //5857 #CJK UNIFIED IDEOGRAPH
+  {0xC96F, 0x5723}, //5858 #CJK UNIFIED IDEOGRAPH
+  {0xC970, 0x5917}, //5859 #CJK UNIFIED IDEOGRAPH
+  {0xC971, 0x592F}, //5860 #CJK UNIFIED IDEOGRAPH
+  {0xC972, 0x5B81}, //5861 #CJK UNIFIED IDEOGRAPH
+  {0xC973, 0x5B84}, //5862 #CJK UNIFIED IDEOGRAPH
+  {0xC974, 0x5C12}, //5863 #CJK UNIFIED IDEOGRAPH
+  {0xC975, 0x5C3B}, //5864 #CJK UNIFIED IDEOGRAPH
+  {0xC976, 0x5C74}, //5865 #CJK UNIFIED IDEOGRAPH
+  {0xC977, 0x5C73}, //5866 #CJK UNIFIED IDEOGRAPH
+  {0xC978, 0x5E04}, //5867 #CJK UNIFIED IDEOGRAPH
+  {0xC979, 0x5E80}, //5868 #CJK UNIFIED IDEOGRAPH
+  {0xC97A, 0x5E82}, //5869 #CJK UNIFIED IDEOGRAPH
+  {0xC97B, 0x5FC9}, //5870 #CJK UNIFIED IDEOGRAPH
+  {0xC97C, 0x6209}, //5871 #CJK UNIFIED IDEOGRAPH
+  {0xC97D, 0x6250}, //5872 #CJK UNIFIED IDEOGRAPH
+  {0xC97E, 0x6C15}, //5873 #CJK UNIFIED IDEOGRAPH
+  {0xC9A1, 0x6C36}, //5874 #CJK UNIFIED IDEOGRAPH
+  {0xC9A2, 0x6C43}, //5875 #CJK UNIFIED IDEOGRAPH
+  {0xC9A3, 0x6C3F}, //5876 #CJK UNIFIED IDEOGRAPH
+  {0xC9A4, 0x6C3B}, //5877 #CJK UNIFIED IDEOGRAPH
+  {0xC9A5, 0x72AE}, //5878 #CJK UNIFIED IDEOGRAPH
+  {0xC9A6, 0x72B0}, //5879 #CJK UNIFIED IDEOGRAPH
+  {0xC9A7, 0x738A}, //5880 #CJK UNIFIED IDEOGRAPH
+  {0xC9A8, 0x79B8}, //5881 #CJK UNIFIED IDEOGRAPH
+  {0xC9A9, 0x808A}, //5882 #CJK UNIFIED IDEOGRAPH
+  {0xC9AA, 0x961E}, //5883 #CJK UNIFIED IDEOGRAPH
+  {0xC9AB, 0x4F0E}, //5884 #CJK UNIFIED IDEOGRAPH
+  {0xC9AC, 0x4F18}, //5885 #CJK UNIFIED IDEOGRAPH
+  {0xC9AD, 0x4F2C}, //5886 #CJK UNIFIED IDEOGRAPH
+  {0xC9AE, 0x4EF5}, //5887 #CJK UNIFIED IDEOGRAPH
+  {0xC9AF, 0x4F14}, //5888 #CJK UNIFIED IDEOGRAPH
+  {0xC9B0, 0x4EF1}, //5889 #CJK UNIFIED IDEOGRAPH
+  {0xC9B1, 0x4F00}, //5890 #CJK UNIFIED IDEOGRAPH
+  {0xC9B2, 0x4EF7}, //5891 #CJK UNIFIED IDEOGRAPH
+  {0xC9B3, 0x4F08}, //5892 #CJK UNIFIED IDEOGRAPH
+  {0xC9B4, 0x4F1D}, //5893 #CJK UNIFIED IDEOGRAPH
+  {0xC9B5, 0x4F02}, //5894 #CJK UNIFIED IDEOGRAPH
+  {0xC9B6, 0x4F05}, //5895 #CJK UNIFIED IDEOGRAPH
+  {0xC9B7, 0x4F22}, //5896 #CJK UNIFIED IDEOGRAPH
+  {0xC9B8, 0x4F13}, //5897 #CJK UNIFIED IDEOGRAPH
+  {0xC9B9, 0x4F04}, //5898 #CJK UNIFIED IDEOGRAPH
+  {0xC9BA, 0x4EF4}, //5899 #CJK UNIFIED IDEOGRAPH
+  {0xC9BB, 0x4F12}, //5900 #CJK UNIFIED IDEOGRAPH
+  {0xC9BC, 0x51B1}, //5901 #CJK UNIFIED IDEOGRAPH
+  {0xC9BD, 0x5213}, //5902 #CJK UNIFIED IDEOGRAPH
+  {0xC9BE, 0x5209}, //5903 #CJK UNIFIED IDEOGRAPH
+  {0xC9BF, 0x5210}, //5904 #CJK UNIFIED IDEOGRAPH
+  {0xC9C0, 0x52A6}, //5905 #CJK UNIFIED IDEOGRAPH
+  {0xC9C1, 0x5322}, //5906 #CJK UNIFIED IDEOGRAPH
+  {0xC9C2, 0x531F}, //5907 #CJK UNIFIED IDEOGRAPH
+  {0xC9C3, 0x534D}, //5908 #CJK UNIFIED IDEOGRAPH
+  {0xC9C4, 0x538A}, //5909 #CJK UNIFIED IDEOGRAPH
+  {0xC9C5, 0x5407}, //5910 #CJK UNIFIED IDEOGRAPH
+  {0xC9C6, 0x56E1}, //5911 #CJK UNIFIED IDEOGRAPH
+  {0xC9C7, 0x56DF}, //5912 #CJK UNIFIED IDEOGRAPH
+  {0xC9C8, 0x572E}, //5913 #CJK UNIFIED IDEOGRAPH
+  {0xC9C9, 0x572A}, //5914 #CJK UNIFIED IDEOGRAPH
+  {0xC9CA, 0x5734}, //5915 #CJK UNIFIED IDEOGRAPH
+  {0xC9CB, 0x593C}, //5916 #CJK UNIFIED IDEOGRAPH
+  {0xC9CC, 0x5980}, //5917 #CJK UNIFIED IDEOGRAPH
+  {0xC9CD, 0x597C}, //5918 #CJK UNIFIED IDEOGRAPH
+  {0xC9CE, 0x5985}, //5919 #CJK UNIFIED IDEOGRAPH
+  {0xC9CF, 0x597B}, //5920 #CJK UNIFIED IDEOGRAPH
+  {0xC9D0, 0x597E}, //5921 #CJK UNIFIED IDEOGRAPH
+  {0xC9D1, 0x5977}, //5922 #CJK UNIFIED IDEOGRAPH
+  {0xC9D2, 0x597F}, //5923 #CJK UNIFIED IDEOGRAPH
+  {0xC9D3, 0x5B56}, //5924 #CJK UNIFIED IDEOGRAPH
+  {0xC9D4, 0x5C15}, //5925 #CJK UNIFIED IDEOGRAPH
+  {0xC9D5, 0x5C25}, //5926 #CJK UNIFIED IDEOGRAPH
+  {0xC9D6, 0x5C7C}, //5927 #CJK UNIFIED IDEOGRAPH
+  {0xC9D7, 0x5C7A}, //5928 #CJK UNIFIED IDEOGRAPH
+  {0xC9D8, 0x5C7B}, //5929 #CJK UNIFIED IDEOGRAPH
+  {0xC9D9, 0x5C7E}, //5930 #CJK UNIFIED IDEOGRAPH
+  {0xC9DA, 0x5DDF}, //5931 #CJK UNIFIED IDEOGRAPH
+  {0xC9DB, 0x5E75}, //5932 #CJK UNIFIED IDEOGRAPH
+  {0xC9DC, 0x5E84}, //5933 #CJK UNIFIED IDEOGRAPH
+  {0xC9DD, 0x5F02}, //5934 #CJK UNIFIED IDEOGRAPH
+  {0xC9DE, 0x5F1A}, //5935 #CJK UNIFIED IDEOGRAPH
+  {0xC9DF, 0x5F74}, //5936 #CJK UNIFIED IDEOGRAPH
+  {0xC9E0, 0x5FD5}, //5937 #CJK UNIFIED IDEOGRAPH
+  {0xC9E1, 0x5FD4}, //5938 #CJK UNIFIED IDEOGRAPH
+  {0xC9E2, 0x5FCF}, //5939 #CJK UNIFIED IDEOGRAPH
+  {0xC9E3, 0x625C}, //5940 #CJK UNIFIED IDEOGRAPH
+  {0xC9E4, 0x625E}, //5941 #CJK UNIFIED IDEOGRAPH
+  {0xC9E5, 0x6264}, //5942 #CJK UNIFIED IDEOGRAPH
+  {0xC9E6, 0x6261}, //5943 #CJK UNIFIED IDEOGRAPH
+  {0xC9E7, 0x6266}, //5944 #CJK UNIFIED IDEOGRAPH
+  {0xC9E8, 0x6262}, //5945 #CJK UNIFIED IDEOGRAPH
+  {0xC9E9, 0x6259}, //5946 #CJK UNIFIED IDEOGRAPH
+  {0xC9EA, 0x6260}, //5947 #CJK UNIFIED IDEOGRAPH
+  {0xC9EB, 0x625A}, //5948 #CJK UNIFIED IDEOGRAPH
+  {0xC9EC, 0x6265}, //5949 #CJK UNIFIED IDEOGRAPH
+  {0xC9ED, 0x65EF}, //5950 #CJK UNIFIED IDEOGRAPH
+  {0xC9EE, 0x65EE}, //5951 #CJK UNIFIED IDEOGRAPH
+  {0xC9EF, 0x673E}, //5952 #CJK UNIFIED IDEOGRAPH
+  {0xC9F0, 0x6739}, //5953 #CJK UNIFIED IDEOGRAPH
+  {0xC9F1, 0x6738}, //5954 #CJK UNIFIED IDEOGRAPH
+  {0xC9F2, 0x673B}, //5955 #CJK UNIFIED IDEOGRAPH
+  {0xC9F3, 0x673A}, //5956 #CJK UNIFIED IDEOGRAPH
+  {0xC9F4, 0x673F}, //5957 #CJK UNIFIED IDEOGRAPH
+  {0xC9F5, 0x673C}, //5958 #CJK UNIFIED IDEOGRAPH
+  {0xC9F6, 0x6733}, //5959 #CJK UNIFIED IDEOGRAPH
+  {0xC9F7, 0x6C18}, //5960 #CJK UNIFIED IDEOGRAPH
+  {0xC9F8, 0x6C46}, //5961 #CJK UNIFIED IDEOGRAPH
+  {0xC9F9, 0x6C52}, //5962 #CJK UNIFIED IDEOGRAPH
+  {0xC9FA, 0x6C5C}, //5963 #CJK UNIFIED IDEOGRAPH
+  {0xC9FB, 0x6C4F}, //5964 #CJK UNIFIED IDEOGRAPH
+  {0xC9FC, 0x6C4A}, //5965 #CJK UNIFIED IDEOGRAPH
+  {0xC9FD, 0x6C54}, //5966 #CJK UNIFIED IDEOGRAPH
+  {0xC9FE, 0x6C4B}, //5967 #CJK UNIFIED IDEOGRAPH
+  {0xCA40, 0x6C4C}, //5968 #CJK UNIFIED IDEOGRAPH
+  {0xCA41, 0x7071}, //5969 #CJK UNIFIED IDEOGRAPH
+  {0xCA42, 0x725E}, //5970 #CJK UNIFIED IDEOGRAPH
+  {0xCA43, 0x72B4}, //5971 #CJK UNIFIED IDEOGRAPH
+  {0xCA44, 0x72B5}, //5972 #CJK UNIFIED IDEOGRAPH
+  {0xCA45, 0x738E}, //5973 #CJK UNIFIED IDEOGRAPH
+  {0xCA46, 0x752A}, //5974 #CJK UNIFIED IDEOGRAPH
+  {0xCA47, 0x767F}, //5975 #CJK UNIFIED IDEOGRAPH
+  {0xCA48, 0x7A75}, //5976 #CJK UNIFIED IDEOGRAPH
+  {0xCA49, 0x7F51}, //5977 #CJK UNIFIED IDEOGRAPH
+  {0xCA4A, 0x8278}, //5978 #CJK UNIFIED IDEOGRAPH
+  {0xCA4B, 0x827C}, //5979 #CJK UNIFIED IDEOGRAPH
+  {0xCA4C, 0x8280}, //5980 #CJK UNIFIED IDEOGRAPH
+  {0xCA4D, 0x827D}, //5981 #CJK UNIFIED IDEOGRAPH
+  {0xCA4E, 0x827F}, //5982 #CJK UNIFIED IDEOGRAPH
+  {0xCA4F, 0x864D}, //5983 #CJK UNIFIED IDEOGRAPH
+  {0xCA50, 0x897E}, //5984 #CJK UNIFIED IDEOGRAPH
+  {0xCA51, 0x9099}, //5985 #CJK UNIFIED IDEOGRAPH
+  {0xCA52, 0x9097}, //5986 #CJK UNIFIED IDEOGRAPH
+  {0xCA53, 0x9098}, //5987 #CJK UNIFIED IDEOGRAPH
+  {0xCA54, 0x909B}, //5988 #CJK UNIFIED IDEOGRAPH
+  {0xCA55, 0x9094}, //5989 #CJK UNIFIED IDEOGRAPH
+  {0xCA56, 0x9622}, //5990 #CJK UNIFIED IDEOGRAPH
+  {0xCA57, 0x9624}, //5991 #CJK UNIFIED IDEOGRAPH
+  {0xCA58, 0x9620}, //5992 #CJK UNIFIED IDEOGRAPH
+  {0xCA59, 0x9623}, //5993 #CJK UNIFIED IDEOGRAPH
+  {0xCA5A, 0x4F56}, //5994 #CJK UNIFIED IDEOGRAPH
+  {0xCA5B, 0x4F3B}, //5995 #CJK UNIFIED IDEOGRAPH
+  {0xCA5C, 0x4F62}, //5996 #CJK UNIFIED IDEOGRAPH
+  {0xCA5D, 0x4F49}, //5997 #CJK UNIFIED IDEOGRAPH
+  {0xCA5E, 0x4F53}, //5998 #CJK UNIFIED IDEOGRAPH
+  {0xCA5F, 0x4F64}, //5999 #CJK UNIFIED IDEOGRAPH
+  {0xCA60, 0x4F3E}, //6000 #CJK UNIFIED IDEOGRAPH
+  {0xCA61, 0x4F67}, //6001 #CJK UNIFIED IDEOGRAPH
+  {0xCA62, 0x4F52}, //6002 #CJK UNIFIED IDEOGRAPH
+  {0xCA63, 0x4F5F}, //6003 #CJK UNIFIED IDEOGRAPH
+  {0xCA64, 0x4F41}, //6004 #CJK UNIFIED IDEOGRAPH
+  {0xCA65, 0x4F58}, //6005 #CJK UNIFIED IDEOGRAPH
+  {0xCA66, 0x4F2D}, //6006 #CJK UNIFIED IDEOGRAPH
+  {0xCA67, 0x4F33}, //6007 #CJK UNIFIED IDEOGRAPH
+  {0xCA68, 0x4F3F}, //6008 #CJK UNIFIED IDEOGRAPH
+  {0xCA69, 0x4F61}, //6009 #CJK UNIFIED IDEOGRAPH
+  {0xCA6A, 0x518F}, //6010 #CJK UNIFIED IDEOGRAPH
+  {0xCA6B, 0x51B9}, //6011 #CJK UNIFIED IDEOGRAPH
+  {0xCA6C, 0x521C}, //6012 #CJK UNIFIED IDEOGRAPH
+  {0xCA6D, 0x521E}, //6013 #CJK UNIFIED IDEOGRAPH
+  {0xCA6E, 0x5221}, //6014 #CJK UNIFIED IDEOGRAPH
+  {0xCA6F, 0x52AD}, //6015 #CJK UNIFIED IDEOGRAPH
+  {0xCA70, 0x52AE}, //6016 #CJK UNIFIED IDEOGRAPH
+  {0xCA71, 0x5309}, //6017 #CJK UNIFIED IDEOGRAPH
+  {0xCA72, 0x5363}, //6018 #CJK UNIFIED IDEOGRAPH
+  {0xCA73, 0x5372}, //6019 #CJK UNIFIED IDEOGRAPH
+  {0xCA74, 0x538E}, //6020 #CJK UNIFIED IDEOGRAPH
+  {0xCA75, 0x538F}, //6021 #CJK UNIFIED IDEOGRAPH
+  {0xCA76, 0x5430}, //6022 #CJK UNIFIED IDEOGRAPH
+  {0xCA77, 0x5437}, //6023 #CJK UNIFIED IDEOGRAPH
+  {0xCA78, 0x542A}, //6024 #CJK UNIFIED IDEOGRAPH
+  {0xCA79, 0x5454}, //6025 #CJK UNIFIED IDEOGRAPH
+  {0xCA7A, 0x5445}, //6026 #CJK UNIFIED IDEOGRAPH
+  {0xCA7B, 0x5419}, //6027 #CJK UNIFIED IDEOGRAPH
+  {0xCA7C, 0x541C}, //6028 #CJK UNIFIED IDEOGRAPH
+  {0xCA7D, 0x5425}, //6029 #CJK UNIFIED IDEOGRAPH
+  {0xCA7E, 0x5418}, //6030 #CJK UNIFIED IDEOGRAPH
+  {0xCAA1, 0x543D}, //6031 #CJK UNIFIED IDEOGRAPH
+  {0xCAA2, 0x544F}, //6032 #CJK UNIFIED IDEOGRAPH
+  {0xCAA3, 0x5441}, //6033 #CJK UNIFIED IDEOGRAPH
+  {0xCAA4, 0x5428}, //6034 #CJK UNIFIED IDEOGRAPH
+  {0xCAA5, 0x5424}, //6035 #CJK UNIFIED IDEOGRAPH
+  {0xCAA6, 0x5447}, //6036 #CJK UNIFIED IDEOGRAPH
+  {0xCAA7, 0x56EE}, //6037 #CJK UNIFIED IDEOGRAPH
+  {0xCAA8, 0x56E7}, //6038 #CJK UNIFIED IDEOGRAPH
+  {0xCAA9, 0x56E5}, //6039 #CJK UNIFIED IDEOGRAPH
+  {0xCAAA, 0x5741}, //6040 #CJK UNIFIED IDEOGRAPH
+  {0xCAAB, 0x5745}, //6041 #CJK UNIFIED IDEOGRAPH
+  {0xCAAC, 0x574C}, //6042 #CJK UNIFIED IDEOGRAPH
+  {0xCAAD, 0x5749}, //6043 #CJK UNIFIED IDEOGRAPH
+  {0xCAAE, 0x574B}, //6044 #CJK UNIFIED IDEOGRAPH
+  {0xCAAF, 0x5752}, //6045 #CJK UNIFIED IDEOGRAPH
+  {0xCAB0, 0x5906}, //6046 #CJK UNIFIED IDEOGRAPH
+  {0xCAB1, 0x5940}, //6047 #CJK UNIFIED IDEOGRAPH
+  {0xCAB2, 0x59A6}, //6048 #CJK UNIFIED IDEOGRAPH
+  {0xCAB3, 0x5998}, //6049 #CJK UNIFIED IDEOGRAPH
+  {0xCAB4, 0x59A0}, //6050 #CJK UNIFIED IDEOGRAPH
+  {0xCAB5, 0x5997}, //6051 #CJK UNIFIED IDEOGRAPH
+  {0xCAB6, 0x598E}, //6052 #CJK UNIFIED IDEOGRAPH
+  {0xCAB7, 0x59A2}, //6053 #CJK UNIFIED IDEOGRAPH
+  {0xCAB8, 0x5990}, //6054 #CJK UNIFIED IDEOGRAPH
+  {0xCAB9, 0x598F}, //6055 #CJK UNIFIED IDEOGRAPH
+  {0xCABA, 0x59A7}, //6056 #CJK UNIFIED IDEOGRAPH
+  {0xCABB, 0x59A1}, //6057 #CJK UNIFIED IDEOGRAPH
+  {0xCABC, 0x5B8E}, //6058 #CJK UNIFIED IDEOGRAPH
+  {0xCABD, 0x5B92}, //6059 #CJK UNIFIED IDEOGRAPH
+  {0xCABE, 0x5C28}, //6060 #CJK UNIFIED IDEOGRAPH
+  {0xCABF, 0x5C2A}, //6061 #CJK UNIFIED IDEOGRAPH
+  {0xCAC0, 0x5C8D}, //6062 #CJK UNIFIED IDEOGRAPH
+  {0xCAC1, 0x5C8F}, //6063 #CJK UNIFIED IDEOGRAPH
+  {0xCAC2, 0x5C88}, //6064 #CJK UNIFIED IDEOGRAPH
+  {0xCAC3, 0x5C8B}, //6065 #CJK UNIFIED IDEOGRAPH
+  {0xCAC4, 0x5C89}, //6066 #CJK UNIFIED IDEOGRAPH
+  {0xCAC5, 0x5C92}, //6067 #CJK UNIFIED IDEOGRAPH
+  {0xCAC6, 0x5C8A}, //6068 #CJK UNIFIED IDEOGRAPH
+  {0xCAC7, 0x5C86}, //6069 #CJK UNIFIED IDEOGRAPH
+  {0xCAC8, 0x5C93}, //6070 #CJK UNIFIED IDEOGRAPH
+  {0xCAC9, 0x5C95}, //6071 #CJK UNIFIED IDEOGRAPH
+  {0xCACA, 0x5DE0}, //6072 #CJK UNIFIED IDEOGRAPH
+  {0xCACB, 0x5E0A}, //6073 #CJK UNIFIED IDEOGRAPH
+  {0xCACC, 0x5E0E}, //6074 #CJK UNIFIED IDEOGRAPH
+  {0xCACD, 0x5E8B}, //6075 #CJK UNIFIED IDEOGRAPH
+  {0xCACE, 0x5E89}, //6076 #CJK UNIFIED IDEOGRAPH
+  {0xCACF, 0x5E8C}, //6077 #CJK UNIFIED IDEOGRAPH
+  {0xCAD0, 0x5E88}, //6078 #CJK UNIFIED IDEOGRAPH
+  {0xCAD1, 0x5E8D}, //6079 #CJK UNIFIED IDEOGRAPH
+  {0xCAD2, 0x5F05}, //6080 #CJK UNIFIED IDEOGRAPH
+  {0xCAD3, 0x5F1D}, //6081 #CJK UNIFIED IDEOGRAPH
+  {0xCAD4, 0x5F78}, //6082 #CJK UNIFIED IDEOGRAPH
+  {0xCAD5, 0x5F76}, //6083 #CJK UNIFIED IDEOGRAPH
+  {0xCAD6, 0x5FD2}, //6084 #CJK UNIFIED IDEOGRAPH
+  {0xCAD7, 0x5FD1}, //6085 #CJK UNIFIED IDEOGRAPH
+  {0xCAD8, 0x5FD0}, //6086 #CJK UNIFIED IDEOGRAPH
+  {0xCAD9, 0x5FED}, //6087 #CJK UNIFIED IDEOGRAPH
+  {0xCADA, 0x5FE8}, //6088 #CJK UNIFIED IDEOGRAPH
+  {0xCADB, 0x5FEE}, //6089 #CJK UNIFIED IDEOGRAPH
+  {0xCADC, 0x5FF3}, //6090 #CJK UNIFIED IDEOGRAPH
+  {0xCADD, 0x5FE1}, //6091 #CJK UNIFIED IDEOGRAPH
+  {0xCADE, 0x5FE4}, //6092 #CJK UNIFIED IDEOGRAPH
+  {0xCADF, 0x5FE3}, //6093 #CJK UNIFIED IDEOGRAPH
+  {0xCAE0, 0x5FFA}, //6094 #CJK UNIFIED IDEOGRAPH
+  {0xCAE1, 0x5FEF}, //6095 #CJK UNIFIED IDEOGRAPH
+  {0xCAE2, 0x5FF7}, //6096 #CJK UNIFIED IDEOGRAPH
+  {0xCAE3, 0x5FFB}, //6097 #CJK UNIFIED IDEOGRAPH
+  {0xCAE4, 0x6000}, //6098 #CJK UNIFIED IDEOGRAPH
+  {0xCAE5, 0x5FF4}, //6099 #CJK UNIFIED IDEOGRAPH
+  {0xCAE6, 0x623A}, //6100 #CJK UNIFIED IDEOGRAPH
+  {0xCAE7, 0x6283}, //6101 #CJK UNIFIED IDEOGRAPH
+  {0xCAE8, 0x628C}, //6102 #CJK UNIFIED IDEOGRAPH
+  {0xCAE9, 0x628E}, //6103 #CJK UNIFIED IDEOGRAPH
+  {0xCAEA, 0x628F}, //6104 #CJK UNIFIED IDEOGRAPH
+  {0xCAEB, 0x6294}, //6105 #CJK UNIFIED IDEOGRAPH
+  {0xCAEC, 0x6287}, //6106 #CJK UNIFIED IDEOGRAPH
+  {0xCAED, 0x6271}, //6107 #CJK UNIFIED IDEOGRAPH
+  {0xCAEE, 0x627B}, //6108 #CJK UNIFIED IDEOGRAPH
+  {0xCAEF, 0x627A}, //6109 #CJK UNIFIED IDEOGRAPH
+  {0xCAF0, 0x6270}, //6110 #CJK UNIFIED IDEOGRAPH
+  {0xCAF1, 0x6281}, //6111 #CJK UNIFIED IDEOGRAPH
+  {0xCAF2, 0x6288}, //6112 #CJK UNIFIED IDEOGRAPH
+  {0xCAF3, 0x6277}, //6113 #CJK UNIFIED IDEOGRAPH
+  {0xCAF4, 0x627D}, //6114 #CJK UNIFIED IDEOGRAPH
+  {0xCAF5, 0x6272}, //6115 #CJK UNIFIED IDEOGRAPH
+  {0xCAF6, 0x6274}, //6116 #CJK UNIFIED IDEOGRAPH
+  {0xCAF7, 0x6537}, //6117 #CJK UNIFIED IDEOGRAPH
+  {0xCAF8, 0x65F0}, //6118 #CJK UNIFIED IDEOGRAPH
+  {0xCAF9, 0x65F4}, //6119 #CJK UNIFIED IDEOGRAPH
+  {0xCAFA, 0x65F3}, //6120 #CJK UNIFIED IDEOGRAPH
+  {0xCAFB, 0x65F2}, //6121 #CJK UNIFIED IDEOGRAPH
+  {0xCAFC, 0x65F5}, //6122 #CJK UNIFIED IDEOGRAPH
+  {0xCAFD, 0x6745}, //6123 #CJK UNIFIED IDEOGRAPH
+  {0xCAFE, 0x6747}, //6124 #CJK UNIFIED IDEOGRAPH
+  {0xCB40, 0x6759}, //6125 #CJK UNIFIED IDEOGRAPH
+  {0xCB41, 0x6755}, //6126 #CJK UNIFIED IDEOGRAPH
+  {0xCB42, 0x674C}, //6127 #CJK UNIFIED IDEOGRAPH
+  {0xCB43, 0x6748}, //6128 #CJK UNIFIED IDEOGRAPH
+  {0xCB44, 0x675D}, //6129 #CJK UNIFIED IDEOGRAPH
+  {0xCB45, 0x674D}, //6130 #CJK UNIFIED IDEOGRAPH
+  {0xCB46, 0x675A}, //6131 #CJK UNIFIED IDEOGRAPH
+  {0xCB47, 0x674B}, //6132 #CJK UNIFIED IDEOGRAPH
+  {0xCB48, 0x6BD0}, //6133 #CJK UNIFIED IDEOGRAPH
+  {0xCB49, 0x6C19}, //6134 #CJK UNIFIED IDEOGRAPH
+  {0xCB4A, 0x6C1A}, //6135 #CJK UNIFIED IDEOGRAPH
+  {0xCB4B, 0x6C78}, //6136 #CJK UNIFIED IDEOGRAPH
+  {0xCB4C, 0x6C67}, //6137 #CJK UNIFIED IDEOGRAPH
+  {0xCB4D, 0x6C6B}, //6138 #CJK UNIFIED IDEOGRAPH
+  {0xCB4E, 0x6C84}, //6139 #CJK UNIFIED IDEOGRAPH
+  {0xCB4F, 0x6C8B}, //6140 #CJK UNIFIED IDEOGRAPH
+  {0xCB50, 0x6C8F}, //6141 #CJK UNIFIED IDEOGRAPH
+  {0xCB51, 0x6C71}, //6142 #CJK UNIFIED IDEOGRAPH
+  {0xCB52, 0x6C6F}, //6143 #CJK UNIFIED IDEOGRAPH
+  {0xCB53, 0x6C69}, //6144 #CJK UNIFIED IDEOGRAPH
+  {0xCB54, 0x6C9A}, //6145 #CJK UNIFIED IDEOGRAPH
+  {0xCB55, 0x6C6D}, //6146 #CJK UNIFIED IDEOGRAPH
+  {0xCB56, 0x6C87}, //6147 #CJK UNIFIED IDEOGRAPH
+  {0xCB57, 0x6C95}, //6148 #CJK UNIFIED IDEOGRAPH
+  {0xCB58, 0x6C9C}, //6149 #CJK UNIFIED IDEOGRAPH
+  {0xCB59, 0x6C66}, //6150 #CJK UNIFIED IDEOGRAPH
+  {0xCB5A, 0x6C73}, //6151 #CJK UNIFIED IDEOGRAPH
+  {0xCB5B, 0x6C65}, //6152 #CJK UNIFIED IDEOGRAPH
+  {0xCB5C, 0x6C7B}, //6153 #CJK UNIFIED IDEOGRAPH
+  {0xCB5D, 0x6C8E}, //6154 #CJK UNIFIED IDEOGRAPH
+  {0xCB5E, 0x7074}, //6155 #CJK UNIFIED IDEOGRAPH
+  {0xCB5F, 0x707A}, //6156 #CJK UNIFIED IDEOGRAPH
+  {0xCB60, 0x7263}, //6157 #CJK UNIFIED IDEOGRAPH
+  {0xCB61, 0x72BF}, //6158 #CJK UNIFIED IDEOGRAPH
+  {0xCB62, 0x72BD}, //6159 #CJK UNIFIED IDEOGRAPH
+  {0xCB63, 0x72C3}, //6160 #CJK UNIFIED IDEOGRAPH
+  {0xCB64, 0x72C6}, //6161 #CJK UNIFIED IDEOGRAPH
+  {0xCB65, 0x72C1}, //6162 #CJK UNIFIED IDEOGRAPH
+  {0xCB66, 0x72BA}, //6163 #CJK UNIFIED IDEOGRAPH
+  {0xCB67, 0x72C5}, //6164 #CJK UNIFIED IDEOGRAPH
+  {0xCB68, 0x7395}, //6165 #CJK UNIFIED IDEOGRAPH
+  {0xCB69, 0x7397}, //6166 #CJK UNIFIED IDEOGRAPH
+  {0xCB6A, 0x7393}, //6167 #CJK UNIFIED IDEOGRAPH
+  {0xCB6B, 0x7394}, //6168 #CJK UNIFIED IDEOGRAPH
+  {0xCB6C, 0x7392}, //6169 #CJK UNIFIED IDEOGRAPH
+  {0xCB6D, 0x753A}, //6170 #CJK UNIFIED IDEOGRAPH
+  {0xCB6E, 0x7539}, //6171 #CJK UNIFIED IDEOGRAPH
+  {0xCB6F, 0x7594}, //6172 #CJK UNIFIED IDEOGRAPH
+  {0xCB70, 0x7595}, //6173 #CJK UNIFIED IDEOGRAPH
+  {0xCB71, 0x7681}, //6174 #CJK UNIFIED IDEOGRAPH
+  {0xCB72, 0x793D}, //6175 #CJK UNIFIED IDEOGRAPH
+  {0xCB73, 0x8034}, //6176 #CJK UNIFIED IDEOGRAPH
+  {0xCB74, 0x8095}, //6177 #CJK UNIFIED IDEOGRAPH
+  {0xCB75, 0x8099}, //6178 #CJK UNIFIED IDEOGRAPH
+  {0xCB76, 0x8090}, //6179 #CJK UNIFIED IDEOGRAPH
+  {0xCB77, 0x8092}, //6180 #CJK UNIFIED IDEOGRAPH
+  {0xCB78, 0x809C}, //6181 #CJK UNIFIED IDEOGRAPH
+  {0xCB79, 0x8290}, //6182 #CJK UNIFIED IDEOGRAPH
+  {0xCB7A, 0x828F}, //6183 #CJK UNIFIED IDEOGRAPH
+  {0xCB7B, 0x8285}, //6184 #CJK UNIFIED IDEOGRAPH
+  {0xCB7C, 0x828E}, //6185 #CJK UNIFIED IDEOGRAPH
+  {0xCB7D, 0x8291}, //6186 #CJK UNIFIED IDEOGRAPH
+  {0xCB7E, 0x8293}, //6187 #CJK UNIFIED IDEOGRAPH
+  {0xCBA1, 0x828A}, //6188 #CJK UNIFIED IDEOGRAPH
+  {0xCBA2, 0x8283}, //6189 #CJK UNIFIED IDEOGRAPH
+  {0xCBA3, 0x8284}, //6190 #CJK UNIFIED IDEOGRAPH
+  {0xCBA4, 0x8C78}, //6191 #CJK UNIFIED IDEOGRAPH
+  {0xCBA5, 0x8FC9}, //6192 #CJK UNIFIED IDEOGRAPH
+  {0xCBA6, 0x8FBF}, //6193 #CJK UNIFIED IDEOGRAPH
+  {0xCBA7, 0x909F}, //6194 #CJK UNIFIED IDEOGRAPH
+  {0xCBA8, 0x90A1}, //6195 #CJK UNIFIED IDEOGRAPH
+  {0xCBA9, 0x90A5}, //6196 #CJK UNIFIED IDEOGRAPH
+  {0xCBAA, 0x909E}, //6197 #CJK UNIFIED IDEOGRAPH
+  {0xCBAB, 0x90A7}, //6198 #CJK UNIFIED IDEOGRAPH
+  {0xCBAC, 0x90A0}, //6199 #CJK UNIFIED IDEOGRAPH
+  {0xCBAD, 0x9630}, //6200 #CJK UNIFIED IDEOGRAPH
+  {0xCBAE, 0x9628}, //6201 #CJK UNIFIED IDEOGRAPH
+  {0xCBAF, 0x962F}, //6202 #CJK UNIFIED IDEOGRAPH
+  {0xCBB0, 0x962D}, //6203 #CJK UNIFIED IDEOGRAPH
+  {0xCBB1, 0x4E33}, //6204 #CJK UNIFIED IDEOGRAPH
+  {0xCBB2, 0x4F98}, //6205 #CJK UNIFIED IDEOGRAPH
+  {0xCBB3, 0x4F7C}, //6206 #CJK UNIFIED IDEOGRAPH
+  {0xCBB4, 0x4F85}, //6207 #CJK UNIFIED IDEOGRAPH
+  {0xCBB5, 0x4F7D}, //6208 #CJK UNIFIED IDEOGRAPH
+  {0xCBB6, 0x4F80}, //6209 #CJK UNIFIED IDEOGRAPH
+  {0xCBB7, 0x4F87}, //6210 #CJK UNIFIED IDEOGRAPH
+  {0xCBB8, 0x4F76}, //6211 #CJK UNIFIED IDEOGRAPH
+  {0xCBB9, 0x4F74}, //6212 #CJK UNIFIED IDEOGRAPH
+  {0xCBBA, 0x4F89}, //6213 #CJK UNIFIED IDEOGRAPH
+  {0xCBBB, 0x4F84}, //6214 #CJK UNIFIED IDEOGRAPH
+  {0xCBBC, 0x4F77}, //6215 #CJK UNIFIED IDEOGRAPH
+  {0xCBBD, 0x4F4C}, //6216 #CJK UNIFIED IDEOGRAPH
+  {0xCBBE, 0x4F97}, //6217 #CJK UNIFIED IDEOGRAPH
+  {0xCBBF, 0x4F6A}, //6218 #CJK UNIFIED IDEOGRAPH
+  {0xCBC0, 0x4F9A}, //6219 #CJK UNIFIED IDEOGRAPH
+  {0xCBC1, 0x4F79}, //6220 #CJK UNIFIED IDEOGRAPH
+  {0xCBC2, 0x4F81}, //6221 #CJK UNIFIED IDEOGRAPH
+  {0xCBC3, 0x4F78}, //6222 #CJK UNIFIED IDEOGRAPH
+  {0xCBC4, 0x4F90}, //6223 #CJK UNIFIED IDEOGRAPH
+  {0xCBC5, 0x4F9C}, //6224 #CJK UNIFIED IDEOGRAPH
+  {0xCBC6, 0x4F94}, //6225 #CJK UNIFIED IDEOGRAPH
+  {0xCBC7, 0x4F9E}, //6226 #CJK UNIFIED IDEOGRAPH
+  {0xCBC8, 0x4F92}, //6227 #CJK UNIFIED IDEOGRAPH
+  {0xCBC9, 0x4F82}, //6228 #CJK UNIFIED IDEOGRAPH
+  {0xCBCA, 0x4F95}, //6229 #CJK UNIFIED IDEOGRAPH
+  {0xCBCB, 0x4F6B}, //6230 #CJK UNIFIED IDEOGRAPH
+  {0xCBCC, 0x4F6E}, //6231 #CJK UNIFIED IDEOGRAPH
+  {0xCBCD, 0x519E}, //6232 #CJK UNIFIED IDEOGRAPH
+  {0xCBCE, 0x51BC}, //6233 #CJK UNIFIED IDEOGRAPH
+  {0xCBCF, 0x51BE}, //6234 #CJK UNIFIED IDEOGRAPH
+  {0xCBD0, 0x5235}, //6235 #CJK UNIFIED IDEOGRAPH
+  {0xCBD1, 0x5232}, //6236 #CJK UNIFIED IDEOGRAPH
+  {0xCBD2, 0x5233}, //6237 #CJK UNIFIED IDEOGRAPH
+  {0xCBD3, 0x5246}, //6238 #CJK UNIFIED IDEOGRAPH
+  {0xCBD4, 0x5231}, //6239 #CJK UNIFIED IDEOGRAPH
+  {0xCBD5, 0x52BC}, //6240 #CJK UNIFIED IDEOGRAPH
+  {0xCBD6, 0x530A}, //6241 #CJK UNIFIED IDEOGRAPH
+  {0xCBD7, 0x530B}, //6242 #CJK UNIFIED IDEOGRAPH
+  {0xCBD8, 0x533C}, //6243 #CJK UNIFIED IDEOGRAPH
+  {0xCBD9, 0x5392}, //6244 #CJK UNIFIED IDEOGRAPH
+  {0xCBDA, 0x5394}, //6245 #CJK UNIFIED IDEOGRAPH
+  {0xCBDB, 0x5487}, //6246 #CJK UNIFIED IDEOGRAPH
+  {0xCBDC, 0x547F}, //6247 #CJK UNIFIED IDEOGRAPH
+  {0xCBDD, 0x5481}, //6248 #CJK UNIFIED IDEOGRAPH
+  {0xCBDE, 0x5491}, //6249 #CJK UNIFIED IDEOGRAPH
+  {0xCBDF, 0x5482}, //6250 #CJK UNIFIED IDEOGRAPH
+  {0xCBE0, 0x5488}, //6251 #CJK UNIFIED IDEOGRAPH
+  {0xCBE1, 0x546B}, //6252 #CJK UNIFIED IDEOGRAPH
+  {0xCBE2, 0x547A}, //6253 #CJK UNIFIED IDEOGRAPH
+  {0xCBE3, 0x547E}, //6254 #CJK UNIFIED IDEOGRAPH
+  {0xCBE4, 0x5465}, //6255 #CJK UNIFIED IDEOGRAPH
+  {0xCBE5, 0x546C}, //6256 #CJK UNIFIED IDEOGRAPH
+  {0xCBE6, 0x5474}, //6257 #CJK UNIFIED IDEOGRAPH
+  {0xCBE7, 0x5466}, //6258 #CJK UNIFIED IDEOGRAPH
+  {0xCBE8, 0x548D}, //6259 #CJK UNIFIED IDEOGRAPH
+  {0xCBE9, 0x546F}, //6260 #CJK UNIFIED IDEOGRAPH
+  {0xCBEA, 0x5461}, //6261 #CJK UNIFIED IDEOGRAPH
+  {0xCBEB, 0x5460}, //6262 #CJK UNIFIED IDEOGRAPH
+  {0xCBEC, 0x5498}, //6263 #CJK UNIFIED IDEOGRAPH
+  {0xCBED, 0x5463}, //6264 #CJK UNIFIED IDEOGRAPH
+  {0xCBEE, 0x5467}, //6265 #CJK UNIFIED IDEOGRAPH
+  {0xCBEF, 0x5464}, //6266 #CJK UNIFIED IDEOGRAPH
+  {0xCBF0, 0x56F7}, //6267 #CJK UNIFIED IDEOGRAPH
+  {0xCBF1, 0x56F9}, //6268 #CJK UNIFIED IDEOGRAPH
+  {0xCBF2, 0x576F}, //6269 #CJK UNIFIED IDEOGRAPH
+  {0xCBF3, 0x5772}, //6270 #CJK UNIFIED IDEOGRAPH
+  {0xCBF4, 0x576D}, //6271 #CJK UNIFIED IDEOGRAPH
+  {0xCBF5, 0x576B}, //6272 #CJK UNIFIED IDEOGRAPH
+  {0xCBF6, 0x5771}, //6273 #CJK UNIFIED IDEOGRAPH
+  {0xCBF7, 0x5770}, //6274 #CJK UNIFIED IDEOGRAPH
+  {0xCBF8, 0x5776}, //6275 #CJK UNIFIED IDEOGRAPH
+  {0xCBF9, 0x5780}, //6276 #CJK UNIFIED IDEOGRAPH
+  {0xCBFA, 0x5775}, //6277 #CJK UNIFIED IDEOGRAPH
+  {0xCBFB, 0x577B}, //6278 #CJK UNIFIED IDEOGRAPH
+  {0xCBFC, 0x5773}, //6279 #CJK UNIFIED IDEOGRAPH
+  {0xCBFD, 0x5774}, //6280 #CJK UNIFIED IDEOGRAPH
+  {0xCBFE, 0x5762}, //6281 #CJK UNIFIED IDEOGRAPH
+  {0xCC40, 0x5768}, //6282 #CJK UNIFIED IDEOGRAPH
+  {0xCC41, 0x577D}, //6283 #CJK UNIFIED IDEOGRAPH
+  {0xCC42, 0x590C}, //6284 #CJK UNIFIED IDEOGRAPH
+  {0xCC43, 0x5945}, //6285 #CJK UNIFIED IDEOGRAPH
+  {0xCC44, 0x59B5}, //6286 #CJK UNIFIED IDEOGRAPH
+  {0xCC45, 0x59BA}, //6287 #CJK UNIFIED IDEOGRAPH
+  {0xCC46, 0x59CF}, //6288 #CJK UNIFIED IDEOGRAPH
+  {0xCC47, 0x59CE}, //6289 #CJK UNIFIED IDEOGRAPH
+  {0xCC48, 0x59B2}, //6290 #CJK UNIFIED IDEOGRAPH
+  {0xCC49, 0x59CC}, //6291 #CJK UNIFIED IDEOGRAPH
+  {0xCC4A, 0x59C1}, //6292 #CJK UNIFIED IDEOGRAPH
+  {0xCC4B, 0x59B6}, //6293 #CJK UNIFIED IDEOGRAPH
+  {0xCC4C, 0x59BC}, //6294 #CJK UNIFIED IDEOGRAPH
+  {0xCC4D, 0x59C3}, //6295 #CJK UNIFIED IDEOGRAPH
+  {0xCC4E, 0x59D6}, //6296 #CJK UNIFIED IDEOGRAPH
+  {0xCC4F, 0x59B1}, //6297 #CJK UNIFIED IDEOGRAPH
+  {0xCC50, 0x59BD}, //6298 #CJK UNIFIED IDEOGRAPH
+  {0xCC51, 0x59C0}, //6299 #CJK UNIFIED IDEOGRAPH
+  {0xCC52, 0x59C8}, //6300 #CJK UNIFIED IDEOGRAPH
+  {0xCC53, 0x59B4}, //6301 #CJK UNIFIED IDEOGRAPH
+  {0xCC54, 0x59C7}, //6302 #CJK UNIFIED IDEOGRAPH
+  {0xCC55, 0x5B62}, //6303 #CJK UNIFIED IDEOGRAPH
+  {0xCC56, 0x5B65}, //6304 #CJK UNIFIED IDEOGRAPH
+  {0xCC57, 0x5B93}, //6305 #CJK UNIFIED IDEOGRAPH
+  {0xCC58, 0x5B95}, //6306 #CJK UNIFIED IDEOGRAPH
+  {0xCC59, 0x5C44}, //6307 #CJK UNIFIED IDEOGRAPH
+  {0xCC5A, 0x5C47}, //6308 #CJK UNIFIED IDEOGRAPH
+  {0xCC5B, 0x5CAE}, //6309 #CJK UNIFIED IDEOGRAPH
+  {0xCC5C, 0x5CA4}, //6310 #CJK UNIFIED IDEOGRAPH
+  {0xCC5D, 0x5CA0}, //6311 #CJK UNIFIED IDEOGRAPH
+  {0xCC5E, 0x5CB5}, //6312 #CJK UNIFIED IDEOGRAPH
+  {0xCC5F, 0x5CAF}, //6313 #CJK UNIFIED IDEOGRAPH
+  {0xCC60, 0x5CA8}, //6314 #CJK UNIFIED IDEOGRAPH
+  {0xCC61, 0x5CAC}, //6315 #CJK UNIFIED IDEOGRAPH
+  {0xCC62, 0x5C9F}, //6316 #CJK UNIFIED IDEOGRAPH
+  {0xCC63, 0x5CA3}, //6317 #CJK UNIFIED IDEOGRAPH
+  {0xCC64, 0x5CAD}, //6318 #CJK UNIFIED IDEOGRAPH
+  {0xCC65, 0x5CA2}, //6319 #CJK UNIFIED IDEOGRAPH
+  {0xCC66, 0x5CAA}, //6320 #CJK UNIFIED IDEOGRAPH
+  {0xCC67, 0x5CA7}, //6321 #CJK UNIFIED IDEOGRAPH
+  {0xCC68, 0x5C9D}, //6322 #CJK UNIFIED IDEOGRAPH
+  {0xCC69, 0x5CA5}, //6323 #CJK UNIFIED IDEOGRAPH
+  {0xCC6A, 0x5CB6}, //6324 #CJK UNIFIED IDEOGRAPH
+  {0xCC6B, 0x5CB0}, //6325 #CJK UNIFIED IDEOGRAPH
+  {0xCC6C, 0x5CA6}, //6326 #CJK UNIFIED IDEOGRAPH
+  {0xCC6D, 0x5E17}, //6327 #CJK UNIFIED IDEOGRAPH
+  {0xCC6E, 0x5E14}, //6328 #CJK UNIFIED IDEOGRAPH
+  {0xCC6F, 0x5E19}, //6329 #CJK UNIFIED IDEOGRAPH
+  {0xCC70, 0x5F28}, //6330 #CJK UNIFIED IDEOGRAPH
+  {0xCC71, 0x5F22}, //6331 #CJK UNIFIED IDEOGRAPH
+  {0xCC72, 0x5F23}, //6332 #CJK UNIFIED IDEOGRAPH
+  {0xCC73, 0x5F24}, //6333 #CJK UNIFIED IDEOGRAPH
+  {0xCC74, 0x5F54}, //6334 #CJK UNIFIED IDEOGRAPH
+  {0xCC75, 0x5F82}, //6335 #CJK UNIFIED IDEOGRAPH
+  {0xCC76, 0x5F7E}, //6336 #CJK UNIFIED IDEOGRAPH
+  {0xCC77, 0x5F7D}, //6337 #CJK UNIFIED IDEOGRAPH
+  {0xCC78, 0x5FDE}, //6338 #CJK UNIFIED IDEOGRAPH
+  {0xCC79, 0x5FE5}, //6339 #CJK UNIFIED IDEOGRAPH
+  {0xCC7A, 0x602D}, //6340 #CJK UNIFIED IDEOGRAPH
+  {0xCC7B, 0x6026}, //6341 #CJK UNIFIED IDEOGRAPH
+  {0xCC7C, 0x6019}, //6342 #CJK UNIFIED IDEOGRAPH
+  {0xCC7D, 0x6032}, //6343 #CJK UNIFIED IDEOGRAPH
+  {0xCC7E, 0x600B}, //6344 #CJK UNIFIED IDEOGRAPH
+  {0xCCA1, 0x6034}, //6345 #CJK UNIFIED IDEOGRAPH
+  {0xCCA2, 0x600A}, //6346 #CJK UNIFIED IDEOGRAPH
+  {0xCCA3, 0x6017}, //6347 #CJK UNIFIED IDEOGRAPH
+  {0xCCA4, 0x6033}, //6348 #CJK UNIFIED IDEOGRAPH
+  {0xCCA5, 0x601A}, //6349 #CJK UNIFIED IDEOGRAPH
+  {0xCCA6, 0x601E}, //6350 #CJK UNIFIED IDEOGRAPH
+  {0xCCA7, 0x602C}, //6351 #CJK UNIFIED IDEOGRAPH
+  {0xCCA8, 0x6022}, //6352 #CJK UNIFIED IDEOGRAPH
+  {0xCCA9, 0x600D}, //6353 #CJK UNIFIED IDEOGRAPH
+  {0xCCAA, 0x6010}, //6354 #CJK UNIFIED IDEOGRAPH
+  {0xCCAB, 0x602E}, //6355 #CJK UNIFIED IDEOGRAPH
+  {0xCCAC, 0x6013}, //6356 #CJK UNIFIED IDEOGRAPH
+  {0xCCAD, 0x6011}, //6357 #CJK UNIFIED IDEOGRAPH
+  {0xCCAE, 0x600C}, //6358 #CJK UNIFIED IDEOGRAPH
+  {0xCCAF, 0x6009}, //6359 #CJK UNIFIED IDEOGRAPH
+  {0xCCB0, 0x601C}, //6360 #CJK UNIFIED IDEOGRAPH
+  {0xCCB1, 0x6214}, //6361 #CJK UNIFIED IDEOGRAPH
+  {0xCCB2, 0x623D}, //6362 #CJK UNIFIED IDEOGRAPH
+  {0xCCB3, 0x62AD}, //6363 #CJK UNIFIED IDEOGRAPH
+  {0xCCB4, 0x62B4}, //6364 #CJK UNIFIED IDEOGRAPH
+  {0xCCB5, 0x62D1}, //6365 #CJK UNIFIED IDEOGRAPH
+  {0xCCB6, 0x62BE}, //6366 #CJK UNIFIED IDEOGRAPH
+  {0xCCB7, 0x62AA}, //6367 #CJK UNIFIED IDEOGRAPH
+  {0xCCB8, 0x62B6}, //6368 #CJK UNIFIED IDEOGRAPH
+  {0xCCB9, 0x62CA}, //6369 #CJK UNIFIED IDEOGRAPH
+  {0xCCBA, 0x62AE}, //6370 #CJK UNIFIED IDEOGRAPH
+  {0xCCBB, 0x62B3}, //6371 #CJK UNIFIED IDEOGRAPH
+  {0xCCBC, 0x62AF}, //6372 #CJK UNIFIED IDEOGRAPH
+  {0xCCBD, 0x62BB}, //6373 #CJK UNIFIED IDEOGRAPH
+  {0xCCBE, 0x62A9}, //6374 #CJK UNIFIED IDEOGRAPH
+  {0xCCBF, 0x62B0}, //6375 #CJK UNIFIED IDEOGRAPH
+  {0xCCC0, 0x62B8}, //6376 #CJK UNIFIED IDEOGRAPH
+  {0xCCC1, 0x653D}, //6377 #CJK UNIFIED IDEOGRAPH
+  {0xCCC2, 0x65A8}, //6378 #CJK UNIFIED IDEOGRAPH
+  {0xCCC3, 0x65BB}, //6379 #CJK UNIFIED IDEOGRAPH
+  {0xCCC4, 0x6609}, //6380 #CJK UNIFIED IDEOGRAPH
+  {0xCCC5, 0x65FC}, //6381 #CJK UNIFIED IDEOGRAPH
+  {0xCCC6, 0x6604}, //6382 #CJK UNIFIED IDEOGRAPH
+  {0xCCC7, 0x6612}, //6383 #CJK UNIFIED IDEOGRAPH
+  {0xCCC8, 0x6608}, //6384 #CJK UNIFIED IDEOGRAPH
+  {0xCCC9, 0x65FB}, //6385 #CJK UNIFIED IDEOGRAPH
+  {0xCCCA, 0x6603}, //6386 #CJK UNIFIED IDEOGRAPH
+  {0xCCCB, 0x660B}, //6387 #CJK UNIFIED IDEOGRAPH
+  {0xCCCC, 0x660D}, //6388 #CJK UNIFIED IDEOGRAPH
+  {0xCCCD, 0x6605}, //6389 #CJK UNIFIED IDEOGRAPH
+  {0xCCCE, 0x65FD}, //6390 #CJK UNIFIED IDEOGRAPH
+  {0xCCCF, 0x6611}, //6391 #CJK UNIFIED IDEOGRAPH
+  {0xCCD0, 0x6610}, //6392 #CJK UNIFIED IDEOGRAPH
+  {0xCCD1, 0x66F6}, //6393 #CJK UNIFIED IDEOGRAPH
+  {0xCCD2, 0x670A}, //6394 #CJK UNIFIED IDEOGRAPH
+  {0xCCD3, 0x6785}, //6395 #CJK UNIFIED IDEOGRAPH
+  {0xCCD4, 0x676C}, //6396 #CJK UNIFIED IDEOGRAPH
+  {0xCCD5, 0x678E}, //6397 #CJK UNIFIED IDEOGRAPH
+  {0xCCD6, 0x6792}, //6398 #CJK UNIFIED IDEOGRAPH
+  {0xCCD7, 0x6776}, //6399 #CJK UNIFIED IDEOGRAPH
+  {0xCCD8, 0x677B}, //6400 #CJK UNIFIED IDEOGRAPH
+  {0xCCD9, 0x6798}, //6401 #CJK UNIFIED IDEOGRAPH
+  {0xCCDA, 0x6786}, //6402 #CJK UNIFIED IDEOGRAPH
+  {0xCCDB, 0x6784}, //6403 #CJK UNIFIED IDEOGRAPH
+  {0xCCDC, 0x6774}, //6404 #CJK UNIFIED IDEOGRAPH
+  {0xCCDD, 0x678D}, //6405 #CJK UNIFIED IDEOGRAPH
+  {0xCCDE, 0x678C}, //6406 #CJK UNIFIED IDEOGRAPH
+  {0xCCDF, 0x677A}, //6407 #CJK UNIFIED IDEOGRAPH
+  {0xCCE0, 0x679F}, //6408 #CJK UNIFIED IDEOGRAPH
+  {0xCCE1, 0x6791}, //6409 #CJK UNIFIED IDEOGRAPH
+  {0xCCE2, 0x6799}, //6410 #CJK UNIFIED IDEOGRAPH
+  {0xCCE3, 0x6783}, //6411 #CJK UNIFIED IDEOGRAPH
+  {0xCCE4, 0x677D}, //6412 #CJK UNIFIED IDEOGRAPH
+  {0xCCE5, 0x6781}, //6413 #CJK UNIFIED IDEOGRAPH
+  {0xCCE6, 0x6778}, //6414 #CJK UNIFIED IDEOGRAPH
+  {0xCCE7, 0x6779}, //6415 #CJK UNIFIED IDEOGRAPH
+  {0xCCE8, 0x6794}, //6416 #CJK UNIFIED IDEOGRAPH
+  {0xCCE9, 0x6B25}, //6417 #CJK UNIFIED IDEOGRAPH
+  {0xCCEA, 0x6B80}, //6418 #CJK UNIFIED IDEOGRAPH
+  {0xCCEB, 0x6B7E}, //6419 #CJK UNIFIED IDEOGRAPH
+  {0xCCEC, 0x6BDE}, //6420 #CJK UNIFIED IDEOGRAPH
+  {0xCCED, 0x6C1D}, //6421 #CJK UNIFIED IDEOGRAPH
+  {0xCCEE, 0x6C93}, //6422 #CJK UNIFIED IDEOGRAPH
+  {0xCCEF, 0x6CEC}, //6423 #CJK UNIFIED IDEOGRAPH
+  {0xCCF0, 0x6CEB}, //6424 #CJK UNIFIED IDEOGRAPH
+  {0xCCF1, 0x6CEE}, //6425 #CJK UNIFIED IDEOGRAPH
+  {0xCCF2, 0x6CD9}, //6426 #CJK UNIFIED IDEOGRAPH
+  {0xCCF3, 0x6CB6}, //6427 #CJK UNIFIED IDEOGRAPH
+  {0xCCF4, 0x6CD4}, //6428 #CJK UNIFIED IDEOGRAPH
+  {0xCCF5, 0x6CAD}, //6429 #CJK UNIFIED IDEOGRAPH
+  {0xCCF6, 0x6CE7}, //6430 #CJK UNIFIED IDEOGRAPH
+  {0xCCF7, 0x6CB7}, //6431 #CJK UNIFIED IDEOGRAPH
+  {0xCCF8, 0x6CD0}, //6432 #CJK UNIFIED IDEOGRAPH
+  {0xCCF9, 0x6CC2}, //6433 #CJK UNIFIED IDEOGRAPH
+  {0xCCFA, 0x6CBA}, //6434 #CJK UNIFIED IDEOGRAPH
+  {0xCCFB, 0x6CC3}, //6435 #CJK UNIFIED IDEOGRAPH
+  {0xCCFC, 0x6CC6}, //6436 #CJK UNIFIED IDEOGRAPH
+  {0xCCFD, 0x6CED}, //6437 #CJK UNIFIED IDEOGRAPH
+  {0xCCFE, 0x6CF2}, //6438 #CJK UNIFIED IDEOGRAPH
+  {0xCD40, 0x6CD2}, //6439 #CJK UNIFIED IDEOGRAPH
+  {0xCD41, 0x6CDD}, //6440 #CJK UNIFIED IDEOGRAPH
+  {0xCD42, 0x6CB4}, //6441 #CJK UNIFIED IDEOGRAPH
+  {0xCD43, 0x6C8A}, //6442 #CJK UNIFIED IDEOGRAPH
+  {0xCD44, 0x6C9D}, //6443 #CJK UNIFIED IDEOGRAPH
+  {0xCD45, 0x6C80}, //6444 #CJK UNIFIED IDEOGRAPH
+  {0xCD46, 0x6CDE}, //6445 #CJK UNIFIED IDEOGRAPH
+  {0xCD47, 0x6CC0}, //6446 #CJK UNIFIED IDEOGRAPH
+  {0xCD48, 0x6D30}, //6447 #CJK UNIFIED IDEOGRAPH
+  {0xCD49, 0x6CCD}, //6448 #CJK UNIFIED IDEOGRAPH
+  {0xCD4A, 0x6CC7}, //6449 #CJK UNIFIED IDEOGRAPH
+  {0xCD4B, 0x6CB0}, //6450 #CJK UNIFIED IDEOGRAPH
+  {0xCD4C, 0x6CF9}, //6451 #CJK UNIFIED IDEOGRAPH
+  {0xCD4D, 0x6CCF}, //6452 #CJK UNIFIED IDEOGRAPH
+  {0xCD4E, 0x6CE9}, //6453 #CJK UNIFIED IDEOGRAPH
+  {0xCD4F, 0x6CD1}, //6454 #CJK UNIFIED IDEOGRAPH
+  {0xCD50, 0x7094}, //6455 #CJK UNIFIED IDEOGRAPH
+  {0xCD51, 0x7098}, //6456 #CJK UNIFIED IDEOGRAPH
+  {0xCD52, 0x7085}, //6457 #CJK UNIFIED IDEOGRAPH
+  {0xCD53, 0x7093}, //6458 #CJK UNIFIED IDEOGRAPH
+  {0xCD54, 0x7086}, //6459 #CJK UNIFIED IDEOGRAPH
+  {0xCD55, 0x7084}, //6460 #CJK UNIFIED IDEOGRAPH
+  {0xCD56, 0x7091}, //6461 #CJK UNIFIED IDEOGRAPH
+  {0xCD57, 0x7096}, //6462 #CJK UNIFIED IDEOGRAPH
+  {0xCD58, 0x7082}, //6463 #CJK UNIFIED IDEOGRAPH
+  {0xCD59, 0x709A}, //6464 #CJK UNIFIED IDEOGRAPH
+  {0xCD5A, 0x7083}, //6465 #CJK UNIFIED IDEOGRAPH
+  {0xCD5B, 0x726A}, //6466 #CJK UNIFIED IDEOGRAPH
+  {0xCD5C, 0x72D6}, //6467 #CJK UNIFIED IDEOGRAPH
+  {0xCD5D, 0x72CB}, //6468 #CJK UNIFIED IDEOGRAPH
+  {0xCD5E, 0x72D8}, //6469 #CJK UNIFIED IDEOGRAPH
+  {0xCD5F, 0x72C9}, //6470 #CJK UNIFIED IDEOGRAPH
+  {0xCD60, 0x72DC}, //6471 #CJK UNIFIED IDEOGRAPH
+  {0xCD61, 0x72D2}, //6472 #CJK UNIFIED IDEOGRAPH
+  {0xCD62, 0x72D4}, //6473 #CJK UNIFIED IDEOGRAPH
+  {0xCD63, 0x72DA}, //6474 #CJK UNIFIED IDEOGRAPH
+  {0xCD64, 0x72CC}, //6475 #CJK UNIFIED IDEOGRAPH
+  {0xCD65, 0x72D1}, //6476 #CJK UNIFIED IDEOGRAPH
+  {0xCD66, 0x73A4}, //6477 #CJK UNIFIED IDEOGRAPH
+  {0xCD67, 0x73A1}, //6478 #CJK UNIFIED IDEOGRAPH
+  {0xCD68, 0x73AD}, //6479 #CJK UNIFIED IDEOGRAPH
+  {0xCD69, 0x73A6}, //6480 #CJK UNIFIED IDEOGRAPH
+  {0xCD6A, 0x73A2}, //6481 #CJK UNIFIED IDEOGRAPH
+  {0xCD6B, 0x73A0}, //6482 #CJK UNIFIED IDEOGRAPH
+  {0xCD6C, 0x73AC}, //6483 #CJK UNIFIED IDEOGRAPH
+  {0xCD6D, 0x739D}, //6484 #CJK UNIFIED IDEOGRAPH
+  {0xCD6E, 0x74DD}, //6485 #CJK UNIFIED IDEOGRAPH
+  {0xCD6F, 0x74E8}, //6486 #CJK UNIFIED IDEOGRAPH
+  {0xCD70, 0x753F}, //6487 #CJK UNIFIED IDEOGRAPH
+  {0xCD71, 0x7540}, //6488 #CJK UNIFIED IDEOGRAPH
+  {0xCD72, 0x753E}, //6489 #CJK UNIFIED IDEOGRAPH
+  {0xCD73, 0x758C}, //6490 #CJK UNIFIED IDEOGRAPH
+  {0xCD74, 0x7598}, //6491 #CJK UNIFIED IDEOGRAPH
+  {0xCD75, 0x76AF}, //6492 #CJK UNIFIED IDEOGRAPH
+  {0xCD76, 0x76F3}, //6493 #CJK UNIFIED IDEOGRAPH
+  {0xCD77, 0x76F1}, //6494 #CJK UNIFIED IDEOGRAPH
+  {0xCD78, 0x76F0}, //6495 #CJK UNIFIED IDEOGRAPH
+  {0xCD79, 0x76F5}, //6496 #CJK UNIFIED IDEOGRAPH
+  {0xCD7A, 0x77F8}, //6497 #CJK UNIFIED IDEOGRAPH
+  {0xCD7B, 0x77FC}, //6498 #CJK UNIFIED IDEOGRAPH
+  {0xCD7C, 0x77F9}, //6499 #CJK UNIFIED IDEOGRAPH
+  {0xCD7D, 0x77FB}, //6500 #CJK UNIFIED IDEOGRAPH
+  {0xCD7E, 0x77FA}, //6501 #CJK UNIFIED IDEOGRAPH
+  {0xCDA1, 0x77F7}, //6502 #CJK UNIFIED IDEOGRAPH
+  {0xCDA2, 0x7942}, //6503 #CJK UNIFIED IDEOGRAPH
+  {0xCDA3, 0x793F}, //6504 #CJK UNIFIED IDEOGRAPH
+  {0xCDA4, 0x79C5}, //6505 #CJK UNIFIED IDEOGRAPH
+  {0xCDA5, 0x7A78}, //6506 #CJK UNIFIED IDEOGRAPH
+  {0xCDA6, 0x7A7B}, //6507 #CJK UNIFIED IDEOGRAPH
+  {0xCDA7, 0x7AFB}, //6508 #CJK UNIFIED IDEOGRAPH
+  {0xCDA8, 0x7C75}, //6509 #CJK UNIFIED IDEOGRAPH
+  {0xCDA9, 0x7CFD}, //6510 #CJK UNIFIED IDEOGRAPH
+  {0xCDAA, 0x8035}, //6511 #CJK UNIFIED IDEOGRAPH
+  {0xCDAB, 0x808F}, //6512 #CJK UNIFIED IDEOGRAPH
+  {0xCDAC, 0x80AE}, //6513 #CJK UNIFIED IDEOGRAPH
+  {0xCDAD, 0x80A3}, //6514 #CJK UNIFIED IDEOGRAPH
+  {0xCDAE, 0x80B8}, //6515 #CJK UNIFIED IDEOGRAPH
+  {0xCDAF, 0x80B5}, //6516 #CJK UNIFIED IDEOGRAPH
+  {0xCDB0, 0x80AD}, //6517 #CJK UNIFIED IDEOGRAPH
+  {0xCDB1, 0x8220}, //6518 #CJK UNIFIED IDEOGRAPH
+  {0xCDB2, 0x82A0}, //6519 #CJK UNIFIED IDEOGRAPH
+  {0xCDB3, 0x82C0}, //6520 #CJK UNIFIED IDEOGRAPH
+  {0xCDB4, 0x82AB}, //6521 #CJK UNIFIED IDEOGRAPH
+  {0xCDB5, 0x829A}, //6522 #CJK UNIFIED IDEOGRAPH
+  {0xCDB6, 0x8298}, //6523 #CJK UNIFIED IDEOGRAPH
+  {0xCDB7, 0x829B}, //6524 #CJK UNIFIED IDEOGRAPH
+  {0xCDB8, 0x82B5}, //6525 #CJK UNIFIED IDEOGRAPH
+  {0xCDB9, 0x82A7}, //6526 #CJK UNIFIED IDEOGRAPH
+  {0xCDBA, 0x82AE}, //6527 #CJK UNIFIED IDEOGRAPH
+  {0xCDBB, 0x82BC}, //6528 #CJK UNIFIED IDEOGRAPH
+  {0xCDBC, 0x829E}, //6529 #CJK UNIFIED IDEOGRAPH
+  {0xCDBD, 0x82BA}, //6530 #CJK UNIFIED IDEOGRAPH
+  {0xCDBE, 0x82B4}, //6531 #CJK UNIFIED IDEOGRAPH
+  {0xCDBF, 0x82A8}, //6532 #CJK UNIFIED IDEOGRAPH
+  {0xCDC0, 0x82A1}, //6533 #CJK UNIFIED IDEOGRAPH
+  {0xCDC1, 0x82A9}, //6534 #CJK UNIFIED IDEOGRAPH
+  {0xCDC2, 0x82C2}, //6535 #CJK UNIFIED IDEOGRAPH
+  {0xCDC3, 0x82A4}, //6536 #CJK UNIFIED IDEOGRAPH
+  {0xCDC4, 0x82C3}, //6537 #CJK UNIFIED IDEOGRAPH
+  {0xCDC5, 0x82B6}, //6538 #CJK UNIFIED IDEOGRAPH
+  {0xCDC6, 0x82A2}, //6539 #CJK UNIFIED IDEOGRAPH
+  {0xCDC7, 0x8670}, //6540 #CJK UNIFIED IDEOGRAPH
+  {0xCDC8, 0x866F}, //6541 #CJK UNIFIED IDEOGRAPH
+  {0xCDC9, 0x866D}, //6542 #CJK UNIFIED IDEOGRAPH
+  {0xCDCA, 0x866E}, //6543 #CJK UNIFIED IDEOGRAPH
+  {0xCDCB, 0x8C56}, //6544 #CJK UNIFIED IDEOGRAPH
+  {0xCDCC, 0x8FD2}, //6545 #CJK UNIFIED IDEOGRAPH
+  {0xCDCD, 0x8FCB}, //6546 #CJK UNIFIED IDEOGRAPH
+  {0xCDCE, 0x8FD3}, //6547 #CJK UNIFIED IDEOGRAPH
+  {0xCDCF, 0x8FCD}, //6548 #CJK UNIFIED IDEOGRAPH
+  {0xCDD0, 0x8FD6}, //6549 #CJK UNIFIED IDEOGRAPH
+  {0xCDD1, 0x8FD5}, //6550 #CJK UNIFIED IDEOGRAPH
+  {0xCDD2, 0x8FD7}, //6551 #CJK UNIFIED IDEOGRAPH
+  {0xCDD3, 0x90B2}, //6552 #CJK UNIFIED IDEOGRAPH
+  {0xCDD4, 0x90B4}, //6553 #CJK UNIFIED IDEOGRAPH
+  {0xCDD5, 0x90AF}, //6554 #CJK UNIFIED IDEOGRAPH
+  {0xCDD6, 0x90B3}, //6555 #CJK UNIFIED IDEOGRAPH
+  {0xCDD7, 0x90B0}, //6556 #CJK UNIFIED IDEOGRAPH
+  {0xCDD8, 0x9639}, //6557 #CJK UNIFIED IDEOGRAPH
+  {0xCDD9, 0x963D}, //6558 #CJK UNIFIED IDEOGRAPH
+  {0xCDDA, 0x963C}, //6559 #CJK UNIFIED IDEOGRAPH
+  {0xCDDB, 0x963A}, //6560 #CJK UNIFIED IDEOGRAPH
+  {0xCDDC, 0x9643}, //6561 #CJK UNIFIED IDEOGRAPH
+  {0xCDDD, 0x4FCD}, //6562 #CJK UNIFIED IDEOGRAPH
+  {0xCDDE, 0x4FC5}, //6563 #CJK UNIFIED IDEOGRAPH
+  {0xCDDF, 0x4FD3}, //6564 #CJK UNIFIED IDEOGRAPH
+  {0xCDE0, 0x4FB2}, //6565 #CJK UNIFIED IDEOGRAPH
+  {0xCDE1, 0x4FC9}, //6566 #CJK UNIFIED IDEOGRAPH
+  {0xCDE2, 0x4FCB}, //6567 #CJK UNIFIED IDEOGRAPH
+  {0xCDE3, 0x4FC1}, //6568 #CJK UNIFIED IDEOGRAPH
+  {0xCDE4, 0x4FD4}, //6569 #CJK UNIFIED IDEOGRAPH
+  {0xCDE5, 0x4FDC}, //6570 #CJK UNIFIED IDEOGRAPH
+  {0xCDE6, 0x4FD9}, //6571 #CJK UNIFIED IDEOGRAPH
+  {0xCDE7, 0x4FBB}, //6572 #CJK UNIFIED IDEOGRAPH
+  {0xCDE8, 0x4FB3}, //6573 #CJK UNIFIED IDEOGRAPH
+  {0xCDE9, 0x4FDB}, //6574 #CJK UNIFIED IDEOGRAPH
+  {0xCDEA, 0x4FC7}, //6575 #CJK UNIFIED IDEOGRAPH
+  {0xCDEB, 0x4FD6}, //6576 #CJK UNIFIED IDEOGRAPH
+  {0xCDEC, 0x4FBA}, //6577 #CJK UNIFIED IDEOGRAPH
+  {0xCDED, 0x4FC0}, //6578 #CJK UNIFIED IDEOGRAPH
+  {0xCDEE, 0x4FB9}, //6579 #CJK UNIFIED IDEOGRAPH
+  {0xCDEF, 0x4FEC}, //6580 #CJK UNIFIED IDEOGRAPH
+  {0xCDF0, 0x5244}, //6581 #CJK UNIFIED IDEOGRAPH
+  {0xCDF1, 0x5249}, //6582 #CJK UNIFIED IDEOGRAPH
+  {0xCDF2, 0x52C0}, //6583 #CJK UNIFIED IDEOGRAPH
+  {0xCDF3, 0x52C2}, //6584 #CJK UNIFIED IDEOGRAPH
+  {0xCDF4, 0x533D}, //6585 #CJK UNIFIED IDEOGRAPH
+  {0xCDF5, 0x537C}, //6586 #CJK UNIFIED IDEOGRAPH
+  {0xCDF6, 0x5397}, //6587 #CJK UNIFIED IDEOGRAPH
+  {0xCDF7, 0x5396}, //6588 #CJK UNIFIED IDEOGRAPH
+  {0xCDF8, 0x5399}, //6589 #CJK UNIFIED IDEOGRAPH
+  {0xCDF9, 0x5398}, //6590 #CJK UNIFIED IDEOGRAPH
+  {0xCDFA, 0x54BA}, //6591 #CJK UNIFIED IDEOGRAPH
+  {0xCDFB, 0x54A1}, //6592 #CJK UNIFIED IDEOGRAPH
+  {0xCDFC, 0x54AD}, //6593 #CJK UNIFIED IDEOGRAPH
+  {0xCDFD, 0x54A5}, //6594 #CJK UNIFIED IDEOGRAPH
+  {0xCDFE, 0x54CF}, //6595 #CJK UNIFIED IDEOGRAPH
+  {0xCE40, 0x54C3}, //6596 #CJK UNIFIED IDEOGRAPH
+  {0xCE41, 0x830D}, //6597 #CJK UNIFIED IDEOGRAPH
+  {0xCE42, 0x54B7}, //6598 #CJK UNIFIED IDEOGRAPH
+  {0xCE43, 0x54AE}, //6599 #CJK UNIFIED IDEOGRAPH
+  {0xCE44, 0x54D6}, //6600 #CJK UNIFIED IDEOGRAPH
+  {0xCE45, 0x54B6}, //6601 #CJK UNIFIED IDEOGRAPH
+  {0xCE46, 0x54C5}, //6602 #CJK UNIFIED IDEOGRAPH
+  {0xCE47, 0x54C6}, //6603 #CJK UNIFIED IDEOGRAPH
+  {0xCE48, 0x54A0}, //6604 #CJK UNIFIED IDEOGRAPH
+  {0xCE49, 0x5470}, //6605 #CJK UNIFIED IDEOGRAPH
+  {0xCE4A, 0x54BC}, //6606 #CJK UNIFIED IDEOGRAPH
+  {0xCE4B, 0x54A2}, //6607 #CJK UNIFIED IDEOGRAPH
+  {0xCE4C, 0x54BE}, //6608 #CJK UNIFIED IDEOGRAPH
+  {0xCE4D, 0x5472}, //6609 #CJK UNIFIED IDEOGRAPH
+  {0xCE4E, 0x54DE}, //6610 #CJK UNIFIED IDEOGRAPH
+  {0xCE4F, 0x54B0}, //6611 #CJK UNIFIED IDEOGRAPH
+  {0xCE50, 0x57B5}, //6612 #CJK UNIFIED IDEOGRAPH
+  {0xCE51, 0x579E}, //6613 #CJK UNIFIED IDEOGRAPH
+  {0xCE52, 0x579F}, //6614 #CJK UNIFIED IDEOGRAPH
+  {0xCE53, 0x57A4}, //6615 #CJK UNIFIED IDEOGRAPH
+  {0xCE54, 0x578C}, //6616 #CJK UNIFIED IDEOGRAPH
+  {0xCE55, 0x5797}, //6617 #CJK UNIFIED IDEOGRAPH
+  {0xCE56, 0x579D}, //6618 #CJK UNIFIED IDEOGRAPH
+  {0xCE57, 0x579B}, //6619 #CJK UNIFIED IDEOGRAPH
+  {0xCE58, 0x5794}, //6620 #CJK UNIFIED IDEOGRAPH
+  {0xCE59, 0x5798}, //6621 #CJK UNIFIED IDEOGRAPH
+  {0xCE5A, 0x578F}, //6622 #CJK UNIFIED IDEOGRAPH
+  {0xCE5B, 0x5799}, //6623 #CJK UNIFIED IDEOGRAPH
+  {0xCE5C, 0x57A5}, //6624 #CJK UNIFIED IDEOGRAPH
+  {0xCE5D, 0x579A}, //6625 #CJK UNIFIED IDEOGRAPH
+  {0xCE5E, 0x5795}, //6626 #CJK UNIFIED IDEOGRAPH
+  {0xCE5F, 0x58F4}, //6627 #CJK UNIFIED IDEOGRAPH
+  {0xCE60, 0x590D}, //6628 #CJK UNIFIED IDEOGRAPH
+  {0xCE61, 0x5953}, //6629 #CJK UNIFIED IDEOGRAPH
+  {0xCE62, 0x59E1}, //6630 #CJK UNIFIED IDEOGRAPH
+  {0xCE63, 0x59DE}, //6631 #CJK UNIFIED IDEOGRAPH
+  {0xCE64, 0x59EE}, //6632 #CJK UNIFIED IDEOGRAPH
+  {0xCE65, 0x5A00}, //6633 #CJK UNIFIED IDEOGRAPH
+  {0xCE66, 0x59F1}, //6634 #CJK UNIFIED IDEOGRAPH
+  {0xCE67, 0x59DD}, //6635 #CJK UNIFIED IDEOGRAPH
+  {0xCE68, 0x59FA}, //6636 #CJK UNIFIED IDEOGRAPH
+  {0xCE69, 0x59FD}, //6637 #CJK UNIFIED IDEOGRAPH
+  {0xCE6A, 0x59FC}, //6638 #CJK UNIFIED IDEOGRAPH
+  {0xCE6B, 0x59F6}, //6639 #CJK UNIFIED IDEOGRAPH
+  {0xCE6C, 0x59E4}, //6640 #CJK UNIFIED IDEOGRAPH
+  {0xCE6D, 0x59F2}, //6641 #CJK UNIFIED IDEOGRAPH
+  {0xCE6E, 0x59F7}, //6642 #CJK UNIFIED IDEOGRAPH
+  {0xCE6F, 0x59DB}, //6643 #CJK UNIFIED IDEOGRAPH
+  {0xCE70, 0x59E9}, //6644 #CJK UNIFIED IDEOGRAPH
+  {0xCE71, 0x59F3}, //6645 #CJK UNIFIED IDEOGRAPH
+  {0xCE72, 0x59F5}, //6646 #CJK UNIFIED IDEOGRAPH
+  {0xCE73, 0x59E0}, //6647 #CJK UNIFIED IDEOGRAPH
+  {0xCE74, 0x59FE}, //6648 #CJK UNIFIED IDEOGRAPH
+  {0xCE75, 0x59F4}, //6649 #CJK UNIFIED IDEOGRAPH
+  {0xCE76, 0x59ED}, //6650 #CJK UNIFIED IDEOGRAPH
+  {0xCE77, 0x5BA8}, //6651 #CJK UNIFIED IDEOGRAPH
+  {0xCE78, 0x5C4C}, //6652 #CJK UNIFIED IDEOGRAPH
+  {0xCE79, 0x5CD0}, //6653 #CJK UNIFIED IDEOGRAPH
+  {0xCE7A, 0x5CD8}, //6654 #CJK UNIFIED IDEOGRAPH
+  {0xCE7B, 0x5CCC}, //6655 #CJK UNIFIED IDEOGRAPH
+  {0xCE7C, 0x5CD7}, //6656 #CJK UNIFIED IDEOGRAPH
+  {0xCE7D, 0x5CCB}, //6657 #CJK UNIFIED IDEOGRAPH
+  {0xCE7E, 0x5CDB}, //6658 #CJK UNIFIED IDEOGRAPH
+  {0xCEA1, 0x5CDE}, //6659 #CJK UNIFIED IDEOGRAPH
+  {0xCEA2, 0x5CDA}, //6660 #CJK UNIFIED IDEOGRAPH
+  {0xCEA3, 0x5CC9}, //6661 #CJK UNIFIED IDEOGRAPH
+  {0xCEA4, 0x5CC7}, //6662 #CJK UNIFIED IDEOGRAPH
+  {0xCEA5, 0x5CCA}, //6663 #CJK UNIFIED IDEOGRAPH
+  {0xCEA6, 0x5CD6}, //6664 #CJK UNIFIED IDEOGRAPH
+  {0xCEA7, 0x5CD3}, //6665 #CJK UNIFIED IDEOGRAPH
+  {0xCEA8, 0x5CD4}, //6666 #CJK UNIFIED IDEOGRAPH
+  {0xCEA9, 0x5CCF}, //6667 #CJK UNIFIED IDEOGRAPH
+  {0xCEAA, 0x5CC8}, //6668 #CJK UNIFIED IDEOGRAPH
+  {0xCEAB, 0x5CC6}, //6669 #CJK UNIFIED IDEOGRAPH
+  {0xCEAC, 0x5CCE}, //6670 #CJK UNIFIED IDEOGRAPH
+  {0xCEAD, 0x5CDF}, //6671 #CJK UNIFIED IDEOGRAPH
+  {0xCEAE, 0x5CF8}, //6672 #CJK UNIFIED IDEOGRAPH
+  {0xCEAF, 0x5DF9}, //6673 #CJK UNIFIED IDEOGRAPH
+  {0xCEB0, 0x5E21}, //6674 #CJK UNIFIED IDEOGRAPH
+  {0xCEB1, 0x5E22}, //6675 #CJK UNIFIED IDEOGRAPH
+  {0xCEB2, 0x5E23}, //6676 #CJK UNIFIED IDEOGRAPH
+  {0xCEB3, 0x5E20}, //6677 #CJK UNIFIED IDEOGRAPH
+  {0xCEB4, 0x5E24}, //6678 #CJK UNIFIED IDEOGRAPH
+  {0xCEB5, 0x5EB0}, //6679 #CJK UNIFIED IDEOGRAPH
+  {0xCEB6, 0x5EA4}, //6680 #CJK UNIFIED IDEOGRAPH
+  {0xCEB7, 0x5EA2}, //6681 #CJK UNIFIED IDEOGRAPH
+  {0xCEB8, 0x5E9B}, //6682 #CJK UNIFIED IDEOGRAPH
+  {0xCEB9, 0x5EA3}, //6683 #CJK UNIFIED IDEOGRAPH
+  {0xCEBA, 0x5EA5}, //6684 #CJK UNIFIED IDEOGRAPH
+  {0xCEBB, 0x5F07}, //6685 #CJK UNIFIED IDEOGRAPH
+  {0xCEBC, 0x5F2E}, //6686 #CJK UNIFIED IDEOGRAPH
+  {0xCEBD, 0x5F56}, //6687 #CJK UNIFIED IDEOGRAPH
+  {0xCEBE, 0x5F86}, //6688 #CJK UNIFIED IDEOGRAPH
+  {0xCEBF, 0x6037}, //6689 #CJK UNIFIED IDEOGRAPH
+  {0xCEC0, 0x6039}, //6690 #CJK UNIFIED IDEOGRAPH
+  {0xCEC1, 0x6054}, //6691 #CJK UNIFIED IDEOGRAPH
+  {0xCEC2, 0x6072}, //6692 #CJK UNIFIED IDEOGRAPH
+  {0xCEC3, 0x605E}, //6693 #CJK UNIFIED IDEOGRAPH
+  {0xCEC4, 0x6045}, //6694 #CJK UNIFIED IDEOGRAPH
+  {0xCEC5, 0x6053}, //6695 #CJK UNIFIED IDEOGRAPH
+  {0xCEC6, 0x6047}, //6696 #CJK UNIFIED IDEOGRAPH
+  {0xCEC7, 0x6049}, //6697 #CJK UNIFIED IDEOGRAPH
+  {0xCEC8, 0x605B}, //6698 #CJK UNIFIED IDEOGRAPH
+  {0xCEC9, 0x604C}, //6699 #CJK UNIFIED IDEOGRAPH
+  {0xCECA, 0x6040}, //6700 #CJK UNIFIED IDEOGRAPH
+  {0xCECB, 0x6042}, //6701 #CJK UNIFIED IDEOGRAPH
+  {0xCECC, 0x605F}, //6702 #CJK UNIFIED IDEOGRAPH
+  {0xCECD, 0x6024}, //6703 #CJK UNIFIED IDEOGRAPH
+  {0xCECE, 0x6044}, //6704 #CJK UNIFIED IDEOGRAPH
+  {0xCECF, 0x6058}, //6705 #CJK UNIFIED IDEOGRAPH
+  {0xCED0, 0x6066}, //6706 #CJK UNIFIED IDEOGRAPH
+  {0xCED1, 0x606E}, //6707 #CJK UNIFIED IDEOGRAPH
+  {0xCED2, 0x6242}, //6708 #CJK UNIFIED IDEOGRAPH
+  {0xCED3, 0x6243}, //6709 #CJK UNIFIED IDEOGRAPH
+  {0xCED4, 0x62CF}, //6710 #CJK UNIFIED IDEOGRAPH
+  {0xCED5, 0x630D}, //6711 #CJK UNIFIED IDEOGRAPH
+  {0xCED6, 0x630B}, //6712 #CJK UNIFIED IDEOGRAPH
+  {0xCED7, 0x62F5}, //6713 #CJK UNIFIED IDEOGRAPH
+  {0xCED8, 0x630E}, //6714 #CJK UNIFIED IDEOGRAPH
+  {0xCED9, 0x6303}, //6715 #CJK UNIFIED IDEOGRAPH
+  {0xCEDA, 0x62EB}, //6716 #CJK UNIFIED IDEOGRAPH
+  {0xCEDB, 0x62F9}, //6717 #CJK UNIFIED IDEOGRAPH
+  {0xCEDC, 0x630F}, //6718 #CJK UNIFIED IDEOGRAPH
+  {0xCEDD, 0x630C}, //6719 #CJK UNIFIED IDEOGRAPH
+  {0xCEDE, 0x62F8}, //6720 #CJK UNIFIED IDEOGRAPH
+  {0xCEDF, 0x62F6}, //6721 #CJK UNIFIED IDEOGRAPH
+  {0xCEE0, 0x6300}, //6722 #CJK UNIFIED IDEOGRAPH
+  {0xCEE1, 0x6313}, //6723 #CJK UNIFIED IDEOGRAPH
+  {0xCEE2, 0x6314}, //6724 #CJK UNIFIED IDEOGRAPH
+  {0xCEE3, 0x62FA}, //6725 #CJK UNIFIED IDEOGRAPH
+  {0xCEE4, 0x6315}, //6726 #CJK UNIFIED IDEOGRAPH
+  {0xCEE5, 0x62FB}, //6727 #CJK UNIFIED IDEOGRAPH
+  {0xCEE6, 0x62F0}, //6728 #CJK UNIFIED IDEOGRAPH
+  {0xCEE7, 0x6541}, //6729 #CJK UNIFIED IDEOGRAPH
+  {0xCEE8, 0x6543}, //6730 #CJK UNIFIED IDEOGRAPH
+  {0xCEE9, 0x65AA}, //6731 #CJK UNIFIED IDEOGRAPH
+  {0xCEEA, 0x65BF}, //6732 #CJK UNIFIED IDEOGRAPH
+  {0xCEEB, 0x6636}, //6733 #CJK UNIFIED IDEOGRAPH
+  {0xCEEC, 0x6621}, //6734 #CJK UNIFIED IDEOGRAPH
+  {0xCEED, 0x6632}, //6735 #CJK UNIFIED IDEOGRAPH
+  {0xCEEE, 0x6635}, //6736 #CJK UNIFIED IDEOGRAPH
+  {0xCEEF, 0x661C}, //6737 #CJK UNIFIED IDEOGRAPH
+  {0xCEF0, 0x6626}, //6738 #CJK UNIFIED IDEOGRAPH
+  {0xCEF1, 0x6622}, //6739 #CJK UNIFIED IDEOGRAPH
+  {0xCEF2, 0x6633}, //6740 #CJK UNIFIED IDEOGRAPH
+  {0xCEF3, 0x662B}, //6741 #CJK UNIFIED IDEOGRAPH
+  {0xCEF4, 0x663A}, //6742 #CJK UNIFIED IDEOGRAPH
+  {0xCEF5, 0x661D}, //6743 #CJK UNIFIED IDEOGRAPH
+  {0xCEF6, 0x6634}, //6744 #CJK UNIFIED IDEOGRAPH
+  {0xCEF7, 0x6639}, //6745 #CJK UNIFIED IDEOGRAPH
+  {0xCEF8, 0x662E}, //6746 #CJK UNIFIED IDEOGRAPH
+  {0xCEF9, 0x670F}, //6747 #CJK UNIFIED IDEOGRAPH
+  {0xCEFA, 0x6710}, //6748 #CJK UNIFIED IDEOGRAPH
+  {0xCEFB, 0x67C1}, //6749 #CJK UNIFIED IDEOGRAPH
+  {0xCEFC, 0x67F2}, //6750 #CJK UNIFIED IDEOGRAPH
+  {0xCEFD, 0x67C8}, //6751 #CJK UNIFIED IDEOGRAPH
+  {0xCEFE, 0x67BA}, //6752 #CJK UNIFIED IDEOGRAPH
+  {0xCF40, 0x67DC}, //6753 #CJK UNIFIED IDEOGRAPH
+  {0xCF41, 0x67BB}, //6754 #CJK UNIFIED IDEOGRAPH
+  {0xCF42, 0x67F8}, //6755 #CJK UNIFIED IDEOGRAPH
+  {0xCF43, 0x67D8}, //6756 #CJK UNIFIED IDEOGRAPH
+  {0xCF44, 0x67C0}, //6757 #CJK UNIFIED IDEOGRAPH
+  {0xCF45, 0x67B7}, //6758 #CJK UNIFIED IDEOGRAPH
+  {0xCF46, 0x67C5}, //6759 #CJK UNIFIED IDEOGRAPH
+  {0xCF47, 0x67EB}, //6760 #CJK UNIFIED IDEOGRAPH
+  {0xCF48, 0x67E4}, //6761 #CJK UNIFIED IDEOGRAPH
+  {0xCF49, 0x67DF}, //6762 #CJK UNIFIED IDEOGRAPH
+  {0xCF4A, 0x67B5}, //6763 #CJK UNIFIED IDEOGRAPH
+  {0xCF4B, 0x67CD}, //6764 #CJK UNIFIED IDEOGRAPH
+  {0xCF4C, 0x67B3}, //6765 #CJK UNIFIED IDEOGRAPH
+  {0xCF4D, 0x67F7}, //6766 #CJK UNIFIED IDEOGRAPH
+  {0xCF4E, 0x67F6}, //6767 #CJK UNIFIED IDEOGRAPH
+  {0xCF4F, 0x67EE}, //6768 #CJK UNIFIED IDEOGRAPH
+  {0xCF50, 0x67E3}, //6769 #CJK UNIFIED IDEOGRAPH
+  {0xCF51, 0x67C2}, //6770 #CJK UNIFIED IDEOGRAPH
+  {0xCF52, 0x67B9}, //6771 #CJK UNIFIED IDEOGRAPH
+  {0xCF53, 0x67CE}, //6772 #CJK UNIFIED IDEOGRAPH
+  {0xCF54, 0x67E7}, //6773 #CJK UNIFIED IDEOGRAPH
+  {0xCF55, 0x67F0}, //6774 #CJK UNIFIED IDEOGRAPH
+  {0xCF56, 0x67B2}, //6775 #CJK UNIFIED IDEOGRAPH
+  {0xCF57, 0x67FC}, //6776 #CJK UNIFIED IDEOGRAPH
+  {0xCF58, 0x67C6}, //6777 #CJK UNIFIED IDEOGRAPH
+  {0xCF59, 0x67ED}, //6778 #CJK UNIFIED IDEOGRAPH
+  {0xCF5A, 0x67CC}, //6779 #CJK UNIFIED IDEOGRAPH
+  {0xCF5B, 0x67AE}, //6780 #CJK UNIFIED IDEOGRAPH
+  {0xCF5C, 0x67E6}, //6781 #CJK UNIFIED IDEOGRAPH
+  {0xCF5D, 0x67DB}, //6782 #CJK UNIFIED IDEOGRAPH
+  {0xCF5E, 0x67FA}, //6783 #CJK UNIFIED IDEOGRAPH
+  {0xCF5F, 0x67C9}, //6784 #CJK UNIFIED IDEOGRAPH
+  {0xCF60, 0x67CA}, //6785 #CJK UNIFIED IDEOGRAPH
+  {0xCF61, 0x67C3}, //6786 #CJK UNIFIED IDEOGRAPH
+  {0xCF62, 0x67EA}, //6787 #CJK UNIFIED IDEOGRAPH
+  {0xCF63, 0x67CB}, //6788 #CJK UNIFIED IDEOGRAPH
+  {0xCF64, 0x6B28}, //6789 #CJK UNIFIED IDEOGRAPH
+  {0xCF65, 0x6B82}, //6790 #CJK UNIFIED IDEOGRAPH
+  {0xCF66, 0x6B84}, //6791 #CJK UNIFIED IDEOGRAPH
+  {0xCF67, 0x6BB6}, //6792 #CJK UNIFIED IDEOGRAPH
+  {0xCF68, 0x6BD6}, //6793 #CJK UNIFIED IDEOGRAPH
+  {0xCF69, 0x6BD8}, //6794 #CJK UNIFIED IDEOGRAPH
+  {0xCF6A, 0x6BE0}, //6795 #CJK UNIFIED IDEOGRAPH
+  {0xCF6B, 0x6C20}, //6796 #CJK UNIFIED IDEOGRAPH
+  {0xCF6C, 0x6C21}, //6797 #CJK UNIFIED IDEOGRAPH
+  {0xCF6D, 0x6D28}, //6798 #CJK UNIFIED IDEOGRAPH
+  {0xCF6E, 0x6D34}, //6799 #CJK UNIFIED IDEOGRAPH
+  {0xCF6F, 0x6D2D}, //6800 #CJK UNIFIED IDEOGRAPH
+  {0xCF70, 0x6D1F}, //6801 #CJK UNIFIED IDEOGRAPH
+  {0xCF71, 0x6D3C}, //6802 #CJK UNIFIED IDEOGRAPH
+  {0xCF72, 0x6D3F}, //6803 #CJK UNIFIED IDEOGRAPH
+  {0xCF73, 0x6D12}, //6804 #CJK UNIFIED IDEOGRAPH
+  {0xCF74, 0x6D0A}, //6805 #CJK UNIFIED IDEOGRAPH
+  {0xCF75, 0x6CDA}, //6806 #CJK UNIFIED IDEOGRAPH
+  {0xCF76, 0x6D33}, //6807 #CJK UNIFIED IDEOGRAPH
+  {0xCF77, 0x6D04}, //6808 #CJK UNIFIED IDEOGRAPH
+  {0xCF78, 0x6D19}, //6809 #CJK UNIFIED IDEOGRAPH
+  {0xCF79, 0x6D3A}, //6810 #CJK UNIFIED IDEOGRAPH
+  {0xCF7A, 0x6D1A}, //6811 #CJK UNIFIED IDEOGRAPH
+  {0xCF7B, 0x6D11}, //6812 #CJK UNIFIED IDEOGRAPH
+  {0xCF7C, 0x6D00}, //6813 #CJK UNIFIED IDEOGRAPH
+  {0xCF7D, 0x6D1D}, //6814 #CJK UNIFIED IDEOGRAPH
+  {0xCF7E, 0x6D42}, //6815 #CJK UNIFIED IDEOGRAPH
+  {0xCFA1, 0x6D01}, //6816 #CJK UNIFIED IDEOGRAPH
+  {0xCFA2, 0x6D18}, //6817 #CJK UNIFIED IDEOGRAPH
+  {0xCFA3, 0x6D37}, //6818 #CJK UNIFIED IDEOGRAPH
+  {0xCFA4, 0x6D03}, //6819 #CJK UNIFIED IDEOGRAPH
+  {0xCFA5, 0x6D0F}, //6820 #CJK UNIFIED IDEOGRAPH
+  {0xCFA6, 0x6D40}, //6821 #CJK UNIFIED IDEOGRAPH
+  {0xCFA7, 0x6D07}, //6822 #CJK UNIFIED IDEOGRAPH
+  {0xCFA8, 0x6D20}, //6823 #CJK UNIFIED IDEOGRAPH
+  {0xCFA9, 0x6D2C}, //6824 #CJK UNIFIED IDEOGRAPH
+  {0xCFAA, 0x6D08}, //6825 #CJK UNIFIED IDEOGRAPH
+  {0xCFAB, 0x6D22}, //6826 #CJK UNIFIED IDEOGRAPH
+  {0xCFAC, 0x6D09}, //6827 #CJK UNIFIED IDEOGRAPH
+  {0xCFAD, 0x6D10}, //6828 #CJK UNIFIED IDEOGRAPH
+  {0xCFAE, 0x70B7}, //6829 #CJK UNIFIED IDEOGRAPH
+  {0xCFAF, 0x709F}, //6830 #CJK UNIFIED IDEOGRAPH
+  {0xCFB0, 0x70BE}, //6831 #CJK UNIFIED IDEOGRAPH
+  {0xCFB1, 0x70B1}, //6832 #CJK UNIFIED IDEOGRAPH
+  {0xCFB2, 0x70B0}, //6833 #CJK UNIFIED IDEOGRAPH
+  {0xCFB3, 0x70A1}, //6834 #CJK UNIFIED IDEOGRAPH
+  {0xCFB4, 0x70B4}, //6835 #CJK UNIFIED IDEOGRAPH
+  {0xCFB5, 0x70B5}, //6836 #CJK UNIFIED IDEOGRAPH
+  {0xCFB6, 0x70A9}, //6837 #CJK UNIFIED IDEOGRAPH
+  {0xCFB7, 0x7241}, //6838 #CJK UNIFIED IDEOGRAPH
+  {0xCFB8, 0x7249}, //6839 #CJK UNIFIED IDEOGRAPH
+  {0xCFB9, 0x724A}, //6840 #CJK UNIFIED IDEOGRAPH
+  {0xCFBA, 0x726C}, //6841 #CJK UNIFIED IDEOGRAPH
+  {0xCFBB, 0x7270}, //6842 #CJK UNIFIED IDEOGRAPH
+  {0xCFBC, 0x7273}, //6843 #CJK UNIFIED IDEOGRAPH
+  {0xCFBD, 0x726E}, //6844 #CJK UNIFIED IDEOGRAPH
+  {0xCFBE, 0x72CA}, //6845 #CJK UNIFIED IDEOGRAPH
+  {0xCFBF, 0x72E4}, //6846 #CJK UNIFIED IDEOGRAPH
+  {0xCFC0, 0x72E8}, //6847 #CJK UNIFIED IDEOGRAPH
+  {0xCFC1, 0x72EB}, //6848 #CJK UNIFIED IDEOGRAPH
+  {0xCFC2, 0x72DF}, //6849 #CJK UNIFIED IDEOGRAPH
+  {0xCFC3, 0x72EA}, //6850 #CJK UNIFIED IDEOGRAPH
+  {0xCFC4, 0x72E6}, //6851 #CJK UNIFIED IDEOGRAPH
+  {0xCFC5, 0x72E3}, //6852 #CJK UNIFIED IDEOGRAPH
+  {0xCFC6, 0x7385}, //6853 #CJK UNIFIED IDEOGRAPH
+  {0xCFC7, 0x73CC}, //6854 #CJK UNIFIED IDEOGRAPH
+  {0xCFC8, 0x73C2}, //6855 #CJK UNIFIED IDEOGRAPH
+  {0xCFC9, 0x73C8}, //6856 #CJK UNIFIED IDEOGRAPH
+  {0xCFCA, 0x73C5}, //6857 #CJK UNIFIED IDEOGRAPH
+  {0xCFCB, 0x73B9}, //6858 #CJK UNIFIED IDEOGRAPH
+  {0xCFCC, 0x73B6}, //6859 #CJK UNIFIED IDEOGRAPH
+  {0xCFCD, 0x73B5}, //6860 #CJK UNIFIED IDEOGRAPH
+  {0xCFCE, 0x73B4}, //6861 #CJK UNIFIED IDEOGRAPH
+  {0xCFCF, 0x73EB}, //6862 #CJK UNIFIED IDEOGRAPH
+  {0xCFD0, 0x73BF}, //6863 #CJK UNIFIED IDEOGRAPH
+  {0xCFD1, 0x73C7}, //6864 #CJK UNIFIED IDEOGRAPH
+  {0xCFD2, 0x73BE}, //6865 #CJK UNIFIED IDEOGRAPH
+  {0xCFD3, 0x73C3}, //6866 #CJK UNIFIED IDEOGRAPH
+  {0xCFD4, 0x73C6}, //6867 #CJK UNIFIED IDEOGRAPH
+  {0xCFD5, 0x73B8}, //6868 #CJK UNIFIED IDEOGRAPH
+  {0xCFD6, 0x73CB}, //6869 #CJK UNIFIED IDEOGRAPH
+  {0xCFD7, 0x74EC}, //6870 #CJK UNIFIED IDEOGRAPH
+  {0xCFD8, 0x74EE}, //6871 #CJK UNIFIED IDEOGRAPH
+  {0xCFD9, 0x752E}, //6872 #CJK UNIFIED IDEOGRAPH
+  {0xCFDA, 0x7547}, //6873 #CJK UNIFIED IDEOGRAPH
+  {0xCFDB, 0x7548}, //6874 #CJK UNIFIED IDEOGRAPH
+  {0xCFDC, 0x75A7}, //6875 #CJK UNIFIED IDEOGRAPH
+  {0xCFDD, 0x75AA}, //6876 #CJK UNIFIED IDEOGRAPH
+  {0xCFDE, 0x7679}, //6877 #CJK UNIFIED IDEOGRAPH
+  {0xCFDF, 0x76C4}, //6878 #CJK UNIFIED IDEOGRAPH
+  {0xCFE0, 0x7708}, //6879 #CJK UNIFIED IDEOGRAPH
+  {0xCFE1, 0x7703}, //6880 #CJK UNIFIED IDEOGRAPH
+  {0xCFE2, 0x7704}, //6881 #CJK UNIFIED IDEOGRAPH
+  {0xCFE3, 0x7705}, //6882 #CJK UNIFIED IDEOGRAPH
+  {0xCFE4, 0x770A}, //6883 #CJK UNIFIED IDEOGRAPH
+  {0xCFE5, 0x76F7}, //6884 #CJK UNIFIED IDEOGRAPH
+  {0xCFE6, 0x76FB}, //6885 #CJK UNIFIED IDEOGRAPH
+  {0xCFE7, 0x76FA}, //6886 #CJK UNIFIED IDEOGRAPH
+  {0xCFE8, 0x77E7}, //6887 #CJK UNIFIED IDEOGRAPH
+  {0xCFE9, 0x77E8}, //6888 #CJK UNIFIED IDEOGRAPH
+  {0xCFEA, 0x7806}, //6889 #CJK UNIFIED IDEOGRAPH
+  {0xCFEB, 0x7811}, //6890 #CJK UNIFIED IDEOGRAPH
+  {0xCFEC, 0x7812}, //6891 #CJK UNIFIED IDEOGRAPH
+  {0xCFED, 0x7805}, //6892 #CJK UNIFIED IDEOGRAPH
+  {0xCFEE, 0x7810}, //6893 #CJK UNIFIED IDEOGRAPH
+  {0xCFEF, 0x780F}, //6894 #CJK UNIFIED IDEOGRAPH
+  {0xCFF0, 0x780E}, //6895 #CJK UNIFIED IDEOGRAPH
+  {0xCFF1, 0x7809}, //6896 #CJK UNIFIED IDEOGRAPH
+  {0xCFF2, 0x7803}, //6897 #CJK UNIFIED IDEOGRAPH
+  {0xCFF3, 0x7813}, //6898 #CJK UNIFIED IDEOGRAPH
+  {0xCFF4, 0x794A}, //6899 #CJK UNIFIED IDEOGRAPH
+  {0xCFF5, 0x794C}, //6900 #CJK UNIFIED IDEOGRAPH
+  {0xCFF6, 0x794B}, //6901 #CJK UNIFIED IDEOGRAPH
+  {0xCFF7, 0x7945}, //6902 #CJK UNIFIED IDEOGRAPH
+  {0xCFF8, 0x7944}, //6903 #CJK UNIFIED IDEOGRAPH
+  {0xCFF9, 0x79D5}, //6904 #CJK UNIFIED IDEOGRAPH
+  {0xCFFA, 0x79CD}, //6905 #CJK UNIFIED IDEOGRAPH
+  {0xCFFB, 0x79CF}, //6906 #CJK UNIFIED IDEOGRAPH
+  {0xCFFC, 0x79D6}, //6907 #CJK UNIFIED IDEOGRAPH
+  {0xCFFD, 0x79CE}, //6908 #CJK UNIFIED IDEOGRAPH
+  {0xCFFE, 0x7A80}, //6909 #CJK UNIFIED IDEOGRAPH
+  {0xD040, 0x7A7E}, //6910 #CJK UNIFIED IDEOGRAPH
+  {0xD041, 0x7AD1}, //6911 #CJK UNIFIED IDEOGRAPH
+  {0xD042, 0x7B00}, //6912 #CJK UNIFIED IDEOGRAPH
+  {0xD043, 0x7B01}, //6913 #CJK UNIFIED IDEOGRAPH
+  {0xD044, 0x7C7A}, //6914 #CJK UNIFIED IDEOGRAPH
+  {0xD045, 0x7C78}, //6915 #CJK UNIFIED IDEOGRAPH
+  {0xD046, 0x7C79}, //6916 #CJK UNIFIED IDEOGRAPH
+  {0xD047, 0x7C7F}, //6917 #CJK UNIFIED IDEOGRAPH
+  {0xD048, 0x7C80}, //6918 #CJK UNIFIED IDEOGRAPH
+  {0xD049, 0x7C81}, //6919 #CJK UNIFIED IDEOGRAPH
+  {0xD04A, 0x7D03}, //6920 #CJK UNIFIED IDEOGRAPH
+  {0xD04B, 0x7D08}, //6921 #CJK UNIFIED IDEOGRAPH
+  {0xD04C, 0x7D01}, //6922 #CJK UNIFIED IDEOGRAPH
+  {0xD04D, 0x7F58}, //6923 #CJK UNIFIED IDEOGRAPH
+  {0xD04E, 0x7F91}, //6924 #CJK UNIFIED IDEOGRAPH
+  {0xD04F, 0x7F8D}, //6925 #CJK UNIFIED IDEOGRAPH
+  {0xD050, 0x7FBE}, //6926 #CJK UNIFIED IDEOGRAPH
+  {0xD051, 0x8007}, //6927 #CJK UNIFIED IDEOGRAPH
+  {0xD052, 0x800E}, //6928 #CJK UNIFIED IDEOGRAPH
+  {0xD053, 0x800F}, //6929 #CJK UNIFIED IDEOGRAPH
+  {0xD054, 0x8014}, //6930 #CJK UNIFIED IDEOGRAPH
+  {0xD055, 0x8037}, //6931 #CJK UNIFIED IDEOGRAPH
+  {0xD056, 0x80D8}, //6932 #CJK UNIFIED IDEOGRAPH
+  {0xD057, 0x80C7}, //6933 #CJK UNIFIED IDEOGRAPH
+  {0xD058, 0x80E0}, //6934 #CJK UNIFIED IDEOGRAPH
+  {0xD059, 0x80D1}, //6935 #CJK UNIFIED IDEOGRAPH
+  {0xD05A, 0x80C8}, //6936 #CJK UNIFIED IDEOGRAPH
+  {0xD05B, 0x80C2}, //6937 #CJK UNIFIED IDEOGRAPH
+  {0xD05C, 0x80D0}, //6938 #CJK UNIFIED IDEOGRAPH
+  {0xD05D, 0x80C5}, //6939 #CJK UNIFIED IDEOGRAPH
+  {0xD05E, 0x80E3}, //6940 #CJK UNIFIED IDEOGRAPH
+  {0xD05F, 0x80D9}, //6941 #CJK UNIFIED IDEOGRAPH
+  {0xD060, 0x80DC}, //6942 #CJK UNIFIED IDEOGRAPH
+  {0xD061, 0x80CA}, //6943 #CJK UNIFIED IDEOGRAPH
+  {0xD062, 0x80D5}, //6944 #CJK UNIFIED IDEOGRAPH
+  {0xD063, 0x80C9}, //6945 #CJK UNIFIED IDEOGRAPH
+  {0xD064, 0x80CF}, //6946 #CJK UNIFIED IDEOGRAPH
+  {0xD065, 0x80D7}, //6947 #CJK UNIFIED IDEOGRAPH
+  {0xD066, 0x80E6}, //6948 #CJK UNIFIED IDEOGRAPH
+  {0xD067, 0x80CD}, //6949 #CJK UNIFIED IDEOGRAPH
+  {0xD068, 0x81FF}, //6950 #CJK UNIFIED IDEOGRAPH
+  {0xD069, 0x8221}, //6951 #CJK UNIFIED IDEOGRAPH
+  {0xD06A, 0x8294}, //6952 #CJK UNIFIED IDEOGRAPH
+  {0xD06B, 0x82D9}, //6953 #CJK UNIFIED IDEOGRAPH
+  {0xD06C, 0x82FE}, //6954 #CJK UNIFIED IDEOGRAPH
+  {0xD06D, 0x82F9}, //6955 #CJK UNIFIED IDEOGRAPH
+  {0xD06E, 0x8307}, //6956 #CJK UNIFIED IDEOGRAPH
+  {0xD06F, 0x82E8}, //6957 #CJK UNIFIED IDEOGRAPH
+  {0xD070, 0x8300}, //6958 #CJK UNIFIED IDEOGRAPH
+  {0xD071, 0x82D5}, //6959 #CJK UNIFIED IDEOGRAPH
+  {0xD072, 0x833A}, //6960 #CJK UNIFIED IDEOGRAPH
+  {0xD073, 0x82EB}, //6961 #CJK UNIFIED IDEOGRAPH
+  {0xD074, 0x82D6}, //6962 #CJK UNIFIED IDEOGRAPH
+  {0xD075, 0x82F4}, //6963 #CJK UNIFIED IDEOGRAPH
+  {0xD076, 0x82EC}, //6964 #CJK UNIFIED IDEOGRAPH
+  {0xD077, 0x82E1}, //6965 #CJK UNIFIED IDEOGRAPH
+  {0xD078, 0x82F2}, //6966 #CJK UNIFIED IDEOGRAPH
+  {0xD079, 0x82F5}, //6967 #CJK UNIFIED IDEOGRAPH
+  {0xD07A, 0x830C}, //6968 #CJK UNIFIED IDEOGRAPH
+  {0xD07B, 0x82FB}, //6969 #CJK UNIFIED IDEOGRAPH
+  {0xD07C, 0x82F6}, //6970 #CJK UNIFIED IDEOGRAPH
+  {0xD07D, 0x82F0}, //6971 #CJK UNIFIED IDEOGRAPH
+  {0xD07E, 0x82EA}, //6972 #CJK UNIFIED IDEOGRAPH
+  {0xD0A1, 0x82E4}, //6973 #CJK UNIFIED IDEOGRAPH
+  {0xD0A2, 0x82E0}, //6974 #CJK UNIFIED IDEOGRAPH
+  {0xD0A3, 0x82FA}, //6975 #CJK UNIFIED IDEOGRAPH
+  {0xD0A4, 0x82F3}, //6976 #CJK UNIFIED IDEOGRAPH
+  {0xD0A5, 0x82ED}, //6977 #CJK UNIFIED IDEOGRAPH
+  {0xD0A6, 0x8677}, //6978 #CJK UNIFIED IDEOGRAPH
+  {0xD0A7, 0x8674}, //6979 #CJK UNIFIED IDEOGRAPH
+  {0xD0A8, 0x867C}, //6980 #CJK UNIFIED IDEOGRAPH
+  {0xD0A9, 0x8673}, //6981 #CJK UNIFIED IDEOGRAPH
+  {0xD0AA, 0x8841}, //6982 #CJK UNIFIED IDEOGRAPH
+  {0xD0AB, 0x884E}, //6983 #CJK UNIFIED IDEOGRAPH
+  {0xD0AC, 0x8867}, //6984 #CJK UNIFIED IDEOGRAPH
+  {0xD0AD, 0x886A}, //6985 #CJK UNIFIED IDEOGRAPH
+  {0xD0AE, 0x8869}, //6986 #CJK UNIFIED IDEOGRAPH
+  {0xD0AF, 0x89D3}, //6987 #CJK UNIFIED IDEOGRAPH
+  {0xD0B0, 0x8A04}, //6988 #CJK UNIFIED IDEOGRAPH
+  {0xD0B1, 0x8A07}, //6989 #CJK UNIFIED IDEOGRAPH
+  {0xD0B2, 0x8D72}, //6990 #CJK UNIFIED IDEOGRAPH
+  {0xD0B3, 0x8FE3}, //6991 #CJK UNIFIED IDEOGRAPH
+  {0xD0B4, 0x8FE1}, //6992 #CJK UNIFIED IDEOGRAPH
+  {0xD0B5, 0x8FEE}, //6993 #CJK UNIFIED IDEOGRAPH
+  {0xD0B6, 0x8FE0}, //6994 #CJK UNIFIED IDEOGRAPH
+  {0xD0B7, 0x90F1}, //6995 #CJK UNIFIED IDEOGRAPH
+  {0xD0B8, 0x90BD}, //6996 #CJK UNIFIED IDEOGRAPH
+  {0xD0B9, 0x90BF}, //6997 #CJK UNIFIED IDEOGRAPH
+  {0xD0BA, 0x90D5}, //6998 #CJK UNIFIED IDEOGRAPH
+  {0xD0BB, 0x90C5}, //6999 #CJK UNIFIED IDEOGRAPH
+  {0xD0BC, 0x90BE}, //7000 #CJK UNIFIED IDEOGRAPH
+  {0xD0BD, 0x90C7}, //7001 #CJK UNIFIED IDEOGRAPH
+  {0xD0BE, 0x90CB}, //7002 #CJK UNIFIED IDEOGRAPH
+  {0xD0BF, 0x90C8}, //7003 #CJK UNIFIED IDEOGRAPH
+  {0xD0C0, 0x91D4}, //7004 #CJK UNIFIED IDEOGRAPH
+  {0xD0C1, 0x91D3}, //7005 #CJK UNIFIED IDEOGRAPH
+  {0xD0C2, 0x9654}, //7006 #CJK UNIFIED IDEOGRAPH
+  {0xD0C3, 0x964F}, //7007 #CJK UNIFIED IDEOGRAPH
+  {0xD0C4, 0x9651}, //7008 #CJK UNIFIED IDEOGRAPH
+  {0xD0C5, 0x9653}, //7009 #CJK UNIFIED IDEOGRAPH
+  {0xD0C6, 0x964A}, //7010 #CJK UNIFIED IDEOGRAPH
+  {0xD0C7, 0x964E}, //7011 #CJK UNIFIED IDEOGRAPH
+  {0xD0C8, 0x501E}, //7012 #CJK UNIFIED IDEOGRAPH
+  {0xD0C9, 0x5005}, //7013 #CJK UNIFIED IDEOGRAPH
+  {0xD0CA, 0x5007}, //7014 #CJK UNIFIED IDEOGRAPH
+  {0xD0CB, 0x5013}, //7015 #CJK UNIFIED IDEOGRAPH
+  {0xD0CC, 0x5022}, //7016 #CJK UNIFIED IDEOGRAPH
+  {0xD0CD, 0x5030}, //7017 #CJK UNIFIED IDEOGRAPH
+  {0xD0CE, 0x501B}, //7018 #CJK UNIFIED IDEOGRAPH
+  {0xD0CF, 0x4FF5}, //7019 #CJK UNIFIED IDEOGRAPH
+  {0xD0D0, 0x4FF4}, //7020 #CJK UNIFIED IDEOGRAPH
+  {0xD0D1, 0x5033}, //7021 #CJK UNIFIED IDEOGRAPH
+  {0xD0D2, 0x5037}, //7022 #CJK UNIFIED IDEOGRAPH
+  {0xD0D3, 0x502C}, //7023 #CJK UNIFIED IDEOGRAPH
+  {0xD0D4, 0x4FF6}, //7024 #CJK UNIFIED IDEOGRAPH
+  {0xD0D5, 0x4FF7}, //7025 #CJK UNIFIED IDEOGRAPH
+  {0xD0D6, 0x5017}, //7026 #CJK UNIFIED IDEOGRAPH
+  {0xD0D7, 0x501C}, //7027 #CJK UNIFIED IDEOGRAPH
+  {0xD0D8, 0x5020}, //7028 #CJK UNIFIED IDEOGRAPH
+  {0xD0D9, 0x5027}, //7029 #CJK UNIFIED IDEOGRAPH
+  {0xD0DA, 0x5035}, //7030 #CJK UNIFIED IDEOGRAPH
+  {0xD0DB, 0x502F}, //7031 #CJK UNIFIED IDEOGRAPH
+  {0xD0DC, 0x5031}, //7032 #CJK UNIFIED IDEOGRAPH
+  {0xD0DD, 0x500E}, //7033 #CJK UNIFIED IDEOGRAPH
+  {0xD0DE, 0x515A}, //7034 #CJK UNIFIED IDEOGRAPH
+  {0xD0DF, 0x5194}, //7035 #CJK UNIFIED IDEOGRAPH
+  {0xD0E0, 0x5193}, //7036 #CJK UNIFIED IDEOGRAPH
+  {0xD0E1, 0x51CA}, //7037 #CJK UNIFIED IDEOGRAPH
+  {0xD0E2, 0x51C4}, //7038 #CJK UNIFIED IDEOGRAPH
+  {0xD0E3, 0x51C5}, //7039 #CJK UNIFIED IDEOGRAPH
+  {0xD0E4, 0x51C8}, //7040 #CJK UNIFIED IDEOGRAPH
+  {0xD0E5, 0x51CE}, //7041 #CJK UNIFIED IDEOGRAPH
+  {0xD0E6, 0x5261}, //7042 #CJK UNIFIED IDEOGRAPH
+  {0xD0E7, 0x525A}, //7043 #CJK UNIFIED IDEOGRAPH
+  {0xD0E8, 0x5252}, //7044 #CJK UNIFIED IDEOGRAPH
+  {0xD0E9, 0x525E}, //7045 #CJK UNIFIED IDEOGRAPH
+  {0xD0EA, 0x525F}, //7046 #CJK UNIFIED IDEOGRAPH
+  {0xD0EB, 0x5255}, //7047 #CJK UNIFIED IDEOGRAPH
+  {0xD0EC, 0x5262}, //7048 #CJK UNIFIED IDEOGRAPH
+  {0xD0ED, 0x52CD}, //7049 #CJK UNIFIED IDEOGRAPH
+  {0xD0EE, 0x530E}, //7050 #CJK UNIFIED IDEOGRAPH
+  {0xD0EF, 0x539E}, //7051 #CJK UNIFIED IDEOGRAPH
+  {0xD0F0, 0x5526}, //7052 #CJK UNIFIED IDEOGRAPH
+  {0xD0F1, 0x54E2}, //7053 #CJK UNIFIED IDEOGRAPH
+  {0xD0F2, 0x5517}, //7054 #CJK UNIFIED IDEOGRAPH
+  {0xD0F3, 0x5512}, //7055 #CJK UNIFIED IDEOGRAPH
+  {0xD0F4, 0x54E7}, //7056 #CJK UNIFIED IDEOGRAPH
+  {0xD0F5, 0x54F3}, //7057 #CJK UNIFIED IDEOGRAPH
+  {0xD0F6, 0x54E4}, //7058 #CJK UNIFIED IDEOGRAPH
+  {0xD0F7, 0x551A}, //7059 #CJK UNIFIED IDEOGRAPH
+  {0xD0F8, 0x54FF}, //7060 #CJK UNIFIED IDEOGRAPH
+  {0xD0F9, 0x5504}, //7061 #CJK UNIFIED IDEOGRAPH
+  {0xD0FA, 0x5508}, //7062 #CJK UNIFIED IDEOGRAPH
+  {0xD0FB, 0x54EB}, //7063 #CJK UNIFIED IDEOGRAPH
+  {0xD0FC, 0x5511}, //7064 #CJK UNIFIED IDEOGRAPH
+  {0xD0FD, 0x5505}, //7065 #CJK UNIFIED IDEOGRAPH
+  {0xD0FE, 0x54F1}, //7066 #CJK UNIFIED IDEOGRAPH
+  {0xD140, 0x550A}, //7067 #CJK UNIFIED IDEOGRAPH
+  {0xD141, 0x54FB}, //7068 #CJK UNIFIED IDEOGRAPH
+  {0xD142, 0x54F7}, //7069 #CJK UNIFIED IDEOGRAPH
+  {0xD143, 0x54F8}, //7070 #CJK UNIFIED IDEOGRAPH
+  {0xD144, 0x54E0}, //7071 #CJK UNIFIED IDEOGRAPH
+  {0xD145, 0x550E}, //7072 #CJK UNIFIED IDEOGRAPH
+  {0xD146, 0x5503}, //7073 #CJK UNIFIED IDEOGRAPH
+  {0xD147, 0x550B}, //7074 #CJK UNIFIED IDEOGRAPH
+  {0xD148, 0x5701}, //7075 #CJK UNIFIED IDEOGRAPH
+  {0xD149, 0x5702}, //7076 #CJK UNIFIED IDEOGRAPH
+  {0xD14A, 0x57CC}, //7077 #CJK UNIFIED IDEOGRAPH
+  {0xD14B, 0x5832}, //7078 #CJK UNIFIED IDEOGRAPH
+  {0xD14C, 0x57D5}, //7079 #CJK UNIFIED IDEOGRAPH
+  {0xD14D, 0x57D2}, //7080 #CJK UNIFIED IDEOGRAPH
+  {0xD14E, 0x57BA}, //7081 #CJK UNIFIED IDEOGRAPH
+  {0xD14F, 0x57C6}, //7082 #CJK UNIFIED IDEOGRAPH
+  {0xD150, 0x57BD}, //7083 #CJK UNIFIED IDEOGRAPH
+  {0xD151, 0x57BC}, //7084 #CJK UNIFIED IDEOGRAPH
+  {0xD152, 0x57B8}, //7085 #CJK UNIFIED IDEOGRAPH
+  {0xD153, 0x57B6}, //7086 #CJK UNIFIED IDEOGRAPH
+  {0xD154, 0x57BF}, //7087 #CJK UNIFIED IDEOGRAPH
+  {0xD155, 0x57C7}, //7088 #CJK UNIFIED IDEOGRAPH
+  {0xD156, 0x57D0}, //7089 #CJK UNIFIED IDEOGRAPH
+  {0xD157, 0x57B9}, //7090 #CJK UNIFIED IDEOGRAPH
+  {0xD158, 0x57C1}, //7091 #CJK UNIFIED IDEOGRAPH
+  {0xD159, 0x590E}, //7092 #CJK UNIFIED IDEOGRAPH
+  {0xD15A, 0x594A}, //7093 #CJK UNIFIED IDEOGRAPH
+  {0xD15B, 0x5A19}, //7094 #CJK UNIFIED IDEOGRAPH
+  {0xD15C, 0x5A16}, //7095 #CJK UNIFIED IDEOGRAPH
+  {0xD15D, 0x5A2D}, //7096 #CJK UNIFIED IDEOGRAPH
+  {0xD15E, 0x5A2E}, //7097 #CJK UNIFIED IDEOGRAPH
+  {0xD15F, 0x5A15}, //7098 #CJK UNIFIED IDEOGRAPH
+  {0xD160, 0x5A0F}, //7099 #CJK UNIFIED IDEOGRAPH
+  {0xD161, 0x5A17}, //7100 #CJK UNIFIED IDEOGRAPH
+  {0xD162, 0x5A0A}, //7101 #CJK UNIFIED IDEOGRAPH
+  {0xD163, 0x5A1E}, //7102 #CJK UNIFIED IDEOGRAPH
+  {0xD164, 0x5A33}, //7103 #CJK UNIFIED IDEOGRAPH
+  {0xD165, 0x5B6C}, //7104 #CJK UNIFIED IDEOGRAPH
+  {0xD166, 0x5BA7}, //7105 #CJK UNIFIED IDEOGRAPH
+  {0xD167, 0x5BAD}, //7106 #CJK UNIFIED IDEOGRAPH
+  {0xD168, 0x5BAC}, //7107 #CJK UNIFIED IDEOGRAPH
+  {0xD169, 0x5C03}, //7108 #CJK UNIFIED IDEOGRAPH
+  {0xD16A, 0x5C56}, //7109 #CJK UNIFIED IDEOGRAPH
+  {0xD16B, 0x5C54}, //7110 #CJK UNIFIED IDEOGRAPH
+  {0xD16C, 0x5CEC}, //7111 #CJK UNIFIED IDEOGRAPH
+  {0xD16D, 0x5CFF}, //7112 #CJK UNIFIED IDEOGRAPH
+  {0xD16E, 0x5CEE}, //7113 #CJK UNIFIED IDEOGRAPH
+  {0xD16F, 0x5CF1}, //7114 #CJK UNIFIED IDEOGRAPH
+  {0xD170, 0x5CF7}, //7115 #CJK UNIFIED IDEOGRAPH
+  {0xD171, 0x5D00}, //7116 #CJK UNIFIED IDEOGRAPH
+  {0xD172, 0x5CF9}, //7117 #CJK UNIFIED IDEOGRAPH
+  {0xD173, 0x5E29}, //7118 #CJK UNIFIED IDEOGRAPH
+  {0xD174, 0x5E28}, //7119 #CJK UNIFIED IDEOGRAPH
+  {0xD175, 0x5EA8}, //7120 #CJK UNIFIED IDEOGRAPH
+  {0xD176, 0x5EAE}, //7121 #CJK UNIFIED IDEOGRAPH
+  {0xD177, 0x5EAA}, //7122 #CJK UNIFIED IDEOGRAPH
+  {0xD178, 0x5EAC}, //7123 #CJK UNIFIED IDEOGRAPH
+  {0xD179, 0x5F33}, //7124 #CJK UNIFIED IDEOGRAPH
+  {0xD17A, 0x5F30}, //7125 #CJK UNIFIED IDEOGRAPH
+  {0xD17B, 0x5F67}, //7126 #CJK UNIFIED IDEOGRAPH
+  {0xD17C, 0x605D}, //7127 #CJK UNIFIED IDEOGRAPH
+  {0xD17D, 0x605A}, //7128 #CJK UNIFIED IDEOGRAPH
+  {0xD17E, 0x6067}, //7129 #CJK UNIFIED IDEOGRAPH
+  {0xD1A1, 0x6041}, //7130 #CJK UNIFIED IDEOGRAPH
+  {0xD1A2, 0x60A2}, //7131 #CJK UNIFIED IDEOGRAPH
+  {0xD1A3, 0x6088}, //7132 #CJK UNIFIED IDEOGRAPH
+  {0xD1A4, 0x6080}, //7133 #CJK UNIFIED IDEOGRAPH
+  {0xD1A5, 0x6092}, //7134 #CJK UNIFIED IDEOGRAPH
+  {0xD1A6, 0x6081}, //7135 #CJK UNIFIED IDEOGRAPH
+  {0xD1A7, 0x609D}, //7136 #CJK UNIFIED IDEOGRAPH
+  {0xD1A8, 0x6083}, //7137 #CJK UNIFIED IDEOGRAPH
+  {0xD1A9, 0x6095}, //7138 #CJK UNIFIED IDEOGRAPH
+  {0xD1AA, 0x609B}, //7139 #CJK UNIFIED IDEOGRAPH
+  {0xD1AB, 0x6097}, //7140 #CJK UNIFIED IDEOGRAPH
+  {0xD1AC, 0x6087}, //7141 #CJK UNIFIED IDEOGRAPH
+  {0xD1AD, 0x609C}, //7142 #CJK UNIFIED IDEOGRAPH
+  {0xD1AE, 0x608E}, //7143 #CJK UNIFIED IDEOGRAPH
+  {0xD1AF, 0x6219}, //7144 #CJK UNIFIED IDEOGRAPH
+  {0xD1B0, 0x6246}, //7145 #CJK UNIFIED IDEOGRAPH
+  {0xD1B1, 0x62F2}, //7146 #CJK UNIFIED IDEOGRAPH
+  {0xD1B2, 0x6310}, //7147 #CJK UNIFIED IDEOGRAPH
+  {0xD1B3, 0x6356}, //7148 #CJK UNIFIED IDEOGRAPH
+  {0xD1B4, 0x632C}, //7149 #CJK UNIFIED IDEOGRAPH
+  {0xD1B5, 0x6344}, //7150 #CJK UNIFIED IDEOGRAPH
+  {0xD1B6, 0x6345}, //7151 #CJK UNIFIED IDEOGRAPH
+  {0xD1B7, 0x6336}, //7152 #CJK UNIFIED IDEOGRAPH
+  {0xD1B8, 0x6343}, //7153 #CJK UNIFIED IDEOGRAPH
+  {0xD1B9, 0x63E4}, //7154 #CJK UNIFIED IDEOGRAPH
+  {0xD1BA, 0x6339}, //7155 #CJK UNIFIED IDEOGRAPH
+  {0xD1BB, 0x634B}, //7156 #CJK UNIFIED IDEOGRAPH
+  {0xD1BC, 0x634A}, //7157 #CJK UNIFIED IDEOGRAPH
+  {0xD1BD, 0x633C}, //7158 #CJK UNIFIED IDEOGRAPH
+  {0xD1BE, 0x6329}, //7159 #CJK UNIFIED IDEOGRAPH
+  {0xD1BF, 0x6341}, //7160 #CJK UNIFIED IDEOGRAPH
+  {0xD1C0, 0x6334}, //7161 #CJK UNIFIED IDEOGRAPH
+  {0xD1C1, 0x6358}, //7162 #CJK UNIFIED IDEOGRAPH
+  {0xD1C2, 0x6354}, //7163 #CJK UNIFIED IDEOGRAPH
+  {0xD1C3, 0x6359}, //7164 #CJK UNIFIED IDEOGRAPH
+  {0xD1C4, 0x632D}, //7165 #CJK UNIFIED IDEOGRAPH
+  {0xD1C5, 0x6347}, //7166 #CJK UNIFIED IDEOGRAPH
+  {0xD1C6, 0x6333}, //7167 #CJK UNIFIED IDEOGRAPH
+  {0xD1C7, 0x635A}, //7168 #CJK UNIFIED IDEOGRAPH
+  {0xD1C8, 0x6351}, //7169 #CJK UNIFIED IDEOGRAPH
+  {0xD1C9, 0x6338}, //7170 #CJK UNIFIED IDEOGRAPH
+  {0xD1CA, 0x6357}, //7171 #CJK UNIFIED IDEOGRAPH
+  {0xD1CB, 0x6340}, //7172 #CJK UNIFIED IDEOGRAPH
+  {0xD1CC, 0x6348}, //7173 #CJK UNIFIED IDEOGRAPH
+  {0xD1CD, 0x654A}, //7174 #CJK UNIFIED IDEOGRAPH
+  {0xD1CE, 0x6546}, //7175 #CJK UNIFIED IDEOGRAPH
+  {0xD1CF, 0x65C6}, //7176 #CJK UNIFIED IDEOGRAPH
+  {0xD1D0, 0x65C3}, //7177 #CJK UNIFIED IDEOGRAPH
+  {0xD1D1, 0x65C4}, //7178 #CJK UNIFIED IDEOGRAPH
+  {0xD1D2, 0x65C2}, //7179 #CJK UNIFIED IDEOGRAPH
+  {0xD1D3, 0x664A}, //7180 #CJK UNIFIED IDEOGRAPH
+  {0xD1D4, 0x665F}, //7181 #CJK UNIFIED IDEOGRAPH
+  {0xD1D5, 0x6647}, //7182 #CJK UNIFIED IDEOGRAPH
+  {0xD1D6, 0x6651}, //7183 #CJK UNIFIED IDEOGRAPH
+  {0xD1D7, 0x6712}, //7184 #CJK UNIFIED IDEOGRAPH
+  {0xD1D8, 0x6713}, //7185 #CJK UNIFIED IDEOGRAPH
+  {0xD1D9, 0x681F}, //7186 #CJK UNIFIED IDEOGRAPH
+  {0xD1DA, 0x681A}, //7187 #CJK UNIFIED IDEOGRAPH
+  {0xD1DB, 0x6849}, //7188 #CJK UNIFIED IDEOGRAPH
+  {0xD1DC, 0x6832}, //7189 #CJK UNIFIED IDEOGRAPH
+  {0xD1DD, 0x6833}, //7190 #CJK UNIFIED IDEOGRAPH
+  {0xD1DE, 0x683B}, //7191 #CJK UNIFIED IDEOGRAPH
+  {0xD1DF, 0x684B}, //7192 #CJK UNIFIED IDEOGRAPH
+  {0xD1E0, 0x684F}, //7193 #CJK UNIFIED IDEOGRAPH
+  {0xD1E1, 0x6816}, //7194 #CJK UNIFIED IDEOGRAPH
+  {0xD1E2, 0x6831}, //7195 #CJK UNIFIED IDEOGRAPH
+  {0xD1E3, 0x681C}, //7196 #CJK UNIFIED IDEOGRAPH
+  {0xD1E4, 0x6835}, //7197 #CJK UNIFIED IDEOGRAPH
+  {0xD1E5, 0x682B}, //7198 #CJK UNIFIED IDEOGRAPH
+  {0xD1E6, 0x682D}, //7199 #CJK UNIFIED IDEOGRAPH
+  {0xD1E7, 0x682F}, //7200 #CJK UNIFIED IDEOGRAPH
+  {0xD1E8, 0x684E}, //7201 #CJK UNIFIED IDEOGRAPH
+  {0xD1E9, 0x6844}, //7202 #CJK UNIFIED IDEOGRAPH
+  {0xD1EA, 0x6834}, //7203 #CJK UNIFIED IDEOGRAPH
+  {0xD1EB, 0x681D}, //7204 #CJK UNIFIED IDEOGRAPH
+  {0xD1EC, 0x6812}, //7205 #CJK UNIFIED IDEOGRAPH
+  {0xD1ED, 0x6814}, //7206 #CJK UNIFIED IDEOGRAPH
+  {0xD1EE, 0x6826}, //7207 #CJK UNIFIED IDEOGRAPH
+  {0xD1EF, 0x6828}, //7208 #CJK UNIFIED IDEOGRAPH
+  {0xD1F0, 0x682E}, //7209 #CJK UNIFIED IDEOGRAPH
+  {0xD1F1, 0x684D}, //7210 #CJK UNIFIED IDEOGRAPH
+  {0xD1F2, 0x683A}, //7211 #CJK UNIFIED IDEOGRAPH
+  {0xD1F3, 0x6825}, //7212 #CJK UNIFIED IDEOGRAPH
+  {0xD1F4, 0x6820}, //7213 #CJK UNIFIED IDEOGRAPH
+  {0xD1F5, 0x6B2C}, //7214 #CJK UNIFIED IDEOGRAPH
+  {0xD1F6, 0x6B2F}, //7215 #CJK UNIFIED IDEOGRAPH
+  {0xD1F7, 0x6B2D}, //7216 #CJK UNIFIED IDEOGRAPH
+  {0xD1F8, 0x6B31}, //7217 #CJK UNIFIED IDEOGRAPH
+  {0xD1F9, 0x6B34}, //7218 #CJK UNIFIED IDEOGRAPH
+  {0xD1FA, 0x6B6D}, //7219 #CJK UNIFIED IDEOGRAPH
+  {0xD1FB, 0x8082}, //7220 #CJK UNIFIED IDEOGRAPH
+  {0xD1FC, 0x6B88}, //7221 #CJK UNIFIED IDEOGRAPH
+  {0xD1FD, 0x6BE6}, //7222 #CJK UNIFIED IDEOGRAPH
+  {0xD1FE, 0x6BE4}, //7223 #CJK UNIFIED IDEOGRAPH
+  {0xD240, 0x6BE8}, //7224 #CJK UNIFIED IDEOGRAPH
+  {0xD241, 0x6BE3}, //7225 #CJK UNIFIED IDEOGRAPH
+  {0xD242, 0x6BE2}, //7226 #CJK UNIFIED IDEOGRAPH
+  {0xD243, 0x6BE7}, //7227 #CJK UNIFIED IDEOGRAPH
+  {0xD244, 0x6C25}, //7228 #CJK UNIFIED IDEOGRAPH
+  {0xD245, 0x6D7A}, //7229 #CJK UNIFIED IDEOGRAPH
+  {0xD246, 0x6D63}, //7230 #CJK UNIFIED IDEOGRAPH
+  {0xD247, 0x6D64}, //7231 #CJK UNIFIED IDEOGRAPH
+  {0xD248, 0x6D76}, //7232 #CJK UNIFIED IDEOGRAPH
+  {0xD249, 0x6D0D}, //7233 #CJK UNIFIED IDEOGRAPH
+  {0xD24A, 0x6D61}, //7234 #CJK UNIFIED IDEOGRAPH
+  {0xD24B, 0x6D92}, //7235 #CJK UNIFIED IDEOGRAPH
+  {0xD24C, 0x6D58}, //7236 #CJK UNIFIED IDEOGRAPH
+  {0xD24D, 0x6D62}, //7237 #CJK UNIFIED IDEOGRAPH
+  {0xD24E, 0x6D6D}, //7238 #CJK UNIFIED IDEOGRAPH
+  {0xD24F, 0x6D6F}, //7239 #CJK UNIFIED IDEOGRAPH
+  {0xD250, 0x6D91}, //7240 #CJK UNIFIED IDEOGRAPH
+  {0xD251, 0x6D8D}, //7241 #CJK UNIFIED IDEOGRAPH
+  {0xD252, 0x6DEF}, //7242 #CJK UNIFIED IDEOGRAPH
+  {0xD253, 0x6D7F}, //7243 #CJK UNIFIED IDEOGRAPH
+  {0xD254, 0x6D86}, //7244 #CJK UNIFIED IDEOGRAPH
+  {0xD255, 0x6D5E}, //7245 #CJK UNIFIED IDEOGRAPH
+  {0xD256, 0x6D67}, //7246 #CJK UNIFIED IDEOGRAPH
+  {0xD257, 0x6D60}, //7247 #CJK UNIFIED IDEOGRAPH
+  {0xD258, 0x6D97}, //7248 #CJK UNIFIED IDEOGRAPH
+  {0xD259, 0x6D70}, //7249 #CJK UNIFIED IDEOGRAPH
+  {0xD25A, 0x6D7C}, //7250 #CJK UNIFIED IDEOGRAPH
+  {0xD25B, 0x6D5F}, //7251 #CJK UNIFIED IDEOGRAPH
+  {0xD25C, 0x6D82}, //7252 #CJK UNIFIED IDEOGRAPH
+  {0xD25D, 0x6D98}, //7253 #CJK UNIFIED IDEOGRAPH
+  {0xD25E, 0x6D2F}, //7254 #CJK UNIFIED IDEOGRAPH
+  {0xD25F, 0x6D68}, //7255 #CJK UNIFIED IDEOGRAPH
+  {0xD260, 0x6D8B}, //7256 #CJK UNIFIED IDEOGRAPH
+  {0xD261, 0x6D7E}, //7257 #CJK UNIFIED IDEOGRAPH
+  {0xD262, 0x6D80}, //7258 #CJK UNIFIED IDEOGRAPH
+  {0xD263, 0x6D84}, //7259 #CJK UNIFIED IDEOGRAPH
+  {0xD264, 0x6D16}, //7260 #CJK UNIFIED IDEOGRAPH
+  {0xD265, 0x6D83}, //7261 #CJK UNIFIED IDEOGRAPH
+  {0xD266, 0x6D7B}, //7262 #CJK UNIFIED IDEOGRAPH
+  {0xD267, 0x6D7D}, //7263 #CJK UNIFIED IDEOGRAPH
+  {0xD268, 0x6D75}, //7264 #CJK UNIFIED IDEOGRAPH
+  {0xD269, 0x6D90}, //7265 #CJK UNIFIED IDEOGRAPH
+  {0xD26A, 0x70DC}, //7266 #CJK UNIFIED IDEOGRAPH
+  {0xD26B, 0x70D3}, //7267 #CJK UNIFIED IDEOGRAPH
+  {0xD26C, 0x70D1}, //7268 #CJK UNIFIED IDEOGRAPH
+  {0xD26D, 0x70DD}, //7269 #CJK UNIFIED IDEOGRAPH
+  {0xD26E, 0x70CB}, //7270 #CJK UNIFIED IDEOGRAPH
+  {0xD26F, 0x7F39}, //7271 #CJK UNIFIED IDEOGRAPH
+  {0xD270, 0x70E2}, //7272 #CJK UNIFIED IDEOGRAPH
+  {0xD271, 0x70D7}, //7273 #CJK UNIFIED IDEOGRAPH
+  {0xD272, 0x70D2}, //7274 #CJK UNIFIED IDEOGRAPH
+  {0xD273, 0x70DE}, //7275 #CJK UNIFIED IDEOGRAPH
+  {0xD274, 0x70E0}, //7276 #CJK UNIFIED IDEOGRAPH
+  {0xD275, 0x70D4}, //7277 #CJK UNIFIED IDEOGRAPH
+  {0xD276, 0x70CD}, //7278 #CJK UNIFIED IDEOGRAPH
+  {0xD277, 0x70C5}, //7279 #CJK UNIFIED IDEOGRAPH
+  {0xD278, 0x70C6}, //7280 #CJK UNIFIED IDEOGRAPH
+  {0xD279, 0x70C7}, //7281 #CJK UNIFIED IDEOGRAPH
+  {0xD27A, 0x70DA}, //7282 #CJK UNIFIED IDEOGRAPH
+  {0xD27B, 0x70CE}, //7283 #CJK UNIFIED IDEOGRAPH
+  {0xD27C, 0x70E1}, //7284 #CJK UNIFIED IDEOGRAPH
+  {0xD27D, 0x7242}, //7285 #CJK UNIFIED IDEOGRAPH
+  {0xD27E, 0x7278}, //7286 #CJK UNIFIED IDEOGRAPH
+  {0xD2A1, 0x7277}, //7287 #CJK UNIFIED IDEOGRAPH
+  {0xD2A2, 0x7276}, //7288 #CJK UNIFIED IDEOGRAPH
+  {0xD2A3, 0x7300}, //7289 #CJK UNIFIED IDEOGRAPH
+  {0xD2A4, 0x72FA}, //7290 #CJK UNIFIED IDEOGRAPH
+  {0xD2A5, 0x72F4}, //7291 #CJK UNIFIED IDEOGRAPH
+  {0xD2A6, 0x72FE}, //7292 #CJK UNIFIED IDEOGRAPH
+  {0xD2A7, 0x72F6}, //7293 #CJK UNIFIED IDEOGRAPH
+  {0xD2A8, 0x72F3}, //7294 #CJK UNIFIED IDEOGRAPH
+  {0xD2A9, 0x72FB}, //7295 #CJK UNIFIED IDEOGRAPH
+  {0xD2AA, 0x7301}, //7296 #CJK UNIFIED IDEOGRAPH
+  {0xD2AB, 0x73D3}, //7297 #CJK UNIFIED IDEOGRAPH
+  {0xD2AC, 0x73D9}, //7298 #CJK UNIFIED IDEOGRAPH
+  {0xD2AD, 0x73E5}, //7299 #CJK UNIFIED IDEOGRAPH
+  {0xD2AE, 0x73D6}, //7300 #CJK UNIFIED IDEOGRAPH
+  {0xD2AF, 0x73BC}, //7301 #CJK UNIFIED IDEOGRAPH
+  {0xD2B0, 0x73E7}, //7302 #CJK UNIFIED IDEOGRAPH
+  {0xD2B1, 0x73E3}, //7303 #CJK UNIFIED IDEOGRAPH
+  {0xD2B2, 0x73E9}, //7304 #CJK UNIFIED IDEOGRAPH
+  {0xD2B3, 0x73DC}, //7305 #CJK UNIFIED IDEOGRAPH
+  {0xD2B4, 0x73D2}, //7306 #CJK UNIFIED IDEOGRAPH
+  {0xD2B5, 0x73DB}, //7307 #CJK UNIFIED IDEOGRAPH
+  {0xD2B6, 0x73D4}, //7308 #CJK UNIFIED IDEOGRAPH
+  {0xD2B7, 0x73DD}, //7309 #CJK UNIFIED IDEOGRAPH
+  {0xD2B8, 0x73DA}, //7310 #CJK UNIFIED IDEOGRAPH
+  {0xD2B9, 0x73D7}, //7311 #CJK UNIFIED IDEOGRAPH
+  {0xD2BA, 0x73D8}, //7312 #CJK UNIFIED IDEOGRAPH
+  {0xD2BB, 0x73E8}, //7313 #CJK UNIFIED IDEOGRAPH
+  {0xD2BC, 0x74DE}, //7314 #CJK UNIFIED IDEOGRAPH
+  {0xD2BD, 0x74DF}, //7315 #CJK UNIFIED IDEOGRAPH
+  {0xD2BE, 0x74F4}, //7316 #CJK UNIFIED IDEOGRAPH
+  {0xD2BF, 0x74F5}, //7317 #CJK UNIFIED IDEOGRAPH
+  {0xD2C0, 0x7521}, //7318 #CJK UNIFIED IDEOGRAPH
+  {0xD2C1, 0x755B}, //7319 #CJK UNIFIED IDEOGRAPH
+  {0xD2C2, 0x755F}, //7320 #CJK UNIFIED IDEOGRAPH
+  {0xD2C3, 0x75B0}, //7321 #CJK UNIFIED IDEOGRAPH
+  {0xD2C4, 0x75C1}, //7322 #CJK UNIFIED IDEOGRAPH
+  {0xD2C5, 0x75BB}, //7323 #CJK UNIFIED IDEOGRAPH
+  {0xD2C6, 0x75C4}, //7324 #CJK UNIFIED IDEOGRAPH
+  {0xD2C7, 0x75C0}, //7325 #CJK UNIFIED IDEOGRAPH
+  {0xD2C8, 0x75BF}, //7326 #CJK UNIFIED IDEOGRAPH
+  {0xD2C9, 0x75B6}, //7327 #CJK UNIFIED IDEOGRAPH
+  {0xD2CA, 0x75BA}, //7328 #CJK UNIFIED IDEOGRAPH
+  {0xD2CB, 0x768A}, //7329 #CJK UNIFIED IDEOGRAPH
+  {0xD2CC, 0x76C9}, //7330 #CJK UNIFIED IDEOGRAPH
+  {0xD2CD, 0x771D}, //7331 #CJK UNIFIED IDEOGRAPH
+  {0xD2CE, 0x771B}, //7332 #CJK UNIFIED IDEOGRAPH
+  {0xD2CF, 0x7710}, //7333 #CJK UNIFIED IDEOGRAPH
+  {0xD2D0, 0x7713}, //7334 #CJK UNIFIED IDEOGRAPH
+  {0xD2D1, 0x7712}, //7335 #CJK UNIFIED IDEOGRAPH
+  {0xD2D2, 0x7723}, //7336 #CJK UNIFIED IDEOGRAPH
+  {0xD2D3, 0x7711}, //7337 #CJK UNIFIED IDEOGRAPH
+  {0xD2D4, 0x7715}, //7338 #CJK UNIFIED IDEOGRAPH
+  {0xD2D5, 0x7719}, //7339 #CJK UNIFIED IDEOGRAPH
+  {0xD2D6, 0x771A}, //7340 #CJK UNIFIED IDEOGRAPH
+  {0xD2D7, 0x7722}, //7341 #CJK UNIFIED IDEOGRAPH
+  {0xD2D8, 0x7727}, //7342 #CJK UNIFIED IDEOGRAPH
+  {0xD2D9, 0x7823}, //7343 #CJK UNIFIED IDEOGRAPH
+  {0xD2DA, 0x782C}, //7344 #CJK UNIFIED IDEOGRAPH
+  {0xD2DB, 0x7822}, //7345 #CJK UNIFIED IDEOGRAPH
+  {0xD2DC, 0x7835}, //7346 #CJK UNIFIED IDEOGRAPH
+  {0xD2DD, 0x782F}, //7347 #CJK UNIFIED IDEOGRAPH
+  {0xD2DE, 0x7828}, //7348 #CJK UNIFIED IDEOGRAPH
+  {0xD2DF, 0x782E}, //7349 #CJK UNIFIED IDEOGRAPH
+  {0xD2E0, 0x782B}, //7350 #CJK UNIFIED IDEOGRAPH
+  {0xD2E1, 0x7821}, //7351 #CJK UNIFIED IDEOGRAPH
+  {0xD2E2, 0x7829}, //7352 #CJK UNIFIED IDEOGRAPH
+  {0xD2E3, 0x7833}, //7353 #CJK UNIFIED IDEOGRAPH
+  {0xD2E4, 0x782A}, //7354 #CJK UNIFIED IDEOGRAPH
+  {0xD2E5, 0x7831}, //7355 #CJK UNIFIED IDEOGRAPH
+  {0xD2E6, 0x7954}, //7356 #CJK UNIFIED IDEOGRAPH
+  {0xD2E7, 0x795B}, //7357 #CJK UNIFIED IDEOGRAPH
+  {0xD2E8, 0x794F}, //7358 #CJK UNIFIED IDEOGRAPH
+  {0xD2E9, 0x795C}, //7359 #CJK UNIFIED IDEOGRAPH
+  {0xD2EA, 0x7953}, //7360 #CJK UNIFIED IDEOGRAPH
+  {0xD2EB, 0x7952}, //7361 #CJK UNIFIED IDEOGRAPH
+  {0xD2EC, 0x7951}, //7362 #CJK UNIFIED IDEOGRAPH
+  {0xD2ED, 0x79EB}, //7363 #CJK UNIFIED IDEOGRAPH
+  {0xD2EE, 0x79EC}, //7364 #CJK UNIFIED IDEOGRAPH
+  {0xD2EF, 0x79E0}, //7365 #CJK UNIFIED IDEOGRAPH
+  {0xD2F0, 0x79EE}, //7366 #CJK UNIFIED IDEOGRAPH
+  {0xD2F1, 0x79ED}, //7367 #CJK UNIFIED IDEOGRAPH
+  {0xD2F2, 0x79EA}, //7368 #CJK UNIFIED IDEOGRAPH
+  {0xD2F3, 0x79DC}, //7369 #CJK UNIFIED IDEOGRAPH
+  {0xD2F4, 0x79DE}, //7370 #CJK UNIFIED IDEOGRAPH
+  {0xD2F5, 0x79DD}, //7371 #CJK UNIFIED IDEOGRAPH
+  {0xD2F6, 0x7A86}, //7372 #CJK UNIFIED IDEOGRAPH
+  {0xD2F7, 0x7A89}, //7373 #CJK UNIFIED IDEOGRAPH
+  {0xD2F8, 0x7A85}, //7374 #CJK UNIFIED IDEOGRAPH
+  {0xD2F9, 0x7A8B}, //7375 #CJK UNIFIED IDEOGRAPH
+  {0xD2FA, 0x7A8C}, //7376 #CJK UNIFIED IDEOGRAPH
+  {0xD2FB, 0x7A8A}, //7377 #CJK UNIFIED IDEOGRAPH
+  {0xD2FC, 0x7A87}, //7378 #CJK UNIFIED IDEOGRAPH
+  {0xD2FD, 0x7AD8}, //7379 #CJK UNIFIED IDEOGRAPH
+  {0xD2FE, 0x7B10}, //7380 #CJK UNIFIED IDEOGRAPH
+  {0xD340, 0x7B04}, //7381 #CJK UNIFIED IDEOGRAPH
+  {0xD341, 0x7B13}, //7382 #CJK UNIFIED IDEOGRAPH
+  {0xD342, 0x7B05}, //7383 #CJK UNIFIED IDEOGRAPH
+  {0xD343, 0x7B0F}, //7384 #CJK UNIFIED IDEOGRAPH
+  {0xD344, 0x7B08}, //7385 #CJK UNIFIED IDEOGRAPH
+  {0xD345, 0x7B0A}, //7386 #CJK UNIFIED IDEOGRAPH
+  {0xD346, 0x7B0E}, //7387 #CJK UNIFIED IDEOGRAPH
+  {0xD347, 0x7B09}, //7388 #CJK UNIFIED IDEOGRAPH
+  {0xD348, 0x7B12}, //7389 #CJK UNIFIED IDEOGRAPH
+  {0xD349, 0x7C84}, //7390 #CJK UNIFIED IDEOGRAPH
+  {0xD34A, 0x7C91}, //7391 #CJK UNIFIED IDEOGRAPH
+  {0xD34B, 0x7C8A}, //7392 #CJK UNIFIED IDEOGRAPH
+  {0xD34C, 0x7C8C}, //7393 #CJK UNIFIED IDEOGRAPH
+  {0xD34D, 0x7C88}, //7394 #CJK UNIFIED IDEOGRAPH
+  {0xD34E, 0x7C8D}, //7395 #CJK UNIFIED IDEOGRAPH
+  {0xD34F, 0x7C85}, //7396 #CJK UNIFIED IDEOGRAPH
+  {0xD350, 0x7D1E}, //7397 #CJK UNIFIED IDEOGRAPH
+  {0xD351, 0x7D1D}, //7398 #CJK UNIFIED IDEOGRAPH
+  {0xD352, 0x7D11}, //7399 #CJK UNIFIED IDEOGRAPH
+  {0xD353, 0x7D0E}, //7400 #CJK UNIFIED IDEOGRAPH
+  {0xD354, 0x7D18}, //7401 #CJK UNIFIED IDEOGRAPH
+  {0xD355, 0x7D16}, //7402 #CJK UNIFIED IDEOGRAPH
+  {0xD356, 0x7D13}, //7403 #CJK UNIFIED IDEOGRAPH
+  {0xD357, 0x7D1F}, //7404 #CJK UNIFIED IDEOGRAPH
+  {0xD358, 0x7D12}, //7405 #CJK UNIFIED IDEOGRAPH
+  {0xD359, 0x7D0F}, //7406 #CJK UNIFIED IDEOGRAPH
+  {0xD35A, 0x7D0C}, //7407 #CJK UNIFIED IDEOGRAPH
+  {0xD35B, 0x7F5C}, //7408 #CJK UNIFIED IDEOGRAPH
+  {0xD35C, 0x7F61}, //7409 #CJK UNIFIED IDEOGRAPH
+  {0xD35D, 0x7F5E}, //7410 #CJK UNIFIED IDEOGRAPH
+  {0xD35E, 0x7F60}, //7411 #CJK UNIFIED IDEOGRAPH
+  {0xD35F, 0x7F5D}, //7412 #CJK UNIFIED IDEOGRAPH
+  {0xD360, 0x7F5B}, //7413 #CJK UNIFIED IDEOGRAPH
+  {0xD361, 0x7F96}, //7414 #CJK UNIFIED IDEOGRAPH
+  {0xD362, 0x7F92}, //7415 #CJK UNIFIED IDEOGRAPH
+  {0xD363, 0x7FC3}, //7416 #CJK UNIFIED IDEOGRAPH
+  {0xD364, 0x7FC2}, //7417 #CJK UNIFIED IDEOGRAPH
+  {0xD365, 0x7FC0}, //7418 #CJK UNIFIED IDEOGRAPH
+  {0xD366, 0x8016}, //7419 #CJK UNIFIED IDEOGRAPH
+  {0xD367, 0x803E}, //7420 #CJK UNIFIED IDEOGRAPH
+  {0xD368, 0x8039}, //7421 #CJK UNIFIED IDEOGRAPH
+  {0xD369, 0x80FA}, //7422 #CJK UNIFIED IDEOGRAPH
+  {0xD36A, 0x80F2}, //7423 #CJK UNIFIED IDEOGRAPH
+  {0xD36B, 0x80F9}, //7424 #CJK UNIFIED IDEOGRAPH
+  {0xD36C, 0x80F5}, //7425 #CJK UNIFIED IDEOGRAPH
+  {0xD36D, 0x8101}, //7426 #CJK UNIFIED IDEOGRAPH
+  {0xD36E, 0x80FB}, //7427 #CJK UNIFIED IDEOGRAPH
+  {0xD36F, 0x8100}, //7428 #CJK UNIFIED IDEOGRAPH
+  {0xD370, 0x8201}, //7429 #CJK UNIFIED IDEOGRAPH
+  {0xD371, 0x822F}, //7430 #CJK UNIFIED IDEOGRAPH
+  {0xD372, 0x8225}, //7431 #CJK UNIFIED IDEOGRAPH
+  {0xD373, 0x8333}, //7432 #CJK UNIFIED IDEOGRAPH
+  {0xD374, 0x832D}, //7433 #CJK UNIFIED IDEOGRAPH
+  {0xD375, 0x8344}, //7434 #CJK UNIFIED IDEOGRAPH
+  {0xD376, 0x8319}, //7435 #CJK UNIFIED IDEOGRAPH
+  {0xD377, 0x8351}, //7436 #CJK UNIFIED IDEOGRAPH
+  {0xD378, 0x8325}, //7437 #CJK UNIFIED IDEOGRAPH
+  {0xD379, 0x8356}, //7438 #CJK UNIFIED IDEOGRAPH
+  {0xD37A, 0x833F}, //7439 #CJK UNIFIED IDEOGRAPH
+  {0xD37B, 0x8341}, //7440 #CJK UNIFIED IDEOGRAPH
+  {0xD37C, 0x8326}, //7441 #CJK UNIFIED IDEOGRAPH
+  {0xD37D, 0x831C}, //7442 #CJK UNIFIED IDEOGRAPH
+  {0xD37E, 0x8322}, //7443 #CJK UNIFIED IDEOGRAPH
+  {0xD3A1, 0x8342}, //7444 #CJK UNIFIED IDEOGRAPH
+  {0xD3A2, 0x834E}, //7445 #CJK UNIFIED IDEOGRAPH
+  {0xD3A3, 0x831B}, //7446 #CJK UNIFIED IDEOGRAPH
+  {0xD3A4, 0x832A}, //7447 #CJK UNIFIED IDEOGRAPH
+  {0xD3A5, 0x8308}, //7448 #CJK UNIFIED IDEOGRAPH
+  {0xD3A6, 0x833C}, //7449 #CJK UNIFIED IDEOGRAPH
+  {0xD3A7, 0x834D}, //7450 #CJK UNIFIED IDEOGRAPH
+  {0xD3A8, 0x8316}, //7451 #CJK UNIFIED IDEOGRAPH
+  {0xD3A9, 0x8324}, //7452 #CJK UNIFIED IDEOGRAPH
+  {0xD3AA, 0x8320}, //7453 #CJK UNIFIED IDEOGRAPH
+  {0xD3AB, 0x8337}, //7454 #CJK UNIFIED IDEOGRAPH
+  {0xD3AC, 0x832F}, //7455 #CJK UNIFIED IDEOGRAPH
+  {0xD3AD, 0x8329}, //7456 #CJK UNIFIED IDEOGRAPH
+  {0xD3AE, 0x8347}, //7457 #CJK UNIFIED IDEOGRAPH
+  {0xD3AF, 0x8345}, //7458 #CJK UNIFIED IDEOGRAPH
+  {0xD3B0, 0x834C}, //7459 #CJK UNIFIED IDEOGRAPH
+  {0xD3B1, 0x8353}, //7460 #CJK UNIFIED IDEOGRAPH
+  {0xD3B2, 0x831E}, //7461 #CJK UNIFIED IDEOGRAPH
+  {0xD3B3, 0x832C}, //7462 #CJK UNIFIED IDEOGRAPH
+  {0xD3B4, 0x834B}, //7463 #CJK UNIFIED IDEOGRAPH
+  {0xD3B5, 0x8327}, //7464 #CJK UNIFIED IDEOGRAPH
+  {0xD3B6, 0x8348}, //7465 #CJK UNIFIED IDEOGRAPH
+  {0xD3B7, 0x8653}, //7466 #CJK UNIFIED IDEOGRAPH
+  {0xD3B8, 0x8652}, //7467 #CJK UNIFIED IDEOGRAPH
+  {0xD3B9, 0x86A2}, //7468 #CJK UNIFIED IDEOGRAPH
+  {0xD3BA, 0x86A8}, //7469 #CJK UNIFIED IDEOGRAPH
+  {0xD3BB, 0x8696}, //7470 #CJK UNIFIED IDEOGRAPH
+  {0xD3BC, 0x868D}, //7471 #CJK UNIFIED IDEOGRAPH
+  {0xD3BD, 0x8691}, //7472 #CJK UNIFIED IDEOGRAPH
+  {0xD3BE, 0x869E}, //7473 #CJK UNIFIED IDEOGRAPH
+  {0xD3BF, 0x8687}, //7474 #CJK UNIFIED IDEOGRAPH
+  {0xD3C0, 0x8697}, //7475 #CJK UNIFIED IDEOGRAPH
+  {0xD3C1, 0x8686}, //7476 #CJK UNIFIED IDEOGRAPH
+  {0xD3C2, 0x868B}, //7477 #CJK UNIFIED IDEOGRAPH
+  {0xD3C3, 0x869A}, //7478 #CJK UNIFIED IDEOGRAPH
+  {0xD3C4, 0x8685}, //7479 #CJK UNIFIED IDEOGRAPH
+  {0xD3C5, 0x86A5}, //7480 #CJK UNIFIED IDEOGRAPH
+  {0xD3C6, 0x8699}, //7481 #CJK UNIFIED IDEOGRAPH
+  {0xD3C7, 0x86A1}, //7482 #CJK UNIFIED IDEOGRAPH
+  {0xD3C8, 0x86A7}, //7483 #CJK UNIFIED IDEOGRAPH
+  {0xD3C9, 0x8695}, //7484 #CJK UNIFIED IDEOGRAPH
+  {0xD3CA, 0x8698}, //7485 #CJK UNIFIED IDEOGRAPH
+  {0xD3CB, 0x868E}, //7486 #CJK UNIFIED IDEOGRAPH
+  {0xD3CC, 0x869D}, //7487 #CJK UNIFIED IDEOGRAPH
+  {0xD3CD, 0x8690}, //7488 #CJK UNIFIED IDEOGRAPH
+  {0xD3CE, 0x8694}, //7489 #CJK UNIFIED IDEOGRAPH
+  {0xD3CF, 0x8843}, //7490 #CJK UNIFIED IDEOGRAPH
+  {0xD3D0, 0x8844}, //7491 #CJK UNIFIED IDEOGRAPH
+  {0xD3D1, 0x886D}, //7492 #CJK UNIFIED IDEOGRAPH
+  {0xD3D2, 0x8875}, //7493 #CJK UNIFIED IDEOGRAPH
+  {0xD3D3, 0x8876}, //7494 #CJK UNIFIED IDEOGRAPH
+  {0xD3D4, 0x8872}, //7495 #CJK UNIFIED IDEOGRAPH
+  {0xD3D5, 0x8880}, //7496 #CJK UNIFIED IDEOGRAPH
+  {0xD3D6, 0x8871}, //7497 #CJK UNIFIED IDEOGRAPH
+  {0xD3D7, 0x887F}, //7498 #CJK UNIFIED IDEOGRAPH
+  {0xD3D8, 0x886F}, //7499 #CJK UNIFIED IDEOGRAPH
+  {0xD3D9, 0x8883}, //7500 #CJK UNIFIED IDEOGRAPH
+  {0xD3DA, 0x887E}, //7501 #CJK UNIFIED IDEOGRAPH
+  {0xD3DB, 0x8874}, //7502 #CJK UNIFIED IDEOGRAPH
+  {0xD3DC, 0x887C}, //7503 #CJK UNIFIED IDEOGRAPH
+  {0xD3DD, 0x8A12}, //7504 #CJK UNIFIED IDEOGRAPH
+  {0xD3DE, 0x8C47}, //7505 #CJK UNIFIED IDEOGRAPH
+  {0xD3DF, 0x8C57}, //7506 #CJK UNIFIED IDEOGRAPH
+  {0xD3E0, 0x8C7B}, //7507 #CJK UNIFIED IDEOGRAPH
+  {0xD3E1, 0x8CA4}, //7508 #CJK UNIFIED IDEOGRAPH
+  {0xD3E2, 0x8CA3}, //7509 #CJK UNIFIED IDEOGRAPH
+  {0xD3E3, 0x8D76}, //7510 #CJK UNIFIED IDEOGRAPH
+  {0xD3E4, 0x8D78}, //7511 #CJK UNIFIED IDEOGRAPH
+  {0xD3E5, 0x8DB5}, //7512 #CJK UNIFIED IDEOGRAPH
+  {0xD3E6, 0x8DB7}, //7513 #CJK UNIFIED IDEOGRAPH
+  {0xD3E7, 0x8DB6}, //7514 #CJK UNIFIED IDEOGRAPH
+  {0xD3E8, 0x8ED1}, //7515 #CJK UNIFIED IDEOGRAPH
+  {0xD3E9, 0x8ED3}, //7516 #CJK UNIFIED IDEOGRAPH
+  {0xD3EA, 0x8FFE}, //7517 #CJK UNIFIED IDEOGRAPH
+  {0xD3EB, 0x8FF5}, //7518 #CJK UNIFIED IDEOGRAPH
+  {0xD3EC, 0x9002}, //7519 #CJK UNIFIED IDEOGRAPH
+  {0xD3ED, 0x8FFF}, //7520 #CJK UNIFIED IDEOGRAPH
+  {0xD3EE, 0x8FFB}, //7521 #CJK UNIFIED IDEOGRAPH
+  {0xD3EF, 0x9004}, //7522 #CJK UNIFIED IDEOGRAPH
+  {0xD3F0, 0x8FFC}, //7523 #CJK UNIFIED IDEOGRAPH
+  {0xD3F1, 0x8FF6}, //7524 #CJK UNIFIED IDEOGRAPH
+  {0xD3F2, 0x90D6}, //7525 #CJK UNIFIED IDEOGRAPH
+  {0xD3F3, 0x90E0}, //7526 #CJK UNIFIED IDEOGRAPH
+  {0xD3F4, 0x90D9}, //7527 #CJK UNIFIED IDEOGRAPH
+  {0xD3F5, 0x90DA}, //7528 #CJK UNIFIED IDEOGRAPH
+  {0xD3F6, 0x90E3}, //7529 #CJK UNIFIED IDEOGRAPH
+  {0xD3F7, 0x90DF}, //7530 #CJK UNIFIED IDEOGRAPH
+  {0xD3F8, 0x90E5}, //7531 #CJK UNIFIED IDEOGRAPH
+  {0xD3F9, 0x90D8}, //7532 #CJK UNIFIED IDEOGRAPH
+  {0xD3FA, 0x90DB}, //7533 #CJK UNIFIED IDEOGRAPH
+  {0xD3FB, 0x90D7}, //7534 #CJK UNIFIED IDEOGRAPH
+  {0xD3FC, 0x90DC}, //7535 #CJK UNIFIED IDEOGRAPH
+  {0xD3FD, 0x90E4}, //7536 #CJK UNIFIED IDEOGRAPH
+  {0xD3FE, 0x9150}, //7537 #CJK UNIFIED IDEOGRAPH
+  {0xD440, 0x914E}, //7538 #CJK UNIFIED IDEOGRAPH
+  {0xD441, 0x914F}, //7539 #CJK UNIFIED IDEOGRAPH
+  {0xD442, 0x91D5}, //7540 #CJK UNIFIED IDEOGRAPH
+  {0xD443, 0x91E2}, //7541 #CJK UNIFIED IDEOGRAPH
+  {0xD444, 0x91DA}, //7542 #CJK UNIFIED IDEOGRAPH
+  {0xD445, 0x965C}, //7543 #CJK UNIFIED IDEOGRAPH
+  {0xD446, 0x965F}, //7544 #CJK UNIFIED IDEOGRAPH
+  {0xD447, 0x96BC}, //7545 #CJK UNIFIED IDEOGRAPH
+  {0xD448, 0x98E3}, //7546 #CJK UNIFIED IDEOGRAPH
+  {0xD449, 0x9ADF}, //7547 #CJK UNIFIED IDEOGRAPH
+  {0xD44A, 0x9B2F}, //7548 #CJK UNIFIED IDEOGRAPH
+  {0xD44B, 0x4E7F}, //7549 #CJK UNIFIED IDEOGRAPH
+  {0xD44C, 0x5070}, //7550 #CJK UNIFIED IDEOGRAPH
+  {0xD44D, 0x506A}, //7551 #CJK UNIFIED IDEOGRAPH
+  {0xD44E, 0x5061}, //7552 #CJK UNIFIED IDEOGRAPH
+  {0xD44F, 0x505E}, //7553 #CJK UNIFIED IDEOGRAPH
+  {0xD450, 0x5060}, //7554 #CJK UNIFIED IDEOGRAPH
+  {0xD451, 0x5053}, //7555 #CJK UNIFIED IDEOGRAPH
+  {0xD452, 0x504B}, //7556 #CJK UNIFIED IDEOGRAPH
+  {0xD453, 0x505D}, //7557 #CJK UNIFIED IDEOGRAPH
+  {0xD454, 0x5072}, //7558 #CJK UNIFIED IDEOGRAPH
+  {0xD455, 0x5048}, //7559 #CJK UNIFIED IDEOGRAPH
+  {0xD456, 0x504D}, //7560 #CJK UNIFIED IDEOGRAPH
+  {0xD457, 0x5041}, //7561 #CJK UNIFIED IDEOGRAPH
+  {0xD458, 0x505B}, //7562 #CJK UNIFIED IDEOGRAPH
+  {0xD459, 0x504A}, //7563 #CJK UNIFIED IDEOGRAPH
+  {0xD45A, 0x5062}, //7564 #CJK UNIFIED IDEOGRAPH
+  {0xD45B, 0x5015}, //7565 #CJK UNIFIED IDEOGRAPH
+  {0xD45C, 0x5045}, //7566 #CJK UNIFIED IDEOGRAPH
+  {0xD45D, 0x505F}, //7567 #CJK UNIFIED IDEOGRAPH
+  {0xD45E, 0x5069}, //7568 #CJK UNIFIED IDEOGRAPH
+  {0xD45F, 0x506B}, //7569 #CJK UNIFIED IDEOGRAPH
+  {0xD460, 0x5063}, //7570 #CJK UNIFIED IDEOGRAPH
+  {0xD461, 0x5064}, //7571 #CJK UNIFIED IDEOGRAPH
+  {0xD462, 0x5046}, //7572 #CJK UNIFIED IDEOGRAPH
+  {0xD463, 0x5040}, //7573 #CJK UNIFIED IDEOGRAPH
+  {0xD464, 0x506E}, //7574 #CJK UNIFIED IDEOGRAPH
+  {0xD465, 0x5073}, //7575 #CJK UNIFIED IDEOGRAPH
+  {0xD466, 0x5057}, //7576 #CJK UNIFIED IDEOGRAPH
+  {0xD467, 0x5051}, //7577 #CJK UNIFIED IDEOGRAPH
+  {0xD468, 0x51D0}, //7578 #CJK UNIFIED IDEOGRAPH
+  {0xD469, 0x526B}, //7579 #CJK UNIFIED IDEOGRAPH
+  {0xD46A, 0x526D}, //7580 #CJK UNIFIED IDEOGRAPH
+  {0xD46B, 0x526C}, //7581 #CJK UNIFIED IDEOGRAPH
+  {0xD46C, 0x526E}, //7582 #CJK UNIFIED IDEOGRAPH
+  {0xD46D, 0x52D6}, //7583 #CJK UNIFIED IDEOGRAPH
+  {0xD46E, 0x52D3}, //7584 #CJK UNIFIED IDEOGRAPH
+  {0xD46F, 0x532D}, //7585 #CJK UNIFIED IDEOGRAPH
+  {0xD470, 0x539C}, //7586 #CJK UNIFIED IDEOGRAPH
+  {0xD471, 0x5575}, //7587 #CJK UNIFIED IDEOGRAPH
+  {0xD472, 0x5576}, //7588 #CJK UNIFIED IDEOGRAPH
+  {0xD473, 0x553C}, //7589 #CJK UNIFIED IDEOGRAPH
+  {0xD474, 0x554D}, //7590 #CJK UNIFIED IDEOGRAPH
+  {0xD475, 0x5550}, //7591 #CJK UNIFIED IDEOGRAPH
+  {0xD476, 0x5534}, //7592 #CJK UNIFIED IDEOGRAPH
+  {0xD477, 0x552A}, //7593 #CJK UNIFIED IDEOGRAPH
+  {0xD478, 0x5551}, //7594 #CJK UNIFIED IDEOGRAPH
+  {0xD479, 0x5562}, //7595 #CJK UNIFIED IDEOGRAPH
+  {0xD47A, 0x5536}, //7596 #CJK UNIFIED IDEOGRAPH
+  {0xD47B, 0x5535}, //7597 #CJK UNIFIED IDEOGRAPH
+  {0xD47C, 0x5530}, //7598 #CJK UNIFIED IDEOGRAPH
+  {0xD47D, 0x5552}, //7599 #CJK UNIFIED IDEOGRAPH
+  {0xD47E, 0x5545}, //7600 #CJK UNIFIED IDEOGRAPH
+  {0xD4A1, 0x550C}, //7601 #CJK UNIFIED IDEOGRAPH
+  {0xD4A2, 0x5532}, //7602 #CJK UNIFIED IDEOGRAPH
+  {0xD4A3, 0x5565}, //7603 #CJK UNIFIED IDEOGRAPH
+  {0xD4A4, 0x554E}, //7604 #CJK UNIFIED IDEOGRAPH
+  {0xD4A5, 0x5539}, //7605 #CJK UNIFIED IDEOGRAPH
+  {0xD4A6, 0x5548}, //7606 #CJK UNIFIED IDEOGRAPH
+  {0xD4A7, 0x552D}, //7607 #CJK UNIFIED IDEOGRAPH
+  {0xD4A8, 0x553B}, //7608 #CJK UNIFIED IDEOGRAPH
+  {0xD4A9, 0x5540}, //7609 #CJK UNIFIED IDEOGRAPH
+  {0xD4AA, 0x554B}, //7610 #CJK UNIFIED IDEOGRAPH
+  {0xD4AB, 0x570A}, //7611 #CJK UNIFIED IDEOGRAPH
+  {0xD4AC, 0x5707}, //7612 #CJK UNIFIED IDEOGRAPH
+  {0xD4AD, 0x57FB}, //7613 #CJK UNIFIED IDEOGRAPH
+  {0xD4AE, 0x5814}, //7614 #CJK UNIFIED IDEOGRAPH
+  {0xD4AF, 0x57E2}, //7615 #CJK UNIFIED IDEOGRAPH
+  {0xD4B0, 0x57F6}, //7616 #CJK UNIFIED IDEOGRAPH
+  {0xD4B1, 0x57DC}, //7617 #CJK UNIFIED IDEOGRAPH
+  {0xD4B2, 0x57F4}, //7618 #CJK UNIFIED IDEOGRAPH
+  {0xD4B3, 0x5800}, //7619 #CJK UNIFIED IDEOGRAPH
+  {0xD4B4, 0x57ED}, //7620 #CJK UNIFIED IDEOGRAPH
+  {0xD4B5, 0x57FD}, //7621 #CJK UNIFIED IDEOGRAPH
+  {0xD4B6, 0x5808}, //7622 #CJK UNIFIED IDEOGRAPH
+  {0xD4B7, 0x57F8}, //7623 #CJK UNIFIED IDEOGRAPH
+  {0xD4B8, 0x580B}, //7624 #CJK UNIFIED IDEOGRAPH
+  {0xD4B9, 0x57F3}, //7625 #CJK UNIFIED IDEOGRAPH
+  {0xD4BA, 0x57CF}, //7626 #CJK UNIFIED IDEOGRAPH
+  {0xD4BB, 0x5807}, //7627 #CJK UNIFIED IDEOGRAPH
+  {0xD4BC, 0x57EE}, //7628 #CJK UNIFIED IDEOGRAPH
+  {0xD4BD, 0x57E3}, //7629 #CJK UNIFIED IDEOGRAPH
+  {0xD4BE, 0x57F2}, //7630 #CJK UNIFIED IDEOGRAPH
+  {0xD4BF, 0x57E5}, //7631 #CJK UNIFIED IDEOGRAPH
+  {0xD4C0, 0x57EC}, //7632 #CJK UNIFIED IDEOGRAPH
+  {0xD4C1, 0x57E1}, //7633 #CJK UNIFIED IDEOGRAPH
+  {0xD4C2, 0x580E}, //7634 #CJK UNIFIED IDEOGRAPH
+  {0xD4C3, 0x57FC}, //7635 #CJK UNIFIED IDEOGRAPH
+  {0xD4C4, 0x5810}, //7636 #CJK UNIFIED IDEOGRAPH
+  {0xD4C5, 0x57E7}, //7637 #CJK UNIFIED IDEOGRAPH
+  {0xD4C6, 0x5801}, //7638 #CJK UNIFIED IDEOGRAPH
+  {0xD4C7, 0x580C}, //7639 #CJK UNIFIED IDEOGRAPH
+  {0xD4C8, 0x57F1}, //7640 #CJK UNIFIED IDEOGRAPH
+  {0xD4C9, 0x57E9}, //7641 #CJK UNIFIED IDEOGRAPH
+  {0xD4CA, 0x57F0}, //7642 #CJK UNIFIED IDEOGRAPH
+  {0xD4CB, 0x580D}, //7643 #CJK UNIFIED IDEOGRAPH
+  {0xD4CC, 0x5804}, //7644 #CJK UNIFIED IDEOGRAPH
+  {0xD4CD, 0x595C}, //7645 #CJK UNIFIED IDEOGRAPH
+  {0xD4CE, 0x5A60}, //7646 #CJK UNIFIED IDEOGRAPH
+  {0xD4CF, 0x5A58}, //7647 #CJK UNIFIED IDEOGRAPH
+  {0xD4D0, 0x5A55}, //7648 #CJK UNIFIED IDEOGRAPH
+  {0xD4D1, 0x5A67}, //7649 #CJK UNIFIED IDEOGRAPH
+  {0xD4D2, 0x5A5E}, //7650 #CJK UNIFIED IDEOGRAPH
+  {0xD4D3, 0x5A38}, //7651 #CJK UNIFIED IDEOGRAPH
+  {0xD4D4, 0x5A35}, //7652 #CJK UNIFIED IDEOGRAPH
+  {0xD4D5, 0x5A6D}, //7653 #CJK UNIFIED IDEOGRAPH
+  {0xD4D6, 0x5A50}, //7654 #CJK UNIFIED IDEOGRAPH
+  {0xD4D7, 0x5A5F}, //7655 #CJK UNIFIED IDEOGRAPH
+  {0xD4D8, 0x5A65}, //7656 #CJK UNIFIED IDEOGRAPH
+  {0xD4D9, 0x5A6C}, //7657 #CJK UNIFIED IDEOGRAPH
+  {0xD4DA, 0x5A53}, //7658 #CJK UNIFIED IDEOGRAPH
+  {0xD4DB, 0x5A64}, //7659 #CJK UNIFIED IDEOGRAPH
+  {0xD4DC, 0x5A57}, //7660 #CJK UNIFIED IDEOGRAPH
+  {0xD4DD, 0x5A43}, //7661 #CJK UNIFIED IDEOGRAPH
+  {0xD4DE, 0x5A5D}, //7662 #CJK UNIFIED IDEOGRAPH
+  {0xD4DF, 0x5A52}, //7663 #CJK UNIFIED IDEOGRAPH
+  {0xD4E0, 0x5A44}, //7664 #CJK UNIFIED IDEOGRAPH
+  {0xD4E1, 0x5A5B}, //7665 #CJK UNIFIED IDEOGRAPH
+  {0xD4E2, 0x5A48}, //7666 #CJK UNIFIED IDEOGRAPH
+  {0xD4E3, 0x5A8E}, //7667 #CJK UNIFIED IDEOGRAPH
+  {0xD4E4, 0x5A3E}, //7668 #CJK UNIFIED IDEOGRAPH
+  {0xD4E5, 0x5A4D}, //7669 #CJK UNIFIED IDEOGRAPH
+  {0xD4E6, 0x5A39}, //7670 #CJK UNIFIED IDEOGRAPH
+  {0xD4E7, 0x5A4C}, //7671 #CJK UNIFIED IDEOGRAPH
+  {0xD4E8, 0x5A70}, //7672 #CJK UNIFIED IDEOGRAPH
+  {0xD4E9, 0x5A69}, //7673 #CJK UNIFIED IDEOGRAPH
+  {0xD4EA, 0x5A47}, //7674 #CJK UNIFIED IDEOGRAPH
+  {0xD4EB, 0x5A51}, //7675 #CJK UNIFIED IDEOGRAPH
+  {0xD4EC, 0x5A56}, //7676 #CJK UNIFIED IDEOGRAPH
+  {0xD4ED, 0x5A42}, //7677 #CJK UNIFIED IDEOGRAPH
+  {0xD4EE, 0x5A5C}, //7678 #CJK UNIFIED IDEOGRAPH
+  {0xD4EF, 0x5B72}, //7679 #CJK UNIFIED IDEOGRAPH
+  {0xD4F0, 0x5B6E}, //7680 #CJK UNIFIED IDEOGRAPH
+  {0xD4F1, 0x5BC1}, //7681 #CJK UNIFIED IDEOGRAPH
+  {0xD4F2, 0x5BC0}, //7682 #CJK UNIFIED IDEOGRAPH
+  {0xD4F3, 0x5C59}, //7683 #CJK UNIFIED IDEOGRAPH
+  {0xD4F4, 0x5D1E}, //7684 #CJK UNIFIED IDEOGRAPH
+  {0xD4F5, 0x5D0B}, //7685 #CJK UNIFIED IDEOGRAPH
+  {0xD4F6, 0x5D1D}, //7686 #CJK UNIFIED IDEOGRAPH
+  {0xD4F7, 0x5D1A}, //7687 #CJK UNIFIED IDEOGRAPH
+  {0xD4F8, 0x5D20}, //7688 #CJK UNIFIED IDEOGRAPH
+  {0xD4F9, 0x5D0C}, //7689 #CJK UNIFIED IDEOGRAPH
+  {0xD4FA, 0x5D28}, //7690 #CJK UNIFIED IDEOGRAPH
+  {0xD4FB, 0x5D0D}, //7691 #CJK UNIFIED IDEOGRAPH
+  {0xD4FC, 0x5D26}, //7692 #CJK UNIFIED IDEOGRAPH
+  {0xD4FD, 0x5D25}, //7693 #CJK UNIFIED IDEOGRAPH
+  {0xD4FE, 0x5D0F}, //7694 #CJK UNIFIED IDEOGRAPH
+  {0xD540, 0x5D30}, //7695 #CJK UNIFIED IDEOGRAPH
+  {0xD541, 0x5D12}, //7696 #CJK UNIFIED IDEOGRAPH
+  {0xD542, 0x5D23}, //7697 #CJK UNIFIED IDEOGRAPH
+  {0xD543, 0x5D1F}, //7698 #CJK UNIFIED IDEOGRAPH
+  {0xD544, 0x5D2E}, //7699 #CJK UNIFIED IDEOGRAPH
+  {0xD545, 0x5E3E}, //7700 #CJK UNIFIED IDEOGRAPH
+  {0xD546, 0x5E34}, //7701 #CJK UNIFIED IDEOGRAPH
+  {0xD547, 0x5EB1}, //7702 #CJK UNIFIED IDEOGRAPH
+  {0xD548, 0x5EB4}, //7703 #CJK UNIFIED IDEOGRAPH
+  {0xD549, 0x5EB9}, //7704 #CJK UNIFIED IDEOGRAPH
+  {0xD54A, 0x5EB2}, //7705 #CJK UNIFIED IDEOGRAPH
+  {0xD54B, 0x5EB3}, //7706 #CJK UNIFIED IDEOGRAPH
+  {0xD54C, 0x5F36}, //7707 #CJK UNIFIED IDEOGRAPH
+  {0xD54D, 0x5F38}, //7708 #CJK UNIFIED IDEOGRAPH
+  {0xD54E, 0x5F9B}, //7709 #CJK UNIFIED IDEOGRAPH
+  {0xD54F, 0x5F96}, //7710 #CJK UNIFIED IDEOGRAPH
+  {0xD550, 0x5F9F}, //7711 #CJK UNIFIED IDEOGRAPH
+  {0xD551, 0x608A}, //7712 #CJK UNIFIED IDEOGRAPH
+  {0xD552, 0x6090}, //7713 #CJK UNIFIED IDEOGRAPH
+  {0xD553, 0x6086}, //7714 #CJK UNIFIED IDEOGRAPH
+  {0xD554, 0x60BE}, //7715 #CJK UNIFIED IDEOGRAPH
+  {0xD555, 0x60B0}, //7716 #CJK UNIFIED IDEOGRAPH
+  {0xD556, 0x60BA}, //7717 #CJK UNIFIED IDEOGRAPH
+  {0xD557, 0x60D3}, //7718 #CJK UNIFIED IDEOGRAPH
+  {0xD558, 0x60D4}, //7719 #CJK UNIFIED IDEOGRAPH
+  {0xD559, 0x60CF}, //7720 #CJK UNIFIED IDEOGRAPH
+  {0xD55A, 0x60E4}, //7721 #CJK UNIFIED IDEOGRAPH
+  {0xD55B, 0x60D9}, //7722 #CJK UNIFIED IDEOGRAPH
+  {0xD55C, 0x60DD}, //7723 #CJK UNIFIED IDEOGRAPH
+  {0xD55D, 0x60C8}, //7724 #CJK UNIFIED IDEOGRAPH
+  {0xD55E, 0x60B1}, //7725 #CJK UNIFIED IDEOGRAPH
+  {0xD55F, 0x60DB}, //7726 #CJK UNIFIED IDEOGRAPH
+  {0xD560, 0x60B7}, //7727 #CJK UNIFIED IDEOGRAPH
+  {0xD561, 0x60CA}, //7728 #CJK UNIFIED IDEOGRAPH
+  {0xD562, 0x60BF}, //7729 #CJK UNIFIED IDEOGRAPH
+  {0xD563, 0x60C3}, //7730 #CJK UNIFIED IDEOGRAPH
+  {0xD564, 0x60CD}, //7731 #CJK UNIFIED IDEOGRAPH
+  {0xD565, 0x60C0}, //7732 #CJK UNIFIED IDEOGRAPH
+  {0xD566, 0x6332}, //7733 #CJK UNIFIED IDEOGRAPH
+  {0xD567, 0x6365}, //7734 #CJK UNIFIED IDEOGRAPH
+  {0xD568, 0x638A}, //7735 #CJK UNIFIED IDEOGRAPH
+  {0xD569, 0x6382}, //7736 #CJK UNIFIED IDEOGRAPH
+  {0xD56A, 0x637D}, //7737 #CJK UNIFIED IDEOGRAPH
+  {0xD56B, 0x63BD}, //7738 #CJK UNIFIED IDEOGRAPH
+  {0xD56C, 0x639E}, //7739 #CJK UNIFIED IDEOGRAPH
+  {0xD56D, 0x63AD}, //7740 #CJK UNIFIED IDEOGRAPH
+  {0xD56E, 0x639D}, //7741 #CJK UNIFIED IDEOGRAPH
+  {0xD56F, 0x6397}, //7742 #CJK UNIFIED IDEOGRAPH
+  {0xD570, 0x63AB}, //7743 #CJK UNIFIED IDEOGRAPH
+  {0xD571, 0x638E}, //7744 #CJK UNIFIED IDEOGRAPH
+  {0xD572, 0x636F}, //7745 #CJK UNIFIED IDEOGRAPH
+  {0xD573, 0x6387}, //7746 #CJK UNIFIED IDEOGRAPH
+  {0xD574, 0x6390}, //7747 #CJK UNIFIED IDEOGRAPH
+  {0xD575, 0x636E}, //7748 #CJK UNIFIED IDEOGRAPH
+  {0xD576, 0x63AF}, //7749 #CJK UNIFIED IDEOGRAPH
+  {0xD577, 0x6375}, //7750 #CJK UNIFIED IDEOGRAPH
+  {0xD578, 0x639C}, //7751 #CJK UNIFIED IDEOGRAPH
+  {0xD579, 0x636D}, //7752 #CJK UNIFIED IDEOGRAPH
+  {0xD57A, 0x63AE}, //7753 #CJK UNIFIED IDEOGRAPH
+  {0xD57B, 0x637C}, //7754 #CJK UNIFIED IDEOGRAPH
+  {0xD57C, 0x63A4}, //7755 #CJK UNIFIED IDEOGRAPH
+  {0xD57D, 0x633B}, //7756 #CJK UNIFIED IDEOGRAPH
+  {0xD57E, 0x639F}, //7757 #CJK UNIFIED IDEOGRAPH
+  {0xD5A1, 0x6378}, //7758 #CJK UNIFIED IDEOGRAPH
+  {0xD5A2, 0x6385}, //7759 #CJK UNIFIED IDEOGRAPH
+  {0xD5A3, 0x6381}, //7760 #CJK UNIFIED IDEOGRAPH
+  {0xD5A4, 0x6391}, //7761 #CJK UNIFIED IDEOGRAPH
+  {0xD5A5, 0x638D}, //7762 #CJK UNIFIED IDEOGRAPH
+  {0xD5A6, 0x6370}, //7763 #CJK UNIFIED IDEOGRAPH
+  {0xD5A7, 0x6553}, //7764 #CJK UNIFIED IDEOGRAPH
+  {0xD5A8, 0x65CD}, //7765 #CJK UNIFIED IDEOGRAPH
+  {0xD5A9, 0x6665}, //7766 #CJK UNIFIED IDEOGRAPH
+  {0xD5AA, 0x6661}, //7767 #CJK UNIFIED IDEOGRAPH
+  {0xD5AB, 0x665B}, //7768 #CJK UNIFIED IDEOGRAPH
+  {0xD5AC, 0x6659}, //7769 #CJK UNIFIED IDEOGRAPH
+  {0xD5AD, 0x665C}, //7770 #CJK UNIFIED IDEOGRAPH
+  {0xD5AE, 0x6662}, //7771 #CJK UNIFIED IDEOGRAPH
+  {0xD5AF, 0x6718}, //7772 #CJK UNIFIED IDEOGRAPH
+  {0xD5B0, 0x6879}, //7773 #CJK UNIFIED IDEOGRAPH
+  {0xD5B1, 0x6887}, //7774 #CJK UNIFIED IDEOGRAPH
+  {0xD5B2, 0x6890}, //7775 #CJK UNIFIED IDEOGRAPH
+  {0xD5B3, 0x689C}, //7776 #CJK UNIFIED IDEOGRAPH
+  {0xD5B4, 0x686D}, //7777 #CJK UNIFIED IDEOGRAPH
+  {0xD5B5, 0x686E}, //7778 #CJK UNIFIED IDEOGRAPH
+  {0xD5B6, 0x68AE}, //7779 #CJK UNIFIED IDEOGRAPH
+  {0xD5B7, 0x68AB}, //7780 #CJK UNIFIED IDEOGRAPH
+  {0xD5B8, 0x6956}, //7781 #CJK UNIFIED IDEOGRAPH
+  {0xD5B9, 0x686F}, //7782 #CJK UNIFIED IDEOGRAPH
+  {0xD5BA, 0x68A3}, //7783 #CJK UNIFIED IDEOGRAPH
+  {0xD5BB, 0x68AC}, //7784 #CJK UNIFIED IDEOGRAPH
+  {0xD5BC, 0x68A9}, //7785 #CJK UNIFIED IDEOGRAPH
+  {0xD5BD, 0x6875}, //7786 #CJK UNIFIED IDEOGRAPH
+  {0xD5BE, 0x6874}, //7787 #CJK UNIFIED IDEOGRAPH
+  {0xD5BF, 0x68B2}, //7788 #CJK UNIFIED IDEOGRAPH
+  {0xD5C0, 0x688F}, //7789 #CJK UNIFIED IDEOGRAPH
+  {0xD5C1, 0x6877}, //7790 #CJK UNIFIED IDEOGRAPH
+  {0xD5C2, 0x6892}, //7791 #CJK UNIFIED IDEOGRAPH
+  {0xD5C3, 0x687C}, //7792 #CJK UNIFIED IDEOGRAPH
+  {0xD5C4, 0x686B}, //7793 #CJK UNIFIED IDEOGRAPH
+  {0xD5C5, 0x6872}, //7794 #CJK UNIFIED IDEOGRAPH
+  {0xD5C6, 0x68AA}, //7795 #CJK UNIFIED IDEOGRAPH
+  {0xD5C7, 0x6880}, //7796 #CJK UNIFIED IDEOGRAPH
+  {0xD5C8, 0x6871}, //7797 #CJK UNIFIED IDEOGRAPH
+  {0xD5C9, 0x687E}, //7798 #CJK UNIFIED IDEOGRAPH
+  {0xD5CA, 0x689B}, //7799 #CJK UNIFIED IDEOGRAPH
+  {0xD5CB, 0x6896}, //7800 #CJK UNIFIED IDEOGRAPH
+  {0xD5CC, 0x688B}, //7801 #CJK UNIFIED IDEOGRAPH
+  {0xD5CD, 0x68A0}, //7802 #CJK UNIFIED IDEOGRAPH
+  {0xD5CE, 0x6889}, //7803 #CJK UNIFIED IDEOGRAPH
+  {0xD5CF, 0x68A4}, //7804 #CJK UNIFIED IDEOGRAPH
+  {0xD5D0, 0x6878}, //7805 #CJK UNIFIED IDEOGRAPH
+  {0xD5D1, 0x687B}, //7806 #CJK UNIFIED IDEOGRAPH
+  {0xD5D2, 0x6891}, //7807 #CJK UNIFIED IDEOGRAPH
+  {0xD5D3, 0x688C}, //7808 #CJK UNIFIED IDEOGRAPH
+  {0xD5D4, 0x688A}, //7809 #CJK UNIFIED IDEOGRAPH
+  {0xD5D5, 0x687D}, //7810 #CJK UNIFIED IDEOGRAPH
+  {0xD5D6, 0x6B36}, //7811 #CJK UNIFIED IDEOGRAPH
+  {0xD5D7, 0x6B33}, //7812 #CJK UNIFIED IDEOGRAPH
+  {0xD5D8, 0x6B37}, //7813 #CJK UNIFIED IDEOGRAPH
+  {0xD5D9, 0x6B38}, //7814 #CJK UNIFIED IDEOGRAPH
+  {0xD5DA, 0x6B91}, //7815 #CJK UNIFIED IDEOGRAPH
+  {0xD5DB, 0x6B8F}, //7816 #CJK UNIFIED IDEOGRAPH
+  {0xD5DC, 0x6B8D}, //7817 #CJK UNIFIED IDEOGRAPH
+  {0xD5DD, 0x6B8E}, //7818 #CJK UNIFIED IDEOGRAPH
+  {0xD5DE, 0x6B8C}, //7819 #CJK UNIFIED IDEOGRAPH
+  {0xD5DF, 0x6C2A}, //7820 #CJK UNIFIED IDEOGRAPH
+  {0xD5E0, 0x6DC0}, //7821 #CJK UNIFIED IDEOGRAPH
+  {0xD5E1, 0x6DAB}, //7822 #CJK UNIFIED IDEOGRAPH
+  {0xD5E2, 0x6DB4}, //7823 #CJK UNIFIED IDEOGRAPH
+  {0xD5E3, 0x6DB3}, //7824 #CJK UNIFIED IDEOGRAPH
+  {0xD5E4, 0x6E74}, //7825 #CJK UNIFIED IDEOGRAPH
+  {0xD5E5, 0x6DAC}, //7826 #CJK UNIFIED IDEOGRAPH
+  {0xD5E6, 0x6DE9}, //7827 #CJK UNIFIED IDEOGRAPH
+  {0xD5E7, 0x6DE2}, //7828 #CJK UNIFIED IDEOGRAPH
+  {0xD5E8, 0x6DB7}, //7829 #CJK UNIFIED IDEOGRAPH
+  {0xD5E9, 0x6DF6}, //7830 #CJK UNIFIED IDEOGRAPH
+  {0xD5EA, 0x6DD4}, //7831 #CJK UNIFIED IDEOGRAPH
+  {0xD5EB, 0x6E00}, //7832 #CJK UNIFIED IDEOGRAPH
+  {0xD5EC, 0x6DC8}, //7833 #CJK UNIFIED IDEOGRAPH
+  {0xD5ED, 0x6DE0}, //7834 #CJK UNIFIED IDEOGRAPH
+  {0xD5EE, 0x6DDF}, //7835 #CJK UNIFIED IDEOGRAPH
+  {0xD5EF, 0x6DD6}, //7836 #CJK UNIFIED IDEOGRAPH
+  {0xD5F0, 0x6DBE}, //7837 #CJK UNIFIED IDEOGRAPH
+  {0xD5F1, 0x6DE5}, //7838 #CJK UNIFIED IDEOGRAPH
+  {0xD5F2, 0x6DDC}, //7839 #CJK UNIFIED IDEOGRAPH
+  {0xD5F3, 0x6DDD}, //7840 #CJK UNIFIED IDEOGRAPH
+  {0xD5F4, 0x6DDB}, //7841 #CJK UNIFIED IDEOGRAPH
+  {0xD5F5, 0x6DF4}, //7842 #CJK UNIFIED IDEOGRAPH
+  {0xD5F6, 0x6DCA}, //7843 #CJK UNIFIED IDEOGRAPH
+  {0xD5F7, 0x6DBD}, //7844 #CJK UNIFIED IDEOGRAPH
+  {0xD5F8, 0x6DED}, //7845 #CJK UNIFIED IDEOGRAPH
+  {0xD5F9, 0x6DF0}, //7846 #CJK UNIFIED IDEOGRAPH
+  {0xD5FA, 0x6DBA}, //7847 #CJK UNIFIED IDEOGRAPH
+  {0xD5FB, 0x6DD5}, //7848 #CJK UNIFIED IDEOGRAPH
+  {0xD5FC, 0x6DC2}, //7849 #CJK UNIFIED IDEOGRAPH
+  {0xD5FD, 0x6DCF}, //7850 #CJK UNIFIED IDEOGRAPH
+  {0xD5FE, 0x6DC9}, //7851 #CJK UNIFIED IDEOGRAPH
+  {0xD640, 0x6DD0}, //7852 #CJK UNIFIED IDEOGRAPH
+  {0xD641, 0x6DF2}, //7853 #CJK UNIFIED IDEOGRAPH
+  {0xD642, 0x6DD3}, //7854 #CJK UNIFIED IDEOGRAPH
+  {0xD643, 0x6DFD}, //7855 #CJK UNIFIED IDEOGRAPH
+  {0xD644, 0x6DD7}, //7856 #CJK UNIFIED IDEOGRAPH
+  {0xD645, 0x6DCD}, //7857 #CJK UNIFIED IDEOGRAPH
+  {0xD646, 0x6DE3}, //7858 #CJK UNIFIED IDEOGRAPH
+  {0xD647, 0x6DBB}, //7859 #CJK UNIFIED IDEOGRAPH
+  {0xD648, 0x70FA}, //7860 #CJK UNIFIED IDEOGRAPH
+  {0xD649, 0x710D}, //7861 #CJK UNIFIED IDEOGRAPH
+  {0xD64A, 0x70F7}, //7862 #CJK UNIFIED IDEOGRAPH
+  {0xD64B, 0x7117}, //7863 #CJK UNIFIED IDEOGRAPH
+  {0xD64C, 0x70F4}, //7864 #CJK UNIFIED IDEOGRAPH
+  {0xD64D, 0x710C}, //7865 #CJK UNIFIED IDEOGRAPH
+  {0xD64E, 0x70F0}, //7866 #CJK UNIFIED IDEOGRAPH
+  {0xD64F, 0x7104}, //7867 #CJK UNIFIED IDEOGRAPH
+  {0xD650, 0x70F3}, //7868 #CJK UNIFIED IDEOGRAPH
+  {0xD651, 0x7110}, //7869 #CJK UNIFIED IDEOGRAPH
+  {0xD652, 0x70FC}, //7870 #CJK UNIFIED IDEOGRAPH
+  {0xD653, 0x70FF}, //7871 #CJK UNIFIED IDEOGRAPH
+  {0xD654, 0x7106}, //7872 #CJK UNIFIED IDEOGRAPH
+  {0xD655, 0x7113}, //7873 #CJK UNIFIED IDEOGRAPH
+  {0xD656, 0x7100}, //7874 #CJK UNIFIED IDEOGRAPH
+  {0xD657, 0x70F8}, //7875 #CJK UNIFIED IDEOGRAPH
+  {0xD658, 0x70F6}, //7876 #CJK UNIFIED IDEOGRAPH
+  {0xD659, 0x710B}, //7877 #CJK UNIFIED IDEOGRAPH
+  {0xD65A, 0x7102}, //7878 #CJK UNIFIED IDEOGRAPH
+  {0xD65B, 0x710E}, //7879 #CJK UNIFIED IDEOGRAPH
+  {0xD65C, 0x727E}, //7880 #CJK UNIFIED IDEOGRAPH
+  {0xD65D, 0x727B}, //7881 #CJK UNIFIED IDEOGRAPH
+  {0xD65E, 0x727C}, //7882 #CJK UNIFIED IDEOGRAPH
+  {0xD65F, 0x727F}, //7883 #CJK UNIFIED IDEOGRAPH
+  {0xD660, 0x731D}, //7884 #CJK UNIFIED IDEOGRAPH
+  {0xD661, 0x7317}, //7885 #CJK UNIFIED IDEOGRAPH
+  {0xD662, 0x7307}, //7886 #CJK UNIFIED IDEOGRAPH
+  {0xD663, 0x7311}, //7887 #CJK UNIFIED IDEOGRAPH
+  {0xD664, 0x7318}, //7888 #CJK UNIFIED IDEOGRAPH
+  {0xD665, 0x730A}, //7889 #CJK UNIFIED IDEOGRAPH
+  {0xD666, 0x7308}, //7890 #CJK UNIFIED IDEOGRAPH
+  {0xD667, 0x72FF}, //7891 #CJK UNIFIED IDEOGRAPH
+  {0xD668, 0x730F}, //7892 #CJK UNIFIED IDEOGRAPH
+  {0xD669, 0x731E}, //7893 #CJK UNIFIED IDEOGRAPH
+  {0xD66A, 0x7388}, //7894 #CJK UNIFIED IDEOGRAPH
+  {0xD66B, 0x73F6}, //7895 #CJK UNIFIED IDEOGRAPH
+  {0xD66C, 0x73F8}, //7896 #CJK UNIFIED IDEOGRAPH
+  {0xD66D, 0x73F5}, //7897 #CJK UNIFIED IDEOGRAPH
+  {0xD66E, 0x7404}, //7898 #CJK UNIFIED IDEOGRAPH
+  {0xD66F, 0x7401}, //7899 #CJK UNIFIED IDEOGRAPH
+  {0xD670, 0x73FD}, //7900 #CJK UNIFIED IDEOGRAPH
+  {0xD671, 0x7407}, //7901 #CJK UNIFIED IDEOGRAPH
+  {0xD672, 0x7400}, //7902 #CJK UNIFIED IDEOGRAPH
+  {0xD673, 0x73FA}, //7903 #CJK UNIFIED IDEOGRAPH
+  {0xD674, 0x73FC}, //7904 #CJK UNIFIED IDEOGRAPH
+  {0xD675, 0x73FF}, //7905 #CJK UNIFIED IDEOGRAPH
+  {0xD676, 0x740C}, //7906 #CJK UNIFIED IDEOGRAPH
+  {0xD677, 0x740B}, //7907 #CJK UNIFIED IDEOGRAPH
+  {0xD678, 0x73F4}, //7908 #CJK UNIFIED IDEOGRAPH
+  {0xD679, 0x7408}, //7909 #CJK UNIFIED IDEOGRAPH
+  {0xD67A, 0x7564}, //7910 #CJK UNIFIED IDEOGRAPH
+  {0xD67B, 0x7563}, //7911 #CJK UNIFIED IDEOGRAPH
+  {0xD67C, 0x75CE}, //7912 #CJK UNIFIED IDEOGRAPH
+  {0xD67D, 0x75D2}, //7913 #CJK UNIFIED IDEOGRAPH
+  {0xD67E, 0x75CF}, //7914 #CJK UNIFIED IDEOGRAPH
+  {0xD6A1, 0x75CB}, //7915 #CJK UNIFIED IDEOGRAPH
+  {0xD6A2, 0x75CC}, //7916 #CJK UNIFIED IDEOGRAPH
+  {0xD6A3, 0x75D1}, //7917 #CJK UNIFIED IDEOGRAPH
+  {0xD6A4, 0x75D0}, //7918 #CJK UNIFIED IDEOGRAPH
+  {0xD6A5, 0x768F}, //7919 #CJK UNIFIED IDEOGRAPH
+  {0xD6A6, 0x7689}, //7920 #CJK UNIFIED IDEOGRAPH
+  {0xD6A7, 0x76D3}, //7921 #CJK UNIFIED IDEOGRAPH
+  {0xD6A8, 0x7739}, //7922 #CJK UNIFIED IDEOGRAPH
+  {0xD6A9, 0x772F}, //7923 #CJK UNIFIED IDEOGRAPH
+  {0xD6AA, 0x772D}, //7924 #CJK UNIFIED IDEOGRAPH
+  {0xD6AB, 0x7731}, //7925 #CJK UNIFIED IDEOGRAPH
+  {0xD6AC, 0x7732}, //7926 #CJK UNIFIED IDEOGRAPH
+  {0xD6AD, 0x7734}, //7927 #CJK UNIFIED IDEOGRAPH
+  {0xD6AE, 0x7733}, //7928 #CJK UNIFIED IDEOGRAPH
+  {0xD6AF, 0x773D}, //7929 #CJK UNIFIED IDEOGRAPH
+  {0xD6B0, 0x7725}, //7930 #CJK UNIFIED IDEOGRAPH
+  {0xD6B1, 0x773B}, //7931 #CJK UNIFIED IDEOGRAPH
+  {0xD6B2, 0x7735}, //7932 #CJK UNIFIED IDEOGRAPH
+  {0xD6B3, 0x7848}, //7933 #CJK UNIFIED IDEOGRAPH
+  {0xD6B4, 0x7852}, //7934 #CJK UNIFIED IDEOGRAPH
+  {0xD6B5, 0x7849}, //7935 #CJK UNIFIED IDEOGRAPH
+  {0xD6B6, 0x784D}, //7936 #CJK UNIFIED IDEOGRAPH
+  {0xD6B7, 0x784A}, //7937 #CJK UNIFIED IDEOGRAPH
+  {0xD6B8, 0x784C}, //7938 #CJK UNIFIED IDEOGRAPH
+  {0xD6B9, 0x7826}, //7939 #CJK UNIFIED IDEOGRAPH
+  {0xD6BA, 0x7845}, //7940 #CJK UNIFIED IDEOGRAPH
+  {0xD6BB, 0x7850}, //7941 #CJK UNIFIED IDEOGRAPH
+  {0xD6BC, 0x7964}, //7942 #CJK UNIFIED IDEOGRAPH
+  {0xD6BD, 0x7967}, //7943 #CJK UNIFIED IDEOGRAPH
+  {0xD6BE, 0x7969}, //7944 #CJK UNIFIED IDEOGRAPH
+  {0xD6BF, 0x796A}, //7945 #CJK UNIFIED IDEOGRAPH
+  {0xD6C0, 0x7963}, //7946 #CJK UNIFIED IDEOGRAPH
+  {0xD6C1, 0x796B}, //7947 #CJK UNIFIED IDEOGRAPH
+  {0xD6C2, 0x7961}, //7948 #CJK UNIFIED IDEOGRAPH
+  {0xD6C3, 0x79BB}, //7949 #CJK UNIFIED IDEOGRAPH
+  {0xD6C4, 0x79FA}, //7950 #CJK UNIFIED IDEOGRAPH
+  {0xD6C5, 0x79F8}, //7951 #CJK UNIFIED IDEOGRAPH
+  {0xD6C6, 0x79F6}, //7952 #CJK UNIFIED IDEOGRAPH
+  {0xD6C7, 0x79F7}, //7953 #CJK UNIFIED IDEOGRAPH
+  {0xD6C8, 0x7A8F}, //7954 #CJK UNIFIED IDEOGRAPH
+  {0xD6C9, 0x7A94}, //7955 #CJK UNIFIED IDEOGRAPH
+  {0xD6CA, 0x7A90}, //7956 #CJK UNIFIED IDEOGRAPH
+  {0xD6CB, 0x7B35}, //7957 #CJK UNIFIED IDEOGRAPH
+  {0xD6CC, 0x7B47}, //7958 #CJK UNIFIED IDEOGRAPH
+  {0xD6CD, 0x7B34}, //7959 #CJK UNIFIED IDEOGRAPH
+  {0xD6CE, 0x7B25}, //7960 #CJK UNIFIED IDEOGRAPH
+  {0xD6CF, 0x7B30}, //7961 #CJK UNIFIED IDEOGRAPH
+  {0xD6D0, 0x7B22}, //7962 #CJK UNIFIED IDEOGRAPH
+  {0xD6D1, 0x7B24}, //7963 #CJK UNIFIED IDEOGRAPH
+  {0xD6D2, 0x7B33}, //7964 #CJK UNIFIED IDEOGRAPH
+  {0xD6D3, 0x7B18}, //7965 #CJK UNIFIED IDEOGRAPH
+  {0xD6D4, 0x7B2A}, //7966 #CJK UNIFIED IDEOGRAPH
+  {0xD6D5, 0x7B1D}, //7967 #CJK UNIFIED IDEOGRAPH
+  {0xD6D6, 0x7B31}, //7968 #CJK UNIFIED IDEOGRAPH
+  {0xD6D7, 0x7B2B}, //7969 #CJK UNIFIED IDEOGRAPH
+  {0xD6D8, 0x7B2D}, //7970 #CJK UNIFIED IDEOGRAPH
+  {0xD6D9, 0x7B2F}, //7971 #CJK UNIFIED IDEOGRAPH
+  {0xD6DA, 0x7B32}, //7972 #CJK UNIFIED IDEOGRAPH
+  {0xD6DB, 0x7B38}, //7973 #CJK UNIFIED IDEOGRAPH
+  {0xD6DC, 0x7B1A}, //7974 #CJK UNIFIED IDEOGRAPH
+  {0xD6DD, 0x7B23}, //7975 #CJK UNIFIED IDEOGRAPH
+  {0xD6DE, 0x7C94}, //7976 #CJK UNIFIED IDEOGRAPH
+  {0xD6DF, 0x7C98}, //7977 #CJK UNIFIED IDEOGRAPH
+  {0xD6E0, 0x7C96}, //7978 #CJK UNIFIED IDEOGRAPH
+  {0xD6E1, 0x7CA3}, //7979 #CJK UNIFIED IDEOGRAPH
+  {0xD6E2, 0x7D35}, //7980 #CJK UNIFIED IDEOGRAPH
+  {0xD6E3, 0x7D3D}, //7981 #CJK UNIFIED IDEOGRAPH
+  {0xD6E4, 0x7D38}, //7982 #CJK UNIFIED IDEOGRAPH
+  {0xD6E5, 0x7D36}, //7983 #CJK UNIFIED IDEOGRAPH
+  {0xD6E6, 0x7D3A}, //7984 #CJK UNIFIED IDEOGRAPH
+  {0xD6E7, 0x7D45}, //7985 #CJK UNIFIED IDEOGRAPH
+  {0xD6E8, 0x7D2C}, //7986 #CJK UNIFIED IDEOGRAPH
+  {0xD6E9, 0x7D29}, //7987 #CJK UNIFIED IDEOGRAPH
+  {0xD6EA, 0x7D41}, //7988 #CJK UNIFIED IDEOGRAPH
+  {0xD6EB, 0x7D47}, //7989 #CJK UNIFIED IDEOGRAPH
+  {0xD6EC, 0x7D3E}, //7990 #CJK UNIFIED IDEOGRAPH
+  {0xD6ED, 0x7D3F}, //7991 #CJK UNIFIED IDEOGRAPH
+  {0xD6EE, 0x7D4A}, //7992 #CJK UNIFIED IDEOGRAPH
+  {0xD6EF, 0x7D3B}, //7993 #CJK UNIFIED IDEOGRAPH
+  {0xD6F0, 0x7D28}, //7994 #CJK UNIFIED IDEOGRAPH
+  {0xD6F1, 0x7F63}, //7995 #CJK UNIFIED IDEOGRAPH
+  {0xD6F2, 0x7F95}, //7996 #CJK UNIFIED IDEOGRAPH
+  {0xD6F3, 0x7F9C}, //7997 #CJK UNIFIED IDEOGRAPH
+  {0xD6F4, 0x7F9D}, //7998 #CJK UNIFIED IDEOGRAPH
+  {0xD6F5, 0x7F9B}, //7999 #CJK UNIFIED IDEOGRAPH
+  {0xD6F6, 0x7FCA}, //8000 #CJK UNIFIED IDEOGRAPH
+  {0xD6F7, 0x7FCB}, //8001 #CJK UNIFIED IDEOGRAPH
+  {0xD6F8, 0x7FCD}, //8002 #CJK UNIFIED IDEOGRAPH
+  {0xD6F9, 0x7FD0}, //8003 #CJK UNIFIED IDEOGRAPH
+  {0xD6FA, 0x7FD1}, //8004 #CJK UNIFIED IDEOGRAPH
+  {0xD6FB, 0x7FC7}, //8005 #CJK UNIFIED IDEOGRAPH
+  {0xD6FC, 0x7FCF}, //8006 #CJK UNIFIED IDEOGRAPH
+  {0xD6FD, 0x7FC9}, //8007 #CJK UNIFIED IDEOGRAPH
+  {0xD6FE, 0x801F}, //8008 #CJK UNIFIED IDEOGRAPH
+  {0xD740, 0x801E}, //8009 #CJK UNIFIED IDEOGRAPH
+  {0xD741, 0x801B}, //8010 #CJK UNIFIED IDEOGRAPH
+  {0xD742, 0x8047}, //8011 #CJK UNIFIED IDEOGRAPH
+  {0xD743, 0x8043}, //8012 #CJK UNIFIED IDEOGRAPH
+  {0xD744, 0x8048}, //8013 #CJK UNIFIED IDEOGRAPH
+  {0xD745, 0x8118}, //8014 #CJK UNIFIED IDEOGRAPH
+  {0xD746, 0x8125}, //8015 #CJK UNIFIED IDEOGRAPH
+  {0xD747, 0x8119}, //8016 #CJK UNIFIED IDEOGRAPH
+  {0xD748, 0x811B}, //8017 #CJK UNIFIED IDEOGRAPH
+  {0xD749, 0x812D}, //8018 #CJK UNIFIED IDEOGRAPH
+  {0xD74A, 0x811F}, //8019 #CJK UNIFIED IDEOGRAPH
+  {0xD74B, 0x812C}, //8020 #CJK UNIFIED IDEOGRAPH
+  {0xD74C, 0x811E}, //8021 #CJK UNIFIED IDEOGRAPH
+  {0xD74D, 0x8121}, //8022 #CJK UNIFIED IDEOGRAPH
+  {0xD74E, 0x8115}, //8023 #CJK UNIFIED IDEOGRAPH
+  {0xD74F, 0x8127}, //8024 #CJK UNIFIED IDEOGRAPH
+  {0xD750, 0x811D}, //8025 #CJK UNIFIED IDEOGRAPH
+  {0xD751, 0x8122}, //8026 #CJK UNIFIED IDEOGRAPH
+  {0xD752, 0x8211}, //8027 #CJK UNIFIED IDEOGRAPH
+  {0xD753, 0x8238}, //8028 #CJK UNIFIED IDEOGRAPH
+  {0xD754, 0x8233}, //8029 #CJK UNIFIED IDEOGRAPH
+  {0xD755, 0x823A}, //8030 #CJK UNIFIED IDEOGRAPH
+  {0xD756, 0x8234}, //8031 #CJK UNIFIED IDEOGRAPH
+  {0xD757, 0x8232}, //8032 #CJK UNIFIED IDEOGRAPH
+  {0xD758, 0x8274}, //8033 #CJK UNIFIED IDEOGRAPH
+  {0xD759, 0x8390}, //8034 #CJK UNIFIED IDEOGRAPH
+  {0xD75A, 0x83A3}, //8035 #CJK UNIFIED IDEOGRAPH
+  {0xD75B, 0x83A8}, //8036 #CJK UNIFIED IDEOGRAPH
+  {0xD75C, 0x838D}, //8037 #CJK UNIFIED IDEOGRAPH
+  {0xD75D, 0x837A}, //8038 #CJK UNIFIED IDEOGRAPH
+  {0xD75E, 0x8373}, //8039 #CJK UNIFIED IDEOGRAPH
+  {0xD75F, 0x83A4}, //8040 #CJK UNIFIED IDEOGRAPH
+  {0xD760, 0x8374}, //8041 #CJK UNIFIED IDEOGRAPH
+  {0xD761, 0x838F}, //8042 #CJK UNIFIED IDEOGRAPH
+  {0xD762, 0x8381}, //8043 #CJK UNIFIED IDEOGRAPH
+  {0xD763, 0x8395}, //8044 #CJK UNIFIED IDEOGRAPH
+  {0xD764, 0x8399}, //8045 #CJK UNIFIED IDEOGRAPH
+  {0xD765, 0x8375}, //8046 #CJK UNIFIED IDEOGRAPH
+  {0xD766, 0x8394}, //8047 #CJK UNIFIED IDEOGRAPH
+  {0xD767, 0x83A9}, //8048 #CJK UNIFIED IDEOGRAPH
+  {0xD768, 0x837D}, //8049 #CJK UNIFIED IDEOGRAPH
+  {0xD769, 0x8383}, //8050 #CJK UNIFIED IDEOGRAPH
+  {0xD76A, 0x838C}, //8051 #CJK UNIFIED IDEOGRAPH
+  {0xD76B, 0x839D}, //8052 #CJK UNIFIED IDEOGRAPH
+  {0xD76C, 0x839B}, //8053 #CJK UNIFIED IDEOGRAPH
+  {0xD76D, 0x83AA}, //8054 #CJK UNIFIED IDEOGRAPH
+  {0xD76E, 0x838B}, //8055 #CJK UNIFIED IDEOGRAPH
+  {0xD76F, 0x837E}, //8056 #CJK UNIFIED IDEOGRAPH
+  {0xD770, 0x83A5}, //8057 #CJK UNIFIED IDEOGRAPH
+  {0xD771, 0x83AF}, //8058 #CJK UNIFIED IDEOGRAPH
+  {0xD772, 0x8388}, //8059 #CJK UNIFIED IDEOGRAPH
+  {0xD773, 0x8397}, //8060 #CJK UNIFIED IDEOGRAPH
+  {0xD774, 0x83B0}, //8061 #CJK UNIFIED IDEOGRAPH
+  {0xD775, 0x837F}, //8062 #CJK UNIFIED IDEOGRAPH
+  {0xD776, 0x83A6}, //8063 #CJK UNIFIED IDEOGRAPH
+  {0xD777, 0x8387}, //8064 #CJK UNIFIED IDEOGRAPH
+  {0xD778, 0x83AE}, //8065 #CJK UNIFIED IDEOGRAPH
+  {0xD779, 0x8376}, //8066 #CJK UNIFIED IDEOGRAPH
+  {0xD77A, 0x839A}, //8067 #CJK UNIFIED IDEOGRAPH
+  {0xD77B, 0x8659}, //8068 #CJK UNIFIED IDEOGRAPH
+  {0xD77C, 0x8656}, //8069 #CJK UNIFIED IDEOGRAPH
+  {0xD77D, 0x86BF}, //8070 #CJK UNIFIED IDEOGRAPH
+  {0xD77E, 0x86B7}, //8071 #CJK UNIFIED IDEOGRAPH
+  {0xD7A1, 0x86C2}, //8072 #CJK UNIFIED IDEOGRAPH
+  {0xD7A2, 0x86C1}, //8073 #CJK UNIFIED IDEOGRAPH
+  {0xD7A3, 0x86C5}, //8074 #CJK UNIFIED IDEOGRAPH
+  {0xD7A4, 0x86BA}, //8075 #CJK UNIFIED IDEOGRAPH
+  {0xD7A5, 0x86B0}, //8076 #CJK UNIFIED IDEOGRAPH
+  {0xD7A6, 0x86C8}, //8077 #CJK UNIFIED IDEOGRAPH
+  {0xD7A7, 0x86B9}, //8078 #CJK UNIFIED IDEOGRAPH
+  {0xD7A8, 0x86B3}, //8079 #CJK UNIFIED IDEOGRAPH
+  {0xD7A9, 0x86B8}, //8080 #CJK UNIFIED IDEOGRAPH
+  {0xD7AA, 0x86CC}, //8081 #CJK UNIFIED IDEOGRAPH
+  {0xD7AB, 0x86B4}, //8082 #CJK UNIFIED IDEOGRAPH
+  {0xD7AC, 0x86BB}, //8083 #CJK UNIFIED IDEOGRAPH
+  {0xD7AD, 0x86BC}, //8084 #CJK UNIFIED IDEOGRAPH
+  {0xD7AE, 0x86C3}, //8085 #CJK UNIFIED IDEOGRAPH
+  {0xD7AF, 0x86BD}, //8086 #CJK UNIFIED IDEOGRAPH
+  {0xD7B0, 0x86BE}, //8087 #CJK UNIFIED IDEOGRAPH
+  {0xD7B1, 0x8852}, //8088 #CJK UNIFIED IDEOGRAPH
+  {0xD7B2, 0x8889}, //8089 #CJK UNIFIED IDEOGRAPH
+  {0xD7B3, 0x8895}, //8090 #CJK UNIFIED IDEOGRAPH
+  {0xD7B4, 0x88A8}, //8091 #CJK UNIFIED IDEOGRAPH
+  {0xD7B5, 0x88A2}, //8092 #CJK UNIFIED IDEOGRAPH
+  {0xD7B6, 0x88AA}, //8093 #CJK UNIFIED IDEOGRAPH
+  {0xD7B7, 0x889A}, //8094 #CJK UNIFIED IDEOGRAPH
+  {0xD7B8, 0x8891}, //8095 #CJK UNIFIED IDEOGRAPH
+  {0xD7B9, 0x88A1}, //8096 #CJK UNIFIED IDEOGRAPH
+  {0xD7BA, 0x889F}, //8097 #CJK UNIFIED IDEOGRAPH
+  {0xD7BB, 0x8898}, //8098 #CJK UNIFIED IDEOGRAPH
+  {0xD7BC, 0x88A7}, //8099 #CJK UNIFIED IDEOGRAPH
+  {0xD7BD, 0x8899}, //8100 #CJK UNIFIED IDEOGRAPH
+  {0xD7BE, 0x889B}, //8101 #CJK UNIFIED IDEOGRAPH
+  {0xD7BF, 0x8897}, //8102 #CJK UNIFIED IDEOGRAPH
+  {0xD7C0, 0x88A4}, //8103 #CJK UNIFIED IDEOGRAPH
+  {0xD7C1, 0x88AC}, //8104 #CJK UNIFIED IDEOGRAPH
+  {0xD7C2, 0x888C}, //8105 #CJK UNIFIED IDEOGRAPH
+  {0xD7C3, 0x8893}, //8106 #CJK UNIFIED IDEOGRAPH
+  {0xD7C4, 0x888E}, //8107 #CJK UNIFIED IDEOGRAPH
+  {0xD7C5, 0x8982}, //8108 #CJK UNIFIED IDEOGRAPH
+  {0xD7C6, 0x89D6}, //8109 #CJK UNIFIED IDEOGRAPH
+  {0xD7C7, 0x89D9}, //8110 #CJK UNIFIED IDEOGRAPH
+  {0xD7C8, 0x89D5}, //8111 #CJK UNIFIED IDEOGRAPH
+  {0xD7C9, 0x8A30}, //8112 #CJK UNIFIED IDEOGRAPH
+  {0xD7CA, 0x8A27}, //8113 #CJK UNIFIED IDEOGRAPH
+  {0xD7CB, 0x8A2C}, //8114 #CJK UNIFIED IDEOGRAPH
+  {0xD7CC, 0x8A1E}, //8115 #CJK UNIFIED IDEOGRAPH
+  {0xD7CD, 0x8C39}, //8116 #CJK UNIFIED IDEOGRAPH
+  {0xD7CE, 0x8C3B}, //8117 #CJK UNIFIED IDEOGRAPH
+  {0xD7CF, 0x8C5C}, //8118 #CJK UNIFIED IDEOGRAPH
+  {0xD7D0, 0x8C5D}, //8119 #CJK UNIFIED IDEOGRAPH
+  {0xD7D1, 0x8C7D}, //8120 #CJK UNIFIED IDEOGRAPH
+  {0xD7D2, 0x8CA5}, //8121 #CJK UNIFIED IDEOGRAPH
+  {0xD7D3, 0x8D7D}, //8122 #CJK UNIFIED IDEOGRAPH
+  {0xD7D4, 0x8D7B}, //8123 #CJK UNIFIED IDEOGRAPH
+  {0xD7D5, 0x8D79}, //8124 #CJK UNIFIED IDEOGRAPH
+  {0xD7D6, 0x8DBC}, //8125 #CJK UNIFIED IDEOGRAPH
+  {0xD7D7, 0x8DC2}, //8126 #CJK UNIFIED IDEOGRAPH
+  {0xD7D8, 0x8DB9}, //8127 #CJK UNIFIED IDEOGRAPH
+  {0xD7D9, 0x8DBF}, //8128 #CJK UNIFIED IDEOGRAPH
+  {0xD7DA, 0x8DC1}, //8129 #CJK UNIFIED IDEOGRAPH
+  {0xD7DB, 0x8ED8}, //8130 #CJK UNIFIED IDEOGRAPH
+  {0xD7DC, 0x8EDE}, //8131 #CJK UNIFIED IDEOGRAPH
+  {0xD7DD, 0x8EDD}, //8132 #CJK UNIFIED IDEOGRAPH
+  {0xD7DE, 0x8EDC}, //8133 #CJK UNIFIED IDEOGRAPH
+  {0xD7DF, 0x8ED7}, //8134 #CJK UNIFIED IDEOGRAPH
+  {0xD7E0, 0x8EE0}, //8135 #CJK UNIFIED IDEOGRAPH
+  {0xD7E1, 0x8EE1}, //8136 #CJK UNIFIED IDEOGRAPH
+  {0xD7E2, 0x9024}, //8137 #CJK UNIFIED IDEOGRAPH
+  {0xD7E3, 0x900B}, //8138 #CJK UNIFIED IDEOGRAPH
+  {0xD7E4, 0x9011}, //8139 #CJK UNIFIED IDEOGRAPH
+  {0xD7E5, 0x901C}, //8140 #CJK UNIFIED IDEOGRAPH
+  {0xD7E6, 0x900C}, //8141 #CJK UNIFIED IDEOGRAPH
+  {0xD7E7, 0x9021}, //8142 #CJK UNIFIED IDEOGRAPH
+  {0xD7E8, 0x90EF}, //8143 #CJK UNIFIED IDEOGRAPH
+  {0xD7E9, 0x90EA}, //8144 #CJK UNIFIED IDEOGRAPH
+  {0xD7EA, 0x90F0}, //8145 #CJK UNIFIED IDEOGRAPH
+  {0xD7EB, 0x90F4}, //8146 #CJK UNIFIED IDEOGRAPH
+  {0xD7EC, 0x90F2}, //8147 #CJK UNIFIED IDEOGRAPH
+  {0xD7ED, 0x90F3}, //8148 #CJK UNIFIED IDEOGRAPH
+  {0xD7EE, 0x90D4}, //8149 #CJK UNIFIED IDEOGRAPH
+  {0xD7EF, 0x90EB}, //8150 #CJK UNIFIED IDEOGRAPH
+  {0xD7F0, 0x90EC}, //8151 #CJK UNIFIED IDEOGRAPH
+  {0xD7F1, 0x90E9}, //8152 #CJK UNIFIED IDEOGRAPH
+  {0xD7F2, 0x9156}, //8153 #CJK UNIFIED IDEOGRAPH
+  {0xD7F3, 0x9158}, //8154 #CJK UNIFIED IDEOGRAPH
+  {0xD7F4, 0x915A}, //8155 #CJK UNIFIED IDEOGRAPH
+  {0xD7F5, 0x9153}, //8156 #CJK UNIFIED IDEOGRAPH
+  {0xD7F6, 0x9155}, //8157 #CJK UNIFIED IDEOGRAPH
+  {0xD7F7, 0x91EC}, //8158 #CJK UNIFIED IDEOGRAPH
+  {0xD7F8, 0x91F4}, //8159 #CJK UNIFIED IDEOGRAPH
+  {0xD7F9, 0x91F1}, //8160 #CJK UNIFIED IDEOGRAPH
+  {0xD7FA, 0x91F3}, //8161 #CJK UNIFIED IDEOGRAPH
+  {0xD7FB, 0x91F8}, //8162 #CJK UNIFIED IDEOGRAPH
+  {0xD7FC, 0x91E4}, //8163 #CJK UNIFIED IDEOGRAPH
+  {0xD7FD, 0x91F9}, //8164 #CJK UNIFIED IDEOGRAPH
+  {0xD7FE, 0x91EA}, //8165 #CJK UNIFIED IDEOGRAPH
+  {0xD840, 0x91EB}, //8166 #CJK UNIFIED IDEOGRAPH
+  {0xD841, 0x91F7}, //8167 #CJK UNIFIED IDEOGRAPH
+  {0xD842, 0x91E8}, //8168 #CJK UNIFIED IDEOGRAPH
+  {0xD843, 0x91EE}, //8169 #CJK UNIFIED IDEOGRAPH
+  {0xD844, 0x957A}, //8170 #CJK UNIFIED IDEOGRAPH
+  {0xD845, 0x9586}, //8171 #CJK UNIFIED IDEOGRAPH
+  {0xD846, 0x9588}, //8172 #CJK UNIFIED IDEOGRAPH
+  {0xD847, 0x967C}, //8173 #CJK UNIFIED IDEOGRAPH
+  {0xD848, 0x966D}, //8174 #CJK UNIFIED IDEOGRAPH
+  {0xD849, 0x966B}, //8175 #CJK UNIFIED IDEOGRAPH
+  {0xD84A, 0x9671}, //8176 #CJK UNIFIED IDEOGRAPH
+  {0xD84B, 0x966F}, //8177 #CJK UNIFIED IDEOGRAPH
+  {0xD84C, 0x96BF}, //8178 #CJK UNIFIED IDEOGRAPH
+  {0xD84D, 0x976A}, //8179 #CJK UNIFIED IDEOGRAPH
+  {0xD84E, 0x9804}, //8180 #CJK UNIFIED IDEOGRAPH
+  {0xD84F, 0x98E5}, //8181 #CJK UNIFIED IDEOGRAPH
+  {0xD850, 0x9997}, //8182 #CJK UNIFIED IDEOGRAPH
+  {0xD851, 0x509B}, //8183 #CJK UNIFIED IDEOGRAPH
+  {0xD852, 0x5095}, //8184 #CJK UNIFIED IDEOGRAPH
+  {0xD853, 0x5094}, //8185 #CJK UNIFIED IDEOGRAPH
+  {0xD854, 0x509E}, //8186 #CJK UNIFIED IDEOGRAPH
+  {0xD855, 0x508B}, //8187 #CJK UNIFIED IDEOGRAPH
+  {0xD856, 0x50A3}, //8188 #CJK UNIFIED IDEOGRAPH
+  {0xD857, 0x5083}, //8189 #CJK UNIFIED IDEOGRAPH
+  {0xD858, 0x508C}, //8190 #CJK UNIFIED IDEOGRAPH
+  {0xD859, 0x508E}, //8191 #CJK UNIFIED IDEOGRAPH
+  {0xD85A, 0x509D}, //8192 #CJK UNIFIED IDEOGRAPH
+  {0xD85B, 0x5068}, //8193 #CJK UNIFIED IDEOGRAPH
+  {0xD85C, 0x509C}, //8194 #CJK UNIFIED IDEOGRAPH
+  {0xD85D, 0x5092}, //8195 #CJK UNIFIED IDEOGRAPH
+  {0xD85E, 0x5082}, //8196 #CJK UNIFIED IDEOGRAPH
+  {0xD85F, 0x5087}, //8197 #CJK UNIFIED IDEOGRAPH
+  {0xD860, 0x515F}, //8198 #CJK UNIFIED IDEOGRAPH
+  {0xD861, 0x51D4}, //8199 #CJK UNIFIED IDEOGRAPH
+  {0xD862, 0x5312}, //8200 #CJK UNIFIED IDEOGRAPH
+  {0xD863, 0x5311}, //8201 #CJK UNIFIED IDEOGRAPH
+  {0xD864, 0x53A4}, //8202 #CJK UNIFIED IDEOGRAPH
+  {0xD865, 0x53A7}, //8203 #CJK UNIFIED IDEOGRAPH
+  {0xD866, 0x5591}, //8204 #CJK UNIFIED IDEOGRAPH
+  {0xD867, 0x55A8}, //8205 #CJK UNIFIED IDEOGRAPH
+  {0xD868, 0x55A5}, //8206 #CJK UNIFIED IDEOGRAPH
+  {0xD869, 0x55AD}, //8207 #CJK UNIFIED IDEOGRAPH
+  {0xD86A, 0x5577}, //8208 #CJK UNIFIED IDEOGRAPH
+  {0xD86B, 0x5645}, //8209 #CJK UNIFIED IDEOGRAPH
+  {0xD86C, 0x55A2}, //8210 #CJK UNIFIED IDEOGRAPH
+  {0xD86D, 0x5593}, //8211 #CJK UNIFIED IDEOGRAPH
+  {0xD86E, 0x5588}, //8212 #CJK UNIFIED IDEOGRAPH
+  {0xD86F, 0x558F}, //8213 #CJK UNIFIED IDEOGRAPH
+  {0xD870, 0x55B5}, //8214 #CJK UNIFIED IDEOGRAPH
+  {0xD871, 0x5581}, //8215 #CJK UNIFIED IDEOGRAPH
+  {0xD872, 0x55A3}, //8216 #CJK UNIFIED IDEOGRAPH
+  {0xD873, 0x5592}, //8217 #CJK UNIFIED IDEOGRAPH
+  {0xD874, 0x55A4}, //8218 #CJK UNIFIED IDEOGRAPH
+  {0xD875, 0x557D}, //8219 #CJK UNIFIED IDEOGRAPH
+  {0xD876, 0x558C}, //8220 #CJK UNIFIED IDEOGRAPH
+  {0xD877, 0x55A6}, //8221 #CJK UNIFIED IDEOGRAPH
+  {0xD878, 0x557F}, //8222 #CJK UNIFIED IDEOGRAPH
+  {0xD879, 0x5595}, //8223 #CJK UNIFIED IDEOGRAPH
+  {0xD87A, 0x55A1}, //8224 #CJK UNIFIED IDEOGRAPH
+  {0xD87B, 0x558E}, //8225 #CJK UNIFIED IDEOGRAPH
+  {0xD87C, 0x570C}, //8226 #CJK UNIFIED IDEOGRAPH
+  {0xD87D, 0x5829}, //8227 #CJK UNIFIED IDEOGRAPH
+  {0xD87E, 0x5837}, //8228 #CJK UNIFIED IDEOGRAPH
+  {0xD8A1, 0x5819}, //8229 #CJK UNIFIED IDEOGRAPH
+  {0xD8A2, 0x581E}, //8230 #CJK UNIFIED IDEOGRAPH
+  {0xD8A3, 0x5827}, //8231 #CJK UNIFIED IDEOGRAPH
+  {0xD8A4, 0x5823}, //8232 #CJK UNIFIED IDEOGRAPH
+  {0xD8A5, 0x5828}, //8233 #CJK UNIFIED IDEOGRAPH
+  {0xD8A6, 0x57F5}, //8234 #CJK UNIFIED IDEOGRAPH
+  {0xD8A7, 0x5848}, //8235 #CJK UNIFIED IDEOGRAPH
+  {0xD8A8, 0x5825}, //8236 #CJK UNIFIED IDEOGRAPH
+  {0xD8A9, 0x581C}, //8237 #CJK UNIFIED IDEOGRAPH
+  {0xD8AA, 0x581B}, //8238 #CJK UNIFIED IDEOGRAPH
+  {0xD8AB, 0x5833}, //8239 #CJK UNIFIED IDEOGRAPH
+  {0xD8AC, 0x583F}, //8240 #CJK UNIFIED IDEOGRAPH
+  {0xD8AD, 0x5836}, //8241 #CJK UNIFIED IDEOGRAPH
+  {0xD8AE, 0x582E}, //8242 #CJK UNIFIED IDEOGRAPH
+  {0xD8AF, 0x5839}, //8243 #CJK UNIFIED IDEOGRAPH
+  {0xD8B0, 0x5838}, //8244 #CJK UNIFIED IDEOGRAPH
+  {0xD8B1, 0x582D}, //8245 #CJK UNIFIED IDEOGRAPH
+  {0xD8B2, 0x582C}, //8246 #CJK UNIFIED IDEOGRAPH
+  {0xD8B3, 0x583B}, //8247 #CJK UNIFIED IDEOGRAPH
+  {0xD8B4, 0x5961}, //8248 #CJK UNIFIED IDEOGRAPH
+  {0xD8B5, 0x5AAF}, //8249 #CJK UNIFIED IDEOGRAPH
+  {0xD8B6, 0x5A94}, //8250 #CJK UNIFIED IDEOGRAPH
+  {0xD8B7, 0x5A9F}, //8251 #CJK UNIFIED IDEOGRAPH
+  {0xD8B8, 0x5A7A}, //8252 #CJK UNIFIED IDEOGRAPH
+  {0xD8B9, 0x5AA2}, //8253 #CJK UNIFIED IDEOGRAPH
+  {0xD8BA, 0x5A9E}, //8254 #CJK UNIFIED IDEOGRAPH
+  {0xD8BB, 0x5A78}, //8255 #CJK UNIFIED IDEOGRAPH
+  {0xD8BC, 0x5AA6}, //8256 #CJK UNIFIED IDEOGRAPH
+  {0xD8BD, 0x5A7C}, //8257 #CJK UNIFIED IDEOGRAPH
+  {0xD8BE, 0x5AA5}, //8258 #CJK UNIFIED IDEOGRAPH
+  {0xD8BF, 0x5AAC}, //8259 #CJK UNIFIED IDEOGRAPH
+  {0xD8C0, 0x5A95}, //8260 #CJK UNIFIED IDEOGRAPH
+  {0xD8C1, 0x5AAE}, //8261 #CJK UNIFIED IDEOGRAPH
+  {0xD8C2, 0x5A37}, //8262 #CJK UNIFIED IDEOGRAPH
+  {0xD8C3, 0x5A84}, //8263 #CJK UNIFIED IDEOGRAPH
+  {0xD8C4, 0x5A8A}, //8264 #CJK UNIFIED IDEOGRAPH
+  {0xD8C5, 0x5A97}, //8265 #CJK UNIFIED IDEOGRAPH
+  {0xD8C6, 0x5A83}, //8266 #CJK UNIFIED IDEOGRAPH
+  {0xD8C7, 0x5A8B}, //8267 #CJK UNIFIED IDEOGRAPH
+  {0xD8C8, 0x5AA9}, //8268 #CJK UNIFIED IDEOGRAPH
+  {0xD8C9, 0x5A7B}, //8269 #CJK UNIFIED IDEOGRAPH
+  {0xD8CA, 0x5A7D}, //8270 #CJK UNIFIED IDEOGRAPH
+  {0xD8CB, 0x5A8C}, //8271 #CJK UNIFIED IDEOGRAPH
+  {0xD8CC, 0x5A9C}, //8272 #CJK UNIFIED IDEOGRAPH
+  {0xD8CD, 0x5A8F}, //8273 #CJK UNIFIED IDEOGRAPH
+  {0xD8CE, 0x5A93}, //8274 #CJK UNIFIED IDEOGRAPH
+  {0xD8CF, 0x5A9D}, //8275 #CJK UNIFIED IDEOGRAPH
+  {0xD8D0, 0x5BEA}, //8276 #CJK UNIFIED IDEOGRAPH
+  {0xD8D1, 0x5BCD}, //8277 #CJK UNIFIED IDEOGRAPH
+  {0xD8D2, 0x5BCB}, //8278 #CJK UNIFIED IDEOGRAPH
+  {0xD8D3, 0x5BD4}, //8279 #CJK UNIFIED IDEOGRAPH
+  {0xD8D4, 0x5BD1}, //8280 #CJK UNIFIED IDEOGRAPH
+  {0xD8D5, 0x5BCA}, //8281 #CJK UNIFIED IDEOGRAPH
+  {0xD8D6, 0x5BCE}, //8282 #CJK UNIFIED IDEOGRAPH
+  {0xD8D7, 0x5C0C}, //8283 #CJK UNIFIED IDEOGRAPH
+  {0xD8D8, 0x5C30}, //8284 #CJK UNIFIED IDEOGRAPH
+  {0xD8D9, 0x5D37}, //8285 #CJK UNIFIED IDEOGRAPH
+  {0xD8DA, 0x5D43}, //8286 #CJK UNIFIED IDEOGRAPH
+  {0xD8DB, 0x5D6B}, //8287 #CJK UNIFIED IDEOGRAPH
+  {0xD8DC, 0x5D41}, //8288 #CJK UNIFIED IDEOGRAPH
+  {0xD8DD, 0x5D4B}, //8289 #CJK UNIFIED IDEOGRAPH
+  {0xD8DE, 0x5D3F}, //8290 #CJK UNIFIED IDEOGRAPH
+  {0xD8DF, 0x5D35}, //8291 #CJK UNIFIED IDEOGRAPH
+  {0xD8E0, 0x5D51}, //8292 #CJK UNIFIED IDEOGRAPH
+  {0xD8E1, 0x5D4E}, //8293 #CJK UNIFIED IDEOGRAPH
+  {0xD8E2, 0x5D55}, //8294 #CJK UNIFIED IDEOGRAPH
+  {0xD8E3, 0x5D33}, //8295 #CJK UNIFIED IDEOGRAPH
+  {0xD8E4, 0x5D3A}, //8296 #CJK UNIFIED IDEOGRAPH
+  {0xD8E5, 0x5D52}, //8297 #CJK UNIFIED IDEOGRAPH
+  {0xD8E6, 0x5D3D}, //8298 #CJK UNIFIED IDEOGRAPH
+  {0xD8E7, 0x5D31}, //8299 #CJK UNIFIED IDEOGRAPH
+  {0xD8E8, 0x5D59}, //8300 #CJK UNIFIED IDEOGRAPH
+  {0xD8E9, 0x5D42}, //8301 #CJK UNIFIED IDEOGRAPH
+  {0xD8EA, 0x5D39}, //8302 #CJK UNIFIED IDEOGRAPH
+  {0xD8EB, 0x5D49}, //8303 #CJK UNIFIED IDEOGRAPH
+  {0xD8EC, 0x5D38}, //8304 #CJK UNIFIED IDEOGRAPH
+  {0xD8ED, 0x5D3C}, //8305 #CJK UNIFIED IDEOGRAPH
+  {0xD8EE, 0x5D32}, //8306 #CJK UNIFIED IDEOGRAPH
+  {0xD8EF, 0x5D36}, //8307 #CJK UNIFIED IDEOGRAPH
+  {0xD8F0, 0x5D40}, //8308 #CJK UNIFIED IDEOGRAPH
+  {0xD8F1, 0x5D45}, //8309 #CJK UNIFIED IDEOGRAPH
+  {0xD8F2, 0x5E44}, //8310 #CJK UNIFIED IDEOGRAPH
+  {0xD8F3, 0x5E41}, //8311 #CJK UNIFIED IDEOGRAPH
+  {0xD8F4, 0x5F58}, //8312 #CJK UNIFIED IDEOGRAPH
+  {0xD8F5, 0x5FA6}, //8313 #CJK UNIFIED IDEOGRAPH
+  {0xD8F6, 0x5FA5}, //8314 #CJK UNIFIED IDEOGRAPH
+  {0xD8F7, 0x5FAB}, //8315 #CJK UNIFIED IDEOGRAPH
+  {0xD8F8, 0x60C9}, //8316 #CJK UNIFIED IDEOGRAPH
+  {0xD8F9, 0x60B9}, //8317 #CJK UNIFIED IDEOGRAPH
+  {0xD8FA, 0x60CC}, //8318 #CJK UNIFIED IDEOGRAPH
+  {0xD8FB, 0x60E2}, //8319 #CJK UNIFIED IDEOGRAPH
+  {0xD8FC, 0x60CE}, //8320 #CJK UNIFIED IDEOGRAPH
+  {0xD8FD, 0x60C4}, //8321 #CJK UNIFIED IDEOGRAPH
+  {0xD8FE, 0x6114}, //8322 #CJK UNIFIED IDEOGRAPH
+  {0xD940, 0x60F2}, //8323 #CJK UNIFIED IDEOGRAPH
+  {0xD941, 0x610A}, //8324 #CJK UNIFIED IDEOGRAPH
+  {0xD942, 0x6116}, //8325 #CJK UNIFIED IDEOGRAPH
+  {0xD943, 0x6105}, //8326 #CJK UNIFIED IDEOGRAPH
+  {0xD944, 0x60F5}, //8327 #CJK UNIFIED IDEOGRAPH
+  {0xD945, 0x6113}, //8328 #CJK UNIFIED IDEOGRAPH
+  {0xD946, 0x60F8}, //8329 #CJK UNIFIED IDEOGRAPH
+  {0xD947, 0x60FC}, //8330 #CJK UNIFIED IDEOGRAPH
+  {0xD948, 0x60FE}, //8331 #CJK UNIFIED IDEOGRAPH
+  {0xD949, 0x60C1}, //8332 #CJK UNIFIED IDEOGRAPH
+  {0xD94A, 0x6103}, //8333 #CJK UNIFIED IDEOGRAPH
+  {0xD94B, 0x6118}, //8334 #CJK UNIFIED IDEOGRAPH
+  {0xD94C, 0x611D}, //8335 #CJK UNIFIED IDEOGRAPH
+  {0xD94D, 0x6110}, //8336 #CJK UNIFIED IDEOGRAPH
+  {0xD94E, 0x60FF}, //8337 #CJK UNIFIED IDEOGRAPH
+  {0xD94F, 0x6104}, //8338 #CJK UNIFIED IDEOGRAPH
+  {0xD950, 0x610B}, //8339 #CJK UNIFIED IDEOGRAPH
+  {0xD951, 0x624A}, //8340 #CJK UNIFIED IDEOGRAPH
+  {0xD952, 0x6394}, //8341 #CJK UNIFIED IDEOGRAPH
+  {0xD953, 0x63B1}, //8342 #CJK UNIFIED IDEOGRAPH
+  {0xD954, 0x63B0}, //8343 #CJK UNIFIED IDEOGRAPH
+  {0xD955, 0x63CE}, //8344 #CJK UNIFIED IDEOGRAPH
+  {0xD956, 0x63E5}, //8345 #CJK UNIFIED IDEOGRAPH
+  {0xD957, 0x63E8}, //8346 #CJK UNIFIED IDEOGRAPH
+  {0xD958, 0x63EF}, //8347 #CJK UNIFIED IDEOGRAPH
+  {0xD959, 0x63C3}, //8348 #CJK UNIFIED IDEOGRAPH
+  {0xD95A, 0x649D}, //8349 #CJK UNIFIED IDEOGRAPH
+  {0xD95B, 0x63F3}, //8350 #CJK UNIFIED IDEOGRAPH
+  {0xD95C, 0x63CA}, //8351 #CJK UNIFIED IDEOGRAPH
+  {0xD95D, 0x63E0}, //8352 #CJK UNIFIED IDEOGRAPH
+  {0xD95E, 0x63F6}, //8353 #CJK UNIFIED IDEOGRAPH
+  {0xD95F, 0x63D5}, //8354 #CJK UNIFIED IDEOGRAPH
+  {0xD960, 0x63F2}, //8355 #CJK UNIFIED IDEOGRAPH
+  {0xD961, 0x63F5}, //8356 #CJK UNIFIED IDEOGRAPH
+  {0xD962, 0x6461}, //8357 #CJK UNIFIED IDEOGRAPH
+  {0xD963, 0x63DF}, //8358 #CJK UNIFIED IDEOGRAPH
+  {0xD964, 0x63BE}, //8359 #CJK UNIFIED IDEOGRAPH
+  {0xD965, 0x63DD}, //8360 #CJK UNIFIED IDEOGRAPH
+  {0xD966, 0x63DC}, //8361 #CJK UNIFIED IDEOGRAPH
+  {0xD967, 0x63C4}, //8362 #CJK UNIFIED IDEOGRAPH
+  {0xD968, 0x63D8}, //8363 #CJK UNIFIED IDEOGRAPH
+  {0xD969, 0x63D3}, //8364 #CJK UNIFIED IDEOGRAPH
+  {0xD96A, 0x63C2}, //8365 #CJK UNIFIED IDEOGRAPH
+  {0xD96B, 0x63C7}, //8366 #CJK UNIFIED IDEOGRAPH
+  {0xD96C, 0x63CC}, //8367 #CJK UNIFIED IDEOGRAPH
+  {0xD96D, 0x63CB}, //8368 #CJK UNIFIED IDEOGRAPH
+  {0xD96E, 0x63C8}, //8369 #CJK UNIFIED IDEOGRAPH
+  {0xD96F, 0x63F0}, //8370 #CJK UNIFIED IDEOGRAPH
+  {0xD970, 0x63D7}, //8371 #CJK UNIFIED IDEOGRAPH
+  {0xD971, 0x63D9}, //8372 #CJK UNIFIED IDEOGRAPH
+  {0xD972, 0x6532}, //8373 #CJK UNIFIED IDEOGRAPH
+  {0xD973, 0x6567}, //8374 #CJK UNIFIED IDEOGRAPH
+  {0xD974, 0x656A}, //8375 #CJK UNIFIED IDEOGRAPH
+  {0xD975, 0x6564}, //8376 #CJK UNIFIED IDEOGRAPH
+  {0xD976, 0x655C}, //8377 #CJK UNIFIED IDEOGRAPH
+  {0xD977, 0x6568}, //8378 #CJK UNIFIED IDEOGRAPH
+  {0xD978, 0x6565}, //8379 #CJK UNIFIED IDEOGRAPH
+  {0xD979, 0x658C}, //8380 #CJK UNIFIED IDEOGRAPH
+  {0xD97A, 0x659D}, //8381 #CJK UNIFIED IDEOGRAPH
+  {0xD97B, 0x659E}, //8382 #CJK UNIFIED IDEOGRAPH
+  {0xD97C, 0x65AE}, //8383 #CJK UNIFIED IDEOGRAPH
+  {0xD97D, 0x65D0}, //8384 #CJK UNIFIED IDEOGRAPH
+  {0xD97E, 0x65D2}, //8385 #CJK UNIFIED IDEOGRAPH
+  {0xD9A1, 0x667C}, //8386 #CJK UNIFIED IDEOGRAPH
+  {0xD9A2, 0x666C}, //8387 #CJK UNIFIED IDEOGRAPH
+  {0xD9A3, 0x667B}, //8388 #CJK UNIFIED IDEOGRAPH
+  {0xD9A4, 0x6680}, //8389 #CJK UNIFIED IDEOGRAPH
+  {0xD9A5, 0x6671}, //8390 #CJK UNIFIED IDEOGRAPH
+  {0xD9A6, 0x6679}, //8391 #CJK UNIFIED IDEOGRAPH
+  {0xD9A7, 0x666A}, //8392 #CJK UNIFIED IDEOGRAPH
+  {0xD9A8, 0x6672}, //8393 #CJK UNIFIED IDEOGRAPH
+  {0xD9A9, 0x6701}, //8394 #CJK UNIFIED IDEOGRAPH
+  {0xD9AA, 0x690C}, //8395 #CJK UNIFIED IDEOGRAPH
+  {0xD9AB, 0x68D3}, //8396 #CJK UNIFIED IDEOGRAPH
+  {0xD9AC, 0x6904}, //8397 #CJK UNIFIED IDEOGRAPH
+  {0xD9AD, 0x68DC}, //8398 #CJK UNIFIED IDEOGRAPH
+  {0xD9AE, 0x692A}, //8399 #CJK UNIFIED IDEOGRAPH
+  {0xD9AF, 0x68EC}, //8400 #CJK UNIFIED IDEOGRAPH
+  {0xD9B0, 0x68EA}, //8401 #CJK UNIFIED IDEOGRAPH
+  {0xD9B1, 0x68F1}, //8402 #CJK UNIFIED IDEOGRAPH
+  {0xD9B2, 0x690F}, //8403 #CJK UNIFIED IDEOGRAPH
+  {0xD9B3, 0x68D6}, //8404 #CJK UNIFIED IDEOGRAPH
+  {0xD9B4, 0x68F7}, //8405 #CJK UNIFIED IDEOGRAPH
+  {0xD9B5, 0x68EB}, //8406 #CJK UNIFIED IDEOGRAPH
+  {0xD9B6, 0x68E4}, //8407 #CJK UNIFIED IDEOGRAPH
+  {0xD9B7, 0x68F6}, //8408 #CJK UNIFIED IDEOGRAPH
+  {0xD9B8, 0x6913}, //8409 #CJK UNIFIED IDEOGRAPH
+  {0xD9B9, 0x6910}, //8410 #CJK UNIFIED IDEOGRAPH
+  {0xD9BA, 0x68F3}, //8411 #CJK UNIFIED IDEOGRAPH
+  {0xD9BB, 0x68E1}, //8412 #CJK UNIFIED IDEOGRAPH
+  {0xD9BC, 0x6907}, //8413 #CJK UNIFIED IDEOGRAPH
+  {0xD9BD, 0x68CC}, //8414 #CJK UNIFIED IDEOGRAPH
+  {0xD9BE, 0x6908}, //8415 #CJK UNIFIED IDEOGRAPH
+  {0xD9BF, 0x6970}, //8416 #CJK UNIFIED IDEOGRAPH
+  {0xD9C0, 0x68B4}, //8417 #CJK UNIFIED IDEOGRAPH
+  {0xD9C1, 0x6911}, //8418 #CJK UNIFIED IDEOGRAPH
+  {0xD9C2, 0x68EF}, //8419 #CJK UNIFIED IDEOGRAPH
+  {0xD9C3, 0x68C6}, //8420 #CJK UNIFIED IDEOGRAPH
+  {0xD9C4, 0x6914}, //8421 #CJK UNIFIED IDEOGRAPH
+  {0xD9C5, 0x68F8}, //8422 #CJK UNIFIED IDEOGRAPH
+  {0xD9C6, 0x68D0}, //8423 #CJK UNIFIED IDEOGRAPH
+  {0xD9C7, 0x68FD}, //8424 #CJK UNIFIED IDEOGRAPH
+  {0xD9C8, 0x68FC}, //8425 #CJK UNIFIED IDEOGRAPH
+  {0xD9C9, 0x68E8}, //8426 #CJK UNIFIED IDEOGRAPH
+  {0xD9CA, 0x690B}, //8427 #CJK UNIFIED IDEOGRAPH
+  {0xD9CB, 0x690A}, //8428 #CJK UNIFIED IDEOGRAPH
+  {0xD9CC, 0x6917}, //8429 #CJK UNIFIED IDEOGRAPH
+  {0xD9CD, 0x68CE}, //8430 #CJK UNIFIED IDEOGRAPH
+  {0xD9CE, 0x68C8}, //8431 #CJK UNIFIED IDEOGRAPH
+  {0xD9CF, 0x68DD}, //8432 #CJK UNIFIED IDEOGRAPH
+  {0xD9D0, 0x68DE}, //8433 #CJK UNIFIED IDEOGRAPH
+  {0xD9D1, 0x68E6}, //8434 #CJK UNIFIED IDEOGRAPH
+  {0xD9D2, 0x68F4}, //8435 #CJK UNIFIED IDEOGRAPH
+  {0xD9D3, 0x68D1}, //8436 #CJK UNIFIED IDEOGRAPH
+  {0xD9D4, 0x6906}, //8437 #CJK UNIFIED IDEOGRAPH
+  {0xD9D5, 0x68D4}, //8438 #CJK UNIFIED IDEOGRAPH
+  {0xD9D6, 0x68E9}, //8439 #CJK UNIFIED IDEOGRAPH
+  {0xD9D7, 0x6915}, //8440 #CJK UNIFIED IDEOGRAPH
+  {0xD9D8, 0x6925}, //8441 #CJK UNIFIED IDEOGRAPH
+  {0xD9D9, 0x68C7}, //8442 #CJK UNIFIED IDEOGRAPH
+  {0xD9DA, 0x6B39}, //8443 #CJK UNIFIED IDEOGRAPH
+  {0xD9DB, 0x6B3B}, //8444 #CJK UNIFIED IDEOGRAPH
+  {0xD9DC, 0x6B3F}, //8445 #CJK UNIFIED IDEOGRAPH
+  {0xD9DD, 0x6B3C}, //8446 #CJK UNIFIED IDEOGRAPH
+  {0xD9DE, 0x6B94}, //8447 #CJK UNIFIED IDEOGRAPH
+  {0xD9DF, 0x6B97}, //8448 #CJK UNIFIED IDEOGRAPH
+  {0xD9E0, 0x6B99}, //8449 #CJK UNIFIED IDEOGRAPH
+  {0xD9E1, 0x6B95}, //8450 #CJK UNIFIED IDEOGRAPH
+  {0xD9E2, 0x6BBD}, //8451 #CJK UNIFIED IDEOGRAPH
+  {0xD9E3, 0x6BF0}, //8452 #CJK UNIFIED IDEOGRAPH
+  {0xD9E4, 0x6BF2}, //8453 #CJK UNIFIED IDEOGRAPH
+  {0xD9E5, 0x6BF3}, //8454 #CJK UNIFIED IDEOGRAPH
+  {0xD9E6, 0x6C30}, //8455 #CJK UNIFIED IDEOGRAPH
+  {0xD9E7, 0x6DFC}, //8456 #CJK UNIFIED IDEOGRAPH
+  {0xD9E8, 0x6E46}, //8457 #CJK UNIFIED IDEOGRAPH
+  {0xD9E9, 0x6E47}, //8458 #CJK UNIFIED IDEOGRAPH
+  {0xD9EA, 0x6E1F}, //8459 #CJK UNIFIED IDEOGRAPH
+  {0xD9EB, 0x6E49}, //8460 #CJK UNIFIED IDEOGRAPH
+  {0xD9EC, 0x6E88}, //8461 #CJK UNIFIED IDEOGRAPH
+  {0xD9ED, 0x6E3C}, //8462 #CJK UNIFIED IDEOGRAPH
+  {0xD9EE, 0x6E3D}, //8463 #CJK UNIFIED IDEOGRAPH
+  {0xD9EF, 0x6E45}, //8464 #CJK UNIFIED IDEOGRAPH
+  {0xD9F0, 0x6E62}, //8465 #CJK UNIFIED IDEOGRAPH
+  {0xD9F1, 0x6E2B}, //8466 #CJK UNIFIED IDEOGRAPH
+  {0xD9F2, 0x6E3F}, //8467 #CJK UNIFIED IDEOGRAPH
+  {0xD9F3, 0x6E41}, //8468 #CJK UNIFIED IDEOGRAPH
+  {0xD9F4, 0x6E5D}, //8469 #CJK UNIFIED IDEOGRAPH
+  {0xD9F5, 0x6E73}, //8470 #CJK UNIFIED IDEOGRAPH
+  {0xD9F6, 0x6E1C}, //8471 #CJK UNIFIED IDEOGRAPH
+  {0xD9F7, 0x6E33}, //8472 #CJK UNIFIED IDEOGRAPH
+  {0xD9F8, 0x6E4B}, //8473 #CJK UNIFIED IDEOGRAPH
+  {0xD9F9, 0x6E40}, //8474 #CJK UNIFIED IDEOGRAPH
+  {0xD9FA, 0x6E51}, //8475 #CJK UNIFIED IDEOGRAPH
+  {0xD9FB, 0x6E3B}, //8476 #CJK UNIFIED IDEOGRAPH
+  {0xD9FC, 0x6E03}, //8477 #CJK UNIFIED IDEOGRAPH
+  {0xD9FD, 0x6E2E}, //8478 #CJK UNIFIED IDEOGRAPH
+  {0xD9FE, 0x6E5E}, //8479 #CJK UNIFIED IDEOGRAPH
+  {0xDA40, 0x6E68}, //8480 #CJK UNIFIED IDEOGRAPH
+  {0xDA41, 0x6E5C}, //8481 #CJK UNIFIED IDEOGRAPH
+  {0xDA42, 0x6E61}, //8482 #CJK UNIFIED IDEOGRAPH
+  {0xDA43, 0x6E31}, //8483 #CJK UNIFIED IDEOGRAPH
+  {0xDA44, 0x6E28}, //8484 #CJK UNIFIED IDEOGRAPH
+  {0xDA45, 0x6E60}, //8485 #CJK UNIFIED IDEOGRAPH
+  {0xDA46, 0x6E71}, //8486 #CJK UNIFIED IDEOGRAPH
+  {0xDA47, 0x6E6B}, //8487 #CJK UNIFIED IDEOGRAPH
+  {0xDA48, 0x6E39}, //8488 #CJK UNIFIED IDEOGRAPH
+  {0xDA49, 0x6E22}, //8489 #CJK UNIFIED IDEOGRAPH
+  {0xDA4A, 0x6E30}, //8490 #CJK UNIFIED IDEOGRAPH
+  {0xDA4B, 0x6E53}, //8491 #CJK UNIFIED IDEOGRAPH
+  {0xDA4C, 0x6E65}, //8492 #CJK UNIFIED IDEOGRAPH
+  {0xDA4D, 0x6E27}, //8493 #CJK UNIFIED IDEOGRAPH
+  {0xDA4E, 0x6E78}, //8494 #CJK UNIFIED IDEOGRAPH
+  {0xDA4F, 0x6E64}, //8495 #CJK UNIFIED IDEOGRAPH
+  {0xDA50, 0x6E77}, //8496 #CJK UNIFIED IDEOGRAPH
+  {0xDA51, 0x6E55}, //8497 #CJK UNIFIED IDEOGRAPH
+  {0xDA52, 0x6E79}, //8498 #CJK UNIFIED IDEOGRAPH
+  {0xDA53, 0x6E52}, //8499 #CJK UNIFIED IDEOGRAPH
+  {0xDA54, 0x6E66}, //8500 #CJK UNIFIED IDEOGRAPH
+  {0xDA55, 0x6E35}, //8501 #CJK UNIFIED IDEOGRAPH
+  {0xDA56, 0x6E36}, //8502 #CJK UNIFIED IDEOGRAPH
+  {0xDA57, 0x6E5A}, //8503 #CJK UNIFIED IDEOGRAPH
+  {0xDA58, 0x7120}, //8504 #CJK UNIFIED IDEOGRAPH
+  {0xDA59, 0x711E}, //8505 #CJK UNIFIED IDEOGRAPH
+  {0xDA5A, 0x712F}, //8506 #CJK UNIFIED IDEOGRAPH
+  {0xDA5B, 0x70FB}, //8507 #CJK UNIFIED IDEOGRAPH
+  {0xDA5C, 0x712E}, //8508 #CJK UNIFIED IDEOGRAPH
+  {0xDA5D, 0x7131}, //8509 #CJK UNIFIED IDEOGRAPH
+  {0xDA5E, 0x7123}, //8510 #CJK UNIFIED IDEOGRAPH
+  {0xDA5F, 0x7125}, //8511 #CJK UNIFIED IDEOGRAPH
+  {0xDA60, 0x7122}, //8512 #CJK UNIFIED IDEOGRAPH
+  {0xDA61, 0x7132}, //8513 #CJK UNIFIED IDEOGRAPH
+  {0xDA62, 0x711F}, //8514 #CJK UNIFIED IDEOGRAPH
+  {0xDA63, 0x7128}, //8515 #CJK UNIFIED IDEOGRAPH
+  {0xDA64, 0x713A}, //8516 #CJK UNIFIED IDEOGRAPH
+  {0xDA65, 0x711B}, //8517 #CJK UNIFIED IDEOGRAPH
+  {0xDA66, 0x724B}, //8518 #CJK UNIFIED IDEOGRAPH
+  {0xDA67, 0x725A}, //8519 #CJK UNIFIED IDEOGRAPH
+  {0xDA68, 0x7288}, //8520 #CJK UNIFIED IDEOGRAPH
+  {0xDA69, 0x7289}, //8521 #CJK UNIFIED IDEOGRAPH
+  {0xDA6A, 0x7286}, //8522 #CJK UNIFIED IDEOGRAPH
+  {0xDA6B, 0x7285}, //8523 #CJK UNIFIED IDEOGRAPH
+  {0xDA6C, 0x728B}, //8524 #CJK UNIFIED IDEOGRAPH
+  {0xDA6D, 0x7312}, //8525 #CJK UNIFIED IDEOGRAPH
+  {0xDA6E, 0x730B}, //8526 #CJK UNIFIED IDEOGRAPH
+  {0xDA6F, 0x7330}, //8527 #CJK UNIFIED IDEOGRAPH
+  {0xDA70, 0x7322}, //8528 #CJK UNIFIED IDEOGRAPH
+  {0xDA71, 0x7331}, //8529 #CJK UNIFIED IDEOGRAPH
+  {0xDA72, 0x7333}, //8530 #CJK UNIFIED IDEOGRAPH
+  {0xDA73, 0x7327}, //8531 #CJK UNIFIED IDEOGRAPH
+  {0xDA74, 0x7332}, //8532 #CJK UNIFIED IDEOGRAPH
+  {0xDA75, 0x732D}, //8533 #CJK UNIFIED IDEOGRAPH
+  {0xDA76, 0x7326}, //8534 #CJK UNIFIED IDEOGRAPH
+  {0xDA77, 0x7323}, //8535 #CJK UNIFIED IDEOGRAPH
+  {0xDA78, 0x7335}, //8536 #CJK UNIFIED IDEOGRAPH
+  {0xDA79, 0x730C}, //8537 #CJK UNIFIED IDEOGRAPH
+  {0xDA7A, 0x742E}, //8538 #CJK UNIFIED IDEOGRAPH
+  {0xDA7B, 0x742C}, //8539 #CJK UNIFIED IDEOGRAPH
+  {0xDA7C, 0x7430}, //8540 #CJK UNIFIED IDEOGRAPH
+  {0xDA7D, 0x742B}, //8541 #CJK UNIFIED IDEOGRAPH
+  {0xDA7E, 0x7416}, //8542 #CJK UNIFIED IDEOGRAPH
+  {0xDAA1, 0x741A}, //8543 #CJK UNIFIED IDEOGRAPH
+  {0xDAA2, 0x7421}, //8544 #CJK UNIFIED IDEOGRAPH
+  {0xDAA3, 0x742D}, //8545 #CJK UNIFIED IDEOGRAPH
+  {0xDAA4, 0x7431}, //8546 #CJK UNIFIED IDEOGRAPH
+  {0xDAA5, 0x7424}, //8547 #CJK UNIFIED IDEOGRAPH
+  {0xDAA6, 0x7423}, //8548 #CJK UNIFIED IDEOGRAPH
+  {0xDAA7, 0x741D}, //8549 #CJK UNIFIED IDEOGRAPH
+  {0xDAA8, 0x7429}, //8550 #CJK UNIFIED IDEOGRAPH
+  {0xDAA9, 0x7420}, //8551 #CJK UNIFIED IDEOGRAPH
+  {0xDAAA, 0x7432}, //8552 #CJK UNIFIED IDEOGRAPH
+  {0xDAAB, 0x74FB}, //8553 #CJK UNIFIED IDEOGRAPH
+  {0xDAAC, 0x752F}, //8554 #CJK UNIFIED IDEOGRAPH
+  {0xDAAD, 0x756F}, //8555 #CJK UNIFIED IDEOGRAPH
+  {0xDAAE, 0x756C}, //8556 #CJK UNIFIED IDEOGRAPH
+  {0xDAAF, 0x75E7}, //8557 #CJK UNIFIED IDEOGRAPH
+  {0xDAB0, 0x75DA}, //8558 #CJK UNIFIED IDEOGRAPH
+  {0xDAB1, 0x75E1}, //8559 #CJK UNIFIED IDEOGRAPH
+  {0xDAB2, 0x75E6}, //8560 #CJK UNIFIED IDEOGRAPH
+  {0xDAB3, 0x75DD}, //8561 #CJK UNIFIED IDEOGRAPH
+  {0xDAB4, 0x75DF}, //8562 #CJK UNIFIED IDEOGRAPH
+  {0xDAB5, 0x75E4}, //8563 #CJK UNIFIED IDEOGRAPH
+  {0xDAB6, 0x75D7}, //8564 #CJK UNIFIED IDEOGRAPH
+  {0xDAB7, 0x7695}, //8565 #CJK UNIFIED IDEOGRAPH
+  {0xDAB8, 0x7692}, //8566 #CJK UNIFIED IDEOGRAPH
+  {0xDAB9, 0x76DA}, //8567 #CJK UNIFIED IDEOGRAPH
+  {0xDABA, 0x7746}, //8568 #CJK UNIFIED IDEOGRAPH
+  {0xDABB, 0x7747}, //8569 #CJK UNIFIED IDEOGRAPH
+  {0xDABC, 0x7744}, //8570 #CJK UNIFIED IDEOGRAPH
+  {0xDABD, 0x774D}, //8571 #CJK UNIFIED IDEOGRAPH
+  {0xDABE, 0x7745}, //8572 #CJK UNIFIED IDEOGRAPH
+  {0xDABF, 0x774A}, //8573 #CJK UNIFIED IDEOGRAPH
+  {0xDAC0, 0x774E}, //8574 #CJK UNIFIED IDEOGRAPH
+  {0xDAC1, 0x774B}, //8575 #CJK UNIFIED IDEOGRAPH
+  {0xDAC2, 0x774C}, //8576 #CJK UNIFIED IDEOGRAPH
+  {0xDAC3, 0x77DE}, //8577 #CJK UNIFIED IDEOGRAPH
+  {0xDAC4, 0x77EC}, //8578 #CJK UNIFIED IDEOGRAPH
+  {0xDAC5, 0x7860}, //8579 #CJK UNIFIED IDEOGRAPH
+  {0xDAC6, 0x7864}, //8580 #CJK UNIFIED IDEOGRAPH
+  {0xDAC7, 0x7865}, //8581 #CJK UNIFIED IDEOGRAPH
+  {0xDAC8, 0x785C}, //8582 #CJK UNIFIED IDEOGRAPH
+  {0xDAC9, 0x786D}, //8583 #CJK UNIFIED IDEOGRAPH
+  {0xDACA, 0x7871}, //8584 #CJK UNIFIED IDEOGRAPH
+  {0xDACB, 0x786A}, //8585 #CJK UNIFIED IDEOGRAPH
+  {0xDACC, 0x786E}, //8586 #CJK UNIFIED IDEOGRAPH
+  {0xDACD, 0x7870}, //8587 #CJK UNIFIED IDEOGRAPH
+  {0xDACE, 0x7869}, //8588 #CJK UNIFIED IDEOGRAPH
+  {0xDACF, 0x7868}, //8589 #CJK UNIFIED IDEOGRAPH
+  {0xDAD0, 0x785E}, //8590 #CJK UNIFIED IDEOGRAPH
+  {0xDAD1, 0x7862}, //8591 #CJK UNIFIED IDEOGRAPH
+  {0xDAD2, 0x7974}, //8592 #CJK UNIFIED IDEOGRAPH
+  {0xDAD3, 0x7973}, //8593 #CJK UNIFIED IDEOGRAPH
+  {0xDAD4, 0x7972}, //8594 #CJK UNIFIED IDEOGRAPH
+  {0xDAD5, 0x7970}, //8595 #CJK UNIFIED IDEOGRAPH
+  {0xDAD6, 0x7A02}, //8596 #CJK UNIFIED IDEOGRAPH
+  {0xDAD7, 0x7A0A}, //8597 #CJK UNIFIED IDEOGRAPH
+  {0xDAD8, 0x7A03}, //8598 #CJK UNIFIED IDEOGRAPH
+  {0xDAD9, 0x7A0C}, //8599 #CJK UNIFIED IDEOGRAPH
+  {0xDADA, 0x7A04}, //8600 #CJK UNIFIED IDEOGRAPH
+  {0xDADB, 0x7A99}, //8601 #CJK UNIFIED IDEOGRAPH
+  {0xDADC, 0x7AE6}, //8602 #CJK UNIFIED IDEOGRAPH
+  {0xDADD, 0x7AE4}, //8603 #CJK UNIFIED IDEOGRAPH
+  {0xDADE, 0x7B4A}, //8604 #CJK UNIFIED IDEOGRAPH
+  {0xDADF, 0x7B3B}, //8605 #CJK UNIFIED IDEOGRAPH
+  {0xDAE0, 0x7B44}, //8606 #CJK UNIFIED IDEOGRAPH
+  {0xDAE1, 0x7B48}, //8607 #CJK UNIFIED IDEOGRAPH
+  {0xDAE2, 0x7B4C}, //8608 #CJK UNIFIED IDEOGRAPH
+  {0xDAE3, 0x7B4E}, //8609 #CJK UNIFIED IDEOGRAPH
+  {0xDAE4, 0x7B40}, //8610 #CJK UNIFIED IDEOGRAPH
+  {0xDAE5, 0x7B58}, //8611 #CJK UNIFIED IDEOGRAPH
+  {0xDAE6, 0x7B45}, //8612 #CJK UNIFIED IDEOGRAPH
+  {0xDAE7, 0x7CA2}, //8613 #CJK UNIFIED IDEOGRAPH
+  {0xDAE8, 0x7C9E}, //8614 #CJK UNIFIED IDEOGRAPH
+  {0xDAE9, 0x7CA8}, //8615 #CJK UNIFIED IDEOGRAPH
+  {0xDAEA, 0x7CA1}, //8616 #CJK UNIFIED IDEOGRAPH
+  {0xDAEB, 0x7D58}, //8617 #CJK UNIFIED IDEOGRAPH
+  {0xDAEC, 0x7D6F}, //8618 #CJK UNIFIED IDEOGRAPH
+  {0xDAED, 0x7D63}, //8619 #CJK UNIFIED IDEOGRAPH
+  {0xDAEE, 0x7D53}, //8620 #CJK UNIFIED IDEOGRAPH
+  {0xDAEF, 0x7D56}, //8621 #CJK UNIFIED IDEOGRAPH
+  {0xDAF0, 0x7D67}, //8622 #CJK UNIFIED IDEOGRAPH
+  {0xDAF1, 0x7D6A}, //8623 #CJK UNIFIED IDEOGRAPH
+  {0xDAF2, 0x7D4F}, //8624 #CJK UNIFIED IDEOGRAPH
+  {0xDAF3, 0x7D6D}, //8625 #CJK UNIFIED IDEOGRAPH
+  {0xDAF4, 0x7D5C}, //8626 #CJK UNIFIED IDEOGRAPH
+  {0xDAF5, 0x7D6B}, //8627 #CJK UNIFIED IDEOGRAPH
+  {0xDAF6, 0x7D52}, //8628 #CJK UNIFIED IDEOGRAPH
+  {0xDAF7, 0x7D54}, //8629 #CJK UNIFIED IDEOGRAPH
+  {0xDAF8, 0x7D69}, //8630 #CJK UNIFIED IDEOGRAPH
+  {0xDAF9, 0x7D51}, //8631 #CJK UNIFIED IDEOGRAPH
+  {0xDAFA, 0x7D5F}, //8632 #CJK UNIFIED IDEOGRAPH
+  {0xDAFB, 0x7D4E}, //8633 #CJK UNIFIED IDEOGRAPH
+  {0xDAFC, 0x7F3E}, //8634 #CJK UNIFIED IDEOGRAPH
+  {0xDAFD, 0x7F3F}, //8635 #CJK UNIFIED IDEOGRAPH
+  {0xDAFE, 0x7F65}, //8636 #CJK UNIFIED IDEOGRAPH
+  {0xDB40, 0x7F66}, //8637 #CJK UNIFIED IDEOGRAPH
+  {0xDB41, 0x7FA2}, //8638 #CJK UNIFIED IDEOGRAPH
+  {0xDB42, 0x7FA0}, //8639 #CJK UNIFIED IDEOGRAPH
+  {0xDB43, 0x7FA1}, //8640 #CJK UNIFIED IDEOGRAPH
+  {0xDB44, 0x7FD7}, //8641 #CJK UNIFIED IDEOGRAPH
+  {0xDB45, 0x8051}, //8642 #CJK UNIFIED IDEOGRAPH
+  {0xDB46, 0x804F}, //8643 #CJK UNIFIED IDEOGRAPH
+  {0xDB47, 0x8050}, //8644 #CJK UNIFIED IDEOGRAPH
+  {0xDB48, 0x80FE}, //8645 #CJK UNIFIED IDEOGRAPH
+  {0xDB49, 0x80D4}, //8646 #CJK UNIFIED IDEOGRAPH
+  {0xDB4A, 0x8143}, //8647 #CJK UNIFIED IDEOGRAPH
+  {0xDB4B, 0x814A}, //8648 #CJK UNIFIED IDEOGRAPH
+  {0xDB4C, 0x8152}, //8649 #CJK UNIFIED IDEOGRAPH
+  {0xDB4D, 0x814F}, //8650 #CJK UNIFIED IDEOGRAPH
+  {0xDB4E, 0x8147}, //8651 #CJK UNIFIED IDEOGRAPH
+  {0xDB4F, 0x813D}, //8652 #CJK UNIFIED IDEOGRAPH
+  {0xDB50, 0x814D}, //8653 #CJK UNIFIED IDEOGRAPH
+  {0xDB51, 0x813A}, //8654 #CJK UNIFIED IDEOGRAPH
+  {0xDB52, 0x81E6}, //8655 #CJK UNIFIED IDEOGRAPH
+  {0xDB53, 0x81EE}, //8656 #CJK UNIFIED IDEOGRAPH
+  {0xDB54, 0x81F7}, //8657 #CJK UNIFIED IDEOGRAPH
+  {0xDB55, 0x81F8}, //8658 #CJK UNIFIED IDEOGRAPH
+  {0xDB56, 0x81F9}, //8659 #CJK UNIFIED IDEOGRAPH
+  {0xDB57, 0x8204}, //8660 #CJK UNIFIED IDEOGRAPH
+  {0xDB58, 0x823C}, //8661 #CJK UNIFIED IDEOGRAPH
+  {0xDB59, 0x823D}, //8662 #CJK UNIFIED IDEOGRAPH
+  {0xDB5A, 0x823F}, //8663 #CJK UNIFIED IDEOGRAPH
+  {0xDB5B, 0x8275}, //8664 #CJK UNIFIED IDEOGRAPH
+  {0xDB5C, 0x833B}, //8665 #CJK UNIFIED IDEOGRAPH
+  {0xDB5D, 0x83CF}, //8666 #CJK UNIFIED IDEOGRAPH
+  {0xDB5E, 0x83F9}, //8667 #CJK UNIFIED IDEOGRAPH
+  {0xDB5F, 0x8423}, //8668 #CJK UNIFIED IDEOGRAPH
+  {0xDB60, 0x83C0}, //8669 #CJK UNIFIED IDEOGRAPH
+  {0xDB61, 0x83E8}, //8670 #CJK UNIFIED IDEOGRAPH
+  {0xDB62, 0x8412}, //8671 #CJK UNIFIED IDEOGRAPH
+  {0xDB63, 0x83E7}, //8672 #CJK UNIFIED IDEOGRAPH
+  {0xDB64, 0x83E4}, //8673 #CJK UNIFIED IDEOGRAPH
+  {0xDB65, 0x83FC}, //8674 #CJK UNIFIED IDEOGRAPH
+  {0xDB66, 0x83F6}, //8675 #CJK UNIFIED IDEOGRAPH
+  {0xDB67, 0x8410}, //8676 #CJK UNIFIED IDEOGRAPH
+  {0xDB68, 0x83C6}, //8677 #CJK UNIFIED IDEOGRAPH
+  {0xDB69, 0x83C8}, //8678 #CJK UNIFIED IDEOGRAPH
+  {0xDB6A, 0x83EB}, //8679 #CJK UNIFIED IDEOGRAPH
+  {0xDB6B, 0x83E3}, //8680 #CJK UNIFIED IDEOGRAPH
+  {0xDB6C, 0x83BF}, //8681 #CJK UNIFIED IDEOGRAPH
+  {0xDB6D, 0x8401}, //8682 #CJK UNIFIED IDEOGRAPH
+  {0xDB6E, 0x83DD}, //8683 #CJK UNIFIED IDEOGRAPH
+  {0xDB6F, 0x83E5}, //8684 #CJK UNIFIED IDEOGRAPH
+  {0xDB70, 0x83D8}, //8685 #CJK UNIFIED IDEOGRAPH
+  {0xDB71, 0x83FF}, //8686 #CJK UNIFIED IDEOGRAPH
+  {0xDB72, 0x83E1}, //8687 #CJK UNIFIED IDEOGRAPH
+  {0xDB73, 0x83CB}, //8688 #CJK UNIFIED IDEOGRAPH
+  {0xDB74, 0x83CE}, //8689 #CJK UNIFIED IDEOGRAPH
+  {0xDB75, 0x83D6}, //8690 #CJK UNIFIED IDEOGRAPH
+  {0xDB76, 0x83F5}, //8691 #CJK UNIFIED IDEOGRAPH
+  {0xDB77, 0x83C9}, //8692 #CJK UNIFIED IDEOGRAPH
+  {0xDB78, 0x8409}, //8693 #CJK UNIFIED IDEOGRAPH
+  {0xDB79, 0x840F}, //8694 #CJK UNIFIED IDEOGRAPH
+  {0xDB7A, 0x83DE}, //8695 #CJK UNIFIED IDEOGRAPH
+  {0xDB7B, 0x8411}, //8696 #CJK UNIFIED IDEOGRAPH
+  {0xDB7C, 0x8406}, //8697 #CJK UNIFIED IDEOGRAPH
+  {0xDB7D, 0x83C2}, //8698 #CJK UNIFIED IDEOGRAPH
+  {0xDB7E, 0x83F3}, //8699 #CJK UNIFIED IDEOGRAPH
+  {0xDBA1, 0x83D5}, //8700 #CJK UNIFIED IDEOGRAPH
+  {0xDBA2, 0x83FA}, //8701 #CJK UNIFIED IDEOGRAPH
+  {0xDBA3, 0x83C7}, //8702 #CJK UNIFIED IDEOGRAPH
+  {0xDBA4, 0x83D1}, //8703 #CJK UNIFIED IDEOGRAPH
+  {0xDBA5, 0x83EA}, //8704 #CJK UNIFIED IDEOGRAPH
+  {0xDBA6, 0x8413}, //8705 #CJK UNIFIED IDEOGRAPH
+  {0xDBA7, 0x83C3}, //8706 #CJK UNIFIED IDEOGRAPH
+  {0xDBA8, 0x83EC}, //8707 #CJK UNIFIED IDEOGRAPH
+  {0xDBA9, 0x83EE}, //8708 #CJK UNIFIED IDEOGRAPH
+  {0xDBAA, 0x83C4}, //8709 #CJK UNIFIED IDEOGRAPH
+  {0xDBAB, 0x83FB}, //8710 #CJK UNIFIED IDEOGRAPH
+  {0xDBAC, 0x83D7}, //8711 #CJK UNIFIED IDEOGRAPH
+  {0xDBAD, 0x83E2}, //8712 #CJK UNIFIED IDEOGRAPH
+  {0xDBAE, 0x841B}, //8713 #CJK UNIFIED IDEOGRAPH
+  {0xDBAF, 0x83DB}, //8714 #CJK UNIFIED IDEOGRAPH
+  {0xDBB0, 0x83FE}, //8715 #CJK UNIFIED IDEOGRAPH
+  {0xDBB1, 0x86D8}, //8716 #CJK UNIFIED IDEOGRAPH
+  {0xDBB2, 0x86E2}, //8717 #CJK UNIFIED IDEOGRAPH
+  {0xDBB3, 0x86E6}, //8718 #CJK UNIFIED IDEOGRAPH
+  {0xDBB4, 0x86D3}, //8719 #CJK UNIFIED IDEOGRAPH
+  {0xDBB5, 0x86E3}, //8720 #CJK UNIFIED IDEOGRAPH
+  {0xDBB6, 0x86DA}, //8721 #CJK UNIFIED IDEOGRAPH
+  {0xDBB7, 0x86EA}, //8722 #CJK UNIFIED IDEOGRAPH
+  {0xDBB8, 0x86DD}, //8723 #CJK UNIFIED IDEOGRAPH
+  {0xDBB9, 0x86EB}, //8724 #CJK UNIFIED IDEOGRAPH
+  {0xDBBA, 0x86DC}, //8725 #CJK UNIFIED IDEOGRAPH
+  {0xDBBB, 0x86EC}, //8726 #CJK UNIFIED IDEOGRAPH
+  {0xDBBC, 0x86E9}, //8727 #CJK UNIFIED IDEOGRAPH
+  {0xDBBD, 0x86D7}, //8728 #CJK UNIFIED IDEOGRAPH
+  {0xDBBE, 0x86E8}, //8729 #CJK UNIFIED IDEOGRAPH
+  {0xDBBF, 0x86D1}, //8730 #CJK UNIFIED IDEOGRAPH
+  {0xDBC0, 0x8848}, //8731 #CJK UNIFIED IDEOGRAPH
+  {0xDBC1, 0x8856}, //8732 #CJK UNIFIED IDEOGRAPH
+  {0xDBC2, 0x8855}, //8733 #CJK UNIFIED IDEOGRAPH
+  {0xDBC3, 0x88BA}, //8734 #CJK UNIFIED IDEOGRAPH
+  {0xDBC4, 0x88D7}, //8735 #CJK UNIFIED IDEOGRAPH
+  {0xDBC5, 0x88B9}, //8736 #CJK UNIFIED IDEOGRAPH
+  {0xDBC6, 0x88B8}, //8737 #CJK UNIFIED IDEOGRAPH
+  {0xDBC7, 0x88C0}, //8738 #CJK UNIFIED IDEOGRAPH
+  {0xDBC8, 0x88BE}, //8739 #CJK UNIFIED IDEOGRAPH
+  {0xDBC9, 0x88B6}, //8740 #CJK UNIFIED IDEOGRAPH
+  {0xDBCA, 0x88BC}, //8741 #CJK UNIFIED IDEOGRAPH
+  {0xDBCB, 0x88B7}, //8742 #CJK UNIFIED IDEOGRAPH
+  {0xDBCC, 0x88BD}, //8743 #CJK UNIFIED IDEOGRAPH
+  {0xDBCD, 0x88B2}, //8744 #CJK UNIFIED IDEOGRAPH
+  {0xDBCE, 0x8901}, //8745 #CJK UNIFIED IDEOGRAPH
+  {0xDBCF, 0x88C9}, //8746 #CJK UNIFIED IDEOGRAPH
+  {0xDBD0, 0x8995}, //8747 #CJK UNIFIED IDEOGRAPH
+  {0xDBD1, 0x8998}, //8748 #CJK UNIFIED IDEOGRAPH
+  {0xDBD2, 0x8997}, //8749 #CJK UNIFIED IDEOGRAPH
+  {0xDBD3, 0x89DD}, //8750 #CJK UNIFIED IDEOGRAPH
+  {0xDBD4, 0x89DA}, //8751 #CJK UNIFIED IDEOGRAPH
+  {0xDBD5, 0x89DB}, //8752 #CJK UNIFIED IDEOGRAPH
+  {0xDBD6, 0x8A4E}, //8753 #CJK UNIFIED IDEOGRAPH
+  {0xDBD7, 0x8A4D}, //8754 #CJK UNIFIED IDEOGRAPH
+  {0xDBD8, 0x8A39}, //8755 #CJK UNIFIED IDEOGRAPH
+  {0xDBD9, 0x8A59}, //8756 #CJK UNIFIED IDEOGRAPH
+  {0xDBDA, 0x8A40}, //8757 #CJK UNIFIED IDEOGRAPH
+  {0xDBDB, 0x8A57}, //8758 #CJK UNIFIED IDEOGRAPH
+  {0xDBDC, 0x8A58}, //8759 #CJK UNIFIED IDEOGRAPH
+  {0xDBDD, 0x8A44}, //8760 #CJK UNIFIED IDEOGRAPH
+  {0xDBDE, 0x8A45}, //8761 #CJK UNIFIED IDEOGRAPH
+  {0xDBDF, 0x8A52}, //8762 #CJK UNIFIED IDEOGRAPH
+  {0xDBE0, 0x8A48}, //8763 #CJK UNIFIED IDEOGRAPH
+  {0xDBE1, 0x8A51}, //8764 #CJK UNIFIED IDEOGRAPH
+  {0xDBE2, 0x8A4A}, //8765 #CJK UNIFIED IDEOGRAPH
+  {0xDBE3, 0x8A4C}, //8766 #CJK UNIFIED IDEOGRAPH
+  {0xDBE4, 0x8A4F}, //8767 #CJK UNIFIED IDEOGRAPH
+  {0xDBE5, 0x8C5F}, //8768 #CJK UNIFIED IDEOGRAPH
+  {0xDBE6, 0x8C81}, //8769 #CJK UNIFIED IDEOGRAPH
+  {0xDBE7, 0x8C80}, //8770 #CJK UNIFIED IDEOGRAPH
+  {0xDBE8, 0x8CBA}, //8771 #CJK UNIFIED IDEOGRAPH
+  {0xDBE9, 0x8CBE}, //8772 #CJK UNIFIED IDEOGRAPH
+  {0xDBEA, 0x8CB0}, //8773 #CJK UNIFIED IDEOGRAPH
+  {0xDBEB, 0x8CB9}, //8774 #CJK UNIFIED IDEOGRAPH
+  {0xDBEC, 0x8CB5}, //8775 #CJK UNIFIED IDEOGRAPH
+  {0xDBED, 0x8D84}, //8776 #CJK UNIFIED IDEOGRAPH
+  {0xDBEE, 0x8D80}, //8777 #CJK UNIFIED IDEOGRAPH
+  {0xDBEF, 0x8D89}, //8778 #CJK UNIFIED IDEOGRAPH
+  {0xDBF0, 0x8DD8}, //8779 #CJK UNIFIED IDEOGRAPH
+  {0xDBF1, 0x8DD3}, //8780 #CJK UNIFIED IDEOGRAPH
+  {0xDBF2, 0x8DCD}, //8781 #CJK UNIFIED IDEOGRAPH
+  {0xDBF3, 0x8DC7}, //8782 #CJK UNIFIED IDEOGRAPH
+  {0xDBF4, 0x8DD6}, //8783 #CJK UNIFIED IDEOGRAPH
+  {0xDBF5, 0x8DDC}, //8784 #CJK UNIFIED IDEOGRAPH
+  {0xDBF6, 0x8DCF}, //8785 #CJK UNIFIED IDEOGRAPH
+  {0xDBF7, 0x8DD5}, //8786 #CJK UNIFIED IDEOGRAPH
+  {0xDBF8, 0x8DD9}, //8787 #CJK UNIFIED IDEOGRAPH
+  {0xDBF9, 0x8DC8}, //8788 #CJK UNIFIED IDEOGRAPH
+  {0xDBFA, 0x8DD7}, //8789 #CJK UNIFIED IDEOGRAPH
+  {0xDBFB, 0x8DC5}, //8790 #CJK UNIFIED IDEOGRAPH
+  {0xDBFC, 0x8EEF}, //8791 #CJK UNIFIED IDEOGRAPH
+  {0xDBFD, 0x8EF7}, //8792 #CJK UNIFIED IDEOGRAPH
+  {0xDBFE, 0x8EFA}, //8793 #CJK UNIFIED IDEOGRAPH
+  {0xDC40, 0x8EF9}, //8794 #CJK UNIFIED IDEOGRAPH
+  {0xDC41, 0x8EE6}, //8795 #CJK UNIFIED IDEOGRAPH
+  {0xDC42, 0x8EEE}, //8796 #CJK UNIFIED IDEOGRAPH
+  {0xDC43, 0x8EE5}, //8797 #CJK UNIFIED IDEOGRAPH
+  {0xDC44, 0x8EF5}, //8798 #CJK UNIFIED IDEOGRAPH
+  {0xDC45, 0x8EE7}, //8799 #CJK UNIFIED IDEOGRAPH
+  {0xDC46, 0x8EE8}, //8800 #CJK UNIFIED IDEOGRAPH
+  {0xDC47, 0x8EF6}, //8801 #CJK UNIFIED IDEOGRAPH
+  {0xDC48, 0x8EEB}, //8802 #CJK UNIFIED IDEOGRAPH
+  {0xDC49, 0x8EF1}, //8803 #CJK UNIFIED IDEOGRAPH
+  {0xDC4A, 0x8EEC}, //8804 #CJK UNIFIED IDEOGRAPH
+  {0xDC4B, 0x8EF4}, //8805 #CJK UNIFIED IDEOGRAPH
+  {0xDC4C, 0x8EE9}, //8806 #CJK UNIFIED IDEOGRAPH
+  {0xDC4D, 0x902D}, //8807 #CJK UNIFIED IDEOGRAPH
+  {0xDC4E, 0x9034}, //8808 #CJK UNIFIED IDEOGRAPH
+  {0xDC4F, 0x902F}, //8809 #CJK UNIFIED IDEOGRAPH
+  {0xDC50, 0x9106}, //8810 #CJK UNIFIED IDEOGRAPH
+  {0xDC51, 0x912C}, //8811 #CJK UNIFIED IDEOGRAPH
+  {0xDC52, 0x9104}, //8812 #CJK UNIFIED IDEOGRAPH
+  {0xDC53, 0x90FF}, //8813 #CJK UNIFIED IDEOGRAPH
+  {0xDC54, 0x90FC}, //8814 #CJK UNIFIED IDEOGRAPH
+  {0xDC55, 0x9108}, //8815 #CJK UNIFIED IDEOGRAPH
+  {0xDC56, 0x90F9}, //8816 #CJK UNIFIED IDEOGRAPH
+  {0xDC57, 0x90FB}, //8817 #CJK UNIFIED IDEOGRAPH
+  {0xDC58, 0x9101}, //8818 #CJK UNIFIED IDEOGRAPH
+  {0xDC59, 0x9100}, //8819 #CJK UNIFIED IDEOGRAPH
+  {0xDC5A, 0x9107}, //8820 #CJK UNIFIED IDEOGRAPH
+  {0xDC5B, 0x9105}, //8821 #CJK UNIFIED IDEOGRAPH
+  {0xDC5C, 0x9103}, //8822 #CJK UNIFIED IDEOGRAPH
+  {0xDC5D, 0x9161}, //8823 #CJK UNIFIED IDEOGRAPH
+  {0xDC5E, 0x9164}, //8824 #CJK UNIFIED IDEOGRAPH
+  {0xDC5F, 0x915F}, //8825 #CJK UNIFIED IDEOGRAPH
+  {0xDC60, 0x9162}, //8826 #CJK UNIFIED IDEOGRAPH
+  {0xDC61, 0x9160}, //8827 #CJK UNIFIED IDEOGRAPH
+  {0xDC62, 0x9201}, //8828 #CJK UNIFIED IDEOGRAPH
+  {0xDC63, 0x920A}, //8829 #CJK UNIFIED IDEOGRAPH
+  {0xDC64, 0x9225}, //8830 #CJK UNIFIED IDEOGRAPH
+  {0xDC65, 0x9203}, //8831 #CJK UNIFIED IDEOGRAPH
+  {0xDC66, 0x921A}, //8832 #CJK UNIFIED IDEOGRAPH
+  {0xDC67, 0x9226}, //8833 #CJK UNIFIED IDEOGRAPH
+  {0xDC68, 0x920F}, //8834 #CJK UNIFIED IDEOGRAPH
+  {0xDC69, 0x920C}, //8835 #CJK UNIFIED IDEOGRAPH
+  {0xDC6A, 0x9200}, //8836 #CJK UNIFIED IDEOGRAPH
+  {0xDC6B, 0x9212}, //8837 #CJK UNIFIED IDEOGRAPH
+  {0xDC6C, 0x91FF}, //8838 #CJK UNIFIED IDEOGRAPH
+  {0xDC6D, 0x91FD}, //8839 #CJK UNIFIED IDEOGRAPH
+  {0xDC6E, 0x9206}, //8840 #CJK UNIFIED IDEOGRAPH
+  {0xDC6F, 0x9204}, //8841 #CJK UNIFIED IDEOGRAPH
+  {0xDC70, 0x9227}, //8842 #CJK UNIFIED IDEOGRAPH
+  {0xDC71, 0x9202}, //8843 #CJK UNIFIED IDEOGRAPH
+  {0xDC72, 0x921C}, //8844 #CJK UNIFIED IDEOGRAPH
+  {0xDC73, 0x9224}, //8845 #CJK UNIFIED IDEOGRAPH
+  {0xDC74, 0x9219}, //8846 #CJK UNIFIED IDEOGRAPH
+  {0xDC75, 0x9217}, //8847 #CJK UNIFIED IDEOGRAPH
+  {0xDC76, 0x9205}, //8848 #CJK UNIFIED IDEOGRAPH
+  {0xDC77, 0x9216}, //8849 #CJK UNIFIED IDEOGRAPH
+  {0xDC78, 0x957B}, //8850 #CJK UNIFIED IDEOGRAPH
+  {0xDC79, 0x958D}, //8851 #CJK UNIFIED IDEOGRAPH
+  {0xDC7A, 0x958C}, //8852 #CJK UNIFIED IDEOGRAPH
+  {0xDC7B, 0x9590}, //8853 #CJK UNIFIED IDEOGRAPH
+  {0xDC7C, 0x9687}, //8854 #CJK UNIFIED IDEOGRAPH
+  {0xDC7D, 0x967E}, //8855 #CJK UNIFIED IDEOGRAPH
+  {0xDC7E, 0x9688}, //8856 #CJK UNIFIED IDEOGRAPH
+  {0xDCA1, 0x9689}, //8857 #CJK UNIFIED IDEOGRAPH
+  {0xDCA2, 0x9683}, //8858 #CJK UNIFIED IDEOGRAPH
+  {0xDCA3, 0x9680}, //8859 #CJK UNIFIED IDEOGRAPH
+  {0xDCA4, 0x96C2}, //8860 #CJK UNIFIED IDEOGRAPH
+  {0xDCA5, 0x96C8}, //8861 #CJK UNIFIED IDEOGRAPH
+  {0xDCA6, 0x96C3}, //8862 #CJK UNIFIED IDEOGRAPH
+  {0xDCA7, 0x96F1}, //8863 #CJK UNIFIED IDEOGRAPH
+  {0xDCA8, 0x96F0}, //8864 #CJK UNIFIED IDEOGRAPH
+  {0xDCA9, 0x976C}, //8865 #CJK UNIFIED IDEOGRAPH
+  {0xDCAA, 0x9770}, //8866 #CJK UNIFIED IDEOGRAPH
+  {0xDCAB, 0x976E}, //8867 #CJK UNIFIED IDEOGRAPH
+  {0xDCAC, 0x9807}, //8868 #CJK UNIFIED IDEOGRAPH
+  {0xDCAD, 0x98A9}, //8869 #CJK UNIFIED IDEOGRAPH
+  {0xDCAE, 0x98EB}, //8870 #CJK UNIFIED IDEOGRAPH
+  {0xDCAF, 0x9CE6}, //8871 #CJK UNIFIED IDEOGRAPH
+  {0xDCB0, 0x9EF9}, //8872 #CJK UNIFIED IDEOGRAPH
+  {0xDCB1, 0x4E83}, //8873 #CJK UNIFIED IDEOGRAPH
+  {0xDCB2, 0x4E84}, //8874 #CJK UNIFIED IDEOGRAPH
+  {0xDCB3, 0x4EB6}, //8875 #CJK UNIFIED IDEOGRAPH
+  {0xDCB4, 0x50BD}, //8876 #CJK UNIFIED IDEOGRAPH
+  {0xDCB5, 0x50BF}, //8877 #CJK UNIFIED IDEOGRAPH
+  {0xDCB6, 0x50C6}, //8878 #CJK UNIFIED IDEOGRAPH
+  {0xDCB7, 0x50AE}, //8879 #CJK UNIFIED IDEOGRAPH
+  {0xDCB8, 0x50C4}, //8880 #CJK UNIFIED IDEOGRAPH
+  {0xDCB9, 0x50CA}, //8881 #CJK UNIFIED IDEOGRAPH
+  {0xDCBA, 0x50B4}, //8882 #CJK UNIFIED IDEOGRAPH
+  {0xDCBB, 0x50C8}, //8883 #CJK UNIFIED IDEOGRAPH
+  {0xDCBC, 0x50C2}, //8884 #CJK UNIFIED IDEOGRAPH
+  {0xDCBD, 0x50B0}, //8885 #CJK UNIFIED IDEOGRAPH
+  {0xDCBE, 0x50C1}, //8886 #CJK UNIFIED IDEOGRAPH
+  {0xDCBF, 0x50BA}, //8887 #CJK UNIFIED IDEOGRAPH
+  {0xDCC0, 0x50B1}, //8888 #CJK UNIFIED IDEOGRAPH
+  {0xDCC1, 0x50CB}, //8889 #CJK UNIFIED IDEOGRAPH
+  {0xDCC2, 0x50C9}, //8890 #CJK UNIFIED IDEOGRAPH
+  {0xDCC3, 0x50B6}, //8891 #CJK UNIFIED IDEOGRAPH
+  {0xDCC4, 0x50B8}, //8892 #CJK UNIFIED IDEOGRAPH
+  {0xDCC5, 0x51D7}, //8893 #CJK UNIFIED IDEOGRAPH
+  {0xDCC6, 0x527A}, //8894 #CJK UNIFIED IDEOGRAPH
+  {0xDCC7, 0x5278}, //8895 #CJK UNIFIED IDEOGRAPH
+  {0xDCC8, 0x527B}, //8896 #CJK UNIFIED IDEOGRAPH
+  {0xDCC9, 0x527C}, //8897 #CJK UNIFIED IDEOGRAPH
+  {0xDCCA, 0x55C3}, //8898 #CJK UNIFIED IDEOGRAPH
+  {0xDCCB, 0x55DB}, //8899 #CJK UNIFIED IDEOGRAPH
+  {0xDCCC, 0x55CC}, //8900 #CJK UNIFIED IDEOGRAPH
+  {0xDCCD, 0x55D0}, //8901 #CJK UNIFIED IDEOGRAPH
+  {0xDCCE, 0x55CB}, //8902 #CJK UNIFIED IDEOGRAPH
+  {0xDCCF, 0x55CA}, //8903 #CJK UNIFIED IDEOGRAPH
+  {0xDCD0, 0x55DD}, //8904 #CJK UNIFIED IDEOGRAPH
+  {0xDCD1, 0x55C0}, //8905 #CJK UNIFIED IDEOGRAPH
+  {0xDCD2, 0x55D4}, //8906 #CJK UNIFIED IDEOGRAPH
+  {0xDCD3, 0x55C4}, //8907 #CJK UNIFIED IDEOGRAPH
+  {0xDCD4, 0x55E9}, //8908 #CJK UNIFIED IDEOGRAPH
+  {0xDCD5, 0x55BF}, //8909 #CJK UNIFIED IDEOGRAPH
+  {0xDCD6, 0x55D2}, //8910 #CJK UNIFIED IDEOGRAPH
+  {0xDCD7, 0x558D}, //8911 #CJK UNIFIED IDEOGRAPH
+  {0xDCD8, 0x55CF}, //8912 #CJK UNIFIED IDEOGRAPH
+  {0xDCD9, 0x55D5}, //8913 #CJK UNIFIED IDEOGRAPH
+  {0xDCDA, 0x55E2}, //8914 #CJK UNIFIED IDEOGRAPH
+  {0xDCDB, 0x55D6}, //8915 #CJK UNIFIED IDEOGRAPH
+  {0xDCDC, 0x55C8}, //8916 #CJK UNIFIED IDEOGRAPH
+  {0xDCDD, 0x55F2}, //8917 #CJK UNIFIED IDEOGRAPH
+  {0xDCDE, 0x55CD}, //8918 #CJK UNIFIED IDEOGRAPH
+  {0xDCDF, 0x55D9}, //8919 #CJK UNIFIED IDEOGRAPH
+  {0xDCE0, 0x55C2}, //8920 #CJK UNIFIED IDEOGRAPH
+  {0xDCE1, 0x5714}, //8921 #CJK UNIFIED IDEOGRAPH
+  {0xDCE2, 0x5853}, //8922 #CJK UNIFIED IDEOGRAPH
+  {0xDCE3, 0x5868}, //8923 #CJK UNIFIED IDEOGRAPH
+  {0xDCE4, 0x5864}, //8924 #CJK UNIFIED IDEOGRAPH
+  {0xDCE5, 0x584F}, //8925 #CJK UNIFIED IDEOGRAPH
+  {0xDCE6, 0x584D}, //8926 #CJK UNIFIED IDEOGRAPH
+  {0xDCE7, 0x5849}, //8927 #CJK UNIFIED IDEOGRAPH
+  {0xDCE8, 0x586F}, //8928 #CJK UNIFIED IDEOGRAPH
+  {0xDCE9, 0x5855}, //8929 #CJK UNIFIED IDEOGRAPH
+  {0xDCEA, 0x584E}, //8930 #CJK UNIFIED IDEOGRAPH
+  {0xDCEB, 0x585D}, //8931 #CJK UNIFIED IDEOGRAPH
+  {0xDCEC, 0x5859}, //8932 #CJK UNIFIED IDEOGRAPH
+  {0xDCED, 0x5865}, //8933 #CJK UNIFIED IDEOGRAPH
+  {0xDCEE, 0x585B}, //8934 #CJK UNIFIED IDEOGRAPH
+  {0xDCEF, 0x583D}, //8935 #CJK UNIFIED IDEOGRAPH
+  {0xDCF0, 0x5863}, //8936 #CJK UNIFIED IDEOGRAPH
+  {0xDCF1, 0x5871}, //8937 #CJK UNIFIED IDEOGRAPH
+  {0xDCF2, 0x58FC}, //8938 #CJK UNIFIED IDEOGRAPH
+  {0xDCF3, 0x5AC7}, //8939 #CJK UNIFIED IDEOGRAPH
+  {0xDCF4, 0x5AC4}, //8940 #CJK UNIFIED IDEOGRAPH
+  {0xDCF5, 0x5ACB}, //8941 #CJK UNIFIED IDEOGRAPH
+  {0xDCF6, 0x5ABA}, //8942 #CJK UNIFIED IDEOGRAPH
+  {0xDCF7, 0x5AB8}, //8943 #CJK UNIFIED IDEOGRAPH
+  {0xDCF8, 0x5AB1}, //8944 #CJK UNIFIED IDEOGRAPH
+  {0xDCF9, 0x5AB5}, //8945 #CJK UNIFIED IDEOGRAPH
+  {0xDCFA, 0x5AB0}, //8946 #CJK UNIFIED IDEOGRAPH
+  {0xDCFB, 0x5ABF}, //8947 #CJK UNIFIED IDEOGRAPH
+  {0xDCFC, 0x5AC8}, //8948 #CJK UNIFIED IDEOGRAPH
+  {0xDCFD, 0x5ABB}, //8949 #CJK UNIFIED IDEOGRAPH
+  {0xDCFE, 0x5AC6}, //8950 #CJK UNIFIED IDEOGRAPH
+  {0xDD40, 0x5AB7}, //8951 #CJK UNIFIED IDEOGRAPH
+  {0xDD41, 0x5AC0}, //8952 #CJK UNIFIED IDEOGRAPH
+  {0xDD42, 0x5ACA}, //8953 #CJK UNIFIED IDEOGRAPH
+  {0xDD43, 0x5AB4}, //8954 #CJK UNIFIED IDEOGRAPH
+  {0xDD44, 0x5AB6}, //8955 #CJK UNIFIED IDEOGRAPH
+  {0xDD45, 0x5ACD}, //8956 #CJK UNIFIED IDEOGRAPH
+  {0xDD46, 0x5AB9}, //8957 #CJK UNIFIED IDEOGRAPH
+  {0xDD47, 0x5A90}, //8958 #CJK UNIFIED IDEOGRAPH
+  {0xDD48, 0x5BD6}, //8959 #CJK UNIFIED IDEOGRAPH
+  {0xDD49, 0x5BD8}, //8960 #CJK UNIFIED IDEOGRAPH
+  {0xDD4A, 0x5BD9}, //8961 #CJK UNIFIED IDEOGRAPH
+  {0xDD4B, 0x5C1F}, //8962 #CJK UNIFIED IDEOGRAPH
+  {0xDD4C, 0x5C33}, //8963 #CJK UNIFIED IDEOGRAPH
+  {0xDD4D, 0x5D71}, //8964 #CJK UNIFIED IDEOGRAPH
+  {0xDD4E, 0x5D63}, //8965 #CJK UNIFIED IDEOGRAPH
+  {0xDD4F, 0x5D4A}, //8966 #CJK UNIFIED IDEOGRAPH
+  {0xDD50, 0x5D65}, //8967 #CJK UNIFIED IDEOGRAPH
+  {0xDD51, 0x5D72}, //8968 #CJK UNIFIED IDEOGRAPH
+  {0xDD52, 0x5D6C}, //8969 #CJK UNIFIED IDEOGRAPH
+  {0xDD53, 0x5D5E}, //8970 #CJK UNIFIED IDEOGRAPH
+  {0xDD54, 0x5D68}, //8971 #CJK UNIFIED IDEOGRAPH
+  {0xDD55, 0x5D67}, //8972 #CJK UNIFIED IDEOGRAPH
+  {0xDD56, 0x5D62}, //8973 #CJK UNIFIED IDEOGRAPH
+  {0xDD57, 0x5DF0}, //8974 #CJK UNIFIED IDEOGRAPH
+  {0xDD58, 0x5E4F}, //8975 #CJK UNIFIED IDEOGRAPH
+  {0xDD59, 0x5E4E}, //8976 #CJK UNIFIED IDEOGRAPH
+  {0xDD5A, 0x5E4A}, //8977 #CJK UNIFIED IDEOGRAPH
+  {0xDD5B, 0x5E4D}, //8978 #CJK UNIFIED IDEOGRAPH
+  {0xDD5C, 0x5E4B}, //8979 #CJK UNIFIED IDEOGRAPH
+  {0xDD5D, 0x5EC5}, //8980 #CJK UNIFIED IDEOGRAPH
+  {0xDD5E, 0x5ECC}, //8981 #CJK UNIFIED IDEOGRAPH
+  {0xDD5F, 0x5EC6}, //8982 #CJK UNIFIED IDEOGRAPH
+  {0xDD60, 0x5ECB}, //8983 #CJK UNIFIED IDEOGRAPH
+  {0xDD61, 0x5EC7}, //8984 #CJK UNIFIED IDEOGRAPH
+  {0xDD62, 0x5F40}, //8985 #CJK UNIFIED IDEOGRAPH
+  {0xDD63, 0x5FAF}, //8986 #CJK UNIFIED IDEOGRAPH
+  {0xDD64, 0x5FAD}, //8987 #CJK UNIFIED IDEOGRAPH
+  {0xDD65, 0x60F7}, //8988 #CJK UNIFIED IDEOGRAPH
+  {0xDD66, 0x6149}, //8989 #CJK UNIFIED IDEOGRAPH
+  {0xDD67, 0x614A}, //8990 #CJK UNIFIED IDEOGRAPH
+  {0xDD68, 0x612B}, //8991 #CJK UNIFIED IDEOGRAPH
+  {0xDD69, 0x6145}, //8992 #CJK UNIFIED IDEOGRAPH
+  {0xDD6A, 0x6136}, //8993 #CJK UNIFIED IDEOGRAPH
+  {0xDD6B, 0x6132}, //8994 #CJK UNIFIED IDEOGRAPH
+  {0xDD6C, 0x612E}, //8995 #CJK UNIFIED IDEOGRAPH
+  {0xDD6D, 0x6146}, //8996 #CJK UNIFIED IDEOGRAPH
+  {0xDD6E, 0x612F}, //8997 #CJK UNIFIED IDEOGRAPH
+  {0xDD6F, 0x614F}, //8998 #CJK UNIFIED IDEOGRAPH
+  {0xDD70, 0x6129}, //8999 #CJK UNIFIED IDEOGRAPH
+  {0xDD71, 0x6140}, //9000 #CJK UNIFIED IDEOGRAPH
+  {0xDD72, 0x6220}, //9001 #CJK UNIFIED IDEOGRAPH
+  {0xDD73, 0x9168}, //9002 #CJK UNIFIED IDEOGRAPH
+  {0xDD74, 0x6223}, //9003 #CJK UNIFIED IDEOGRAPH
+  {0xDD75, 0x6225}, //9004 #CJK UNIFIED IDEOGRAPH
+  {0xDD76, 0x6224}, //9005 #CJK UNIFIED IDEOGRAPH
+  {0xDD77, 0x63C5}, //9006 #CJK UNIFIED IDEOGRAPH
+  {0xDD78, 0x63F1}, //9007 #CJK UNIFIED IDEOGRAPH
+  {0xDD79, 0x63EB}, //9008 #CJK UNIFIED IDEOGRAPH
+  {0xDD7A, 0x6410}, //9009 #CJK UNIFIED IDEOGRAPH
+  {0xDD7B, 0x6412}, //9010 #CJK UNIFIED IDEOGRAPH
+  {0xDD7C, 0x6409}, //9011 #CJK UNIFIED IDEOGRAPH
+  {0xDD7D, 0x6420}, //9012 #CJK UNIFIED IDEOGRAPH
+  {0xDD7E, 0x6424}, //9013 #CJK UNIFIED IDEOGRAPH
+  {0xDDA1, 0x6433}, //9014 #CJK UNIFIED IDEOGRAPH
+  {0xDDA2, 0x6443}, //9015 #CJK UNIFIED IDEOGRAPH
+  {0xDDA3, 0x641F}, //9016 #CJK UNIFIED IDEOGRAPH
+  {0xDDA4, 0x6415}, //9017 #CJK UNIFIED IDEOGRAPH
+  {0xDDA5, 0x6418}, //9018 #CJK UNIFIED IDEOGRAPH
+  {0xDDA6, 0x6439}, //9019 #CJK UNIFIED IDEOGRAPH
+  {0xDDA7, 0x6437}, //9020 #CJK UNIFIED IDEOGRAPH
+  {0xDDA8, 0x6422}, //9021 #CJK UNIFIED IDEOGRAPH
+  {0xDDA9, 0x6423}, //9022 #CJK UNIFIED IDEOGRAPH
+  {0xDDAA, 0x640C}, //9023 #CJK UNIFIED IDEOGRAPH
+  {0xDDAB, 0x6426}, //9024 #CJK UNIFIED IDEOGRAPH
+  {0xDDAC, 0x6430}, //9025 #CJK UNIFIED IDEOGRAPH
+  {0xDDAD, 0x6428}, //9026 #CJK UNIFIED IDEOGRAPH
+  {0xDDAE, 0x6441}, //9027 #CJK UNIFIED IDEOGRAPH
+  {0xDDAF, 0x6435}, //9028 #CJK UNIFIED IDEOGRAPH
+  {0xDDB0, 0x642F}, //9029 #CJK UNIFIED IDEOGRAPH
+  {0xDDB1, 0x640A}, //9030 #CJK UNIFIED IDEOGRAPH
+  {0xDDB2, 0x641A}, //9031 #CJK UNIFIED IDEOGRAPH
+  {0xDDB3, 0x6440}, //9032 #CJK UNIFIED IDEOGRAPH
+  {0xDDB4, 0x6425}, //9033 #CJK UNIFIED IDEOGRAPH
+  {0xDDB5, 0x6427}, //9034 #CJK UNIFIED IDEOGRAPH
+  {0xDDB6, 0x640B}, //9035 #CJK UNIFIED IDEOGRAPH
+  {0xDDB7, 0x63E7}, //9036 #CJK UNIFIED IDEOGRAPH
+  {0xDDB8, 0x641B}, //9037 #CJK UNIFIED IDEOGRAPH
+  {0xDDB9, 0x642E}, //9038 #CJK UNIFIED IDEOGRAPH
+  {0xDDBA, 0x6421}, //9039 #CJK UNIFIED IDEOGRAPH
+  {0xDDBB, 0x640E}, //9040 #CJK UNIFIED IDEOGRAPH
+  {0xDDBC, 0x656F}, //9041 #CJK UNIFIED IDEOGRAPH
+  {0xDDBD, 0x6592}, //9042 #CJK UNIFIED IDEOGRAPH
+  {0xDDBE, 0x65D3}, //9043 #CJK UNIFIED IDEOGRAPH
+  {0xDDBF, 0x6686}, //9044 #CJK UNIFIED IDEOGRAPH
+  {0xDDC0, 0x668C}, //9045 #CJK UNIFIED IDEOGRAPH
+  {0xDDC1, 0x6695}, //9046 #CJK UNIFIED IDEOGRAPH
+  {0xDDC2, 0x6690}, //9047 #CJK UNIFIED IDEOGRAPH
+  {0xDDC3, 0x668B}, //9048 #CJK UNIFIED IDEOGRAPH
+  {0xDDC4, 0x668A}, //9049 #CJK UNIFIED IDEOGRAPH
+  {0xDDC5, 0x6699}, //9050 #CJK UNIFIED IDEOGRAPH
+  {0xDDC6, 0x6694}, //9051 #CJK UNIFIED IDEOGRAPH
+  {0xDDC7, 0x6678}, //9052 #CJK UNIFIED IDEOGRAPH
+  {0xDDC8, 0x6720}, //9053 #CJK UNIFIED IDEOGRAPH
+  {0xDDC9, 0x6966}, //9054 #CJK UNIFIED IDEOGRAPH
+  {0xDDCA, 0x695F}, //9055 #CJK UNIFIED IDEOGRAPH
+  {0xDDCB, 0x6938}, //9056 #CJK UNIFIED IDEOGRAPH
+  {0xDDCC, 0x694E}, //9057 #CJK UNIFIED IDEOGRAPH
+  {0xDDCD, 0x6962}, //9058 #CJK UNIFIED IDEOGRAPH
+  {0xDDCE, 0x6971}, //9059 #CJK UNIFIED IDEOGRAPH
+  {0xDDCF, 0x693F}, //9060 #CJK UNIFIED IDEOGRAPH
+  {0xDDD0, 0x6945}, //9061 #CJK UNIFIED IDEOGRAPH
+  {0xDDD1, 0x696A}, //9062 #CJK UNIFIED IDEOGRAPH
+  {0xDDD2, 0x6939}, //9063 #CJK UNIFIED IDEOGRAPH
+  {0xDDD3, 0x6942}, //9064 #CJK UNIFIED IDEOGRAPH
+  {0xDDD4, 0x6957}, //9065 #CJK UNIFIED IDEOGRAPH
+  {0xDDD5, 0x6959}, //9066 #CJK UNIFIED IDEOGRAPH
+  {0xDDD6, 0x697A}, //9067 #CJK UNIFIED IDEOGRAPH
+  {0xDDD7, 0x6948}, //9068 #CJK UNIFIED IDEOGRAPH
+  {0xDDD8, 0x6949}, //9069 #CJK UNIFIED IDEOGRAPH
+  {0xDDD9, 0x6935}, //9070 #CJK UNIFIED IDEOGRAPH
+  {0xDDDA, 0x696C}, //9071 #CJK UNIFIED IDEOGRAPH
+  {0xDDDB, 0x6933}, //9072 #CJK UNIFIED IDEOGRAPH
+  {0xDDDC, 0x693D}, //9073 #CJK UNIFIED IDEOGRAPH
+  {0xDDDD, 0x6965}, //9074 #CJK UNIFIED IDEOGRAPH
+  {0xDDDE, 0x68F0}, //9075 #CJK UNIFIED IDEOGRAPH
+  {0xDDDF, 0x6978}, //9076 #CJK UNIFIED IDEOGRAPH
+  {0xDDE0, 0x6934}, //9077 #CJK UNIFIED IDEOGRAPH
+  {0xDDE1, 0x6969}, //9078 #CJK UNIFIED IDEOGRAPH
+  {0xDDE2, 0x6940}, //9079 #CJK UNIFIED IDEOGRAPH
+  {0xDDE3, 0x696F}, //9080 #CJK UNIFIED IDEOGRAPH
+  {0xDDE4, 0x6944}, //9081 #CJK UNIFIED IDEOGRAPH
+  {0xDDE5, 0x6976}, //9082 #CJK UNIFIED IDEOGRAPH
+  {0xDDE6, 0x6958}, //9083 #CJK UNIFIED IDEOGRAPH
+  {0xDDE7, 0x6941}, //9084 #CJK UNIFIED IDEOGRAPH
+  {0xDDE8, 0x6974}, //9085 #CJK UNIFIED IDEOGRAPH
+  {0xDDE9, 0x694C}, //9086 #CJK UNIFIED IDEOGRAPH
+  {0xDDEA, 0x693B}, //9087 #CJK UNIFIED IDEOGRAPH
+  {0xDDEB, 0x694B}, //9088 #CJK UNIFIED IDEOGRAPH
+  {0xDDEC, 0x6937}, //9089 #CJK UNIFIED IDEOGRAPH
+  {0xDDED, 0x695C}, //9090 #CJK UNIFIED IDEOGRAPH
+  {0xDDEE, 0x694F}, //9091 #CJK UNIFIED IDEOGRAPH
+  {0xDDEF, 0x6951}, //9092 #CJK UNIFIED IDEOGRAPH
+  {0xDDF0, 0x6932}, //9093 #CJK UNIFIED IDEOGRAPH
+  {0xDDF1, 0x6952}, //9094 #CJK UNIFIED IDEOGRAPH
+  {0xDDF2, 0x692F}, //9095 #CJK UNIFIED IDEOGRAPH
+  {0xDDF3, 0x697B}, //9096 #CJK UNIFIED IDEOGRAPH
+  {0xDDF4, 0x693C}, //9097 #CJK UNIFIED IDEOGRAPH
+  {0xDDF5, 0x6B46}, //9098 #CJK UNIFIED IDEOGRAPH
+  {0xDDF6, 0x6B45}, //9099 #CJK UNIFIED IDEOGRAPH
+  {0xDDF7, 0x6B43}, //9100 #CJK UNIFIED IDEOGRAPH
+  {0xDDF8, 0x6B42}, //9101 #CJK UNIFIED IDEOGRAPH
+  {0xDDF9, 0x6B48}, //9102 #CJK UNIFIED IDEOGRAPH
+  {0xDDFA, 0x6B41}, //9103 #CJK UNIFIED IDEOGRAPH
+  {0xDDFB, 0x6B9B}, //9104 #CJK UNIFIED IDEOGRAPH
+  {0xDDFC, 0xFA0D}, //9105 #CJK COMPATIBILITY IDEOGRAPH
+  {0xDDFD, 0x6BFB}, //9106 #CJK UNIFIED IDEOGRAPH
+  {0xDDFE, 0x6BFC}, //9107 #CJK UNIFIED IDEOGRAPH
+  {0xDE40, 0x6BF9}, //9108 #CJK UNIFIED IDEOGRAPH
+  {0xDE41, 0x6BF7}, //9109 #CJK UNIFIED IDEOGRAPH
+  {0xDE42, 0x6BF8}, //9110 #CJK UNIFIED IDEOGRAPH
+  {0xDE43, 0x6E9B}, //9111 #CJK UNIFIED IDEOGRAPH
+  {0xDE44, 0x6ED6}, //9112 #CJK UNIFIED IDEOGRAPH
+  {0xDE45, 0x6EC8}, //9113 #CJK UNIFIED IDEOGRAPH
+  {0xDE46, 0x6E8F}, //9114 #CJK UNIFIED IDEOGRAPH
+  {0xDE47, 0x6EC0}, //9115 #CJK UNIFIED IDEOGRAPH
+  {0xDE48, 0x6E9F}, //9116 #CJK UNIFIED IDEOGRAPH
+  {0xDE49, 0x6E93}, //9117 #CJK UNIFIED IDEOGRAPH
+  {0xDE4A, 0x6E94}, //9118 #CJK UNIFIED IDEOGRAPH
+  {0xDE4B, 0x6EA0}, //9119 #CJK UNIFIED IDEOGRAPH
+  {0xDE4C, 0x6EB1}, //9120 #CJK UNIFIED IDEOGRAPH
+  {0xDE4D, 0x6EB9}, //9121 #CJK UNIFIED IDEOGRAPH
+  {0xDE4E, 0x6EC6}, //9122 #CJK UNIFIED IDEOGRAPH
+  {0xDE4F, 0x6ED2}, //9123 #CJK UNIFIED IDEOGRAPH
+  {0xDE50, 0x6EBD}, //9124 #CJK UNIFIED IDEOGRAPH
+  {0xDE51, 0x6EC1}, //9125 #CJK UNIFIED IDEOGRAPH
+  {0xDE52, 0x6E9E}, //9126 #CJK UNIFIED IDEOGRAPH
+  {0xDE53, 0x6EC9}, //9127 #CJK UNIFIED IDEOGRAPH
+  {0xDE54, 0x6EB7}, //9128 #CJK UNIFIED IDEOGRAPH
+  {0xDE55, 0x6EB0}, //9129 #CJK UNIFIED IDEOGRAPH
+  {0xDE56, 0x6ECD}, //9130 #CJK UNIFIED IDEOGRAPH
+  {0xDE57, 0x6EA6}, //9131 #CJK UNIFIED IDEOGRAPH
+  {0xDE58, 0x6ECF}, //9132 #CJK UNIFIED IDEOGRAPH
+  {0xDE59, 0x6EB2}, //9133 #CJK UNIFIED IDEOGRAPH
+  {0xDE5A, 0x6EBE}, //9134 #CJK UNIFIED IDEOGRAPH
+  {0xDE5B, 0x6EC3}, //9135 #CJK UNIFIED IDEOGRAPH
+  {0xDE5C, 0x6EDC}, //9136 #CJK UNIFIED IDEOGRAPH
+  {0xDE5D, 0x6ED8}, //9137 #CJK UNIFIED IDEOGRAPH
+  {0xDE5E, 0x6E99}, //9138 #CJK UNIFIED IDEOGRAPH
+  {0xDE5F, 0x6E92}, //9139 #CJK UNIFIED IDEOGRAPH
+  {0xDE60, 0x6E8E}, //9140 #CJK UNIFIED IDEOGRAPH
+  {0xDE61, 0x6E8D}, //9141 #CJK UNIFIED IDEOGRAPH
+  {0xDE62, 0x6EA4}, //9142 #CJK UNIFIED IDEOGRAPH
+  {0xDE63, 0x6EA1}, //9143 #CJK UNIFIED IDEOGRAPH
+  {0xDE64, 0x6EBF}, //9144 #CJK UNIFIED IDEOGRAPH
+  {0xDE65, 0x6EB3}, //9145 #CJK UNIFIED IDEOGRAPH
+  {0xDE66, 0x6ED0}, //9146 #CJK UNIFIED IDEOGRAPH
+  {0xDE67, 0x6ECA}, //9147 #CJK UNIFIED IDEOGRAPH
+  {0xDE68, 0x6E97}, //9148 #CJK UNIFIED IDEOGRAPH
+  {0xDE69, 0x6EAE}, //9149 #CJK UNIFIED IDEOGRAPH
+  {0xDE6A, 0x6EA3}, //9150 #CJK UNIFIED IDEOGRAPH
+  {0xDE6B, 0x7147}, //9151 #CJK UNIFIED IDEOGRAPH
+  {0xDE6C, 0x7154}, //9152 #CJK UNIFIED IDEOGRAPH
+  {0xDE6D, 0x7152}, //9153 #CJK UNIFIED IDEOGRAPH
+  {0xDE6E, 0x7163}, //9154 #CJK UNIFIED IDEOGRAPH
+  {0xDE6F, 0x7160}, //9155 #CJK UNIFIED IDEOGRAPH
+  {0xDE70, 0x7141}, //9156 #CJK UNIFIED IDEOGRAPH
+  {0xDE71, 0x715D}, //9157 #CJK UNIFIED IDEOGRAPH
+  {0xDE72, 0x7162}, //9158 #CJK UNIFIED IDEOGRAPH
+  {0xDE73, 0x7172}, //9159 #CJK UNIFIED IDEOGRAPH
+  {0xDE74, 0x7178}, //9160 #CJK UNIFIED IDEOGRAPH
+  {0xDE75, 0x716A}, //9161 #CJK UNIFIED IDEOGRAPH
+  {0xDE76, 0x7161}, //9162 #CJK UNIFIED IDEOGRAPH
+  {0xDE77, 0x7142}, //9163 #CJK UNIFIED IDEOGRAPH
+  {0xDE78, 0x7158}, //9164 #CJK UNIFIED IDEOGRAPH
+  {0xDE79, 0x7143}, //9165 #CJK UNIFIED IDEOGRAPH
+  {0xDE7A, 0x714B}, //9166 #CJK UNIFIED IDEOGRAPH
+  {0xDE7B, 0x7170}, //9167 #CJK UNIFIED IDEOGRAPH
+  {0xDE7C, 0x715F}, //9168 #CJK UNIFIED IDEOGRAPH
+  {0xDE7D, 0x7150}, //9169 #CJK UNIFIED IDEOGRAPH
+  {0xDE7E, 0x7153}, //9170 #CJK UNIFIED IDEOGRAPH
+  {0xDEA1, 0x7144}, //9171 #CJK UNIFIED IDEOGRAPH
+  {0xDEA2, 0x714D}, //9172 #CJK UNIFIED IDEOGRAPH
+  {0xDEA3, 0x715A}, //9173 #CJK UNIFIED IDEOGRAPH
+  {0xDEA4, 0x724F}, //9174 #CJK UNIFIED IDEOGRAPH
+  {0xDEA5, 0x728D}, //9175 #CJK UNIFIED IDEOGRAPH
+  {0xDEA6, 0x728C}, //9176 #CJK UNIFIED IDEOGRAPH
+  {0xDEA7, 0x7291}, //9177 #CJK UNIFIED IDEOGRAPH
+  {0xDEA8, 0x7290}, //9178 #CJK UNIFIED IDEOGRAPH
+  {0xDEA9, 0x728E}, //9179 #CJK UNIFIED IDEOGRAPH
+  {0xDEAA, 0x733C}, //9180 #CJK UNIFIED IDEOGRAPH
+  {0xDEAB, 0x7342}, //9181 #CJK UNIFIED IDEOGRAPH
+  {0xDEAC, 0x733B}, //9182 #CJK UNIFIED IDEOGRAPH
+  {0xDEAD, 0x733A}, //9183 #CJK UNIFIED IDEOGRAPH
+  {0xDEAE, 0x7340}, //9184 #CJK UNIFIED IDEOGRAPH
+  {0xDEAF, 0x734A}, //9185 #CJK UNIFIED IDEOGRAPH
+  {0xDEB0, 0x7349}, //9186 #CJK UNIFIED IDEOGRAPH
+  {0xDEB1, 0x7444}, //9187 #CJK UNIFIED IDEOGRAPH
+  {0xDEB2, 0x744A}, //9188 #CJK UNIFIED IDEOGRAPH
+  {0xDEB3, 0x744B}, //9189 #CJK UNIFIED IDEOGRAPH
+  {0xDEB4, 0x7452}, //9190 #CJK UNIFIED IDEOGRAPH
+  {0xDEB5, 0x7451}, //9191 #CJK UNIFIED IDEOGRAPH
+  {0xDEB6, 0x7457}, //9192 #CJK UNIFIED IDEOGRAPH
+  {0xDEB7, 0x7440}, //9193 #CJK UNIFIED IDEOGRAPH
+  {0xDEB8, 0x744F}, //9194 #CJK UNIFIED IDEOGRAPH
+  {0xDEB9, 0x7450}, //9195 #CJK UNIFIED IDEOGRAPH
+  {0xDEBA, 0x744E}, //9196 #CJK UNIFIED IDEOGRAPH
+  {0xDEBB, 0x7442}, //9197 #CJK UNIFIED IDEOGRAPH
+  {0xDEBC, 0x7446}, //9198 #CJK UNIFIED IDEOGRAPH
+  {0xDEBD, 0x744D}, //9199 #CJK UNIFIED IDEOGRAPH
+  {0xDEBE, 0x7454}, //9200 #CJK UNIFIED IDEOGRAPH
+  {0xDEBF, 0x74E1}, //9201 #CJK UNIFIED IDEOGRAPH
+  {0xDEC0, 0x74FF}, //9202 #CJK UNIFIED IDEOGRAPH
+  {0xDEC1, 0x74FE}, //9203 #CJK UNIFIED IDEOGRAPH
+  {0xDEC2, 0x74FD}, //9204 #CJK UNIFIED IDEOGRAPH
+  {0xDEC3, 0x751D}, //9205 #CJK UNIFIED IDEOGRAPH
+  {0xDEC4, 0x7579}, //9206 #CJK UNIFIED IDEOGRAPH
+  {0xDEC5, 0x7577}, //9207 #CJK UNIFIED IDEOGRAPH
+  {0xDEC6, 0x6983}, //9208 #CJK UNIFIED IDEOGRAPH
+  {0xDEC7, 0x75EF}, //9209 #CJK UNIFIED IDEOGRAPH
+  {0xDEC8, 0x760F}, //9210 #CJK UNIFIED IDEOGRAPH
+  {0xDEC9, 0x7603}, //9211 #CJK UNIFIED IDEOGRAPH
+  {0xDECA, 0x75F7}, //9212 #CJK UNIFIED IDEOGRAPH
+  {0xDECB, 0x75FE}, //9213 #CJK UNIFIED IDEOGRAPH
+  {0xDECC, 0x75FC}, //9214 #CJK UNIFIED IDEOGRAPH
+  {0xDECD, 0x75F9}, //9215 #CJK UNIFIED IDEOGRAPH
+  {0xDECE, 0x75F8}, //9216 #CJK UNIFIED IDEOGRAPH
+  {0xDECF, 0x7610}, //9217 #CJK UNIFIED IDEOGRAPH
+  {0xDED0, 0x75FB}, //9218 #CJK UNIFIED IDEOGRAPH
+  {0xDED1, 0x75F6}, //9219 #CJK UNIFIED IDEOGRAPH
+  {0xDED2, 0x75ED}, //9220 #CJK UNIFIED IDEOGRAPH
+  {0xDED3, 0x75F5}, //9221 #CJK UNIFIED IDEOGRAPH
+  {0xDED4, 0x75FD}, //9222 #CJK UNIFIED IDEOGRAPH
+  {0xDED5, 0x7699}, //9223 #CJK UNIFIED IDEOGRAPH
+  {0xDED6, 0x76B5}, //9224 #CJK UNIFIED IDEOGRAPH
+  {0xDED7, 0x76DD}, //9225 #CJK UNIFIED IDEOGRAPH
+  {0xDED8, 0x7755}, //9226 #CJK UNIFIED IDEOGRAPH
+  {0xDED9, 0x775F}, //9227 #CJK UNIFIED IDEOGRAPH
+  {0xDEDA, 0x7760}, //9228 #CJK UNIFIED IDEOGRAPH
+  {0xDEDB, 0x7752}, //9229 #CJK UNIFIED IDEOGRAPH
+  {0xDEDC, 0x7756}, //9230 #CJK UNIFIED IDEOGRAPH
+  {0xDEDD, 0x775A}, //9231 #CJK UNIFIED IDEOGRAPH
+  {0xDEDE, 0x7769}, //9232 #CJK UNIFIED IDEOGRAPH
+  {0xDEDF, 0x7767}, //9233 #CJK UNIFIED IDEOGRAPH
+  {0xDEE0, 0x7754}, //9234 #CJK UNIFIED IDEOGRAPH
+  {0xDEE1, 0x7759}, //9235 #CJK UNIFIED IDEOGRAPH
+  {0xDEE2, 0x776D}, //9236 #CJK UNIFIED IDEOGRAPH
+  {0xDEE3, 0x77E0}, //9237 #CJK UNIFIED IDEOGRAPH
+  {0xDEE4, 0x7887}, //9238 #CJK UNIFIED IDEOGRAPH
+  {0xDEE5, 0x789A}, //9239 #CJK UNIFIED IDEOGRAPH
+  {0xDEE6, 0x7894}, //9240 #CJK UNIFIED IDEOGRAPH
+  {0xDEE7, 0x788F}, //9241 #CJK UNIFIED IDEOGRAPH
+  {0xDEE8, 0x7884}, //9242 #CJK UNIFIED IDEOGRAPH
+  {0xDEE9, 0x7895}, //9243 #CJK UNIFIED IDEOGRAPH
+  {0xDEEA, 0x7885}, //9244 #CJK UNIFIED IDEOGRAPH
+  {0xDEEB, 0x7886}, //9245 #CJK UNIFIED IDEOGRAPH
+  {0xDEEC, 0x78A1}, //9246 #CJK UNIFIED IDEOGRAPH
+  {0xDEED, 0x7883}, //9247 #CJK UNIFIED IDEOGRAPH
+  {0xDEEE, 0x7879}, //9248 #CJK UNIFIED IDEOGRAPH
+  {0xDEEF, 0x7899}, //9249 #CJK UNIFIED IDEOGRAPH
+  {0xDEF0, 0x7880}, //9250 #CJK UNIFIED IDEOGRAPH
+  {0xDEF1, 0x7896}, //9251 #CJK UNIFIED IDEOGRAPH
+  {0xDEF2, 0x787B}, //9252 #CJK UNIFIED IDEOGRAPH
+  {0xDEF3, 0x797C}, //9253 #CJK UNIFIED IDEOGRAPH
+  {0xDEF4, 0x7982}, //9254 #CJK UNIFIED IDEOGRAPH
+  {0xDEF5, 0x797D}, //9255 #CJK UNIFIED IDEOGRAPH
+  {0xDEF6, 0x7979}, //9256 #CJK UNIFIED IDEOGRAPH
+  {0xDEF7, 0x7A11}, //9257 #CJK UNIFIED IDEOGRAPH
+  {0xDEF8, 0x7A18}, //9258 #CJK UNIFIED IDEOGRAPH
+  {0xDEF9, 0x7A19}, //9259 #CJK UNIFIED IDEOGRAPH
+  {0xDEFA, 0x7A12}, //9260 #CJK UNIFIED IDEOGRAPH
+  {0xDEFB, 0x7A17}, //9261 #CJK UNIFIED IDEOGRAPH
+  {0xDEFC, 0x7A15}, //9262 #CJK UNIFIED IDEOGRAPH
+  {0xDEFD, 0x7A22}, //9263 #CJK UNIFIED IDEOGRAPH
+  {0xDEFE, 0x7A13}, //9264 #CJK UNIFIED IDEOGRAPH
+  {0xDF40, 0x7A1B}, //9265 #CJK UNIFIED IDEOGRAPH
+  {0xDF41, 0x7A10}, //9266 #CJK UNIFIED IDEOGRAPH
+  {0xDF42, 0x7AA3}, //9267 #CJK UNIFIED IDEOGRAPH
+  {0xDF43, 0x7AA2}, //9268 #CJK UNIFIED IDEOGRAPH
+  {0xDF44, 0x7A9E}, //9269 #CJK UNIFIED IDEOGRAPH
+  {0xDF45, 0x7AEB}, //9270 #CJK UNIFIED IDEOGRAPH
+  {0xDF46, 0x7B66}, //9271 #CJK UNIFIED IDEOGRAPH
+  {0xDF47, 0x7B64}, //9272 #CJK UNIFIED IDEOGRAPH
+  {0xDF48, 0x7B6D}, //9273 #CJK UNIFIED IDEOGRAPH
+  {0xDF49, 0x7B74}, //9274 #CJK UNIFIED IDEOGRAPH
+  {0xDF4A, 0x7B69}, //9275 #CJK UNIFIED IDEOGRAPH
+  {0xDF4B, 0x7B72}, //9276 #CJK UNIFIED IDEOGRAPH
+  {0xDF4C, 0x7B65}, //9277 #CJK UNIFIED IDEOGRAPH
+  {0xDF4D, 0x7B73}, //9278 #CJK UNIFIED IDEOGRAPH
+  {0xDF4E, 0x7B71}, //9279 #CJK UNIFIED IDEOGRAPH
+  {0xDF4F, 0x7B70}, //9280 #CJK UNIFIED IDEOGRAPH
+  {0xDF50, 0x7B61}, //9281 #CJK UNIFIED IDEOGRAPH
+  {0xDF51, 0x7B78}, //9282 #CJK UNIFIED IDEOGRAPH
+  {0xDF52, 0x7B76}, //9283 #CJK UNIFIED IDEOGRAPH
+  {0xDF53, 0x7B63}, //9284 #CJK UNIFIED IDEOGRAPH
+  {0xDF54, 0x7CB2}, //9285 #CJK UNIFIED IDEOGRAPH
+  {0xDF55, 0x7CB4}, //9286 #CJK UNIFIED IDEOGRAPH
+  {0xDF56, 0x7CAF}, //9287 #CJK UNIFIED IDEOGRAPH
+  {0xDF57, 0x7D88}, //9288 #CJK UNIFIED IDEOGRAPH
+  {0xDF58, 0x7D86}, //9289 #CJK UNIFIED IDEOGRAPH
+  {0xDF59, 0x7D80}, //9290 #CJK UNIFIED IDEOGRAPH
+  {0xDF5A, 0x7D8D}, //9291 #CJK UNIFIED IDEOGRAPH
+  {0xDF5B, 0x7D7F}, //9292 #CJK UNIFIED IDEOGRAPH
+  {0xDF5C, 0x7D85}, //9293 #CJK UNIFIED IDEOGRAPH
+  {0xDF5D, 0x7D7A}, //9294 #CJK UNIFIED IDEOGRAPH
+  {0xDF5E, 0x7D8E}, //9295 #CJK UNIFIED IDEOGRAPH
+  {0xDF5F, 0x7D7B}, //9296 #CJK UNIFIED IDEOGRAPH
+  {0xDF60, 0x7D83}, //9297 #CJK UNIFIED IDEOGRAPH
+  {0xDF61, 0x7D7C}, //9298 #CJK UNIFIED IDEOGRAPH
+  {0xDF62, 0x7D8C}, //9299 #CJK UNIFIED IDEOGRAPH
+  {0xDF63, 0x7D94}, //9300 #CJK UNIFIED IDEOGRAPH
+  {0xDF64, 0x7D84}, //9301 #CJK UNIFIED IDEOGRAPH
+  {0xDF65, 0x7D7D}, //9302 #CJK UNIFIED IDEOGRAPH
+  {0xDF66, 0x7D92}, //9303 #CJK UNIFIED IDEOGRAPH
+  {0xDF67, 0x7F6D}, //9304 #CJK UNIFIED IDEOGRAPH
+  {0xDF68, 0x7F6B}, //9305 #CJK UNIFIED IDEOGRAPH
+  {0xDF69, 0x7F67}, //9306 #CJK UNIFIED IDEOGRAPH
+  {0xDF6A, 0x7F68}, //9307 #CJK UNIFIED IDEOGRAPH
+  {0xDF6B, 0x7F6C}, //9308 #CJK UNIFIED IDEOGRAPH
+  {0xDF6C, 0x7FA6}, //9309 #CJK UNIFIED IDEOGRAPH
+  {0xDF6D, 0x7FA5}, //9310 #CJK UNIFIED IDEOGRAPH
+  {0xDF6E, 0x7FA7}, //9311 #CJK UNIFIED IDEOGRAPH
+  {0xDF6F, 0x7FDB}, //9312 #CJK UNIFIED IDEOGRAPH
+  {0xDF70, 0x7FDC}, //9313 #CJK UNIFIED IDEOGRAPH
+  {0xDF71, 0x8021}, //9314 #CJK UNIFIED IDEOGRAPH
+  {0xDF72, 0x8164}, //9315 #CJK UNIFIED IDEOGRAPH
+  {0xDF73, 0x8160}, //9316 #CJK UNIFIED IDEOGRAPH
+  {0xDF74, 0x8177}, //9317 #CJK UNIFIED IDEOGRAPH
+  {0xDF75, 0x815C}, //9318 #CJK UNIFIED IDEOGRAPH
+  {0xDF76, 0x8169}, //9319 #CJK UNIFIED IDEOGRAPH
+  {0xDF77, 0x815B}, //9320 #CJK UNIFIED IDEOGRAPH
+  {0xDF78, 0x8162}, //9321 #CJK UNIFIED IDEOGRAPH
+  {0xDF79, 0x8172}, //9322 #CJK UNIFIED IDEOGRAPH
+  {0xDF7A, 0x6721}, //9323 #CJK UNIFIED IDEOGRAPH
+  {0xDF7B, 0x815E}, //9324 #CJK UNIFIED IDEOGRAPH
+  {0xDF7C, 0x8176}, //9325 #CJK UNIFIED IDEOGRAPH
+  {0xDF7D, 0x8167}, //9326 #CJK UNIFIED IDEOGRAPH
+  {0xDF7E, 0x816F}, //9327 #CJK UNIFIED IDEOGRAPH
+  {0xDFA1, 0x8144}, //9328 #CJK UNIFIED IDEOGRAPH
+  {0xDFA2, 0x8161}, //9329 #CJK UNIFIED IDEOGRAPH
+  {0xDFA3, 0x821D}, //9330 #CJK UNIFIED IDEOGRAPH
+  {0xDFA4, 0x8249}, //9331 #CJK UNIFIED IDEOGRAPH
+  {0xDFA5, 0x8244}, //9332 #CJK UNIFIED IDEOGRAPH
+  {0xDFA6, 0x8240}, //9333 #CJK UNIFIED IDEOGRAPH
+  {0xDFA7, 0x8242}, //9334 #CJK UNIFIED IDEOGRAPH
+  {0xDFA8, 0x8245}, //9335 #CJK UNIFIED IDEOGRAPH
+  {0xDFA9, 0x84F1}, //9336 #CJK UNIFIED IDEOGRAPH
+  {0xDFAA, 0x843F}, //9337 #CJK UNIFIED IDEOGRAPH
+  {0xDFAB, 0x8456}, //9338 #CJK UNIFIED IDEOGRAPH
+  {0xDFAC, 0x8476}, //9339 #CJK UNIFIED IDEOGRAPH
+  {0xDFAD, 0x8479}, //9340 #CJK UNIFIED IDEOGRAPH
+  {0xDFAE, 0x848F}, //9341 #CJK UNIFIED IDEOGRAPH
+  {0xDFAF, 0x848D}, //9342 #CJK UNIFIED IDEOGRAPH
+  {0xDFB0, 0x8465}, //9343 #CJK UNIFIED IDEOGRAPH
+  {0xDFB1, 0x8451}, //9344 #CJK UNIFIED IDEOGRAPH
+  {0xDFB2, 0x8440}, //9345 #CJK UNIFIED IDEOGRAPH
+  {0xDFB3, 0x8486}, //9346 #CJK UNIFIED IDEOGRAPH
+  {0xDFB4, 0x8467}, //9347 #CJK UNIFIED IDEOGRAPH
+  {0xDFB5, 0x8430}, //9348 #CJK UNIFIED IDEOGRAPH
+  {0xDFB6, 0x844D}, //9349 #CJK UNIFIED IDEOGRAPH
+  {0xDFB7, 0x847D}, //9350 #CJK UNIFIED IDEOGRAPH
+  {0xDFB8, 0x845A}, //9351 #CJK UNIFIED IDEOGRAPH
+  {0xDFB9, 0x8459}, //9352 #CJK UNIFIED IDEOGRAPH
+  {0xDFBA, 0x8474}, //9353 #CJK UNIFIED IDEOGRAPH
+  {0xDFBB, 0x8473}, //9354 #CJK UNIFIED IDEOGRAPH
+  {0xDFBC, 0x845D}, //9355 #CJK UNIFIED IDEOGRAPH
+  {0xDFBD, 0x8507}, //9356 #CJK UNIFIED IDEOGRAPH
+  {0xDFBE, 0x845E}, //9357 #CJK UNIFIED IDEOGRAPH
+  {0xDFBF, 0x8437}, //9358 #CJK UNIFIED IDEOGRAPH
+  {0xDFC0, 0x843A}, //9359 #CJK UNIFIED IDEOGRAPH
+  {0xDFC1, 0x8434}, //9360 #CJK UNIFIED IDEOGRAPH
+  {0xDFC2, 0x847A}, //9361 #CJK UNIFIED IDEOGRAPH
+  {0xDFC3, 0x8443}, //9362 #CJK UNIFIED IDEOGRAPH
+  {0xDFC4, 0x8478}, //9363 #CJK UNIFIED IDEOGRAPH
+  {0xDFC5, 0x8432}, //9364 #CJK UNIFIED IDEOGRAPH
+  {0xDFC6, 0x8445}, //9365 #CJK UNIFIED IDEOGRAPH
+  {0xDFC7, 0x8429}, //9366 #CJK UNIFIED IDEOGRAPH
+  {0xDFC8, 0x83D9}, //9367 #CJK UNIFIED IDEOGRAPH
+  {0xDFC9, 0x844B}, //9368 #CJK UNIFIED IDEOGRAPH
+  {0xDFCA, 0x842F}, //9369 #CJK UNIFIED IDEOGRAPH
+  {0xDFCB, 0x8442}, //9370 #CJK UNIFIED IDEOGRAPH
+  {0xDFCC, 0x842D}, //9371 #CJK UNIFIED IDEOGRAPH
+  {0xDFCD, 0x845F}, //9372 #CJK UNIFIED IDEOGRAPH
+  {0xDFCE, 0x8470}, //9373 #CJK UNIFIED IDEOGRAPH
+  {0xDFCF, 0x8439}, //9374 #CJK UNIFIED IDEOGRAPH
+  {0xDFD0, 0x844E}, //9375 #CJK UNIFIED IDEOGRAPH
+  {0xDFD1, 0x844C}, //9376 #CJK UNIFIED IDEOGRAPH
+  {0xDFD2, 0x8452}, //9377 #CJK UNIFIED IDEOGRAPH
+  {0xDFD3, 0x846F}, //9378 #CJK UNIFIED IDEOGRAPH
+  {0xDFD4, 0x84C5}, //9379 #CJK UNIFIED IDEOGRAPH
+  {0xDFD5, 0x848E}, //9380 #CJK UNIFIED IDEOGRAPH
+  {0xDFD6, 0x843B}, //9381 #CJK UNIFIED IDEOGRAPH
+  {0xDFD7, 0x8447}, //9382 #CJK UNIFIED IDEOGRAPH
+  {0xDFD8, 0x8436}, //9383 #CJK UNIFIED IDEOGRAPH
+  {0xDFD9, 0x8433}, //9384 #CJK UNIFIED IDEOGRAPH
+  {0xDFDA, 0x8468}, //9385 #CJK UNIFIED IDEOGRAPH
+  {0xDFDB, 0x847E}, //9386 #CJK UNIFIED IDEOGRAPH
+  {0xDFDC, 0x8444}, //9387 #CJK UNIFIED IDEOGRAPH
+  {0xDFDD, 0x842B}, //9388 #CJK UNIFIED IDEOGRAPH
+  {0xDFDE, 0x8460}, //9389 #CJK UNIFIED IDEOGRAPH
+  {0xDFDF, 0x8454}, //9390 #CJK UNIFIED IDEOGRAPH
+  {0xDFE0, 0x846E}, //9391 #CJK UNIFIED IDEOGRAPH
+  {0xDFE1, 0x8450}, //9392 #CJK UNIFIED IDEOGRAPH
+  {0xDFE2, 0x870B}, //9393 #CJK UNIFIED IDEOGRAPH
+  {0xDFE3, 0x8704}, //9394 #CJK UNIFIED IDEOGRAPH
+  {0xDFE4, 0x86F7}, //9395 #CJK UNIFIED IDEOGRAPH
+  {0xDFE5, 0x870C}, //9396 #CJK UNIFIED IDEOGRAPH
+  {0xDFE6, 0x86FA}, //9397 #CJK UNIFIED IDEOGRAPH
+  {0xDFE7, 0x86D6}, //9398 #CJK UNIFIED IDEOGRAPH
+  {0xDFE8, 0x86F5}, //9399 #CJK UNIFIED IDEOGRAPH
+  {0xDFE9, 0x874D}, //9400 #CJK UNIFIED IDEOGRAPH
+  {0xDFEA, 0x86F8}, //9401 #CJK UNIFIED IDEOGRAPH
+  {0xDFEB, 0x870E}, //9402 #CJK UNIFIED IDEOGRAPH
+  {0xDFEC, 0x8709}, //9403 #CJK UNIFIED IDEOGRAPH
+  {0xDFED, 0x8701}, //9404 #CJK UNIFIED IDEOGRAPH
+  {0xDFEE, 0x86F6}, //9405 #CJK UNIFIED IDEOGRAPH
+  {0xDFEF, 0x870D}, //9406 #CJK UNIFIED IDEOGRAPH
+  {0xDFF0, 0x8705}, //9407 #CJK UNIFIED IDEOGRAPH
+  {0xDFF1, 0x88D6}, //9408 #CJK UNIFIED IDEOGRAPH
+  {0xDFF2, 0x88CB}, //9409 #CJK UNIFIED IDEOGRAPH
+  {0xDFF3, 0x88CD}, //9410 #CJK UNIFIED IDEOGRAPH
+  {0xDFF4, 0x88CE}, //9411 #CJK UNIFIED IDEOGRAPH
+  {0xDFF5, 0x88DE}, //9412 #CJK UNIFIED IDEOGRAPH
+  {0xDFF6, 0x88DB}, //9413 #CJK UNIFIED IDEOGRAPH
+  {0xDFF7, 0x88DA}, //9414 #CJK UNIFIED IDEOGRAPH
+  {0xDFF8, 0x88CC}, //9415 #CJK UNIFIED IDEOGRAPH
+  {0xDFF9, 0x88D0}, //9416 #CJK UNIFIED IDEOGRAPH
+  {0xDFFA, 0x8985}, //9417 #CJK UNIFIED IDEOGRAPH
+  {0xDFFB, 0x899B}, //9418 #CJK UNIFIED IDEOGRAPH
+  {0xDFFC, 0x89DF}, //9419 #CJK UNIFIED IDEOGRAPH
+  {0xDFFD, 0x89E5}, //9420 #CJK UNIFIED IDEOGRAPH
+  {0xDFFE, 0x89E4}, //9421 #CJK UNIFIED IDEOGRAPH
+  {0xE040, 0x89E1}, //9422 #CJK UNIFIED IDEOGRAPH
+  {0xE041, 0x89E0}, //9423 #CJK UNIFIED IDEOGRAPH
+  {0xE042, 0x89E2}, //9424 #CJK UNIFIED IDEOGRAPH
+  {0xE043, 0x89DC}, //9425 #CJK UNIFIED IDEOGRAPH
+  {0xE044, 0x89E6}, //9426 #CJK UNIFIED IDEOGRAPH
+  {0xE045, 0x8A76}, //9427 #CJK UNIFIED IDEOGRAPH
+  {0xE046, 0x8A86}, //9428 #CJK UNIFIED IDEOGRAPH
+  {0xE047, 0x8A7F}, //9429 #CJK UNIFIED IDEOGRAPH
+  {0xE048, 0x8A61}, //9430 #CJK UNIFIED IDEOGRAPH
+  {0xE049, 0x8A3F}, //9431 #CJK UNIFIED IDEOGRAPH
+  {0xE04A, 0x8A77}, //9432 #CJK UNIFIED IDEOGRAPH
+  {0xE04B, 0x8A82}, //9433 #CJK UNIFIED IDEOGRAPH
+  {0xE04C, 0x8A84}, //9434 #CJK UNIFIED IDEOGRAPH
+  {0xE04D, 0x8A75}, //9435 #CJK UNIFIED IDEOGRAPH
+  {0xE04E, 0x8A83}, //9436 #CJK UNIFIED IDEOGRAPH
+  {0xE04F, 0x8A81}, //9437 #CJK UNIFIED IDEOGRAPH
+  {0xE050, 0x8A74}, //9438 #CJK UNIFIED IDEOGRAPH
+  {0xE051, 0x8A7A}, //9439 #CJK UNIFIED IDEOGRAPH
+  {0xE052, 0x8C3C}, //9440 #CJK UNIFIED IDEOGRAPH
+  {0xE053, 0x8C4B}, //9441 #CJK UNIFIED IDEOGRAPH
+  {0xE054, 0x8C4A}, //9442 #CJK UNIFIED IDEOGRAPH
+  {0xE055, 0x8C65}, //9443 #CJK UNIFIED IDEOGRAPH
+  {0xE056, 0x8C64}, //9444 #CJK UNIFIED IDEOGRAPH
+  {0xE057, 0x8C66}, //9445 #CJK UNIFIED IDEOGRAPH
+  {0xE058, 0x8C86}, //9446 #CJK UNIFIED IDEOGRAPH
+  {0xE059, 0x8C84}, //9447 #CJK UNIFIED IDEOGRAPH
+  {0xE05A, 0x8C85}, //9448 #CJK UNIFIED IDEOGRAPH
+  {0xE05B, 0x8CCC}, //9449 #CJK UNIFIED IDEOGRAPH
+  {0xE05C, 0x8D68}, //9450 #CJK UNIFIED IDEOGRAPH
+  {0xE05D, 0x8D69}, //9451 #CJK UNIFIED IDEOGRAPH
+  {0xE05E, 0x8D91}, //9452 #CJK UNIFIED IDEOGRAPH
+  {0xE05F, 0x8D8C}, //9453 #CJK UNIFIED IDEOGRAPH
+  {0xE060, 0x8D8E}, //9454 #CJK UNIFIED IDEOGRAPH
+  {0xE061, 0x8D8F}, //9455 #CJK UNIFIED IDEOGRAPH
+  {0xE062, 0x8D8D}, //9456 #CJK UNIFIED IDEOGRAPH
+  {0xE063, 0x8D93}, //9457 #CJK UNIFIED IDEOGRAPH
+  {0xE064, 0x8D94}, //9458 #CJK UNIFIED IDEOGRAPH
+  {0xE065, 0x8D90}, //9459 #CJK UNIFIED IDEOGRAPH
+  {0xE066, 0x8D92}, //9460 #CJK UNIFIED IDEOGRAPH
+  {0xE067, 0x8DF0}, //9461 #CJK UNIFIED IDEOGRAPH
+  {0xE068, 0x8DE0}, //9462 #CJK UNIFIED IDEOGRAPH
+  {0xE069, 0x8DEC}, //9463 #CJK UNIFIED IDEOGRAPH
+  {0xE06A, 0x8DF1}, //9464 #CJK UNIFIED IDEOGRAPH
+  {0xE06B, 0x8DEE}, //9465 #CJK UNIFIED IDEOGRAPH
+  {0xE06C, 0x8DD0}, //9466 #CJK UNIFIED IDEOGRAPH
+  {0xE06D, 0x8DE9}, //9467 #CJK UNIFIED IDEOGRAPH
+  {0xE06E, 0x8DE3}, //9468 #CJK UNIFIED IDEOGRAPH
+  {0xE06F, 0x8DE2}, //9469 #CJK UNIFIED IDEOGRAPH
+  {0xE070, 0x8DE7}, //9470 #CJK UNIFIED IDEOGRAPH
+  {0xE071, 0x8DF2}, //9471 #CJK UNIFIED IDEOGRAPH
+  {0xE072, 0x8DEB}, //9472 #CJK UNIFIED IDEOGRAPH
+  {0xE073, 0x8DF4}, //9473 #CJK UNIFIED IDEOGRAPH
+  {0xE074, 0x8F06}, //9474 #CJK UNIFIED IDEOGRAPH
+  {0xE075, 0x8EFF}, //9475 #CJK UNIFIED IDEOGRAPH
+  {0xE076, 0x8F01}, //9476 #CJK UNIFIED IDEOGRAPH
+  {0xE077, 0x8F00}, //9477 #CJK UNIFIED IDEOGRAPH
+  {0xE078, 0x8F05}, //9478 #CJK UNIFIED IDEOGRAPH
+  {0xE079, 0x8F07}, //9479 #CJK UNIFIED IDEOGRAPH
+  {0xE07A, 0x8F08}, //9480 #CJK UNIFIED IDEOGRAPH
+  {0xE07B, 0x8F02}, //9481 #CJK UNIFIED IDEOGRAPH
+  {0xE07C, 0x8F0B}, //9482 #CJK UNIFIED IDEOGRAPH
+  {0xE07D, 0x9052}, //9483 #CJK UNIFIED IDEOGRAPH
+  {0xE07E, 0x903F}, //9484 #CJK UNIFIED IDEOGRAPH
+  {0xE0A1, 0x9044}, //9485 #CJK UNIFIED IDEOGRAPH
+  {0xE0A2, 0x9049}, //9486 #CJK UNIFIED IDEOGRAPH
+  {0xE0A3, 0x903D}, //9487 #CJK UNIFIED IDEOGRAPH
+  {0xE0A4, 0x9110}, //9488 #CJK UNIFIED IDEOGRAPH
+  {0xE0A5, 0x910D}, //9489 #CJK UNIFIED IDEOGRAPH
+  {0xE0A6, 0x910F}, //9490 #CJK UNIFIED IDEOGRAPH
+  {0xE0A7, 0x9111}, //9491 #CJK UNIFIED IDEOGRAPH
+  {0xE0A8, 0x9116}, //9492 #CJK UNIFIED IDEOGRAPH
+  {0xE0A9, 0x9114}, //9493 #CJK UNIFIED IDEOGRAPH
+  {0xE0AA, 0x910B}, //9494 #CJK UNIFIED IDEOGRAPH
+  {0xE0AB, 0x910E}, //9495 #CJK UNIFIED IDEOGRAPH
+  {0xE0AC, 0x916E}, //9496 #CJK UNIFIED IDEOGRAPH
+  {0xE0AD, 0x916F}, //9497 #CJK UNIFIED IDEOGRAPH
+  {0xE0AE, 0x9248}, //9498 #CJK UNIFIED IDEOGRAPH
+  {0xE0AF, 0x9252}, //9499 #CJK UNIFIED IDEOGRAPH
+  {0xE0B0, 0x9230}, //9500 #CJK UNIFIED IDEOGRAPH
+  {0xE0B1, 0x923A}, //9501 #CJK UNIFIED IDEOGRAPH
+  {0xE0B2, 0x9266}, //9502 #CJK UNIFIED IDEOGRAPH
+  {0xE0B3, 0x9233}, //9503 #CJK UNIFIED IDEOGRAPH
+  {0xE0B4, 0x9265}, //9504 #CJK UNIFIED IDEOGRAPH
+  {0xE0B5, 0x925E}, //9505 #CJK UNIFIED IDEOGRAPH
+  {0xE0B6, 0x9283}, //9506 #CJK UNIFIED IDEOGRAPH
+  {0xE0B7, 0x922E}, //9507 #CJK UNIFIED IDEOGRAPH
+  {0xE0B8, 0x924A}, //9508 #CJK UNIFIED IDEOGRAPH
+  {0xE0B9, 0x9246}, //9509 #CJK UNIFIED IDEOGRAPH
+  {0xE0BA, 0x926D}, //9510 #CJK UNIFIED IDEOGRAPH
+  {0xE0BB, 0x926C}, //9511 #CJK UNIFIED IDEOGRAPH
+  {0xE0BC, 0x924F}, //9512 #CJK UNIFIED IDEOGRAPH
+  {0xE0BD, 0x9260}, //9513 #CJK UNIFIED IDEOGRAPH
+  {0xE0BE, 0x9267}, //9514 #CJK UNIFIED IDEOGRAPH
+  {0xE0BF, 0x926F}, //9515 #CJK UNIFIED IDEOGRAPH
+  {0xE0C0, 0x9236}, //9516 #CJK UNIFIED IDEOGRAPH
+  {0xE0C1, 0x9261}, //9517 #CJK UNIFIED IDEOGRAPH
+  {0xE0C2, 0x9270}, //9518 #CJK UNIFIED IDEOGRAPH
+  {0xE0C3, 0x9231}, //9519 #CJK UNIFIED IDEOGRAPH
+  {0xE0C4, 0x9254}, //9520 #CJK UNIFIED IDEOGRAPH
+  {0xE0C5, 0x9263}, //9521 #CJK UNIFIED IDEOGRAPH
+  {0xE0C6, 0x9250}, //9522 #CJK UNIFIED IDEOGRAPH
+  {0xE0C7, 0x9272}, //9523 #CJK UNIFIED IDEOGRAPH
+  {0xE0C8, 0x924E}, //9524 #CJK UNIFIED IDEOGRAPH
+  {0xE0C9, 0x9253}, //9525 #CJK UNIFIED IDEOGRAPH
+  {0xE0CA, 0x924C}, //9526 #CJK UNIFIED IDEOGRAPH
+  {0xE0CB, 0x9256}, //9527 #CJK UNIFIED IDEOGRAPH
+  {0xE0CC, 0x9232}, //9528 #CJK UNIFIED IDEOGRAPH
+  {0xE0CD, 0x959F}, //9529 #CJK UNIFIED IDEOGRAPH
+  {0xE0CE, 0x959C}, //9530 #CJK UNIFIED IDEOGRAPH
+  {0xE0CF, 0x959E}, //9531 #CJK UNIFIED IDEOGRAPH
+  {0xE0D0, 0x959B}, //9532 #CJK UNIFIED IDEOGRAPH
+  {0xE0D1, 0x9692}, //9533 #CJK UNIFIED IDEOGRAPH
+  {0xE0D2, 0x9693}, //9534 #CJK UNIFIED IDEOGRAPH
+  {0xE0D3, 0x9691}, //9535 #CJK UNIFIED IDEOGRAPH
+  {0xE0D4, 0x9697}, //9536 #CJK UNIFIED IDEOGRAPH
+  {0xE0D5, 0x96CE}, //9537 #CJK UNIFIED IDEOGRAPH
+  {0xE0D6, 0x96FA}, //9538 #CJK UNIFIED IDEOGRAPH
+  {0xE0D7, 0x96FD}, //9539 #CJK UNIFIED IDEOGRAPH
+  {0xE0D8, 0x96F8}, //9540 #CJK UNIFIED IDEOGRAPH
+  {0xE0D9, 0x96F5}, //9541 #CJK UNIFIED IDEOGRAPH
+  {0xE0DA, 0x9773}, //9542 #CJK UNIFIED IDEOGRAPH
+  {0xE0DB, 0x9777}, //9543 #CJK UNIFIED IDEOGRAPH
+  {0xE0DC, 0x9778}, //9544 #CJK UNIFIED IDEOGRAPH
+  {0xE0DD, 0x9772}, //9545 #CJK UNIFIED IDEOGRAPH
+  {0xE0DE, 0x980F}, //9546 #CJK UNIFIED IDEOGRAPH
+  {0xE0DF, 0x980D}, //9547 #CJK UNIFIED IDEOGRAPH
+  {0xE0E0, 0x980E}, //9548 #CJK UNIFIED IDEOGRAPH
+  {0xE0E1, 0x98AC}, //9549 #CJK UNIFIED IDEOGRAPH
+  {0xE0E2, 0x98F6}, //9550 #CJK UNIFIED IDEOGRAPH
+  {0xE0E3, 0x98F9}, //9551 #CJK UNIFIED IDEOGRAPH
+  {0xE0E4, 0x99AF}, //9552 #CJK UNIFIED IDEOGRAPH
+  {0xE0E5, 0x99B2}, //9553 #CJK UNIFIED IDEOGRAPH
+  {0xE0E6, 0x99B0}, //9554 #CJK UNIFIED IDEOGRAPH
+  {0xE0E7, 0x99B5}, //9555 #CJK UNIFIED IDEOGRAPH
+  {0xE0E8, 0x9AAD}, //9556 #CJK UNIFIED IDEOGRAPH
+  {0xE0E9, 0x9AAB}, //9557 #CJK UNIFIED IDEOGRAPH
+  {0xE0EA, 0x9B5B}, //9558 #CJK UNIFIED IDEOGRAPH
+  {0xE0EB, 0x9CEA}, //9559 #CJK UNIFIED IDEOGRAPH
+  {0xE0EC, 0x9CED}, //9560 #CJK UNIFIED IDEOGRAPH
+  {0xE0ED, 0x9CE7}, //9561 #CJK UNIFIED IDEOGRAPH
+  {0xE0EE, 0x9E80}, //9562 #CJK UNIFIED IDEOGRAPH
+  {0xE0EF, 0x9EFD}, //9563 #CJK UNIFIED IDEOGRAPH
+  {0xE0F0, 0x50E6}, //9564 #CJK UNIFIED IDEOGRAPH
+  {0xE0F1, 0x50D4}, //9565 #CJK UNIFIED IDEOGRAPH
+  {0xE0F2, 0x50D7}, //9566 #CJK UNIFIED IDEOGRAPH
+  {0xE0F3, 0x50E8}, //9567 #CJK UNIFIED IDEOGRAPH
+  {0xE0F4, 0x50F3}, //9568 #CJK UNIFIED IDEOGRAPH
+  {0xE0F5, 0x50DB}, //9569 #CJK UNIFIED IDEOGRAPH
+  {0xE0F6, 0x50EA}, //9570 #CJK UNIFIED IDEOGRAPH
+  {0xE0F7, 0x50DD}, //9571 #CJK UNIFIED IDEOGRAPH
+  {0xE0F8, 0x50E4}, //9572 #CJK UNIFIED IDEOGRAPH
+  {0xE0F9, 0x50D3}, //9573 #CJK UNIFIED IDEOGRAPH
+  {0xE0FA, 0x50EC}, //9574 #CJK UNIFIED IDEOGRAPH
+  {0xE0FB, 0x50F0}, //9575 #CJK UNIFIED IDEOGRAPH
+  {0xE0FC, 0x50EF}, //9576 #CJK UNIFIED IDEOGRAPH
+  {0xE0FD, 0x50E3}, //9577 #CJK UNIFIED IDEOGRAPH
+  {0xE0FE, 0x50E0}, //9578 #CJK UNIFIED IDEOGRAPH
+  {0xE140, 0x51D8}, //9579 #CJK UNIFIED IDEOGRAPH
+  {0xE141, 0x5280}, //9580 #CJK UNIFIED IDEOGRAPH
+  {0xE142, 0x5281}, //9581 #CJK UNIFIED IDEOGRAPH
+  {0xE143, 0x52E9}, //9582 #CJK UNIFIED IDEOGRAPH
+  {0xE144, 0x52EB}, //9583 #CJK UNIFIED IDEOGRAPH
+  {0xE145, 0x5330}, //9584 #CJK UNIFIED IDEOGRAPH
+  {0xE146, 0x53AC}, //9585 #CJK UNIFIED IDEOGRAPH
+  {0xE147, 0x5627}, //9586 #CJK UNIFIED IDEOGRAPH
+  {0xE148, 0x5615}, //9587 #CJK UNIFIED IDEOGRAPH
+  {0xE149, 0x560C}, //9588 #CJK UNIFIED IDEOGRAPH
+  {0xE14A, 0x5612}, //9589 #CJK UNIFIED IDEOGRAPH
+  {0xE14B, 0x55FC}, //9590 #CJK UNIFIED IDEOGRAPH
+  {0xE14C, 0x560F}, //9591 #CJK UNIFIED IDEOGRAPH
+  {0xE14D, 0x561C}, //9592 #CJK UNIFIED IDEOGRAPH
+  {0xE14E, 0x5601}, //9593 #CJK UNIFIED IDEOGRAPH
+  {0xE14F, 0x5613}, //9594 #CJK UNIFIED IDEOGRAPH
+  {0xE150, 0x5602}, //9595 #CJK UNIFIED IDEOGRAPH
+  {0xE151, 0x55FA}, //9596 #CJK UNIFIED IDEOGRAPH
+  {0xE152, 0x561D}, //9597 #CJK UNIFIED IDEOGRAPH
+  {0xE153, 0x5604}, //9598 #CJK UNIFIED IDEOGRAPH
+  {0xE154, 0x55FF}, //9599 #CJK UNIFIED IDEOGRAPH
+  {0xE155, 0x55F9}, //9600 #CJK UNIFIED IDEOGRAPH
+  {0xE156, 0x5889}, //9601 #CJK UNIFIED IDEOGRAPH
+  {0xE157, 0x587C}, //9602 #CJK UNIFIED IDEOGRAPH
+  {0xE158, 0x5890}, //9603 #CJK UNIFIED IDEOGRAPH
+  {0xE159, 0x5898}, //9604 #CJK UNIFIED IDEOGRAPH
+  {0xE15A, 0x5886}, //9605 #CJK UNIFIED IDEOGRAPH
+  {0xE15B, 0x5881}, //9606 #CJK UNIFIED IDEOGRAPH
+  {0xE15C, 0x587F}, //9607 #CJK UNIFIED IDEOGRAPH
+  {0xE15D, 0x5874}, //9608 #CJK UNIFIED IDEOGRAPH
+  {0xE15E, 0x588B}, //9609 #CJK UNIFIED IDEOGRAPH
+  {0xE15F, 0x587A}, //9610 #CJK UNIFIED IDEOGRAPH
+  {0xE160, 0x5887}, //9611 #CJK UNIFIED IDEOGRAPH
+  {0xE161, 0x5891}, //9612 #CJK UNIFIED IDEOGRAPH
+  {0xE162, 0x588E}, //9613 #CJK UNIFIED IDEOGRAPH
+  {0xE163, 0x5876}, //9614 #CJK UNIFIED IDEOGRAPH
+  {0xE164, 0x5882}, //9615 #CJK UNIFIED IDEOGRAPH
+  {0xE165, 0x5888}, //9616 #CJK UNIFIED IDEOGRAPH
+  {0xE166, 0x587B}, //9617 #CJK UNIFIED IDEOGRAPH
+  {0xE167, 0x5894}, //9618 #CJK UNIFIED IDEOGRAPH
+  {0xE168, 0x588F}, //9619 #CJK UNIFIED IDEOGRAPH
+  {0xE169, 0x58FE}, //9620 #CJK UNIFIED IDEOGRAPH
+  {0xE16A, 0x596B}, //9621 #CJK UNIFIED IDEOGRAPH
+  {0xE16B, 0x5ADC}, //9622 #CJK UNIFIED IDEOGRAPH
+  {0xE16C, 0x5AEE}, //9623 #CJK UNIFIED IDEOGRAPH
+  {0xE16D, 0x5AE5}, //9624 #CJK UNIFIED IDEOGRAPH
+  {0xE16E, 0x5AD5}, //9625 #CJK UNIFIED IDEOGRAPH
+  {0xE16F, 0x5AEA}, //9626 #CJK UNIFIED IDEOGRAPH
+  {0xE170, 0x5ADA}, //9627 #CJK UNIFIED IDEOGRAPH
+  {0xE171, 0x5AED}, //9628 #CJK UNIFIED IDEOGRAPH
+  {0xE172, 0x5AEB}, //9629 #CJK UNIFIED IDEOGRAPH
+  {0xE173, 0x5AF3}, //9630 #CJK UNIFIED IDEOGRAPH
+  {0xE174, 0x5AE2}, //9631 #CJK UNIFIED IDEOGRAPH
+  {0xE175, 0x5AE0}, //9632 #CJK UNIFIED IDEOGRAPH
+  {0xE176, 0x5ADB}, //9633 #CJK UNIFIED IDEOGRAPH
+  {0xE177, 0x5AEC}, //9634 #CJK UNIFIED IDEOGRAPH
+  {0xE178, 0x5ADE}, //9635 #CJK UNIFIED IDEOGRAPH
+  {0xE179, 0x5ADD}, //9636 #CJK UNIFIED IDEOGRAPH
+  {0xE17A, 0x5AD9}, //9637 #CJK UNIFIED IDEOGRAPH
+  {0xE17B, 0x5AE8}, //9638 #CJK UNIFIED IDEOGRAPH
+  {0xE17C, 0x5ADF}, //9639 #CJK UNIFIED IDEOGRAPH
+  {0xE17D, 0x5B77}, //9640 #CJK UNIFIED IDEOGRAPH
+  {0xE17E, 0x5BE0}, //9641 #CJK UNIFIED IDEOGRAPH
+  {0xE1A1, 0x5BE3}, //9642 #CJK UNIFIED IDEOGRAPH
+  {0xE1A2, 0x5C63}, //9643 #CJK UNIFIED IDEOGRAPH
+  {0xE1A3, 0x5D82}, //9644 #CJK UNIFIED IDEOGRAPH
+  {0xE1A4, 0x5D80}, //9645 #CJK UNIFIED IDEOGRAPH
+  {0xE1A5, 0x5D7D}, //9646 #CJK UNIFIED IDEOGRAPH
+  {0xE1A6, 0x5D86}, //9647 #CJK UNIFIED IDEOGRAPH
+  {0xE1A7, 0x5D7A}, //9648 #CJK UNIFIED IDEOGRAPH
+  {0xE1A8, 0x5D81}, //9649 #CJK UNIFIED IDEOGRAPH
+  {0xE1A9, 0x5D77}, //9650 #CJK UNIFIED IDEOGRAPH
+  {0xE1AA, 0x5D8A}, //9651 #CJK UNIFIED IDEOGRAPH
+  {0xE1AB, 0x5D89}, //9652 #CJK UNIFIED IDEOGRAPH
+  {0xE1AC, 0x5D88}, //9653 #CJK UNIFIED IDEOGRAPH
+  {0xE1AD, 0x5D7E}, //9654 #CJK UNIFIED IDEOGRAPH
+  {0xE1AE, 0x5D7C}, //9655 #CJK UNIFIED IDEOGRAPH
+  {0xE1AF, 0x5D8D}, //9656 #CJK UNIFIED IDEOGRAPH
+  {0xE1B0, 0x5D79}, //9657 #CJK UNIFIED IDEOGRAPH
+  {0xE1B1, 0x5D7F}, //9658 #CJK UNIFIED IDEOGRAPH
+  {0xE1B2, 0x5E58}, //9659 #CJK UNIFIED IDEOGRAPH
+  {0xE1B3, 0x5E59}, //9660 #CJK UNIFIED IDEOGRAPH
+  {0xE1B4, 0x5E53}, //9661 #CJK UNIFIED IDEOGRAPH
+  {0xE1B5, 0x5ED8}, //9662 #CJK UNIFIED IDEOGRAPH
+  {0xE1B6, 0x5ED1}, //9663 #CJK UNIFIED IDEOGRAPH
+  {0xE1B7, 0x5ED7}, //9664 #CJK UNIFIED IDEOGRAPH
+  {0xE1B8, 0x5ECE}, //9665 #CJK UNIFIED IDEOGRAPH
+  {0xE1B9, 0x5EDC}, //9666 #CJK UNIFIED IDEOGRAPH
+  {0xE1BA, 0x5ED5}, //9667 #CJK UNIFIED IDEOGRAPH
+  {0xE1BB, 0x5ED9}, //9668 #CJK UNIFIED IDEOGRAPH
+  {0xE1BC, 0x5ED2}, //9669 #CJK UNIFIED IDEOGRAPH
+  {0xE1BD, 0x5ED4}, //9670 #CJK UNIFIED IDEOGRAPH
+  {0xE1BE, 0x5F44}, //9671 #CJK UNIFIED IDEOGRAPH
+  {0xE1BF, 0x5F43}, //9672 #CJK UNIFIED IDEOGRAPH
+  {0xE1C0, 0x5F6F}, //9673 #CJK UNIFIED IDEOGRAPH
+  {0xE1C1, 0x5FB6}, //9674 #CJK UNIFIED IDEOGRAPH
+  {0xE1C2, 0x612C}, //9675 #CJK UNIFIED IDEOGRAPH
+  {0xE1C3, 0x6128}, //9676 #CJK UNIFIED IDEOGRAPH
+  {0xE1C4, 0x6141}, //9677 #CJK UNIFIED IDEOGRAPH
+  {0xE1C5, 0x615E}, //9678 #CJK UNIFIED IDEOGRAPH
+  {0xE1C6, 0x6171}, //9679 #CJK UNIFIED IDEOGRAPH
+  {0xE1C7, 0x6173}, //9680 #CJK UNIFIED IDEOGRAPH
+  {0xE1C8, 0x6152}, //9681 #CJK UNIFIED IDEOGRAPH
+  {0xE1C9, 0x6153}, //9682 #CJK UNIFIED IDEOGRAPH
+  {0xE1CA, 0x6172}, //9683 #CJK UNIFIED IDEOGRAPH
+  {0xE1CB, 0x616C}, //9684 #CJK UNIFIED IDEOGRAPH
+  {0xE1CC, 0x6180}, //9685 #CJK UNIFIED IDEOGRAPH
+  {0xE1CD, 0x6174}, //9686 #CJK UNIFIED IDEOGRAPH
+  {0xE1CE, 0x6154}, //9687 #CJK UNIFIED IDEOGRAPH
+  {0xE1CF, 0x617A}, //9688 #CJK UNIFIED IDEOGRAPH
+  {0xE1D0, 0x615B}, //9689 #CJK UNIFIED IDEOGRAPH
+  {0xE1D1, 0x6165}, //9690 #CJK UNIFIED IDEOGRAPH
+  {0xE1D2, 0x613B}, //9691 #CJK UNIFIED IDEOGRAPH
+  {0xE1D3, 0x616A}, //9692 #CJK UNIFIED IDEOGRAPH
+  {0xE1D4, 0x6161}, //9693 #CJK UNIFIED IDEOGRAPH
+  {0xE1D5, 0x6156}, //9694 #CJK UNIFIED IDEOGRAPH
+  {0xE1D6, 0x6229}, //9695 #CJK UNIFIED IDEOGRAPH
+  {0xE1D7, 0x6227}, //9696 #CJK UNIFIED IDEOGRAPH
+  {0xE1D8, 0x622B}, //9697 #CJK UNIFIED IDEOGRAPH
+  {0xE1D9, 0x642B}, //9698 #CJK UNIFIED IDEOGRAPH
+  {0xE1DA, 0x644D}, //9699 #CJK UNIFIED IDEOGRAPH
+  {0xE1DB, 0x645B}, //9700 #CJK UNIFIED IDEOGRAPH
+  {0xE1DC, 0x645D}, //9701 #CJK UNIFIED IDEOGRAPH
+  {0xE1DD, 0x6474}, //9702 #CJK UNIFIED IDEOGRAPH
+  {0xE1DE, 0x6476}, //9703 #CJK UNIFIED IDEOGRAPH
+  {0xE1DF, 0x6472}, //9704 #CJK UNIFIED IDEOGRAPH
+  {0xE1E0, 0x6473}, //9705 #CJK UNIFIED IDEOGRAPH
+  {0xE1E1, 0x647D}, //9706 #CJK UNIFIED IDEOGRAPH
+  {0xE1E2, 0x6475}, //9707 #CJK UNIFIED IDEOGRAPH
+  {0xE1E3, 0x6466}, //9708 #CJK UNIFIED IDEOGRAPH
+  {0xE1E4, 0x64A6}, //9709 #CJK UNIFIED IDEOGRAPH
+  {0xE1E5, 0x644E}, //9710 #CJK UNIFIED IDEOGRAPH
+  {0xE1E6, 0x6482}, //9711 #CJK UNIFIED IDEOGRAPH
+  {0xE1E7, 0x645E}, //9712 #CJK UNIFIED IDEOGRAPH
+  {0xE1E8, 0x645C}, //9713 #CJK UNIFIED IDEOGRAPH
+  {0xE1E9, 0x644B}, //9714 #CJK UNIFIED IDEOGRAPH
+  {0xE1EA, 0x6453}, //9715 #CJK UNIFIED IDEOGRAPH
+  {0xE1EB, 0x6460}, //9716 #CJK UNIFIED IDEOGRAPH
+  {0xE1EC, 0x6450}, //9717 #CJK UNIFIED IDEOGRAPH
+  {0xE1ED, 0x647F}, //9718 #CJK UNIFIED IDEOGRAPH
+  {0xE1EE, 0x643F}, //9719 #CJK UNIFIED IDEOGRAPH
+  {0xE1EF, 0x646C}, //9720 #CJK UNIFIED IDEOGRAPH
+  {0xE1F0, 0x646B}, //9721 #CJK UNIFIED IDEOGRAPH
+  {0xE1F1, 0x6459}, //9722 #CJK UNIFIED IDEOGRAPH
+  {0xE1F2, 0x6465}, //9723 #CJK UNIFIED IDEOGRAPH
+  {0xE1F3, 0x6477}, //9724 #CJK UNIFIED IDEOGRAPH
+  {0xE1F4, 0x6573}, //9725 #CJK UNIFIED IDEOGRAPH
+  {0xE1F5, 0x65A0}, //9726 #CJK UNIFIED IDEOGRAPH
+  {0xE1F6, 0x66A1}, //9727 #CJK UNIFIED IDEOGRAPH
+  {0xE1F7, 0x66A0}, //9728 #CJK UNIFIED IDEOGRAPH
+  {0xE1F8, 0x669F}, //9729 #CJK UNIFIED IDEOGRAPH
+  {0xE1F9, 0x6705}, //9730 #CJK UNIFIED IDEOGRAPH
+  {0xE1FA, 0x6704}, //9731 #CJK UNIFIED IDEOGRAPH
+  {0xE1FB, 0x6722}, //9732 #CJK UNIFIED IDEOGRAPH
+  {0xE1FC, 0x69B1}, //9733 #CJK UNIFIED IDEOGRAPH
+  {0xE1FD, 0x69B6}, //9734 #CJK UNIFIED IDEOGRAPH
+  {0xE1FE, 0x69C9}, //9735 #CJK UNIFIED IDEOGRAPH
+  {0xE240, 0x69A0}, //9736 #CJK UNIFIED IDEOGRAPH
+  {0xE241, 0x69CE}, //9737 #CJK UNIFIED IDEOGRAPH
+  {0xE242, 0x6996}, //9738 #CJK UNIFIED IDEOGRAPH
+  {0xE243, 0x69B0}, //9739 #CJK UNIFIED IDEOGRAPH
+  {0xE244, 0x69AC}, //9740 #CJK UNIFIED IDEOGRAPH
+  {0xE245, 0x69BC}, //9741 #CJK UNIFIED IDEOGRAPH
+  {0xE246, 0x6991}, //9742 #CJK UNIFIED IDEOGRAPH
+  {0xE247, 0x6999}, //9743 #CJK UNIFIED IDEOGRAPH
+  {0xE248, 0x698E}, //9744 #CJK UNIFIED IDEOGRAPH
+  {0xE249, 0x69A7}, //9745 #CJK UNIFIED IDEOGRAPH
+  {0xE24A, 0x698D}, //9746 #CJK UNIFIED IDEOGRAPH
+  {0xE24B, 0x69A9}, //9747 #CJK UNIFIED IDEOGRAPH
+  {0xE24C, 0x69BE}, //9748 #CJK UNIFIED IDEOGRAPH
+  {0xE24D, 0x69AF}, //9749 #CJK UNIFIED IDEOGRAPH
+  {0xE24E, 0x69BF}, //9750 #CJK UNIFIED IDEOGRAPH
+  {0xE24F, 0x69C4}, //9751 #CJK UNIFIED IDEOGRAPH
+  {0xE250, 0x69BD}, //9752 #CJK UNIFIED IDEOGRAPH
+  {0xE251, 0x69A4}, //9753 #CJK UNIFIED IDEOGRAPH
+  {0xE252, 0x69D4}, //9754 #CJK UNIFIED IDEOGRAPH
+  {0xE253, 0x69B9}, //9755 #CJK UNIFIED IDEOGRAPH
+  {0xE254, 0x69CA}, //9756 #CJK UNIFIED IDEOGRAPH
+  {0xE255, 0x699A}, //9757 #CJK UNIFIED IDEOGRAPH
+  {0xE256, 0x69CF}, //9758 #CJK UNIFIED IDEOGRAPH
+  {0xE257, 0x69B3}, //9759 #CJK UNIFIED IDEOGRAPH
+  {0xE258, 0x6993}, //9760 #CJK UNIFIED IDEOGRAPH
+  {0xE259, 0x69AA}, //9761 #CJK UNIFIED IDEOGRAPH
+  {0xE25A, 0x69A1}, //9762 #CJK UNIFIED IDEOGRAPH
+  {0xE25B, 0x699E}, //9763 #CJK UNIFIED IDEOGRAPH
+  {0xE25C, 0x69D9}, //9764 #CJK UNIFIED IDEOGRAPH
+  {0xE25D, 0x6997}, //9765 #CJK UNIFIED IDEOGRAPH
+  {0xE25E, 0x6990}, //9766 #CJK UNIFIED IDEOGRAPH
+  {0xE25F, 0x69C2}, //9767 #CJK UNIFIED IDEOGRAPH
+  {0xE260, 0x69B5}, //9768 #CJK UNIFIED IDEOGRAPH
+  {0xE261, 0x69A5}, //9769 #CJK UNIFIED IDEOGRAPH
+  {0xE262, 0x69C6}, //9770 #CJK UNIFIED IDEOGRAPH
+  {0xE263, 0x6B4A}, //9771 #CJK UNIFIED IDEOGRAPH
+  {0xE264, 0x6B4D}, //9772 #CJK UNIFIED IDEOGRAPH
+  {0xE265, 0x6B4B}, //9773 #CJK UNIFIED IDEOGRAPH
+  {0xE266, 0x6B9E}, //9774 #CJK UNIFIED IDEOGRAPH
+  {0xE267, 0x6B9F}, //9775 #CJK UNIFIED IDEOGRAPH
+  {0xE268, 0x6BA0}, //9776 #CJK UNIFIED IDEOGRAPH
+  {0xE269, 0x6BC3}, //9777 #CJK UNIFIED IDEOGRAPH
+  {0xE26A, 0x6BC4}, //9778 #CJK UNIFIED IDEOGRAPH
+  {0xE26B, 0x6BFE}, //9779 #CJK UNIFIED IDEOGRAPH
+  {0xE26C, 0x6ECE}, //9780 #CJK UNIFIED IDEOGRAPH
+  {0xE26D, 0x6EF5}, //9781 #CJK UNIFIED IDEOGRAPH
+  {0xE26E, 0x6EF1}, //9782 #CJK UNIFIED IDEOGRAPH
+  {0xE26F, 0x6F03}, //9783 #CJK UNIFIED IDEOGRAPH
+  {0xE270, 0x6F25}, //9784 #CJK UNIFIED IDEOGRAPH
+  {0xE271, 0x6EF8}, //9785 #CJK UNIFIED IDEOGRAPH
+  {0xE272, 0x6F37}, //9786 #CJK UNIFIED IDEOGRAPH
+  {0xE273, 0x6EFB}, //9787 #CJK UNIFIED IDEOGRAPH
+  {0xE274, 0x6F2E}, //9788 #CJK UNIFIED IDEOGRAPH
+  {0xE275, 0x6F09}, //9789 #CJK UNIFIED IDEOGRAPH
+  {0xE276, 0x6F4E}, //9790 #CJK UNIFIED IDEOGRAPH
+  {0xE277, 0x6F19}, //9791 #CJK UNIFIED IDEOGRAPH
+  {0xE278, 0x6F1A}, //9792 #CJK UNIFIED IDEOGRAPH
+  {0xE279, 0x6F27}, //9793 #CJK UNIFIED IDEOGRAPH
+  {0xE27A, 0x6F18}, //9794 #CJK UNIFIED IDEOGRAPH
+  {0xE27B, 0x6F3B}, //9795 #CJK UNIFIED IDEOGRAPH
+  {0xE27C, 0x6F12}, //9796 #CJK UNIFIED IDEOGRAPH
+  {0xE27D, 0x6EED}, //9797 #CJK UNIFIED IDEOGRAPH
+  {0xE27E, 0x6F0A}, //9798 #CJK UNIFIED IDEOGRAPH
+  {0xE2A1, 0x6F36}, //9799 #CJK UNIFIED IDEOGRAPH
+  {0xE2A2, 0x6F73}, //9800 #CJK UNIFIED IDEOGRAPH
+  {0xE2A3, 0x6EF9}, //9801 #CJK UNIFIED IDEOGRAPH
+  {0xE2A4, 0x6EEE}, //9802 #CJK UNIFIED IDEOGRAPH
+  {0xE2A5, 0x6F2D}, //9803 #CJK UNIFIED IDEOGRAPH
+  {0xE2A6, 0x6F40}, //9804 #CJK UNIFIED IDEOGRAPH
+  {0xE2A7, 0x6F30}, //9805 #CJK UNIFIED IDEOGRAPH
+  {0xE2A8, 0x6F3C}, //9806 #CJK UNIFIED IDEOGRAPH
+  {0xE2A9, 0x6F35}, //9807 #CJK UNIFIED IDEOGRAPH
+  {0xE2AA, 0x6EEB}, //9808 #CJK UNIFIED IDEOGRAPH
+  {0xE2AB, 0x6F07}, //9809 #CJK UNIFIED IDEOGRAPH
+  {0xE2AC, 0x6F0E}, //9810 #CJK UNIFIED IDEOGRAPH
+  {0xE2AD, 0x6F43}, //9811 #CJK UNIFIED IDEOGRAPH
+  {0xE2AE, 0x6F05}, //9812 #CJK UNIFIED IDEOGRAPH
+  {0xE2AF, 0x6EFD}, //9813 #CJK UNIFIED IDEOGRAPH
+  {0xE2B0, 0x6EF6}, //9814 #CJK UNIFIED IDEOGRAPH
+  {0xE2B1, 0x6F39}, //9815 #CJK UNIFIED IDEOGRAPH
+  {0xE2B2, 0x6F1C}, //9816 #CJK UNIFIED IDEOGRAPH
+  {0xE2B3, 0x6EFC}, //9817 #CJK UNIFIED IDEOGRAPH
+  {0xE2B4, 0x6F3A}, //9818 #CJK UNIFIED IDEOGRAPH
+  {0xE2B5, 0x6F1F}, //9819 #CJK UNIFIED IDEOGRAPH
+  {0xE2B6, 0x6F0D}, //9820 #CJK UNIFIED IDEOGRAPH
+  {0xE2B7, 0x6F1E}, //9821 #CJK UNIFIED IDEOGRAPH
+  {0xE2B8, 0x6F08}, //9822 #CJK UNIFIED IDEOGRAPH
+  {0xE2B9, 0x6F21}, //9823 #CJK UNIFIED IDEOGRAPH
+  {0xE2BA, 0x7187}, //9824 #CJK UNIFIED IDEOGRAPH
+  {0xE2BB, 0x7190}, //9825 #CJK UNIFIED IDEOGRAPH
+  {0xE2BC, 0x7189}, //9826 #CJK UNIFIED IDEOGRAPH
+  {0xE2BD, 0x7180}, //9827 #CJK UNIFIED IDEOGRAPH
+  {0xE2BE, 0x7185}, //9828 #CJK UNIFIED IDEOGRAPH
+  {0xE2BF, 0x7182}, //9829 #CJK UNIFIED IDEOGRAPH
+  {0xE2C0, 0x718F}, //9830 #CJK UNIFIED IDEOGRAPH
+  {0xE2C1, 0x717B}, //9831 #CJK UNIFIED IDEOGRAPH
+  {0xE2C2, 0x7186}, //9832 #CJK UNIFIED IDEOGRAPH
+  {0xE2C3, 0x7181}, //9833 #CJK UNIFIED IDEOGRAPH
+  {0xE2C4, 0x7197}, //9834 #CJK UNIFIED IDEOGRAPH
+  {0xE2C5, 0x7244}, //9835 #CJK UNIFIED IDEOGRAPH
+  {0xE2C6, 0x7253}, //9836 #CJK UNIFIED IDEOGRAPH
+  {0xE2C7, 0x7297}, //9837 #CJK UNIFIED IDEOGRAPH
+  {0xE2C8, 0x7295}, //9838 #CJK UNIFIED IDEOGRAPH
+  {0xE2C9, 0x7293}, //9839 #CJK UNIFIED IDEOGRAPH
+  {0xE2CA, 0x7343}, //9840 #CJK UNIFIED IDEOGRAPH
+  {0xE2CB, 0x734D}, //9841 #CJK UNIFIED IDEOGRAPH
+  {0xE2CC, 0x7351}, //9842 #CJK UNIFIED IDEOGRAPH
+  {0xE2CD, 0x734C}, //9843 #CJK UNIFIED IDEOGRAPH
+  {0xE2CE, 0x7462}, //9844 #CJK UNIFIED IDEOGRAPH
+  {0xE2CF, 0x7473}, //9845 #CJK UNIFIED IDEOGRAPH
+  {0xE2D0, 0x7471}, //9846 #CJK UNIFIED IDEOGRAPH
+  {0xE2D1, 0x7475}, //9847 #CJK UNIFIED IDEOGRAPH
+  {0xE2D2, 0x7472}, //9848 #CJK UNIFIED IDEOGRAPH
+  {0xE2D3, 0x7467}, //9849 #CJK UNIFIED IDEOGRAPH
+  {0xE2D4, 0x746E}, //9850 #CJK UNIFIED IDEOGRAPH
+  {0xE2D5, 0x7500}, //9851 #CJK UNIFIED IDEOGRAPH
+  {0xE2D6, 0x7502}, //9852 #CJK UNIFIED IDEOGRAPH
+  {0xE2D7, 0x7503}, //9853 #CJK UNIFIED IDEOGRAPH
+  {0xE2D8, 0x757D}, //9854 #CJK UNIFIED IDEOGRAPH
+  {0xE2D9, 0x7590}, //9855 #CJK UNIFIED IDEOGRAPH
+  {0xE2DA, 0x7616}, //9856 #CJK UNIFIED IDEOGRAPH
+  {0xE2DB, 0x7608}, //9857 #CJK UNIFIED IDEOGRAPH
+  {0xE2DC, 0x760C}, //9858 #CJK UNIFIED IDEOGRAPH
+  {0xE2DD, 0x7615}, //9859 #CJK UNIFIED IDEOGRAPH
+  {0xE2DE, 0x7611}, //9860 #CJK UNIFIED IDEOGRAPH
+  {0xE2DF, 0x760A}, //9861 #CJK UNIFIED IDEOGRAPH
+  {0xE2E0, 0x7614}, //9862 #CJK UNIFIED IDEOGRAPH
+  {0xE2E1, 0x76B8}, //9863 #CJK UNIFIED IDEOGRAPH
+  {0xE2E2, 0x7781}, //9864 #CJK UNIFIED IDEOGRAPH
+  {0xE2E3, 0x777C}, //9865 #CJK UNIFIED IDEOGRAPH
+  {0xE2E4, 0x7785}, //9866 #CJK UNIFIED IDEOGRAPH
+  {0xE2E5, 0x7782}, //9867 #CJK UNIFIED IDEOGRAPH
+  {0xE2E6, 0x776E}, //9868 #CJK UNIFIED IDEOGRAPH
+  {0xE2E7, 0x7780}, //9869 #CJK UNIFIED IDEOGRAPH
+  {0xE2E8, 0x776F}, //9870 #CJK UNIFIED IDEOGRAPH
+  {0xE2E9, 0x777E}, //9871 #CJK UNIFIED IDEOGRAPH
+  {0xE2EA, 0x7783}, //9872 #CJK UNIFIED IDEOGRAPH
+  {0xE2EB, 0x78B2}, //9873 #CJK UNIFIED IDEOGRAPH
+  {0xE2EC, 0x78AA}, //9874 #CJK UNIFIED IDEOGRAPH
+  {0xE2ED, 0x78B4}, //9875 #CJK UNIFIED IDEOGRAPH
+  {0xE2EE, 0x78AD}, //9876 #CJK UNIFIED IDEOGRAPH
+  {0xE2EF, 0x78A8}, //9877 #CJK UNIFIED IDEOGRAPH
+  {0xE2F0, 0x787E}, //9878 #CJK UNIFIED IDEOGRAPH
+  {0xE2F1, 0x78AB}, //9879 #CJK UNIFIED IDEOGRAPH
+  {0xE2F2, 0x789E}, //9880 #CJK UNIFIED IDEOGRAPH
+  {0xE2F3, 0x78A5}, //9881 #CJK UNIFIED IDEOGRAPH
+  {0xE2F4, 0x78A0}, //9882 #CJK UNIFIED IDEOGRAPH
+  {0xE2F5, 0x78AC}, //9883 #CJK UNIFIED IDEOGRAPH
+  {0xE2F6, 0x78A2}, //9884 #CJK UNIFIED IDEOGRAPH
+  {0xE2F7, 0x78A4}, //9885 #CJK UNIFIED IDEOGRAPH
+  {0xE2F8, 0x7998}, //9886 #CJK UNIFIED IDEOGRAPH
+  {0xE2F9, 0x798A}, //9887 #CJK UNIFIED IDEOGRAPH
+  {0xE2FA, 0x798B}, //9888 #CJK UNIFIED IDEOGRAPH
+  {0xE2FB, 0x7996}, //9889 #CJK UNIFIED IDEOGRAPH
+  {0xE2FC, 0x7995}, //9890 #CJK UNIFIED IDEOGRAPH
+  {0xE2FD, 0x7994}, //9891 #CJK UNIFIED IDEOGRAPH
+  {0xE2FE, 0x7993}, //9892 #CJK UNIFIED IDEOGRAPH
+  {0xE340, 0x7997}, //9893 #CJK UNIFIED IDEOGRAPH
+  {0xE341, 0x7988}, //9894 #CJK UNIFIED IDEOGRAPH
+  {0xE342, 0x7992}, //9895 #CJK UNIFIED IDEOGRAPH
+  {0xE343, 0x7990}, //9896 #CJK UNIFIED IDEOGRAPH
+  {0xE344, 0x7A2B}, //9897 #CJK UNIFIED IDEOGRAPH
+  {0xE345, 0x7A4A}, //9898 #CJK UNIFIED IDEOGRAPH
+  {0xE346, 0x7A30}, //9899 #CJK UNIFIED IDEOGRAPH
+  {0xE347, 0x7A2F}, //9900 #CJK UNIFIED IDEOGRAPH
+  {0xE348, 0x7A28}, //9901 #CJK UNIFIED IDEOGRAPH
+  {0xE349, 0x7A26}, //9902 #CJK UNIFIED IDEOGRAPH
+  {0xE34A, 0x7AA8}, //9903 #CJK UNIFIED IDEOGRAPH
+  {0xE34B, 0x7AAB}, //9904 #CJK UNIFIED IDEOGRAPH
+  {0xE34C, 0x7AAC}, //9905 #CJK UNIFIED IDEOGRAPH
+  {0xE34D, 0x7AEE}, //9906 #CJK UNIFIED IDEOGRAPH
+  {0xE34E, 0x7B88}, //9907 #CJK UNIFIED IDEOGRAPH
+  {0xE34F, 0x7B9C}, //9908 #CJK UNIFIED IDEOGRAPH
+  {0xE350, 0x7B8A}, //9909 #CJK UNIFIED IDEOGRAPH
+  {0xE351, 0x7B91}, //9910 #CJK UNIFIED IDEOGRAPH
+  {0xE352, 0x7B90}, //9911 #CJK UNIFIED IDEOGRAPH
+  {0xE353, 0x7B96}, //9912 #CJK UNIFIED IDEOGRAPH
+  {0xE354, 0x7B8D}, //9913 #CJK UNIFIED IDEOGRAPH
+  {0xE355, 0x7B8C}, //9914 #CJK UNIFIED IDEOGRAPH
+  {0xE356, 0x7B9B}, //9915 #CJK UNIFIED IDEOGRAPH
+  {0xE357, 0x7B8E}, //9916 #CJK UNIFIED IDEOGRAPH
+  {0xE358, 0x7B85}, //9917 #CJK UNIFIED IDEOGRAPH
+  {0xE359, 0x7B98}, //9918 #CJK UNIFIED IDEOGRAPH
+  {0xE35A, 0x5284}, //9919 #CJK UNIFIED IDEOGRAPH
+  {0xE35B, 0x7B99}, //9920 #CJK UNIFIED IDEOGRAPH
+  {0xE35C, 0x7BA4}, //9921 #CJK UNIFIED IDEOGRAPH
+  {0xE35D, 0x7B82}, //9922 #CJK UNIFIED IDEOGRAPH
+  {0xE35E, 0x7CBB}, //9923 #CJK UNIFIED IDEOGRAPH
+  {0xE35F, 0x7CBF}, //9924 #CJK UNIFIED IDEOGRAPH
+  {0xE360, 0x7CBC}, //9925 #CJK UNIFIED IDEOGRAPH
+  {0xE361, 0x7CBA}, //9926 #CJK UNIFIED IDEOGRAPH
+  {0xE362, 0x7DA7}, //9927 #CJK UNIFIED IDEOGRAPH
+  {0xE363, 0x7DB7}, //9928 #CJK UNIFIED IDEOGRAPH
+  {0xE364, 0x7DC2}, //9929 #CJK UNIFIED IDEOGRAPH
+  {0xE365, 0x7DA3}, //9930 #CJK UNIFIED IDEOGRAPH
+  {0xE366, 0x7DAA}, //9931 #CJK UNIFIED IDEOGRAPH
+  {0xE367, 0x7DC1}, //9932 #CJK UNIFIED IDEOGRAPH
+  {0xE368, 0x7DC0}, //9933 #CJK UNIFIED IDEOGRAPH
+  {0xE369, 0x7DC5}, //9934 #CJK UNIFIED IDEOGRAPH
+  {0xE36A, 0x7D9D}, //9935 #CJK UNIFIED IDEOGRAPH
+  {0xE36B, 0x7DCE}, //9936 #CJK UNIFIED IDEOGRAPH
+  {0xE36C, 0x7DC4}, //9937 #CJK UNIFIED IDEOGRAPH
+  {0xE36D, 0x7DC6}, //9938 #CJK UNIFIED IDEOGRAPH
+  {0xE36E, 0x7DCB}, //9939 #CJK UNIFIED IDEOGRAPH
+  {0xE36F, 0x7DCC}, //9940 #CJK UNIFIED IDEOGRAPH
+  {0xE370, 0x7DAF}, //9941 #CJK UNIFIED IDEOGRAPH
+  {0xE371, 0x7DB9}, //9942 #CJK UNIFIED IDEOGRAPH
+  {0xE372, 0x7D96}, //9943 #CJK UNIFIED IDEOGRAPH
+  {0xE373, 0x7DBC}, //9944 #CJK UNIFIED IDEOGRAPH
+  {0xE374, 0x7D9F}, //9945 #CJK UNIFIED IDEOGRAPH
+  {0xE375, 0x7DA6}, //9946 #CJK UNIFIED IDEOGRAPH
+  {0xE376, 0x7DAE}, //9947 #CJK UNIFIED IDEOGRAPH
+  {0xE377, 0x7DA9}, //9948 #CJK UNIFIED IDEOGRAPH
+  {0xE378, 0x7DA1}, //9949 #CJK UNIFIED IDEOGRAPH
+  {0xE379, 0x7DC9}, //9950 #CJK UNIFIED IDEOGRAPH
+  {0xE37A, 0x7F73}, //9951 #CJK UNIFIED IDEOGRAPH
+  {0xE37B, 0x7FE2}, //9952 #CJK UNIFIED IDEOGRAPH
+  {0xE37C, 0x7FE3}, //9953 #CJK UNIFIED IDEOGRAPH
+  {0xE37D, 0x7FE5}, //9954 #CJK UNIFIED IDEOGRAPH
+  {0xE37E, 0x7FDE}, //9955 #CJK UNIFIED IDEOGRAPH
+  {0xE3A1, 0x8024}, //9956 #CJK UNIFIED IDEOGRAPH
+  {0xE3A2, 0x805D}, //9957 #CJK UNIFIED IDEOGRAPH
+  {0xE3A3, 0x805C}, //9958 #CJK UNIFIED IDEOGRAPH
+  {0xE3A4, 0x8189}, //9959 #CJK UNIFIED IDEOGRAPH
+  {0xE3A5, 0x8186}, //9960 #CJK UNIFIED IDEOGRAPH
+  {0xE3A6, 0x8183}, //9961 #CJK UNIFIED IDEOGRAPH
+  {0xE3A7, 0x8187}, //9962 #CJK UNIFIED IDEOGRAPH
+  {0xE3A8, 0x818D}, //9963 #CJK UNIFIED IDEOGRAPH
+  {0xE3A9, 0x818C}, //9964 #CJK UNIFIED IDEOGRAPH
+  {0xE3AA, 0x818B}, //9965 #CJK UNIFIED IDEOGRAPH
+  {0xE3AB, 0x8215}, //9966 #CJK UNIFIED IDEOGRAPH
+  {0xE3AC, 0x8497}, //9967 #CJK UNIFIED IDEOGRAPH
+  {0xE3AD, 0x84A4}, //9968 #CJK UNIFIED IDEOGRAPH
+  {0xE3AE, 0x84A1}, //9969 #CJK UNIFIED IDEOGRAPH
+  {0xE3AF, 0x849F}, //9970 #CJK UNIFIED IDEOGRAPH
+  {0xE3B0, 0x84BA}, //9971 #CJK UNIFIED IDEOGRAPH
+  {0xE3B1, 0x84CE}, //9972 #CJK UNIFIED IDEOGRAPH
+  {0xE3B2, 0x84C2}, //9973 #CJK UNIFIED IDEOGRAPH
+  {0xE3B3, 0x84AC}, //9974 #CJK UNIFIED IDEOGRAPH
+  {0xE3B4, 0x84AE}, //9975 #CJK UNIFIED IDEOGRAPH
+  {0xE3B5, 0x84AB}, //9976 #CJK UNIFIED IDEOGRAPH
+  {0xE3B6, 0x84B9}, //9977 #CJK UNIFIED IDEOGRAPH
+  {0xE3B7, 0x84B4}, //9978 #CJK UNIFIED IDEOGRAPH
+  {0xE3B8, 0x84C1}, //9979 #CJK UNIFIED IDEOGRAPH
+  {0xE3B9, 0x84CD}, //9980 #CJK UNIFIED IDEOGRAPH
+  {0xE3BA, 0x84AA}, //9981 #CJK UNIFIED IDEOGRAPH
+  {0xE3BB, 0x849A}, //9982 #CJK UNIFIED IDEOGRAPH
+  {0xE3BC, 0x84B1}, //9983 #CJK UNIFIED IDEOGRAPH
+  {0xE3BD, 0x84D0}, //9984 #CJK UNIFIED IDEOGRAPH
+  {0xE3BE, 0x849D}, //9985 #CJK UNIFIED IDEOGRAPH
+  {0xE3BF, 0x84A7}, //9986 #CJK UNIFIED IDEOGRAPH
+  {0xE3C0, 0x84BB}, //9987 #CJK UNIFIED IDEOGRAPH
+  {0xE3C1, 0x84A2}, //9988 #CJK UNIFIED IDEOGRAPH
+  {0xE3C2, 0x8494}, //9989 #CJK UNIFIED IDEOGRAPH
+  {0xE3C3, 0x84C7}, //9990 #CJK UNIFIED IDEOGRAPH
+  {0xE3C4, 0x84CC}, //9991 #CJK UNIFIED IDEOGRAPH
+  {0xE3C5, 0x849B}, //9992 #CJK UNIFIED IDEOGRAPH
+  {0xE3C6, 0x84A9}, //9993 #CJK UNIFIED IDEOGRAPH
+  {0xE3C7, 0x84AF}, //9994 #CJK UNIFIED IDEOGRAPH
+  {0xE3C8, 0x84A8}, //9995 #CJK UNIFIED IDEOGRAPH
+  {0xE3C9, 0x84D6}, //9996 #CJK UNIFIED IDEOGRAPH
+  {0xE3CA, 0x8498}, //9997 #CJK UNIFIED IDEOGRAPH
+  {0xE3CB, 0x84B6}, //9998 #CJK UNIFIED IDEOGRAPH
+  {0xE3CC, 0x84CF}, //9999 #CJK UNIFIED IDEOGRAPH
+  {0xE3CD, 0x84A0}, //10000 #CJK UNIFIED IDEOGRAPH
+  {0xE3CE, 0x84D7}, //10001 #CJK UNIFIED IDEOGRAPH
+  {0xE3CF, 0x84D4}, //10002 #CJK UNIFIED IDEOGRAPH
+  {0xE3D0, 0x84D2}, //10003 #CJK UNIFIED IDEOGRAPH
+  {0xE3D1, 0x84DB}, //10004 #CJK UNIFIED IDEOGRAPH
+  {0xE3D2, 0x84B0}, //10005 #CJK UNIFIED IDEOGRAPH
+  {0xE3D3, 0x8491}, //10006 #CJK UNIFIED IDEOGRAPH
+  {0xE3D4, 0x8661}, //10007 #CJK UNIFIED IDEOGRAPH
+  {0xE3D5, 0x8733}, //10008 #CJK UNIFIED IDEOGRAPH
+  {0xE3D6, 0x8723}, //10009 #CJK UNIFIED IDEOGRAPH
+  {0xE3D7, 0x8728}, //10010 #CJK UNIFIED IDEOGRAPH
+  {0xE3D8, 0x876B}, //10011 #CJK UNIFIED IDEOGRAPH
+  {0xE3D9, 0x8740}, //10012 #CJK UNIFIED IDEOGRAPH
+  {0xE3DA, 0x872E}, //10013 #CJK UNIFIED IDEOGRAPH
+  {0xE3DB, 0x871E}, //10014 #CJK UNIFIED IDEOGRAPH
+  {0xE3DC, 0x8721}, //10015 #CJK UNIFIED IDEOGRAPH
+  {0xE3DD, 0x8719}, //10016 #CJK UNIFIED IDEOGRAPH
+  {0xE3DE, 0x871B}, //10017 #CJK UNIFIED IDEOGRAPH
+  {0xE3DF, 0x8743}, //10018 #CJK UNIFIED IDEOGRAPH
+  {0xE3E0, 0x872C}, //10019 #CJK UNIFIED IDEOGRAPH
+  {0xE3E1, 0x8741}, //10020 #CJK UNIFIED IDEOGRAPH
+  {0xE3E2, 0x873E}, //10021 #CJK UNIFIED IDEOGRAPH
+  {0xE3E3, 0x8746}, //10022 #CJK UNIFIED IDEOGRAPH
+  {0xE3E4, 0x8720}, //10023 #CJK UNIFIED IDEOGRAPH
+  {0xE3E5, 0x8732}, //10024 #CJK UNIFIED IDEOGRAPH
+  {0xE3E6, 0x872A}, //10025 #CJK UNIFIED IDEOGRAPH
+  {0xE3E7, 0x872D}, //10026 #CJK UNIFIED IDEOGRAPH
+  {0xE3E8, 0x873C}, //10027 #CJK UNIFIED IDEOGRAPH
+  {0xE3E9, 0x8712}, //10028 #CJK UNIFIED IDEOGRAPH
+  {0xE3EA, 0x873A}, //10029 #CJK UNIFIED IDEOGRAPH
+  {0xE3EB, 0x8731}, //10030 #CJK UNIFIED IDEOGRAPH
+  {0xE3EC, 0x8735}, //10031 #CJK UNIFIED IDEOGRAPH
+  {0xE3ED, 0x8742}, //10032 #CJK UNIFIED IDEOGRAPH
+  {0xE3EE, 0x8726}, //10033 #CJK UNIFIED IDEOGRAPH
+  {0xE3EF, 0x8727}, //10034 #CJK UNIFIED IDEOGRAPH
+  {0xE3F0, 0x8738}, //10035 #CJK UNIFIED IDEOGRAPH
+  {0xE3F1, 0x8724}, //10036 #CJK UNIFIED IDEOGRAPH
+  {0xE3F2, 0x871A}, //10037 #CJK UNIFIED IDEOGRAPH
+  {0xE3F3, 0x8730}, //10038 #CJK UNIFIED IDEOGRAPH
+  {0xE3F4, 0x8711}, //10039 #CJK UNIFIED IDEOGRAPH
+  {0xE3F5, 0x88F7}, //10040 #CJK UNIFIED IDEOGRAPH
+  {0xE3F6, 0x88E7}, //10041 #CJK UNIFIED IDEOGRAPH
+  {0xE3F7, 0x88F1}, //10042 #CJK UNIFIED IDEOGRAPH
+  {0xE3F8, 0x88F2}, //10043 #CJK UNIFIED IDEOGRAPH
+  {0xE3F9, 0x88FA}, //10044 #CJK UNIFIED IDEOGRAPH
+  {0xE3FA, 0x88FE}, //10045 #CJK UNIFIED IDEOGRAPH
+  {0xE3FB, 0x88EE}, //10046 #CJK UNIFIED IDEOGRAPH
+  {0xE3FC, 0x88FC}, //10047 #CJK UNIFIED IDEOGRAPH
+  {0xE3FD, 0x88F6}, //10048 #CJK UNIFIED IDEOGRAPH
+  {0xE3FE, 0x88FB}, //10049 #CJK UNIFIED IDEOGRAPH
+  {0xE440, 0x88F0}, //10050 #CJK UNIFIED IDEOGRAPH
+  {0xE441, 0x88EC}, //10051 #CJK UNIFIED IDEOGRAPH
+  {0xE442, 0x88EB}, //10052 #CJK UNIFIED IDEOGRAPH
+  {0xE443, 0x899D}, //10053 #CJK UNIFIED IDEOGRAPH
+  {0xE444, 0x89A1}, //10054 #CJK UNIFIED IDEOGRAPH
+  {0xE445, 0x899F}, //10055 #CJK UNIFIED IDEOGRAPH
+  {0xE446, 0x899E}, //10056 #CJK UNIFIED IDEOGRAPH
+  {0xE447, 0x89E9}, //10057 #CJK UNIFIED IDEOGRAPH
+  {0xE448, 0x89EB}, //10058 #CJK UNIFIED IDEOGRAPH
+  {0xE449, 0x89E8}, //10059 #CJK UNIFIED IDEOGRAPH
+  {0xE44A, 0x8AAB}, //10060 #CJK UNIFIED IDEOGRAPH
+  {0xE44B, 0x8A99}, //10061 #CJK UNIFIED IDEOGRAPH
+  {0xE44C, 0x8A8B}, //10062 #CJK UNIFIED IDEOGRAPH
+  {0xE44D, 0x8A92}, //10063 #CJK UNIFIED IDEOGRAPH
+  {0xE44E, 0x8A8F}, //10064 #CJK UNIFIED IDEOGRAPH
+  {0xE44F, 0x8A96}, //10065 #CJK UNIFIED IDEOGRAPH
+  {0xE450, 0x8C3D}, //10066 #CJK UNIFIED IDEOGRAPH
+  {0xE451, 0x8C68}, //10067 #CJK UNIFIED IDEOGRAPH
+  {0xE452, 0x8C69}, //10068 #CJK UNIFIED IDEOGRAPH
+  {0xE453, 0x8CD5}, //10069 #CJK UNIFIED IDEOGRAPH
+  {0xE454, 0x8CCF}, //10070 #CJK UNIFIED IDEOGRAPH
+  {0xE455, 0x8CD7}, //10071 #CJK UNIFIED IDEOGRAPH
+  {0xE456, 0x8D96}, //10072 #CJK UNIFIED IDEOGRAPH
+  {0xE457, 0x8E09}, //10073 #CJK UNIFIED IDEOGRAPH
+  {0xE458, 0x8E02}, //10074 #CJK UNIFIED IDEOGRAPH
+  {0xE459, 0x8DFF}, //10075 #CJK UNIFIED IDEOGRAPH
+  {0xE45A, 0x8E0D}, //10076 #CJK UNIFIED IDEOGRAPH
+  {0xE45B, 0x8DFD}, //10077 #CJK UNIFIED IDEOGRAPH
+  {0xE45C, 0x8E0A}, //10078 #CJK UNIFIED IDEOGRAPH
+  {0xE45D, 0x8E03}, //10079 #CJK UNIFIED IDEOGRAPH
+  {0xE45E, 0x8E07}, //10080 #CJK UNIFIED IDEOGRAPH
+  {0xE45F, 0x8E06}, //10081 #CJK UNIFIED IDEOGRAPH
+  {0xE460, 0x8E05}, //10082 #CJK UNIFIED IDEOGRAPH
+  {0xE461, 0x8DFE}, //10083 #CJK UNIFIED IDEOGRAPH
+  {0xE462, 0x8E00}, //10084 #CJK UNIFIED IDEOGRAPH
+  {0xE463, 0x8E04}, //10085 #CJK UNIFIED IDEOGRAPH
+  {0xE464, 0x8F10}, //10086 #CJK UNIFIED IDEOGRAPH
+  {0xE465, 0x8F11}, //10087 #CJK UNIFIED IDEOGRAPH
+  {0xE466, 0x8F0E}, //10088 #CJK UNIFIED IDEOGRAPH
+  {0xE467, 0x8F0D}, //10089 #CJK UNIFIED IDEOGRAPH
+  {0xE468, 0x9123}, //10090 #CJK UNIFIED IDEOGRAPH
+  {0xE469, 0x911C}, //10091 #CJK UNIFIED IDEOGRAPH
+  {0xE46A, 0x9120}, //10092 #CJK UNIFIED IDEOGRAPH
+  {0xE46B, 0x9122}, //10093 #CJK UNIFIED IDEOGRAPH
+  {0xE46C, 0x911F}, //10094 #CJK UNIFIED IDEOGRAPH
+  {0xE46D, 0x911D}, //10095 #CJK UNIFIED IDEOGRAPH
+  {0xE46E, 0x911A}, //10096 #CJK UNIFIED IDEOGRAPH
+  {0xE46F, 0x9124}, //10097 #CJK UNIFIED IDEOGRAPH
+  {0xE470, 0x9121}, //10098 #CJK UNIFIED IDEOGRAPH
+  {0xE471, 0x911B}, //10099 #CJK UNIFIED IDEOGRAPH
+  {0xE472, 0x917A}, //10100 #CJK UNIFIED IDEOGRAPH
+  {0xE473, 0x9172}, //10101 #CJK UNIFIED IDEOGRAPH
+  {0xE474, 0x9179}, //10102 #CJK UNIFIED IDEOGRAPH
+  {0xE475, 0x9173}, //10103 #CJK UNIFIED IDEOGRAPH
+  {0xE476, 0x92A5}, //10104 #CJK UNIFIED IDEOGRAPH
+  {0xE477, 0x92A4}, //10105 #CJK UNIFIED IDEOGRAPH
+  {0xE478, 0x9276}, //10106 #CJK UNIFIED IDEOGRAPH
+  {0xE479, 0x929B}, //10107 #CJK UNIFIED IDEOGRAPH
+  {0xE47A, 0x927A}, //10108 #CJK UNIFIED IDEOGRAPH
+  {0xE47B, 0x92A0}, //10109 #CJK UNIFIED IDEOGRAPH
+  {0xE47C, 0x9294}, //10110 #CJK UNIFIED IDEOGRAPH
+  {0xE47D, 0x92AA}, //10111 #CJK UNIFIED IDEOGRAPH
+  {0xE47E, 0x928D}, //10112 #CJK UNIFIED IDEOGRAPH
+  {0xE4A1, 0x92A6}, //10113 #CJK UNIFIED IDEOGRAPH
+  {0xE4A2, 0x929A}, //10114 #CJK UNIFIED IDEOGRAPH
+  {0xE4A3, 0x92AB}, //10115 #CJK UNIFIED IDEOGRAPH
+  {0xE4A4, 0x9279}, //10116 #CJK UNIFIED IDEOGRAPH
+  {0xE4A5, 0x9297}, //10117 #CJK UNIFIED IDEOGRAPH
+  {0xE4A6, 0x927F}, //10118 #CJK UNIFIED IDEOGRAPH
+  {0xE4A7, 0x92A3}, //10119 #CJK UNIFIED IDEOGRAPH
+  {0xE4A8, 0x92EE}, //10120 #CJK UNIFIED IDEOGRAPH
+  {0xE4A9, 0x928E}, //10121 #CJK UNIFIED IDEOGRAPH
+  {0xE4AA, 0x9282}, //10122 #CJK UNIFIED IDEOGRAPH
+  {0xE4AB, 0x9295}, //10123 #CJK UNIFIED IDEOGRAPH
+  {0xE4AC, 0x92A2}, //10124 #CJK UNIFIED IDEOGRAPH
+  {0xE4AD, 0x927D}, //10125 #CJK UNIFIED IDEOGRAPH
+  {0xE4AE, 0x9288}, //10126 #CJK UNIFIED IDEOGRAPH
+  {0xE4AF, 0x92A1}, //10127 #CJK UNIFIED IDEOGRAPH
+  {0xE4B0, 0x928A}, //10128 #CJK UNIFIED IDEOGRAPH
+  {0xE4B1, 0x9286}, //10129 #CJK UNIFIED IDEOGRAPH
+  {0xE4B2, 0x928C}, //10130 #CJK UNIFIED IDEOGRAPH
+  {0xE4B3, 0x9299}, //10131 #CJK UNIFIED IDEOGRAPH
+  {0xE4B4, 0x92A7}, //10132 #CJK UNIFIED IDEOGRAPH
+  {0xE4B5, 0x927E}, //10133 #CJK UNIFIED IDEOGRAPH
+  {0xE4B6, 0x9287}, //10134 #CJK UNIFIED IDEOGRAPH
+  {0xE4B7, 0x92A9}, //10135 #CJK UNIFIED IDEOGRAPH
+  {0xE4B8, 0x929D}, //10136 #CJK UNIFIED IDEOGRAPH
+  {0xE4B9, 0x928B}, //10137 #CJK UNIFIED IDEOGRAPH
+  {0xE4BA, 0x922D}, //10138 #CJK UNIFIED IDEOGRAPH
+  {0xE4BB, 0x969E}, //10139 #CJK UNIFIED IDEOGRAPH
+  {0xE4BC, 0x96A1}, //10140 #CJK UNIFIED IDEOGRAPH
+  {0xE4BD, 0x96FF}, //10141 #CJK UNIFIED IDEOGRAPH
+  {0xE4BE, 0x9758}, //10142 #CJK UNIFIED IDEOGRAPH
+  {0xE4BF, 0x977D}, //10143 #CJK UNIFIED IDEOGRAPH
+  {0xE4C0, 0x977A}, //10144 #CJK UNIFIED IDEOGRAPH
+  {0xE4C1, 0x977E}, //10145 #CJK UNIFIED IDEOGRAPH
+  {0xE4C2, 0x9783}, //10146 #CJK UNIFIED IDEOGRAPH
+  {0xE4C3, 0x9780}, //10147 #CJK UNIFIED IDEOGRAPH
+  {0xE4C4, 0x9782}, //10148 #CJK UNIFIED IDEOGRAPH
+  {0xE4C5, 0x977B}, //10149 #CJK UNIFIED IDEOGRAPH
+  {0xE4C6, 0x9784}, //10150 #CJK UNIFIED IDEOGRAPH
+  {0xE4C7, 0x9781}, //10151 #CJK UNIFIED IDEOGRAPH
+  {0xE4C8, 0x977F}, //10152 #CJK UNIFIED IDEOGRAPH
+  {0xE4C9, 0x97CE}, //10153 #CJK UNIFIED IDEOGRAPH
+  {0xE4CA, 0x97CD}, //10154 #CJK UNIFIED IDEOGRAPH
+  {0xE4CB, 0x9816}, //10155 #CJK UNIFIED IDEOGRAPH
+  {0xE4CC, 0x98AD}, //10156 #CJK UNIFIED IDEOGRAPH
+  {0xE4CD, 0x98AE}, //10157 #CJK UNIFIED IDEOGRAPH
+  {0xE4CE, 0x9902}, //10158 #CJK UNIFIED IDEOGRAPH
+  {0xE4CF, 0x9900}, //10159 #CJK UNIFIED IDEOGRAPH
+  {0xE4D0, 0x9907}, //10160 #CJK UNIFIED IDEOGRAPH
+  {0xE4D1, 0x999D}, //10161 #CJK UNIFIED IDEOGRAPH
+  {0xE4D2, 0x999C}, //10162 #CJK UNIFIED IDEOGRAPH
+  {0xE4D3, 0x99C3}, //10163 #CJK UNIFIED IDEOGRAPH
+  {0xE4D4, 0x99B9}, //10164 #CJK UNIFIED IDEOGRAPH
+  {0xE4D5, 0x99BB}, //10165 #CJK UNIFIED IDEOGRAPH
+  {0xE4D6, 0x99BA}, //10166 #CJK UNIFIED IDEOGRAPH
+  {0xE4D7, 0x99C2}, //10167 #CJK UNIFIED IDEOGRAPH
+  {0xE4D8, 0x99BD}, //10168 #CJK UNIFIED IDEOGRAPH
+  {0xE4D9, 0x99C7}, //10169 #CJK UNIFIED IDEOGRAPH
+  {0xE4DA, 0x9AB1}, //10170 #CJK UNIFIED IDEOGRAPH
+  {0xE4DB, 0x9AE3}, //10171 #CJK UNIFIED IDEOGRAPH
+  {0xE4DC, 0x9AE7}, //10172 #CJK UNIFIED IDEOGRAPH
+  {0xE4DD, 0x9B3E}, //10173 #CJK UNIFIED IDEOGRAPH
+  {0xE4DE, 0x9B3F}, //10174 #CJK UNIFIED IDEOGRAPH
+  {0xE4DF, 0x9B60}, //10175 #CJK UNIFIED IDEOGRAPH
+  {0xE4E0, 0x9B61}, //10176 #CJK UNIFIED IDEOGRAPH
+  {0xE4E1, 0x9B5F}, //10177 #CJK UNIFIED IDEOGRAPH
+  {0xE4E2, 0x9CF1}, //10178 #CJK UNIFIED IDEOGRAPH
+  {0xE4E3, 0x9CF2}, //10179 #CJK UNIFIED IDEOGRAPH
+  {0xE4E4, 0x9CF5}, //10180 #CJK UNIFIED IDEOGRAPH
+  {0xE4E5, 0x9EA7}, //10181 #CJK UNIFIED IDEOGRAPH
+  {0xE4E6, 0x50FF}, //10182 #CJK UNIFIED IDEOGRAPH
+  {0xE4E7, 0x5103}, //10183 #CJK UNIFIED IDEOGRAPH
+  {0xE4E8, 0x5130}, //10184 #CJK UNIFIED IDEOGRAPH
+  {0xE4E9, 0x50F8}, //10185 #CJK UNIFIED IDEOGRAPH
+  {0xE4EA, 0x5106}, //10186 #CJK UNIFIED IDEOGRAPH
+  {0xE4EB, 0x5107}, //10187 #CJK UNIFIED IDEOGRAPH
+  {0xE4EC, 0x50F6}, //10188 #CJK UNIFIED IDEOGRAPH
+  {0xE4ED, 0x50FE}, //10189 #CJK UNIFIED IDEOGRAPH
+  {0xE4EE, 0x510B}, //10190 #CJK UNIFIED IDEOGRAPH
+  {0xE4EF, 0x510C}, //10191 #CJK UNIFIED IDEOGRAPH
+  {0xE4F0, 0x50FD}, //10192 #CJK UNIFIED IDEOGRAPH
+  {0xE4F1, 0x510A}, //10193 #CJK UNIFIED IDEOGRAPH
+  {0xE4F2, 0x528B}, //10194 #CJK UNIFIED IDEOGRAPH
+  {0xE4F3, 0x528C}, //10195 #CJK UNIFIED IDEOGRAPH
+  {0xE4F4, 0x52F1}, //10196 #CJK UNIFIED IDEOGRAPH
+  {0xE4F5, 0x52EF}, //10197 #CJK UNIFIED IDEOGRAPH
+  {0xE4F6, 0x5648}, //10198 #CJK UNIFIED IDEOGRAPH
+  {0xE4F7, 0x5642}, //10199 #CJK UNIFIED IDEOGRAPH
+  {0xE4F8, 0x564C}, //10200 #CJK UNIFIED IDEOGRAPH
+  {0xE4F9, 0x5635}, //10201 #CJK UNIFIED IDEOGRAPH
+  {0xE4FA, 0x5641}, //10202 #CJK UNIFIED IDEOGRAPH
+  {0xE4FB, 0x564A}, //10203 #CJK UNIFIED IDEOGRAPH
+  {0xE4FC, 0x5649}, //10204 #CJK UNIFIED IDEOGRAPH
+  {0xE4FD, 0x5646}, //10205 #CJK UNIFIED IDEOGRAPH
+  {0xE4FE, 0x5658}, //10206 #CJK UNIFIED IDEOGRAPH
+  {0xE540, 0x565A}, //10207 #CJK UNIFIED IDEOGRAPH
+  {0xE541, 0x5640}, //10208 #CJK UNIFIED IDEOGRAPH
+  {0xE542, 0x5633}, //10209 #CJK UNIFIED IDEOGRAPH
+  {0xE543, 0x563D}, //10210 #CJK UNIFIED IDEOGRAPH
+  {0xE544, 0x562C}, //10211 #CJK UNIFIED IDEOGRAPH
+  {0xE545, 0x563E}, //10212 #CJK UNIFIED IDEOGRAPH
+  {0xE546, 0x5638}, //10213 #CJK UNIFIED IDEOGRAPH
+  {0xE547, 0x562A}, //10214 #CJK UNIFIED IDEOGRAPH
+  {0xE548, 0x563A}, //10215 #CJK UNIFIED IDEOGRAPH
+  {0xE549, 0x571A}, //10216 #CJK UNIFIED IDEOGRAPH
+  {0xE54A, 0x58AB}, //10217 #CJK UNIFIED IDEOGRAPH
+  {0xE54B, 0x589D}, //10218 #CJK UNIFIED IDEOGRAPH
+  {0xE54C, 0x58B1}, //10219 #CJK UNIFIED IDEOGRAPH
+  {0xE54D, 0x58A0}, //10220 #CJK UNIFIED IDEOGRAPH
+  {0xE54E, 0x58A3}, //10221 #CJK UNIFIED IDEOGRAPH
+  {0xE54F, 0x58AF}, //10222 #CJK UNIFIED IDEOGRAPH
+  {0xE550, 0x58AC}, //10223 #CJK UNIFIED IDEOGRAPH
+  {0xE551, 0x58A5}, //10224 #CJK UNIFIED IDEOGRAPH
+  {0xE552, 0x58A1}, //10225 #CJK UNIFIED IDEOGRAPH
+  {0xE553, 0x58FF}, //10226 #CJK UNIFIED IDEOGRAPH
+  {0xE554, 0x5AFF}, //10227 #CJK UNIFIED IDEOGRAPH
+  {0xE555, 0x5AF4}, //10228 #CJK UNIFIED IDEOGRAPH
+  {0xE556, 0x5AFD}, //10229 #CJK UNIFIED IDEOGRAPH
+  {0xE557, 0x5AF7}, //10230 #CJK UNIFIED IDEOGRAPH
+  {0xE558, 0x5AF6}, //10231 #CJK UNIFIED IDEOGRAPH
+  {0xE559, 0x5B03}, //10232 #CJK UNIFIED IDEOGRAPH
+  {0xE55A, 0x5AF8}, //10233 #CJK UNIFIED IDEOGRAPH
+  {0xE55B, 0x5B02}, //10234 #CJK UNIFIED IDEOGRAPH
+  {0xE55C, 0x5AF9}, //10235 #CJK UNIFIED IDEOGRAPH
+  {0xE55D, 0x5B01}, //10236 #CJK UNIFIED IDEOGRAPH
+  {0xE55E, 0x5B07}, //10237 #CJK UNIFIED IDEOGRAPH
+  {0xE55F, 0x5B05}, //10238 #CJK UNIFIED IDEOGRAPH
+  {0xE560, 0x5B0F}, //10239 #CJK UNIFIED IDEOGRAPH
+  {0xE561, 0x5C67}, //10240 #CJK UNIFIED IDEOGRAPH
+  {0xE562, 0x5D99}, //10241 #CJK UNIFIED IDEOGRAPH
+  {0xE563, 0x5D97}, //10242 #CJK UNIFIED IDEOGRAPH
+  {0xE564, 0x5D9F}, //10243 #CJK UNIFIED IDEOGRAPH
+  {0xE565, 0x5D92}, //10244 #CJK UNIFIED IDEOGRAPH
+  {0xE566, 0x5DA2}, //10245 #CJK UNIFIED IDEOGRAPH
+  {0xE567, 0x5D93}, //10246 #CJK UNIFIED IDEOGRAPH
+  {0xE568, 0x5D95}, //10247 #CJK UNIFIED IDEOGRAPH
+  {0xE569, 0x5DA0}, //10248 #CJK UNIFIED IDEOGRAPH
+  {0xE56A, 0x5D9C}, //10249 #CJK UNIFIED IDEOGRAPH
+  {0xE56B, 0x5DA1}, //10250 #CJK UNIFIED IDEOGRAPH
+  {0xE56C, 0x5D9A}, //10251 #CJK UNIFIED IDEOGRAPH
+  {0xE56D, 0x5D9E}, //10252 #CJK UNIFIED IDEOGRAPH
+  {0xE56E, 0x5E69}, //10253 #CJK UNIFIED IDEOGRAPH
+  {0xE56F, 0x5E5D}, //10254 #CJK UNIFIED IDEOGRAPH
+  {0xE570, 0x5E60}, //10255 #CJK UNIFIED IDEOGRAPH
+  {0xE571, 0x5E5C}, //10256 #CJK UNIFIED IDEOGRAPH
+  {0xE572, 0x7DF3}, //10257 #CJK UNIFIED IDEOGRAPH
+  {0xE573, 0x5EDB}, //10258 #CJK UNIFIED IDEOGRAPH
+  {0xE574, 0x5EDE}, //10259 #CJK UNIFIED IDEOGRAPH
+  {0xE575, 0x5EE1}, //10260 #CJK UNIFIED IDEOGRAPH
+  {0xE576, 0x5F49}, //10261 #CJK UNIFIED IDEOGRAPH
+  {0xE577, 0x5FB2}, //10262 #CJK UNIFIED IDEOGRAPH
+  {0xE578, 0x618B}, //10263 #CJK UNIFIED IDEOGRAPH
+  {0xE579, 0x6183}, //10264 #CJK UNIFIED IDEOGRAPH
+  {0xE57A, 0x6179}, //10265 #CJK UNIFIED IDEOGRAPH
+  {0xE57B, 0x61B1}, //10266 #CJK UNIFIED IDEOGRAPH
+  {0xE57C, 0x61B0}, //10267 #CJK UNIFIED IDEOGRAPH
+  {0xE57D, 0x61A2}, //10268 #CJK UNIFIED IDEOGRAPH
+  {0xE57E, 0x6189}, //10269 #CJK UNIFIED IDEOGRAPH
+  {0xE5A1, 0x619B}, //10270 #CJK UNIFIED IDEOGRAPH
+  {0xE5A2, 0x6193}, //10271 #CJK UNIFIED IDEOGRAPH
+  {0xE5A3, 0x61AF}, //10272 #CJK UNIFIED IDEOGRAPH
+  {0xE5A4, 0x61AD}, //10273 #CJK UNIFIED IDEOGRAPH
+  {0xE5A5, 0x619F}, //10274 #CJK UNIFIED IDEOGRAPH
+  {0xE5A6, 0x6192}, //10275 #CJK UNIFIED IDEOGRAPH
+  {0xE5A7, 0x61AA}, //10276 #CJK UNIFIED IDEOGRAPH
+  {0xE5A8, 0x61A1}, //10277 #CJK UNIFIED IDEOGRAPH
+  {0xE5A9, 0x618D}, //10278 #CJK UNIFIED IDEOGRAPH
+  {0xE5AA, 0x6166}, //10279 #CJK UNIFIED IDEOGRAPH
+  {0xE5AB, 0x61B3}, //10280 #CJK UNIFIED IDEOGRAPH
+  {0xE5AC, 0x622D}, //10281 #CJK UNIFIED IDEOGRAPH
+  {0xE5AD, 0x646E}, //10282 #CJK UNIFIED IDEOGRAPH
+  {0xE5AE, 0x6470}, //10283 #CJK UNIFIED IDEOGRAPH
+  {0xE5AF, 0x6496}, //10284 #CJK UNIFIED IDEOGRAPH
+  {0xE5B0, 0x64A0}, //10285 #CJK UNIFIED IDEOGRAPH
+  {0xE5B1, 0x6485}, //10286 #CJK UNIFIED IDEOGRAPH
+  {0xE5B2, 0x6497}, //10287 #CJK UNIFIED IDEOGRAPH
+  {0xE5B3, 0x649C}, //10288 #CJK UNIFIED IDEOGRAPH
+  {0xE5B4, 0x648F}, //10289 #CJK UNIFIED IDEOGRAPH
+  {0xE5B5, 0x648B}, //10290 #CJK UNIFIED IDEOGRAPH
+  {0xE5B6, 0x648A}, //10291 #CJK UNIFIED IDEOGRAPH
+  {0xE5B7, 0x648C}, //10292 #CJK UNIFIED IDEOGRAPH
+  {0xE5B8, 0x64A3}, //10293 #CJK UNIFIED IDEOGRAPH
+  {0xE5B9, 0x649F}, //10294 #CJK UNIFIED IDEOGRAPH
+  {0xE5BA, 0x6468}, //10295 #CJK UNIFIED IDEOGRAPH
+  {0xE5BB, 0x64B1}, //10296 #CJK UNIFIED IDEOGRAPH
+  {0xE5BC, 0x6498}, //10297 #CJK UNIFIED IDEOGRAPH
+  {0xE5BD, 0x6576}, //10298 #CJK UNIFIED IDEOGRAPH
+  {0xE5BE, 0x657A}, //10299 #CJK UNIFIED IDEOGRAPH
+  {0xE5BF, 0x6579}, //10300 #CJK UNIFIED IDEOGRAPH
+  {0xE5C0, 0x657B}, //10301 #CJK UNIFIED IDEOGRAPH
+  {0xE5C1, 0x65B2}, //10302 #CJK UNIFIED IDEOGRAPH
+  {0xE5C2, 0x65B3}, //10303 #CJK UNIFIED IDEOGRAPH
+  {0xE5C3, 0x66B5}, //10304 #CJK UNIFIED IDEOGRAPH
+  {0xE5C4, 0x66B0}, //10305 #CJK UNIFIED IDEOGRAPH
+  {0xE5C5, 0x66A9}, //10306 #CJK UNIFIED IDEOGRAPH
+  {0xE5C6, 0x66B2}, //10307 #CJK UNIFIED IDEOGRAPH
+  {0xE5C7, 0x66B7}, //10308 #CJK UNIFIED IDEOGRAPH
+  {0xE5C8, 0x66AA}, //10309 #CJK UNIFIED IDEOGRAPH
+  {0xE5C9, 0x66AF}, //10310 #CJK UNIFIED IDEOGRAPH
+  {0xE5CA, 0x6A00}, //10311 #CJK UNIFIED IDEOGRAPH
+  {0xE5CB, 0x6A06}, //10312 #CJK UNIFIED IDEOGRAPH
+  {0xE5CC, 0x6A17}, //10313 #CJK UNIFIED IDEOGRAPH
+  {0xE5CD, 0x69E5}, //10314 #CJK UNIFIED IDEOGRAPH
+  {0xE5CE, 0x69F8}, //10315 #CJK UNIFIED IDEOGRAPH
+  {0xE5CF, 0x6A15}, //10316 #CJK UNIFIED IDEOGRAPH
+  {0xE5D0, 0x69F1}, //10317 #CJK UNIFIED IDEOGRAPH
+  {0xE5D1, 0x69E4}, //10318 #CJK UNIFIED IDEOGRAPH
+  {0xE5D2, 0x6A20}, //10319 #CJK UNIFIED IDEOGRAPH
+  {0xE5D3, 0x69FF}, //10320 #CJK UNIFIED IDEOGRAPH
+  {0xE5D4, 0x69EC}, //10321 #CJK UNIFIED IDEOGRAPH
+  {0xE5D5, 0x69E2}, //10322 #CJK UNIFIED IDEOGRAPH
+  {0xE5D6, 0x6A1B}, //10323 #CJK UNIFIED IDEOGRAPH
+  {0xE5D7, 0x6A1D}, //10324 #CJK UNIFIED IDEOGRAPH
+  {0xE5D8, 0x69FE}, //10325 #CJK UNIFIED IDEOGRAPH
+  {0xE5D9, 0x6A27}, //10326 #CJK UNIFIED IDEOGRAPH
+  {0xE5DA, 0x69F2}, //10327 #CJK UNIFIED IDEOGRAPH
+  {0xE5DB, 0x69EE}, //10328 #CJK UNIFIED IDEOGRAPH
+  {0xE5DC, 0x6A14}, //10329 #CJK UNIFIED IDEOGRAPH
+  {0xE5DD, 0x69F7}, //10330 #CJK UNIFIED IDEOGRAPH
+  {0xE5DE, 0x69E7}, //10331 #CJK UNIFIED IDEOGRAPH
+  {0xE5DF, 0x6A40}, //10332 #CJK UNIFIED IDEOGRAPH
+  {0xE5E0, 0x6A08}, //10333 #CJK UNIFIED IDEOGRAPH
+  {0xE5E1, 0x69E6}, //10334 #CJK UNIFIED IDEOGRAPH
+  {0xE5E2, 0x69FB}, //10335 #CJK UNIFIED IDEOGRAPH
+  {0xE5E3, 0x6A0D}, //10336 #CJK UNIFIED IDEOGRAPH
+  {0xE5E4, 0x69FC}, //10337 #CJK UNIFIED IDEOGRAPH
+  {0xE5E5, 0x69EB}, //10338 #CJK UNIFIED IDEOGRAPH
+  {0xE5E6, 0x6A09}, //10339 #CJK UNIFIED IDEOGRAPH
+  {0xE5E7, 0x6A04}, //10340 #CJK UNIFIED IDEOGRAPH
+  {0xE5E8, 0x6A18}, //10341 #CJK UNIFIED IDEOGRAPH
+  {0xE5E9, 0x6A25}, //10342 #CJK UNIFIED IDEOGRAPH
+  {0xE5EA, 0x6A0F}, //10343 #CJK UNIFIED IDEOGRAPH
+  {0xE5EB, 0x69F6}, //10344 #CJK UNIFIED IDEOGRAPH
+  {0xE5EC, 0x6A26}, //10345 #CJK UNIFIED IDEOGRAPH
+  {0xE5ED, 0x6A07}, //10346 #CJK UNIFIED IDEOGRAPH
+  {0xE5EE, 0x69F4}, //10347 #CJK UNIFIED IDEOGRAPH
+  {0xE5EF, 0x6A16}, //10348 #CJK UNIFIED IDEOGRAPH
+  {0xE5F0, 0x6B51}, //10349 #CJK UNIFIED IDEOGRAPH
+  {0xE5F1, 0x6BA5}, //10350 #CJK UNIFIED IDEOGRAPH
+  {0xE5F2, 0x6BA3}, //10351 #CJK UNIFIED IDEOGRAPH
+  {0xE5F3, 0x6BA2}, //10352 #CJK UNIFIED IDEOGRAPH
+  {0xE5F4, 0x6BA6}, //10353 #CJK UNIFIED IDEOGRAPH
+  {0xE5F5, 0x6C01}, //10354 #CJK UNIFIED IDEOGRAPH
+  {0xE5F6, 0x6C00}, //10355 #CJK UNIFIED IDEOGRAPH
+  {0xE5F7, 0x6BFF}, //10356 #CJK UNIFIED IDEOGRAPH
+  {0xE5F8, 0x6C02}, //10357 #CJK UNIFIED IDEOGRAPH
+  {0xE5F9, 0x6F41}, //10358 #CJK UNIFIED IDEOGRAPH
+  {0xE5FA, 0x6F26}, //10359 #CJK UNIFIED IDEOGRAPH
+  {0xE5FB, 0x6F7E}, //10360 #CJK UNIFIED IDEOGRAPH
+  {0xE5FC, 0x6F87}, //10361 #CJK UNIFIED IDEOGRAPH
+  {0xE5FD, 0x6FC6}, //10362 #CJK UNIFIED IDEOGRAPH
+  {0xE5FE, 0x6F92}, //10363 #CJK UNIFIED IDEOGRAPH
+  {0xE640, 0x6F8D}, //10364 #CJK UNIFIED IDEOGRAPH
+  {0xE641, 0x6F89}, //10365 #CJK UNIFIED IDEOGRAPH
+  {0xE642, 0x6F8C}, //10366 #CJK UNIFIED IDEOGRAPH
+  {0xE643, 0x6F62}, //10367 #CJK UNIFIED IDEOGRAPH
+  {0xE644, 0x6F4F}, //10368 #CJK UNIFIED IDEOGRAPH
+  {0xE645, 0x6F85}, //10369 #CJK UNIFIED IDEOGRAPH
+  {0xE646, 0x6F5A}, //10370 #CJK UNIFIED IDEOGRAPH
+  {0xE647, 0x6F96}, //10371 #CJK UNIFIED IDEOGRAPH
+  {0xE648, 0x6F76}, //10372 #CJK UNIFIED IDEOGRAPH
+  {0xE649, 0x6F6C}, //10373 #CJK UNIFIED IDEOGRAPH
+  {0xE64A, 0x6F82}, //10374 #CJK UNIFIED IDEOGRAPH
+  {0xE64B, 0x6F55}, //10375 #CJK UNIFIED IDEOGRAPH
+  {0xE64C, 0x6F72}, //10376 #CJK UNIFIED IDEOGRAPH
+  {0xE64D, 0x6F52}, //10377 #CJK UNIFIED IDEOGRAPH
+  {0xE64E, 0x6F50}, //10378 #CJK UNIFIED IDEOGRAPH
+  {0xE64F, 0x6F57}, //10379 #CJK UNIFIED IDEOGRAPH
+  {0xE650, 0x6F94}, //10380 #CJK UNIFIED IDEOGRAPH
+  {0xE651, 0x6F93}, //10381 #CJK UNIFIED IDEOGRAPH
+  {0xE652, 0x6F5D}, //10382 #CJK UNIFIED IDEOGRAPH
+  {0xE653, 0x6F00}, //10383 #CJK UNIFIED IDEOGRAPH
+  {0xE654, 0x6F61}, //10384 #CJK UNIFIED IDEOGRAPH
+  {0xE655, 0x6F6B}, //10385 #CJK UNIFIED IDEOGRAPH
+  {0xE656, 0x6F7D}, //10386 #CJK UNIFIED IDEOGRAPH
+  {0xE657, 0x6F67}, //10387 #CJK UNIFIED IDEOGRAPH
+  {0xE658, 0x6F90}, //10388 #CJK UNIFIED IDEOGRAPH
+  {0xE659, 0x6F53}, //10389 #CJK UNIFIED IDEOGRAPH
+  {0xE65A, 0x6F8B}, //10390 #CJK UNIFIED IDEOGRAPH
+  {0xE65B, 0x6F69}, //10391 #CJK UNIFIED IDEOGRAPH
+  {0xE65C, 0x6F7F}, //10392 #CJK UNIFIED IDEOGRAPH
+  {0xE65D, 0x6F95}, //10393 #CJK UNIFIED IDEOGRAPH
+  {0xE65E, 0x6F63}, //10394 #CJK UNIFIED IDEOGRAPH
+  {0xE65F, 0x6F77}, //10395 #CJK UNIFIED IDEOGRAPH
+  {0xE660, 0x6F6A}, //10396 #CJK UNIFIED IDEOGRAPH
+  {0xE661, 0x6F7B}, //10397 #CJK UNIFIED IDEOGRAPH
+  {0xE662, 0x71B2}, //10398 #CJK UNIFIED IDEOGRAPH
+  {0xE663, 0x71AF}, //10399 #CJK UNIFIED IDEOGRAPH
+  {0xE664, 0x719B}, //10400 #CJK UNIFIED IDEOGRAPH
+  {0xE665, 0x71B0}, //10401 #CJK UNIFIED IDEOGRAPH
+  {0xE666, 0x71A0}, //10402 #CJK UNIFIED IDEOGRAPH
+  {0xE667, 0x719A}, //10403 #CJK UNIFIED IDEOGRAPH
+  {0xE668, 0x71A9}, //10404 #CJK UNIFIED IDEOGRAPH
+  {0xE669, 0x71B5}, //10405 #CJK UNIFIED IDEOGRAPH
+  {0xE66A, 0x719D}, //10406 #CJK UNIFIED IDEOGRAPH
+  {0xE66B, 0x71A5}, //10407 #CJK UNIFIED IDEOGRAPH
+  {0xE66C, 0x719E}, //10408 #CJK UNIFIED IDEOGRAPH
+  {0xE66D, 0x71A4}, //10409 #CJK UNIFIED IDEOGRAPH
+  {0xE66E, 0x71A1}, //10410 #CJK UNIFIED IDEOGRAPH
+  {0xE66F, 0x71AA}, //10411 #CJK UNIFIED IDEOGRAPH
+  {0xE670, 0x719C}, //10412 #CJK UNIFIED IDEOGRAPH
+  {0xE671, 0x71A7}, //10413 #CJK UNIFIED IDEOGRAPH
+  {0xE672, 0x71B3}, //10414 #CJK UNIFIED IDEOGRAPH
+  {0xE673, 0x7298}, //10415 #CJK UNIFIED IDEOGRAPH
+  {0xE674, 0x729A}, //10416 #CJK UNIFIED IDEOGRAPH
+  {0xE675, 0x7358}, //10417 #CJK UNIFIED IDEOGRAPH
+  {0xE676, 0x7352}, //10418 #CJK UNIFIED IDEOGRAPH
+  {0xE677, 0x735E}, //10419 #CJK UNIFIED IDEOGRAPH
+  {0xE678, 0x735F}, //10420 #CJK UNIFIED IDEOGRAPH
+  {0xE679, 0x7360}, //10421 #CJK UNIFIED IDEOGRAPH
+  {0xE67A, 0x735D}, //10422 #CJK UNIFIED IDEOGRAPH
+  {0xE67B, 0x735B}, //10423 #CJK UNIFIED IDEOGRAPH
+  {0xE67C, 0x7361}, //10424 #CJK UNIFIED IDEOGRAPH
+  {0xE67D, 0x735A}, //10425 #CJK UNIFIED IDEOGRAPH
+  {0xE67E, 0x7359}, //10426 #CJK UNIFIED IDEOGRAPH
+  {0xE6A1, 0x7362}, //10427 #CJK UNIFIED IDEOGRAPH
+  {0xE6A2, 0x7487}, //10428 #CJK UNIFIED IDEOGRAPH
+  {0xE6A3, 0x7489}, //10429 #CJK UNIFIED IDEOGRAPH
+  {0xE6A4, 0x748A}, //10430 #CJK UNIFIED IDEOGRAPH
+  {0xE6A5, 0x7486}, //10431 #CJK UNIFIED IDEOGRAPH
+  {0xE6A6, 0x7481}, //10432 #CJK UNIFIED IDEOGRAPH
+  {0xE6A7, 0x747D}, //10433 #CJK UNIFIED IDEOGRAPH
+  {0xE6A8, 0x7485}, //10434 #CJK UNIFIED IDEOGRAPH
+  {0xE6A9, 0x7488}, //10435 #CJK UNIFIED IDEOGRAPH
+  {0xE6AA, 0x747C}, //10436 #CJK UNIFIED IDEOGRAPH
+  {0xE6AB, 0x7479}, //10437 #CJK UNIFIED IDEOGRAPH
+  {0xE6AC, 0x7508}, //10438 #CJK UNIFIED IDEOGRAPH
+  {0xE6AD, 0x7507}, //10439 #CJK UNIFIED IDEOGRAPH
+  {0xE6AE, 0x757E}, //10440 #CJK UNIFIED IDEOGRAPH
+  {0xE6AF, 0x7625}, //10441 #CJK UNIFIED IDEOGRAPH
+  {0xE6B0, 0x761E}, //10442 #CJK UNIFIED IDEOGRAPH
+  {0xE6B1, 0x7619}, //10443 #CJK UNIFIED IDEOGRAPH
+  {0xE6B2, 0x761D}, //10444 #CJK UNIFIED IDEOGRAPH
+  {0xE6B3, 0x761C}, //10445 #CJK UNIFIED IDEOGRAPH
+  {0xE6B4, 0x7623}, //10446 #CJK UNIFIED IDEOGRAPH
+  {0xE6B5, 0x761A}, //10447 #CJK UNIFIED IDEOGRAPH
+  {0xE6B6, 0x7628}, //10448 #CJK UNIFIED IDEOGRAPH
+  {0xE6B7, 0x761B}, //10449 #CJK UNIFIED IDEOGRAPH
+  {0xE6B8, 0x769C}, //10450 #CJK UNIFIED IDEOGRAPH
+  {0xE6B9, 0x769D}, //10451 #CJK UNIFIED IDEOGRAPH
+  {0xE6BA, 0x769E}, //10452 #CJK UNIFIED IDEOGRAPH
+  {0xE6BB, 0x769B}, //10453 #CJK UNIFIED IDEOGRAPH
+  {0xE6BC, 0x778D}, //10454 #CJK UNIFIED IDEOGRAPH
+  {0xE6BD, 0x778F}, //10455 #CJK UNIFIED IDEOGRAPH
+  {0xE6BE, 0x7789}, //10456 #CJK UNIFIED IDEOGRAPH
+  {0xE6BF, 0x7788}, //10457 #CJK UNIFIED IDEOGRAPH
+  {0xE6C0, 0x78CD}, //10458 #CJK UNIFIED IDEOGRAPH
+  {0xE6C1, 0x78BB}, //10459 #CJK UNIFIED IDEOGRAPH
+  {0xE6C2, 0x78CF}, //10460 #CJK UNIFIED IDEOGRAPH
+  {0xE6C3, 0x78CC}, //10461 #CJK UNIFIED IDEOGRAPH
+  {0xE6C4, 0x78D1}, //10462 #CJK UNIFIED IDEOGRAPH
+  {0xE6C5, 0x78CE}, //10463 #CJK UNIFIED IDEOGRAPH
+  {0xE6C6, 0x78D4}, //10464 #CJK UNIFIED IDEOGRAPH
+  {0xE6C7, 0x78C8}, //10465 #CJK UNIFIED IDEOGRAPH
+  {0xE6C8, 0x78C3}, //10466 #CJK UNIFIED IDEOGRAPH
+  {0xE6C9, 0x78C4}, //10467 #CJK UNIFIED IDEOGRAPH
+  {0xE6CA, 0x78C9}, //10468 #CJK UNIFIED IDEOGRAPH
+  {0xE6CB, 0x799A}, //10469 #CJK UNIFIED IDEOGRAPH
+  {0xE6CC, 0x79A1}, //10470 #CJK UNIFIED IDEOGRAPH
+  {0xE6CD, 0x79A0}, //10471 #CJK UNIFIED IDEOGRAPH
+  {0xE6CE, 0x799C}, //10472 #CJK UNIFIED IDEOGRAPH
+  {0xE6CF, 0x79A2}, //10473 #CJK UNIFIED IDEOGRAPH
+  {0xE6D0, 0x799B}, //10474 #CJK UNIFIED IDEOGRAPH
+  {0xE6D1, 0x6B76}, //10475 #CJK UNIFIED IDEOGRAPH
+  {0xE6D2, 0x7A39}, //10476 #CJK UNIFIED IDEOGRAPH
+  {0xE6D3, 0x7AB2}, //10477 #CJK UNIFIED IDEOGRAPH
+  {0xE6D4, 0x7AB4}, //10478 #CJK UNIFIED IDEOGRAPH
+  {0xE6D5, 0x7AB3}, //10479 #CJK UNIFIED IDEOGRAPH
+  {0xE6D6, 0x7BB7}, //10480 #CJK UNIFIED IDEOGRAPH
+  {0xE6D7, 0x7BCB}, //10481 #CJK UNIFIED IDEOGRAPH
+  {0xE6D8, 0x7BBE}, //10482 #CJK UNIFIED IDEOGRAPH
+  {0xE6D9, 0x7BAC}, //10483 #CJK UNIFIED IDEOGRAPH
+  {0xE6DA, 0x7BCE}, //10484 #CJK UNIFIED IDEOGRAPH
+  {0xE6DB, 0x7BAF}, //10485 #CJK UNIFIED IDEOGRAPH
+  {0xE6DC, 0x7BB9}, //10486 #CJK UNIFIED IDEOGRAPH
+  {0xE6DD, 0x7BCA}, //10487 #CJK UNIFIED IDEOGRAPH
+  {0xE6DE, 0x7BB5}, //10488 #CJK UNIFIED IDEOGRAPH
+  {0xE6DF, 0x7CC5}, //10489 #CJK UNIFIED IDEOGRAPH
+  {0xE6E0, 0x7CC8}, //10490 #CJK UNIFIED IDEOGRAPH
+  {0xE6E1, 0x7CCC}, //10491 #CJK UNIFIED IDEOGRAPH
+  {0xE6E2, 0x7CCB}, //10492 #CJK UNIFIED IDEOGRAPH
+  {0xE6E3, 0x7DF7}, //10493 #CJK UNIFIED IDEOGRAPH
+  {0xE6E4, 0x7DDB}, //10494 #CJK UNIFIED IDEOGRAPH
+  {0xE6E5, 0x7DEA}, //10495 #CJK UNIFIED IDEOGRAPH
+  {0xE6E6, 0x7DE7}, //10496 #CJK UNIFIED IDEOGRAPH
+  {0xE6E7, 0x7DD7}, //10497 #CJK UNIFIED IDEOGRAPH
+  {0xE6E8, 0x7DE1}, //10498 #CJK UNIFIED IDEOGRAPH
+  {0xE6E9, 0x7E03}, //10499 #CJK UNIFIED IDEOGRAPH
+  {0xE6EA, 0x7DFA}, //10500 #CJK UNIFIED IDEOGRAPH
+  {0xE6EB, 0x7DE6}, //10501 #CJK UNIFIED IDEOGRAPH
+  {0xE6EC, 0x7DF6}, //10502 #CJK UNIFIED IDEOGRAPH
+  {0xE6ED, 0x7DF1}, //10503 #CJK UNIFIED IDEOGRAPH
+  {0xE6EE, 0x7DF0}, //10504 #CJK UNIFIED IDEOGRAPH
+  {0xE6EF, 0x7DEE}, //10505 #CJK UNIFIED IDEOGRAPH
+  {0xE6F0, 0x7DDF}, //10506 #CJK UNIFIED IDEOGRAPH
+  {0xE6F1, 0x7F76}, //10507 #CJK UNIFIED IDEOGRAPH
+  {0xE6F2, 0x7FAC}, //10508 #CJK UNIFIED IDEOGRAPH
+  {0xE6F3, 0x7FB0}, //10509 #CJK UNIFIED IDEOGRAPH
+  {0xE6F4, 0x7FAD}, //10510 #CJK UNIFIED IDEOGRAPH
+  {0xE6F5, 0x7FED}, //10511 #CJK UNIFIED IDEOGRAPH
+  {0xE6F6, 0x7FEB}, //10512 #CJK UNIFIED IDEOGRAPH
+  {0xE6F7, 0x7FEA}, //10513 #CJK UNIFIED IDEOGRAPH
+  {0xE6F8, 0x7FEC}, //10514 #CJK UNIFIED IDEOGRAPH
+  {0xE6F9, 0x7FE6}, //10515 #CJK UNIFIED IDEOGRAPH
+  {0xE6FA, 0x7FE8}, //10516 #CJK UNIFIED IDEOGRAPH
+  {0xE6FB, 0x8064}, //10517 #CJK UNIFIED IDEOGRAPH
+  {0xE6FC, 0x8067}, //10518 #CJK UNIFIED IDEOGRAPH
+  {0xE6FD, 0x81A3}, //10519 #CJK UNIFIED IDEOGRAPH
+  {0xE6FE, 0x819F}, //10520 #CJK UNIFIED IDEOGRAPH
+  {0xE740, 0x819E}, //10521 #CJK UNIFIED IDEOGRAPH
+  {0xE741, 0x8195}, //10522 #CJK UNIFIED IDEOGRAPH
+  {0xE742, 0x81A2}, //10523 #CJK UNIFIED IDEOGRAPH
+  {0xE743, 0x8199}, //10524 #CJK UNIFIED IDEOGRAPH
+  {0xE744, 0x8197}, //10525 #CJK UNIFIED IDEOGRAPH
+  {0xE745, 0x8216}, //10526 #CJK UNIFIED IDEOGRAPH
+  {0xE746, 0x824F}, //10527 #CJK UNIFIED IDEOGRAPH
+  {0xE747, 0x8253}, //10528 #CJK UNIFIED IDEOGRAPH
+  {0xE748, 0x8252}, //10529 #CJK UNIFIED IDEOGRAPH
+  {0xE749, 0x8250}, //10530 #CJK UNIFIED IDEOGRAPH
+  {0xE74A, 0x824E}, //10531 #CJK UNIFIED IDEOGRAPH
+  {0xE74B, 0x8251}, //10532 #CJK UNIFIED IDEOGRAPH
+  {0xE74C, 0x8524}, //10533 #CJK UNIFIED IDEOGRAPH
+  {0xE74D, 0x853B}, //10534 #CJK UNIFIED IDEOGRAPH
+  {0xE74E, 0x850F}, //10535 #CJK UNIFIED IDEOGRAPH
+  {0xE74F, 0x8500}, //10536 #CJK UNIFIED IDEOGRAPH
+  {0xE750, 0x8529}, //10537 #CJK UNIFIED IDEOGRAPH
+  {0xE751, 0x850E}, //10538 #CJK UNIFIED IDEOGRAPH
+  {0xE752, 0x8509}, //10539 #CJK UNIFIED IDEOGRAPH
+  {0xE753, 0x850D}, //10540 #CJK UNIFIED IDEOGRAPH
+  {0xE754, 0x851F}, //10541 #CJK UNIFIED IDEOGRAPH
+  {0xE755, 0x850A}, //10542 #CJK UNIFIED IDEOGRAPH
+  {0xE756, 0x8527}, //10543 #CJK UNIFIED IDEOGRAPH
+  {0xE757, 0x851C}, //10544 #CJK UNIFIED IDEOGRAPH
+  {0xE758, 0x84FB}, //10545 #CJK UNIFIED IDEOGRAPH
+  {0xE759, 0x852B}, //10546 #CJK UNIFIED IDEOGRAPH
+  {0xE75A, 0x84FA}, //10547 #CJK UNIFIED IDEOGRAPH
+  {0xE75B, 0x8508}, //10548 #CJK UNIFIED IDEOGRAPH
+  {0xE75C, 0x850C}, //10549 #CJK UNIFIED IDEOGRAPH
+  {0xE75D, 0x84F4}, //10550 #CJK UNIFIED IDEOGRAPH
+  {0xE75E, 0x852A}, //10551 #CJK UNIFIED IDEOGRAPH
+  {0xE75F, 0x84F2}, //10552 #CJK UNIFIED IDEOGRAPH
+  {0xE760, 0x8515}, //10553 #CJK UNIFIED IDEOGRAPH
+  {0xE761, 0x84F7}, //10554 #CJK UNIFIED IDEOGRAPH
+  {0xE762, 0x84EB}, //10555 #CJK UNIFIED IDEOGRAPH
+  {0xE763, 0x84F3}, //10556 #CJK UNIFIED IDEOGRAPH
+  {0xE764, 0x84FC}, //10557 #CJK UNIFIED IDEOGRAPH
+  {0xE765, 0x8512}, //10558 #CJK UNIFIED IDEOGRAPH
+  {0xE766, 0x84EA}, //10559 #CJK UNIFIED IDEOGRAPH
+  {0xE767, 0x84E9}, //10560 #CJK UNIFIED IDEOGRAPH
+  {0xE768, 0x8516}, //10561 #CJK UNIFIED IDEOGRAPH
+  {0xE769, 0x84FE}, //10562 #CJK UNIFIED IDEOGRAPH
+  {0xE76A, 0x8528}, //10563 #CJK UNIFIED IDEOGRAPH
+  {0xE76B, 0x851D}, //10564 #CJK UNIFIED IDEOGRAPH
+  {0xE76C, 0x852E}, //10565 #CJK UNIFIED IDEOGRAPH
+  {0xE76D, 0x8502}, //10566 #CJK UNIFIED IDEOGRAPH
+  {0xE76E, 0x84FD}, //10567 #CJK UNIFIED IDEOGRAPH
+  {0xE76F, 0x851E}, //10568 #CJK UNIFIED IDEOGRAPH
+  {0xE770, 0x84F6}, //10569 #CJK UNIFIED IDEOGRAPH
+  {0xE771, 0x8531}, //10570 #CJK UNIFIED IDEOGRAPH
+  {0xE772, 0x8526}, //10571 #CJK UNIFIED IDEOGRAPH
+  {0xE773, 0x84E7}, //10572 #CJK UNIFIED IDEOGRAPH
+  {0xE774, 0x84E8}, //10573 #CJK UNIFIED IDEOGRAPH
+  {0xE775, 0x84F0}, //10574 #CJK UNIFIED IDEOGRAPH
+  {0xE776, 0x84EF}, //10575 #CJK UNIFIED IDEOGRAPH
+  {0xE777, 0x84F9}, //10576 #CJK UNIFIED IDEOGRAPH
+  {0xE778, 0x8518}, //10577 #CJK UNIFIED IDEOGRAPH
+  {0xE779, 0x8520}, //10578 #CJK UNIFIED IDEOGRAPH
+  {0xE77A, 0x8530}, //10579 #CJK UNIFIED IDEOGRAPH
+  {0xE77B, 0x850B}, //10580 #CJK UNIFIED IDEOGRAPH
+  {0xE77C, 0x8519}, //10581 #CJK UNIFIED IDEOGRAPH
+  {0xE77D, 0x852F}, //10582 #CJK UNIFIED IDEOGRAPH
+  {0xE77E, 0x8662}, //10583 #CJK UNIFIED IDEOGRAPH
+  {0xE7A1, 0x8756}, //10584 #CJK UNIFIED IDEOGRAPH
+  {0xE7A2, 0x8763}, //10585 #CJK UNIFIED IDEOGRAPH
+  {0xE7A3, 0x8764}, //10586 #CJK UNIFIED IDEOGRAPH
+  {0xE7A4, 0x8777}, //10587 #CJK UNIFIED IDEOGRAPH
+  {0xE7A5, 0x87E1}, //10588 #CJK UNIFIED IDEOGRAPH
+  {0xE7A6, 0x8773}, //10589 #CJK UNIFIED IDEOGRAPH
+  {0xE7A7, 0x8758}, //10590 #CJK UNIFIED IDEOGRAPH
+  {0xE7A8, 0x8754}, //10591 #CJK UNIFIED IDEOGRAPH
+  {0xE7A9, 0x875B}, //10592 #CJK UNIFIED IDEOGRAPH
+  {0xE7AA, 0x8752}, //10593 #CJK UNIFIED IDEOGRAPH
+  {0xE7AB, 0x8761}, //10594 #CJK UNIFIED IDEOGRAPH
+  {0xE7AC, 0x875A}, //10595 #CJK UNIFIED IDEOGRAPH
+  {0xE7AD, 0x8751}, //10596 #CJK UNIFIED IDEOGRAPH
+  {0xE7AE, 0x875E}, //10597 #CJK UNIFIED IDEOGRAPH
+  {0xE7AF, 0x876D}, //10598 #CJK UNIFIED IDEOGRAPH
+  {0xE7B0, 0x876A}, //10599 #CJK UNIFIED IDEOGRAPH
+  {0xE7B1, 0x8750}, //10600 #CJK UNIFIED IDEOGRAPH
+  {0xE7B2, 0x874E}, //10601 #CJK UNIFIED IDEOGRAPH
+  {0xE7B3, 0x875F}, //10602 #CJK UNIFIED IDEOGRAPH
+  {0xE7B4, 0x875D}, //10603 #CJK UNIFIED IDEOGRAPH
+  {0xE7B5, 0x876F}, //10604 #CJK UNIFIED IDEOGRAPH
+  {0xE7B6, 0x876C}, //10605 #CJK UNIFIED IDEOGRAPH
+  {0xE7B7, 0x877A}, //10606 #CJK UNIFIED IDEOGRAPH
+  {0xE7B8, 0x876E}, //10607 #CJK UNIFIED IDEOGRAPH
+  {0xE7B9, 0x875C}, //10608 #CJK UNIFIED IDEOGRAPH
+  {0xE7BA, 0x8765}, //10609 #CJK UNIFIED IDEOGRAPH
+  {0xE7BB, 0x874F}, //10610 #CJK UNIFIED IDEOGRAPH
+  {0xE7BC, 0x877B}, //10611 #CJK UNIFIED IDEOGRAPH
+  {0xE7BD, 0x8775}, //10612 #CJK UNIFIED IDEOGRAPH
+  {0xE7BE, 0x8762}, //10613 #CJK UNIFIED IDEOGRAPH
+  {0xE7BF, 0x8767}, //10614 #CJK UNIFIED IDEOGRAPH
+  {0xE7C0, 0x8769}, //10615 #CJK UNIFIED IDEOGRAPH
+  {0xE7C1, 0x885A}, //10616 #CJK UNIFIED IDEOGRAPH
+  {0xE7C2, 0x8905}, //10617 #CJK UNIFIED IDEOGRAPH
+  {0xE7C3, 0x890C}, //10618 #CJK UNIFIED IDEOGRAPH
+  {0xE7C4, 0x8914}, //10619 #CJK UNIFIED IDEOGRAPH
+  {0xE7C5, 0x890B}, //10620 #CJK UNIFIED IDEOGRAPH
+  {0xE7C6, 0x8917}, //10621 #CJK UNIFIED IDEOGRAPH
+  {0xE7C7, 0x8918}, //10622 #CJK UNIFIED IDEOGRAPH
+  {0xE7C8, 0x8919}, //10623 #CJK UNIFIED IDEOGRAPH
+  {0xE7C9, 0x8906}, //10624 #CJK UNIFIED IDEOGRAPH
+  {0xE7CA, 0x8916}, //10625 #CJK UNIFIED IDEOGRAPH
+  {0xE7CB, 0x8911}, //10626 #CJK UNIFIED IDEOGRAPH
+  {0xE7CC, 0x890E}, //10627 #CJK UNIFIED IDEOGRAPH
+  {0xE7CD, 0x8909}, //10628 #CJK UNIFIED IDEOGRAPH
+  {0xE7CE, 0x89A2}, //10629 #CJK UNIFIED IDEOGRAPH
+  {0xE7CF, 0x89A4}, //10630 #CJK UNIFIED IDEOGRAPH
+  {0xE7D0, 0x89A3}, //10631 #CJK UNIFIED IDEOGRAPH
+  {0xE7D1, 0x89ED}, //10632 #CJK UNIFIED IDEOGRAPH
+  {0xE7D2, 0x89F0}, //10633 #CJK UNIFIED IDEOGRAPH
+  {0xE7D3, 0x89EC}, //10634 #CJK UNIFIED IDEOGRAPH
+  {0xE7D4, 0x8ACF}, //10635 #CJK UNIFIED IDEOGRAPH
+  {0xE7D5, 0x8AC6}, //10636 #CJK UNIFIED IDEOGRAPH
+  {0xE7D6, 0x8AB8}, //10637 #CJK UNIFIED IDEOGRAPH
+  {0xE7D7, 0x8AD3}, //10638 #CJK UNIFIED IDEOGRAPH
+  {0xE7D8, 0x8AD1}, //10639 #CJK UNIFIED IDEOGRAPH
+  {0xE7D9, 0x8AD4}, //10640 #CJK UNIFIED IDEOGRAPH
+  {0xE7DA, 0x8AD5}, //10641 #CJK UNIFIED IDEOGRAPH
+  {0xE7DB, 0x8ABB}, //10642 #CJK UNIFIED IDEOGRAPH
+  {0xE7DC, 0x8AD7}, //10643 #CJK UNIFIED IDEOGRAPH
+  {0xE7DD, 0x8ABE}, //10644 #CJK UNIFIED IDEOGRAPH
+  {0xE7DE, 0x8AC0}, //10645 #CJK UNIFIED IDEOGRAPH
+  {0xE7DF, 0x8AC5}, //10646 #CJK UNIFIED IDEOGRAPH
+  {0xE7E0, 0x8AD8}, //10647 #CJK UNIFIED IDEOGRAPH
+  {0xE7E1, 0x8AC3}, //10648 #CJK UNIFIED IDEOGRAPH
+  {0xE7E2, 0x8ABA}, //10649 #CJK UNIFIED IDEOGRAPH
+  {0xE7E3, 0x8ABD}, //10650 #CJK UNIFIED IDEOGRAPH
+  {0xE7E4, 0x8AD9}, //10651 #CJK UNIFIED IDEOGRAPH
+  {0xE7E5, 0x8C3E}, //10652 #CJK UNIFIED IDEOGRAPH
+  {0xE7E6, 0x8C4D}, //10653 #CJK UNIFIED IDEOGRAPH
+  {0xE7E7, 0x8C8F}, //10654 #CJK UNIFIED IDEOGRAPH
+  {0xE7E8, 0x8CE5}, //10655 #CJK UNIFIED IDEOGRAPH
+  {0xE7E9, 0x8CDF}, //10656 #CJK UNIFIED IDEOGRAPH
+  {0xE7EA, 0x8CD9}, //10657 #CJK UNIFIED IDEOGRAPH
+  {0xE7EB, 0x8CE8}, //10658 #CJK UNIFIED IDEOGRAPH
+  {0xE7EC, 0x8CDA}, //10659 #CJK UNIFIED IDEOGRAPH
+  {0xE7ED, 0x8CDD}, //10660 #CJK UNIFIED IDEOGRAPH
+  {0xE7EE, 0x8CE7}, //10661 #CJK UNIFIED IDEOGRAPH
+  {0xE7EF, 0x8DA0}, //10662 #CJK UNIFIED IDEOGRAPH
+  {0xE7F0, 0x8D9C}, //10663 #CJK UNIFIED IDEOGRAPH
+  {0xE7F1, 0x8DA1}, //10664 #CJK UNIFIED IDEOGRAPH
+  {0xE7F2, 0x8D9B}, //10665 #CJK UNIFIED IDEOGRAPH
+  {0xE7F3, 0x8E20}, //10666 #CJK UNIFIED IDEOGRAPH
+  {0xE7F4, 0x8E23}, //10667 #CJK UNIFIED IDEOGRAPH
+  {0xE7F5, 0x8E25}, //10668 #CJK UNIFIED IDEOGRAPH
+  {0xE7F6, 0x8E24}, //10669 #CJK UNIFIED IDEOGRAPH
+  {0xE7F7, 0x8E2E}, //10670 #CJK UNIFIED IDEOGRAPH
+  {0xE7F8, 0x8E15}, //10671 #CJK UNIFIED IDEOGRAPH
+  {0xE7F9, 0x8E1B}, //10672 #CJK UNIFIED IDEOGRAPH
+  {0xE7FA, 0x8E16}, //10673 #CJK UNIFIED IDEOGRAPH
+  {0xE7FB, 0x8E11}, //10674 #CJK UNIFIED IDEOGRAPH
+  {0xE7FC, 0x8E19}, //10675 #CJK UNIFIED IDEOGRAPH
+  {0xE7FD, 0x8E26}, //10676 #CJK UNIFIED IDEOGRAPH
+  {0xE7FE, 0x8E27}, //10677 #CJK UNIFIED IDEOGRAPH
+  {0xE840, 0x8E14}, //10678 #CJK UNIFIED IDEOGRAPH
+  {0xE841, 0x8E12}, //10679 #CJK UNIFIED IDEOGRAPH
+  {0xE842, 0x8E18}, //10680 #CJK UNIFIED IDEOGRAPH
+  {0xE843, 0x8E13}, //10681 #CJK UNIFIED IDEOGRAPH
+  {0xE844, 0x8E1C}, //10682 #CJK UNIFIED IDEOGRAPH
+  {0xE845, 0x8E17}, //10683 #CJK UNIFIED IDEOGRAPH
+  {0xE846, 0x8E1A}, //10684 #CJK UNIFIED IDEOGRAPH
+  {0xE847, 0x8F2C}, //10685 #CJK UNIFIED IDEOGRAPH
+  {0xE848, 0x8F24}, //10686 #CJK UNIFIED IDEOGRAPH
+  {0xE849, 0x8F18}, //10687 #CJK UNIFIED IDEOGRAPH
+  {0xE84A, 0x8F1A}, //10688 #CJK UNIFIED IDEOGRAPH
+  {0xE84B, 0x8F20}, //10689 #CJK UNIFIED IDEOGRAPH
+  {0xE84C, 0x8F23}, //10690 #CJK UNIFIED IDEOGRAPH
+  {0xE84D, 0x8F16}, //10691 #CJK UNIFIED IDEOGRAPH
+  {0xE84E, 0x8F17}, //10692 #CJK UNIFIED IDEOGRAPH
+  {0xE84F, 0x9073}, //10693 #CJK UNIFIED IDEOGRAPH
+  {0xE850, 0x9070}, //10694 #CJK UNIFIED IDEOGRAPH
+  {0xE851, 0x906F}, //10695 #CJK UNIFIED IDEOGRAPH
+  {0xE852, 0x9067}, //10696 #CJK UNIFIED IDEOGRAPH
+  {0xE853, 0x906B}, //10697 #CJK UNIFIED IDEOGRAPH
+  {0xE854, 0x912F}, //10698 #CJK UNIFIED IDEOGRAPH
+  {0xE855, 0x912B}, //10699 #CJK UNIFIED IDEOGRAPH
+  {0xE856, 0x9129}, //10700 #CJK UNIFIED IDEOGRAPH
+  {0xE857, 0x912A}, //10701 #CJK UNIFIED IDEOGRAPH
+  {0xE858, 0x9132}, //10702 #CJK UNIFIED IDEOGRAPH
+  {0xE859, 0x9126}, //10703 #CJK UNIFIED IDEOGRAPH
+  {0xE85A, 0x912E}, //10704 #CJK UNIFIED IDEOGRAPH
+  {0xE85B, 0x9185}, //10705 #CJK UNIFIED IDEOGRAPH
+  {0xE85C, 0x9186}, //10706 #CJK UNIFIED IDEOGRAPH
+  {0xE85D, 0x918A}, //10707 #CJK UNIFIED IDEOGRAPH
+  {0xE85E, 0x9181}, //10708 #CJK UNIFIED IDEOGRAPH
+  {0xE85F, 0x9182}, //10709 #CJK UNIFIED IDEOGRAPH
+  {0xE860, 0x9184}, //10710 #CJK UNIFIED IDEOGRAPH
+  {0xE861, 0x9180}, //10711 #CJK UNIFIED IDEOGRAPH
+  {0xE862, 0x92D0}, //10712 #CJK UNIFIED IDEOGRAPH
+  {0xE863, 0x92C3}, //10713 #CJK UNIFIED IDEOGRAPH
+  {0xE864, 0x92C4}, //10714 #CJK UNIFIED IDEOGRAPH
+  {0xE865, 0x92C0}, //10715 #CJK UNIFIED IDEOGRAPH
+  {0xE866, 0x92D9}, //10716 #CJK UNIFIED IDEOGRAPH
+  {0xE867, 0x92B6}, //10717 #CJK UNIFIED IDEOGRAPH
+  {0xE868, 0x92CF}, //10718 #CJK UNIFIED IDEOGRAPH
+  {0xE869, 0x92F1}, //10719 #CJK UNIFIED IDEOGRAPH
+  {0xE86A, 0x92DF}, //10720 #CJK UNIFIED IDEOGRAPH
+  {0xE86B, 0x92D8}, //10721 #CJK UNIFIED IDEOGRAPH
+  {0xE86C, 0x92E9}, //10722 #CJK UNIFIED IDEOGRAPH
+  {0xE86D, 0x92D7}, //10723 #CJK UNIFIED IDEOGRAPH
+  {0xE86E, 0x92DD}, //10724 #CJK UNIFIED IDEOGRAPH
+  {0xE86F, 0x92CC}, //10725 #CJK UNIFIED IDEOGRAPH
+  {0xE870, 0x92EF}, //10726 #CJK UNIFIED IDEOGRAPH
+  {0xE871, 0x92C2}, //10727 #CJK UNIFIED IDEOGRAPH
+  {0xE872, 0x92E8}, //10728 #CJK UNIFIED IDEOGRAPH
+  {0xE873, 0x92CA}, //10729 #CJK UNIFIED IDEOGRAPH
+  {0xE874, 0x92C8}, //10730 #CJK UNIFIED IDEOGRAPH
+  {0xE875, 0x92CE}, //10731 #CJK UNIFIED IDEOGRAPH
+  {0xE876, 0x92E6}, //10732 #CJK UNIFIED IDEOGRAPH
+  {0xE877, 0x92CD}, //10733 #CJK UNIFIED IDEOGRAPH
+  {0xE878, 0x92D5}, //10734 #CJK UNIFIED IDEOGRAPH
+  {0xE879, 0x92C9}, //10735 #CJK UNIFIED IDEOGRAPH
+  {0xE87A, 0x92E0}, //10736 #CJK UNIFIED IDEOGRAPH
+  {0xE87B, 0x92DE}, //10737 #CJK UNIFIED IDEOGRAPH
+  {0xE87C, 0x92E7}, //10738 #CJK UNIFIED IDEOGRAPH
+  {0xE87D, 0x92D1}, //10739 #CJK UNIFIED IDEOGRAPH
+  {0xE87E, 0x92D3}, //10740 #CJK UNIFIED IDEOGRAPH
+  {0xE8A1, 0x92B5}, //10741 #CJK UNIFIED IDEOGRAPH
+  {0xE8A2, 0x92E1}, //10742 #CJK UNIFIED IDEOGRAPH
+  {0xE8A3, 0x92C6}, //10743 #CJK UNIFIED IDEOGRAPH
+  {0xE8A4, 0x92B4}, //10744 #CJK UNIFIED IDEOGRAPH
+  {0xE8A5, 0x957C}, //10745 #CJK UNIFIED IDEOGRAPH
+  {0xE8A6, 0x95AC}, //10746 #CJK UNIFIED IDEOGRAPH
+  {0xE8A7, 0x95AB}, //10747 #CJK UNIFIED IDEOGRAPH
+  {0xE8A8, 0x95AE}, //10748 #CJK UNIFIED IDEOGRAPH
+  {0xE8A9, 0x95B0}, //10749 #CJK UNIFIED IDEOGRAPH
+  {0xE8AA, 0x96A4}, //10750 #CJK UNIFIED IDEOGRAPH
+  {0xE8AB, 0x96A2}, //10751 #CJK UNIFIED IDEOGRAPH
+  {0xE8AC, 0x96D3}, //10752 #CJK UNIFIED IDEOGRAPH
+  {0xE8AD, 0x9705}, //10753 #CJK UNIFIED IDEOGRAPH
+  {0xE8AE, 0x9708}, //10754 #CJK UNIFIED IDEOGRAPH
+  {0xE8AF, 0x9702}, //10755 #CJK UNIFIED IDEOGRAPH
+  {0xE8B0, 0x975A}, //10756 #CJK UNIFIED IDEOGRAPH
+  {0xE8B1, 0x978A}, //10757 #CJK UNIFIED IDEOGRAPH
+  {0xE8B2, 0x978E}, //10758 #CJK UNIFIED IDEOGRAPH
+  {0xE8B3, 0x9788}, //10759 #CJK UNIFIED IDEOGRAPH
+  {0xE8B4, 0x97D0}, //10760 #CJK UNIFIED IDEOGRAPH
+  {0xE8B5, 0x97CF}, //10761 #CJK UNIFIED IDEOGRAPH
+  {0xE8B6, 0x981E}, //10762 #CJK UNIFIED IDEOGRAPH
+  {0xE8B7, 0x981D}, //10763 #CJK UNIFIED IDEOGRAPH
+  {0xE8B8, 0x9826}, //10764 #CJK UNIFIED IDEOGRAPH
+  {0xE8B9, 0x9829}, //10765 #CJK UNIFIED IDEOGRAPH
+  {0xE8BA, 0x9828}, //10766 #CJK UNIFIED IDEOGRAPH
+  {0xE8BB, 0x9820}, //10767 #CJK UNIFIED IDEOGRAPH
+  {0xE8BC, 0x981B}, //10768 #CJK UNIFIED IDEOGRAPH
+  {0xE8BD, 0x9827}, //10769 #CJK UNIFIED IDEOGRAPH
+  {0xE8BE, 0x98B2}, //10770 #CJK UNIFIED IDEOGRAPH
+  {0xE8BF, 0x9908}, //10771 #CJK UNIFIED IDEOGRAPH
+  {0xE8C0, 0x98FA}, //10772 #CJK UNIFIED IDEOGRAPH
+  {0xE8C1, 0x9911}, //10773 #CJK UNIFIED IDEOGRAPH
+  {0xE8C2, 0x9914}, //10774 #CJK UNIFIED IDEOGRAPH
+  {0xE8C3, 0x9916}, //10775 #CJK UNIFIED IDEOGRAPH
+  {0xE8C4, 0x9917}, //10776 #CJK UNIFIED IDEOGRAPH
+  {0xE8C5, 0x9915}, //10777 #CJK UNIFIED IDEOGRAPH
+  {0xE8C6, 0x99DC}, //10778 #CJK UNIFIED IDEOGRAPH
+  {0xE8C7, 0x99CD}, //10779 #CJK UNIFIED IDEOGRAPH
+  {0xE8C8, 0x99CF}, //10780 #CJK UNIFIED IDEOGRAPH
+  {0xE8C9, 0x99D3}, //10781 #CJK UNIFIED IDEOGRAPH
+  {0xE8CA, 0x99D4}, //10782 #CJK UNIFIED IDEOGRAPH
+  {0xE8CB, 0x99CE}, //10783 #CJK UNIFIED IDEOGRAPH
+  {0xE8CC, 0x99C9}, //10784 #CJK UNIFIED IDEOGRAPH
+  {0xE8CD, 0x99D6}, //10785 #CJK UNIFIED IDEOGRAPH
+  {0xE8CE, 0x99D8}, //10786 #CJK UNIFIED IDEOGRAPH
+  {0xE8CF, 0x99CB}, //10787 #CJK UNIFIED IDEOGRAPH
+  {0xE8D0, 0x99D7}, //10788 #CJK UNIFIED IDEOGRAPH
+  {0xE8D1, 0x99CC}, //10789 #CJK UNIFIED IDEOGRAPH
+  {0xE8D2, 0x9AB3}, //10790 #CJK UNIFIED IDEOGRAPH
+  {0xE8D3, 0x9AEC}, //10791 #CJK UNIFIED IDEOGRAPH
+  {0xE8D4, 0x9AEB}, //10792 #CJK UNIFIED IDEOGRAPH
+  {0xE8D5, 0x9AF3}, //10793 #CJK UNIFIED IDEOGRAPH
+  {0xE8D6, 0x9AF2}, //10794 #CJK UNIFIED IDEOGRAPH
+  {0xE8D7, 0x9AF1}, //10795 #CJK UNIFIED IDEOGRAPH
+  {0xE8D8, 0x9B46}, //10796 #CJK UNIFIED IDEOGRAPH
+  {0xE8D9, 0x9B43}, //10797 #CJK UNIFIED IDEOGRAPH
+  {0xE8DA, 0x9B67}, //10798 #CJK UNIFIED IDEOGRAPH
+  {0xE8DB, 0x9B74}, //10799 #CJK UNIFIED IDEOGRAPH
+  {0xE8DC, 0x9B71}, //10800 #CJK UNIFIED IDEOGRAPH
+  {0xE8DD, 0x9B66}, //10801 #CJK UNIFIED IDEOGRAPH
+  {0xE8DE, 0x9B76}, //10802 #CJK UNIFIED IDEOGRAPH
+  {0xE8DF, 0x9B75}, //10803 #CJK UNIFIED IDEOGRAPH
+  {0xE8E0, 0x9B70}, //10804 #CJK UNIFIED IDEOGRAPH
+  {0xE8E1, 0x9B68}, //10805 #CJK UNIFIED IDEOGRAPH
+  {0xE8E2, 0x9B64}, //10806 #CJK UNIFIED IDEOGRAPH
+  {0xE8E3, 0x9B6C}, //10807 #CJK UNIFIED IDEOGRAPH
+  {0xE8E4, 0x9CFC}, //10808 #CJK UNIFIED IDEOGRAPH
+  {0xE8E5, 0x9CFA}, //10809 #CJK UNIFIED IDEOGRAPH
+  {0xE8E6, 0x9CFD}, //10810 #CJK UNIFIED IDEOGRAPH
+  {0xE8E7, 0x9CFF}, //10811 #CJK UNIFIED IDEOGRAPH
+  {0xE8E8, 0x9CF7}, //10812 #CJK UNIFIED IDEOGRAPH
+  {0xE8E9, 0x9D07}, //10813 #CJK UNIFIED IDEOGRAPH
+  {0xE8EA, 0x9D00}, //10814 #CJK UNIFIED IDEOGRAPH
+  {0xE8EB, 0x9CF9}, //10815 #CJK UNIFIED IDEOGRAPH
+  {0xE8EC, 0x9CFB}, //10816 #CJK UNIFIED IDEOGRAPH
+  {0xE8ED, 0x9D08}, //10817 #CJK UNIFIED IDEOGRAPH
+  {0xE8EE, 0x9D05}, //10818 #CJK UNIFIED IDEOGRAPH
+  {0xE8EF, 0x9D04}, //10819 #CJK UNIFIED IDEOGRAPH
+  {0xE8F0, 0x9E83}, //10820 #CJK UNIFIED IDEOGRAPH
+  {0xE8F1, 0x9ED3}, //10821 #CJK UNIFIED IDEOGRAPH
+  {0xE8F2, 0x9F0F}, //10822 #CJK UNIFIED IDEOGRAPH
+  {0xE8F3, 0x9F10}, //10823 #CJK UNIFIED IDEOGRAPH
+  {0xE8F4, 0x511C}, //10824 #CJK UNIFIED IDEOGRAPH
+  {0xE8F5, 0x5113}, //10825 #CJK UNIFIED IDEOGRAPH
+  {0xE8F6, 0x5117}, //10826 #CJK UNIFIED IDEOGRAPH
+  {0xE8F7, 0x511A}, //10827 #CJK UNIFIED IDEOGRAPH
+  {0xE8F8, 0x5111}, //10828 #CJK UNIFIED IDEOGRAPH
+  {0xE8F9, 0x51DE}, //10829 #CJK UNIFIED IDEOGRAPH
+  {0xE8FA, 0x5334}, //10830 #CJK UNIFIED IDEOGRAPH
+  {0xE8FB, 0x53E1}, //10831 #CJK UNIFIED IDEOGRAPH
+  {0xE8FC, 0x5670}, //10832 #CJK UNIFIED IDEOGRAPH
+  {0xE8FD, 0x5660}, //10833 #CJK UNIFIED IDEOGRAPH
+  {0xE8FE, 0x566E}, //10834 #CJK UNIFIED IDEOGRAPH
+  {0xE940, 0x5673}, //10835 #CJK UNIFIED IDEOGRAPH
+  {0xE941, 0x5666}, //10836 #CJK UNIFIED IDEOGRAPH
+  {0xE942, 0x5663}, //10837 #CJK UNIFIED IDEOGRAPH
+  {0xE943, 0x566D}, //10838 #CJK UNIFIED IDEOGRAPH
+  {0xE944, 0x5672}, //10839 #CJK UNIFIED IDEOGRAPH
+  {0xE945, 0x565E}, //10840 #CJK UNIFIED IDEOGRAPH
+  {0xE946, 0x5677}, //10841 #CJK UNIFIED IDEOGRAPH
+  {0xE947, 0x571C}, //10842 #CJK UNIFIED IDEOGRAPH
+  {0xE948, 0x571B}, //10843 #CJK UNIFIED IDEOGRAPH
+  {0xE949, 0x58C8}, //10844 #CJK UNIFIED IDEOGRAPH
+  {0xE94A, 0x58BD}, //10845 #CJK UNIFIED IDEOGRAPH
+  {0xE94B, 0x58C9}, //10846 #CJK UNIFIED IDEOGRAPH
+  {0xE94C, 0x58BF}, //10847 #CJK UNIFIED IDEOGRAPH
+  {0xE94D, 0x58BA}, //10848 #CJK UNIFIED IDEOGRAPH
+  {0xE94E, 0x58C2}, //10849 #CJK UNIFIED IDEOGRAPH
+  {0xE94F, 0x58BC}, //10850 #CJK UNIFIED IDEOGRAPH
+  {0xE950, 0x58C6}, //10851 #CJK UNIFIED IDEOGRAPH
+  {0xE951, 0x5B17}, //10852 #CJK UNIFIED IDEOGRAPH
+  {0xE952, 0x5B19}, //10853 #CJK UNIFIED IDEOGRAPH
+  {0xE953, 0x5B1B}, //10854 #CJK UNIFIED IDEOGRAPH
+  {0xE954, 0x5B21}, //10855 #CJK UNIFIED IDEOGRAPH
+  {0xE955, 0x5B14}, //10856 #CJK UNIFIED IDEOGRAPH
+  {0xE956, 0x5B13}, //10857 #CJK UNIFIED IDEOGRAPH
+  {0xE957, 0x5B10}, //10858 #CJK UNIFIED IDEOGRAPH
+  {0xE958, 0x5B16}, //10859 #CJK UNIFIED IDEOGRAPH
+  {0xE959, 0x5B28}, //10860 #CJK UNIFIED IDEOGRAPH
+  {0xE95A, 0x5B1A}, //10861 #CJK UNIFIED IDEOGRAPH
+  {0xE95B, 0x5B20}, //10862 #CJK UNIFIED IDEOGRAPH
+  {0xE95C, 0x5B1E}, //10863 #CJK UNIFIED IDEOGRAPH
+  {0xE95D, 0x5BEF}, //10864 #CJK UNIFIED IDEOGRAPH
+  {0xE95E, 0x5DAC}, //10865 #CJK UNIFIED IDEOGRAPH
+  {0xE95F, 0x5DB1}, //10866 #CJK UNIFIED IDEOGRAPH
+  {0xE960, 0x5DA9}, //10867 #CJK UNIFIED IDEOGRAPH
+  {0xE961, 0x5DA7}, //10868 #CJK UNIFIED IDEOGRAPH
+  {0xE962, 0x5DB5}, //10869 #CJK UNIFIED IDEOGRAPH
+  {0xE963, 0x5DB0}, //10870 #CJK UNIFIED IDEOGRAPH
+  {0xE964, 0x5DAE}, //10871 #CJK UNIFIED IDEOGRAPH
+  {0xE965, 0x5DAA}, //10872 #CJK UNIFIED IDEOGRAPH
+  {0xE966, 0x5DA8}, //10873 #CJK UNIFIED IDEOGRAPH
+  {0xE967, 0x5DB2}, //10874 #CJK UNIFIED IDEOGRAPH
+  {0xE968, 0x5DAD}, //10875 #CJK UNIFIED IDEOGRAPH
+  {0xE969, 0x5DAF}, //10876 #CJK UNIFIED IDEOGRAPH
+  {0xE96A, 0x5DB4}, //10877 #CJK UNIFIED IDEOGRAPH
+  {0xE96B, 0x5E67}, //10878 #CJK UNIFIED IDEOGRAPH
+  {0xE96C, 0x5E68}, //10879 #CJK UNIFIED IDEOGRAPH
+  {0xE96D, 0x5E66}, //10880 #CJK UNIFIED IDEOGRAPH
+  {0xE96E, 0x5E6F}, //10881 #CJK UNIFIED IDEOGRAPH
+  {0xE96F, 0x5EE9}, //10882 #CJK UNIFIED IDEOGRAPH
+  {0xE970, 0x5EE7}, //10883 #CJK UNIFIED IDEOGRAPH
+  {0xE971, 0x5EE6}, //10884 #CJK UNIFIED IDEOGRAPH
+  {0xE972, 0x5EE8}, //10885 #CJK UNIFIED IDEOGRAPH
+  {0xE973, 0x5EE5}, //10886 #CJK UNIFIED IDEOGRAPH
+  {0xE974, 0x5F4B}, //10887 #CJK UNIFIED IDEOGRAPH
+  {0xE975, 0x5FBC}, //10888 #CJK UNIFIED IDEOGRAPH
+  {0xE976, 0x619D}, //10889 #CJK UNIFIED IDEOGRAPH
+  {0xE977, 0x61A8}, //10890 #CJK UNIFIED IDEOGRAPH
+  {0xE978, 0x6196}, //10891 #CJK UNIFIED IDEOGRAPH
+  {0xE979, 0x61C5}, //10892 #CJK UNIFIED IDEOGRAPH
+  {0xE97A, 0x61B4}, //10893 #CJK UNIFIED IDEOGRAPH
+  {0xE97B, 0x61C6}, //10894 #CJK UNIFIED IDEOGRAPH
+  {0xE97C, 0x61C1}, //10895 #CJK UNIFIED IDEOGRAPH
+  {0xE97D, 0x61CC}, //10896 #CJK UNIFIED IDEOGRAPH
+  {0xE97E, 0x61BA}, //10897 #CJK UNIFIED IDEOGRAPH
+  {0xE9A1, 0x61BF}, //10898 #CJK UNIFIED IDEOGRAPH
+  {0xE9A2, 0x61B8}, //10899 #CJK UNIFIED IDEOGRAPH
+  {0xE9A3, 0x618C}, //10900 #CJK UNIFIED IDEOGRAPH
+  {0xE9A4, 0x64D7}, //10901 #CJK UNIFIED IDEOGRAPH
+  {0xE9A5, 0x64D6}, //10902 #CJK UNIFIED IDEOGRAPH
+  {0xE9A6, 0x64D0}, //10903 #CJK UNIFIED IDEOGRAPH
+  {0xE9A7, 0x64CF}, //10904 #CJK UNIFIED IDEOGRAPH
+  {0xE9A8, 0x64C9}, //10905 #CJK UNIFIED IDEOGRAPH
+  {0xE9A9, 0x64BD}, //10906 #CJK UNIFIED IDEOGRAPH
+  {0xE9AA, 0x6489}, //10907 #CJK UNIFIED IDEOGRAPH
+  {0xE9AB, 0x64C3}, //10908 #CJK UNIFIED IDEOGRAPH
+  {0xE9AC, 0x64DB}, //10909 #CJK UNIFIED IDEOGRAPH
+  {0xE9AD, 0x64F3}, //10910 #CJK UNIFIED IDEOGRAPH
+  {0xE9AE, 0x64D9}, //10911 #CJK UNIFIED IDEOGRAPH
+  {0xE9AF, 0x6533}, //10912 #CJK UNIFIED IDEOGRAPH
+  {0xE9B0, 0x657F}, //10913 #CJK UNIFIED IDEOGRAPH
+  {0xE9B1, 0x657C}, //10914 #CJK UNIFIED IDEOGRAPH
+  {0xE9B2, 0x65A2}, //10915 #CJK UNIFIED IDEOGRAPH
+  {0xE9B3, 0x66C8}, //10916 #CJK UNIFIED IDEOGRAPH
+  {0xE9B4, 0x66BE}, //10917 #CJK UNIFIED IDEOGRAPH
+  {0xE9B5, 0x66C0}, //10918 #CJK UNIFIED IDEOGRAPH
+  {0xE9B6, 0x66CA}, //10919 #CJK UNIFIED IDEOGRAPH
+  {0xE9B7, 0x66CB}, //10920 #CJK UNIFIED IDEOGRAPH
+  {0xE9B8, 0x66CF}, //10921 #CJK UNIFIED IDEOGRAPH
+  {0xE9B9, 0x66BD}, //10922 #CJK UNIFIED IDEOGRAPH
+  {0xE9BA, 0x66BB}, //10923 #CJK UNIFIED IDEOGRAPH
+  {0xE9BB, 0x66BA}, //10924 #CJK UNIFIED IDEOGRAPH
+  {0xE9BC, 0x66CC}, //10925 #CJK UNIFIED IDEOGRAPH
+  {0xE9BD, 0x6723}, //10926 #CJK UNIFIED IDEOGRAPH
+  {0xE9BE, 0x6A34}, //10927 #CJK UNIFIED IDEOGRAPH
+  {0xE9BF, 0x6A66}, //10928 #CJK UNIFIED IDEOGRAPH
+  {0xE9C0, 0x6A49}, //10929 #CJK UNIFIED IDEOGRAPH
+  {0xE9C1, 0x6A67}, //10930 #CJK UNIFIED IDEOGRAPH
+  {0xE9C2, 0x6A32}, //10931 #CJK UNIFIED IDEOGRAPH
+  {0xE9C3, 0x6A68}, //10932 #CJK UNIFIED IDEOGRAPH
+  {0xE9C4, 0x6A3E}, //10933 #CJK UNIFIED IDEOGRAPH
+  {0xE9C5, 0x6A5D}, //10934 #CJK UNIFIED IDEOGRAPH
+  {0xE9C6, 0x6A6D}, //10935 #CJK UNIFIED IDEOGRAPH
+  {0xE9C7, 0x6A76}, //10936 #CJK UNIFIED IDEOGRAPH
+  {0xE9C8, 0x6A5B}, //10937 #CJK UNIFIED IDEOGRAPH
+  {0xE9C9, 0x6A51}, //10938 #CJK UNIFIED IDEOGRAPH
+  {0xE9CA, 0x6A28}, //10939 #CJK UNIFIED IDEOGRAPH
+  {0xE9CB, 0x6A5A}, //10940 #CJK UNIFIED IDEOGRAPH
+  {0xE9CC, 0x6A3B}, //10941 #CJK UNIFIED IDEOGRAPH
+  {0xE9CD, 0x6A3F}, //10942 #CJK UNIFIED IDEOGRAPH
+  {0xE9CE, 0x6A41}, //10943 #CJK UNIFIED IDEOGRAPH
+  {0xE9CF, 0x6A6A}, //10944 #CJK UNIFIED IDEOGRAPH
+  {0xE9D0, 0x6A64}, //10945 #CJK UNIFIED IDEOGRAPH
+  {0xE9D1, 0x6A50}, //10946 #CJK UNIFIED IDEOGRAPH
+  {0xE9D2, 0x6A4F}, //10947 #CJK UNIFIED IDEOGRAPH
+  {0xE9D3, 0x6A54}, //10948 #CJK UNIFIED IDEOGRAPH
+  {0xE9D4, 0x6A6F}, //10949 #CJK UNIFIED IDEOGRAPH
+  {0xE9D5, 0x6A69}, //10950 #CJK UNIFIED IDEOGRAPH
+  {0xE9D6, 0x6A60}, //10951 #CJK UNIFIED IDEOGRAPH
+  {0xE9D7, 0x6A3C}, //10952 #CJK UNIFIED IDEOGRAPH
+  {0xE9D8, 0x6A5E}, //10953 #CJK UNIFIED IDEOGRAPH
+  {0xE9D9, 0x6A56}, //10954 #CJK UNIFIED IDEOGRAPH
+  {0xE9DA, 0x6A55}, //10955 #CJK UNIFIED IDEOGRAPH
+  {0xE9DB, 0x6A4D}, //10956 #CJK UNIFIED IDEOGRAPH
+  {0xE9DC, 0x6A4E}, //10957 #CJK UNIFIED IDEOGRAPH
+  {0xE9DD, 0x6A46}, //10958 #CJK UNIFIED IDEOGRAPH
+  {0xE9DE, 0x6B55}, //10959 #CJK UNIFIED IDEOGRAPH
+  {0xE9DF, 0x6B54}, //10960 #CJK UNIFIED IDEOGRAPH
+  {0xE9E0, 0x6B56}, //10961 #CJK UNIFIED IDEOGRAPH
+  {0xE9E1, 0x6BA7}, //10962 #CJK UNIFIED IDEOGRAPH
+  {0xE9E2, 0x6BAA}, //10963 #CJK UNIFIED IDEOGRAPH
+  {0xE9E3, 0x6BAB}, //10964 #CJK UNIFIED IDEOGRAPH
+  {0xE9E4, 0x6BC8}, //10965 #CJK UNIFIED IDEOGRAPH
+  {0xE9E5, 0x6BC7}, //10966 #CJK UNIFIED IDEOGRAPH
+  {0xE9E6, 0x6C04}, //10967 #CJK UNIFIED IDEOGRAPH
+  {0xE9E7, 0x6C03}, //10968 #CJK UNIFIED IDEOGRAPH
+  {0xE9E8, 0x6C06}, //10969 #CJK UNIFIED IDEOGRAPH
+  {0xE9E9, 0x6FAD}, //10970 #CJK UNIFIED IDEOGRAPH
+  {0xE9EA, 0x6FCB}, //10971 #CJK UNIFIED IDEOGRAPH
+  {0xE9EB, 0x6FA3}, //10972 #CJK UNIFIED IDEOGRAPH
+  {0xE9EC, 0x6FC7}, //10973 #CJK UNIFIED IDEOGRAPH
+  {0xE9ED, 0x6FBC}, //10974 #CJK UNIFIED IDEOGRAPH
+  {0xE9EE, 0x6FCE}, //10975 #CJK UNIFIED IDEOGRAPH
+  {0xE9EF, 0x6FC8}, //10976 #CJK UNIFIED IDEOGRAPH
+  {0xE9F0, 0x6F5E}, //10977 #CJK UNIFIED IDEOGRAPH
+  {0xE9F1, 0x6FC4}, //10978 #CJK UNIFIED IDEOGRAPH
+  {0xE9F2, 0x6FBD}, //10979 #CJK UNIFIED IDEOGRAPH
+  {0xE9F3, 0x6F9E}, //10980 #CJK UNIFIED IDEOGRAPH
+  {0xE9F4, 0x6FCA}, //10981 #CJK UNIFIED IDEOGRAPH
+  {0xE9F5, 0x6FA8}, //10982 #CJK UNIFIED IDEOGRAPH
+  {0xE9F6, 0x7004}, //10983 #CJK UNIFIED IDEOGRAPH
+  {0xE9F7, 0x6FA5}, //10984 #CJK UNIFIED IDEOGRAPH
+  {0xE9F8, 0x6FAE}, //10985 #CJK UNIFIED IDEOGRAPH
+  {0xE9F9, 0x6FBA}, //10986 #CJK UNIFIED IDEOGRAPH
+  {0xE9FA, 0x6FAC}, //10987 #CJK UNIFIED IDEOGRAPH
+  {0xE9FB, 0x6FAA}, //10988 #CJK UNIFIED IDEOGRAPH
+  {0xE9FC, 0x6FCF}, //10989 #CJK UNIFIED IDEOGRAPH
+  {0xE9FD, 0x6FBF}, //10990 #CJK UNIFIED IDEOGRAPH
+  {0xE9FE, 0x6FB8}, //10991 #CJK UNIFIED IDEOGRAPH
+  {0xEA40, 0x6FA2}, //10992 #CJK UNIFIED IDEOGRAPH
+  {0xEA41, 0x6FC9}, //10993 #CJK UNIFIED IDEOGRAPH
+  {0xEA42, 0x6FAB}, //10994 #CJK UNIFIED IDEOGRAPH
+  {0xEA43, 0x6FCD}, //10995 #CJK UNIFIED IDEOGRAPH
+  {0xEA44, 0x6FAF}, //10996 #CJK UNIFIED IDEOGRAPH
+  {0xEA45, 0x6FB2}, //10997 #CJK UNIFIED IDEOGRAPH
+  {0xEA46, 0x6FB0}, //10998 #CJK UNIFIED IDEOGRAPH
+  {0xEA47, 0x71C5}, //10999 #CJK UNIFIED IDEOGRAPH
+  {0xEA48, 0x71C2}, //11000 #CJK UNIFIED IDEOGRAPH
+  {0xEA49, 0x71BF}, //11001 #CJK UNIFIED IDEOGRAPH
+  {0xEA4A, 0x71B8}, //11002 #CJK UNIFIED IDEOGRAPH
+  {0xEA4B, 0x71D6}, //11003 #CJK UNIFIED IDEOGRAPH
+  {0xEA4C, 0x71C0}, //11004 #CJK UNIFIED IDEOGRAPH
+  {0xEA4D, 0x71C1}, //11005 #CJK UNIFIED IDEOGRAPH
+  {0xEA4E, 0x71CB}, //11006 #CJK UNIFIED IDEOGRAPH
+  {0xEA4F, 0x71D4}, //11007 #CJK UNIFIED IDEOGRAPH
+  {0xEA50, 0x71CA}, //11008 #CJK UNIFIED IDEOGRAPH
+  {0xEA51, 0x71C7}, //11009 #CJK UNIFIED IDEOGRAPH
+  {0xEA52, 0x71CF}, //11010 #CJK UNIFIED IDEOGRAPH
+  {0xEA53, 0x71BD}, //11011 #CJK UNIFIED IDEOGRAPH
+  {0xEA54, 0x71D8}, //11012 #CJK UNIFIED IDEOGRAPH
+  {0xEA55, 0x71BC}, //11013 #CJK UNIFIED IDEOGRAPH
+  {0xEA56, 0x71C6}, //11014 #CJK UNIFIED IDEOGRAPH
+  {0xEA57, 0x71DA}, //11015 #CJK UNIFIED IDEOGRAPH
+  {0xEA58, 0x71DB}, //11016 #CJK UNIFIED IDEOGRAPH
+  {0xEA59, 0x729D}, //11017 #CJK UNIFIED IDEOGRAPH
+  {0xEA5A, 0x729E}, //11018 #CJK UNIFIED IDEOGRAPH
+  {0xEA5B, 0x7369}, //11019 #CJK UNIFIED IDEOGRAPH
+  {0xEA5C, 0x7366}, //11020 #CJK UNIFIED IDEOGRAPH
+  {0xEA5D, 0x7367}, //11021 #CJK UNIFIED IDEOGRAPH
+  {0xEA5E, 0x736C}, //11022 #CJK UNIFIED IDEOGRAPH
+  {0xEA5F, 0x7365}, //11023 #CJK UNIFIED IDEOGRAPH
+  {0xEA60, 0x736B}, //11024 #CJK UNIFIED IDEOGRAPH
+  {0xEA61, 0x736A}, //11025 #CJK UNIFIED IDEOGRAPH
+  {0xEA62, 0x747F}, //11026 #CJK UNIFIED IDEOGRAPH
+  {0xEA63, 0x749A}, //11027 #CJK UNIFIED IDEOGRAPH
+  {0xEA64, 0x74A0}, //11028 #CJK UNIFIED IDEOGRAPH
+  {0xEA65, 0x7494}, //11029 #CJK UNIFIED IDEOGRAPH
+  {0xEA66, 0x7492}, //11030 #CJK UNIFIED IDEOGRAPH
+  {0xEA67, 0x7495}, //11031 #CJK UNIFIED IDEOGRAPH
+  {0xEA68, 0x74A1}, //11032 #CJK UNIFIED IDEOGRAPH
+  {0xEA69, 0x750B}, //11033 #CJK UNIFIED IDEOGRAPH
+  {0xEA6A, 0x7580}, //11034 #CJK UNIFIED IDEOGRAPH
+  {0xEA6B, 0x762F}, //11035 #CJK UNIFIED IDEOGRAPH
+  {0xEA6C, 0x762D}, //11036 #CJK UNIFIED IDEOGRAPH
+  {0xEA6D, 0x7631}, //11037 #CJK UNIFIED IDEOGRAPH
+  {0xEA6E, 0x763D}, //11038 #CJK UNIFIED IDEOGRAPH
+  {0xEA6F, 0x7633}, //11039 #CJK UNIFIED IDEOGRAPH
+  {0xEA70, 0x763C}, //11040 #CJK UNIFIED IDEOGRAPH
+  {0xEA71, 0x7635}, //11041 #CJK UNIFIED IDEOGRAPH
+  {0xEA72, 0x7632}, //11042 #CJK UNIFIED IDEOGRAPH
+  {0xEA73, 0x7630}, //11043 #CJK UNIFIED IDEOGRAPH
+  {0xEA74, 0x76BB}, //11044 #CJK UNIFIED IDEOGRAPH
+  {0xEA75, 0x76E6}, //11045 #CJK UNIFIED IDEOGRAPH
+  {0xEA76, 0x779A}, //11046 #CJK UNIFIED IDEOGRAPH
+  {0xEA77, 0x779D}, //11047 #CJK UNIFIED IDEOGRAPH
+  {0xEA78, 0x77A1}, //11048 #CJK UNIFIED IDEOGRAPH
+  {0xEA79, 0x779C}, //11049 #CJK UNIFIED IDEOGRAPH
+  {0xEA7A, 0x779B}, //11050 #CJK UNIFIED IDEOGRAPH
+  {0xEA7B, 0x77A2}, //11051 #CJK UNIFIED IDEOGRAPH
+  {0xEA7C, 0x77A3}, //11052 #CJK UNIFIED IDEOGRAPH
+  {0xEA7D, 0x7795}, //11053 #CJK UNIFIED IDEOGRAPH
+  {0xEA7E, 0x7799}, //11054 #CJK UNIFIED IDEOGRAPH
+  {0xEAA1, 0x7797}, //11055 #CJK UNIFIED IDEOGRAPH
+  {0xEAA2, 0x78DD}, //11056 #CJK UNIFIED IDEOGRAPH
+  {0xEAA3, 0x78E9}, //11057 #CJK UNIFIED IDEOGRAPH
+  {0xEAA4, 0x78E5}, //11058 #CJK UNIFIED IDEOGRAPH
+  {0xEAA5, 0x78EA}, //11059 #CJK UNIFIED IDEOGRAPH
+  {0xEAA6, 0x78DE}, //11060 #CJK UNIFIED IDEOGRAPH
+  {0xEAA7, 0x78E3}, //11061 #CJK UNIFIED IDEOGRAPH
+  {0xEAA8, 0x78DB}, //11062 #CJK UNIFIED IDEOGRAPH
+  {0xEAA9, 0x78E1}, //11063 #CJK UNIFIED IDEOGRAPH
+  {0xEAAA, 0x78E2}, //11064 #CJK UNIFIED IDEOGRAPH
+  {0xEAAB, 0x78ED}, //11065 #CJK UNIFIED IDEOGRAPH
+  {0xEAAC, 0x78DF}, //11066 #CJK UNIFIED IDEOGRAPH
+  {0xEAAD, 0x78E0}, //11067 #CJK UNIFIED IDEOGRAPH
+  {0xEAAE, 0x79A4}, //11068 #CJK UNIFIED IDEOGRAPH
+  {0xEAAF, 0x7A44}, //11069 #CJK UNIFIED IDEOGRAPH
+  {0xEAB0, 0x7A48}, //11070 #CJK UNIFIED IDEOGRAPH
+  {0xEAB1, 0x7A47}, //11071 #CJK UNIFIED IDEOGRAPH
+  {0xEAB2, 0x7AB6}, //11072 #CJK UNIFIED IDEOGRAPH
+  {0xEAB3, 0x7AB8}, //11073 #CJK UNIFIED IDEOGRAPH
+  {0xEAB4, 0x7AB5}, //11074 #CJK UNIFIED IDEOGRAPH
+  {0xEAB5, 0x7AB1}, //11075 #CJK UNIFIED IDEOGRAPH
+  {0xEAB6, 0x7AB7}, //11076 #CJK UNIFIED IDEOGRAPH
+  {0xEAB7, 0x7BDE}, //11077 #CJK UNIFIED IDEOGRAPH
+  {0xEAB8, 0x7BE3}, //11078 #CJK UNIFIED IDEOGRAPH
+  {0xEAB9, 0x7BE7}, //11079 #CJK UNIFIED IDEOGRAPH
+  {0xEABA, 0x7BDD}, //11080 #CJK UNIFIED IDEOGRAPH
+  {0xEABB, 0x7BD5}, //11081 #CJK UNIFIED IDEOGRAPH
+  {0xEABC, 0x7BE5}, //11082 #CJK UNIFIED IDEOGRAPH
+  {0xEABD, 0x7BDA}, //11083 #CJK UNIFIED IDEOGRAPH
+  {0xEABE, 0x7BE8}, //11084 #CJK UNIFIED IDEOGRAPH
+  {0xEABF, 0x7BF9}, //11085 #CJK UNIFIED IDEOGRAPH
+  {0xEAC0, 0x7BD4}, //11086 #CJK UNIFIED IDEOGRAPH
+  {0xEAC1, 0x7BEA}, //11087 #CJK UNIFIED IDEOGRAPH
+  {0xEAC2, 0x7BE2}, //11088 #CJK UNIFIED IDEOGRAPH
+  {0xEAC3, 0x7BDC}, //11089 #CJK UNIFIED IDEOGRAPH
+  {0xEAC4, 0x7BEB}, //11090 #CJK UNIFIED IDEOGRAPH
+  {0xEAC5, 0x7BD8}, //11091 #CJK UNIFIED IDEOGRAPH
+  {0xEAC6, 0x7BDF}, //11092 #CJK UNIFIED IDEOGRAPH
+  {0xEAC7, 0x7CD2}, //11093 #CJK UNIFIED IDEOGRAPH
+  {0xEAC8, 0x7CD4}, //11094 #CJK UNIFIED IDEOGRAPH
+  {0xEAC9, 0x7CD7}, //11095 #CJK UNIFIED IDEOGRAPH
+  {0xEACA, 0x7CD0}, //11096 #CJK UNIFIED IDEOGRAPH
+  {0xEACB, 0x7CD1}, //11097 #CJK UNIFIED IDEOGRAPH
+  {0xEACC, 0x7E12}, //11098 #CJK UNIFIED IDEOGRAPH
+  {0xEACD, 0x7E21}, //11099 #CJK UNIFIED IDEOGRAPH
+  {0xEACE, 0x7E17}, //11100 #CJK UNIFIED IDEOGRAPH
+  {0xEACF, 0x7E0C}, //11101 #CJK UNIFIED IDEOGRAPH
+  {0xEAD0, 0x7E1F}, //11102 #CJK UNIFIED IDEOGRAPH
+  {0xEAD1, 0x7E20}, //11103 #CJK UNIFIED IDEOGRAPH
+  {0xEAD2, 0x7E13}, //11104 #CJK UNIFIED IDEOGRAPH
+  {0xEAD3, 0x7E0E}, //11105 #CJK UNIFIED IDEOGRAPH
+  {0xEAD4, 0x7E1C}, //11106 #CJK UNIFIED IDEOGRAPH
+  {0xEAD5, 0x7E15}, //11107 #CJK UNIFIED IDEOGRAPH
+  {0xEAD6, 0x7E1A}, //11108 #CJK UNIFIED IDEOGRAPH
+  {0xEAD7, 0x7E22}, //11109 #CJK UNIFIED IDEOGRAPH
+  {0xEAD8, 0x7E0B}, //11110 #CJK UNIFIED IDEOGRAPH
+  {0xEAD9, 0x7E0F}, //11111 #CJK UNIFIED IDEOGRAPH
+  {0xEADA, 0x7E16}, //11112 #CJK UNIFIED IDEOGRAPH
+  {0xEADB, 0x7E0D}, //11113 #CJK UNIFIED IDEOGRAPH
+  {0xEADC, 0x7E14}, //11114 #CJK UNIFIED IDEOGRAPH
+  {0xEADD, 0x7E25}, //11115 #CJK UNIFIED IDEOGRAPH
+  {0xEADE, 0x7E24}, //11116 #CJK UNIFIED IDEOGRAPH
+  {0xEADF, 0x7F43}, //11117 #CJK UNIFIED IDEOGRAPH
+  {0xEAE0, 0x7F7B}, //11118 #CJK UNIFIED IDEOGRAPH
+  {0xEAE1, 0x7F7C}, //11119 #CJK UNIFIED IDEOGRAPH
+  {0xEAE2, 0x7F7A}, //11120 #CJK UNIFIED IDEOGRAPH
+  {0xEAE3, 0x7FB1}, //11121 #CJK UNIFIED IDEOGRAPH
+  {0xEAE4, 0x7FEF}, //11122 #CJK UNIFIED IDEOGRAPH
+  {0xEAE5, 0x802A}, //11123 #CJK UNIFIED IDEOGRAPH
+  {0xEAE6, 0x8029}, //11124 #CJK UNIFIED IDEOGRAPH
+  {0xEAE7, 0x806C}, //11125 #CJK UNIFIED IDEOGRAPH
+  {0xEAE8, 0x81B1}, //11126 #CJK UNIFIED IDEOGRAPH
+  {0xEAE9, 0x81A6}, //11127 #CJK UNIFIED IDEOGRAPH
+  {0xEAEA, 0x81AE}, //11128 #CJK UNIFIED IDEOGRAPH
+  {0xEAEB, 0x81B9}, //11129 #CJK UNIFIED IDEOGRAPH
+  {0xEAEC, 0x81B5}, //11130 #CJK UNIFIED IDEOGRAPH
+  {0xEAED, 0x81AB}, //11131 #CJK UNIFIED IDEOGRAPH
+  {0xEAEE, 0x81B0}, //11132 #CJK UNIFIED IDEOGRAPH
+  {0xEAEF, 0x81AC}, //11133 #CJK UNIFIED IDEOGRAPH
+  {0xEAF0, 0x81B4}, //11134 #CJK UNIFIED IDEOGRAPH
+  {0xEAF1, 0x81B2}, //11135 #CJK UNIFIED IDEOGRAPH
+  {0xEAF2, 0x81B7}, //11136 #CJK UNIFIED IDEOGRAPH
+  {0xEAF3, 0x81A7}, //11137 #CJK UNIFIED IDEOGRAPH
+  {0xEAF4, 0x81F2}, //11138 #CJK UNIFIED IDEOGRAPH
+  {0xEAF5, 0x8255}, //11139 #CJK UNIFIED IDEOGRAPH
+  {0xEAF6, 0x8256}, //11140 #CJK UNIFIED IDEOGRAPH
+  {0xEAF7, 0x8257}, //11141 #CJK UNIFIED IDEOGRAPH
+  {0xEAF8, 0x8556}, //11142 #CJK UNIFIED IDEOGRAPH
+  {0xEAF9, 0x8545}, //11143 #CJK UNIFIED IDEOGRAPH
+  {0xEAFA, 0x856B}, //11144 #CJK UNIFIED IDEOGRAPH
+  {0xEAFB, 0x854D}, //11145 #CJK UNIFIED IDEOGRAPH
+  {0xEAFC, 0x8553}, //11146 #CJK UNIFIED IDEOGRAPH
+  {0xEAFD, 0x8561}, //11147 #CJK UNIFIED IDEOGRAPH
+  {0xEAFE, 0x8558}, //11148 #CJK UNIFIED IDEOGRAPH
+  {0xEB40, 0x8540}, //11149 #CJK UNIFIED IDEOGRAPH
+  {0xEB41, 0x8546}, //11150 #CJK UNIFIED IDEOGRAPH
+  {0xEB42, 0x8564}, //11151 #CJK UNIFIED IDEOGRAPH
+  {0xEB43, 0x8541}, //11152 #CJK UNIFIED IDEOGRAPH
+  {0xEB44, 0x8562}, //11153 #CJK UNIFIED IDEOGRAPH
+  {0xEB45, 0x8544}, //11154 #CJK UNIFIED IDEOGRAPH
+  {0xEB46, 0x8551}, //11155 #CJK UNIFIED IDEOGRAPH
+  {0xEB47, 0x8547}, //11156 #CJK UNIFIED IDEOGRAPH
+  {0xEB48, 0x8563}, //11157 #CJK UNIFIED IDEOGRAPH
+  {0xEB49, 0x853E}, //11158 #CJK UNIFIED IDEOGRAPH
+  {0xEB4A, 0x855B}, //11159 #CJK UNIFIED IDEOGRAPH
+  {0xEB4B, 0x8571}, //11160 #CJK UNIFIED IDEOGRAPH
+  {0xEB4C, 0x854E}, //11161 #CJK UNIFIED IDEOGRAPH
+  {0xEB4D, 0x856E}, //11162 #CJK UNIFIED IDEOGRAPH
+  {0xEB4E, 0x8575}, //11163 #CJK UNIFIED IDEOGRAPH
+  {0xEB4F, 0x8555}, //11164 #CJK UNIFIED IDEOGRAPH
+  {0xEB50, 0x8567}, //11165 #CJK UNIFIED IDEOGRAPH
+  {0xEB51, 0x8560}, //11166 #CJK UNIFIED IDEOGRAPH
+  {0xEB52, 0x858C}, //11167 #CJK UNIFIED IDEOGRAPH
+  {0xEB53, 0x8566}, //11168 #CJK UNIFIED IDEOGRAPH
+  {0xEB54, 0x855D}, //11169 #CJK UNIFIED IDEOGRAPH
+  {0xEB55, 0x8554}, //11170 #CJK UNIFIED IDEOGRAPH
+  {0xEB56, 0x8565}, //11171 #CJK UNIFIED IDEOGRAPH
+  {0xEB57, 0x856C}, //11172 #CJK UNIFIED IDEOGRAPH
+  {0xEB58, 0x8663}, //11173 #CJK UNIFIED IDEOGRAPH
+  {0xEB59, 0x8665}, //11174 #CJK UNIFIED IDEOGRAPH
+  {0xEB5A, 0x8664}, //11175 #CJK UNIFIED IDEOGRAPH
+  {0xEB5B, 0x879B}, //11176 #CJK UNIFIED IDEOGRAPH
+  {0xEB5C, 0x878F}, //11177 #CJK UNIFIED IDEOGRAPH
+  {0xEB5D, 0x8797}, //11178 #CJK UNIFIED IDEOGRAPH
+  {0xEB5E, 0x8793}, //11179 #CJK UNIFIED IDEOGRAPH
+  {0xEB5F, 0x8792}, //11180 #CJK UNIFIED IDEOGRAPH
+  {0xEB60, 0x8788}, //11181 #CJK UNIFIED IDEOGRAPH
+  {0xEB61, 0x8781}, //11182 #CJK UNIFIED IDEOGRAPH
+  {0xEB62, 0x8796}, //11183 #CJK UNIFIED IDEOGRAPH
+  {0xEB63, 0x8798}, //11184 #CJK UNIFIED IDEOGRAPH
+  {0xEB64, 0x8779}, //11185 #CJK UNIFIED IDEOGRAPH
+  {0xEB65, 0x8787}, //11186 #CJK UNIFIED IDEOGRAPH
+  {0xEB66, 0x87A3}, //11187 #CJK UNIFIED IDEOGRAPH
+  {0xEB67, 0x8785}, //11188 #CJK UNIFIED IDEOGRAPH
+  {0xEB68, 0x8790}, //11189 #CJK UNIFIED IDEOGRAPH
+  {0xEB69, 0x8791}, //11190 #CJK UNIFIED IDEOGRAPH
+  {0xEB6A, 0x879D}, //11191 #CJK UNIFIED IDEOGRAPH
+  {0xEB6B, 0x8784}, //11192 #CJK UNIFIED IDEOGRAPH
+  {0xEB6C, 0x8794}, //11193 #CJK UNIFIED IDEOGRAPH
+  {0xEB6D, 0x879C}, //11194 #CJK UNIFIED IDEOGRAPH
+  {0xEB6E, 0x879A}, //11195 #CJK UNIFIED IDEOGRAPH
+  {0xEB6F, 0x8789}, //11196 #CJK UNIFIED IDEOGRAPH
+  {0xEB70, 0x891E}, //11197 #CJK UNIFIED IDEOGRAPH
+  {0xEB71, 0x8926}, //11198 #CJK UNIFIED IDEOGRAPH
+  {0xEB72, 0x8930}, //11199 #CJK UNIFIED IDEOGRAPH
+  {0xEB73, 0x892D}, //11200 #CJK UNIFIED IDEOGRAPH
+  {0xEB74, 0x892E}, //11201 #CJK UNIFIED IDEOGRAPH
+  {0xEB75, 0x8927}, //11202 #CJK UNIFIED IDEOGRAPH
+  {0xEB76, 0x8931}, //11203 #CJK UNIFIED IDEOGRAPH
+  {0xEB77, 0x8922}, //11204 #CJK UNIFIED IDEOGRAPH
+  {0xEB78, 0x8929}, //11205 #CJK UNIFIED IDEOGRAPH
+  {0xEB79, 0x8923}, //11206 #CJK UNIFIED IDEOGRAPH
+  {0xEB7A, 0x892F}, //11207 #CJK UNIFIED IDEOGRAPH
+  {0xEB7B, 0x892C}, //11208 #CJK UNIFIED IDEOGRAPH
+  {0xEB7C, 0x891F}, //11209 #CJK UNIFIED IDEOGRAPH
+  {0xEB7D, 0x89F1}, //11210 #CJK UNIFIED IDEOGRAPH
+  {0xEB7E, 0x8AE0}, //11211 #CJK UNIFIED IDEOGRAPH
+  {0xEBA1, 0x8AE2}, //11212 #CJK UNIFIED IDEOGRAPH
+  {0xEBA2, 0x8AF2}, //11213 #CJK UNIFIED IDEOGRAPH
+  {0xEBA3, 0x8AF4}, //11214 #CJK UNIFIED IDEOGRAPH
+  {0xEBA4, 0x8AF5}, //11215 #CJK UNIFIED IDEOGRAPH
+  {0xEBA5, 0x8ADD}, //11216 #CJK UNIFIED IDEOGRAPH
+  {0xEBA6, 0x8B14}, //11217 #CJK UNIFIED IDEOGRAPH
+  {0xEBA7, 0x8AE4}, //11218 #CJK UNIFIED IDEOGRAPH
+  {0xEBA8, 0x8ADF}, //11219 #CJK UNIFIED IDEOGRAPH
+  {0xEBA9, 0x8AF0}, //11220 #CJK UNIFIED IDEOGRAPH
+  {0xEBAA, 0x8AC8}, //11221 #CJK UNIFIED IDEOGRAPH
+  {0xEBAB, 0x8ADE}, //11222 #CJK UNIFIED IDEOGRAPH
+  {0xEBAC, 0x8AE1}, //11223 #CJK UNIFIED IDEOGRAPH
+  {0xEBAD, 0x8AE8}, //11224 #CJK UNIFIED IDEOGRAPH
+  {0xEBAE, 0x8AFF}, //11225 #CJK UNIFIED IDEOGRAPH
+  {0xEBAF, 0x8AEF}, //11226 #CJK UNIFIED IDEOGRAPH
+  {0xEBB0, 0x8AFB}, //11227 #CJK UNIFIED IDEOGRAPH
+  {0xEBB1, 0x8C91}, //11228 #CJK UNIFIED IDEOGRAPH
+  {0xEBB2, 0x8C92}, //11229 #CJK UNIFIED IDEOGRAPH
+  {0xEBB3, 0x8C90}, //11230 #CJK UNIFIED IDEOGRAPH
+  {0xEBB4, 0x8CF5}, //11231 #CJK UNIFIED IDEOGRAPH
+  {0xEBB5, 0x8CEE}, //11232 #CJK UNIFIED IDEOGRAPH
+  {0xEBB6, 0x8CF1}, //11233 #CJK UNIFIED IDEOGRAPH
+  {0xEBB7, 0x8CF0}, //11234 #CJK UNIFIED IDEOGRAPH
+  {0xEBB8, 0x8CF3}, //11235 #CJK UNIFIED IDEOGRAPH
+  {0xEBB9, 0x8D6C}, //11236 #CJK UNIFIED IDEOGRAPH
+  {0xEBBA, 0x8D6E}, //11237 #CJK UNIFIED IDEOGRAPH
+  {0xEBBB, 0x8DA5}, //11238 #CJK UNIFIED IDEOGRAPH
+  {0xEBBC, 0x8DA7}, //11239 #CJK UNIFIED IDEOGRAPH
+  {0xEBBD, 0x8E33}, //11240 #CJK UNIFIED IDEOGRAPH
+  {0xEBBE, 0x8E3E}, //11241 #CJK UNIFIED IDEOGRAPH
+  {0xEBBF, 0x8E38}, //11242 #CJK UNIFIED IDEOGRAPH
+  {0xEBC0, 0x8E40}, //11243 #CJK UNIFIED IDEOGRAPH
+  {0xEBC1, 0x8E45}, //11244 #CJK UNIFIED IDEOGRAPH
+  {0xEBC2, 0x8E36}, //11245 #CJK UNIFIED IDEOGRAPH
+  {0xEBC3, 0x8E3C}, //11246 #CJK UNIFIED IDEOGRAPH
+  {0xEBC4, 0x8E3D}, //11247 #CJK UNIFIED IDEOGRAPH
+  {0xEBC5, 0x8E41}, //11248 #CJK UNIFIED IDEOGRAPH
+  {0xEBC6, 0x8E30}, //11249 #CJK UNIFIED IDEOGRAPH
+  {0xEBC7, 0x8E3F}, //11250 #CJK UNIFIED IDEOGRAPH
+  {0xEBC8, 0x8EBD}, //11251 #CJK UNIFIED IDEOGRAPH
+  {0xEBC9, 0x8F36}, //11252 #CJK UNIFIED IDEOGRAPH
+  {0xEBCA, 0x8F2E}, //11253 #CJK UNIFIED IDEOGRAPH
+  {0xEBCB, 0x8F35}, //11254 #CJK UNIFIED IDEOGRAPH
+  {0xEBCC, 0x8F32}, //11255 #CJK UNIFIED IDEOGRAPH
+  {0xEBCD, 0x8F39}, //11256 #CJK UNIFIED IDEOGRAPH
+  {0xEBCE, 0x8F37}, //11257 #CJK UNIFIED IDEOGRAPH
+  {0xEBCF, 0x8F34}, //11258 #CJK UNIFIED IDEOGRAPH
+  {0xEBD0, 0x9076}, //11259 #CJK UNIFIED IDEOGRAPH
+  {0xEBD1, 0x9079}, //11260 #CJK UNIFIED IDEOGRAPH
+  {0xEBD2, 0x907B}, //11261 #CJK UNIFIED IDEOGRAPH
+  {0xEBD3, 0x9086}, //11262 #CJK UNIFIED IDEOGRAPH
+  {0xEBD4, 0x90FA}, //11263 #CJK UNIFIED IDEOGRAPH
+  {0xEBD5, 0x9133}, //11264 #CJK UNIFIED IDEOGRAPH
+  {0xEBD6, 0x9135}, //11265 #CJK UNIFIED IDEOGRAPH
+  {0xEBD7, 0x9136}, //11266 #CJK UNIFIED IDEOGRAPH
+  {0xEBD8, 0x9193}, //11267 #CJK UNIFIED IDEOGRAPH
+  {0xEBD9, 0x9190}, //11268 #CJK UNIFIED IDEOGRAPH
+  {0xEBDA, 0x9191}, //11269 #CJK UNIFIED IDEOGRAPH
+  {0xEBDB, 0x918D}, //11270 #CJK UNIFIED IDEOGRAPH
+  {0xEBDC, 0x918F}, //11271 #CJK UNIFIED IDEOGRAPH
+  {0xEBDD, 0x9327}, //11272 #CJK UNIFIED IDEOGRAPH
+  {0xEBDE, 0x931E}, //11273 #CJK UNIFIED IDEOGRAPH
+  {0xEBDF, 0x9308}, //11274 #CJK UNIFIED IDEOGRAPH
+  {0xEBE0, 0x931F}, //11275 #CJK UNIFIED IDEOGRAPH
+  {0xEBE1, 0x9306}, //11276 #CJK UNIFIED IDEOGRAPH
+  {0xEBE2, 0x930F}, //11277 #CJK UNIFIED IDEOGRAPH
+  {0xEBE3, 0x937A}, //11278 #CJK UNIFIED IDEOGRAPH
+  {0xEBE4, 0x9338}, //11279 #CJK UNIFIED IDEOGRAPH
+  {0xEBE5, 0x933C}, //11280 #CJK UNIFIED IDEOGRAPH
+  {0xEBE6, 0x931B}, //11281 #CJK UNIFIED IDEOGRAPH
+  {0xEBE7, 0x9323}, //11282 #CJK UNIFIED IDEOGRAPH
+  {0xEBE8, 0x9312}, //11283 #CJK UNIFIED IDEOGRAPH
+  {0xEBE9, 0x9301}, //11284 #CJK UNIFIED IDEOGRAPH
+  {0xEBEA, 0x9346}, //11285 #CJK UNIFIED IDEOGRAPH
+  {0xEBEB, 0x932D}, //11286 #CJK UNIFIED IDEOGRAPH
+  {0xEBEC, 0x930E}, //11287 #CJK UNIFIED IDEOGRAPH
+  {0xEBED, 0x930D}, //11288 #CJK UNIFIED IDEOGRAPH
+  {0xEBEE, 0x92CB}, //11289 #CJK UNIFIED IDEOGRAPH
+  {0xEBEF, 0x931D}, //11290 #CJK UNIFIED IDEOGRAPH
+  {0xEBF0, 0x92FA}, //11291 #CJK UNIFIED IDEOGRAPH
+  {0xEBF1, 0x9325}, //11292 #CJK UNIFIED IDEOGRAPH
+  {0xEBF2, 0x9313}, //11293 #CJK UNIFIED IDEOGRAPH
+  {0xEBF3, 0x92F9}, //11294 #CJK UNIFIED IDEOGRAPH
+  {0xEBF4, 0x92F7}, //11295 #CJK UNIFIED IDEOGRAPH
+  {0xEBF5, 0x9334}, //11296 #CJK UNIFIED IDEOGRAPH
+  {0xEBF6, 0x9302}, //11297 #CJK UNIFIED IDEOGRAPH
+  {0xEBF7, 0x9324}, //11298 #CJK UNIFIED IDEOGRAPH
+  {0xEBF8, 0x92FF}, //11299 #CJK UNIFIED IDEOGRAPH
+  {0xEBF9, 0x9329}, //11300 #CJK UNIFIED IDEOGRAPH
+  {0xEBFA, 0x9339}, //11301 #CJK UNIFIED IDEOGRAPH
+  {0xEBFB, 0x9335}, //11302 #CJK UNIFIED IDEOGRAPH
+  {0xEBFC, 0x932A}, //11303 #CJK UNIFIED IDEOGRAPH
+  {0xEBFD, 0x9314}, //11304 #CJK UNIFIED IDEOGRAPH
+  {0xEBFE, 0x930C}, //11305 #CJK UNIFIED IDEOGRAPH
+  {0xEC40, 0x930B}, //11306 #CJK UNIFIED IDEOGRAPH
+  {0xEC41, 0x92FE}, //11307 #CJK UNIFIED IDEOGRAPH
+  {0xEC42, 0x9309}, //11308 #CJK UNIFIED IDEOGRAPH
+  {0xEC43, 0x9300}, //11309 #CJK UNIFIED IDEOGRAPH
+  {0xEC44, 0x92FB}, //11310 #CJK UNIFIED IDEOGRAPH
+  {0xEC45, 0x9316}, //11311 #CJK UNIFIED IDEOGRAPH
+  {0xEC46, 0x95BC}, //11312 #CJK UNIFIED IDEOGRAPH
+  {0xEC47, 0x95CD}, //11313 #CJK UNIFIED IDEOGRAPH
+  {0xEC48, 0x95BE}, //11314 #CJK UNIFIED IDEOGRAPH
+  {0xEC49, 0x95B9}, //11315 #CJK UNIFIED IDEOGRAPH
+  {0xEC4A, 0x95BA}, //11316 #CJK UNIFIED IDEOGRAPH
+  {0xEC4B, 0x95B6}, //11317 #CJK UNIFIED IDEOGRAPH
+  {0xEC4C, 0x95BF}, //11318 #CJK UNIFIED IDEOGRAPH
+  {0xEC4D, 0x95B5}, //11319 #CJK UNIFIED IDEOGRAPH
+  {0xEC4E, 0x95BD}, //11320 #CJK UNIFIED IDEOGRAPH
+  {0xEC4F, 0x96A9}, //11321 #CJK UNIFIED IDEOGRAPH
+  {0xEC50, 0x96D4}, //11322 #CJK UNIFIED IDEOGRAPH
+  {0xEC51, 0x970B}, //11323 #CJK UNIFIED IDEOGRAPH
+  {0xEC52, 0x9712}, //11324 #CJK UNIFIED IDEOGRAPH
+  {0xEC53, 0x9710}, //11325 #CJK UNIFIED IDEOGRAPH
+  {0xEC54, 0x9799}, //11326 #CJK UNIFIED IDEOGRAPH
+  {0xEC55, 0x9797}, //11327 #CJK UNIFIED IDEOGRAPH
+  {0xEC56, 0x9794}, //11328 #CJK UNIFIED IDEOGRAPH
+  {0xEC57, 0x97F0}, //11329 #CJK UNIFIED IDEOGRAPH
+  {0xEC58, 0x97F8}, //11330 #CJK UNIFIED IDEOGRAPH
+  {0xEC59, 0x9835}, //11331 #CJK UNIFIED IDEOGRAPH
+  {0xEC5A, 0x982F}, //11332 #CJK UNIFIED IDEOGRAPH
+  {0xEC5B, 0x9832}, //11333 #CJK UNIFIED IDEOGRAPH
+  {0xEC5C, 0x9924}, //11334 #CJK UNIFIED IDEOGRAPH
+  {0xEC5D, 0x991F}, //11335 #CJK UNIFIED IDEOGRAPH
+  {0xEC5E, 0x9927}, //11336 #CJK UNIFIED IDEOGRAPH
+  {0xEC5F, 0x9929}, //11337 #CJK UNIFIED IDEOGRAPH
+  {0xEC60, 0x999E}, //11338 #CJK UNIFIED IDEOGRAPH
+  {0xEC61, 0x99EE}, //11339 #CJK UNIFIED IDEOGRAPH
+  {0xEC62, 0x99EC}, //11340 #CJK UNIFIED IDEOGRAPH
+  {0xEC63, 0x99E5}, //11341 #CJK UNIFIED IDEOGRAPH
+  {0xEC64, 0x99E4}, //11342 #CJK UNIFIED IDEOGRAPH
+  {0xEC65, 0x99F0}, //11343 #CJK UNIFIED IDEOGRAPH
+  {0xEC66, 0x99E3}, //11344 #CJK UNIFIED IDEOGRAPH
+  {0xEC67, 0x99EA}, //11345 #CJK UNIFIED IDEOGRAPH
+  {0xEC68, 0x99E9}, //11346 #CJK UNIFIED IDEOGRAPH
+  {0xEC69, 0x99E7}, //11347 #CJK UNIFIED IDEOGRAPH
+  {0xEC6A, 0x9AB9}, //11348 #CJK UNIFIED IDEOGRAPH
+  {0xEC6B, 0x9ABF}, //11349 #CJK UNIFIED IDEOGRAPH
+  {0xEC6C, 0x9AB4}, //11350 #CJK UNIFIED IDEOGRAPH
+  {0xEC6D, 0x9ABB}, //11351 #CJK UNIFIED IDEOGRAPH
+  {0xEC6E, 0x9AF6}, //11352 #CJK UNIFIED IDEOGRAPH
+  {0xEC6F, 0x9AFA}, //11353 #CJK UNIFIED IDEOGRAPH
+  {0xEC70, 0x9AF9}, //11354 #CJK UNIFIED IDEOGRAPH
+  {0xEC71, 0x9AF7}, //11355 #CJK UNIFIED IDEOGRAPH
+  {0xEC72, 0x9B33}, //11356 #CJK UNIFIED IDEOGRAPH
+  {0xEC73, 0x9B80}, //11357 #CJK UNIFIED IDEOGRAPH
+  {0xEC74, 0x9B85}, //11358 #CJK UNIFIED IDEOGRAPH
+  {0xEC75, 0x9B87}, //11359 #CJK UNIFIED IDEOGRAPH
+  {0xEC76, 0x9B7C}, //11360 #CJK UNIFIED IDEOGRAPH
+  {0xEC77, 0x9B7E}, //11361 #CJK UNIFIED IDEOGRAPH
+  {0xEC78, 0x9B7B}, //11362 #CJK UNIFIED IDEOGRAPH
+  {0xEC79, 0x9B82}, //11363 #CJK UNIFIED IDEOGRAPH
+  {0xEC7A, 0x9B93}, //11364 #CJK UNIFIED IDEOGRAPH
+  {0xEC7B, 0x9B92}, //11365 #CJK UNIFIED IDEOGRAPH
+  {0xEC7C, 0x9B90}, //11366 #CJK UNIFIED IDEOGRAPH
+  {0xEC7D, 0x9B7A}, //11367 #CJK UNIFIED IDEOGRAPH
+  {0xEC7E, 0x9B95}, //11368 #CJK UNIFIED IDEOGRAPH
+  {0xECA1, 0x9B7D}, //11369 #CJK UNIFIED IDEOGRAPH
+  {0xECA2, 0x9B88}, //11370 #CJK UNIFIED IDEOGRAPH
+  {0xECA3, 0x9D25}, //11371 #CJK UNIFIED IDEOGRAPH
+  {0xECA4, 0x9D17}, //11372 #CJK UNIFIED IDEOGRAPH
+  {0xECA5, 0x9D20}, //11373 #CJK UNIFIED IDEOGRAPH
+  {0xECA6, 0x9D1E}, //11374 #CJK UNIFIED IDEOGRAPH
+  {0xECA7, 0x9D14}, //11375 #CJK UNIFIED IDEOGRAPH
+  {0xECA8, 0x9D29}, //11376 #CJK UNIFIED IDEOGRAPH
+  {0xECA9, 0x9D1D}, //11377 #CJK UNIFIED IDEOGRAPH
+  {0xECAA, 0x9D18}, //11378 #CJK UNIFIED IDEOGRAPH
+  {0xECAB, 0x9D22}, //11379 #CJK UNIFIED IDEOGRAPH
+  {0xECAC, 0x9D10}, //11380 #CJK UNIFIED IDEOGRAPH
+  {0xECAD, 0x9D19}, //11381 #CJK UNIFIED IDEOGRAPH
+  {0xECAE, 0x9D1F}, //11382 #CJK UNIFIED IDEOGRAPH
+  {0xECAF, 0x9E88}, //11383 #CJK UNIFIED IDEOGRAPH
+  {0xECB0, 0x9E86}, //11384 #CJK UNIFIED IDEOGRAPH
+  {0xECB1, 0x9E87}, //11385 #CJK UNIFIED IDEOGRAPH
+  {0xECB2, 0x9EAE}, //11386 #CJK UNIFIED IDEOGRAPH
+  {0xECB3, 0x9EAD}, //11387 #CJK UNIFIED IDEOGRAPH
+  {0xECB4, 0x9ED5}, //11388 #CJK UNIFIED IDEOGRAPH
+  {0xECB5, 0x9ED6}, //11389 #CJK UNIFIED IDEOGRAPH
+  {0xECB6, 0x9EFA}, //11390 #CJK UNIFIED IDEOGRAPH
+  {0xECB7, 0x9F12}, //11391 #CJK UNIFIED IDEOGRAPH
+  {0xECB8, 0x9F3D}, //11392 #CJK UNIFIED IDEOGRAPH
+  {0xECB9, 0x5126}, //11393 #CJK UNIFIED IDEOGRAPH
+  {0xECBA, 0x5125}, //11394 #CJK UNIFIED IDEOGRAPH
+  {0xECBB, 0x5122}, //11395 #CJK UNIFIED IDEOGRAPH
+  {0xECBC, 0x5124}, //11396 #CJK UNIFIED IDEOGRAPH
+  {0xECBD, 0x5120}, //11397 #CJK UNIFIED IDEOGRAPH
+  {0xECBE, 0x5129}, //11398 #CJK UNIFIED IDEOGRAPH
+  {0xECBF, 0x52F4}, //11399 #CJK UNIFIED IDEOGRAPH
+  {0xECC0, 0x5693}, //11400 #CJK UNIFIED IDEOGRAPH
+  {0xECC1, 0x568C}, //11401 #CJK UNIFIED IDEOGRAPH
+  {0xECC2, 0x568D}, //11402 #CJK UNIFIED IDEOGRAPH
+  {0xECC3, 0x5686}, //11403 #CJK UNIFIED IDEOGRAPH
+  {0xECC4, 0x5684}, //11404 #CJK UNIFIED IDEOGRAPH
+  {0xECC5, 0x5683}, //11405 #CJK UNIFIED IDEOGRAPH
+  {0xECC6, 0x567E}, //11406 #CJK UNIFIED IDEOGRAPH
+  {0xECC7, 0x5682}, //11407 #CJK UNIFIED IDEOGRAPH
+  {0xECC8, 0x567F}, //11408 #CJK UNIFIED IDEOGRAPH
+  {0xECC9, 0x5681}, //11409 #CJK UNIFIED IDEOGRAPH
+  {0xECCA, 0x58D6}, //11410 #CJK UNIFIED IDEOGRAPH
+  {0xECCB, 0x58D4}, //11411 #CJK UNIFIED IDEOGRAPH
+  {0xECCC, 0x58CF}, //11412 #CJK UNIFIED IDEOGRAPH
+  {0xECCD, 0x58D2}, //11413 #CJK UNIFIED IDEOGRAPH
+  {0xECCE, 0x5B2D}, //11414 #CJK UNIFIED IDEOGRAPH
+  {0xECCF, 0x5B25}, //11415 #CJK UNIFIED IDEOGRAPH
+  {0xECD0, 0x5B32}, //11416 #CJK UNIFIED IDEOGRAPH
+  {0xECD1, 0x5B23}, //11417 #CJK UNIFIED IDEOGRAPH
+  {0xECD2, 0x5B2C}, //11418 #CJK UNIFIED IDEOGRAPH
+  {0xECD3, 0x5B27}, //11419 #CJK UNIFIED IDEOGRAPH
+  {0xECD4, 0x5B26}, //11420 #CJK UNIFIED IDEOGRAPH
+  {0xECD5, 0x5B2F}, //11421 #CJK UNIFIED IDEOGRAPH
+  {0xECD6, 0x5B2E}, //11422 #CJK UNIFIED IDEOGRAPH
+  {0xECD7, 0x5B7B}, //11423 #CJK UNIFIED IDEOGRAPH
+  {0xECD8, 0x5BF1}, //11424 #CJK UNIFIED IDEOGRAPH
+  {0xECD9, 0x5BF2}, //11425 #CJK UNIFIED IDEOGRAPH
+  {0xECDA, 0x5DB7}, //11426 #CJK UNIFIED IDEOGRAPH
+  {0xECDB, 0x5E6C}, //11427 #CJK UNIFIED IDEOGRAPH
+  {0xECDC, 0x5E6A}, //11428 #CJK UNIFIED IDEOGRAPH
+  {0xECDD, 0x5FBE}, //11429 #CJK UNIFIED IDEOGRAPH
+  {0xECDE, 0x5FBB}, //11430 #CJK UNIFIED IDEOGRAPH
+  {0xECDF, 0x61C3}, //11431 #CJK UNIFIED IDEOGRAPH
+  {0xECE0, 0x61B5}, //11432 #CJK UNIFIED IDEOGRAPH
+  {0xECE1, 0x61BC}, //11433 #CJK UNIFIED IDEOGRAPH
+  {0xECE2, 0x61E7}, //11434 #CJK UNIFIED IDEOGRAPH
+  {0xECE3, 0x61E0}, //11435 #CJK UNIFIED IDEOGRAPH
+  {0xECE4, 0x61E5}, //11436 #CJK UNIFIED IDEOGRAPH
+  {0xECE5, 0x61E4}, //11437 #CJK UNIFIED IDEOGRAPH
+  {0xECE6, 0x61E8}, //11438 #CJK UNIFIED IDEOGRAPH
+  {0xECE7, 0x61DE}, //11439 #CJK UNIFIED IDEOGRAPH
+  {0xECE8, 0x64EF}, //11440 #CJK UNIFIED IDEOGRAPH
+  {0xECE9, 0x64E9}, //11441 #CJK UNIFIED IDEOGRAPH
+  {0xECEA, 0x64E3}, //11442 #CJK UNIFIED IDEOGRAPH
+  {0xECEB, 0x64EB}, //11443 #CJK UNIFIED IDEOGRAPH
+  {0xECEC, 0x64E4}, //11444 #CJK UNIFIED IDEOGRAPH
+  {0xECED, 0x64E8}, //11445 #CJK UNIFIED IDEOGRAPH
+  {0xECEE, 0x6581}, //11446 #CJK UNIFIED IDEOGRAPH
+  {0xECEF, 0x6580}, //11447 #CJK UNIFIED IDEOGRAPH
+  {0xECF0, 0x65B6}, //11448 #CJK UNIFIED IDEOGRAPH
+  {0xECF1, 0x65DA}, //11449 #CJK UNIFIED IDEOGRAPH
+  {0xECF2, 0x66D2}, //11450 #CJK UNIFIED IDEOGRAPH
+  {0xECF3, 0x6A8D}, //11451 #CJK UNIFIED IDEOGRAPH
+  {0xECF4, 0x6A96}, //11452 #CJK UNIFIED IDEOGRAPH
+  {0xECF5, 0x6A81}, //11453 #CJK UNIFIED IDEOGRAPH
+  {0xECF6, 0x6AA5}, //11454 #CJK UNIFIED IDEOGRAPH
+  {0xECF7, 0x6A89}, //11455 #CJK UNIFIED IDEOGRAPH
+  {0xECF8, 0x6A9F}, //11456 #CJK UNIFIED IDEOGRAPH
+  {0xECF9, 0x6A9B}, //11457 #CJK UNIFIED IDEOGRAPH
+  {0xECFA, 0x6AA1}, //11458 #CJK UNIFIED IDEOGRAPH
+  {0xECFB, 0x6A9E}, //11459 #CJK UNIFIED IDEOGRAPH
+  {0xECFC, 0x6A87}, //11460 #CJK UNIFIED IDEOGRAPH
+  {0xECFD, 0x6A93}, //11461 #CJK UNIFIED IDEOGRAPH
+  {0xECFE, 0x6A8E}, //11462 #CJK UNIFIED IDEOGRAPH
+  {0xED40, 0x6A95}, //11463 #CJK UNIFIED IDEOGRAPH
+  {0xED41, 0x6A83}, //11464 #CJK UNIFIED IDEOGRAPH
+  {0xED42, 0x6AA8}, //11465 #CJK UNIFIED IDEOGRAPH
+  {0xED43, 0x6AA4}, //11466 #CJK UNIFIED IDEOGRAPH
+  {0xED44, 0x6A91}, //11467 #CJK UNIFIED IDEOGRAPH
+  {0xED45, 0x6A7F}, //11468 #CJK UNIFIED IDEOGRAPH
+  {0xED46, 0x6AA6}, //11469 #CJK UNIFIED IDEOGRAPH
+  {0xED47, 0x6A9A}, //11470 #CJK UNIFIED IDEOGRAPH
+  {0xED48, 0x6A85}, //11471 #CJK UNIFIED IDEOGRAPH
+  {0xED49, 0x6A8C}, //11472 #CJK UNIFIED IDEOGRAPH
+  {0xED4A, 0x6A92}, //11473 #CJK UNIFIED IDEOGRAPH
+  {0xED4B, 0x6B5B}, //11474 #CJK UNIFIED IDEOGRAPH
+  {0xED4C, 0x6BAD}, //11475 #CJK UNIFIED IDEOGRAPH
+  {0xED4D, 0x6C09}, //11476 #CJK UNIFIED IDEOGRAPH
+  {0xED4E, 0x6FCC}, //11477 #CJK UNIFIED IDEOGRAPH
+  {0xED4F, 0x6FA9}, //11478 #CJK UNIFIED IDEOGRAPH
+  {0xED50, 0x6FF4}, //11479 #CJK UNIFIED IDEOGRAPH
+  {0xED51, 0x6FD4}, //11480 #CJK UNIFIED IDEOGRAPH
+  {0xED52, 0x6FE3}, //11481 #CJK UNIFIED IDEOGRAPH
+  {0xED53, 0x6FDC}, //11482 #CJK UNIFIED IDEOGRAPH
+  {0xED54, 0x6FED}, //11483 #CJK UNIFIED IDEOGRAPH
+  {0xED55, 0x6FE7}, //11484 #CJK UNIFIED IDEOGRAPH
+  {0xED56, 0x6FE6}, //11485 #CJK UNIFIED IDEOGRAPH
+  {0xED57, 0x6FDE}, //11486 #CJK UNIFIED IDEOGRAPH
+  {0xED58, 0x6FF2}, //11487 #CJK UNIFIED IDEOGRAPH
+  {0xED59, 0x6FDD}, //11488 #CJK UNIFIED IDEOGRAPH
+  {0xED5A, 0x6FE2}, //11489 #CJK UNIFIED IDEOGRAPH
+  {0xED5B, 0x6FE8}, //11490 #CJK UNIFIED IDEOGRAPH
+  {0xED5C, 0x71E1}, //11491 #CJK UNIFIED IDEOGRAPH
+  {0xED5D, 0x71F1}, //11492 #CJK UNIFIED IDEOGRAPH
+  {0xED5E, 0x71E8}, //11493 #CJK UNIFIED IDEOGRAPH
+  {0xED5F, 0x71F2}, //11494 #CJK UNIFIED IDEOGRAPH
+  {0xED60, 0x71E4}, //11495 #CJK UNIFIED IDEOGRAPH
+  {0xED61, 0x71F0}, //11496 #CJK UNIFIED IDEOGRAPH
+  {0xED62, 0x71E2}, //11497 #CJK UNIFIED IDEOGRAPH
+  {0xED63, 0x7373}, //11498 #CJK UNIFIED IDEOGRAPH
+  {0xED64, 0x736E}, //11499 #CJK UNIFIED IDEOGRAPH
+  {0xED65, 0x736F}, //11500 #CJK UNIFIED IDEOGRAPH
+  {0xED66, 0x7497}, //11501 #CJK UNIFIED IDEOGRAPH
+  {0xED67, 0x74B2}, //11502 #CJK UNIFIED IDEOGRAPH
+  {0xED68, 0x74AB}, //11503 #CJK UNIFIED IDEOGRAPH
+  {0xED69, 0x7490}, //11504 #CJK UNIFIED IDEOGRAPH
+  {0xED6A, 0x74AA}, //11505 #CJK UNIFIED IDEOGRAPH
+  {0xED6B, 0x74AD}, //11506 #CJK UNIFIED IDEOGRAPH
+  {0xED6C, 0x74B1}, //11507 #CJK UNIFIED IDEOGRAPH
+  {0xED6D, 0x74A5}, //11508 #CJK UNIFIED IDEOGRAPH
+  {0xED6E, 0x74AF}, //11509 #CJK UNIFIED IDEOGRAPH
+  {0xED6F, 0x7510}, //11510 #CJK UNIFIED IDEOGRAPH
+  {0xED70, 0x7511}, //11511 #CJK UNIFIED IDEOGRAPH
+  {0xED71, 0x7512}, //11512 #CJK UNIFIED IDEOGRAPH
+  {0xED72, 0x750F}, //11513 #CJK UNIFIED IDEOGRAPH
+  {0xED73, 0x7584}, //11514 #CJK UNIFIED IDEOGRAPH
+  {0xED74, 0x7643}, //11515 #CJK UNIFIED IDEOGRAPH
+  {0xED75, 0x7648}, //11516 #CJK UNIFIED IDEOGRAPH
+  {0xED76, 0x7649}, //11517 #CJK UNIFIED IDEOGRAPH
+  {0xED77, 0x7647}, //11518 #CJK UNIFIED IDEOGRAPH
+  {0xED78, 0x76A4}, //11519 #CJK UNIFIED IDEOGRAPH
+  {0xED79, 0x76E9}, //11520 #CJK UNIFIED IDEOGRAPH
+  {0xED7A, 0x77B5}, //11521 #CJK UNIFIED IDEOGRAPH
+  {0xED7B, 0x77AB}, //11522 #CJK UNIFIED IDEOGRAPH
+  {0xED7C, 0x77B2}, //11523 #CJK UNIFIED IDEOGRAPH
+  {0xED7D, 0x77B7}, //11524 #CJK UNIFIED IDEOGRAPH
+  {0xED7E, 0x77B6}, //11525 #CJK UNIFIED IDEOGRAPH
+  {0xEDA1, 0x77B4}, //11526 #CJK UNIFIED IDEOGRAPH
+  {0xEDA2, 0x77B1}, //11527 #CJK UNIFIED IDEOGRAPH
+  {0xEDA3, 0x77A8}, //11528 #CJK UNIFIED IDEOGRAPH
+  {0xEDA4, 0x77F0}, //11529 #CJK UNIFIED IDEOGRAPH
+  {0xEDA5, 0x78F3}, //11530 #CJK UNIFIED IDEOGRAPH
+  {0xEDA6, 0x78FD}, //11531 #CJK UNIFIED IDEOGRAPH
+  {0xEDA7, 0x7902}, //11532 #CJK UNIFIED IDEOGRAPH
+  {0xEDA8, 0x78FB}, //11533 #CJK UNIFIED IDEOGRAPH
+  {0xEDA9, 0x78FC}, //11534 #CJK UNIFIED IDEOGRAPH
+  {0xEDAA, 0x78F2}, //11535 #CJK UNIFIED IDEOGRAPH
+  {0xEDAB, 0x7905}, //11536 #CJK UNIFIED IDEOGRAPH
+  {0xEDAC, 0x78F9}, //11537 #CJK UNIFIED IDEOGRAPH
+  {0xEDAD, 0x78FE}, //11538 #CJK UNIFIED IDEOGRAPH
+  {0xEDAE, 0x7904}, //11539 #CJK UNIFIED IDEOGRAPH
+  {0xEDAF, 0x79AB}, //11540 #CJK UNIFIED IDEOGRAPH
+  {0xEDB0, 0x79A8}, //11541 #CJK UNIFIED IDEOGRAPH
+  {0xEDB1, 0x7A5C}, //11542 #CJK UNIFIED IDEOGRAPH
+  {0xEDB2, 0x7A5B}, //11543 #CJK UNIFIED IDEOGRAPH
+  {0xEDB3, 0x7A56}, //11544 #CJK UNIFIED IDEOGRAPH
+  {0xEDB4, 0x7A58}, //11545 #CJK UNIFIED IDEOGRAPH
+  {0xEDB5, 0x7A54}, //11546 #CJK UNIFIED IDEOGRAPH
+  {0xEDB6, 0x7A5A}, //11547 #CJK UNIFIED IDEOGRAPH
+  {0xEDB7, 0x7ABE}, //11548 #CJK UNIFIED IDEOGRAPH
+  {0xEDB8, 0x7AC0}, //11549 #CJK UNIFIED IDEOGRAPH
+  {0xEDB9, 0x7AC1}, //11550 #CJK UNIFIED IDEOGRAPH
+  {0xEDBA, 0x7C05}, //11551 #CJK UNIFIED IDEOGRAPH
+  {0xEDBB, 0x7C0F}, //11552 #CJK UNIFIED IDEOGRAPH
+  {0xEDBC, 0x7BF2}, //11553 #CJK UNIFIED IDEOGRAPH
+  {0xEDBD, 0x7C00}, //11554 #CJK UNIFIED IDEOGRAPH
+  {0xEDBE, 0x7BFF}, //11555 #CJK UNIFIED IDEOGRAPH
+  {0xEDBF, 0x7BFB}, //11556 #CJK UNIFIED IDEOGRAPH
+  {0xEDC0, 0x7C0E}, //11557 #CJK UNIFIED IDEOGRAPH
+  {0xEDC1, 0x7BF4}, //11558 #CJK UNIFIED IDEOGRAPH
+  {0xEDC2, 0x7C0B}, //11559 #CJK UNIFIED IDEOGRAPH
+  {0xEDC3, 0x7BF3}, //11560 #CJK UNIFIED IDEOGRAPH
+  {0xEDC4, 0x7C02}, //11561 #CJK UNIFIED IDEOGRAPH
+  {0xEDC5, 0x7C09}, //11562 #CJK UNIFIED IDEOGRAPH
+  {0xEDC6, 0x7C03}, //11563 #CJK UNIFIED IDEOGRAPH
+  {0xEDC7, 0x7C01}, //11564 #CJK UNIFIED IDEOGRAPH
+  {0xEDC8, 0x7BF8}, //11565 #CJK UNIFIED IDEOGRAPH
+  {0xEDC9, 0x7BFD}, //11566 #CJK UNIFIED IDEOGRAPH
+  {0xEDCA, 0x7C06}, //11567 #CJK UNIFIED IDEOGRAPH
+  {0xEDCB, 0x7BF0}, //11568 #CJK UNIFIED IDEOGRAPH
+  {0xEDCC, 0x7BF1}, //11569 #CJK UNIFIED IDEOGRAPH
+  {0xEDCD, 0x7C10}, //11570 #CJK UNIFIED IDEOGRAPH
+  {0xEDCE, 0x7C0A}, //11571 #CJK UNIFIED IDEOGRAPH
+  {0xEDCF, 0x7CE8}, //11572 #CJK UNIFIED IDEOGRAPH
+  {0xEDD0, 0x7E2D}, //11573 #CJK UNIFIED IDEOGRAPH
+  {0xEDD1, 0x7E3C}, //11574 #CJK UNIFIED IDEOGRAPH
+  {0xEDD2, 0x7E42}, //11575 #CJK UNIFIED IDEOGRAPH
+  {0xEDD3, 0x7E33}, //11576 #CJK UNIFIED IDEOGRAPH
+  {0xEDD4, 0x9848}, //11577 #CJK UNIFIED IDEOGRAPH
+  {0xEDD5, 0x7E38}, //11578 #CJK UNIFIED IDEOGRAPH
+  {0xEDD6, 0x7E2A}, //11579 #CJK UNIFIED IDEOGRAPH
+  {0xEDD7, 0x7E49}, //11580 #CJK UNIFIED IDEOGRAPH
+  {0xEDD8, 0x7E40}, //11581 #CJK UNIFIED IDEOGRAPH
+  {0xEDD9, 0x7E47}, //11582 #CJK UNIFIED IDEOGRAPH
+  {0xEDDA, 0x7E29}, //11583 #CJK UNIFIED IDEOGRAPH
+  {0xEDDB, 0x7E4C}, //11584 #CJK UNIFIED IDEOGRAPH
+  {0xEDDC, 0x7E30}, //11585 #CJK UNIFIED IDEOGRAPH
+  {0xEDDD, 0x7E3B}, //11586 #CJK UNIFIED IDEOGRAPH
+  {0xEDDE, 0x7E36}, //11587 #CJK UNIFIED IDEOGRAPH
+  {0xEDDF, 0x7E44}, //11588 #CJK UNIFIED IDEOGRAPH
+  {0xEDE0, 0x7E3A}, //11589 #CJK UNIFIED IDEOGRAPH
+  {0xEDE1, 0x7F45}, //11590 #CJK UNIFIED IDEOGRAPH
+  {0xEDE2, 0x7F7F}, //11591 #CJK UNIFIED IDEOGRAPH
+  {0xEDE3, 0x7F7E}, //11592 #CJK UNIFIED IDEOGRAPH
+  {0xEDE4, 0x7F7D}, //11593 #CJK UNIFIED IDEOGRAPH
+  {0xEDE5, 0x7FF4}, //11594 #CJK UNIFIED IDEOGRAPH
+  {0xEDE6, 0x7FF2}, //11595 #CJK UNIFIED IDEOGRAPH
+  {0xEDE7, 0x802C}, //11596 #CJK UNIFIED IDEOGRAPH
+  {0xEDE8, 0x81BB}, //11597 #CJK UNIFIED IDEOGRAPH
+  {0xEDE9, 0x81C4}, //11598 #CJK UNIFIED IDEOGRAPH
+  {0xEDEA, 0x81CC}, //11599 #CJK UNIFIED IDEOGRAPH
+  {0xEDEB, 0x81CA}, //11600 #CJK UNIFIED IDEOGRAPH
+  {0xEDEC, 0x81C5}, //11601 #CJK UNIFIED IDEOGRAPH
+  {0xEDED, 0x81C7}, //11602 #CJK UNIFIED IDEOGRAPH
+  {0xEDEE, 0x81BC}, //11603 #CJK UNIFIED IDEOGRAPH
+  {0xEDEF, 0x81E9}, //11604 #CJK UNIFIED IDEOGRAPH
+  {0xEDF0, 0x825B}, //11605 #CJK UNIFIED IDEOGRAPH
+  {0xEDF1, 0x825A}, //11606 #CJK UNIFIED IDEOGRAPH
+  {0xEDF2, 0x825C}, //11607 #CJK UNIFIED IDEOGRAPH
+  {0xEDF3, 0x8583}, //11608 #CJK UNIFIED IDEOGRAPH
+  {0xEDF4, 0x8580}, //11609 #CJK UNIFIED IDEOGRAPH
+  {0xEDF5, 0x858F}, //11610 #CJK UNIFIED IDEOGRAPH
+  {0xEDF6, 0x85A7}, //11611 #CJK UNIFIED IDEOGRAPH
+  {0xEDF7, 0x8595}, //11612 #CJK UNIFIED IDEOGRAPH
+  {0xEDF8, 0x85A0}, //11613 #CJK UNIFIED IDEOGRAPH
+  {0xEDF9, 0x858B}, //11614 #CJK UNIFIED IDEOGRAPH
+  {0xEDFA, 0x85A3}, //11615 #CJK UNIFIED IDEOGRAPH
+  {0xEDFB, 0x857B}, //11616 #CJK UNIFIED IDEOGRAPH
+  {0xEDFC, 0x85A4}, //11617 #CJK UNIFIED IDEOGRAPH
+  {0xEDFD, 0x859A}, //11618 #CJK UNIFIED IDEOGRAPH
+  {0xEDFE, 0x859E}, //11619 #CJK UNIFIED IDEOGRAPH
+  {0xEE40, 0x8577}, //11620 #CJK UNIFIED IDEOGRAPH
+  {0xEE41, 0x857C}, //11621 #CJK UNIFIED IDEOGRAPH
+  {0xEE42, 0x8589}, //11622 #CJK UNIFIED IDEOGRAPH
+  {0xEE43, 0x85A1}, //11623 #CJK UNIFIED IDEOGRAPH
+  {0xEE44, 0x857A}, //11624 #CJK UNIFIED IDEOGRAPH
+  {0xEE45, 0x8578}, //11625 #CJK UNIFIED IDEOGRAPH
+  {0xEE46, 0x8557}, //11626 #CJK UNIFIED IDEOGRAPH
+  {0xEE47, 0x858E}, //11627 #CJK UNIFIED IDEOGRAPH
+  {0xEE48, 0x8596}, //11628 #CJK UNIFIED IDEOGRAPH
+  {0xEE49, 0x8586}, //11629 #CJK UNIFIED IDEOGRAPH
+  {0xEE4A, 0x858D}, //11630 #CJK UNIFIED IDEOGRAPH
+  {0xEE4B, 0x8599}, //11631 #CJK UNIFIED IDEOGRAPH
+  {0xEE4C, 0x859D}, //11632 #CJK UNIFIED IDEOGRAPH
+  {0xEE4D, 0x8581}, //11633 #CJK UNIFIED IDEOGRAPH
+  {0xEE4E, 0x85A2}, //11634 #CJK UNIFIED IDEOGRAPH
+  {0xEE4F, 0x8582}, //11635 #CJK UNIFIED IDEOGRAPH
+  {0xEE50, 0x8588}, //11636 #CJK UNIFIED IDEOGRAPH
+  {0xEE51, 0x8585}, //11637 #CJK UNIFIED IDEOGRAPH
+  {0xEE52, 0x8579}, //11638 #CJK UNIFIED IDEOGRAPH
+  {0xEE53, 0x8576}, //11639 #CJK UNIFIED IDEOGRAPH
+  {0xEE54, 0x8598}, //11640 #CJK UNIFIED IDEOGRAPH
+  {0xEE55, 0x8590}, //11641 #CJK UNIFIED IDEOGRAPH
+  {0xEE56, 0x859F}, //11642 #CJK UNIFIED IDEOGRAPH
+  {0xEE57, 0x8668}, //11643 #CJK UNIFIED IDEOGRAPH
+  {0xEE58, 0x87BE}, //11644 #CJK UNIFIED IDEOGRAPH
+  {0xEE59, 0x87AA}, //11645 #CJK UNIFIED IDEOGRAPH
+  {0xEE5A, 0x87AD}, //11646 #CJK UNIFIED IDEOGRAPH
+  {0xEE5B, 0x87C5}, //11647 #CJK UNIFIED IDEOGRAPH
+  {0xEE5C, 0x87B0}, //11648 #CJK UNIFIED IDEOGRAPH
+  {0xEE5D, 0x87AC}, //11649 #CJK UNIFIED IDEOGRAPH
+  {0xEE5E, 0x87B9}, //11650 #CJK UNIFIED IDEOGRAPH
+  {0xEE5F, 0x87B5}, //11651 #CJK UNIFIED IDEOGRAPH
+  {0xEE60, 0x87BC}, //11652 #CJK UNIFIED IDEOGRAPH
+  {0xEE61, 0x87AE}, //11653 #CJK UNIFIED IDEOGRAPH
+  {0xEE62, 0x87C9}, //11654 #CJK UNIFIED IDEOGRAPH
+  {0xEE63, 0x87C3}, //11655 #CJK UNIFIED IDEOGRAPH
+  {0xEE64, 0x87C2}, //11656 #CJK UNIFIED IDEOGRAPH
+  {0xEE65, 0x87CC}, //11657 #CJK UNIFIED IDEOGRAPH
+  {0xEE66, 0x87B7}, //11658 #CJK UNIFIED IDEOGRAPH
+  {0xEE67, 0x87AF}, //11659 #CJK UNIFIED IDEOGRAPH
+  {0xEE68, 0x87C4}, //11660 #CJK UNIFIED IDEOGRAPH
+  {0xEE69, 0x87CA}, //11661 #CJK UNIFIED IDEOGRAPH
+  {0xEE6A, 0x87B4}, //11662 #CJK UNIFIED IDEOGRAPH
+  {0xEE6B, 0x87B6}, //11663 #CJK UNIFIED IDEOGRAPH
+  {0xEE6C, 0x87BF}, //11664 #CJK UNIFIED IDEOGRAPH
+  {0xEE6D, 0x87B8}, //11665 #CJK UNIFIED IDEOGRAPH
+  {0xEE6E, 0x87BD}, //11666 #CJK UNIFIED IDEOGRAPH
+  {0xEE6F, 0x87DE}, //11667 #CJK UNIFIED IDEOGRAPH
+  {0xEE70, 0x87B2}, //11668 #CJK UNIFIED IDEOGRAPH
+  {0xEE71, 0x8935}, //11669 #CJK UNIFIED IDEOGRAPH
+  {0xEE72, 0x8933}, //11670 #CJK UNIFIED IDEOGRAPH
+  {0xEE73, 0x893C}, //11671 #CJK UNIFIED IDEOGRAPH
+  {0xEE74, 0x893E}, //11672 #CJK UNIFIED IDEOGRAPH
+  {0xEE75, 0x8941}, //11673 #CJK UNIFIED IDEOGRAPH
+  {0xEE76, 0x8952}, //11674 #CJK UNIFIED IDEOGRAPH
+  {0xEE77, 0x8937}, //11675 #CJK UNIFIED IDEOGRAPH
+  {0xEE78, 0x8942}, //11676 #CJK UNIFIED IDEOGRAPH
+  {0xEE79, 0x89AD}, //11677 #CJK UNIFIED IDEOGRAPH
+  {0xEE7A, 0x89AF}, //11678 #CJK UNIFIED IDEOGRAPH
+  {0xEE7B, 0x89AE}, //11679 #CJK UNIFIED IDEOGRAPH
+  {0xEE7C, 0x89F2}, //11680 #CJK UNIFIED IDEOGRAPH
+  {0xEE7D, 0x89F3}, //11681 #CJK UNIFIED IDEOGRAPH
+  {0xEE7E, 0x8B1E}, //11682 #CJK UNIFIED IDEOGRAPH
+  {0xEEA1, 0x8B18}, //11683 #CJK UNIFIED IDEOGRAPH
+  {0xEEA2, 0x8B16}, //11684 #CJK UNIFIED IDEOGRAPH
+  {0xEEA3, 0x8B11}, //11685 #CJK UNIFIED IDEOGRAPH
+  {0xEEA4, 0x8B05}, //11686 #CJK UNIFIED IDEOGRAPH
+  {0xEEA5, 0x8B0B}, //11687 #CJK UNIFIED IDEOGRAPH
+  {0xEEA6, 0x8B22}, //11688 #CJK UNIFIED IDEOGRAPH
+  {0xEEA7, 0x8B0F}, //11689 #CJK UNIFIED IDEOGRAPH
+  {0xEEA8, 0x8B12}, //11690 #CJK UNIFIED IDEOGRAPH
+  {0xEEA9, 0x8B15}, //11691 #CJK UNIFIED IDEOGRAPH
+  {0xEEAA, 0x8B07}, //11692 #CJK UNIFIED IDEOGRAPH
+  {0xEEAB, 0x8B0D}, //11693 #CJK UNIFIED IDEOGRAPH
+  {0xEEAC, 0x8B08}, //11694 #CJK UNIFIED IDEOGRAPH
+  {0xEEAD, 0x8B06}, //11695 #CJK UNIFIED IDEOGRAPH
+  {0xEEAE, 0x8B1C}, //11696 #CJK UNIFIED IDEOGRAPH
+  {0xEEAF, 0x8B13}, //11697 #CJK UNIFIED IDEOGRAPH
+  {0xEEB0, 0x8B1A}, //11698 #CJK UNIFIED IDEOGRAPH
+  {0xEEB1, 0x8C4F}, //11699 #CJK UNIFIED IDEOGRAPH
+  {0xEEB2, 0x8C70}, //11700 #CJK UNIFIED IDEOGRAPH
+  {0xEEB3, 0x8C72}, //11701 #CJK UNIFIED IDEOGRAPH
+  {0xEEB4, 0x8C71}, //11702 #CJK UNIFIED IDEOGRAPH
+  {0xEEB5, 0x8C6F}, //11703 #CJK UNIFIED IDEOGRAPH
+  {0xEEB6, 0x8C95}, //11704 #CJK UNIFIED IDEOGRAPH
+  {0xEEB7, 0x8C94}, //11705 #CJK UNIFIED IDEOGRAPH
+  {0xEEB8, 0x8CF9}, //11706 #CJK UNIFIED IDEOGRAPH
+  {0xEEB9, 0x8D6F}, //11707 #CJK UNIFIED IDEOGRAPH
+  {0xEEBA, 0x8E4E}, //11708 #CJK UNIFIED IDEOGRAPH
+  {0xEEBB, 0x8E4D}, //11709 #CJK UNIFIED IDEOGRAPH
+  {0xEEBC, 0x8E53}, //11710 #CJK UNIFIED IDEOGRAPH
+  {0xEEBD, 0x8E50}, //11711 #CJK UNIFIED IDEOGRAPH
+  {0xEEBE, 0x8E4C}, //11712 #CJK UNIFIED IDEOGRAPH
+  {0xEEBF, 0x8E47}, //11713 #CJK UNIFIED IDEOGRAPH
+  {0xEEC0, 0x8F43}, //11714 #CJK UNIFIED IDEOGRAPH
+  {0xEEC1, 0x8F40}, //11715 #CJK UNIFIED IDEOGRAPH
+  {0xEEC2, 0x9085}, //11716 #CJK UNIFIED IDEOGRAPH
+  {0xEEC3, 0x907E}, //11717 #CJK UNIFIED IDEOGRAPH
+  {0xEEC4, 0x9138}, //11718 #CJK UNIFIED IDEOGRAPH
+  {0xEEC5, 0x919A}, //11719 #CJK UNIFIED IDEOGRAPH
+  {0xEEC6, 0x91A2}, //11720 #CJK UNIFIED IDEOGRAPH
+  {0xEEC7, 0x919B}, //11721 #CJK UNIFIED IDEOGRAPH
+  {0xEEC8, 0x9199}, //11722 #CJK UNIFIED IDEOGRAPH
+  {0xEEC9, 0x919F}, //11723 #CJK UNIFIED IDEOGRAPH
+  {0xEECA, 0x91A1}, //11724 #CJK UNIFIED IDEOGRAPH
+  {0xEECB, 0x919D}, //11725 #CJK UNIFIED IDEOGRAPH
+  {0xEECC, 0x91A0}, //11726 #CJK UNIFIED IDEOGRAPH
+  {0xEECD, 0x93A1}, //11727 #CJK UNIFIED IDEOGRAPH
+  {0xEECE, 0x9383}, //11728 #CJK UNIFIED IDEOGRAPH
+  {0xEECF, 0x93AF}, //11729 #CJK UNIFIED IDEOGRAPH
+  {0xEED0, 0x9364}, //11730 #CJK UNIFIED IDEOGRAPH
+  {0xEED1, 0x9356}, //11731 #CJK UNIFIED IDEOGRAPH
+  {0xEED2, 0x9347}, //11732 #CJK UNIFIED IDEOGRAPH
+  {0xEED3, 0x937C}, //11733 #CJK UNIFIED IDEOGRAPH
+  {0xEED4, 0x9358}, //11734 #CJK UNIFIED IDEOGRAPH
+  {0xEED5, 0x935C}, //11735 #CJK UNIFIED IDEOGRAPH
+  {0xEED6, 0x9376}, //11736 #CJK UNIFIED IDEOGRAPH
+  {0xEED7, 0x9349}, //11737 #CJK UNIFIED IDEOGRAPH
+  {0xEED8, 0x9350}, //11738 #CJK UNIFIED IDEOGRAPH
+  {0xEED9, 0x9351}, //11739 #CJK UNIFIED IDEOGRAPH
+  {0xEEDA, 0x9360}, //11740 #CJK UNIFIED IDEOGRAPH
+  {0xEEDB, 0x936D}, //11741 #CJK UNIFIED IDEOGRAPH
+  {0xEEDC, 0x938F}, //11742 #CJK UNIFIED IDEOGRAPH
+  {0xEEDD, 0x934C}, //11743 #CJK UNIFIED IDEOGRAPH
+  {0xEEDE, 0x936A}, //11744 #CJK UNIFIED IDEOGRAPH
+  {0xEEDF, 0x9379}, //11745 #CJK UNIFIED IDEOGRAPH
+  {0xEEE0, 0x9357}, //11746 #CJK UNIFIED IDEOGRAPH
+  {0xEEE1, 0x9355}, //11747 #CJK UNIFIED IDEOGRAPH
+  {0xEEE2, 0x9352}, //11748 #CJK UNIFIED IDEOGRAPH
+  {0xEEE3, 0x934F}, //11749 #CJK UNIFIED IDEOGRAPH
+  {0xEEE4, 0x9371}, //11750 #CJK UNIFIED IDEOGRAPH
+  {0xEEE5, 0x9377}, //11751 #CJK UNIFIED IDEOGRAPH
+  {0xEEE6, 0x937B}, //11752 #CJK UNIFIED IDEOGRAPH
+  {0xEEE7, 0x9361}, //11753 #CJK UNIFIED IDEOGRAPH
+  {0xEEE8, 0x935E}, //11754 #CJK UNIFIED IDEOGRAPH
+  {0xEEE9, 0x9363}, //11755 #CJK UNIFIED IDEOGRAPH
+  {0xEEEA, 0x9367}, //11756 #CJK UNIFIED IDEOGRAPH
+  {0xEEEB, 0x9380}, //11757 #CJK UNIFIED IDEOGRAPH
+  {0xEEEC, 0x934E}, //11758 #CJK UNIFIED IDEOGRAPH
+  {0xEEED, 0x9359}, //11759 #CJK UNIFIED IDEOGRAPH
+  {0xEEEE, 0x95C7}, //11760 #CJK UNIFIED IDEOGRAPH
+  {0xEEEF, 0x95C0}, //11761 #CJK UNIFIED IDEOGRAPH
+  {0xEEF0, 0x95C9}, //11762 #CJK UNIFIED IDEOGRAPH
+  {0xEEF1, 0x95C3}, //11763 #CJK UNIFIED IDEOGRAPH
+  {0xEEF2, 0x95C5}, //11764 #CJK UNIFIED IDEOGRAPH
+  {0xEEF3, 0x95B7}, //11765 #CJK UNIFIED IDEOGRAPH
+  {0xEEF4, 0x96AE}, //11766 #CJK UNIFIED IDEOGRAPH
+  {0xEEF5, 0x96B0}, //11767 #CJK UNIFIED IDEOGRAPH
+  {0xEEF6, 0x96AC}, //11768 #CJK UNIFIED IDEOGRAPH
+  {0xEEF7, 0x9720}, //11769 #CJK UNIFIED IDEOGRAPH
+  {0xEEF8, 0x971F}, //11770 #CJK UNIFIED IDEOGRAPH
+  {0xEEF9, 0x9718}, //11771 #CJK UNIFIED IDEOGRAPH
+  {0xEEFA, 0x971D}, //11772 #CJK UNIFIED IDEOGRAPH
+  {0xEEFB, 0x9719}, //11773 #CJK UNIFIED IDEOGRAPH
+  {0xEEFC, 0x979A}, //11774 #CJK UNIFIED IDEOGRAPH
+  {0xEEFD, 0x97A1}, //11775 #CJK UNIFIED IDEOGRAPH
+  {0xEEFE, 0x979C}, //11776 #CJK UNIFIED IDEOGRAPH
+  {0xEF40, 0x979E}, //11777 #CJK UNIFIED IDEOGRAPH
+  {0xEF41, 0x979D}, //11778 #CJK UNIFIED IDEOGRAPH
+  {0xEF42, 0x97D5}, //11779 #CJK UNIFIED IDEOGRAPH
+  {0xEF43, 0x97D4}, //11780 #CJK UNIFIED IDEOGRAPH
+  {0xEF44, 0x97F1}, //11781 #CJK UNIFIED IDEOGRAPH
+  {0xEF45, 0x9841}, //11782 #CJK UNIFIED IDEOGRAPH
+  {0xEF46, 0x9844}, //11783 #CJK UNIFIED IDEOGRAPH
+  {0xEF47, 0x984A}, //11784 #CJK UNIFIED IDEOGRAPH
+  {0xEF48, 0x9849}, //11785 #CJK UNIFIED IDEOGRAPH
+  {0xEF49, 0x9845}, //11786 #CJK UNIFIED IDEOGRAPH
+  {0xEF4A, 0x9843}, //11787 #CJK UNIFIED IDEOGRAPH
+  {0xEF4B, 0x9925}, //11788 #CJK UNIFIED IDEOGRAPH
+  {0xEF4C, 0x992B}, //11789 #CJK UNIFIED IDEOGRAPH
+  {0xEF4D, 0x992C}, //11790 #CJK UNIFIED IDEOGRAPH
+  {0xEF4E, 0x992A}, //11791 #CJK UNIFIED IDEOGRAPH
+  {0xEF4F, 0x9933}, //11792 #CJK UNIFIED IDEOGRAPH
+  {0xEF50, 0x9932}, //11793 #CJK UNIFIED IDEOGRAPH
+  {0xEF51, 0x992F}, //11794 #CJK UNIFIED IDEOGRAPH
+  {0xEF52, 0x992D}, //11795 #CJK UNIFIED IDEOGRAPH
+  {0xEF53, 0x9931}, //11796 #CJK UNIFIED IDEOGRAPH
+  {0xEF54, 0x9930}, //11797 #CJK UNIFIED IDEOGRAPH
+  {0xEF55, 0x9998}, //11798 #CJK UNIFIED IDEOGRAPH
+  {0xEF56, 0x99A3}, //11799 #CJK UNIFIED IDEOGRAPH
+  {0xEF57, 0x99A1}, //11800 #CJK UNIFIED IDEOGRAPH
+  {0xEF58, 0x9A02}, //11801 #CJK UNIFIED IDEOGRAPH
+  {0xEF59, 0x99FA}, //11802 #CJK UNIFIED IDEOGRAPH
+  {0xEF5A, 0x99F4}, //11803 #CJK UNIFIED IDEOGRAPH
+  {0xEF5B, 0x99F7}, //11804 #CJK UNIFIED IDEOGRAPH
+  {0xEF5C, 0x99F9}, //11805 #CJK UNIFIED IDEOGRAPH
+  {0xEF5D, 0x99F8}, //11806 #CJK UNIFIED IDEOGRAPH
+  {0xEF5E, 0x99F6}, //11807 #CJK UNIFIED IDEOGRAPH
+  {0xEF5F, 0x99FB}, //11808 #CJK UNIFIED IDEOGRAPH
+  {0xEF60, 0x99FD}, //11809 #CJK UNIFIED IDEOGRAPH
+  {0xEF61, 0x99FE}, //11810 #CJK UNIFIED IDEOGRAPH
+  {0xEF62, 0x99FC}, //11811 #CJK UNIFIED IDEOGRAPH
+  {0xEF63, 0x9A03}, //11812 #CJK UNIFIED IDEOGRAPH
+  {0xEF64, 0x9ABE}, //11813 #CJK UNIFIED IDEOGRAPH
+  {0xEF65, 0x9AFE}, //11814 #CJK UNIFIED IDEOGRAPH
+  {0xEF66, 0x9AFD}, //11815 #CJK UNIFIED IDEOGRAPH
+  {0xEF67, 0x9B01}, //11816 #CJK UNIFIED IDEOGRAPH
+  {0xEF68, 0x9AFC}, //11817 #CJK UNIFIED IDEOGRAPH
+  {0xEF69, 0x9B48}, //11818 #CJK UNIFIED IDEOGRAPH
+  {0xEF6A, 0x9B9A}, //11819 #CJK UNIFIED IDEOGRAPH
+  {0xEF6B, 0x9BA8}, //11820 #CJK UNIFIED IDEOGRAPH
+  {0xEF6C, 0x9B9E}, //11821 #CJK UNIFIED IDEOGRAPH
+  {0xEF6D, 0x9B9B}, //11822 #CJK UNIFIED IDEOGRAPH
+  {0xEF6E, 0x9BA6}, //11823 #CJK UNIFIED IDEOGRAPH
+  {0xEF6F, 0x9BA1}, //11824 #CJK UNIFIED IDEOGRAPH
+  {0xEF70, 0x9BA5}, //11825 #CJK UNIFIED IDEOGRAPH
+  {0xEF71, 0x9BA4}, //11826 #CJK UNIFIED IDEOGRAPH
+  {0xEF72, 0x9B86}, //11827 #CJK UNIFIED IDEOGRAPH
+  {0xEF73, 0x9BA2}, //11828 #CJK UNIFIED IDEOGRAPH
+  {0xEF74, 0x9BA0}, //11829 #CJK UNIFIED IDEOGRAPH
+  {0xEF75, 0x9BAF}, //11830 #CJK UNIFIED IDEOGRAPH
+  {0xEF76, 0x9D33}, //11831 #CJK UNIFIED IDEOGRAPH
+  {0xEF77, 0x9D41}, //11832 #CJK UNIFIED IDEOGRAPH
+  {0xEF78, 0x9D67}, //11833 #CJK UNIFIED IDEOGRAPH
+  {0xEF79, 0x9D36}, //11834 #CJK UNIFIED IDEOGRAPH
+  {0xEF7A, 0x9D2E}, //11835 #CJK UNIFIED IDEOGRAPH
+  {0xEF7B, 0x9D2F}, //11836 #CJK UNIFIED IDEOGRAPH
+  {0xEF7C, 0x9D31}, //11837 #CJK UNIFIED IDEOGRAPH
+  {0xEF7D, 0x9D38}, //11838 #CJK UNIFIED IDEOGRAPH
+  {0xEF7E, 0x9D30}, //11839 #CJK UNIFIED IDEOGRAPH
+  {0xEFA1, 0x9D45}, //11840 #CJK UNIFIED IDEOGRAPH
+  {0xEFA2, 0x9D42}, //11841 #CJK UNIFIED IDEOGRAPH
+  {0xEFA3, 0x9D43}, //11842 #CJK UNIFIED IDEOGRAPH
+  {0xEFA4, 0x9D3E}, //11843 #CJK UNIFIED IDEOGRAPH
+  {0xEFA5, 0x9D37}, //11844 #CJK UNIFIED IDEOGRAPH
+  {0xEFA6, 0x9D40}, //11845 #CJK UNIFIED IDEOGRAPH
+  {0xEFA7, 0x9D3D}, //11846 #CJK UNIFIED IDEOGRAPH
+  {0xEFA8, 0x7FF5}, //11847 #CJK UNIFIED IDEOGRAPH
+  {0xEFA9, 0x9D2D}, //11848 #CJK UNIFIED IDEOGRAPH
+  {0xEFAA, 0x9E8A}, //11849 #CJK UNIFIED IDEOGRAPH
+  {0xEFAB, 0x9E89}, //11850 #CJK UNIFIED IDEOGRAPH
+  {0xEFAC, 0x9E8D}, //11851 #CJK UNIFIED IDEOGRAPH
+  {0xEFAD, 0x9EB0}, //11852 #CJK UNIFIED IDEOGRAPH
+  {0xEFAE, 0x9EC8}, //11853 #CJK UNIFIED IDEOGRAPH
+  {0xEFAF, 0x9EDA}, //11854 #CJK UNIFIED IDEOGRAPH
+  {0xEFB0, 0x9EFB}, //11855 #CJK UNIFIED IDEOGRAPH
+  {0xEFB1, 0x9EFF}, //11856 #CJK UNIFIED IDEOGRAPH
+  {0xEFB2, 0x9F24}, //11857 #CJK UNIFIED IDEOGRAPH
+  {0xEFB3, 0x9F23}, //11858 #CJK UNIFIED IDEOGRAPH
+  {0xEFB4, 0x9F22}, //11859 #CJK UNIFIED IDEOGRAPH
+  {0xEFB5, 0x9F54}, //11860 #CJK UNIFIED IDEOGRAPH
+  {0xEFB6, 0x9FA0}, //11861 #CJK UNIFIED IDEOGRAPH
+  {0xEFB7, 0x5131}, //11862 #CJK UNIFIED IDEOGRAPH
+  {0xEFB8, 0x512D}, //11863 #CJK UNIFIED IDEOGRAPH
+  {0xEFB9, 0x512E}, //11864 #CJK UNIFIED IDEOGRAPH
+  {0xEFBA, 0x5698}, //11865 #CJK UNIFIED IDEOGRAPH
+  {0xEFBB, 0x569C}, //11866 #CJK UNIFIED IDEOGRAPH
+  {0xEFBC, 0x5697}, //11867 #CJK UNIFIED IDEOGRAPH
+  {0xEFBD, 0x569A}, //11868 #CJK UNIFIED IDEOGRAPH
+  {0xEFBE, 0x569D}, //11869 #CJK UNIFIED IDEOGRAPH
+  {0xEFBF, 0x5699}, //11870 #CJK UNIFIED IDEOGRAPH
+  {0xEFC0, 0x5970}, //11871 #CJK UNIFIED IDEOGRAPH
+  {0xEFC1, 0x5B3C}, //11872 #CJK UNIFIED IDEOGRAPH
+  {0xEFC2, 0x5C69}, //11873 #CJK UNIFIED IDEOGRAPH
+  {0xEFC3, 0x5C6A}, //11874 #CJK UNIFIED IDEOGRAPH
+  {0xEFC4, 0x5DC0}, //11875 #CJK UNIFIED IDEOGRAPH
+  {0xEFC5, 0x5E6D}, //11876 #CJK UNIFIED IDEOGRAPH
+  {0xEFC6, 0x5E6E}, //11877 #CJK UNIFIED IDEOGRAPH
+  {0xEFC7, 0x61D8}, //11878 #CJK UNIFIED IDEOGRAPH
+  {0xEFC8, 0x61DF}, //11879 #CJK UNIFIED IDEOGRAPH
+  {0xEFC9, 0x61ED}, //11880 #CJK UNIFIED IDEOGRAPH
+  {0xEFCA, 0x61EE}, //11881 #CJK UNIFIED IDEOGRAPH
+  {0xEFCB, 0x61F1}, //11882 #CJK UNIFIED IDEOGRAPH
+  {0xEFCC, 0x61EA}, //11883 #CJK UNIFIED IDEOGRAPH
+  {0xEFCD, 0x61F0}, //11884 #CJK UNIFIED IDEOGRAPH
+  {0xEFCE, 0x61EB}, //11885 #CJK UNIFIED IDEOGRAPH
+  {0xEFCF, 0x61D6}, //11886 #CJK UNIFIED IDEOGRAPH
+  {0xEFD0, 0x61E9}, //11887 #CJK UNIFIED IDEOGRAPH
+  {0xEFD1, 0x64FF}, //11888 #CJK UNIFIED IDEOGRAPH
+  {0xEFD2, 0x6504}, //11889 #CJK UNIFIED IDEOGRAPH
+  {0xEFD3, 0x64FD}, //11890 #CJK UNIFIED IDEOGRAPH
+  {0xEFD4, 0x64F8}, //11891 #CJK UNIFIED IDEOGRAPH
+  {0xEFD5, 0x6501}, //11892 #CJK UNIFIED IDEOGRAPH
+  {0xEFD6, 0x6503}, //11893 #CJK UNIFIED IDEOGRAPH
+  {0xEFD7, 0x64FC}, //11894 #CJK UNIFIED IDEOGRAPH
+  {0xEFD8, 0x6594}, //11895 #CJK UNIFIED IDEOGRAPH
+  {0xEFD9, 0x65DB}, //11896 #CJK UNIFIED IDEOGRAPH
+  {0xEFDA, 0x66DA}, //11897 #CJK UNIFIED IDEOGRAPH
+  {0xEFDB, 0x66DB}, //11898 #CJK UNIFIED IDEOGRAPH
+  {0xEFDC, 0x66D8}, //11899 #CJK UNIFIED IDEOGRAPH
+  {0xEFDD, 0x6AC5}, //11900 #CJK UNIFIED IDEOGRAPH
+  {0xEFDE, 0x6AB9}, //11901 #CJK UNIFIED IDEOGRAPH
+  {0xEFDF, 0x6ABD}, //11902 #CJK UNIFIED IDEOGRAPH
+  {0xEFE0, 0x6AE1}, //11903 #CJK UNIFIED IDEOGRAPH
+  {0xEFE1, 0x6AC6}, //11904 #CJK UNIFIED IDEOGRAPH
+  {0xEFE2, 0x6ABA}, //11905 #CJK UNIFIED IDEOGRAPH
+  {0xEFE3, 0x6AB6}, //11906 #CJK UNIFIED IDEOGRAPH
+  {0xEFE4, 0x6AB7}, //11907 #CJK UNIFIED IDEOGRAPH
+  {0xEFE5, 0x6AC7}, //11908 #CJK UNIFIED IDEOGRAPH
+  {0xEFE6, 0x6AB4}, //11909 #CJK UNIFIED IDEOGRAPH
+  {0xEFE7, 0x6AAD}, //11910 #CJK UNIFIED IDEOGRAPH
+  {0xEFE8, 0x6B5E}, //11911 #CJK UNIFIED IDEOGRAPH
+  {0xEFE9, 0x6BC9}, //11912 #CJK UNIFIED IDEOGRAPH
+  {0xEFEA, 0x6C0B}, //11913 #CJK UNIFIED IDEOGRAPH
+  {0xEFEB, 0x7007}, //11914 #CJK UNIFIED IDEOGRAPH
+  {0xEFEC, 0x700C}, //11915 #CJK UNIFIED IDEOGRAPH
+  {0xEFED, 0x700D}, //11916 #CJK UNIFIED IDEOGRAPH
+  {0xEFEE, 0x7001}, //11917 #CJK UNIFIED IDEOGRAPH
+  {0xEFEF, 0x7005}, //11918 #CJK UNIFIED IDEOGRAPH
+  {0xEFF0, 0x7014}, //11919 #CJK UNIFIED IDEOGRAPH
+  {0xEFF1, 0x700E}, //11920 #CJK UNIFIED IDEOGRAPH
+  {0xEFF2, 0x6FFF}, //11921 #CJK UNIFIED IDEOGRAPH
+  {0xEFF3, 0x7000}, //11922 #CJK UNIFIED IDEOGRAPH
+  {0xEFF4, 0x6FFB}, //11923 #CJK UNIFIED IDEOGRAPH
+  {0xEFF5, 0x7026}, //11924 #CJK UNIFIED IDEOGRAPH
+  {0xEFF6, 0x6FFC}, //11925 #CJK UNIFIED IDEOGRAPH
+  {0xEFF7, 0x6FF7}, //11926 #CJK UNIFIED IDEOGRAPH
+  {0xEFF8, 0x700A}, //11927 #CJK UNIFIED IDEOGRAPH
+  {0xEFF9, 0x7201}, //11928 #CJK UNIFIED IDEOGRAPH
+  {0xEFFA, 0x71FF}, //11929 #CJK UNIFIED IDEOGRAPH
+  {0xEFFB, 0x71F9}, //11930 #CJK UNIFIED IDEOGRAPH
+  {0xEFFC, 0x7203}, //11931 #CJK UNIFIED IDEOGRAPH
+  {0xEFFD, 0x71FD}, //11932 #CJK UNIFIED IDEOGRAPH
+  {0xEFFE, 0x7376}, //11933 #CJK UNIFIED IDEOGRAPH
+  {0xF040, 0x74B8}, //11934 #CJK UNIFIED IDEOGRAPH
+  {0xF041, 0x74C0}, //11935 #CJK UNIFIED IDEOGRAPH
+  {0xF042, 0x74B5}, //11936 #CJK UNIFIED IDEOGRAPH
+  {0xF043, 0x74C1}, //11937 #CJK UNIFIED IDEOGRAPH
+  {0xF044, 0x74BE}, //11938 #CJK UNIFIED IDEOGRAPH
+  {0xF045, 0x74B6}, //11939 #CJK UNIFIED IDEOGRAPH
+  {0xF046, 0x74BB}, //11940 #CJK UNIFIED IDEOGRAPH
+  {0xF047, 0x74C2}, //11941 #CJK UNIFIED IDEOGRAPH
+  {0xF048, 0x7514}, //11942 #CJK UNIFIED IDEOGRAPH
+  {0xF049, 0x7513}, //11943 #CJK UNIFIED IDEOGRAPH
+  {0xF04A, 0x765C}, //11944 #CJK UNIFIED IDEOGRAPH
+  {0xF04B, 0x7664}, //11945 #CJK UNIFIED IDEOGRAPH
+  {0xF04C, 0x7659}, //11946 #CJK UNIFIED IDEOGRAPH
+  {0xF04D, 0x7650}, //11947 #CJK UNIFIED IDEOGRAPH
+  {0xF04E, 0x7653}, //11948 #CJK UNIFIED IDEOGRAPH
+  {0xF04F, 0x7657}, //11949 #CJK UNIFIED IDEOGRAPH
+  {0xF050, 0x765A}, //11950 #CJK UNIFIED IDEOGRAPH
+  {0xF051, 0x76A6}, //11951 #CJK UNIFIED IDEOGRAPH
+  {0xF052, 0x76BD}, //11952 #CJK UNIFIED IDEOGRAPH
+  {0xF053, 0x76EC}, //11953 #CJK UNIFIED IDEOGRAPH
+  {0xF054, 0x77C2}, //11954 #CJK UNIFIED IDEOGRAPH
+  {0xF055, 0x77BA}, //11955 #CJK UNIFIED IDEOGRAPH
+  {0xF056, 0x78FF}, //11956 #CJK UNIFIED IDEOGRAPH
+  {0xF057, 0x790C}, //11957 #CJK UNIFIED IDEOGRAPH
+  {0xF058, 0x7913}, //11958 #CJK UNIFIED IDEOGRAPH
+  {0xF059, 0x7914}, //11959 #CJK UNIFIED IDEOGRAPH
+  {0xF05A, 0x7909}, //11960 #CJK UNIFIED IDEOGRAPH
+  {0xF05B, 0x7910}, //11961 #CJK UNIFIED IDEOGRAPH
+  {0xF05C, 0x7912}, //11962 #CJK UNIFIED IDEOGRAPH
+  {0xF05D, 0x7911}, //11963 #CJK UNIFIED IDEOGRAPH
+  {0xF05E, 0x79AD}, //11964 #CJK UNIFIED IDEOGRAPH
+  {0xF05F, 0x79AC}, //11965 #CJK UNIFIED IDEOGRAPH
+  {0xF060, 0x7A5F}, //11966 #CJK UNIFIED IDEOGRAPH
+  {0xF061, 0x7C1C}, //11967 #CJK UNIFIED IDEOGRAPH
+  {0xF062, 0x7C29}, //11968 #CJK UNIFIED IDEOGRAPH
+  {0xF063, 0x7C19}, //11969 #CJK UNIFIED IDEOGRAPH
+  {0xF064, 0x7C20}, //11970 #CJK UNIFIED IDEOGRAPH
+  {0xF065, 0x7C1F}, //11971 #CJK UNIFIED IDEOGRAPH
+  {0xF066, 0x7C2D}, //11972 #CJK UNIFIED IDEOGRAPH
+  {0xF067, 0x7C1D}, //11973 #CJK UNIFIED IDEOGRAPH
+  {0xF068, 0x7C26}, //11974 #CJK UNIFIED IDEOGRAPH
+  {0xF069, 0x7C28}, //11975 #CJK UNIFIED IDEOGRAPH
+  {0xF06A, 0x7C22}, //11976 #CJK UNIFIED IDEOGRAPH
+  {0xF06B, 0x7C25}, //11977 #CJK UNIFIED IDEOGRAPH
+  {0xF06C, 0x7C30}, //11978 #CJK UNIFIED IDEOGRAPH
+  {0xF06D, 0x7E5C}, //11979 #CJK UNIFIED IDEOGRAPH
+  {0xF06E, 0x7E50}, //11980 #CJK UNIFIED IDEOGRAPH
+  {0xF06F, 0x7E56}, //11981 #CJK UNIFIED IDEOGRAPH
+  {0xF070, 0x7E63}, //11982 #CJK UNIFIED IDEOGRAPH
+  {0xF071, 0x7E58}, //11983 #CJK UNIFIED IDEOGRAPH
+  {0xF072, 0x7E62}, //11984 #CJK UNIFIED IDEOGRAPH
+  {0xF073, 0x7E5F}, //11985 #CJK UNIFIED IDEOGRAPH
+  {0xF074, 0x7E51}, //11986 #CJK UNIFIED IDEOGRAPH
+  {0xF075, 0x7E60}, //11987 #CJK UNIFIED IDEOGRAPH
+  {0xF076, 0x7E57}, //11988 #CJK UNIFIED IDEOGRAPH
+  {0xF077, 0x7E53}, //11989 #CJK UNIFIED IDEOGRAPH
+  {0xF078, 0x7FB5}, //11990 #CJK UNIFIED IDEOGRAPH
+  {0xF079, 0x7FB3}, //11991 #CJK UNIFIED IDEOGRAPH
+  {0xF07A, 0x7FF7}, //11992 #CJK UNIFIED IDEOGRAPH
+  {0xF07B, 0x7FF8}, //11993 #CJK UNIFIED IDEOGRAPH
+  {0xF07C, 0x8075}, //11994 #CJK UNIFIED IDEOGRAPH
+  {0xF07D, 0x81D1}, //11995 #CJK UNIFIED IDEOGRAPH
+  {0xF07E, 0x81D2}, //11996 #CJK UNIFIED IDEOGRAPH
+  {0xF0A1, 0x81D0}, //11997 #CJK UNIFIED IDEOGRAPH
+  {0xF0A2, 0x825F}, //11998 #CJK UNIFIED IDEOGRAPH
+  {0xF0A3, 0x825E}, //11999 #CJK UNIFIED IDEOGRAPH
+  {0xF0A4, 0x85B4}, //12000 #CJK UNIFIED IDEOGRAPH
+  {0xF0A5, 0x85C6}, //12001 #CJK UNIFIED IDEOGRAPH
+  {0xF0A6, 0x85C0}, //12002 #CJK UNIFIED IDEOGRAPH
+  {0xF0A7, 0x85C3}, //12003 #CJK UNIFIED IDEOGRAPH
+  {0xF0A8, 0x85C2}, //12004 #CJK UNIFIED IDEOGRAPH
+  {0xF0A9, 0x85B3}, //12005 #CJK UNIFIED IDEOGRAPH
+  {0xF0AA, 0x85B5}, //12006 #CJK UNIFIED IDEOGRAPH
+  {0xF0AB, 0x85BD}, //12007 #CJK UNIFIED IDEOGRAPH
+  {0xF0AC, 0x85C7}, //12008 #CJK UNIFIED IDEOGRAPH
+  {0xF0AD, 0x85C4}, //12009 #CJK UNIFIED IDEOGRAPH
+  {0xF0AE, 0x85BF}, //12010 #CJK UNIFIED IDEOGRAPH
+  {0xF0AF, 0x85CB}, //12011 #CJK UNIFIED IDEOGRAPH
+  {0xF0B0, 0x85CE}, //12012 #CJK UNIFIED IDEOGRAPH
+  {0xF0B1, 0x85C8}, //12013 #CJK UNIFIED IDEOGRAPH
+  {0xF0B2, 0x85C5}, //12014 #CJK UNIFIED IDEOGRAPH
+  {0xF0B3, 0x85B1}, //12015 #CJK UNIFIED IDEOGRAPH
+  {0xF0B4, 0x85B6}, //12016 #CJK UNIFIED IDEOGRAPH
+  {0xF0B5, 0x85D2}, //12017 #CJK UNIFIED IDEOGRAPH
+  {0xF0B6, 0x8624}, //12018 #CJK UNIFIED IDEOGRAPH
+  {0xF0B7, 0x85B8}, //12019 #CJK UNIFIED IDEOGRAPH
+  {0xF0B8, 0x85B7}, //12020 #CJK UNIFIED IDEOGRAPH
+  {0xF0B9, 0x85BE}, //12021 #CJK UNIFIED IDEOGRAPH
+  {0xF0BA, 0x8669}, //12022 #CJK UNIFIED IDEOGRAPH
+  {0xF0BB, 0x87E7}, //12023 #CJK UNIFIED IDEOGRAPH
+  {0xF0BC, 0x87E6}, //12024 #CJK UNIFIED IDEOGRAPH
+  {0xF0BD, 0x87E2}, //12025 #CJK UNIFIED IDEOGRAPH
+  {0xF0BE, 0x87DB}, //12026 #CJK UNIFIED IDEOGRAPH
+  {0xF0BF, 0x87EB}, //12027 #CJK UNIFIED IDEOGRAPH
+  {0xF0C0, 0x87EA}, //12028 #CJK UNIFIED IDEOGRAPH
+  {0xF0C1, 0x87E5}, //12029 #CJK UNIFIED IDEOGRAPH
+  {0xF0C2, 0x87DF}, //12030 #CJK UNIFIED IDEOGRAPH
+  {0xF0C3, 0x87F3}, //12031 #CJK UNIFIED IDEOGRAPH
+  {0xF0C4, 0x87E4}, //12032 #CJK UNIFIED IDEOGRAPH
+  {0xF0C5, 0x87D4}, //12033 #CJK UNIFIED IDEOGRAPH
+  {0xF0C6, 0x87DC}, //12034 #CJK UNIFIED IDEOGRAPH
+  {0xF0C7, 0x87D3}, //12035 #CJK UNIFIED IDEOGRAPH
+  {0xF0C8, 0x87ED}, //12036 #CJK UNIFIED IDEOGRAPH
+  {0xF0C9, 0x87D8}, //12037 #CJK UNIFIED IDEOGRAPH
+  {0xF0CA, 0x87E3}, //12038 #CJK UNIFIED IDEOGRAPH
+  {0xF0CB, 0x87A4}, //12039 #CJK UNIFIED IDEOGRAPH
+  {0xF0CC, 0x87D7}, //12040 #CJK UNIFIED IDEOGRAPH
+  {0xF0CD, 0x87D9}, //12041 #CJK UNIFIED IDEOGRAPH
+  {0xF0CE, 0x8801}, //12042 #CJK UNIFIED IDEOGRAPH
+  {0xF0CF, 0x87F4}, //12043 #CJK UNIFIED IDEOGRAPH
+  {0xF0D0, 0x87E8}, //12044 #CJK UNIFIED IDEOGRAPH
+  {0xF0D1, 0x87DD}, //12045 #CJK UNIFIED IDEOGRAPH
+  {0xF0D2, 0x8953}, //12046 #CJK UNIFIED IDEOGRAPH
+  {0xF0D3, 0x894B}, //12047 #CJK UNIFIED IDEOGRAPH
+  {0xF0D4, 0x894F}, //12048 #CJK UNIFIED IDEOGRAPH
+  {0xF0D5, 0x894C}, //12049 #CJK UNIFIED IDEOGRAPH
+  {0xF0D6, 0x8946}, //12050 #CJK UNIFIED IDEOGRAPH
+  {0xF0D7, 0x8950}, //12051 #CJK UNIFIED IDEOGRAPH
+  {0xF0D8, 0x8951}, //12052 #CJK UNIFIED IDEOGRAPH
+  {0xF0D9, 0x8949}, //12053 #CJK UNIFIED IDEOGRAPH
+  {0xF0DA, 0x8B2A}, //12054 #CJK UNIFIED IDEOGRAPH
+  {0xF0DB, 0x8B27}, //12055 #CJK UNIFIED IDEOGRAPH
+  {0xF0DC, 0x8B23}, //12056 #CJK UNIFIED IDEOGRAPH
+  {0xF0DD, 0x8B33}, //12057 #CJK UNIFIED IDEOGRAPH
+  {0xF0DE, 0x8B30}, //12058 #CJK UNIFIED IDEOGRAPH
+  {0xF0DF, 0x8B35}, //12059 #CJK UNIFIED IDEOGRAPH
+  {0xF0E0, 0x8B47}, //12060 #CJK UNIFIED IDEOGRAPH
+  {0xF0E1, 0x8B2F}, //12061 #CJK UNIFIED IDEOGRAPH
+  {0xF0E2, 0x8B3C}, //12062 #CJK UNIFIED IDEOGRAPH
+  {0xF0E3, 0x8B3E}, //12063 #CJK UNIFIED IDEOGRAPH
+  {0xF0E4, 0x8B31}, //12064 #CJK UNIFIED IDEOGRAPH
+  {0xF0E5, 0x8B25}, //12065 #CJK UNIFIED IDEOGRAPH
+  {0xF0E6, 0x8B37}, //12066 #CJK UNIFIED IDEOGRAPH
+  {0xF0E7, 0x8B26}, //12067 #CJK UNIFIED IDEOGRAPH
+  {0xF0E8, 0x8B36}, //12068 #CJK UNIFIED IDEOGRAPH
+  {0xF0E9, 0x8B2E}, //12069 #CJK UNIFIED IDEOGRAPH
+  {0xF0EA, 0x8B24}, //12070 #CJK UNIFIED IDEOGRAPH
+  {0xF0EB, 0x8B3B}, //12071 #CJK UNIFIED IDEOGRAPH
+  {0xF0EC, 0x8B3D}, //12072 #CJK UNIFIED IDEOGRAPH
+  {0xF0ED, 0x8B3A}, //12073 #CJK UNIFIED IDEOGRAPH
+  {0xF0EE, 0x8C42}, //12074 #CJK UNIFIED IDEOGRAPH
+  {0xF0EF, 0x8C75}, //12075 #CJK UNIFIED IDEOGRAPH
+  {0xF0F0, 0x8C99}, //12076 #CJK UNIFIED IDEOGRAPH
+  {0xF0F1, 0x8C98}, //12077 #CJK UNIFIED IDEOGRAPH
+  {0xF0F2, 0x8C97}, //12078 #CJK UNIFIED IDEOGRAPH
+  {0xF0F3, 0x8CFE}, //12079 #CJK UNIFIED IDEOGRAPH
+  {0xF0F4, 0x8D04}, //12080 #CJK UNIFIED IDEOGRAPH
+  {0xF0F5, 0x8D02}, //12081 #CJK UNIFIED IDEOGRAPH
+  {0xF0F6, 0x8D00}, //12082 #CJK UNIFIED IDEOGRAPH
+  {0xF0F7, 0x8E5C}, //12083 #CJK UNIFIED IDEOGRAPH
+  {0xF0F8, 0x8E62}, //12084 #CJK UNIFIED IDEOGRAPH
+  {0xF0F9, 0x8E60}, //12085 #CJK UNIFIED IDEOGRAPH
+  {0xF0FA, 0x8E57}, //12086 #CJK UNIFIED IDEOGRAPH
+  {0xF0FB, 0x8E56}, //12087 #CJK UNIFIED IDEOGRAPH
+  {0xF0FC, 0x8E5E}, //12088 #CJK UNIFIED IDEOGRAPH
+  {0xF0FD, 0x8E65}, //12089 #CJK UNIFIED IDEOGRAPH
+  {0xF0FE, 0x8E67}, //12090 #CJK UNIFIED IDEOGRAPH
+  {0xF140, 0x8E5B}, //12091 #CJK UNIFIED IDEOGRAPH
+  {0xF141, 0x8E5A}, //12092 #CJK UNIFIED IDEOGRAPH
+  {0xF142, 0x8E61}, //12093 #CJK UNIFIED IDEOGRAPH
+  {0xF143, 0x8E5D}, //12094 #CJK UNIFIED IDEOGRAPH
+  {0xF144, 0x8E69}, //12095 #CJK UNIFIED IDEOGRAPH
+  {0xF145, 0x8E54}, //12096 #CJK UNIFIED IDEOGRAPH
+  {0xF146, 0x8F46}, //12097 #CJK UNIFIED IDEOGRAPH
+  {0xF147, 0x8F47}, //12098 #CJK UNIFIED IDEOGRAPH
+  {0xF148, 0x8F48}, //12099 #CJK UNIFIED IDEOGRAPH
+  {0xF149, 0x8F4B}, //12100 #CJK UNIFIED IDEOGRAPH
+  {0xF14A, 0x9128}, //12101 #CJK UNIFIED IDEOGRAPH
+  {0xF14B, 0x913A}, //12102 #CJK UNIFIED IDEOGRAPH
+  {0xF14C, 0x913B}, //12103 #CJK UNIFIED IDEOGRAPH
+  {0xF14D, 0x913E}, //12104 #CJK UNIFIED IDEOGRAPH
+  {0xF14E, 0x91A8}, //12105 #CJK UNIFIED IDEOGRAPH
+  {0xF14F, 0x91A5}, //12106 #CJK UNIFIED IDEOGRAPH
+  {0xF150, 0x91A7}, //12107 #CJK UNIFIED IDEOGRAPH
+  {0xF151, 0x91AF}, //12108 #CJK UNIFIED IDEOGRAPH
+  {0xF152, 0x91AA}, //12109 #CJK UNIFIED IDEOGRAPH
+  {0xF153, 0x93B5}, //12110 #CJK UNIFIED IDEOGRAPH
+  {0xF154, 0x938C}, //12111 #CJK UNIFIED IDEOGRAPH
+  {0xF155, 0x9392}, //12112 #CJK UNIFIED IDEOGRAPH
+  {0xF156, 0x93B7}, //12113 #CJK UNIFIED IDEOGRAPH
+  {0xF157, 0x939B}, //12114 #CJK UNIFIED IDEOGRAPH
+  {0xF158, 0x939D}, //12115 #CJK UNIFIED IDEOGRAPH
+  {0xF159, 0x9389}, //12116 #CJK UNIFIED IDEOGRAPH
+  {0xF15A, 0x93A7}, //12117 #CJK UNIFIED IDEOGRAPH
+  {0xF15B, 0x938E}, //12118 #CJK UNIFIED IDEOGRAPH
+  {0xF15C, 0x93AA}, //12119 #CJK UNIFIED IDEOGRAPH
+  {0xF15D, 0x939E}, //12120 #CJK UNIFIED IDEOGRAPH
+  {0xF15E, 0x93A6}, //12121 #CJK UNIFIED IDEOGRAPH
+  {0xF15F, 0x9395}, //12122 #CJK UNIFIED IDEOGRAPH
+  {0xF160, 0x9388}, //12123 #CJK UNIFIED IDEOGRAPH
+  {0xF161, 0x9399}, //12124 #CJK UNIFIED IDEOGRAPH
+  {0xF162, 0x939F}, //12125 #CJK UNIFIED IDEOGRAPH
+  {0xF163, 0x938D}, //12126 #CJK UNIFIED IDEOGRAPH
+  {0xF164, 0x93B1}, //12127 #CJK UNIFIED IDEOGRAPH
+  {0xF165, 0x9391}, //12128 #CJK UNIFIED IDEOGRAPH
+  {0xF166, 0x93B2}, //12129 #CJK UNIFIED IDEOGRAPH
+  {0xF167, 0x93A4}, //12130 #CJK UNIFIED IDEOGRAPH
+  {0xF168, 0x93A8}, //12131 #CJK UNIFIED IDEOGRAPH
+  {0xF169, 0x93B4}, //12132 #CJK UNIFIED IDEOGRAPH
+  {0xF16A, 0x93A3}, //12133 #CJK UNIFIED IDEOGRAPH
+  {0xF16B, 0x93A5}, //12134 #CJK UNIFIED IDEOGRAPH
+  {0xF16C, 0x95D2}, //12135 #CJK UNIFIED IDEOGRAPH
+  {0xF16D, 0x95D3}, //12136 #CJK UNIFIED IDEOGRAPH
+  {0xF16E, 0x95D1}, //12137 #CJK UNIFIED IDEOGRAPH
+  {0xF16F, 0x96B3}, //12138 #CJK UNIFIED IDEOGRAPH
+  {0xF170, 0x96D7}, //12139 #CJK UNIFIED IDEOGRAPH
+  {0xF171, 0x96DA}, //12140 #CJK UNIFIED IDEOGRAPH
+  {0xF172, 0x5DC2}, //12141 #CJK UNIFIED IDEOGRAPH
+  {0xF173, 0x96DF}, //12142 #CJK UNIFIED IDEOGRAPH
+  {0xF174, 0x96D8}, //12143 #CJK UNIFIED IDEOGRAPH
+  {0xF175, 0x96DD}, //12144 #CJK UNIFIED IDEOGRAPH
+  {0xF176, 0x9723}, //12145 #CJK UNIFIED IDEOGRAPH
+  {0xF177, 0x9722}, //12146 #CJK UNIFIED IDEOGRAPH
+  {0xF178, 0x9725}, //12147 #CJK UNIFIED IDEOGRAPH
+  {0xF179, 0x97AC}, //12148 #CJK UNIFIED IDEOGRAPH
+  {0xF17A, 0x97AE}, //12149 #CJK UNIFIED IDEOGRAPH
+  {0xF17B, 0x97A8}, //12150 #CJK UNIFIED IDEOGRAPH
+  {0xF17C, 0x97AB}, //12151 #CJK UNIFIED IDEOGRAPH
+  {0xF17D, 0x97A4}, //12152 #CJK UNIFIED IDEOGRAPH
+  {0xF17E, 0x97AA}, //12153 #CJK UNIFIED IDEOGRAPH
+  {0xF1A1, 0x97A2}, //12154 #CJK UNIFIED IDEOGRAPH
+  {0xF1A2, 0x97A5}, //12155 #CJK UNIFIED IDEOGRAPH
+  {0xF1A3, 0x97D7}, //12156 #CJK UNIFIED IDEOGRAPH
+  {0xF1A4, 0x97D9}, //12157 #CJK UNIFIED IDEOGRAPH
+  {0xF1A5, 0x97D6}, //12158 #CJK UNIFIED IDEOGRAPH
+  {0xF1A6, 0x97D8}, //12159 #CJK UNIFIED IDEOGRAPH
+  {0xF1A7, 0x97FA}, //12160 #CJK UNIFIED IDEOGRAPH
+  {0xF1A8, 0x9850}, //12161 #CJK UNIFIED IDEOGRAPH
+  {0xF1A9, 0x9851}, //12162 #CJK UNIFIED IDEOGRAPH
+  {0xF1AA, 0x9852}, //12163 #CJK UNIFIED IDEOGRAPH
+  {0xF1AB, 0x98B8}, //12164 #CJK UNIFIED IDEOGRAPH
+  {0xF1AC, 0x9941}, //12165 #CJK UNIFIED IDEOGRAPH
+  {0xF1AD, 0x993C}, //12166 #CJK UNIFIED IDEOGRAPH
+  {0xF1AE, 0x993A}, //12167 #CJK UNIFIED IDEOGRAPH
+  {0xF1AF, 0x9A0F}, //12168 #CJK UNIFIED IDEOGRAPH
+  {0xF1B0, 0x9A0B}, //12169 #CJK UNIFIED IDEOGRAPH
+  {0xF1B1, 0x9A09}, //12170 #CJK UNIFIED IDEOGRAPH
+  {0xF1B2, 0x9A0D}, //12171 #CJK UNIFIED IDEOGRAPH
+  {0xF1B3, 0x9A04}, //12172 #CJK UNIFIED IDEOGRAPH
+  {0xF1B4, 0x9A11}, //12173 #CJK UNIFIED IDEOGRAPH
+  {0xF1B5, 0x9A0A}, //12174 #CJK UNIFIED IDEOGRAPH
+  {0xF1B6, 0x9A05}, //12175 #CJK UNIFIED IDEOGRAPH
+  {0xF1B7, 0x9A07}, //12176 #CJK UNIFIED IDEOGRAPH
+  {0xF1B8, 0x9A06}, //12177 #CJK UNIFIED IDEOGRAPH
+  {0xF1B9, 0x9AC0}, //12178 #CJK UNIFIED IDEOGRAPH
+  {0xF1BA, 0x9ADC}, //12179 #CJK UNIFIED IDEOGRAPH
+  {0xF1BB, 0x9B08}, //12180 #CJK UNIFIED IDEOGRAPH
+  {0xF1BC, 0x9B04}, //12181 #CJK UNIFIED IDEOGRAPH
+  {0xF1BD, 0x9B05}, //12182 #CJK UNIFIED IDEOGRAPH
+  {0xF1BE, 0x9B29}, //12183 #CJK UNIFIED IDEOGRAPH
+  {0xF1BF, 0x9B35}, //12184 #CJK UNIFIED IDEOGRAPH
+  {0xF1C0, 0x9B4A}, //12185 #CJK UNIFIED IDEOGRAPH
+  {0xF1C1, 0x9B4C}, //12186 #CJK UNIFIED IDEOGRAPH
+  {0xF1C2, 0x9B4B}, //12187 #CJK UNIFIED IDEOGRAPH
+  {0xF1C3, 0x9BC7}, //12188 #CJK UNIFIED IDEOGRAPH
+  {0xF1C4, 0x9BC6}, //12189 #CJK UNIFIED IDEOGRAPH
+  {0xF1C5, 0x9BC3}, //12190 #CJK UNIFIED IDEOGRAPH
+  {0xF1C6, 0x9BBF}, //12191 #CJK UNIFIED IDEOGRAPH
+  {0xF1C7, 0x9BC1}, //12192 #CJK UNIFIED IDEOGRAPH
+  {0xF1C8, 0x9BB5}, //12193 #CJK UNIFIED IDEOGRAPH
+  {0xF1C9, 0x9BB8}, //12194 #CJK UNIFIED IDEOGRAPH
+  {0xF1CA, 0x9BD3}, //12195 #CJK UNIFIED IDEOGRAPH
+  {0xF1CB, 0x9BB6}, //12196 #CJK UNIFIED IDEOGRAPH
+  {0xF1CC, 0x9BC4}, //12197 #CJK UNIFIED IDEOGRAPH
+  {0xF1CD, 0x9BB9}, //12198 #CJK UNIFIED IDEOGRAPH
+  {0xF1CE, 0x9BBD}, //12199 #CJK UNIFIED IDEOGRAPH
+  {0xF1CF, 0x9D5C}, //12200 #CJK UNIFIED IDEOGRAPH
+  {0xF1D0, 0x9D53}, //12201 #CJK UNIFIED IDEOGRAPH
+  {0xF1D1, 0x9D4F}, //12202 #CJK UNIFIED IDEOGRAPH
+  {0xF1D2, 0x9D4A}, //12203 #CJK UNIFIED IDEOGRAPH
+  {0xF1D3, 0x9D5B}, //12204 #CJK UNIFIED IDEOGRAPH
+  {0xF1D4, 0x9D4B}, //12205 #CJK UNIFIED IDEOGRAPH
+  {0xF1D5, 0x9D59}, //12206 #CJK UNIFIED IDEOGRAPH
+  {0xF1D6, 0x9D56}, //12207 #CJK UNIFIED IDEOGRAPH
+  {0xF1D7, 0x9D4C}, //12208 #CJK UNIFIED IDEOGRAPH
+  {0xF1D8, 0x9D57}, //12209 #CJK UNIFIED IDEOGRAPH
+  {0xF1D9, 0x9D52}, //12210 #CJK UNIFIED IDEOGRAPH
+  {0xF1DA, 0x9D54}, //12211 #CJK UNIFIED IDEOGRAPH
+  {0xF1DB, 0x9D5F}, //12212 #CJK UNIFIED IDEOGRAPH
+  {0xF1DC, 0x9D58}, //12213 #CJK UNIFIED IDEOGRAPH
+  {0xF1DD, 0x9D5A}, //12214 #CJK UNIFIED IDEOGRAPH
+  {0xF1DE, 0x9E8E}, //12215 #CJK UNIFIED IDEOGRAPH
+  {0xF1DF, 0x9E8C}, //12216 #CJK UNIFIED IDEOGRAPH
+  {0xF1E0, 0x9EDF}, //12217 #CJK UNIFIED IDEOGRAPH
+  {0xF1E1, 0x9F01}, //12218 #CJK UNIFIED IDEOGRAPH
+  {0xF1E2, 0x9F00}, //12219 #CJK UNIFIED IDEOGRAPH
+  {0xF1E3, 0x9F16}, //12220 #CJK UNIFIED IDEOGRAPH
+  {0xF1E4, 0x9F25}, //12221 #CJK UNIFIED IDEOGRAPH
+  {0xF1E5, 0x9F2B}, //12222 #CJK UNIFIED IDEOGRAPH
+  {0xF1E6, 0x9F2A}, //12223 #CJK UNIFIED IDEOGRAPH
+  {0xF1E7, 0x9F29}, //12224 #CJK UNIFIED IDEOGRAPH
+  {0xF1E8, 0x9F28}, //12225 #CJK UNIFIED IDEOGRAPH
+  {0xF1E9, 0x9F4C}, //12226 #CJK UNIFIED IDEOGRAPH
+  {0xF1EA, 0x9F55}, //12227 #CJK UNIFIED IDEOGRAPH
+  {0xF1EB, 0x5134}, //12228 #CJK UNIFIED IDEOGRAPH
+  {0xF1EC, 0x5135}, //12229 #CJK UNIFIED IDEOGRAPH
+  {0xF1ED, 0x5296}, //12230 #CJK UNIFIED IDEOGRAPH
+  {0xF1EE, 0x52F7}, //12231 #CJK UNIFIED IDEOGRAPH
+  {0xF1EF, 0x53B4}, //12232 #CJK UNIFIED IDEOGRAPH
+  {0xF1F0, 0x56AB}, //12233 #CJK UNIFIED IDEOGRAPH
+  {0xF1F1, 0x56AD}, //12234 #CJK UNIFIED IDEOGRAPH
+  {0xF1F2, 0x56A6}, //12235 #CJK UNIFIED IDEOGRAPH
+  {0xF1F3, 0x56A7}, //12236 #CJK UNIFIED IDEOGRAPH
+  {0xF1F4, 0x56AA}, //12237 #CJK UNIFIED IDEOGRAPH
+  {0xF1F5, 0x56AC}, //12238 #CJK UNIFIED IDEOGRAPH
+  {0xF1F6, 0x58DA}, //12239 #CJK UNIFIED IDEOGRAPH
+  {0xF1F7, 0x58DD}, //12240 #CJK UNIFIED IDEOGRAPH
+  {0xF1F8, 0x58DB}, //12241 #CJK UNIFIED IDEOGRAPH
+  {0xF1F9, 0x5912}, //12242 #CJK UNIFIED IDEOGRAPH
+  {0xF1FA, 0x5B3D}, //12243 #CJK UNIFIED IDEOGRAPH
+  {0xF1FB, 0x5B3E}, //12244 #CJK UNIFIED IDEOGRAPH
+  {0xF1FC, 0x5B3F}, //12245 #CJK UNIFIED IDEOGRAPH
+  {0xF1FD, 0x5DC3}, //12246 #CJK UNIFIED IDEOGRAPH
+  {0xF1FE, 0x5E70}, //12247 #CJK UNIFIED IDEOGRAPH
+  {0xF240, 0x5FBF}, //12248 #CJK UNIFIED IDEOGRAPH
+  {0xF241, 0x61FB}, //12249 #CJK UNIFIED IDEOGRAPH
+  {0xF242, 0x6507}, //12250 #CJK UNIFIED IDEOGRAPH
+  {0xF243, 0x6510}, //12251 #CJK UNIFIED IDEOGRAPH
+  {0xF244, 0x650D}, //12252 #CJK UNIFIED IDEOGRAPH
+  {0xF245, 0x6509}, //12253 #CJK UNIFIED IDEOGRAPH
+  {0xF246, 0x650C}, //12254 #CJK UNIFIED IDEOGRAPH
+  {0xF247, 0x650E}, //12255 #CJK UNIFIED IDEOGRAPH
+  {0xF248, 0x6584}, //12256 #CJK UNIFIED IDEOGRAPH
+  {0xF249, 0x65DE}, //12257 #CJK UNIFIED IDEOGRAPH
+  {0xF24A, 0x65DD}, //12258 #CJK UNIFIED IDEOGRAPH
+  {0xF24B, 0x66DE}, //12259 #CJK UNIFIED IDEOGRAPH
+  {0xF24C, 0x6AE7}, //12260 #CJK UNIFIED IDEOGRAPH
+  {0xF24D, 0x6AE0}, //12261 #CJK UNIFIED IDEOGRAPH
+  {0xF24E, 0x6ACC}, //12262 #CJK UNIFIED IDEOGRAPH
+  {0xF24F, 0x6AD1}, //12263 #CJK UNIFIED IDEOGRAPH
+  {0xF250, 0x6AD9}, //12264 #CJK UNIFIED IDEOGRAPH
+  {0xF251, 0x6ACB}, //12265 #CJK UNIFIED IDEOGRAPH
+  {0xF252, 0x6ADF}, //12266 #CJK UNIFIED IDEOGRAPH
+  {0xF253, 0x6ADC}, //12267 #CJK UNIFIED IDEOGRAPH
+  {0xF254, 0x6AD0}, //12268 #CJK UNIFIED IDEOGRAPH
+  {0xF255, 0x6AEB}, //12269 #CJK UNIFIED IDEOGRAPH
+  {0xF256, 0x6ACF}, //12270 #CJK UNIFIED IDEOGRAPH
+  {0xF257, 0x6ACD}, //12271 #CJK UNIFIED IDEOGRAPH
+  {0xF258, 0x6ADE}, //12272 #CJK UNIFIED IDEOGRAPH
+  {0xF259, 0x6B60}, //12273 #CJK UNIFIED IDEOGRAPH
+  {0xF25A, 0x6BB0}, //12274 #CJK UNIFIED IDEOGRAPH
+  {0xF25B, 0x6C0C}, //12275 #CJK UNIFIED IDEOGRAPH
+  {0xF25C, 0x7019}, //12276 #CJK UNIFIED IDEOGRAPH
+  {0xF25D, 0x7027}, //12277 #CJK UNIFIED IDEOGRAPH
+  {0xF25E, 0x7020}, //12278 #CJK UNIFIED IDEOGRAPH
+  {0xF25F, 0x7016}, //12279 #CJK UNIFIED IDEOGRAPH
+  {0xF260, 0x702B}, //12280 #CJK UNIFIED IDEOGRAPH
+  {0xF261, 0x7021}, //12281 #CJK UNIFIED IDEOGRAPH
+  {0xF262, 0x7022}, //12282 #CJK UNIFIED IDEOGRAPH
+  {0xF263, 0x7023}, //12283 #CJK UNIFIED IDEOGRAPH
+  {0xF264, 0x7029}, //12284 #CJK UNIFIED IDEOGRAPH
+  {0xF265, 0x7017}, //12285 #CJK UNIFIED IDEOGRAPH
+  {0xF266, 0x7024}, //12286 #CJK UNIFIED IDEOGRAPH
+  {0xF267, 0x701C}, //12287 #CJK UNIFIED IDEOGRAPH
+  {0xF268, 0x702A}, //12288 #CJK UNIFIED IDEOGRAPH
+  {0xF269, 0x720C}, //12289 #CJK UNIFIED IDEOGRAPH
+  {0xF26A, 0x720A}, //12290 #CJK UNIFIED IDEOGRAPH
+  {0xF26B, 0x7207}, //12291 #CJK UNIFIED IDEOGRAPH
+  {0xF26C, 0x7202}, //12292 #CJK UNIFIED IDEOGRAPH
+  {0xF26D, 0x7205}, //12293 #CJK UNIFIED IDEOGRAPH
+  {0xF26E, 0x72A5}, //12294 #CJK UNIFIED IDEOGRAPH
+  {0xF26F, 0x72A6}, //12295 #CJK UNIFIED IDEOGRAPH
+  {0xF270, 0x72A4}, //12296 #CJK UNIFIED IDEOGRAPH
+  {0xF271, 0x72A3}, //12297 #CJK UNIFIED IDEOGRAPH
+  {0xF272, 0x72A1}, //12298 #CJK UNIFIED IDEOGRAPH
+  {0xF273, 0x74CB}, //12299 #CJK UNIFIED IDEOGRAPH
+  {0xF274, 0x74C5}, //12300 #CJK UNIFIED IDEOGRAPH
+  {0xF275, 0x74B7}, //12301 #CJK UNIFIED IDEOGRAPH
+  {0xF276, 0x74C3}, //12302 #CJK UNIFIED IDEOGRAPH
+  {0xF277, 0x7516}, //12303 #CJK UNIFIED IDEOGRAPH
+  {0xF278, 0x7660}, //12304 #CJK UNIFIED IDEOGRAPH
+  {0xF279, 0x77C9}, //12305 #CJK UNIFIED IDEOGRAPH
+  {0xF27A, 0x77CA}, //12306 #CJK UNIFIED IDEOGRAPH
+  {0xF27B, 0x77C4}, //12307 #CJK UNIFIED IDEOGRAPH
+  {0xF27C, 0x77F1}, //12308 #CJK UNIFIED IDEOGRAPH
+  {0xF27D, 0x791D}, //12309 #CJK UNIFIED IDEOGRAPH
+  {0xF27E, 0x791B}, //12310 #CJK UNIFIED IDEOGRAPH
+  {0xF2A1, 0x7921}, //12311 #CJK UNIFIED IDEOGRAPH
+  {0xF2A2, 0x791C}, //12312 #CJK UNIFIED IDEOGRAPH
+  {0xF2A3, 0x7917}, //12313 #CJK UNIFIED IDEOGRAPH
+  {0xF2A4, 0x791E}, //12314 #CJK UNIFIED IDEOGRAPH
+  {0xF2A5, 0x79B0}, //12315 #CJK UNIFIED IDEOGRAPH
+  {0xF2A6, 0x7A67}, //12316 #CJK UNIFIED IDEOGRAPH
+  {0xF2A7, 0x7A68}, //12317 #CJK UNIFIED IDEOGRAPH
+  {0xF2A8, 0x7C33}, //12318 #CJK UNIFIED IDEOGRAPH
+  {0xF2A9, 0x7C3C}, //12319 #CJK UNIFIED IDEOGRAPH
+  {0xF2AA, 0x7C39}, //12320 #CJK UNIFIED IDEOGRAPH
+  {0xF2AB, 0x7C2C}, //12321 #CJK UNIFIED IDEOGRAPH
+  {0xF2AC, 0x7C3B}, //12322 #CJK UNIFIED IDEOGRAPH
+  {0xF2AD, 0x7CEC}, //12323 #CJK UNIFIED IDEOGRAPH
+  {0xF2AE, 0x7CEA}, //12324 #CJK UNIFIED IDEOGRAPH
+  {0xF2AF, 0x7E76}, //12325 #CJK UNIFIED IDEOGRAPH
+  {0xF2B0, 0x7E75}, //12326 #CJK UNIFIED IDEOGRAPH
+  {0xF2B1, 0x7E78}, //12327 #CJK UNIFIED IDEOGRAPH
+  {0xF2B2, 0x7E70}, //12328 #CJK UNIFIED IDEOGRAPH
+  {0xF2B3, 0x7E77}, //12329 #CJK UNIFIED IDEOGRAPH
+  {0xF2B4, 0x7E6F}, //12330 #CJK UNIFIED IDEOGRAPH
+  {0xF2B5, 0x7E7A}, //12331 #CJK UNIFIED IDEOGRAPH
+  {0xF2B6, 0x7E72}, //12332 #CJK UNIFIED IDEOGRAPH
+  {0xF2B7, 0x7E74}, //12333 #CJK UNIFIED IDEOGRAPH
+  {0xF2B8, 0x7E68}, //12334 #CJK UNIFIED IDEOGRAPH
+  {0xF2B9, 0x7F4B}, //12335 #CJK UNIFIED IDEOGRAPH
+  {0xF2BA, 0x7F4A}, //12336 #CJK UNIFIED IDEOGRAPH
+  {0xF2BB, 0x7F83}, //12337 #CJK UNIFIED IDEOGRAPH
+  {0xF2BC, 0x7F86}, //12338 #CJK UNIFIED IDEOGRAPH
+  {0xF2BD, 0x7FB7}, //12339 #CJK UNIFIED IDEOGRAPH
+  {0xF2BE, 0x7FFD}, //12340 #CJK UNIFIED IDEOGRAPH
+  {0xF2BF, 0x7FFE}, //12341 #CJK UNIFIED IDEOGRAPH
+  {0xF2C0, 0x8078}, //12342 #CJK UNIFIED IDEOGRAPH
+  {0xF2C1, 0x81D7}, //12343 #CJK UNIFIED IDEOGRAPH
+  {0xF2C2, 0x81D5}, //12344 #CJK UNIFIED IDEOGRAPH
+  {0xF2C3, 0x8264}, //12345 #CJK UNIFIED IDEOGRAPH
+  {0xF2C4, 0x8261}, //12346 #CJK UNIFIED IDEOGRAPH
+  {0xF2C5, 0x8263}, //12347 #CJK UNIFIED IDEOGRAPH
+  {0xF2C6, 0x85EB}, //12348 #CJK UNIFIED IDEOGRAPH
+  {0xF2C7, 0x85F1}, //12349 #CJK UNIFIED IDEOGRAPH
+  {0xF2C8, 0x85ED}, //12350 #CJK UNIFIED IDEOGRAPH
+  {0xF2C9, 0x85D9}, //12351 #CJK UNIFIED IDEOGRAPH
+  {0xF2CA, 0x85E1}, //12352 #CJK UNIFIED IDEOGRAPH
+  {0xF2CB, 0x85E8}, //12353 #CJK UNIFIED IDEOGRAPH
+  {0xF2CC, 0x85DA}, //12354 #CJK UNIFIED IDEOGRAPH
+  {0xF2CD, 0x85D7}, //12355 #CJK UNIFIED IDEOGRAPH
+  {0xF2CE, 0x85EC}, //12356 #CJK UNIFIED IDEOGRAPH
+  {0xF2CF, 0x85F2}, //12357 #CJK UNIFIED IDEOGRAPH
+  {0xF2D0, 0x85F8}, //12358 #CJK UNIFIED IDEOGRAPH
+  {0xF2D1, 0x85D8}, //12359 #CJK UNIFIED IDEOGRAPH
+  {0xF2D2, 0x85DF}, //12360 #CJK UNIFIED IDEOGRAPH
+  {0xF2D3, 0x85E3}, //12361 #CJK UNIFIED IDEOGRAPH
+  {0xF2D4, 0x85DC}, //12362 #CJK UNIFIED IDEOGRAPH
+  {0xF2D5, 0x85D1}, //12363 #CJK UNIFIED IDEOGRAPH
+  {0xF2D6, 0x85F0}, //12364 #CJK UNIFIED IDEOGRAPH
+  {0xF2D7, 0x85E6}, //12365 #CJK UNIFIED IDEOGRAPH
+  {0xF2D8, 0x85EF}, //12366 #CJK UNIFIED IDEOGRAPH
+  {0xF2D9, 0x85DE}, //12367 #CJK UNIFIED IDEOGRAPH
+  {0xF2DA, 0x85E2}, //12368 #CJK UNIFIED IDEOGRAPH
+  {0xF2DB, 0x8800}, //12369 #CJK UNIFIED IDEOGRAPH
+  {0xF2DC, 0x87FA}, //12370 #CJK UNIFIED IDEOGRAPH
+  {0xF2DD, 0x8803}, //12371 #CJK UNIFIED IDEOGRAPH
+  {0xF2DE, 0x87F6}, //12372 #CJK UNIFIED IDEOGRAPH
+  {0xF2DF, 0x87F7}, //12373 #CJK UNIFIED IDEOGRAPH
+  {0xF2E0, 0x8809}, //12374 #CJK UNIFIED IDEOGRAPH
+  {0xF2E1, 0x880C}, //12375 #CJK UNIFIED IDEOGRAPH
+  {0xF2E2, 0x880B}, //12376 #CJK UNIFIED IDEOGRAPH
+  {0xF2E3, 0x8806}, //12377 #CJK UNIFIED IDEOGRAPH
+  {0xF2E4, 0x87FC}, //12378 #CJK UNIFIED IDEOGRAPH
+  {0xF2E5, 0x8808}, //12379 #CJK UNIFIED IDEOGRAPH
+  {0xF2E6, 0x87FF}, //12380 #CJK UNIFIED IDEOGRAPH
+  {0xF2E7, 0x880A}, //12381 #CJK UNIFIED IDEOGRAPH
+  {0xF2E8, 0x8802}, //12382 #CJK UNIFIED IDEOGRAPH
+  {0xF2E9, 0x8962}, //12383 #CJK UNIFIED IDEOGRAPH
+  {0xF2EA, 0x895A}, //12384 #CJK UNIFIED IDEOGRAPH
+  {0xF2EB, 0x895B}, //12385 #CJK UNIFIED IDEOGRAPH
+  {0xF2EC, 0x8957}, //12386 #CJK UNIFIED IDEOGRAPH
+  {0xF2ED, 0x8961}, //12387 #CJK UNIFIED IDEOGRAPH
+  {0xF2EE, 0x895C}, //12388 #CJK UNIFIED IDEOGRAPH
+  {0xF2EF, 0x8958}, //12389 #CJK UNIFIED IDEOGRAPH
+  {0xF2F0, 0x895D}, //12390 #CJK UNIFIED IDEOGRAPH
+  {0xF2F1, 0x8959}, //12391 #CJK UNIFIED IDEOGRAPH
+  {0xF2F2, 0x8988}, //12392 #CJK UNIFIED IDEOGRAPH
+  {0xF2F3, 0x89B7}, //12393 #CJK UNIFIED IDEOGRAPH
+  {0xF2F4, 0x89B6}, //12394 #CJK UNIFIED IDEOGRAPH
+  {0xF2F5, 0x89F6}, //12395 #CJK UNIFIED IDEOGRAPH
+  {0xF2F6, 0x8B50}, //12396 #CJK UNIFIED IDEOGRAPH
+  {0xF2F7, 0x8B48}, //12397 #CJK UNIFIED IDEOGRAPH
+  {0xF2F8, 0x8B4A}, //12398 #CJK UNIFIED IDEOGRAPH
+  {0xF2F9, 0x8B40}, //12399 #CJK UNIFIED IDEOGRAPH
+  {0xF2FA, 0x8B53}, //12400 #CJK UNIFIED IDEOGRAPH
+  {0xF2FB, 0x8B56}, //12401 #CJK UNIFIED IDEOGRAPH
+  {0xF2FC, 0x8B54}, //12402 #CJK UNIFIED IDEOGRAPH
+  {0xF2FD, 0x8B4B}, //12403 #CJK UNIFIED IDEOGRAPH
+  {0xF2FE, 0x8B55}, //12404 #CJK UNIFIED IDEOGRAPH
+  {0xF340, 0x8B51}, //12405 #CJK UNIFIED IDEOGRAPH
+  {0xF341, 0x8B42}, //12406 #CJK UNIFIED IDEOGRAPH
+  {0xF342, 0x8B52}, //12407 #CJK UNIFIED IDEOGRAPH
+  {0xF343, 0x8B57}, //12408 #CJK UNIFIED IDEOGRAPH
+  {0xF344, 0x8C43}, //12409 #CJK UNIFIED IDEOGRAPH
+  {0xF345, 0x8C77}, //12410 #CJK UNIFIED IDEOGRAPH
+  {0xF346, 0x8C76}, //12411 #CJK UNIFIED IDEOGRAPH
+  {0xF347, 0x8C9A}, //12412 #CJK UNIFIED IDEOGRAPH
+  {0xF348, 0x8D06}, //12413 #CJK UNIFIED IDEOGRAPH
+  {0xF349, 0x8D07}, //12414 #CJK UNIFIED IDEOGRAPH
+  {0xF34A, 0x8D09}, //12415 #CJK UNIFIED IDEOGRAPH
+  {0xF34B, 0x8DAC}, //12416 #CJK UNIFIED IDEOGRAPH
+  {0xF34C, 0x8DAA}, //12417 #CJK UNIFIED IDEOGRAPH
+  {0xF34D, 0x8DAD}, //12418 #CJK UNIFIED IDEOGRAPH
+  {0xF34E, 0x8DAB}, //12419 #CJK UNIFIED IDEOGRAPH
+  {0xF34F, 0x8E6D}, //12420 #CJK UNIFIED IDEOGRAPH
+  {0xF350, 0x8E78}, //12421 #CJK UNIFIED IDEOGRAPH
+  {0xF351, 0x8E73}, //12422 #CJK UNIFIED IDEOGRAPH
+  {0xF352, 0x8E6A}, //12423 #CJK UNIFIED IDEOGRAPH
+  {0xF353, 0x8E6F}, //12424 #CJK UNIFIED IDEOGRAPH
+  {0xF354, 0x8E7B}, //12425 #CJK UNIFIED IDEOGRAPH
+  {0xF355, 0x8EC2}, //12426 #CJK UNIFIED IDEOGRAPH
+  {0xF356, 0x8F52}, //12427 #CJK UNIFIED IDEOGRAPH
+  {0xF357, 0x8F51}, //12428 #CJK UNIFIED IDEOGRAPH
+  {0xF358, 0x8F4F}, //12429 #CJK UNIFIED IDEOGRAPH
+  {0xF359, 0x8F50}, //12430 #CJK UNIFIED IDEOGRAPH
+  {0xF35A, 0x8F53}, //12431 #CJK UNIFIED IDEOGRAPH
+  {0xF35B, 0x8FB4}, //12432 #CJK UNIFIED IDEOGRAPH
+  {0xF35C, 0x9140}, //12433 #CJK UNIFIED IDEOGRAPH
+  {0xF35D, 0x913F}, //12434 #CJK UNIFIED IDEOGRAPH
+  {0xF35E, 0x91B0}, //12435 #CJK UNIFIED IDEOGRAPH
+  {0xF35F, 0x91AD}, //12436 #CJK UNIFIED IDEOGRAPH
+  {0xF360, 0x93DE}, //12437 #CJK UNIFIED IDEOGRAPH
+  {0xF361, 0x93C7}, //12438 #CJK UNIFIED IDEOGRAPH
+  {0xF362, 0x93CF}, //12439 #CJK UNIFIED IDEOGRAPH
+  {0xF363, 0x93C2}, //12440 #CJK UNIFIED IDEOGRAPH
+  {0xF364, 0x93DA}, //12441 #CJK UNIFIED IDEOGRAPH
+  {0xF365, 0x93D0}, //12442 #CJK UNIFIED IDEOGRAPH
+  {0xF366, 0x93F9}, //12443 #CJK UNIFIED IDEOGRAPH
+  {0xF367, 0x93EC}, //12444 #CJK UNIFIED IDEOGRAPH
+  {0xF368, 0x93CC}, //12445 #CJK UNIFIED IDEOGRAPH
+  {0xF369, 0x93D9}, //12446 #CJK UNIFIED IDEOGRAPH
+  {0xF36A, 0x93A9}, //12447 #CJK UNIFIED IDEOGRAPH
+  {0xF36B, 0x93E6}, //12448 #CJK UNIFIED IDEOGRAPH
+  {0xF36C, 0x93CA}, //12449 #CJK UNIFIED IDEOGRAPH
+  {0xF36D, 0x93D4}, //12450 #CJK UNIFIED IDEOGRAPH
+  {0xF36E, 0x93EE}, //12451 #CJK UNIFIED IDEOGRAPH
+  {0xF36F, 0x93E3}, //12452 #CJK UNIFIED IDEOGRAPH
+  {0xF370, 0x93D5}, //12453 #CJK UNIFIED IDEOGRAPH
+  {0xF371, 0x93C4}, //12454 #CJK UNIFIED IDEOGRAPH
+  {0xF372, 0x93CE}, //12455 #CJK UNIFIED IDEOGRAPH
+  {0xF373, 0x93C0}, //12456 #CJK UNIFIED IDEOGRAPH
+  {0xF374, 0x93D2}, //12457 #CJK UNIFIED IDEOGRAPH
+  {0xF375, 0x93E7}, //12458 #CJK UNIFIED IDEOGRAPH
+  {0xF376, 0x957D}, //12459 #CJK UNIFIED IDEOGRAPH
+  {0xF377, 0x95DA}, //12460 #CJK UNIFIED IDEOGRAPH
+  {0xF378, 0x95DB}, //12461 #CJK UNIFIED IDEOGRAPH
+  {0xF379, 0x96E1}, //12462 #CJK UNIFIED IDEOGRAPH
+  {0xF37A, 0x9729}, //12463 #CJK UNIFIED IDEOGRAPH
+  {0xF37B, 0x972B}, //12464 #CJK UNIFIED IDEOGRAPH
+  {0xF37C, 0x972C}, //12465 #CJK UNIFIED IDEOGRAPH
+  {0xF37D, 0x9728}, //12466 #CJK UNIFIED IDEOGRAPH
+  {0xF37E, 0x9726}, //12467 #CJK UNIFIED IDEOGRAPH
+  {0xF3A1, 0x97B3}, //12468 #CJK UNIFIED IDEOGRAPH
+  {0xF3A2, 0x97B7}, //12469 #CJK UNIFIED IDEOGRAPH
+  {0xF3A3, 0x97B6}, //12470 #CJK UNIFIED IDEOGRAPH
+  {0xF3A4, 0x97DD}, //12471 #CJK UNIFIED IDEOGRAPH
+  {0xF3A5, 0x97DE}, //12472 #CJK UNIFIED IDEOGRAPH
+  {0xF3A6, 0x97DF}, //12473 #CJK UNIFIED IDEOGRAPH
+  {0xF3A7, 0x985C}, //12474 #CJK UNIFIED IDEOGRAPH
+  {0xF3A8, 0x9859}, //12475 #CJK UNIFIED IDEOGRAPH
+  {0xF3A9, 0x985D}, //12476 #CJK UNIFIED IDEOGRAPH
+  {0xF3AA, 0x9857}, //12477 #CJK UNIFIED IDEOGRAPH
+  {0xF3AB, 0x98BF}, //12478 #CJK UNIFIED IDEOGRAPH
+  {0xF3AC, 0x98BD}, //12479 #CJK UNIFIED IDEOGRAPH
+  {0xF3AD, 0x98BB}, //12480 #CJK UNIFIED IDEOGRAPH
+  {0xF3AE, 0x98BE}, //12481 #CJK UNIFIED IDEOGRAPH
+  {0xF3AF, 0x9948}, //12482 #CJK UNIFIED IDEOGRAPH
+  {0xF3B0, 0x9947}, //12483 #CJK UNIFIED IDEOGRAPH
+  {0xF3B1, 0x9943}, //12484 #CJK UNIFIED IDEOGRAPH
+  {0xF3B2, 0x99A6}, //12485 #CJK UNIFIED IDEOGRAPH
+  {0xF3B3, 0x99A7}, //12486 #CJK UNIFIED IDEOGRAPH
+  {0xF3B4, 0x9A1A}, //12487 #CJK UNIFIED IDEOGRAPH
+  {0xF3B5, 0x9A15}, //12488 #CJK UNIFIED IDEOGRAPH
+  {0xF3B6, 0x9A25}, //12489 #CJK UNIFIED IDEOGRAPH
+  {0xF3B7, 0x9A1D}, //12490 #CJK UNIFIED IDEOGRAPH
+  {0xF3B8, 0x9A24}, //12491 #CJK UNIFIED IDEOGRAPH
+  {0xF3B9, 0x9A1B}, //12492 #CJK UNIFIED IDEOGRAPH
+  {0xF3BA, 0x9A22}, //12493 #CJK UNIFIED IDEOGRAPH
+  {0xF3BB, 0x9A20}, //12494 #CJK UNIFIED IDEOGRAPH
+  {0xF3BC, 0x9A27}, //12495 #CJK UNIFIED IDEOGRAPH
+  {0xF3BD, 0x9A23}, //12496 #CJK UNIFIED IDEOGRAPH
+  {0xF3BE, 0x9A1E}, //12497 #CJK UNIFIED IDEOGRAPH
+  {0xF3BF, 0x9A1C}, //12498 #CJK UNIFIED IDEOGRAPH
+  {0xF3C0, 0x9A14}, //12499 #CJK UNIFIED IDEOGRAPH
+  {0xF3C1, 0x9AC2}, //12500 #CJK UNIFIED IDEOGRAPH
+  {0xF3C2, 0x9B0B}, //12501 #CJK UNIFIED IDEOGRAPH
+  {0xF3C3, 0x9B0A}, //12502 #CJK UNIFIED IDEOGRAPH
+  {0xF3C4, 0x9B0E}, //12503 #CJK UNIFIED IDEOGRAPH
+  {0xF3C5, 0x9B0C}, //12504 #CJK UNIFIED IDEOGRAPH
+  {0xF3C6, 0x9B37}, //12505 #CJK UNIFIED IDEOGRAPH
+  {0xF3C7, 0x9BEA}, //12506 #CJK UNIFIED IDEOGRAPH
+  {0xF3C8, 0x9BEB}, //12507 #CJK UNIFIED IDEOGRAPH
+  {0xF3C9, 0x9BE0}, //12508 #CJK UNIFIED IDEOGRAPH
+  {0xF3CA, 0x9BDE}, //12509 #CJK UNIFIED IDEOGRAPH
+  {0xF3CB, 0x9BE4}, //12510 #CJK UNIFIED IDEOGRAPH
+  {0xF3CC, 0x9BE6}, //12511 #CJK UNIFIED IDEOGRAPH
+  {0xF3CD, 0x9BE2}, //12512 #CJK UNIFIED IDEOGRAPH
+  {0xF3CE, 0x9BF0}, //12513 #CJK UNIFIED IDEOGRAPH
+  {0xF3CF, 0x9BD4}, //12514 #CJK UNIFIED IDEOGRAPH
+  {0xF3D0, 0x9BD7}, //12515 #CJK UNIFIED IDEOGRAPH
+  {0xF3D1, 0x9BEC}, //12516 #CJK UNIFIED IDEOGRAPH
+  {0xF3D2, 0x9BDC}, //12517 #CJK UNIFIED IDEOGRAPH
+  {0xF3D3, 0x9BD9}, //12518 #CJK UNIFIED IDEOGRAPH
+  {0xF3D4, 0x9BE5}, //12519 #CJK UNIFIED IDEOGRAPH
+  {0xF3D5, 0x9BD5}, //12520 #CJK UNIFIED IDEOGRAPH
+  {0xF3D6, 0x9BE1}, //12521 #CJK UNIFIED IDEOGRAPH
+  {0xF3D7, 0x9BDA}, //12522 #CJK UNIFIED IDEOGRAPH
+  {0xF3D8, 0x9D77}, //12523 #CJK UNIFIED IDEOGRAPH
+  {0xF3D9, 0x9D81}, //12524 #CJK UNIFIED IDEOGRAPH
+  {0xF3DA, 0x9D8A}, //12525 #CJK UNIFIED IDEOGRAPH
+  {0xF3DB, 0x9D84}, //12526 #CJK UNIFIED IDEOGRAPH
+  {0xF3DC, 0x9D88}, //12527 #CJK UNIFIED IDEOGRAPH
+  {0xF3DD, 0x9D71}, //12528 #CJK UNIFIED IDEOGRAPH
+  {0xF3DE, 0x9D80}, //12529 #CJK UNIFIED IDEOGRAPH
+  {0xF3DF, 0x9D78}, //12530 #CJK UNIFIED IDEOGRAPH
+  {0xF3E0, 0x9D86}, //12531 #CJK UNIFIED IDEOGRAPH
+  {0xF3E1, 0x9D8B}, //12532 #CJK UNIFIED IDEOGRAPH
+  {0xF3E2, 0x9D8C}, //12533 #CJK UNIFIED IDEOGRAPH
+  {0xF3E3, 0x9D7D}, //12534 #CJK UNIFIED IDEOGRAPH
+  {0xF3E4, 0x9D6B}, //12535 #CJK UNIFIED IDEOGRAPH
+  {0xF3E5, 0x9D74}, //12536 #CJK UNIFIED IDEOGRAPH
+  {0xF3E6, 0x9D75}, //12537 #CJK UNIFIED IDEOGRAPH
+  {0xF3E7, 0x9D70}, //12538 #CJK UNIFIED IDEOGRAPH
+  {0xF3E8, 0x9D69}, //12539 #CJK UNIFIED IDEOGRAPH
+  {0xF3E9, 0x9D85}, //12540 #CJK UNIFIED IDEOGRAPH
+  {0xF3EA, 0x9D73}, //12541 #CJK UNIFIED IDEOGRAPH
+  {0xF3EB, 0x9D7B}, //12542 #CJK UNIFIED IDEOGRAPH
+  {0xF3EC, 0x9D82}, //12543 #CJK UNIFIED IDEOGRAPH
+  {0xF3ED, 0x9D6F}, //12544 #CJK UNIFIED IDEOGRAPH
+  {0xF3EE, 0x9D79}, //12545 #CJK UNIFIED IDEOGRAPH
+  {0xF3EF, 0x9D7F}, //12546 #CJK UNIFIED IDEOGRAPH
+  {0xF3F0, 0x9D87}, //12547 #CJK UNIFIED IDEOGRAPH
+  {0xF3F1, 0x9D68}, //12548 #CJK UNIFIED IDEOGRAPH
+  {0xF3F2, 0x9E94}, //12549 #CJK UNIFIED IDEOGRAPH
+  {0xF3F3, 0x9E91}, //12550 #CJK UNIFIED IDEOGRAPH
+  {0xF3F4, 0x9EC0}, //12551 #CJK UNIFIED IDEOGRAPH
+  {0xF3F5, 0x9EFC}, //12552 #CJK UNIFIED IDEOGRAPH
+  {0xF3F6, 0x9F2D}, //12553 #CJK UNIFIED IDEOGRAPH
+  {0xF3F7, 0x9F40}, //12554 #CJK UNIFIED IDEOGRAPH
+  {0xF3F8, 0x9F41}, //12555 #CJK UNIFIED IDEOGRAPH
+  {0xF3F9, 0x9F4D}, //12556 #CJK UNIFIED IDEOGRAPH
+  {0xF3FA, 0x9F56}, //12557 #CJK UNIFIED IDEOGRAPH
+  {0xF3FB, 0x9F57}, //12558 #CJK UNIFIED IDEOGRAPH
+  {0xF3FC, 0x9F58}, //12559 #CJK UNIFIED IDEOGRAPH
+  {0xF3FD, 0x5337}, //12560 #CJK UNIFIED IDEOGRAPH
+  {0xF3FE, 0x56B2}, //12561 #CJK UNIFIED IDEOGRAPH
+  {0xF440, 0x56B5}, //12562 #CJK UNIFIED IDEOGRAPH
+  {0xF441, 0x56B3}, //12563 #CJK UNIFIED IDEOGRAPH
+  {0xF442, 0x58E3}, //12564 #CJK UNIFIED IDEOGRAPH
+  {0xF443, 0x5B45}, //12565 #CJK UNIFIED IDEOGRAPH
+  {0xF444, 0x5DC6}, //12566 #CJK UNIFIED IDEOGRAPH
+  {0xF445, 0x5DC7}, //12567 #CJK UNIFIED IDEOGRAPH
+  {0xF446, 0x5EEE}, //12568 #CJK UNIFIED IDEOGRAPH
+  {0xF447, 0x5EEF}, //12569 #CJK UNIFIED IDEOGRAPH
+  {0xF448, 0x5FC0}, //12570 #CJK UNIFIED IDEOGRAPH
+  {0xF449, 0x5FC1}, //12571 #CJK UNIFIED IDEOGRAPH
+  {0xF44A, 0x61F9}, //12572 #CJK UNIFIED IDEOGRAPH
+  {0xF44B, 0x6517}, //12573 #CJK UNIFIED IDEOGRAPH
+  {0xF44C, 0x6516}, //12574 #CJK UNIFIED IDEOGRAPH
+  {0xF44D, 0x6515}, //12575 #CJK UNIFIED IDEOGRAPH
+  {0xF44E, 0x6513}, //12576 #CJK UNIFIED IDEOGRAPH
+  {0xF44F, 0x65DF}, //12577 #CJK UNIFIED IDEOGRAPH
+  {0xF450, 0x66E8}, //12578 #CJK UNIFIED IDEOGRAPH
+  {0xF451, 0x66E3}, //12579 #CJK UNIFIED IDEOGRAPH
+  {0xF452, 0x66E4}, //12580 #CJK UNIFIED IDEOGRAPH
+  {0xF453, 0x6AF3}, //12581 #CJK UNIFIED IDEOGRAPH
+  {0xF454, 0x6AF0}, //12582 #CJK UNIFIED IDEOGRAPH
+  {0xF455, 0x6AEA}, //12583 #CJK UNIFIED IDEOGRAPH
+  {0xF456, 0x6AE8}, //12584 #CJK UNIFIED IDEOGRAPH
+  {0xF457, 0x6AF9}, //12585 #CJK UNIFIED IDEOGRAPH
+  {0xF458, 0x6AF1}, //12586 #CJK UNIFIED IDEOGRAPH
+  {0xF459, 0x6AEE}, //12587 #CJK UNIFIED IDEOGRAPH
+  {0xF45A, 0x6AEF}, //12588 #CJK UNIFIED IDEOGRAPH
+  {0xF45B, 0x703C}, //12589 #CJK UNIFIED IDEOGRAPH
+  {0xF45C, 0x7035}, //12590 #CJK UNIFIED IDEOGRAPH
+  {0xF45D, 0x702F}, //12591 #CJK UNIFIED IDEOGRAPH
+  {0xF45E, 0x7037}, //12592 #CJK UNIFIED IDEOGRAPH
+  {0xF45F, 0x7034}, //12593 #CJK UNIFIED IDEOGRAPH
+  {0xF460, 0x7031}, //12594 #CJK UNIFIED IDEOGRAPH
+  {0xF461, 0x7042}, //12595 #CJK UNIFIED IDEOGRAPH
+  {0xF462, 0x7038}, //12596 #CJK UNIFIED IDEOGRAPH
+  {0xF463, 0x703F}, //12597 #CJK UNIFIED IDEOGRAPH
+  {0xF464, 0x703A}, //12598 #CJK UNIFIED IDEOGRAPH
+  {0xF465, 0x7039}, //12599 #CJK UNIFIED IDEOGRAPH
+  {0xF466, 0x7040}, //12600 #CJK UNIFIED IDEOGRAPH
+  {0xF467, 0x703B}, //12601 #CJK UNIFIED IDEOGRAPH
+  {0xF468, 0x7033}, //12602 #CJK UNIFIED IDEOGRAPH
+  {0xF469, 0x7041}, //12603 #CJK UNIFIED IDEOGRAPH
+  {0xF46A, 0x7213}, //12604 #CJK UNIFIED IDEOGRAPH
+  {0xF46B, 0x7214}, //12605 #CJK UNIFIED IDEOGRAPH
+  {0xF46C, 0x72A8}, //12606 #CJK UNIFIED IDEOGRAPH
+  {0xF46D, 0x737D}, //12607 #CJK UNIFIED IDEOGRAPH
+  {0xF46E, 0x737C}, //12608 #CJK UNIFIED IDEOGRAPH
+  {0xF46F, 0x74BA}, //12609 #CJK UNIFIED IDEOGRAPH
+  {0xF470, 0x76AB}, //12610 #CJK UNIFIED IDEOGRAPH
+  {0xF471, 0x76AA}, //12611 #CJK UNIFIED IDEOGRAPH
+  {0xF472, 0x76BE}, //12612 #CJK UNIFIED IDEOGRAPH
+  {0xF473, 0x76ED}, //12613 #CJK UNIFIED IDEOGRAPH
+  {0xF474, 0x77CC}, //12614 #CJK UNIFIED IDEOGRAPH
+  {0xF475, 0x77CE}, //12615 #CJK UNIFIED IDEOGRAPH
+  {0xF476, 0x77CF}, //12616 #CJK UNIFIED IDEOGRAPH
+  {0xF477, 0x77CD}, //12617 #CJK UNIFIED IDEOGRAPH
+  {0xF478, 0x77F2}, //12618 #CJK UNIFIED IDEOGRAPH
+  {0xF479, 0x7925}, //12619 #CJK UNIFIED IDEOGRAPH
+  {0xF47A, 0x7923}, //12620 #CJK UNIFIED IDEOGRAPH
+  {0xF47B, 0x7927}, //12621 #CJK UNIFIED IDEOGRAPH
+  {0xF47C, 0x7928}, //12622 #CJK UNIFIED IDEOGRAPH
+  {0xF47D, 0x7924}, //12623 #CJK UNIFIED IDEOGRAPH
+  {0xF47E, 0x7929}, //12624 #CJK UNIFIED IDEOGRAPH
+  {0xF4A1, 0x79B2}, //12625 #CJK UNIFIED IDEOGRAPH
+  {0xF4A2, 0x7A6E}, //12626 #CJK UNIFIED IDEOGRAPH
+  {0xF4A3, 0x7A6C}, //12627 #CJK UNIFIED IDEOGRAPH
+  {0xF4A4, 0x7A6D}, //12628 #CJK UNIFIED IDEOGRAPH
+  {0xF4A5, 0x7AF7}, //12629 #CJK UNIFIED IDEOGRAPH
+  {0xF4A6, 0x7C49}, //12630 #CJK UNIFIED IDEOGRAPH
+  {0xF4A7, 0x7C48}, //12631 #CJK UNIFIED IDEOGRAPH
+  {0xF4A8, 0x7C4A}, //12632 #CJK UNIFIED IDEOGRAPH
+  {0xF4A9, 0x7C47}, //12633 #CJK UNIFIED IDEOGRAPH
+  {0xF4AA, 0x7C45}, //12634 #CJK UNIFIED IDEOGRAPH
+  {0xF4AB, 0x7CEE}, //12635 #CJK UNIFIED IDEOGRAPH
+  {0xF4AC, 0x7E7B}, //12636 #CJK UNIFIED IDEOGRAPH
+  {0xF4AD, 0x7E7E}, //12637 #CJK UNIFIED IDEOGRAPH
+  {0xF4AE, 0x7E81}, //12638 #CJK UNIFIED IDEOGRAPH
+  {0xF4AF, 0x7E80}, //12639 #CJK UNIFIED IDEOGRAPH
+  {0xF4B0, 0x7FBA}, //12640 #CJK UNIFIED IDEOGRAPH
+  {0xF4B1, 0x7FFF}, //12641 #CJK UNIFIED IDEOGRAPH
+  {0xF4B2, 0x8079}, //12642 #CJK UNIFIED IDEOGRAPH
+  {0xF4B3, 0x81DB}, //12643 #CJK UNIFIED IDEOGRAPH
+  {0xF4B4, 0x81D9}, //12644 #CJK UNIFIED IDEOGRAPH
+  {0xF4B5, 0x820B}, //12645 #CJK UNIFIED IDEOGRAPH
+  {0xF4B6, 0x8268}, //12646 #CJK UNIFIED IDEOGRAPH
+  {0xF4B7, 0x8269}, //12647 #CJK UNIFIED IDEOGRAPH
+  {0xF4B8, 0x8622}, //12648 #CJK UNIFIED IDEOGRAPH
+  {0xF4B9, 0x85FF}, //12649 #CJK UNIFIED IDEOGRAPH
+  {0xF4BA, 0x8601}, //12650 #CJK UNIFIED IDEOGRAPH
+  {0xF4BB, 0x85FE}, //12651 #CJK UNIFIED IDEOGRAPH
+  {0xF4BC, 0x861B}, //12652 #CJK UNIFIED IDEOGRAPH
+  {0xF4BD, 0x8600}, //12653 #CJK UNIFIED IDEOGRAPH
+  {0xF4BE, 0x85F6}, //12654 #CJK UNIFIED IDEOGRAPH
+  {0xF4BF, 0x8604}, //12655 #CJK UNIFIED IDEOGRAPH
+  {0xF4C0, 0x8609}, //12656 #CJK UNIFIED IDEOGRAPH
+  {0xF4C1, 0x8605}, //12657 #CJK UNIFIED IDEOGRAPH
+  {0xF4C2, 0x860C}, //12658 #CJK UNIFIED IDEOGRAPH
+  {0xF4C3, 0x85FD}, //12659 #CJK UNIFIED IDEOGRAPH
+  {0xF4C4, 0x8819}, //12660 #CJK UNIFIED IDEOGRAPH
+  {0xF4C5, 0x8810}, //12661 #CJK UNIFIED IDEOGRAPH
+  {0xF4C6, 0x8811}, //12662 #CJK UNIFIED IDEOGRAPH
+  {0xF4C7, 0x8817}, //12663 #CJK UNIFIED IDEOGRAPH
+  {0xF4C8, 0x8813}, //12664 #CJK UNIFIED IDEOGRAPH
+  {0xF4C9, 0x8816}, //12665 #CJK UNIFIED IDEOGRAPH
+  {0xF4CA, 0x8963}, //12666 #CJK UNIFIED IDEOGRAPH
+  {0xF4CB, 0x8966}, //12667 #CJK UNIFIED IDEOGRAPH
+  {0xF4CC, 0x89B9}, //12668 #CJK UNIFIED IDEOGRAPH
+  {0xF4CD, 0x89F7}, //12669 #CJK UNIFIED IDEOGRAPH
+  {0xF4CE, 0x8B60}, //12670 #CJK UNIFIED IDEOGRAPH
+  {0xF4CF, 0x8B6A}, //12671 #CJK UNIFIED IDEOGRAPH
+  {0xF4D0, 0x8B5D}, //12672 #CJK UNIFIED IDEOGRAPH
+  {0xF4D1, 0x8B68}, //12673 #CJK UNIFIED IDEOGRAPH
+  {0xF4D2, 0x8B63}, //12674 #CJK UNIFIED IDEOGRAPH
+  {0xF4D3, 0x8B65}, //12675 #CJK UNIFIED IDEOGRAPH
+  {0xF4D4, 0x8B67}, //12676 #CJK UNIFIED IDEOGRAPH
+  {0xF4D5, 0x8B6D}, //12677 #CJK UNIFIED IDEOGRAPH
+  {0xF4D6, 0x8DAE}, //12678 #CJK UNIFIED IDEOGRAPH
+  {0xF4D7, 0x8E86}, //12679 #CJK UNIFIED IDEOGRAPH
+  {0xF4D8, 0x8E88}, //12680 #CJK UNIFIED IDEOGRAPH
+  {0xF4D9, 0x8E84}, //12681 #CJK UNIFIED IDEOGRAPH
+  {0xF4DA, 0x8F59}, //12682 #CJK UNIFIED IDEOGRAPH
+  {0xF4DB, 0x8F56}, //12683 #CJK UNIFIED IDEOGRAPH
+  {0xF4DC, 0x8F57}, //12684 #CJK UNIFIED IDEOGRAPH
+  {0xF4DD, 0x8F55}, //12685 #CJK UNIFIED IDEOGRAPH
+  {0xF4DE, 0x8F58}, //12686 #CJK UNIFIED IDEOGRAPH
+  {0xF4DF, 0x8F5A}, //12687 #CJK UNIFIED IDEOGRAPH
+  {0xF4E0, 0x908D}, //12688 #CJK UNIFIED IDEOGRAPH
+  {0xF4E1, 0x9143}, //12689 #CJK UNIFIED IDEOGRAPH
+  {0xF4E2, 0x9141}, //12690 #CJK UNIFIED IDEOGRAPH
+  {0xF4E3, 0x91B7}, //12691 #CJK UNIFIED IDEOGRAPH
+  {0xF4E4, 0x91B5}, //12692 #CJK UNIFIED IDEOGRAPH
+  {0xF4E5, 0x91B2}, //12693 #CJK UNIFIED IDEOGRAPH
+  {0xF4E6, 0x91B3}, //12694 #CJK UNIFIED IDEOGRAPH
+  {0xF4E7, 0x940B}, //12695 #CJK UNIFIED IDEOGRAPH
+  {0xF4E8, 0x9413}, //12696 #CJK UNIFIED IDEOGRAPH
+  {0xF4E9, 0x93FB}, //12697 #CJK UNIFIED IDEOGRAPH
+  {0xF4EA, 0x9420}, //12698 #CJK UNIFIED IDEOGRAPH
+  {0xF4EB, 0x940F}, //12699 #CJK UNIFIED IDEOGRAPH
+  {0xF4EC, 0x9414}, //12700 #CJK UNIFIED IDEOGRAPH
+  {0xF4ED, 0x93FE}, //12701 #CJK UNIFIED IDEOGRAPH
+  {0xF4EE, 0x9415}, //12702 #CJK UNIFIED IDEOGRAPH
+  {0xF4EF, 0x9410}, //12703 #CJK UNIFIED IDEOGRAPH
+  {0xF4F0, 0x9428}, //12704 #CJK UNIFIED IDEOGRAPH
+  {0xF4F1, 0x9419}, //12705 #CJK UNIFIED IDEOGRAPH
+  {0xF4F2, 0x940D}, //12706 #CJK UNIFIED IDEOGRAPH
+  {0xF4F3, 0x93F5}, //12707 #CJK UNIFIED IDEOGRAPH
+  {0xF4F4, 0x9400}, //12708 #CJK UNIFIED IDEOGRAPH
+  {0xF4F5, 0x93F7}, //12709 #CJK UNIFIED IDEOGRAPH
+  {0xF4F6, 0x9407}, //12710 #CJK UNIFIED IDEOGRAPH
+  {0xF4F7, 0x940E}, //12711 #CJK UNIFIED IDEOGRAPH
+  {0xF4F8, 0x9416}, //12712 #CJK UNIFIED IDEOGRAPH
+  {0xF4F9, 0x9412}, //12713 #CJK UNIFIED IDEOGRAPH
+  {0xF4FA, 0x93FA}, //12714 #CJK UNIFIED IDEOGRAPH
+  {0xF4FB, 0x9409}, //12715 #CJK UNIFIED IDEOGRAPH
+  {0xF4FC, 0x93F8}, //12716 #CJK UNIFIED IDEOGRAPH
+  {0xF4FD, 0x940A}, //12717 #CJK UNIFIED IDEOGRAPH
+  {0xF4FE, 0x93FF}, //12718 #CJK UNIFIED IDEOGRAPH
+  {0xF540, 0x93FC}, //12719 #CJK UNIFIED IDEOGRAPH
+  {0xF541, 0x940C}, //12720 #CJK UNIFIED IDEOGRAPH
+  {0xF542, 0x93F6}, //12721 #CJK UNIFIED IDEOGRAPH
+  {0xF543, 0x9411}, //12722 #CJK UNIFIED IDEOGRAPH
+  {0xF544, 0x9406}, //12723 #CJK UNIFIED IDEOGRAPH
+  {0xF545, 0x95DE}, //12724 #CJK UNIFIED IDEOGRAPH
+  {0xF546, 0x95E0}, //12725 #CJK UNIFIED IDEOGRAPH
+  {0xF547, 0x95DF}, //12726 #CJK UNIFIED IDEOGRAPH
+  {0xF548, 0x972E}, //12727 #CJK UNIFIED IDEOGRAPH
+  {0xF549, 0x972F}, //12728 #CJK UNIFIED IDEOGRAPH
+  {0xF54A, 0x97B9}, //12729 #CJK UNIFIED IDEOGRAPH
+  {0xF54B, 0x97BB}, //12730 #CJK UNIFIED IDEOGRAPH
+  {0xF54C, 0x97FD}, //12731 #CJK UNIFIED IDEOGRAPH
+  {0xF54D, 0x97FE}, //12732 #CJK UNIFIED IDEOGRAPH
+  {0xF54E, 0x9860}, //12733 #CJK UNIFIED IDEOGRAPH
+  {0xF54F, 0x9862}, //12734 #CJK UNIFIED IDEOGRAPH
+  {0xF550, 0x9863}, //12735 #CJK UNIFIED IDEOGRAPH
+  {0xF551, 0x985F}, //12736 #CJK UNIFIED IDEOGRAPH
+  {0xF552, 0x98C1}, //12737 #CJK UNIFIED IDEOGRAPH
+  {0xF553, 0x98C2}, //12738 #CJK UNIFIED IDEOGRAPH
+  {0xF554, 0x9950}, //12739 #CJK UNIFIED IDEOGRAPH
+  {0xF555, 0x994E}, //12740 #CJK UNIFIED IDEOGRAPH
+  {0xF556, 0x9959}, //12741 #CJK UNIFIED IDEOGRAPH
+  {0xF557, 0x994C}, //12742 #CJK UNIFIED IDEOGRAPH
+  {0xF558, 0x994B}, //12743 #CJK UNIFIED IDEOGRAPH
+  {0xF559, 0x9953}, //12744 #CJK UNIFIED IDEOGRAPH
+  {0xF55A, 0x9A32}, //12745 #CJK UNIFIED IDEOGRAPH
+  {0xF55B, 0x9A34}, //12746 #CJK UNIFIED IDEOGRAPH
+  {0xF55C, 0x9A31}, //12747 #CJK UNIFIED IDEOGRAPH
+  {0xF55D, 0x9A2C}, //12748 #CJK UNIFIED IDEOGRAPH
+  {0xF55E, 0x9A2A}, //12749 #CJK UNIFIED IDEOGRAPH
+  {0xF55F, 0x9A36}, //12750 #CJK UNIFIED IDEOGRAPH
+  {0xF560, 0x9A29}, //12751 #CJK UNIFIED IDEOGRAPH
+  {0xF561, 0x9A2E}, //12752 #CJK UNIFIED IDEOGRAPH
+  {0xF562, 0x9A38}, //12753 #CJK UNIFIED IDEOGRAPH
+  {0xF563, 0x9A2D}, //12754 #CJK UNIFIED IDEOGRAPH
+  {0xF564, 0x9AC7}, //12755 #CJK UNIFIED IDEOGRAPH
+  {0xF565, 0x9ACA}, //12756 #CJK UNIFIED IDEOGRAPH
+  {0xF566, 0x9AC6}, //12757 #CJK UNIFIED IDEOGRAPH
+  {0xF567, 0x9B10}, //12758 #CJK UNIFIED IDEOGRAPH
+  {0xF568, 0x9B12}, //12759 #CJK UNIFIED IDEOGRAPH
+  {0xF569, 0x9B11}, //12760 #CJK UNIFIED IDEOGRAPH
+  {0xF56A, 0x9C0B}, //12761 #CJK UNIFIED IDEOGRAPH
+  {0xF56B, 0x9C08}, //12762 #CJK UNIFIED IDEOGRAPH
+  {0xF56C, 0x9BF7}, //12763 #CJK UNIFIED IDEOGRAPH
+  {0xF56D, 0x9C05}, //12764 #CJK UNIFIED IDEOGRAPH
+  {0xF56E, 0x9C12}, //12765 #CJK UNIFIED IDEOGRAPH
+  {0xF56F, 0x9BF8}, //12766 #CJK UNIFIED IDEOGRAPH
+  {0xF570, 0x9C40}, //12767 #CJK UNIFIED IDEOGRAPH
+  {0xF571, 0x9C07}, //12768 #CJK UNIFIED IDEOGRAPH
+  {0xF572, 0x9C0E}, //12769 #CJK UNIFIED IDEOGRAPH
+  {0xF573, 0x9C06}, //12770 #CJK UNIFIED IDEOGRAPH
+  {0xF574, 0x9C17}, //12771 #CJK UNIFIED IDEOGRAPH
+  {0xF575, 0x9C14}, //12772 #CJK UNIFIED IDEOGRAPH
+  {0xF576, 0x9C09}, //12773 #CJK UNIFIED IDEOGRAPH
+  {0xF577, 0x9D9F}, //12774 #CJK UNIFIED IDEOGRAPH
+  {0xF578, 0x9D99}, //12775 #CJK UNIFIED IDEOGRAPH
+  {0xF579, 0x9DA4}, //12776 #CJK UNIFIED IDEOGRAPH
+  {0xF57A, 0x9D9D}, //12777 #CJK UNIFIED IDEOGRAPH
+  {0xF57B, 0x9D92}, //12778 #CJK UNIFIED IDEOGRAPH
+  {0xF57C, 0x9D98}, //12779 #CJK UNIFIED IDEOGRAPH
+  {0xF57D, 0x9D90}, //12780 #CJK UNIFIED IDEOGRAPH
+  {0xF57E, 0x9D9B}, //12781 #CJK UNIFIED IDEOGRAPH
+  {0xF5A1, 0x9DA0}, //12782 #CJK UNIFIED IDEOGRAPH
+  {0xF5A2, 0x9D94}, //12783 #CJK UNIFIED IDEOGRAPH
+  {0xF5A3, 0x9D9C}, //12784 #CJK UNIFIED IDEOGRAPH
+  {0xF5A4, 0x9DAA}, //12785 #CJK UNIFIED IDEOGRAPH
+  {0xF5A5, 0x9D97}, //12786 #CJK UNIFIED IDEOGRAPH
+  {0xF5A6, 0x9DA1}, //12787 #CJK UNIFIED IDEOGRAPH
+  {0xF5A7, 0x9D9A}, //12788 #CJK UNIFIED IDEOGRAPH
+  {0xF5A8, 0x9DA2}, //12789 #CJK UNIFIED IDEOGRAPH
+  {0xF5A9, 0x9DA8}, //12790 #CJK UNIFIED IDEOGRAPH
+  {0xF5AA, 0x9D9E}, //12791 #CJK UNIFIED IDEOGRAPH
+  {0xF5AB, 0x9DA3}, //12792 #CJK UNIFIED IDEOGRAPH
+  {0xF5AC, 0x9DBF}, //12793 #CJK UNIFIED IDEOGRAPH
+  {0xF5AD, 0x9DA9}, //12794 #CJK UNIFIED IDEOGRAPH
+  {0xF5AE, 0x9D96}, //12795 #CJK UNIFIED IDEOGRAPH
+  {0xF5AF, 0x9DA6}, //12796 #CJK UNIFIED IDEOGRAPH
+  {0xF5B0, 0x9DA7}, //12797 #CJK UNIFIED IDEOGRAPH
+  {0xF5B1, 0x9E99}, //12798 #CJK UNIFIED IDEOGRAPH
+  {0xF5B2, 0x9E9B}, //12799 #CJK UNIFIED IDEOGRAPH
+  {0xF5B3, 0x9E9A}, //12800 #CJK UNIFIED IDEOGRAPH
+  {0xF5B4, 0x9EE5}, //12801 #CJK UNIFIED IDEOGRAPH
+  {0xF5B5, 0x9EE4}, //12802 #CJK UNIFIED IDEOGRAPH
+  {0xF5B6, 0x9EE7}, //12803 #CJK UNIFIED IDEOGRAPH
+  {0xF5B7, 0x9EE6}, //12804 #CJK UNIFIED IDEOGRAPH
+  {0xF5B8, 0x9F30}, //12805 #CJK UNIFIED IDEOGRAPH
+  {0xF5B9, 0x9F2E}, //12806 #CJK UNIFIED IDEOGRAPH
+  {0xF5BA, 0x9F5B}, //12807 #CJK UNIFIED IDEOGRAPH
+  {0xF5BB, 0x9F60}, //12808 #CJK UNIFIED IDEOGRAPH
+  {0xF5BC, 0x9F5E}, //12809 #CJK UNIFIED IDEOGRAPH
+  {0xF5BD, 0x9F5D}, //12810 #CJK UNIFIED IDEOGRAPH
+  {0xF5BE, 0x9F59}, //12811 #CJK UNIFIED IDEOGRAPH
+  {0xF5BF, 0x9F91}, //12812 #CJK UNIFIED IDEOGRAPH
+  {0xF5C0, 0x513A}, //12813 #CJK UNIFIED IDEOGRAPH
+  {0xF5C1, 0x5139}, //12814 #CJK UNIFIED IDEOGRAPH
+  {0xF5C2, 0x5298}, //12815 #CJK UNIFIED IDEOGRAPH
+  {0xF5C3, 0x5297}, //12816 #CJK UNIFIED IDEOGRAPH
+  {0xF5C4, 0x56C3}, //12817 #CJK UNIFIED IDEOGRAPH
+  {0xF5C5, 0x56BD}, //12818 #CJK UNIFIED IDEOGRAPH
+  {0xF5C6, 0x56BE}, //12819 #CJK UNIFIED IDEOGRAPH
+  {0xF5C7, 0x5B48}, //12820 #CJK UNIFIED IDEOGRAPH
+  {0xF5C8, 0x5B47}, //12821 #CJK UNIFIED IDEOGRAPH
+  {0xF5C9, 0x5DCB}, //12822 #CJK UNIFIED IDEOGRAPH
+  {0xF5CA, 0x5DCF}, //12823 #CJK UNIFIED IDEOGRAPH
+  {0xF5CB, 0x5EF1}, //12824 #CJK UNIFIED IDEOGRAPH
+  {0xF5CC, 0x61FD}, //12825 #CJK UNIFIED IDEOGRAPH
+  {0xF5CD, 0x651B}, //12826 #CJK UNIFIED IDEOGRAPH
+  {0xF5CE, 0x6B02}, //12827 #CJK UNIFIED IDEOGRAPH
+  {0xF5CF, 0x6AFC}, //12828 #CJK UNIFIED IDEOGRAPH
+  {0xF5D0, 0x6B03}, //12829 #CJK UNIFIED IDEOGRAPH
+  {0xF5D1, 0x6AF8}, //12830 #CJK UNIFIED IDEOGRAPH
+  {0xF5D2, 0x6B00}, //12831 #CJK UNIFIED IDEOGRAPH
+  {0xF5D3, 0x7043}, //12832 #CJK UNIFIED IDEOGRAPH
+  {0xF5D4, 0x7044}, //12833 #CJK UNIFIED IDEOGRAPH
+  {0xF5D5, 0x704A}, //12834 #CJK UNIFIED IDEOGRAPH
+  {0xF5D6, 0x7048}, //12835 #CJK UNIFIED IDEOGRAPH
+  {0xF5D7, 0x7049}, //12836 #CJK UNIFIED IDEOGRAPH
+  {0xF5D8, 0x7045}, //12837 #CJK UNIFIED IDEOGRAPH
+  {0xF5D9, 0x7046}, //12838 #CJK UNIFIED IDEOGRAPH
+  {0xF5DA, 0x721D}, //12839 #CJK UNIFIED IDEOGRAPH
+  {0xF5DB, 0x721A}, //12840 #CJK UNIFIED IDEOGRAPH
+  {0xF5DC, 0x7219}, //12841 #CJK UNIFIED IDEOGRAPH
+  {0xF5DD, 0x737E}, //12842 #CJK UNIFIED IDEOGRAPH
+  {0xF5DE, 0x7517}, //12843 #CJK UNIFIED IDEOGRAPH
+  {0xF5DF, 0x766A}, //12844 #CJK UNIFIED IDEOGRAPH
+  {0xF5E0, 0x77D0}, //12845 #CJK UNIFIED IDEOGRAPH
+  {0xF5E1, 0x792D}, //12846 #CJK UNIFIED IDEOGRAPH
+  {0xF5E2, 0x7931}, //12847 #CJK UNIFIED IDEOGRAPH
+  {0xF5E3, 0x792F}, //12848 #CJK UNIFIED IDEOGRAPH
+  {0xF5E4, 0x7C54}, //12849 #CJK UNIFIED IDEOGRAPH
+  {0xF5E5, 0x7C53}, //12850 #CJK UNIFIED IDEOGRAPH
+  {0xF5E6, 0x7CF2}, //12851 #CJK UNIFIED IDEOGRAPH
+  {0xF5E7, 0x7E8A}, //12852 #CJK UNIFIED IDEOGRAPH
+  {0xF5E8, 0x7E87}, //12853 #CJK UNIFIED IDEOGRAPH
+  {0xF5E9, 0x7E88}, //12854 #CJK UNIFIED IDEOGRAPH
+  {0xF5EA, 0x7E8B}, //12855 #CJK UNIFIED IDEOGRAPH
+  {0xF5EB, 0x7E86}, //12856 #CJK UNIFIED IDEOGRAPH
+  {0xF5EC, 0x7E8D}, //12857 #CJK UNIFIED IDEOGRAPH
+  {0xF5ED, 0x7F4D}, //12858 #CJK UNIFIED IDEOGRAPH
+  {0xF5EE, 0x7FBB}, //12859 #CJK UNIFIED IDEOGRAPH
+  {0xF5EF, 0x8030}, //12860 #CJK UNIFIED IDEOGRAPH
+  {0xF5F0, 0x81DD}, //12861 #CJK UNIFIED IDEOGRAPH
+  {0xF5F1, 0x8618}, //12862 #CJK UNIFIED IDEOGRAPH
+  {0xF5F2, 0x862A}, //12863 #CJK UNIFIED IDEOGRAPH
+  {0xF5F3, 0x8626}, //12864 #CJK UNIFIED IDEOGRAPH
+  {0xF5F4, 0x861F}, //12865 #CJK UNIFIED IDEOGRAPH
+  {0xF5F5, 0x8623}, //12866 #CJK UNIFIED IDEOGRAPH
+  {0xF5F6, 0x861C}, //12867 #CJK UNIFIED IDEOGRAPH
+  {0xF5F7, 0x8619}, //12868 #CJK UNIFIED IDEOGRAPH
+  {0xF5F8, 0x8627}, //12869 #CJK UNIFIED IDEOGRAPH
+  {0xF5F9, 0x862E}, //12870 #CJK UNIFIED IDEOGRAPH
+  {0xF5FA, 0x8621}, //12871 #CJK UNIFIED IDEOGRAPH
+  {0xF5FB, 0x8620}, //12872 #CJK UNIFIED IDEOGRAPH
+  {0xF5FC, 0x8629}, //12873 #CJK UNIFIED IDEOGRAPH
+  {0xF5FD, 0x861E}, //12874 #CJK UNIFIED IDEOGRAPH
+  {0xF5FE, 0x8625}, //12875 #CJK UNIFIED IDEOGRAPH
+  {0xF640, 0x8829}, //12876 #CJK UNIFIED IDEOGRAPH
+  {0xF641, 0x881D}, //12877 #CJK UNIFIED IDEOGRAPH
+  {0xF642, 0x881B}, //12878 #CJK UNIFIED IDEOGRAPH
+  {0xF643, 0x8820}, //12879 #CJK UNIFIED IDEOGRAPH
+  {0xF644, 0x8824}, //12880 #CJK UNIFIED IDEOGRAPH
+  {0xF645, 0x881C}, //12881 #CJK UNIFIED IDEOGRAPH
+  {0xF646, 0x882B}, //12882 #CJK UNIFIED IDEOGRAPH
+  {0xF647, 0x884A}, //12883 #CJK UNIFIED IDEOGRAPH
+  {0xF648, 0x896D}, //12884 #CJK UNIFIED IDEOGRAPH
+  {0xF649, 0x8969}, //12885 #CJK UNIFIED IDEOGRAPH
+  {0xF64A, 0x896E}, //12886 #CJK UNIFIED IDEOGRAPH
+  {0xF64B, 0x896B}, //12887 #CJK UNIFIED IDEOGRAPH
+  {0xF64C, 0x89FA}, //12888 #CJK UNIFIED IDEOGRAPH
+  {0xF64D, 0x8B79}, //12889 #CJK UNIFIED IDEOGRAPH
+  {0xF64E, 0x8B78}, //12890 #CJK UNIFIED IDEOGRAPH
+  {0xF64F, 0x8B45}, //12891 #CJK UNIFIED IDEOGRAPH
+  {0xF650, 0x8B7A}, //12892 #CJK UNIFIED IDEOGRAPH
+  {0xF651, 0x8B7B}, //12893 #CJK UNIFIED IDEOGRAPH
+  {0xF652, 0x8D10}, //12894 #CJK UNIFIED IDEOGRAPH
+  {0xF653, 0x8D14}, //12895 #CJK UNIFIED IDEOGRAPH
+  {0xF654, 0x8DAF}, //12896 #CJK UNIFIED IDEOGRAPH
+  {0xF655, 0x8E8E}, //12897 #CJK UNIFIED IDEOGRAPH
+  {0xF656, 0x8E8C}, //12898 #CJK UNIFIED IDEOGRAPH
+  {0xF657, 0x8F5E}, //12899 #CJK UNIFIED IDEOGRAPH
+  {0xF658, 0x8F5B}, //12900 #CJK UNIFIED IDEOGRAPH
+  {0xF659, 0x8F5D}, //12901 #CJK UNIFIED IDEOGRAPH
+  {0xF65A, 0x9146}, //12902 #CJK UNIFIED IDEOGRAPH
+  {0xF65B, 0x9144}, //12903 #CJK UNIFIED IDEOGRAPH
+  {0xF65C, 0x9145}, //12904 #CJK UNIFIED IDEOGRAPH
+  {0xF65D, 0x91B9}, //12905 #CJK UNIFIED IDEOGRAPH
+  {0xF65E, 0x943F}, //12906 #CJK UNIFIED IDEOGRAPH
+  {0xF65F, 0x943B}, //12907 #CJK UNIFIED IDEOGRAPH
+  {0xF660, 0x9436}, //12908 #CJK UNIFIED IDEOGRAPH
+  {0xF661, 0x9429}, //12909 #CJK UNIFIED IDEOGRAPH
+  {0xF662, 0x943D}, //12910 #CJK UNIFIED IDEOGRAPH
+  {0xF663, 0x943C}, //12911 #CJK UNIFIED IDEOGRAPH
+  {0xF664, 0x9430}, //12912 #CJK UNIFIED IDEOGRAPH
+  {0xF665, 0x9439}, //12913 #CJK UNIFIED IDEOGRAPH
+  {0xF666, 0x942A}, //12914 #CJK UNIFIED IDEOGRAPH
+  {0xF667, 0x9437}, //12915 #CJK UNIFIED IDEOGRAPH
+  {0xF668, 0x942C}, //12916 #CJK UNIFIED IDEOGRAPH
+  {0xF669, 0x9440}, //12917 #CJK UNIFIED IDEOGRAPH
+  {0xF66A, 0x9431}, //12918 #CJK UNIFIED IDEOGRAPH
+  {0xF66B, 0x95E5}, //12919 #CJK UNIFIED IDEOGRAPH
+  {0xF66C, 0x95E4}, //12920 #CJK UNIFIED IDEOGRAPH
+  {0xF66D, 0x95E3}, //12921 #CJK UNIFIED IDEOGRAPH
+  {0xF66E, 0x9735}, //12922 #CJK UNIFIED IDEOGRAPH
+  {0xF66F, 0x973A}, //12923 #CJK UNIFIED IDEOGRAPH
+  {0xF670, 0x97BF}, //12924 #CJK UNIFIED IDEOGRAPH
+  {0xF671, 0x97E1}, //12925 #CJK UNIFIED IDEOGRAPH
+  {0xF672, 0x9864}, //12926 #CJK UNIFIED IDEOGRAPH
+  {0xF673, 0x98C9}, //12927 #CJK UNIFIED IDEOGRAPH
+  {0xF674, 0x98C6}, //12928 #CJK UNIFIED IDEOGRAPH
+  {0xF675, 0x98C0}, //12929 #CJK UNIFIED IDEOGRAPH
+  {0xF676, 0x9958}, //12930 #CJK UNIFIED IDEOGRAPH
+  {0xF677, 0x9956}, //12931 #CJK UNIFIED IDEOGRAPH
+  {0xF678, 0x9A39}, //12932 #CJK UNIFIED IDEOGRAPH
+  {0xF679, 0x9A3D}, //12933 #CJK UNIFIED IDEOGRAPH
+  {0xF67A, 0x9A46}, //12934 #CJK UNIFIED IDEOGRAPH
+  {0xF67B, 0x9A44}, //12935 #CJK UNIFIED IDEOGRAPH
+  {0xF67C, 0x9A42}, //12936 #CJK UNIFIED IDEOGRAPH
+  {0xF67D, 0x9A41}, //12937 #CJK UNIFIED IDEOGRAPH
+  {0xF67E, 0x9A3A}, //12938 #CJK UNIFIED IDEOGRAPH
+  {0xF6A1, 0x9A3F}, //12939 #CJK UNIFIED IDEOGRAPH
+  {0xF6A2, 0x9ACD}, //12940 #CJK UNIFIED IDEOGRAPH
+  {0xF6A3, 0x9B15}, //12941 #CJK UNIFIED IDEOGRAPH
+  {0xF6A4, 0x9B17}, //12942 #CJK UNIFIED IDEOGRAPH
+  {0xF6A5, 0x9B18}, //12943 #CJK UNIFIED IDEOGRAPH
+  {0xF6A6, 0x9B16}, //12944 #CJK UNIFIED IDEOGRAPH
+  {0xF6A7, 0x9B3A}, //12945 #CJK UNIFIED IDEOGRAPH
+  {0xF6A8, 0x9B52}, //12946 #CJK UNIFIED IDEOGRAPH
+  {0xF6A9, 0x9C2B}, //12947 #CJK UNIFIED IDEOGRAPH
+  {0xF6AA, 0x9C1D}, //12948 #CJK UNIFIED IDEOGRAPH
+  {0xF6AB, 0x9C1C}, //12949 #CJK UNIFIED IDEOGRAPH
+  {0xF6AC, 0x9C2C}, //12950 #CJK UNIFIED IDEOGRAPH
+  {0xF6AD, 0x9C23}, //12951 #CJK UNIFIED IDEOGRAPH
+  {0xF6AE, 0x9C28}, //12952 #CJK UNIFIED IDEOGRAPH
+  {0xF6AF, 0x9C29}, //12953 #CJK UNIFIED IDEOGRAPH
+  {0xF6B0, 0x9C24}, //12954 #CJK UNIFIED IDEOGRAPH
+  {0xF6B1, 0x9C21}, //12955 #CJK UNIFIED IDEOGRAPH
+  {0xF6B2, 0x9DB7}, //12956 #CJK UNIFIED IDEOGRAPH
+  {0xF6B3, 0x9DB6}, //12957 #CJK UNIFIED IDEOGRAPH
+  {0xF6B4, 0x9DBC}, //12958 #CJK UNIFIED IDEOGRAPH
+  {0xF6B5, 0x9DC1}, //12959 #CJK UNIFIED IDEOGRAPH
+  {0xF6B6, 0x9DC7}, //12960 #CJK UNIFIED IDEOGRAPH
+  {0xF6B7, 0x9DCA}, //12961 #CJK UNIFIED IDEOGRAPH
+  {0xF6B8, 0x9DCF}, //12962 #CJK UNIFIED IDEOGRAPH
+  {0xF6B9, 0x9DBE}, //12963 #CJK UNIFIED IDEOGRAPH
+  {0xF6BA, 0x9DC5}, //12964 #CJK UNIFIED IDEOGRAPH
+  {0xF6BB, 0x9DC3}, //12965 #CJK UNIFIED IDEOGRAPH
+  {0xF6BC, 0x9DBB}, //12966 #CJK UNIFIED IDEOGRAPH
+  {0xF6BD, 0x9DB5}, //12967 #CJK UNIFIED IDEOGRAPH
+  {0xF6BE, 0x9DCE}, //12968 #CJK UNIFIED IDEOGRAPH
+  {0xF6BF, 0x9DB9}, //12969 #CJK UNIFIED IDEOGRAPH
+  {0xF6C0, 0x9DBA}, //12970 #CJK UNIFIED IDEOGRAPH
+  {0xF6C1, 0x9DAC}, //12971 #CJK UNIFIED IDEOGRAPH
+  {0xF6C2, 0x9DC8}, //12972 #CJK UNIFIED IDEOGRAPH
+  {0xF6C3, 0x9DB1}, //12973 #CJK UNIFIED IDEOGRAPH
+  {0xF6C4, 0x9DAD}, //12974 #CJK UNIFIED IDEOGRAPH
+  {0xF6C5, 0x9DCC}, //12975 #CJK UNIFIED IDEOGRAPH
+  {0xF6C6, 0x9DB3}, //12976 #CJK UNIFIED IDEOGRAPH
+  {0xF6C7, 0x9DCD}, //12977 #CJK UNIFIED IDEOGRAPH
+  {0xF6C8, 0x9DB2}, //12978 #CJK UNIFIED IDEOGRAPH
+  {0xF6C9, 0x9E7A}, //12979 #CJK UNIFIED IDEOGRAPH
+  {0xF6CA, 0x9E9C}, //12980 #CJK UNIFIED IDEOGRAPH
+  {0xF6CB, 0x9EEB}, //12981 #CJK UNIFIED IDEOGRAPH
+  {0xF6CC, 0x9EEE}, //12982 #CJK UNIFIED IDEOGRAPH
+  {0xF6CD, 0x9EED}, //12983 #CJK UNIFIED IDEOGRAPH
+  {0xF6CE, 0x9F1B}, //12984 #CJK UNIFIED IDEOGRAPH
+  {0xF6CF, 0x9F18}, //12985 #CJK UNIFIED IDEOGRAPH
+  {0xF6D0, 0x9F1A}, //12986 #CJK UNIFIED IDEOGRAPH
+  {0xF6D1, 0x9F31}, //12987 #CJK UNIFIED IDEOGRAPH
+  {0xF6D2, 0x9F4E}, //12988 #CJK UNIFIED IDEOGRAPH
+  {0xF6D3, 0x9F65}, //12989 #CJK UNIFIED IDEOGRAPH
+  {0xF6D4, 0x9F64}, //12990 #CJK UNIFIED IDEOGRAPH
+  {0xF6D5, 0x9F92}, //12991 #CJK UNIFIED IDEOGRAPH
+  {0xF6D6, 0x4EB9}, //12992 #CJK UNIFIED IDEOGRAPH
+  {0xF6D7, 0x56C6}, //12993 #CJK UNIFIED IDEOGRAPH
+  {0xF6D8, 0x56C5}, //12994 #CJK UNIFIED IDEOGRAPH
+  {0xF6D9, 0x56CB}, //12995 #CJK UNIFIED IDEOGRAPH
+  {0xF6DA, 0x5971}, //12996 #CJK UNIFIED IDEOGRAPH
+  {0xF6DB, 0x5B4B}, //12997 #CJK UNIFIED IDEOGRAPH
+  {0xF6DC, 0x5B4C}, //12998 #CJK UNIFIED IDEOGRAPH
+  {0xF6DD, 0x5DD5}, //12999 #CJK UNIFIED IDEOGRAPH
+  {0xF6DE, 0x5DD1}, //13000 #CJK UNIFIED IDEOGRAPH
+  {0xF6DF, 0x5EF2}, //13001 #CJK UNIFIED IDEOGRAPH
+  {0xF6E0, 0x6521}, //13002 #CJK UNIFIED IDEOGRAPH
+  {0xF6E1, 0x6520}, //13003 #CJK UNIFIED IDEOGRAPH
+  {0xF6E2, 0x6526}, //13004 #CJK UNIFIED IDEOGRAPH
+  {0xF6E3, 0x6522}, //13005 #CJK UNIFIED IDEOGRAPH
+  {0xF6E4, 0x6B0B}, //13006 #CJK UNIFIED IDEOGRAPH
+  {0xF6E5, 0x6B08}, //13007 #CJK UNIFIED IDEOGRAPH
+  {0xF6E6, 0x6B09}, //13008 #CJK UNIFIED IDEOGRAPH
+  {0xF6E7, 0x6C0D}, //13009 #CJK UNIFIED IDEOGRAPH
+  {0xF6E8, 0x7055}, //13010 #CJK UNIFIED IDEOGRAPH
+  {0xF6E9, 0x7056}, //13011 #CJK UNIFIED IDEOGRAPH
+  {0xF6EA, 0x7057}, //13012 #CJK UNIFIED IDEOGRAPH
+  {0xF6EB, 0x7052}, //13013 #CJK UNIFIED IDEOGRAPH
+  {0xF6EC, 0x721E}, //13014 #CJK UNIFIED IDEOGRAPH
+  {0xF6ED, 0x721F}, //13015 #CJK UNIFIED IDEOGRAPH
+  {0xF6EE, 0x72A9}, //13016 #CJK UNIFIED IDEOGRAPH
+  {0xF6EF, 0x737F}, //13017 #CJK UNIFIED IDEOGRAPH
+  {0xF6F0, 0x74D8}, //13018 #CJK UNIFIED IDEOGRAPH
+  {0xF6F1, 0x74D5}, //13019 #CJK UNIFIED IDEOGRAPH
+  {0xF6F2, 0x74D9}, //13020 #CJK UNIFIED IDEOGRAPH
+  {0xF6F3, 0x74D7}, //13021 #CJK UNIFIED IDEOGRAPH
+  {0xF6F4, 0x766D}, //13022 #CJK UNIFIED IDEOGRAPH
+  {0xF6F5, 0x76AD}, //13023 #CJK UNIFIED IDEOGRAPH
+  {0xF6F6, 0x7935}, //13024 #CJK UNIFIED IDEOGRAPH
+  {0xF6F7, 0x79B4}, //13025 #CJK UNIFIED IDEOGRAPH
+  {0xF6F8, 0x7A70}, //13026 #CJK UNIFIED IDEOGRAPH
+  {0xF6F9, 0x7A71}, //13027 #CJK UNIFIED IDEOGRAPH
+  {0xF6FA, 0x7C57}, //13028 #CJK UNIFIED IDEOGRAPH
+  {0xF6FB, 0x7C5C}, //13029 #CJK UNIFIED IDEOGRAPH
+  {0xF6FC, 0x7C59}, //13030 #CJK UNIFIED IDEOGRAPH
+  {0xF6FD, 0x7C5B}, //13031 #CJK UNIFIED IDEOGRAPH
+  {0xF6FE, 0x7C5A}, //13032 #CJK UNIFIED IDEOGRAPH
+  {0xF740, 0x7CF4}, //13033 #CJK UNIFIED IDEOGRAPH
+  {0xF741, 0x7CF1}, //13034 #CJK UNIFIED IDEOGRAPH
+  {0xF742, 0x7E91}, //13035 #CJK UNIFIED IDEOGRAPH
+  {0xF743, 0x7F4F}, //13036 #CJK UNIFIED IDEOGRAPH
+  {0xF744, 0x7F87}, //13037 #CJK UNIFIED IDEOGRAPH
+  {0xF745, 0x81DE}, //13038 #CJK UNIFIED IDEOGRAPH
+  {0xF746, 0x826B}, //13039 #CJK UNIFIED IDEOGRAPH
+  {0xF747, 0x8634}, //13040 #CJK UNIFIED IDEOGRAPH
+  {0xF748, 0x8635}, //13041 #CJK UNIFIED IDEOGRAPH
+  {0xF749, 0x8633}, //13042 #CJK UNIFIED IDEOGRAPH
+  {0xF74A, 0x862C}, //13043 #CJK UNIFIED IDEOGRAPH
+  {0xF74B, 0x8632}, //13044 #CJK UNIFIED IDEOGRAPH
+  {0xF74C, 0x8636}, //13045 #CJK UNIFIED IDEOGRAPH
+  {0xF74D, 0x882C}, //13046 #CJK UNIFIED IDEOGRAPH
+  {0xF74E, 0x8828}, //13047 #CJK UNIFIED IDEOGRAPH
+  {0xF74F, 0x8826}, //13048 #CJK UNIFIED IDEOGRAPH
+  {0xF750, 0x882A}, //13049 #CJK UNIFIED IDEOGRAPH
+  {0xF751, 0x8825}, //13050 #CJK UNIFIED IDEOGRAPH
+  {0xF752, 0x8971}, //13051 #CJK UNIFIED IDEOGRAPH
+  {0xF753, 0x89BF}, //13052 #CJK UNIFIED IDEOGRAPH
+  {0xF754, 0x89BE}, //13053 #CJK UNIFIED IDEOGRAPH
+  {0xF755, 0x89FB}, //13054 #CJK UNIFIED IDEOGRAPH
+  {0xF756, 0x8B7E}, //13055 #CJK UNIFIED IDEOGRAPH
+  {0xF757, 0x8B84}, //13056 #CJK UNIFIED IDEOGRAPH
+  {0xF758, 0x8B82}, //13057 #CJK UNIFIED IDEOGRAPH
+  {0xF759, 0x8B86}, //13058 #CJK UNIFIED IDEOGRAPH
+  {0xF75A, 0x8B85}, //13059 #CJK UNIFIED IDEOGRAPH
+  {0xF75B, 0x8B7F}, //13060 #CJK UNIFIED IDEOGRAPH
+  {0xF75C, 0x8D15}, //13061 #CJK UNIFIED IDEOGRAPH
+  {0xF75D, 0x8E95}, //13062 #CJK UNIFIED IDEOGRAPH
+  {0xF75E, 0x8E94}, //13063 #CJK UNIFIED IDEOGRAPH
+  {0xF75F, 0x8E9A}, //13064 #CJK UNIFIED IDEOGRAPH
+  {0xF760, 0x8E92}, //13065 #CJK UNIFIED IDEOGRAPH
+  {0xF761, 0x8E90}, //13066 #CJK UNIFIED IDEOGRAPH
+  {0xF762, 0x8E96}, //13067 #CJK UNIFIED IDEOGRAPH
+  {0xF763, 0x8E97}, //13068 #CJK UNIFIED IDEOGRAPH
+  {0xF764, 0x8F60}, //13069 #CJK UNIFIED IDEOGRAPH
+  {0xF765, 0x8F62}, //13070 #CJK UNIFIED IDEOGRAPH
+  {0xF766, 0x9147}, //13071 #CJK UNIFIED IDEOGRAPH
+  {0xF767, 0x944C}, //13072 #CJK UNIFIED IDEOGRAPH
+  {0xF768, 0x9450}, //13073 #CJK UNIFIED IDEOGRAPH
+  {0xF769, 0x944A}, //13074 #CJK UNIFIED IDEOGRAPH
+  {0xF76A, 0x944B}, //13075 #CJK UNIFIED IDEOGRAPH
+  {0xF76B, 0x944F}, //13076 #CJK UNIFIED IDEOGRAPH
+  {0xF76C, 0x9447}, //13077 #CJK UNIFIED IDEOGRAPH
+  {0xF76D, 0x9445}, //13078 #CJK UNIFIED IDEOGRAPH
+  {0xF76E, 0x9448}, //13079 #CJK UNIFIED IDEOGRAPH
+  {0xF76F, 0x9449}, //13080 #CJK UNIFIED IDEOGRAPH
+  {0xF770, 0x9446}, //13081 #CJK UNIFIED IDEOGRAPH
+  {0xF771, 0x973F}, //13082 #CJK UNIFIED IDEOGRAPH
+  {0xF772, 0x97E3}, //13083 #CJK UNIFIED IDEOGRAPH
+  {0xF773, 0x986A}, //13084 #CJK UNIFIED IDEOGRAPH
+  {0xF774, 0x9869}, //13085 #CJK UNIFIED IDEOGRAPH
+  {0xF775, 0x98CB}, //13086 #CJK UNIFIED IDEOGRAPH
+  {0xF776, 0x9954}, //13087 #CJK UNIFIED IDEOGRAPH
+  {0xF777, 0x995B}, //13088 #CJK UNIFIED IDEOGRAPH
+  {0xF778, 0x9A4E}, //13089 #CJK UNIFIED IDEOGRAPH
+  {0xF779, 0x9A53}, //13090 #CJK UNIFIED IDEOGRAPH
+  {0xF77A, 0x9A54}, //13091 #CJK UNIFIED IDEOGRAPH
+  {0xF77B, 0x9A4C}, //13092 #CJK UNIFIED IDEOGRAPH
+  {0xF77C, 0x9A4F}, //13093 #CJK UNIFIED IDEOGRAPH
+  {0xF77D, 0x9A48}, //13094 #CJK UNIFIED IDEOGRAPH
+  {0xF77E, 0x9A4A}, //13095 #CJK UNIFIED IDEOGRAPH
+  {0xF7A1, 0x9A49}, //13096 #CJK UNIFIED IDEOGRAPH
+  {0xF7A2, 0x9A52}, //13097 #CJK UNIFIED IDEOGRAPH
+  {0xF7A3, 0x9A50}, //13098 #CJK UNIFIED IDEOGRAPH
+  {0xF7A4, 0x9AD0}, //13099 #CJK UNIFIED IDEOGRAPH
+  {0xF7A5, 0x9B19}, //13100 #CJK UNIFIED IDEOGRAPH
+  {0xF7A6, 0x9B2B}, //13101 #CJK UNIFIED IDEOGRAPH
+  {0xF7A7, 0x9B3B}, //13102 #CJK UNIFIED IDEOGRAPH
+  {0xF7A8, 0x9B56}, //13103 #CJK UNIFIED IDEOGRAPH
+  {0xF7A9, 0x9B55}, //13104 #CJK UNIFIED IDEOGRAPH
+  {0xF7AA, 0x9C46}, //13105 #CJK UNIFIED IDEOGRAPH
+  {0xF7AB, 0x9C48}, //13106 #CJK UNIFIED IDEOGRAPH
+  {0xF7AC, 0x9C3F}, //13107 #CJK UNIFIED IDEOGRAPH
+  {0xF7AD, 0x9C44}, //13108 #CJK UNIFIED IDEOGRAPH
+  {0xF7AE, 0x9C39}, //13109 #CJK UNIFIED IDEOGRAPH
+  {0xF7AF, 0x9C33}, //13110 #CJK UNIFIED IDEOGRAPH
+  {0xF7B0, 0x9C41}, //13111 #CJK UNIFIED IDEOGRAPH
+  {0xF7B1, 0x9C3C}, //13112 #CJK UNIFIED IDEOGRAPH
+  {0xF7B2, 0x9C37}, //13113 #CJK UNIFIED IDEOGRAPH
+  {0xF7B3, 0x9C34}, //13114 #CJK UNIFIED IDEOGRAPH
+  {0xF7B4, 0x9C32}, //13115 #CJK UNIFIED IDEOGRAPH
+  {0xF7B5, 0x9C3D}, //13116 #CJK UNIFIED IDEOGRAPH
+  {0xF7B6, 0x9C36}, //13117 #CJK UNIFIED IDEOGRAPH
+  {0xF7B7, 0x9DDB}, //13118 #CJK UNIFIED IDEOGRAPH
+  {0xF7B8, 0x9DD2}, //13119 #CJK UNIFIED IDEOGRAPH
+  {0xF7B9, 0x9DDE}, //13120 #CJK UNIFIED IDEOGRAPH
+  {0xF7BA, 0x9DDA}, //13121 #CJK UNIFIED IDEOGRAPH
+  {0xF7BB, 0x9DCB}, //13122 #CJK UNIFIED IDEOGRAPH
+  {0xF7BC, 0x9DD0}, //13123 #CJK UNIFIED IDEOGRAPH
+  {0xF7BD, 0x9DDC}, //13124 #CJK UNIFIED IDEOGRAPH
+  {0xF7BE, 0x9DD1}, //13125 #CJK UNIFIED IDEOGRAPH
+  {0xF7BF, 0x9DDF}, //13126 #CJK UNIFIED IDEOGRAPH
+  {0xF7C0, 0x9DE9}, //13127 #CJK UNIFIED IDEOGRAPH
+  {0xF7C1, 0x9DD9}, //13128 #CJK UNIFIED IDEOGRAPH
+  {0xF7C2, 0x9DD8}, //13129 #CJK UNIFIED IDEOGRAPH
+  {0xF7C3, 0x9DD6}, //13130 #CJK UNIFIED IDEOGRAPH
+  {0xF7C4, 0x9DF5}, //13131 #CJK UNIFIED IDEOGRAPH
+  {0xF7C5, 0x9DD5}, //13132 #CJK UNIFIED IDEOGRAPH
+  {0xF7C6, 0x9DDD}, //13133 #CJK UNIFIED IDEOGRAPH
+  {0xF7C7, 0x9EB6}, //13134 #CJK UNIFIED IDEOGRAPH
+  {0xF7C8, 0x9EF0}, //13135 #CJK UNIFIED IDEOGRAPH
+  {0xF7C9, 0x9F35}, //13136 #CJK UNIFIED IDEOGRAPH
+  {0xF7CA, 0x9F33}, //13137 #CJK UNIFIED IDEOGRAPH
+  {0xF7CB, 0x9F32}, //13138 #CJK UNIFIED IDEOGRAPH
+  {0xF7CC, 0x9F42}, //13139 #CJK UNIFIED IDEOGRAPH
+  {0xF7CD, 0x9F6B}, //13140 #CJK UNIFIED IDEOGRAPH
+  {0xF7CE, 0x9F95}, //13141 #CJK UNIFIED IDEOGRAPH
+  {0xF7CF, 0x9FA2}, //13142 #CJK UNIFIED IDEOGRAPH
+  {0xF7D0, 0x513D}, //13143 #CJK UNIFIED IDEOGRAPH
+  {0xF7D1, 0x5299}, //13144 #CJK UNIFIED IDEOGRAPH
+  {0xF7D2, 0x58E8}, //13145 #CJK UNIFIED IDEOGRAPH
+  {0xF7D3, 0x58E7}, //13146 #CJK UNIFIED IDEOGRAPH
+  {0xF7D4, 0x5972}, //13147 #CJK UNIFIED IDEOGRAPH
+  {0xF7D5, 0x5B4D}, //13148 #CJK UNIFIED IDEOGRAPH
+  {0xF7D6, 0x5DD8}, //13149 #CJK UNIFIED IDEOGRAPH
+  {0xF7D7, 0x882F}, //13150 #CJK UNIFIED IDEOGRAPH
+  {0xF7D8, 0x5F4F}, //13151 #CJK UNIFIED IDEOGRAPH
+  {0xF7D9, 0x6201}, //13152 #CJK UNIFIED IDEOGRAPH
+  {0xF7DA, 0x6203}, //13153 #CJK UNIFIED IDEOGRAPH
+  {0xF7DB, 0x6204}, //13154 #CJK UNIFIED IDEOGRAPH
+  {0xF7DC, 0x6529}, //13155 #CJK UNIFIED IDEOGRAPH
+  {0xF7DD, 0x6525}, //13156 #CJK UNIFIED IDEOGRAPH
+  {0xF7DE, 0x6596}, //13157 #CJK UNIFIED IDEOGRAPH
+  {0xF7DF, 0x66EB}, //13158 #CJK UNIFIED IDEOGRAPH
+  {0xF7E0, 0x6B11}, //13159 #CJK UNIFIED IDEOGRAPH
+  {0xF7E1, 0x6B12}, //13160 #CJK UNIFIED IDEOGRAPH
+  {0xF7E2, 0x6B0F}, //13161 #CJK UNIFIED IDEOGRAPH
+  {0xF7E3, 0x6BCA}, //13162 #CJK UNIFIED IDEOGRAPH
+  {0xF7E4, 0x705B}, //13163 #CJK UNIFIED IDEOGRAPH
+  {0xF7E5, 0x705A}, //13164 #CJK UNIFIED IDEOGRAPH
+  {0xF7E6, 0x7222}, //13165 #CJK UNIFIED IDEOGRAPH
+  {0xF7E7, 0x7382}, //13166 #CJK UNIFIED IDEOGRAPH
+  {0xF7E8, 0x7381}, //13167 #CJK UNIFIED IDEOGRAPH
+  {0xF7E9, 0x7383}, //13168 #CJK UNIFIED IDEOGRAPH
+  {0xF7EA, 0x7670}, //13169 #CJK UNIFIED IDEOGRAPH
+  {0xF7EB, 0x77D4}, //13170 #CJK UNIFIED IDEOGRAPH
+  {0xF7EC, 0x7C67}, //13171 #CJK UNIFIED IDEOGRAPH
+  {0xF7ED, 0x7C66}, //13172 #CJK UNIFIED IDEOGRAPH
+  {0xF7EE, 0x7E95}, //13173 #CJK UNIFIED IDEOGRAPH
+  {0xF7EF, 0x826C}, //13174 #CJK UNIFIED IDEOGRAPH
+  {0xF7F0, 0x863A}, //13175 #CJK UNIFIED IDEOGRAPH
+  {0xF7F1, 0x8640}, //13176 #CJK UNIFIED IDEOGRAPH
+  {0xF7F2, 0x8639}, //13177 #CJK UNIFIED IDEOGRAPH
+  {0xF7F3, 0x863C}, //13178 #CJK UNIFIED IDEOGRAPH
+  {0xF7F4, 0x8631}, //13179 #CJK UNIFIED IDEOGRAPH
+  {0xF7F5, 0x863B}, //13180 #CJK UNIFIED IDEOGRAPH
+  {0xF7F6, 0x863E}, //13181 #CJK UNIFIED IDEOGRAPH
+  {0xF7F7, 0x8830}, //13182 #CJK UNIFIED IDEOGRAPH
+  {0xF7F8, 0x8832}, //13183 #CJK UNIFIED IDEOGRAPH
+  {0xF7F9, 0x882E}, //13184 #CJK UNIFIED IDEOGRAPH
+  {0xF7FA, 0x8833}, //13185 #CJK UNIFIED IDEOGRAPH
+  {0xF7FB, 0x8976}, //13186 #CJK UNIFIED IDEOGRAPH
+  {0xF7FC, 0x8974}, //13187 #CJK UNIFIED IDEOGRAPH
+  {0xF7FD, 0x8973}, //13188 #CJK UNIFIED IDEOGRAPH
+  {0xF7FE, 0x89FE}, //13189 #CJK UNIFIED IDEOGRAPH
+  {0xF840, 0x8B8C}, //13190 #CJK UNIFIED IDEOGRAPH
+  {0xF841, 0x8B8E}, //13191 #CJK UNIFIED IDEOGRAPH
+  {0xF842, 0x8B8B}, //13192 #CJK UNIFIED IDEOGRAPH
+  {0xF843, 0x8B88}, //13193 #CJK UNIFIED IDEOGRAPH
+  {0xF844, 0x8C45}, //13194 #CJK UNIFIED IDEOGRAPH
+  {0xF845, 0x8D19}, //13195 #CJK UNIFIED IDEOGRAPH
+  {0xF846, 0x8E98}, //13196 #CJK UNIFIED IDEOGRAPH
+  {0xF847, 0x8F64}, //13197 #CJK UNIFIED IDEOGRAPH
+  {0xF848, 0x8F63}, //13198 #CJK UNIFIED IDEOGRAPH
+  {0xF849, 0x91BC}, //13199 #CJK UNIFIED IDEOGRAPH
+  {0xF84A, 0x9462}, //13200 #CJK UNIFIED IDEOGRAPH
+  {0xF84B, 0x9455}, //13201 #CJK UNIFIED IDEOGRAPH
+  {0xF84C, 0x945D}, //13202 #CJK UNIFIED IDEOGRAPH
+  {0xF84D, 0x9457}, //13203 #CJK UNIFIED IDEOGRAPH
+  {0xF84E, 0x945E}, //13204 #CJK UNIFIED IDEOGRAPH
+  {0xF84F, 0x97C4}, //13205 #CJK UNIFIED IDEOGRAPH
+  {0xF850, 0x97C5}, //13206 #CJK UNIFIED IDEOGRAPH
+  {0xF851, 0x9800}, //13207 #CJK UNIFIED IDEOGRAPH
+  {0xF852, 0x9A56}, //13208 #CJK UNIFIED IDEOGRAPH
+  {0xF853, 0x9A59}, //13209 #CJK UNIFIED IDEOGRAPH
+  {0xF854, 0x9B1E}, //13210 #CJK UNIFIED IDEOGRAPH
+  {0xF855, 0x9B1F}, //13211 #CJK UNIFIED IDEOGRAPH
+  {0xF856, 0x9B20}, //13212 #CJK UNIFIED IDEOGRAPH
+  {0xF857, 0x9C52}, //13213 #CJK UNIFIED IDEOGRAPH
+  {0xF858, 0x9C58}, //13214 #CJK UNIFIED IDEOGRAPH
+  {0xF859, 0x9C50}, //13215 #CJK UNIFIED IDEOGRAPH
+  {0xF85A, 0x9C4A}, //13216 #CJK UNIFIED IDEOGRAPH
+  {0xF85B, 0x9C4D}, //13217 #CJK UNIFIED IDEOGRAPH
+  {0xF85C, 0x9C4B}, //13218 #CJK UNIFIED IDEOGRAPH
+  {0xF85D, 0x9C55}, //13219 #CJK UNIFIED IDEOGRAPH
+  {0xF85E, 0x9C59}, //13220 #CJK UNIFIED IDEOGRAPH
+  {0xF85F, 0x9C4C}, //13221 #CJK UNIFIED IDEOGRAPH
+  {0xF860, 0x9C4E}, //13222 #CJK UNIFIED IDEOGRAPH
+  {0xF861, 0x9DFB}, //13223 #CJK UNIFIED IDEOGRAPH
+  {0xF862, 0x9DF7}, //13224 #CJK UNIFIED IDEOGRAPH
+  {0xF863, 0x9DEF}, //13225 #CJK UNIFIED IDEOGRAPH
+  {0xF864, 0x9DE3}, //13226 #CJK UNIFIED IDEOGRAPH
+  {0xF865, 0x9DEB}, //13227 #CJK UNIFIED IDEOGRAPH
+  {0xF866, 0x9DF8}, //13228 #CJK UNIFIED IDEOGRAPH
+  {0xF867, 0x9DE4}, //13229 #CJK UNIFIED IDEOGRAPH
+  {0xF868, 0x9DF6}, //13230 #CJK UNIFIED IDEOGRAPH
+  {0xF869, 0x9DE1}, //13231 #CJK UNIFIED IDEOGRAPH
+  {0xF86A, 0x9DEE}, //13232 #CJK UNIFIED IDEOGRAPH
+  {0xF86B, 0x9DE6}, //13233 #CJK UNIFIED IDEOGRAPH
+  {0xF86C, 0x9DF2}, //13234 #CJK UNIFIED IDEOGRAPH
+  {0xF86D, 0x9DF0}, //13235 #CJK UNIFIED IDEOGRAPH
+  {0xF86E, 0x9DE2}, //13236 #CJK UNIFIED IDEOGRAPH
+  {0xF86F, 0x9DEC}, //13237 #CJK UNIFIED IDEOGRAPH
+  {0xF870, 0x9DF4}, //13238 #CJK UNIFIED IDEOGRAPH
+  {0xF871, 0x9DF3}, //13239 #CJK UNIFIED IDEOGRAPH
+  {0xF872, 0x9DE8}, //13240 #CJK UNIFIED IDEOGRAPH
+  {0xF873, 0x9DED}, //13241 #CJK UNIFIED IDEOGRAPH
+  {0xF874, 0x9EC2}, //13242 #CJK UNIFIED IDEOGRAPH
+  {0xF875, 0x9ED0}, //13243 #CJK UNIFIED IDEOGRAPH
+  {0xF876, 0x9EF2}, //13244 #CJK UNIFIED IDEOGRAPH
+  {0xF877, 0x9EF3}, //13245 #CJK UNIFIED IDEOGRAPH
+  {0xF878, 0x9F06}, //13246 #CJK UNIFIED IDEOGRAPH
+  {0xF879, 0x9F1C}, //13247 #CJK UNIFIED IDEOGRAPH
+  {0xF87A, 0x9F38}, //13248 #CJK UNIFIED IDEOGRAPH
+  {0xF87B, 0x9F37}, //13249 #CJK UNIFIED IDEOGRAPH
+  {0xF87C, 0x9F36}, //13250 #CJK UNIFIED IDEOGRAPH
+  {0xF87D, 0x9F43}, //13251 #CJK UNIFIED IDEOGRAPH
+  {0xF87E, 0x9F4F}, //13252 #CJK UNIFIED IDEOGRAPH
+  {0xF8A1, 0x9F71}, //13253 #CJK UNIFIED IDEOGRAPH
+  {0xF8A2, 0x9F70}, //13254 #CJK UNIFIED IDEOGRAPH
+  {0xF8A3, 0x9F6E}, //13255 #CJK UNIFIED IDEOGRAPH
+  {0xF8A4, 0x9F6F}, //13256 #CJK UNIFIED IDEOGRAPH
+  {0xF8A5, 0x56D3}, //13257 #CJK UNIFIED IDEOGRAPH
+  {0xF8A6, 0x56CD}, //13258 #CJK UNIFIED IDEOGRAPH
+  {0xF8A7, 0x5B4E}, //13259 #CJK UNIFIED IDEOGRAPH
+  {0xF8A8, 0x5C6D}, //13260 #CJK UNIFIED IDEOGRAPH
+  {0xF8A9, 0x652D}, //13261 #CJK UNIFIED IDEOGRAPH
+  {0xF8AA, 0x66ED}, //13262 #CJK UNIFIED IDEOGRAPH
+  {0xF8AB, 0x66EE}, //13263 #CJK UNIFIED IDEOGRAPH
+  {0xF8AC, 0x6B13}, //13264 #CJK UNIFIED IDEOGRAPH
+  {0xF8AD, 0x705F}, //13265 #CJK UNIFIED IDEOGRAPH
+  {0xF8AE, 0x7061}, //13266 #CJK UNIFIED IDEOGRAPH
+  {0xF8AF, 0x705D}, //13267 #CJK UNIFIED IDEOGRAPH
+  {0xF8B0, 0x7060}, //13268 #CJK UNIFIED IDEOGRAPH
+  {0xF8B1, 0x7223}, //13269 #CJK UNIFIED IDEOGRAPH
+  {0xF8B2, 0x74DB}, //13270 #CJK UNIFIED IDEOGRAPH
+  {0xF8B3, 0x74E5}, //13271 #CJK UNIFIED IDEOGRAPH
+  {0xF8B4, 0x77D5}, //13272 #CJK UNIFIED IDEOGRAPH
+  {0xF8B5, 0x7938}, //13273 #CJK UNIFIED IDEOGRAPH
+  {0xF8B6, 0x79B7}, //13274 #CJK UNIFIED IDEOGRAPH
+  {0xF8B7, 0x79B6}, //13275 #CJK UNIFIED IDEOGRAPH
+  {0xF8B8, 0x7C6A}, //13276 #CJK UNIFIED IDEOGRAPH
+  {0xF8B9, 0x7E97}, //13277 #CJK UNIFIED IDEOGRAPH
+  {0xF8BA, 0x7F89}, //13278 #CJK UNIFIED IDEOGRAPH
+  {0xF8BB, 0x826D}, //13279 #CJK UNIFIED IDEOGRAPH
+  {0xF8BC, 0x8643}, //13280 #CJK UNIFIED IDEOGRAPH
+  {0xF8BD, 0x8838}, //13281 #CJK UNIFIED IDEOGRAPH
+  {0xF8BE, 0x8837}, //13282 #CJK UNIFIED IDEOGRAPH
+  {0xF8BF, 0x8835}, //13283 #CJK UNIFIED IDEOGRAPH
+  {0xF8C0, 0x884B}, //13284 #CJK UNIFIED IDEOGRAPH
+  {0xF8C1, 0x8B94}, //13285 #CJK UNIFIED IDEOGRAPH
+  {0xF8C2, 0x8B95}, //13286 #CJK UNIFIED IDEOGRAPH
+  {0xF8C3, 0x8E9E}, //13287 #CJK UNIFIED IDEOGRAPH
+  {0xF8C4, 0x8E9F}, //13288 #CJK UNIFIED IDEOGRAPH
+  {0xF8C5, 0x8EA0}, //13289 #CJK UNIFIED IDEOGRAPH
+  {0xF8C6, 0x8E9D}, //13290 #CJK UNIFIED IDEOGRAPH
+  {0xF8C7, 0x91BE}, //13291 #CJK UNIFIED IDEOGRAPH
+  {0xF8C8, 0x91BD}, //13292 #CJK UNIFIED IDEOGRAPH
+  {0xF8C9, 0x91C2}, //13293 #CJK UNIFIED IDEOGRAPH
+  {0xF8CA, 0x946B}, //13294 #CJK UNIFIED IDEOGRAPH
+  {0xF8CB, 0x9468}, //13295 #CJK UNIFIED IDEOGRAPH
+  {0xF8CC, 0x9469}, //13296 #CJK UNIFIED IDEOGRAPH
+  {0xF8CD, 0x96E5}, //13297 #CJK UNIFIED IDEOGRAPH
+  {0xF8CE, 0x9746}, //13298 #CJK UNIFIED IDEOGRAPH
+  {0xF8CF, 0x9743}, //13299 #CJK UNIFIED IDEOGRAPH
+  {0xF8D0, 0x9747}, //13300 #CJK UNIFIED IDEOGRAPH
+  {0xF8D1, 0x97C7}, //13301 #CJK UNIFIED IDEOGRAPH
+  {0xF8D2, 0x97E5}, //13302 #CJK UNIFIED IDEOGRAPH
+  {0xF8D3, 0x9A5E}, //13303 #CJK UNIFIED IDEOGRAPH
+  {0xF8D4, 0x9AD5}, //13304 #CJK UNIFIED IDEOGRAPH
+  {0xF8D5, 0x9B59}, //13305 #CJK UNIFIED IDEOGRAPH
+  {0xF8D6, 0x9C63}, //13306 #CJK UNIFIED IDEOGRAPH
+  {0xF8D7, 0x9C67}, //13307 #CJK UNIFIED IDEOGRAPH
+  {0xF8D8, 0x9C66}, //13308 #CJK UNIFIED IDEOGRAPH
+  {0xF8D9, 0x9C62}, //13309 #CJK UNIFIED IDEOGRAPH
+  {0xF8DA, 0x9C5E}, //13310 #CJK UNIFIED IDEOGRAPH
+  {0xF8DB, 0x9C60}, //13311 #CJK UNIFIED IDEOGRAPH
+  {0xF8DC, 0x9E02}, //13312 #CJK UNIFIED IDEOGRAPH
+  {0xF8DD, 0x9DFE}, //13313 #CJK UNIFIED IDEOGRAPH
+  {0xF8DE, 0x9E07}, //13314 #CJK UNIFIED IDEOGRAPH
+  {0xF8DF, 0x9E03}, //13315 #CJK UNIFIED IDEOGRAPH
+  {0xF8E0, 0x9E06}, //13316 #CJK UNIFIED IDEOGRAPH
+  {0xF8E1, 0x9E05}, //13317 #CJK UNIFIED IDEOGRAPH
+  {0xF8E2, 0x9E00}, //13318 #CJK UNIFIED IDEOGRAPH
+  {0xF8E3, 0x9E01}, //13319 #CJK UNIFIED IDEOGRAPH
+  {0xF8E4, 0x9E09}, //13320 #CJK UNIFIED IDEOGRAPH
+  {0xF8E5, 0x9DFF}, //13321 #CJK UNIFIED IDEOGRAPH
+  {0xF8E6, 0x9DFD}, //13322 #CJK UNIFIED IDEOGRAPH
+  {0xF8E7, 0x9E04}, //13323 #CJK UNIFIED IDEOGRAPH
+  {0xF8E8, 0x9EA0}, //13324 #CJK UNIFIED IDEOGRAPH
+  {0xF8E9, 0x9F1E}, //13325 #CJK UNIFIED IDEOGRAPH
+  {0xF8EA, 0x9F46}, //13326 #CJK UNIFIED IDEOGRAPH
+  {0xF8EB, 0x9F74}, //13327 #CJK UNIFIED IDEOGRAPH
+  {0xF8EC, 0x9F75}, //13328 #CJK UNIFIED IDEOGRAPH
+  {0xF8ED, 0x9F76}, //13329 #CJK UNIFIED IDEOGRAPH
+  {0xF8EE, 0x56D4}, //13330 #CJK UNIFIED IDEOGRAPH
+  {0xF8EF, 0x652E}, //13331 #CJK UNIFIED IDEOGRAPH
+  {0xF8F0, 0x65B8}, //13332 #CJK UNIFIED IDEOGRAPH
+  {0xF8F1, 0x6B18}, //13333 #CJK UNIFIED IDEOGRAPH
+  {0xF8F2, 0x6B19}, //13334 #CJK UNIFIED IDEOGRAPH
+  {0xF8F3, 0x6B17}, //13335 #CJK UNIFIED IDEOGRAPH
+  {0xF8F4, 0x6B1A}, //13336 #CJK UNIFIED IDEOGRAPH
+  {0xF8F5, 0x7062}, //13337 #CJK UNIFIED IDEOGRAPH
+  {0xF8F6, 0x7226}, //13338 #CJK UNIFIED IDEOGRAPH
+  {0xF8F7, 0x72AA}, //13339 #CJK UNIFIED IDEOGRAPH
+  {0xF8F8, 0x77D8}, //13340 #CJK UNIFIED IDEOGRAPH
+  {0xF8F9, 0x77D9}, //13341 #CJK UNIFIED IDEOGRAPH
+  {0xF8FA, 0x7939}, //13342 #CJK UNIFIED IDEOGRAPH
+  {0xF8FB, 0x7C69}, //13343 #CJK UNIFIED IDEOGRAPH
+  {0xF8FC, 0x7C6B}, //13344 #CJK UNIFIED IDEOGRAPH
+  {0xF8FD, 0x7CF6}, //13345 #CJK UNIFIED IDEOGRAPH
+  {0xF8FE, 0x7E9A}, //13346 #CJK UNIFIED IDEOGRAPH
+  {0xF940, 0x7E98}, //13347 #CJK UNIFIED IDEOGRAPH
+  {0xF941, 0x7E9B}, //13348 #CJK UNIFIED IDEOGRAPH
+  {0xF942, 0x7E99}, //13349 #CJK UNIFIED IDEOGRAPH
+  {0xF943, 0x81E0}, //13350 #CJK UNIFIED IDEOGRAPH
+  {0xF944, 0x81E1}, //13351 #CJK UNIFIED IDEOGRAPH
+  {0xF945, 0x8646}, //13352 #CJK UNIFIED IDEOGRAPH
+  {0xF946, 0x8647}, //13353 #CJK UNIFIED IDEOGRAPH
+  {0xF947, 0x8648}, //13354 #CJK UNIFIED IDEOGRAPH
+  {0xF948, 0x8979}, //13355 #CJK UNIFIED IDEOGRAPH
+  {0xF949, 0x897A}, //13356 #CJK UNIFIED IDEOGRAPH
+  {0xF94A, 0x897C}, //13357 #CJK UNIFIED IDEOGRAPH
+  {0xF94B, 0x897B}, //13358 #CJK UNIFIED IDEOGRAPH
+  {0xF94C, 0x89FF}, //13359 #CJK UNIFIED IDEOGRAPH
+  {0xF94D, 0x8B98}, //13360 #CJK UNIFIED IDEOGRAPH
+  {0xF94E, 0x8B99}, //13361 #CJK UNIFIED IDEOGRAPH
+  {0xF94F, 0x8EA5}, //13362 #CJK UNIFIED IDEOGRAPH
+  {0xF950, 0x8EA4}, //13363 #CJK UNIFIED IDEOGRAPH
+  {0xF951, 0x8EA3}, //13364 #CJK UNIFIED IDEOGRAPH
+  {0xF952, 0x946E}, //13365 #CJK UNIFIED IDEOGRAPH
+  {0xF953, 0x946D}, //13366 #CJK UNIFIED IDEOGRAPH
+  {0xF954, 0x946F}, //13367 #CJK UNIFIED IDEOGRAPH
+  {0xF955, 0x9471}, //13368 #CJK UNIFIED IDEOGRAPH
+  {0xF956, 0x9473}, //13369 #CJK UNIFIED IDEOGRAPH
+  {0xF957, 0x9749}, //13370 #CJK UNIFIED IDEOGRAPH
+  {0xF958, 0x9872}, //13371 #CJK UNIFIED IDEOGRAPH
+  {0xF959, 0x995F}, //13372 #CJK UNIFIED IDEOGRAPH
+  {0xF95A, 0x9C68}, //13373 #CJK UNIFIED IDEOGRAPH
+  {0xF95B, 0x9C6E}, //13374 #CJK UNIFIED IDEOGRAPH
+  {0xF95C, 0x9C6D}, //13375 #CJK UNIFIED IDEOGRAPH
+  {0xF95D, 0x9E0B}, //13376 #CJK UNIFIED IDEOGRAPH
+  {0xF95E, 0x9E0D}, //13377 #CJK UNIFIED IDEOGRAPH
+  {0xF95F, 0x9E10}, //13378 #CJK UNIFIED IDEOGRAPH
+  {0xF960, 0x9E0F}, //13379 #CJK UNIFIED IDEOGRAPH
+  {0xF961, 0x9E12}, //13380 #CJK UNIFIED IDEOGRAPH
+  {0xF962, 0x9E11}, //13381 #CJK UNIFIED IDEOGRAPH
+  {0xF963, 0x9EA1}, //13382 #CJK UNIFIED IDEOGRAPH
+  {0xF964, 0x9EF5}, //13383 #CJK UNIFIED IDEOGRAPH
+  {0xF965, 0x9F09}, //13384 #CJK UNIFIED IDEOGRAPH
+  {0xF966, 0x9F47}, //13385 #CJK UNIFIED IDEOGRAPH
+  {0xF967, 0x9F78}, //13386 #CJK UNIFIED IDEOGRAPH
+  {0xF968, 0x9F7B}, //13387 #CJK UNIFIED IDEOGRAPH
+  {0xF969, 0x9F7A}, //13388 #CJK UNIFIED IDEOGRAPH
+  {0xF96A, 0x9F79}, //13389 #CJK UNIFIED IDEOGRAPH
+  {0xF96B, 0x571E}, //13390 #CJK UNIFIED IDEOGRAPH
+  {0xF96C, 0x7066}, //13391 #CJK UNIFIED IDEOGRAPH
+  {0xF96D, 0x7C6F}, //13392 #CJK UNIFIED IDEOGRAPH
+  {0xF96E, 0x883C}, //13393 #CJK UNIFIED IDEOGRAPH
+  {0xF96F, 0x8DB2}, //13394 #CJK UNIFIED IDEOGRAPH
+  {0xF970, 0x8EA6}, //13395 #CJK UNIFIED IDEOGRAPH
+  {0xF971, 0x91C3}, //13396 #CJK UNIFIED IDEOGRAPH
+  {0xF972, 0x9474}, //13397 #CJK UNIFIED IDEOGRAPH
+  {0xF973, 0x9478}, //13398 #CJK UNIFIED IDEOGRAPH
+  {0xF974, 0x9476}, //13399 #CJK UNIFIED IDEOGRAPH
+  {0xF975, 0x9475}, //13400 #CJK UNIFIED IDEOGRAPH
+  {0xF976, 0x9A60}, //13401 #CJK UNIFIED IDEOGRAPH
+  {0xF977, 0x9C74}, //13402 #CJK UNIFIED IDEOGRAPH
+  {0xF978, 0x9C73}, //13403 #CJK UNIFIED IDEOGRAPH
+  {0xF979, 0x9C71}, //13404 #CJK UNIFIED IDEOGRAPH
+  {0xF97A, 0x9C75}, //13405 #CJK UNIFIED IDEOGRAPH
+  {0xF97B, 0x9E14}, //13406 #CJK UNIFIED IDEOGRAPH
+  {0xF97C, 0x9E13}, //13407 #CJK UNIFIED IDEOGRAPH
+  {0xF97D, 0x9EF6}, //13408 #CJK UNIFIED IDEOGRAPH
+  {0xF97E, 0x9F0A}, //13409 #CJK UNIFIED IDEOGRAPH
+  {0xF9A1, 0x9FA4}, //13410 #CJK UNIFIED IDEOGRAPH
+  {0xF9A2, 0x7068}, //13411 #CJK UNIFIED IDEOGRAPH
+  {0xF9A3, 0x7065}, //13412 #CJK UNIFIED IDEOGRAPH
+  {0xF9A4, 0x7CF7}, //13413 #CJK UNIFIED IDEOGRAPH
+  {0xF9A5, 0x866A}, //13414 #CJK UNIFIED IDEOGRAPH
+  {0xF9A6, 0x883E}, //13415 #CJK UNIFIED IDEOGRAPH
+  {0xF9A7, 0x883D}, //13416 #CJK UNIFIED IDEOGRAPH
+  {0xF9A8, 0x883F}, //13417 #CJK UNIFIED IDEOGRAPH
+  {0xF9A9, 0x8B9E}, //13418 #CJK UNIFIED IDEOGRAPH
+  {0xF9AA, 0x8C9C}, //13419 #CJK UNIFIED IDEOGRAPH
+  {0xF9AB, 0x8EA9}, //13420 #CJK UNIFIED IDEOGRAPH
+  {0xF9AC, 0x8EC9}, //13421 #CJK UNIFIED IDEOGRAPH
+  {0xF9AD, 0x974B}, //13422 #CJK UNIFIED IDEOGRAPH
+  {0xF9AE, 0x9873}, //13423 #CJK UNIFIED IDEOGRAPH
+  {0xF9AF, 0x9874}, //13424 #CJK UNIFIED IDEOGRAPH
+  {0xF9B0, 0x98CC}, //13425 #CJK UNIFIED IDEOGRAPH
+  {0xF9B1, 0x9961}, //13426 #CJK UNIFIED IDEOGRAPH
+  {0xF9B2, 0x99AB}, //13427 #CJK UNIFIED IDEOGRAPH
+  {0xF9B3, 0x9A64}, //13428 #CJK UNIFIED IDEOGRAPH
+  {0xF9B4, 0x9A66}, //13429 #CJK UNIFIED IDEOGRAPH
+  {0xF9B5, 0x9A67}, //13430 #CJK UNIFIED IDEOGRAPH
+  {0xF9B6, 0x9B24}, //13431 #CJK UNIFIED IDEOGRAPH
+  {0xF9B7, 0x9E15}, //13432 #CJK UNIFIED IDEOGRAPH
+  {0xF9B8, 0x9E17}, //13433 #CJK UNIFIED IDEOGRAPH
+  {0xF9B9, 0x9F48}, //13434 #CJK UNIFIED IDEOGRAPH
+  {0xF9BA, 0x6207}, //13435 #CJK UNIFIED IDEOGRAPH
+  {0xF9BB, 0x6B1E}, //13436 #CJK UNIFIED IDEOGRAPH
+  {0xF9BC, 0x7227}, //13437 #CJK UNIFIED IDEOGRAPH
+  {0xF9BD, 0x864C}, //13438 #CJK UNIFIED IDEOGRAPH
+  {0xF9BE, 0x8EA8}, //13439 #CJK UNIFIED IDEOGRAPH
+  {0xF9BF, 0x9482}, //13440 #CJK UNIFIED IDEOGRAPH
+  {0xF9C0, 0x9480}, //13441 #CJK UNIFIED IDEOGRAPH
+  {0xF9C1, 0x9481}, //13442 #CJK UNIFIED IDEOGRAPH
+  {0xF9C2, 0x9A69}, //13443 #CJK UNIFIED IDEOGRAPH
+  {0xF9C3, 0x9A68}, //13444 #CJK UNIFIED IDEOGRAPH
+  {0xF9C4, 0x9B2E}, //13445 #CJK UNIFIED IDEOGRAPH
+  {0xF9C5, 0x9E19}, //13446 #CJK UNIFIED IDEOGRAPH
+  {0xF9C6, 0x7229}, //13447 #CJK UNIFIED IDEOGRAPH
+  {0xF9C7, 0x864B}, //13448 #CJK UNIFIED IDEOGRAPH
+  {0xF9C8, 0x8B9F}, //13449 #CJK UNIFIED IDEOGRAPH
+  {0xF9C9, 0x9483}, //13450 #CJK UNIFIED IDEOGRAPH
+  {0xF9CA, 0x9C79}, //13451 #CJK UNIFIED IDEOGRAPH
+  {0xF9CB, 0x9EB7}, //13452 #CJK UNIFIED IDEOGRAPH
+  {0xF9CC, 0x7675}, //13453 #CJK UNIFIED IDEOGRAPH
+  {0xF9CD, 0x9A6B}, //13454 #CJK UNIFIED IDEOGRAPH
+  {0xF9CE, 0x9C7A}, //13455 #CJK UNIFIED IDEOGRAPH
+  {0xF9CF, 0x9E1D}, //13456 #CJK UNIFIED IDEOGRAPH
+  {0xF9D0, 0x7069}, //13457 #CJK UNIFIED IDEOGRAPH
+  {0xF9D1, 0x706A}, //13458 #CJK UNIFIED IDEOGRAPH
+  {0xF9D2, 0x9EA4}, //13459 #CJK UNIFIED IDEOGRAPH
+  {0xF9D3, 0x9F7E}, //13460 #CJK UNIFIED IDEOGRAPH
+  {0xF9D4, 0x9F49}, //13461 #CJK UNIFIED IDEOGRAPH
+  {0xF9D5, 0x9F98}, //13462 #CJK UNIFIED IDEOGRAPH
+  {0xF9D6, 0x7881}, //13463 #CJK UNIFIED IDEOGRAPH
+  {0xF9D7, 0x92B9}, //13464 #CJK UNIFIED IDEOGRAPH
+  {0xF9D8, 0x88CF}, //13465 #CJK UNIFIED IDEOGRAPH
+  {0xF9D9, 0x58BB}, //13466 #CJK UNIFIED IDEOGRAPH
+  {0xF9DA, 0x6052}, //13467 #CJK UNIFIED IDEOGRAPH
+  {0xF9DB, 0x7CA7}, //13468 #CJK UNIFIED IDEOGRAPH
+  {0xF9DC, 0x5AFA}, //13469 #CJK UNIFIED IDEOGRAPH
+  {0xF9DD, 0x2554}, //13470 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+  {0xF9DE, 0x2566}, //13471 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+  {0xF9DF, 0x2557}, //13472 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+  {0xF9E0, 0x2560}, //13473 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+  {0xF9E1, 0x256C}, //13474 #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+  {0xF9E2, 0x2563}, //13475 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+  {0xF9E3, 0x255A}, //13476 #BOX DRAWINGS DOUBLE UP AND RIGHT
+  {0xF9E4, 0x2569}, //13477 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+  {0xF9E5, 0x255D}, //13478 #BOX DRAWINGS DOUBLE UP AND LEFT
+  {0xF9E6, 0x2552}, //13479 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+  {0xF9E7, 0x2564}, //13480 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+  {0xF9E8, 0x2555}, //13481 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+  {0xF9E9, 0x255E}, //13482 #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+  {0xF9EA, 0x256A}, //13483 #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+  {0xF9EB, 0x2561}, //13484 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+  {0xF9EC, 0x2558}, //13485 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+  {0xF9ED, 0x2567}, //13486 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+  {0xF9EE, 0x255B}, //13487 #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+  {0xF9EF, 0x2553}, //13488 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+  {0xF9F0, 0x2565}, //13489 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+  {0xF9F1, 0x2556}, //13490 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+  {0xF9F2, 0x255F}, //13491 #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+  {0xF9F3, 0x256B}, //13492 #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+  {0xF9F4, 0x2562}, //13493 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+  {0xF9F5, 0x2559}, //13494 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+  {0xF9F6, 0x2568}, //13495 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+  {0xF9F7, 0x255C}, //13496 #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+  {0xF9F8, 0x2551}, //13497 #BOX DRAWINGS DOUBLE VERTICAL
+  {0xF9F9, 0x2550}, //13498 #BOX DRAWINGS DOUBLE HORIZONTAL
+  {0xF9FA, 0x256D}, //13499 #BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+  {0xF9FB, 0x256E}, //13500 #BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+  {0xF9FC, 0x2570}, //13501 #BOX DRAWINGS LIGHT ARC UP AND RIGHT
+  {0xF9FD, 0x256F}, //13502 #BOX DRAWINGS LIGHT ARC UP AND LEFT
+  {0xF9FE, 0x2593}, //13503 #DARK SHADE
+};
+
+#endif // DRW_CPTABLE950_H
diff --git a/src/app/dwg/libdxfrw/intern/drw_cptables.h b/src/app/dwg/libdxfrw/intern/drw_cptables.h
new file mode 100644
index 0000000..a0135d5
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/drw_cptables.h
@@ -0,0 +1,1340 @@
+#ifndef DRW_CPTABLES_H
+#define DRW_CPTABLES_H
+
+//first entry in all tables are 0x80
+#define CPOFFSET 0x80
+#define CPLENGHTCOMMON 128
+
+//Table 874
+static const int DRW_Table874[] =
+{
+  0x20AC, //1 #EURO SIGN
+  0x00  , //2 #UNDEFINED
+  0x00  , //3 #UNDEFINED
+  0x00  , //4 #UNDEFINED
+  0x00  , //5 #UNDEFINED
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x00  , //7 #UNDEFINED
+  0x00  , //8 #UNDEFINED
+  0x00  , //9 #UNDEFINED
+  0x00  , //10 #UNDEFINED
+  0x00  , //11 #UNDEFINED
+  0x00  , //12 #UNDEFINED
+  0x00  , //13 #UNDEFINED
+  0x00  , //14 #UNDEFINED
+  0x00  , //15 #UNDEFINED
+  0x00  , //16 #UNDEFINED
+  0x00  , //17 #UNDEFINED
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x00  , //25 #UNDEFINED
+  0x00  , //26 #UNDEFINED
+  0x00  , //27 #UNDEFINED
+  0x00  , //28 #UNDEFINED
+  0x00  , //29 #UNDEFINED
+  0x00  , //30 #UNDEFINED
+  0x00  , //31 #UNDEFINED
+  0x00  , //32 #UNDEFINED
+  0x00A0, //33 #NO-BREAK SPACE
+  0x0E01, //34 #THAI CHARACTER KO KAI
+  0x0E02, //35 #THAI CHARACTER KHO KHAI
+  0x0E03, //36 #THAI CHARACTER KHO KHUAT
+  0x0E04, //37 #THAI CHARACTER KHO KHWAI
+  0x0E05, //38 #THAI CHARACTER KHO KHON
+  0x0E06, //39 #THAI CHARACTER KHO RAKHANG
+  0x0E07, //40 #THAI CHARACTER NGO NGU
+  0x0E08, //41 #THAI CHARACTER CHO CHAN
+  0x0E09, //42 #THAI CHARACTER CHO CHING
+  0x0E0A, //43 #THAI CHARACTER CHO CHANG
+  0x0E0B, //44 #THAI CHARACTER SO SO
+  0x0E0C, //45 #THAI CHARACTER CHO CHOE
+  0x0E0D, //46 #THAI CHARACTER YO YING
+  0x0E0E, //47 #THAI CHARACTER DO CHADA
+  0x0E0F, //48 #THAI CHARACTER TO PATAK
+  0x0E10, //49 #THAI CHARACTER THO THAN
+  0x0E11, //50 #THAI CHARACTER THO NANGMONTHO
+  0x0E12, //51 #THAI CHARACTER THO PHUTHAO
+  0x0E13, //52 #THAI CHARACTER NO NEN
+  0x0E14, //53 #THAI CHARACTER DO DEK
+  0x0E15, //54 #THAI CHARACTER TO TAO
+  0x0E16, //55 #THAI CHARACTER THO THUNG
+  0x0E17, //56 #THAI CHARACTER THO THAHAN
+  0x0E18, //57 #THAI CHARACTER THO THONG
+  0x0E19, //58 #THAI CHARACTER NO NU
+  0x0E1A, //59 #THAI CHARACTER BO BAIMAI
+  0x0E1B, //60 #THAI CHARACTER PO PLA
+  0x0E1C, //61 #THAI CHARACTER PHO PHUNG
+  0x0E1D, //62 #THAI CHARACTER FO FA
+  0x0E1E, //63 #THAI CHARACTER PHO PHAN
+  0x0E1F, //64 #THAI CHARACTER FO FAN
+  0x0E20, //65 #THAI CHARACTER PHO SAMPHAO
+  0x0E21, //66 #THAI CHARACTER MO MA
+  0x0E22, //67 #THAI CHARACTER YO YAK
+  0x0E23, //68 #THAI CHARACTER RO RUA
+  0x0E24, //69 #THAI CHARACTER RU
+  0x0E25, //70 #THAI CHARACTER LO LING
+  0x0E26, //71 #THAI CHARACTER LU
+  0x0E27, //72 #THAI CHARACTER WO WAEN
+  0x0E28, //73 #THAI CHARACTER SO SALA
+  0x0E29, //74 #THAI CHARACTER SO RUSI
+  0x0E2A, //75 #THAI CHARACTER SO SUA
+  0x0E2B, //76 #THAI CHARACTER HO HIP
+  0x0E2C, //77 #THAI CHARACTER LO CHULA
+  0x0E2D, //78 #THAI CHARACTER O ANG
+  0x0E2E, //79 #THAI CHARACTER HO NOKHUK
+  0x0E2F, //80 #THAI CHARACTER PAIYANNOI
+  0x0E30, //81 #THAI CHARACTER SARA A
+  0x0E31, //82 #THAI CHARACTER MAI HAN-AKAT
+  0x0E32, //83 #THAI CHARACTER SARA AA
+  0x0E33, //84 #THAI CHARACTER SARA AM
+  0x0E34, //85 #THAI CHARACTER SARA I
+  0x0E35, //86 #THAI CHARACTER SARA II
+  0x0E36, //87 #THAI CHARACTER SARA UE
+  0x0E37, //88 #THAI CHARACTER SARA UEE
+  0x0E38, //89 #THAI CHARACTER SARA U
+  0x0E39, //90 #THAI CHARACTER SARA UU
+  0x0E3A, //91 #THAI CHARACTER PHINTHU
+  0x00  , //92 #UNDEFINED
+  0x00  , //93 #UNDEFINED
+  0x00  , //94 #UNDEFINED
+  0x00  , //95 #UNDEFINED
+  0x0E3F, //96 #THAI CURRENCY SYMBOL BAHT
+  0x0E40, //97 #THAI CHARACTER SARA E
+  0x0E41, //98 #THAI CHARACTER SARA AE
+  0x0E42, //99 #THAI CHARACTER SARA O
+  0x0E43, //100 #THAI CHARACTER SARA AI MAIMUAN
+  0x0E44, //101 #THAI CHARACTER SARA AI MAIMALAI
+  0x0E45, //102 #THAI CHARACTER LAKKHANGYAO
+  0x0E46, //103 #THAI CHARACTER MAIYAMOK
+  0x0E47, //104 #THAI CHARACTER MAITAIKHU
+  0x0E48, //105 #THAI CHARACTER MAI EK
+  0x0E49, //106 #THAI CHARACTER MAI THO
+  0x0E4A, //107 #THAI CHARACTER MAI TRI
+  0x0E4B, //108 #THAI CHARACTER MAI CHATTAWA
+  0x0E4C, //109 #THAI CHARACTER THANTHAKHAT
+  0x0E4D, //110 #THAI CHARACTER NIKHAHIT
+  0x0E4E, //111 #THAI CHARACTER YAMAKKAN
+  0x0E4F, //112 #THAI CHARACTER FONGMAN
+  0x0E50, //113 #THAI DIGIT ZERO
+  0x0E51, //114 #THAI DIGIT ONE
+  0x0E52, //115 #THAI DIGIT TWO
+  0x0E53, //116 #THAI DIGIT THREE
+  0x0E54, //117 #THAI DIGIT FOUR
+  0x0E55, //118 #THAI DIGIT FIVE
+  0x0E56, //119 #THAI DIGIT SIX
+  0x0E57, //120 #THAI DIGIT SEVEN
+  0x0E58, //121 #THAI DIGIT EIGHT
+  0x0E59, //122 #THAI DIGIT NINE
+  0x0E5A, //123 #THAI CHARACTER ANGKHANKHU
+  0x0E5B, //124 #THAI CHARACTER KHOMUT
+  0x00  , //125 #UNDEFINED
+  0x00  , //126 #UNDEFINED
+  0x00  , //127 #UNDEFINED
+  0x00    //128 #UNDEFINED
+};
+
+//Table 1250
+static const int DRW_Table1250[] =
+{
+  0x20AC, //1 #EURO SIGN
+  0x00,   //2 #UNDEFINED
+  0x201A, //3 #SINGLE LOW-9 QUOTATION MARK
+  0x00,   //4 #UNDEFINED
+  0x201E, //5 #DOUBLE LOW-9 QUOTATION MARK
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x2020, //7 #DAGGER
+  0x2021, //8 #DOUBLE DAGGER
+  0x00,   //9 #UNDEFINED
+  0x2030, //10 #PER MILLE SIGN
+  0x0160, //11 #LATIN CAPITAL LETTER S WITH CARON
+  0x2039, //12 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+  0x015A, //13 #LATIN CAPITAL LETTER S WITH ACUTE
+  0x0164, //14 #LATIN CAPITAL LETTER T WITH CARON
+  0x017D, //15 #LATIN CAPITAL LETTER Z WITH CARON
+  0x0179, //16 #LATIN CAPITAL LETTER Z WITH ACUTE
+  0x00,   //17 #UNDEFINED
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x00,   //25 #UNDEFINED
+  0x2122, //26 #TRADE MARK SIGN
+  0x0161, //27 #LATIN SMALL LETTER S WITH CARON
+  0x203A, //28 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+  0x015B, //29 #LATIN SMALL LETTER S WITH ACUTE
+  0x0165, //30 #LATIN SMALL LETTER T WITH CARON
+  0x017E, //31 #LATIN SMALL LETTER Z WITH CARON
+  0x017A, //32 #LATIN SMALL LETTER Z WITH ACUTE
+  0x00A0, //33 #NO-BREAK SPACE
+  0x02C7, //34 #CARON
+  0x02D8, //35 #BREVE
+  0x0141, //36 #LATIN CAPITAL LETTER L WITH STROKE
+  0x00A4, //37 #CURRENCY SIGN
+  0x0104, //38 #LATIN CAPITAL LETTER A WITH OGONEK
+  0x00A6, //39 #BROKEN BAR
+  0x00A7, //40 #SECTION SIGN
+  0x00A8, //41 #DIAERESIS
+  0x00A9, //42 #COPYRIGHT SIGN
+  0x015E, //43 #LATIN CAPITAL LETTER S WITH CEDILLA
+  0x00AB, //44 #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00AC, //45 #NOT SIGN
+  0x00AD, //46 #SOFT HYPHEN
+  0x00AE, //47 #REGISTERED SIGN
+  0x017B, //48 #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+  0x00B0, //49 #DEGREE SIGN
+  0x00B1, //50 #PLUS-MINUS SIGN
+  0x02DB, //51 #OGONEK
+  0x0142, //52 #LATIN SMALL LETTER L WITH STROKE
+  0x00B4, //53 #ACUTE ACCENT
+  0x00B5, //54 #MICRO SIGN
+  0x00B6, //55 #PILCROW SIGN
+  0x00B7, //56 #MIDDLE DOT
+  0x00B8, //57 #CEDILLA
+  0x0105, //58 #LATIN SMALL LETTER A WITH OGONEK
+  0x015F, //59 #LATIN SMALL LETTER S WITH CEDILLA
+  0x00BB, //60 #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x013D, //61 #LATIN CAPITAL LETTER L WITH CARON
+  0x02DD, //62 #DOUBLE ACUTE ACCENT
+  0x013E, //63 #LATIN SMALL LETTER L WITH CARON
+  0x017C, //64 #LATIN SMALL LETTER Z WITH DOT ABOVE
+  0x0154, //65 #LATIN CAPITAL LETTER R WITH ACUTE
+  0x00C1, //66 #LATIN CAPITAL LETTER A WITH ACUTE
+  0x00C2, //67 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+  0x0102, //68 #LATIN CAPITAL LETTER A WITH BREVE
+  0x00C4, //69 #LATIN CAPITAL LETTER A WITH DIAERESIS
+  0x0139, //70 #LATIN CAPITAL LETTER L WITH ACUTE
+  0x0106, //71 #LATIN CAPITAL LETTER C WITH ACUTE
+  0x00C7, //72 #LATIN CAPITAL LETTER C WITH CEDILLA
+  0x010C, //73 #LATIN CAPITAL LETTER C WITH CARON
+  0x00C9, //74 #LATIN CAPITAL LETTER E WITH ACUTE
+  0x0118, //75 #LATIN CAPITAL LETTER E WITH OGONEK
+  0x00CB, //76 #LATIN CAPITAL LETTER E WITH DIAERESIS
+  0x011A, //77 #LATIN CAPITAL LETTER E WITH CARON
+  0x00CD, //78 #LATIN CAPITAL LETTER I WITH ACUTE
+  0x00CE, //79 #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+  0x010E, //80 #LATIN CAPITAL LETTER D WITH CARON
+  0x0110, //81 #LATIN CAPITAL LETTER D WITH STROKE
+  0x0143, //82 #LATIN CAPITAL LETTER N WITH ACUTE
+  0x0147, //83 #LATIN CAPITAL LETTER N WITH CARON
+  0x00D3, //84 #LATIN CAPITAL LETTER O WITH ACUTE
+  0x00D4, //85 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+  0x0150, //86 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+  0x00D6, //87 #LATIN CAPITAL LETTER O WITH DIAERESIS
+  0x00D7, //88 #MULTIPLICATION SIGN
+  0x0158, //89 #LATIN CAPITAL LETTER R WITH CARON
+  0x016E, //90 #LATIN CAPITAL LETTER U WITH RING ABOVE
+  0x00DA, //91 #LATIN CAPITAL LETTER U WITH ACUTE
+  0x0170, //92 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+  0x00DC, //93 #LATIN CAPITAL LETTER U WITH DIAERESIS
+  0x00DD, //94 #LATIN CAPITAL LETTER Y WITH ACUTE
+  0x0162, //95 #LATIN CAPITAL LETTER T WITH CEDILLA
+  0x00DF, //96 #LATIN SMALL LETTER SHARP S
+  0x0155, //97 #LATIN SMALL LETTER R WITH ACUTE
+  0x00E1, //98 #LATIN SMALL LETTER A WITH ACUTE
+  0x00E2, //99 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+  0x0103, //100 #LATIN SMALL LETTER A WITH BREVE
+  0x00E4, //101 #LATIN SMALL LETTER A WITH DIAERESIS
+  0x013A, //102 #LATIN SMALL LETTER L WITH ACUTE
+  0x0107, //103 #LATIN SMALL LETTER C WITH ACUTE
+  0x00E7, //104 #LATIN SMALL LETTER C WITH CEDILLA
+  0x010D, //105 #LATIN SMALL LETTER C WITH CARON
+  0x00E9, //106 #LATIN SMALL LETTER E WITH ACUTE
+  0x0119, //107 #LATIN SMALL LETTER E WITH OGONEK
+  0x00EB, //108 #LATIN SMALL LETTER E WITH DIAERESIS
+  0x011B, //109 #LATIN SMALL LETTER E WITH CARON
+  0x00ED, //110 #LATIN SMALL LETTER I WITH ACUTE
+  0x00EE, //111 #LATIN SMALL LETTER I WITH CIRCUMFLEX
+  0x010F, //112 #LATIN SMALL LETTER D WITH CARON
+  0x0111, //113 #LATIN SMALL LETTER D WITH STROKE
+  0x0144, //114 #LATIN SMALL LETTER N WITH ACUTE
+  0x0148, //115 #LATIN SMALL LETTER N WITH CARON
+  0x00F3, //116 #LATIN SMALL LETTER O WITH ACUTE
+  0x00F4, //117 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+  0x0151, //118 #LATIN SMALL LETTER O WITH DOUBLE ACUTE
+  0x00F6, //119 #LATIN SMALL LETTER O WITH DIAERESIS
+  0x00F7, //120 #DIVISION SIGN
+  0x0159, //121 #LATIN SMALL LETTER R WITH CARON
+  0x016F, //122 #LATIN SMALL LETTER U WITH RING ABOVE
+  0x00FA, //123 #LATIN SMALL LETTER U WITH ACUTE
+  0x0171, //124 #LATIN SMALL LETTER U WITH DOUBLE ACUTE
+  0x00FC, //125 #LATIN SMALL LETTER U WITH DIAERESIS
+  0x00FD, //126 #LATIN SMALL LETTER Y WITH ACUTE
+  0x0163, //127 #LATIN SMALL LETTER T WITH CEDILLA
+  0x02D9 //128 #DOT ABOVE
+};
+
+
+//Table 1251
+static const int DRW_Table1251[] =
+{
+  0x0402, //1 #CYRILLIC CAPITAL LETTER DJE
+  0x0403, //2 #CYRILLIC CAPITAL LETTER GJE
+  0x201A, //3 #SINGLE LOW-9 QUOTATION MARK
+  0x0453, //4 #CYRILLIC SMALL LETTER GJE
+  0x201E, //5 #DOUBLE LOW-9 QUOTATION MARK
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x2020, //7 #DAGGER
+  0x2021, //8 #DOUBLE DAGGER
+  0x20AC, //9 #EURO SIGN
+  0x2030, //10 #PER MILLE SIGN
+  0x0409, //11 #CYRILLIC CAPITAL LETTER LJE
+  0x2039, //12 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+  0x040A, //13 #CYRILLIC CAPITAL LETTER NJE
+  0x040C, //14 #CYRILLIC CAPITAL LETTER KJE
+  0x040B, //15 #CYRILLIC CAPITAL LETTER TSHE
+  0x040F, //16 #CYRILLIC CAPITAL LETTER DZHE
+  0x0452, //17 #CYRILLIC SMALL LETTER DJE
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x00,   //25 #UNDEFINED
+  0x2122, //26 #TRADE MARK SIGN
+  0x0459, //27 #CYRILLIC SMALL LETTER LJE
+  0x203A, //28 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+  0x045A, //29 #CYRILLIC SMALL LETTER NJE
+  0x045C, //30 #CYRILLIC SMALL LETTER KJE
+  0x045B, //31 #CYRILLIC SMALL LETTER TSHE
+  0x045F, //32 #CYRILLIC SMALL LETTER DZHE
+  0x00A0, //33 #NO-BREAK SPACE
+  0x040E, //34 #CYRILLIC CAPITAL LETTER SHORT U
+  0x045E, //35 #CYRILLIC SMALL LETTER SHORT U
+  0x0408, //36 #CYRILLIC CAPITAL LETTER JE
+  0x00A4, //37 #CURRENCY SIGN
+  0x0490, //38 #CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+  0x00A6, //39 #BROKEN BAR
+  0x00A7, //40 #SECTION SIGN
+  0x0401, //41 #CYRILLIC CAPITAL LETTER IO
+  0x00A9, //42 #COPYRIGHT SIGN
+  0x0404, //43 #CYRILLIC CAPITAL LETTER UKRAINIAN IE
+  0x00AB, //44 #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00AC, //45 #NOT SIGN
+  0x00AD, //46 #SOFT HYPHEN
+  0x00AE, //47 #REGISTERED SIGN
+  0x0407, //48 #CYRILLIC CAPITAL LETTER YI
+  0x00B0, //49 #DEGREE SIGN
+  0x00B1, //50 #PLUS-MINUS SIGN
+  0x0406, //51 #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+  0x0456, //52 #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+  0x0491, //53 #CYRILLIC SMALL LETTER GHE WITH UPTURN
+  0x00B5, //54 #MICRO SIGN
+  0x00B6, //55 #PILCROW SIGN
+  0x00B7, //56 #MIDDLE DOT
+  0x0451, //57 #CYRILLIC SMALL LETTER IO
+  0x2116, //58 #NUMERO SIGN
+  0x0454, //59 #CYRILLIC SMALL LETTER UKRAINIAN IE
+  0x00BB, //60 #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x0458, //61 #CYRILLIC SMALL LETTER JE
+  0x0405, //62 #CYRILLIC CAPITAL LETTER DZE
+  0x0455, //63 #CYRILLIC SMALL LETTER DZE
+  0x0457, //64 #CYRILLIC SMALL LETTER YI
+  0x0410, //65 #CYRILLIC CAPITAL LETTER A
+  0x0411, //66 #CYRILLIC CAPITAL LETTER BE
+  0x0412, //67 #CYRILLIC CAPITAL LETTER VE
+  0x0413, //68 #CYRILLIC CAPITAL LETTER GHE
+  0x0414, //69 #CYRILLIC CAPITAL LETTER DE
+  0x0415, //70 #CYRILLIC CAPITAL LETTER IE
+  0x0416, //71 #CYRILLIC CAPITAL LETTER ZHE
+  0x0417, //72 #CYRILLIC CAPITAL LETTER ZE
+  0x0418, //73 #CYRILLIC CAPITAL LETTER I
+  0x0419, //74 #CYRILLIC CAPITAL LETTER SHORT I
+  0x041A, //75 #CYRILLIC CAPITAL LETTER KA
+  0x041B, //76 #CYRILLIC CAPITAL LETTER EL
+  0x041C, //77 #CYRILLIC CAPITAL LETTER EM
+  0x041D, //78 #CYRILLIC CAPITAL LETTER EN
+  0x041E, //79 #CYRILLIC CAPITAL LETTER O
+  0x041F, //80 #CYRILLIC CAPITAL LETTER PE
+  0x0420, //81 #CYRILLIC CAPITAL LETTER ER
+  0x0421, //82 #CYRILLIC CAPITAL LETTER ES
+  0x0422, //83 #CYRILLIC CAPITAL LETTER TE
+  0x0423, //84 #CYRILLIC CAPITAL LETTER U
+  0x0424, //85 #CYRILLIC CAPITAL LETTER EF
+  0x0425, //86 #CYRILLIC CAPITAL LETTER HA
+  0x0426, //87 #CYRILLIC CAPITAL LETTER TSE
+  0x0427, //88 #CYRILLIC CAPITAL LETTER CHE
+  0x0428, //89 #CYRILLIC CAPITAL LETTER SHA
+  0x0429, //90 #CYRILLIC CAPITAL LETTER SHCHA
+  0x042A, //91 #CYRILLIC CAPITAL LETTER HARD SIGN
+  0x042B, //92 #CYRILLIC CAPITAL LETTER YERU
+  0x042C, //93 #CYRILLIC CAPITAL LETTER SOFT SIGN
+  0x042D, //94 #CYRILLIC CAPITAL LETTER E
+  0x042E, //95 #CYRILLIC CAPITAL LETTER YU
+  0x042F, //96 #CYRILLIC CAPITAL LETTER YA
+  0x0430, //97 #CYRILLIC SMALL LETTER A
+  0x0431, //98 #CYRILLIC SMALL LETTER BE
+  0x0432, //99 #CYRILLIC SMALL LETTER VE
+  0x0433, //100 #CYRILLIC SMALL LETTER GHE
+  0x0434, //101 #CYRILLIC SMALL LETTER DE
+  0x0435, //102 #CYRILLIC SMALL LETTER IE
+  0x0436, //103 #CYRILLIC SMALL LETTER ZHE
+  0x0437, //104 #CYRILLIC SMALL LETTER ZE
+  0x0438, //105 #CYRILLIC SMALL LETTER I
+  0x0439, //106 #CYRILLIC SMALL LETTER SHORT I
+  0x043A, //107 #CYRILLIC SMALL LETTER KA
+  0x043B, //108 #CYRILLIC SMALL LETTER EL
+  0x043C, //109 #CYRILLIC SMALL LETTER EM
+  0x043D, //110 #CYRILLIC SMALL LETTER EN
+  0x043E, //111 #CYRILLIC SMALL LETTER O
+  0x043F, //112 #CYRILLIC SMALL LETTER PE
+  0x0440, //113 #CYRILLIC SMALL LETTER ER
+  0x0441, //114 #CYRILLIC SMALL LETTER ES
+  0x0442, //115 #CYRILLIC SMALL LETTER TE
+  0x0443, //116 #CYRILLIC SMALL LETTER U
+  0x0444, //117 #CYRILLIC SMALL LETTER EF
+  0x0445, //118 #CYRILLIC SMALL LETTER HA
+  0x0446, //119 #CYRILLIC SMALL LETTER TSE
+  0x0447, //120 #CYRILLIC SMALL LETTER CHE
+  0x0448, //121 #CYRILLIC SMALL LETTER SHA
+  0x0449, //122 #CYRILLIC SMALL LETTER SHCHA
+  0x044A, //123 #CYRILLIC SMALL LETTER HARD SIGN
+  0x044B, //124 #CYRILLIC SMALL LETTER YERU
+  0x044C, //125 #CYRILLIC SMALL LETTER SOFT SIGN
+  0x044D, //126 #CYRILLIC SMALL LETTER E
+  0x044E, //127 #CYRILLIC SMALL LETTER YU
+  0x044F  //128 #CYRILLIC SMALL LETTER YA
+};
+
+
+//Table 1252
+static const int DRW_Table1252[] =
+{
+  0x20AC, //1 #EURO SIGN
+  0x00,   //2 #UNDEFINED
+  0x201A, //3 #SINGLE LOW-9 QUOTATION MARK
+  0x0192, //4 #LATIN SMALL LETTER F WITH HOOK
+  0x201E, //5 #DOUBLE LOW-9 QUOTATION MARK
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x2020, //7 #DAGGER
+  0x2021, //8 #DOUBLE DAGGER
+  0x02C6, //9 #MODIFIER LETTER CIRCUMFLEX ACCENT
+  0x2030, //10 #PER MILLE SIGN
+  0x0160, //11 #LATIN CAPITAL LETTER S WITH CARON
+  0x2039, //12 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+  0x0152, //13 #LATIN CAPITAL LIGATURE OE
+  0x00,   //14 #UNDEFINED
+  0x017D, //15 #LATIN CAPITAL LETTER Z WITH CARON
+  0x00,   //16 #UNDEFINED
+  0x00,   //17 #UNDEFINED
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x02DC, //25 #SMALL TILDE
+  0x2122, //26 #TRADE MARK SIGN
+  0x0161, //27 #LATIN SMALL LETTER S WITH CARON
+  0x203A, //28 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+  0x0153, //29 #LATIN SMALL LIGATURE OE
+  0x00,   //30 #UNDEFINED
+  0x017E, //31 #LATIN SMALL LETTER Z WITH CARON
+  0x0178, //32 #LATIN CAPITAL LETTER Y WITH DIAERESIS
+  0x00A0, //33 #NO-BREAK SPACE
+  0x00A1, //34 #INVERTED EXCLAMATION MARK
+  0x00A2, //35 #CENT SIGN
+  0x00A3, //36 #POUND SIGN
+  0x00A4, //37 #CURRENCY SIGN
+  0x00A5, //38 #YEN SIGN
+  0x00A6, //39 #BROKEN BAR
+  0x00A7, //40 #SECTION SIGN
+  0x00A8, //41 #DIAERESIS
+  0x00A9, //42 #COPYRIGHT SIGN
+  0x00AA, //43 #FEMININE ORDINAL INDICATOR
+  0x00AB, //44 #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00AC, //45 #NOT SIGN
+  0x00AD, //46 #SOFT HYPHEN
+  0x00AE, //47 #REGISTERED SIGN
+  0x00AF, //48 #MACRON
+  0x00B0, //49 #DEGREE SIGN
+  0x00B1, //50 #PLUS-MINUS SIGN
+  0x00B2, //51 #SUPERSCRIPT TWO
+  0x00B3, //52 #SUPERSCRIPT THREE
+  0x00B4, //53 #ACUTE ACCENT
+  0x00B5, //54 #MICRO SIGN
+  0x00B6, //55 #PILCROW SIGN
+  0x00B7, //56 #MIDDLE DOT
+  0x00B8, //57 #CEDILLA
+  0x00B9, //58 #SUPERSCRIPT ONE
+  0x00BA, //59 #MASCULINE ORDINAL INDICATOR
+  0x00BB, //60 #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00BC, //61 #VULGAR FRACTION ONE QUARTER
+  0x00BD, //62 #VULGAR FRACTION ONE HALF
+  0x00BE, //63 #VULGAR FRACTION THREE QUARTERS
+  0x00BF, //64 #INVERTED QUESTION MARK
+  0x00C0, //65 #LATIN CAPITAL LETTER A WITH GRAVE
+  0x00C1, //66 #LATIN CAPITAL LETTER A WITH ACUTE
+  0x00C2, //67 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+  0x00C3, //68 #LATIN CAPITAL LETTER A WITH TILDE
+  0x00C4, //69 #LATIN CAPITAL LETTER A WITH DIAERESIS
+  0x00C5, //70 #LATIN CAPITAL LETTER A WITH RING ABOVE
+  0x00C6, //71 #LATIN CAPITAL LETTER AE
+  0x00C7, //72 #LATIN CAPITAL LETTER C WITH CEDILLA
+  0x00C8, //73 #LATIN CAPITAL LETTER E WITH GRAVE
+  0x00C9, //74 #LATIN CAPITAL LETTER E WITH ACUTE
+  0x00CA, //75 #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+  0x00CB, //76 #LATIN CAPITAL LETTER E WITH DIAERESIS
+  0x00CC, //77 #LATIN CAPITAL LETTER I WITH GRAVE
+  0x00CD, //78 #LATIN CAPITAL LETTER I WITH ACUTE
+  0x00CE, //79 #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+  0x00CF, //80 #LATIN CAPITAL LETTER I WITH DIAERESIS
+  0x00D0, //81 #LATIN CAPITAL LETTER ETH
+  0x00D1, //82 #LATIN CAPITAL LETTER N WITH TILDE
+  0x00D2, //83 #LATIN CAPITAL LETTER O WITH GRAVE
+  0x00D3, //84 #LATIN CAPITAL LETTER O WITH ACUTE
+  0x00D4, //85 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+  0x00D5, //86 #LATIN CAPITAL LETTER O WITH TILDE
+  0x00D6, //87 #LATIN CAPITAL LETTER O WITH DIAERESIS
+  0x00D7, //88 #MULTIPLICATION SIGN
+  0x00D8, //89 #LATIN CAPITAL LETTER O WITH STROKE
+  0x00D9, //90 #LATIN CAPITAL LETTER U WITH GRAVE
+  0x00DA, //91 #LATIN CAPITAL LETTER U WITH ACUTE
+  0x00DB, //92 #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+  0x00DC, //93 #LATIN CAPITAL LETTER U WITH DIAERESIS
+  0x00DD, //94 #LATIN CAPITAL LETTER Y WITH ACUTE
+  0x00DE, //95 #LATIN CAPITAL LETTER THORN
+  0x00DF, //96 #LATIN SMALL LETTER SHARP S
+  0x00E0, //97 #LATIN SMALL LETTER A WITH GRAVE
+  0x00E1, //98 #LATIN SMALL LETTER A WITH ACUTE
+  0x00E2, //99 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+  0x00E3, //100 #LATIN SMALL LETTER A WITH TILDE
+  0x00E4, //101 #LATIN SMALL LETTER A WITH DIAERESIS
+  0x00E5, //102 #LATIN SMALL LETTER A WITH RING ABOVE
+  0x00E6, //103 #LATIN SMALL LETTER AE
+  0x00E7, //104 #LATIN SMALL LETTER C WITH CEDILLA
+  0x00E8, //105 #LATIN SMALL LETTER E WITH GRAVE
+  0x00E9, //106 #LATIN SMALL LETTER E WITH ACUTE
+  0x00EA, //107 #LATIN SMALL LETTER E WITH CIRCUMFLEX
+  0x00EB, //108 #LATIN SMALL LETTER E WITH DIAERESIS
+  0x00EC, //109 #LATIN SMALL LETTER I WITH GRAVE
+  0x00ED, //110 #LATIN SMALL LETTER I WITH ACUTE
+  0x00EE, //111 #LATIN SMALL LETTER I WITH CIRCUMFLEX
+  0x00EF, //112 #LATIN SMALL LETTER I WITH DIAERESIS
+  0x00F0, //113 #LATIN SMALL LETTER ETH
+  0x00F1, //114 #LATIN SMALL LETTER N WITH TILDE
+  0x00F2, //115 #LATIN SMALL LETTER O WITH GRAVE
+  0x00F3, //116 #LATIN SMALL LETTER O WITH ACUTE
+  0x00F4, //117 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+  0x00F5, //118 #LATIN SMALL LETTER O WITH TILDE
+  0x00F6, //119 #LATIN SMALL LETTER O WITH DIAERESIS
+  0x00F7, //120 #DIVISION SIGN
+  0x00F8, //121 #LATIN SMALL LETTER O WITH STROKE
+  0x00F9, //122 #LATIN SMALL LETTER U WITH GRAVE
+  0x00FA, //123 #LATIN SMALL LETTER U WITH ACUTE
+  0x00FB, //124 #LATIN SMALL LETTER U WITH CIRCUMFLEX
+  0x00FC, //125 #LATIN SMALL LETTER U WITH DIAERESIS
+  0x00FD, //126 #LATIN SMALL LETTER Y WITH ACUTE
+  0x00FE, //127 #LATIN SMALL LETTER THORN
+  0x00FF  //128 #LATIN SMALL LETTER Y WITH DIAERESIS
+};
+
+//Table 1253
+static const int DRW_Table1253[] =
+{
+  0x20AC, //1 #EURO SIGN
+  0x00  , //2 #UNDEFINED
+  0x201A, //3 #SINGLE LOW-9 QUOTATION MARK
+  0x0192, //4 #LATIN SMALL LETTER F WITH HOOK
+  0x201E, //5 #DOUBLE LOW-9 QUOTATION MARK
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x2020, //7 #DAGGER
+  0x2021, //8 #DOUBLE DAGGER
+  0x00  , //9 #UNDEFINED
+  0x2030, //10 #PER MILLE SIGN
+  0x00  , //11 #UNDEFINED
+  0x2039, //12 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+  0x00  , //13 #UNDEFINED
+  0x00  , //14 #UNDEFINED
+  0x00  , //15 #UNDEFINED
+  0x00  , //16 #UNDEFINED
+  0x00  , //17 #UNDEFINED
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x00  , //25 #UNDEFINED
+  0x2122, //26 #TRADE MARK SIGN
+  0x00  , //27 #UNDEFINED
+  0x203A, //28 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+  0x00  , //29 #UNDEFINED
+  0x00  , //30 #UNDEFINED
+  0x00  , //31 #UNDEFINED
+  0x00  , //32 #UNDEFINED
+  0x00A0, //33 #NO-BREAK SPACE
+  0x0385, //34 #GREEK DIALYTIKA TONOS
+  0x0386, //35 #GREEK CAPITAL LETTER ALPHA WITH TONOS
+  0x00A3, //36 #POUND SIGN
+  0x00A4, //37 #CURRENCY SIGN
+  0x00A5, //38 #YEN SIGN
+  0x00A6, //39 #BROKEN BAR
+  0x00A7, //40 #SECTION SIGN
+  0x00A8, //41 #DIAERESIS
+  0x00A9, //42 #COPYRIGHT SIGN
+  0x00  , //43 #UNDEFINED
+  0x00AB, //44 #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00AC, //45 #NOT SIGN
+  0x00AD, //46 #SOFT HYPHEN
+  0x00AE, //47 #REGISTERED SIGN
+  0x2015, //48 #HORIZONTAL BAR
+  0x00B0, //49 #DEGREE SIGN
+  0x00B1, //50 #PLUS-MINUS SIGN
+  0x00B2, //51 #SUPERSCRIPT TWO
+  0x00B3, //52 #SUPERSCRIPT THREE
+  0x0384, //53 #GREEK TONOS
+  0x00B5, //54 #MICRO SIGN
+  0x00B6, //55 #PILCROW SIGN
+  0x00B7, //56 #MIDDLE DOT
+  0x0388, //57 #GREEK CAPITAL LETTER EPSILON WITH TONOS
+  0x0389, //58 #GREEK CAPITAL LETTER ETA WITH TONOS
+  0x038A, //59 #GREEK CAPITAL LETTER IOTA WITH TONOS
+  0x00BB, //60 #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x038C, //61 #GREEK CAPITAL LETTER OMICRON WITH TONOS
+  0x00BD, //62 #VULGAR FRACTION ONE HALF
+  0x038E, //63 #GREEK CAPITAL LETTER UPSILON WITH TONOS
+  0x038F, //64 #GREEK CAPITAL LETTER OMEGA WITH TONOS
+  0x0390, //65 #GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+  0x0391, //66 #GREEK CAPITAL LETTER ALPHA
+  0x0392, //67 #GREEK CAPITAL LETTER BETA
+  0x0393, //68 #GREEK CAPITAL LETTER GAMMA
+  0x0394, //69 #GREEK CAPITAL LETTER DELTA
+  0x0395, //70 #GREEK CAPITAL LETTER EPSILON
+  0x0396, //71 #GREEK CAPITAL LETTER ZETA
+  0x0397, //72 #GREEK CAPITAL LETTER ETA
+  0x0398, //73 #GREEK CAPITAL LETTER THETA
+  0x0399, //74 #GREEK CAPITAL LETTER IOTA
+  0x039A, //75 #GREEK CAPITAL LETTER KAPPA
+  0x039B, //76 #GREEK CAPITAL LETTER LAMDA
+  0x039C, //77 #GREEK CAPITAL LETTER MU
+  0x039D, //78 #GREEK CAPITAL LETTER NU
+  0x039E, //79 #GREEK CAPITAL LETTER XI
+  0x039F, //80 #GREEK CAPITAL LETTER OMICRON
+  0x03A0, //81 #GREEK CAPITAL LETTER PI
+  0x03A1, //82 #GREEK CAPITAL LETTER RHO
+  0x00  , //83 #UNDEFINED
+  0x03A3, //84 #GREEK CAPITAL LETTER SIGMA
+  0x03A4, //85 #GREEK CAPITAL LETTER TAU
+  0x03A5, //86 #GREEK CAPITAL LETTER UPSILON
+  0x03A6, //87 #GREEK CAPITAL LETTER PHI
+  0x03A7, //88 #GREEK CAPITAL LETTER CHI
+  0x03A8, //89 #GREEK CAPITAL LETTER PSI
+  0x03A9, //90 #GREEK CAPITAL LETTER OMEGA
+  0x03AA, //91 #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+  0x03AB, //92 #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+  0x03AC, //93 #GREEK SMALL LETTER ALPHA WITH TONOS
+  0x03AD, //94 #GREEK SMALL LETTER EPSILON WITH TONOS
+  0x03AE, //95 #GREEK SMALL LETTER ETA WITH TONOS
+  0x03AF, //96 #GREEK SMALL LETTER IOTA WITH TONOS
+  0x03B0, //97 #GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+  0x03B1, //98 #GREEK SMALL LETTER ALPHA
+  0x03B2, //99 #GREEK SMALL LETTER BETA
+  0x03B3, //100 #GREEK SMALL LETTER GAMMA
+  0x03B4, //101 #GREEK SMALL LETTER DELTA
+  0x03B5, //102 #GREEK SMALL LETTER EPSILON
+  0x03B6, //103 #GREEK SMALL LETTER ZETA
+  0x03B7, //104 #GREEK SMALL LETTER ETA
+  0x03B8, //105 #GREEK SMALL LETTER THETA
+  0x03B9, //106 #GREEK SMALL LETTER IOTA
+  0x03BA, //107 #GREEK SMALL LETTER KAPPA
+  0x03BB, //108 #GREEK SMALL LETTER LAMDA
+  0x03BC, //109 #GREEK SMALL LETTER MU
+  0x03BD, //110 #GREEK SMALL LETTER NU
+  0x03BE, //111 #GREEK SMALL LETTER XI
+  0x03BF, //112 #GREEK SMALL LETTER OMICRON
+  0x03C0, //113 #GREEK SMALL LETTER PI
+  0x03C1, //114 #GREEK SMALL LETTER RHO
+  0x03C2, //115 #GREEK SMALL LETTER FINAL SIGMA
+  0x03C3, //116 #GREEK SMALL LETTER SIGMA
+  0x03C4, //117 #GREEK SMALL LETTER TAU
+  0x03C5, //118 #GREEK SMALL LETTER UPSILON
+  0x03C6, //119 #GREEK SMALL LETTER PHI
+  0x03C7, //120 #GREEK SMALL LETTER CHI
+  0x03C8, //121 #GREEK SMALL LETTER PSI
+  0x03C9, //122 #GREEK SMALL LETTER OMEGA
+  0x03CA, //123 #GREEK SMALL LETTER IOTA WITH DIALYTIKA
+  0x03CB, //124 #GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+  0x03CC, //125 #GREEK SMALL LETTER OMICRON WITH TONOS
+  0x03CD, //126 #GREEK SMALL LETTER UPSILON WITH TONOS
+  0x03CE, //127 #GREEK SMALL LETTER OMEGA WITH TONOS
+  0x00    //128 #UNDEFINED
+};
+
+//Table 1254
+static const int DRW_Table1254[] =
+{
+  0x20AC, //1 #EURO SIGN
+  0x00  , //2 #UNDEFINED
+  0x201A, //3 #SINGLE LOW-9 QUOTATION MARK
+  0x0192, //4 #LATIN SMALL LETTER F WITH HOOK
+  0x201E, //5 #DOUBLE LOW-9 QUOTATION MARK
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x2020, //7 #DAGGER
+  0x2021, //8 #DOUBLE DAGGER
+  0x02C6, //9 #MODIFIER LETTER CIRCUMFLEX ACCENT
+  0x2030, //10 #PER MILLE SIGN
+  0x0160, //11 #LATIN CAPITAL LETTER S WITH CARON
+  0x2039, //12 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+  0x0152, //13 #LATIN CAPITAL LIGATURE OE
+  0x00  , //14 #UNDEFINED
+  0x00  , //15 #UNDEFINED
+  0x00  , //16 #UNDEFINED
+  0x00  , //17 #UNDEFINED
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x02DC, //25 #SMALL TILDE
+  0x2122, //26 #TRADE MARK SIGN
+  0x0161, //27 #LATIN SMALL LETTER S WITH CARON
+  0x203A, //28 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+  0x0153, //29 #LATIN SMALL LIGATURE OE
+  0x00  , //30 #UNDEFINED
+  0x00  , //31 #UNDEFINED
+  0x0178, //32 #LATIN CAPITAL LETTER Y WITH DIAERESIS
+  0x00A0, //33 #NO-BREAK SPACE
+  0x00A1, //34 #INVERTED EXCLAMATION MARK
+  0x00A2, //35 #CENT SIGN
+  0x00A3, //36 #POUND SIGN
+  0x00A4, //37 #CURRENCY SIGN
+  0x00A5, //38 #YEN SIGN
+  0x00A6, //39 #BROKEN BAR
+  0x00A7, //40 #SECTION SIGN
+  0x00A8, //41 #DIAERESIS
+  0x00A9, //42 #COPYRIGHT SIGN
+  0x00AA, //43 #FEMININE ORDINAL INDICATOR
+  0x00AB, //44 #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00AC, //45 #NOT SIGN
+  0x00AD, //46 #SOFT HYPHEN
+  0x00AE, //47 #REGISTERED SIGN
+  0x00AF, //48 #MACRON
+  0x00B0, //49 #DEGREE SIGN
+  0x00B1, //50 #PLUS-MINUS SIGN
+  0x00B2, //51 #SUPERSCRIPT TWO
+  0x00B3, //52 #SUPERSCRIPT THREE
+  0x00B4, //53 #ACUTE ACCENT
+  0x00B5, //54 #MICRO SIGN
+  0x00B6, //55 #PILCROW SIGN
+  0x00B7, //56 #MIDDLE DOT
+  0x00B8, //57 #CEDILLA
+  0x00B9, //58 #SUPERSCRIPT ONE
+  0x00BA, //59 #MASCULINE ORDINAL INDICATOR
+  0x00BB, //60 #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00BC, //61 #VULGAR FRACTION ONE QUARTER
+  0x00BD, //62 #VULGAR FRACTION ONE HALF
+  0x00BE, //63 #VULGAR FRACTION THREE QUARTERS
+  0x00BF, //64 #INVERTED QUESTION MARK
+  0x00C0, //65 #LATIN CAPITAL LETTER A WITH GRAVE
+  0x00C1, //66 #LATIN CAPITAL LETTER A WITH ACUTE
+  0x00C2, //67 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+  0x00C3, //68 #LATIN CAPITAL LETTER A WITH TILDE
+  0x00C4, //69 #LATIN CAPITAL LETTER A WITH DIAERESIS
+  0x00C5, //70 #LATIN CAPITAL LETTER A WITH RING ABOVE
+  0x00C6, //71 #LATIN CAPITAL LETTER AE
+  0x00C7, //72 #LATIN CAPITAL LETTER C WITH CEDILLA
+  0x00C8, //73 #LATIN CAPITAL LETTER E WITH GRAVE
+  0x00C9, //74 #LATIN CAPITAL LETTER E WITH ACUTE
+  0x00CA, //75 #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+  0x00CB, //76 #LATIN CAPITAL LETTER E WITH DIAERESIS
+  0x00CC, //77 #LATIN CAPITAL LETTER I WITH GRAVE
+  0x00CD, //78 #LATIN CAPITAL LETTER I WITH ACUTE
+  0x00CE, //79 #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+  0x00CF, //80 #LATIN CAPITAL LETTER I WITH DIAERESIS
+  0x011E, //81 #LATIN CAPITAL LETTER G WITH BREVE
+  0x00D1, //82 #LATIN CAPITAL LETTER N WITH TILDE
+  0x00D2, //83 #LATIN CAPITAL LETTER O WITH GRAVE
+  0x00D3, //84 #LATIN CAPITAL LETTER O WITH ACUTE
+  0x00D4, //85 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+  0x00D5, //86 #LATIN CAPITAL LETTER O WITH TILDE
+  0x00D6, //87 #LATIN CAPITAL LETTER O WITH DIAERESIS
+  0x00D7, //88 #MULTIPLICATION SIGN
+  0x00D8, //89 #LATIN CAPITAL LETTER O WITH STROKE
+  0x00D9, //90 #LATIN CAPITAL LETTER U WITH GRAVE
+  0x00DA, //91 #LATIN CAPITAL LETTER U WITH ACUTE
+  0x00DB, //92 #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+  0x00DC, //93 #LATIN CAPITAL LETTER U WITH DIAERESIS
+  0x0130, //94 #LATIN CAPITAL LETTER I WITH DOT ABOVE
+  0x015E, //95 #LATIN CAPITAL LETTER S WITH CEDILLA
+  0x00DF, //96 #LATIN SMALL LETTER SHARP S
+  0x00E0, //97 #LATIN SMALL LETTER A WITH GRAVE
+  0x00E1, //98 #LATIN SMALL LETTER A WITH ACUTE
+  0x00E2, //99 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+  0x00E3, //100 #LATIN SMALL LETTER A WITH TILDE
+  0x00E4, //101 #LATIN SMALL LETTER A WITH DIAERESIS
+  0x00E5, //102 #LATIN SMALL LETTER A WITH RING ABOVE
+  0x00E6, //103 #LATIN SMALL LETTER AE
+  0x00E7, //104 #LATIN SMALL LETTER C WITH CEDILLA
+  0x00E8, //105 #LATIN SMALL LETTER E WITH GRAVE
+  0x00E9, //106 #LATIN SMALL LETTER E WITH ACUTE
+  0x00EA, //107 #LATIN SMALL LETTER E WITH CIRCUMFLEX
+  0x00EB, //108 #LATIN SMALL LETTER E WITH DIAERESIS
+  0x00EC, //109 #LATIN SMALL LETTER I WITH GRAVE
+  0x00ED, //110 #LATIN SMALL LETTER I WITH ACUTE
+  0x00EE, //111 #LATIN SMALL LETTER I WITH CIRCUMFLEX
+  0x00EF, //112 #LATIN SMALL LETTER I WITH DIAERESIS
+  0x011F, //113 #LATIN SMALL LETTER G WITH BREVE
+  0x00F1, //114 #LATIN SMALL LETTER N WITH TILDE
+  0x00F2, //115 #LATIN SMALL LETTER O WITH GRAVE
+  0x00F3, //116 #LATIN SMALL LETTER O WITH ACUTE
+  0x00F4, //117 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+  0x00F5, //118 #LATIN SMALL LETTER O WITH TILDE
+  0x00F6, //119 #LATIN SMALL LETTER O WITH DIAERESIS
+  0x00F7, //120 #DIVISION SIGN
+  0x00F8, //121 #LATIN SMALL LETTER O WITH STROKE
+  0x00F9, //122 #LATIN SMALL LETTER U WITH GRAVE
+  0x00FA, //123 #LATIN SMALL LETTER U WITH ACUTE
+  0x00FB, //124 #LATIN SMALL LETTER U WITH CIRCUMFLEX
+  0x00FC, //125 #LATIN SMALL LETTER U WITH DIAERESIS
+  0x0131, //126 #LATIN SMALL LETTER DOTLESS I
+  0x015F, //127 #LATIN SMALL LETTER S WITH CEDILLA
+  0x00FF //128 #LATIN SMALL LETTER Y WITH DIAERESIS
+};
+
+//Table 1255
+static const int DRW_Table1255[] =
+{
+  0x20AC, //1 #EURO SIGN
+  0x00  , //2 #UNDEFINED
+  0x201A, //3 #SINGLE LOW-9 QUOTATION MARK
+  0x0192, //4 #LATIN SMALL LETTER F WITH HOOK
+  0x201E, //5 #DOUBLE LOW-9 QUOTATION MARK
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x2020, //7 #DAGGER
+  0x2021, //8 #DOUBLE DAGGER
+  0x02C6, //9 #MODIFIER LETTER CIRCUMFLEX ACCENT
+  0x2030, //10 #PER MILLE SIGN
+  0x00  , //11 #UNDEFINED
+  0x2039, //12 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+  0x00  , //13 #UNDEFINED
+  0x00  , //14 #UNDEFINED
+  0x00  , //15 #UNDEFINED
+  0x00  , //16 #UNDEFINED
+  0x00  , //17 #UNDEFINED
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x02DC, //25 #SMALL TILDE
+  0x2122, //26 #TRADE MARK SIGN
+  0x00  , //27 #UNDEFINED
+  0x203A, //28 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+  0x00  , //29 #UNDEFINED
+  0x00  , //30 #UNDEFINED
+  0x00  , //31 #UNDEFINED
+  0x00  , //32 #UNDEFINED
+  0x00A0, //33 #NO-BREAK SPACE
+  0x00A1, //34 #INVERTED EXCLAMATION MARK
+  0x00A2, //35 #CENT SIGN
+  0x00A3, //36 #POUND SIGN
+  0x20AA, //37 #NEW SHEQEL SIGN
+  0x00A5, //38 #YEN SIGN
+  0x00A6, //39 #BROKEN BAR
+  0x00A7, //40 #SECTION SIGN
+  0x00A8, //41 #DIAERESIS
+  0x00A9, //42 #COPYRIGHT SIGN
+  0x00D7, //43 #MULTIPLICATION SIGN
+  0x00AB, //44 #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00AC, //45 #NOT SIGN
+  0x00AD, //46 #SOFT HYPHEN
+  0x00AE, //47 #REGISTERED SIGN
+  0x00AF, //48 #MACRON
+  0x00B0, //49 #DEGREE SIGN
+  0x00B1, //50 #PLUS-MINUS SIGN
+  0x00B2, //51 #SUPERSCRIPT TWO
+  0x00B3, //52 #SUPERSCRIPT THREE
+  0x00B4, //53 #ACUTE ACCENT
+  0x00B5, //54 #MICRO SIGN
+  0x00B6, //55 #PILCROW SIGN
+  0x00B7, //56 #MIDDLE DOT
+  0x00B8, //57 #CEDILLA
+  0x00B9, //58 #SUPERSCRIPT ONE
+  0x00F7, //59 #DIVISION SIGN
+  0x00BB, //60 #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00BC, //61 #VULGAR FRACTION ONE QUARTER
+  0x00BD, //62 #VULGAR FRACTION ONE HALF
+  0x00BE, //63 #VULGAR FRACTION THREE QUARTERS
+  0x00BF, //64 #INVERTED QUESTION MARK
+  0x05B0, //65 #HEBREW POINT SHEVA
+  0x05B1, //66 #HEBREW POINT HATAF SEGOL
+  0x05B2, //67 #HEBREW POINT HATAF PATAH
+  0x05B3, //68 #HEBREW POINT HATAF QAMATS
+  0x05B4, //69 #HEBREW POINT HIRIQ
+  0x05B5, //70 #HEBREW POINT TSERE
+  0x05B6, //71 #HEBREW POINT SEGOL
+  0x05B7, //72 #HEBREW POINT PATAH
+  0x05B8, //73 #HEBREW POINT QAMATS
+  0x05B9, //74 #HEBREW POINT HOLAM
+  0x00  , //75 #UNDEFINED
+  0x05BB, //76 #HEBREW POINT QUBUTS
+  0x05BC, //77 #HEBREW POINT DAGESH OR MAPIQ
+  0x05BD, //78 #HEBREW POINT METEG
+  0x05BE, //79 #HEBREW PUNCTUATION MAQAF
+  0x05BF, //80 #HEBREW POINT RAFE
+  0x05C0, //81 #HEBREW PUNCTUATION PASEQ
+  0x05C1, //82 #HEBREW POINT SHIN DOT
+  0x05C2, //83 #HEBREW POINT SIN DOT
+  0x05C3, //84 #HEBREW PUNCTUATION SOF PASUQ
+  0x05F0, //85 #HEBREW LIGATURE YIDDISH DOUBLE VAV
+  0x05F1, //86 #HEBREW LIGATURE YIDDISH VAV YOD
+  0x05F2, //87 #HEBREW LIGATURE YIDDISH DOUBLE YOD
+  0x05F3, //88 #HEBREW PUNCTUATION GERESH
+  0x05F4, //89 #HEBREW PUNCTUATION GERSHAYIM
+  0x00  , //90 #UNDEFINED
+  0x00  , //91 #UNDEFINED
+  0x00  , //92 #UNDEFINED
+  0x00  , //93 #UNDEFINED
+  0x00  , //94 #UNDEFINED
+  0x00  , //95 #UNDEFINED
+  0x00  , //96 #UNDEFINED
+  0x05D0, //97 #HEBREW LETTER ALEF
+  0x05D1, //98 #HEBREW LETTER BET
+  0x05D2, //99 #HEBREW LETTER GIMEL
+  0x05D3, //100 #HEBREW LETTER DALET
+  0x05D4, //101 #HEBREW LETTER HE
+  0x05D5, //102 #HEBREW LETTER VAV
+  0x05D6, //103 #HEBREW LETTER ZAYIN
+  0x05D7, //104 #HEBREW LETTER HET
+  0x05D8, //105 #HEBREW LETTER TET
+  0x05D9, //106 #HEBREW LETTER YOD
+  0x05DA, //107 #HEBREW LETTER FINAL KAF
+  0x05DB, //108 #HEBREW LETTER KAF
+  0x05DC, //109 #HEBREW LETTER LAMED
+  0x05DD, //110 #HEBREW LETTER FINAL MEM
+  0x05DE, //111 #HEBREW LETTER MEM
+  0x05DF, //112 #HEBREW LETTER FINAL NUN
+  0x05E0, //113 #HEBREW LETTER NUN
+  0x05E1, //114 #HEBREW LETTER SAMEKH
+  0x05E2, //115 #HEBREW LETTER AYIN
+  0x05E3, //116 #HEBREW LETTER FINAL PE
+  0x05E4, //117 #HEBREW LETTER PE
+  0x05E5, //118 #HEBREW LETTER FINAL TSADI
+  0x05E6, //119 #HEBREW LETTER TSADI
+  0x05E7, //120 #HEBREW LETTER QOF
+  0x05E8, //121 #HEBREW LETTER RESH
+  0x05E9, //122 #HEBREW LETTER SHIN
+  0x05EA, //123 #HEBREW LETTER TAV
+  0x00  , //124 #UNDEFINED
+  0x00  , //125 #UNDEFINED
+  0x200E, //126 #LEFT-TO-RIGHT MARK
+  0x200F, //127 #RIGHT-TO-LEFT MARK
+  0x00    //128 #UNDEFINED
+};
+
+//Table 1256
+static const int DRW_Table1256[] =
+{
+  0x20AC, //1 #EURO SIGN
+  0x067E, //2 #ARABIC LETTER PEH
+  0x201A, //3 #SINGLE LOW-9 QUOTATION MARK
+  0x0192, //4 #LATIN SMALL LETTER F WITH HOOK
+  0x201E, //5 #DOUBLE LOW-9 QUOTATION MARK
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x2020, //7 #DAGGER
+  0x2021, //8 #DOUBLE DAGGER
+  0x02C6, //9 #MODIFIER LETTER CIRCUMFLEX ACCENT
+  0x2030, //10 #PER MILLE SIGN
+  0x0679, //11 #ARABIC LETTER TTEH
+  0x2039, //12 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+  0x0152, //13 #LATIN CAPITAL LIGATURE OE
+  0x0686, //14 #ARABIC LETTER TCHEH
+  0x0698, //15 #ARABIC LETTER JEH
+  0x0688, //16 #ARABIC LETTER DDAL
+  0x06AF, //17 #ARABIC LETTER GAF
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x06A9, //25 #ARABIC LETTER KEHEH
+  0x2122, //26 #TRADE MARK SIGN
+  0x0691, //27 #ARABIC LETTER RREH
+  0x203A, //28 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+  0x0153, //29 #LATIN SMALL LIGATURE OE
+  0x200C, //30 #ZERO WIDTH NON-JOINER
+  0x200D, //31 #ZERO WIDTH JOINER
+  0x06BA, //32 #ARABIC LETTER NOON GHUNNA
+  0x00A0, //33 #NO-BREAK SPACE
+  0x060C, //34 #ARABIC COMMA
+  0x00A2, //35 #CENT SIGN
+  0x00A3, //36 #POUND SIGN
+  0x00A4, //37 #CURRENCY SIGN
+  0x00A5, //38 #YEN SIGN
+  0x00A6, //39 #BROKEN BAR
+  0x00A7, //40 #SECTION SIGN
+  0x00A8, //41 #DIAERESIS
+  0x00A9, //42 #COPYRIGHT SIGN
+  0x06BE, //43 #ARABIC LETTER HEH DOACHASHMEE
+  0x00AB, //44 #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00AC, //45 #NOT SIGN
+  0x00AD, //46 #SOFT HYPHEN
+  0x00AE, //47 #REGISTERED SIGN
+  0x00AF, //48 #MACRON
+  0x00B0, //49 #DEGREE SIGN
+  0x00B1, //50 #PLUS-MINUS SIGN
+  0x00B2, //51 #SUPERSCRIPT TWO
+  0x00B3, //52 #SUPERSCRIPT THREE
+  0x00B4, //53 #ACUTE ACCENT
+  0x00B5, //54 #MICRO SIGN
+  0x00B6, //55 #PILCROW SIGN
+  0x00B7, //56 #MIDDLE DOT
+  0x00B8, //57 #CEDILLA
+  0x00B9, //58 #SUPERSCRIPT ONE
+  0x061B, //59 #ARABIC SEMICOLON
+  0x00BB, //60 #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00BC, //61 #VULGAR FRACTION ONE QUARTER
+  0x00BD, //62 #VULGAR FRACTION ONE HALF
+  0x00BE, //63 #VULGAR FRACTION THREE QUARTERS
+  0x061F, //64 #ARABIC QUESTION MARK
+  0x06C1, //65 #ARABIC LETTER HEH GOAL
+  0x0621, //66 #ARABIC LETTER HAMZA
+  0x0622, //67 #ARABIC LETTER ALEF WITH MADDA ABOVE
+  0x0623, //68 #ARABIC LETTER ALEF WITH HAMZA ABOVE
+  0x0624, //69 #ARABIC LETTER WAW WITH HAMZA ABOVE
+  0x0625, //70 #ARABIC LETTER ALEF WITH HAMZA BELOW
+  0x0626, //71 #ARABIC LETTER YEH WITH HAMZA ABOVE
+  0x0627, //72 #ARABIC LETTER ALEF
+  0x0628, //73 #ARABIC LETTER BEH
+  0x0629, //74 #ARABIC LETTER TEH MARBUTA
+  0x062A, //75 #ARABIC LETTER TEH
+  0x062B, //76 #ARABIC LETTER THEH
+  0x062C, //77 #ARABIC LETTER JEEM
+  0x062D, //78 #ARABIC LETTER HAH
+  0x062E, //79 #ARABIC LETTER KHAH
+  0x062F, //80 #ARABIC LETTER DAL
+  0x0630, //81 #ARABIC LETTER THAL
+  0x0631, //82 #ARABIC LETTER REH
+  0x0632, //83 #ARABIC LETTER ZAIN
+  0x0633, //84 #ARABIC LETTER SEEN
+  0x0634, //85 #ARABIC LETTER SHEEN
+  0x0635, //86 #ARABIC LETTER SAD
+  0x0636, //87 #ARABIC LETTER DAD
+  0x00D7, //88 #MULTIPLICATION SIGN
+  0x0637, //89 #ARABIC LETTER TAH
+  0x0638, //90 #ARABIC LETTER ZAH
+  0x0639, //91 #ARABIC LETTER AIN
+  0x063A, //92 #ARABIC LETTER GHAIN
+  0x0640, //93 #ARABIC TATWEEL
+  0x0641, //94 #ARABIC LETTER FEH
+  0x0642, //95 #ARABIC LETTER QAF
+  0x0643, //96 #ARABIC LETTER KAF
+  0x00E0, //97 #LATIN SMALL LETTER A WITH GRAVE
+  0x0644, //98 #ARABIC LETTER LAM
+  0x00E2, //99 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+  0x0645, //100 #ARABIC LETTER MEEM
+  0x0646, //101 #ARABIC LETTER NOON
+  0x0647, //102 #ARABIC LETTER HEH
+  0x0648, //103 #ARABIC LETTER WAW
+  0x00E7, //104 #LATIN SMALL LETTER C WITH CEDILLA
+  0x00E8, //105 #LATIN SMALL LETTER E WITH GRAVE
+  0x00E9, //106 #LATIN SMALL LETTER E WITH ACUTE
+  0x00EA, //107 #LATIN SMALL LETTER E WITH CIRCUMFLEX
+  0x00EB, //108 #LATIN SMALL LETTER E WITH DIAERESIS
+  0x0649, //109 #ARABIC LETTER ALEF MAKSURA
+  0x064A, //110 #ARABIC LETTER YEH
+  0x00EE, //111 #LATIN SMALL LETTER I WITH CIRCUMFLEX
+  0x00EF, //112 #LATIN SMALL LETTER I WITH DIAERESIS
+  0x064B, //113 #ARABIC FATHATAN
+  0x064C, //114 #ARABIC DAMMATAN
+  0x064D, //115 #ARABIC KASRATAN
+  0x064E, //116 #ARABIC FATHA
+  0x00F4, //117 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+  0x064F, //118 #ARABIC DAMMA
+  0x0650, //119 #ARABIC KASRA
+  0x00F7, //120 #DIVISION SIGN
+  0x0651, //121 #ARABIC SHADDA
+  0x00F9, //122 #LATIN SMALL LETTER U WITH GRAVE
+  0x0652, //123 #ARABIC SUKUN
+  0x00FB, //124 #LATIN SMALL LETTER U WITH CIRCUMFLEX
+  0x00FC, //125 #LATIN SMALL LETTER U WITH DIAERESIS
+  0x200E, //126 #LEFT-TO-RIGHT MARK
+  0x200F, //127 #RIGHT-TO-LEFT MARK
+  0x06D2  //128 #ARABIC LETTER YEH BARREE
+};
+
+//Table 1257
+static const int DRW_Table1257[] =
+{
+  0x20AC, //1 #EURO SIGN
+  0x00  , //2 #UNDEFINED
+  0x201A, //3 #SINGLE LOW-9 QUOTATION MARK
+  0x00  , //4 #UNDEFINED
+  0x201E, //5 #DOUBLE LOW-9 QUOTATION MARK
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x2020, //7 #DAGGER
+  0x2021, //8 #DOUBLE DAGGER
+  0x00  , //9 #UNDEFINED
+  0x2030, //10 #PER MILLE SIGN
+  0x00  , //11 #UNDEFINED
+  0x2039, //12 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+  0x00  , //13 #UNDEFINED
+  0x00A8, //14 #DIAERESIS
+  0x02C7, //15 #CARON
+  0x00B8, //16 #CEDILLA
+  0x00  , //17 #UNDEFINED
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x00  , //25 #UNDEFINED
+  0x2122, //26 #TRADE MARK SIGN
+  0x00  , //27 #UNDEFINED
+  0x203A, //28 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+  0x00  , //29 #UNDEFINED
+  0x00AF, //30 #MACRON
+  0x02DB, //31 #OGONEK
+  0x00  , //32 #UNDEFINED
+  0x00A0, //33 #NO-BREAK SPACE
+  0x00  , //34 #UNDEFINED
+  0x00A2, //35 #CENT SIGN
+  0x00A3, //36 #POUND SIGN
+  0x00A4, //37 #CURRENCY SIGN
+  0x00  , //38 #UNDEFINED
+  0x00A6, //39 #BROKEN BAR
+  0x00A7, //40 #SECTION SIGN
+  0x00D8, //41 #LATIN CAPITAL LETTER O WITH STROKE
+  0x00A9, //42 #COPYRIGHT SIGN
+  0x0156, //43 #LATIN CAPITAL LETTER R WITH CEDILLA
+  0x00AB, //44 #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00AC, //45 #NOT SIGN
+  0x00AD, //46 #SOFT HYPHEN
+  0x00AE, //47 #REGISTERED SIGN
+  0x00C6, //48 #LATIN CAPITAL LETTER AE
+  0x00B0, //49 #DEGREE SIGN
+  0x00B1, //50 #PLUS-MINUS SIGN
+  0x00B2, //51 #SUPERSCRIPT TWO
+  0x00B3, //52 #SUPERSCRIPT THREE
+  0x00B4, //53 #ACUTE ACCENT
+  0x00B5, //54 #MICRO SIGN
+  0x00B6, //55 #PILCROW SIGN
+  0x00B7, //56 #MIDDLE DOT
+  0x00F8, //57 #LATIN SMALL LETTER O WITH STROKE
+  0x00B9, //58 #SUPERSCRIPT ONE
+  0x0157, //59 #LATIN SMALL LETTER R WITH CEDILLA
+  0x00BB, //60 #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00BC, //61 #VULGAR FRACTION ONE QUARTER
+  0x00BD, //62 #VULGAR FRACTION ONE HALF
+  0x00BE, //63 #VULGAR FRACTION THREE QUARTERS
+  0x00E6, //64 #LATIN SMALL LETTER AE
+  0x0104, //65 #LATIN CAPITAL LETTER A WITH OGONEK
+  0x012E, //66 #LATIN CAPITAL LETTER I WITH OGONEK
+  0x0100, //67 #LATIN CAPITAL LETTER A WITH MACRON
+  0x0106, //68 #LATIN CAPITAL LETTER C WITH ACUTE
+  0x00C4, //69 #LATIN CAPITAL LETTER A WITH DIAERESIS
+  0x00C5, //70 #LATIN CAPITAL LETTER A WITH RING ABOVE
+  0x0118, //71 #LATIN CAPITAL LETTER E WITH OGONEK
+  0x0112, //72 #LATIN CAPITAL LETTER E WITH MACRON
+  0x010C, //73 #LATIN CAPITAL LETTER C WITH CARON
+  0x00C9, //74 #LATIN CAPITAL LETTER E WITH ACUTE
+  0x0179, //75 #LATIN CAPITAL LETTER Z WITH ACUTE
+  0x0116, //76 #LATIN CAPITAL LETTER E WITH DOT ABOVE
+  0x0122, //77 #LATIN CAPITAL LETTER G WITH CEDILLA
+  0x0136, //78 #LATIN CAPITAL LETTER K WITH CEDILLA
+  0x012A, //79 #LATIN CAPITAL LETTER I WITH MACRON
+  0x013B, //80 #LATIN CAPITAL LETTER L WITH CEDILLA
+  0x0160, //81 #LATIN CAPITAL LETTER S WITH CARON
+  0x0143, //82 #LATIN CAPITAL LETTER N WITH ACUTE
+  0x0145, //83 #LATIN CAPITAL LETTER N WITH CEDILLA
+  0x00D3, //84 #LATIN CAPITAL LETTER O WITH ACUTE
+  0x014C, //85 #LATIN CAPITAL LETTER O WITH MACRON
+  0x00D5, //86 #LATIN CAPITAL LETTER O WITH TILDE
+  0x00D6, //87 #LATIN CAPITAL LETTER O WITH DIAERESIS
+  0x00D7, //88 #MULTIPLICATION SIGN
+  0x0172, //89 #LATIN CAPITAL LETTER U WITH OGONEK
+  0x0141, //90 #LATIN CAPITAL LETTER L WITH STROKE
+  0x015A, //91 #LATIN CAPITAL LETTER S WITH ACUTE
+  0x016A, //92 #LATIN CAPITAL LETTER U WITH MACRON
+  0x00DC, //93 #LATIN CAPITAL LETTER U WITH DIAERESIS
+  0x017B, //94 #LATIN CAPITAL LETTER Z WITH DOT ABOVE
+  0x017D, //95 #LATIN CAPITAL LETTER Z WITH CARON
+  0x00DF, //96 #LATIN SMALL LETTER SHARP S
+  0x0105, //97 #LATIN SMALL LETTER A WITH OGONEK
+  0x012F, //98 #LATIN SMALL LETTER I WITH OGONEK
+  0x0101, //99 #LATIN SMALL LETTER A WITH MACRON
+  0x0107, //100 #LATIN SMALL LETTER C WITH ACUTE
+  0x00E4, //101 #LATIN SMALL LETTER A WITH DIAERESIS
+  0x00E5, //102 #LATIN SMALL LETTER A WITH RING ABOVE
+  0x0119, //103 #LATIN SMALL LETTER E WITH OGONEK
+  0x0113, //104 #LATIN SMALL LETTER E WITH MACRON
+  0x010D, //105 #LATIN SMALL LETTER C WITH CARON
+  0x00E9, //106 #LATIN SMALL LETTER E WITH ACUTE
+  0x017A, //107 #LATIN SMALL LETTER Z WITH ACUTE
+  0x0117, //108 #LATIN SMALL LETTER E WITH DOT ABOVE
+  0x0123, //109 #LATIN SMALL LETTER G WITH CEDILLA
+  0x0137, //110 #LATIN SMALL LETTER K WITH CEDILLA
+  0x012B, //111 #LATIN SMALL LETTER I WITH MACRON
+  0x013C, //112 #LATIN SMALL LETTER L WITH CEDILLA
+  0x0161, //113 #LATIN SMALL LETTER S WITH CARON
+  0x0144, //114 #LATIN SMALL LETTER N WITH ACUTE
+  0x0146, //115 #LATIN SMALL LETTER N WITH CEDILLA
+  0x00F3, //116 #LATIN SMALL LETTER O WITH ACUTE
+  0x014D, //117 #LATIN SMALL LETTER O WITH MACRON
+  0x00F5, //118 #LATIN SMALL LETTER O WITH TILDE
+  0x00F6, //119 #LATIN SMALL LETTER O WITH DIAERESIS
+  0x00F7, //120 #DIVISION SIGN
+  0x0173, //121 #LATIN SMALL LETTER U WITH OGONEK
+  0x0142, //122 #LATIN SMALL LETTER L WITH STROKE
+  0x015B, //123 #LATIN SMALL LETTER S WITH ACUTE
+  0x016B, //124 #LATIN SMALL LETTER U WITH MACRON
+  0x00FC, //125 #LATIN SMALL LETTER U WITH DIAERESIS
+  0x017C, //126 #LATIN SMALL LETTER Z WITH DOT ABOVE
+  0x017E, //127 #LATIN SMALL LETTER Z WITH CARON
+  0x02D9  //128 #DOT ABOVE
+};
+
+//Table 1258
+static const int DRW_Table1258[] =
+{
+  0x20AC, //1 #EURO SIGN
+  0x00  , //2 #UNDEFINED
+  0x201A, //3 #SINGLE LOW-9 QUOTATION MARK
+  0x0192, //4 #LATIN SMALL LETTER F WITH HOOK
+  0x201E, //5 #DOUBLE LOW-9 QUOTATION MARK
+  0x2026, //6 #HORIZONTAL ELLIPSIS
+  0x2020, //7 #DAGGER
+  0x2021, //8 #DOUBLE DAGGER
+  0x02C6, //9 #MODIFIER LETTER CIRCUMFLEX ACCENT
+  0x2030, //10 #PER MILLE SIGN
+  0x00  , //11 #UNDEFINED
+  0x2039, //12 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+  0x0152, //13 #LATIN CAPITAL LIGATURE OE
+  0x00  , //14 #UNDEFINED
+  0x00  , //15 #UNDEFINED
+  0x00  , //16 #UNDEFINED
+  0x00  , //17 #UNDEFINED
+  0x2018, //18 #LEFT SINGLE QUOTATION MARK
+  0x2019, //19 #RIGHT SINGLE QUOTATION MARK
+  0x201C, //20 #LEFT DOUBLE QUOTATION MARK
+  0x201D, //21 #RIGHT DOUBLE QUOTATION MARK
+  0x2022, //22 #BULLET
+  0x2013, //23 #EN DASH
+  0x2014, //24 #EM DASH
+  0x02DC, //25 #SMALL TILDE
+  0x2122, //26 #TRADE MARK SIGN
+  0x00  , //27 #UNDEFINED
+  0x203A, //28 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+  0x0153, //29 #LATIN SMALL LIGATURE OE
+  0x00  , //30 #UNDEFINED
+  0x00  , //31 #UNDEFINED
+  0x0178, //32 #LATIN CAPITAL LETTER Y WITH DIAERESIS
+  0x00A0, //33 #NO-BREAK SPACE
+  0x00A1, //34 #INVERTED EXCLAMATION MARK
+  0x00A2, //35 #CENT SIGN
+  0x00A3, //36 #POUND SIGN
+  0x00A4, //37 #CURRENCY SIGN
+  0x00A5, //38 #YEN SIGN
+  0x00A6, //39 #BROKEN BAR
+  0x00A7, //40 #SECTION SIGN
+  0x00A8, //41 #DIAERESIS
+  0x00A9, //42 #COPYRIGHT SIGN
+  0x00AA, //43 #FEMININE ORDINAL INDICATOR
+  0x00AB, //44 #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00AC, //45 #NOT SIGN
+  0x00AD, //46 #SOFT HYPHEN
+  0x00AE, //47 #REGISTERED SIGN
+  0x00AF, //48 #MACRON
+  0x00B0, //49 #DEGREE SIGN
+  0x00B1, //50 #PLUS-MINUS SIGN
+  0x00B2, //51 #SUPERSCRIPT TWO
+  0x00B3, //52 #SUPERSCRIPT THREE
+  0x00B4, //53 #ACUTE ACCENT
+  0x00B5, //54 #MICRO SIGN
+  0x00B6, //55 #PILCROW SIGN
+  0x00B7, //56 #MIDDLE DOT
+  0x00B8, //57 #CEDILLA
+  0x00B9, //58 #SUPERSCRIPT ONE
+  0x00BA, //59 #MASCULINE ORDINAL INDICATOR
+  0x00BB, //60 #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+  0x00BC, //61 #VULGAR FRACTION ONE QUARTER
+  0x00BD, //62 #VULGAR FRACTION ONE HALF
+  0x00BE, //63 #VULGAR FRACTION THREE QUARTERS
+  0x00BF, //64 #INVERTED QUESTION MARK
+  0x00C0, //65 #LATIN CAPITAL LETTER A WITH GRAVE
+  0x00C1, //66 #LATIN CAPITAL LETTER A WITH ACUTE
+  0x00C2, //67 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+  0x0102, //68 #LATIN CAPITAL LETTER A WITH BREVE
+  0x00C4, //69 #LATIN CAPITAL LETTER A WITH DIAERESIS
+  0x00C5, //70 #LATIN CAPITAL LETTER A WITH RING ABOVE
+  0x00C6, //71 #LATIN CAPITAL LETTER AE
+  0x00C7, //72 #LATIN CAPITAL LETTER C WITH CEDILLA
+  0x00C8, //73 #LATIN CAPITAL LETTER E WITH GRAVE
+  0x00C9, //74 #LATIN CAPITAL LETTER E WITH ACUTE
+  0x00CA, //75 #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+  0x00CB, //76 #LATIN CAPITAL LETTER E WITH DIAERESIS
+  0x0300, //77 #COMBINING GRAVE ACCENT
+  0x00CD, //78 #LATIN CAPITAL LETTER I WITH ACUTE
+  0x00CE, //79 #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+  0x00CF, //80 #LATIN CAPITAL LETTER I WITH DIAERESIS
+  0x0110, //81 #LATIN CAPITAL LETTER D WITH STROKE
+  0x00D1, //82 #LATIN CAPITAL LETTER N WITH TILDE
+  0x0309, //83 #COMBINING HOOK ABOVE
+  0x00D3, //84 #LATIN CAPITAL LETTER O WITH ACUTE
+  0x00D4, //85 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+  0x01A0, //86 #LATIN CAPITAL LETTER O WITH HORN
+  0x00D6, //87 #LATIN CAPITAL LETTER O WITH DIAERESIS
+  0x00D7, //88 #MULTIPLICATION SIGN
+  0x00D8, //89 #LATIN CAPITAL LETTER O WITH STROKE
+  0x00D9, //90 #LATIN CAPITAL LETTER U WITH GRAVE
+  0x00DA, //91 #LATIN CAPITAL LETTER U WITH ACUTE
+  0x00DB, //92 #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+  0x00DC, //93 #LATIN CAPITAL LETTER U WITH DIAERESIS
+  0x01AF, //94 #LATIN CAPITAL LETTER U WITH HORN
+  0x0303, //95 #COMBINING TILDE
+  0x00DF, //96 #LATIN SMALL LETTER SHARP S
+  0x00E0, //97 #LATIN SMALL LETTER A WITH GRAVE
+  0x00E1, //98 #LATIN SMALL LETTER A WITH ACUTE
+  0x00E2, //99 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+  0x0103, //100 #LATIN SMALL LETTER A WITH BREVE
+  0x00E4, //101 #LATIN SMALL LETTER A WITH DIAERESIS
+  0x00E5, //102 #LATIN SMALL LETTER A WITH RING ABOVE
+  0x00E6, //103 #LATIN SMALL LETTER AE
+  0x00E7, //104 #LATIN SMALL LETTER C WITH CEDILLA
+  0x00E8, //105 #LATIN SMALL LETTER E WITH GRAVE
+  0x00E9, //106 #LATIN SMALL LETTER E WITH ACUTE
+  0x00EA, //107 #LATIN SMALL LETTER E WITH CIRCUMFLEX
+  0x00EB, //108 #LATIN SMALL LETTER E WITH DIAERESIS
+  0x0301, //109 #COMBINING ACUTE ACCENT
+  0x00ED, //110 #LATIN SMALL LETTER I WITH ACUTE
+  0x00EE, //111 #LATIN SMALL LETTER I WITH CIRCUMFLEX
+  0x00EF, //112 #LATIN SMALL LETTER I WITH DIAERESIS
+  0x0111, //113 #LATIN SMALL LETTER D WITH STROKE
+  0x00F1, //114 #LATIN SMALL LETTER N WITH TILDE
+  0x0323, //115 #COMBINING DOT BELOW
+  0x00F3, //116 #LATIN SMALL LETTER O WITH ACUTE
+  0x00F4, //117 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+  0x01A1, //118 #LATIN SMALL LETTER O WITH HORN
+  0x00F6, //119 #LATIN SMALL LETTER O WITH DIAERESIS
+  0x00F7, //120 #DIVISION SIGN
+  0x00F8, //121 #LATIN SMALL LETTER O WITH STROKE
+  0x00F9, //122 #LATIN SMALL LETTER U WITH GRAVE
+  0x00FA, //123 #LATIN SMALL LETTER U WITH ACUTE
+  0x00FB, //124 #LATIN SMALL LETTER U WITH CIRCUMFLEX
+  0x00FC, //125 #LATIN SMALL LETTER U WITH DIAERESIS
+  0x01B0, //126 #LATIN SMALL LETTER U WITH HORN
+  0x20AB, //127 #DONG SIGN
+  0x00FF  //128 #LATIN SMALL LETTER Y WITH DIAERESIS
+};
+
+#endif // DRW_CPTABLES_H
diff --git a/src/app/dwg/libdxfrw/intern/drw_dbg.cpp b/src/app/dwg/libdxfrw/intern/drw_dbg.cpp
new file mode 100644
index 0000000..b2b0e16
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/drw_dbg.cpp
@@ -0,0 +1,207 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include "drw_dbg.h"
+
+#include "qgslogger.h"
+
+
+#include <QTextStream>
+#include <QStringList>
+
+DRW_dbg *DRW_dbg::instance = nullptr;
+
+/*********private classes*************/
+class print_none
+{
+  public:
+    virtual void printS( std::string s ) {( void )s;}
+    virtual void printI( long long int i ) {( void )i;}
+    virtual void printUI( long long unsigned int i ) {( void )i;}
+    virtual void printD( double d ) {( void )d;}
+    virtual void printH( long long int i ) {( void )i;}
+    virtual void printB( int i ) {( void )i;}
+    virtual void printHL( int c, int s, int h ) {( void )c;( void )s;( void )h;}
+    virtual void printPT( double x, double y, double z ) {( void )x;( void )y;( void )z;}
+    print_none() {}
+    virtual ~print_none() {}
+};
+
+class print_debug : public print_none
+{
+  public:
+    virtual void printS( std::string s );
+    virtual void printI( long long int i );
+    virtual void printUI( long long unsigned int i );
+    virtual void printD( double d );
+    virtual void printH( long long int i );
+    virtual void printB( int i );
+    virtual void printHL( int c, int s, int h );
+    virtual void printPT( double x, double y, double z );
+    print_debug();
+    virtual ~print_debug() { QgsDebugMsgLevel( mBuf, 5 ); }
+  private:
+    QString mBuf;
+    QTextStream mTS;
+    void flush();
+};
+
+/********* debug class *************/
+DRW_dbg *DRW_dbg::getInstance()
+{
+  if ( !instance )
+  {
+    instance = new DRW_dbg;
+  }
+  return instance;
+}
+
+DRW_dbg::DRW_dbg()
+{
+  level = NONE;
+  prClass = new print_none;
+}
+
+void DRW_dbg::setLevel( LEVEL lvl )
+{
+  level = lvl;
+  delete prClass;
+  switch ( level )
+  {
+    case DEBUG:
+      prClass = new print_debug;
+      break;
+    default:
+      prClass = new print_none;
+  }
+}
+
+DRW_dbg::LEVEL DRW_dbg::getLevel()
+{
+  return level;
+}
+
+void DRW_dbg::print( std::string s )
+{
+  prClass->printS( s );
+}
+
+void DRW_dbg::print( int i )
+{
+  prClass->printI( i );
+}
+
+void DRW_dbg::print( unsigned int i )
+{
+  prClass->printUI( i );
+}
+
+void DRW_dbg::print( long long int i )
+{
+  prClass->printI( i );
+}
+
+void DRW_dbg::print( long unsigned int i )
+{
+  prClass->printUI( i );
+}
+
+void DRW_dbg::print( long long unsigned int i )
+{
+  prClass->printUI( i );
+}
+
+void DRW_dbg::print( double d )
+{
+  prClass->printD( d );
+}
+
+void DRW_dbg::printH( long long int i )
+{
+  prClass->printH( i );
+}
+
+void DRW_dbg::printB( int i )
+{
+  prClass->printB( i );
+}
+void DRW_dbg::printHL( int c, int s, int h )
+{
+  prClass->printHL( c, s, h );
+}
+
+void DRW_dbg::printPT( double x, double y, double z )
+{
+  prClass->printPT( x, y, z );
+}
+
+print_debug::print_debug() : mTS( &mBuf )
+{
+}
+
+void print_debug::flush()
+{
+  QStringList lines = mBuf.split( '\n' );
+  for ( int i = 0; i < lines.size() - 1; i++ )
+  {
+    QgsDebugMsgLevel( lines[i], 4 );
+  }
+  mBuf = lines.last();
+}
+
+void print_debug::printS( std::string s )
+{
+  mTS << QString::fromStdString( s );
+  flush();
+}
+
+void print_debug::printI( long long int i )
+{
+  mTS << i;
+  flush();
+}
+
+void print_debug::printUI( long long unsigned int i )
+{
+  mTS << i;
+  flush();
+}
+
+void print_debug::printD( double d )
+{
+  mTS << QString( "%1 " ).arg( d, 0, 'g' );
+  flush();
+}
+
+void print_debug::printH( long long  i )
+{
+  mTS << QString( "0x%1" ).arg( i, 0, 16 );
+  flush();
+}
+
+void print_debug::printB( int i )
+{
+  mTS << QString( "0%1" ).arg( i, 0, 8 );
+  flush();
+}
+
+void print_debug::printHL( int c, int s, int h )
+{
+  mTS << QString( "%1.%2 0x%3" ).arg( c ).arg( s ).arg( h, 0, 16 );
+  flush();
+}
+
+void print_debug::printPT( double x, double y, double z )
+{
+  mTS << QString( "x:%1 y:%2 z:%3" ).arg( x, 0, 'g' ).arg( y, 0, 'g' ).arg( z, 0, 'g' );
+  flush();
+}
diff --git a/src/app/dwg/libdxfrw/intern/drw_dbg.h b/src/app/dwg/libdxfrw/intern/drw_dbg.h
new file mode 100644
index 0000000..3b9f19a
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/drw_dbg.h
@@ -0,0 +1,61 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DRW_DBG_H
+#define DRW_DBG_H
+
+#include <string>
+#include <iostream>
+
+#define DRW_DBGSL(a) DRW_dbg::getInstance()->setLevel(a)
+#define DRW_DBGGL DRW_dbg::getInstance()->getLevel()
+#define DRW_DBG(a) DRW_dbg::getInstance()->print(a)
+#define DRW_DBGH(a) DRW_dbg::getInstance()->printH(a)
+#define DRW_DBGB(a) DRW_dbg::getInstance()->printB(a)
+#define DRW_DBGHL(a, b, c) DRW_dbg::getInstance()->printHL(a, b ,c)
+#define DRW_DBGPT(a, b, c) DRW_dbg::getInstance()->printPT(a, b, c)
+
+
+class print_none;
+
+class DRW_dbg
+{
+  public:
+    enum LEVEL
+    {
+      NONE,
+      DEBUG
+    };
+    void setLevel( LEVEL lvl );
+    LEVEL getLevel();
+    static DRW_dbg *getInstance();
+    void print( std::string s );
+    void print( int i );
+    void print( unsigned int i );
+    void print( long long int i );
+    void print( long unsigned int i );
+    void print( long long unsigned int i );
+    void print( double d );
+    void printH( long long int i );
+    void printB( int i );
+    void printHL( int c, int s, int h );
+    void printPT( double x, double y, double z );
+
+  private:
+    DRW_dbg();
+    static DRW_dbg *instance;
+    LEVEL level;
+    print_none* prClass;
+};
+
+
+#endif // DRW_DBG_H
diff --git a/src/app/dwg/libdxfrw/intern/drw_textcodec.cpp b/src/app/dwg/libdxfrw/intern/drw_textcodec.cpp
new file mode 100644
index 0000000..e3883da
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/drw_textcodec.cpp
@@ -0,0 +1,675 @@
+#include "drw_textcodec.h"
+#include <sstream>
+#include <iomanip>
+#include <algorithm>
+#include "../drw_base.h"
+#include "drw_cptables.h"
+#include "drw_cptable932.h"
+#include "drw_cptable936.h"
+#include "drw_cptable949.h"
+#include "drw_cptable950.h"
+
+DRW_TextCodec::DRW_TextCodec()
+{
+  version = DRW::AC1021;
+  conv = new DRW_Converter( nullptr, 0 );
+}
+
+DRW_TextCodec::~DRW_TextCodec()
+{
+  delete conv;
+}
+
+void DRW_TextCodec::setVersion( int v, bool dxfFormat )
+{
+  if ( v == DRW::AC1009 || v == DRW::AC1006 )
+  {
+    version = DRW::AC1009;
+    cp = "ANSI_1252";
+    setCodePage( &cp, dxfFormat );
+  }
+  else if ( v == DRW::AC1012 || v == DRW::AC1014
+            || v == DRW::AC1015 || v == DRW::AC1018 )
+  {
+    version = DRW::AC1015;
+//        if (cp.empty()) { //codepage not set, initialize
+    cp = "ANSI_1252";
+    setCodePage( &cp, dxfFormat );
+//        }
+  }
+  else
+  {
+    version = DRW::AC1021;
+    if ( dxfFormat )
+      cp = "UTF-8";//RLZ: can be UCS2 or UTF-16 16bits per char
+    else
+      cp = "UTF-16";//RLZ: can be UCS2 or UTF-16 16bits per char
+    setCodePage( &cp, dxfFormat );
+  }
+}
+
+void DRW_TextCodec::setVersion( std::string *v, bool dxfFormat )
+{
+  std::string versionStr = *v;
+  if ( versionStr == "AC1009" || versionStr == "AC1006" )
+  {
+    setVersion( DRW::AC1009, dxfFormat );
+  }
+  else if ( versionStr == "AC1012" || versionStr == "AC1014"
+            || versionStr == "AC1015" || versionStr == "AC1018" )
+  {
+    setVersion( DRW::AC1015, dxfFormat );
+  }
+  setVersion( DRW::AC1021, dxfFormat );
+}
+
+void DRW_TextCodec::setCodePage( std::string *c, bool dxfFormat )
+{
+  cp = correctCodePage( *c );
+  delete conv;
+  if ( version == DRW::AC1009 || version == DRW::AC1015 )
+  {
+    if ( cp == "ANSI_874" )
+      conv = new DRW_ConvTable( DRW_Table874, CPLENGHTCOMMON );
+    else if ( cp == "ANSI_932" )
+      conv = new DRW_Conv932Table( DRW_Table932, DRW_LeadTable932,
+                                   DRW_DoubleTable932, CPLENGHT932 );
+    else if ( cp == "ANSI_936" )
+      conv = new DRW_ConvDBCSTable( DRW_Table936, DRW_LeadTable936,
+                                    DRW_DoubleTable936, CPLENGHT936 );
+    else if ( cp == "ANSI_949" )
+      conv = new DRW_ConvDBCSTable( DRW_Table949, DRW_LeadTable949,
+                                    DRW_DoubleTable949, CPLENGHT949 );
+    else if ( cp == "ANSI_950" )
+      conv = new DRW_ConvDBCSTable( DRW_Table950, DRW_LeadTable950,
+                                    DRW_DoubleTable950, CPLENGHT950 );
+    else if ( cp == "ANSI_1250" )
+      conv = new DRW_ConvTable( DRW_Table1250, CPLENGHTCOMMON );
+    else if ( cp == "ANSI_1251" )
+      conv = new DRW_ConvTable( DRW_Table1251, CPLENGHTCOMMON );
+    else if ( cp == "ANSI_1253" )
+      conv = new DRW_ConvTable( DRW_Table1253, CPLENGHTCOMMON );
+    else if ( cp == "ANSI_1254" )
+      conv = new DRW_ConvTable( DRW_Table1254, CPLENGHTCOMMON );
+    else if ( cp == "ANSI_1255" )
+      conv = new DRW_ConvTable( DRW_Table1255, CPLENGHTCOMMON );
+    else if ( cp == "ANSI_1256" )
+      conv = new DRW_ConvTable( DRW_Table1256, CPLENGHTCOMMON );
+    else if ( cp == "ANSI_1257" )
+      conv = new DRW_ConvTable( DRW_Table1257, CPLENGHTCOMMON );
+    else if ( cp == "ANSI_1258" )
+      conv = new DRW_ConvTable( DRW_Table1258, CPLENGHTCOMMON );
+    else if ( cp == "UTF-8" ) //DXF older than 2007 are write in win codepages
+    {
+      cp = "ANSI_1252";
+      conv = new DRW_Converter( nullptr, 0 );
+    }
+    else
+      conv = new DRW_ConvTable( DRW_Table1252, CPLENGHTCOMMON );
+  }
+  else
+  {
+    if ( dxfFormat )
+      conv = new DRW_Converter( nullptr, 0 );//utf16 to utf8
+    else
+      conv = new DRW_ConvUTF16();//utf16 to utf8
+  }
+}
+
+std::string DRW_TextCodec::toUtf8( std::string s )
+{
+  return conv->toUtf8( &s );
+}
+
+std::string DRW_TextCodec::fromUtf8( std::string s )
+{
+  return conv->fromUtf8( &s );
+}
+
+std::string DRW_Converter::toUtf8( std::string *s )
+{
+  std::string result;
+  int j = 0;
+  unsigned int i = 0;
+  for ( i = 0; i < s->length(); i++ )
+  {
+    unsigned char c = s->at( i );
+    if ( c < 0x80 ) //ascii check for /U+????
+    {
+      if ( c == '\\' && i + 6 < s->length() && s->at( i + 1 ) == 'U' && s->at( i + 2 ) == '+' )
+      {
+        result += s->substr( j, i - j );
+        result += encodeText( s->substr( i, 7 ) );
+        i += 6;
+        j = i + 1;
+      }
+    }
+    else if ( c < 0xE0 ) //2 bits
+    {
+      i++;
+    }
+    else if ( c < 0xF0 ) //3 bits
+    {
+      i += 2;
+    }
+    else if ( c < 0xF8 ) //4 bits
+    {
+      i += 3;
+    }
+  }
+  result += s->substr( j );
+
+  return result;
+}
+
+std::string DRW_ConvTable::fromUtf8( std::string *s )
+{
+  std::string result;
+  bool notFound;
+  int code;
+
+  int j = 0;
+  for ( unsigned int i = 0; i < s->length(); i++ )
+  {
+    unsigned char c = s->at( i );
+    if ( c > 0x7F ) //need to decode
+    {
+      result += s->substr( j, i - j );
+      std::string part1 = s->substr( i, 4 );
+      int l;
+      code = decodeNum( part1, &l );
+      j = i + l;
+      i = j - 1;
+      notFound = true;
+      for ( int k = 0; k < cpLenght; k++ )
+      {
+        if ( table[k] == code )
+        {
+          result += CPOFFSET + k; //translate from table
+          notFound = false;
+          break;
+        }
+      }
+      if ( notFound )
+        result += decodeText( code );
+    }
+  }
+  result += s->substr( j );
+
+  return result;
+}
+
+std::string DRW_ConvTable::toUtf8( std::string *s )
+{
+  std::string res;
+  std::string::iterator it;
+  for ( it = s->begin() ; it < s->end(); ++it )
+  {
+    unsigned char c = *it;
+    if ( c < 0x80 )
+    {
+      //check for \U+ encoded text
+      if ( c == '\\' )
+      {
+        if ( it + 6 < s->end() && *( it + 1 ) == 'U' && *( it + 2 ) == '+' )
+        {
+          res += encodeText( std::string( it, it + 7 ) );
+          it += 6;
+        }
+        else
+        {
+          res += c; //no \U+ encoded text write
+        }
+      }
+      else
+        res += c; //c!='\' ascii char write
+    }
+    else  //end c < 0x80
+    {
+      res += encodeNum( table[c-0x80] ); //translate from table
+    }
+  } //end for
+
+  return res;
+}
+
+std::string DRW_Converter::encodeText( std::string stmp )
+{
+  int code;
+#if defined(__APPLE__)
+  int Succeeded = sscanf( &( stmp.substr( 3, 4 )[0] ), "%x", &code );
+  if ( !Succeeded || Succeeded == EOF )
+    code = 0;
+#else
+  std::istringstream sd( stmp.substr( 3, 4 ) );
+  sd >> std::hex >> code;
+#endif
+  return encodeNum( code );
+}
+
+std::string DRW_Converter::decodeText( int c )
+{
+  std::string res = "\\U+";
+  std::string num;
+#if defined(__APPLE__)
+  std::string str( 16, '\0' );
+  snprintf( &( str[0] ), 16, "%04X", c );
+  num = str;
+#else
+  std::stringstream ss;
+  ss << std::uppercase << std::setfill( '0' ) << std::setw( 4 ) << std::hex << c;
+  ss >> num;
+#endif
+  res += num;
+  return res;
+}
+
+std::string DRW_Converter::encodeNum( int c )
+{
+  unsigned char ret[5];
+  if ( c < 128 ) // 0-7F US-ASCII 7 bits
+  {
+    ret[0] = c;
+    ret[1] = 0;
+  }
+  else if ( c < 0x800 ) //80-07FF 2 bytes
+  {
+    ret[0] = 0xC0 | ( c >> 6 );
+    ret[1] = 0x80 | ( c & 0x3f );
+    ret[2] = 0;
+  }
+  else if ( c < 0x10000 )   //800-FFFF 3 bytes
+  {
+    ret[0] = 0xe0 | ( c >> 12 );
+    ret[1] = 0x80 | (( c >> 6 ) & 0x3f );
+    ret[2] = 0x80 | ( c & 0x3f );
+    ret[3] = 0;
+  }
+  else   //10000-10FFFF 4 bytes
+  {
+    ret[0] = 0xf0 | ( c >> 18 );
+    ret[1] = 0x80 | (( c >> 12 ) & 0x3f );
+    ret[2] = 0x80 | (( c >> 6 ) & 0x3f );
+    ret[3] = 0x80 | ( c & 0x3f );
+    ret[4] = 0;
+  }
+  return std::string(( char* )ret );
+}
+
+/** 's' is a string with at least 4 bytes lenght
+** returned 'b' is byte lenght of encoded char: 2,3 or 4
+**/
+int DRW_Converter::decodeNum( std::string s, int *b )
+{
+  int code = 0;
+  unsigned char c = s.at( 0 );
+  if (( c& 0xE0 )  == 0xC0 ) //2 bytes
+  {
+    code = ( c & 0x1F ) << 6;
+    code = ( s.at( 1 ) & 0x3F ) | code;
+    *b = 2;
+  }
+  else if (( c& 0xF0 )  == 0xE0 ) //3 bytes
+  {
+    code = ( c & 0x0F ) << 12;
+    code = (( s.at( 1 ) & 0x3F ) << 6 ) | code;
+    code = ( s.at( 2 ) & 0x3F ) | code;
+    *b = 3;
+  }
+  else if (( c& 0xF8 )  == 0xF0 ) //4 bytes
+  {
+    code = ( c & 0x07 ) << 18;
+    code = (( s.at( 1 ) & 0x3F ) << 12 ) | code;
+    code = (( s.at( 2 ) & 0x3F ) << 6 ) | code;
+    code = ( s.at( 3 ) & 0x3F ) | code;
+    *b = 4;
+  }
+
+  return code;
+}
+
+
+std::string DRW_ConvDBCSTable::fromUtf8( std::string *s )
+{
+  std::string result;
+  bool notFound;
+  int code;
+
+  int j = 0;
+  for ( unsigned int i = 0; i < s->length(); i++ )
+  {
+    unsigned char c = s->at( i );
+    if ( c > 0x7F ) //need to decode
+    {
+      result += s->substr( j, i - j );
+      std::string part1 = s->substr( i, 4 );
+      int l;
+      code = decodeNum( part1, &l );
+      j = i + l;
+      i = j - 1;
+      notFound = true;
+      for ( int k = 0; k < cpLenght; k++ )
+      {
+        if ( doubleTable[k][1] == code )
+        {
+          int data = doubleTable[k][0];
+          char d[3];
+          d[0] = data >> 8;
+          d[1] = data & 0xFF;
+          d[2] = '\0';
+          result += d; //translate from table
+          notFound = false;
+          break;
+        }
+      }
+      if ( notFound )
+        result += decodeText( code );
+    } //direct conversion
+  }
+  result += s->substr( j );
+
+  return result;
+}
+
+std::string DRW_ConvDBCSTable::toUtf8( std::string *s )
+{
+  std::string res;
+  std::string::iterator it;
+  for ( it = s->begin() ; it < s->end(); ++it )
+  {
+    bool notFound = true;
+    unsigned char c = *it;
+    if ( c < 0x80 )
+    {
+      notFound = false;
+      //check for \U+ encoded text
+      if ( c == '\\' )
+      {
+        if ( it + 6 < s->end() && *( it + 1 ) == 'U' && *( it + 2 ) == '+' )
+        {
+          res += encodeText( std::string( it, it + 7 ) );
+          it += 6;
+        }
+        else
+        {
+          res += c; //no \U+ encoded text write
+        }
+      }
+      else
+        res += c; //c!='\' ascii char write
+    }
+    else if ( c == 0x80 ) //1 byte table
+    {
+      notFound = false;
+      res += encodeNum( 0x20AC );//euro sign
+    }
+    else  //2 bytes
+    {
+      ++it;
+      int code = ( c << 8 ) | ( unsigned char )( *it );
+      int sta = leadTable[c-0x81];
+      int end = leadTable[c-0x80];
+      for ( int k = sta; k < end; k++ )
+      {
+        if ( doubleTable[k][0] == code )
+        {
+          res += encodeNum( doubleTable[k][1] ); //translate from table
+          notFound = false;
+          break;
+        }
+      }
+    }
+    //not found
+    if ( notFound ) res += encodeNum( NOTFOUND936 );
+  } //end for
+
+  return res;
+}
+
+std::string DRW_Conv932Table::fromUtf8( std::string *s )
+{
+  std::string result;
+  bool notFound;
+  int code;
+
+  int j = 0;
+  for ( unsigned int i = 0; i < s->length(); i++ )
+  {
+    unsigned char c = s->at( i );
+    if ( c > 0x7F ) //need to decode
+    {
+      result += s->substr( j, i - j );
+      std::string part1 = s->substr( i, 4 );
+      int l;
+      code = decodeNum( part1, &l );
+      j = i + l;
+      i = j - 1;
+      notFound = true;
+      // 1 byte table
+      if ( code > 0xff60 && code < 0xFFA0 )
+      {
+        result += code - CPOFFSET932; //translate from table
+        notFound = false;
+      }
+      if ( notFound && ( code < 0xF8 || ( code > 0x390 && code < 0x542 ) ||
+                         ( code > 0x200F && code < 0x9FA1 ) || code > 0xF928 ) )
+      {
+        for ( int k = 0; k < cpLenght; k++ )
+        {
+          if ( doubleTable[k][1] == code )
+          {
+            int data = doubleTable[k][0];
+            char d[3];
+            d[0] = data >> 8;
+            d[1] = data & 0xFF;
+            d[2] = '\0';
+            result += d; //translate from table
+            notFound = false;
+            break;
+          }
+        }
+      }
+      if ( notFound )
+        result += decodeText( code );
+    } //direct conversion
+  }
+  result += s->substr( j );
+
+  return result;
+}
+
+std::string DRW_Conv932Table::toUtf8( std::string *s )
+{
+  std::string res;
+  std::string::iterator it;
+  for ( it = s->begin() ; it < s->end(); ++it )
+  {
+    bool notFound = true;
+    unsigned char c = *it;
+    if ( c < 0x80 )
+    {
+      notFound = false;
+      //check for \U+ encoded text
+      if ( c == '\\' )
+      {
+        if ( it + 6 < s->end() && *( it + 1 ) == 'U' && *( it + 2 ) == '+' )
+        {
+          res += encodeText( std::string( it, it + 7 ) );
+          it += 6;
+        }
+        else
+        {
+          res += c; //no \U+ encoded text write
+        }
+      }
+      else
+        res += c; //c!='\' ascii char write
+    }
+    else if ( c > 0xA0 && c < 0xE0 ) //1 byte table
+    {
+      notFound = false;
+      res += encodeNum( c + CPOFFSET932 ); //translate from table
+    }
+    else  //2 bytes
+    {
+      ++it;
+      int code = ( c << 8 ) | ( unsigned char )( *it );
+      int sta = 0;
+      int end = 0;
+      if ( c > 0x80 && c < 0xA0 )
+      {
+        sta = DRW_LeadTable932[c-0x81];
+        end = DRW_LeadTable932[c-0x80];
+      }
+      else if ( c > 0xDF && c < 0xFD )
+      {
+        sta = DRW_LeadTable932[c-0xC1];
+        end = DRW_LeadTable932[c-0xC0];
+      }
+      if ( end > 0 )
+      {
+        for ( int k = sta; k < end; k++ )
+        {
+          if ( DRW_DoubleTable932[k][0] == code )
+          {
+            res += encodeNum( DRW_DoubleTable932[k][1] ); //translate from table
+            notFound = false;
+            break;
+          }
+        }
+      }
+    }
+    //not found
+    if ( notFound ) res += encodeNum( NOTFOUND932 );
+  } //end for
+
+  return res;
+}
+
+std::string DRW_ConvUTF16::fromUtf8( std::string *s )
+{
+  DRW_UNUSED( s );
+  //RLZ: to be writen (only needed for write dwg 2007+)
+  return std::string();
+}
+
+std::string DRW_ConvUTF16::toUtf8( std::string *s ) //RLZ: pending to write
+{
+  std::string res;
+  std::string::iterator it;
+  for ( it = s->begin() ; it < s->end(); ++it )
+  {
+    unsigned char c1 = *it;
+    unsigned char c2 = *( ++it );
+    duint16 ch = ( c2 << 8 ) | c1;
+    res += encodeNum( ch );
+  } //end for
+
+  return res;
+}
+
+std::string DRW_TextCodec::correctCodePage( const std::string& s )
+{
+  //stringstream cause crash in OS/X, bug#3597944
+  std::string cp = s;
+  transform( cp.begin(), cp.end(), cp.begin(), toupper );
+  //Latin/Thai
+  if ( cp == "ANSI_874" || cp == "CP874" || cp == "ISO8859-11" || cp == "TIS-620" )
+  {
+    return "ANSI_874";
+    //Central Europe and Eastern Europe
+  }
+  else if ( cp == "ANSI_1250" || cp == "CP1250" || cp == "ISO8859-2" )
+  {
+    return "ANSI_1250";
+    //Cyrillic script
+  }
+  else if ( cp == "ANSI_1251" || cp == "CP1251" || cp == "ISO8859-5" || cp == "KOI8-R" ||
+            cp == "KOI8-U" || cp == "IBM 866" )
+  {
+    return "ANSI_1251";
+    //Western Europe
+  }
+  else if ( cp == "ANSI_1252" || cp == "CP1252" || cp == "LATIN1" || cp == "ISO-8859-1" ||
+            cp == "CP819" || cp == "CSISO" || cp == "IBM819" || cp == "ISO_8859-1" || cp == "APPLE ROMAN" ||
+            cp == "ISO8859-1" || cp == "ISO8859-15" || cp == "ISO-IR-100" || cp == "L1" || cp == "IBM 850" )
+  {
+    return "ANSI_1252";
+    //Greek
+  }
+  else if ( cp == "ANSI_1253" || cp == "CP1253" || cp == "iso8859-7" )
+  {
+    return "ANSI_1253";
+    //Turkish
+  }
+  else if ( cp == "ANSI_1254" || cp == "CP1254" || cp == "iso8859-9" || cp == "iso8859-3" )
+  {
+    return "ANSI_1254";
+    //Hebrew
+  }
+  else if ( cp == "ANSI_1255" || cp == "CP1255" || cp == "iso8859-8" )
+  {
+    return "ANSI_1255";
+    //Arabic
+  }
+  else if ( cp == "ANSI_1256" || cp == "CP1256" || cp == "ISO8859-6" )
+  {
+    return "ANSI_1256";
+    //Baltic
+  }
+  else if ( cp == "ANSI_1257" || cp == "CP1257" || cp == "ISO8859-4" || cp == "ISO8859-10" || cp == "ISO8859-13" )
+  {
+    return "ANSI_1257";
+    //Vietnamese
+  }
+  else if ( cp == "ANSI_1258" || cp == "CP1258" )
+  {
+    return "ANSI_1258";
+
+    //Japanese
+  }
+  else if ( cp == "ANSI_932" || cp == "SHIFT-JIS" || cp == "SHIFT_JIS" || cp == "CSSHIFTJIS" ||
+            cp == "CSWINDOWS31J" || cp == "MS_KANJI" || cp == "X-MS-CP932" || cp == "X-SJIS" ||
+            cp == "EUCJP" || cp == "EUC-JP" || cp == "CSEUCPKDFMTJAPANESE" || cp == "X-EUC" ||
+            cp == "X-EUC-JP" || cp == "JIS7" )
+  {
+    return "ANSI_932";
+    //Chinese PRC GBK (XGB) simplified
+  }
+  else if ( cp == "ANSI_936" || cp == "GBK" || cp == "GB2312" || cp == "CHINESE" || cp == "CN-GB" ||
+            cp == "CSGB2312" || cp == "CSGB231280" || cp == "CSISO58BG231280" ||
+            cp == "GB_2312-80" || cp == "GB231280" || cp == "GB2312-80" ||
+            cp == "ISO-IR-58" || cp == "GB18030" )
+  {
+    return "ANSI_936";
+    //Korean
+  }
+  else if ( cp == "ANSI_949" || cp == "EUCKR" )
+  {
+    return "ANSI_949";
+    //Chinese Big5 (Taiwan, Hong Kong SAR)
+  }
+  else if ( cp == "ANSI_950" || cp == "BIG5" || cp == "CN-BIG5" || cp == "CSBIG5" ||
+            cp == "X-X-BIG5" || cp == "BIG5-HKSCS" )
+  {
+    return "ANSI_950";
+
+//celtic
+    /*    } else if (cp=="ISO8859-14") {
+           return "ISO8859-14";
+        } else if (cp=="TSCII") {
+            return "TSCII"; //tamil
+        }*/
+
+  }
+  else if ( cp == "UTF-8" || cp == "UTF8" || cp == "UTF8-BIT" )
+  {
+    return "UTF-8";
+  }
+  else if ( cp == "UTF-16" || cp == "UTF16" || cp == "UTF16-BIT" )
+  {
+    return "UTF-16";
+  }
+
+  return "ANSI_1252";
+}
diff --git a/src/app/dwg/libdxfrw/intern/drw_textcodec.h b/src/app/dwg/libdxfrw/intern/drw_textcodec.h
new file mode 100644
index 0000000..d37fdb1
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/drw_textcodec.h
@@ -0,0 +1,100 @@
+#ifndef DRW_TEXTCODEC_H
+#define DRW_TEXTCODEC_H
+
+#include <string>
+
+class DRW_Converter;
+
+class DRW_TextCodec
+{
+  public:
+    DRW_TextCodec();
+    ~DRW_TextCodec();
+    std::string fromUtf8( std::string s );
+    std::string toUtf8( std::string s );
+    int getVersion() {return version;}
+    void setVersion( std::string *v, bool dxfFormat );
+    void setVersion( int v, bool dxfFormat );
+    void setCodePage( std::string *c, bool dxfFormat );
+    void setCodePage( std::string c, bool dxfFormat ) {setCodePage( &c, dxfFormat );}
+    std::string getCodePage() {return cp;}
+
+  private:
+    std::string correctCodePage( const std::string& s );
+
+  private:
+    int version;
+    std::string cp;
+    DRW_Converter *conv;
+};
+
+class DRW_Converter
+{
+  public:
+    DRW_Converter( const int *t, int l )
+    {
+      table = t;
+      cpLenght = l;
+    }
+    virtual ~DRW_Converter() {}
+    virtual std::string fromUtf8( std::string *s ) {return *s;}
+    virtual std::string toUtf8( std::string *s );
+    std::string encodeText( std::string stmp );
+    std::string decodeText( int c );
+    std::string encodeNum( int c );
+    int decodeNum( std::string s, int *b );
+    const int *table;
+    int cpLenght;
+};
+
+class DRW_ConvUTF16 : public DRW_Converter
+{
+  public:
+    DRW_ConvUTF16(): DRW_Converter( nullptr, 0 ) {}
+    virtual std::string fromUtf8( std::string *s );
+    virtual std::string toUtf8( std::string *s );
+};
+
+class DRW_ConvTable : public DRW_Converter
+{
+  public:
+    DRW_ConvTable( const int *t, int l ): DRW_Converter( t, l ) {}
+    virtual std::string fromUtf8( std::string *s );
+    virtual std::string toUtf8( std::string *s );
+};
+
+class DRW_ConvDBCSTable : public DRW_Converter
+{
+  public:
+    DRW_ConvDBCSTable( const int *t,  const int *lt, const int dt[][2], int l ): DRW_Converter( t, l )
+    {
+      leadTable = lt;
+      doubleTable = dt;
+    }
+
+    virtual std::string fromUtf8( std::string *s );
+    virtual std::string toUtf8( std::string *s );
+  private:
+    const int *leadTable;
+    const int ( *doubleTable )[2];
+
+};
+
+class DRW_Conv932Table : public DRW_Converter
+{
+  public:
+    DRW_Conv932Table( const int *t,  const int *lt, const int dt[][2], int l ): DRW_Converter( t, l )
+    {
+      leadTable = lt;
+      doubleTable = dt;
+    }
+
+    virtual std::string fromUtf8( std::string *s );
+    virtual std::string toUtf8( std::string *s );
+  private:
+    const int *leadTable;
+    const int ( *doubleTable )[2];
+
+};
+
+#endif // DRW_TEXTCODEC_H
diff --git a/src/app/dwg/libdxfrw/intern/dwgbuffer.cpp b/src/app/dwg/libdxfrw/intern/dwgbuffer.cpp
new file mode 100644
index 0000000..749381e
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgbuffer.cpp
@@ -0,0 +1,1060 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+
+#include "dwgbuffer.h"
+#include "../libdwgr.h"
+#include "drw_textcodec.h"
+#include "drw_dbg.h"
+
+#undef QGISDEBUG
+#include "qgslogger.h"
+
+#if 0
+//#include <bitset>
+#include <fstream>
+#include <algorithm>
+#include <sstream>
+#include "dwgreader.h"
+#include "dxfwriter.h"
+
+#define FIRSTHANDLE 48
+
+enum sections
+{
+  secUnknown,
+  secHeader,
+  secTables,
+  secBlocks,
+  secEntities,
+  secObjects
+};
+#endif
+
+static unsigned int crctable[256] =
+{
+  0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241,
+  0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440,
+  0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40,
+  0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841,
+  0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40,
+  0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41,
+  0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641,
+  0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040,
+  0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240,
+  0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441,
+  0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41,
+  0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840,
+  0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41,
+  0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40,
+  0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640,
+  0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041,
+  0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240,
+  0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441,
+  0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41,
+  0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840,
+  0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41,
+  0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40,
+  0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640,
+  0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041,
+  0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241,
+  0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440,
+  0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40,
+  0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841,
+  0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40,
+  0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41,
+  0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641,
+  0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040
+};
+
+static unsigned int crc32Table[256] =
+{
+  0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
+  0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
+  0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
+  0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
+  0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+  0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
+  0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f,
+  0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d,
+  0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
+  0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+  0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
+  0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
+  0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
+  0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
+  0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+  0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
+  0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
+  0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
+  0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
+  0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+  0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
+  0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
+  0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
+  0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
+  0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+  0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
+  0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
+  0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
+  0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
+  0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+  0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
+  0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
+};
+
+union typeCast
+{
+  char buf[8];
+  duint16 i16;
+  duint32 i32;
+  duint64 i64;
+  ddouble64 d64;
+};
+
+bool dwgFileStream::setPos( duint64 p )
+{
+  if ( p >= sz )
+    return false;
+
+  stream->seekg( p );
+  return stream->good();
+}
+
+bool dwgFileStream::read( duint8* s, duint64 n )
+{
+  stream->read( reinterpret_cast<char*>( s ), n );
+  return stream->good();
+}
+
+bool dwgCharStream::setPos( duint64 p )
+{
+  if ( p > size() )
+  {
+    isOk = false;
+    return false;
+  }
+
+  pos = p;
+  return true;
+}
+
+bool dwgCharStream::read( duint8* s, duint64 n )
+{
+  if ( n > ( sz - pos ) )
+  {
+    isOk = false;
+    return false;
+  }
+  for ( duint64 i = 0; i < n; i++ )
+  {
+    s[i] = stream[pos++];
+  }
+  return true;
+}
+
+dwgBuffer::dwgBuffer( duint8 *buf, int size, DRW_TextCodec *dc )
+{
+  filestr = new dwgCharStream( buf, size );
+  decoder = dc;
+  maxSize = size;
+  bitPos = 0;
+}
+
+dwgBuffer::dwgBuffer( std::ifstream *stream, DRW_TextCodec *dc )
+{
+  filestr = new dwgFileStream( stream );
+  decoder = dc;
+  maxSize = filestr->size();
+  bitPos = 0;
+}
+
+dwgBuffer::dwgBuffer( const dwgBuffer& org )
+{
+  filestr = org.filestr->clone();
+  decoder = org.decoder;
+  maxSize = filestr->size();
+  currByte = org.currByte;
+  bitPos = org.bitPos;
+}
+
+dwgBuffer& dwgBuffer::operator=( const dwgBuffer & org )
+{
+  filestr = org.filestr->clone();
+  decoder = org.decoder;
+  maxSize = filestr->size();
+  currByte = org.currByte;
+  bitPos = org.bitPos;
+  return *this;
+}
+
+dwgBuffer::~dwgBuffer()
+{
+  delete filestr;
+}
+
+/** Gets the current byte position in buffer **/
+duint64 dwgBuffer::getPosition()
+{
+  if ( bitPos != 0 )
+    return filestr->getPos() - 1;
+  return filestr->getPos();
+}
+
+/** Sets the buffer position in pos byte, reset the bit position **/
+bool dwgBuffer::setPosition( duint64 pos )
+{
+  bitPos = 0;
+#if 0
+  if ( pos >= maxSize )
+    return false;
+#endif
+  return filestr->setPos( pos );
+#if 0
+  return true;
+#endif
+}
+
+//RLZ: Fails if ... ???
+void dwgBuffer::setBitPos( duint8 pos )
+{
+  if ( pos > 7 )
+    return;
+  if ( pos != 0 && bitPos == 0 )
+  {
+    duint8 buffer;
+    filestr->read( &buffer, 1 );
+    currByte = buffer;
+  }
+  if ( pos == 0 && bitPos != 0 ) //reset current byte
+  {
+    filestr->setPos( filestr->getPos() - 1 );
+  }
+  bitPos = pos;
+}
+
+bool dwgBuffer::moveBitPos( dint32 size )
+{
+  if ( size == 0 ) return true;
+
+  dint32 b = size + bitPos;
+  filestr->setPos( getPosition() + ( b >> 3 ) );
+  bitPos = b & 7;
+
+  if ( bitPos != 0 )
+  {
+    filestr->read( &currByte, 1 );
+  }
+  return filestr->good();
+}
+
+/** Reads one Bit returns a char with value 0/1 (B) **/
+duint8 dwgBuffer::getBit()
+{
+  duint8 buffer;
+  duint8 ret = 0;
+  if ( bitPos == 0 )
+  {
+    filestr->read( &buffer, 1 );
+    currByte = buffer;
+  }
+
+  ret = ( currByte >> ( 7 - bitPos ) & 1 );
+  bitPos += 1;
+  if ( bitPos == 8 )
+    bitPos = 0;
+
+  return ret;
+}
+
+/** Reads one Bit returns a bool value 0==false 1==true (B) **/
+bool dwgBuffer::getBoolBit()
+{
+  return ( getBit() != 0 );
+}
+
+/** Reads two Bits returns a char (BB) **/
+duint8 dwgBuffer::get2Bits()
+{
+  duint8 buffer;
+  duint8 ret = 0;
+  if ( bitPos == 0 )
+  {
+    filestr->read( &buffer, 1 );
+    currByte = buffer;
+  }
+
+  bitPos += 2;
+  if ( bitPos < 9 )
+    ret = currByte >> ( 8 - bitPos );
+  else  //read one bit per byte
+  {
+    ret = currByte << 1;
+    filestr->read( &buffer, 1 );
+    currByte = buffer;
+    bitPos = 1;
+    ret = ret | currByte >> 7;
+  }
+  if ( bitPos == 8 )
+    bitPos = 0;
+  ret = ret & 3;
+  return ret;
+}
+
+/** Reads thee Bits returns a char (3B) **/
+//RLZ: todo verify this
+duint8 dwgBuffer::get3Bits()
+{
+  duint8 buffer;
+  duint8 ret = 0;
+  if ( bitPos == 0 )
+  {
+    filestr->read( &buffer, 1 );
+    currByte = buffer;
+  }
+
+  bitPos += 3;
+  if ( bitPos < 9 )
+    ret = currByte >> ( 8 - bitPos );
+  else  //read one bit per byte
+  {
+    ret = currByte << 1;
+    filestr->read( &buffer, 1 );
+    currByte = buffer;
+    bitPos = 1;
+    ret = ret | currByte >> 7;
+  }
+  if ( bitPos == 8 )
+    bitPos = 0;
+  ret = ret & 7;
+  return ret;
+}
+
+/** Reads tree Bits returns a char (3B) for R24 **/
+//to be written
+
+/** Reads compressed Short (max. 16 + 2 bits) little-endian order, returns a UNsigned 16 bits (BS) **/
+duint16 dwgBuffer::getBitShort()
+{
+  duint8 b = get2Bits();
+  if ( b == 0 )
+    return getRawShort16();
+  else if ( b == 1 )
+    return getRawChar8();
+  else if ( b == 2 )
+    return 0;
+  else
+    return 256;
+}
+/** Reads compressed Short (max. 16 + 2 bits) little-endian order, returns a signed 16 bits (BS) **/
+dint16 dwgBuffer::getSBitShort()
+{
+  duint8 b = get2Bits();
+  if ( b == 0 )
+    return ( dint16 )getRawShort16();
+  else if ( b == 1 )
+    return ( dint16 )getRawChar8();
+  else if ( b == 2 )
+    return 0;
+  else
+    return 256;
+}
+
+/** Reads compressed 32 bits Int (max. 32 + 2 bits) little-endian order, returns a signed 32 bits (BL) **/
+//to be written
+dint32 dwgBuffer::getBitLong()
+{
+  dint8 b = get2Bits();
+  if ( b == 0 )
+    return getRawLong32();
+  else if ( b == 1 )
+    return getRawChar8();
+  else //if (b == 2)
+    return 0;
+}
+
+/** Reads compressed 64 bits Int (max. 56 + 3 bits) little-endian order, returns a unsigned 64 bits (BLL) **/
+duint64 dwgBuffer::getBitLongLong()
+{
+  dint8 b = get3Bits();
+  duint64 ret = 0;
+  for ( duint8 i = 0; i < b; i++ )
+  {
+    ret = ret << 8;
+    ret |= getRawChar8();
+  }
+  return ret;
+}
+
+/** Reads compressed Double (max. 64 + 2 bits) returns a floating point double of 64 bits (BD) **/
+double dwgBuffer::getBitDouble()
+{
+  dint8 b = get2Bits();
+  if ( b == 1 )
+    return 1.0;
+  else if ( b == 0 )
+  {
+    duint8 buffer[8];
+    if ( bitPos != 0 )
+    {
+      for ( int i = 0; i < 8; i++ )
+        buffer[i] = getRawChar8();
+    }
+    else
+    {
+      filestr->read( buffer, 8 );
+    }
+    double* ret = reinterpret_cast<double*>( buffer );
+    return *ret;
+  }
+  //    if (b == 2)
+  return 0.0;
+}
+
+/** Reads 3 compressed Double (max. 64 + 2 bits) returns a DRW_Coord of floating point double of 64 bits (3BD) **/
+DRW_Coord dwgBuffer::get3BitDouble()
+{
+  DRW_Coord crd;
+  crd.x = getBitDouble();
+  crd.y = getBitDouble();
+  crd.z = getBitDouble();
+  return crd;
+}
+
+/** Reads raw char 8 bits returns a unsigned char (RC) **/
+duint8 dwgBuffer::getRawChar8()
+{
+  duint8 ret;
+  duint8 buffer;
+  filestr->read( &buffer, 1 );
+  if ( bitPos == 0 )
+    return buffer;
+  else
+  {
+    ret = currByte << bitPos;
+    currByte = buffer;
+    ret = ret | ( currByte >> ( 8 - bitPos ) );
+  }
+  return ret;
+}
+
+/** Reads raw short 16 bits little-endian order, returns a unsigned short (RS) **/
+duint16 dwgBuffer::getRawShort16()
+{
+  duint8 buffer[2];
+  duint16 ret;
+
+  filestr->read( buffer, 2 );
+  if ( bitPos == 0 )
+  {
+    /* no offset directly swap bytes for little-endian */
+    ret = ( buffer[1] << 8 ) | ( buffer[0] & 0x00FF );
+  }
+  else
+  {
+    ret = ( buffer[0] << 8 ) | ( buffer[1] & 0x00FF );
+    /* apply offset */
+    ret = ret >> ( 8 - bitPos );
+    ret = ret | ( currByte << ( 8 + bitPos ) );
+    currByte = buffer[1];
+    /* swap bytes for little-endian */
+    ret = ( ret << 8 ) | ( ret >> 8 );
+  }
+  return ret;
+}
+
+/** Reads raw double IEEE standard 64 bits returns a double (RD) **/
+double dwgBuffer::getRawDouble()
+{
+  duint8 buffer[8];
+  if ( bitPos == 0 )
+    filestr->read( buffer, 8 );
+  else
+  {
+    for ( int i = 0; i < 8; i++ )
+      buffer[i] = getRawChar8();
+  }
+  double* nOffset = reinterpret_cast<double*>( buffer );
+  return *nOffset;
+}
+
+/** Reads 2 raw double IEEE standard 64 bits returns a DRW_Coord of floating point double 64 bits (2RD) **/
+DRW_Coord dwgBuffer::get2RawDouble()
+{
+  DRW_Coord crd;
+  crd.x = getRawDouble();
+  crd.y = getRawDouble();
+  return crd;
+}
+
+
+/** Reads raw int 32 bits little-endian order, returns a unsigned int (RL) **/
+duint32 dwgBuffer::getRawLong32()
+{
+  duint16 tmp1 = getRawShort16();
+  duint16 tmp2 = getRawShort16();
+  duint32 ret = ( tmp2 << 16 ) | ( tmp1 & 0x0000FFFF );
+
+  return ret;
+}
+
+/** Reads raw int 64 bits little-endian order, returns a unsigned long long (RLL) **/
+duint64 dwgBuffer::getRawLong64()
+{
+  duint32 tmp1 = getRawLong32();
+  duint64 tmp2 = getRawLong32();
+  duint64 ret = ( tmp2 << 32 ) | ( tmp1 & 0x00000000FFFFFFFF );
+
+  return ret;
+}
+
+/** Reads modular unsigner int, char based, compressed form, little-endian order, returns a unsigned int (U-MC) **/
+duint32 dwgBuffer::getUModularChar()
+{
+  std::vector<duint8> buffer;
+  duint32 result = 0;
+  for ( int i = 0; i < 4;i++ )
+  {
+    duint8 b = getRawChar8();
+    buffer.push_back( b & 0x7F );
+    if ( !( b & 0x80 ) )
+      break;
+  }
+  int offset = 0;
+  for ( unsigned int i = 0; i < buffer.size();i++ )
+  {
+    result += buffer[i] << offset;
+    offset += 7;
+  }
+//RLZ: WARNING!!! needed to verify on read handles
+  //result = result & 0x7F;
+  return result;
+}
+
+/** Reads modular int, char based, compressed form, little-endian order, returns a signed int (MC) **/
+dint32 dwgBuffer::getModularChar()
+{
+  bool negative = false;
+  std::vector<dint8> buffer;
+  dint32 result = 0;
+  for ( int i = 0; i < 4;i++ )
+  {
+    duint8 b = getRawChar8();
+    buffer.push_back( b & 0x7F );
+    if ( !( b & 0x80 ) )
+      break;
+  }
+  dint8 b = buffer.back();
+  if ( b & 0x40 )
+  {
+    negative = true;
+    buffer.pop_back();
+    buffer.push_back( b & 0x3F );
+  }
+
+  int offset = 0;
+  for ( unsigned int i = 0; i < buffer.size();i++ )
+  {
+    result += buffer[i] << offset;
+    offset += 7;
+  }
+  if ( negative )
+    result = -result;
+  return result;
+}
+
+/** Reads modular int, short based, compressed form, little-endian order, returns a unsigned int (MC) **/
+dint32 dwgBuffer::getModularShort()
+{
+//    bool negative = false;
+  std::vector<dint16> buffer;
+  dint32 result = 0;
+  for ( int i = 0; i < 2;i++ )
+  {
+    duint16 b = getRawShort16();
+    buffer.push_back( b & 0x7FFF );
+    if ( !( b & 0x8000 ) )
+      break;
+  }
+
+  //only positive ?
+  /*    dint8 b= buffer.back();
+      if (! (b & 0x40)) {
+          negative = true;
+          buffer.pop_back();
+          buffer.push_back(b & 0x3F);
+      }*/
+
+  int offset = 0;
+  for ( unsigned int i = 0; i < buffer.size();i++ )
+  {
+    result += buffer[i] << offset;
+    offset += 15;
+  }
+  /*    if (negative)
+          result = -result;*/
+  return result;
+}
+
+dwgHandle dwgBuffer::getHandle()  //H
+{
+  dwgHandle hl;
+  duint8 data = getRawChar8();
+  hl.code = ( data >> 4 ) & 0x0F;
+  hl.size = data & 0x0F;
+  hl.ref = 0;
+  for ( int i = 0; i < hl.size;i++ )
+  {
+    hl.ref = ( hl.ref << 8 ) | getRawChar8();
+  }
+  return hl;
+}
+
+dwgHandle dwgBuffer::getOffsetHandle( duint32 href )  //H
+{
+  dwgHandle hl = getHandle();
+
+  if ( hl.code > 5 )
+  {
+    if ( hl.code == 0x0C )
+      hl.ref = href - hl.ref;
+    else if ( hl.code == 0x0A )
+      hl.ref = href + hl.ref;
+    else if ( hl.code == 0x08 )
+      hl.ref = href - 1;
+    else if ( hl.code == 0x06 )
+      hl.ref = href + 1;
+//all are soft pointer reference change to 7 (without offset)
+    hl.code = 7;
+  }
+  return hl;
+}
+
+//internal until 2004
+std::string dwgBuffer::get8bitStr()
+{
+  duint16 textSize = getBitShort();
+  if ( textSize == 0 )
+    return std::string();
+  duint8 *tmpBuffer = new duint8[textSize];
+  bool good = getBytes( tmpBuffer, textSize );
+  if ( !good )
+    return std::string();
+
+#if 0
+  filestr->read( buffer, textSize );
+  if ( !filestr->good() )
+    return std::string();
+
+  duint8 tmp;
+  if ( bitPos != 0 )
+  {
+    for ( int i = 0; i < textSize;i++ )
+    {
+      tmp =  buffer[i];
+      buffer[i] = ( currByte << bitPos ) | ( tmp >> ( 8 - bitPos ) );
+      currByte = tmp;
+    }
+  }
+#endif
+
+  std::string str( reinterpret_cast<char*>( tmpBuffer ), textSize );
+  delete[]tmpBuffer;
+
+  return str;
+}
+
+//internal since 2007 //pending: are 2 bytes null terminated??
+//nullTerm = true if string are 2 bytes null terminated from the stream
+std::string dwgBuffer::get16bitStr( duint16 textSize, bool nullTerm )
+{
+  if ( textSize == 0 )
+    return std::string();
+  textSize *= 2;
+  duint16 ts = textSize;
+  if ( nullTerm )
+    ts += 2;
+  duint8 *tmpBuffer = new duint8[textSize + 2];
+  bool good = getBytes( tmpBuffer, ts );
+  if ( !good )
+    return std::string();
+  if ( !nullTerm )
+  {
+    tmpBuffer[textSize] = '\0';
+    tmpBuffer[textSize + 1] = '\0';
+  }
+  std::string str( reinterpret_cast<char*>( tmpBuffer ), ts );
+  delete[]tmpBuffer;
+
+  return str;
+}
+
+//T 8 bit text converted from codepage to utf8
+std::string dwgBuffer::getCP8Text()
+{
+  std::string strData;
+  strData = get8bitStr();//RLZ correct these function
+  if ( !decoder )
+    return strData;
+
+  return decoder->toUtf8( strData );
+}
+
+//TU unicode 16 bit (UCS) text converted to utf8
+/** Reads 2-bytes char (UCS2, nullptr terminated) and convert to std::string (only for Latin-1)
+   ts= total input size in bytes.
+**/
+std::string dwgBuffer::getUCSStr( duint16 ts )
+{
+  std::string strData;
+  if ( ts < 4 ) //at least 1 char
+    return std::string();
+  strData = get16bitStr( ts / 2, false );
+  if ( !decoder )
+    return strData;
+
+  return decoder->toUtf8( strData );
+}
+
+//TU unicode 16 bit (UCS) text converted to utf8
+//nullTerm = true if string are 2 bytes null terminated from the stream
+std::string dwgBuffer::getUCSText( bool nullTerm )
+{
+  std::string strData;
+  duint16 ts = getBitShort();
+  if ( ts == 0 )
+    return std::string();
+
+  strData = get16bitStr( ts, nullTerm );
+  if ( !decoder )
+    return strData;
+
+  return decoder->toUtf8( strData );
+}
+
+//RLZ: read a T or TU if version is 2007+
+//nullTerm = true if string are 2 bytes null terminated from the stream
+std::string dwgBuffer::getVariableText( DRW::Version v, bool nullTerm ) //TV
+{
+  if ( v > DRW::AC1018 )
+    return getUCSText( nullTerm );
+  return getCP8Text();
+}
+duint16 dwgBuffer::getObjType( DRW::Version v ) //OT
+{
+  if ( v > DRW::AC1021 )
+  {
+    duint8 b = get2Bits();
+    if ( b == 0 )
+      return getRawChar8();
+    else if ( b == 1 )
+    {
+      return ( getRawChar8() + 0x01F0 );
+    }
+    else //b == 2
+      return getRawShort16();
+  }
+  return getBitShort();
+}
+
+/* Bit Extrusion
+* For R2000+, this is a single bit, If the single bit is 1,
+* the extrusion value is assumed to be 0,0,1 and no explicit
+* extrusion is stored. If the single bit is 0, then it will
+* be followed by 3BD.
+* For R13-R14 this is 3BD.
+*/
+DRW_Coord dwgBuffer::getExtrusion( bool b_R2000_style )
+{
+  DRW_Coord ext( 0.0, 0.0, 1.0 );
+  if ( b_R2000_style )
+    /* If the bit is one, the extrusion value is assumed to be 0,0,1*/
+    if ( getBit() == 1 )
+      return ext;
+  /*R13-R14 or bit == 0*/
+  ext.x = getBitDouble();
+  ext.y = getBitDouble();
+  ext.z = getBitDouble();
+  return ext;
+}
+
+/** Reads compressed Double with default (max. 64 + 2 bits) returns a floating point double of 64 bits (DD) **/
+double dwgBuffer::getDefaultDouble( double d )
+{
+  dint8 b = get2Bits();
+  if ( b == 0 )
+    return d;
+  else if ( b == 1 )
+  {
+    duint8 buffer[4];
+    char *tmp;
+    if ( bitPos != 0 )
+    {
+      for ( int i = 0; i < 4; i++ )
+        buffer[i] = getRawChar8();
+    }
+    else
+    {
+      filestr->read( buffer, 4 );
+    }
+    tmp = reinterpret_cast<char*>( &d );
+    for ( int i = 0; i < 4; i++ )
+      tmp[i] = buffer[i];
+    double ret = *reinterpret_cast<double*>( tmp );
+    return ret;
+  }
+  else if ( b == 2 )
+  {
+    duint8 buffer[6];
+    char *tmp;
+    if ( bitPos != 0 )
+    {
+      for ( int i = 0; i < 6; i++ )
+        buffer[i] = getRawChar8();
+    }
+    else
+    {
+      filestr->read( buffer, 6 );
+    }
+    tmp = reinterpret_cast<char*>( &d );
+    for ( int i = 2; i < 6; i++ )
+      tmp[i-2] = buffer[i];
+    tmp[4] = buffer[0];
+    tmp[5] = buffer[1];
+    double ret = *reinterpret_cast<double*>( tmp );
+    return ret;
+  }
+  //    if (b == 3) return a full raw double
+  return getRawDouble();
+}
+
+
+/* BitThickness
+* For R13-R14, this is a BD.
+* For R2000+, this is a single bit, If the bit is one,
+* the thickness value is assumed to be 0.0, if not a BD follow
+*/
+double dwgBuffer::getThickness( bool b_R2000_style )
+{
+  if ( b_R2000_style )
+    /* If the bit is one, the thickness value is assumed to be 0.0.*/
+    if ( getBit() == 1 )
+      return 0.0;
+  /*R13-R14 or bit == 0*/
+  return getBitDouble();
+}
+
+/* CmColor (CMC)
+* For R15 and earlier call directly BS as ACIS color.
+* For R2004+, can be CMC or ENC
+* RGB value, first 4bits 0xC0 => ByLayer, 0xC1 => ByBlock, 0xC2 => RGB,  0xC3 => last 4 are ACIS
+*/
+duint32 dwgBuffer::getCmColor( DRW::Version v )
+{
+  if ( v < DRW::AC1018 ) //2000-
+    return getSBitShort();
+  duint16 idx = getBitShort();
+  duint32 rgb = getBitLong();
+  duint8 cb = getRawChar8();
+  duint8 type = rgb >> 24;
+
+  QgsDebugMsg( QString( "type COLOR:%1 index COLOR:%2 RGB COLOR:0x%3 byte COLOR:%4" )
+               .arg( type ).arg( idx ).arg( rgb, 0, 16 ).arg( cb )
+             );
+  Q_UNUSED( idx );
+
+  if ( cb&1 )
+  {
+    std::string colorName = getVariableText( v, false );
+    QgsDebugMsg( QString( "colorName:%1" ).arg( colorName.c_str() ) );
+  }
+  if ( cb&2 )
+  {
+    std::string bookName = getVariableText( v, false );
+    QgsDebugMsg( QString( "bookName: %1" ).arg( bookName.c_str() ) );
+  }
+
+  switch ( type )
+  {
+    case 0xC0:
+      return 256;//ByLayer
+      break;
+    case 0xC1:
+      return 0;//ByBlock
+      break;
+    case 0xC2:
+      return 256;//RGB RLZ TODO
+      break;
+    case 0xC3:
+      return rgb&0xFF;//ACIS
+      break;
+    default:
+      break;
+  }
+  //check cb if strings follows RLZ TODO
+  return 256; //default return ByLayer
+}
+
+/* EnColor (ENC)
+* For R15 and earlier call directly BS as ACIS color.
+* For R2004+, can be CMC or ENC
+* RGB value, first 4bits 0xC0 => ByLayer, 0xC1 => ByBlock, 0xC2 => RGB,  0xC3 => last 4 are ACIS
+*/
+duint32 dwgBuffer::getEnColor( DRW::Version v, int &rgb, int &transparency )
+{
+  if ( v < DRW::AC1018 ) //2000-
+    return getSBitShort();
+
+  rgb = -1;
+  transparency = 0;
+
+  duint16 idx = getBitShort();
+  QgsDebugMsg( QString( "idx reads COLOR: 0x%1" ).arg( idx, 0, 16 ) );
+
+  duint16 flags = idx >> 8;
+
+  idx = idx & 0x1FF; //RLZ: warning this is correct?
+
+  QgsDebugMsg( QString( "flag COLOR:0x%1, index COLOR:0x%2" ).arg( flags, 0, 16 ).arg( idx, 0, 16 ) );
+
+  if ( flags & 0x80 )
+  {
+    // complex color (rgb)
+    rgb = getBitLong() & 0xffffff;
+
+    QgsDebugMsg( QString( "RGB COLOR:0x%1" ).arg( rgb, 0, 16 ) );
+
+    if ( flags & 0x80 )
+    {
+      QgsDebugMsg( "acdbColor COLOR are present" );
+    }
+  }
+
+  if ( flags & 0x20 )
+  {
+    transparency = getBitLong();
+    QgsDebugMsg( QString( "Transparency COLOR:0x%1" ).arg( transparency, 0, 16 ) );
+  }
+
+  return idx; //default return ByLayer
+}
+
+
+/** Reads raw short 16 bits big-endian order, returns a unsigned short crc & size **/
+duint16 dwgBuffer::getBERawShort16()
+{
+  char buffer[2];
+  buffer[0] = getRawChar8();
+  buffer[1] = getRawChar8();
+  duint16 size = ( buffer[0] << 8 ) | ( buffer[1] & 0xFF );
+  return size;
+}
+
+/* reads "size" bytes and stores in "buf" return false if fail */
+bool dwgBuffer::getBytes( unsigned char *buf, int size )
+{
+  duint8 tmp;
+  int pos = filestr->getPos();
+  filestr->read( buf, size );
+  if ( !filestr->good() && ( int ) filestr->getPos() - pos != size )
+  {
+    QgsDebugMsg( QString( "short read: wanted %1; got %2 (at %3)" ).arg( size ).arg( filestr->getPos() - pos ).arg( filestr->getPos() ) );
+    return false;
+  }
+
+  if ( bitPos != 0 )
+  {
+    for ( int i = 0; i < size;i++ )
+    {
+      tmp =  buf[i];
+      buf[i] = ( currByte << bitPos ) | ( tmp >> ( 8 - bitPos ) );
+      currByte = tmp;
+    }
+  }
+  return true;
+}
+
+duint16 dwgBuffer::crc8( duint16 dx, dint32 start, dint32 end )
+{
+  int pos = filestr->getPos();
+  filestr->setPos( start );
+  int n = end - start;
+  duint8 *tmpBuf = new duint8[n];
+  duint8 *p = tmpBuf;
+  filestr->read( tmpBuf, n );
+  filestr->setPos( pos );
+  if ( !filestr->good() )
+    return 0;
+
+  duint8 al;
+
+  while ( n-- > 0 )
+  {
+    al = ( duint8 )(( *p ) ^(( dint8 )( dx & 0xFF ) ) );
+    dx = ( dx >> 8 ) & 0xFF;
+    dx = dx ^ crctable[al & 0xFF];
+    p++;
+  }
+  delete[]tmpBuf;
+  return( dx );
+}
+
+duint32 dwgBuffer::crc32( duint32 seed, dint32 start, dint32 end )
+{
+  int pos = filestr->getPos();
+  filestr->setPos( start );
+  int n = end - start;
+  duint8 *tmpBuf = new duint8[n];
+  duint8 *p = tmpBuf;
+  filestr->read( tmpBuf, n );
+  filestr->setPos( pos );
+  if ( !filestr->good() )
+    return 0;
+
+  duint32 invertedCrc = ~seed;
+  while ( n-- > 0 )
+  {
+    duint8 data = *p++;
+    invertedCrc = ( invertedCrc >> 8 ) ^ crc32Table[( invertedCrc ^ data ) & 0xff];
+  }
+  delete[]tmpBuf;
+  return ~invertedCrc;
+}
+
+
+#if 0
+std::string dwgBuffer::getBytes( int size )
+{
+  char buffer[size];
+  char tmp;
+  filestr->read( buffer, size );
+  if ( !filestr->good() )
+    return nullptr;
+
+  if ( bitPos != 0 )
+  {
+    for ( int i = 0; i <= size;i++ )
+    {
+      tmp =  buffer[i];
+      buffer[i] = ( currByte << bitPos ) | ( tmp >> ( 8 - bitPos ) );
+      currByte = tmp;
+    }
+  }
+  std::string st;
+  for ( int i = 0; i < size;i++ )
+  {
+    st.push_back( buffer[i] );
+  }
+  return st;
+//    return std::string(buffer);
+}
+#endif
diff --git a/src/app/dwg/libdxfrw/intern/dwgbuffer.h b/src/app/dwg/libdxfrw/intern/dwgbuffer.h
new file mode 100644
index 0000000..96f7ccc
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgbuffer.h
@@ -0,0 +1,161 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DWGBUFFER_H
+#define DWGBUFFER_H
+
+#include <fstream>
+#include <sstream>
+#include "../drw_base.h"
+
+class DRW_Coord;
+class DRW_TextCodec;
+
+class dwgBasicStream
+{
+  protected:
+    dwgBasicStream() {}
+  public:
+    virtual ~dwgBasicStream() {}
+    virtual bool read( duint8* s, duint64 n ) = 0;
+    virtual duint64 size() = 0;
+    virtual duint64 getPos() = 0;
+    virtual bool setPos( duint64 p ) = 0;
+    virtual bool good() = 0;
+    virtual dwgBasicStream* clone() = 0;
+};
+
+class dwgFileStream: public dwgBasicStream
+{
+  public:
+    explicit dwgFileStream( std::ifstream *s )
+    {
+      stream = s;
+      stream->seekg( 0, std::ios::end );
+      sz = stream->tellg();
+      stream->seekg( 0, std::ios_base::beg );
+    }
+    virtual ~dwgFileStream() {}
+    virtual bool read( duint8* s, duint64 n );
+    virtual duint64 size() {return sz;}
+    virtual duint64 getPos() {return stream->tellg();}
+    virtual bool setPos( duint64 p );
+    virtual bool good() {return stream->good();}
+    virtual dwgBasicStream* clone() {return new dwgFileStream( stream );}
+  private:
+    std::ifstream *stream;
+    duint64 sz;
+};
+
+class dwgCharStream: public dwgBasicStream
+{
+  public:
+    dwgCharStream( duint8 *buf, int s )
+    {
+      stream = buf;
+      sz = s;
+      pos = 0;
+      isOk = true;
+    }
+    virtual ~dwgCharStream() {}
+    virtual bool read( duint8* s, duint64 n );
+    virtual duint64 size() {return sz;}
+    virtual duint64 getPos() {return pos;}
+    virtual bool setPos( duint64 p );
+    virtual bool good() {return isOk;}
+    virtual dwgBasicStream* clone() {return new dwgCharStream( stream, sz );}
+  private:
+    duint8 *stream;
+    duint64 sz;
+    duint64 pos;
+    bool isOk;
+};
+
+class dwgBuffer
+{
+  public:
+    dwgBuffer( std::ifstream *stream, DRW_TextCodec *decoder = nullptr );
+    dwgBuffer( duint8 *buf, int size, DRW_TextCodec *decoder = nullptr );
+    dwgBuffer( const dwgBuffer& org );
+    dwgBuffer& operator=( const dwgBuffer& org );
+    ~dwgBuffer();
+    duint64 size() {return filestr->size();}
+    bool setPosition( duint64 pos );
+    duint64 getPosition();
+    void resetPosition() {setPosition( 0 ); setBitPos( 0 );}
+    void setBitPos( duint8 pos );
+    duint8 getBitPos() {return bitPos;}
+    bool moveBitPos( dint32 size );
+
+    duint8 getBit();  //B
+    bool getBoolBit();  //B as bool
+    duint8 get2Bits(); //BB
+    duint8 get3Bits(); //3B
+    duint16 getBitShort(); //BS
+    dint16 getSBitShort(); //BS
+    dint32 getBitLong(); //BL
+    duint64 getBitLongLong();  //BLL (R24)
+    double getBitDouble(); //BD
+    //2BD => call BD 2 times
+    DRW_Coord get3BitDouble(); //3BD
+    duint8 getRawChar8();  //RC
+    duint16 getRawShort16();  //RS
+    double getRawDouble(); //RD
+    duint32 getRawLong32();   //RL
+    duint64 getRawLong64();   //RLL
+    DRW_Coord get2RawDouble(); //2RD
+    //3RD => call RD 3 times
+    duint32 getUModularChar(); //UMC, unsigned for offsets in 1015
+    dint32 getModularChar(); //MC
+    dint32 getModularShort(); //MS
+    dwgHandle getHandle(); //H
+    dwgHandle getOffsetHandle( duint32 href ); //H converted to hard
+    UTF8STRING getVariableText( DRW::Version v, bool nullTerm = true ); //TV => call TU for 2007+ or T for previous versions
+    UTF8STRING getCP8Text(); //T 8 bit text converted from codepage to utf8
+    UTF8STRING getUCSText( bool nullTerm = true ); //TU unicode 16 bit (UCS) text converted to utf8
+    UTF8STRING getUCSStr( duint16 ts );
+
+    duint16 getObjType( DRW::Version v );  //OT
+
+    //X, U, SN,
+
+    DRW_Coord getExtrusion( bool b_R2000_style ); //BE
+    double getDefaultDouble( double d ); //DD
+    double getThickness( bool b_R2000_style );//BT
+    //3DD
+    duint32 getCmColor( DRW::Version v ); //CMC
+    duint32 getEnColor( DRW::Version v, int &rgb, int &transparency ); //ENC
+    //TC
+
+    duint16 getBERawShort16();  //RS big-endian order
+
+    bool isGood() {return filestr->good();}
+    bool getBytes( duint8 *buf, int size );
+    int numRemainingBytes() {return ( maxSize - filestr->getPos() );}
+
+    duint16 crc8( duint16 dx, dint32 start, dint32 end );
+    duint32 crc32( duint32 seed, dint32 start, dint32 end );
+
+//    duint8 getCurrByte(){return currByte;}
+    DRW_TextCodec *decoder;
+
+  private:
+    dwgBasicStream *filestr;
+    int maxSize;
+    duint8 currByte;
+    duint8 bitPos;
+
+    UTF8STRING get8bitStr();
+    UTF8STRING get16bitStr( duint16 textSize, bool nullTerm = true );
+};
+
+#endif // DWGBUFFER_H
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader.cpp b/src/app/dwg/libdxfrw/intern/dwgreader.cpp
new file mode 100644
index 0000000..a6b027c
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader.cpp
@@ -0,0 +1,1584 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <cstdlib>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <sstream>
+
+#include "dwgreader.h"
+#include "drw_textcodec.h"
+
+#undef QGISDEBUG
+#include "qgslogger.h"
+#include "qgsmessagelog.h"
+
+#include <QStringList>
+
+
+dwgReader::~dwgReader()
+{
+  for ( std::map<duint32, DRW_LType*>::iterator it = ltypemap.begin(); it != ltypemap.end(); ++it )
+    delete( it->second );
+  for ( std::map<duint32, DRW_Layer*>::iterator it = layermap.begin(); it != layermap.end(); ++it )
+    delete( it->second );
+  for ( std::map<duint32, DRW_Block*>::iterator it = blockmap.begin(); it != blockmap.end(); ++it )
+    delete( it->second );
+  for ( std::map<duint32, DRW_Textstyle*>::iterator it = stylemap.begin(); it != stylemap.end(); ++it )
+    delete( it->second );
+  for ( std::map<duint32, DRW_Dimstyle*>::iterator it = dimstylemap.begin(); it != dimstylemap.end(); ++it )
+    delete( it->second );
+  for ( std::map<duint32, DRW_Vport*>::iterator it = vportmap.begin(); it != vportmap.end(); ++it )
+    delete( it->second );
+  for ( std::map<duint32, DRW_Class*>::iterator it = classesmap.begin(); it != classesmap.end(); ++it )
+    delete( it->second );
+  for ( std::map<duint32, DRW_Block_Record*>::iterator it = blockRecordmap.begin(); it != blockRecordmap.end(); ++it )
+    delete( it->second );
+  for ( std::map<duint32, DRW_AppId*>::iterator it = appIdmap.begin(); it != appIdmap.end(); ++it )
+    delete( it->second );
+
+  delete fileBuf;
+}
+
+void dwgReader::parseAttribs( DRW_Entity* e )
+{
+  if ( e )
+  {
+    duint32 ltref = e->lTypeH.ref;
+    duint32 lyref = e->layerH.ref;
+    std::map<duint32, DRW_LType*>::iterator lt_it = ltypemap.find( ltref );
+    if ( lt_it != ltypemap.end() )
+    {
+      e->lineType = ( lt_it->second )->name;
+    }
+    std::map<duint32, DRW_Layer*>::iterator ly_it = layermap.find( lyref );
+    if ( ly_it != layermap.end() )
+    {
+      e->layer = ( ly_it->second )->name;
+    }
+  }
+}
+
+std::string dwgReader::findTableName( DRW::TTYPE table, dint32 handle )
+{
+  std::string name;
+  switch ( table )
+  {
+    case DRW::STYLE:
+    {
+      std::map<duint32, DRW_Textstyle*>::iterator st_it = stylemap.find( handle );
+      if ( st_it != stylemap.end() )
+        name = ( st_it->second )->name;
+      break;
+    }
+    case DRW::DIMSTYLE:
+    {
+      std::map<duint32, DRW_Dimstyle*>::iterator ds_it = dimstylemap.find( handle );
+      if ( ds_it != dimstylemap.end() )
+        name = ( ds_it->second )->name;
+      break;
+    }
+    case DRW::BLOCK_RECORD:  //use DRW_Block because name are more correct
+    {
+//        std::map<duint32, DRW_Block*>::iterator bk_it = blockmap.find(handle);
+//        if (bk_it != blockmap.end())
+      std::map<duint32, DRW_Block_Record*>::iterator bk_it = blockRecordmap.find( handle );
+      if ( bk_it != blockRecordmap.end() )
+        name = ( bk_it->second )->name;
+      break;
+    }
+#if 0
+    case DRW::VPORT:
+    {
+      std::map<duint32, DRW_Vport*>::iterator vp_it = vportmap.find( handle );
+      if ( vp_it != vportmap.end() )
+        name = ( vp_it->second )->name;
+      break;
+    }
+#endif
+    case DRW::LAYER:
+    {
+      std::map<duint32, DRW_Layer*>::iterator ly_it = layermap.find( handle );
+      if ( ly_it != layermap.end() )
+        name = ( ly_it->second )->name;
+      break;
+    }
+    case DRW::LTYPE:
+    {
+      std::map<duint32, DRW_LType*>::iterator lt_it = ltypemap.find( handle );
+      if ( lt_it != ltypemap.end() )
+        name = ( lt_it->second )->name;
+      break;
+    }
+    default:
+      break;
+  }
+  return name;
+}
+
+bool dwgReader::readDwgHeader( DRW_Header& hdr, dwgBuffer *buf, dwgBuffer *hBuf )
+{
+  bool ret = hdr.parseDwg( version, buf, hBuf, maintenanceVersion );
+  //RLZ: copy objectControl handles
+  return ret;
+}
+
+//RLZ: TODO add check instead print
+bool dwgReader::checkSentinel( dwgBuffer *buf, enum secEnum::DWGSection, bool start )
+{
+  DRW_UNUSED( start );
+  QStringList l;
+  for ( int i = 0; i < 16;i++ )
+  {
+    int t = buf->getRawChar8();
+    l << QString( "0x%1" ).arg( t, 0, 16 );
+  }
+  QgsDebugMsg( l.join( " " ) );
+  return true;
+}
+
+/*********** objects map ************************/
+/** Note: object map are split in sections with max size 2035?
+ *  each section are 2 bytes size + data bytes + 2 bytes crc
+ *  size value are data bytes + 2 and to calculate crc are used
+ *  2 bytes size + data bytes
+ *  last section are 2 bytes size + 2 bytes crc (size value always 2)
+**/
+bool dwgReader::readDwgHandles( dwgBuffer *dbuf, duint32 offset, duint32 size )
+{
+  QgsDebugMsg( "Entering." );
+
+  if ( !dbuf->setPosition( offset ) )
+    return false;
+
+  duint32 maxPos = offset + size;
+
+  QgsDebugMsg( QString( "Section HANDLES offset=%1 size=%2 maxPos=%3" )
+               .arg( offset ).arg( size ).arg( maxPos )
+             );
+
+  int startPos = offset;
+
+  while ( maxPos > dbuf->getPosition() )
+  {
+    QgsDebugMsgLevel( QString( "start handles section buf->curPosition()=%1" ).arg( dbuf->getPosition() ), 5 );
+    duint16 size = dbuf->getBERawShort16();
+    QgsDebugMsgLevel( QString( "object map section size=%1" ).arg( size ), 5 );
+
+    dbuf->setPosition( startPos );
+
+    duint8 *tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff( tmpByteStr, size, &decoder );
+    if ( size != 2 )
+    {
+      buff.setPosition( 2 );
+      int lastHandle = 0;
+      int lastLoc = 0;
+      //read data
+      while ( buff.getPosition() < size )
+      {
+        lastHandle += buff.getUModularChar();
+        lastLoc += buff.getModularChar();
+        QgsDebugMsgLevel( QString( "object map lastHandle=0x%1 lastLoc=%2" ).arg( lastHandle, 0, 16 ).arg( lastLoc ), 5 );
+        ObjectMap[lastHandle] = objHandle( 0, lastHandle, lastLoc );
+      }
+    }
+    //verify crc
+    duint16 crcCalc = buff.crc8( 0xc0c1, 0, size );
+    delete[]tmpByteStr;
+    duint16 crcRead = dbuf->getBERawShort16();
+
+    if ( crcCalc != crcRead )
+    {
+      QgsMessageLog::logMessage( QObject::tr( "Object map section failed CRC check" ), QObject::tr( "DWG/DXF import" ) );
+      QgsDebugMsg( QString( "object map section crc8 read=%1 crc8 calculated=%2 buf->curPosition()=%3 FAILED" ).arg( crcRead ).arg( crcCalc ).arg( dbuf->getPosition() ) );
+    }
+
+    startPos = dbuf->getPosition();
+  }
+
+  return dbuf->isGood();
+}
+
+/*********** objects ************************/
+/**
+ * Reads all the object referenced in the object map section of the DWG file
+ * (using their object file offsets)
+ */
+bool dwgReader::readDwgTables( DRW_Header& hdr, dwgBuffer *dbuf )
+{
+  QgsDebugMsg( "Entering." );
+
+  bool ret = true;
+  bool ret2 = true;
+  objHandle oc;
+  std::map<duint32, objHandle>::iterator mit;
+  dint16 oType;
+  duint32 bs = 0; //bit size of handle stream 2010+
+  duint8 *tmpByteStr;
+
+  //parse linetypes, start with linetype Control
+  mit = ObjectMap.find( hdr.linetypeCtrl );
+  if ( mit == ObjectMap.end() )
+  {
+    QgsDebugMsg( "WARNING: LineType control not found" );
+    ret = false;
+  }
+  else
+  {
+    QgsDebugMsg( "**********Parsing LineType control*******" );
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    DRW_ObjControl ltControl;
+    dbuf->setPosition( oc.loc );
+    int csize = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[csize];
+    dbuf->getBytes( tmpByteStr, csize );
+    dwgBuffer cbuff( tmpByteStr, csize, &decoder );
+    //verify if object are correct
+    oType = cbuff.getObjType( version );
+    if ( oType != 0x38 )
+    {
+      QgsDebugMsg( QString( "WARNING: Not LineType control object, found oType 0x%1 instead of 0x38" )
+                   .arg( oType, 0, 16 )
+                 );
+
+      ret = false;
+    }
+    else   //reset position
+    {
+      cbuff.resetPosition();
+      ret2 = ltControl.parseDwg( version, &cbuff, bs );
+      if ( ret )
+        ret = ret2;
+    }
+    delete[]tmpByteStr;
+    for ( std::list<duint32>::iterator it = ltControl.handlesList.begin(); it != ltControl.handlesList.end(); ++it )
+    {
+      mit = ObjectMap.find( *it );
+      if ( mit == ObjectMap.end() )
+      {
+        QgsDebugMsg( "WARNING: LineType not found" );
+        ret = false;
+      }
+      else
+      {
+        oc = mit->second;
+        ObjectMap.erase( mit );
+
+        QgsDebugMsg( QString( "LineType Handle=0x%1 loc.:%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+        DRW_LType *lt = new DRW_LType();
+        dbuf->setPosition( oc.loc );
+        int lsize = dbuf->getModularShort();
+        QgsDebugMsg( QString( "LineType size in bytes=%1" ).arg( lsize ) );
+        if ( version > DRW::AC1021 ) //2010+
+          bs = dbuf->getUModularChar();
+        else
+          bs = 0;
+        tmpByteStr = new duint8[lsize];
+        dbuf->getBytes( tmpByteStr, lsize );
+        dwgBuffer lbuff( tmpByteStr, lsize, &decoder );
+        ret2 = lt->parseDwg( version, &lbuff, bs );
+        ltypemap[lt->handle] = lt;
+        if ( ret )
+          ret = ret2;
+        delete[]tmpByteStr;
+      }
+    }
+  }
+
+  //parse layers, start with layer Control
+  mit = ObjectMap.find( hdr.layerCtrl );
+  if ( mit == ObjectMap.end() )
+  {
+    QgsDebugMsg( "WARNING: Layer control not found" );
+    ret = false;
+  }
+  else
+  {
+    QgsDebugMsg( "**********Parsing Layer control*******" );
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    DRW_ObjControl layControl;
+    dbuf->setPosition( oc.loc );
+    int size = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff( tmpByteStr, size, &decoder );
+    //verify if object are correct
+    oType = buff.getObjType( version );
+    if ( oType != 0x32 )
+    {
+      QgsDebugMsg( QString( "WARNING: Not Layer control object, found oType 0x%1 instead of 0x32" ).arg( oType, 0, 16 ) );
+      ret = false;
+    }
+    else   //reset position
+    {
+      buff.resetPosition();
+      ret2 = layControl.parseDwg( version, &buff, bs );
+      if ( ret )
+        ret = ret2;
+    }
+    delete[]tmpByteStr;
+    for ( std::list<duint32>::iterator it = layControl.handlesList.begin(); it != layControl.handlesList.end(); ++it )
+    {
+      mit = ObjectMap.find( *it );
+      if ( mit == ObjectMap.end() )
+      {
+        QgsDebugMsg( "WARNING: Layer not found" );
+        ret = false;
+      }
+      else
+      {
+        oc = mit->second;
+        ObjectMap.erase( mit );
+
+        QgsDebugMsg( QString( "Layer Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+        DRW_Layer *la = new DRW_Layer();
+        dbuf->setPosition( oc.loc );
+        int size = dbuf->getModularShort();
+        if ( version > DRW::AC1021 ) //2010+
+          bs = dbuf->getUModularChar();
+        else
+          bs = 0;
+        tmpByteStr = new duint8[size];
+        dbuf->getBytes( tmpByteStr, size );
+        dwgBuffer buff( tmpByteStr, size, &decoder );
+        ret2 = la->parseDwg( version, &buff, bs );
+        layermap[la->handle] = la;
+        if ( ret )
+          ret = ret2;
+        delete[]tmpByteStr;
+      }
+    }
+  }
+
+  //set linetype in layer
+  for ( std::map<duint32, DRW_Layer*>::iterator it = layermap.begin(); it != layermap.end(); ++it )
+  {
+    DRW_Layer *ly = it->second;
+    duint32 ref = ly->lTypeH.ref;
+    std::map<duint32, DRW_LType*>::iterator lt_it = ltypemap.find( ref );
+    if ( lt_it != ltypemap.end() )
+    {
+      ly->lineType = ( lt_it->second )->name;
+    }
+  }
+
+  //parse text styles, start with style Control
+  mit = ObjectMap.find( hdr.styleCtrl );
+  if ( mit == ObjectMap.end() )
+  {
+    QgsDebugMsg( "WARNING: Style control not found" );
+    ret = false;
+  }
+  else
+  {
+    QgsDebugMsg( "**********Parsing Style control*******" );
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    DRW_ObjControl styControl;
+    dbuf->setPosition( oc.loc );
+    int size = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff( tmpByteStr, size, &decoder );
+    //verify if object are correct
+    oType = buff.getObjType( version );
+    if ( oType != 0x34 )
+    {
+      QgsDebugMsg( QString( "WARNING: Not Text Style control object, found oType 0x%1 instead of 0x34" ).arg( oType, 0, 16 ) );
+      ret = false;
+    }
+    else   //reset position
+    {
+      buff.resetPosition();
+      ret2 = styControl.parseDwg( version, &buff, bs );
+      if ( ret )
+        ret = ret2;
+    }
+    delete[]tmpByteStr;
+    for ( std::list<duint32>::iterator it = styControl.handlesList.begin(); it != styControl.handlesList.end(); ++it )
+    {
+      mit = ObjectMap.find( *it );
+      if ( mit == ObjectMap.end() )
+      {
+        QgsDebugMsg( "WARNING: Style not found" );
+        ret = false;
+      }
+      else
+      {
+        oc = mit->second;
+        ObjectMap.erase( mit );
+        QgsDebugMsg( QString( "Style Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+        DRW_Textstyle *sty = new DRW_Textstyle();
+        dbuf->setPosition( oc.loc );
+        int size = dbuf->getModularShort();
+        if ( version > DRW::AC1021 ) //2010+
+          bs = dbuf->getUModularChar();
+        else
+          bs = 0;
+        tmpByteStr = new duint8[size];
+        dbuf->getBytes( tmpByteStr, size );
+        dwgBuffer buff( tmpByteStr, size, &decoder );
+        ret2 = sty->parseDwg( version, &buff, bs );
+        stylemap[sty->handle] = sty;
+        if ( ret )
+          ret = ret2;
+        delete[]tmpByteStr;
+      }
+    }
+  }
+
+  //parse dim styles, start with dimstyle Control
+  mit = ObjectMap.find( hdr.dimstyleCtrl );
+  if ( mit == ObjectMap.end() )
+  {
+    QgsDebugMsg( "WARNING: Dimension Style control not found" );
+    ret = false;
+  }
+  else
+  {
+    QgsDebugMsg( "**********Parsing Dimension Style control*******" );
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    DRW_ObjControl dimstyControl;
+    dbuf->setPosition( oc.loc );
+    duint32 size = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff( tmpByteStr, size, &decoder );
+    //verify if object are correct
+    oType = buff.getObjType( version );
+    if ( oType != 0x44 )
+    {
+      QgsDebugMsg( QString( "WARNING: Not Dim Style control object, found oType 0x%1 instead of 0x44" ).arg( oType, 0, 16 ) );
+      ret = false;
+    }
+    else   //reset position
+    {
+      buff.resetPosition();
+      ret2 = dimstyControl.parseDwg( version, &buff, bs );
+      if ( ret )
+        ret = ret2;
+    }
+    delete[]tmpByteStr;
+    for ( std::list<duint32>::iterator it = dimstyControl.handlesList.begin(); it != dimstyControl.handlesList.end(); ++it )
+    {
+      mit = ObjectMap.find( *it );
+      if ( mit == ObjectMap.end() )
+      {
+        QgsDebugMsg( "WARNING: Dimension Style not found" );
+        ret = false;
+      }
+      else
+      {
+        oc = mit->second;
+        ObjectMap.erase( mit );
+        QgsDebugMsg( QString( "Dimstyle Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+        DRW_Dimstyle *sty = new DRW_Dimstyle();
+        dbuf->setPosition( oc.loc );
+        int size = dbuf->getModularShort();
+        if ( version > DRW::AC1021 ) //2010+
+          bs = dbuf->getUModularChar();
+        else
+          bs = 0;
+        tmpByteStr = new duint8[size];
+        dbuf->getBytes( tmpByteStr, size );
+        dwgBuffer buff( tmpByteStr, size, &decoder );
+        ret2 = sty->parseDwg( version, &buff, bs );
+        dimstylemap[sty->handle] = sty;
+        if ( ret )
+          ret = ret2;
+        delete[]tmpByteStr;
+      }
+    }
+  }
+
+  //parse vports, start with vports Control
+  mit = ObjectMap.find( hdr.vportCtrl );
+  if ( mit == ObjectMap.end() )
+  {
+    QgsDebugMsg( "WARNING: vports control not found" );
+    ret = false;
+  }
+  else
+  {
+    QgsDebugMsg( "**********Parsing vports control*******" );
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    DRW_ObjControl vportControl;
+    dbuf->setPosition( oc.loc );
+    int size = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff( tmpByteStr, size, &decoder );
+    //verify if object are correct
+    oType = buff.getObjType( version );
+    if ( oType != 0x40 )
+    {
+      QgsDebugMsg( QString( "WARNING: Not VPorts control object, found oType: 0x%1 instead of 0x40" ).arg( oType, 0, 16 ) );
+      ret = false;
+    }
+    else   //reset position
+    {
+      buff.resetPosition();
+      ret2 = vportControl.parseDwg( version, &buff, bs );
+      if ( ret )
+        ret = ret2;
+    }
+    delete[]tmpByteStr;
+    for ( std::list<duint32>::iterator it = vportControl.handlesList.begin(); it != vportControl.handlesList.end(); ++it )
+    {
+      mit = ObjectMap.find( *it );
+      if ( mit == ObjectMap.end() )
+      {
+        QgsDebugMsg( "WARNING: vport not found" );
+        ret = false;
+      }
+      else
+      {
+        oc = mit->second;
+        ObjectMap.erase( mit );
+        QgsDebugMsg( QString( "Vport Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+        DRW_Vport *vp = new DRW_Vport();
+        dbuf->setPosition( oc.loc );
+        int size = dbuf->getModularShort();
+        if ( version > DRW::AC1021 ) //2010+
+          bs = dbuf->getUModularChar();
+        else
+          bs = 0;
+        tmpByteStr = new duint8[size];
+        dbuf->getBytes( tmpByteStr, size );
+        dwgBuffer buff( tmpByteStr, size, &decoder );
+        ret2 = vp->parseDwg( version, &buff, bs );
+        vportmap[vp->handle] = vp;
+        if ( ret )
+          ret = ret2;
+        delete[]tmpByteStr;
+      }
+    }
+  }
+
+  //parse Block_records , start with Block_record Control
+  mit = ObjectMap.find( hdr.blockCtrl );
+  if ( mit == ObjectMap.end() )
+  {
+    QgsDebugMsg( "WARNING: Block_record control not found" );
+    ret = false;
+  }
+  else
+  {
+    QgsDebugMsg( "**********Parsing Block_record control*******" );
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    DRW_ObjControl blockControl;
+    dbuf->setPosition( oc.loc );
+    int csize = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[csize];
+    dbuf->getBytes( tmpByteStr, csize );
+    dwgBuffer buff( tmpByteStr, csize, &decoder );
+    //verify if object are correct
+    oType = buff.getObjType( version );
+    if ( oType != 0x30 )
+    {
+      QgsDebugMsg( QString( "WARNING: Not Block Record control object, found oType 0x%1 instead of 0x30" ).arg( oType ) );
+      ret = false;
+    }
+    else   //reset position
+    {
+      buff.resetPosition();
+      ret2 = blockControl.parseDwg( version, &buff, bs );
+      if ( ret )
+        ret = ret2;
+    }
+    delete[]tmpByteStr;
+    for ( std::list<duint32>::iterator it = blockControl.handlesList.begin(); it != blockControl.handlesList.end(); ++it )
+    {
+      mit = ObjectMap.find( *it );
+      if ( mit == ObjectMap.end() )
+      {
+        QgsDebugMsg( "WARNING: block record not found" );
+        ret = false;
+      }
+      else
+      {
+        oc = mit->second;
+        ObjectMap.erase( mit );
+        QgsDebugMsg( QString( "block record Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+        DRW_Block_Record *br = new DRW_Block_Record();
+        dbuf->setPosition( oc.loc );
+        int size = dbuf->getModularShort();
+        if ( version > DRW::AC1021 ) //2010+
+          bs = dbuf->getUModularChar();
+        else
+          bs = 0;
+        tmpByteStr = new duint8[size];
+        dbuf->getBytes( tmpByteStr, size );
+        dwgBuffer buff( tmpByteStr, size, &decoder );
+        ret2 = br->parseDwg( version, &buff, bs );
+        blockRecordmap[br->handle] = br;
+        if ( ret )
+          ret = ret2;
+        delete[]tmpByteStr;
+      }
+    }
+  }
+
+  //parse appId , start with appId Control
+  mit = ObjectMap.find( hdr.appidCtrl );
+  if ( mit == ObjectMap.end() )
+  {
+    QgsDebugMsg( "WARNING: AppId control not found" );
+    ret = false;
+  }
+  else
+  {
+    QgsDebugMsg( "**********Parsing AppId control*******" );
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    QgsDebugMsg( QString( "AppId Control Obj Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+    DRW_ObjControl appIdControl;
+    dbuf->setPosition( oc.loc );
+    int size = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff( tmpByteStr, size, &decoder );
+    //verify if object are correct
+    oType = buff.getObjType( version );
+    if ( oType != 0x42 )
+    {
+      QgsDebugMsg( QString( "WARNING: Not AppId control object, found oType 0x%1 instead of 0x42" ).arg( oType, 0, 16 ) );
+      ret = false;
+    }
+    else   //reset position
+    {
+      buff.resetPosition();
+      ret2 = appIdControl.parseDwg( version, &buff, bs );
+      if ( ret )
+        ret = ret2;
+    }
+    delete[]tmpByteStr;
+    for ( std::list<duint32>::iterator it = appIdControl.handlesList.begin(); it != appIdControl.handlesList.end(); ++it )
+    {
+      mit = ObjectMap.find( *it );
+      if ( mit == ObjectMap.end() )
+      {
+        QgsDebugMsg( "WARNING: AppId not found" );
+        ret = false;
+      }
+      else
+      {
+        oc = mit->second;
+        ObjectMap.erase( mit );
+        QgsDebugMsg( QString( "AppId Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+        DRW_AppId *ai = new DRW_AppId();
+        dbuf->setPosition( oc.loc );
+        int size = dbuf->getModularShort();
+        if ( version > DRW::AC1021 ) //2010+
+          bs = dbuf->getUModularChar();
+        else
+          bs = 0;
+        tmpByteStr = new duint8[size];
+        dbuf->getBytes( tmpByteStr, size );
+        dwgBuffer buff( tmpByteStr, size, &decoder );
+        ret2 = ai->parseDwg( version, &buff, bs );
+        appIdmap[ai->handle] = ai;
+        if ( ret )
+          ret = ret2;
+        delete[]tmpByteStr;
+      }
+    }
+  }
+
+#ifdef QGISDEBUG
+  //RLZ: parse remaining object controls, TODO: implement all
+  mit = ObjectMap.find( hdr.viewCtrl );
+  if ( mit == ObjectMap.end() )
+  {
+    QgsDebugMsg( "WARNING: View control not found" );
+    ret = false;
+  }
+  else
+  {
+    QgsDebugMsg( "**********Parsing View control*******" );
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    QgsDebugMsg( QString( "View Control Obj Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+    DRW_ObjControl viewControl;
+    dbuf->setPosition( oc.loc );
+    int size = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff( tmpByteStr, size, &decoder );
+    //verify if object are correct
+    oType = buff.getObjType( version );
+    if ( oType != 0x3C )
+    {
+      QgsDebugMsg( QString( "WARNING: Not View control object, found oType 0x%1 instead of 0x3c" ).arg( oType, 0, 16 ) );
+      ret = false;
+    }
+    else   //reset position
+    {
+      buff.resetPosition();
+      ret2 = viewControl.parseDwg( version, &buff, bs );
+      if ( ret )
+        ret = ret2;
+    }
+    delete[]tmpByteStr;
+  }
+
+  mit = ObjectMap.find( hdr.ucsCtrl );
+  if ( mit == ObjectMap.end() )
+  {
+    QgsDebugMsg( "WARNING: Ucs control not found" );
+    ret = false;
+  }
+  else
+  {
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    QgsDebugMsg( "**********Parsing Ucs control*******" );
+    QgsDebugMsg( QString( "Ucs Control Obj Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+    DRW_ObjControl ucsControl;
+    dbuf->setPosition( oc.loc );
+    int size = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff( tmpByteStr, size, &decoder );
+    //verify if object are correct
+    oType = buff.getObjType( version );
+    if ( oType != 0x3E )
+    {
+      QgsDebugMsg( QString( "WARNING: Not Ucs control object, found oType 0x%1 instead of 0x3e" ).arg( oType, 0, 16 ) );
+      ret = false;
+    }
+    else   //reset position
+    {
+      buff.resetPosition();
+      ret2 = ucsControl.parseDwg( version, &buff, bs );
+      if ( ret )
+        ret = ret2;
+    }
+    delete[]tmpByteStr;
+  }
+
+  if ( version < DRW::AC1018 )  //r2000-
+  {
+    mit = ObjectMap.find( hdr.vpEntHeaderCtrl );
+    if ( mit == ObjectMap.end() )
+    {
+      QgsDebugMsg( "WARNING: vpEntHeader control not found" );
+      ret = false;
+    }
+    else
+    {
+      QgsDebugMsg( "**********Parsing vpEntHeader control*******" );
+      oc = mit->second;
+      ObjectMap.erase( mit );
+      QgsDebugMsg( QString( "vpEntHeader Control Obj Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+      DRW_ObjControl vpEntHeaderCtrl;
+      dbuf->setPosition( oc.loc );
+      int size = dbuf->getModularShort();
+      if ( version > DRW::AC1021 ) //2010+
+        bs = dbuf->getUModularChar();
+      else
+        bs = 0;
+      tmpByteStr = new duint8[size];
+      dbuf->getBytes( tmpByteStr, size );
+      dwgBuffer buff( tmpByteStr, size, &decoder );
+      //verify if object are correct
+      oType = buff.getObjType( version );
+      if ( oType != 0x46 )
+      {
+        QgsDebugMsg( QString( "WARNING: Not vpEntHeader control object, found oType 0x%1 instead of 0x46" ).arg( oType, 0, 16 ) );
+        ret = false;
+      }
+      else   //reset position
+      {
+        buff.resetPosition();
+#if 0
+        /* RLZ: writeme */
+        ret2 = vpEntHeader.parseDwg( version, &buff, bs );
+        if ( ret )
+          ret = ret2;
+#endif
+      }
+      delete[]tmpByteStr;
+    }
+  }
+#endif
+
+  return ret;
+}
+
+bool dwgReader::readDwgBlocks( DRW_Interface& intfa, dwgBuffer *dbuf )
+{
+  bool ret = true;
+  bool ret2 = true;
+  duint32 bs = 0;
+  duint8 *tmpByteStr;
+  std::map<duint32, objHandle>::iterator mit;
+
+  QgsDebugMsg( QString( "object map total size=%1" ).arg( ObjectMap.size() ) );
+
+  for ( std::map<duint32, DRW_Block_Record*>::iterator it = blockRecordmap.begin(); it != blockRecordmap.end(); ++it )
+  {
+    DRW_Block_Record* bkr = it->second;
+    QgsDebugMsg( QString( "Parsing Block, record handle=0x%1 Name=%2 - finding block, handle=0x%3" )
+                 .arg( it->first, 0, 16 ).arg( bkr->name.c_str() ).arg( bkr->block, 0, 16 )
+               );
+
+    mit = ObjectMap.find( bkr->block );
+    if ( mit == ObjectMap.end() )
+    {
+      QgsDebugMsg( "WARNING: block entity not found" );
+      ret = false;
+      continue;
+    }
+    objHandle oc = mit->second;
+    ObjectMap.erase( mit );
+    QgsDebugMsg( QString( "Block Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+    if ( !( dbuf->setPosition( oc.loc ) ) )
+    {
+      QgsDebugMsg( "Bad Location reading blocks" );
+      ret = false;
+      continue;
+    }
+    int size = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff( tmpByteStr, size, &decoder );
+    DRW_Block bk;
+    ret2 = bk.parseDwg( version, &buff, bs );
+    delete[]tmpByteStr;
+    ret = ret && ret2;
+    parseAttribs( &bk );
+    //complete block entity with block record data
+    bk.basePoint = bkr->basePoint;
+    bk.flags = bkr->flags;
+    intfa.addBlock( bk );
+    //and update block record name
+    bkr->name = bk.name;
+
+    /** Read & send block entities**/
+    // in dwg code 330 are not set like dxf in ModelSpace & PaperSpace, set it (RLZ: only tested in 2000)
+    if ( bk.parentHandle == DRW::NoHandle )
+    {
+      // in dwg code 330 are not set like dxf in ModelSpace & PaperSpace, set it
+      bk.parentHandle = bkr->handle;
+      //and do not send block entities like dxf
+    }
+    else
+    {
+      if ( version < DRW::AC1018 ) //pre 2004
+      {
+        duint32 nextH = bkr->firstEH;
+        while ( nextH != 0 )
+        {
+          mit = ObjectMap.find( nextH );
+          if ( mit == ObjectMap.end() )
+          {
+            nextH = bkr->lastEH;//end while if entity not foud
+            QgsDebugMsg( "WARNING: Entity of block not found" );
+            ret = false;
+            continue;
+          }
+          else  //foud entity reads it
+          {
+            oc = mit->second;
+            ObjectMap.erase( mit );
+            ret2 = readDwgEntity( dbuf, oc, intfa );
+            ret = ret && ret2;
+          }
+          if ( nextH == bkr->lastEH )
+            nextH = 0; //redundant, but prevent read errors
+          else
+            nextH = nextEntLink;
+        }
+      }
+      else  //2004+
+      {
+        for ( std::vector<duint32>::iterator it = bkr->entMap.begin() ; it != bkr->entMap.end(); ++it )
+        {
+          duint32 nextH = *it;
+          mit = ObjectMap.find( nextH );
+          if ( mit == ObjectMap.end() )
+          {
+            QgsDebugMsg( "WARNING: Entity of block not found" );
+            ret = false;
+            continue;
+          }
+          else  //foud entity reads it
+          {
+            oc = mit->second;
+            ObjectMap.erase( mit );
+            QgsDebugMsgLevel( QString( "Blocks, parsing entity: 0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ), 5 );
+
+            ret2 = readDwgEntity( dbuf, oc, intfa );
+            ret = ret && ret2;
+          }
+        }
+      }//end 2004+
+    }
+
+    //end block entity, really needed to parse a dummy entity??
+    mit = ObjectMap.find( bkr->endBlock );
+    if ( mit == ObjectMap.end() )
+    {
+      QgsDebugMsg( "WARNING: end block entity not found" );
+      ret = false;
+      continue;
+    }
+    oc = mit->second;
+    ObjectMap.erase( mit );
+    QgsDebugMsg( QString( "End block Handle=0x%1 loc=%2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+    dbuf->setPosition( oc.loc );
+    size = dbuf->getModularShort();
+    if ( version > DRW::AC1021 ) //2010+
+      bs = dbuf->getUModularChar();
+    else
+      bs = 0;
+    tmpByteStr = new duint8[size];
+    dbuf->getBytes( tmpByteStr, size );
+    dwgBuffer buff1( tmpByteStr, size, &decoder );
+    DRW_Block end;
+    end.isEnd = true;
+    ret2 = end.parseDwg( version, &buff1, bs );
+    delete[]tmpByteStr;
+    ret = ret && ret2;
+    if ( bk.parentHandle == DRW::NoHandle ) bk.parentHandle = bkr->handle;
+    parseAttribs( &end );
+    intfa.endBlock();
+  }
+
+  return ret;
+}
+
+bool dwgReader::readPlineVertex( DRW_Polyline& pline, dwgBuffer *dbuf )
+{
+  bool ret = true;
+  bool ret2 = true;
+  objHandle oc;
+  duint32 bs = 0;
+  std::map<duint32, objHandle>::iterator mit;
+
+  if ( version < DRW::AC1018 ) //pre 2004
+  {
+    duint32 nextH = pline.firstEH;
+    while ( nextH != 0 )
+    {
+      mit = ObjectMap.find( nextH );
+      if ( mit == ObjectMap.end() )
+      {
+        nextH = pline.lastEH;//end while if entity not foud
+        QgsDebugMsg( "WARNING: pline vertex not found" );
+        ret = false;
+        continue;
+      }
+      else  //foud entity reads it
+      {
+        oc = mit->second;
+        ObjectMap.erase( mit );
+        DRW_Vertex vt;
+        dbuf->setPosition( oc.loc );
+        //RLZ: verify if pos is ok
+        int size = dbuf->getModularShort();
+        if ( version > DRW::AC1021 )  //2010+
+        {
+          bs = dbuf->getUModularChar();
+        }
+        duint8 *tmpByteStr = new duint8[size];
+        dbuf->getBytes( tmpByteStr, size );
+        dwgBuffer buff( tmpByteStr, size, &decoder );
+        dint16 oType = buff.getObjType( version );
+        buff.resetPosition();
+
+        QgsDebugMsg( QString( " object type=0x%1" ).arg( oType, 0, 16 ) );
+        Q_UNUSED( oType );
+
+        ret2 = vt.parseDwg( version, &buff, bs, pline.basePoint.z );
+        delete[]tmpByteStr;
+        pline.addVertex( vt );
+        nextEntLink = vt.nextEntLink;
+        \
+        prevEntLink = vt.prevEntLink;
+        ret = ret && ret2;
+      }
+      if ( nextH == pline.lastEH )
+        nextH = 0; //redundant, but prevent read errors
+      else
+        nextH = nextEntLink;
+    }
+  }
+  else  //2004+
+  {
+    for ( std::list<duint32>::iterator it = pline.handleList.begin() ; it != pline.handleList.end(); ++it )
+    {
+      duint32 nextH = *it;
+      mit = ObjectMap.find( nextH );
+      if ( mit == ObjectMap.end() )
+      {
+        QgsDebugMsg( "WARNING: Entity of block not found" );
+        ret = false;
+        continue;
+      }
+      else  //foud entity reads it
+      {
+        oc = mit->second;
+        ObjectMap.erase( mit );
+        QgsDebugMsg( QString( "Pline vertex, parsing entity 0x%1, pos %2" ).arg( oc.handle, 0, 16 ).arg( oc.loc ) );
+
+        DRW_Vertex vt;
+        dbuf->setPosition( oc.loc );
+        //RLZ: verify if pos is ok
+        int size = dbuf->getModularShort();
+        if ( version > DRW::AC1021 )  //2010+
+        {
+          bs = dbuf->getUModularChar();
+        }
+        duint8 *tmpByteStr = new duint8[size];
+        dbuf->getBytes( tmpByteStr, size );
+        dwgBuffer buff( tmpByteStr, size, &decoder );
+        dint16 oType = buff.getObjType( version );
+        buff.resetPosition();
+        QgsDebugMsg( QString( " object type=0x%1" ).arg( oType, 0, 16 ) );
+        Q_UNUSED( oType );
+
+        ret2 = vt.parseDwg( version, &buff, bs, pline.basePoint.z );
+        delete[]tmpByteStr;
+        pline.addVertex( vt );
+        nextEntLink = vt.nextEntLink;
+        \
+        prevEntLink = vt.prevEntLink;
+        ret = ret && ret2;
+      }
+    }
+  }//end 2004+
+  QgsDebugMsg( QString( "Removed SEQEND entity:0x%1" ).arg( pline.seqEndH.ref, 0, 16 ) );
+
+  ObjectMap.erase( pline.seqEndH.ref );
+
+  return ret;
+}
+
+bool dwgReader::readDwgEntities( DRW_Interface& intfa, dwgBuffer *dbuf )
+{
+  bool ret = true;
+  bool ret2 = true;
+
+  QgsDebugMsg( QString( "object map total size=%1" ).arg( ObjectMap.size() ) );
+
+  std::map<duint32, objHandle>::iterator itB = ObjectMap.begin();
+  std::map<duint32, objHandle>::iterator itE = ObjectMap.end();
+  while ( itB != itE )
+  {
+    ret2 = readDwgEntity( dbuf, itB->second, intfa );
+    ObjectMap.erase( itB );
+    itB = ObjectMap.begin();
+    if ( ret )
+      ret = ret2;
+  }
+  return ret;
+}
+
+/**
+ * Reads a dwg drawing entity (dwg object entity) given its offset in the file
+ */
+bool dwgReader::readDwgEntity( dwgBuffer *dbuf, objHandle& obj, DRW_Interface& intfa )
+{
+  bool ret = true;
+  duint32 bs = 0;
+
+#define ENTRY_PARSE(e) \
+  ret = e.parseDwg(version, &buff, bs); \
+  parseAttribs(&e); \
+  nextEntLink = e.nextEntLink; \
+  prevEntLink = e.prevEntLink;
+
+  nextEntLink = prevEntLink = 0;// set to 0 to skip unimplemented entities
+  dbuf->setPosition( obj.loc );
+  //verify if position is ok:
+  if ( !dbuf->isGood() )
+  {
+    QgsDebugMsg( QString( "0x%1: bad location %2" ).arg( obj.handle, 0, 16 ).arg( obj.loc ) );
+    return false;
+  }
+  int size = dbuf->getModularShort();
+  if ( version > DRW::AC1021 )  //2010+
+  {
+    bs = dbuf->getUModularChar();
+  }
+  duint8 *tmpByteStr = new duint8[size];
+  dbuf->getBytes( tmpByteStr, size );
+  //verify if getBytes is ok:
+  if ( !dbuf->isGood() )
+  {
+    QgsDebugMsg( QString( "0x%1: bad size %2" ).arg( obj.handle, 0, 16 ).arg( size ) );
+    delete[]tmpByteStr;
+    return false;
+  }
+  dwgBuffer buff( tmpByteStr, size, &decoder );
+  dint16 oType = buff.getObjType( version );
+  buff.resetPosition();
+
+  if ( oType > 499 )
+  {
+    std::map<duint32, DRW_Class*>::iterator it = classesmap.find( oType );
+    if ( it == classesmap.end() ) //fail, not found in classes set error
+    {
+      QgsMessageLog::logMessage( QObject::tr( "Class 0x%1 not found, handle 0x%2" ).arg( oType, 0, 16 ).arg( obj.handle, 0, 16 ), QObject::tr( "DWG/DXF import" ) );
+      delete[]tmpByteStr;
+      return false;
+    }
+    else
+    {
+      DRW_Class *cl = it->second;
+      if ( cl->dwgType != 0 )
+        oType = cl->dwgType;
+    }
+  }
+
+  obj.type = oType;
+  switch ( oType )
+  {
+    case 17:
+    {
+      DRW_Arc e;
+      ENTRY_PARSE( e )
+      intfa.addArc( e );
+      break;
+    }
+    case 18:
+    {
+      DRW_Circle e;
+      ENTRY_PARSE( e )
+      intfa.addCircle( e );
+      break;
+    }
+    case 19:
+    {
+      DRW_Line e;
+      ENTRY_PARSE( e )
+      intfa.addLine( e );
+      break;
+    }
+    case 27:
+    {
+      DRW_Point e;
+      ENTRY_PARSE( e )
+      intfa.addPoint( e );
+      break;
+    }
+    case 35:
+    {
+      DRW_Ellipse e;
+      ENTRY_PARSE( e )
+      intfa.addEllipse( e );
+      break;
+    }
+    case 7:
+    case 8:  //minsert = 8
+    {
+      DRW_Insert e;
+      ENTRY_PARSE( e )
+      e.name = findTableName( DRW::BLOCK_RECORD, e.blockRecH.ref );//RLZ: find as block or blockrecord (ps & ps0)
+      intfa.addInsert( e );
+      break;
+    }
+    case 77:
+    {
+      DRW_LWPolyline e;
+      ENTRY_PARSE( e )
+      intfa.addLWPolyline( e );
+      break;
+    }
+    case 1:
+    {
+      DRW_Text e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::STYLE, e.styleH.ref );
+      intfa.addText( e );
+      break;
+    }
+    case 44:
+    {
+      DRW_MText e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::STYLE, e.styleH.ref );
+      intfa.addMText( e );
+      break;
+    }
+    case 28:
+    {
+      DRW_3Dface e;
+      ENTRY_PARSE( e )
+      intfa.add3dFace( e );
+      break;
+    }
+    case 20:
+    {
+      DRW_DimOrdinate e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::DIMSTYLE, e.dimStyleH.ref );
+      intfa.addDimOrdinate( &e );
+      break;
+    }
+    case 21:
+    {
+      DRW_DimLinear e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::DIMSTYLE, e.dimStyleH.ref );
+      intfa.addDimLinear( &e );
+      break;
+    }
+    case 22:
+    {
+      DRW_DimAligned e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::DIMSTYLE, e.dimStyleH.ref );
+      intfa.addDimAlign( &e );
+      break;
+    }
+    case 23:
+    {
+      DRW_DimAngular3p e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::DIMSTYLE, e.dimStyleH.ref );
+      intfa.addDimAngular3P( &e );
+      break;
+    }
+    case 24:
+    {
+      DRW_DimAngular e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::DIMSTYLE, e.dimStyleH.ref );
+      intfa.addDimAngular( &e );
+      break;
+    }
+    case 25:
+    {
+      DRW_DimRadial e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::DIMSTYLE, e.dimStyleH.ref );
+      intfa.addDimRadial( &e );
+      break;
+    }
+    case 26:
+    {
+      DRW_DimDiametric e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::DIMSTYLE, e.dimStyleH.ref );
+      intfa.addDimDiametric( &e );
+      break;
+    }
+    case 45:
+    {
+      DRW_Leader e;
+      ENTRY_PARSE( e )
+      e.style = findTableName( DRW::DIMSTYLE, e.dimStyleH.ref );
+      intfa.addLeader( &e );
+      break;
+    }
+    case 31:
+    {
+      DRW_Solid e;
+      ENTRY_PARSE( e )
+      intfa.addSolid( e );
+      break;
+    }
+    case 78:
+    {
+      DRW_Hatch e;
+      ENTRY_PARSE( e )
+      intfa.addHatch( &e );
+      break;
+    }
+    case 32:
+    {
+      DRW_Trace e;
+      ENTRY_PARSE( e )
+      intfa.addTrace( e );
+      break;
+    }
+    case 34:
+    {
+      DRW_Viewport e;
+      ENTRY_PARSE( e )
+      intfa.addViewport( e );
+      break;
+    }
+    case 36:
+    {
+      DRW_Spline e;
+      ENTRY_PARSE( e )
+      intfa.addSpline( &e );
+      break;
+    }
+    case 40:
+    {
+      DRW_Ray e;
+      ENTRY_PARSE( e )
+      intfa.addRay( e );
+      break;
+    }
+    case 15:    // pline 2D
+    case 16:    // pline 3D
+    case 29:    // pline PFACE
+    {
+      DRW_Polyline e;
+      ENTRY_PARSE( e )
+      readPlineVertex( e, dbuf );
+      intfa.addPolyline( e );
+      break;
+    }
+//        case 30: {
+//            DRW_Polyline e;// MESH (not pline)
+//            ENTRY_PARSE(e)
+//            intfa.addRay(e);
+//            break; }
+    case 41:
+    {
+      DRW_Xline e;
+      ENTRY_PARSE( e )
+      intfa.addXline( e );
+      break;
+    }
+    case 101:
+    {
+      DRW_Image e;
+      ENTRY_PARSE( e )
+      intfa.addImage( &e );
+      break;
+    }
+
+    default:
+      //not supported or are object add to remaining map
+      objObjectMap[obj.handle] = obj;
+      break;
+  }
+  if ( !ret )
+  {
+    QgsDebugMsg( QString( "Warning: Entity type 0x%1 has failed, handle 0x%2" ).arg( oType, 0, 16 ).arg( obj.handle, 0, 16 ) );
+  }
+  delete[]tmpByteStr;
+  return ret;
+}
+
+bool dwgReader::readDwgObjects( DRW_Interface& intfa, dwgBuffer *dbuf )
+{
+  bool ret = true;
+  bool ret2 = true;
+
+  duint32 i = 0;
+  QgsDebugMsg( QString( "entities map total size=%1, object map total size=%2" ).arg( ObjectMap.size() ).arg( objObjectMap.size() ) );
+  Q_UNUSED( i );
+
+  std::map<duint32, objHandle>::iterator itB = objObjectMap.begin();
+  std::map<duint32, objHandle>::iterator itE = objObjectMap.end();
+  while ( itB != itE )
+  {
+    ret2 = readDwgObject( dbuf, itB->second, intfa );
+    objObjectMap.erase( itB );
+    itB = objObjectMap.begin();
+    if ( ret )
+      ret = ret2;
+  }
+
+#ifdef QGISDEBUG
+  for ( std::map<duint32, objHandle>::iterator it = remainingMap.begin(); it != remainingMap.end(); ++it )
+  {
+    QgsDebugMsgLevel( QString( "num.#%1 Remaining object Handle, loc, type=%2 %3 %4" )
+                      .arg( i++ ).arg( it->first ).arg( it->second.loc ).arg( it->second.type ), 5
+                    );
+  }
+#endif
+
+  return ret;
+}
+
+/**
+ * Reads a dwg drawing object (dwg object object) given its offset in the file
+ */
+bool dwgReader::readDwgObject( dwgBuffer *dbuf, objHandle& obj, DRW_Interface& intfa )
+{
+  bool ret = true;
+  duint32 bs = 0;
+
+  dbuf->setPosition( obj.loc );
+  //verify if position is ok:
+  if ( !dbuf->isGood() )
+  {
+    QgsDebugMsg( QString( "0x%1: bad location %2" ).arg( obj.handle, 0, 16 ).arg( obj.loc ) );
+    return false;
+  }
+  int size = dbuf->getModularShort();
+  if ( version > DRW::AC1021 )  //2010+
+  {
+    bs = dbuf->getUModularChar();
+  }
+  duint8 *tmpByteStr = new duint8[size];
+  dbuf->getBytes( tmpByteStr, size );
+  //verify if getBytes is ok:
+  if ( !dbuf->isGood() )
+  {
+    QgsDebugMsg( QString( "0x%1: bad size %2" ).arg( obj.handle, 0, 16 ).arg( size ) );
+    delete[]tmpByteStr;
+    return false;
+  }
+  dwgBuffer buff( tmpByteStr, size, &decoder );
+  //oType are set parsing entities
+  dint16 oType = obj.type;
+
+  switch ( oType )
+  {
+    case 102:
+    {
+      DRW_ImageDef e;
+      ret = e.parseDwg( version, &buff, bs );
+      intfa.linkImage( &e );
+      break;
+    }
+    default:
+      //not supported object or entity add to remaining map for debug
+      remainingMap[obj.handle] = obj;
+      break;
+  }
+  if ( !ret )
+  {
+    QgsDebugMsg( QString( "Warning: Object type 0x%1 has failed, handle 0x%2" )
+                 .arg( oType, 0, 16 ).arg( obj.handle, 0, 16 )
+               );
+  }
+  delete[]tmpByteStr;
+  return ret;
+}
+
+
+
+bool DRW_ObjControl::parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs )
+{
+  int unkData = 0;
+  bool ret = DRW_TableEntry::parseDwg( version, buf, nullptr, bs );
+  QgsDebugMsg( "***************************** parsing object control entry *********************************************" );
+  if ( !ret )
+    return ret;
+  //last parsed is: XDic Missing Flag 2004+
+  int numEntries = buf->getBitLong();
+  QgsDebugMsg( QString( " num entries:%1 remaining bytes:%2" ).arg( numEntries ).arg( buf->numRemainingBytes() ) );
+
+//    if (oType == 68 && version== DRW::AC1015){//V2000 dimstyle seems have one unknown byte hard handle counter??
+  if ( oType == 68 && version > DRW::AC1014 ) //dimstyle seems have one unknown byte hard handle counter??
+  {
+    unkData = buf->getRawChar8();
+    QgsDebugMsg( QString( " unknown v2000 byte: %1" ).arg( unkData ) );
+  }
+  if ( version > DRW::AC1018 ) //from v2007+ have a bit for strings follows (ObjControl do not have)
+  {
+    int stringBit = buf->getBit();
+    QgsDebugMsg( QString( " string bit for  v2007+: %1" ).arg( stringBit ) );
+    Q_UNUSED( stringBit );
+  }
+
+  dwgHandle objectH = buf->getHandle();
+  QgsDebugMsg( QString( " NULL Handle: %1.%2 0x%3, remaining bytes %4" )
+               .arg( objectH.code ).arg( objectH.size ).arg( objectH.ref, 0, 16 )
+               .arg( buf->numRemainingBytes() )
+             );
+
+//    if (oType == 56 && version== DRW::AC1015){//linetype in 2004 seems not have XDicObjH or NULL handle
+  if ( xDictFlag != 1 ) //linetype in 2004 seems not have XDicObjH or NULL handle
+  {
+    dwgHandle XDicObjH = buf->getHandle();
+    QgsDebugMsg( QString( " XDicObj Handle: %1.%2 0x%3, remaining bytes %4" )
+                 .arg( XDicObjH.code ).arg( XDicObjH.size ).arg( XDicObjH.ref, 0, 16 )
+                 .arg( buf->numRemainingBytes() )
+               );
+  }
+//add 2 for modelspace, paperspace blocks & bylayer, byblock linetypes
+  numEntries = (( oType == 48 ) || ( oType == 56 ) ) ? ( numEntries + 2 ) : numEntries;
+
+  for ( int i = 0; i < numEntries; i++ )
+  {
+    objectH = buf->getOffsetHandle( handle );
+    if ( objectH.ref != 0 ) //in vports R14  I found some NULL handles
+      handlesList.push_back( objectH.ref );
+    QgsDebugMsgLevel( QString( " objectH Handle: %1.%2 0x%3, remaining bytes %4" )
+                      .arg( objectH.code ).arg( objectH.size ).arg( objectH.ref, 0, 16 )
+                      .arg( buf->numRemainingBytes() ), 5
+                    );
+  }
+
+  for ( int i = 0; i < unkData; i++ )
+  {
+    objectH = buf->getOffsetHandle( handle );
+    QgsDebugMsg( QString( " unknown Handle: %1.%2 0x%3, remaining bytes %4" )
+                 .arg( objectH.code ).arg( objectH.size ).arg( objectH.ref, 0, 16 )
+                 .arg( buf->numRemainingBytes() )
+               );
+  }
+  return buf->isGood();
+}
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader.h b/src/app/dwg/libdxfrw/intern/dwgreader.h
new file mode 100644
index 0000000..68947bd
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader.h
@@ -0,0 +1,223 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DWGREADER_H
+#define DWGREADER_H
+
+#include <map>
+#include <list>
+#include "drw_textcodec.h"
+#include "dwgutil.h"
+#include "dwgbuffer.h"
+#include "../libdwgr.h"
+
+class objHandle
+{
+  public:
+    objHandle() { handle = type = loc = 0; }
+    objHandle( duint32 t, duint32 h, duint32 l )
+    {
+      type = t;
+      handle = h;
+      loc = l;
+    }
+    duint32 type;
+    duint32 handle;
+    duint32 loc;
+};
+
+//until 2000 = 2000-
+//since 2004 except 2007 = 2004+
+// 2007 = 2007
+// pages of section
+/* 2000-: No pages, only sections
+ * 2004+: Id, page number (index)
+ *        size, size of page in file stream
+ *        address, address in file stream
+ *        dataSize, data size for this page
+ *        startOffset, start offset for this page
+ *        cSize, compressed size of data
+ *        uSize, uncompressed size of data
+ * 2007: page Id, pageCount & pages
+ *       size, size in file
+ *       dataSize
+ *       startOffset, start position in decompressed data stream
+ *       cSize, compressed size of data
+ *       uSize, uncompressed size of data
+ *       address, address in file stream
+ * */
+class dwgPageInfo
+{
+  public:
+    dwgPageInfo() {}
+    dwgPageInfo( duint64 i, duint64 ad, duint32 sz )
+        : Id( i )
+        , address( ad )
+        , size( sz )
+        , dataSize( 0 )
+        , startOffset( 0 )
+        , cSize( 0 )
+        , uSize( 0 )
+    {
+    }
+    ~dwgPageInfo() {}
+    duint64 Id;
+    duint64 address; //in file stream, for rd18, rd21
+    duint64 size; //in file stream, for rd18, rd21
+    duint64 dataSize; //for rd18, rd21
+    duint32 startOffset; //for rd18, rd21
+    duint64 cSize; //compressed page size, for rd21
+    duint64 uSize; //uncompressed page size, for rd21
+};
+
+// sections of file
+/* 2000-: No pages, only section Id, size  & address in file
+ * 2004+: Id, Section Id
+ *        size, total size of uncompressed data
+ *        pageCount & pages, number of pages in section
+ *        maxSize, max decompressed Size per page
+ *        compressed, (1 = no, 2 = yes, normally 2)
+ *        encrypted, (0 = no, 1 = yes, 2 = unknown)
+ *        name, read & stored but not used
+ * 2007: same as 2004+ except encoding, saved in compressed field
+ * */
+class dwgSectionInfo
+{
+  public:
+    dwgSectionInfo()
+        : Id( -1 )
+        , compressed( 1 ) //1=no, 2=yes
+        , encrypted( 0 ) //???
+        , pageCount( 0 )
+        , address( 0 )
+    {
+    }
+    ~dwgSectionInfo() {}
+    dint32 Id; //section Id, 2000-   rd15 rd18
+    std::string name; //section name rd18
+    duint32 compressed;//is compressed? 1=no, 2=yes rd18, rd21(encoding)
+    duint32 encrypted;//encrypted (doc: 0=no, 1=yes, 2=unkn) on read: objects 0 and encrypted yes rd18
+    std::map<duint32, dwgPageInfo >pages;//index, size, offset
+    duint64 size;//size of section,  2000- rd15, rd18, rd21 (data size)
+    duint64 pageCount; //number of pages (dwgPageInfo) in section rd18, rd21
+    duint64 maxSize; //max decompressed size (needed??) rd18 rd21
+    duint64 address; //address (seek) , 2000-
+};
+
+
+//! Class to handle dwg obj control entries
+/*!
+*  Class to handle dwg obj control entries
+*  @author Rallaz
+*/
+class DRW_ObjControl : public DRW_TableEntry
+{
+  public:
+    DRW_ObjControl() { reset();}
+
+    void reset()
+    {
+    }
+    bool parseDwg( DRW::Version version, dwgBuffer *buf, duint32 bs = 0 );
+    std::list<duint32> handlesList;
+};
+
+
+class dwgReader
+{
+    friend class dwgR;
+  public:
+    dwgReader( std::ifstream *stream, dwgR *p )
+        : maintenanceVersion( 0 )
+        , fileBuf( new dwgBuffer( stream ) )
+        , parent( p )
+        , nextEntLink( 0 )
+        , prevEntLink( 0 )
+    {
+      decoder.setVersion( DRW::AC1021, false );//default 2007 in utf8(no convert)
+      decoder.setCodePage( "UTF-16", false );
+#if 0
+      blockCtrl = 0; //RLZ: temporary
+      blockCtrl = layerCtrl = styleCtrl = linetypeCtrl = viewCtrl = 0;
+      ucsCtrl = vportCtrl = appidCtrl = dimstyleCtrl = vpEntHeaderCtrl = 0;
+#endif
+    }
+    virtual ~dwgReader();
+
+  protected:
+    virtual bool readMetaData() = 0;
+    virtual bool readPreview() {return false;}
+    virtual bool readFileHeader() = 0;
+    virtual bool readDwgHeader( DRW_Header& hdr ) = 0;
+    virtual bool readDwgClasses() = 0;
+    virtual bool readDwgHandles() = 0;
+    virtual bool readDwgTables( DRW_Header& hdr ) = 0;
+    virtual bool readDwgBlocks( DRW_Interface& intfa ) = 0;
+    virtual bool readDwgEntities( DRW_Interface& intfa ) = 0;
+    virtual bool readDwgObjects( DRW_Interface& intfa ) = 0;
+
+    virtual bool readDwgEntity( dwgBuffer *dbuf, objHandle& obj, DRW_Interface& intfa );
+    bool readDwgObject( dwgBuffer *dbuf, objHandle& obj, DRW_Interface& intfa );
+    void parseAttribs( DRW_Entity* e );
+    std::string findTableName( DRW::TTYPE table, dint32 handle );
+
+    void setCodePage( std::string *c ) {decoder.setCodePage( c, false );}
+    std::string getCodePage() { return decoder.getCodePage();}
+    bool readDwgHeader( DRW_Header& hdr, dwgBuffer *buf, dwgBuffer *hBuf );
+    bool readDwgHandles( dwgBuffer *dbuf, duint32 offset, duint32 size );
+    bool readDwgTables( DRW_Header& hdr, dwgBuffer *dbuf );
+    bool checkSentinel( dwgBuffer *buf, enum secEnum::DWGSection, bool start );
+
+    bool readDwgBlocks( DRW_Interface& intfa, dwgBuffer *dbuf );
+    bool readDwgEntities( DRW_Interface& intfa, dwgBuffer *dbuf );
+    bool readDwgObjects( DRW_Interface& intfa, dwgBuffer *dbuf );
+    bool readPlineVertex( DRW_Polyline& pline, dwgBuffer *dbuf );
+
+  public:
+    std::map<duint32, objHandle>ObjectMap;
+    std::map<duint32, objHandle>objObjectMap; //stores the objects & entities not read in readDwgEntities
+    std::map<duint32, objHandle>remainingMap; //stores the objects & entities not read in all processes, for debug only
+    std::map<duint32, DRW_LType*> ltypemap;
+    std::map<duint32, DRW_Layer*> layermap;
+    std::map<duint32, DRW_Block*> blockmap;
+    std::map<duint32, DRW_Textstyle*> stylemap;
+    std::map<duint32, DRW_Dimstyle*> dimstylemap;
+    std::map<duint32, DRW_Vport*> vportmap;
+    std::map<duint32, DRW_Block_Record*> blockRecordmap;
+    std::map<duint32, DRW_AppId*> appIdmap;
+//    duint32 currBlock;
+    duint8 maintenanceVersion;
+
+  protected:
+    dwgBuffer *fileBuf;
+    dwgR *parent;
+    DRW::Version version;
+
+//seeker (position) for the beginning sentinel of the image data (R13 to R15)
+    duint32 previewImagePos;
+
+//sections map
+    std::map<enum secEnum::DWGSection, dwgSectionInfo >sections;
+    std::map<duint32, DRW_Class*> classesmap;
+
+  protected:
+    DRW_TextCodec decoder;
+
+  protected:
+//    duint32 blockCtrl;
+    duint32 nextEntLink;
+    duint32 prevEntLink;
+};
+
+
+
+#endif // DWGREADER_H
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader15.cpp b/src/app/dwg/libdxfrw/intern/dwgreader15.cpp
new file mode 100644
index 0000000..e2deb05
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader15.cpp
@@ -0,0 +1,231 @@
+
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <cstdlib>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <sstream>
+
+#include "dwgreader15.h"
+#include "drw_textcodec.h"
+
+#include "../libdwgr.h"
+
+#include "qgslogger.h"
+
+bool dwgReader15::readMetaData()
+{
+  QgsDebugMsg( "Entering." );
+  version = parent->getVersion();
+  decoder.setVersion( version, false );
+
+  if ( ! fileBuf->setPosition( 13 ) )
+    return false;
+  previewImagePos = fileBuf->getRawLong32();
+  QgsDebugMsg( QString( "previewImagePos (seekerImageData) = %1" ).arg( previewImagePos ) );
+  /* MEASUREMENT system variable 2 bytes*/
+  duint16 meas = fileBuf->getRawShort16();
+  QgsDebugMsg( QString( "MEASUREMENT (0 = English, 1 = Metric)= %1" ).arg( meas ) );
+  Q_UNUSED( meas );
+  duint16 cp = fileBuf->getRawShort16();
+  QgsDebugMsg( QString( "codepage= %1" ).arg( cp ) );
+
+  if ( cp == 29 ) //TODO RLZ: locate wath code page and correct this
+    decoder.setCodePage( "ANSI_1252", false );
+  if ( cp == 30 )
+    decoder.setCodePage( "ANSI_1252", false );
+  return true;
+}
+
+bool dwgReader15::readFileHeader()
+{
+  QgsDebugMsg( "Entering." );
+  bool ret = true;
+  if ( ! fileBuf->setPosition( 21 ) )
+    return false;
+  duint32 count = fileBuf->getRawLong32();
+  QgsDebugMsg( QString( "count records=%1" ).arg( count ) );
+
+  for ( unsigned int i = 0; i < count; i++ )
+  {
+    duint8 rec = fileBuf->getRawChar8();
+    duint32 address = fileBuf->getRawLong32();
+    duint32 size = fileBuf->getRawLong32();
+    dwgSectionInfo si;
+    si.Id = rec;
+    si.size = size;
+    si.address = address;
+    if ( rec == 0 )
+    {
+      QgsDebugMsg( QString( "Section HEADERS address=%1 size=%2" ).arg( address ).arg( size ) );
+      sections[secEnum::HEADER] = si;
+    }
+    else if ( rec == 1 )
+    {
+      QgsDebugMsg( QString( "Section CLASSES address=%1 size=%2" ).arg( address ).arg( size ) );
+      sections[secEnum::CLASSES] = si;
+    }
+    else if ( rec == 2 )
+    {
+      QgsDebugMsg( QString( "Section OBJECTS (handles) address=%1 size=%2" ).arg( address ).arg( size ) );
+      sections[secEnum::HANDLES] = si;
+    }
+    else if ( rec == 3 )
+    {
+      QgsDebugMsg( QString( "Section UNKNOWN address=%1 size=%2" ).arg( address ).arg( size ) );
+      sections[secEnum::UNKNOWNS] = si;
+    }
+    else if ( rec == 4 )
+    {
+      QgsDebugMsg( QString( "Section R14DATA (AcDb::Template) address=%1 size=%2" ).arg( address ).arg( size ) );
+      sections[secEnum::TEMPLATE] = si;
+    }
+    else if ( rec == 5 )
+    {
+      QgsDebugMsg( QString( "Section R14REC5 (AcDb::AuxHeader) address=%1 size=%2" ).arg( address ).arg( size ) );
+      sections[secEnum::AUXHEADER] = si;
+    }
+    else
+    {
+      std::cerr << "\nUnsupported section number\n";
+    }
+  }
+  if ( ! fileBuf->isGood() )
+    return false;
+
+  QgsDebugMsg( QString( "position after read section locator records=%1, bit are=%2" ).arg( fileBuf->getPosition() ).arg( fileBuf->getBitPos() ) );
+  duint32 ckcrc = fileBuf->crc8( 0, 0, fileBuf->getPosition() );
+  QgsDebugMsg( QString( "file header crc8 0 result=%1" ).arg( ckcrc ) );
+  switch ( count )
+  {
+    case 3:
+      ckcrc = ckcrc ^ 0xA598;
+      break;
+    case 4:
+      ckcrc = ckcrc ^ 0x8101;
+      break;
+    case 5:
+      ckcrc = ckcrc ^ 0x3CC4;
+      break;
+    case 6:
+      ckcrc = ckcrc ^ 0x8461;
+  }
+
+  int headercrc = fileBuf->getRawShort16();
+  QgsDebugMsg( QString( "file header crc8 xor result=%1, file header CRC=%2" ).arg( ckcrc ).arg( headercrc ) );
+  Q_UNUSED( headercrc );
+
+  checkSentinel( fileBuf, secEnum::FILEHEADER, false );
+
+  QgsDebugMsg( QString( "position after read file header sentinel=%1, bit pos=%2" ).arg( fileBuf->getPosition() ).arg( fileBuf->getBitPos() ) );
+
+  QgsDebugMsg( "Leaving." );
+
+  return ret;
+}
+
+bool dwgReader15::readDwgHeader( DRW_Header& hdr )
+{
+  QgsDebugMsg( "Entering." );
+
+  dwgSectionInfo si = sections[secEnum::HEADER];
+  if ( si.Id < 0 )//not found, ends
+    return false;
+  if ( !fileBuf->setPosition( si.address ) )
+    return false;
+  duint8 *tmpByteStr = new duint8[si.size];
+  fileBuf->getBytes( tmpByteStr, si.size );
+  dwgBuffer buff( tmpByteStr, si.size, &decoder );
+
+  QgsDebugMsg( "checksentinel" );
+  checkSentinel( &buff, secEnum::HEADER, true );
+  bool ret = dwgReader::readDwgHeader( hdr, &buff, &buff );
+  delete[]tmpByteStr;
+  return ret;
+}
+
+
+bool dwgReader15::readDwgClasses()
+{
+  QgsDebugMsg( "Entering." );
+
+  dwgSectionInfo si = sections[secEnum::CLASSES];
+  if ( si.Id < 0 )//not found, ends
+    return false;
+  if ( !fileBuf->setPosition( si.address ) )
+    return false;
+
+  QgsDebugMsg( "classes section sentinel" );
+  checkSentinel( fileBuf, secEnum::CLASSES, true );
+
+  duint32 size = fileBuf->getRawLong32();
+  if ( size != ( si.size - 38 ) )
+  {
+    QgsDebugMsg( QString( "size is %1 and secSize - 38 are %1" ).arg( size ).arg( si.size - 38 ) );
+  }
+  duint8 *tmpByteStr = new duint8[size];
+  fileBuf->getBytes( tmpByteStr, size );
+  dwgBuffer buff( tmpByteStr, size, &decoder );
+  size--; //reduce 1 byte instead of check pos + bitPos
+  while ( size > buff.getPosition() )
+  {
+    DRW_Class *cl = new DRW_Class();
+    cl->parseDwg( version, &buff, &buff );
+    classesmap[cl->classNum] = cl;
+  }
+  int crc = fileBuf->getRawShort16();
+  QgsDebugMsg( QString( "crc=%1, classes section end sentinel" ).arg( crc ) );
+  Q_UNUSED( crc );
+
+  checkSentinel( fileBuf, secEnum::CLASSES, false );
+
+  bool ret = buff.isGood();
+  delete[]tmpByteStr;
+  return ret;
+}
+
+bool dwgReader15::readDwgHandles()
+{
+  QgsDebugMsg( "Entering." );
+  dwgSectionInfo si = sections[secEnum::HANDLES];
+  if ( si.Id < 0 )//not found, ends
+    return false;
+
+  bool ret = dwgReader::readDwgHandles( fileBuf, si.address, si.size );
+  return ret;
+}
+
+/*********** objects ************************/
+/**
+ * Reads all the object referenced in the object map section of the DWG file
+ * (using their object file offsets)
+ */
+bool dwgReader15::readDwgTables( DRW_Header& hdr )
+{
+  bool ret = dwgReader::readDwgTables( hdr, fileBuf );
+
+  return ret;
+}
+
+/**
+ * Reads all the object referenced in the object map section of the DWG file
+ * (using their object file offsets)
+ */
+bool dwgReader15::readDwgBlocks( DRW_Interface& intfa )
+{
+  bool ret = true;
+  ret = dwgReader::readDwgBlocks( intfa, fileBuf );
+  return ret;
+}
+
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader15.h b/src/app/dwg/libdxfrw/intern/dwgreader15.h
new file mode 100644
index 0000000..38f7d46
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader15.h
@@ -0,0 +1,50 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DWGREADER15_H
+#define DWGREADER15_H
+
+#include <map>
+#include <list>
+#include "drw_textcodec.h"
+#include "dwgbuffer.h"
+#include "dwgreader.h"
+
+class dwgReader15 : public dwgReader
+{
+  public:
+    dwgReader15( std::ifstream *stream, dwgR *p ): dwgReader( stream, p ) { }
+    virtual ~dwgReader15() {}
+    bool readMetaData();
+    bool readFileHeader();
+    bool readDwgHeader( DRW_Header& hdr );
+    bool readDwgClasses();
+    bool readDwgHandles();
+    bool readDwgTables( DRW_Header& hdr );
+    bool readDwgBlocks( DRW_Interface& intfa );
+    bool readDwgEntities( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      ret = dwgReader::readDwgEntities( intfa, fileBuf );
+      return ret;
+    }
+    bool readDwgObjects( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      ret = dwgReader::readDwgObjects( intfa, fileBuf );
+      return ret;
+    }
+//    bool readDwgEntity(objHandle& obj, DRW_Interface& intfa);
+};
+
+
+#endif // DWGREADER15_H
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader18.cpp b/src/app/dwg/libdxfrw/intern/dwgreader18.cpp
new file mode 100644
index 0000000..7d69aa4
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader18.cpp
@@ -0,0 +1,825 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <cstdlib>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <sstream>
+#include "drw_dbg.h"
+#include "dwgreader18.h"
+#include "dwgutil.h"
+#include "drw_textcodec.h"
+#include "../libdwgr.h"
+
+void dwgReader18::genMagicNumber()
+{
+  int size = 0x114;
+  duint8 *tmpMagicStr = new duint8[size];
+  duint8 *p = tmpMagicStr;
+  int rSeed = 1;
+  while ( size-- )
+  {
+    rSeed *= 0x343fd;
+    rSeed += 0x269ec3;
+    *p++ = static_cast<duint8>( rSeed >> 0x10 );
+  }
+  int j = 0;
+  size = 0x114;
+  for ( int i = 0; i < size;i++ )
+  {
+    DRW_DBGH( tmpMagicStr[i] );
+    if ( j == 15 )
+    {
+      DRW_DBG( "\n" );
+      j = 0;
+    }
+    else
+    {
+      DRW_DBG( ", " );
+      j++;
+    }
+  }
+  delete[]tmpMagicStr;
+}
+
+duint32 dwgReader18::checksum( duint32 seed, duint8* data, duint32 sz )
+{
+  duint32 size = sz;
+  duint32 sum1 = seed & 0xffff;
+  duint32 sum2 = seed >> 0x10;
+  while ( size != 0 )
+  {
+//        duint32 chunkSize = min(0x15b0, size);
+    duint32 chunkSize = 0x15b0 < size ? 0x15b0 : size;
+    size -= chunkSize;
+    for ( duint32 i = 0; i < chunkSize; i++ )
+    {
+      sum1 += *data++;
+      sum2 += sum1;
+    }
+    sum1 %= 0xFFF1;
+    sum2 %= 0xFFF1;
+  }
+  return ( sum2 << 0x10 ) | ( sum1 & 0xffff );
+}
+
+//called: Section page map: 0x41630e3b
+void dwgReader18::parseSysPage( duint8 *decompSec, duint32 decompSize )
+{
+  DRW_DBG( "\nparseSysPage:\n " );
+  duint32 compSize = fileBuf->getRawLong32();
+  DRW_DBG( "Compressed size= " );
+  DRW_DBG( compSize );
+  DRW_DBG( ", " );
+  DRW_DBGH( compSize );
+  DRW_DBG( "\nCompression type= " );
+  DRW_DBGH( fileBuf->getRawLong32() );
+  DRW_DBG( "\nSection page checksum= " );
+  DRW_DBGH( fileBuf->getRawLong32() );
+  DRW_DBG( "\n" );
+
+  duint8 hdrData[20];
+  fileBuf->moveBitPos( -160 );
+  fileBuf->getBytes( hdrData, 20 );
+  for ( duint8 i = 16; i < 20; ++i )
+    hdrData[i] = 0;
+  duint32 calcsH = checksum( 0, hdrData, 20 );
+  DRW_DBG( "Calc hdr checksum= " );
+  DRW_DBGH( calcsH );
+  duint8 *tmpCompSec = new duint8[compSize];
+  fileBuf->getBytes( tmpCompSec, compSize );
+  duint32 calcsD = checksum( calcsH, tmpCompSec, compSize );
+  DRW_DBG( "\nCalc data checksum= " );
+  DRW_DBGH( calcsD );
+  DRW_DBG( "\n" );
+
+#ifdef DRW_DBG_DUMP
+  for ( unsigned int i = 0, j = 0; i < compSize;i++ )
+  {
+    DRW_DBGH(( unsigned char )compSec[i] );
+    if ( j == 7 )
+    {
+      DRW_DBG( "\n" );
+      j = 0;
+    }
+    else { DRW_DBG( ", " ); j++; }
+  }
+  DRW_DBG( "\n" );
+#endif
+  DRW_DBG( "decompresing " );
+  DRW_DBG( compSize );
+  DRW_DBG( " bytes in " );
+  DRW_DBG( decompSize );
+  DRW_DBG( " bytes\n" );
+  dwgCompressor comp;
+  comp.decompress18( tmpCompSec, decompSec, compSize, decompSize );
+#ifdef DRW_DBG_DUMP
+  for ( unsigned int i = 0, j = 0; i < decompSize;i++ )
+  {
+    DRW_DBGH( decompSec[i] );
+    if ( j == 7 )
+    {
+      DRW_DBG( "\n" );
+      j = 0;
+    }
+    else { DRW_DBG( ", " ); j++; }
+  }
+  DRW_DBG( "\n" );
+#endif
+  delete[]tmpCompSec;
+}
+
+//called ???: Section map: 0x4163003b
+bool dwgReader18::parseDataPage( dwgSectionInfo si/*, duint8 *dData*/ )
+{
+  DRW_DBG( "\nparseDataPage\n " );
+  objData = new duint8 [si.pageCount * si.maxSize];
+
+  for ( std::map<duint32, dwgPageInfo>::iterator it = si.pages.begin(); it != si.pages.end(); ++it )
+  {
+    dwgPageInfo pi = it->second;
+    if ( !fileBuf->setPosition( pi.address ) )
+      return false;
+    //decript section header
+    duint8 hdrData[32];
+    fileBuf->getBytes( hdrData, 32 );
+    dwgCompressor::decrypt18Hdr( hdrData, 32, pi.address );
+    DRW_DBG( "Section  " );
+    DRW_DBG( si.name );
+    DRW_DBG( " page header=\n" );
+    for ( unsigned int i = 0, j = 0; i < 32;i++ )
+    {
+      DRW_DBGH(( unsigned char )hdrData[i] );
+      if ( j == 7 )
+      {
+        DRW_DBG( "\n" );
+        j = 0;
+      }
+      else
+      {
+        DRW_DBG( ", " );
+        j++;
+      }
+    }
+    DRW_DBG( "\n" );
+
+    DRW_DBG( "\n    Page number= " );
+    DRW_DBGH( pi.Id );
+    DRW_DBG( "\n    size in file= " );
+    DRW_DBGH( pi.size );
+    DRW_DBG( "\n    address in file= " );
+    DRW_DBGH( pi.address );
+    DRW_DBG( "\n    Data size= " );
+    DRW_DBGH( pi.dataSize );
+    DRW_DBG( "\n    Start offset= " );
+    DRW_DBGH( pi.startOffset );
+    DRW_DBG( "\n" );
+    dwgBuffer bufHdr( hdrData, 32, &decoder );
+    DRW_DBG( "      section page type= " );
+    DRW_DBGH( bufHdr.getRawLong32() );
+    DRW_DBG( "\n      section number= " );
+    DRW_DBGH( bufHdr.getRawLong32() );
+    pi.cSize = bufHdr.getRawLong32();
+    DRW_DBG( "\n      data size (compressed)= " );
+    DRW_DBGH( pi.cSize );
+    DRW_DBG( " dec " );
+    DRW_DBG( pi.cSize );
+    pi.uSize = bufHdr.getRawLong32();
+    DRW_DBG( "\n      page size (decompressed)= " );
+    DRW_DBGH( pi.uSize );
+    DRW_DBG( " dec " );
+    DRW_DBG( pi.uSize );
+    DRW_DBG( "\n      start offset (in decompressed buffer)= " );
+    DRW_DBGH( bufHdr.getRawLong32() );
+    DRW_DBG( "\n      unknown= " );
+    DRW_DBGH( bufHdr.getRawLong32() );
+    DRW_DBG( "\n      header checksum= " );
+    DRW_DBGH( bufHdr.getRawLong32() );
+    DRW_DBG( "\n      data checksum= " );
+    DRW_DBGH( bufHdr.getRawLong32() );
+    DRW_DBG( "\n" );
+
+    //get compressed data
+    duint8 *cData = new duint8[pi.cSize];
+    if ( !fileBuf->setPosition( pi.address + 32 ) )
+    {
+      delete [] cData;
+      return false;
+    }
+    fileBuf->getBytes( cData, pi.cSize );
+
+    //calculate checksum
+    duint32 calcsD = checksum( 0, cData, pi.cSize );
+    for ( duint8 i = 24; i < 28; ++i )
+      hdrData[i] = 0;
+    duint32 calcsH = checksum( calcsD, hdrData, 32 );
+    DRW_DBG( "Calc header checksum= " );
+    DRW_DBGH( calcsH );
+    DRW_DBG( "\nCalc data checksum= " );
+    DRW_DBGH( calcsD );
+    DRW_DBG( "\n" );
+
+    duint8* oData = objData + pi.startOffset;
+    pi.uSize = si.maxSize;
+    DRW_DBG( "decompresing " );
+    DRW_DBG( pi.cSize );
+    DRW_DBG( " bytes in " );
+    DRW_DBG( pi.uSize );
+    DRW_DBG( " bytes\n" );
+    dwgCompressor comp;
+    comp.decompress18( cData, oData, pi.cSize, pi.uSize );
+    delete[]cData;
+  }
+  return true;
+}
+
+bool dwgReader18::readMetaData()
+{
+  version = parent->getVersion();
+  decoder.setVersion( version, false );
+  DRW_DBG( "dwgReader18::readMetaData\n" );
+  if ( ! fileBuf->setPosition( 11 ) )
+    return false;
+  maintenanceVersion = fileBuf->getRawChar8();
+  DRW_DBG( "maintenance verion= " );
+  DRW_DBGH( maintenanceVersion );
+  DRW_DBG( "\nbyte at 0x0C= " );
+  DRW_DBGH( fileBuf->getRawChar8() );
+  previewImagePos = fileBuf->getRawLong32(); //+ page header size (0x20).
+  DRW_DBG( "\npreviewImagePos (seekerImageData) = " );
+  DRW_DBG( previewImagePos );
+  DRW_DBG( "\napp Dwg version= " );
+  DRW_DBGH( fileBuf->getRawChar8() );
+  DRW_DBG( ", " );
+  DRW_DBG( "\napp maintenance version= " );
+  DRW_DBGH( fileBuf->getRawChar8() );
+  duint16 cp = fileBuf->getRawShort16();
+  DRW_DBG( "\ncodepage= " );
+  DRW_DBG( cp );
+  if ( cp == 30 )
+    decoder.setCodePage( "ANSI_1252", false );
+  DRW_DBG( "\n3 0x00 bytes(seems 0x00, appDwgV & appMaintV) = " );
+  DRW_DBGH( fileBuf->getRawChar8() );
+  DRW_DBG( ", " );
+  DRW_DBGH( fileBuf->getRawChar8() );
+  DRW_DBG( ", " );
+  DRW_DBGH( fileBuf->getRawChar8() );
+  securityFlags = fileBuf->getRawLong32();
+  DRW_DBG( "\nsecurity flags= " );
+  DRW_DBG( securityFlags );
+  // UNKNOWN SECTION 4 bytes
+  duint32 uk =    fileBuf->getRawLong32();
+  DRW_DBG( "\nUNKNOWN SECTION ( 4 bytes) = " );
+  DRW_DBG( uk );
+  duint32 sumInfoAddr =    fileBuf->getRawLong32();
+  DRW_DBG( "\nsummary Info Address= " );
+  DRW_DBG( sumInfoAddr );
+  duint32 vbaAdd =    fileBuf->getRawLong32();
+  DRW_DBG( "\nVBA address= " );
+  DRW_DBGH( vbaAdd );
+  DRW_DBG( "\npos 0x28 are 0x00000080= " );
+  DRW_DBGH( fileBuf->getRawLong32() );
+  DRW_DBG( "\n" );
+  return true;
+}
+
+bool dwgReader18::readFileHeader()
+{
+
+  if ( ! fileBuf->setPosition( 0x80 ) )
+    return false;
+
+//    genMagicNumber(); DBG("\n"); DBG("\n");
+  DRW_DBG( "Encrypted Header Data=\n" );
+  duint8 byteStr[0x6C];
+  int size = 0x6C;
+  for ( int i = 0, j = 0; i < 0x6C;i++ )
+  {
+    duint8 ch = fileBuf->getRawChar8();
+    DRW_DBGH( ch );
+    if ( j == 15 )
+    {
+      DRW_DBG( "\n" );
+      j = 0;
+    }
+    else
+    {
+      DRW_DBG( ", " );
+      j++;
+    }
+    byteStr[i] = DRW_magicNum18[i] ^ ch;
+  }
+  DRW_DBG( "\n" );
+
+//    size =0x6C;
+  DRW_DBG( "Decrypted Header Data=\n" );
+  for ( int i = 0, j = 0; i < size;i++ )
+  {
+    DRW_DBGH(( unsigned char )byteStr[i] );
+    if ( j == 15 )
+    {
+      DRW_DBG( "\n" );
+      j = 0;
+    }
+    else
+    {
+      DRW_DBG( ", " );
+      j++;
+    }
+  }
+  dwgBuffer buff( byteStr, 0x6C, &decoder );
+  std::string name = reinterpret_cast<char*>( byteStr );
+  DRW_DBG( "\nFile ID string (AcFssFcAJMB)= " );
+  DRW_DBG( name.c_str() );
+  //ID string + nullptr = 12
+  buff.setPosition( 12 );
+  DRW_DBG( "\n0x00 long= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\n0x6c long= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\n0x04 long= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\nRoot tree node gap= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\nLowermost left tree node gap= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\nLowermost right tree node gap= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\nUnknown long (1)= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\nLast section page Id= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\nLast section page end address 64b= " );
+  DRW_DBGH( buff.getRawLong64() );
+  DRW_DBG( "\nStart of second header data address 64b= " );
+  DRW_DBGH( buff.getRawLong64() );
+  DRW_DBG( "\nGap amount= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\nSection page amount= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\n0x20 long= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\n0x80 long= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\n0x40 long= " );
+  DRW_DBGH( buff.getRawLong32() );
+  dint32 secPageMapId = buff.getRawLong32();
+  DRW_DBG( "\nSection Page Map Id= " );
+  DRW_DBGH( secPageMapId );
+  duint64 secPageMapAddr = buff.getRawLong64() + 0x100;
+  DRW_DBG( "\nSection Page Map address 64b= " );
+  DRW_DBGH( secPageMapAddr );
+  DRW_DBG( "\nSection Page Map address 64b dec= " );
+  DRW_DBG( secPageMapAddr );
+  duint32 secMapId = buff.getRawLong32();
+  DRW_DBG( "\nSection Map Id= " );
+  DRW_DBGH( secMapId );
+  DRW_DBG( "\nSection page array size= " );
+  DRW_DBGH( buff.getRawLong32() );
+  DRW_DBG( "\nGap array size= " );
+  DRW_DBGH( buff.getRawLong32() );
+  //TODO: verify CRC
+  DRW_DBG( "\nCRC32= " );
+  DRW_DBGH( buff.getRawLong32() );
+  for ( duint8 i = 0x68; i < 0x6c; ++i )
+    byteStr[i] = '\0';
+//    byteStr[i] = '\0';
+  duint32 crcCalc = buff.crc32( 0x00, 0, 0x6C );
+  DRW_DBG( "\nCRC32 calculated= " );
+  DRW_DBGH( crcCalc );
+
+  DRW_DBG( "\nEnd Encrypted Data. Reads 0x14 bytes, equal to magic number:\n" );
+  for ( int i = 0, j = 0; i < 0x14;i++ )
+  {
+    DRW_DBG( "magic num: " );
+    DRW_DBGH(( unsigned char )DRW_magicNumEnd18[i] );
+    DRW_DBG( ",read " );
+    DRW_DBGH(( unsigned char )fileBuf->getRawChar8() );
+    if ( j == 3 )
+    {
+      DRW_DBG( "\n" );
+      j = 0;
+    }
+    else
+    {
+      DRW_DBG( ", " );
+      j++;
+    }
+  }
+// At this point are parsed the first 256 bytes
+  DRW_DBG( "\nJump to Section Page Map address: " );
+  DRW_DBGH( secPageMapAddr );
+
+  if ( ! fileBuf->setPosition( secPageMapAddr ) )
+    return false;
+  duint32 pageType = fileBuf->getRawLong32();
+  DRW_DBG( "\nSection page type= " );
+  DRW_DBGH( pageType );
+  duint32 decompSize = fileBuf->getRawLong32();
+  DRW_DBG( "\nDecompressed size= " );
+  DRW_DBG( decompSize );
+  DRW_DBG( ", " );
+  DRW_DBGH( decompSize );
+  if ( pageType != 0x41630e3b )
+  {
+    //bad page type, ends
+    DRW_DBG( "Warning, bad page type, was expected 0x41630e3b instead of" );
+    DRW_DBGH( pageType );
+    DRW_DBG( "\n" );
+    return false;
+  }
+  duint8 *tmpDecompSec = new duint8[decompSize];
+  parseSysPage( tmpDecompSec, decompSize );
+
+//parses "Section page map" decompressed data
+  dwgBuffer buff2( tmpDecompSec, decompSize, &decoder );
+  duint32 address = 0x100;
+  //stores temporaly info of all pages:
+  std::map<duint32, dwgPageInfo >sectionPageMapTmp;
+
+  for ( unsigned int i = 0; i < decompSize; )
+  {
+    dint32 id = buff2.getRawLong32();//RLZ bad can be +/-
+    duint32 size = buff2.getRawLong32();
+    i += 8;
+    DRW_DBG( "Page num= " );
+    DRW_DBG( id );
+    DRW_DBG( " size= " );
+    DRW_DBGH( size );
+    DRW_DBG( " address= " );
+    DRW_DBGH( address );
+    DRW_DBG( "\n" );
+    //TODO num can be negative indicating gap
+//        duint64 ind = id > 0 ? id : -id;
+    if ( id < 0 )
+    {
+      DRW_DBG( "Parent= " );
+      DRW_DBG( buff2.getRawLong32() );
+      DRW_DBG( "\nLeft= " );
+      DRW_DBG( buff2.getRawLong32() );
+      DRW_DBG( ", Right= " );
+      DRW_DBG( buff2.getRawLong32() );
+      DRW_DBG( ", 0x00= " );
+      DRW_DBGH( buff2.getRawLong32() );
+      DRW_DBG( "\n" );
+      i += 16;
+    }
+
+    sectionPageMapTmp[id] = dwgPageInfo( id, address, size );
+    address += size;
+  }
+  delete[]tmpDecompSec;
+
+  DRW_DBG( "\n*** dwgReader18: Processing Data Section Map ***\n" );
+  dwgPageInfo sectionMap = sectionPageMapTmp[secMapId];
+  if ( !fileBuf->setPosition( sectionMap.address ) )
+    return false;
+  pageType = fileBuf->getRawLong32();
+  DRW_DBG( "\nSection page type= " );
+  DRW_DBGH( pageType );
+  decompSize = fileBuf->getRawLong32();
+  DRW_DBG( "\nDecompressed size= " );
+  DRW_DBG( decompSize );
+  DRW_DBG( ", " );
+  DRW_DBGH( decompSize );
+  if ( pageType != 0x4163003b )
+  {
+    //bad page type, ends
+    DRW_DBG( "Warning, bad page type, was expected 0x4163003b instead of" );
+    DRW_DBGH( pageType );
+    DRW_DBG( "\n" );
+    return false;
+  }
+  tmpDecompSec = new duint8[decompSize];
+  parseSysPage( tmpDecompSec, decompSize );
+
+//reads sections:
+  DRW_DBG( "\n*** dwgReader18: reads sections:" );
+  dwgBuffer buff3( tmpDecompSec, decompSize, &decoder );
+  duint32 numDescriptions = buff3.getRawLong32();
+  DRW_DBG( "\nnumDescriptions (sections)= " );
+  DRW_DBG( numDescriptions );
+  DRW_DBG( "\n0x02 long= " );
+  DRW_DBGH( buff3.getRawLong32() );
+  DRW_DBG( "\n0x00007400 long= " );
+  DRW_DBGH( buff3.getRawLong32() );
+  DRW_DBG( "\n0x00 long= " );
+  DRW_DBGH( buff3.getRawLong32() );
+  DRW_DBG( "\nunknown long (numDescriptions?)= " );
+  DRW_DBG( buff3.getRawLong32() );
+  DRW_DBG( "\n" );
+
+  for ( unsigned int i = 0; i < numDescriptions; i++ )
+  {
+    dwgSectionInfo secInfo;
+    secInfo.size = buff3.getRawLong64();
+    DRW_DBG( "\nSize of section= " );
+    DRW_DBGH( secInfo.size );
+    secInfo.pageCount = buff3.getRawLong32();
+    DRW_DBG( "\nPage count= " );
+    DRW_DBGH( secInfo.pageCount );
+    secInfo.maxSize = buff3.getRawLong32();
+    DRW_DBG( "\nMax Decompressed Size= " );
+    DRW_DBGH( secInfo.maxSize );
+    DRW_DBG( "\nunknown long= " );
+    DRW_DBGH( buff3.getRawLong32() );
+    secInfo.compressed = buff3.getRawLong32();
+    DRW_DBG( "\nis Compressed? 1:no, 2:yes= " );
+    DRW_DBGH( secInfo.compressed );
+    secInfo.Id = buff3.getRawLong32();
+    DRW_DBG( "\nSection Id= " );
+    DRW_DBGH( secInfo.Id );
+    secInfo.encrypted = buff3.getRawLong32();
+    //encrypted (doc: 0 no, 1 yes, 2 unkn) on read: objects 0 and encrypted yes
+    DRW_DBG( "\nEncrypted= " );
+    DRW_DBGH( secInfo.encrypted );
+    duint8 nameCStr[64];
+    buff3.getBytes( nameCStr, 64 );
+    secInfo.name = reinterpret_cast<char*>( nameCStr );
+    DRW_DBG( "\nSection std::Name= " );
+    DRW_DBG( secInfo.name.c_str() );
+    DRW_DBG( "\n" );
+    for ( unsigned int i = 0; i < secInfo.pageCount; i++ )
+    {
+      duint32 pn = buff3.getRawLong32();
+      dwgPageInfo pi = sectionPageMapTmp[pn]; //get a copy
+      DRW_DBG( " reading pag num = " );
+      DRW_DBGH( pn );
+      pi.dataSize = buff3.getRawLong32();
+      pi.startOffset = buff3.getRawLong64();
+      secInfo.pages[pn] = pi;//complete copy in secInfo
+      DRW_DBG( "\n    Page number= " );
+      DRW_DBGH( secInfo.pages[pn].Id );
+      DRW_DBG( "\n    size in file= " );
+      DRW_DBGH( secInfo.pages[pn].size );
+      DRW_DBG( "\n    address in file= " );
+      DRW_DBGH( secInfo.pages[pn].address );
+      DRW_DBG( "\n    Data size= " );
+      DRW_DBGH( secInfo.pages[pn].dataSize );
+      DRW_DBG( "\n    Start offset= " );
+      DRW_DBGH( secInfo.pages[pn].startOffset );
+      DRW_DBG( "\n" );
+    }
+    //do not save empty section
+    if ( !secInfo.name.empty() )
+    {
+      DRW_DBG( "Saved section Name= " );
+      DRW_DBG( secInfo.name.c_str() );
+      DRW_DBG( "\n" );
+      sections[secEnum::getEnum( secInfo.name )] = secInfo;
+    }
+  }
+  delete[]tmpDecompSec;
+
+  if ( ! fileBuf->isGood() )
+    return false;
+  DRW_DBG( "\ndwgReader18::readFileHeader END\n\n" );
+  return true;
+}
+
+bool dwgReader18::readDwgHeader( DRW_Header& hdr )
+{
+  DRW_DBG( "dwgReader18::readDwgHeader\n" );
+  dwgSectionInfo si = sections[secEnum::HEADER];
+  if ( si.Id < 0 )//not found, ends
+    return false;
+  bool ret = parseDataPage( si/*, objData*/ );
+  //global store for uncompressed data of all pages
+  uncompSize = si.size;
+  if ( ret )
+  {
+    dwgBuffer dataBuf( objData, si.size, &decoder );
+    DRW_DBG( "Header section sentinel= " );
+    checkSentinel( &dataBuf, secEnum::HEADER, true );
+    if ( version == DRW::AC1018 )
+    {
+      ret = dwgReader::readDwgHeader( hdr, &dataBuf, &dataBuf );
+    }
+    else
+    {
+      dwgBuffer handleBuf( objData, si.size, &decoder );
+      ret = dwgReader::readDwgHeader( hdr, &dataBuf, &handleBuf );
+    }
+  }
+  //Cleanup: global store for uncompressed data of all pages
+  if ( objData )
+  {
+    delete[] objData;
+    objData = nullptr;
+  }
+  return ret;
+}
+
+
+bool dwgReader18::readDwgClasses()
+{
+  DRW_DBG( "\ndwgReader18::readDwgClasses\n" );
+  dwgSectionInfo si = sections[secEnum::CLASSES];
+  if ( si.Id < 0 )//not found, ends
+    return false;
+  bool ret = parseDataPage( si/*, objData*/ );
+  //global store for uncompressed data of all pages
+  uncompSize = si.size;
+  if ( ret )
+  {
+
+    dwgBuffer dataBuf( objData, uncompSize, &decoder );
+
+    DRW_DBG( "classes section sentinel= " );
+    checkSentinel( &dataBuf, secEnum::CLASSES, true );
+
+    duint32 size = dataBuf.getRawLong32();
+    DRW_DBG( "\ndata size in bytes " );
+    DRW_DBG( size );
+    if ( version > DRW::AC1021 && maintenanceVersion > 3 ) //2010+
+    {
+      duint32 hSize = dataBuf.getRawLong32();
+      DRW_DBG( "\n2010+ & MV> 3, higth 32b: " );
+      DRW_DBG( hSize );
+    }
+    duint32 bitSize = 0;
+    if ( version > DRW::AC1021 )  //2007+
+    {
+      bitSize = dataBuf.getRawLong32();
+      DRW_DBG( "\ntotal size in bits " );
+      DRW_DBG( bitSize );
+    }
+    duint32 maxClassNum = dataBuf.getBitShort();
+    DRW_DBG( "\nMaximum class number " );
+    DRW_DBG( maxClassNum );
+    DRW_DBG( "\nRc 1 " );
+    DRW_DBG( dataBuf.getRawChar8() );
+    DRW_DBG( "\nRc 2 " );
+    DRW_DBG( dataBuf.getRawChar8() );
+    DRW_DBG( "\nBit " );
+    DRW_DBG( dataBuf.getBit() );
+
+    /*******************************/
+    dwgBuffer *strBuf = &dataBuf;
+    dwgBuffer strBuff( objData, uncompSize, &decoder );
+    //prepare string stream for 2007+
+    if ( version > DRW::AC1021 )  //2007+
+    {
+      strBuf = &strBuff;
+      duint32 strStartPos = bitSize + 191;//size in bits + 24 bytes (sn+size+hSize) - 1 bit (endbit)
+      DRW_DBG( "\nstrStartPos: " );
+      DRW_DBG( strStartPos );
+      strBuff.setPosition( strStartPos >> 3 );
+      strBuff.setBitPos( strStartPos & 7 );
+      DRW_DBG( "\nclasses strings buff.getPosition: " );
+      DRW_DBG( strBuff.getPosition() );
+      DRW_DBG( "\nclasses strings buff.getBitPos: " );
+      DRW_DBG( strBuff.getBitPos() );
+      DRW_DBG( "\nendBit " );
+      DRW_DBG( strBuff.getBit() );
+      strStartPos -= 16;//decrement 16 bits
+      DRW_DBG( "\nstrStartPos: " );
+      DRW_DBG( strStartPos );
+      strBuff.setPosition( strStartPos >> 3 );
+      strBuff.setBitPos( strStartPos & 7 );
+      DRW_DBG( "\nclasses strings buff.getPosition: " );
+      DRW_DBG( strBuff.getPosition() );
+      DRW_DBG( "\nclasses strings buff.getBitPos: " );
+      DRW_DBG( strBuff.getBitPos() );
+      duint32 strDataSize = strBuff.getRawShort16();
+      DRW_DBG( "\nstrDataSize: " );
+      DRW_DBG( strDataSize );
+      if ( strDataSize & 0x8000 )
+      {
+        strStartPos -= 16;//decrement 16 bits
+        strDataSize &= 0x7FFF; //strip 0x8000;
+        strBuff.setPosition( strStartPos >> 3 );
+        strBuff.setBitPos( strStartPos & 7 );
+        duint32 hiSize = strBuff.getRawShort16();
+        strDataSize |= ( hiSize << 15 );
+      }
+      strStartPos -= strDataSize;
+      DRW_DBG( "\nstrStartPos: " );
+      DRW_DBG( strStartPos );
+      strBuff.setPosition( strStartPos >> 3 );
+      strBuff.setBitPos( strStartPos & 7 );
+      DRW_DBG( "\nclasses strings buff.getPosition: " );
+      DRW_DBG( strBuff.getPosition() );
+      DRW_DBG( "\nclasses strings buff.getBitPos: " );
+      DRW_DBG( strBuff.getBitPos() );
+    }
+
+    /*******************************/
+
+    duint32 endDataPos = maxClassNum - 499;
+    DRW_DBG( "\nbuff.getPosition: " );
+    DRW_DBG( dataBuf.getPosition() );
+    for ( duint32 i = 0; i < endDataPos;i++ )
+    {
+      DRW_Class *cl = new DRW_Class();
+      cl->parseDwg( version, &dataBuf, strBuf );
+      classesmap[cl->classNum] = cl;
+      DRW_DBG( "\nbuff.getPosition: " );
+      DRW_DBG( dataBuf.getPosition() );
+    }
+    DRW_DBG( "\nend classes data buff.getPosition: " );
+    DRW_DBG( dataBuf.getPosition() );
+    DRW_DBG( "\nend classes data buff.getBitPos: " );
+    DRW_DBG( dataBuf.getBitPos() );
+    DRW_DBG( "\nend classes strings buff.getPosition: " );
+    DRW_DBG( strBuf->getPosition() );
+    DRW_DBG( "\nend classes strings buff.getBitPos: " );
+    DRW_DBG( strBuf->getBitPos() );
+
+    /***************/
+
+    strBuf->setPosition( strBuf->getPosition() + 1 );//skip remaining bits
+    DRW_DBG( "\nCRC: " );
+    DRW_DBGH( strBuf->getRawShort16() );
+    if ( version > DRW::AC1018 )
+    {
+      DRW_DBG( "\nunknown CRC: " );
+      DRW_DBGH( strBuf->getRawShort16() );
+    }
+    DRW_DBG( "\nclasses section end sentinel= " );
+    checkSentinel( strBuf, secEnum::CLASSES, false );
+
+    ret = strBuf->isGood();
+  }
+  //Cleanup: global store for uncompressed data of all pages
+  if ( objData )
+  {
+    delete[] objData;
+    objData = nullptr;
+  }
+  return ret;
+}
+
+
+/*********** objects map ************************/
+/** Note: object map are split in sections with max size 2035?
+ *  heach section are 2 bytes size + data bytes + 2 bytes crc
+ *  size value are data bytes + 2 and to calculate crc are used
+ *  2 bytes size + data bytes
+ *  last section are 2 bytes size + 2 bytes crc (size value always 2)
+**/
+bool dwgReader18::readDwgHandles()
+{
+  DRW_DBG( "\ndwgReader18::readDwgHandles\n" );
+  dwgSectionInfo si = sections[secEnum::HANDLES];
+  if ( si.Id < 0 )//not found, ends
+    return false;
+  bool ret = parseDataPage( si );
+  //global store for uncompressed data of all pages
+  uncompSize = si.size;
+  if ( ret )
+  {
+
+    dwgBuffer dataBuf( objData, uncompSize, &decoder );
+
+    ret = dwgReader::readDwgHandles( &dataBuf, 0, si.size );
+  }
+  //Cleanup: global store for uncompressed data of all pages
+  if ( objData )
+  {
+    delete[] objData;
+    objData = nullptr;
+    uncompSize = 0;
+  }
+  return ret;
+}
+
+
+/*********** objects ************************/
+/**
+ * Reads all the object referenced in the object map section of the DWG file
+ * (using their object file offsets)
+ */
+bool dwgReader18::readDwgTables( DRW_Header& hdr )
+{
+  DRW_DBG( "\ndwgReader18::readDwgTables\n" );
+  dwgSectionInfo si = sections[secEnum::OBJECTS];
+
+  if ( si.Id < 0 )//not found, ends
+    return false;
+  bool ret = parseDataPage( si/*, objData*/ );
+  //global store for uncompressed data of all pages
+  uncompSize = si.size;
+  if ( ret )
+  {
+
+    dwgBuffer dataBuf( objData, uncompSize, &decoder );
+
+    ret = dwgReader::readDwgTables( hdr, &dataBuf );
+
+  }
+  //Do not delete objData in this point, needed in the remaining code
+  return ret;
+}
+
+
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader18.h b/src/app/dwg/libdxfrw/intern/dwgreader18.h
new file mode 100644
index 0000000..43a647f
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader18.h
@@ -0,0 +1,109 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DWGREADER18_H
+#define DWGREADER18_H
+
+#include <map>
+#include <list>
+#include "dwgreader.h"
+//#include "../drw_textcodec.h"
+#include "dwgbuffer.h"
+
+static const int DRW_magicNum18[] =
+{
+  0x29, 0x23, 0xbe, 0x84, 0xe1, 0x6c, 0xd6, 0xae,
+  0x52, 0x90, 0x49, 0xf1, 0xf1, 0xbb, 0xe9, 0xeb,
+  0xb3, 0xa6, 0xdb, 0x3c, 0x87, 0x0c, 0x3e, 0x99,
+  0x24, 0x5e, 0x0d, 0x1c, 0x06, 0xb7, 0x47, 0xde,
+  0xb3, 0x12, 0x4d, 0xc8, 0x43, 0xbb, 0x8b, 0xa6,
+  0x1f, 0x03, 0x5a, 0x7d, 0x09, 0x38, 0x25, 0x1f,
+  0x5d, 0xd4, 0xcb, 0xfc, 0x96, 0xf5, 0x45, 0x3b,
+  0x13, 0x0d, 0x89, 0x0a, 0x1c, 0xdb, 0xae, 0x32,
+  0x20, 0x9a, 0x50, 0xee, 0x40, 0x78, 0x36, 0xfd,
+  0x12, 0x49, 0x32, 0xf6, 0x9e, 0x7d, 0x49, 0xdc,
+  0xad, 0x4f, 0x14, 0xf2, 0x44, 0x40, 0x66, 0xd0,
+  0x6b, 0xc4, 0x30, 0xb7, 0x32, 0x3b, 0xa1, 0x22,
+  0xf6, 0x22, 0x91, 0x9d, 0xe1, 0x8b, 0x1f, 0xda,
+  0xb0, 0xca, 0x99, 0x02
+};
+
+static const int DRW_magicNumEnd18[] =
+{
+  0xf8, 0x46, 0x6a, 0x04, 0x96, 0x73, 0x0e, 0xd9,
+  0x16, 0x2f, 0x67, 0x68, 0xd4, 0xf7, 0x4a, 0x4a,
+  0xd0, 0x57, 0x68, 0x76
+};
+
+class dwgReader18 : public dwgReader
+{
+  public:
+    dwgReader18( std::ifstream *stream, dwgR *p )
+        : dwgReader( stream, p )
+        , objData( nullptr )
+        , uncompSize( 0 )
+    {
+    }
+    virtual ~dwgReader18()
+    {
+      if ( objData )
+        delete[] objData;
+    }
+    bool readMetaData();
+    bool readFileHeader();
+    bool readDwgHeader( DRW_Header& hdr );
+    bool readDwgClasses();
+    bool readDwgHandles();
+    bool readDwgTables( DRW_Header& hdr );
+    bool readDwgBlocks( DRW_Interface& intfa )
+    {
+      dwgBuffer dataBuf( objData, uncompSize, &decoder );
+      return dwgReader::readDwgBlocks( intfa, &dataBuf );
+    }
+
+    virtual bool readDwgEntities( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      dwgBuffer dataBuf( objData, uncompSize, &decoder );
+      ret = dwgReader::readDwgEntities( intfa, &dataBuf );
+      return ret;
+    }
+    virtual bool readDwgObjects( DRW_Interface& intfa )
+    {
+      dwgBuffer dataBuf( objData, uncompSize, &decoder );
+      return dwgReader::readDwgObjects( intfa, &dataBuf );
+    }
+
+#if 0
+    bool readDwgEntity( objHandle& obj, DRW_Interface& intfa )
+    {
+      bool ret = true;
+      return ret;
+    }
+#endif
+
+  protected:
+    duint8 *objData;
+    duint64 uncompSize;
+
+  private:
+    void genMagicNumber();
+//    dwgBuffer* bufObj;
+    void parseSysPage( duint8 *decompSec, duint32 decompSize ); //called: Section page map: 0x41630e3b
+    bool parseDataPage( dwgSectionInfo si/*, duint8 *dData*/ ); //called ???: Section map: 0x4163003b
+    duint32 checksum( duint32 seed, duint8* data, duint32 sz );
+
+  private:
+    duint32 securityFlags;
+};
+
+#endif // DWGREADER18_H
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader21.cpp b/src/app/dwg/libdxfrw/intern/dwgreader21.cpp
new file mode 100644
index 0000000..0fc42c9
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader21.cpp
@@ -0,0 +1,657 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <cstdlib>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <sstream>
+#include "drw_dbg.h"
+#include "dwgreader21.h"
+#include "drw_textcodec.h"
+#include "../libdwgr.h"
+
+bool dwgReader21::readMetaData()
+{
+  version = parent->getVersion();
+  decoder.setVersion( version, false );
+  DRW_DBG( "dwgReader21::readFileHeader()\n" );
+  DRW_DBG( "dwgReader21::parsing metadata\n" );
+  if ( ! fileBuf->setPosition( 11 ) )
+    return false;
+  maintenanceVersion = fileBuf->getRawChar8();
+  DRW_DBG( "maintenance verion= " );
+  DRW_DBGH( maintenanceVersion );
+  DRW_DBG( "\nbyte at 0x0C= " );
+  DRW_DBG( fileBuf->getRawChar8() );
+  previewImagePos = fileBuf->getRawLong32();
+  DRW_DBG( "previewImagePos (seekerImageData) = " );
+  DRW_DBG( previewImagePos );
+  DRW_DBG( "\n\napp writer version= " );
+  DRW_DBGH( fileBuf->getRawChar8() );
+  DRW_DBG( "\napp writer maintenance version= " );
+  DRW_DBGH( fileBuf->getRawChar8() );
+  duint16 cp = fileBuf->getRawShort16();
+  DRW_DBG( "\ncodepage= " );
+  DRW_DBG( cp );
+  if ( cp == 30 )
+    decoder.setCodePage( "ANSI_1252", false );
+  /* UNKNOUWN SECTION 2 bytes*/
+  DRW_DBG( "\nUNKNOWN SECTION= " );
+  DRW_DBG( fileBuf->getRawShort16() );
+  DRW_DBG( "\nUNKNOUWN SECTION 3b= " );
+  DRW_DBG( fileBuf->getRawChar8() );
+  duint32 secType = fileBuf->getRawLong32();
+  DRW_DBG( "\nsecurity type flag= " );
+  DRW_DBGH( secType );
+  /* UNKNOWN2 SECTION 4 bytes*/
+  DRW_DBG( "\nUNKNOWN SECTION 4bytes= " );
+  DRW_DBG( fileBuf->getRawLong32() );
+
+  DRW_DBG( "\nSummary info address= " );
+  DRW_DBGH( fileBuf->getRawLong32() );
+  DRW_DBG( "\nVBA project address= " );
+  DRW_DBGH( fileBuf->getRawLong32() );
+  DRW_DBG( "\n0x00000080 32b= " );
+  DRW_DBGH( fileBuf->getRawLong32() );
+  DRW_DBG( "\nApp info address= " );
+  DRW_DBGH( fileBuf->getRawLong32() );
+  //current position are 0x30 from here to 0x80 are undocumented
+  DRW_DBG( "\nAnother address? = " );
+  DRW_DBGH( fileBuf->getRawLong32() );
+  return true;
+}
+
+bool dwgReader21::parseSysPage( duint64 sizeCompressed, duint64 sizeUncompressed, duint64 correctionFactor, duint64 offset, duint8 *decompData )
+{
+  //round to 8
+  duint64 alsize = ( sizeCompressed + 7 ) & ( -8 );
+  //minimum RS chunk:
+  duint32 chunks = ((( alsize * correctionFactor ) + 238 ) / 239 );
+  duint64 fpsize = chunks * 255;
+
+  if ( ! fileBuf->setPosition( offset ) )
+    return false;
+  duint8 *tmpDataRaw = new duint8[fpsize];
+  fileBuf->getBytes( tmpDataRaw, fpsize );
+  duint8 *tmpDataRS = new duint8[fpsize];
+  dwgRSCodec::decode239I( tmpDataRaw, tmpDataRS, fpsize / 255 );
+  dwgCompressor::decompress21( tmpDataRS, decompData, sizeCompressed, sizeUncompressed );
+  delete[]tmpDataRaw;
+  delete[]tmpDataRS;
+  return true;
+}
+
+bool dwgReader21::parseDataPage( dwgSectionInfo si, duint8 *dData )
+{
+  DRW_DBG( "parseDataPage, section size: " );
+  DRW_DBG( si.size );
+  for ( std::map<duint32, dwgPageInfo>::iterator it = si.pages.begin(); it != si.pages.end(); ++it )
+  {
+    dwgPageInfo pi = it->second;
+    if ( !fileBuf->setPosition( pi.address ) )
+      return false;
+
+    duint8 *tmpPageRaw = new duint8[pi.size];
+    fileBuf->getBytes( tmpPageRaw, pi.size );
+#ifdef DRW_DBG_DUMP
+    DRW_DBG( "\nSection OBJECTS raw data=\n" );
+    for ( unsigned int i = 0, j = 0; i < pi.size;i++ )
+    {
+      DRW_DBGH(( unsigned char )tmpPageRaw[i] );
+      if ( j == 7 )
+      {
+        DRW_DBG( "\n" );
+        j = 0;
+      }
+      else { DRW_DBG( ", " ); j++; }
+    }
+    DRW_DBG( "\n" );
+#endif
+
+    duint8 *tmpPageRS = new duint8[pi.size];
+    duint8 chunks = pi.size / 255;
+    dwgRSCodec::decode251I( tmpPageRaw, tmpPageRS, chunks );
+#ifdef DRW_DBG_DUMP
+    DRW_DBG( "\nSection OBJECTS RS data=\n" );
+    for ( unsigned int i = 0, j = 0; i < pi.size;i++ )
+    {
+      DRW_DBGH(( unsigned char )tmpPageRS[i] );
+      if ( j == 7 )
+      {
+        DRW_DBG( "\n" );
+        j = 0;
+      }
+      else { DRW_DBG( ", " ); j++; }
+    }
+    DRW_DBG( "\n" );
+#endif
+
+    DRW_DBG( "\npage uncomp size: " );
+    DRW_DBG( pi.uSize );
+    DRW_DBG( " comp size: " );
+    DRW_DBG( pi.cSize );
+    DRW_DBG( "\noffset: " );
+    DRW_DBG( pi.startOffset );
+    duint8 *pageData = dData + pi.startOffset;
+    dwgCompressor::decompress21( tmpPageRS, pageData, pi.cSize, pi.uSize );
+
+#ifdef DRW_DBG_DUMP
+    DRW_DBG( "\n\nSection OBJECTS decompressed data=\n" );
+    for ( unsigned int i = 0, j = 0; i < pi.uSize;i++ )
+    {
+      DRW_DBGH(( unsigned char )pageData[i] );
+      if ( j == 7 )
+      {
+        DRW_DBG( "\n" );
+        j = 0;
+      }
+      else { DRW_DBG( ", " ); j++; }
+    }
+    DRW_DBG( "\n" );
+#endif
+
+    delete[]tmpPageRaw;
+    delete[]tmpPageRS;
+  }
+  DRW_DBG( "\n" );
+  return true;
+}
+
+bool dwgReader21::readFileHeader()
+{
+
+  DRW_DBG( "\n\ndwgReader21::parsing file header\n" );
+  if ( ! fileBuf->setPosition( 0x80 ) )
+    return false;
+  duint8 fileHdrRaw[0x2FD];//0x3D8
+  fileBuf->getBytes( fileHdrRaw, 0x2FD );
+  duint8 fileHdrdRS[0x2CD];
+  dwgRSCodec::decode239I( fileHdrRaw, fileHdrdRS, 3 );
+
+#ifdef DRW_DBG_DUMP
+  DRW_DBG( "\ndwgReader21::parsed Reed Solomon decode:\n" );
+  int j = 0;
+  for ( int i = 0, j = 0; i < 0x2CD; i++ )
+  {
+    DRW_DBGH(( unsigned char )fileHdrdRS[i] );
+    if ( j == 15 )
+    {
+      j = 0;
+      DRW_DBG( "\n" );
+    }
+    else { j++; DRW_DBG( ", " ); }
+  }
+  DRW_DBG( "\n" );
+#endif
+
+  dwgBuffer fileHdrBuf( fileHdrdRS, 0x2CD, &decoder );
+  DRW_DBG( "\nCRC 64b= " );
+  DRW_DBGH( fileHdrBuf.getRawLong64() );
+  DRW_DBG( "\nunknown key 64b= " );
+  DRW_DBGH( fileHdrBuf.getRawLong64() );
+  DRW_DBG( "\ncomp data CRC 64b= " );
+  DRW_DBGH( fileHdrBuf.getRawLong64() );
+  dint32 fileHdrCompLength = fileHdrBuf.getRawLong32();
+  DRW_DBG( "\ncompr len 4bytes= " );
+  DRW_DBG( fileHdrCompLength );
+  dint32 fileHdrCompLength2 = fileHdrBuf.getRawLong32();
+  DRW_DBG( "\nlength2 4bytes= " );
+  DRW_DBG( fileHdrCompLength2 );
+
+  int fileHdrDataLength = 0x110;
+  duint8 *fileHdrData;
+  if ( fileHdrCompLength < 0 )
+  {
+    fileHdrDataLength = fileHdrCompLength * -1;
+    fileHdrData = new duint8[fileHdrDataLength];
+    fileHdrBuf.getBytes( fileHdrData, fileHdrDataLength );
+  }
+  else
+  {
+    DRW_DBG( "\ndwgReader21:: file header are compressed:\n" );
+    duint8 *compByteStr = new duint8[fileHdrCompLength];
+    fileHdrBuf.getBytes( compByteStr, fileHdrCompLength );
+    fileHdrData = new duint8[fileHdrDataLength];
+    dwgCompressor::decompress21( compByteStr, fileHdrData, fileHdrCompLength, fileHdrDataLength );
+    delete[] compByteStr;
+  }
+
+#ifdef DRW_DBG_DUMP
+  DRW_DBG( "\ndwgReader21::parsed file header:\n" );
+  for ( int i = 0, j = 0; i < fileHdrDataLength; i++ )
+  {
+    DRW_DBGH(( unsigned char )fileHdrData[i] );
+    if ( j == 15 )
+    {
+      j = 0;
+      DRW_DBG( "\n" );
+    }
+    else { j++; DRW_DBG( ", " ); }
+  }
+  DRW_DBG( "\n" );
+#endif
+
+  dwgBuffer fileHdrDataBuf( fileHdrData, fileHdrDataLength, &decoder );
+  DRW_DBG( "\nHeader size = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nFile size = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nPagesMapCrcCompressed = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  duint64 PagesMapCorrectionFactor = fileHdrDataBuf.getRawLong64();
+  DRW_DBG( "\nPagesMapCorrectionFactor = " );
+  DRW_DBG( PagesMapCorrectionFactor );
+  DRW_DBG( "\nPagesMapCrcSeed = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nPages map2offset = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() ); //relative to data page map 1, add 0x480 to get stream position
+  DRW_DBG( "\nPages map2Id = " );
+  DRW_DBG( fileHdrDataBuf.getRawLong64() );
+  duint64 PagesMapOffset = fileHdrDataBuf.getRawLong64();
+  DRW_DBG( "\nPagesMapOffset = " );
+  DRW_DBGH( PagesMapOffset ); //relative to data page map 1, add 0x480 to get stream position
+  DRW_DBG( "\nPagesMapId = " );
+  DRW_DBG( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nHeader2offset = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() ); //relative to data page map 1, add 0x480 to get stream position
+  duint64 PagesMapSizeCompressed = fileHdrDataBuf.getRawLong64();
+  DRW_DBG( "\nPagesMapSizeCompressed = " );
+  DRW_DBG( PagesMapSizeCompressed );
+  duint64 PagesMapSizeUncompressed = fileHdrDataBuf.getRawLong64();
+  DRW_DBG( "\nPagesMapSizeUncompressed = " );
+  DRW_DBG( PagesMapSizeUncompressed );
+  DRW_DBG( "\nPagesAmount = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  duint64 PagesMaxId = fileHdrDataBuf.getRawLong64();
+  DRW_DBG( "\nPagesMaxId = " );
+  DRW_DBG( PagesMaxId );
+  DRW_DBG( "\nUnknown (normally 0x20) = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nUnknown (normally 0x40) = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nPagesMapCrcUncompressed = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nUnknown (normally 0xf800) = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nUnknown (normally 4) = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nUnknown (normally 1) = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nSectionsAmount (number of sections + 1) = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nSectionsMapCrcUncompressed = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  duint64 SectionsMapSizeCompressed = fileHdrDataBuf.getRawLong64();
+  DRW_DBG( "\nSectionsMapSizeCompressed = " );
+  DRW_DBGH( SectionsMapSizeCompressed );
+  DRW_DBG( "\nSectionsMap2Id = " );
+  DRW_DBG( fileHdrDataBuf.getRawLong64() );
+  duint64 SectionsMapId = fileHdrDataBuf.getRawLong64();
+  DRW_DBG( "\nSectionsMapId = " );
+  DRW_DBG( SectionsMapId );
+  duint64 SectionsMapSizeUncompressed = fileHdrDataBuf.getRawLong64();
+  DRW_DBG( "\nSectionsMapSizeUncompressed = " );
+  DRW_DBGH( SectionsMapSizeUncompressed );
+  DRW_DBG( "\nSectionsMapCrcCompressed = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  duint64 SectionsMapCorrectionFactor = fileHdrDataBuf.getRawLong64();
+  DRW_DBG( "\nSectionsMapCorrectionFactor = " );
+  DRW_DBG( SectionsMapCorrectionFactor );
+  DRW_DBG( "\nSectionsMapCrcSeed = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nStreamVersion (normally 0x60100) = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nCrcSeed = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nCrcSeedEncoded = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nRandomSeed = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\nHeader CRC64 = " );
+  DRW_DBGH( fileHdrDataBuf.getRawLong64() );
+  DRW_DBG( "\n" );
+
+  delete[] fileHdrData;
+
+  DRW_DBG( "\ndwgReader21::parse page map:\n" );
+  duint8 *PagesMapData = new duint8[PagesMapSizeUncompressed];
+
+  bool ret = parseSysPage( PagesMapSizeCompressed, PagesMapSizeUncompressed, PagesMapCorrectionFactor, 0x480 + PagesMapOffset, PagesMapData );
+  if ( !ret )
+  {
+    delete[]PagesMapData;
+    return false;
+  }
+
+  duint64 address = 0x480;
+  duint64 i = 0;
+  dwgBuffer PagesMapBuf( PagesMapData, PagesMapSizeUncompressed, &decoder );
+  //stores temporaly info of all pages:
+  std::map<duint32, dwgPageInfo >sectionPageMapTmp;
+
+//    dwgPageInfo *m_pages= new dwgPageInfo[PagesMaxId+1];
+  while ( PagesMapSizeUncompressed > i )
+  {
+    duint64 size = PagesMapBuf.getRawLong64();
+    dint64 id = PagesMapBuf.getRawLong64();
+    duint64 ind = id > 0 ? id : -id;
+    i += 16;
+
+    DRW_DBG( "Page gap= " );
+    DRW_DBG( id );
+    DRW_DBG( " Page num= " );
+    DRW_DBG( ind );
+    DRW_DBG( " size= " );
+    DRW_DBGH( size );
+    DRW_DBG( " address= " );
+    DRW_DBGH( address );
+    DRW_DBG( "\n" );
+    sectionPageMapTmp[ind] = dwgPageInfo( ind, address, size );
+    address += size;
+    //TODO num can be negative indicating gap
+//        seek += offset;
+  }
+  delete[]PagesMapData;
+
+  DRW_DBG( "\n*** dwgReader21: Processing Section Map ***\n" );
+  duint8 *SectionsMapData = new duint8[SectionsMapSizeUncompressed];
+  dwgPageInfo sectionMap = sectionPageMapTmp[SectionsMapId];
+  ret = parseSysPage( SectionsMapSizeCompressed, SectionsMapSizeUncompressed, SectionsMapCorrectionFactor, sectionMap.address, SectionsMapData );
+  if ( !ret )
+    return false;
+
+//reads sections:
+  //Note: compressed value are not stored in file then, commpresed field are use to store
+  // encoding value
+  dwgBuffer SectionsMapBuf( SectionsMapData, SectionsMapSizeUncompressed, &decoder );
+  duint8 nextId = 1;
+  while ( SectionsMapBuf.getPosition() < SectionsMapBuf.size() )
+  {
+    dwgSectionInfo secInfo;
+    secInfo.size = SectionsMapBuf.getRawLong64();
+    DRW_DBG( "\nSize of section (data size)= " );
+    DRW_DBGH( secInfo.size );
+    secInfo.maxSize = SectionsMapBuf.getRawLong64();
+    DRW_DBG( "\nMax Decompressed Size= " );
+    DRW_DBGH( secInfo.maxSize );
+    secInfo.encrypted = SectionsMapBuf.getRawLong64();
+    //encrypted (doc: 0 no, 1 yes, 2 unkn) on read: objects 0 and encrypted yes
+    DRW_DBG( "\nencryption= " );
+    DRW_DBGH( secInfo.encrypted );
+    DRW_DBG( "\nHashCode = " );
+    DRW_DBGH( SectionsMapBuf.getRawLong64() );
+    duint64 SectionNameLength = SectionsMapBuf.getRawLong64();
+    DRW_DBG( "\nSectionNameLength = " );
+    DRW_DBG( SectionNameLength );
+    DRW_DBG( "\nUnknown = " );
+    DRW_DBGH( SectionsMapBuf.getRawLong64() );
+    secInfo.compressed = SectionsMapBuf.getRawLong64();
+    DRW_DBG( "\nEncoding (compressed) = " );
+    DRW_DBGH( secInfo.compressed );
+    secInfo.pageCount = SectionsMapBuf.getRawLong64();
+    DRW_DBG( "\nPage count= " );
+    DRW_DBGH( secInfo.pageCount );
+    secInfo.name = SectionsMapBuf.getUCSStr( SectionNameLength );
+    DRW_DBG( "\nSection name = " );
+    DRW_DBG( secInfo.name );
+    DRW_DBG( "\n" );
+
+    for ( unsigned int i = 0; i < secInfo.pageCount; i++ )
+    {
+      duint64 po = SectionsMapBuf.getRawLong64();
+      duint32 ds = SectionsMapBuf.getRawLong64();
+      duint32 pn = SectionsMapBuf.getRawLong64();
+      DRW_DBG( "  pag Id = " );
+      DRW_DBGH( pn );
+      DRW_DBG( " data size = " );
+      DRW_DBGH( ds );
+      dwgPageInfo pi = sectionPageMapTmp[pn]; //get a copy
+      pi.dataSize = ds;
+      pi.startOffset = po;
+      pi.uSize = SectionsMapBuf.getRawLong64();
+      pi.cSize = SectionsMapBuf.getRawLong64();
+      secInfo.pages[pn] = pi;//complete copy in secInfo
+      DRW_DBG( "\n    Page number= " );
+      DRW_DBGH( secInfo.pages[pn].Id );
+      DRW_DBG( "\n    address in file= " );
+      DRW_DBGH( secInfo.pages[pn].address );
+      DRW_DBG( "\n    size in file= " );
+      DRW_DBGH( secInfo.pages[pn].size );
+      DRW_DBG( "\n    Data size= " );
+      DRW_DBGH( secInfo.pages[pn].dataSize );
+      DRW_DBG( "\n    Start offset= " );
+      DRW_DBGH( secInfo.pages[pn].startOffset );
+      DRW_DBG( "\n    Page uncompressed size = " );
+      DRW_DBGH( secInfo.pages[pn].uSize );
+      DRW_DBG( "\n    Page compressed size = " );
+      DRW_DBGH( secInfo.pages[pn].cSize );
+
+      DRW_DBG( "\n    Page checksum = " );
+      DRW_DBGH( SectionsMapBuf.getRawLong64() );
+      DRW_DBG( "\n    Page CRC = " );
+      DRW_DBGH( SectionsMapBuf.getRawLong64() );
+      DRW_DBG( "\n" );
+    }
+
+    if ( !secInfo.name.empty() )
+    {
+      secInfo.Id = nextId++;
+      DRW_DBG( "Saved section Name= " );
+      DRW_DBG( secInfo.name.c_str() );
+      DRW_DBG( "\n" );
+      sections[secEnum::getEnum( secInfo.name )] = secInfo;
+    }
+  }
+  delete[]SectionsMapData;
+
+  if ( ! fileBuf->isGood() )
+    return false;
+
+  DRW_DBG( "\ndwgReader21::readFileHeader END\n" );
+  return true;
+}
+
+bool dwgReader21::readDwgHeader( DRW_Header& hdr )
+{
+  DRW_DBG( "\ndwgReader21::readDwgHeader\n" );
+  dwgSectionInfo si = sections[secEnum::HEADER];
+  if ( si.Id < 0 )//not found, ends
+    return false;
+  DRW_DBG( "\nprepare section of size " );
+  DRW_DBG( si.size );
+  DRW_DBG( "\n" );
+  duint8 *tmpHeaderData = new duint8[si.size];
+  bool ret = dwgReader21::parseDataPage( si, tmpHeaderData );
+  if ( !ret )
+  {
+    delete[]tmpHeaderData;
+    return ret;
+  }
+
+  dwgBuffer dataBuf( tmpHeaderData, si.size, &decoder );
+  dwgBuffer handleBuf( tmpHeaderData, si.size, &decoder );
+  DRW_DBG( "Header section sentinel= " );
+  checkSentinel( &dataBuf, secEnum::HEADER, true );
+  ret = dwgReader::readDwgHeader( hdr, &dataBuf, &handleBuf );
+  delete[]tmpHeaderData;
+  return ret;
+}
+
+bool dwgReader21::readDwgClasses()
+{
+  DRW_DBG( "\ndwgReader21::readDwgClasses" );
+  dwgSectionInfo si = sections[secEnum::CLASSES];
+  if ( si.Id < 0 )//not found, ends
+    return false;
+
+  DRW_DBG( "\nprepare section of size " );
+  DRW_DBG( si.size );
+  DRW_DBG( "\n" );
+  duint8 *tmpClassesData = new duint8[si.size];
+  bool ret = dwgReader21::parseDataPage( si, tmpClassesData );
+  if ( !ret )
+    return ret;
+
+  dwgBuffer buff( tmpClassesData, si.size, &decoder );
+  DRW_DBG( "classes section sentinel= " );
+  checkSentinel( &buff, secEnum::CLASSES, true );
+
+  duint32 size = buff.getRawLong32();
+  DRW_DBG( "\ndata size in bytes " );
+  DRW_DBG( size );
+
+  duint32 bitSize = buff.getRawLong32();
+  DRW_DBG( "\ntotal size in bits " );
+  DRW_DBG( bitSize );
+
+  duint32 maxClassNum = buff.getBitShort();
+  DRW_DBG( "\nMaximum class number " );
+  DRW_DBG( maxClassNum );
+  DRW_DBG( "\nRc 1 " );
+  DRW_DBG( buff.getRawChar8() );
+  DRW_DBG( "\nRc 2 " );
+  DRW_DBG( buff.getRawChar8() );
+  DRW_DBG( "\nBit " );
+  DRW_DBG( buff.getBit() );
+
+  /*******************************/
+  //prepare string stream
+  dwgBuffer strBuff( tmpClassesData, si.size, &decoder );
+  duint32 strStartPos = bitSize + 159;//size in bits + 20 bytes (sn+size) - 1 bit (endbit)
+  DRW_DBG( "\nstrStartPos: " );
+  DRW_DBG( strStartPos );
+  strBuff.setPosition( strStartPos >> 3 );
+  strBuff.setBitPos( strStartPos & 7 );
+  DRW_DBG( "\nclasses strings buff.getPosition: " );
+  DRW_DBG( strBuff.getPosition() );
+  DRW_DBG( "\nclasses strings buff.getBitPos: " );
+  DRW_DBG( strBuff.getBitPos() );
+  DRW_DBG( "\nendBit " );
+  DRW_DBG( strBuff.getBit() );
+  strStartPos -= 16;//decrement 16 bits
+  DRW_DBG( "\nstrStartPos: " );
+  DRW_DBG( strStartPos );
+  strBuff.setPosition( strStartPos >> 3 );
+  strBuff.setBitPos( strStartPos & 7 );
+  DRW_DBG( "\nclasses strings buff.getPosition: " );
+  DRW_DBG( strBuff.getPosition() );
+  DRW_DBG( "\nclasses strings buff.getBitPos: " );
+  DRW_DBG( strBuff.getBitPos() );
+  duint32 strDataSize = strBuff.getRawShort16();
+  DRW_DBG( "\nstrDataSize: " );
+  DRW_DBG( strDataSize );
+  if ( strDataSize & 0x8000 )
+  {
+    strStartPos -= 16;//decrement 16 bits
+    strDataSize &= 0x7FFF; //strip 0x8000;
+    strBuff.setPosition( strStartPos >> 3 );
+    strBuff.setBitPos( strStartPos & 7 );
+    duint32 hiSize = strBuff.getRawShort16();
+    strDataSize |= ( hiSize << 15 );
+  }
+  strStartPos -= strDataSize;
+  DRW_DBG( "\nstrStartPos: " );
+  DRW_DBG( strStartPos );
+  strBuff.setPosition( strStartPos >> 3 );
+  strBuff.setBitPos( strStartPos & 7 );
+  DRW_DBG( "\nclasses strings buff.getPosition: " );
+  DRW_DBG( strBuff.getPosition() );
+  DRW_DBG( "\nclasses strings buff.getBitPos: " );
+  DRW_DBG( strBuff.getBitPos() );
+
+
+  /*******************************/
+
+  duint32 endDataPos = maxClassNum - 499;
+  DRW_DBG( "\nbuff.getPosition: " );
+  DRW_DBG( buff.getPosition() );
+  for ( duint32 i = 0; i < endDataPos;i++ )
+  {
+    DRW_Class *cl = new DRW_Class();
+    cl->parseDwg( version, &buff, &strBuff );
+    classesmap[cl->classNum] = cl;
+    DRW_DBG( "\nbuff.getPosition: " );
+    DRW_DBG( buff.getPosition() );
+  }
+  DRW_DBG( "\nend classes data buff.getPosition: " );
+  DRW_DBG( buff.getPosition() );
+  DRW_DBG( "\nend classes data buff.getBitPos: " );
+  DRW_DBG( buff.getBitPos() );
+
+  buff.setPosition( size + 20 );//sizeVal+sn+32bSize
+  DRW_DBG( "\nCRC: " );
+  DRW_DBGH( buff.getRawShort16() );
+  DRW_DBG( "\nclasses section end sentinel= " );
+  checkSentinel( &buff, secEnum::CLASSES, true );
+  delete[]tmpClassesData;
+  return buff.isGood();
+}
+
+
+bool dwgReader21::readDwgHandles()
+{
+  DRW_DBG( "\ndwgReader21::readDwgHandles" );
+  dwgSectionInfo si = sections[secEnum::HANDLES];
+  if ( si.Id < 0 )//not found, ends
+    return false;
+
+  DRW_DBG( "\nprepare section of size " );
+  DRW_DBG( si.size );
+  DRW_DBG( "\n" );
+  duint8 *tmpHandlesData = new duint8[si.size];
+  bool ret = dwgReader21::parseDataPage( si, tmpHandlesData );
+  if ( !ret )
+    return ret;
+
+  dwgBuffer dataBuf( tmpHandlesData, si.size, &decoder );
+
+  ret = dwgReader::readDwgHandles( &dataBuf, 0, si.size );
+  delete[]tmpHandlesData;
+  return ret;
+}
+
+/*********** objects ************************/
+/**
+ * Reads all the object referenced in the object map section of the DWG file
+ * (using their object file offsets)
+ */
+bool dwgReader21::readDwgTables( DRW_Header& hdr )
+{
+  DRW_DBG( "\ndwgReader21::readDwgTables\n" );
+  dwgSectionInfo si = sections[secEnum::OBJECTS];
+  if ( si.Id < 0 ) // not found, ends
+    return false;
+
+  DRW_DBG( "\nprepare section of size " );
+  DRW_DBG( si.size );
+  DRW_DBG( "\n" );
+  dataSize = si.size;
+  objData = new duint8 [dataSize];
+  if ( !dwgReader21::parseDataPage( si, objData ) )
+    return false;
+
+  DRW_DBG( "readDwgTables total data size= " );
+  DRW_DBG( dataSize );
+  DRW_DBG( "\n" );
+  dwgBuffer dataBuf( objData, dataSize, &decoder );
+  return dwgReader::readDwgTables( hdr, &dataBuf );
+}
+
+
+bool dwgReader21::readDwgBlocks( DRW_Interface& intfa )
+{
+  dwgBuffer dataBuf( objData, dataSize, &decoder );
+  return dwgReader::readDwgBlocks( intfa, &dataBuf );
+}
+
+
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader21.h b/src/app/dwg/libdxfrw/intern/dwgreader21.h
new file mode 100644
index 0000000..ff752d9
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader21.h
@@ -0,0 +1,70 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DWGREADER21_H
+#define DWGREADER21_H
+
+#include <map>
+#include <list>
+#include "drw_textcodec.h"
+#include "dwgbuffer.h"
+#include "dwgreader.h"
+
+//reader for AC1021 aka v2007, chapter 5
+class dwgReader21 : public dwgReader
+{
+  public:
+    dwgReader21( std::ifstream *stream, dwgR *p ): dwgReader( stream, p )
+    {
+      objData = nullptr;
+      dataSize = 0;
+    }
+    virtual ~dwgReader21()
+    {
+      if ( objData )
+        delete[] objData;
+    }
+    bool readMetaData();
+    bool readFileHeader();
+    bool readDwgHeader( DRW_Header& hdr );
+    bool readDwgClasses();
+    bool readDwgHandles();
+    bool readDwgTables( DRW_Header& hdr );
+    bool readDwgBlocks( DRW_Interface& intfa );
+    virtual bool readDwgEntities( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      dwgBuffer dataBuf( objData, dataSize, &decoder );
+      ret = dwgReader::readDwgEntities( intfa, &dataBuf );
+      return ret;
+    }
+    virtual bool readDwgObjects( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      dwgBuffer dataBuf( objData, dataSize, &decoder );
+      ret = dwgReader::readDwgObjects( intfa, &dataBuf );
+      return ret;
+    }
+//bool readDwgEntity(objHandle& obj, DRW_Interface& intfa){
+//    return false;
+//}
+
+  private:
+    bool parseSysPage( duint64 sizeCompressed, duint64 sizeUncompressed, duint64 correctionFactor, duint64 offset, duint8 *decompData );
+    bool parseDataPage( dwgSectionInfo si, duint8 *dData );
+
+    duint8 *objData;
+    duint64 dataSize;
+
+};
+
+#endif // DWGREADER21_H
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader24.cpp b/src/app/dwg/libdxfrw/intern/dwgreader24.cpp
new file mode 100644
index 0000000..a060bb0
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader24.cpp
@@ -0,0 +1,46 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <cstdlib>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <sstream>
+#include "drw_dbg.h"
+#include "dwgreader24.h"
+#include "drw_textcodec.h"
+#include "../libdwgr.h"
+
+
+bool dwgReader24::readFileHeader()
+{
+  DRW_DBG( "dwgReader24::readFileHeader\n" );
+  bool ret = dwgReader18::readFileHeader();
+  DRW_DBG( "dwgReader24::readFileHeader END\n" );
+  return ret;
+}
+
+bool dwgReader24::readDwgHeader( DRW_Header& hdr )
+{
+  DRW_DBG( "dwgReader24::readDwgHeader\n" );
+  bool ret = dwgReader18::readDwgHeader( hdr );
+  DRW_DBG( "dwgReader24::readDwgHeader END\n" );
+  return ret;
+}
+
+bool dwgReader24::readDwgClasses()
+{
+  DRW_DBG( "\ndwgReader24::readDwgClasses" );
+  bool ret = dwgReader18::readDwgClasses();
+  DRW_DBG( "\ndwgReader24::readDwgClasses END\n" );
+  return ret;
+}
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader24.h b/src/app/dwg/libdxfrw/intern/dwgreader24.h
new file mode 100644
index 0000000..58b7ffa
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader24.h
@@ -0,0 +1,60 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DWGREADER24_H
+#define DWGREADER24_H
+
+#include <map>
+#include <list>
+#include "drw_textcodec.h"
+#include "dwgbuffer.h"
+#include "dwgreader18.h"
+
+class dwgReader24 : public dwgReader18
+{
+  public:
+    dwgReader24( std::ifstream *stream, dwgR *p ): dwgReader18( stream, p ) { }
+    virtual ~dwgReader24() {}
+    bool readFileHeader();
+    bool readDwgHeader( DRW_Header& hdr );
+    bool readDwgClasses();
+//    bool readDwgHandles(){return false;}
+//    bool readDwgTables(){return false;}
+    bool readDwgBlocks( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      dwgBuffer dataBuf( objData, uncompSize, &decoder );
+      ret = dwgReader::readDwgBlocks( intfa, &dataBuf );
+      return ret;
+    }
+    virtual bool readDwgEntities( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      dwgBuffer dataBuf( objData, uncompSize, &decoder );
+      ret = dwgReader::readDwgEntities( intfa, &dataBuf );
+      return ret;
+    }
+    virtual bool readDwgObjects( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      dwgBuffer dataBuf( objData, uncompSize, &decoder );
+      ret = dwgReader::readDwgObjects( intfa, &dataBuf );
+      return ret;
+    }
+
+//    bool readDwgEntity(objHandle& obj, DRW_Interface& intfa){
+//        DRW_UNUSED(obj);
+//        DRW_UNUSED(intfa);
+//        return false;}
+};
+
+#endif // DWGREADER24_H
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader27.cpp b/src/app/dwg/libdxfrw/intern/dwgreader27.cpp
new file mode 100644
index 0000000..3aaa2d1
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader27.cpp
@@ -0,0 +1,47 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <cstdlib>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <sstream>
+#include "drw_dbg.h"
+#include "dwgreader27.h"
+#include "drw_textcodec.h"
+#include "../libdwgr.h"
+
+
+bool dwgReader27::readFileHeader()
+{
+  DRW_DBG( "dwgReader27::readFileHeader\n" );
+  bool ret = dwgReader18::readFileHeader();
+  DRW_DBG( "dwgReader27::readFileHeader END\n" );
+  return ret;
+}
+
+bool dwgReader27::readDwgHeader( DRW_Header& hdr )
+{
+  DRW_DBG( "dwgReader27::readDwgHeader\n" );
+  bool ret = dwgReader18::readDwgHeader( hdr );
+  DRW_DBG( "dwgReader27::readDwgHeader END\n" );
+  return ret;
+}
+
+bool dwgReader27::readDwgClasses()
+{
+  DRW_DBG( "dwgReader27::readDwgClasses" );
+  bool ret = dwgReader18::readDwgClasses();
+  DRW_DBG( "\ndwgReader27::readDwgClasses END\n" );
+  return ret;
+}
+
diff --git a/src/app/dwg/libdxfrw/intern/dwgreader27.h b/src/app/dwg/libdxfrw/intern/dwgreader27.h
new file mode 100644
index 0000000..7bb960b
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgreader27.h
@@ -0,0 +1,59 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DWGREADER27_H
+#define DWGREADER27_H
+
+#include <map>
+#include <list>
+#include "drw_textcodec.h"
+#include "dwgbuffer.h"
+#include "dwgreader18.h"
+
+class dwgReader27 : public dwgReader18
+{
+  public:
+    dwgReader27( std::ifstream *stream, dwgR *p ): dwgReader18( stream, p ) { }
+    virtual ~dwgReader27() {}
+    bool readFileHeader();
+    bool readDwgHeader( DRW_Header& hdr );
+    bool readDwgClasses();
+//    bool readDwgHandles(){return false;}
+//    bool readDwgTables(){return false;}
+    bool readDwgBlocks( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      dwgBuffer dataBuf( objData, uncompSize, &decoder );
+      ret = dwgReader::readDwgBlocks( intfa, &dataBuf );
+      return ret;
+    }
+    virtual bool readDwgEntities( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      dwgBuffer dataBuf( objData, uncompSize, &decoder );
+      ret = dwgReader::readDwgEntities( intfa, &dataBuf );
+      return ret;
+    }
+    virtual bool readDwgObjects( DRW_Interface& intfa )
+    {
+      bool ret = true;
+      dwgBuffer dataBuf( objData, uncompSize, &decoder );
+      ret = dwgReader::readDwgObjects( intfa, &dataBuf );
+      return ret;
+    }
+//    bool readDwgEntity(objHandle& obj, DRW_Interface& intfa){
+//        DRW_UNUSED(obj);
+//        DRW_UNUSED(intfa);
+//        return false;}
+};
+
+#endif // DWGREADER21_H
diff --git a/src/app/dwg/libdxfrw/intern/dwgutil.cpp b/src/app/dwg/libdxfrw/intern/dwgutil.cpp
new file mode 100644
index 0000000..76dfda9
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgutil.cpp
@@ -0,0 +1,794 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <sstream>
+#include "drw_dbg.h"
+#include "dwgutil.h"
+#include "rscodec.h"
+#include "../libdwgr.h"
+
+#include "qgslogger.h"
+
+/** Utility function
+ * convert a int to string in hex
+ **/
+namespace DRW
+{
+  std::string toHexStr( int n )
+  {
+#if defined(__APPLE__)
+    char buffer[9] = {'\0'};
+    snprintf( buffer, 9, "%X", n );
+    return std::string( buffer );
+#else
+    std::ostringstream Convert;
+    Convert << std::uppercase << std::hex << n;
+    return Convert.str();
+#endif
+  }
+}
+
+/**
+ * @brief dwgRSCodec::decode239I
+ * @param in : input data (at least 255*blk bytes)
+ * @param out : output data (at least 239*blk bytes)
+ * @param blk number of codewords ( 1 cw == 255 bytes)
+ */
+void dwgRSCodec::decode239I( unsigned char *in, unsigned char *out, duint32 blk )
+{
+  int k = 0;
+  unsigned char data[255];
+  RScodec rsc( 0x96, 8, 8 ); //(255, 239)
+  for ( duint32 i = 0; i < blk; i++ )
+  {
+    k = i;
+    for ( int j = 0; j < 255; j++ )
+    {
+      data[j] = in[k];
+      k += blk;
+    }
+    int r = rsc.decode( data );
+    if ( r < 0 )
+    {
+      QgsDebugMsg( "WARNING: can't correct all errors" );
+    }
+    k = i * 239;
+    for ( int j = 0; j < 239; j++ )
+    {
+      out[k++] = data[j];
+    }
+  }
+}
+
+/**
+ * @brief dwgRSCodec::decode251I
+ * @param in : input data (at least 255*blk bytes)
+ * @param out : output data (at least 251*blk bytes)
+ * @param blk number of codewords ( 1 cw == 255 bytes)
+ */
+void dwgRSCodec::decode251I( unsigned char *in, unsigned char *out, duint32 blk )
+{
+  int k = 0;
+  unsigned char data[255];
+  RScodec rsc( 0xB8, 8, 2 ); //(255, 251)
+  for ( duint32 i = 0; i < blk; i++ )
+  {
+    k = i;
+    for ( int j = 0; j < 255; j++ )
+    {
+      data[j] = in[k];
+      k += blk;
+    }
+    int r = rsc.decode( data );
+    if ( r < 0 )
+    {
+      QgsDebugMsg( "WARNING: dwgRSCodec::decode251I, can't correct all errors" );
+    }
+    k = i * 251;
+    for ( int j = 0; j < 251; j++ )
+    {
+      out[k++] = data[j];
+    }
+  }
+}
+
+duint32 dwgCompressor::twoByteOffset( duint32 *ll )
+{
+  duint32 cont = 0;
+  duint8 fb = bufC[pos++];
+  cont = ( fb >> 2 ) | ( bufC[pos++] << 6 );
+  *ll = ( fb & 0x03 );
+  return cont;
+}
+
+duint32 dwgCompressor::longCompressionOffset()
+{
+  duint32 cont = 0;
+  duint8 ll = bufC[pos++];
+  while ( ll == 0x00 )
+  {
+    cont += 0xFF;
+    ll = bufC[pos++];
+  }
+  cont += ll;
+  return cont;
+}
+
+duint32 dwgCompressor::long20CompressionOffset()
+{
+//    duint32 cont = 0;
+  duint32 cont = 0x0F;
+  duint8 ll = bufC[pos++];
+  while ( ll == 0x00 )
+  {
+//        cont += 0xFF;
+    ll = bufC[pos++];
+  }
+  cont += ll;
+  return cont;
+}
+
+duint32 dwgCompressor::litLength18()
+{
+  duint32 cont = 0;
+  duint8 ll = bufC[pos++];
+  //no literal length, this byte is next opCode
+  if ( ll > 0x0F )
+  {
+    pos--;
+    return 0;
+  }
+
+  if ( ll == 0x00 )
+  {
+    cont = 0x0F;
+    ll = bufC[pos++];
+    while ( ll == 0x00 ) //repeat until ll != 0x00
+    {
+      cont += 0xFF;
+      ll = bufC[pos++];
+    }
+  }
+  cont += ll;
+  cont += 3; //already sum 3
+  return cont;
+}
+
+void dwgCompressor::decompress18( duint8 *cbuf, duint8 *dbuf, duint32 csize, duint32 dsize )
+{
+  bufC = cbuf;
+  bufD = dbuf;
+  sizeC = csize - 2;
+  sizeD = dsize;
+  QgsDebugMsgLevel( QString( "last 2 bytes: 0x%1 0x%2" ).arg( bufC[sizeC], 0, 16 ).arg( bufC[sizeC+1], 0, 16 ), 5 );
+  sizeC = csize;
+
+  duint32 compBytes;
+  duint32 compOffset;
+  duint32 litCount;
+
+  pos = 0; //current position in compressed buffer
+  rpos = 0; //current position in resulting decompressed buffer
+  litCount = litLength18();
+  //copy first lileral lenght
+  for ( duint32 i = 0; i < litCount; ++i )
+  {
+    bufD[rpos++] = bufC[pos++];
+  }
+
+  while ( pos < csize && ( rpos < dsize + 1 ) ) //rpos < dsize to prevent crash more robust are needed
+  {
+    duint8 oc = bufC[pos++]; //next opcode
+    if ( oc == 0x10 )
+    {
+      compBytes = longCompressionOffset() + 9;
+      compOffset = twoByteOffset( &litCount ) + 0x3FFF;
+      if ( litCount == 0 )
+        litCount = litLength18();
+    }
+    else if ( oc > 0x11 && oc < 0x20 )
+    {
+      compBytes = ( oc & 0x0F ) + 2;
+      compOffset = twoByteOffset( &litCount ) + 0x3FFF;
+      if ( litCount == 0 )
+        litCount = litLength18();
+    }
+    else if ( oc == 0x20 )
+    {
+      compBytes = longCompressionOffset() + 0x21;
+      compOffset = twoByteOffset( &litCount );
+      if ( litCount == 0 )
+        litCount = litLength18();
+      else
+        oc = 0x00;
+    }
+    else if ( oc > 0x20 && oc < 0x40 )
+    {
+      compBytes = oc - 0x1E;
+      compOffset = twoByteOffset( &litCount );
+      if ( litCount == 0 )
+        litCount = litLength18();
+    }
+    else if ( oc > 0x3F )
+    {
+      compBytes = (( oc & 0xF0 ) >> 4 ) - 1;
+      duint8 ll2 = bufC[pos++];
+      compOffset = ( ll2 << 2 ) | (( oc & 0x0C ) >> 2 );
+      litCount = oc & 0x03;
+      if ( litCount < 1 )
+      {
+        litCount = litLength18();
+      }
+    }
+    else if ( oc == 0x11 )
+    {
+      QgsDebugMsgLevel( QString( "end of input stream, Cpos:%1, Dpos:%2" ).arg( pos ).arg( rpos ), 5 );
+      return; //end of input stream
+    }
+    else   //ll < 0x10
+    {
+      QgsDebugMsg( QString( "failed illegal char, Cpos:%1, Dpos:%2" ).arg( pos ).arg( rpos ) );
+      return; //fails, not valid
+    }
+    //copy "compressed data", TODO Needed verify out of bounds
+    duint32 remaining = sizeD - ( litCount + rpos );
+    if ( remaining < compBytes )
+    {
+      compBytes = remaining;
+      QgsDebugMsg( QString( "bad compBytes size, Cpos:%1, Dpos:%2" ).arg( pos ).arg( rpos ) );
+    }
+    for ( duint32 i = 0, j = rpos - compOffset - 1; i < compBytes; i++ )
+    {
+      bufD[rpos++] = bufD[j++];
+    }
+    //copy "uncompressed data", TODO Needed verify out of bounds
+    for ( duint32 i = 0; i < litCount; i++ )
+    {
+      bufD[rpos++] = bufC[pos++];
+    }
+  }
+  QgsDebugMsg( QString( "bad out, Cpos:%1, Dpos:%2" ).arg( pos ).arg( rpos ) );
+}
+
+
+void dwgCompressor::decrypt18Hdr( duint8 *buf, duint32 size, duint32 offset )
+{
+  duint8 max = size / 4;
+  duint32 secMask = 0x4164536b ^ offset;
+  duint32* pHdr = ( duint32* )buf;
+  for ( duint8 j = 0; j < max; j++ )
+    *pHdr++ ^= secMask;
+}
+
+/*void dwgCompressor::decrypt18Data(duint8 *buf, duint32 size, duint32 offset){
+    duint8 max = size / 4;
+    duint32 secMask = 0x4164536b ^ offset;
+    duint32* pHdr = (duint32*)buf;
+    for (duint8 j = 0; j < max; j++)
+        *pHdr++ ^= secMask;
+}*/
+
+duint32 dwgCompressor::litLength21( duint8 *cbuf, duint8 oc, duint32 *si )
+{
+
+  duint32 srcIndex = *si;
+
+  duint32 length = oc + 8;
+  if ( length == 0x17 )
+  {
+    duint32 n = cbuf[srcIndex++];
+    length += n;
+    if ( n == 0xff )
+    {
+      do
+      {
+        n = cbuf[srcIndex++];
+        n |= ( duint32 )( cbuf[srcIndex++] << 8 );
+        length += n;
+      }
+      while ( n == 0xffff );
+    }
+  }
+
+  *si = srcIndex;
+  return length;
+}
+
+void dwgCompressor::decompress21( duint8 *cbuf, duint8 *dbuf, duint32 csize, duint32 dsize )
+{
+  duint32 srcIndex = 0;
+  duint32 dstIndex = 0;
+  duint32 length = 0;
+  duint32 sourceOffset;
+  duint8 opCode;
+
+  opCode = cbuf[srcIndex++];
+  if (( opCode >> 4 ) == 2 )
+  {
+    srcIndex = srcIndex + 2;
+    length = cbuf[srcIndex++] & 0x07;
+  }
+
+  while ( srcIndex < csize && ( dstIndex < dsize + 1 ) ) //dstIndex < dsize to prevent crash more robust are needed
+  {
+    if ( length == 0 )
+      length = litLength21( cbuf, opCode, &srcIndex );
+    copyCompBytes21( cbuf, dbuf, length, srcIndex, dstIndex );
+    srcIndex += length;
+    dstIndex += length;
+    if ( dstIndex >= dsize ) break; //check if last chunk are compressed & terminate
+
+    length = 0;
+    opCode = cbuf[srcIndex++];
+    readInstructions21( cbuf, &srcIndex, &opCode, &sourceOffset, &length );
+    while ( true )
+    {
+      //prevent crash with corrupted data
+      if ( sourceOffset > dstIndex )
+      {
+        QgsDebugMsg( QString( "WARNING sourceOffset > dstIndex: csize=%1, srcIndex=%2 dsize=%3 dstIndex=%4" )
+                     .arg( csize ).arg( srcIndex ).arg( dsize ).arg( dstIndex )
+                   );
+        sourceOffset = dstIndex;
+      }
+      //prevent crash with corrupted data
+      if ( length > dsize - dstIndex )
+      {
+        QgsDebugMsg( QString( "WARNING length > dsize - dstIndex: csize=%1, srcIndex=%2 dsize=%3 dstIndex=%4" )
+                     .arg( csize ).arg( srcIndex ).arg( dsize ).arg( dstIndex )
+                   );
+        length = dsize - dstIndex;
+        srcIndex = csize;//force exit
+      }
+      sourceOffset = dstIndex - sourceOffset;
+      for ( duint32 i = 0; i < length; i++ )
+        dbuf[dstIndex++] = dbuf[sourceOffset+i];
+
+      length = opCode & 7;
+      if (( length != 0 ) || ( srcIndex >= csize ) )
+      {
+        break;
+      }
+      opCode = cbuf[srcIndex++];
+      if (( opCode >> 4 ) == 0 )
+      {
+        break;
+      }
+      if (( opCode >> 4 ) == 15 )
+      {
+        opCode &= 15;
+      }
+      readInstructions21( cbuf, &srcIndex, &opCode, &sourceOffset, &length );
+    }
+  }
+  QgsDebugMsg( QString( "csize=%1, srcIndex=%2 dsize=%3 dstIndex=%4" )
+               .arg( csize ).arg( srcIndex ).arg( dsize ).arg( dstIndex )
+             );
+}
+
+void dwgCompressor::readInstructions21( duint8 *cbuf, duint32 *si, duint8 *oc, duint32 *so, duint32 *l )
+{
+  duint32 length;
+  duint32 srcIndex = *si;
+  duint32 sourceOffset;
+  unsigned char opCode = *oc;
+  switch (( opCode >> 4 ) )
+  {
+    case 0:
+      length = ( opCode & 0xf ) + 0x13;
+      sourceOffset = cbuf[srcIndex++];
+      opCode = cbuf[srcIndex++];
+      length = (( opCode >> 3 ) & 0x10 ) + length;
+      sourceOffset = (( opCode & 0x78 ) << 5 ) + 1 + sourceOffset;
+      break;
+    case 1:
+      length = ( opCode & 0xf ) + 3;
+      sourceOffset = cbuf[srcIndex++];
+      opCode = cbuf[srcIndex++];
+      sourceOffset = (( opCode & 0xf8 ) << 5 ) + 1 + sourceOffset;
+      break;
+    case 2:
+      sourceOffset = cbuf[srcIndex++];
+      sourceOffset = (( cbuf[srcIndex++] << 8 ) & 0xff00 ) | sourceOffset;
+      length = opCode & 7;
+      if (( opCode & 8 ) == 0 )
+      {
+        opCode = cbuf[srcIndex++];
+        length = ( opCode & 0xf8 ) + length;
+      }
+      else
+      {
+        sourceOffset++;
+        length = ( cbuf[srcIndex++] << 3 ) + length;
+        opCode = cbuf[srcIndex++];
+        length = ((( opCode & 0xf8 ) << 8 ) + length ) + 0x100;
+      }
+      break;
+    default:
+      length = opCode >> 4;
+      sourceOffset = opCode & 15;
+      opCode = cbuf[srcIndex++];
+      sourceOffset = ((( opCode & 0xf8 ) << 1 ) + sourceOffset ) + 1;
+      break;
+  }
+  *oc = opCode;
+  *si = srcIndex;
+  *so = sourceOffset;
+  *l = length;
+}
+
+
+void dwgCompressor::copyCompBytes21( duint8 *cbuf, duint8 *dbuf, duint32 l, duint32 si, duint32 di )
+{
+  duint32 length = l;
+  duint32 dix = di;
+  duint32 six = si;
+
+  while ( length > 31 )
+  {
+    //in doc: 16-31, 0-15
+    for ( duint32 i = six + 24; i < six + 32; i++ )
+      dbuf[dix++] = cbuf[i];
+    for ( duint32 i = six + 16; i < six + 24; i++ )
+      dbuf[dix++] = cbuf[i];
+    for ( duint32 i = six + 8; i < six + 16; i++ )
+      dbuf[dix++] = cbuf[i];
+    for ( duint32 i = six; i < six + 8; i++ )
+      dbuf[dix++] = cbuf[i];
+    six = six + 32;
+    length = length - 32;
+  }
+
+  switch ( length )
+  {
+    case 0:
+      break;
+    case 1: //Ok
+      dbuf[dix] = cbuf[six];
+      break;
+    case 2: //Ok
+      dbuf[dix++] = cbuf[six+1];
+      dbuf[dix] = cbuf[six];
+      break;
+    case 3: //Ok
+      dbuf[dix++] = cbuf[six+2];
+      dbuf[dix++] = cbuf[six+1];
+      dbuf[dix] = cbuf[six];
+      break;
+    case 4: //Ok
+      for ( int i = 0; i < 4;i++ ) //RLZ is OK, or are inverse?, OK
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 5: //Ok
+      dbuf[dix++] = cbuf[six+4];
+      for ( int i = 0; i < 4;i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 6: //Ok
+      dbuf[dix++] = cbuf[six+5];
+      for ( int i = 1; i < 5;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix] = cbuf[six];
+      break;
+    case 7:
+      //in doc: six+5, six+6, 1-5, six+0
+      dbuf[dix++] = cbuf[six+6];
+      dbuf[dix++] = cbuf[six+5];
+      for ( int i = 1; i < 5;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix] = cbuf[six];
+    case 8: //Ok
+      for ( int i = 0; i < 8;i++ ) //RLZ 4[0],4[4] or 4[4],4[0]
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 9: //Ok
+      dbuf[dix++] = cbuf[six+8];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 10: //Ok
+      dbuf[dix++] = cbuf[six+9];
+      for ( int i = 1; i < 9;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix] = cbuf[six];
+      break;
+    case 11:
+      //in doc: six+9, six+10, 1-9, six+0
+      dbuf[dix++] = cbuf[six+10];
+      dbuf[dix++] = cbuf[six+9];
+      for ( int i = 1; i < 9;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix] = cbuf[six];
+      break;
+    case 12: //Ok
+      for ( int i = 8; i < 12;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 13: //Ok
+      dbuf[dix++] = cbuf[six+12];
+      for ( int i = 8; i < 12;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 14: //Ok
+      dbuf[dix++] = cbuf[six+13];
+      for ( int i = 9; i < 13; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 1; i < 9; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix] = cbuf[six];
+      break;
+    case 15:
+      //in doc: six+13, six+14, 9-12, 1-8, six+0
+      dbuf[dix++] = cbuf[six+14];
+      dbuf[dix++] = cbuf[six+13];
+      for ( int i = 9; i < 13; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 1; i < 9; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix] = cbuf[six];
+      break;
+    case 16: //Ok
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 17: //Seems Ok
+      for ( int i = 9; i < 17;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix++] = cbuf[six+8];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 18:
+      //in doc: six+17, 1-16, six+0
+      dbuf[dix++] = cbuf[six+17];
+      for ( int i = 9; i < 17;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 1; i < 9;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix] = cbuf[six];
+      break;
+    case 19:
+      //in doc: 16-18, 0-15
+      dbuf[dix++] = cbuf[six+18];
+      dbuf[dix++] = cbuf[six+17];
+      dbuf[dix++] = cbuf[six+16];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 20:
+      //in doc: 16-19, 0-15
+      for ( int i = 16; i < 20;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 21:
+      //in doc: six+20, 16-19, 0-15
+      dbuf[dix++] = cbuf[six+20];
+      for ( int i = 16; i < 20;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      break;
+    case 22:
+      //in doc: six+20, six+21, 16-19, 0-15
+      dbuf[dix++] = cbuf[six+21];
+      dbuf[dix++] = cbuf[six+20];
+      for ( int i = 16; i < 20;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 23:
+      //in doc: six+20, six+21, six+22, 16-19, 0-15
+      dbuf[dix++] = cbuf[six+22];
+      dbuf[dix++] = cbuf[six+21];
+      dbuf[dix++] = cbuf[six+20];
+      for ( int i = 16; i < 20;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      break;
+    case 24:
+      //in doc: 16-23, 0-15
+      for ( int i = 16; i < 24;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8; i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 25:
+      //in doc: 17-24, six+16, 0-15
+      for ( int i = 17; i < 25;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix++] = cbuf[six+16];
+      for ( int i = 8; i < 16; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8; i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 26:
+      //in doc: six+25, 17-24, six+16, 0-15
+      dbuf[dix++] = cbuf[six+25];
+      for ( int i = 17; i < 25;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix++] = cbuf[six+16];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8; i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 27:
+      //in doc: six+25, six+26, 17-24, six+16, 0-15
+      dbuf[dix++] = cbuf[six+26];
+      dbuf[dix++] = cbuf[six+25];
+      for ( int i = 17; i < 25;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix++] = cbuf[six+16];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8; i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 28:
+      //in doc: 24-27, 16-23, 0-15
+      for ( int i = 24; i < 28; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 16; i < 24;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 8; i < 16; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8; i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 29:
+      //in doc: six+28, 24-27, 16-23, 0-15
+      dbuf[dix++] = cbuf[six+28];
+      for ( int i = 24; i < 28; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 16; i < 24;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8; i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 30:
+      //in doc: six+28, six+29, 24-27, 16-23, 0-15
+      dbuf[dix++] = cbuf[six+29];
+      dbuf[dix++] = cbuf[six+28];
+      for ( int i = 24; i < 28; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 16; i < 24;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 8; i < 16;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 0; i < 8; i++ )
+        dbuf[dix++] = cbuf[six++];
+      break;
+    case 31:
+      //in doc: six+30, 26-29, 18-25, 2-17, 0-1
+      dbuf[dix++] = cbuf[six+30];
+      for ( int i = 26; i < 30;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 18; i < 26;i++ )
+        dbuf[dix++] = cbuf[six+i];
+      /*        for (int i = 2; i<18; i++)
+                  dbuf[dix++] = cbuf[six+i];*/
+      for ( int i = 10; i < 18; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      for ( int i = 2; i < 10; i++ )
+        dbuf[dix++] = cbuf[six+i];
+      dbuf[dix++] = cbuf[six+1];
+      dbuf[dix] = cbuf[six];
+      break;
+    default:
+      QgsDebugMsg( "WARNING bad output." );
+      break;
+  }
+}
+
+
+secEnum::DWGSection secEnum::getEnum( std::string nameSec )
+{
+  //TODO: complete it
+  if ( nameSec == "AcDb:Header" )
+  {
+    return HEADER;
+  }
+  else if ( nameSec == "AcDb:Classes" )
+  {
+    return CLASSES;
+  }
+  else if ( nameSec == "AcDb:SummaryInfo" )
+  {
+    return SUMARYINFO;
+  }
+  else if ( nameSec == "AcDb:Preview" )
+  {
+    return PREVIEW;
+  }
+  else if ( nameSec == "AcDb:VBAProject" )
+  {
+    return VBAPROY;
+  }
+  else if ( nameSec == "AcDb:AppInfo" )
+  {
+    return APPINFO;
+  }
+  else if ( nameSec == "AcDb:FileDepList" )
+  {
+    return FILEDEP;
+  }
+  else if ( nameSec == "AcDb:RevHistory" )
+  {
+    return REVHISTORY;
+  }
+  else if ( nameSec == "AcDb:Security" )
+  {
+    return SECURITY;
+  }
+  else if ( nameSec == "AcDb:AcDbObjects" )
+  {
+    return OBJECTS;
+  }
+  else if ( nameSec == "AcDb:ObjFreeSpace" )
+  {
+    return OBJFREESPACE;
+  }
+  else if ( nameSec == "AcDb:Template" )
+  {
+    return TEMPLATE;
+  }
+  else if ( nameSec == "AcDb:Handles" )
+  {
+    return HANDLES;
+  }
+  else if ( nameSec == "AcDb:AcDsPrototype_1b" )
+  {
+    return PROTOTYPE;
+  }
+  else if ( nameSec == "AcDb:AuxHeader" )
+  {
+    return AUXHEADER;
+  }
+  else if ( nameSec == "AcDb:Signature" )
+  {
+    return SIGNATURE;
+  }
+  else if ( nameSec == "AcDb:AppInfoHistory" )  //in ac1021
+  {
+    return APPINFOHISTORY;
+//    } else if (nameSec=="AcDb:Extended Entity Data"){
+//        return EXTEDATA;
+//    } else if (nameSec=="AcDb:PROXY ENTITY GRAPHICS"){
+//        return PROXYGRAPHICS;
+  }
+  return UNKNOWNS;
+}
diff --git a/src/app/dwg/libdxfrw/intern/dwgutil.h b/src/app/dwg/libdxfrw/intern/dwgutil.h
new file mode 100644
index 0000000..53b9362
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dwgutil.h
@@ -0,0 +1,104 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DWGUTIL_H
+#define DWGUTIL_H
+
+#include "../drw_base.h"
+
+namespace DRW
+{
+  std::string toHexStr( int n );
+}
+
+class dwgRSCodec
+{
+  public:
+    dwgRSCodec() {}
+    ~dwgRSCodec() {}
+    static void decode239I( duint8 *in, duint8 *out, duint32 blk );
+    static void decode251I( duint8 *in, duint8 *out, duint32 blk );
+};
+
+class dwgCompressor
+{
+  public:
+    dwgCompressor()
+        : bufC( nullptr )
+        , bufD( nullptr )
+        , sizeC( 0 )
+        , sizeD( 0 )
+        , pos( 0 )
+        , rpos( 0 )
+    {}
+
+    ~dwgCompressor() {}
+
+    void decompress18( duint8 *cbuf, duint8 *dbuf, duint32 csize, duint32 dsize );
+    static void decrypt18Hdr( duint8 *buf, duint32 size, duint32 offset );
+//  static void decrypt18Data(duint8 *buf, duint32 size, duint32 offset);
+    static void decompress21( duint8 *cbuf, duint8 *dbuf, duint32 csize, duint32 dsize );
+
+  private:
+    duint32 litLength18();
+    static duint32 litLength21( duint8 *cbuf, duint8 oc, duint32 *si );
+    static void copyCompBytes21( duint8 *cbuf, duint8 *dbuf, duint32 l, duint32 si, duint32 di );
+    static void readInstructions21( duint8 *cbuf, duint32 *si, duint8 *oc, duint32 *so, duint32 *l );
+
+    duint32 longCompressionOffset();
+    duint32 long20CompressionOffset();
+    duint32 twoByteOffset( duint32 *ll );
+
+    duint8 *bufC;
+    duint8 *bufD;
+    duint32 sizeC;
+    duint32 sizeD;
+    duint32 pos;
+    duint32 rpos;
+
+};
+
+class secEnum
+{
+  public:
+    enum DWGSection
+    {
+      UNKNOWNS,      /*!< UNKNOWN section. */
+      FILEHEADER,    /*!< File Header (in R3-R15*/
+      HEADER,        /*!< AcDb:Header */
+      CLASSES,       /*!< AcDb:Classes */
+      SUMARYINFO,    /*!< AcDb:SummaryInfo */
+      PREVIEW,       /*!< AcDb:Preview */
+      VBAPROY,       /*!< AcDb:VBAProject */
+      APPINFO,       /*!< AcDb:AppInfo */
+      FILEDEP,       /*!< AcDb:FileDepList */
+      REVHISTORY,    /*!< AcDb:RevHistory */
+      SECURITY,      /*!< AcDb:Security */
+      OBJECTS,       /*!< AcDb:AcDbObjects */
+      OBJFREESPACE,  /*!< AcDb:ObjFreeSpace */
+      TEMPLATE,      /*!< AcDb:Template */
+      HANDLES,       /*!< AcDb:Handles */
+      PROTOTYPE,     /*!< AcDb:AcDsPrototype_1b */
+      AUXHEADER,     /*!< AcDb:AuxHeader, in (R13-R15) second file header */
+      SIGNATURE,     /*!< AcDb:Signature */
+      APPINFOHISTORY,     /*!< AcDb:AppInfoHistory (in ac1021 may be a renamed section?*/
+      EXTEDATA,      /*!< Extended Entity Data */
+      PROXYGRAPHICS /*!< PROXY ENTITY GRAPHICS */
+    };
+
+    secEnum() {}
+    ~secEnum() {}
+
+    static DWGSection getEnum( std::string nameSec );
+};
+
+#endif // DWGUTIL_H
diff --git a/src/app/dwg/libdxfrw/intern/dxfreader.cpp b/src/app/dwg/libdxfrw/intern/dxfreader.cpp
new file mode 100644
index 0000000..bc121f1
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dxfreader.cpp
@@ -0,0 +1,312 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <cstdlib>
+#include <fstream>
+#include <string>
+#include <sstream>
+
+#include "dxfreader.h"
+#include "drw_textcodec.h"
+
+#include "qgslogger.h"
+
+
+bool dxfReader::readRec( int *codeData )
+{
+//    std::string text;
+  int code;
+
+  if ( !readCode( &code ) )
+    return false;
+  *codeData = code;
+
+  if ( code < 10 )
+    readString();
+  else if ( code < 60 )
+    readDouble();
+  else if ( code < 80 )
+    readInt16();
+  else if ( code > 89 && code < 100 ) //TODO this is an int 32b
+    readInt32();
+  else if ( code == 100 || code == 102 || code == 105 )
+    readString();
+  else if ( code > 109 && code < 150 ) //skip not used at the v2012
+    readDouble();
+  else if ( code > 159 && code < 170 ) //skip not used at the v2012
+    readInt64();
+  else if ( code < 180 )
+    readInt16();
+  else if ( code > 209 && code < 240 ) //skip not used at the v2012
+    readDouble();
+  else if ( code > 269 && code < 290 ) //skip not used at the v2012
+    readInt16();
+  else if ( code < 300 ) //TODO this is a boolean indicator, int in Binary?
+    readBool();
+  else if ( code < 370 )
+    readString();
+  else if ( code < 390 )
+    readInt16();
+  else if ( code < 400 )
+    readString();
+  else if ( code < 410 )
+    readInt16();
+  else if ( code < 420 )
+    readString();
+  else if ( code < 430 ) //TODO this is an int 32b
+    readInt32();
+  else if ( code < 440 )
+    readString();
+  else if ( code < 450 ) //TODO this is an int 32b
+    readInt32();
+  else if ( code < 460 ) //TODO this is long??
+    readInt32();
+  else if ( code < 470 ) //TODO this is a floating point double precision??
+    readDouble();
+  else if ( code < 481 )
+    readString();
+  else if ( code > 998 && code < 1009 ) //skip not used at the v2012
+    readString();
+  else if ( code < 1060 ) //TODO this is a floating point double precision??
+    readDouble();
+  else if ( code < 1071 )
+    readInt16();
+  else if ( code == 1071 ) //TODO this is an int 32b
+    readInt32();
+  else if ( skip )
+    //skip safely this dxf entry ( ok for ascii dxf)
+    readString();
+  else
+    //break in binary files because the conduct is unpredictable
+    return false;
+
+  return filestr->good();
+}
+int dxfReader::getHandleString()
+{
+  int res;
+#if defined(__APPLE__)
+  int Succeeded = sscanf( strData.c_str(), "%x", &res );
+  if ( !Succeeded || Succeeded == EOF )
+    res = 0;
+#else
+  std::istringstream Convert( strData );
+  if ( !( Convert >> std::hex >> res ) )
+    res = 0;
+#endif
+  return res;
+}
+
+bool dxfReaderBinary::readCode( int *code )
+{
+  unsigned short *int16p;
+  char buffer[2];
+  filestr->read( buffer, 2 );
+  int16p = ( unsigned short * ) buffer;
+//exist a 32bits int (code 90) with 2 bytes???
+  if (( *code == 90 ) && ( *int16p > 2000 ) )
+  {
+    QgsDebugMsg( QString( "%1 de 16bits" ).arg( *code ) );
+
+    filestr->seekg( -4, std::ios_base::cur );
+    filestr->read( buffer, 2 );
+    int16p = ( unsigned short * ) buffer;
+  }
+  *code = *int16p;
+  QgsDebugMsg( QString( "%1" ).arg( *code ) );
+
+  return filestr->good();
+}
+
+bool dxfReaderBinary::readString()
+{
+  type = STRING;
+  std::getline( *filestr, strData, '\0' );
+
+  QgsDebugMsg( QString( "%1" ).arg( strData.c_str() ) );
+
+  return filestr->good();
+}
+
+bool dxfReaderBinary::readString( std::string *text )
+{
+  type = STRING;
+  std::getline( *filestr, *text, '\0' );
+
+  QgsDebugMsg( QString( "%1" ).arg( text->c_str() ) );
+
+  return filestr->good();
+}
+
+bool dxfReaderBinary::readInt16()
+{
+  type = INT32;
+  char buffer[2];
+  filestr->read( buffer, 2 );
+  intData = ( int )(( buffer[1] << 8 ) | buffer[0] );
+
+  QgsDebugMsg( QString( "%1" ).arg( intData ) );
+
+  return filestr->good();
+}
+
+bool dxfReaderBinary::readInt32()
+{
+  type = INT32;
+  unsigned int *int32p;
+  char buffer[4];
+  filestr->read( buffer, 4 );
+  int32p = ( unsigned int * ) buffer;
+  intData = *int32p;
+
+  QgsDebugMsg( QString( "%1" ).arg( intData ) );
+
+  return filestr->good();
+}
+
+bool dxfReaderBinary::readInt64()
+{
+  type = INT64;
+  unsigned long long int *int64p; //64 bits integer pointer
+  char buffer[8];
+  filestr->read( buffer, 8 );
+  int64p = ( unsigned long long int * ) buffer;
+  int64 = *int64p;
+
+  QgsDebugMsg( QString( "%1 int64" ).arg( int64 ) );
+
+  return filestr->good();
+}
+
+bool dxfReaderBinary::readDouble()
+{
+  type = DOUBLE;
+  filestr->read(( char* ) &doubleData, sizeof doubleData );
+
+  QgsDebugMsg( QString( "%1" ).arg( doubleData ) );
+
+  return filestr->good();
+}
+
+//saved as int or add a bool member??
+bool dxfReaderBinary::readBool()
+{
+  char buffer;
+  filestr->read( &buffer, 1 );
+  intData = buffer;
+
+  QgsDebugMsg( QString( "%1" ).arg( intData ) );
+
+  return filestr->good();
+}
+
+bool dxfReaderAscii::readCode( int *code )
+{
+  std::string text;
+  std::getline( *filestr, text );
+  *code = atoi( text.c_str() );
+
+  QgsDebugMsg( QString( "%1" ).arg( *code ) );
+
+  return filestr->good();
+}
+bool dxfReaderAscii::readString( std::string *text )
+{
+  type = STRING;
+  std::getline( *filestr, *text );
+  if ( !text->empty() && text->at( text->size() - 1 ) == '\r' )
+    text->erase( text->size() - 1 );
+
+  return filestr->good();
+}
+
+bool dxfReaderAscii::readString()
+{
+  type = STRING;
+  std::getline( *filestr, strData );
+  if ( !strData.empty() && strData.at( strData.size() - 1 ) == '\r' )
+    strData.erase( strData.size() - 1 );
+
+  QgsDebugMsg( QString( "%1" ).arg( strData.c_str() ) );
+
+  return filestr->good();
+}
+
+bool dxfReaderAscii::readInt16()
+{
+  type = INT32;
+  std::string text;
+  if ( readString( &text ) )
+  {
+    intData = atoi( text.c_str() );
+
+    QgsDebugMsg( QString( "%1" ).arg( intData ) );
+
+    return true;
+  }
+  else
+    return false;
+}
+
+bool dxfReaderAscii::readInt32()
+{
+  type = INT32;
+  return readInt16();
+}
+
+bool dxfReaderAscii::readInt64()
+{
+  type = INT64;
+  return readInt16();
+}
+
+bool dxfReaderAscii::readDouble()
+{
+  type = DOUBLE;
+  std::string text;
+  if ( readString( &text ) )
+  {
+#if defined(__APPLE__)
+    int succeeded = sscanf( & ( text[0] ), "%lg", &doubleData );
+    if ( succeeded != 1 )
+    {
+      QgsDebugMsg( QString( "reading double error:%1" ).arg( text.c_str() ) );
+    }
+#else
+    std::istringstream sd( text );
+    sd >> doubleData;
+    QgsDebugMsg( QString( "%1" ).arg( doubleData ) );
+#endif
+    return true;
+  }
+  else
+  {
+    return false;
+  }
+}
+
+//saved as int or add a bool member??
+bool dxfReaderAscii::readBool()
+{
+  type = BOOL;
+  std::string text;
+  if ( readString( &text ) )
+  {
+    intData = atoi( text.c_str() );
+    QgsDebugMsg( QString( "%1" ).arg( intData ) );
+    return true;
+  }
+  else
+  {
+    return false;
+  }
+}
diff --git a/src/app/dwg/libdxfrw/intern/dxfreader.h b/src/app/dwg/libdxfrw/intern/dxfreader.h
new file mode 100644
index 0000000..0db0753
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dxfreader.h
@@ -0,0 +1,112 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DXFREADER_H
+#define DXFREADER_H
+
+#include "drw_textcodec.h"
+
+class dxfReader
+{
+  public:
+    enum TYPE
+    {
+      STRING,
+      INT32,
+      INT64,
+      DOUBLE,
+      BOOL,
+      INVALID
+    };
+    enum TYPE type;
+  public:
+    explicit dxfReader( std::ifstream *stream, bool aSkip = false )
+        : doubleData( 0. )
+        , intData( 0 )
+        , int64( 0 )
+        , skip( aSkip )
+    {
+      filestr = stream;
+      type = INVALID;
+    }
+    virtual ~dxfReader() {}
+    bool readRec( int *code );
+
+    std::string getString() {return strData;}
+    int getHandleString();//Convert hex string to int
+    std::string toUtf8String( std::string t ) {return decoder.toUtf8( t );}
+    std::string getUtf8String() {return decoder.toUtf8( strData );}
+    double getDouble() {return doubleData;}
+    int getInt32() {return intData;}
+    unsigned long long int getInt64() {return int64;}
+    bool getBool() { return ( intData == 0 ) ? false : true;}
+    int getVersion() {return decoder.getVersion();}
+    void setVersion( std::string *v, bool dxfFormat ) {decoder.setVersion( v, dxfFormat );}
+    void setCodePage( std::string *c ) {decoder.setCodePage( c, true );}
+    std::string getCodePage() { return decoder.getCodePage();}
+
+  protected:
+    virtual bool readCode( int *code ) = 0; //return true if sucesful (not EOF)
+    virtual bool readString( std::string *text ) = 0;
+    virtual bool readString() = 0;
+    virtual bool readInt16() = 0;
+    virtual bool readInt32() = 0;
+    virtual bool readInt64() = 0;
+    virtual bool readDouble() = 0;
+    virtual bool readBool() = 0;
+
+  protected:
+    std::ifstream *filestr;
+    std::string strData;
+    double doubleData;
+    signed int intData; //32 bits integer
+    unsigned long long int int64; //64 bits integer
+    bool skip; //set to true for ascii dxf, false for binary
+  private:
+    DRW_TextCodec decoder;
+};
+
+class dxfReaderBinary : public dxfReader
+{
+  public:
+    explicit dxfReaderBinary( std::ifstream *stream )
+        : dxfReader( stream, false )
+    {}
+    virtual ~dxfReaderBinary() {}
+    virtual bool readCode( int *code );
+    virtual bool readString( std::string *text );
+    virtual bool readString();
+    virtual bool readInt16();
+    virtual bool readInt32();
+    virtual bool readInt64();
+    virtual bool readDouble();
+    virtual bool readBool();
+};
+
+class dxfReaderAscii : public dxfReader
+{
+  public:
+    explicit dxfReaderAscii( std::ifstream *stream )
+        : dxfReader( stream, true )
+    {}
+    virtual ~dxfReaderAscii() {}
+    virtual bool readCode( int *code );
+    virtual bool readString( std::string *text );
+    virtual bool readString();
+    virtual bool readInt16();
+    virtual bool readDouble();
+    virtual bool readInt32();
+    virtual bool readInt64();
+    virtual bool readBool();
+};
+
+#endif // DXFREADER_H
diff --git a/src/app/dwg/libdxfrw/intern/dxfwriter.cpp b/src/app/dwg/libdxfrw/intern/dxfwriter.cpp
new file mode 100644
index 0000000..a7515f8
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dxfwriter.cpp
@@ -0,0 +1,286 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#include <cstdlib>
+#include <fstream>
+#include <string>
+#include <algorithm>
+#include "dxfwriter.h"
+
+//RLZ TODO change std::endl to x0D x0A (13 10)
+/*bool dxfWriter::readRec(int *codeData, bool skip) {
+//    std::string text;
+    int code;
+
+#ifdef DRW_DBG
+    count = count+2; //DBG
+#endif
+
+    if (!readCode(&code))
+        return false;
+    *codeData = code;
+
+    if (code < 10)
+        readString();
+    else if (code < 60)
+        readDouble();
+    else if (code < 80)
+        readInt();
+    else if (code > 89 && code < 100) //TODO this is an int 32b
+        readInt32();
+    else if (code == 100 || code == 102 || code == 105)
+        readString();
+    else if (code > 109 && code < 150) //skip not used at the v2012
+        readDouble();
+    else if (code > 159 && code < 170) //skip not used at the v2012
+        readInt64();
+    else if (code < 180)
+        readInt();
+    else if (code > 209 && code < 240) //skip not used at the v2012
+        readDouble();
+    else if (code > 269 && code < 290) //skip not used at the v2012
+        readInt();
+    else if (code < 300) //TODO this is a boolean indicator, int in Binary?
+        readBool();
+    else if (code < 370)
+        readString();
+    else if (code < 390)
+        readInt();
+    else if (code < 400)
+        readString();
+    else if (code < 410)
+        readInt();
+    else if (code < 420)
+        readString();
+    else if (code < 430) //TODO this is an int 32b
+        readInt32();
+    else if (code < 440)
+        readString();
+    else if (code < 450) //TODO this is an int 32b
+        readInt32();
+    else if (code < 460) //TODO this is long??
+        readInt();
+    else if (code < 470) //TODO this is a floating point double precision??
+        readDouble();
+    else if (code < 481)
+        readString();
+    else if (code > 998 && code < 1009) //skip not used at the v2012
+        readString();
+    else if (code < 1060) //TODO this is a floating point double precision??
+        readDouble();
+    else if (code < 1071)
+        readInt();
+    else if (code == 1071) //TODO this is an int 32b
+        readInt32();
+    else if (skip)
+        //skip safely this dxf entry ( ok for ascii dxf)
+        readString();
+    else
+        //break in binary files because the conduct is unpredictable
+        return false;
+
+    return (filestr->good());
+}*/
+
+bool dxfWriter::writeUtf8String( int code, std::string text )
+{
+  std::string t = encoder.fromUtf8( text );
+  return writeString( code, t );
+}
+
+bool dxfWriter::writeUtf8Caps( int code, std::string text )
+{
+  std::string strname = text;
+  std::transform( strname.begin(), strname.end(), strname.begin(),::toupper );
+  std::string t = encoder.fromUtf8( strname );
+  return writeString( code, t );
+}
+
+bool dxfWriterBinary::writeString( int code, std::string text )
+{
+  char bufcode[2];
+  bufcode[0] = code & 0xFF;
+  bufcode[1] = code  >> 8;
+  filestr->write( bufcode, 2 );
+  *filestr << text << '\0';
+  return ( filestr->good() );
+}
+
+/*bool dxfWriterBinary::readCode(int *code) {
+    unsigned short *int16p;
+    char buffer[2];
+    filestr->read(buffer,2);
+    int16p = (unsigned short *) buffer;
+//exist a 32bits int (code 90) with 2 bytes???
+    if ((*code == 90) && (*int16p>2000)){
+        DBG(*code); DBG(" de 16bits\n");
+        filestr->seekg(-4, std::ios_base::cur);
+        filestr->read(buffer,2);
+        int16p = (unsigned short *) buffer;
+    }
+    *code = *int16p;
+    DBG(*code); DBG("\n");
+
+    return (filestr->good());
+}*/
+
+/*bool dxfWriterBinary::readString() {
+    std::getline(*filestr, strData, '\0');
+    DBG(strData); DBG("\n");
+    return (filestr->good());
+}*/
+
+/*bool dxfWriterBinary::readString(std::string *text) {
+    std::getline(*filestr, *text, '\0');
+    DBG(*text); DBG("\n");
+    return (filestr->good());
+}*/
+
+bool dxfWriterBinary::writeInt16( int code, int data )
+{
+  char bufcode[2];
+  char buffer[2];
+  bufcode[0] = code & 0xFF;
+  bufcode[1] = code  >> 8;
+  buffer[0] = data & 0xFF;
+  buffer[1] = data  >> 8;
+  filestr->write( bufcode, 2 );
+  filestr->write( buffer, 2 );
+  return ( filestr->good() );
+}
+
+bool dxfWriterBinary::writeInt32( int code, int data )
+{
+  char buffer[4];
+  buffer[0] = code & 0xFF;
+  buffer[1] = code  >> 8;
+  filestr->write( buffer, 2 );
+
+  buffer[0] = data & 0xFF;
+  buffer[1] = data  >> 8;
+  buffer[2] = data  >> 16;
+  buffer[3] = data  >> 24;
+  filestr->write( buffer, 4 );
+  return ( filestr->good() );
+}
+
+bool dxfWriterBinary::writeInt64( int code, unsigned long long int data )
+{
+  char buffer[8];
+  buffer[0] = code & 0xFF;
+  buffer[1] = code  >> 8;
+  filestr->write( buffer, 2 );
+
+  buffer[0] = data & 0xFF;
+  buffer[1] = data  >> 8;
+  buffer[2] = data  >> 16;
+  buffer[3] = data  >> 24;
+  buffer[4] = data  >> 32;
+  buffer[5] = data  >> 40;
+  buffer[6] = data  >> 48;
+  buffer[7] = data  >> 56;
+  filestr->write( buffer, 8 );
+  return ( filestr->good() );
+}
+
+bool dxfWriterBinary::writeDouble( int code, double data )
+{
+  char bufcode[2];
+  char buffer[8];
+  bufcode[0] = code & 0xFF;
+  bufcode[1] = code  >> 8;
+  filestr->write( bufcode, 2 );
+
+  unsigned char *val;
+  val = ( unsigned char * ) & data;
+  for ( int i = 0; i < 8; i++ )
+  {
+    buffer[i] = val[i];
+  }
+  filestr->write( buffer, 8 );
+  return ( filestr->good() );
+}
+
+//saved as int or add a bool member??
+bool dxfWriterBinary::writeBool( int code, bool data )
+{
+  char buffer[1];
+  char bufcode[2];
+  bufcode[0] = code & 0xFF;
+  bufcode[1] = code  >> 8;
+  filestr->write( bufcode, 2 );
+  buffer[0] = data;
+  filestr->write( buffer, 1 );
+  return ( filestr->good() );
+}
+
+dxfWriterAscii::dxfWriterAscii( std::ofstream *stream ): dxfWriter( stream )
+{
+  filestr->precision( 16 );
+}
+
+bool dxfWriterAscii::writeString( int code, std::string text )
+{
+//    *filestr << code << std::endl << text << std::endl ;
+  filestr->width( 3 );
+  *filestr << std::right << code << std::endl;
+  filestr->width( 0 );
+  *filestr << std::left << text << std::endl;
+  /*    std::getline(*filestr, strData, '\0');
+  DBG(strData); DBG("\n");*/
+  return ( filestr->good() );
+}
+
+bool dxfWriterAscii::writeInt16( int code, int data )
+{
+//    *filestr << std::right << code << std::endl << data << std::endl;
+  filestr->width( 3 );
+  *filestr << std::right << code << std::endl;
+  filestr->width( 5 );
+  *filestr << data << std::endl;
+  return ( filestr->good() );
+}
+
+bool dxfWriterAscii::writeInt32( int code, int data )
+{
+  return writeInt16( code, data );
+}
+
+bool dxfWriterAscii::writeInt64( int code, unsigned long long int data )
+{
+//    *filestr << code << std::endl << data << std::endl;
+  filestr->width( 3 );
+  *filestr << std::right << code << std::endl;
+  filestr->width( 5 );
+  *filestr << data << std::endl;
+  return ( filestr->good() );
+}
+
+bool dxfWriterAscii::writeDouble( int code, double data )
+{
+//    std::streamsize prec = filestr->precision();
+//    filestr->precision(12);
+//    *filestr << code << std::endl << data << std::endl;
+  filestr->width( 3 );
+  *filestr << std::right << code << std::endl;
+  *filestr << data << std::endl;
+//    filestr->precision(prec);
+  return ( filestr->good() );
+}
+
+//saved as int or add a bool member??
+bool dxfWriterAscii::writeBool( int code, bool data )
+{
+  *filestr << code << std::endl << data << std::endl;
+  return ( filestr->good() );
+}
+
diff --git a/src/app/dwg/libdxfrw/intern/dxfwriter.h b/src/app/dwg/libdxfrw/intern/dxfwriter.h
new file mode 100644
index 0000000..5676113
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/dxfwriter.h
@@ -0,0 +1,72 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef DXFWRITER_H
+#define DXFWRITER_H
+
+#include "drw_textcodec.h"
+
+class dxfWriter
+{
+  public:
+    explicit dxfWriter( std::ofstream *stream )
+        : filestr( stream )
+//    , count( 0 )
+    {}
+    virtual ~dxfWriter() {}
+    virtual bool writeString( int code, std::string text ) = 0;
+    bool writeUtf8String( int code, std::string text );
+    bool writeUtf8Caps( int code, std::string text );
+    std::string fromUtf8String( std::string t ) {return encoder.fromUtf8( t );}
+    virtual bool writeInt16( int code, int data ) = 0;
+    virtual bool writeInt32( int code, int data ) = 0;
+    virtual bool writeInt64( int code, unsigned long long int data ) = 0;
+    virtual bool writeDouble( int code, double data ) = 0;
+    virtual bool writeBool( int code, bool data ) = 0;
+    void setVersion( std::string *v, bool dxfFormat ) {encoder.setVersion( v, dxfFormat );}
+    void setCodePage( std::string *c ) {encoder.setCodePage( c, true );}
+    std::string getCodePage() {return encoder.getCodePage();}
+  protected:
+    std::ofstream *filestr;
+  private:
+    DRW_TextCodec encoder;
+};
+
+class dxfWriterBinary : public dxfWriter
+{
+  public:
+    explicit dxfWriterBinary( std::ofstream *stream )
+        : dxfWriter( stream )
+    {}
+    virtual ~dxfWriterBinary() {}
+    virtual bool writeString( int code, std::string text );
+    virtual bool writeInt16( int code, int data );
+    virtual bool writeInt32( int code, int data );
+    virtual bool writeInt64( int code, unsigned long long int data );
+    virtual bool writeDouble( int code, double data );
+    virtual bool writeBool( int code, bool data );
+};
+
+class dxfWriterAscii : public dxfWriter
+{
+  public:
+    explicit dxfWriterAscii( std::ofstream *stream );
+    virtual ~dxfWriterAscii() {}
+    virtual bool writeString( int code, std::string text );
+    virtual bool writeInt16( int code, int data );
+    virtual bool writeInt32( int code, int data );
+    virtual bool writeInt64( int code, unsigned long long int data );
+    virtual bool writeDouble( int code, double data );
+    virtual bool writeBool( int code, bool data );
+};
+
+#endif // DXFWRITER_H
diff --git a/src/app/dwg/libdxfrw/intern/rscodec.cpp b/src/app/dwg/libdxfrw/intern/rscodec.cpp
new file mode 100644
index 0000000..44173f4
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/rscodec.cpp
@@ -0,0 +1,464 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2014 J.F. Soriano (Rallaz), rallazz at gmail.com         **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+/**
+ * Reed-Solomon codec
+ * Reed Solomon code lifted from encoder/decoder for Reed-Solomon written by Simon Rockliff
+ *
+ * Original code:
+ * This program may be freely modified and/or given to whoever wants it.
+ *  A condition of such distribution is that the author's contribution be
+ *  acknowledged by his name being left in the comments heading the program,
+ *  however no responsibility is accepted for any financial or other loss which
+ *  may result from some unforseen errors or malfunctioning of the program
+ *  during use.
+ *                                Simon Rockliff, 26th June 1991
+ */
+
+
+#include "rscodec.h"
+#include <new>          // std::nothrow
+#include <fstream>
+#include <climits>
+
+RScodec::RScodec( unsigned int pp, int mm, int tt )
+{
+  this->mm = mm;
+  this->tt = tt;
+  nn = ( 1 << mm ) - 1; //mm==8 nn=255
+  kk = nn - ( tt * 2 );
+  isOk = true;
+
+  alpha_to = new( std::nothrow ) int[nn+1];
+  index_of = new( std::nothrow ) unsigned int[nn+1];
+  gg = new( std::nothrow ) int[nn-kk+1];
+
+  RSgenerate_gf( pp ) ;
+  /* compute the generator polynomial for this RS code */
+  RSgen_poly() ;
+}
+
+RScodec::~RScodec()
+{
+  delete[] alpha_to;
+  delete[] index_of;
+  delete[] gg;
+}
+
+
+/* generate GF(2^mm) from the irreducible polynomial p(X) in pp[0]..pp[mm]
+   lookup tables:  index->polynomial form   alpha_to[] contains j=alpha**i;
+                   polynomial form -> index form  index_of[j=alpha**i] = i
+   alpha=2 is the primitive element of GF(2^mm)
+*/
+void RScodec::RSgenerate_gf( unsigned int pp )
+{
+  int i, mask ;
+  int pb;
+
+  mask = 1 ;
+  alpha_to[mm] = 0 ;
+  for ( i = 0; i < mm; i++ )
+  {
+    alpha_to[i] = mask ;
+    index_of[alpha_to[i]] = i ;
+    pb = ( pp >> ( mm - 1 - i ) ) & 1;
+    if ( pb != 0 )
+    {
+      alpha_to[mm] ^= mask;
+    }
+    mask <<= 1 ;
+  }
+  index_of[alpha_to[mm]] = mm ;
+  mask >>= 1 ;
+  for ( i = mm + 1; i < nn; i++ )
+  {
+    if ( alpha_to[i-1] >= mask )
+    {
+      alpha_to[i] = alpha_to[mm] ^(( alpha_to[i-1] ^ mask ) << 1 ) ;
+    }
+    else alpha_to[i] = alpha_to[i-1] << 1 ;
+    index_of[alpha_to[i]] = i ;
+  }
+  index_of[0] = UINT_MAX;
+}
+
+
+/* Obtain the generator polynomial of the tt-error correcting, length
+  nn=(2^mm -1) Reed Solomon code  from the product of (X+alpha**i), i=1..2*tt
+*/
+void RScodec::RSgen_poly()
+{
+  int i, j ;
+  int tmp;
+  int bb = nn - kk;; //nn-kk length of parity data
+
+  gg[0] = 2 ;    /* primitive element alpha = 2  for GF(2**mm)  */
+  gg[1] = 1 ;    /* g(x) = (X+alpha) initially */
+  for ( i = 2; i <= bb; i++ )
+  {
+    gg[i] = 1 ;
+    for ( j = i - 1; j > 0; j-- )
+      if ( gg[j] != 0 )
+      {
+        if ( gg[j] < 0 ) { isOk = false; return; }
+        tmp = ( index_of[gg[j]] + i ) % nn;
+        if ( tmp < 0 ) { isOk = false; return; }
+        gg[j] = gg[j-1] ^ alpha_to[tmp] ;
+      }
+      else
+      {
+        gg[j] = gg[j-1] ;
+      }
+    gg[0] = alpha_to[( index_of[gg[0]] + i ) % nn] ;     /* gg[0] can never be zero */
+  }
+  /* convert gg[] to index form for quicker encoding */
+  for ( i = 0; i <= bb; i++ )  gg[i] = index_of[gg[i]] ;
+}
+
+int RScodec::calcDecode( unsigned char* data, int* recd, int** elp, int* d, int* l, int* u_lu, int* s, int* root, int* loc, int* z, int* err, int* reg, int bb )
+{
+  if ( !isOk ) return -1;
+  int count = 0;
+  int syn_error = 0;
+  int i, j, u, q;
+
+  //    for (int i=0; i<nn; i++)
+  //       recd[i] = index_of[recd[i]] ;          /* put recd[i] into index form */
+  for ( int i = 0, j = bb; i < kk; i++, j++ )
+    recd[j] = index_of[data[j]];          /* put data in recd[i] into index form */
+  for ( int i = kk, j = 0; i < nn; i++, j++ )
+    recd[j] = index_of[data[j]];          /* put data in recd[i] into index form */
+
+  /* first form the syndromes */
+  for ( i = 1; i <= bb; i++ )
+  {
+    s[i] = 0;
+    for ( j = 0; j < nn; j++ )
+    {
+      if ( recd[j] != -1 )
+      {
+        s[i] ^= alpha_to[( recd[j] + i * j ) % nn];  /* recd[j] in index form */
+      }
+    }
+    /* convert syndrome from polynomial form to index form  */
+    if ( s[i] != 0 )  syn_error = 1;      /* set flag if non-zero syndrome => error */
+    s[i] = index_of[s[i]];
+  }
+
+  if ( !syn_error )      /* if no errors, ends */
+  {
+    /* no non-zero syndromes => no errors: output is received codeword */
+    return 0;
+  }
+
+  /* errors are present, try and correct */
+  /* compute the error location polynomial via the Berlekamp iterative algorithm,
+  following the terminology of Lin and Costello :   d[u] is the 'mu'th
+  discrepancy, where u='mu'+1 and 'mu' (the Greek letter!) is the step number
+  ranging from -1 to 2*tt (see L&C),  l[u] is the
+  degree of the elp at that step, and u_l[u] is the difference between the
+  step number and the degree of the elp.
+  */
+  /* initialise table entries */
+  d[0] = 0;           /* index form */
+  d[1] = s[1];        /* index form */
+  elp[0][0] = 0;      /* index form */
+  elp[1][0] = 1;      /* polynomial form */
+  for ( i = 1; i < bb; i++ )
+  {
+    elp[0][i] = -1;   /* index form */
+    elp[1][i] = 0;   /* polynomial form */
+  }
+  l[0] = 0;
+  l[1] = 0;
+  u_lu[0] = -1;
+  u_lu[1] = 0;
+  u = 0;
+
+  do
+  {
+    u++;
+    if ( d[u] == -1 )
+    {
+      l[u + 1] = l[u];
+      for ( i = 0; i <= l[u]; i++ )
+      {
+        elp[u + 1][i] = elp[u][i];
+        elp[u][i] = index_of[elp[u][i]];
+      }
+    }
+    else
+    {
+      /* search for words with greatest u_lu[q] for which d[q]!=0 */
+      q = u - 1;
+      while (( d[q] == -1 ) && ( q > 0 ) ) q--;
+      /* have found first non-zero d[q]  */
+      if ( q > 0 )
+      {
+        j = q;
+        do
+        {
+          j--;
+          if (( d[j] != -1 ) && ( u_lu[q] < u_lu[j] ) )
+            q = j;
+        }
+        while ( j > 0 );
+      }
+
+      /* have now found q such that d[u]!=0 and u_lu[q] is maximum */
+      /* store degree of new elp polynomial */
+      if ( l[u] > l[q] + u - q )
+      {
+        l[u + 1] = l[u];
+      }
+      else
+      {
+        l[u + 1] = l[q] + u - q;
+      }
+
+      /* form new elp(x) */
+      for ( i = 0; i < bb; i++ )    elp[u + 1][i] = 0;
+      for ( i = 0; i <= l[q]; i++ )
+      {
+        if ( elp[q][i] != -1 )
+        {
+          elp[u + 1][i + u - q] = alpha_to[( d[u] + nn - d[q] + elp[q][i] ) % nn];
+        }
+      }
+      for ( i = 0; i <= l[u]; i++ )
+      {
+        elp[u + 1][i] ^= elp[u][i];
+        elp[u][i] = index_of[elp[u][i]];  /*convert old elp value to index*/
+      }
+    }
+    u_lu[u + 1] = u - l[u + 1];
+
+    /* form (u+1)th discrepancy */
+    if ( u < bb ) /* no discrepancy computed on last iteration */
+    {
+      if ( s[u + 1] != -1 )
+      {
+        d[u + 1] = alpha_to[s[u + 1]];
+      }
+      else
+      {
+        d[u + 1] = 0;
+      }
+      for ( i = 1; i <= l[u + 1]; i++ )
+      {
+        if (( s[u + 1 - i] != -1 ) && ( elp[u + 1][i] != 0 ) )
+        {
+          d[u + 1] ^= alpha_to[( s[u + 1 - i] + index_of[elp[u + 1][i]] ) % nn];
+        }
+      }
+      d[u + 1] = index_of[d[u + 1]];    /* put d[u+1] into index form */
+    }
+  }
+  while (( u < bb ) && ( l[u + 1] <= tt ) );
+
+  u++;
+  if ( l[u] > tt )            /* elp has degree has degree >tt hence cannot solve */
+  {
+    return -1;              /* just output is received codeword as is */
+  }
+
+  /* can correct error */
+  /* put elp into index form */
+  for ( i = 0; i <= l[u]; i++ )   elp[u][i] = index_of[elp[u][i]];
+
+  /* find roots of the error location polynomial */
+  for ( i = 1; i <= l[u]; i++ )
+  {
+    reg[i] = elp[u][i];
+  }
+  count = 0;
+  for ( i = 1; i <= nn; i++ )
+  {
+    q = 1;
+    for ( j = 1; j <= l[u]; j++ )
+    {
+      if ( reg[j] != -1 )
+      {
+        reg[j] = ( reg[j] + j ) % nn;
+        q ^= alpha_to[reg[j]];
+      }
+    }
+    if ( !q )       /* store root and error location number indices */
+    {
+      root[count] = i;
+      loc[count] = nn - i;
+      count++;
+    }
+  }
+
+  if ( count != l[u] )   /* no. roots != degree of elp => >tt errors and cannot solve */
+  {
+    return -1;        /* just output is received codeword as is */
+  }
+
+  /* no. roots = degree of elp hence <= tt errors */
+  /* form polynomial z(x) */
+  for ( i = 1; i <= l[u]; i++ )       /* Z[0] = 1 always - do not need */
+  {
+    if (( s[i] != -1 ) && ( elp[u][i] != -1 ) )
+    {
+      z[i] = alpha_to[s[i]] ^ alpha_to[elp[u][i]];
+    }
+    else if (( s[i] != -1 ) && ( elp[u][i] == -1 ) )
+    {
+      z[i] = alpha_to[s[i]];
+    }
+    else if (( s[i] == -1 ) && ( elp[u][i] != -1 ) )
+    {
+      z[i] = alpha_to[elp[u][i]];
+    }
+    else
+    {
+      z[i] = 0;
+    }
+    for ( j = 1; j < i; j++ )
+    {
+      if (( s[j] != -1 ) && ( elp[u][i - j] != -1 ) )
+      {
+        z[i] ^= alpha_to[( elp[u][i - j] + s[j] ) % nn];
+      }
+    }
+    z[i] = index_of[z[i]];         /* put into index form */
+  }
+
+  /* evaluate errors at locations given by error location numbers loc[i] */
+  for ( i = 0; i < nn; i++ ) err[i] = 0;
+  for ( i = 0; i < l[u]; i++ ) /* compute numerator of error term first */
+  {
+    err[loc[i]] = 1;       /* accounts for z[0] */
+    for ( j = 1; j <= l[u]; j++ )
+    {
+      if ( z[j] != -1 )
+      {
+        err[loc[i]] ^= alpha_to[( z[j] + j * root[i] ) % nn];
+      }
+    }
+    if ( err[loc[i]] != 0 )
+    {
+      err[loc[i]] = index_of[err[loc[i]]];
+      q = 0;     /* form denominator of error term */
+      for ( j = 0; j < l[u]; j++ )
+      {
+        if ( j != i )
+        {
+          q += index_of[1 ^ alpha_to[( loc[j] + root[i] ) % nn]];
+        }
+      }
+      q = q % nn;
+      err[loc[i]] = alpha_to[( err[loc[i]] - q + nn ) % nn];
+      data[loc[i]] ^= err[loc[i]];  /*change errors by correct data, in polynomial form */
+    }
+  }
+  return count;
+}
+
+/** Take the string of symbols in data[i], i=0..(k-1) and encode systematically
+   to produce 2*tt parity symbols in bd[0]..bd[2*tt-1]
+   data[] is input and bd[] is output in polynomial form.
+   Encoding is done by using a feedback shift register with appropriate
+   connections specified by the elements of gg[], which was generated above.
+   Codeword is   c(X) = data(X)*X**(nn-kk)+ b(X)         */
+bool RScodec::encode( unsigned char *data, unsigned char *parity )
+{
+  if ( !isOk ) return false;
+  int i, j ;
+  int feedback ;
+  unsigned char *idata = data;
+  unsigned char *bd = parity;
+  int bb = nn - kk;; //nn-kk length of parity data
+
+  for ( i = 0; i < bb; i++ )   bd[i] = 0 ;
+  for ( i = kk - 1; i >= 0; i-- )
+  {
+    feedback = index_of[idata[i] ^ bd[bb-1]] ;
+    if ( feedback != -1 )
+    {
+      for ( j = bb - 1; j > 0; j-- )
+        if ( gg[j] != -1 )
+          bd[j] = bd[j-1] ^ alpha_to[( gg[j] + feedback ) % nn] ;
+        else
+          bd[j] = bd[j-1] ;
+      bd[0] = alpha_to[( gg[0] + feedback ) % nn] ;
+    }
+    else
+    {
+      for ( j = bb - 1; j > 0; j-- )
+        bd[j] = bd[j-1] ;
+      bd[0] = 0 ;
+    }
+  }
+  return true;
+}
+
+
+/* assume we have received bits grouped into mm-bit symbols in recd[i],
+   i=0..(nn-1),  and recd[i] is index form (ie as powers of alpha).
+   We first compute the 2*tt syndromes by substituting alpha**i into rec(X) and
+   evaluating, storing the syndromes in s[i], i=1..2tt (leave s[0] zero) .
+   Then we use the Berlekamp iteration to find the error location polynomial
+   elp[i].   If the degree of the elp is >tt, we cannot correct all the errors
+   and hence just put out the information symbols uncorrected. If the degree of
+   elp is <=tt, we substitute alpha**i , i=1..n into the elp to get the roots,
+   hence the inverse roots, the error location numbers. If the number of errors
+   located does not equal the degree of the elp, we have more than tt errors
+   and cannot correct them.  Otherwise, we then solve for the error value at
+   the error location and correct the error.  The procedure is that found in
+   Lin and Costello. For the cases where the number of errors is known to be too
+   large to correct, the information symbols as received are output (the
+   advantage of systematic encoding is that hopefully some of the information
+   symbols will be okay and that if we are in luck, the errors are in the
+   parity part of the transmitted codeword).  Of course, these insoluble cases
+   can be returned as error flags to the calling routine if desired.   */
+/** Return value: number of corrected errors or -1 if can't correct it */
+int RScodec::decode( unsigned char *data )
+{
+  if ( !isOk ) return -1;
+  int bb = nn - kk;; //nn-kk length of parity data
+
+  int *recd = new( std::nothrow ) int[nn];
+  int **elp = new int*[bb + 2];
+  for ( int i = 0; i < bb + 2; ++i )
+    elp[i] = new int[bb];
+  int *d = new int[bb + 2];
+  int *l = new int[bb + 2];
+  int *u_lu = new int[bb + 2];
+  int *s = new int[bb + 1];
+  int *root = new int[tt];
+  int *loc = new int[tt];
+  int *z = new int[tt+1];
+  int *err = new int[nn];
+  int *reg = new int[tt + 1];
+
+  int res = calcDecode( data, recd, elp , d , l, u_lu, s, root, loc , z, err, reg, bb );
+
+  delete[] recd;
+  for ( int i = 0; i < bb + 2; ++i )
+    delete[] elp[i];
+  delete[] elp;
+  delete[] d;
+  delete[] l;
+  delete[] u_lu;
+  delete[] s;
+  delete[] root;
+  delete[] loc;
+  delete[] z;
+  delete[] err;
+  delete[] reg;
+
+  return res;
+}
diff --git a/src/app/dwg/libdxfrw/intern/rscodec.h b/src/app/dwg/libdxfrw/intern/rscodec.h
new file mode 100644
index 0000000..d0a13e4
--- /dev/null
+++ b/src/app/dwg/libdxfrw/intern/rscodec.h
@@ -0,0 +1,70 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2014 J.F. Soriano (Rallaz), rallazz at gmail.com         **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+/**
+ * Reed-Solomon codec
+ * Reed Solomon code lifted from encoder/decoder for Reed-Solomon written by Simon Rockliff
+ *
+ * Original code:
+ * This program may be freely modified and/or given to whoever wants it.
+ *  A condition of such distribution is that the author's contribution be
+ *  acknowledged by his name being left in the comments heading the program,
+ *  however no responsibility is accepted for any financial or other loss which
+ *  may result from some unforseen errors or malfunctioning of the program
+ *  during use.
+ *                                Simon Rockliff, 26th June 1991
+ */
+
+
+
+#ifndef RSCODEC_H
+#define RSCODEC_H
+/**
+mm: RS code over GF(2^4)
+nn: nn= (2^mm) - 1   length of codeword
+tt: number of errors that can be corrected
+kk: kk = nn-2*tt
+pp: irreducible polynomial coeffts, pp [mm] send as int
+*/
+class RScodec
+{
+  public:
+    RScodec( unsigned int pp, int mm, int tt );
+
+    ~RScodec();
+//    bool encode(int *data, int *parity);
+//    int decode(int *recd);
+    bool encode( unsigned char *data, unsigned char *parity );
+    int decode( unsigned char *data );
+    bool isOkey() {return isOk;}
+    const unsigned int* indexOf() {return index_of;}
+    const int* alphaTo() {return alpha_to;}
+
+  private:
+    void RSgenerate_gf( unsigned int pp );
+    void RSgen_poly();
+    int calcDecode( unsigned char* data, int* recd, int** elp, int* d, int* l, int* u_lu, int* s, int* root, int* loc, int* z, int* err, int* reg, int bb );
+
+
+  private:
+    int mm; //RS code over GF(2^4)
+    int tt; //number of errors that can be corrected
+    int nn; //(2^mm) - 1   length of codeword
+    int kk; //nn-2*tt length of original data
+
+    int *gg;
+    bool isOk;
+    unsigned int *index_of;
+    int *alpha_to;
+};
+
+#endif // RSCODEC_H
diff --git a/src/app/dwg/libdxfrw/libdwgr.cpp b/src/app/dwg/libdxfrw/libdwgr.cpp
new file mode 100644
index 0000000..7f87d4e
--- /dev/null
+++ b/src/app/dwg/libdxfrw/libdwgr.cpp
@@ -0,0 +1,377 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+
+#include "libdwgr.h"
+
+#include <fstream>
+#include <algorithm>
+#include <sstream>
+#include "intern/drw_dbg.h"
+
+#include "qgslogger.h"
+
+#include "intern/drw_textcodec.h"
+#include "intern/dwgreader.h"
+#include "intern/dwgreader15.h"
+#include "intern/dwgreader18.h"
+#include "intern/dwgreader21.h"
+#include "intern/dwgreader24.h"
+#include "intern/dwgreader27.h"
+
+#define FIRSTHANDLE 48
+
+#if 0
+enum sections
+{
+  secUnknown,
+  secHeader,
+  secTables,
+  secBlocks,
+  secEntities,
+  secObjects
+};
+#endif
+
+dwgR::dwgR( const char* name )
+    : version( DRW::UNKNOWNV )
+    , error( DRW::BAD_NONE )
+    , fileName( name )
+    , applyExt( false )
+    , iface( nullptr )
+    , reader( nullptr )
+#if 0
+    , writer( nullptr )
+#endif
+{
+  DRW_DBGSL( DRW_dbg::NONE );
+}
+
+dwgR::~dwgR()
+{
+  delete reader;
+}
+
+void dwgR::setDebug( DRW::DBG_LEVEL lvl )
+{
+  switch ( lvl )
+  {
+    case DRW::DEBUG:
+      DRW_DBGSL( DRW_dbg::DEBUG );
+      break;
+    default:
+      DRW_DBGSL( DRW_dbg::NONE );
+  }
+}
+
+/*reads metadata and loads image preview*/
+bool dwgR::getPreview()
+{
+  std::ifstream filestr;
+
+  bool isOk = openFile( &filestr );
+  if ( !isOk )
+    return false;
+
+  isOk = reader->readMetaData();
+  if ( isOk )
+  {
+    isOk = reader->readPreview();
+  }
+  else
+    error = DRW::BAD_READ_METADATA;
+
+  filestr.close();
+
+  delete reader;
+  reader = nullptr;
+
+  return isOk;
+}
+
+bool dwgR::testReader()
+{
+  bool isOk = false;
+
+  std::ifstream filestr;
+  filestr.open( fileName.c_str(), std::ios_base::in | std::ios::binary );
+  if ( !filestr.is_open() || !filestr.good() )
+  {
+    error = DRW::BAD_OPEN;
+    return isOk;
+  }
+
+  dwgBuffer fileBuf( &filestr );
+  duint8 *tmpStrData = new duint8[fileBuf.size()];
+  fileBuf.getBytes( tmpStrData, fileBuf.size() );
+  dwgBuffer dataBuf( tmpStrData, fileBuf.size() );
+  fileBuf.setPosition( 0 );
+
+  QgsDebugMsg( QString( "filebuf size:%1, dataBuf size:%2, filebuf pos:%3, dataBuf pos:%4, filebuf bitpos:%5, dataBuf bitpos:%6, filebuf first byte:0x%7, databuf first byte:0x%8" )
+               .arg( fileBuf.size() ).arg( dataBuf.size() )
+               .arg( fileBuf.getPosition() ).arg( dataBuf.getPosition() )
+               .arg( fileBuf.getBitPos() ).arg( dataBuf.getBitPos() )
+               .arg( fileBuf.getRawChar8(), 0, 16 )
+               .arg( dataBuf.getRawChar8(), 0, 16 )
+             );
+
+  fileBuf.setBitPos( 4 );
+  dataBuf.setBitPos( 4 );
+
+  QgsDebugMsg( QString( "filebuf first byte:0x%1, databuf first byte:0x%2, filebuf pos:%3, databuf pos:%4, filebuf bitpos:%5, databuf bitpos:%6" )
+               .arg( fileBuf.getRawChar8(), 0, 16 )
+               .arg( dataBuf.getRawChar8(), 0, 16 )
+               .arg( fileBuf.getPosition() ).arg( dataBuf.getPosition() )
+               .arg( fileBuf.getBitPos() ).arg( dataBuf.getBitPos() )
+             );
+
+  fileBuf.setBitPos( 6 );
+  dataBuf.setBitPos( 6 );
+
+  QgsDebugMsg( QString( "filebuf pos:%1, databuf pos:%1, filebuf bitpos:%3, databuf bitpos:%4, filebuf first byte:%5, databuf first byte:%6" )
+               .arg( fileBuf.getPosition() ).arg( dataBuf.getPosition() )
+               .arg( fileBuf.getBitPos() ).arg( dataBuf.getBitPos() )
+               .arg( fileBuf.getRawChar8(), 0, 16 )
+               .arg( dataBuf.getRawChar8(), 0, 16 )
+             );
+
+  fileBuf.setBitPos( 0 );
+  dataBuf.setBitPos( 0 );
+
+  QgsDebugMsg( QString( "filebuf first byte:0x%1, databuf first byte:0x%2, filebuf pos:%3, databuf pos:%4, filebuf bitpos:%5, databuf bitpos:%6" )
+               .arg( fileBuf.getRawChar8(), 0, 16 )
+               .arg( dataBuf.getRawChar8(), 0, 16 )
+               .arg( fileBuf.getPosition() ).arg( dataBuf.getPosition() )
+               .arg( fileBuf.getBitPos() ).arg( dataBuf.getBitPos() )
+             );
+
+  delete [] tmpStrData;
+  filestr.close();
+
+  return isOk;
+}
+
+/*start reading dwg file header and, if can read it, continue reading all*/
+bool dwgR::read( DRW_Interface *interface_, bool ext )
+{
+  applyExt = ext;
+  iface = interface_;
+
+#if 0
+  testReader();
+  return false;
+#endif
+
+  std::ifstream filestr;
+  bool isOk = openFile( &filestr );
+  if ( !isOk )
+    return false;
+
+  isOk = reader->readMetaData();
+  if ( isOk )
+  {
+    isOk = reader->readFileHeader();
+    if ( isOk )
+    {
+      isOk = processDwg();
+    }
+    else
+      error = DRW::BAD_READ_FILE_HEADER;
+  }
+  else
+    error = DRW::BAD_READ_METADATA;
+
+  filestr.close();
+
+  delete reader;
+  reader = nullptr;
+
+  return isOk;
+}
+
+/* Open the file and stores it in filestr, install the correct reader version.
+ * If fail opening file, error are set as DRW::BAD_OPEN
+ * If not are DWG or are unsupported version, error are set as DRW::BAD_VERSION
+ * and closes filestr.
+ * Return true on succeed or false on fail
+*/
+bool dwgR::openFile( std::ifstream *filestr )
+{
+  QgsDebugMsg( "Entering." );
+
+  bool isOk = false;
+
+  filestr->open( fileName.c_str(), std::ios_base::in | std::ios::binary );
+  if ( !filestr->is_open() || !filestr->good() )
+  {
+    error = DRW::BAD_OPEN;
+    return isOk;
+  }
+
+  char line[7];
+  filestr->read( line, 6 );
+  line[6] = '\0';
+
+  QgsDebugMsg( QString( "line version:%1" ).arg( line ) );
+
+  if ( strcmp( line, "AC1006" ) == 0 )
+    version = DRW::AC1006;
+  else if ( strcmp( line, "AC1009" ) == 0 )
+  {
+    version = DRW::AC1009;
+//        reader = new dwgReader09(&filestr, this);
+  }
+  else if ( strcmp( line, "AC1012" ) == 0 )
+  {
+    version = DRW::AC1012;
+    reader = new dwgReader15( filestr, this );
+  }
+  else if ( strcmp( line, "AC1014" ) == 0 )
+  {
+    version = DRW::AC1014;
+    reader = new dwgReader15( filestr, this );
+  }
+  else if ( strcmp( line, "AC1015" ) == 0 )
+  {
+    version = DRW::AC1015;
+    reader = new dwgReader15( filestr, this );
+  }
+  else if ( strcmp( line, "AC1018" ) == 0 )
+  {
+    version = DRW::AC1018;
+    reader = new dwgReader18( filestr, this );
+  }
+  else if ( strcmp( line, "AC1021" ) == 0 )
+  {
+    version = DRW::AC1021;
+    reader = new dwgReader21( filestr, this );
+  }
+  else if ( strcmp( line, "AC1024" ) == 0 )
+  {
+    version = DRW::AC1024;
+    reader = new dwgReader24( filestr, this );
+  }
+  else if ( strcmp( line, "AC1027" ) == 0 )
+  {
+    version = DRW::AC1027;
+    reader = new dwgReader27( filestr, this );
+  }
+  else
+    version = DRW::UNKNOWNV;
+
+  if ( !reader )
+  {
+    error = DRW::BAD_VERSION;
+    filestr->close();
+  }
+  else
+    isOk = true;
+
+  return isOk;
+}
+
+/********* Reader Process *********/
+
+bool dwgR::processDwg()
+{
+  QgsDebugMsg( "Entering." );
+
+  bool ret;
+  bool ret2;
+  DRW_Header hdr;
+  ret = reader->readDwgHeader( hdr );
+  if ( !ret )
+  {
+    error = DRW::BAD_READ_HEADER;
+  }
+
+  ret2 = reader->readDwgClasses();
+  if ( ret && !ret2 )
+  {
+    error = DRW::BAD_READ_CLASSES;
+    ret = ret2;
+  }
+
+  ret2 = reader->readDwgHandles();
+  if ( ret && !ret2 )
+  {
+    error = DRW::BAD_READ_HANDLES;
+    ret = ret2;
+  }
+
+  ret2 = reader->readDwgTables( hdr );
+  if ( ret && !ret2 )
+  {
+    error = DRW::BAD_READ_TABLES;
+    ret = ret2;
+  }
+
+  iface->addHeader( &hdr );
+
+  for ( std::map<duint32, DRW_LType*>::iterator it = reader->ltypemap.begin(); it != reader->ltypemap.end(); ++it )
+  {
+    DRW_LType *lt = it->second;
+    iface->addLType( const_cast<DRW_LType&>( *lt ) );
+  }
+  for ( std::map<duint32, DRW_Layer*>::iterator it = reader->layermap.begin(); it != reader->layermap.end(); ++it )
+  {
+    DRW_Layer *ly = it->second;
+    iface->addLayer( const_cast<DRW_Layer&>( *ly ) );
+  }
+
+  for ( std::map<duint32, DRW_Textstyle*>::iterator it = reader->stylemap.begin(); it != reader->stylemap.end(); ++it )
+  {
+    DRW_Textstyle *ly = it->second;
+    iface->addTextStyle( const_cast<DRW_Textstyle&>( *ly ) );
+  }
+
+  for ( std::map<duint32, DRW_Dimstyle*>::iterator it = reader->dimstylemap.begin(); it != reader->dimstylemap.end(); ++it )
+  {
+    DRW_Dimstyle *ly = it->second;
+    iface->addDimStyle( const_cast<DRW_Dimstyle&>( *ly ) );
+  }
+
+  for ( std::map<duint32, DRW_Vport*>::iterator it = reader->vportmap.begin(); it != reader->vportmap.end(); ++it )
+  {
+    DRW_Vport *ly = it->second;
+    iface->addVport( const_cast<DRW_Vport&>( *ly ) );
+  }
+
+  for ( std::map<duint32, DRW_AppId*>::iterator it = reader->appIdmap.begin(); it != reader->appIdmap.end(); ++it )
+  {
+    DRW_AppId *ly = it->second;
+    iface->addAppId( const_cast<DRW_AppId&>( *ly ) );
+  }
+
+  ret2 = reader->readDwgBlocks( *iface );
+  if ( ret && !ret2 )
+  {
+    error = DRW::BAD_READ_BLOCKS;
+    ret = ret2;
+  }
+
+  ret2 = reader->readDwgEntities( *iface );
+  if ( ret && !ret2 )
+  {
+    error = DRW::BAD_READ_ENTITIES;
+    ret = ret2;
+  }
+
+  ret2 = reader->readDwgObjects( *iface );
+  if ( ret && !ret2 )
+  {
+    error = DRW::BAD_READ_OBJECTS;
+    ret = ret2;
+  }
+
+  return ret;
+}
diff --git a/src/app/dwg/libdxfrw/libdwgr.h b/src/app/dwg/libdxfrw/libdwgr.h
new file mode 100644
index 0000000..17ed64c
--- /dev/null
+++ b/src/app/dwg/libdxfrw/libdwgr.h
@@ -0,0 +1,52 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef LIBDWGR_H
+#define LIBDWGR_H
+
+#include <string>
+
+#include "drw_entities.h"
+#include "drw_objects.h"
+#include "drw_classes.h"
+#include "drw_interface.h"
+
+class dwgReader;
+
+class dwgR
+{
+  public:
+    explicit dwgR( const char* name );
+    ~dwgR();
+    //read: return true if all ok
+    bool read( DRW_Interface *interface_, bool ext );
+    bool getPreview();
+    DRW::Version getVersion() {return version;}
+    DRW::error getError() {return error;}
+    bool testReader();
+    void setDebug( DRW::DBG_LEVEL lvl );
+
+  private:
+    bool openFile( std::ifstream *filestr );
+    bool processDwg();
+  private:
+    DRW::Version version;
+    DRW::error error;
+    std::string fileName;
+    bool applyExt; /*apply extrusion in entities to conv in 2D?*/
+    std::string codePage;
+    DRW_Interface *iface;
+    dwgReader *reader;
+
+};
+
+#endif // LIBDWGR_H
diff --git a/src/app/dwg/libdxfrw/libdxfrw.cpp b/src/app/dwg/libdxfrw/libdxfrw.cpp
new file mode 100644
index 0000000..6a01daa
--- /dev/null
+++ b/src/app/dwg/libdxfrw/libdxfrw.cpp
@@ -0,0 +1,3401 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+
+#include "libdxfrw.h"
+#include <fstream>
+#include <algorithm>
+#include <sstream>
+#include <cassert>
+
+#include "intern/drw_textcodec.h"
+#include "intern/dxfreader.h"
+#include "intern/dxfwriter.h"
+#include "intern/drw_dbg.h"
+
+#include "qgslogger.h"
+
+#define FIRSTHANDLE 48
+
+#if 0
+enum sections
+{
+  secUnknown,
+  secHeader,
+  secTables,
+  secBlocks,
+  secEntities,
+  secObjects
+};
+#endif
+
+dxfRW::dxfRW( const char* name )
+    : fileName( name )
+    , binFile( false )
+    , reader( nullptr )
+    , writer( nullptr )
+    , iface( nullptr )
+    , entCount( 0 )
+    , wlayer0( false )
+    , dimstyleStd( false )
+    , applyExt( false )
+    , writingBlock( false )
+    , elParts( 128 )  //parts number when convert ellipse to polyline
+    , currHandle( 0 )
+{
+  DRW_DBGSL( DRW_dbg::NONE );
+}
+
+dxfRW::~dxfRW()
+{
+  delete reader;
+  delete writer;
+  for ( std::vector<DRW_ImageDef*>::iterator it = imageDef.begin(); it != imageDef.end(); ++it )
+    delete *it;
+
+  imageDef.clear();
+}
+
+void dxfRW::setDebug( DRW::DBG_LEVEL lvl )
+{
+  switch ( lvl )
+  {
+    case DRW::DEBUG:
+      DRW_DBGSL( DRW_dbg::DEBUG );
+      break;
+    default:
+      DRW_DBGSL( DRW_dbg::NONE );
+  }
+}
+
+bool dxfRW::read( DRW_Interface *interface_, bool ext )
+{
+  drw_assert( fileName.empty() == false );
+  bool isOk = false;
+  applyExt = ext;
+  std::ifstream filestr;
+  if ( !interface_ )
+    return isOk;
+
+  filestr.open( fileName.c_str(), std::ios_base::in | std::ios::binary );
+  if ( !filestr.is_open() )
+    return isOk;
+  if ( !filestr.good() )
+    return isOk;
+
+  char line[22];
+  char line2[22] = "AutoCAD Binary DXF\r\n";
+  line2[20] = ( char )26;
+  line2[21] = '\0';
+  filestr.read( line, 22 );
+  filestr.close();
+  iface = interface_;
+
+  if ( strcmp( line, line2 ) == 0 )
+  {
+    filestr.open( fileName.c_str(), std::ios_base::in | std::ios::binary );
+    binFile = true;
+    //skip sentinel
+    filestr.seekg( 22, std::ios::beg );
+    reader = new dxfReaderBinary( &filestr );
+    QgsDebugMsg( "binary file" );
+  }
+  else
+  {
+    binFile = false;
+    filestr.open( fileName.c_str(), std::ios_base::in );
+    reader = new dxfReaderAscii( &filestr );
+  }
+
+  isOk = processDxf();
+  filestr.close();
+  delete reader;
+  reader = nullptr;
+  return isOk;
+}
+
+bool dxfRW::write( DRW_Interface *interface_, DRW::Version ver, bool bin )
+{
+  bool isOk = false;
+  std::ofstream filestr;
+  version = ver;
+  binFile = bin;
+  iface = interface_;
+  if ( binFile )
+  {
+    filestr.open( fileName.c_str(), std::ios_base::out | std::ios::binary | std::ios::trunc );
+    //write sentinel
+    filestr << "AutoCAD Binary DXF\r\n" << ( char )26 << '\0';
+    writer = new dxfWriterBinary( &filestr );
+    QgsDebugMsg( "binary file" );
+  }
+  else
+  {
+    filestr.open( fileName.c_str(), std::ios_base::out | std::ios::trunc );
+    writer = new dxfWriterAscii( &filestr );
+    std::string comm = std::string( "dxfrw " ) + std::string( DRW_VERSION );
+    writer->writeString( 999, comm );
+  }
+  DRW_Header header;
+  iface->writeHeader( header );
+  writer->writeString( 0, "SECTION" );
+  entCount = FIRSTHANDLE;
+  header.write( writer, version );
+  writer->writeString( 0, "ENDSEC" );
+  if ( ver > DRW::AC1009 )
+  {
+    writer->writeString( 0, "SECTION" );
+    writer->writeString( 2, "CLASSES" );
+    writer->writeString( 0, "ENDSEC" );
+  }
+  writer->writeString( 0, "SECTION" );
+  writer->writeString( 2, "TABLES" );
+  writeTables();
+  writer->writeString( 0, "ENDSEC" );
+  writer->writeString( 0, "SECTION" );
+  writer->writeString( 2, "BLOCKS" );
+  writeBlocks();
+  writer->writeString( 0, "ENDSEC" );
+
+  writer->writeString( 0, "SECTION" );
+  writer->writeString( 2, "ENTITIES" );
+  iface->writeEntities();
+  writer->writeString( 0, "ENDSEC" );
+
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "SECTION" );
+    writer->writeString( 2, "OBJECTS" );
+    writeObjects();
+    writer->writeString( 0, "ENDSEC" );
+  }
+  writer->writeString( 0, "EOF" );
+  filestr.flush();
+  filestr.close();
+  isOk = true;
+  delete writer;
+  writer = nullptr;
+  return isOk;
+}
+
+bool dxfRW::writeEntity( DRW_Entity *ent )
+{
+  ent->handle = ++entCount;
+  writer->writeString( 5, toHexStr( ent->handle ) );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbEntity" );
+  }
+  if ( ent->space == 1 )
+    writer->writeInt16( 67, 1 );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeUtf8String( 8, ent->layer );
+    writer->writeUtf8String( 6, ent->lineType );
+  }
+  else
+  {
+    writer->writeUtf8Caps( 8, ent->layer );
+    writer->writeUtf8Caps( 6, ent->lineType );
+  }
+  writer->writeInt16( 62, ent->color );
+  if ( version > DRW::AC1015 && ent->color24 >= 0 )
+  {
+    writer->writeInt32( 420, ent->color24 );
+  }
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeInt16( 370, DRW_LW_Conv::lineWidth2dxfInt( ent->lWeight ) );
+  }
+  return true;
+}
+
+bool dxfRW::writeLineType( DRW_LType *ent )
+{
+  std::string strname = ent->name;
+
+  transform( strname.begin(), strname.end(), strname.begin(),::toupper );
+//do not write linetypes handled by library
+  if ( strname == "BYLAYER" || strname == "BYBLOCK" || strname == "CONTINUOUS" )
+  {
+    return true;
+  }
+  writer->writeString( 0, "LTYPE" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, toHexStr( ++entCount ) );
+    if ( version > DRW::AC1012 )
+    {
+      writer->writeString( 330, "5" );
+    }
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbLinetypeTableRecord" );
+    writer->writeUtf8String( 2, ent->name );
+  }
+  else
+    writer->writeUtf8Caps( 2, ent->name );
+  writer->writeInt16( 70, ent->flags );
+  writer->writeUtf8String( 3, ent->desc );
+  ent->update();
+  writer->writeInt16( 72, 65 );
+  writer->writeInt16( 73, static_cast<int>( ent->size ) );
+  writer->writeDouble( 40, ent->length );
+
+  for ( unsigned int i = 0;  i < ent->path.size(); i++ )
+  {
+    writer->writeDouble( 49, ent->path.at( i ) );
+    if ( version > DRW::AC1009 )
+    {
+      writer->writeInt16( 74, 0 );
+    }
+  }
+  return true;
+}
+
+bool dxfRW::writeLayer( DRW_Layer *ent )
+{
+  writer->writeString( 0, "LAYER" );
+  if ( !wlayer0 && ent->name == "0" )
+  {
+    wlayer0 = true;
+    if ( version > DRW::AC1009 )
+    {
+      writer->writeString( 5, "10" );
+    }
+  }
+  else
+  {
+    if ( version > DRW::AC1009 )
+    {
+      writer->writeString( 5, toHexStr( ++entCount ) );
+    }
+  }
+  if ( version > DRW::AC1012 )
+  {
+    writer->writeString( 330, "2" );
+  }
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbLayerTableRecord" );
+    writer->writeUtf8String( 2, ent->name );
+  }
+  else
+  {
+    writer->writeUtf8Caps( 2, ent->name );
+  }
+  writer->writeInt16( 70, ent->flags );
+  writer->writeInt16( 62, ent->color );
+  if ( version > DRW::AC1015 && ent->color24 >= 0 )
+  {
+    writer->writeInt32( 420, ent->color24 );
+  }
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeUtf8String( 6, ent->lineType );
+    if ( ! ent->plotF )
+      writer->writeBool( 290, ent->plotF );
+    writer->writeInt16( 370, DRW_LW_Conv::lineWidth2dxfInt( ent->lWeight ) );
+    writer->writeString( 390, "F" );
+  }
+  else
+    writer->writeUtf8Caps( 6, ent->lineType );
+  if ( !ent->extData.empty() )
+  {
+    writeExtData( ent->extData );
+  }
+//    writer->writeString(347, "10012");
+  return true;
+}
+
+bool dxfRW::writeTextstyle( DRW_Textstyle *ent )
+{
+  writer->writeString( 0, "STYLE" );
+  if ( !dimstyleStd )
+  {
+    //stringstream cause crash in OS/X, bug#3597944
+    std::string name = ent->name;
+    transform( name.begin(), name.end(), name.begin(), toupper );
+    if ( name == "STANDARD" )
+      dimstyleStd = true;
+  }
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, toHexStr( ++entCount ) );
+  }
+
+  if ( version > DRW::AC1012 )
+  {
+    writer->writeString( 330, "2" );
+  }
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbTextStyleTableRecord" );
+    writer->writeUtf8String( 2, ent->name );
+  }
+  else
+  {
+    writer->writeUtf8Caps( 2, ent->name );
+  }
+  writer->writeInt16( 70, ent->flags );
+  writer->writeDouble( 40, ent->height );
+  writer->writeDouble( 41, ent->width );
+  writer->writeDouble( 50, ent->oblique );
+  writer->writeInt16( 71, ent->genFlag );
+  writer->writeDouble( 42, ent->lastHeight );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeUtf8String( 3, ent->font );
+    writer->writeUtf8String( 4, ent->bigFont );
+    if ( ent->fontFamily != 0 )
+      writer->writeInt32( 1071, ent->fontFamily );
+  }
+  else
+  {
+    writer->writeUtf8Caps( 3, ent->font );
+    writer->writeUtf8Caps( 4, ent->bigFont );
+  }
+  return true;
+}
+
+bool dxfRW::writeVport( DRW_Vport *ent )
+{
+  if ( !dimstyleStd )
+  {
+    ent->name = "*ACTIVE";
+    dimstyleStd = true;
+  }
+  writer->writeString( 0, "VPORT" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, toHexStr( ++entCount ) );
+    if ( version > DRW::AC1012 )
+      writer->writeString( 330, "2" );
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbViewportTableRecord" );
+    writer->writeUtf8String( 2, ent->name );
+  }
+  else
+    writer->writeUtf8Caps( 2, ent->name );
+  writer->writeInt16( 70, ent->flags );
+  writer->writeDouble( 10, ent->lowerLeft.x );
+  writer->writeDouble( 20, ent->lowerLeft.y );
+  writer->writeDouble( 11, ent->UpperRight.x );
+  writer->writeDouble( 21, ent->UpperRight.y );
+  writer->writeDouble( 12, ent->center.x );
+  writer->writeDouble( 22, ent->center.y );
+  writer->writeDouble( 13, ent->snapBase.x );
+  writer->writeDouble( 23, ent->snapBase.y );
+  writer->writeDouble( 14, ent->snapSpacing.x );
+  writer->writeDouble( 24, ent->snapSpacing.y );
+  writer->writeDouble( 15, ent->gridSpacing.x );
+  writer->writeDouble( 25, ent->gridSpacing.y );
+  writer->writeDouble( 16, ent->viewDir.x );
+  writer->writeDouble( 26, ent->viewDir.y );
+  writer->writeDouble( 36, ent->viewDir.z );
+  writer->writeDouble( 17, ent->viewTarget.z );
+  writer->writeDouble( 27, ent->viewTarget.z );
+  writer->writeDouble( 37, ent->viewTarget.z );
+  writer->writeDouble( 40, ent->height );
+  writer->writeDouble( 41, ent->ratio );
+  writer->writeDouble( 42, ent->lensHeight );
+  writer->writeDouble( 43, ent->frontClip );
+  writer->writeDouble( 44, ent->backClip );
+  writer->writeDouble( 50, ent->snapAngle );
+  writer->writeDouble( 51, ent->twistAngle );
+  writer->writeInt16( 71, ent->viewMode );
+  writer->writeInt16( 72, ent->circleZoom );
+  writer->writeInt16( 73, ent->fastZoom );
+  writer->writeInt16( 74, ent->ucsIcon );
+  writer->writeInt16( 75, ent->snap );
+  writer->writeInt16( 76, ent->grid );
+  writer->writeInt16( 77, ent->snapStyle );
+  writer->writeInt16( 78, ent->snapIsopair );
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeInt16( 281, 0 );
+    writer->writeInt16( 65, 1 );
+    writer->writeDouble( 110, 0.0 );
+    writer->writeDouble( 120, 0.0 );
+    writer->writeDouble( 130, 0.0 );
+    writer->writeDouble( 111, 1.0 );
+    writer->writeDouble( 121, 0.0 );
+    writer->writeDouble( 131, 0.0 );
+    writer->writeDouble( 112, 0.0 );
+    writer->writeDouble( 122, 1.0 );
+    writer->writeDouble( 132, 0.0 );
+    writer->writeInt16( 79, 0 );
+    writer->writeDouble( 146, 0.0 );
+    if ( version > DRW::AC1018 )
+    {
+      writer->writeString( 348, "10020" );
+      writer->writeInt16( 60, ent->gridBehavior ); // v2007 undocumented see DRW_Vport class
+      writer->writeInt16( 61, 5 );
+      writer->writeBool( 292, 1 );
+      writer->writeInt16( 282, 1 );
+      writer->writeDouble( 141, 0.0 );
+      writer->writeDouble( 142, 0.0 );
+      writer->writeInt16( 63, 250 );
+      writer->writeInt32( 421, 3358443 );
+    }
+  }
+  return true;
+}
+
+bool dxfRW::writeDimstyle( DRW_Dimstyle *ent )
+{
+  writer->writeString( 0, "DIMSTYLE" );
+  if ( !dimstyleStd )
+  {
+    std::string name = ent->name;
+    std::transform( name.begin(), name.end(), name.begin(),::toupper );
+    if ( name == "STANDARD" )
+      dimstyleStd = true;
+  }
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 105, toHexStr( ++entCount ) );
+  }
+
+  if ( version > DRW::AC1012 )
+  {
+    writer->writeString( 330, "A" );
+  }
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbDimStyleTableRecord" );
+    writer->writeUtf8String( 2, ent->name );
+  }
+  else
+    writer->writeUtf8Caps( 2, ent->name );
+  writer->writeInt16( 70, ent->flags );
+  if ( version == DRW::AC1009 || !( ent->dimpost.empty() ) )
+    writer->writeUtf8String( 3, ent->dimpost );
+  if ( version == DRW::AC1009 || !( ent->dimapost.empty() ) )
+    writer->writeUtf8String( 4, ent->dimapost );
+  if ( version == DRW::AC1009 || !( ent->dimblk.empty() ) )
+    writer->writeUtf8String( 5, ent->dimblk );
+  if ( version == DRW::AC1009 || !( ent->dimblk1.empty() ) )
+    writer->writeUtf8String( 6, ent->dimblk1 );
+  if ( version == DRW::AC1009 || !( ent->dimblk2.empty() ) )
+    writer->writeUtf8String( 7, ent->dimblk2 );
+  writer->writeDouble( 40, ent->dimscale );
+  writer->writeDouble( 41, ent->dimasz );
+  writer->writeDouble( 42, ent->dimexo );
+  writer->writeDouble( 43, ent->dimdli );
+  writer->writeDouble( 44, ent->dimexe );
+  writer->writeDouble( 45, ent->dimrnd );
+  writer->writeDouble( 46, ent->dimdle );
+  writer->writeDouble( 47, ent->dimtp );
+  writer->writeDouble( 48, ent->dimtm );
+  if ( version > DRW::AC1018 || ent->dimfxl != 0 )
+    writer->writeDouble( 49, ent->dimfxl );
+  writer->writeDouble( 140, ent->dimtxt );
+  writer->writeDouble( 141, ent->dimcen );
+  writer->writeDouble( 142, ent->dimtsz );
+  writer->writeDouble( 143, ent->dimaltf );
+  writer->writeDouble( 144, ent->dimlfac );
+  writer->writeDouble( 145, ent->dimtvp );
+  writer->writeDouble( 146, ent->dimtfac );
+  writer->writeDouble( 147, ent->dimgap );
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeDouble( 148, ent->dimaltrnd );
+  }
+  writer->writeInt16( 71, ent->dimtol );
+  writer->writeInt16( 72, ent->dimlim );
+  writer->writeInt16( 73, ent->dimtih );
+  writer->writeInt16( 74, ent->dimtoh );
+  writer->writeInt16( 75, ent->dimse1 );
+  writer->writeInt16( 76, ent->dimse2 );
+  writer->writeInt16( 77, ent->dimtad );
+  writer->writeInt16( 78, ent->dimzin );
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeInt16( 79, ent->dimazin );
+  }
+  writer->writeInt16( 170, ent->dimalt );
+  writer->writeInt16( 171, ent->dimaltd );
+  writer->writeInt16( 172, ent->dimtofl );
+  writer->writeInt16( 173, ent->dimsah );
+  writer->writeInt16( 174, ent->dimtix );
+  writer->writeInt16( 175, ent->dimsoxd );
+  writer->writeInt16( 176, ent->dimclrd );
+  writer->writeInt16( 177, ent->dimclre );
+  writer->writeInt16( 178, ent->dimclrt );
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeInt16( 179, ent->dimadec );
+  }
+  if ( version > DRW::AC1009 )
+  {
+    if ( version < DRW::AC1015 )
+      writer->writeInt16( 270, ent->dimunit );
+    writer->writeInt16( 271, ent->dimdec );
+    writer->writeInt16( 272, ent->dimtdec );
+    writer->writeInt16( 273, ent->dimaltu );
+    writer->writeInt16( 274, ent->dimalttd );
+    writer->writeInt16( 275, ent->dimaunit );
+  }
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeInt16( 276, ent->dimfrac );
+    writer->writeInt16( 277, ent->dimlunit );
+    writer->writeInt16( 278, ent->dimdsep );
+    writer->writeInt16( 279, ent->dimtmove );
+  }
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeInt16( 280, ent->dimjust );
+    writer->writeInt16( 281, ent->dimsd1 );
+    writer->writeInt16( 282, ent->dimsd2 );
+    writer->writeInt16( 283, ent->dimtolj );
+    writer->writeInt16( 284, ent->dimtzin );
+    writer->writeInt16( 285, ent->dimaltz );
+    writer->writeInt16( 286, ent->dimaltttz );
+    if ( version < DRW::AC1015 )
+      writer->writeInt16( 287, ent->dimfit );
+    writer->writeInt16( 288, ent->dimupt );
+  }
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeInt16( 289, ent->dimatfit );
+  }
+  if ( version > DRW::AC1018 && ent->dimfxlon != 0 )
+    writer->writeInt16( 290, ent->dimfxlon );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeUtf8String( 340, ent->dimtxsty );
+  }
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeUtf8String( 341, ent->dimldrblk );
+    writer->writeInt16( 371, ent->dimlwd );
+    writer->writeInt16( 372, ent->dimlwe );
+  }
+  return true;
+}
+
+bool dxfRW::writeAppId( DRW_AppId *ent )
+{
+  std::string strname = ent->name;
+  transform( strname.begin(), strname.end(), strname.begin(),::toupper );
+//do not write mandatory ACAD appId, handled by library
+  if ( strname == "ACAD" )
+    return true;
+  writer->writeString( 0, "APPID" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, toHexStr( ++entCount ) );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "9" );
+    }
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbRegAppTableRecord" );
+    writer->writeUtf8String( 2, ent->name );
+  }
+  else
+  {
+    writer->writeUtf8Caps( 2, ent->name );
+  }
+  writer->writeInt16( 70, ent->flags );
+  return true;
+}
+
+bool dxfRW::writePoint( DRW_Point *ent )
+{
+  writer->writeString( 0, "POINT" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbPoint" );
+  }
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  if ( ent->basePoint.z != 0.0 )
+  {
+    writer->writeDouble( 30, ent->basePoint.z );
+  }
+  return true;
+}
+
+bool dxfRW::writeLine( DRW_Line *ent )
+{
+  writer->writeString( 0, "LINE" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbLine" );
+  }
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  if ( ent->basePoint.z != 0.0 || ent->secPoint.z != 0.0 )
+  {
+    writer->writeDouble( 30, ent->basePoint.z );
+    writer->writeDouble( 11, ent->secPoint.x );
+    writer->writeDouble( 21, ent->secPoint.y );
+    writer->writeDouble( 31, ent->secPoint.z );
+  }
+  else
+  {
+    writer->writeDouble( 11, ent->secPoint.x );
+    writer->writeDouble( 21, ent->secPoint.y );
+  }
+  return true;
+}
+
+bool dxfRW::writeRay( DRW_Ray *ent )
+{
+  writer->writeString( 0, "RAY" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbRay" );
+  }
+  DRW_Coord crd = ent->secPoint;
+  crd.unitize();
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  if ( ent->basePoint.z != 0.0 || ent->secPoint.z != 0.0 )
+  {
+    writer->writeDouble( 30, ent->basePoint.z );
+    writer->writeDouble( 11, crd.x );
+    writer->writeDouble( 21, crd.y );
+    writer->writeDouble( 31, crd.z );
+  }
+  else
+  {
+    writer->writeDouble( 11, crd.x );
+    writer->writeDouble( 21, crd.y );
+  }
+  return true;
+}
+
+bool dxfRW::writeXline( DRW_Xline *ent )
+{
+  writer->writeString( 0, "XLINE" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbXline" );
+  }
+  DRW_Coord crd = ent->secPoint;
+  crd.unitize();
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  if ( ent->basePoint.z != 0.0 || ent->secPoint.z != 0.0 )
+  {
+    writer->writeDouble( 30, ent->basePoint.z );
+    writer->writeDouble( 11, crd.x );
+    writer->writeDouble( 21, crd.y );
+    writer->writeDouble( 31, crd.z );
+  }
+  else
+  {
+    writer->writeDouble( 11, crd.x );
+    writer->writeDouble( 21, crd.y );
+  }
+  return true;
+}
+
+bool dxfRW::writeCircle( DRW_Circle *ent )
+{
+  writer->writeString( 0, "CIRCLE" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbCircle" );
+  }
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  if ( ent->basePoint.z != 0.0 )
+  {
+    writer->writeDouble( 30, ent->basePoint.z );
+  }
+  writer->writeDouble( 40, ent->mRadius );
+  return true;
+}
+
+bool dxfRW::writeArc( DRW_Arc *ent )
+{
+  writer->writeString( 0, "ARC" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbCircle" );
+  }
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  if ( ent->basePoint.z != 0.0 )
+  {
+    writer->writeDouble( 30, ent->basePoint.z );
+  }
+  writer->writeDouble( 40, ent->mRadius );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbArc" );
+  }
+  writer->writeDouble( 50, ent->staangle*ARAD );
+  writer->writeDouble( 51, ent->endangle*ARAD );
+  return true;
+}
+
+bool dxfRW::writeEllipse( DRW_Ellipse *ent )
+{
+  //verify axis/ratio and params for full ellipse
+  ent->correctAxis();
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "ELLIPSE" );
+    writeEntity( ent );
+    if ( version > DRW::AC1009 )
+    {
+      writer->writeString( 100, "AcDbEllipse" );
+    }
+    writer->writeDouble( 10, ent->basePoint.x );
+    writer->writeDouble( 20, ent->basePoint.y );
+    writer->writeDouble( 30, ent->basePoint.z );
+    writer->writeDouble( 11, ent->secPoint.x );
+    writer->writeDouble( 21, ent->secPoint.y );
+    writer->writeDouble( 31, ent->secPoint.z );
+    writer->writeDouble( 40, ent->ratio );
+    writer->writeDouble( 41, ent->staparam );
+    writer->writeDouble( 42, ent->endparam );
+  }
+  else
+  {
+    DRW_Polyline pol;
+    //RLZ: copy properties
+    ent->toPolyline( &pol, elParts );
+    writePolyline( &pol );
+  }
+  return true;
+}
+
+bool dxfRW::writeTrace( DRW_Trace *ent )
+{
+  writer->writeString( 0, "TRACE" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbTrace" );
+  }
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  writer->writeDouble( 30, ent->basePoint.z );
+  writer->writeDouble( 11, ent->secPoint.x );
+  writer->writeDouble( 21, ent->secPoint.y );
+  writer->writeDouble( 31, ent->secPoint.z );
+  writer->writeDouble( 12, ent->thirdPoint.x );
+  writer->writeDouble( 22, ent->thirdPoint.y );
+  writer->writeDouble( 32, ent->thirdPoint.z );
+  writer->writeDouble( 13, ent->fourthPoint.x );
+  writer->writeDouble( 23, ent->fourthPoint.y );
+  writer->writeDouble( 33, ent->fourthPoint.z );
+  return true;
+}
+
+bool dxfRW::writeSolid( DRW_Solid *ent )
+{
+  writer->writeString( 0, "SOLID" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbTrace" );
+  }
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  writer->writeDouble( 30, ent->basePoint.z );
+  writer->writeDouble( 11, ent->secPoint.x );
+  writer->writeDouble( 21, ent->secPoint.y );
+  writer->writeDouble( 31, ent->secPoint.z );
+  writer->writeDouble( 12, ent->thirdPoint.x );
+  writer->writeDouble( 22, ent->thirdPoint.y );
+  writer->writeDouble( 32, ent->thirdPoint.z );
+  writer->writeDouble( 13, ent->fourthPoint.x );
+  writer->writeDouble( 23, ent->fourthPoint.y );
+  writer->writeDouble( 33, ent->fourthPoint.z );
+  return true;
+}
+
+bool dxfRW::write3dface( DRW_3Dface *ent )
+{
+  writer->writeString( 0, "3DFACE" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbFace" );
+  }
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  writer->writeDouble( 30, ent->basePoint.z );
+  writer->writeDouble( 11, ent->secPoint.x );
+  writer->writeDouble( 21, ent->secPoint.y );
+  writer->writeDouble( 31, ent->secPoint.z );
+  writer->writeDouble( 12, ent->thirdPoint.x );
+  writer->writeDouble( 22, ent->thirdPoint.y );
+  writer->writeDouble( 32, ent->thirdPoint.z );
+  writer->writeDouble( 13, ent->fourthPoint.x );
+  writer->writeDouble( 23, ent->fourthPoint.y );
+  writer->writeDouble( 33, ent->fourthPoint.z );
+  writer->writeInt16( 70, ent->invisibleflag );
+  return true;
+}
+
+bool dxfRW::writeLWPolyline( DRW_LWPolyline *ent )
+{
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "LWPOLYLINE" );
+    writeEntity( ent );
+    if ( version > DRW::AC1009 )
+    {
+      writer->writeString( 100, "AcDbPolyline" );
+    }
+    ent->vertexnum = ent->vertlist.size();
+    writer->writeInt32( 90, static_cast<int>( ent->vertexnum ) );
+    writer->writeInt16( 70, ent->flags );
+    writer->writeDouble( 43, ent->width );
+    if ( ent->elevation != 0 )
+      writer->writeDouble( 38, ent->elevation );
+    if ( ent->thickness != 0 )
+      writer->writeDouble( 39, ent->thickness );
+    for ( std::vector<DRW_Vertex2D *>::size_type i = 0;  i < ent->vertexnum; i++ )
+    {
+      DRW_Vertex2D *v = ent->vertlist.at( i );
+      writer->writeDouble( 10, v->x );
+      writer->writeDouble( 20, v->y );
+      if ( v->stawidth != 0 )
+        writer->writeDouble( 40, v->stawidth );
+      if ( v->endwidth != 0 )
+        writer->writeDouble( 41, v->endwidth );
+      if ( v->bulge != 0 )
+        writer->writeDouble( 42, v->bulge );
+    }
+  }
+  else
+  {
+    //RLZ: TODO convert lwpolyline in polyline (not exist in acad 12)
+  }
+  return true;
+}
+
+bool dxfRW::writePolyline( DRW_Polyline *ent )
+{
+  writer->writeString( 0, "POLYLINE" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    if ( ent->flags & 8 || ent->flags & 16 )
+      writer->writeString( 100, "AcDb2dPolyline" );
+    else
+      writer->writeString( 100, "AcDb3dPolyline" );
+  }
+  else
+    writer->writeInt16( 66, 1 );
+  writer->writeDouble( 10, 0.0 );
+  writer->writeDouble( 20, 0.0 );
+  writer->writeDouble( 30, ent->basePoint.z );
+  if ( ent->thickness != 0 )
+  {
+    writer->writeDouble( 39, ent->thickness );
+  }
+  writer->writeInt16( 70, ent->flags );
+  if ( ent->defstawidth != 0 )
+  {
+    writer->writeDouble( 40, ent->defstawidth );
+  }
+  if ( ent->defendwidth != 0 )
+  {
+    writer->writeDouble( 41, ent->defendwidth );
+  }
+  if ( ent->flags & 16 || ent->flags & 32 )
+  {
+    writer->writeInt16( 71, ent->vertexcount );
+    writer->writeInt16( 72, ent->facecount );
+  }
+  if ( ent->smoothM != 0 )
+  {
+    writer->writeInt16( 73, ent->smoothM );
+  }
+  if ( ent->smoothN != 0 )
+  {
+    writer->writeInt16( 74, ent->smoothN );
+  }
+  if ( ent->curvetype != 0 )
+  {
+    writer->writeInt16( 75, ent->curvetype );
+  }
+  DRW_Coord crd  = ent->extPoint;
+  if ( crd.x != 0 || crd.y != 0 || crd.z != 1 )
+  {
+    writer->writeDouble( 210, crd.x );
+    writer->writeDouble( 220, crd.y );
+    writer->writeDouble( 230, crd.z );
+  }
+
+  std::vector<DRW_Vertex2D *>::size_type vertexnum = ent->vertlist.size();
+  for ( std::vector<DRW_Vertex2D *>::size_type i = 0;  i < vertexnum; i++ )
+  {
+    DRW_Vertex *v = ent->vertlist.at( i );
+    writer->writeString( 0, "VERTEX" );
+    writeEntity( ent );
+    if ( version > DRW::AC1009 )
+      writer->writeString( 100, "AcDbVertex" );
+    if (( v->flags & 128 ) && !( v->flags & 64 ) )
+    {
+      writer->writeDouble( 10, 0 );
+      writer->writeDouble( 20, 0 );
+      writer->writeDouble( 30, 0 );
+    }
+    else
+    {
+      writer->writeDouble( 10, v->basePoint.x );
+      writer->writeDouble( 20, v->basePoint.y );
+      writer->writeDouble( 30, v->basePoint.z );
+    }
+    if ( v->stawidth != 0 )
+      writer->writeDouble( 40, v->stawidth );
+    if ( v->endwidth != 0 )
+      writer->writeDouble( 41, v->endwidth );
+    if ( v->bulge != 0 )
+      writer->writeDouble( 42, v->bulge );
+    if ( v->flags != 0 )
+    {
+      writer->writeInt16( 70, ent->flags );
+    }
+    if ( v->flags & 2 )
+    {
+      writer->writeDouble( 50, v->tgdir );
+    }
+    if ( v->flags & 128 )
+    {
+      if ( v->vindex1 != 0 )
+      {
+        writer->writeInt16( 71, v->vindex1 );
+      }
+      if ( v->vindex2 != 0 )
+      {
+        writer->writeInt16( 72, v->vindex2 );
+      }
+      if ( v->vindex3 != 0 )
+      {
+        writer->writeInt16( 73, v->vindex3 );
+      }
+      if ( v->vindex4 != 0 )
+      {
+        writer->writeInt16( 74, v->vindex4 );
+      }
+      if ( !( v->flags & 64 ) )
+      {
+        writer->writeInt32( 91, v->identifier );
+      }
+    }
+  }
+  writer->writeString( 0, "SEQEND" );
+  writeEntity( ent );
+  return true;
+}
+
+bool dxfRW::writeSpline( DRW_Spline *ent )
+{
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "SPLINE" );
+    writeEntity( ent );
+    if ( version > DRW::AC1009 )
+    {
+      writer->writeString( 100, "AcDbSpline" );
+    }
+    writer->writeDouble( 210, ent->normalVec.x );
+    writer->writeDouble( 220, ent->normalVec.y );
+    writer->writeDouble( 230, ent->normalVec.z );
+    writer->writeInt16( 70, ent->flags );
+    writer->writeInt16( 71, ent->degree );
+    writer->writeInt16( 72, ent->nknots );
+    writer->writeInt16( 73, ent->ncontrol );
+    writer->writeInt16( 74, ent->nfit );
+    writer->writeDouble( 42, ent->tolknot );
+    writer->writeDouble( 43, ent->tolcontrol );
+    //RLZ: warning check if nknots are correct and ncontrol
+    for ( int i = 0;  i < ent->nknots; i++ )
+    {
+      writer->writeDouble( 40, ent->knotslist.at( i ) );
+    }
+    for ( int i = 0;  i < ent->ncontrol; i++ )
+    {
+      DRW_Coord *crd = ent->controllist.at( i );
+      writer->writeDouble( 10, crd->x );
+      writer->writeDouble( 20, crd->y );
+      writer->writeDouble( 30, crd->z );
+    }
+  }
+  else
+  {
+    //RLZ: TODO convert spline in polyline (not exist in acad 12)
+  }
+  return true;
+}
+
+bool dxfRW::writeHatch( DRW_Hatch *ent )
+{
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "HATCH" );
+    writeEntity( ent );
+    writer->writeString( 100, "AcDbHatch" );
+    writer->writeDouble( 10, 0.0 );
+    writer->writeDouble( 20, 0.0 );
+    writer->writeDouble( 30, ent->basePoint.z );
+    writer->writeDouble( 210, ent->extPoint.x );
+    writer->writeDouble( 220, ent->extPoint.y );
+    writer->writeDouble( 230, ent->extPoint.z );
+    writer->writeString( 2, ent->name );
+    writer->writeInt16( 70, ent->solid );
+    writer->writeInt16( 71, ent->associative );
+    ent->loopsnum = ent->looplist.size();
+    writer->writeInt16( 91, static_cast<int>( ent->loopsnum ) );
+    //write paths data
+    for ( std::vector<DRW_HatchLoop *>::size_type i = 0;  i < ent->loopsnum; i++ )
+    {
+      DRW_HatchLoop *loop = ent->looplist.at( i );
+      writer->writeInt16( 92, loop->type );
+      if (( loop->type & 2 ) == 2 )
+      {
+        //RLZ: polyline boundary writeme
+      }
+      else
+      {
+        //boundary path
+        loop->update();
+        writer->writeInt16( 93, static_cast<int>( loop->numedges ) );
+        for ( std::vector<DRW_Entity *>::size_type j = 0; j < loop->numedges; ++j )
+        {
+          switch (( loop->objlist.at( j ) )->eType )
+          {
+            case DRW::LINE:
+            {
+              writer->writeInt16( 72, 1 );
+              DRW_Line* l = ( DRW_Line* )loop->objlist.at( j );
+              writer->writeDouble( 10, l->basePoint.x );
+              writer->writeDouble( 20, l->basePoint.y );
+              writer->writeDouble( 11, l->secPoint.x );
+              writer->writeDouble( 21, l->secPoint.y );
+              break;
+            }
+            case DRW::ARC:
+            {
+              writer->writeInt16( 72, 2 );
+              DRW_Arc* a = ( DRW_Arc* )loop->objlist.at( j );
+              writer->writeDouble( 10, a->basePoint.x );
+              writer->writeDouble( 20, a->basePoint.y );
+              writer->writeDouble( 40, a->mRadius );
+              writer->writeDouble( 50, a->staangle*ARAD );
+              writer->writeDouble( 51, a->endangle*ARAD );
+              writer->writeInt16( 73, a->isccw );
+              break;
+            }
+            case DRW::ELLIPSE:
+            {
+              writer->writeInt16( 72, 3 );
+              DRW_Ellipse* a = ( DRW_Ellipse* )loop->objlist.at( j );
+              a->correctAxis();
+              writer->writeDouble( 10, a->basePoint.x );
+              writer->writeDouble( 20, a->basePoint.y );
+              writer->writeDouble( 11, a->secPoint.x );
+              writer->writeDouble( 21, a->secPoint.y );
+              writer->writeDouble( 40, a->ratio );
+              writer->writeDouble( 50, a->staparam*ARAD );
+              writer->writeDouble( 51, a->endparam*ARAD );
+              writer->writeInt16( 73, a->isccw );
+              break;
+            }
+            case DRW::SPLINE:
+              //RLZ: spline boundary writeme
+//                        writer->writeInt16(72, 4);
+              break;
+            default:
+              break;
+          }
+        }
+        writer->writeInt16( 97, 0 );
+      }
+    }
+    writer->writeInt16( 75, ent->hstyle );
+    writer->writeInt16( 76, ent->hpattern );
+    if ( !ent->solid )
+    {
+      writer->writeDouble( 52, ent->angle );
+      writer->writeDouble( 41, ent->scale );
+      writer->writeInt16( 77, ent->doubleflag );
+      writer->writeInt16( 78, ent->deflines );
+    }
+#if 0
+    if ( ent->deflines > 0 )
+    {
+      writer->writeInt16( 78, ent->deflines );
+    }
+#endif
+    writer->writeInt32( 98, 0 );
+  }
+  else
+  {
+    //RLZ: TODO verify in acad12
+  }
+  return true;
+}
+
+bool dxfRW::writeLeader( DRW_Leader *ent )
+{
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "LEADER" );
+    writeEntity( ent );
+    writer->writeString( 100, "AcDbLeader" );
+    writer->writeUtf8String( 3, ent->style );
+    writer->writeInt16( 71, ent->arrow );
+    writer->writeInt16( 72, ent->leadertype );
+    writer->writeInt16( 73, ent->flag );
+    writer->writeInt16( 74, ent->hookline );
+    writer->writeInt16( 75, ent->hookflag );
+    writer->writeDouble( 40, ent->textheight );
+    writer->writeDouble( 41, ent->textwidth );
+    writer->writeDouble( 76, ent->vertnum );
+    writer->writeDouble( 76, ent->vertexlist.size() );
+    for ( unsigned int i = 0; i < ent->vertexlist.size(); i++ )
+    {
+      DRW_Coord *vert = ent->vertexlist.at( i );
+      writer->writeDouble( 10, vert->x );
+      writer->writeDouble( 20, vert->y );
+      writer->writeDouble( 30, vert->z );
+    }
+  }
+  else
+  {
+    //RLZ: todo not supported by acad 12 saved as unnamed block
+  }
+  return true;
+}
+bool dxfRW::writeDimension( DRW_Dimension *ent )
+{
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "DIMENSION" );
+    writeEntity( ent );
+    writer->writeString( 100, "AcDbDimension" );
+    if ( !ent->getName().empty() )
+    {
+      writer->writeString( 2, ent->getName() );
+    }
+    writer->writeDouble( 10, ent->getDefPoint().x );
+    writer->writeDouble( 20, ent->getDefPoint().y );
+    writer->writeDouble( 30, ent->getDefPoint().z );
+    writer->writeDouble( 11, ent->getTextPoint().x );
+    writer->writeDouble( 21, ent->getTextPoint().y );
+    writer->writeDouble( 31, ent->getTextPoint().z );
+    if ( !( ent->type & 32 ) )
+      ent->type = ent->type + 32;
+    writer->writeInt16( 70, ent->type );
+    if ( !( ent->getText().empty() ) )
+      writer->writeUtf8String( 1, ent->getText() );
+    writer->writeInt16( 71, ent->getAlign() );
+    if ( ent->getTextLineStyle() != 1 )
+      writer->writeInt16( 72, ent->getTextLineStyle() );
+    if ( ent->getTextLineFactor() != 1 )
+      writer->writeDouble( 41, ent->getTextLineFactor() );
+    writer->writeUtf8String( 3, ent->getStyle() );
+    if ( ent->getTextLineFactor() != 0 )
+      writer->writeDouble( 53, ent->getDir() );
+    writer->writeDouble( 210, ent->getExtrusion().x );
+    writer->writeDouble( 220, ent->getExtrusion().y );
+    writer->writeDouble( 230, ent->getExtrusion().z );
+
+    switch ( ent->eType )
+    {
+      case DRW::DIMALIGNED:
+      case DRW::DIMLINEAR:
+      {
+        DRW_DimAligned * dd = ( DRW_DimAligned* )ent;
+        writer->writeString( 100, "AcDbAlignedDimension" );
+        DRW_Coord crd = dd->getClonepoint();
+        if ( crd.x != 0 || crd.y != 0 || crd.z != 0 )
+        {
+          writer->writeDouble( 12, crd.x );
+          writer->writeDouble( 22, crd.y );
+          writer->writeDouble( 32, crd.z );
+        }
+        writer->writeDouble( 13, dd->getDef1Point().x );
+        writer->writeDouble( 23, dd->getDef1Point().y );
+        writer->writeDouble( 33, dd->getDef1Point().z );
+        writer->writeDouble( 14, dd->getDef2Point().x );
+        writer->writeDouble( 24, dd->getDef2Point().y );
+        writer->writeDouble( 34, dd->getDef2Point().z );
+        if ( ent->eType == DRW::DIMLINEAR )
+        {
+          DRW_DimLinear * dl = ( DRW_DimLinear* )ent;
+          if ( dl->getAngle() != 0 )
+            writer->writeDouble( 50, dl->getAngle() );
+          if ( dl->getOblique() != 0 )
+            writer->writeDouble( 52, dl->getOblique() );
+          writer->writeString( 100, "AcDbRotatedDimension" );
+        }
+        break;
+      }
+      case DRW::DIMRADIAL:
+      {
+        DRW_DimRadial * dd = ( DRW_DimRadial* )ent;
+        writer->writeString( 100, "AcDbRadialDimension" );
+        writer->writeDouble( 15, dd->getDiameterPoint().x );
+        writer->writeDouble( 25, dd->getDiameterPoint().y );
+        writer->writeDouble( 35, dd->getDiameterPoint().z );
+        writer->writeDouble( 40, dd->getLeaderLength() );
+        break;
+      }
+      case DRW::DIMDIAMETRIC:
+      {
+        DRW_DimDiametric * dd = ( DRW_DimDiametric* )ent;
+        writer->writeString( 100, "AcDbDiametricDimension" );
+        writer->writeDouble( 15, dd->getDiameter1Point().x );
+        writer->writeDouble( 25, dd->getDiameter1Point().y );
+        writer->writeDouble( 35, dd->getDiameter1Point().z );
+        writer->writeDouble( 40, dd->getLeaderLength() );
+        break;
+      }
+      case DRW::DIMANGULAR:
+      {
+        DRW_DimAngular * dd = ( DRW_DimAngular* )ent;
+        writer->writeString( 100, "AcDb2LineAngularDimension" );
+        writer->writeDouble( 13, dd->getFirstLine1().x );
+        writer->writeDouble( 23, dd->getFirstLine1().y );
+        writer->writeDouble( 33, dd->getFirstLine1().z );
+        writer->writeDouble( 14, dd->getFirstLine2().x );
+        writer->writeDouble( 24, dd->getFirstLine2().y );
+        writer->writeDouble( 34, dd->getFirstLine2().z );
+        writer->writeDouble( 15, dd->getSecondLine1().x );
+        writer->writeDouble( 25, dd->getSecondLine1().y );
+        writer->writeDouble( 35, dd->getSecondLine1().z );
+        writer->writeDouble( 16, dd->getDimPoint().x );
+        writer->writeDouble( 26, dd->getDimPoint().y );
+        writer->writeDouble( 36, dd->getDimPoint().z );
+        break;
+      }
+      case DRW::DIMANGULAR3P:
+      {
+        DRW_DimAngular3p * dd = ( DRW_DimAngular3p* )ent;
+        writer->writeDouble( 13, dd->getFirstLine().x );
+        writer->writeDouble( 23, dd->getFirstLine().y );
+        writer->writeDouble( 33, dd->getFirstLine().z );
+        writer->writeDouble( 14, dd->getSecondLine().x );
+        writer->writeDouble( 24, dd->getSecondLine().y );
+        writer->writeDouble( 34, dd->getSecondLine().z );
+        writer->writeDouble( 15, dd->getVertexPoint().x );
+        writer->writeDouble( 25, dd->getVertexPoint().y );
+        writer->writeDouble( 35, dd->getVertexPoint().z );
+        break;
+      }
+      case DRW::DIMORDINATE:
+      {
+        DRW_DimOrdinate * dd = ( DRW_DimOrdinate* )ent;
+        writer->writeString( 100, "AcDbOrdinateDimension" );
+        writer->writeDouble( 13, dd->getFirstLine().x );
+        writer->writeDouble( 23, dd->getFirstLine().y );
+        writer->writeDouble( 33, dd->getFirstLine().z );
+        writer->writeDouble( 14, dd->getSecondLine().x );
+        writer->writeDouble( 24, dd->getSecondLine().y );
+        writer->writeDouble( 34, dd->getSecondLine().z );
+        break;
+      }
+      default:
+        break;
+    }
+  }
+  else
+  {
+    //RLZ: todo not supported by acad 12 saved as unnamed block
+  }
+  return true;
+}
+
+bool dxfRW::writeInsert( DRW_Insert *ent )
+{
+  writer->writeString( 0, "INSERT" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbBlockReference" );
+    writer->writeUtf8String( 2, ent->name );
+  }
+  else
+    writer->writeUtf8Caps( 2, ent->name );
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  writer->writeDouble( 30, ent->basePoint.z );
+  writer->writeDouble( 41, ent->xscale );
+  writer->writeDouble( 42, ent->yscale );
+  writer->writeDouble( 43, ent->zscale );
+  writer->writeDouble( 50, ( ent->angle )*ARAD ); //in dxf angle is writed in degrees
+  writer->writeInt16( 70, ent->colcount );
+  writer->writeInt16( 71, ent->rowcount );
+  writer->writeDouble( 44, ent->colspace );
+  writer->writeDouble( 45, ent->rowspace );
+  return true;
+}
+
+bool dxfRW::writeText( DRW_Text *ent )
+{
+  writer->writeString( 0, "TEXT" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbText" );
+  }
+//    writer->writeDouble(39, ent->thickness);
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  writer->writeDouble( 30, ent->basePoint.z );
+  writer->writeDouble( 40, ent->height );
+  writer->writeUtf8String( 1, ent->text );
+  writer->writeDouble( 50, ent->angle );
+  writer->writeDouble( 41, ent->widthscale );
+  writer->writeDouble( 51, ent->oblique );
+  if ( version > DRW::AC1009 )
+    writer->writeUtf8String( 7, ent->style );
+  else
+    writer->writeUtf8Caps( 7, ent->style );
+  writer->writeInt16( 71, ent->textgen );
+  if ( ent->alignH != DRW_Text::HLeft )
+  {
+    writer->writeInt16( 72, ent->alignH );
+  }
+  if ( ent->alignH != DRW_Text::HLeft || ent->alignV != DRW_Text::VBaseLine )
+  {
+    writer->writeDouble( 11, ent->secPoint.x );
+    writer->writeDouble( 21, ent->secPoint.y );
+    writer->writeDouble( 31, ent->secPoint.z );
+  }
+  writer->writeDouble( 210, ent->extPoint.x );
+  writer->writeDouble( 220, ent->extPoint.y );
+  writer->writeDouble( 230, ent->extPoint.z );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbText" );
+  }
+  if ( ent->alignV != DRW_Text::VBaseLine )
+  {
+    writer->writeInt16( 73, ent->alignV );
+  }
+  return true;
+}
+
+bool dxfRW::writeMText( DRW_MText *ent )
+{
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "MTEXT" );
+    writeEntity( ent );
+    writer->writeString( 100, "AcDbMText" );
+    writer->writeDouble( 10, ent->basePoint.x );
+    writer->writeDouble( 20, ent->basePoint.y );
+    writer->writeDouble( 30, ent->basePoint.z );
+    writer->writeDouble( 40, ent->height );
+    writer->writeDouble( 41, ent->widthscale );
+    writer->writeInt16( 71, ent->textgen );
+    writer->writeInt16( 72, ent->alignH );
+    std::string text = writer->fromUtf8String( ent->text );
+
+    int i;
+    for ( i = 0; ( text.size() - i ) > 250; )
+    {
+      writer->writeString( 3, text.substr( i, 250 ) );
+      i += 250;
+    }
+    writer->writeString( 1, text.substr( i ) );
+    writer->writeString( 7, ent->style );
+    writer->writeDouble( 210, ent->extPoint.x );
+    writer->writeDouble( 220, ent->extPoint.y );
+    writer->writeDouble( 230, ent->extPoint.z );
+    writer->writeDouble( 50, ent->angle );
+    writer->writeInt16( 73, ent->alignV );
+    writer->writeDouble( 44, ent->interlin );
+//RLZ ... 11, 21, 31 needed?
+  }
+  else
+  {
+    //RLZ: TODO convert mtext in text lines (not exist in acad 12)
+  }
+  return true;
+}
+
+bool dxfRW::writeViewport( DRW_Viewport *ent )
+{
+  writer->writeString( 0, "VIEWPORT" );
+  writeEntity( ent );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbViewport" );
+  }
+  writer->writeDouble( 10, ent->basePoint.x );
+  writer->writeDouble( 20, ent->basePoint.y );
+  if ( ent->basePoint.z != 0.0 )
+    writer->writeDouble( 30, ent->basePoint.z );
+  writer->writeDouble( 40, ent->pswidth );
+  writer->writeDouble( 41, ent->psheight );
+  writer->writeInt16( 68, ent->vpstatus );
+  writer->writeInt16( 69, ent->vpID );
+  writer->writeDouble( 12, ent->centerPX );//RLZ: verify if exist in V12
+  writer->writeDouble( 22, ent->centerPY );//RLZ: verify if exist in V12
+  return true;
+}
+
+DRW_ImageDef* dxfRW::writeImage( DRW_Image *ent, std::string name )
+{
+  if ( version > DRW::AC1009 )
+  {
+    //search if exist imagedef with this mane (image inserted more than 1 time)
+    //RLZ: imagedef_reactor seem needed to read in acad
+    DRW_ImageDef *id = nullptr;
+    for ( unsigned int i = 0; i < imageDef.size(); i++ )
+    {
+      if ( imageDef.at( i )->name == name )
+      {
+        id = imageDef.at( i );
+        continue;
+      }
+    }
+    if ( !id )
+    {
+      id = new DRW_ImageDef();
+      imageDef.push_back( id );
+      id->handle = ++entCount;
+    }
+    id->name = name;
+    std::string idReactor = toHexStr( ++entCount );
+
+    writer->writeString( 0, "IMAGE" );
+    writeEntity( ent );
+    writer->writeString( 100, "AcDbRasterImage" );
+    writer->writeDouble( 10, ent->basePoint.x );
+    writer->writeDouble( 20, ent->basePoint.y );
+    writer->writeDouble( 30, ent->basePoint.z );
+    writer->writeDouble( 11, ent->secPoint.x );
+    writer->writeDouble( 21, ent->secPoint.y );
+    writer->writeDouble( 31, ent->secPoint.z );
+    writer->writeDouble( 12, ent->vVector.x );
+    writer->writeDouble( 22, ent->vVector.y );
+    writer->writeDouble( 32, ent->vVector.z );
+    writer->writeDouble( 13, ent->sizeu );
+    writer->writeDouble( 23, ent->sizev );
+    writer->writeString( 340, toHexStr( id->handle ) );
+    writer->writeInt16( 70, 1 );
+    writer->writeInt16( 280, ent->clip );
+    writer->writeInt16( 281, ent->brightness );
+    writer->writeInt16( 282, ent->contrast );
+    writer->writeInt16( 283, ent->fade );
+    writer->writeString( 360, idReactor );
+    id->reactors[idReactor] = toHexStr( ent->handle );
+    return id;
+  }
+  return nullptr; //not exist in acad 12
+}
+
+bool dxfRW::writeBlockRecord( std::string name )
+{
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "BLOCK_RECORD" );
+    writer->writeString( 5, toHexStr( ++entCount ) );
+
+    blockMap[name] = entCount;
+    entCount = 2 + entCount;//reserve 2 for BLOCK & ENDBLOCK
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "1" );
+    }
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbBlockTableRecord" );
+    writer->writeUtf8String( 2, name );
+    if ( version > DRW::AC1018 )
+    {
+      //    writer->writeInt16(340, 22);
+      writer->writeInt16( 70, 0 );
+      writer->writeInt16( 280, 1 );
+      writer->writeInt16( 281, 0 );
+    }
+  }
+  return true;
+}
+
+bool dxfRW::writeBlock( DRW_Block *bk )
+{
+  if ( writingBlock )
+  {
+    writer->writeString( 0, "ENDBLK" );
+    if ( version > DRW::AC1009 )
+    {
+      writer->writeString( 5, toHexStr( currHandle + 2 ) );
+      if ( version > DRW::AC1014 )
+      {
+        writer->writeString( 330, toHexStr( currHandle ) );
+      }
+      writer->writeString( 100, "AcDbEntity" );
+    }
+    writer->writeString( 8, "0" );
+    if ( version > DRW::AC1009 )
+    {
+      writer->writeString( 100, "AcDbBlockEnd" );
+    }
+  }
+  writingBlock = true;
+  writer->writeString( 0, "BLOCK" );
+  if ( version > DRW::AC1009 )
+  {
+    currHandle = ( *( blockMap.find( bk->name ) ) ).second;
+    writer->writeString( 5, toHexStr( currHandle + 1 ) );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, toHexStr( currHandle ) );
+    }
+    writer->writeString( 100, "AcDbEntity" );
+  }
+  writer->writeString( 8, "0" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbBlockBegin" );
+    writer->writeUtf8String( 2, bk->name );
+  }
+  else
+    writer->writeUtf8Caps( 2, bk->name );
+  writer->writeInt16( 70, bk->flags );
+  writer->writeDouble( 10, bk->basePoint.x );
+  writer->writeDouble( 20, bk->basePoint.y );
+  if ( bk->basePoint.z != 0.0 )
+  {
+    writer->writeDouble( 30, bk->basePoint.z );
+  }
+  if ( version > DRW::AC1009 )
+    writer->writeUtf8String( 3, bk->name );
+  else
+    writer->writeUtf8Caps( 3, bk->name );
+  writer->writeString( 1, "" );
+
+  return true;
+}
+
+bool dxfRW::writeTables()
+{
+  writer->writeString( 0, "TABLE" );
+  writer->writeString( 2, "VPORT" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "8" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "0" );
+    }
+    writer->writeString( 100, "AcDbSymbolTable" );
+  }
+  writer->writeInt16( 70, 1 ); //end table def
+  /*** VPORT ***/
+  dimstyleStd = false;
+  iface->writeVports();
+  if ( !dimstyleStd )
+  {
+    DRW_Vport portact;
+    portact.name = "*ACTIVE";
+    writeVport( &portact );
+  }
+  writer->writeString( 0, "ENDTAB" );
+  /*** LTYPE ***/
+  writer->writeString( 0, "TABLE" );
+  writer->writeString( 2, "LTYPE" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "5" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "0" );
+    }
+    writer->writeString( 100, "AcDbSymbolTable" );
+  }
+  writer->writeInt16( 70, 4 ); //end table def
+//Mandatory linetypes
+  writer->writeString( 0, "LTYPE" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "14" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "5" );
+    }
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbLinetypeTableRecord" );
+    writer->writeString( 2, "ByBlock" );
+  }
+  else
+    writer->writeString( 2, "BYBLOCK" );
+  writer->writeInt16( 70, 0 );
+  writer->writeString( 3, "" );
+  writer->writeInt16( 72, 65 );
+  writer->writeInt16( 73, 0 );
+  writer->writeDouble( 40, 0.0 );
+
+  writer->writeString( 0, "LTYPE" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "15" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "5" );
+    }
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbLinetypeTableRecord" );
+    writer->writeString( 2, "ByLayer" );
+  }
+  else
+    writer->writeString( 2, "BYLAYER" );
+  writer->writeInt16( 70, 0 );
+  writer->writeString( 3, "" );
+  writer->writeInt16( 72, 65 );
+  writer->writeInt16( 73, 0 );
+  writer->writeDouble( 40, 0.0 );
+
+  writer->writeString( 0, "LTYPE" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "16" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "5" );
+    }
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbLinetypeTableRecord" );
+    writer->writeString( 2, "Continuous" );
+  }
+  else
+  {
+    writer->writeString( 2, "CONTINUOUS" );
+  }
+  writer->writeInt16( 70, 0 );
+  writer->writeString( 3, "Solid line" );
+  writer->writeInt16( 72, 65 );
+  writer->writeInt16( 73, 0 );
+  writer->writeDouble( 40, 0.0 );
+  // Application linetypes
+  iface->writeLTypes();
+  writer->writeString( 0, "ENDTAB" );
+  /*** LAYER ***/
+  writer->writeString( 0, "TABLE" );
+  writer->writeString( 2, "LAYER" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "2" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "0" );
+    }
+    writer->writeString( 100, "AcDbSymbolTable" );
+  }
+  writer->writeInt16( 70, 1 ); //end table def
+  wlayer0 = false;
+  iface->writeLayers();
+  if ( !wlayer0 )
+  {
+    DRW_Layer lay0;
+    lay0.name = "0";
+    writeLayer( &lay0 );
+  }
+  writer->writeString( 0, "ENDTAB" );
+  /*** STYLE ***/
+  writer->writeString( 0, "TABLE" );
+  writer->writeString( 2, "STYLE" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "3" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "0" );
+    }
+    writer->writeString( 100, "AcDbSymbolTable" );
+  }
+  writer->writeInt16( 70, 3 ); //end table def
+  dimstyleStd = false;
+  iface->writeTextstyles();
+  if ( !dimstyleStd )
+  {
+    DRW_Textstyle tsty;
+    tsty.name = "Standard";
+    writeTextstyle( &tsty );
+  }
+  writer->writeString( 0, "ENDTAB" );
+
+  writer->writeString( 0, "TABLE" );
+  writer->writeString( 2, "VIEW" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "6" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "0" );
+    }
+    writer->writeString( 100, "AcDbSymbolTable" );
+  }
+  writer->writeInt16( 70, 0 ); //end table def
+  writer->writeString( 0, "ENDTAB" );
+
+  writer->writeString( 0, "TABLE" );
+  writer->writeString( 2, "UCS" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "7" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "0" );
+    }
+    writer->writeString( 100, "AcDbSymbolTable" );
+  }
+  writer->writeInt16( 70, 0 ); //end table def
+  writer->writeString( 0, "ENDTAB" );
+
+  writer->writeString( 0, "TABLE" );
+  writer->writeString( 2, "APPID" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "9" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "0" );
+    }
+    writer->writeString( 100, "AcDbSymbolTable" );
+  }
+  writer->writeInt16( 70, 1 ); //end table def
+  writer->writeString( 0, "APPID" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "12" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "9" );
+    }
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbRegAppTableRecord" );
+  }
+  writer->writeString( 2, "ACAD" );
+  writer->writeInt16( 70, 0 );
+  iface->writeAppId();
+  writer->writeString( 0, "ENDTAB" );
+
+  writer->writeString( 0, "TABLE" );
+  writer->writeString( 2, "DIMSTYLE" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "A" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "0" );
+    }
+    writer->writeString( 100, "AcDbSymbolTable" );
+  }
+  writer->writeInt16( 70, 1 ); //end table def
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeString( 100, "AcDbDimStyleTable" );
+    writer->writeInt16( 71, 1 ); //end table def
+  }
+  dimstyleStd = false;
+  iface->writeDimstyles();
+  if ( !dimstyleStd )
+  {
+    DRW_Dimstyle dsty;
+    dsty.name = "Standard";
+    writeDimstyle( &dsty );
+  }
+  writer->writeString( 0, "ENDTAB" );
+
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "TABLE" );
+    writer->writeString( 2, "BLOCK_RECORD" );
+    writer->writeString( 5, "1" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "0" );
+    }
+    writer->writeString( 100, "AcDbSymbolTable" );
+    writer->writeInt16( 70, 2 ); //end table def
+    writer->writeString( 0, "BLOCK_RECORD" );
+    writer->writeString( 5, "1F" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "1" );
+    }
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbBlockTableRecord" );
+    writer->writeString( 2, "*Model_Space" );
+    if ( version > DRW::AC1018 )
+    {
+      //    writer->writeInt16(340, 22);
+      writer->writeInt16( 70, 0 );
+      writer->writeInt16( 280, 1 );
+      writer->writeInt16( 281, 0 );
+    }
+    writer->writeString( 0, "BLOCK_RECORD" );
+    writer->writeString( 5, "1E" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "1" );
+    }
+    writer->writeString( 100, "AcDbSymbolTableRecord" );
+    writer->writeString( 100, "AcDbBlockTableRecord" );
+    writer->writeString( 2, "*Paper_Space" );
+    if ( version > DRW::AC1018 )
+    {
+      //    writer->writeInt16(340, 22);
+      writer->writeInt16( 70, 0 );
+      writer->writeInt16( 280, 1 );
+      writer->writeInt16( 281, 0 );
+    }
+  }
+  /* allways call writeBlockRecords to iface for prepare unnamed blocks */
+  iface->writeBlockRecords();
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 0, "ENDTAB" );
+  }
+  return true;
+}
+
+bool dxfRW::writeBlocks()
+{
+  writer->writeString( 0, "BLOCK" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "20" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "1F" );
+    }
+    writer->writeString( 100, "AcDbEntity" );
+  }
+  writer->writeString( 8, "0" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbBlockBegin" );
+    writer->writeString( 2, "*Model_Space" );
+  }
+  else
+    writer->writeString( 2, "$MODEL_SPACE" );
+  writer->writeInt16( 70, 0 );
+  writer->writeDouble( 10, 0.0 );
+  writer->writeDouble( 20, 0.0 );
+  writer->writeDouble( 30, 0.0 );
+  if ( version > DRW::AC1009 )
+    writer->writeString( 3, "*Model_Space" );
+  else
+    writer->writeString( 3, "$MODEL_SPACE" );
+  writer->writeString( 1, "" );
+  writer->writeString( 0, "ENDBLK" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "21" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "1F" );
+    }
+    writer->writeString( 100, "AcDbEntity" );
+  }
+  writer->writeString( 8, "0" );
+  if ( version > DRW::AC1009 )
+    writer->writeString( 100, "AcDbBlockEnd" );
+
+  writer->writeString( 0, "BLOCK" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "1C" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "1B" );
+    }
+    writer->writeString( 100, "AcDbEntity" );
+  }
+  writer->writeString( 8, "0" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 100, "AcDbBlockBegin" );
+    writer->writeString( 2, "*Paper_Space" );
+  }
+  else
+    writer->writeString( 2, "$PAPER_SPACE" );
+  writer->writeInt16( 70, 0 );
+  writer->writeDouble( 10, 0.0 );
+  writer->writeDouble( 20, 0.0 );
+  writer->writeDouble( 30, 0.0 );
+  if ( version > DRW::AC1009 )
+    writer->writeString( 3, "*Paper_Space" );
+  else
+    writer->writeString( 3, "$PAPER_SPACE" );
+  writer->writeString( 1, "" );
+  writer->writeString( 0, "ENDBLK" );
+  if ( version > DRW::AC1009 )
+  {
+    writer->writeString( 5, "1D" );
+    if ( version > DRW::AC1014 )
+    {
+      writer->writeString( 330, "1F" );
+    }
+    writer->writeString( 100, "AcDbEntity" );
+  }
+  writer->writeString( 8, "0" );
+  if ( version > DRW::AC1009 )
+    writer->writeString( 100, "AcDbBlockEnd" );
+  writingBlock = false;
+  iface->writeBlocks();
+  if ( writingBlock )
+  {
+    writingBlock = false;
+    writer->writeString( 0, "ENDBLK" );
+    if ( version > DRW::AC1009 )
+    {
+      writer->writeString( 5, toHexStr( currHandle + 2 ) );
+//            writer->writeString(5, "1D");
+      if ( version > DRW::AC1014 )
+      {
+        writer->writeString( 330, toHexStr( currHandle ) );
+      }
+      writer->writeString( 100, "AcDbEntity" );
+    }
+    writer->writeString( 8, "0" );
+    if ( version > DRW::AC1009 )
+      writer->writeString( 100, "AcDbBlockEnd" );
+  }
+  return true;
+}
+
+bool dxfRW::writeObjects()
+{
+  writer->writeString( 0, "DICTIONARY" );
+  std::string imgDictH;
+  writer->writeString( 5, "C" );
+  if ( version > DRW::AC1014 )
+  {
+    writer->writeString( 330, "0" );
+  }
+  writer->writeString( 100, "AcDbDictionary" );
+  writer->writeInt16( 281, 1 );
+  writer->writeString( 3, "ACAD_GROUP" );
+  writer->writeString( 350, "D" );
+  if ( imageDef.size() != 0 )
+  {
+    writer->writeString( 3, "ACAD_IMAGE_DICT" );
+    imgDictH = toHexStr( ++entCount );
+    writer->writeString( 350, imgDictH );
+  }
+  writer->writeString( 0, "DICTIONARY" );
+  writer->writeString( 5, "D" );
+  writer->writeString( 330, "C" );
+  writer->writeString( 100, "AcDbDictionary" );
+  writer->writeInt16( 281, 1 );
+//write IMAGEDEF_REACTOR
+  for ( unsigned int i = 0; i < imageDef.size(); i++ )
+  {
+    DRW_ImageDef *id = imageDef.at( i );
+    std::map<std::string, std::string>::iterator it;
+    for ( it = id->reactors.begin() ; it != id->reactors.end(); ++it )
+    {
+      writer->writeString( 0, "IMAGEDEF_REACTOR" );
+      writer->writeString( 5, ( *it ).first );
+      writer->writeString( 330, ( *it ).second );
+      writer->writeString( 100, "AcDbRasterImageDefReactor" );
+      writer->writeInt16( 90, 2 ); //version 2=R14 to v2010
+      writer->writeString( 330, ( *it ).second );
+    }
+  }
+  if ( imageDef.size() != 0 )
+  {
+    writer->writeString( 0, "DICTIONARY" );
+    writer->writeString( 5, imgDictH );
+    writer->writeString( 330, "C" );
+    writer->writeString( 100, "AcDbDictionary" );
+    writer->writeInt16( 281, 1 );
+    for ( unsigned int i = 0; i < imageDef.size(); i++ )
+    {
+      size_t f1, f2;
+      f1 = imageDef.at( i )->name.find_last_of( "/\\" );
+      f2 = imageDef.at( i )->name.find_last_of( '.' );
+      ++f1;
+      writer->writeString( 3, imageDef.at( i )->name.substr( f1, f2 - f1 ) );
+      writer->writeString( 350, toHexStr( imageDef.at( i )->handle ) );
+    }
+  }
+  for ( unsigned int i = 0; i < imageDef.size(); i++ )
+  {
+    DRW_ImageDef *id = imageDef.at( i );
+    writer->writeString( 0, "IMAGEDEF" );
+    writer->writeString( 5, toHexStr( id->handle ) );
+    if ( version > DRW::AC1014 )
+    {
+//            writer->writeString(330, "0"); handle to DICTIONARY
+    }
+    writer->writeString( 102, "{ACAD_REACTORS" );
+    std::map<std::string, std::string>::iterator it;
+    for ( it = id->reactors.begin() ; it != id->reactors.end(); ++it )
+    {
+      writer->writeString( 330, ( *it ).first );
+    }
+    writer->writeString( 102, "}" );
+    writer->writeString( 100, "AcDbRasterImageDef" );
+    writer->writeInt16( 90, 0 ); //version 0=R14 to v2010
+    writer->writeUtf8String( 1, id->name );
+    writer->writeDouble( 10, id->u );
+    writer->writeDouble( 20, id->v );
+    writer->writeDouble( 11, id->up );
+    writer->writeDouble( 21, id->vp );
+    writer->writeInt16( 280, id->loaded );
+    writer->writeInt16( 281, id->resolution );
+  }
+  //no more needed imageDef, delete it
+  while ( !imageDef.empty() )
+  {
+    imageDef.pop_back();
+  }
+
+  return true;
+}
+
+bool dxfRW::writeExtData( const std::vector<DRW_Variant*> &ed )
+{
+  for ( std::vector<DRW_Variant*>::const_iterator it = ed.begin(); it != ed.end(); ++it )
+  {
+    switch (( *it )->code() )
+    {
+      case 1000:
+      case 1001:
+      case 1002:
+      case 1003:
+      case 1004:
+      case 1005:
+      {
+        int cc = ( *it )->code();
+        if (( *it )->type() == DRW_Variant::STRING )
+          writer->writeUtf8String( cc, *( *it )->content.s );
+//            writer->writeUtf8String((*it)->code, (*it)->content.s);
+        break;
+      }
+      case 1010:
+      case 1011:
+      case 1012:
+      case 1013:
+        if (( *it )->type() == DRW_Variant::COORD )
+        {
+          writer->writeDouble(( *it )->code(), ( *it )->content.v->x );
+          writer->writeDouble(( *it )->code() + 10 , ( *it )->content.v->y );
+          writer->writeDouble(( *it )->code() + 20 , ( *it )->content.v->z );
+        }
+        break;
+      case 1040:
+      case 1041:
+      case 1042:
+        if (( *it )->type() == DRW_Variant::DOUBLE )
+          writer->writeDouble(( *it )->code(), ( *it )->content.d );
+        break;
+      case 1070:
+        if (( *it )->type() == DRW_Variant::INTEGER )
+          writer->writeInt16(( *it )->code(), ( *it )->content.i );
+        break;
+      case 1071:
+        if (( *it )->type() == DRW_Variant::INTEGER )
+          writer->writeInt32(( *it )->code(), ( *it )->content.i );
+        break;
+      default:
+        break;
+    }
+  }
+  return true;
+}
+
+/********* Reader Process *********/
+
+bool dxfRW::processDxf()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  bool more = true;
+  std::string sectionstr;
+//    section = secUnknown;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+
+    if ( code == 999 )
+    {
+      header.addComment( reader->getString() );
+    }
+    else if ( code == 0 )
+    {
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+
+      if ( sectionstr == "EOF" )
+      {
+        return true;  //found EOF terminate
+      }
+      if ( sectionstr == "SECTION" )
+      {
+        more = reader->readRec( &code );
+        QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+
+        if ( !more )
+          return false; //wrong dxf file
+        if ( code == 2 )
+        {
+          sectionstr = reader->getString();
+          QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+
+          //found section, process it
+          if ( sectionstr == "HEADER" )
+          {
+            processHeader();
+          }
+          else if ( sectionstr == "CLASSES" )
+          {
+//                        processClasses();
+          }
+          else if ( sectionstr == "TABLES" )
+          {
+            processTables();
+          }
+          else if ( sectionstr == "BLOCKS" )
+          {
+            processBlocks();
+          }
+          else if ( sectionstr == "ENTITIES" )
+          {
+            processEntities( false );
+          }
+          else if ( sectionstr == "OBJECTS" )
+          {
+            processObjects();
+          }
+        }
+      }
+    }
+#if 0
+    if ( !more )
+      return true;
+#endif
+  }
+  return true;
+}
+
+/********* Header Section *********/
+
+bool dxfRW::processHeader()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  std::string sectionstr;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+
+    if ( code == 0 )
+    {
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+
+      if ( sectionstr == "ENDSEC" )
+      {
+        iface->addHeader( &header );
+        return true;  //found ENDSEC terminate
+      }
+    }
+    else header.parseCode( code, reader );
+  }
+  return true;
+}
+
+/********* Tables Section *********/
+
+bool dxfRW::processTables()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  std::string sectionstr;
+  bool more = true;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+
+    if ( code == 0 )
+    {
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+
+      if ( sectionstr == "TABLE" )
+      {
+        more = reader->readRec( &code );
+        QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+        if ( !more )
+          return false; //wrong dxf file
+        if ( code == 2 )
+        {
+          sectionstr = reader->getString();
+          QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+
+          //found section, process it
+          if ( sectionstr == "LTYPE" )
+          {
+            processLType();
+          }
+          else if ( sectionstr == "LAYER" )
+          {
+            processLayer();
+          }
+          else if ( sectionstr == "STYLE" )
+          {
+            processTextStyle();
+          }
+          else if ( sectionstr == "VPORT" )
+          {
+            processVports();
+          }
+          else if ( sectionstr == "VIEW" )
+          {
+//                        processView();
+          }
+          else if ( sectionstr == "UCS" )
+          {
+//                        processUCS();
+          }
+          else if ( sectionstr == "APPID" )
+          {
+            processAppId();
+          }
+          else if ( sectionstr == "DIMSTYLE" )
+          {
+            processDimStyle();
+          }
+          else if ( sectionstr == "BLOCK_RECORD" )
+          {
+//                        processBlockRecord();
+          }
+        }
+      }
+      else if ( sectionstr == "ENDSEC" )
+      {
+        return true;  //found ENDSEC terminate
+      }
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processLType()
+{
+  QgsDebugMsg( "Entering." );
+
+  int code;
+  std::string sectionstr;
+  bool reading = false;
+  DRW_LType ltype;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    if ( code == 0 )
+    {
+      if ( reading )
+      {
+        ltype.update();
+        iface->addLType( ltype );
+      }
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+
+      if ( sectionstr == "LTYPE" )
+      {
+        reading = true;
+        ltype.reset();
+      }
+      else if ( sectionstr == "ENDTAB" )
+      {
+        return true;  //found ENDTAB terminate
+      }
+    }
+    else if ( reading )
+      ltype.parseCode( code, reader );
+  }
+  return true;
+}
+
+bool dxfRW::processLayer()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  std::string sectionstr;
+  bool reading = false;
+  DRW_Layer layer;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+
+    if ( code == 0 )
+    {
+      if ( reading )
+        iface->addLayer( layer );
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+      if ( sectionstr == "LAYER" )
+      {
+        reading = true;
+        layer.reset();
+      }
+      else if ( sectionstr == "ENDTAB" )
+      {
+        return true;  //found ENDTAB terminate
+      }
+    }
+    else if ( reading )
+      layer.parseCode( code, reader );
+  }
+  return true;
+}
+
+bool dxfRW::processDimStyle()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  std::string sectionstr;
+  bool reading = false;
+  DRW_Dimstyle dimSty;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    if ( code == 0 )
+    {
+      if ( reading )
+        iface->addDimStyle( dimSty );
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+      if ( sectionstr == "DIMSTYLE" )
+      {
+        reading = true;
+        dimSty.reset();
+      }
+      else if ( sectionstr == "ENDTAB" )
+      {
+        return true;  //found ENDTAB terminate
+      }
+    }
+    else if ( reading )
+      dimSty.parseCode( code, reader );
+  }
+  return true;
+}
+
+bool dxfRW::processTextStyle()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  std::string sectionstr;
+  bool reading = false;
+  DRW_Textstyle TxtSty;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    if ( code == 0 )
+    {
+      if ( reading )
+        iface->addTextStyle( TxtSty );
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+      if ( sectionstr == "STYLE" )
+      {
+        reading = true;
+        TxtSty.reset();
+      }
+      else if ( sectionstr == "ENDTAB" )
+      {
+        return true;  //found ENDTAB terminate
+      }
+    }
+    else if ( reading )
+      TxtSty.parseCode( code, reader );
+  }
+  return true;
+}
+
+bool dxfRW::processVports()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  std::string sectionstr;
+  bool reading = false;
+  DRW_Vport vp;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    if ( code == 0 )
+    {
+      if ( reading )
+        iface->addVport( vp );
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+      if ( sectionstr == "VPORT" )
+      {
+        reading = true;
+        vp.reset();
+      }
+      else if ( sectionstr == "ENDTAB" )
+      {
+        return true;  //found ENDTAB terminate
+      }
+    }
+    else if ( reading )
+      vp.parseCode( code, reader );
+  }
+  return true;
+}
+
+bool dxfRW::processAppId()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  std::string sectionstr;
+  bool reading = false;
+  DRW_AppId vp;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    if ( code == 0 )
+    {
+      if ( reading )
+        iface->addAppId( vp );
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+      if ( sectionstr == "APPID" )
+      {
+        reading = true;
+        vp.reset();
+      }
+      else if ( sectionstr == "ENDTAB" )
+      {
+        return true;  //found ENDTAB terminate
+      }
+    }
+    else if ( reading )
+      vp.parseCode( code, reader );
+  }
+  return true;
+}
+
+/********* Block Section *********/
+
+bool dxfRW::processBlocks()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  std::string sectionstr;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    if ( code == 0 )
+    {
+      sectionstr = reader->getString();
+      QgsDebugMsg( QString( "section=%1" ).arg( sectionstr.c_str() ) );
+      if ( sectionstr == "BLOCK" )
+      {
+        processBlock();
+      }
+      else if ( sectionstr == "ENDSEC" )
+      {
+        return true;  //found ENDSEC terminate
+      }
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processBlock()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Block block;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addBlock( block );
+        if ( nextentity == "ENDBLK" )
+        {
+          iface->endBlock();
+          return true;  //found ENDBLK, terminate
+        }
+        else
+        {
+          processEntities( true );
+          iface->endBlock();
+          return true;  //found ENDBLK, terminate
+        }
+      }
+      default:
+        block.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+
+/********* Entities Section *********/
+
+bool dxfRW::processEntities( bool isblock )
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  if ( !reader->readRec( &code ) )
+  {
+    return false;
+  }
+  bool next = true;
+  if ( code == 0 )
+  {
+    nextentity = reader->getString();
+  }
+  else if ( !isblock )
+  {
+    return false;  //first record in entities is 0
+  }
+  do
+  {
+    if ( nextentity == "ENDSEC" || nextentity == "ENDBLK" )
+    {
+      return true;  //found ENDSEC or ENDBLK terminate
+    }
+    else if ( nextentity == "POINT" )
+    {
+      processPoint();
+    }
+    else if ( nextentity == "LINE" )
+    {
+      processLine();
+    }
+    else if ( nextentity == "CIRCLE" )
+    {
+      processCircle();
+    }
+    else if ( nextentity == "ARC" )
+    {
+      processArc();
+    }
+    else if ( nextentity == "ELLIPSE" )
+    {
+      processEllipse();
+    }
+    else if ( nextentity == "TRACE" )
+    {
+      processTrace();
+    }
+    else if ( nextentity == "SOLID" )
+    {
+      processSolid();
+    }
+    else if ( nextentity == "INSERT" )
+    {
+      processInsert();
+    }
+    else if ( nextentity == "LWPOLYLINE" )
+    {
+      processLWPolyline();
+    }
+    else if ( nextentity == "POLYLINE" )
+    {
+      processPolyline();
+    }
+    else if ( nextentity == "TEXT" )
+    {
+      processText();
+    }
+    else if ( nextentity == "MTEXT" )
+    {
+      processMText();
+    }
+    else if ( nextentity == "HATCH" )
+    {
+      processHatch();
+    }
+    else if ( nextentity == "SPLINE" )
+    {
+      processSpline();
+    }
+    else if ( nextentity == "3DFACE" )
+    {
+      process3dface();
+    }
+    else if ( nextentity == "VIEWPORT" )
+    {
+      processViewport();
+    }
+    else if ( nextentity == "IMAGE" )
+    {
+      processImage();
+    }
+    else if ( nextentity == "DIMENSION" )
+    {
+      processDimension();
+    }
+    else if ( nextentity == "LEADER" )
+    {
+      processLeader();
+    }
+    else if ( nextentity == "RAY" )
+    {
+      processRay();
+    }
+    else if ( nextentity == "XLINE" )
+    {
+      processXline();
+    }
+    else
+    {
+      if ( reader->readRec( &code ) )
+      {
+        if ( code == 0 )
+          nextentity = reader->getString();
+      }
+      else
+        return false; //end of file without ENDSEC
+    }
+
+  }
+  while ( next );
+  return true;
+}
+
+bool dxfRW::processEllipse()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Ellipse ellipse;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        if ( applyExt )
+          ellipse.applyExtrusion();
+        iface->addEllipse( ellipse );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        ellipse.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processTrace()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Trace trace;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        if ( applyExt )
+          trace.applyExtrusion();
+        iface->addTrace( trace );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        trace.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processSolid()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Solid solid;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        if ( applyExt )
+          solid.applyExtrusion();
+        iface->addSolid( solid );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        solid.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::process3dface()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_3Dface face;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->add3dFace( face );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        face.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processViewport()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Viewport vp;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addViewport( vp );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        vp.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processPoint()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Point point;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addPoint( point );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        point.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processLine()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Line line;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addLine( line );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        line.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processRay()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Ray line;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addRay( line );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        line.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processXline()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Xline line;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addXline( line );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        line.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processCircle()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Circle circle;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        if ( applyExt )
+          circle.applyExtrusion();
+        iface->addCircle( circle );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        circle.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processArc()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Arc arc;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        if ( applyExt )
+          arc.applyExtrusion();
+        iface->addArc( arc );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        arc.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processInsert()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Insert insert;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addInsert( insert );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        insert.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processLWPolyline()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_LWPolyline pl;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        if ( applyExt )
+          pl.applyExtrusion();
+        iface->addLWPolyline( pl );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        pl.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processPolyline()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Polyline pl;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        if ( nextentity != "VERTEX" )
+        {
+          iface->addPolyline( pl );
+          return true;  //found new entity or ENDSEC, terminate
+        }
+        else
+        {
+          processVertex( &pl );
+        }
+      }
+      default:
+        pl.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processVertex( DRW_Polyline *pl )
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Vertex *v = new DRW_Vertex();
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        pl->appendVertex( v );
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        if ( nextentity == "SEQEND" )
+        {
+          return true;  //found SEQEND no more vertex, terminate
+        }
+        else if ( nextentity == "VERTEX" )
+        {
+          v = new DRW_Vertex(); //another vertex
+        }
+      }
+      default:
+        v->parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processText()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Text txt;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addText( txt );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        txt.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processMText()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_MText txt;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        txt.updateAngle();
+        iface->addMText( txt );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        txt.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processHatch()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Hatch hatch;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addHatch( &hatch );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        hatch.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+
+bool dxfRW::processSpline()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Spline sp;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addSpline( &sp );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        sp.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+
+bool dxfRW::processImage()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Image img;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addImage( &img );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        img.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+
+bool dxfRW::processDimension()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Dimension dim;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        int type = dim.type & 0x0F;
+        switch ( type )
+        {
+          case 0:
+          {
+            DRW_DimLinear d( dim );
+            iface->addDimLinear( &d );
+            break;
+          }
+          case 1:
+          {
+            DRW_DimAligned d( dim );
+            iface->addDimAlign( &d );
+            break;
+          }
+          case 2:
+          {
+            DRW_DimAngular d( dim );
+            iface->addDimAngular( &d );
+            break;
+          }
+          case 3:
+          {
+            DRW_DimDiametric d( dim );
+            iface->addDimDiametric( &d );
+            break;
+          }
+          case 4:
+          {
+            DRW_DimRadial d( dim );
+            iface->addDimRadial( &d );
+            break;
+          }
+          case 5:
+          {
+            DRW_DimAngular3p d( dim );
+            iface->addDimAngular3P( &d );
+            break;
+          }
+          case 6:
+          {
+            DRW_DimOrdinate d( dim );
+            iface->addDimOrdinate( &d );
+            break;
+          }
+        }
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        dim.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+bool dxfRW::processLeader()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  DRW_Leader leader;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->addLeader( &leader );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        leader.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+
+/********* Objects Section *********/
+
+bool dxfRW::processObjects()
+{
+  QgsDebugMsg( "Entering." );
+  int code;
+  if ( !reader->readRec( &code ) )
+  {
+    return false;
+  }
+  bool next = true;
+  if ( code == 0 )
+  {
+    nextentity = reader->getString();
+  }
+  else
+  {
+    return false;  //first record in objects is 0
+  }
+  do
+  {
+    if ( nextentity == "ENDSEC" )
+    {
+      return true;  //found ENDSEC terminate
+    }
+    else if ( nextentity == "IMAGEDEF" )
+    {
+      processImageDef();
+    }
+    else
+    {
+      if ( reader->readRec( &code ) )
+      {
+        if ( code == 0 )
+          nextentity = reader->getString();
+      }
+      else
+        return false; //end of file without ENDSEC
+    }
+
+  }
+  while ( next );
+  return true;
+}
+
+bool dxfRW::processImageDef()
+{
+  QgsDebugMsg( "Entering." );
+
+  int code;
+  DRW_ImageDef img;
+  while ( reader->readRec( &code ) )
+  {
+    QgsDebugMsg( QString( "code=%1" ).arg( code ) );
+    switch ( code )
+    {
+      case 0:
+      {
+        nextentity = reader->getString();
+        QgsDebugMsg( QString( "nextentity=%1" ).arg( nextentity.c_str() ) );
+        iface->linkImage( &img );
+        return true;  //found new entity or ENDSEC, terminate
+      }
+      default:
+        img.parseCode( code, reader );
+        break;
+    }
+  }
+  return true;
+}
+
+/** Utility function
+ * convert a int to string in hex
+ **/
+std::string dxfRW::toHexStr( int n )
+{
+#if defined(__APPLE__)
+  char buffer[9] = {'\0'};
+  snprintf( buffer, 9, "%X", n );
+  return std::string( buffer );
+#else
+  std::ostringstream Convert;
+  Convert << std::uppercase << std::hex << n;
+  return Convert.str();
+#endif
+}
diff --git a/src/app/dwg/libdxfrw/libdxfrw.dox b/src/app/dwg/libdxfrw/libdxfrw.dox
new file mode 100644
index 0000000..3484ce4
--- /dev/null
+++ b/src/app/dwg/libdxfrw/libdxfrw.dox
@@ -0,0 +1,288 @@
+# Doxyfile 1.8.1
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING      = UTF-8
+PROJECT_NAME           = "libdxfrw"
+PROJECT_NUMBER         =
+PROJECT_BRIEF          = "C++ library to read/write dxf ascii & binary and to read dwg files"
+PROJECT_LOGO           =
+OUTPUT_DIRECTORY       = doc
+CREATE_SUBDIRS         = YES
+OUTPUT_LANGUAGE        = English
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       =
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        =
+STRIP_FROM_INC_PATH    =
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = NO
+QT_AUTOBRIEF           = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                =
+TCL_SUBST              =
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = YES
+BUILTIN_STL_SUPPORT    = NO
+CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = YES
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS  = NO
+TYPEDEF_HIDES_STRUCT   = NO
+SYMBOL_CACHE_SIZE      = 0
+LOOKUP_CACHE_SIZE      = 0
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = NO
+EXTRACT_PRIVATE        = YES
+EXTRACT_PACKAGE        = NO
+EXTRACT_STATIC         = YES
+EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_LOCAL_METHODS  = NO
+EXTRACT_ANON_NSPACES   = NO
+HIDE_UNDOC_MEMBERS     = YES
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = NO
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES       = NO
+SORT_BY_SCOPE_NAME     = NO
+STRICT_PROTO_MATCHING  = NO
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       =
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = YES
+SHOW_FILES             = YES
+SHOW_NAMESPACES        = YES
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
+CITE_BIB_FILES         =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = src
+INPUT_ENCODING         = UTF-8
+FILE_PATTERNS          = *.cpp *.h
+RECURSIVE              = NO
+EXCLUDE                =
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       =
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
+FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_PATTERNS =
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = NO
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = YES
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+HTML_EXTRA_FILES       =
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
+HTML_TIMESTAMP         = NO
+HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
+GENERATE_HTMLHELP      = NO
+CHM_FILE               =
+HHC_LOCATION           =
+GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     =
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+GENERATE_QHP           = NO
+QCH_FILE               =
+QHP_NAMESPACE          = org.doxygen.Project
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
+DISABLE_INDEX          = NO
+GENERATE_TREEVIEW      = NO
+ENUM_VALUES_PER_LINE   = 4
+TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
+FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+MATHJAX_EXTENSIONS     =
+SEARCHENGINE           = YES
+SERVER_BASED_SEARCH    = NO
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = YES
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = NO
+PAPER_TYPE             = a4
+EXTRA_PACKAGES         =
+LATEX_HEADER           =
+LATEX_FOOTER           =
+PDF_HYPERLINKS         = YES
+USE_PDFLATEX           = YES
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
+LATEX_BIB_STYLE        = plain
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             =
+XML_DTD                =
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = NO
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             =
+EXPAND_AS_DEFINED      =
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES               =
+GENERATE_TAGFILE       =
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = YES
+MSCGEN_PATH            =
+HIDE_UNDOC_RELATIONS   = YES
+HAVE_DOT               = NO
+DOT_NUM_THREADS        = 0
+DOT_FONTNAME           = Helvetica
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           =
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = png
+INTERACTIVE_SVG        = NO
+DOT_PATH               =
+DOTFILE_DIRS           =
+MSCFILE_DIRS           =
+DOT_GRAPH_MAX_NODES    = 50
+MAX_DOT_GRAPH_DEPTH    = 0
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = NO
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
diff --git a/src/app/dwg/libdxfrw/libdxfrw.h b/src/app/dwg/libdxfrw/libdxfrw.h
new file mode 100644
index 0000000..f9a5f9f
--- /dev/null
+++ b/src/app/dwg/libdxfrw/libdxfrw.h
@@ -0,0 +1,148 @@
+/******************************************************************************
+**  libDXFrw - Library to read/write DXF files (ascii & binary)              **
+**                                                                           **
+**  Copyright (C) 2011-2015 José F. Soriano, rallazz at gmail.com               **
+**                                                                           **
+**  This library is free software, licensed under the terms of the GNU       **
+**  General Public License as published by the Free Software Foundation,     **
+**  either version 2 of the License, or (at your option) any later version.  **
+**  You should have received a copy of the GNU General Public License        **
+**  along with this program.  If not, see <http://www.gnu.org/licenses/>.    **
+******************************************************************************/
+
+#ifndef LIBDXFRW_H
+#define LIBDXFRW_H
+
+#include <string>
+#include "drw_entities.h"
+#include "drw_objects.h"
+#include "drw_header.h"
+#include "drw_interface.h"
+
+
+class dxfReader;
+class dxfWriter;
+
+class dxfRW
+{
+  public:
+    explicit dxfRW( const char* name );
+    ~dxfRW();
+    void setDebug( DRW::DBG_LEVEL lvl );
+    /// reads the file specified in constructor
+    /*!
+     * An interface must be provided. It is used by the class to signal various
+     * components being added.
+     * @param interface_ the interface to use
+     * @param ext should the extrusion be applied to convert in 2D?
+     * @return true for success
+     */
+    bool read( DRW_Interface *interface_, bool ext );
+    void setBinary( bool b ) {binFile = b;}
+
+    bool write( DRW_Interface *interface_, DRW::Version ver, bool bin );
+    bool writeLineType( DRW_LType *ent );
+    bool writeLayer( DRW_Layer *ent );
+    bool writeDimstyle( DRW_Dimstyle *ent );
+    bool writeTextstyle( DRW_Textstyle *ent );
+    bool writeVport( DRW_Vport *ent );
+    bool writeAppId( DRW_AppId *ent );
+    bool writePoint( DRW_Point *ent );
+    bool writeLine( DRW_Line *ent );
+    bool writeRay( DRW_Ray *ent );
+    bool writeXline( DRW_Xline *ent );
+    bool writeCircle( DRW_Circle *ent );
+    bool writeArc( DRW_Arc *ent );
+    bool writeEllipse( DRW_Ellipse *ent );
+    bool writeTrace( DRW_Trace *ent );
+    bool writeSolid( DRW_Solid *ent );
+    bool write3dface( DRW_3Dface *ent );
+    bool writeLWPolyline( DRW_LWPolyline *ent );
+    bool writePolyline( DRW_Polyline *ent );
+    bool writeSpline( DRW_Spline *ent );
+    bool writeBlockRecord( std::string name );
+    bool writeBlock( DRW_Block *ent );
+    bool writeInsert( DRW_Insert *ent );
+    bool writeMText( DRW_MText *ent );
+    bool writeText( DRW_Text *ent );
+    bool writeHatch( DRW_Hatch *ent );
+    bool writeViewport( DRW_Viewport *ent );
+    DRW_ImageDef *writeImage( DRW_Image *ent, std::string name );
+    bool writeLeader( DRW_Leader *ent );
+    bool writeDimension( DRW_Dimension *ent );
+    void setEllipseParts( int parts ) {elParts = parts;} /*!< set parts number when convert ellipse to polyline */
+
+  private:
+    /// used by read() to parse the content of the file
+    bool processDxf();
+    bool processHeader();
+    bool processTables();
+    bool processBlocks();
+    bool processBlock();
+    bool processEntities( bool isblock );
+    bool processObjects();
+
+    bool processLType();
+    bool processLayer();
+    bool processDimStyle();
+    bool processTextStyle();
+    bool processVports();
+    bool processAppId();
+
+    bool processPoint();
+    bool processLine();
+    bool processRay();
+    bool processXline();
+    bool processCircle();
+    bool processArc();
+    bool processEllipse();
+    bool processTrace();
+    bool processSolid();
+    bool processInsert();
+    bool processLWPolyline();
+    bool processPolyline();
+    bool processVertex( DRW_Polyline* pl );
+    bool processText();
+    bool processMText();
+    bool processHatch();
+    bool processSpline();
+    bool process3dface();
+    bool processViewport();
+    bool processImage();
+    bool processImageDef();
+    bool processDimension();
+    bool processLeader();
+
+//  bool writeHeader();
+    bool writeEntity( DRW_Entity *ent );
+    bool writeTables();
+    bool writeBlocks();
+    bool writeObjects();
+    bool writeExtData( const std::vector<DRW_Variant*> &ed );
+    /*use version from dwgutil.h*/
+    std::string toHexStr( int n );//RLZ removeme
+
+  private:
+    DRW::Version version;
+    std::string fileName;
+    std::string codePage;
+    bool binFile;
+    dxfReader *reader;
+    dxfWriter *writer;
+    DRW_Interface *iface;
+    DRW_Header header;
+//  int section;
+    std::string nextentity;
+    int entCount;
+    bool wlayer0;
+    bool dimstyleStd;
+    bool applyExt;
+    bool writingBlock;
+    int elParts;  /*!< parts number when convert ellipse to polyline */
+    std::map<std::string, int> blockMap;
+    std::vector<DRW_ImageDef*> imageDef;  /*!< imageDef list */
+
+    int currHandle;
+};
+
+#endif // LIBDXFRW_H
diff --git a/src/app/dwg/qgsdwgimportdialog.cpp b/src/app/dwg/qgsdwgimportdialog.cpp
new file mode 100644
index 0000000..2da25b9
--- /dev/null
+++ b/src/app/dwg/qgsdwgimportdialog.cpp
@@ -0,0 +1,502 @@
+/***************************************************************************
+                         qgsdwgimportdialog.cpp
+                         ----------------------
+    begin                : May 2016
+    copyright            : (C) 2016 by Juergen E. Fischer
+    email                : jef at norbit dot de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgsdwgimportdialog.h"
+
+#include <QSettings>
+#include <QDialogButtonBox>
+#include <QFileInfo>
+#include <QFileDialog>
+
+#include "qgisapp.h"
+#include "qgsdwgimporter.h"
+#include "qgsvectorlayer.h"
+#include "qgsvectordataprovider.h"
+#include "qgsmaplayerregistry.h"
+#include "qgsfeatureiterator.h"
+#include "qgslayertreeview.h"
+#include "qgslayertreemodel.h"
+#include "qgslayertreegroup.h"
+#include "qgsrendererv2.h"
+#include "qgsdatadefined.h"
+#include "qgsnullsymbolrenderer.h"
+#include "qgssinglesymbolrendererv2.h"
+#include "qgsfillsymbollayerv2.h"
+#include "qgslinesymbollayerv2.h"
+#include "qgspallabeling.h"
+#include "qgsmapcanvas.h"
+#include "qgscrscache.h"
+#include "qgsgenericprojectionselector.h"
+#include "qgsmessagelog.h"
+
+
+struct CursorOverride
+{
+  CursorOverride()
+  {
+    QApplication::setOverrideCursor( Qt::BusyCursor );
+  }
+
+  ~CursorOverride()
+  {
+    QApplication::restoreOverrideCursor();
+  }
+};
+
+
+struct SkipCrsValidation
+{
+  SkipCrsValidation() : savedValidation( QgsCoordinateReferenceSystem::customSrsValidation() )
+  {
+    QgsCoordinateReferenceSystem::setCustomSrsValidation( nullptr );
+  }
+
+  ~SkipCrsValidation()
+  {
+    QgsCoordinateReferenceSystem::setCustomSrsValidation( savedValidation );
+  }
+
+private:
+  CUSTOM_CRS_VALIDATION savedValidation;
+};
+
+
+QgsDwgImportDialog::QgsDwgImportDialog( QWidget *parent, Qt::WindowFlags f )
+    : QDialog( parent, f )
+{
+  setupUi( this );
+
+  QSettings s;
+  leDatabase->setText( s.value( "/DwgImport/lastDatabase", "" ).toString() );
+  cbExpandInserts->setChecked( s.value( "/DwgImport/lastExpandInserts", true ).toBool() );
+  cbMergeLayers->setChecked( s.value( "/DwgImport/lastMergeLayers", false ).toBool() );
+  cbUseCurves->setChecked( s.value( "/DwgImport/lastUseCurves", true ).toBool() );
+
+#if !defined(GDAL_COMPUTE_VERSION) || GDAL_VERSION_NUM < GDAL_COMPUTE_VERSION(2,0,0)
+  cbUseCurves->setChecked( false );
+  cbUseCurves->setHidden( true );
+#endif
+
+  leDrawing->setReadOnly( true );
+  pbImportDrawing->setHidden( true );
+  lblMessage->setHidden( true );
+
+  int crsid = s.value( "/DwgImport/lastCrs", QString::number( QgisApp::instance()->mapCanvas()->mapSettings().destinationCrs().srsid() ) ).toInt();
+
+  QgsCoordinateReferenceSystem crs = QgsCRSCache::instance()->crsBySrsId( crsid );
+  mCrsSelector->setCrs( crs );
+  mCrsSelector->setLayerCrs( crs );
+  mCrsSelector->dialog()->setMessage( tr( "Select the coordinate reference system for the dxf file. "
+                                          "The data points will be transformed from the layer coordinate reference system." ) );
+
+  on_pbLoadDatabase_clicked();
+  updateUI();
+
+  restoreGeometry( s.value( "/Windows/DwgImport/geometry" ).toByteArray() );
+}
+
+QgsDwgImportDialog::~QgsDwgImportDialog()
+{
+  QSettings s;
+  s.setValue( "/DwgImport/lastDatabase", leDatabase->text() );
+  s.setValue( "/DwgImport/lastExpandInserts", cbExpandInserts->isChecked() );
+  s.setValue( "/DwgImport/lastMergeLayers", cbMergeLayers->isChecked() );
+  s.setValue( "/DwgImport/lastUseCurves", cbUseCurves->isChecked() );
+  s.setValue( "/Windows/DwgImport/geometry", saveGeometry() );
+}
+
+void QgsDwgImportDialog::updateUI()
+{
+  bool dbAvailable = false;
+  bool dbReadable = false;
+  bool dwgReadable = false;
+
+  if ( !leDatabase->text().isEmpty() )
+  {
+    QFileInfo fi( leDatabase->text() );
+    dbAvailable = fi.exists() ? fi.isWritable() : QFileInfo( fi.path() ).isWritable();
+    dbReadable = fi.exists() && fi.isReadable();
+  }
+
+  if ( !leDrawing->text().isEmpty() )
+  {
+    QFileInfo fi( leDrawing->text() );
+    dwgReadable = fi.exists() && fi.isReadable();
+  }
+
+  pbImportDrawing->setEnabled( dbAvailable && dwgReadable );
+  pbImportDrawing->setVisible( dbAvailable && dwgReadable );
+  pbLoadDatabase->setEnabled( dbReadable );
+  pbBrowseDrawing->setEnabled( dbAvailable );
+
+  buttonBox->button( QDialogButtonBox::Ok )->setEnabled( mLayers->rowCount() > 0 && !leLayerGroup->text().isEmpty() );
+}
+
+void QgsDwgImportDialog::on_pbBrowseDatabase_clicked()
+{
+  QString dir( leDatabase->text().isEmpty() ? QDir::homePath() : QFileInfo( leDatabase->text() ).canonicalPath() );
+  QString filename = QFileDialog::getSaveFileName( this, tr( "Specify GeoPackage database" ), dir, tr( "GeoPackage database" ) + " (*.gpkg *.GPKG)", nullptr, QFileDialog::DontConfirmOverwrite );
+  if ( filename.isEmpty() )
+    return;
+  leDatabase->setText( filename );
+  updateUI();
+}
+
+void QgsDwgImportDialog::on_leDatabase_textChanged( const QString &text )
+{
+  Q_UNUSED( text );
+  updateUI();
+}
+
+void QgsDwgImportDialog::on_leLayerGroup_textChanged( const QString &text )
+{
+  Q_UNUSED( text );
+  updateUI();
+}
+
+void QgsDwgImportDialog::on_pbLoadDatabase_clicked()
+{
+  if ( !QFileInfo( leDatabase->text() ).exists() )
+    return;
+
+  CursorOverride waitCursor;
+
+  bool lblVisible = false;
+
+  QScopedPointer<QgsVectorLayer> d( new QgsVectorLayer( QString( "%1|layername=drawing" ).arg( leDatabase->text() ), "layers", "ogr", false ) );
+  if ( d && d->isValid() )
+  {
+    int idxPath = d->fieldNameIndex( "path" );
+    int idxLastModified = d->fieldNameIndex( "lastmodified" );
+    int idxCrs = d->fieldNameIndex( "crs" );
+
+    QgsFeature f;
+    if ( d->getFeatures( QgsFeatureRequest().setSubsetOfAttributes( QgsAttributeList() << idxPath << idxLastModified << idxCrs ) ).nextFeature( f ) )
+    {
+      leDrawing->setText( f.attribute( idxPath ).toString() );
+
+      QgsCoordinateReferenceSystem crs = QgsCRSCache::instance()->crsBySrsId( f.attribute( idxCrs ).toInt() );
+      mCrsSelector->setCrs( crs );
+      mCrsSelector->setLayerCrs( crs );
+
+      QFileInfo fi( leDrawing->text() );
+      if ( fi.exists() )
+      {
+        if ( fi.lastModified() > f.attribute( idxLastModified ).toDateTime() )
+        {
+          lblMessage->setText( tr( "Drawing file was meanwhile updated (%1 > %2)." ).arg( fi.lastModified().toString(), f.attribute( idxLastModified ).toDateTime().toString() ) );
+          lblVisible = true;
+        }
+      }
+      else
+      {
+        lblMessage->setText( tr( "Drawing file unavailable." ) );
+        lblVisible = true;
+      }
+    }
+  }
+
+  lblMessage->setVisible( lblVisible );
+
+  QScopedPointer<QgsVectorLayer> l( new QgsVectorLayer( QString( "%1|layername=layers" ).arg( leDatabase->text() ), "layers", "ogr", false ) );
+  if ( l && l->isValid() )
+  {
+    int idxName = l->fieldNameIndex( "name" );
+    int idxColor = l->fieldNameIndex( "ocolor" );
+    int idxFlags = l->fieldNameIndex( "flags" );
+
+    QgsDebugMsg( QString( "idxName:%1 idxColor:%2 idxFlags:%3" ).arg( idxName ).arg( idxColor ).arg( idxFlags ) );
+
+    QgsFeatureIterator fit = l->getFeatures( QgsFeatureRequest().setSubsetOfAttributes( QgsAttributeList() << idxName << idxColor << idxFlags ) );
+    QgsFeature f;
+
+    mLayers->setRowCount( 0 );
+
+    while ( fit.nextFeature( f ) )
+    {
+      int row = mLayers->rowCount();
+      mLayers->setRowCount( row + 1 );
+
+      QgsDebugMsg( QString( "name:%1 color:%2 flags:%3" ).arg( f.attribute( idxName ).toString() ).arg( f.attribute( idxColor ).toInt() ).arg( f.attribute( idxFlags ).toString(), 0, 16 ) );
+
+      QTableWidgetItem *item;
+      item = new QTableWidgetItem( f.attribute( idxName ).toString() );
+      item->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsEnabled );
+      item->setCheckState( Qt::Checked );
+      mLayers->setItem( row, 0, item );
+
+      item = new QTableWidgetItem();
+      item->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsEnabled );
+      item->setCheckState(( f.attribute( idxColor ).toInt() >= 0 && ( f.attribute( idxFlags ).toInt() & 1 ) == 0 ) ? Qt::Checked : Qt::Unchecked );
+      mLayers->setItem( row, 1, item );
+    }
+
+    mLayers->resizeColumnsToContents();
+
+    buttonBox->button( QDialogButtonBox::Ok )->setEnabled( mLayers->rowCount() > 0 && !leLayerGroup->text().isEmpty() );
+  }
+  else
+  {
+    QgisApp::instance()->messageBar()->pushMessage( tr( "Could not open layer list" ), QgsMessageBar::CRITICAL, 4 );
+  }
+}
+
+void QgsDwgImportDialog::on_pbBrowseDrawing_clicked()
+{
+  QString dir( leDrawing->text().isEmpty() ? QDir::homePath() : QFileInfo( leDrawing->text() ).canonicalPath() );
+  QString filename = QFileDialog::getOpenFileName( nullptr, tr( "Select DWG/DXF file" ), dir, tr( "DXF/DWG files" ) + " (*.dwg *.DWG *.dxf *.DXF)" );
+  if ( filename.isEmpty() )
+    return;
+
+  leDrawing->setText( filename );
+
+  on_pbImportDrawing_clicked();
+}
+
+void QgsDwgImportDialog::on_pbImportDrawing_clicked()
+{
+  CursorOverride waitCursor;
+
+  QgsDwgImporter importer( leDatabase->text(), mCrsSelector->crs() );
+
+  QString error;
+  if ( importer.import( leDrawing->text(), error, cbExpandInserts->isChecked(), cbUseCurves->isChecked() ) )
+  {
+    QgisApp::instance()->messageBar()->pushMessage( tr( "Drawing import completed." ), QgsMessageBar::INFO, 4 );
+  }
+  else
+  {
+    QgisApp::instance()->messageBar()->pushMessage( tr( "Drawing import failed (%1)" ).arg( error ), QgsMessageBar::CRITICAL, 4 );
+  }
+
+  on_pbLoadDatabase_clicked();
+}
+
+QgsVectorLayer *QgsDwgImportDialog::layer( QgsLayerTreeGroup *layerGroup, QString layerFilter, QString table )
+{
+  QgsVectorLayer *l = new QgsVectorLayer( QString( "%1|layername=%2" ).arg( leDatabase->text() ).arg( table ), table, "ogr", false );
+  l->setSubsetString( QString( "%1space=0 AND block=-1" ).arg( layerFilter ) );
+
+  if ( l->featureCount() == 0 )
+  {
+    delete l;
+    return nullptr;
+  }
+
+  QgsMapLayerRegistry::instance()->addMapLayer( l, false );
+  layerGroup->addLayer( l );
+  return l;
+}
+
+void QgsDwgImportDialog::createGroup( QgsLayerTreeGroup *group, QString name, QStringList layers, bool visible )
+{
+  QgsLayerTreeGroup *layerGroup = group->addGroup( name );
+  QgsDebugMsg( QString( " %1" ).arg( name ) ) ;
+  Q_ASSERT( layerGroup );
+
+  QString layerFilter;
+  if ( !layers.isEmpty() )
+  {
+    QStringList exprlist;
+    Q_FOREACH ( QString layer, layers )
+    {
+      exprlist.append( QString( "'%1'" ).arg( layer.replace( "'", "''" ) ) );
+    }
+    layerFilter = QString( "layer IN (%1) AND " ).arg( exprlist.join( "," ) );
+  }
+
+  QgsVectorLayer *l;
+  QgsSymbolV2 *sym;
+
+  l = layer( layerGroup, layerFilter, "hatches" );
+  if ( l )
+  {
+    QgsSimpleFillSymbolLayerV2 *sfl = new QgsSimpleFillSymbolLayerV2();
+    sfl->setDataDefinedProperty( "color", new QgsDataDefined( true, false, "", "color" ) );
+    sfl->setBorderStyle( Qt::NoPen );
+    sym = new QgsFillSymbolV2();
+    sym->changeSymbolLayer( 0, sfl );
+    l->setRendererV2( new QgsSingleSymbolRendererV2( sym ) );
+  }
+
+  l = layer( layerGroup, layerFilter, "lines" );
+  if ( l )
+  {
+    QgsSimpleLineSymbolLayerV2 *sll = new QgsSimpleLineSymbolLayerV2();
+    sll->setDataDefinedProperty( "color", new QgsDataDefined( true, false, "", "color" ) );
+    sll->setPenJoinStyle( Qt::MiterJoin );
+    sll->setDataDefinedProperty( "width", new QgsDataDefined( true, false, "", "linewidth" ) );
+    // sll->setUseCustomDashPattern( true );
+    // sll->setCustomDashPatternUnit( QgsSymbolV2::MapUnit );
+    // sll->setDataDefinedProperty( "customdash", new QgsDataDefined( true, false, "", "linetype" ) );
+    sym = new QgsLineSymbolV2();
+    sym->changeSymbolLayer( 0, sll );
+    sym->setOutputUnit( QgsSymbolV2::MM );
+    l->setRendererV2( new QgsSingleSymbolRendererV2( sym ) );
+  }
+
+  l = layer( layerGroup, layerFilter, "polylines" );
+  if ( l )
+  {
+    QgsSimpleLineSymbolLayerV2 *sll = new QgsSimpleLineSymbolLayerV2();
+    sll->setDataDefinedProperty( "color", new QgsDataDefined( true, false, "", "color" ) );
+    sll->setPenJoinStyle( Qt::MiterJoin );
+    sll->setDataDefinedProperty( "width", new QgsDataDefined( true, false, "", "width" ) );
+    // sll->setUseCustomDashPattern( true );
+    // sll->setCustomDashPatternUnit( QgsSymbolV2::MapUnit );
+    // sll->setDataDefinedProperty( "customdash", new QgsDataDefined( true, false, "", "linetype" ) );
+    sym = new QgsLineSymbolV2();
+    sym->changeSymbolLayer( 0, sll );
+    sym->setOutputUnit( QgsSymbolV2::MapUnit );
+    l->setRendererV2( new QgsSingleSymbolRendererV2( sym ) );
+  }
+
+  l = layer( layerGroup, layerFilter, "texts" );
+  if ( l )
+  {
+    l->setRendererV2( new QgsNullSymbolRenderer() );
+
+    QgsPalLayerSettings pls;
+    pls.readFromLayer( l );
+
+    pls.enabled = true;
+    pls.drawLabels = true;
+    pls.fieldName = "text";
+    pls.fontSizeInMapUnits = true;
+    pls.wrapChar = "\\P";
+    pls.setDataDefinedProperty( QgsPalLayerSettings::Size, true, false, "", "height" );
+    pls.setDataDefinedProperty( QgsPalLayerSettings::Color, true, false, "", "color" );
+    pls.setDataDefinedProperty( QgsPalLayerSettings::MultiLineHeight, true, true, "CASE WHEN interlin<0 THEN 1 ELSE interlin*1.5 END", "" );
+    pls.placement = QgsPalLayerSettings::OrderedPositionsAroundPoint;
+    pls.setDataDefinedProperty( QgsPalLayerSettings::PositionX, true, true, "$x", "" );
+    pls.setDataDefinedProperty( QgsPalLayerSettings::PositionY, true, true, "$y", "" );
+    pls.setDataDefinedProperty( QgsPalLayerSettings::Hali, true, true, QString(
+                                  "CASE"
+                                  " WHEN etype=%1 THEN"
+                                  " CASE"
+                                  " WHEN alignv IN (1,4,7) THEN 'Left'"
+                                  " WHEN alignv IN (2,5,6) THEN 'Center'"
+                                  " ELSE 'Right'"
+                                  " END"
+                                  " ELSE"
+                                  "  CASE"
+                                  " WHEN alignh=0 THEN 'Left'"
+                                  " WHEN alignh=1 THEN 'Center'"
+                                  " WHEN alignh=2 THEN 'Right'"
+                                  " WHEN alignh=3 THEN 'Left'"
+                                  " WHEN alignh=4 THEN 'Left'"
+                                  " END "
+                                  " END" ).arg( DRW::MTEXT ), "" );
+
+    pls.setDataDefinedProperty( QgsPalLayerSettings::Vali, true, true, QString(
+                                  "CASE"
+                                  " WHEN etype=%1 THEN"
+                                  " CASE"
+                                  " WHEN alignv < 4 THEN 'Top'"
+                                  " WHEN alignv < 7 THEN 'Half'"
+                                  " ELSE 'Bottom'"
+                                  " END"
+                                  " ELSE"
+                                  " CASE"
+                                  " WHEN alignv=0 THEN 'Base'"
+                                  " WHEN alignv=1 THEN 'Bottom'"
+                                  " WHEN alignv=2 THEN 'Half'"
+                                  " WHEN alignv=3 THEN 'Top'"
+                                  " END"
+                                  " END" ).arg( DRW::MTEXT ), "" );
+
+    pls.setDataDefinedProperty( QgsPalLayerSettings::Rotation, true, true, "angle*180.0/pi()", "" );
+
+    pls.writeToLayer( l );
+  }
+
+  l = layer( layerGroup, layerFilter, "points" );
+  if ( l )
+  {
+    // FIXME: use PDMODE?
+    l->setRendererV2( new QgsNullSymbolRenderer() );
+  }
+
+  if ( !cbExpandInserts->isChecked() )
+    layer( layerGroup, layerFilter, "inserts" );
+
+  if ( !layerGroup->children().isEmpty() )
+  {
+    layerGroup->setExpanded( false );
+    layerGroup->setVisible( visible ? Qt::Checked : Qt::Unchecked );
+  }
+  else
+  {
+    layerGroup->parent()->takeChild( layerGroup );
+    delete layerGroup;
+  }
+}
+
+void QgsDwgImportDialog::updateCheckState( Qt::CheckState state )
+{
+  for ( int i = 0; i < mLayers->rowCount(); i++ )
+    mLayers->item( i, 0 )->setCheckState( state );
+}
+
+void QgsDwgImportDialog::on_pbSelectAll_clicked()
+{
+  updateCheckState( Qt::Checked );
+}
+
+void QgsDwgImportDialog::on_pbDeselectAll_clicked()
+{
+  updateCheckState( Qt::Unchecked );
+}
+
+void QgsDwgImportDialog::on_buttonBox_accepted()
+{
+  CursorOverride waitCursor;
+
+  QMap<QString, bool> layers;
+  bool allLayers = true;
+  for ( int i = 0; i < mLayers->rowCount(); i++ )
+  {
+    QTableWidgetItem *item = mLayers->item( i, 0 );
+    if ( item->checkState() == Qt::Unchecked )
+    {
+      allLayers = false;
+      continue;
+    }
+
+    layers.insert( item->text(), mLayers->item( i, 1 )->checkState() == Qt::Checked );
+  }
+
+  if ( cbMergeLayers->isChecked() )
+  {
+    if ( allLayers )
+      layers.clear();
+
+    createGroup( QgisApp::instance()->layerTreeView()->layerTreeModel()->rootGroup(), leLayerGroup->text(), layers.keys(), true );
+  }
+  else
+  {
+    QgsLayerTreeGroup *dwgGroup = QgisApp::instance()->layerTreeView()->layerTreeModel()->rootGroup()->addGroup( leLayerGroup->text() );
+    Q_ASSERT( dwgGroup );
+
+    Q_FOREACH ( QString layer, layers.keys() )
+    {
+      createGroup( dwgGroup, layer, QStringList( layer ), layers[layer] );
+    }
+
+    dwgGroup->setExpanded( false );
+  }
+}
diff --git a/src/app/dwg/qgsdwgimportdialog.h b/src/app/dwg/qgsdwgimportdialog.h
new file mode 100644
index 0000000..631404c
--- /dev/null
+++ b/src/app/dwg/qgsdwgimportdialog.h
@@ -0,0 +1,52 @@
+/***************************************************************************
+                         qgsdwgimportdialog.h
+                         --------------------
+    begin                : May 2016
+    copyright            : (C) 2016 by Juergen E. Fischer
+    email                : jef at norbit dot de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef QGSDWGIMPORTDIALOG_H
+#define QGSDWGIMPORTDIALOG_H
+
+#include "ui_qgsdwgimportbase.h"
+
+class QgsVectorLayer;
+class QgsLayerTreeGroup;
+
+class QgsDwgImportDialog : public QDialog, private Ui::QgsDwgImportBase
+{
+    Q_OBJECT
+  public:
+    QgsDwgImportDialog( QWidget * parent = nullptr, Qt::WindowFlags f = nullptr );
+    ~QgsDwgImportDialog();
+
+  private slots:
+    void on_buttonBox_accepted();
+    void on_pbBrowseDatabase_clicked();
+    void on_pbBrowseDrawing_clicked();
+    void on_pbImportDrawing_clicked();
+    void on_pbLoadDatabase_clicked();
+    void on_pbSelectAll_clicked();
+    void on_pbDeselectAll_clicked();
+    void on_leDatabase_textChanged( const QString &text );
+    void on_leLayerGroup_textChanged( const QString &text );
+
+  private:
+    QgsVectorLayer *layer( QgsLayerTreeGroup *layerGroup, QString layer, QString table );
+    void createGroup( QgsLayerTreeGroup *group, QString name, QStringList layers, bool visible );
+    void updateUI();
+    void expandInserts();
+    void updateCheckState( Qt::CheckState state );
+};
+
+#endif // QGSDWGIMPORTDIALOG_H
diff --git a/src/app/dwg/qgsdwgimporter.cpp b/src/app/dwg/qgsdwgimporter.cpp
new file mode 100644
index 0000000..669f3a3
--- /dev/null
+++ b/src/app/dwg/qgsdwgimporter.cpp
@@ -0,0 +1,2706 @@
+/***************************************************************************
+                         qgsdwgimporter.cpp
+                         --------------
+    begin                : May 2016
+    copyright            : (C) 2016 by Juergen E. Fischer
+    email                : jef at norbit dot de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "qgsdwgimporter.h"
+
+#include "qgslogger.h"
+#include "qgsmessagelog.h"
+#include "libdwgr.h"
+#include "libdxfrw.h"
+#include "qgis.h"
+#include "qgspointv2.h"
+#include "qgslinestringv2.h"
+#include "qgscircularstringv2.h"
+#include "qgscurvepolygonv2.h"
+#include "qgscompoundcurvev2.h"
+#include "qgspolygonv2.h"
+#include "qgsgeometry.h"
+#include "qgsogrutils.h"
+
+#include <QString>
+#include <QStringList>
+#include <QFileInfo>
+#include <QVector>
+#include <QTransform>
+
+#include <typeinfo>
+
+#include <cpl_port.h>
+#include <cpl_error.h>
+#include <cpl_string.h>
+#include <gdal.h>
+#include <ogr_srs_api.h>
+
+#define LOG( x ) { QgsDebugMsg( x ); QgsMessageLog::logMessage( x, QObject::tr( "DWG/DXF import" ) ); }
+#define ONCE( x ) { static bool show=true; if( show ) LOG( x ); show=false; }
+#define NYI( x ) { static bool show=true; if( show ) LOG( QObject::tr("Not yet implemented %1").arg( x ) ); show=false; }
+#define SETSTRING(a)  setString(dfn, f, #a, data.a)
+#define SETDOUBLE(a)  setDouble(dfn, f, #a, data.a)
+#define SETINTEGER(a) setInteger(dfn, f, #a, data.a)
+
+#ifdef _MSC_VER
+#define strcasecmp(a,b) stricmp(a,b)
+#endif
+
+
+QgsDwgImporter::QgsDwgImporter( const QString &database, const QgsCoordinateReferenceSystem &crs )
+    : mDs( nullptr )
+    , mDatabase( database )
+    , mInTransaction( false )
+    , mSplineSegs( 8 )
+    , mBlockHandle( -1 )
+    , mCrs( crs.srsid() )
+    , mCrsH( nullptr )
+    , mUseCurves( true )
+{
+  QgsDebugCall;
+
+  QString crswkt( crs.toWkt() );
+  mCrsH = OSRNewSpatialReference( crswkt.toLocal8Bit().constData() );
+  QgsDebugMsg( QString( "CRS %1[%2]: %3" ).arg( mCrs ).arg(( qint64 ) mCrsH, 0, 16 ).arg( crswkt ) );
+}
+
+bool QgsDwgImporter::exec( QString sql, bool logError )
+{
+  if ( !mDs )
+  {
+    QgsDebugMsg( "No data source" );
+    return false;
+  }
+
+  CPLErrorReset();
+
+  OGRLayerH layer = OGR_DS_ExecuteSQL( mDs, sql.toUtf8().constData(), nullptr, nullptr );
+  if ( layer )
+  {
+    QgsDebugMsg( "Unexpected result set" );
+    OGR_DS_ReleaseResultSet( mDs, layer );
+    return false;
+  }
+
+  if ( CPLGetLastErrorType() == CE_None )
+    return true;
+
+  if ( logError )
+  {
+    LOG( QObject::tr( "SQL statement failed\nDatabase:%1\nSQL:%2\nError:%3" )
+         .arg( mDatabase )
+         .arg( sql )
+         .arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+  return false;
+}
+
+OGRLayerH QgsDwgImporter::query( QString sql )
+{
+  if ( !mDs )
+  {
+    QgsDebugMsg( "No data source" );
+    return nullptr;
+  }
+
+  CPLErrorReset();
+
+  OGRLayerH layer = OGR_DS_ExecuteSQL( mDs, sql.toUtf8().constData(), nullptr, nullptr );
+  if ( !layer )
+  {
+    QgsDebugMsg( "Result expected" );
+    return layer;
+  }
+
+  if ( CPLGetLastErrorType() == CE_None )
+    return layer;
+
+  LOG( QObject::tr( "SQL statement failed\nDatabase:%1\nSQL:%2\nError:%3" )
+       .arg( mDatabase )
+       .arg( sql )
+       .arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+
+  OGR_DS_ReleaseResultSet( mDs, layer );
+
+  return nullptr;
+}
+
+
+void QgsDwgImporter::startTransaction()
+{
+  Q_ASSERT( mDs );
+
+#if defined(GDAL_COMPUTE_VERSION) && GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(2,0,0)
+  mInTransaction = GDALDatasetStartTransaction( mDs, 0 ) == OGRERR_NONE;
+  if ( !mInTransaction )
+  {
+    LOG( QObject::tr( "Could not start transaction\nDatabase:%1\nError:%2" )
+         .arg( mDatabase )
+         .arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+#endif
+}
+
+void QgsDwgImporter::commitTransaction()
+{
+  Q_ASSERT( mDs != nullptr );
+
+#if defined(GDAL_COMPUTE_VERSION) && GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(2,0,0)
+  if ( mInTransaction && GDALDatasetCommitTransaction( mDs ) != OGRERR_NONE )
+  {
+    LOG( QObject::tr( "Could not commit transaction\nDatabase:%1\nError:%2" )
+         .arg( mDatabase )
+         .arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+  mInTransaction = false;
+#endif
+}
+
+QgsDwgImporter::~QgsDwgImporter()
+{
+  QgsDebugCall;
+
+  if ( mDs )
+  {
+    commitTransaction();
+
+    OGR_DS_Destroy( mDs );
+    mDs = nullptr;
+  }
+}
+
+bool QgsDwgImporter::import( const QString &drawing, QString &error, bool doExpandInserts, bool useCurves )
+{
+  QgsDebugCall;
+
+  OGRwkbGeometryType lineGeomType, hatchGeomType;
+  if ( useCurves )
+  {
+#if !defined(GDAL_COMPUTE_VERSION) || GDAL_VERSION_NUM < GDAL_COMPUTE_VERSION(2,0,0)
+    error = QObject::tr( "Curves only supported with GDAL2" );
+    return false;
+#else
+    lineGeomType = wkbCompoundCurveZ;
+    hatchGeomType = wkbCurvePolygonZ;
+#endif
+  }
+  else
+  {
+    lineGeomType = wkbLineString25D;
+    hatchGeomType = wkbPolygon25D;
+  }
+
+  mUseCurves = useCurves;
+
+  QFileInfo fi( drawing );
+  if ( !fi.isReadable() )
+  {
+    error = QObject::tr( "Drawing %1 is unreadable" ).arg( drawing );
+    return false;
+  }
+
+  if ( QFileInfo( mDatabase ).exists() )
+  {
+    mDs = OGROpen( mDatabase.toUtf8().constData(), true, nullptr );
+    if ( !mDs )
+    {
+      LOG( QObject::tr( "Could not open database [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+      return false;
+    }
+
+    // Check whether database is uptodate
+    OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "drawing" );
+    if ( !layer )
+    {
+      LOG( QObject::tr( "Query for drawing %1 failed." ).arg( drawing ) );
+      OGR_DS_Destroy( mDs );
+      mDs = nullptr;
+      return false;
+    }
+
+    OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+    int pathIdx = OGR_FD_GetFieldIndex( dfn, "path" );
+    int lastmodifiedIdx = OGR_FD_GetFieldIndex( dfn, "lastmodified" );
+
+    OGR_L_ResetReading( layer );
+
+    OGRFeatureH f = OGR_L_GetNextFeature( layer );
+    if ( !f )
+    {
+      LOG( QObject::tr( "Could not retrieve drawing name from database [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+      OGR_DS_Destroy( mDs );
+      mDs = nullptr;
+      return false;
+    }
+
+    QString path = QString::fromUtf8( OGR_F_GetFieldAsString( f, pathIdx ) );
+
+    int year, month, day, hour, minute, second, tzf;
+    if ( !OGR_F_GetFieldAsDateTime( f, lastmodifiedIdx, &year, &month, &day, &hour, &minute, &second, &tzf ) )
+    {
+      LOG( QObject::tr( "Recorded last modification date unreadable [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+      OGR_F_Destroy( f );
+      OGR_DS_Destroy( mDs );
+      mDs = nullptr;
+      return false;
+    }
+
+    QDateTime lastModified( QDate( year, month, day ), QTime( hour, minute, second ) );
+
+#if 0
+    if ( path == fi.canonicalPath() && fi.lastModified() <= lastModified )
+    {
+      LOG( QObject::tr( "Drawing already uptodate in database." ) );
+      OGR_F_Destroy( f );
+      return true;
+    }
+#endif
+
+    OGR_DS_Destroy( mDs );
+    mDs = nullptr;
+
+    QFile::remove( mDatabase );
+  }
+
+  struct field
+  {
+    field( QString name, OGRFieldType ogrType, int width = -1, int precision = -1 )
+        : mName( name ), mOgrType( ogrType ), mWidth( width ), mPrecision( precision )
+    {}
+
+    QString mName;
+    OGRFieldType mOgrType;
+    int mWidth;
+    int mPrecision;
+  };
+
+  struct table
+  {
+    table( QString name, QString desc, OGRwkbGeometryType wkbType, QList<field> fields )
+        : mName( name ), mDescription( desc ), mWkbType( wkbType ), mFields( fields )
+    {}
+
+    QString mName;
+    QString mDescription;
+    OGRwkbGeometryType mWkbType;
+    QList<field> mFields;
+  };
+
+#define ENTITY_ATTRIBUTES \
+  << field( "handle", OFTInteger ) \
+  << field( "block", OFTInteger ) \
+  << field( "etype", OFTInteger ) \
+  << field( "space", OFTInteger ) \
+  << field( "layer", OFTString ) \
+  << field( "olinetype", OFTString ) \
+  << field( "linetype", OFTString ) \
+  << field( "color", OFTString ) \
+  << field( "ocolor", OFTInteger) \
+  << field( "color24", OFTInteger) \
+  << field( "transparency", OFTInteger) \
+  << field( "lweight", OFTInteger ) \
+  << field( "linewidth", OFTReal ) \
+  << field( "ltscale", OFTReal ) \
+  << field( "visible", OFTInteger )
+
+
+  QList<table> tables = QList<table>()
+                        << table( "drawing", QObject::tr( "Imported drawings" ), wkbNone, QList<field>()
+                                  << field( "path", OFTString )
+                                  << field( "comments", OFTString )
+                                  << field( "importdat", OFTDateTime )
+                                  << field( "lastmodified", OFTDateTime )
+                                  << field( "crs", OFTInteger )
+                                )
+                        << table( "headers", QObject::tr( "Headers" ), wkbNone, QList<field>()
+                                  << field( "k", OFTString )
+                                  << field( "v", OFTString )
+                                )
+                        << table( "linetypes", QObject::tr( "Line types" ), wkbNone, QList<field>()
+                                  << field( "name", OFTString )
+                                  << field( "desc", OFTString )
+                                  << field( "path", OFTRealList )
+                                )
+                        << table( "layers", QObject::tr( "Layer list" ), wkbNone, QList<field>()
+                                  << field( "name", OFTString )
+                                  << field( "linetype", OFTString )
+                                  << field( "color", OFTString )
+                                  << field( "ocolor", OFTInteger )
+                                  << field( "color24", OFTInteger )
+                                  << field( "transparency", OFTInteger )
+                                  << field( "lweight", OFTInteger )
+                                  << field( "linewidth", OFTReal )
+                                  << field( "flags", OFTInteger )
+                                )
+                        << table( "dimstyles", QObject::tr( "Dimension styles" ), wkbNone, QList<field>()
+                                  << field( "name", OFTString )
+                                  << field( "dimpost", OFTString )
+                                  << field( "dimapost", OFTString )
+                                  << field( "dimblk", OFTString )
+                                  << field( "dimblk1", OFTString )
+                                  << field( "dimblk2", OFTString )
+                                  << field( "dimscale", OFTReal )
+                                  << field( "dimasz", OFTReal )
+                                  << field( "dimexo", OFTReal )
+                                  << field( "dimdli", OFTReal )
+                                  << field( "dimexe", OFTReal )
+                                  << field( "dimrnd", OFTReal )
+                                  << field( "dimdle", OFTReal )
+                                  << field( "dimtp", OFTReal )
+                                  << field( "dimtm", OFTReal )
+                                  << field( "dimfxl", OFTReal )
+                                  << field( "dimtxt", OFTReal )
+                                  << field( "dimcen", OFTReal )
+                                  << field( "dimtsz", OFTReal )
+                                  << field( "dimaltf", OFTReal )
+                                  << field( "dimlfac", OFTReal )
+                                  << field( "dimtvp", OFTReal )
+                                  << field( "dimtfac", OFTReal )
+                                  << field( "dimgap", OFTReal )
+                                  << field( "dimaltrnd", OFTReal )
+                                  << field( "dimtol", OFTInteger )
+                                  << field( "dimlim", OFTInteger )
+                                  << field( "dimtih", OFTInteger )
+                                  << field( "dimtoh", OFTInteger )
+                                  << field( "dimse1", OFTInteger )
+                                  << field( "dimse2", OFTInteger )
+                                  << field( "dimtad", OFTInteger )
+                                  << field( "dimzin", OFTInteger )
+                                  << field( "dimazin", OFTInteger )
+                                  << field( "dimalt", OFTInteger )
+                                  << field( "dimaltd", OFTInteger )
+                                  << field( "dimtofl", OFTInteger )
+                                  << field( "dimsah", OFTInteger )
+                                  << field( "dimtix", OFTInteger )
+                                  << field( "dimsoxd", OFTInteger )
+                                  << field( "dimclrd", OFTInteger )
+                                  << field( "dimclre", OFTInteger )
+                                  << field( "dimclrt", OFTInteger )
+                                  << field( "dimadec", OFTInteger )
+                                  << field( "dimunit", OFTInteger )
+                                  << field( "dimdec", OFTInteger )
+                                  << field( "dimtdec", OFTInteger )
+                                  << field( "dimaltu", OFTInteger )
+                                  << field( "dimalttd", OFTInteger )
+                                  << field( "dimaunit", OFTInteger )
+                                  << field( "dimfrac", OFTInteger )
+                                  << field( "dimlunit", OFTInteger )
+                                  << field( "dimdsep", OFTInteger )
+                                  << field( "dimtmove", OFTInteger )
+                                  << field( "dimjust", OFTInteger )
+                                  << field( "dimsd1", OFTInteger )
+                                  << field( "dimsd2", OFTInteger )
+                                  << field( "dimtolj", OFTInteger )
+                                  << field( "dimtzin", OFTInteger )
+                                  << field( "dimaltz", OFTInteger )
+                                  << field( "dimaltttz", OFTInteger )
+                                  << field( "dimfit", OFTInteger )
+                                  << field( "dimupt", OFTInteger )
+                                  << field( "dimatfit", OFTInteger )
+                                  << field( "dimfxlon", OFTInteger )
+                                  << field( "dimtxsty", OFTString )
+                                  << field( "dimldrblk", OFTString )
+                                  << field( "dimlwd", OFTInteger )
+                                  << field( "dimlwe", OFTInteger )
+                                )
+                        << table( "textstyles", QObject::tr( "Text styles" ), wkbNone, QList<field>()
+                                  << field( "name", OFTString )
+                                  << field( "height", OFTReal )
+                                  << field( "width", OFTReal )
+                                  << field( "oblique", OFTReal )
+                                  << field( "genFlag", OFTInteger )
+                                  << field( "lastHeight", OFTReal )
+                                  << field( "font", OFTString )
+                                  << field( "bigFont", OFTString )
+                                  << field( "fontFamily", OFTInteger )
+                                )
+                        << table( "appdata", QObject::tr( "Application data" ), wkbNone, QList<field>()
+                                  << field( "handle", OFTInteger )
+                                  << field( "i", OFTInteger )
+                                  << field( "value", OFTString )
+                                )
+                        << table( "blocks", QObject::tr( "BLOCK entities" ), wkbPoint25D, QList<field>()
+                                  ENTITY_ATTRIBUTES
+                                  << field( "thickness", OFTReal )
+                                  << field( "ext", OFTRealList )
+                                  << field( "name", OFTString )
+                                  << field( "flags", OFTInteger )
+                                )
+                        << table( "points", QObject::tr( "POINT entities" ), wkbPoint25D, QList<field>()
+                                  ENTITY_ATTRIBUTES
+                                  << field( "thickness", OFTReal )
+                                  << field( "ext", OFTRealList )
+                                )
+                        << table( "lines", QObject::tr( "LINE entities" ), lineGeomType, QList<field>()
+                                  ENTITY_ATTRIBUTES
+                                  << field( "thickness", OFTReal )
+                                  << field( "ext", OFTRealList )
+                                  << field( "width", OFTReal )
+                                )
+                        << table( "polylines", QObject::tr( "POLYLINE entities" ), lineGeomType, QList<field>()
+                                  ENTITY_ATTRIBUTES
+                                  << field( "width", OFTReal )
+                                  << field( "thickness", OFTReal )
+                                  << field( "ext", OFTRealList )
+                                )
+                        << table( "texts", QObject::tr( "TEXT entities" ), wkbPoint25D, QList<field>()
+                                  ENTITY_ATTRIBUTES
+                                  << field( "thickness", OFTReal )
+                                  << field( "ext", OFTRealList )
+                                  << field( "height", OFTReal )
+                                  << field( "text", OFTString )
+                                  << field( "angle", OFTReal )
+                                  << field( "widthscale", OFTReal )
+                                  << field( "oblique", OFTReal )
+                                  << field( "style", OFTString )
+                                  << field( "textgen", OFTInteger )
+                                  << field( "alignh", OFTInteger )
+                                  << field( "alignv", OFTInteger )
+                                  << field( "interlin", OFTReal )
+                                )
+                        << table( "hatches", QObject::tr( "HATCH entities" ), hatchGeomType, QList<field>()
+                                  ENTITY_ATTRIBUTES
+                                  << field( "thickness", OFTReal )
+                                  << field( "ext", OFTRealList )
+                                  << field( "name", OFTString )
+                                  << field( "solid", OFTInteger )
+                                  << field( "associative", OFTInteger )
+                                  << field( "hstyle", OFTInteger )
+                                  << field( "hpattern", OFTInteger )
+                                  << field( "doubleflag", OFTInteger )
+                                  << field( "angle", OFTReal )
+                                  << field( "scale", OFTReal )
+                                  << field( "deflines", OFTInteger )
+                                )
+                        << table( "inserts", QObject::tr( "INSERT entities" ), wkbPoint25D, QList<field>()
+                                  ENTITY_ATTRIBUTES
+                                  << field( "thickness", OFTReal )
+                                  << field( "ext", OFTRealList )
+                                  << field( "name", OFTString )
+                                  << field( "xscale", OFTReal )
+                                  << field( "yscale", OFTReal )
+                                  << field( "zscale", OFTReal )
+                                  << field( "angle", OFTReal )
+                                  << field( "colcount", OFTReal )
+                                  << field( "rowcount", OFTReal )
+                                  << field( "colspace", OFTReal )
+                                  << field( "rowspace", OFTReal )
+                                )
+                        ;
+
+  OGRSFDriverH driver = OGRGetDriverByName( "GPKG" );
+  if ( !driver )
+  {
+    LOG( QObject::tr( "Could not load geopackage driver" ) );
+    return false;
+  }
+
+  // create database
+  mDs = OGR_Dr_CreateDataSource( driver, mDatabase.toUtf8().constData(), nullptr );
+  if ( !mDs )
+  {
+    LOG( QObject::tr( "Creation of datasource failed [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+    return false;
+  }
+
+  startTransaction();
+
+  Q_FOREACH ( const table &t, tables )
+  {
+    char **options = nullptr;
+    options = CSLSetNameValue( options, "OVERWRITE", "YES" );
+    options = CSLSetNameValue( options, "DESCRIPTION", t.mDescription.toUtf8().constData() );
+    if ( t.mWkbType == wkbNone )
+    {
+      options = CSLSetNameValue( options, "SPATIAL_INDEX", "NO" );
+    }
+
+    OGRLayerH layer = OGR_DS_CreateLayer( mDs, t.mName.toUtf8().constData(), ( t.mWkbType != wkbNone && mCrs > 0 ) ? mCrsH : nullptr, t.mWkbType, options );
+
+    CSLDestroy( options );
+    options = nullptr;
+
+    if ( !layer )
+    {
+      LOG( QObject::tr( "Creation of drawing layer %1 failed [%2]" ).arg( t.mName, QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+      OGR_DS_Destroy( mDs );
+      mDs = nullptr;
+      return false;
+    }
+
+    Q_FOREACH ( const field &f, t.mFields )
+    {
+      OGRFieldDefnH fld = OGR_Fld_Create( f.mName.toUtf8().constData(), f.mOgrType );
+      if ( !fld )
+      {
+        LOG( QObject::tr( "Creation of field definition for %1.%2 failed [%3]" ).arg( t.mName, f.mName, QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+        OGR_DS_Destroy( mDs );
+        mDs = nullptr;
+        return false;
+      }
+
+      if ( f.mWidth >= 0 )
+        OGR_Fld_SetWidth( fld, f.mWidth );
+      if ( f.mPrecision >= 0 )
+        OGR_Fld_SetPrecision( fld, f.mPrecision );
+
+      OGRErr res = OGR_L_CreateField( layer, fld, true );
+      OGR_Fld_Destroy( fld );
+
+      if ( res != OGRERR_NONE )
+      {
+        LOG( QObject::tr( "Creation of field %1.%2 failed [%3]" ).arg( t.mName, f.mName, QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+        OGR_DS_Destroy( mDs );
+        mDs = nullptr;
+        return false;
+      }
+    }
+  }
+
+  commitTransaction();
+
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "drawing" );
+  Q_ASSERT( layer );
+
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  int pathIdx = OGR_FD_GetFieldIndex( dfn, "path" );
+  int importdatIdx = OGR_FD_GetFieldIndex( dfn, "importdat" );
+  int lastmodifiedIdx = OGR_FD_GetFieldIndex( dfn, "lastmodified" );
+  int crsIdx = OGR_FD_GetFieldIndex( dfn, "crs" );
+
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  OGR_F_SetFieldString( f, pathIdx, fi.canonicalFilePath().toUtf8().constData() );
+
+  QDateTime d( fi.lastModified() );
+  OGR_F_SetFieldDateTime( f, lastmodifiedIdx,
+                          d.date().year(),
+                          d.date().month(),
+                          d.date().day(),
+                          d.time().hour(),
+                          d.time().minute(),
+                          d.time().second(),
+                          0
+                        );
+
+  d = QDateTime::currentDateTime();
+  OGR_F_SetFieldDateTime( f, importdatIdx,
+                          d.date().year(),
+                          d.date().month(),
+                          d.date().day(),
+                          d.time().hour(),
+                          d.time().minute(),
+                          d.time().second(),
+                          0
+                        );
+
+  OGR_F_SetFieldInteger( f, crsIdx, mCrs );
+
+  if ( OGR_L_CreateFeature( layer, f ) != OGRERR_NONE )
+  {
+    LOG( QObject::tr( "Could not update drawing record [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+    OGR_F_Destroy( f );
+    return false;
+  }
+
+  OGR_F_Destroy( f );
+
+  LOG( QObject::tr( "Updating database from %1 [%2]." ).arg( drawing ).arg( fi.lastModified().toString() ) );
+
+  DRW::error result( DRW::BAD_NONE );
+
+  if ( fi.suffix().toLower() == "dxf" )
+  {
+    //loads dxf
+    QSharedPointer<dxfRW> dxf( new dxfRW( drawing.toUtf8() ) );
+    if ( !dxf->read( this, false ) )
+    {
+      result = DRW::BAD_UNKNOWN;
+    }
+  }
+  else if ( fi.suffix().toLower() == "dwg" )
+  {
+    //loads dwg
+    QSharedPointer<dwgR> dwg( new dwgR( drawing.toUtf8() ) );
+    if ( !dwg->read( this, false ) )
+    {
+      result = dwg->getError();
+    }
+  }
+  else
+  {
+    LOG( QObject::tr( "File %1 is not a DWG/DXF file" ).arg( drawing ) );
+    return false;
+  }
+
+  if ( result != DRW::BAD_NONE )
+  {
+    switch ( result )
+    {
+      case DRW::BAD_NONE:
+        error = QObject::tr( "No error." );
+        break;
+      case DRW::BAD_UNKNOWN:
+        error = QObject::tr( "Unknown error." );
+        break;
+      case DRW::BAD_OPEN:
+        error = QObject::tr( "error opening file." );
+        break;
+      case DRW::BAD_VERSION:
+        error = QObject::tr( "unsupported version." );
+        break;
+      case DRW::BAD_READ_METADATA:
+        error = QObject::tr( "error reading metadata." );
+        break;
+      case DRW::BAD_READ_FILE_HEADER:
+        error = QObject::tr( "error in file header read process." );
+        break;
+      case DRW::BAD_READ_HEADER:
+        error = QObject::tr( "error in header vars read process." );
+        break;
+      case DRW::BAD_READ_HANDLES:
+        error = QObject::tr( "error in object map read process." );
+        break;
+      case DRW::BAD_READ_CLASSES:
+        error = QObject::tr( "error in classes read process." );
+        break;
+      case DRW::BAD_READ_TABLES:
+        error = QObject::tr( "error in tables read process." );
+        result = DRW::BAD_NONE;
+        break;
+      case DRW::BAD_READ_BLOCKS:
+        error = QObject::tr( "error in block read process." );
+        break;
+      case DRW::BAD_READ_ENTITIES:
+        error = QObject::tr( "error in entities read process." );
+        break;
+      case DRW::BAD_READ_OBJECTS:
+        error = QObject::tr( "error in objects read process." );
+        break;
+    }
+
+    QgsDebugMsg( QString( "error:%1" ).arg( error ) );
+
+    if ( result != DRW::BAD_NONE )
+      return false;
+  }
+
+  return !doExpandInserts || expandInserts( error );
+}
+
+void QgsDwgImporter::addHeader( const DRW_Header *data )
+{
+  QgsDebugCall;
+
+  Q_ASSERT( data );
+
+  if ( !data->getComments().empty() )
+  {
+    OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "drawing" );
+    OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+    int importdatIdx = OGR_FD_GetFieldIndex( dfn, "comments" );
+
+    OGR_L_ResetReading( layer );
+    OGRFeatureH f = OGR_L_GetNextFeature( layer );
+    Q_ASSERT( f );
+
+    OGR_F_SetFieldString( f, importdatIdx, data->getComments().c_str() );
+
+    if ( OGR_L_SetFeature( layer, f ) != OGRERR_NONE )
+    {
+      LOG( QObject::tr( "Could not update comment in drawing record [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+      OGR_F_Destroy( f );
+      return;
+    }
+
+    OGR_F_Destroy( f );
+  }
+
+  if ( data->vars.empty() )
+    return;
+
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "headers" );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  int kIdx = OGR_FD_GetFieldIndex( dfn, "k" );
+  int vIdx = OGR_FD_GetFieldIndex( dfn, "v" );
+
+  for ( std::map<std::string, DRW_Variant*>::const_iterator it = data->vars.begin(); it != data->vars.end(); ++it )
+  {
+    OGRFeatureH f = OGR_F_Create( dfn );
+
+    QString k = it->first.c_str();
+
+    QString v;
+    switch ( it->second->type() )
+    {
+      case DRW_Variant::STRING:
+        v = *it->second->content.s->c_str();
+        break;
+
+      case DRW_Variant::INTEGER:
+        v = QString::number( it->second->content.i );
+
+        if ( k == "SPLINESEGS" )
+          mSplineSegs = it->second->content.i;
+
+        break;
+
+      case DRW_Variant::DOUBLE:
+        v = qgsDoubleToString( it->second->content.d );
+        break;
+
+      case DRW_Variant::COORD:
+        v = QString( "%1,%2,%3" )
+            .arg( qgsDoubleToString( it->second->content.v->x ) )
+            .arg( qgsDoubleToString( it->second->content.v->y ) )
+            .arg( qgsDoubleToString( it->second->content.v->z ) );
+        break;
+
+      case DRW_Variant::INVALID:
+        break;
+    }
+
+    OGR_F_SetFieldString( f, kIdx, k.toUtf8().constData() );
+    OGR_F_SetFieldString( f, vIdx, v.toUtf8().constData() );
+
+    if ( OGR_L_CreateFeature( layer, f ) != OGRERR_NONE )
+    {
+      LOG( QObject::tr( "Could not add header record %1 [%2]" ).arg( k, QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+    }
+
+    OGR_F_Destroy( f );
+  }
+}
+
+void QgsDwgImporter::addLType( const DRW_LType &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "linetypes" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  SETSTRING( name );
+  SETSTRING( desc );
+
+  QVector<double> path( QVector<double>::fromStdVector( data.path ) );
+  OGR_F_SetFieldDoubleList( f, OGR_FD_GetFieldIndex( dfn, "path" ), path.size(), path.data() );
+
+  QVector<double> upath;
+  for ( int i = 0; i < path.size(); i++ )
+  {
+    if ( i == 0 )
+    {
+      upath.push_back( path[i] );
+      continue;
+    }
+
+    if ( path[i] == 0.0 )
+    {
+      NYI( QObject::tr( "dotted linetypes - dot ignored" ) );
+      continue;
+    }
+
+    if (( upath.back() < 0. && path[i] < 0. ) || ( upath.back() > 0. && path[i] > 0. ) )
+    {
+      upath.back() += path[i];
+    }
+    else
+    {
+      upath.push_back( path[i] );
+    }
+  }
+
+  QString typeName( data.name.c_str() ), dash( "" );
+  if ( upath.size() > 0 )
+  {
+    QStringList l;
+    if ( upath[0] < 0 )
+      l << "0";
+
+    Q_FOREACH ( double p, upath )
+    {
+      l << QString::number( std::fabs( p ) );
+    }
+
+    if ( upath.size() % 2 == 1 )
+      l << "0";
+
+    dash = l.join( ";" ).toUtf8().constData();
+  }
+  mLinetype.insert( typeName.toLower(), dash );
+
+  if ( OGR_L_CreateFeature( layer, f ) != OGRERR_NONE )
+  {
+    LOG( QObject::tr( "Could not add add line type %1 [%2]" ).arg( data.name.c_str() ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+
+  OGR_F_Destroy( f );
+}
+
+QString QgsDwgImporter::colorString( int color, int color24, int transparency, const std::string &layer ) const
+{
+  QgsDebugMsgLevel( QString( "colorString(color=%1, color24=0x%2, transparency=0x%3 layer=%4" )
+                    .arg( color )
+                    .arg( color24, 0, 16 )
+                    .arg( transparency, 0, 16 )
+                    .arg( layer.c_str() ), 5 );
+  if ( color24 == -1 )
+  {
+    if ( color == 0 )
+    {
+      return "byblock";
+    }
+    else if ( color == 256 )
+    {
+      return mLayerColor.value( layer.c_str(), "0,0,0,255" );
+    }
+    else
+    {
+      if ( color < 0 )
+        color = -color;
+
+      return QString( "%1,%2,%3,%4" )
+             .arg( DRW::dxfColors[ color ][0] )
+             .arg( DRW::dxfColors[ color ][1] )
+             .arg( DRW::dxfColors[ color ][2] )
+             .arg( 255 - ( transparency & 0xff ) );
+    }
+  }
+  else
+  {
+    return QString( "%1,%2,%3,%4" )
+           .arg(( color24 & 0xff0000 ) >> 16 )
+           .arg(( color24 & 0x00ff00 ) >> 8 )
+           .arg(( color24 & 0x0000ff ) )
+           .arg( 255 - ( transparency & 0xff ) );
+  }
+}
+
+QString QgsDwgImporter::linetypeString( const std::string &olinetype, const std::string &layer ) const
+{
+  QString linetype( olinetype.c_str() );
+
+  if ( linetype == "bylayer" )
+    return mLayerLinetype.value( layer.c_str(), "" );
+  else
+    return mLinetype.value( linetype, "" );
+}
+
+void QgsDwgImporter::addLayer( const DRW_Layer &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "layers" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  SETSTRING( name );
+  SETSTRING( lineType );
+  SETINTEGER( flags );
+
+  QString color = colorString( data.color, data.color24, data.transparency, "" );
+  mLayerColor.insert( data.name.c_str(), color );
+
+  double linewidth = lineWidth( data.lWeight, "" );
+  if ( linewidth < 0. )
+    linewidth = 0.;
+  mLayerLinewidth.insert( data.name.c_str(), linewidth );
+  mLayerLinetype.insert( data.name.c_str(), linetypeString( data.lineType, "" ) );
+
+  setInteger( dfn, f, "ocolor", data.color );
+  SETINTEGER( color24 );
+  SETINTEGER( transparency );
+  setString( dfn, f, "color", color.toUtf8().constData() );
+  setInteger( dfn, f, "lweight", DRW_LW_Conv::lineWidth2dxfInt( data.lWeight ) );
+  setInteger( dfn, f, "linewidth", linewidth );
+
+  if ( OGR_L_CreateFeature( layer, f ) != OGRERR_NONE )
+  {
+    LOG( QObject::tr( "Could not add add layer %1 [%2]" ).arg( data.name.c_str(), QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+
+  OGR_F_Destroy( f );
+}
+
+void QgsDwgImporter::setString( OGRFeatureDefnH dfn, OGRFeatureH f, QString field, const std::string &value ) const
+{
+  int idx = OGR_FD_GetFieldIndex( dfn, field.toLower().toUtf8().constData() );
+  if ( idx < 0 )
+  {
+    LOG( QObject::tr( "Field %1 not found" ).arg( field ) );
+    return;
+  }
+  OGR_F_SetFieldString( f, idx, value.c_str() );
+}
+
+void QgsDwgImporter::setDouble( OGRFeatureDefnH dfn, OGRFeatureH f, QString field, double value ) const
+{
+  int idx = OGR_FD_GetFieldIndex( dfn, field.toLower().toUtf8().constData() );
+  if ( idx < 0 )
+  {
+    LOG( QObject::tr( "Field %1 not found" ).arg( field ) );
+    return;
+  }
+  OGR_F_SetFieldDouble( f, idx, value );
+}
+
+void QgsDwgImporter::setInteger( OGRFeatureDefnH dfn, OGRFeatureH f, QString field, int value ) const
+{
+  int idx = OGR_FD_GetFieldIndex( dfn, field.toLower().toUtf8().constData() );
+  if ( idx < 0 )
+  {
+    LOG( QObject::tr( "Field %1 not found" ).arg( field ) );
+    return;
+  }
+  OGR_F_SetFieldInteger( f, idx, value );
+}
+
+void QgsDwgImporter::setPoint( OGRFeatureDefnH dfn, OGRFeatureH f, QString field, const DRW_Coord &p ) const
+{
+  QVector<double> ext( 3 );
+  ext[0] = p.x;
+  ext[1] = p.y;
+  ext[2] = p.z;
+
+  int idx = OGR_FD_GetFieldIndex( dfn, field.toLower().toUtf8().constData() );
+  if ( idx < 0 )
+  {
+    LOG( QObject::tr( "Field %1 not found" ).arg( field ) );
+    return;
+  }
+
+  OGR_F_SetFieldDoubleList( f, idx, 3, ext.data() );
+}
+
+double QgsDwgImporter::lineWidth( int lWeight, const std::string &layer ) const
+{
+  switch ( lWeight )
+  {
+    case 0:
+      return 0.00;
+    case 1:
+      return 0.05;
+    case 2:
+      return 0.09;
+    case 3:
+      return 0.13;
+    case 4:
+      return 0.15;
+    case 5:
+      return 0.18;
+    case 6:
+      return 0.20;
+    case 7:
+      return 0.25;
+    case 8:
+      return 0.30;
+    case 9:
+      return 0.35;
+    case 10:
+      return 0.40;
+    case 11:
+      return 0.50;
+    case 12:
+      return 0.53;
+    case 13:
+      return 0.60;
+    case 14:
+      return 0.70;
+    case 15:
+      return 0.80;
+    case 16:
+      return 0.90;
+    case 17:
+      return 1.00;
+    case 18:
+      return 1.06;
+    case 19:
+      return 1.20;
+    case 20:
+      return 1.40;
+    case 21:
+      return 1.58;
+    case 22:
+      return 2.00;
+    case 23:
+      return 2.11;
+    case 29: // bylayer
+      return mLayerLinewidth.value( layer.c_str(), 0.0 );
+    case 30: // byblock
+      return -1.0;
+    case 31:
+    default:
+      NYI( QObject::tr( "Line width default" ) );
+      return 0.0;
+  }
+}
+
+void QgsDwgImporter::addDimStyle( const DRW_Dimstyle &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "dimstyles" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  SETSTRING( name );
+  SETSTRING( dimpost );
+  SETSTRING( dimapost );
+  SETSTRING( dimblk );
+  SETSTRING( dimblk1 );
+  SETSTRING( dimblk2 );
+  SETDOUBLE( dimscale );
+  SETDOUBLE( dimasz );
+  SETDOUBLE( dimexo );
+  SETDOUBLE( dimdli );
+  SETDOUBLE( dimexe );
+  SETDOUBLE( dimrnd );
+  SETDOUBLE( dimdle );
+  SETDOUBLE( dimtp );
+  SETDOUBLE( dimtm );
+  SETDOUBLE( dimfxl );
+  SETDOUBLE( dimtxt );
+  SETDOUBLE( dimcen );
+  SETDOUBLE( dimtsz );
+  SETDOUBLE( dimaltf );
+  SETDOUBLE( dimlfac );
+  SETDOUBLE( dimtvp );
+  SETDOUBLE( dimtfac );
+  SETDOUBLE( dimgap );
+  SETDOUBLE( dimaltrnd );
+  SETINTEGER( dimtol );
+  SETINTEGER( dimlim );
+  SETINTEGER( dimtih );
+  SETINTEGER( dimtoh );
+  SETINTEGER( dimse1 );
+  SETINTEGER( dimse2 );
+  SETINTEGER( dimtad );
+  SETINTEGER( dimzin );
+  SETINTEGER( dimazin );
+  SETINTEGER( dimalt );
+  SETINTEGER( dimaltd );
+  SETINTEGER( dimtofl );
+  SETINTEGER( dimsah );
+  SETINTEGER( dimtix );
+  SETINTEGER( dimsoxd );
+  SETINTEGER( dimclrd );
+  SETINTEGER( dimclre );
+  SETINTEGER( dimclrt );
+  SETINTEGER( dimadec );
+  SETINTEGER( dimunit );
+  SETINTEGER( dimdec );
+  SETINTEGER( dimtdec );
+  SETINTEGER( dimaltu );
+  SETINTEGER( dimalttd );
+  SETINTEGER( dimaunit );
+  SETINTEGER( dimfrac );
+  SETINTEGER( dimlunit );
+  SETINTEGER( dimdsep );
+  SETINTEGER( dimtmove );
+  SETINTEGER( dimjust );
+  SETINTEGER( dimsd1 );
+  SETINTEGER( dimsd2 );
+  SETINTEGER( dimtolj );
+  SETINTEGER( dimtzin );
+  SETINTEGER( dimaltz );
+  SETINTEGER( dimaltttz );
+  SETINTEGER( dimfit );
+  SETINTEGER( dimupt );
+  SETINTEGER( dimatfit );
+  SETINTEGER( dimfxlon );
+  SETSTRING( dimtxsty );
+  SETSTRING( dimldrblk );
+  SETINTEGER( dimlwd );
+  SETINTEGER( dimlwe );
+
+  if ( OGR_L_CreateFeature( layer, f ) != OGRERR_NONE )
+  {
+    LOG( QObject::tr( "Could not add add layer %1 [%2]" ).arg( data.name.c_str() ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+
+  OGR_F_Destroy( f );
+}
+
+void QgsDwgImporter::addVport( const DRW_Vport &data )
+{
+  Q_UNUSED( data );
+}
+
+void QgsDwgImporter::addTextStyle( const DRW_Textstyle &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "textstyles" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  SETSTRING( name );
+  SETDOUBLE( height );
+  SETDOUBLE( width );
+  SETDOUBLE( oblique );
+  SETINTEGER( genFlag );
+  SETDOUBLE( lastHeight );
+  SETSTRING( font );
+  SETSTRING( bigFont );
+  SETINTEGER( fontFamily );
+
+  if ( OGR_L_CreateFeature( layer, f ) != OGRERR_NONE )
+  {
+    LOG( QObject::tr( "Could not add add text style %1 [%2]" ).arg( data.name.c_str() ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+
+  OGR_F_Destroy( f );
+}
+
+void QgsDwgImporter::addAppId( const DRW_AppId &data )
+{
+  Q_UNUSED( data );
+}
+
+bool QgsDwgImporter::createFeature( OGRLayerH layer, OGRFeatureH f, const QgsAbstractGeometryV2 &g0 ) const
+{
+  const QgsAbstractGeometryV2 *g;
+  QScopedPointer<QgsAbstractGeometryV2> sg( nullptr );
+
+  if ( !mUseCurves && g0.hasCurvedSegments() )
+  {
+    sg.reset( g0.segmentize() );
+    g = sg.data();
+  }
+  else
+  {
+    g = &g0;
+  }
+
+  int binarySize;
+  unsigned char *wkb = g->asWkb( binarySize );
+  OGRGeometryH geom;
+  if ( OGR_G_CreateFromWkb( wkb, nullptr, &geom, binarySize ) != OGRERR_NONE )
+  {
+    LOG( QObject::tr( "Could not create geometry [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+
+  OGR_F_SetGeometryDirectly( f, geom );
+
+  return OGR_L_CreateFeature( layer, f ) == OGRERR_NONE;
+}
+
+
+void QgsDwgImporter::addBlock( const DRW_Block &data )
+{
+  Q_ASSERT( mBlockHandle < 0 );
+  mBlockHandle = data.handle;
+  QgsDebugMsgLevel( QString( "block %1/0x%2 starts" ).arg( data.name.c_str() ).arg( mBlockHandle, 0, 16 ), 5 );
+
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "blocks" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETSTRING( name );
+  SETINTEGER( flags );
+
+  QgsPointV2 p( QgsWKBTypes::PointZ, data.basePoint.x, data.basePoint.y, data.basePoint.z );
+
+  if ( !createFeature( layer, f, p ) )
+  {
+    LOG( QObject::tr( "Could not add block [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::setBlock( const int handle )
+{
+  Q_UNUSED( handle );
+}
+
+void QgsDwgImporter::endBlock()
+{
+  QgsDebugMsgLevel( QString( "block 0x%1 ended" ).arg( mBlockHandle, 0, 16 ), 5 );
+  mBlockHandle = -1;
+}
+
+void QgsDwgImporter::addEntity( OGRFeatureDefnH dfn, OGRFeatureH f, const DRW_Entity &data )
+{
+  QgsDebugMsgLevel( QString( "handle:0x%1 block:0x%2" ).arg( data.handle, 0, 16 ).arg( mBlockHandle, 0, 16 ), 5 );
+  SETINTEGER( handle );
+  setInteger( dfn, f, "block", mBlockHandle );
+  SETINTEGER( eType );
+  SETINTEGER( space );
+  SETSTRING( layer );
+  setString( dfn, f, "olinetype", data.lineType );
+  QString linetype = linetypeString( data.lineType, data.layer );
+  if ( linetype == "1" )
+  {
+    QgsDebugMsg( "Linetype == 1" );
+  }
+  setString( dfn, f, "linetype", linetype.toUtf8().constData() );
+  setInteger( dfn, f, "ocolor", data.color );
+  SETINTEGER( color24 );
+  SETINTEGER( transparency );
+  setString( dfn, f, "color", colorString( data.color, data.color24, data.transparency, data.layer ).toUtf8().constData() );
+  setInteger( dfn, f, "lweight", DRW_LW_Conv::lineWidth2dxfInt( data.lWeight ) );
+  setDouble( dfn, f, "linewidth", lineWidth( data.lWeight, data.layer ) );
+  setInteger( dfn, f, "ltscale", data.ltypeScale );
+  SETINTEGER( visible );
+}
+
+void QgsDwgImporter::addPoint( const DRW_Point &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "points" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETDOUBLE( thickness );
+
+  setPoint( dfn, f, "ext", data.extPoint );
+
+  QgsPointV2 p( QgsWKBTypes::PointZ, data.basePoint.x, data.basePoint.y, data.basePoint.z );
+  if ( !createFeature( layer, f, p ) )
+  {
+    LOG( QObject::tr( "Could not add point [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addRay( const DRW_Ray &data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "RAY entities" ) );
+}
+
+void QgsDwgImporter::addXline( const DRW_Xline &data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "XLINE entities" ) );
+}
+
+void QgsDwgImporter::addArc( const DRW_Arc &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "lines" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETDOUBLE( thickness );
+
+  setPoint( dfn, f, "ext", data.extPoint );
+
+  double half = ( data.staangle + data.endangle ) / 2.0;
+  if ( data.staangle > data.endangle )
+    half += M_PI;
+
+  double a0 = data.isccw ? data.staangle : -data.staangle;
+  double a1 = data.isccw ? half : -half;
+  double a2 = data.isccw ? data.endangle : -data.endangle;
+
+  QgsDebugMsgLevel( QString( "arc handle=0x%1 radius=%2 staangle=%3 endangle=%4 isccw=%5 half=%6" )
+                    .arg( data.handle, 0, 16 ).arg( data.mRadius ).arg( data.staangle ).arg( data.endangle ).arg( data.isccw ).arg( half ), 5 );
+
+  QgsCircularStringV2 c;
+  c.setPoints( QgsPointSequenceV2()
+               << QgsPointV2( QgsWKBTypes::PointZ, data.basePoint.x + cos( a0 ) * data.mRadius, data.basePoint.y + sin( a0 ) * data.mRadius )
+               << QgsPointV2( QgsWKBTypes::PointZ, data.basePoint.x + cos( a1 ) * data.mRadius, data.basePoint.y + sin( a1 ) * data.mRadius )
+               << QgsPointV2( QgsWKBTypes::PointZ, data.basePoint.x + cos( a2 ) * data.mRadius, data.basePoint.y + sin( a2 ) * data.mRadius )
+             );
+
+  if ( !createFeature( layer, f, c ) )
+  {
+    LOG( QObject::tr( "Could not add arc [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addCircle( const DRW_Circle &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "lines" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETDOUBLE( thickness );
+
+  setPoint( dfn, f, "ext", data.extPoint );
+
+  QgsCircularStringV2 c;
+  c.setPoints( QgsPointSequenceV2()
+               << QgsPointV2( QgsWKBTypes::PointZ, data.basePoint.x - data.mRadius, data.basePoint.y, data.basePoint.z )
+               << QgsPointV2( QgsWKBTypes::PointZ, data.basePoint.x + data.mRadius, data.basePoint.y, data.basePoint.z )
+               << QgsPointV2( QgsWKBTypes::PointZ, data.basePoint.x - data.mRadius, data.basePoint.y, data.basePoint.z )
+             );
+
+  if ( !createFeature( layer, f, c ) )
+  {
+    LOG( QObject::tr( "Could not add circle [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addEllipse( const DRW_Ellipse &data )
+{
+  DRW_Polyline pol;
+  data.toPolyline( &pol );
+  addPolyline( pol );
+}
+
+bool QgsDwgImporter::curveFromLWPolyline( const DRW_LWPolyline &data, QgsCompoundCurveV2 &cc )
+{
+  int vertexnum = data.vertlist.size();
+  if ( vertexnum == 0 )
+  {
+    QgsDebugMsg( "polyline without points" );
+    return false;
+  }
+
+  QgsPointSequenceV2 s;
+  bool hadBulge( data.vertlist[0]->bulge != 0.0 );
+  std::vector<DRW_Vertex2D *>::size_type n = data.flags & 1 ? vertexnum + 1 : vertexnum;
+  for ( std::vector<DRW_Vertex2D *>::size_type i = 0; i < n; i++ )
+  {
+    int i0 = i % vertexnum;
+
+    Q_ASSERT( data.vertlist[i0] != nullptr );
+    QgsDebugMsgLevel( QString( "%1: %2,%3 bulge:%4" ).arg( i ).arg( data.vertlist[i0]->x ).arg( data.vertlist[i0]->y ).arg( data.vertlist[i0]->bulge ), 5 );
+
+    QgsPointV2 p( QgsWKBTypes::PointZ, data.vertlist[i0]->x, data.vertlist[i0]->y, data.elevation );
+    s << p;
+
+    bool hasBulge( data.vertlist[i0]->bulge != 0.0 );
+
+    if ( hasBulge != hadBulge || i == n - 1 )
+    {
+      if ( hadBulge )
+      {
+        QgsCircularStringV2 *c = new QgsCircularStringV2();
+        c->setPoints( s );
+        cc.addCurve( c );
+      }
+      else
+      {
+        QgsLineStringV2 *c = new QgsLineStringV2();
+        c->setPoints( s );
+        cc.addCurve( c );
+      }
+
+      hadBulge = hasBulge;
+      s.clear();
+      s << p;
+    }
+
+    if ( hasBulge && i < n - 1 )
+    {
+      int i1 = ( i + 1 ) % vertexnum;
+
+      double a = 2.0 * atan( data.vertlist[i]->bulge );
+      double dx = data.vertlist[i1]->x - data.vertlist[i0]->x;
+      double dy = data.vertlist[i1]->y - data.vertlist[i0]->y;
+      double c = sqrt( dx * dx + dy * dy );
+      double r = c / 2.0 / sin( a );
+      double h = r * ( 1 - cos( a ) );
+
+      s << QgsPointV2( QgsWKBTypes::PointZ,
+                       data.vertlist[i0]->x + 0.5 * dx + h * dy / c,
+                       data.vertlist[i0]->y + 0.5 * dy - h * dx / c,
+                       data.elevation );
+    }
+  }
+
+  return true;
+}
+
+
+void QgsDwgImporter::addLWPolyline( const DRW_LWPolyline &data )
+{
+  int vertexnum = data.vertlist.size();
+  if ( vertexnum == 0 )
+  {
+    QgsDebugMsg( "LWPolyline without vertices" );
+    return;
+  }
+
+  QgsPointSequenceV2 s;
+  QgsCompoundCurveV2 cc;
+  double width;
+  bool hadBulge( false );
+
+  std::vector<DRW_Vertex2D *>::size_type n = data.flags & 1 ? vertexnum : vertexnum - 1;
+  for ( std::vector<DRW_Vertex2D *>::size_type i = 0; i < n; i++ )
+  {
+    int i0 = i % vertexnum;
+    int i1 = ( i + 1 ) % vertexnum;
+
+    QgsPointV2 p0( QgsWKBTypes::PointZ, data.vertlist[i0]->x, data.vertlist[i0]->y, data.elevation );
+    QgsPointV2 p1( QgsWKBTypes::PointZ, data.vertlist[i1]->x, data.vertlist[i1]->y, data.elevation );
+    double staWidth = data.vertlist[i0]->stawidth == 0.0 ? data.width : data.vertlist[i0]->stawidth;
+    double endWidth = data.vertlist[i0]->endwidth == 0.0 ? data.width : data.vertlist[i0]->endwidth;
+    bool hasBulge( data.vertlist[i0]->bulge != 0.0 );
+
+    QgsDebugMsgLevel( QString( "i:%1,%2/%3 width=%4 staWidth=%5 endWidth=%6 hadBulge=%7 hasBulge=%8 l=%9 <=> %10" )
+                      .arg( i0 ).arg( i1 ).arg( n )
+                      .arg( width ).arg( staWidth ).arg( endWidth )
+                      .arg( hadBulge ).arg( hasBulge )
+                      .arg( p0.asWkt() )
+                      .arg( p1.asWkt() ), 5
+                    );
+
+    if ( s.size() > 0 && ( width != staWidth || width != endWidth || hadBulge != hasBulge ) )
+    {
+      if ( hadBulge )
+      {
+        QgsCircularStringV2 *c = new QgsCircularStringV2();
+        c->setPoints( s );
+        // QgsDebugMsg( QString( "add circular string:%1" ).arg( c->asWkt() ) );
+        cc.addCurve( c );
+      }
+      else
+      {
+        QgsLineStringV2 *c = new QgsLineStringV2();
+        c->setPoints( s );
+        // QgsDebugMsg( QString( "add line string:%1" ).arg( c->asWkt() ) );
+        cc.addCurve( c );
+      }
+
+      s.clear();
+
+      if ( width != staWidth || width != endWidth )
+      {
+        // write out entity
+        OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "polylines" );
+        Q_ASSERT( layer );
+        OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+        Q_ASSERT( dfn );
+        OGRFeatureH f = OGR_F_Create( dfn );
+        Q_ASSERT( f );
+
+        addEntity( dfn, f, data );
+
+        SETDOUBLE( thickness );
+        SETDOUBLE( width );
+
+        setPoint( dfn, f, "ext", data.extPoint );
+
+        if ( !createFeature( layer, f, cc ) )
+        {
+          LOG( QObject::tr( "Could not add linestring [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+        }
+
+        cc.clear();
+      }
+    }
+
+    if ( staWidth == endWidth )
+    {
+      if ( s.size() == 0 )
+      {
+        s << p0;
+        hadBulge = hasBulge;
+        width = staWidth;
+      }
+
+      if ( hasBulge )
+      {
+        double a = 2.0 * atan( data.vertlist[i]->bulge );
+        double dx = p1.x() - p0.x();
+        double dy = p1.y() - p0.y();
+        double c = sqrt( dx * dx + dy * dy );
+        double r = c / 2.0 / sin( a );
+        double h = r * ( 1 - cos( a ) );
+
+        s << QgsPointV2( QgsWKBTypes::PointZ,
+                         p0.x() + 0.5 * dx + h * dy / c,
+                         p0.y() + 0.5 * dy - h * dx / c,
+                         data.elevation );
+      }
+
+      s << p1;
+    }
+    else
+    {
+      OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "hatches" );
+      Q_ASSERT( layer );
+      OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+      Q_ASSERT( dfn );
+      OGRFeatureH f = OGR_F_Create( dfn );
+      Q_ASSERT( f );
+
+      addEntity( dfn, f, data );
+
+      SETDOUBLE( thickness );
+
+      setPoint( dfn, f, "ext", data.extPoint );
+
+      QgsPoint ps( p0.x(), p0.y() );
+      QgsPoint pe( p1.x(), p1.y() );
+      QgsVector v(( pe - ps ).perpVector().normalized() );
+      QgsVector vs( v * 0.5 * staWidth );
+      QgsVector ve( v * 0.5 * endWidth );
+
+      QgsPolygonV2 poly;
+      QgsLineStringV2 *ls = new QgsLineStringV2();
+      ls->setPoints( QgsPointSequenceV2()
+                     << QgsPointV2( ps + vs )
+                     << QgsPointV2( pe + ve )
+                     << QgsPointV2( pe - ve )
+                     << QgsPointV2( ps - vs )
+                     << QgsPointV2( ps + vs )
+                   );
+      ls->addZValue( data.elevation );
+      poly.setExteriorRing( ls );
+      // QgsDebugMsg( QString( "write poly:%1" ).arg( poly.asWkt() ) );
+
+      if ( !createFeature( layer, f, poly ) )
+      {
+        LOG( QObject::tr( "Could not add polygon [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+      }
+    }
+  }
+
+  if ( s.size() > 0 )
+  {
+    if ( hadBulge )
+    {
+      QgsCircularStringV2 *c = new QgsCircularStringV2();
+      c->setPoints( s );
+      // QgsDebugMsg( QString( "add circular string:%1" ).arg( c->asWkt() ) );
+      cc.addCurve( c );
+    }
+    else
+    {
+      QgsLineStringV2 *c = new QgsLineStringV2();
+      c->setPoints( s );
+      // QgsDebugMsg( QString( "add line string:%1" ).arg( c->asWkt() ) );
+      cc.addCurve( c );
+    }
+  }
+
+  if ( cc.nCurves() > 0 )
+  {
+    // write out entity
+    OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "polylines" );
+    Q_ASSERT( layer );
+    OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+    Q_ASSERT( dfn );
+    OGRFeatureH f = OGR_F_Create( dfn );
+    Q_ASSERT( f );
+
+    addEntity( dfn, f, data );
+
+    SETDOUBLE( thickness );
+    SETDOUBLE( width );
+
+    setPoint( dfn, f, "ext", data.extPoint );
+
+    // QgsDebugMsg( QString( "write curve:%1" ).arg( cc.asWkt() ) );
+
+    if ( !createFeature( layer, f, cc ) )
+    {
+      LOG( QObject::tr( "Could not add linestring [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+    }
+  }
+}
+
+void QgsDwgImporter::addPolyline( const DRW_Polyline &data )
+{
+  int vertexnum = data.vertlist.size();
+  if ( vertexnum == 0 )
+  {
+    QgsDebugMsg( "Polyline without vertices" );
+    return;
+  }
+
+  QgsPointSequenceV2 s;
+  QgsCompoundCurveV2 cc;
+  double width;
+  bool hadBulge( false );
+
+  std::vector<DRW_Vertex *>::size_type n = data.flags & 1 ? vertexnum : vertexnum - 1;
+  for ( std::vector<DRW_Vertex *>::size_type i = 0; i < n; i++ )
+  {
+    int i0 = i % vertexnum;
+    int i1 = ( i + 1 ) % vertexnum;
+
+    QgsPointV2 p0( QgsWKBTypes::PointZ, data.vertlist[i0]->basePoint.x, data.vertlist[i0]->basePoint.y, data.vertlist[i0]->basePoint.z );
+    QgsPointV2 p1( QgsWKBTypes::PointZ, data.vertlist[i1]->basePoint.x, data.vertlist[i1]->basePoint.y, data.vertlist[i1]->basePoint.z );
+    double staWidth = data.vertlist[i0]->endwidth == 0.0 ? data.defendwidth : data.vertlist[i0]->stawidth;
+    double endWidth = data.vertlist[i0]->stawidth == 0.0 ? data.defstawidth : data.vertlist[i0]->endwidth;
+    bool hasBulge( data.vertlist[i0]->bulge != 0.0 );
+
+    QgsDebugMsgLevel( QString( "i:%1,%2/%3 width=%4 staWidth=%5 endWidth=%6 hadBulge=%7 hasBulge=%8 l=%9 <=> %10" )
+                      .arg( i0 ).arg( i1 ).arg( n )
+                      .arg( width ).arg( staWidth ).arg( endWidth )
+                      .arg( hadBulge ).arg( hasBulge )
+                      .arg( p0.asWkt() )
+                      .arg( p1.asWkt() ), 5
+                    );
+
+    if ( s.size() > 0 && ( width != staWidth || width != endWidth || hadBulge != hasBulge ) )
+    {
+      if ( hadBulge )
+      {
+        QgsCircularStringV2 *c = new QgsCircularStringV2();
+        c->setPoints( s );
+        // QgsDebugMsg( QString( "add circular string:%1" ).arg( c->asWkt() ) );
+        cc.addCurve( c );
+      }
+      else
+      {
+        QgsLineStringV2 *c = new QgsLineStringV2();
+        c->setPoints( s );
+        // QgsDebugMsg( QString( "add line string:%1" ).arg( c->asWkt() ) );
+        cc.addCurve( c );
+      }
+
+      s.clear();
+
+      if ( width != staWidth || width != endWidth )
+      {
+        // write out entity
+        OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "polylines" );
+        Q_ASSERT( layer );
+        OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+        Q_ASSERT( dfn );
+        OGRFeatureH f = OGR_F_Create( dfn );
+        Q_ASSERT( f );
+
+        addEntity( dfn, f, data );
+
+        SETDOUBLE( thickness );
+        setDouble( dfn, f, "width", width );
+
+        setPoint( dfn, f, "ext", data.extPoint );
+
+        // QgsDebugMsg( QString( "write curve:%1" ).arg( cc.asWkt() ) );
+
+        if ( !createFeature( layer, f, cc ) )
+        {
+          LOG( QObject::tr( "Could not add linestring [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+        }
+
+        cc.clear();
+      }
+    }
+
+    if ( staWidth == endWidth )
+    {
+      if ( s.size() == 0 )
+      {
+        s << p0;
+        hadBulge = hasBulge;
+        width = staWidth;
+      }
+
+      if ( hasBulge )
+      {
+        double a = 2.0 * atan( data.vertlist[i]->bulge );
+        double dx = p1.x() - p0.x();
+        double dy = p1.y() - p0.y();
+        double dz = p1.z() - p0.z();
+        double c = sqrt( dx * dx + dy * dy );
+        double r = c / 2.0 / sin( a );
+        double h = r * ( 1 - cos( a ) );
+
+        s << QgsPointV2( QgsWKBTypes::PointZ,
+                         p0.x() + 0.5 * dx + h * dy / c,
+                         p0.y() + 0.5 * dy - h * dx / c,
+                         p0.z() + 0.5 * dz );
+      }
+
+      s << p1;
+    }
+    else
+    {
+      OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "hatches" );
+      Q_ASSERT( layer );
+      OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+      Q_ASSERT( dfn );
+      OGRFeatureH f = OGR_F_Create( dfn );
+      Q_ASSERT( f );
+
+      addEntity( dfn, f, data );
+
+      SETDOUBLE( thickness );
+
+      setPoint( dfn, f, "ext", data.extPoint );
+
+      QgsPoint ps( p0.x(), p0.y() );
+      QgsPoint pe( p1.x(), p1.y() );
+      QgsVector v(( pe - ps ).perpVector().normalized() );
+      QgsVector vs( v * 0.5 * staWidth );
+      QgsVector ve( v * 0.5 * endWidth );
+
+      QgsPolygonV2 poly;
+      QgsLineStringV2 *ls = new QgsLineStringV2();
+      QgsPointSequenceV2 s;
+      s << QgsPointV2( ps + vs );
+      s.last().addZValue( p0.z() );
+      s << QgsPointV2( pe + ve );
+      s.last().addZValue( p1.z() );
+      s << QgsPointV2( pe - ve );
+      s.last().addZValue( p1.z() );
+      s << QgsPointV2( ps - vs );
+      s.last().addZValue( p0.z() );
+      s << QgsPointV2( ps + vs );
+      s.last().addZValue( p0.z() );
+      ls->setPoints( s );
+      poly.setExteriorRing( ls );
+      // QgsDebugMsg( QString( "write poly:%1" ).arg( poly.asWkt() ) );
+
+      if ( !createFeature( layer, f, poly ) )
+      {
+        LOG( QObject::tr( "Could not add polygon [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+      }
+    }
+  }
+
+  if ( s.size() > 0 )
+  {
+    if ( hadBulge )
+    {
+      QgsCircularStringV2 *c = new QgsCircularStringV2();
+      c->setPoints( s );
+      // QgsDebugMsg( QString( "add circular string:%1" ).arg( c->asWkt() ) );
+      cc.addCurve( c );
+    }
+    else
+    {
+      QgsLineStringV2 *c = new QgsLineStringV2();
+      c->setPoints( s );
+      // QgsDebugMsg( QString( "add line string:%1" ).arg( c->asWkt() ) );
+      cc.addCurve( c );
+    }
+  }
+
+  if ( cc.nCurves() > 0 )
+  {
+    // write out entity
+    OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "polylines" );
+    Q_ASSERT( layer );
+    OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+    Q_ASSERT( dfn );
+    OGRFeatureH f = OGR_F_Create( dfn );
+    Q_ASSERT( f );
+
+    addEntity( dfn, f, data );
+
+    SETDOUBLE( thickness );
+    setDouble( dfn, f, "width", width );
+
+    setPoint( dfn, f, "ext", data.extPoint );
+
+    // QgsDebugMsg( QString( "write curve:%1" ).arg( cc.asWkt() ) );
+
+    if ( !createFeature( layer, f, cc ) )
+    {
+      LOG( QObject::tr( "Could not add linestring [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+    }
+  }
+}
+
+
+/**
+ * Generates B-Spline open knot vector with multiplicity
+ * equal to the order at the ends.
+ */
+static std::vector<double> knot( const DRW_Spline &data, size_t num, size_t order )
+{
+  if ( data.knotslist.size() == num + order )
+  {
+    return data.knotslist;
+  }
+  else
+  {
+    std::vector<double> v( num + order, 0. );
+
+    for ( size_t i = 0; i < num; ++i )
+      v[ order + i ] = i + 1;
+
+    for ( size_t i = num + 1; i < v.size(); ++i )
+      v[ i ] = v[num];
+
+    return v;
+  }
+}
+
+static std::vector<double> knotu( const DRW_Spline &data, size_t num, size_t order )
+{
+  if ( data.knotslist.size() == num + order )
+  {
+    return data.knotslist;
+  }
+  else
+  {
+    std::vector<double> v( num + order, 0. );
+
+    for ( size_t i = 0; i < v.size(); ++i )
+      v[i] = i;
+
+    return v;
+  }
+}
+
+static std::vector<double> rbasis( int c, double t, int npts,
+                                   const std::vector<double> &x,
+                                   const std::vector<double> &h )
+{
+  int nplusc = npts + c;
+  std::vector<double> temp( nplusc, 0. );
+
+  // calculate the first order nonrational basis functions n[i]
+  for ( int i = 0; i < nplusc - 1; ++i )
+  {
+    if ( t >= x[i] && t < x[i+1] )
+      temp[i] = 1;
+  }
+
+  // calculate the higher order nonrational base functions
+  for ( int k = 2; k <= c; ++k )
+  {
+    for ( int i = 0; i < nplusc - k; ++i )
+    {
+      // if the lower order basis function is zero skip the calculation
+      if ( temp[i] != 0 )
+        temp[i] = (( t - x[i] ) * temp[i] ) / ( x[i+k-1] - x[i] );
+
+      // if the lower order basis function is zero skip the calculation
+      if ( temp[i+1] != 0 )
+        temp[i] += (( x[i+k] - t ) * temp[i+1] ) / ( x[i+k] - x[i+1] );
+    }
+  }
+
+  // pick up last point
+  if ( t >= x[nplusc-1] )
+    temp[ npts-1 ] = 1;
+
+  // calculate sum for denominator of rational basis functions
+  double sum = 0.;
+  for ( int i = 0; i < npts; ++i )
+  {
+    sum += temp[i] * h[i];
+  }
+
+  std::vector<double> r( npts, 0. );
+
+  // form rational basis functions and put in r vector
+  if ( sum != 0.0 )
+  {
+    for ( int i = 0; i < npts; i++ )
+    {
+      r[i] = ( temp[i] * h[i] ) / sum;
+    }
+  }
+
+  return r;
+}
+
+/**
+ * Generates a rational B-spline curve using a uniform open knot vector.
+ */
+static void rbspline( const DRW_Spline &data,
+                      size_t npts, size_t k, int p1,
+                      const std::vector<QgsVector> &b,
+                      const std::vector<double> &h,
+                      std::vector<QgsPoint> &p )
+{
+  int nplusc = npts + k;
+
+  // generate the open knot vector
+  std::vector<double> x( knot( data, npts, k ) );
+
+  // calculate the points on the rational B-spline curve
+  double t = 0.;
+
+  double step = x[nplusc-1] / ( p1 - 1 );
+  for ( size_t i = 0; i < p.size(); ++i, t += step )
+  {
+    if ( x[nplusc-1] - t < 5e-6 )
+      t = x[nplusc-1];
+
+    // generate the basis function for this value of t
+    std::vector<double> nbasis( rbasis( k, t, npts, x, h ) );
+
+    // generate a point on the curve
+    for ( size_t j = 0; j < npts; j++ )
+      p[i] += b[j] * nbasis[j];
+  }
+
+}
+
+static void rbsplinu( const DRW_Spline &data,
+                      size_t npts, size_t k, int p1,
+                      const std::vector<QgsVector> &b,
+                      const std::vector<double> &h,
+                      std::vector<QgsPoint> &p )
+{
+  size_t const nplusc = npts + k;
+
+  // generate the periodic knot vector
+  std::vector<double> x( knotu( data, npts, k ) );
+
+  // calculate the points on the rational B-spline curve
+  double t = k - 1;
+  double const step = double( npts - k + 1 ) / ( p1 - 1 );
+
+  for ( size_t i = 0; i < p.size(); ++i, t += step )
+  {
+    if ( x[nplusc-1] - t < 5e-6 )
+      t = x[nplusc-1];
+
+    // generate the base function for this value of t
+    std::vector<double> nbasis( rbasis( k, t, npts, x, h ) );
+
+    // generate a point on the curve, for x, y, z
+    for ( size_t j = 0; j < npts; ++j )
+    {
+      p[i] += b[j] * nbasis[j];
+    }
+  }
+}
+
+void QgsDwgImporter::addSpline( const DRW_Spline *data )
+{
+  Q_ASSERT( data );
+
+  if ( data->degree < 1 || data->degree > 3 )
+  {
+    QgsDebugMsg( QString( "%1: unknown spline degree %2" )
+                 .arg( data->handle, 0, 16 )
+                 .arg( data->degree ) );
+    return;
+  }
+
+  QgsDebugMsgLevel( QString( "degree: %1 ncontrol:%2 knotslist.size():%3 controllist.size():%4 fitlist.size():%5" )
+                    .arg( data->degree )
+                    .arg( data->ncontrol )
+                    .arg( data->knotslist.size() )
+                    .arg( data->controllist.size() )
+                    .arg( data->fitlist.size() ), 5 );
+
+  std::vector<QgsVector> cps;
+  for ( size_t i = 0; i < data->controllist.size(); ++i )
+  {
+    const DRW_Coord &p = *data->controllist[i];
+    cps.push_back( QgsVector( p.x, p.y ) );
+  }
+
+  if ( data->ncontrol == 0 && data->degree != 2 )
+  {
+    for ( std::vector<DRW_Coord *>::size_type i = 0; i < data->fitlist.size(); ++i )
+    {
+      const DRW_Coord &p = *data->fitlist[i];
+      cps.push_back( QgsVector( p.x, p.y ) );
+    }
+  }
+
+  if ( cps.size() > 0 && data->flags & 1 )
+  {
+    for ( int i = 0; i < data->degree; ++i )
+      cps.push_back( cps[i] );
+  }
+
+  size_t npts = cps.size();
+  size_t k = data->degree + 1;
+  size_t p1 = mSplineSegs * npts;
+
+  std::vector<double> h( npts + 1, 1. );
+  std::vector<QgsPoint> p( p1, QgsPoint( 0., 0. ) );
+
+  if ( data->flags & 1 )
+  {
+    rbsplinu( *data, npts, k, p1, cps, h, p );
+  }
+  else
+  {
+    rbspline( *data, npts, k, p1, cps, h, p );
+  }
+
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "polylines" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, *data );
+
+  QgsLineStringV2 l;
+  QgsPointSequenceV2 ps;
+  for ( size_t i = 0; i < p.size(); ++i )
+    ps << QgsPointV2( p[i] );
+  l.setPoints( ps );
+
+  if ( !createFeature( layer, f, l ) )
+  {
+    LOG( QObject::tr( "Could not add spline [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addKnot( const DRW_Entity &data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "KNOT entities" ) );
+}
+
+void QgsDwgImporter::addInsert( const DRW_Insert &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "inserts" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETDOUBLE( thickness );
+
+  setPoint( dfn, f, "ext", data.extPoint );
+
+  SETSTRING( name );
+  SETDOUBLE( xscale );
+  SETDOUBLE( yscale );
+  SETDOUBLE( zscale );
+  SETDOUBLE( angle );
+  SETINTEGER( colcount );
+  SETINTEGER( rowcount );
+  SETDOUBLE( colspace );
+  SETDOUBLE( rowspace );
+
+  QgsPointV2 p( QgsWKBTypes::PointZ, data.basePoint.x, data.basePoint.y, data.basePoint.z );
+
+  if ( !createFeature( layer, f, p ) )
+  {
+    LOG( QObject::tr( "Could not add point [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addTrace( const DRW_Trace &data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "TRACE entities" ) );
+}
+
+void QgsDwgImporter::add3dFace( const DRW_3Dface &data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "3DFACE entities" ) );
+}
+
+void QgsDwgImporter::addSolid( const DRW_Solid &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "hatches" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETDOUBLE( thickness );
+
+  setPoint( dfn, f, "ext", data.extPoint );
+  setString( dfn, f, "hpattern", "SOLID" );
+
+  QgsPolygonV2 poly;
+
+  // pt1 pt2
+  // pt3 pt4
+  QgsPointSequenceV2 s;
+  s << QgsPointV2( QgsWKBTypes::PointZ,   data.basePoint.x,   data.basePoint.y, data.basePoint.z );
+  s << QgsPointV2( QgsWKBTypes::PointZ,    data.secPoint.x,    data.secPoint.y, data.basePoint.z );
+  s << QgsPointV2( QgsWKBTypes::PointZ, data.fourthPoint.x, data.fourthPoint.y, data.basePoint.z );
+  s << QgsPointV2( QgsWKBTypes::PointZ,  data.thirdPoint.x,  data.thirdPoint.y, data.basePoint.z );
+  s << s[0];
+
+  QgsLineStringV2 *ls = new QgsLineStringV2();
+  ls->setPoints( s );
+  poly.setExteriorRing( ls );
+
+  if ( !createFeature( layer, f, poly ) )
+  {
+    LOG( QObject::tr( "Could not add polygon [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addMText( const DRW_MText &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "texts" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETDOUBLE( height );
+  SETSTRING( text );
+  SETDOUBLE( angle );
+  SETDOUBLE( widthscale );
+  SETDOUBLE( oblique );
+  SETSTRING( style );
+  SETINTEGER( textgen );
+  SETINTEGER( alignH );
+  SETINTEGER( alignV );
+  SETDOUBLE( thickness );
+  SETDOUBLE( interlin );
+
+  setPoint( dfn, f, "ext", data.extPoint );
+
+  QgsPointV2 p( QgsWKBTypes::PointZ, data.basePoint.x, data.basePoint.y, data.basePoint.z );
+
+  if ( !createFeature( layer, f, p ) )
+  {
+    LOG( QObject::tr( "Could not add line [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addText( const DRW_Text &data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "texts" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETDOUBLE( height );
+  SETSTRING( text );
+  SETDOUBLE( angle );
+  SETDOUBLE( widthscale );
+  SETDOUBLE( oblique );
+  SETSTRING( style );
+  SETINTEGER( textgen );
+  SETINTEGER( alignH );
+  SETINTEGER( alignV );
+  SETDOUBLE( thickness );
+  setDouble( dfn, f, "interlin", -1.0 );
+
+  setPoint( dfn, f, "ext", data.extPoint );
+
+  QgsPointV2 p( QgsWKBTypes::PointZ, data.secPoint.x, data.secPoint.y, data.secPoint.z );
+
+  if ( !createFeature( layer, f, p ) )
+  {
+    LOG( QObject::tr( "Could not add line [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addDimAlign( const DRW_DimAligned *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "DIMALIGN entities" ) );
+}
+
+void QgsDwgImporter::addDimLinear( const DRW_DimLinear *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "DIMLINEAR entities" ) );
+}
+
+void QgsDwgImporter::addDimRadial( const DRW_DimRadial *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "DIMRADIAL entities" ) );
+}
+
+void QgsDwgImporter::addDimDiametric( const DRW_DimDiametric *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "DIMDIAMETRIC entities" ) );
+}
+
+void QgsDwgImporter::addDimAngular( const DRW_DimAngular *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "DIMANGULAR entities" ) );
+}
+
+void QgsDwgImporter::addDimAngular3P( const DRW_DimAngular3p *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "DIMANGULAR3P entities" ) );
+}
+
+void QgsDwgImporter::addDimOrdinate( const DRW_DimOrdinate *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "DIMORDINAL entities" ) );
+}
+
+void QgsDwgImporter::addLeader( const DRW_Leader *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "LEADER entities" ) );
+}
+
+void QgsDwgImporter::addHatch( const DRW_Hatch *pdata )
+{
+  Q_ASSERT( pdata );
+  const DRW_Hatch &data = *pdata;
+
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "hatches" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETDOUBLE( thickness );
+
+  setPoint( dfn, f, "ext", data.extPoint );
+
+  SETSTRING( name );
+  SETINTEGER( solid );
+  SETINTEGER( associative );
+  SETINTEGER( hstyle );
+  SETINTEGER( hpattern );
+  SETINTEGER( doubleflag );
+  SETDOUBLE( angle );
+  SETDOUBLE( scale );
+  SETINTEGER( deflines );
+
+  QgsCurvePolygonV2 p;
+
+  Q_ASSERT( data.looplist.size() == data.loopsnum );
+
+  for ( std::vector<DRW_HatchLoop *>::size_type i = 0; i < data.loopsnum; i++ )
+  {
+    const DRW_HatchLoop &hatchLoop = *data.looplist[i];
+
+    QgsCompoundCurveV2 *cc = new QgsCompoundCurveV2();
+
+    for ( std::vector<DRW_Entity *>::size_type j = 0;  j < hatchLoop.objlist.size(); j++ )
+    {
+      Q_ASSERT( hatchLoop.objlist[j] );
+      const DRW_Entity *entity = hatchLoop.objlist[j];
+
+      const DRW_LWPolyline *lwp = dynamic_cast<const DRW_LWPolyline *>( entity );
+      const DRW_Line *l = dynamic_cast<const DRW_Line *>( entity );
+      if ( lwp )
+      {
+        curveFromLWPolyline( *lwp, *cc );
+      }
+      else if ( l )
+      {
+        QgsLineStringV2 *ls = new QgsLineStringV2();
+        ls->setPoints( QgsPointSequenceV2()
+                       << QgsPointV2( QgsWKBTypes::PointZ, l->basePoint.x, l->basePoint.y, l->basePoint.z )
+                       << QgsPointV2( QgsWKBTypes::PointZ, l->secPoint.x, l->secPoint.y, l->secPoint.z ) );
+        // QgsDebugMsg( QString( "add linestring:%1" ).arg( ls->asWkt() ) );
+        cc->addCurve( ls );
+      }
+      else
+      {
+        QgsDebugMsg( QString( "unknown obj %1.%2: %3" ).arg( i ).arg( j ).arg( typeid( *entity ).name() ) );
+      }
+    }
+
+    if ( i == 0 )
+    {
+      // QgsDebugMsg( QString( "set exterior ring:%1" ).arg( cc->asWkt() ) );
+      p.setExteriorRing( cc );
+    }
+    else
+    {
+      // QgsDebugMsg( QString( "set interior ring:%1" ).arg( cc->asWkt() ) );
+      p.addInteriorRing( cc );
+    }
+  }
+
+  if ( !createFeature( layer, f, p ) )
+  {
+    LOG( QObject::tr( "Could not add polygon [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addLine( const DRW_Line& data )
+{
+  OGRLayerH layer = OGR_DS_GetLayerByName( mDs, "lines" );
+  Q_ASSERT( layer );
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( layer );
+  Q_ASSERT( dfn );
+  OGRFeatureH f = OGR_F_Create( dfn );
+  Q_ASSERT( f );
+
+  addEntity( dfn, f, data );
+
+  SETDOUBLE( thickness );
+
+  setPoint( dfn, f, "ext", data.extPoint );
+
+  QgsLineStringV2 l;
+
+  l.setPoints( QgsPointSequenceV2()
+               << QgsPointV2( QgsWKBTypes::PointZ, data.basePoint.x, data.basePoint.y, data.basePoint.z )
+               << QgsPointV2( QgsWKBTypes::PointZ, data.secPoint.x, data.secPoint.y, data.secPoint.z ) );
+
+  if ( !createFeature( layer, f, l ) )
+  {
+    LOG( QObject::tr( "Could not add line [%1]" ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
+  }
+}
+
+void QgsDwgImporter::addViewport( const DRW_Viewport &data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "VIEWPORT entities" ) );
+}
+
+void QgsDwgImporter::addImage( const DRW_Image *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "IMAGE entities" ) );
+}
+
+void QgsDwgImporter::linkImage( const DRW_ImageDef *data )
+{
+  Q_UNUSED( data );
+  NYI( QObject::tr( "image links" ) );
+}
+
+void QgsDwgImporter::addComment( const char *comment )
+{
+  Q_UNUSED( comment );
+  NYI( QObject::tr( "comments" ) );
+}
+
+void QgsDwgImporter::writeHeader( DRW_Header & ) { }
+void QgsDwgImporter::writeBlocks() { }
+void QgsDwgImporter::writeBlockRecords() { }
+void QgsDwgImporter::writeEntities() { }
+void QgsDwgImporter::writeLTypes() { }
+void QgsDwgImporter::writeLayers() { }
+void QgsDwgImporter::writeTextstyles() { }
+void QgsDwgImporter::writeVports() { }
+void QgsDwgImporter::writeDimstyles() { }
+void QgsDwgImporter::writeAppId() { }
+
+bool QgsDwgImporter::expandInserts( QString &error )
+{
+  QgsDebugCall;
+
+  OGRLayerH blocks = OGR_DS_GetLayerByName( mDs, "blocks" );
+  if ( !blocks )
+  {
+    QgsDebugMsg( "could not open layer 'blocks'" );
+    return false;
+  }
+
+  OGRFeatureDefnH dfn = OGR_L_GetLayerDefn( blocks );
+  Q_ASSERT( dfn );
+
+  int nameIdx = OGR_FD_GetFieldIndex( dfn, "name" );
+  int handleIdx = OGR_FD_GetFieldIndex( dfn, "handle" );
+  if ( nameIdx < 0 || handleIdx < 0 )
+  {
+    QgsDebugMsg( QString( "not all fields found (nameIdx=%1 handleIdx=%2)" ).arg( nameIdx ).arg( handleIdx ) );
+    return false;
+  }
+
+  QHash<QString, int> blockhandle;
+
+  OGR_L_ResetReading( blocks );
+
+  OGRFeatureH f;
+  for ( ;; )
+  {
+    f = OGR_L_GetNextFeature( blocks );
+    if ( !f )
+      break;
+
+    QString name = QString::fromUtf8( OGR_F_GetFieldAsString( f, nameIdx ) );
+    int handle = OGR_F_GetFieldAsInteger( f, handleIdx );
+    blockhandle.insert( name, handle );
+
+    OGR_F_Destroy( f );
+  }
+
+  OGRLayerH inserts = OGR_DS_GetLayerByName( mDs, "inserts" );
+  if ( !inserts )
+  {
+    QgsDebugMsg( "could not open layer 'inserts'" );
+    return false;
+  }
+
+  dfn = OGR_L_GetLayerDefn( inserts );
+  Q_ASSERT( dfn );
+
+  nameIdx = OGR_FD_GetFieldIndex( dfn, "name" );
+  int xscaleIdx = OGR_FD_GetFieldIndex( dfn, "xscale" );
+  int yscaleIdx = OGR_FD_GetFieldIndex( dfn, "yscale" );
+  int zscaleIdx = OGR_FD_GetFieldIndex( dfn, "zscale" );
+  int angleIdx = OGR_FD_GetFieldIndex( dfn, "angle" );
+  int layerIdx = OGR_FD_GetFieldIndex( dfn, "layer" );
+  int colorIdx = OGR_FD_GetFieldIndex( dfn, "color" );
+  int linetypeIdx = OGR_FD_GetFieldIndex( dfn, "linetype" );
+  int linewidthIdx = OGR_FD_GetFieldIndex( dfn, "linewidth" );
+  if ( xscaleIdx < 0 || yscaleIdx < 0 || zscaleIdx < 0 || angleIdx < 0 || nameIdx < 0 || layerIdx < 0 || linetypeIdx < 0 || colorIdx < 0 || linewidthIdx < 0 )
+  {
+    QgsDebugMsg( QString( "not all fields found (nameIdx=%1 xscaleIdx=%2 yscaleIdx=%3 zscaleIdx=%4 angleIdx=%5 layerIdx=%6 linetypeIdx=%7 color=%8 linewidthIdx=%9)" )
+                 .arg( nameIdx )
+                 .arg( xscaleIdx ).arg( yscaleIdx ).arg( zscaleIdx )
+                 .arg( angleIdx )
+                 .arg( layerIdx )
+                 .arg( linetypeIdx )
+                 .arg( colorIdx )
+                 .arg( linewidthIdx )
+               );
+    return false;
+  }
+
+  GIntBig n = OGR_L_GetFeatureCount( inserts, 0 );
+  Q_UNUSED( n );
+
+  OGR_L_ResetReading( inserts );
+
+  OGRFeatureH insert = nullptr;
+  int i = 0, errors = 0;
+  for ( int i = 0, errors = 0; true; ++i )
+  {
+    if ( i % 1000 == 0 )
+    {
+      QgsDebugMsg( QString( "Expanding inserts %1/%2..." ).arg( i ).arg( n ) );
+    }
+
+    if ( insert )
+    {
+      OGR_F_Destroy( insert );
+    }
+
+    insert = OGR_L_GetNextFeature( inserts );
+    if ( !insert )
+      break;
+
+    OGRGeometryH ogrG = OGR_F_GetGeometryRef( insert );
+    if ( !ogrG )
+    {
+      QgsDebugMsg( QString( "%1: insert without geometry" ).arg( OGR_F_GetFID( insert ) ) );
+      continue;
+    }
+
+    QgsGeometry *g = QgsOgrUtils::ogrGeometryToQgsGeometry( ogrG );
+    if ( !g )
+    {
+      QgsDebugMsg( QString( "%1: could not copy geometry" ).arg( OGR_F_GetFID( insert ) ) );
+      continue;
+    }
+
+    QgsPoint p( g->asPoint() );
+
+    delete g;
+
+    QString name = QString::fromUtf8( OGR_F_GetFieldAsString( insert, nameIdx ) );
+    double xscale = OGR_F_GetFieldAsDouble( insert, xscaleIdx );
+    double yscale = OGR_F_GetFieldAsDouble( insert, yscaleIdx );
+    double angle = OGR_F_GetFieldAsDouble( insert, angleIdx );
+    QString blockLayer = QString::fromUtf8( OGR_F_GetFieldAsString( insert, layerIdx ) );
+    QString blockColor = QString::fromUtf8( OGR_F_GetFieldAsString( insert, colorIdx ) );
+    QString blockLinetype = QString::fromUtf8( OGR_F_GetFieldAsString( insert, linetypeIdx ) );
+    if ( blockLinetype == "1" )
+    {
+      QgsDebugMsg( "blockLinetype == 1" );
+    }
+    double blockLinewidth = OGR_F_GetFieldAsDouble( insert, linewidthIdx );
+
+    int handle = blockhandle.value( name, -1 );
+    if ( handle < 0 )
+    {
+      QgsDebugMsg( QString( "Block '%1' not found" ).arg( name ) );
+      continue;
+    }
+
+    QgsDebugMsgLevel( QString( "Resolving %1/%2: p=%3,%4 scale=%5,%6 angle=%7" )
+                      .arg( name ).arg( handle, 0, 16 )
+                      .arg( p.x() ).arg( p.y() )
+                      .arg( xscale ).arg( yscale ).arg( angle ), 5 );
+
+    QTransform t;
+    t.translate( p.x(), p.y() ).scale( xscale, yscale ).rotateRadians( angle );
+
+    Q_FOREACH ( QString name, QStringList() << "hatches" << "lines" << "polylines" << "texts" << "points" )
+    {
+      OGRLayerH src = OGR_DS_ExecuteSQL( mDs, QString( "SELECT * FROM %1 WHERE block=%2" ).arg( name ).arg( handle ).toUtf8().constData(), nullptr, nullptr );
+      if ( !src )
+      {
+        QgsDebugMsg( QString( "%1: could not execute query for block %2" ).arg( name ).arg( handle ) );
+        continue;
+      }
+
+      OGRLayerH dst = OGR_DS_GetLayerByName( mDs, name.toUtf8().constData() );
+      Q_ASSERT( dst );
+
+      dfn = OGR_L_GetLayerDefn( src );
+      Q_ASSERT( dfn );
+
+      int blockIdx = OGR_FD_GetFieldIndex( dfn, "block" );
+      int layerIdx = OGR_FD_GetFieldIndex( dfn, "layer" );
+      int colorIdx = OGR_FD_GetFieldIndex( dfn, "color" );
+      if ( blockIdx < 0 || layerIdx < 0 || colorIdx < 0 )
+      {
+        QgsDebugMsg( QString( "%1: fields not found (blockIdx=%2, layerIdx=%3 colorIdx=%4)" )
+                     .arg( name ).arg( blockIdx ).arg( layerIdx ).arg( colorIdx )
+                   );
+        OGR_DS_ReleaseResultSet( mDs, src );
+        continue;
+      }
+
+      int linetypeIdx = OGR_FD_GetFieldIndex( dfn, "linetype" );
+      int linewidthIdx = OGR_FD_GetFieldIndex( dfn, "linewidth" );
+      int angleIdx = OGR_FD_GetFieldIndex( dfn, "angle" );
+
+      OGR_L_ResetReading( src );
+
+      OGRFeatureH f = nullptr;
+      int j = 0;
+      for ( ;; )
+      {
+        if ( f )
+          OGR_F_Destroy( f );
+
+        f = OGR_L_GetNextFeature( src );
+        if ( !f )
+          break;
+
+        GIntBig fid = OGR_F_GetFID( f );
+        Q_UNUSED( fid );
+
+        ogrG = OGR_F_GetGeometryRef( f );
+        if ( !ogrG )
+        {
+          QgsDebugMsg( QString( "%1/%2: geometryless feature skipped" ).arg( name ).arg( fid ) );
+          continue;
+        }
+
+        QgsGeometry *g = QgsOgrUtils::ogrGeometryToQgsGeometry( ogrG );
+        if ( !g )
+        {
+          QgsDebugMsg( QString( "%1: could not copy geometry" ).arg( fid ) );
+          continue;
+        }
+
+        if ( g->transform( t ) != 0 )
+        {
+          QgsDebugMsg( QString( "%1/%2: could not transform geometry" ).arg( name ).arg( fid ) );
+          continue;
+        }
+
+        const unsigned char *wkb = g->asWkb();
+        if ( !wkb )
+        {
+          QgsDebugMsg( QString( "%1/%2: could not create wkb" ).arg( name ).arg( fid ) );
+          delete g;
+          continue;
+        }
+
+        if ( OGR_G_CreateFromWkb( const_cast<unsigned char *>( wkb ), nullptr, &ogrG, g->wkbSize() ) != OGRERR_NONE )
+        {
+          QgsDebugMsg( QString( "%1/%2: could not create ogr geometry" ).arg( name ).arg( fid ) );
+          delete g;
+          continue;
+        }
+
+        delete g;
+        g = nullptr;
+
+        if ( OGR_F_SetGeometryDirectly( f, ogrG ) != OGRERR_NONE )
+        {
+          QgsDebugMsg( QString( "%1/%2: could not assign geometry" ).arg( name ).arg( fid ) );
+          delete g;
+          continue;
+        }
+
+        OGR_F_SetFID( f, OGRNullFID );
+        OGR_F_SetFieldInteger( f, blockIdx, -1 );
+
+        if ( strcasecmp( OGR_F_GetFieldAsString( f, layerIdx ), "byblock" ) == 0 )
+          OGR_F_SetFieldString( f, layerIdx, blockLayer.toUtf8().constData() );
+
+        if ( strcasecmp( OGR_F_GetFieldAsString( f, colorIdx ), "byblock" ) == 0 )
+          OGR_F_SetFieldString( f, colorIdx, blockColor.toUtf8().constData() );
+
+        if ( angleIdx >= 0 )
+          OGR_F_SetFieldDouble( f, angleIdx, OGR_F_GetFieldAsDouble( f, angleIdx ) + angle );
+
+        if ( linetypeIdx >= 0 && strcasecmp( OGR_F_GetFieldAsString( f, linetypeIdx ), "byblock" ) == 0 )
+          OGR_F_SetFieldString( f, linetypeIdx, blockLinetype.toUtf8().constData() );
+
+        if ( linewidthIdx >= 0 && OGR_F_GetFieldAsDouble( f, linewidthIdx ) < 0.0 )
+          OGR_F_SetFieldDouble( f, linewidthIdx, blockLinewidth );
+
+        if ( OGR_L_CreateFeature( dst, f ) != OGRERR_NONE )
+        {
+          if ( errors < 1000 )
+          {
+            QgsMessageLog::logMessage( QObject::tr( "Could not copy feature of block %2 from layer %1 [Errors:%3]" )
+                                       .arg( name ).arg( handle ).arg( QString::fromUtf8( CPLGetLastErrorMsg() ) ),
+                                       QObject::tr( "DWG/DXF import" ) );
+          }
+          else if ( errors == 1000 )
+          {
+            QgsMessageLog::logMessage( QObject::tr( "Not logging more errors" ), QObject::tr( "DWG/DXF import" ) );
+          }
+
+          ++errors;
+          continue;
+        }
+
+        ++j;
+      }
+
+      if ( f )
+        OGR_F_Destroy( f );
+
+      OGR_DS_ReleaseResultSet( mDs, src );
+
+      QgsDebugMsgLevel( QString( "%1: %2 features copied" ).arg( name ).arg( j ), 5 );
+    }
+  }
+
+  if ( insert )
+    OGR_F_Destroy( insert );
+
+  if ( errors > 0 )
+  {
+    error = QObject::tr( "%1 write errors during block expansion" ).arg( errors );
+    return false;
+  }
+  else
+  {
+    error = QObject::tr( "%1 block insertion expanded." ).arg( i );
+    return true;
+  }
+}
diff --git a/src/app/dwg/qgsdwgimporter.h b/src/app/dwg/qgsdwgimporter.h
new file mode 100644
index 0000000..2380a28
--- /dev/null
+++ b/src/app/dwg/qgsdwgimporter.h
@@ -0,0 +1,202 @@
+/***************************************************************************
+                         qgsdwgimporter.h
+                         --------------
+    begin                : May 2016
+    copyright            : (C) 2016 by Juergen E. Fischer
+    email                : jef at norbit dot de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "drw_interface.h"
+
+#include <QString>
+#include <ogr_api.h>
+
+#include <qgsabstractgeometryv2.h>
+
+class QgsCompoundCurveV2;
+class QgsQgsCoordinateReferenceSystem;
+
+class QgsDwgImporter : public DRW_Interface
+{
+  public:
+    QgsDwgImporter( const QString &database, const QgsCoordinateReferenceSystem &crs );
+    ~QgsDwgImporter();
+
+    bool import( const QString &drawing, QString &error, bool expandInserts, bool useCurves );
+
+    /** Called when header is parsed.  */
+    void addHeader( const DRW_Header* data ) override;
+
+    /** Called for every line Type.  */
+    void addLType( const DRW_LType& data ) override;
+
+    /** Called for every layer. */
+    void addLayer( const DRW_Layer& data ) override;
+
+    /** Called for every dim style. */
+    void addDimStyle( const DRW_Dimstyle& data ) override;
+
+    /** Called for every VPORT table. */
+    void addVport( const DRW_Vport& data ) override;
+
+    /** Called for every text style. */
+    void addTextStyle( const DRW_Textstyle& data ) override;
+
+    /** Called for every AppId entry. */
+    void addAppId( const DRW_AppId& data ) override;
+
+    void addBlock( const DRW_Block& data ) override;
+
+    void setBlock( const int handle ) override;
+
+    /** Called to end the current block */
+    void endBlock() override;
+
+    /** Called for every point */
+    void addPoint( const DRW_Point& data ) override;
+
+    /** Called for every line */
+    void addLine( const DRW_Line& data ) override;
+
+    /** Called for every ray */
+    void addRay( const DRW_Ray& data ) override;
+
+    /** Called for every xline */
+    void addXline( const DRW_Xline& data ) override;
+
+    /** Called for every arc */
+    void addArc( const DRW_Arc& data ) override;
+
+    /** Called for every circle */
+    void addCircle( const DRW_Circle& data ) override;
+
+    /** Called for every ellipse */
+    void addEllipse( const DRW_Ellipse& data ) override;
+
+    /** Called for every lwpolyline */
+    void addLWPolyline( const DRW_LWPolyline& data ) override;
+
+    /** Called for every polyline start */
+    void addPolyline( const DRW_Polyline& data ) override;
+
+    /** Called for every spline */
+    void addSpline( const DRW_Spline* data ) override;
+
+    /** Called for every spline knot value */
+    void addKnot( const DRW_Entity& data ) override;
+
+    /** Called for every insert. */
+    void addInsert( const DRW_Insert& data ) override;
+
+    /** Called for every trace start */
+    void addTrace( const DRW_Trace& data ) override;
+
+    /** Called for every 3dface start */
+    void add3dFace( const DRW_3Dface& data ) override;
+
+    /** Called for every solid start */
+    void addSolid( const DRW_Solid& data ) override;
+
+    /** Called for every Multi Text entity. */
+    void addMText( const DRW_MText& data ) override;
+
+    /** Called for every Text entity. */
+    void addText( const DRW_Text& data ) override;
+
+    /** Called for every dimension entity. */
+    void addDim( const DRW_Dimension *data );
+
+    /** Called for every aligned dimension entity. */
+    void addDimAlign( const DRW_DimAligned *data ) override;
+
+    /** Called for every linear or rotated dimension entity. */
+    void addDimLinear( const DRW_DimLinear *data ) override;
+
+    /** Called for every radial dimension entity. */
+    void addDimRadial( const DRW_DimRadial *data ) override;
+
+    /** Called for every diametric dimension entity. */
+    void addDimDiametric( const DRW_DimDiametric *data ) override;
+
+    /** Called for every angular dimension (2 lines version) entity. */
+    void addDimAngular( const DRW_DimAngular *data ) override;
+
+    /** Called for every angular dimension (3 points version) entity. */
+    void addDimAngular3P( const DRW_DimAngular3p *data ) override;
+
+    /** Called for every ordinate dimension entity. */
+    void addDimOrdinate( const DRW_DimOrdinate *data ) override;
+
+    /** Called for every leader start. */
+    void addLeader( const DRW_Leader *data ) override;
+
+    /** Called for every hatch entity. */
+    void addHatch( const DRW_Hatch *data ) override;
+
+    /** Called for every viewport entity. */
+    void addViewport( const DRW_Viewport& data ) override;
+
+    /** Called for every image entity. */
+    void addImage( const DRW_Image *data ) override;
+
+    /** Called for every image definition. */
+    void linkImage( const DRW_ImageDef *data ) override;
+
+    /** Called for every comment in the DXF file (code 999). */
+    void addComment( const char* comment ) override;
+
+    void writeHeader( DRW_Header& data ) override;
+    void writeBlocks() override;
+    void writeBlockRecords() override;
+    void writeEntities() override;
+    void writeLTypes() override;
+    void writeLayers() override;
+    void writeTextstyles() override;
+    void writeVports() override;
+    void writeDimstyles() override;
+    void writeAppId() override;
+
+  private:
+    void startTransaction();
+    void commitTransaction();
+    bool exec( QString sql, bool logError = true );
+    OGRLayerH query( QString sql );
+
+    void addEntity( OGRFeatureDefnH dfn, OGRFeatureH f, const DRW_Entity &data );
+    QString colorString( int color, int color24, int transparency, const std::string &layer ) const;
+    double lineWidth( int lWeight, const std::string &layer ) const;
+    QString linetypeString( const std::string &linetype, const std::string &layer ) const;
+    void setString( OGRFeatureDefnH dfn, OGRFeatureH f, QString field, const std::string &value ) const;
+    void setDouble( OGRFeatureDefnH dfn, OGRFeatureH f, QString field, double value ) const;
+    void setInteger( OGRFeatureDefnH dfn, OGRFeatureH f, QString field, int value ) const;
+    void setPoint( OGRFeatureDefnH dfn, OGRFeatureH f, QString field, const DRW_Coord &value ) const;
+
+    bool curveFromLWPolyline( const DRW_LWPolyline& data, QgsCompoundCurveV2 &cc );
+
+    bool expandInserts( QString &error );
+
+    bool createFeature( OGRLayerH layer, OGRFeatureH f, const QgsAbstractGeometryV2 &g ) const;
+
+    OGRDataSourceH mDs;
+    QString mDatabase;
+    bool mInTransaction;
+    int mSplineSegs;
+    int mBlockHandle;
+    int mCrs;
+    OGRSpatialReferenceH mCrsH;
+    bool mUseCurves;
+
+    QHash<QString, QString> mLayerColor;
+    QHash<QString, double> mLayerLinewidth;
+    QHash<QString, QString> mLayerLinetype;
+    QHash<QString, QString> mLinetype;
+};
diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp
index 7eb8940..5b9d93e 100644
--- a/src/app/qgisapp.cpp
+++ b/src/app/qgisapp.cpp
@@ -137,6 +137,7 @@
 #include "qgsdockwidget.h"
 #include "qgsdxfexport.h"
 #include "qgsdxfexportdialog.h"
+#include "qgsdwgimportdialog.h"
 #include "qgsdecorationcopyright.h"
 #include "qgsdecorationnortharrow.h"
 #include "qgsdecorationscalebar.h"
@@ -1508,6 +1509,7 @@ void QgisApp::createActions()
   connect( mActionShowComposerManager, SIGNAL( triggered() ), this, SLOT( showComposerManager() ) );
   connect( mActionExit, SIGNAL( triggered() ), this, SLOT( fileExit() ) );
   connect( mActionDxfExport, SIGNAL( triggered() ), this, SLOT( dxfExport() ) );
+  connect( mActionDwgImport, SIGNAL( triggered() ), this, SLOT( dwgImport() ) );
 
   // Edit Menu Items
 
@@ -1901,6 +1903,7 @@ void QgisApp::createMenus()
 
   // Layer menu
 #ifndef SUPPORT_GEOPACKAGE
+  mProjectMenu->removeAction( mActionDwgImport );
   mNewLayerMenu->removeAction( mActionNewGeoPackageLayer );
 #endif
 
@@ -5133,6 +5136,12 @@ void QgisApp::dxfExport()
   }
 }
 
+void QgisApp::dwgImport()
+{
+  QgsDwgImportDialog d;
+  d.exec();
+}
+
 void QgisApp::openLayerDefinition( const QString & path )
 {
   QString errorMessage;
diff --git a/src/app/qgisapp.h b/src/app/qgisapp.h
index 906a5e9..9bc115c 100644
--- a/src/app/qgisapp.h
+++ b/src/app/qgisapp.h
@@ -922,6 +922,8 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
     void fileSaveAs();
     //! Export project in dxf format
     void dxfExport();
+    //! Import layers in dwg format
+    void dwgImport();
     //! Open the project file corresponding to the
     //! text)= of the given action.
     void openProject( QAction *action );
diff --git a/src/app/qgscustomization.cpp b/src/app/qgscustomization.cpp
index 4bb4e48..4f0d705 100644
--- a/src/app/qgscustomization.cpp
+++ b/src/app/qgscustomization.cpp
@@ -569,7 +569,7 @@ void QgsCustomization::createTreeItemToolbars()
 void QgsCustomization::createTreeItemDocks()
 {
   QStringList data;
-  data << "Panels";
+  data << "Docks";
 
   QTreeWidgetItem *topItem = new QTreeWidgetItem( data );
 
diff --git a/src/core/dxf/qgsdxfexport.cpp b/src/core/dxf/qgsdxfexport.cpp
index 859fdee..85aeba0 100644
--- a/src/core/dxf/qgsdxfexport.cpp
+++ b/src/core/dxf/qgsdxfexport.cpp
@@ -3787,6 +3787,8 @@ void QgsDxfExport::addFeature( QgsSymbolV2RenderContext& ctx, const QgsCoordinat
       case QgsWKBTypes::CircularString:
       case QgsWKBTypes::CompoundCurve:
         tempGeom = geom->segmentize();
+        if ( !tempGeom )
+          break;
         FALLTHROUGH;
       case QgsWKBTypes::LineString:
         if ( !qgsDoubleNear( offset, 0.0 ) )
@@ -3805,6 +3807,8 @@ void QgsDxfExport::addFeature( QgsSymbolV2RenderContext& ctx, const QgsCoordinat
 
       case QgsWKBTypes::MultiCurve:
         tempGeom = geom->segmentize();
+        if ( !tempGeom )
+          break;
         FALLTHROUGH;
       case QgsWKBTypes::MultiLineString:
       {
@@ -3829,6 +3833,8 @@ void QgsDxfExport::addFeature( QgsSymbolV2RenderContext& ctx, const QgsCoordinat
 
       case QgsWKBTypes::CurvePolygon:
         tempGeom = geom->segmentize();
+        if ( !tempGeom )
+          break;
         FALLTHROUGH;
       case QgsWKBTypes::Polygon:
       {
@@ -3887,6 +3893,8 @@ void QgsDxfExport::addFeature( QgsSymbolV2RenderContext& ctx, const QgsCoordinat
     {
       case QgsWKBTypes::CurvePolygon:
         tempGeom = tempGeom->segmentize();
+        if ( !tempGeom )
+          break;
         FALLTHROUGH;
       case QgsWKBTypes::Polygon:
         writePolygon( tempGeom->coordinateSequence().at( 0 ), layer, "SOLID", brushColor );
diff --git a/src/core/geometry/qgsgeos.cpp b/src/core/geometry/qgsgeos.cpp
index ae0b992..0a61154 100644
--- a/src/core/geometry/qgsgeos.cpp
+++ b/src/core/geometry/qgsgeos.cpp
@@ -1087,6 +1087,7 @@ GEOSGeometry* QgsGeos::asGeos( const QgsAbstractGeometryV2* geom, double precisi
 
         case QgsWKBTypes::UnknownGeometry:
         case QgsWKBTypes::NullGeometry:
+        default:
           return nullptr;
           break;
       }
diff --git a/src/core/qgsexpression.h b/src/core/qgsexpression.h
index c2854dd..9bd8beb 100644
--- a/src/core/qgsexpression.h
+++ b/src/core/qgsexpression.h
@@ -511,8 +511,8 @@ class CORE_EXPORT QgsExpression
     typedef QVariant( *FcnEvalContext )( const QVariantList& values, const QgsExpressionContext* context, QgsExpression* parent );
 
     /** \ingroup core
-      * A abstract base class for defining QgsExpression functions.
-      */
+     * A abstract base class for defining QgsExpression functions.
+     */
     class CORE_EXPORT Function
     {
       public:
@@ -540,7 +540,7 @@ class CORE_EXPORT QgsExpression
         }
 
         /** Constructor for function which uses unnamed parameters and group list
-         * @note added in QGIS 3.0
+         * @note added in QGIS 2.18
          */
         Function( const QString& fnname,
                   int params,
@@ -588,7 +588,7 @@ class CORE_EXPORT QgsExpression
         {}
 
         /** Constructor for function which uses named parameter list and group list.
-         * @note added in QGIS 3.0
+         * @note added in QGIS 2.18
          */
         Function( const QString& fnname,
                   const ParameterList& params,
@@ -653,7 +653,8 @@ class CORE_EXPORT QgsExpression
 
         /** True if this function should use lazy evaluation.  Lazy evaluation functions take QgsExpression::Node objects
          * rather than the node results when called.  You can use node->eval(parent, feature) to evaluate the node and return the result
-         * Functions are non lazy default and will be given the node return value when called **/
+         * Functions are non lazy default and will be given the node return value when called
+         */
         bool lazyEval() const { return mLazyEval; }
 
         virtual QStringList referencedColumns() const { return mReferencedColumns; }
@@ -665,7 +666,7 @@ class CORE_EXPORT QgsExpression
 
         /** Returns true if the function is deprecated and should not be presented as a valid option
          * to users in expression builders.
-         * @note added in QGIS 3.0
+         * @note added in QGIS 2.18
          */
         virtual bool isDeprecated() const { return mGroups.isEmpty() ? false : mGroups.contains( "deprecated" ); }
 
@@ -675,7 +676,7 @@ class CORE_EXPORT QgsExpression
         QString group() const { return mGroups.isEmpty() ? QString() : mGroups.at( 0 ); }
 
         /** Returns a list of the groups the function belongs to.
-         * @note added in QGIS 3.0
+         * @note added in QGIS 2.18
          * @see group()
         */
         QStringList groups() const { return mGroups; }
@@ -1441,7 +1442,8 @@ class CORE_EXPORT QgsExpression
 
     /** \ingroup core
      * Support for visitor pattern - algorithms dealing with the expressions
-        may be implemented without modifying the Node classes */
+     * may be implemented without modifying the Node classes
+     */
     class CORE_EXPORT Visitor
     {
       public:
diff --git a/src/core/qgsmaplayer.cpp b/src/core/qgsmaplayer.cpp
index df2e483..cb3b0f9 100644
--- a/src/core/qgsmaplayer.cpp
+++ b/src/core/qgsmaplayer.cpp
@@ -86,6 +86,8 @@ QgsMapLayer::QgsMapLayer( QgsMapLayer::LayerType type,
   mScaleBasedVisibility = false;
 
   connect( this, SIGNAL( nameChanged() ), this, SIGNAL( layerNameChanged() ) );
+
+  connect( mStyleManager, SIGNAL( currentStyleChanged( QString ) ), this, SIGNAL( styleChanged() ) );
 }
 
 QgsMapLayer::~QgsMapLayer()
diff --git a/src/core/qgsofflineediting.cpp b/src/core/qgsofflineediting.cpp
index 9acb4b9..7e29461 100644
--- a/src/core/qgsofflineediting.cpp
+++ b/src/core/qgsofflineediting.cpp
@@ -630,9 +630,6 @@ QgsVectorLayer* QgsOfflineEditing::copyVectorLayer( QgsVectorLayer* layer, sqlit
       newLayer->startEditing();
       QgsFeature f;
 
-      // NOTE: force feature recount for PostGIS layer, else only visible features are counted, before iterating over all features (WORKAROUND)
-      layer->setSubsetString( layer->subsetString() );
-
       QgsFeatureRequest req;
 
       if ( onlySelected )
@@ -642,6 +639,9 @@ QgsVectorLayer* QgsOfflineEditing::copyVectorLayer( QgsVectorLayer* layer, sqlit
           req.setFilterFids( selectedFids );
       }
 
+      // NOTE: force feature recount for PostGIS layer, else only visible features are counted, before iterating over all features (WORKAROUND)
+      layer->setSubsetString( layer->subsetString() );
+
       QgsFeatureIterator fit = layer->dataProvider()->getFeatures( req );
 
       if ( req.filterType() == QgsFeatureRequest::FilterFids )
diff --git a/src/core/qgsvectorfilewriter.h b/src/core/qgsvectorfilewriter.h
index cdcc9c3..96a8a17 100644
--- a/src/core/qgsvectorfilewriter.h
+++ b/src/core/qgsvectorfilewriter.h
@@ -200,7 +200,7 @@ class CORE_EXPORT QgsVectorFileWriter
     };
 
     /** Edition capability flags
-      * @note Added in QGIS 3.0 */
+      * @note Added in QGIS 2.18 */
     enum EditionCapability
     {
       /** Flag to indicate that a new layer can be added to the dataset */
@@ -217,11 +217,11 @@ class CORE_EXPORT QgsVectorFileWriter
     };
 
     /** Combination of CanAddNewLayer, CanAppendToExistingLayer, CanAddNewFieldsToExistingLayer or CanDeleteLayer
-      * @note Added in QGIS 3.0 */
+      * @note Added in QGIS 2.18 */
     Q_DECLARE_FLAGS( EditionCapabilities, EditionCapability )
 
     /** Enumeration to describe how to handle existing files
-        @note Added in QGIS 3.0
+        @note Added in QGIS 2.18
      */
     typedef enum
     {
@@ -328,7 +328,7 @@ class CORE_EXPORT QgsVectorFileWriter
 
     /** \ingroup core
      * Options to pass to writeAsVectorFormat()
-     * @note Added in QGIS 3.0
+     * @note Added in QGIS 2.18
      */
     class CORE_EXPORT SaveVectorOptions
     {
@@ -490,20 +490,20 @@ class CORE_EXPORT QgsVectorFileWriter
 
     /**
      * Return edition capabilites for an existing dataset name.
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      */
     static EditionCapabilities editionCapabilities( const QString& datasetName );
 
     /**
      * Returns whether the target layer already exists.
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      */
     static bool targetLayerExists( const QString& datasetName,
                                    const QString& layerName );
 
     /**
      * Returns whether there are among the attributes specified some that do not exist yet in the layer
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      */
     static bool areThereNewFieldsToCreate( const QString& datasetName,
                                            const QString& layerName,
diff --git a/src/core/qgsvectorlayercache.h b/src/core/qgsvectorlayercache.h
index 6ff9c21..69ede43 100644
--- a/src/core/qgsvectorlayercache.h
+++ b/src/core/qgsvectorlayercache.h
@@ -139,7 +139,7 @@ class CORE_EXPORT QgsVectorLayerCache : public QObject
      * a result of a call to setFullCache() or by through a feature request which resulted in
      * all available features being cached.
      * @see setFullCache()
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      */
     bool hasFullCache() const { return mFullCache; }
 
@@ -173,7 +173,7 @@ class CORE_EXPORT QgsVectorLayerCache : public QObject
     bool isFidCached( const QgsFeatureId fid ) const;
 
     /** Returns the set of feature IDs for features which are cached.
-     * @note added in QGIS 3.0
+     * @note added in QGIS 2.18
      * @see isFidCached()
      */
     QgsFeatureIds cachedFeatureIds() const { return mCache.keys().toSet(); }
diff --git a/src/core/symbology-ng/qgspointdisplacementrenderer.cpp b/src/core/symbology-ng/qgspointdisplacementrenderer.cpp
index 7d344eb..460d60b 100644
--- a/src/core/symbology-ng/qgspointdisplacementrenderer.cpp
+++ b/src/core/symbology-ng/qgspointdisplacementrenderer.cpp
@@ -331,6 +331,13 @@ QgsSymbolV2List QgsPointDisplacementRenderer::originalSymbolsForFeature( QgsFeat
   return mRenderer->originalSymbolsForFeature( feat, context );
 }
 
+QSet< QString > QgsPointDisplacementRenderer::legendKeysForFeature( QgsFeature& feat, QgsRenderContext& context )
+{
+  if ( !mRenderer )
+    return QSet< QString >() << QString();
+  return mRenderer->legendKeysForFeature( feat, context );
+}
+
 bool QgsPointDisplacementRenderer::willRenderFeature( QgsFeature& feat, QgsRenderContext& context )
 {
   if ( !mRenderer )
diff --git a/src/core/symbology-ng/qgspointdisplacementrenderer.h b/src/core/symbology-ng/qgspointdisplacementrenderer.h
index ab19449..684e434 100644
--- a/src/core/symbology-ng/qgspointdisplacementrenderer.h
+++ b/src/core/symbology-ng/qgspointdisplacementrenderer.h
@@ -79,6 +79,10 @@ class CORE_EXPORT QgsPointDisplacementRenderer: public QgsFeatureRendererV2
       @note available in python as originalSymbolsForFeature2
      */
     virtual QgsSymbolV2List originalSymbolsForFeature( QgsFeature& feat, QgsRenderContext& context ) override;
+    /** Returns which legend keys match the feature
+     * @note added in QGIS 2.18.2
+     */
+    virtual QSet< QString > legendKeysForFeature( QgsFeature& feature, QgsRenderContext& context ) override;
     /** Proxy that will call this method on the embedded renderer.
       @note available in python as willRenderFeature2
      */
diff --git a/src/gui/qgisgui.h b/src/gui/qgisgui.h
index b3d5dd2..e00c9d4 100644
--- a/src/gui/qgisgui.h
+++ b/src/gui/qgisgui.h
@@ -52,17 +52,17 @@ namespace QgisGui
   /**
    * Minimum magnification level allowed in map canvases.
    * @see CANVAS_MAGNIFICATION_MAX
-   * @note added in QGIS 3.0
+   * @note added in QGIS 2.18
    */
-  constexpr double CANVAS_MAGNIFICATION_MIN = 0.1;
+  static const double CANVAS_MAGNIFICATION_MIN = 0.1;
 
   /**
    * Maximum magnification level allowed in map canvases.
    * @see CANVAS_MAGNIFICATION_MAX
-   * @note added in QGIS 3.0
+   * @note added in QGIS 2.18
    */
   // Must be a factor of 2, so zooming in to max from 100% then zooming back out will result in 100% mag
-  constexpr double CANVAS_MAGNIFICATION_MAX = 16.0;
+  static const double CANVAS_MAGNIFICATION_MAX = 16.0;
 
   /**
     Open files, preferring to have the default file selector be the
diff --git a/src/gui/qgsfiledownloader.cpp b/src/gui/qgsfiledownloader.cpp
index 36cde63..83520d2 100644
--- a/src/gui/qgsfiledownloader.cpp
+++ b/src/gui/qgsfiledownloader.cpp
@@ -60,7 +60,6 @@ void QgsFileDownloader::startDownload()
   mReply = nam->get( request );
 
   connect( mReply, SIGNAL( readyRead() ), this, SLOT( onReadyRead() ) );
-  connect( mReply, SIGNAL( error( QNetworkReply::NetworkError ) ), this, SLOT( onNetworkError( QNetworkReply::NetworkError ) ) );
   connect( mReply, SIGNAL( finished() ), this, SLOT( onFinished() ) );
   connect( mReply, SIGNAL( downloadProgress( qint64, qint64 ) ), this, SLOT( onDownloadProgress( qint64, qint64 ) ) );
   connect( nam, SIGNAL( requestTimedOut( QNetworkReply* ) ), this, SLOT( onRequestTimedOut() ) );
@@ -161,7 +160,7 @@ void QgsFileDownloader::onFinished()
     if ( mReply->error() )
     {
       mFile.remove();
-      error( tr( "Download failed: %1." ).arg( mReply->errorString() ) );
+      error( tr( "Download failed: %1" ).arg( mReply->errorString() ) );
     }
     else if ( !redirectionTarget.isNull() )
     {
@@ -174,18 +173,15 @@ void QgsFileDownloader::onFinished()
       startDownload();
       return;
     }
-    // All done
-    emit downloadCompleted();
+    else
+    {
+      emit downloadCompleted();
+    }
   }
   emit downloadExited();
   this->deleteLater();
 }
 
-void QgsFileDownloader::onNetworkError( QNetworkReply::NetworkError err )
-{
-  Q_ASSERT( mReply );
-  error( QString( "Network error %1: %2" ).arg( err ).arg( mReply->errorString() ) );
-}
 
 void QgsFileDownloader::onDownloadProgress( qint64 bytesReceived, qint64 bytesTotal )
 {
diff --git a/src/gui/qgsfiledownloader.h b/src/gui/qgsfiledownloader.h
index 62e6d29..c9276f7 100644
--- a/src/gui/qgsfiledownloader.h
+++ b/src/gui/qgsfiledownloader.h
@@ -75,8 +75,6 @@ class GUI_EXPORT QgsFileDownloader : public QObject
     void onReadyRead();
     /** Called when the network reply has finished */
     void onFinished();
-    /** Called on Network Error */
-    void onNetworkError( QNetworkReply::NetworkError err );
     /** Called on data ready to be processed */
     void onDownloadProgress( qint64 bytesReceived, qint64 bytesTotal );
     /** Called when a network request times out  */
diff --git a/src/gui/raster/qgspalettedrendererwidget.cpp b/src/gui/raster/qgspalettedrendererwidget.cpp
index 75962a2..5fa9e0d 100644
--- a/src/gui/raster/qgspalettedrendererwidget.cpp
+++ b/src/gui/raster/qgspalettedrendererwidget.cpp
@@ -87,6 +87,14 @@ void QgsPalettedRendererWidget::on_mTreeWidget_itemDoubleClicked( QTreeWidgetIte
   }
 }
 
+void QgsPalettedRendererWidget::on_mTreeWidget_itemChanged( QTreeWidgetItem * item, int column )
+{
+  if ( column == 2 && item ) //palette label modified
+  {
+    emit widgetChanged();
+  }
+}
+
 void QgsPalettedRendererWidget::setFromRenderer( const QgsRasterRenderer* r )
 {
   const QgsPalettedRasterRenderer* pr = dynamic_cast<const QgsPalettedRasterRenderer*>( r );
diff --git a/src/gui/raster/qgspalettedrendererwidget.h b/src/gui/raster/qgspalettedrendererwidget.h
index b1b06e6..3f28fef 100644
--- a/src/gui/raster/qgspalettedrendererwidget.h
+++ b/src/gui/raster/qgspalettedrendererwidget.h
@@ -41,6 +41,7 @@ class GUI_EXPORT QgsPalettedRendererWidget: public QgsRasterRendererWidget, priv
 
   private slots:
     void on_mTreeWidget_itemDoubleClicked( QTreeWidgetItem * item, int column );
+    void on_mTreeWidget_itemChanged( QTreeWidgetItem * item, int column );
 };
 
 #endif // QGSPALETTEDRENDERERWIDGET_H
diff --git a/src/plugins/grass/qtermwidget/CharacterColor.h b/src/plugins/grass/qtermwidget/CharacterColor.h
index 08f44c8..eaa978b 100644
--- a/src/plugins/grass/qtermwidget/CharacterColor.h
+++ b/src/plugins/grass/qtermwidget/CharacterColor.h
@@ -256,13 +256,20 @@ inline bool operator != (const CharacterColor& a, const CharacterColor& b)
 inline const QColor color256(quint8 u, const ColorEntry* base)
 {
   //   0.. 16: system colors
-  if (u <   8) return base[u+2            ].color; u -= 8;
-  if (u <   8) return base[u+2+BASE_COLORS].color; u -= 8;
+  if (u <   8) return base[u+2            ].color;
+
+  u -= 8;
+
+  if (u <   8) return base[u+2+BASE_COLORS].color;
+
+  u -= 8;
 
   //  16..231: 6x6x6 rgb color cube
   if (u < 216) return QColor(((u/36)%6) ? (40*((u/36)%6)+55) : 0,
                              ((u/ 6)%6) ? (40*((u/ 6)%6)+55) : 0,
-                             ((u/ 1)%6) ? (40*((u/ 1)%6)+55) : 0); u -= 216;
+                             ((u/ 1)%6) ? (40*((u/ 1)%6)+55) : 0);
+
+  u -= 216;
 
   // 232..255: gray, leaving out black and white
   int gray = u*10+8; return QColor(gray,gray,gray);
diff --git a/src/providers/oracle/qgsoracleconn.cpp b/src/providers/oracle/qgsoracleconn.cpp
index f6b096a..14d1c84 100644
--- a/src/providers/oracle/qgsoracleconn.cpp
+++ b/src/providers/oracle/qgsoracleconn.cpp
@@ -25,11 +25,11 @@
 
 #include <QSettings>
 #include <QSqlError>
-#include <QDateTime>
 
 QMap<QString, QgsOracleConn *> QgsOracleConn::sConnections;
 int QgsOracleConn::snConnections = 0;
 const int QgsOracleConn::sGeomTypeSelectLimit = 100;
+QMap<QString, QDateTime> QgsOracleConn::sBrokenConnections;
 
 QgsOracleConn *QgsOracleConn::connectDb( const QgsDataSourceURI& uri )
 {
@@ -72,24 +72,44 @@ QgsOracleConn::QgsOracleConn( QgsDataSourceURI uri )
   mDatabase.setUserName( uri.username() );
   mDatabase.setPassword( uri.password() );
 
-  QgsDebugMsg( QString( "Connecting with options: " ) + options );
+  QString username = uri.username();
+  QString password = uri.password();
 
-  if ( !mDatabase.open() )
+  QString realm( database );
+  if ( !username.isEmpty() )
+    realm.prepend( username + "@" );
+
+  if ( sBrokenConnections.contains( realm ) )
   {
-    QString username = uri.username();
-    QString password = uri.password();
+    QDateTime now( QDateTime::currentDateTime() );
+    QDateTime since( sBrokenConnections[ realm ] );
+    QgsDebugMsg( QString( "Broken since %1 [%2s ago]" ).arg( since.toString( Qt::ISODate ) ).arg( since.secsTo( now ) ) );
 
-    QString realm( database );
-    if ( !username.isEmpty() )
-      realm.prepend( username + "@" );
+    if ( since.secsTo( now ) < 30 )
+    {
+      QgsMessageLog::logMessage( tr( "Connection failed %1s ago - skipping retry" ).arg( since.secsTo( now ) ), tr( "Oracle" ) );
+      mRef = 0;
+      return;
+    }
+  }
 
+  QgsDebugMsg( QString( "Connecting with options: " ) + options );
+  if ( !mDatabase.open() )
+  {
     QgsCredentials::instance()->lock();
 
     while ( !mDatabase.open() )
     {
       bool ok = QgsCredentials::instance()->get( realm, username, password, mDatabase.lastError().text() );
       if ( !ok )
+      {
+        QDateTime now( QDateTime::currentDateTime() );
+        QgsDebugMsg( QString( "get failed: %1 <= %2" ).arg( realm ).arg( now.toString( Qt::ISODate ) ) );
+        sBrokenConnections.insert( realm, now );
         break;
+      }
+
+      sBrokenConnections.remove( realm );
 
       if ( !username.isEmpty() )
       {
diff --git a/src/providers/oracle/qgsoracleconn.h b/src/providers/oracle/qgsoracleconn.h
index 1b5e5d8..4d0c08c 100644
--- a/src/providers/oracle/qgsoracleconn.h
+++ b/src/providers/oracle/qgsoracleconn.h
@@ -24,6 +24,7 @@
 #include <QMap>
 #include <QSet>
 #include <QThread>
+#include <QDateTime>
 
 #include "qgis.h"
 #include "qgsdatasourceuri.h"
@@ -190,6 +191,7 @@ class QgsOracleConn : public QObject
 
     static QMap<QString, QgsOracleConn *> sConnections;
     static int snConnections;
+    static QMap<QString, QDateTime> sBrokenConnections;
 };
 
 #endif
diff --git a/src/providers/virtual/qgsvirtuallayersqlitemodule.cpp b/src/providers/virtual/qgsvirtuallayersqlitemodule.cpp
index 0e93c11..59dbc24 100644
--- a/src/providers/virtual/qgsvirtuallayersqlitemodule.cpp
+++ b/src/providers/virtual/qgsvirtuallayersqlitemodule.cpp
@@ -619,13 +619,13 @@ int vtableFilter( sqlite3_vtab_cursor * cursor, int idxNum, const char *idxStr,
         expr += "'" + str.replace( "'", "''" ) + "'";
         break;
       }
+      case SQLITE_NULL:
+      case SQLITE_BLOB: // comparison to blob ignored
       default:
-        expr = "";
-    }
-    if ( !expr.isEmpty() )
-    {
-      request.setFilterExpression( expr );
+        expr += " is null";
+        break;
     }
+    request.setFilterExpression( expr );
   }
   VTableCursor *c = reinterpret_cast<VTableCursor*>( cursor );
   c->filter( request );
diff --git a/src/server/qgsconfigparserutils.cpp b/src/server/qgsconfigparserutils.cpp
index 6788970..ac000f4 100644
--- a/src/server/qgsconfigparserutils.cpp
+++ b/src/server/qgsconfigparserutils.cpp
@@ -65,6 +65,9 @@ void QgsConfigParserUtils::appendCRSElementsToLayer( QDomElement& layerElement,
       appendCRSElementToLayer( layerElement, CRSPrecedingElement, crs, doc );
     }
   }
+
+  //Support for CRS:84 is mandatory (equals EPSG:4326 with reversed axis)
+  appendCRSElementToLayer( layerElement, CRSPrecedingElement, QString( "CRS:84" ), doc );
 }
 
 void QgsConfigParserUtils::appendCRSElementToLayer( QDomElement& layerElement, const QDomElement& precedingElement,
@@ -77,7 +80,7 @@ void QgsConfigParserUtils::appendCRSElementToLayer( QDomElement& layerElement, c
   layerElement.insertAfter( crsElement, precedingElement );
 }
 
-void QgsConfigParserUtils::appendLayerBoundingBoxes( QDomElement& layerElem, QDomDocument& doc, const QgsRectangle& layerExtent,
+void QgsConfigParserUtils::appendLayerBoundingBoxes( QDomElement& layerElem, QDomDocument& doc, const QgsRectangle& lExtent,
     const QgsCoordinateReferenceSystem& layerCRS, const QStringList &crsList, const QStringList& constrainedCrsList )
 {
   if ( layerElem.isNull() )
@@ -85,6 +88,13 @@ void QgsConfigParserUtils::appendLayerBoundingBoxes( QDomElement& layerElem, QDo
     return;
   }
 
+  QgsRectangle layerExtent = lExtent;
+  if ( qgsDoubleNear( layerExtent.xMinimum(), layerExtent.xMaximum() ) || qgsDoubleNear( layerExtent.yMinimum(), layerExtent.yMaximum() ) )
+  {
+    //layer bbox cannot be empty
+    layerExtent.grow( 0.000001 );
+  }
+
   QgsCoordinateReferenceSystem wgs84 = QgsCRSCache::instance()->crsByOgcWmsCrs( GEO_EPSG_CRS_AUTHID );
 
   QString version = doc.documentElement().attribute( "version" );
diff --git a/src/server/qgsserverprojectparser.cpp b/src/server/qgsserverprojectparser.cpp
index 01745d4..3906f23 100644
--- a/src/server/qgsserverprojectparser.cpp
+++ b/src/server/qgsserverprojectparser.cpp
@@ -584,7 +584,7 @@ void QgsServerProjectParser::serviceCapabilities( QDomElement& parentElement, QD
   //Fees
   QDomElement feesElem = propertiesElement.firstChildElement( "WMSFees" );
   QDomElement wmsFeesElem = doc.createElement( "Fees" );
-  QDomText wmsFeesText = doc.createTextNode( "conditions unknown" ); // default value if access conditions are unknown
+  QDomText wmsFeesText = doc.createTextNode( "None" ); // default value if access conditions are unknown
   if ( !feesElem.isNull() && !feesElem.text().isEmpty() )
   {
     wmsFeesText = doc.createTextNode( feesElem.text() );
diff --git a/src/server/qgswmsserver.cpp b/src/server/qgswmsserver.cpp
index a75cc17..1834f98 100644
--- a/src/server/qgswmsserver.cpp
+++ b/src/server/qgswmsserver.cpp
@@ -147,13 +147,30 @@ void QgsWMSServer::executeRequest()
   }
 
   //version
-  QString version = mParameters.value( "VERSION", "1.3.0" );
+  QString version = "1.3.0";
+  if ( mParameters.contains( "VERSION" ) )
+  {
+    version = mParameters.value( "VERSION" );
+  }
+  else if ( mParameters.contains( "WMTVER" ) ) //WMTVER needs to be supported by WMS 1.1.1 for backwards compatibility with WMS 1.0.0
+  {
+    version = mParameters.value( "WMTVER" );
+  }
+
   bool getProjectSettings = ( request.compare( "GetProjectSettings", Qt::CaseInsensitive ) == 0 );
   if ( getProjectSettings )
   {
     version = "1.3.0"; //getProjectSettings extends WMS 1.3.0 capabilities
   }
 
+  if ( version == "1.1.1" )
+  {
+    if ( request.compare( "capabilities", Qt::CaseInsensitive ) == 0 )
+    {
+      request = QString( "GetCapabilities" );
+    }
+  }
+
   //GetCapabilities
   if ( request.compare( "GetCapabilities", Qt::CaseInsensitive ) == 0 || getProjectSettings )
   {
@@ -423,6 +440,12 @@ QDomDocument QgsWMSServer::getCapabilities( QString version, bool fullProjectInf
     hrefString = serviceUrl();
   }
 
+  //href needs to be a prefix
+  if ( !hrefString.endsWith( "?" ) && !hrefString.endsWith( "&" ) )
+  {
+    hrefString.append( hrefString.contains( "?" ) ? "&" : "?" );
+  }
+
   if ( version == "1.1.1" )
   {
     doc = QDomDocument( "WMT_MS_Capabilities SYSTEM 'http://schemas.opengis.net/wms/1.1.1/WMS_MS_Capabilities.dtd'" );  //WMS 1.1.1 needs DOCTYPE  "SYSTEM http://schemas.opengis.net/wms/1.1.1/WMS_MS_Capabilities.dtd"
@@ -556,7 +579,7 @@ QDomDocument QgsWMSServer::getCapabilities( QString version, bool fullProjectInf
 
   //Exception element is mandatory
   elem = doc.createElement( "Exception" );
-  appendFormats( doc, elem, QStringList() << ( version == "1.1.1" ? "application/vnd.ogc.se_xml" : "text/xml" ) );
+  appendFormats( doc, elem, QStringList() << ( version == "1.1.1" ? "application/vnd.ogc.se_xml" : "XML" ) );
   capabilityElement.appendChild( elem );
 
   //UserDefinedSymbolization element
@@ -690,6 +713,10 @@ static QgsRectangle _parseBBOX( const QString &bboxStr, bool &ok )
   }
 
   ok = true;
+  if ( d[2] <= d[0] || d[3] <= d[1] )
+  {
+    throw QgsMapServiceException( "InvalidParameterValue", "BBOX is empty" );
+  }
   return QgsRectangle( d[0], d[1], d[2], d[3] );
 }
 
@@ -822,8 +849,6 @@ QImage* QgsWMSServer::getLegendGraphics()
   }
   QgsLayerTreeModel legendModel( &rootGroup );
 
-  QList<QgsLayerTreeNode*> rootChildren = rootGroup.children();
-
   if ( scaleDenominator > 0 )
     legendModel.setLegendFilterByScale( scaleDenominator );
 
@@ -863,7 +888,7 @@ QImage* QgsWMSServer::getLegendGraphics()
   }
 
   // find out DPI
-  QImage* tmpImage = createImage( 1, 1 );
+  QImage* tmpImage = createImage( 1, 1, false );
   if ( !tmpImage )
     return nullptr;
   qreal dpmm = tmpImage->dotsPerMeterX() / 1000.0;
@@ -893,7 +918,7 @@ QImage* QgsWMSServer::getLegendGraphics()
   if ( !rule.isEmpty() )
   {
     //create second image with the right dimensions
-    QImage* paintImage = createImage( ruleSymbolWidth, ruleSymbolHeight );
+    QImage* paintImage = createImage( ruleSymbolWidth, ruleSymbolHeight, false );
 
     //go through the items a second time for painting
     QPainter p( paintImage );
@@ -915,6 +940,7 @@ QImage* QgsWMSServer::getLegendGraphics()
     return paintImage;
   }
 
+  QList<QgsLayerTreeNode*> rootChildren = rootGroup.children();
   Q_FOREACH ( QgsLayerTreeNode* node, rootChildren )
   {
     if ( QgsLayerTree::isLayer( node ) )
@@ -954,7 +980,7 @@ QImage* QgsWMSServer::getLegendGraphics()
   QSizeF minSize = legendRenderer.minimumSize();
   QSize s( minSize.width() * dpmm, minSize.height() * dpmm );
 
-  QImage* paintImage = createImage( s.width(), s.height() );
+  QImage* paintImage = createImage( s.width(), s.height(), false );
 
   QPainter p( paintImage );
   p.setRenderHint( QPainter::Antialiasing, true );
@@ -1456,6 +1482,17 @@ QImage* QgsWMSServer::getMap( HitTest* hitTest )
   //  theImage->save( QDir::tempPath() + QDir::separator() + "lastrender.png" );
   //#endif
 
+  thePainter.end();
+
+  //test if width / height ratio of image is the same as the ratio of WIDTH / HEIGHT parameters. If not, the image has to be scaled (required by WMS spec)
+  int widthParam = mParameters.value( "WIDTH", "0" ).toInt();
+  int heightParam = mParameters.value( "HEIGHT", "0" ).toInt();
+  if ( widthParam != theImage->width() || heightParam != theImage->height() )
+  {
+    //scale image
+    *theImage = theImage->scaled( widthParam, heightParam, Qt::IgnoreAspectRatio, Qt::SmoothTransformation );
+  }
+
   return theImage;
 }
 
@@ -1577,7 +1614,6 @@ int QgsWMSServer::getFeatureInfo( QDomDocument& result, const QString& version )
   QgsRectangle mapExtent = mMapRenderer->extent();
   double scaleDenominator = scaleCalc.calculate( mapExtent, outputImage->width() );
   mConfigParser->setScaleDenominator( scaleDenominator );
-  delete outputImage; //no longer needed for feature info
 
   //read FEATURE_COUNT
   int featureCount = 1;
@@ -1617,6 +1653,16 @@ int QgsWMSServer::getFeatureInfo( QDomDocument& result, const QString& version )
     j = -1;
   }
 
+  //In case the output image is distorted (WIDTH/HEIGHT ratio not equal to BBOX width/height), I and J need to be adapted as well
+  int widthParam = mParameters.value( "WIDTH", "-1" ).toInt();
+  int heightParam = mParameters.value( "HEIGHT", "-1" ).toInt();
+  if (( i != -1 && j != -1 && widthParam != -1 && heightParam != -1 ) && ( widthParam != outputImage->width() || heightParam != outputImage->height() ) )
+  {
+    i *= ( outputImage->width() / ( double )widthParam );
+    j *= ( outputImage->height() / ( double )heightParam );
+  }
+  delete outputImage; //no longer needed for feature info
+
   //Normally, I/J or X/Y are mandatory parameters.
   //However, in order to make attribute only queries via the FILTER parameter, it is allowed to skip them if the FILTER parameter is there
 
@@ -1933,7 +1979,7 @@ QImage* QgsWMSServer::initializeRendering( QStringList& layersList, QStringList&
   return theImage;
 }
 
-QImage* QgsWMSServer::createImage( int width, int height ) const
+QImage* QgsWMSServer::createImage( int width, int height, bool useBbox ) const
 {
   bool conversionSuccess;
 
@@ -1953,6 +1999,32 @@ QImage* QgsWMSServer::createImage( int width, int height ) const
     }
   }
 
+  //Adapt width / height if the aspect ratio does not correspond with the BBOX.
+  //Required by WMS spec. 1.3.
+  if ( useBbox )
+  {
+    bool bboxOk;
+    QgsRectangle mapExtent = _parseBBOX( mParameters.value( "BBOX" ), bboxOk );
+    if ( bboxOk )
+    {
+      double mapWidthHeightRatio = mapExtent.width() / mapExtent.height();
+      double imageWidthHeightRatio = ( double )width / ( double )height;
+      if ( !qgsDoubleNear( mapWidthHeightRatio, imageWidthHeightRatio, 0.0001 ) )
+      {
+        if ( mapWidthHeightRatio >= imageWidthHeightRatio )
+        {
+          //increase image height
+          height = width * mapWidthHeightRatio;
+        }
+        else
+        {
+          //increase image width
+          width = height / mapWidthHeightRatio;
+        }
+      }
+    }
+  }
+
   if ( width < 0 || height < 0 )
   {
     return nullptr;
@@ -1969,6 +2041,19 @@ QImage* QgsWMSServer::createImage( int width, int height ) const
   //transparent parameter
   bool transparent = mParameters.value( "TRANSPARENT" ).compare( "true", Qt::CaseInsensitive ) == 0;
 
+  //background  color
+  QString bgColorString = mParameters.value( "BGCOLOR" );
+  if ( bgColorString.startsWith( "0x", Qt::CaseInsensitive ) )
+  {
+    bgColorString.replace( 0, 2, "#" );
+  }
+  QColor backgroundColor;
+  backgroundColor.setNamedColor( bgColorString );
+  if ( !backgroundColor.isValid() )
+  {
+    backgroundColor = QColor( Qt::white );
+  }
+
   //use alpha channel only if necessary because it slows down performance
   if ( transparent && !jpeg )
   {
@@ -1978,7 +2063,7 @@ QImage* QgsWMSServer::createImage( int width, int height ) const
   else
   {
     theImage = new QImage( width, height, QImage::Format_RGB32 );
-    theImage->fill( qRgb( 255, 255, 255 ) );
+    theImage->fill( backgroundColor );
   }
 
   if ( !theImage )
@@ -2014,17 +2099,32 @@ int QgsWMSServer::configureMapRender( const QPaintDevice* paintDevice ) const
   mMapRenderer->setOutputSize( QSize( paintDevice->width(), paintDevice->height() ), paintDevice->logicalDpiX() );
 
   //map extent
-  bool bboxOk;
-  QgsRectangle mapExtent = _parseBBOX( mParameters.value( "BBOX", "0,0,0,0" ), bboxOk );
+  bool bboxOk = true;
+  QgsRectangle mapExtent;
+  if ( mParameters.contains( "BBOX" ) )
+  {
+    mapExtent = _parseBBOX( mParameters.value( "BBOX", "0,0,0,0" ), bboxOk );
+  }
+
   if ( !bboxOk )
   {
     //throw a service exception
     throw QgsMapServiceException( "InvalidParameterValue", "Invalid BBOX parameter" );
   }
 
+  if ( mParameters.contains( "BBOX" ) && mapExtent.isEmpty() )
+  {
+    throw QgsMapServiceException( "InvalidParameterValue", "BBOX is empty" );
+  }
+
   QGis::UnitType mapUnits = QGis::Degrees;
 
   QString crs = mParameters.value( "CRS", mParameters.value( "SRS" ) );
+  if ( crs.compare( "CRS:84", Qt::CaseInsensitive ) == 0 )
+  {
+    crs = QString( "EPSG:4326" );
+    mapExtent.invert();
+  }
 
   QgsCoordinateReferenceSystem outputCRS;
 
@@ -2151,6 +2251,12 @@ bool QgsWMSServer::infoPointToMapCoordinates( int i, int j, QgsPoint* infoPoint,
     return false;
   }
 
+  //check if i, j are in the pixel range of the image
+  if ( i < 0 || i > mapRenderer->width() || j < 0 || j > mapRenderer->height() )
+  {
+    throw QgsMapServiceException( "InvalidPoint", "I/J parameters not within the pixel range" );
+  }
+
   double xRes = mapRenderer->extent().width() / mapRenderer->width();
   double yRes = mapRenderer->extent().height() / mapRenderer->height();
   infoPoint->setX( mapRenderer->extent().xMinimum() + i * xRes + xRes / 2.0 );
diff --git a/src/server/qgswmsserver.h b/src/server/qgswmsserver.h
index 26f2c37..edc580b 100644
--- a/src/server/qgswmsserver.h
+++ b/src/server/qgswmsserver.h
@@ -133,9 +133,11 @@ class QgsWMSServer: public QgsOWSServer
     /** Creates a QImage from the HEIGHT and WIDTH parameters
      @param width image width (or -1 if width should be taken from WIDTH wms parameter)
      @param height image height (or -1 if height should be taken from HEIGHT wms parameter)
+     @param useBbox flag to indicate if the BBOX has to be used to adapt aspect ratio
      @return 0 in case of error*/
-    QImage* createImage( int width = -1, int height = -1 ) const;
-    /** Configures mMapRenderer to the parameters
+    QImage* createImage( int width = -1, int height = -1, bool useBbox = true ) const;
+
+    /** Configures mapSettings to the parameters
      HEIGHT, WIDTH, BBOX, CRS.
      @param paintDevice the device that is used for painting (for dpi)
      @return 0 in case of success*/
diff --git a/src/ui/qgisapp.ui b/src/ui/qgisapp.ui
index 255a649..3a99b6b 100644
--- a/src/ui/qgisapp.ui
+++ b/src/ui/qgisapp.ui
@@ -51,6 +51,7 @@
     <addaction name="mActionSaveProjectAs"/>
     <addaction name="mActionSaveMapAsImage"/>
     <addaction name="mActionDxfExport"/>
+    <addaction name="mActionDwgImport"/>
     <addaction name="separator"/>
     <addaction name="mActionNewPrintComposer"/>
     <addaction name="mActionShowComposerManager"/>
@@ -2293,6 +2294,11 @@ Acts on currently active editable layer</string>
     <string>DXF Export...</string>
    </property>
   </action>
+  <action name="mActionDwgImport">
+   <property name="text">
+    <string>DWG/DXF Import...</string>
+   </property>
+  </action>
   <action name="mActionFillRing">
    <property name="checkable">
     <bool>true</bool>
diff --git a/src/ui/qgsdwgimportbase.ui b/src/ui/qgsdwgimportbase.ui
new file mode 100644
index 0000000..914f7af
--- /dev/null
+++ b/src/ui/qgsdwgimportbase.ui
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>QgsDwgImportBase</class>
+ <widget class="QDialog" name="QgsDwgImportBase">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>497</width>
+    <height>366</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>DWG/DXF Import</string>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <item row="7" column="0" colspan="2">
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="0" colspan="2">
+    <widget class="QGroupBox" name="mGroupBox">
+     <property name="title">
+      <string>Choose layers to import into project</string>
+     </property>
+     <property name="checkable">
+      <bool>false</bool>
+     </property>
+     <layout class="QGridLayout" name="gridLayout_2">
+      <item row="1" column="0" colspan="3">
+       <widget class="QTableWidget" name="mLayers">
+        <property name="alternatingRowColors">
+         <bool>true</bool>
+        </property>
+        <property name="sortingEnabled">
+         <bool>true</bool>
+        </property>
+        <column>
+         <property name="text">
+          <string>Layer</string>
+         </property>
+        </column>
+        <column>
+         <property name="text">
+          <string>Visible</string>
+         </property>
+        </column>
+       </widget>
+      </item>
+      <item row="0" column="2">
+       <widget class="QLineEdit" name="leLayerGroup"/>
+      </item>
+      <item row="0" column="0">
+       <widget class="QLabel" name="label_3">
+        <property name="text">
+         <string>Group name</string>
+        </property>
+        <property name="buddy">
+         <cstring>leLayerGroup</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="0" colspan="3">
+       <layout class="QHBoxLayout" name="horizontalLayout_3">
+        <item>
+         <widget class="QCheckBox" name="cbMergeLayers">
+          <property name="text">
+           <string>Merge layers</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pbDeselectAll">
+          <property name="text">
+           <string>Unselect all</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pbSelectAll">
+          <property name="text">
+           <string>Select all</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item row="0" column="0" colspan="2">
+    <widget class="QGroupBox" name="groupBox">
+     <property name="title">
+      <string>Import</string>
+     </property>
+     <layout class="QGridLayout" name="gridLayout_4">
+      <item row="1" column="1">
+       <widget class="QgsProjectionSelectionWidget" name="mCrsSelector" native="true">
+        <property name="focusPolicy">
+         <enum>Qt::StrongFocus</enum>
+        </property>
+       </widget>
+      </item>
+      <item row="3" column="1">
+       <layout class="QHBoxLayout" name="horizontalLayout_2">
+        <item>
+         <widget class="QLineEdit" name="leDrawing">
+          <property name="readOnly">
+           <bool>true</bool>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pbImportDrawing">
+          <property name="text">
+           <string>Reload</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pbBrowseDrawing">
+          <property name="text">
+           <string>Import</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item row="3" column="0">
+       <widget class="QLabel" name="label_2">
+        <property name="text">
+         <string>Drawing</string>
+        </property>
+        <property name="buddy">
+         <cstring>leDrawing</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="0">
+       <widget class="QLabel" name="label">
+        <property name="text">
+         <string>GeoPackage</string>
+        </property>
+        <property name="buddy">
+         <cstring>leDatabase</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="0">
+       <widget class="QLabel" name="label_4">
+        <property name="text">
+         <string>CRS</string>
+        </property>
+        <property name="buddy">
+         <cstring>mCrsSelector</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <item>
+         <widget class="QLineEdit" name="leDatabase">
+          <property name="readOnly">
+           <bool>true</bool>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pbBrowseDatabase">
+          <property name="text">
+           <string>...</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pbLoadDatabase">
+          <property name="text">
+           <string>Load layers</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item row="5" column="1">
+       <widget class="QLabel" name="lblMessage">
+        <property name="text">
+         <string notr="true">TextLabel</string>
+        </property>
+       </widget>
+      </item>
+      <item row="7" column="1">
+       <layout class="QHBoxLayout" name="horizontalLayout_4">
+        <item>
+         <widget class="QCheckBox" name="cbExpandInserts">
+          <property name="text">
+           <string>Expand block references</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QCheckBox" name="cbUseCurves">
+          <property name="text">
+           <string>Use curves</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>QgsProjectionSelectionWidget</class>
+   <extends>QWidget</extends>
+   <header>qgsprojectionselectionwidget.h</header>
+   <container>1</container>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>leDatabase</tabstop>
+  <tabstop>pbBrowseDatabase</tabstop>
+  <tabstop>pbLoadDatabase</tabstop>
+  <tabstop>mCrsSelector</tabstop>
+  <tabstop>leDrawing</tabstop>
+  <tabstop>pbImportDrawing</tabstop>
+  <tabstop>pbBrowseDrawing</tabstop>
+  <tabstop>leLayerGroup</tabstop>
+  <tabstop>mLayers</tabstop>
+  <tabstop>cbMergeLayers</tabstop>
+  <tabstop>pbDeselectAll</tabstop>
+  <tabstop>pbSelectAll</tabstop>
+  <tabstop>buttonBox</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>QgsDwgImportBase</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>QgsDwgImportBase</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/tests/src/gui/testqgsfiledownloader.cpp b/tests/src/gui/testqgsfiledownloader.cpp
index fa9a7dc..9ab5bd0 100644
--- a/tests/src/gui/testqgsfiledownloader.cpp
+++ b/tests/src/gui/testqgsfiledownloader.cpp
@@ -172,7 +172,7 @@ void TestQgsFileDownloader::testInValidDownload()
   QVERIFY( mError );
   QVERIFY( !mCanceled );
   QVERIFY( mTempFile->size() == 0 );
-  QCOMPARE( mErrorMessage, QString( "Network error 3: Host www.doesnotexistofthatimsure.qgis not found" ) );
+  QCOMPARE( mErrorMessage, QString( "Download failed: Host www.doesnotexistofthatimsure.qgis not found" ) );
 }
 
 void TestQgsFileDownloader::testCanceledDownload()
@@ -205,7 +205,7 @@ void TestQgsFileDownloader::testInvalidUrl()
   QVERIFY( !mCompleted );
   QVERIFY( mError );
   QVERIFY( !mCanceled );
-  QCOMPARE( mErrorMessage, QString( "Network error 301: Protocol \"xyz\" is unknown" ) );
+  QCOMPARE( mErrorMessage, QString( "Download failed: Protocol \"xyz\" is unknown" ) );
 }
 
 void TestQgsFileDownloader::testBlankUrl()
@@ -216,7 +216,7 @@ void TestQgsFileDownloader::testBlankUrl()
   QVERIFY( !mCompleted );
   QVERIFY( mError );
   QVERIFY( !mCanceled );
-  QCOMPARE( mErrorMessage, QString( "Network error 301: Protocol \"\" is unknown" ) );
+  QCOMPARE( mErrorMessage, QString( "Download failed: Protocol \"\" is unknown" ) );
 }
 
 #ifndef QT_NO_OPENSSL
@@ -225,9 +225,9 @@ void TestQgsFileDownloader::testSslError_data()
   QTest::addColumn<QString>( "url" );
   QTest::addColumn<QString>( "result" );
 
-  QTest::newRow( "expired" ) << "https://expired.badssl.com/" << "Network error 6: SSL handshake failed;SSL Errors: ;The certificate has expired";
-  QTest::newRow( "self-signed" ) << "https://self-signed.badssl.com/" << "Network error 6: SSL handshake failed;SSL Errors: ;The certificate is self-signed, and untrusted";
-  QTest::newRow( "untrusted-root" ) << "https://untrusted-root.badssl.com/" << "Network error 6: SSL handshake failed;No certificates could be verified;SSL Errors: ;The issuer certificate of a locally looked up certificate could not be found;The root CA certificate is not trusted for this purpose";
+  QTest::newRow( "expired" ) << "https://expired.badssl.com/" << "SSL Errors: ;The certificate has expired";
+  QTest::newRow( "self-signed" ) << "https://self-signed.badssl.com/" << "SSL Errors: ;The certificate is self-signed, and untrusted";
+  QTest::newRow( "untrusted-root" ) << "https://untrusted-root.badssl.com/" << "No certificates could be verified;SSL Errors: ;The issuer certificate of a locally looked up certificate could not be found;The root CA certificate is not trusted for this purpose";
 }
 
 void TestQgsFileDownloader::testSslError()
diff --git a/tests/src/python/test_qgsfiledownloader.py b/tests/src/python/test_qgsfiledownloader.py
index 776ad49..0fe3b09 100644
--- a/tests/src/python/test_qgsfiledownloader.py
+++ b/tests/src/python/test_qgsfiledownloader.py
@@ -78,7 +78,7 @@ class TestQgsFileDownloader(unittest.TestCase):
         self.assertTrue(self.progress_was_called)
         self.assertFalse(self.canceled_was_called)
         self.assertTrue(self.error_was_called)
-        self.assertEqual(self.error_args[1], [u'Network error 3: Host www.doesnotexistofthatimsure.qgis not found'])
+        self.assertEqual(self.error_args[1], [u'Download failed: Host www.doesnotexistofthatimsure.qgis not found'])
         self.assertFalse(os.path.isfile(destination))
 
     def test_dowloadCanceled(self):
@@ -99,7 +99,7 @@ class TestQgsFileDownloader(unittest.TestCase):
         self.assertFalse(self.canceled_was_called)
         self.assertTrue(self.error_was_called)
         self.assertFalse(os.path.isfile(destination))
-        self.assertEqual(self.error_args[1], [u"Network error 301: Protocol \"xyz\" is unknown"])
+        self.assertEqual(self.error_args[1], [u"Download failed: Protocol \"xyz\" is unknown"])
 
     def test_InvalidFile(self):
         self._make_download('https://github.com/qgis/QGIS/archive/master.zip', "")
@@ -117,7 +117,7 @@ class TestQgsFileDownloader(unittest.TestCase):
         self.assertFalse(self.canceled_was_called)
         self.assertTrue(self.error_was_called)
         self.assertFalse(os.path.isfile(destination))
-        self.assertEqual(self.error_args[1], [u"Network error 301: Protocol \"\" is unknown"])
+        self.assertEqual(self.error_args[1], [u"Download failed: Protocol \"\" is unknown"])
 
     def ssl_compare(self, name, url, error):
         destination = tempfile.mktemp()
@@ -130,12 +130,12 @@ class TestQgsFileDownloader(unittest.TestCase):
         self.assertFalse(os.path.isfile(destination), msg)
         result = sorted(self.error_args[1])
         result = ';'.join(result)
-        self.assertEqual(result, error, msg + "expected:\n%s\nactual:\n%s\n" % (result, error))
+        self.assertEqual(result, error, msg + "expected:\n%s\nactual:\n%s\n" % (error, result))
 
     def test_sslExpired(self):
-        self.ssl_compare("expired", "https://expired.badssl.com/", "Network error 6: SSL handshake failed;SSL Errors: ;The certificate has expired")
-        self.ssl_compare("self-signed", "https://self-signed.badssl.com/", "Network error 6: SSL handshake failed;SSL Errors: ;The certificate is self-signed, and untrusted")
-        self.ssl_compare("untrusted-root", "https://untrusted-root.badssl.com/", "Network error 6: SSL handshake failed;No certificates could be verified;SSL Errors: ;The issuer certificate of a locally looked up certificate could not be found;The root CA certificate is not trusted for this purpose")
+        self.ssl_compare("expired", "https://expired.badssl.com/", "SSL Errors: ;The certificate has expired")
+        self.ssl_compare("self-signed", "https://self-signed.badssl.com/", "SSL Errors: ;The certificate is self-signed, and untrusted")
+        self.ssl_compare("untrusted-root", "https://untrusted-root.badssl.com/", "No certificates could be verified;SSL Errors: ;The issuer certificate of a locally looked up certificate could not be found;The root CA certificate is not trusted for this purpose")
 
     def _set_slot(self, *args, **kwargs):
         #print('_set_slot(%s) called' % args[0])
diff --git a/tests/src/python/test_qgsserver.py b/tests/src/python/test_qgsserver.py
index c9beb68..454fd0b 100644
--- a/tests/src/python/test_qgsserver.py
+++ b/tests/src/python/test_qgsserver.py
@@ -36,6 +36,10 @@ class TestQgsServer(unittest.TestCase):
     def setUp(self):
         """Create the server instance"""
         self.testdata_path = unitTestDataPath('qgis_server') + '/'
+
+        d = unitTestDataPath('qgis_server_accesscontrol') + '/'
+        self.projectPath = os.path.join(d, "project.qgs")
+
         # Clean env just to be sure
         env_vars = ['QUERY_STRING', 'QGIS_PROJECT_FILE']
         for ev in env_vars:
@@ -423,6 +427,132 @@ class TestQgsServer(unittest.TestCase):
         r, h = self._result(self.server.handleRequest(qs))
         self._img_diff_error(r, h, "WMS_GetLegendGraphic_test_layertitle_false", 250, QSize(10, 10))
 
+    def test_wms_GetLegendGraphic_Basic(self):
+        qs = "&".join(["%s=%s" % i for i in list({
+            "MAP": urllib.quote(self.projectPath),
+            "SERVICE": "WMS",
+            "VERSION": "1.1.1",
+            "REQUEST": "GetLegendGraphic",
+            "LAYER": "Country,Hello",
+            "LAYERTITLE": "FALSE",
+            "FORMAT": "image/png",
+            "HEIGHT": "500",
+            "WIDTH": "500",
+            "CRS": "EPSG:3857"
+        }.items())])
+
+        r, h = self._result(self.server.handleRequest(qs))
+        self._img_diff_error(r, h, "WMS_GetLegendGraphic_Basic")
+
+    def test_wms_GetLegendGraphic_BoxSpace(self):
+        qs = "&".join(["%s=%s" % i for i in list({
+            "MAP": urllib.quote(self.projectPath),
+            "SERVICE": "WMS",
+            "VERSION": "1.1.1",
+            "REQUEST": "GetLegendGraphic",
+            "LAYER": "Country,Hello",
+            "LAYERTITLE": "FALSE",
+            "BOXSPACE": "100",
+            "FORMAT": "image/png",
+            "HEIGHT": "500",
+            "WIDTH": "500",
+            "CRS": "EPSG:3857"
+        }.items())])
+
+        r, h = self._result(self.server.handleRequest(qs))
+        self._img_diff_error(r, h, "WMS_GetLegendGraphic_BoxSpace")
+
+    def test_wms_GetLegendGraphic_SymbolSpace(self):
+        qs = "&".join(["%s=%s" % i for i in list({
+            "MAP": urllib.quote(self.projectPath),
+            "SERVICE": "WMS",
+            "VERSION": "1.1.1",
+            "REQUEST": "GetLegendGraphic",
+            "LAYER": "Country,Hello",
+            "LAYERTITLE": "FALSE",
+            "SYMBOLSPACE": "100",
+            "FORMAT": "image/png",
+            "HEIGHT": "500",
+            "WIDTH": "500",
+            "CRS": "EPSG:3857"
+        }.items())])
+
+        r, h = self._result(self.server.handleRequest(qs))
+        self._img_diff_error(r, h, "WMS_GetLegendGraphic_SymbolSpace")
+
+    def test_wms_GetLegendGraphic_IconLabelSpace(self):
+        qs = "&".join(["%s=%s" % i for i in list({
+            "MAP": urllib.quote(self.projectPath),
+            "SERVICE": "WMS",
+            "VERSION": "1.1.1",
+            "REQUEST": "GetLegendGraphic",
+            "LAYER": "Country,Hello",
+            "LAYERTITLE": "FALSE",
+            "ICONLABELSPACE": "100",
+            "FORMAT": "image/png",
+            "HEIGHT": "500",
+            "WIDTH": "500",
+            "CRS": "EPSG:3857"
+        }.items())])
+
+        r, h = self._result(self.server.handleRequest(qs))
+        self._img_diff_error(r, h, "WMS_GetLegendGraphic_IconLabelSpace")
+
+    def test_wms_GetLegendGraphic_SymbolSize(self):
+        qs = "&".join(["%s=%s" % i for i in list({
+            "MAP": urllib.quote(self.projectPath),
+            "SERVICE": "WMS",
+            "VERSION": "1.1.1",
+            "REQUEST": "GetLegendGraphic",
+            "LAYER": "Country,Hello",
+            "LAYERTITLE": "FALSE",
+            "SYMBOLWIDTH": "50",
+            "SYMBOLHEIGHT": "30",
+            "FORMAT": "image/png",
+            "HEIGHT": "500",
+            "WIDTH": "500",
+            "CRS": "EPSG:3857"
+        }.items())])
+
+        r, h = self._result(self.server.handleRequest(qs))
+        self._img_diff_error(r, h, "WMS_GetLegendGraphic_SymbolSize")
+
+    def test_wms_GetLegendGraphic_BBox(self):
+        qs = "&".join(["%s=%s" % i for i in list({
+            "MAP": urllib.quote(self.projectPath),
+            "SERVICE": "WMS",
+            "VERSION": "1.1.1",
+            "REQUEST": "GetLegendGraphic",
+            "LAYER": "Country,Hello,db_point",
+            "LAYERTITLE": "FALSE",
+            "FORMAT": "image/png",
+            "HEIGHT": "500",
+            "WIDTH": "500",
+            "BBOX": "-151.7,-38.9,51.0,78.0",
+            "CRS": "EPSG:4326"
+        }.items())])
+
+        r, h = self._result(self.server.handleRequest(qs))
+        self._img_diff_error(r, h, "WMS_GetLegendGraphic_BBox")
+
+    def test_wms_GetLegendGraphic_BBox2(self):
+        qs = "&".join(["%s=%s" % i for i in list({
+            "MAP": urllib.quote(self.projectPath),
+            "SERVICE": "WMS",
+            "VERSION": "1.1.1",
+            "REQUEST": "GetLegendGraphic",
+            "LAYER": "Country,Hello,db_point",
+            "LAYERTITLE": "FALSE",
+            "FORMAT": "image/png",
+            "HEIGHT": "500",
+            "WIDTH": "500",
+            "BBOX": "-76.08,-6.4,-19.38,38.04",
+            "SRS": "EPSG:4326"
+        }.items())])
+
+        r, h = self._result(self.server.handleRequest(qs))
+        self._img_diff_error(r, h, "WMS_GetLegendGraphic_BBox2")
+
     def _result(self, data):
         headers = {}
         for line in data[0].decode('UTF-8').split("\n"):
diff --git a/tests/src/python/test_qgsserver_accesscontrol.py b/tests/src/python/test_qgsserver_accesscontrol.py
index 04338b7..8f1e9fa 100644
--- a/tests/src/python/test_qgsserver_accesscontrol.py
+++ b/tests/src/python/test_qgsserver_accesscontrol.py
@@ -295,7 +295,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "LAYERS": "Country,Hello",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857"
@@ -312,7 +312,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "LAYERS": "Hello",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857"
@@ -328,7 +328,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "LAYERS": "Country",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857"
@@ -352,7 +352,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "QUERY_LAYERS": "Hello",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857",
@@ -391,7 +391,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "QUERY_LAYERS": "Hello",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857",
@@ -421,7 +421,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "QUERY_LAYERS": "Country",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857",
@@ -843,7 +843,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "LAYERS": "Country,Hello_SubsetString",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857"
@@ -860,7 +860,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "LAYERS": "Hello_SubsetString",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857"
@@ -883,7 +883,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "FILTER": "Hello_Filter_SubsetString:\"pkuid\" IN ( 7 , 8 )",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857"
@@ -901,7 +901,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "FILTER": "Hello_Filter_SubsetString:\"pkuid\" IN ( 7 , 8 )",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857"
@@ -920,7 +920,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "LAYERS": "Hello_Project_SubsetString",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857"
@@ -937,7 +937,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "LAYERS": "Hello_Project_SubsetString",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857"
@@ -955,7 +955,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "QUERY_LAYERS": "Hello_SubsetString",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857",
@@ -991,7 +991,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "QUERY_LAYERS": "Hello_SubsetString",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857",
@@ -1027,7 +1027,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "QUERY_LAYERS": "Hello_Project_SubsetString",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857",
@@ -1136,7 +1136,7 @@ class TestQgsServerAccessControl(unittest.TestCase):
             "FILTER": "Hello_Filter_SubsetString:\"pkuid\" IN ( 7 , 8 )",
             "STYLES": "",
             "FORMAT": "image/png",
-            "BBOX": "-16817707,-4710778,5696513,14587125",
+            "BBOX": "-16817707,-6318936.5,5696513,16195283.5",
             "HEIGHT": "500",
             "WIDTH": "500",
             "SRS": "EPSG:3857",
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_BBox/WMS_GetLegendGraphic_BBox.png b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_BBox/WMS_GetLegendGraphic_BBox.png
new file mode 100644
index 0000000..8b720ab
Binary files /dev/null and b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_BBox/WMS_GetLegendGraphic_BBox.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_BBox2/WMS_GetLegendGraphic_BBox2.png b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_BBox2/WMS_GetLegendGraphic_BBox2.png
new file mode 100644
index 0000000..131d528
Binary files /dev/null and b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_BBox2/WMS_GetLegendGraphic_BBox2.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_Basic/WMS_GetLegendGraphic_Basic.png b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_Basic/WMS_GetLegendGraphic_Basic.png
new file mode 100644
index 0000000..131d528
Binary files /dev/null and b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_Basic/WMS_GetLegendGraphic_Basic.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_BoxSpace/WMS_GetLegendGraphic_BoxSpace.png b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_BoxSpace/WMS_GetLegendGraphic_BoxSpace.png
new file mode 100644
index 0000000..0c8e440
Binary files /dev/null and b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_BoxSpace/WMS_GetLegendGraphic_BoxSpace.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_IconLabelSpace/WMS_GetLegendGraphic_IconLabelSpace.png b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_IconLabelSpace/WMS_GetLegendGraphic_IconLabelSpace.png
new file mode 100644
index 0000000..b300268
Binary files /dev/null and b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_IconLabelSpace/WMS_GetLegendGraphic_IconLabelSpace.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_SymbolSize/WMS_GetLegendGraphic_SymbolSize.png b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_SymbolSize/WMS_GetLegendGraphic_SymbolSize.png
new file mode 100644
index 0000000..7a49f43
Binary files /dev/null and b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_SymbolSize/WMS_GetLegendGraphic_SymbolSize.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_SymbolSpace/WMS_GetLegendGraphic_SymbolSpace.png b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_SymbolSpace/WMS_GetLegendGraphic_SymbolSpace.png
new file mode 100644
index 0000000..dcab569
Binary files /dev/null and b/tests/testdata/control_images/qgis_server/WMS_GetLegendGraphic_SymbolSpace/WMS_GetLegendGraphic_SymbolSpace.png differ
diff --git a/tests/testdata/dwg/entities.dwg b/tests/testdata/dwg/entities.dwg
new file mode 100644
index 0000000..acb40ba
Binary files /dev/null and b/tests/testdata/dwg/entities.dwg differ
diff --git a/tests/testdata/qgis_server/getcapabilities.txt b/tests/testdata/qgis_server/getcapabilities.txt
index 327c7ef..1a22cc9 100644
--- a/tests/testdata/qgis_server/getcapabilities.txt
+++ b/tests/testdata/qgis_server/getcapabilities.txt
@@ -97,11 +97,12 @@ Content-Type: text/xml; charset=utf-8
    </qgs:GetStyles>
   </Request>
   <Exception>
-   <Format>text/xml</Format>
+   <Format>XML</Format>
   </Exception>
   <Layer queryable="1">
    <Name>QGIS Test Project</Name>
    <Title>QGIS Test Project</Title>
+   <CRS>CRS:84</CRS>
    <CRS>EPSG:4326</CRS>
    <CRS>EPSG:3857</CRS>
    <EX_GeographicBoundingBox>
@@ -116,6 +117,7 @@ Content-Type: text/xml; charset=utf-8
     <Name>testlayer èé</Name>
     <Title>A test vector layer</Title>
     <Abstract>A test vector layer with unicode òà</Abstract>
+    <CRS>CRS:84</CRS>
     <CRS>EPSG:4326</CRS>
     <CRS>EPSG:3857</CRS>
     <EX_GeographicBoundingBox>
diff --git a/tests/testdata/qgis_server/getcapabilities_inspire.txt b/tests/testdata/qgis_server/getcapabilities_inspire.txt
index da2f31d..d71d302 100644
--- a/tests/testdata/qgis_server/getcapabilities_inspire.txt
+++ b/tests/testdata/qgis_server/getcapabilities_inspire.txt
@@ -97,7 +97,7 @@ Content-Type: text/xml; charset=utf-8
    </qgs:GetStyles>
   </Request>
   <Exception>
-   <Format>text/xml</Format>
+   <Format>XML</Format>
   </Exception>
   <sld:UserDefinedSymbolization RemoteWFS="0" RemoteWCS="0" InlineFeature="0" UserStyle="1" SupportSLD="1" UserLayer="0"/>
   <inspire_vs:ExtendedCapabilities>
@@ -123,6 +123,7 @@ Content-Type: text/xml; charset=utf-8
   <Layer queryable="1">
    <Name>QGIS Test Project</Name>
    <Title>QGIS Test Project</Title>
+   <CRS>CRS:84</CRS>
    <CRS>EPSG:4326</CRS>
    <CRS>EPSG:3857</CRS>
    <EX_GeographicBoundingBox>
@@ -137,6 +138,7 @@ Content-Type: text/xml; charset=utf-8
     <Name>testlayer èé</Name>
     <Title>A test vector layer</Title>
     <Abstract>A test vector layer with unicode òà</Abstract>
+    <CRS>CRS:84</CRS>
     <CRS>EPSG:4326</CRS>
     <CRS>EPSG:3857</CRS>
     <EX_GeographicBoundingBox>
diff --git a/tests/testdata/qgis_server/getprojectsettings.txt b/tests/testdata/qgis_server/getprojectsettings.txt
index aa4bf98..22bf223 100644
--- a/tests/testdata/qgis_server/getprojectsettings.txt
+++ b/tests/testdata/qgis_server/getprojectsettings.txt
@@ -109,7 +109,7 @@ Content-Type: text/xml; charset=utf-8
    </GetPrint>
   </Request>
   <Exception>
-   <Format>text/xml</Format>
+   <Format>XML</Format>
   </Exception>
   <sld:UserDefinedSymbolization RemoteWFS="0" RemoteWCS="0" InlineFeature="0" UserStyle="1" SupportSLD="1" UserLayer="0"/>
   <WFSLayers>
@@ -118,6 +118,7 @@ Content-Type: text/xml; charset=utf-8
   <Layer queryable="1">
    <Name>QGIS Test Project</Name>
    <Title>QGIS Test Project</Title>
+   <CRS>CRS:84</CRS>
    <CRS>EPSG:4326</CRS>
    <CRS>EPSG:3857</CRS>
    <EX_GeographicBoundingBox>
@@ -133,6 +134,7 @@ Content-Type: text/xml; charset=utf-8
     <Name>testlayer èé</Name>
     <Title>A test vector layer</Title>
     <Abstract>A test vector layer with unicode òà</Abstract>
+    <CRS>CRS:84</CRS>
     <CRS>EPSG:4326</CRS>
     <CRS>EPSG:3857</CRS>
     <EX_GeographicBoundingBox>
diff --git a/tests/testdata/qgis_server/wfs_getcapabilities.txt b/tests/testdata/qgis_server/wfs_getcapabilities.txt
index 2a7714c..420df60 100644
--- a/tests/testdata/qgis_server/wfs_getcapabilities.txt
+++ b/tests/testdata/qgis_server/wfs_getcapabilities.txt
@@ -7,7 +7,7 @@ Content-Type: text/xml; charset=utf-8
   <Title>QGIS TestProject</Title>
   <Abstract>Some UTF8 text èòù</Abstract>
   <OnlineResource></OnlineResource>
-  <Fees>conditions unknown</Fees>
+  <Fees>None</Fees>
   <AccessConstraints>None</AccessConstraints>
  </Service>
  <Capability>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/qgis.git



More information about the Pkg-grass-devel mailing list