summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Varshavchik2020-07-03 16:50:10 -0400
committerSam Varshavchik2020-07-12 15:56:45 -0400
commit195a98e0dfef34d997a5bca76fac3a81e3ad67bc (patch)
tree79427212117d640814a42f0f94a62412593aff86
parent0c23605497ed7b423169e07c53321877ddf6614b (diff)
downloadcourier-libs-195a98e0dfef34d997a5bca76fac3a81e3ad67bc.tar.bz2
Unicode 13 update.
-rw-r--r--unicode/.gitignore1
-rw-r--r--unicode/ChangeLog8
-rw-r--r--unicode/Makefile.am46
-rw-r--r--unicode/courier-unicode-script-tab.h27
-rw-r--r--unicode/courier-unicode.h.in83
-rw-r--r--unicode/eastasianwidth.h2263
-rw-r--r--unicode/emojitab.h1211
-rw-r--r--unicode/graphemebreaktab.h7438
-rw-r--r--unicode/graphemetest.c14
-rw-r--r--unicode/linebreaktab.h7166
-rw-r--r--unicode/linebreaktab_internal.h3
-rw-r--r--unicode/linebreaktest.C1
-rw-r--r--unicode/mkeastasianwidth.pl90
-rw-r--r--unicode/mkemojidata.pl51
-rw-r--r--unicode/mklinebreak.pl2
-rw-r--r--unicode/scriptstab.h7122
-rw-r--r--unicode/unicode_emoji.c90
-rw-r--r--unicode/unicode_graphemebreak.c76
-rw-r--r--unicode/unicode_linebreak.c516
-rw-r--r--unicode/unicode_ultcasetab.c1348
-rw-r--r--unicode/unicode_wcwidth.c22
-rw-r--r--unicode/unicode_wordbreak.c529
-rw-r--r--unicode/wordbreaktab.h7472
-rw-r--r--unicode/wordbreaktab_internal.h4
-rw-r--r--unicode/wordbreaktest.C16
25 files changed, 20533 insertions, 15066 deletions
diff --git a/unicode/.gitignore b/unicode/.gitignore
index 321acf4..d16876a 100644
--- a/unicode/.gitignore
+++ b/unicode/.gitignore
@@ -12,6 +12,7 @@
/Unihan.zip
/WordBreakProperty.txt
/WordBreakTest.txt
+/emoji-data.txt
/config.cache
/config.guess
/config.sub
diff --git a/unicode/ChangeLog b/unicode/ChangeLog
index 43cfa1e..276da6b 100644
--- a/unicode/ChangeLog
+++ b/unicode/ChangeLog
@@ -1,3 +1,11 @@
+2020-07-04 Sam Varshavchik <mrsam@courier-mta.com>
+
+ * Unicode 13 update. Adds lookup of EastAsianWidth property, emoji
+ property lookup, adds an alternative sequence-based grapheme API
+ that handles multi-character emoji rules.
+
+2.1
+
2020-04-21 Sam Varshavchik <mrsam@courier-mta.com>
* Add AC_PROG_CC_C99 to configure
diff --git a/unicode/Makefile.am b/unicode/Makefile.am
index 52d12df..703cf64 100644
--- a/unicode/Makefile.am
+++ b/unicode/Makefile.am
@@ -9,6 +9,7 @@ AM_CXXFLAGS= @COURIER_UNICODE_CXXFLAGS@
noinst_SCRIPTS=update.sh \
mkultcase.pl unicodefilter.pl \
mkeastasianwidth.pl \
+ mkemojidata.pl \
mkgraphemebreak.pl mklinebreak.pl mkwordbreak.pl mkcommon.pm \
mkhtmlent.pl
@@ -22,6 +23,7 @@ update-www:
@$(MAKE) update-www-unicode
@$(MAKE) update-www-eastasia
@$(MAKE) update-www-grapheme
+ @$(MAKE) update-www-emojidata
@$(MAKE) update-www-linebreak
@$(MAKE) update-www-wordbreak
@$(MAKE) update-www-scripts
@@ -38,6 +40,9 @@ update-www-eastasia:
update-www-grapheme:
@SHELL@ $(srcdir)/update.sh GraphemeBreakProperty.txt http://www.unicode.org/Public/UNIDATA/auxiliary/GraphemeBreakProperty.txt
+update-www-emojidata:
+ @SHELL@ $(srcdir)/update.sh emoji-data.txt https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt
+
update-www-linebreak:
@SHELL@ $(srcdir)/update.sh LineBreak.txt http://www.unicode.org/Public/UNIDATA/LineBreak.txt
@SHELL@ $(srcdir)/update.sh LineBreakTest.txt http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt
@@ -78,6 +83,7 @@ libcourier_unicode_la_SOURCES=\
unicode_htmlent.c unicode_htmlent.h \
linebreaktab_internal.h \
unicode_wordbreak.c wordbreaktab.h scriptstab.h \
+ unicode_emoji.c emojitab.h \
wordbreaktab_internal.h \
unicode_scripts.c \
categoriestab.h \
@@ -91,34 +97,48 @@ EXTRA_DIST=$(noinst_SCRIPTS) $(man_MANS) $(PACKAGE).spec \
if UPDATE_UNICODE
+BUILT_SOURCES=unicode_ultcasetab.c \
+ eastasianwidth.h \
+ graphemebreaktab.h \
+ linebreaktab.h \
+ wordbreaktab.h \
+ emojitab.h \
+ scriptstab.h \
+ categoriestab.h \
+ unicode_htmlent.h
+
unicode_ultcasetab.c: UnicodeData.txt mkultcase.pl
- @PERL@ $(srcdir)/mkultcase.pl >unicode_ultcasetab.c
+ @PERL@ -I$(srcdir) $(srcdir)/mkultcase.pl >unicode_ultcasetab.c
eastasianwidth.h: EastAsianWidth.txt mkeastasianwidth.pl
- @PERL@ $(srcdir)/mkeastasianwidth.pl >eastasianwidth.h
+ @PERL@ -I$(srcdir) $(srcdir)/mkeastasianwidth.pl >eastasianwidth.h
graphemebreaktab.h: GraphemeBreakProperty.txt mkgraphemebreak.pl mkcommon.pm
- @PERL@ $(srcdir)/mkgraphemebreak.pl >graphemebreaktab.h.tmp
+ @PERL@ -I$(srcdir) $(srcdir)/mkgraphemebreak.pl >graphemebreaktab.h.tmp
mv graphemebreaktab.h.tmp graphemebreaktab.h
linebreaktab.h: LineBreak.txt UnicodeData.txt mklinebreak.pl mkcommon.pm
- @PERL@ $(srcdir)/mklinebreak.pl >linebreaktab.h.tmp
+ @PERL@ -I$(srcdir) $(srcdir)/mklinebreak.pl >linebreaktab.h.tmp
mv linebreaktab.h.tmp linebreaktab.h
wordbreaktab.h: WordBreakProperty.txt mkwordbreak.pl mkcommon.pm
- @PERL@ $(srcdir)/mkwordbreak.pl >wordbreaktab.h.tmp
+ @PERL@ -I$(srcdir) $(srcdir)/mkwordbreak.pl >wordbreaktab.h.tmp
mv wordbreaktab.h.tmp wordbreaktab.h
+emojitab.h: emoji-data.txt mkemojidata.pl
+ @PERL@ -I$(srcdir) $(srcdir)/mkemojidata.pl >emojitab.h.tmp
+ mv emojitab.h.tmp emojitab.h
+
scriptstab.h: Scripts.txt mkscripts.pl mkcommon.pm
- @PERL@ $(srcdir)/mkscripts.pl >scriptstab.h.tmp
+ @PERL@ -I$(srcdir) $(srcdir)/mkscripts.pl >scriptstab.h.tmp
mv scriptstab.h.tmp scriptstab.h
categoriestab.h: Categories.txt mkcategories.pl mkcommon.pm
- @PERL@ $(srcdir)/mkcategories.pl >categoriestab.h.tmp
+ @PERL@ -I$(srcdir) $(srcdir)/mkcategories.pl >categoriestab.h.tmp
mv categoriestab.h.tmp categoriestab.h
unicode_htmlent.h: xhtml-lat1.ent xhtml-special.ent xhtml-symbol.ent mkhtmlent.pl
- @PERL@ $(srcdir)/mkhtmlent.pl >unicode_htmlent.h.tmp
+ @PERL@ -I$(srcdir) $(srcdir)/mkhtmlent.pl >unicode_htmlent.h.tmp
mv unicode_htmlent.h.tmp unicode_htmlent.h
endif
@@ -211,10 +231,12 @@ check-am: unicodetest
test "`./graphemetest 0x0041 0x036F`" = "0" # GB9
test "`./graphemetest 0x0041 0x0903`" = "0" # GB9a
test "`./graphemetest 0x0041 0xAABB`" = "1"
- test "`./graphemetest 0x036F 0x0041`" = "1"
+ test "`./graphemetest 0x036F 0x0041`" = "0"
test "`./graphemetest 0x0903 0x0041`" = "1"
- exit 0; test "`./graphemetest 0xAABB 0x0041`" = "0" # GB9b N/A
- test "`./graphemetest 0x0041 0x0041`" = "1"
+ test "`./graphemetest 0x0600 0x0041`" = "0" # GB9b
+ test "`./graphemetest 0x1F1E6 0x1f1FF`" = "0" # GB12, GB31
+ test "`./graphemetest 0x1F1E6 0x1F1E7 0x1f1FF`" = "1" # GB12, GB31
+ test "`./graphemetest 0x0041 0x0041`" = "1" # GB999
if HAVE_DOCS
@@ -295,7 +317,7 @@ dorpm:
bump.rpm.release: $(PACKAGE).spec
VERSION="x"; \
test -f $(srcdir)/rpm.release && . $(srcdir)/rpm.release; \
- NEXT_RELEASE=0; \
+ NEXT_RELEASE=100; \
test "$$VERSION" = "@VERSION@" && NEXT_RELEASE="$$RELEASE"; \
RELEASE=`expr $$NEXT_RELEASE + 1`; \
echo "VERSION=@VERSION@" >$(srcdir)/rpm.release; \
diff --git a/unicode/courier-unicode-script-tab.h b/unicode/courier-unicode-script-tab.h
index c22eef0..6df1efd 100644
--- a/unicode/courier-unicode-script-tab.h
+++ b/unicode/courier-unicode-script-tab.h
@@ -129,4 +129,29 @@
unicode_script_hatran,
unicode_script_multani,
unicode_script_old_hungarian,
- unicode_script_signwriting
+ unicode_script_signwriting,
+ unicode_script_adlam,
+ unicode_script_bhaiksuki,
+ unicode_script_marchen,
+ unicode_script_newa,
+ unicode_script_osage,
+ unicode_script_tangut,
+ unicode_script_masaram_gondi,
+ unicode_script_nushu,
+ unicode_script_soyombo,
+ unicode_script_zanabazar_square,
+ unicode_script_dogra,
+ unicode_script_gunjala_gondi,
+ unicode_script_makasar,
+ unicode_script_medefaidrin,
+ unicode_script_hanifi_rohingya,
+ unicode_script_sogdian,
+ unicode_script_old_sogdian,
+ unicode_script_elymaic,
+ unicode_script_nandinagari,
+ unicode_script_nyiakeng_puachue_hmong,
+ unicode_script_wancho,
+ unicode_script_chorasmian,
+ unicode_script_dives_akuru,
+ unicode_script_khitan_small_script,
+ unicode_script_yezidi
diff --git a/unicode/courier-unicode.h.in b/unicode/courier-unicode.h.in
index 085f085..4bcd935 100644
--- a/unicode/courier-unicode.h.in
+++ b/unicode/courier-unicode.h.in
@@ -75,6 +75,24 @@ extern char32_t unicode_tc(char32_t);
char32_t unicode_html40ent_lookup(const char *n);
/*
+** East Asian Width lookup.
+**
+** unicode_eastasia looks up the EastAsianWidth property for the given
+** Unicode character.
+*/
+
+#define UNICODE_EASTASIA_A 'A' /* Ambiguous */
+#define UNICODE_EASTASIA_F 'F' /* Full width */
+#define UNICODE_EASTASIA_H 'H' /* Half width */
+#define UNICODE_EASTASIA_N '/' /* Unassigned */
+#define UNICODE_EASTASIA_Na 'N' /* Narrow */
+#define UNICODE_EASTASIA_W 'W' /* Wide */
+
+typedef char unicode_eastasia_t;
+
+unicode_eastasia_t unicode_eastasia(char32_t);
+
+/*
**
** Return "width" of unicode character.
**
@@ -181,15 +199,66 @@ extern int unicode_islower(char32_t ch);
extern int unicode_isupper(char32_t ch);
/*
+** Implementation of Unicode emoji classification, as per
+** http://www.unicode.org/reports/tr51/tr51-18.html
+**
+** Given a char32_t, returns the character's emoji value, which is a bitmask:
+**
+*/
+
+#define UNICODE_EMOJI_NONE 0
+#define UNICODE_EMOJI 1
+#define UNICODE_EMOJI_PRESENTATION 2
+#define UNICODE_EMOJI_MODIFIER 4
+#define UNICODE_EMOJI_MODIFIER_BASE 8
+#define UNICODE_EMOJI_COMPONENT 16
+#define UNICODE_EMOJI_EXTENDED_PICTOGRAPHIC 32
+
+typedef unsigned char unicode_emoji_t;
+
+extern unicode_emoji_t unicode_emoji_lookup(char32_t);
+
+/* Look up just one of the properties, returns non-0 if the char has it */
+
+extern int unicode_emoji(char32_t);
+extern int unicode_emoji_presentation(char32_t);
+extern int unicode_emoji_modifier(char32_t);
+extern int unicode_emoji_modifier_base(char32_t);
+extern int unicode_emoji_component(char32_t);
+extern int unicode_emoji_extended_pictographic(char32_t);
+
+/*
** Implementation of grapheme cluster boundary rules, as per
-** http://www.unicode.org/reports/tr29/tr29-27.html
+** http://www.unicode.org/reports/tr29/tr29-37.html
** including GB9a and GB9b.
**
-** Returns non-zero if there's a grapheme break between the two referenced
-** characters.
+** unicode_grapheme_break_init() allocates an opaque
+** unicode_grapheme_break_info_t handle, and
+** unicode_grapheme_break_destroy() destroys it.
+**
+** Passing the handle to unicode_grapheme_break_next() returns non-0 if
+** there's a grapheme break before the given character (and after the
+** character that got passed in the previous call).
+**
+** The first call to unicode_grapheme_break_next() returns 1, as per GB1.
+**
+** unicode_grapheme_break() is a simplified interface that returns non-0
+** if there is a grapheme break between the two characters. This simplified
+** interface is equivalent to calling unicode_grapheme_break_init(),
+** followed by two calls to unicode_grapheme_break_next(), and finally
+** unicode_grapheme_break_deinit(), and returns the result of the second
+** call to unicode_grapheme_break_next().
*/
-int unicode_grapheme_break(char32_t a, char32_t b);
+struct unicode_grapheme_break_info_s;
+
+typedef struct unicode_grapheme_break_info_s *unicode_grapheme_break_info_t;
+
+extern unicode_grapheme_break_info_t unicode_grapheme_break_init();
+extern int unicode_grapheme_break_next(unicode_grapheme_break_info_t, char32_t);
+extern void unicode_grapheme_break_deinit(unicode_grapheme_break_info_t);
+
+extern int unicode_grapheme_break(char32_t a, char32_t b);
typedef enum {
@@ -199,14 +268,14 @@ typedef enum {
/*
** Look up the unicode script property, as per
-** http://www.unicode.org/reports/tr24/tr24-24.html
+** http://www.unicode.org/reports/tr24/tr24-31.html
*/
unicode_script_t unicode_script(char32_t a);
/*
** Implementation of line break rules, as per
-** http://www.unicode.org/reports/tr14/tr14-35.html
+** http://www.unicode.org/reports/tr14/tr14-45.html
**
** Invoke unicode_lb_init() to initialize the linebreaking algorithm. The
** first parameter is a callback function that gets invoked with two
@@ -365,7 +434,7 @@ extern void unicode_lbc_set_opts(unicode_lbc_info_t i, int opts);
/*
** Implemention of word break rules, as per
-** http://www.unicode.org/reports/tr29/tr29-27.html
+** http://www.unicode.org/reports/tr29/tr29-37.html
**
** Invoke unicode_wb_init() to initialize the wordbreaking algorithm. The
** first parameter is a callback function that gets invoked with two
diff --git a/unicode/eastasianwidth.h b/unicode/eastasianwidth.h
index 456b04b..943fc2b 100644
--- a/unicode/eastasianwidth.h
+++ b/unicode/eastasianwidth.h
@@ -1,37 +1,2280 @@
-static const char32_t unicode_wcwidth_tab[][2]={
+static const char32_t unicode_eastasia_tab[][2]={
+{0x0000, 0x001f},
+{0x0020, 0x007e},
+{0x007f, 0x00a0},
+{0x00a1, 0x00a1},
+{0x00a2, 0x00a3},
+{0x00a4, 0x00a4},
+{0x00a5, 0x00a6},
+{0x00a7, 0x00a8},
+{0x00a9, 0x00a9},
+{0x00aa, 0x00aa},
+{0x00ab, 0x00ab},
+{0x00ac, 0x00ac},
+{0x00ad, 0x00ae},
+{0x00af, 0x00af},
+{0x00b0, 0x00b4},
+{0x00b5, 0x00b5},
+{0x00b6, 0x00ba},
+{0x00bb, 0x00bb},
+{0x00bc, 0x00bf},
+{0x00c0, 0x00c5},
+{0x00c6, 0x00c6},
+{0x00c7, 0x00cf},
+{0x00d0, 0x00d0},
+{0x00d1, 0x00d6},
+{0x00d7, 0x00d8},
+{0x00d9, 0x00dd},
+{0x00de, 0x00e1},
+{0x00e2, 0x00e5},
+{0x00e6, 0x00e6},
+{0x00e7, 0x00e7},
+{0x00e8, 0x00ea},
+{0x00eb, 0x00eb},
+{0x00ec, 0x00ed},
+{0x00ee, 0x00ef},
+{0x00f0, 0x00f0},
+{0x00f1, 0x00f1},
+{0x00f2, 0x00f3},
+{0x00f4, 0x00f6},
+{0x00f7, 0x00fa},
+{0x00fb, 0x00fb},
+{0x00fc, 0x00fc},
+{0x00fd, 0x00fd},
+{0x00fe, 0x00fe},
+{0x00ff, 0x0100},
+{0x0101, 0x0101},
+{0x0102, 0x0110},
+{0x0111, 0x0111},
+{0x0112, 0x0112},
+{0x0113, 0x0113},
+{0x0114, 0x011a},
+{0x011b, 0x011b},
+{0x011c, 0x0125},
+{0x0126, 0x0127},
+{0x0128, 0x012a},
+{0x012b, 0x012b},
+{0x012c, 0x0130},
+{0x0131, 0x0133},
+{0x0134, 0x0137},
+{0x0138, 0x0138},
+{0x0139, 0x013e},
+{0x013f, 0x0142},
+{0x0143, 0x0143},
+{0x0144, 0x0144},
+{0x0145, 0x0147},
+{0x0148, 0x014b},
+{0x014c, 0x014c},
+{0x014d, 0x014d},
+{0x014e, 0x0151},
+{0x0152, 0x0153},
+{0x0154, 0x0165},
+{0x0166, 0x0167},
+{0x0168, 0x016a},
+{0x016b, 0x016b},
+{0x016c, 0x01cd},
+{0x01ce, 0x01ce},
+{0x01cf, 0x01cf},
+{0x01d0, 0x01d0},
+{0x01d1, 0x01d1},
+{0x01d2, 0x01d2},
+{0x01d3, 0x01d3},
+{0x01d4, 0x01d4},
+{0x01d5, 0x01d5},
+{0x01d6, 0x01d6},
+{0x01d7, 0x01d7},
+{0x01d8, 0x01d8},
+{0x01d9, 0x01d9},
+{0x01da, 0x01da},
+{0x01db, 0x01db},
+{0x01dc, 0x01dc},
+{0x01dd, 0x0250},
+{0x0251, 0x0251},
+{0x0252, 0x0260},
+{0x0261, 0x0261},
+{0x0262, 0x02c3},
+{0x02c4, 0x02c4},
+{0x02c5, 0x02c6},
+{0x02c7, 0x02c7},
+{0x02c8, 0x02c8},
+{0x02c9, 0x02cb},
+{0x02cc, 0x02cc},
+{0x02cd, 0x02cd},
+{0x02ce, 0x02cf},
+{0x02d0, 0x02d0},
+{0x02d1, 0x02d7},
+{0x02d8, 0x02db},
+{0x02dc, 0x02dc},
+{0x02dd, 0x02dd},
+{0x02de, 0x02de},
+{0x02df, 0x02df},
+{0x02e0, 0x02ff},
+{0x0300, 0x036f},
+{0x0370, 0x0377},
+{0x037a, 0x037f},
+{0x0384, 0x038a},
+{0x038c, 0x038c},
+{0x038e, 0x0390},
+{0x0391, 0x03a1},
+{0x03a3, 0x03a9},
+{0x03aa, 0x03b0},
+{0x03b1, 0x03c1},
+{0x03c2, 0x03c2},
+{0x03c3, 0x03c9},
+{0x03ca, 0x0400},
+{0x0401, 0x0401},
+{0x0402, 0x040f},
+{0x0410, 0x044f},
+{0x0450, 0x0450},
+{0x0451, 0x0451},
+{0x0452, 0x052f},
+{0x0531, 0x0556},
+{0x0559, 0x058a},
+{0x058d, 0x058f},
+{0x0591, 0x05c7},
+{0x05d0, 0x05ea},
+{0x05ef, 0x05f4},
+{0x0600, 0x061c},
+{0x061e, 0x070d},
+{0x070f, 0x074a},
+{0x074d, 0x07b1},
+{0x07c0, 0x07fa},
+{0x07fd, 0x082d},
+{0x0830, 0x083e},
+{0x0840, 0x085b},
+{0x085e, 0x085e},
+{0x0860, 0x086a},
+{0x08a0, 0x08b4},
+{0x08b6, 0x08c7},
+{0x08d3, 0x0983},
+{0x0985, 0x098c},
+{0x098f, 0x0990},
+{0x0993, 0x09a8},
+{0x09aa, 0x09b0},
+{0x09b2, 0x09b2},
+{0x09b6, 0x09b9},
+{0x09bc, 0x09c4},
+{0x09c7, 0x09c8},
+{0x09cb, 0x09ce},
+{0x09d7, 0x09d7},
+{0x09dc, 0x09dd},
+{0x09df, 0x09e3},
+{0x09e6, 0x09fe},
+{0x0a01, 0x0a03},
+{0x0a05, 0x0a0a},
+{0x0a0f, 0x0a10},
+{0x0a13, 0x0a28},
+{0x0a2a, 0x0a30},
+{0x0a32, 0x0a33},
+{0x0a35, 0x0a36},
+{0x0a38, 0x0a39},
+{0x0a3c, 0x0a3c},
+{0x0a3e, 0x0a42},
+{0x0a47, 0x0a48},
+{0x0a4b, 0x0a4d},
+{0x0a51, 0x0a51},
+{0x0a59, 0x0a5c},
+{0x0a5e, 0x0a5e},
+{0x0a66, 0x0a76},
+{0x0a81, 0x0a83},
+{0x0a85, 0x0a8d},
+{0x0a8f, 0x0a91},
+{0x0a93, 0x0aa8},
+{0x0aaa, 0x0ab0},
+{0x0ab2, 0x0ab3},
+{0x0ab5, 0x0ab9},
+{0x0abc, 0x0ac5},
+{0x0ac7, 0x0ac9},
+{0x0acb, 0x0acd},
+{0x0ad0, 0x0ad0},
+{0x0ae0, 0x0ae3},
+{0x0ae6, 0x0af1},
+{0x0af9, 0x0aff},
+{0x0b01, 0x0b03},
+{0x0b05, 0x0b0c},
+{0x0b0f, 0x0b10},
+{0x0b13, 0x0b28},
+{0x0b2a, 0x0b30},
+{0x0b32, 0x0b33},
+{0x0b35, 0x0b39},
+{0x0b3c, 0x0b44},
+{0x0b47, 0x0b48},
+{0x0b4b, 0x0b4d},
+{0x0b55, 0x0b57},
+{0x0b5c, 0x0b5d},
+{0x0b5f, 0x0b63},
+{0x0b66, 0x0b77},
+{0x0b82, 0x0b83},
+{0x0b85, 0x0b8a},
+{0x0b8e, 0x0b90},
+{0x0b92, 0x0b95},
+{0x0b99, 0x0b9a},
+{0x0b9c, 0x0b9c},
+{0x0b9e, 0x0b9f},
+{0x0ba3, 0x0ba4},
+{0x0ba8, 0x0baa},
+{0x0bae, 0x0bb9},
+{0x0bbe, 0x0bc2},
+{0x0bc6, 0x0bc8},
+{0x0bca, 0x0bcd},
+{0x0bd0, 0x0bd0},
+{0x0bd7, 0x0bd7},
+{0x0be6, 0x0bfa},
+{0x0c00, 0x0c0c},
+{0x0c0e, 0x0c10},
+{0x0c12, 0x0c28},
+{0x0c2a, 0x0c39},
+{0x0c3d, 0x0c44},
+{0x0c46, 0x0c48},
+{0x0c4a, 0x0c4d},
+{0x0c55, 0x0c56},
+{0x0c58, 0x0c5a},
+{0x0c60, 0x0c63},
+{0x0c66, 0x0c6f},
+{0x0c77, 0x0c8c},
+{0x0c8e, 0x0c90},
+{0x0c92, 0x0ca8},
+{0x0caa, 0x0cb3},
+{0x0cb5, 0x0cb9},
+{0x0cbc, 0x0cc4},
+{0x0cc6, 0x0cc8},
+{0x0cca, 0x0ccd},
+{0x0cd5, 0x0cd6},
+{0x0cde, 0x0cde},
+{0x0ce0, 0x0ce3},
+{0x0ce6, 0x0cef},
+{0x0cf1, 0x0cf2},
+{0x0d00, 0x0d0c},
+{0x0d0e, 0x0d10},
+{0x0d12, 0x0d44},
+{0x0d46, 0x0d48},
+{0x0d4a, 0x0d4f},
+{0x0d54, 0x0d63},
+{0x0d66, 0x0d7f},
+{0x0d81, 0x0d83},
+{0x0d85, 0x0d96},
+{0x0d9a, 0x0db1},
+{0x0db3, 0x0dbb},
+{0x0dbd, 0x0dbd},
+{0x0dc0, 0x0dc6},
+{0x0dca, 0x0dca},
+{0x0dcf, 0x0dd4},
+{0x0dd6, 0x0dd6},
+{0x0dd8, 0x0ddf},
+{0x0de6, 0x0def},
+{0x0df2, 0x0df4},
+{0x0e01, 0x0e3a},
+{0x0e3f, 0x0e5b},
+{0x0e81, 0x0e82},
+{0x0e84, 0x0e84},
+{0x0e86, 0x0e8a},
+{0x0e8c, 0x0ea3},
+{0x0ea5, 0x0ea5},
+{0x0ea7, 0x0ebd},
+{0x0ec0, 0x0ec4},
+{0x0ec6, 0x0ec6},
+{0x0ec8, 0x0ecd},
+{0x0ed0, 0x0ed9},
+{0x0edc, 0x0edf},
+{0x0f00, 0x0f47},
+{0x0f49, 0x0f6c},
+{0x0f71, 0x0f97},
+{0x0f99, 0x0fbc},
+{0x0fbe, 0x0fcc},
+{0x0fce, 0x0fda},
+{0x1000, 0x10c5},
+{0x10c7, 0x10c7},
+{0x10cd, 0x10cd},
+{0x10d0, 0x10ff},
{0x1100, 0x115f},
+{0x1160, 0x1248},
+{0x124a, 0x124d},
+{0x1250, 0x1256},
+{0x1258, 0x1258},
+{0x125a, 0x125d},
+{0x1260, 0x1288},
+{0x128a, 0x128d},
+{0x1290, 0x12b0},
+{0x12b2, 0x12b5},
+{0x12b8, 0x12be},
+{0x12c0, 0x12c0},
+{0x12c2, 0x12c5},
+{0x12c8, 0x12d6},
+{0x12d8, 0x1310},
+{0x1312, 0x1315},
+{0x1318, 0x135a},
+{0x135d, 0x137c},
+{0x1380, 0x1399},
+{0x13a0, 0x13f5},
+{0x13f8, 0x13fd},
+{0x1400, 0x169c},
+{0x16a0, 0x16f8},
+{0x1700, 0x170c},
+{0x170e, 0x1714},
+{0x1720, 0x1736},
+{0x1740, 0x1753},
+{0x1760, 0x176c},
+{0x176e, 0x1770},
+{0x1772, 0x1773},
+{0x1780, 0x17dd},
+{0x17e0, 0x17e9},
+{0x17f0, 0x17f9},
+{0x1800, 0x180e},
+{0x1810, 0x1819},
+{0x1820, 0x1878},
+{0x1880, 0x18aa},
+{0x18b0, 0x18f5},
+{0x1900, 0x191e},
+{0x1920, 0x192b},
+{0x1930, 0x193b},
+{0x1940, 0x1940},
+{0x1944, 0x196d},
+{0x1970, 0x1974},
+{0x1980, 0x19ab},
+{0x19b0, 0x19c9},
+{0x19d0, 0x19da},
+{0x19de, 0x1a1b},
+{0x1a1e, 0x1a5e},
+{0x1a60, 0x1a7c},
+{0x1a7f, 0x1a89},
+{0x1a90, 0x1a99},
+{0x1aa0, 0x1aad},
+{0x1ab0, 0x1ac0},
+{0x1b00, 0x1b4b},
+{0x1b50, 0x1b7c},
+{0x1b80, 0x1bf3},
+{0x1bfc, 0x1c37},
+{0x1c3b, 0x1c49},
+{0x1c4d, 0x1c88},
+{0x1c90, 0x1cba},
+{0x1cbd, 0x1cc7},
+{0x1cd0, 0x1cfa},
+{0x1d00, 0x1df9},
+{0x1dfb, 0x1f15},
+{0x1f18, 0x1f1d},
+{0x1f20, 0x1f45},
+{0x1f48, 0x1f4d},
+{0x1f50, 0x1f57},
+{0x1f59, 0x1f59},
+{0x1f5b, 0x1f5b},
+{0x1f5d, 0x1f5d},
+{0x1f5f, 0x1f7d},
+{0x1f80, 0x1fb4},
+{0x1fb6, 0x1fc4},
+{0x1fc6, 0x1fd3},
+{0x1fd6, 0x1fdb},
+{0x1fdd, 0x1fef},
+{0x1ff2, 0x1ff4},
+{0x1ff6, 0x1ffe},
+{0x2000, 0x200f},
+{0x2010, 0x2010},
+{0x2011, 0x2012},
+{0x2013, 0x2016},
+{0x2017, 0x2017},
+{0x2018, 0x2019},
+{0x201a, 0x201b},
+{0x201c, 0x201d},
+{0x201e, 0x201f},
+{0x2020, 0x2022},
+{0x2023, 0x2023},
+{0x2024, 0x2027},
+{0x2028, 0x202f},
+{0x2030, 0x2030},
+{0x2031, 0x2031},
+{0x2032, 0x2033},
+{0x2034, 0x2034},
+{0x2035, 0x2035},
+{0x2036, 0x203a},
+{0x203b, 0x203b},
+{0x203c, 0x203d},
+{0x203e, 0x203e},
+{0x203f, 0x2064},
+{0x2066, 0x2071},
+{0x2074, 0x2074},
+{0x2075, 0x207e},
+{0x207f, 0x207f},
+{0x2080, 0x2080},
+{0x2081, 0x2084},
+{0x2085, 0x208e},
+{0x2090, 0x209c},
+{0x20a0, 0x20a8},
+{0x20a9, 0x20a9},
+{0x20aa, 0x20ab},
+{0x20ac, 0x20ac},
+{0x20ad, 0x20bf},
+{0x20d0, 0x20f0},
+{0x2100, 0x2102},
+{0x2103, 0x2103},
+{0x2104, 0x2104},
+{0x2105, 0x2105},
+{0x2106, 0x2108},
+{0x2109, 0x2109},
+{0x210a, 0x2112},
+{0x2113, 0x2113},
+{0x2114, 0x2115},
+{0x2116, 0x2116},
+{0x2117, 0x2120},
+{0x2121, 0x2122},
+{0x2123, 0x2125},
+{0x2126, 0x2126},
+{0x2127, 0x212a},
+{0x212b, 0x212b},
+{0x212c, 0x2152},
+{0x2153, 0x2154},
+{0x2155, 0x215a},
+{0x215b, 0x215e},
+{0x215f, 0x215f},
+{0x2160, 0x216b},
+{0x216c, 0x216f},
+{0x2170, 0x2179},
+{0x217a, 0x2188},
+{0x2189, 0x2189},
+{0x218a, 0x218b},
+{0x2190, 0x2199},
+{0x219a, 0x21b7},
+{0x21b8, 0x21b9},
+{0x21ba, 0x21d1},
+{0x21d2, 0x21d2},
+{0x21d3, 0x21d3},
+{0x21d4, 0x21d4},
+{0x21d5, 0x21e6},
+{0x21e7, 0x21e7},
+{0x21e8, 0x21ff},
+{0x2200, 0x2200},
+{0x2201, 0x2201},
+{0x2202, 0x2203},
+{0x2204, 0x2206},
+{0x2207, 0x2208},
+{0x2209, 0x220a},
+{0x220b, 0x220b},
+{0x220c, 0x220e},
+{0x220f, 0x220f},
+{0x2210, 0x2210},
+{0x2211, 0x2211},
+{0x2212, 0x2214},
+{0x2215, 0x2215},
+{0x2216, 0x2219},
+{0x221a, 0x221a},
+{0x221b, 0x221c},
+{0x221d, 0x2220},
+{0x2221, 0x2222},
+{0x2223, 0x2223},
+{0x2224, 0x2224},
+{0x2225, 0x2225},
+{0x2226, 0x2226},
+{0x2227, 0x222c},
+{0x222d, 0x222d},
+{0x222e, 0x222e},
+{0x222f, 0x2233},
+{0x2234, 0x2237},
+{0x2238, 0x223b},
+{0x223c, 0x223d},
+{0x223e, 0x2247},
+{0x2248, 0x2248},
+{0x2249, 0x224b},
+{0x224c, 0x224c},
+{0x224d, 0x2251},
+{0x2252, 0x2252},
+{0x2253, 0x225f},
+{0x2260, 0x2261},
+{0x2262, 0x2263},
+{0x2264, 0x2267},
+{0x2268, 0x2269},
+{0x226a, 0x226b},
+{0x226c, 0x226d},
+{0x226e, 0x226f},
+{0x2270, 0x2281},
+{0x2282, 0x2283},
+{0x2284, 0x2285},
+{0x2286, 0x2287},
+{0x2288, 0x2294},
+{0x2295, 0x2295},
+{0x2296, 0x2298},
+{0x2299, 0x2299},
+{0x229a, 0x22a4},
+{0x22a5, 0x22a5},
+{0x22a6, 0x22be},
+{0x22bf, 0x22bf},
+{0x22c0, 0x2311},
+{0x2312, 0x2312},
+{0x2313, 0x2319},
+{0x231a, 0x231b},
+{0x231c, 0x2328},
{0x2329, 0x232a},
+{0x232b, 0x23e8},
+{0x23e9, 0x23ec},
+{0x23ed, 0x23ef},
+{0x23f0, 0x23f0},
+{0x23f1, 0x23f2},
+{0x23f3, 0x23f3},
+{0x23f4, 0x2426},
+{0x2440, 0x244a},
+{0x2460, 0x24e9},
+{0x24ea, 0x24ea},
+{0x24eb, 0x254b},
+{0x254c, 0x254f},
+{0x2550, 0x2573},
+{0x2574, 0x257f},
+{0x2580, 0x258f},
+{0x2590, 0x2591},
+{0x2592, 0x2595},
+{0x2596, 0x259f},
+{0x25a0, 0x25a1},
+{0x25a2, 0x25a2},
+{0x25a3, 0x25a9},
+{0x25aa, 0x25b1},
+{0x25b2, 0x25b3},
+{0x25b4, 0x25b5},
+{0x25b6, 0x25b7},
+{0x25b8, 0x25bb},
+{0x25bc, 0x25bd},
+{0x25be, 0x25bf},
+{0x25c0, 0x25c1},
+{0x25c2, 0x25c5},
+{0x25c6, 0x25c8},
+{0x25c9, 0x25ca},
+{0x25cb, 0x25cb},
+{0x25cc, 0x25cd},
+{0x25ce, 0x25d1},
+{0x25d2, 0x25e1},
+{0x25e2, 0x25e5},
+{0x25e6, 0x25ee},
+{0x25ef, 0x25ef},
+{0x25f0, 0x25fc},
+{0x25fd, 0x25fe},
+{0x25ff, 0x2604},
+{0x2605, 0x2606},
+{0x2607, 0x2608},
+{0x2609, 0x2609},
+{0x260a, 0x260d},
+{0x260e, 0x260f},
+{0x2610, 0x2613},
+{0x2614, 0x2615},
+{0x2616, 0x261b},
+{0x261c, 0x261c},
+{0x261d, 0x261d},
+{0x261e, 0x261e},
+{0x261f, 0x263f},
+{0x2640, 0x2640},
+{0x2641, 0x2641},
+{0x2642, 0x2642},
+{0x2643, 0x2647},
+{0x2648, 0x2653},
+{0x2654, 0x265f},
+{0x2660, 0x2661},
+{0x2662, 0x2662},
+{0x2663, 0x2665},
+{0x2666, 0x2666},
+{0x2667, 0x266a},
+{0x266b, 0x266b},
+{0x266c, 0x266d},
+{0x266e, 0x266e},
+{0x266f, 0x266f},
+{0x2670, 0x267e},
+{0x267f, 0x267f},
+{0x2680, 0x2692},
+{0x2693, 0x2693},
+{0x2694, 0x269d},
+{0x269e, 0x269f},
+{0x26a0, 0x26a0},
+{0x26a1, 0x26a1},
+{0x26a2, 0x26a9},
+{0x26aa, 0x26ab},
+{0x26ac, 0x26bc},
+{0x26bd, 0x26be},
+{0x26bf, 0x26bf},
+{0x26c0, 0x26c3},
+{0x26c4, 0x26c5},
+{0x26c6, 0x26cd},
+{0x26ce, 0x26ce},
+{0x26cf, 0x26d3},
+{0x26d4, 0x26d4},
+{0x26d5, 0x26e1},
+{0x26e2, 0x26e2},
+{0x26e3, 0x26e3},
+{0x26e4, 0x26e7},
+{0x26e8, 0x26e9},
+{0x26ea, 0x26ea},
+{0x26eb, 0x26f1},
+{0x26f2, 0x26f3},
+{0x26f4, 0x26f4},
+{0x26f5, 0x26f5},
+{0x26f6, 0x26f9},
+{0x26fa, 0x26fa},
+{0x26fb, 0x26fc},
+{0x26fd, 0x26fd},
+{0x26fe, 0x26ff},
+{0x2700, 0x2704},
+{0x2705, 0x2705},
+{0x2706, 0x2709},
+{0x270a, 0x270b},
+{0x270c, 0x2727},
+{0x2728, 0x2728},
+{0x2729, 0x273c},
+{0x273d, 0x273d},
+{0x273e, 0x274b},
+{0x274c, 0x274c},
+{0x274d, 0x274d},
+{0x274e, 0x274e},
+{0x274f, 0x2752},
+{0x2753, 0x2755},
+{0x2756, 0x2756},
+{0x2757, 0x2757},
+{0x2758, 0x2775},
+{0x2776, 0x277f},
+{0x2780, 0x2794},
+{0x2795, 0x2797},
+{0x2798, 0x27af},
+{0x27b0, 0x27b0},
+{0x27b1, 0x27be},
+{0x27bf, 0x27bf},
+{0x27c0, 0x27e5},
+{0x27e6, 0x27ed},
+{0x27ee, 0x2984},
+{0x2985, 0x2986},
+{0x2987, 0x2b1a},
+{0x2b1b, 0x2b1c},
+{0x2b1d, 0x2b4f},
+{0x2b50, 0x2b50},
+{0x2b51, 0x2b54},
+{0x2b55, 0x2b55},
+{0x2b56, 0x2b59},
+{0x2b5a, 0x2b73},
+{0x2b76, 0x2b95},
+{0x2b97, 0x2c2e},
+{0x2c30, 0x2c5e},
+{0x2c60, 0x2cf3},
+{0x2cf9, 0x2d25},
+{0x2d27, 0x2d27},
+{0x2d2d, 0x2d2d},
+{0x2d30, 0x2d67},
+{0x2d6f, 0x2d70},
+{0x2d7f, 0x2d96},
+{0x2da0, 0x2da6},
+{0x2da8, 0x2dae},
+{0x2db0, 0x2db6},
+{0x2db8, 0x2dbe},
+{0x2dc0, 0x2dc6},
+{0x2dc8, 0x2dce},
+{0x2dd0, 0x2dd6},
+{0x2dd8, 0x2dde},
+{0x2de0, 0x2e52},
{0x2e80, 0x2e99},
{0x2e9b, 0x2ef3},
{0x2f00, 0x2fd5},
{0x2ff0, 0x2ffb},
-{0x3000, 0x303e},
+{0x3000, 0x3000},
+{0x3001, 0x303e},
+{0x303f, 0x303f},
{0x3041, 0x3096},
{0x3099, 0x30ff},
-{0x3105, 0x312d},
+{0x3105, 0x312f},
{0x3131, 0x318e},
-{0x3190, 0x31ba},
-{0x31c0, 0x31e3},
+{0x3190, 0x31e3},
{0x31f0, 0x321e},
{0x3220, 0x3247},
-{0x3250, 0x32fe},
-{0x3300, 0x4dbf},
+{0x3248, 0x324f},
+{0x3250, 0x4dbf},
+{0x4dc0, 0x4dff},
{0x4e00, 0xa48c},
{0xa490, 0xa4c6},
+{0xa4d0, 0xa62b},
+{0xa640, 0xa6f7},
+{0xa700, 0xa7bf},
+{0xa7c2, 0xa7ca},
+{0xa7f5, 0xa82c},
+{0xa830, 0xa839},
+{0xa840, 0xa877},
+{0xa880, 0xa8c5},
+{0xa8ce, 0xa8d9},
+{0xa8e0, 0xa953},
+{0xa95f, 0xa95f},
{0xa960, 0xa97c},
+{0xa980, 0xa9cd},
+{0xa9cf, 0xa9d9},
+{0xa9de, 0xa9fe},
+{0xaa00, 0xaa36},
+{0xaa40, 0xaa4d},
+{0xaa50, 0xaa59},
+{0xaa5c, 0xaac2},
+{0xaadb, 0xaaf6},
+{0xab01, 0xab06},
+{0xab09, 0xab0e},
+{0xab11, 0xab16},
+{0xab20, 0xab26},
+{0xab28, 0xab2e},
+{0xab30, 0xab6b},
+{0xab70, 0xabed},
+{0xabf0, 0xabf9},
{0xac00, 0xd7a3},
+{0xd7b0, 0xd7c6},
+{0xd7cb, 0xd7fb},
+{0xd800, 0xdfff},
+{0xe000, 0xf8ff},
{0xf900, 0xfaff},
+{0xfb00, 0xfb06},
+{0xfb13, 0xfb17},
+{0xfb1d, 0xfb36},
+{0xfb38, 0xfb3c},
+{0xfb3e, 0xfb3e},
+{0xfb40, 0xfb41},
+{0xfb43, 0xfb44},
+{0xfb46, 0xfbc1},
+{0xfbd3, 0xfd3f},
+{0xfd50, 0xfd8f},
+{0xfd92, 0xfdc7},
+{0xfdf0, 0xfdfd},
+{0xfe00, 0xfe0f},
{0xfe10, 0xfe19},
+{0xfe20, 0xfe2f},
{0xfe30, 0xfe52},
{0xfe54, 0xfe66},
{0xfe68, 0xfe6b},
+{0xfe70, 0xfe74},
+{0xfe76, 0xfefc},
+{0xfeff, 0xfeff},
{0xff01, 0xff60},
+{0xff61, 0xffbe},
+{0xffc2, 0xffc7},
+{0xffca, 0xffcf},
+{0xffd2, 0xffd7},
+{0xffda, 0xffdc},
{0xffe0, 0xffe6},
-{0x1b000, 0x1b001},
+{0xffe8, 0xffee},
+{0xfff9, 0xfffc},
+{0xfffd, 0xfffd},
+{0x10000, 0x1000b},
+{0x1000d, 0x10026},
+{0x10028, 0x1003a},
+{0x1003c, 0x1003d},
+{0x1003f, 0x1004d},
+{0x10050, 0x1005d},
+{0x10080, 0x100fa},
+{0x10100, 0x10102},
+{0x10107, 0x10133},
+{0x10137, 0x1018e},
+{0x10190, 0x1019c},
+{0x101a0, 0x101a0},
+{0x101d0, 0x101fd},
+{0x10280, 0x1029c},
+{0x102a0, 0x102d0},
+{0x102e0, 0x102fb},
+{0x10300, 0x10323},
+{0x1032d, 0x1034a},
+{0x10350, 0x1037a},
+{0x10380, 0x1039d},
+{0x1039f, 0x103c3},
+{0x103c8, 0x103d5},
+{0x10400, 0x1049d},
+{0x104a0, 0x104a9},
+{0x104b0, 0x104d3},
+{0x104d8, 0x104fb},
+{0x10500, 0x10527},
+{0x10530, 0x10563},
+{0x1056f, 0x1056f},
+{0x10600, 0x10736},
+{0x10740, 0x10755},
+{0x10760, 0x10767},
+{0x10800, 0x10805},
+{0x10808, 0x10808},
+{0x1080a, 0x10835},
+{0x10837, 0x10838},
+{0x1083c, 0x1083c},
+{0x1083f, 0x10855},
+{0x10857, 0x1089e},
+{0x108a7, 0x108af},
+{0x108e0, 0x108f2},
+{0x108f4, 0x108f5},
+{0x108fb, 0x1091b},
+{0x1091f, 0x10939},
+{0x1093f, 0x1093f},
+{0x10980, 0x109b7},
+{0x109bc, 0x109cf},
+{0x109d2, 0x10a03},
+{0x10a05, 0x10a06},
+{0x10a0c, 0x10a13},
+{0x10a15, 0x10a17},
+{0x10a19, 0x10a35},
+{0x10a38, 0x10a3a},
+{0x10a3f, 0x10a48},
+{0x10a50, 0x10a58},
+{0x10a60, 0x10a9f},
+{0x10ac0, 0x10ae6},
+{0x10aeb, 0x10af6},
+{0x10b00, 0x10b35},
+{0x10b39, 0x10b55},
+{0x10b58, 0x10b72},
+{0x10b78, 0x10b91},
+{0x10b99, 0x10b9c},
+{0x10ba9, 0x10baf},
+{0x10c00, 0x10c48},
+{0x10c80, 0x10cb2},
+{0x10cc0, 0x10cf2},
+{0x10cfa, 0x10d27},
+{0x10d30, 0x10d39},
+{0x10e60, 0x10e7e},
+{0x10e80, 0x10ea9},
+{0x10eab, 0x10ead},
+{0x10eb0, 0x10eb1},
+{0x10f00, 0x10f27},
+{0x10f30, 0x10f59},
+{0x10fb0, 0x10fcb},
+{0x10fe0, 0x10ff6},
+{0x11000, 0x1104d},
+{0x11052, 0x1106f},
+{0x1107f, 0x110c1},
+{0x110cd, 0x110cd},
+{0x110d0, 0x110e8},
+{0x110f0, 0x110f9},
+{0x11100, 0x11134},
+{0x11136, 0x11147},
+{0x11150, 0x11176},
+{0x11180, 0x111df},
+{0x111e1, 0x111f4},
+{0x11200, 0x11211},
+{0x11213, 0x1123e},
+{0x11280, 0x11286},
+{0x11288, 0x11288},
+{0x1128a, 0x1128d},
+{0x1128f, 0x1129d},
+{0x1129f, 0x112a9},
+{0x112b0, 0x112ea},
+{0x112f0, 0x112f9},
+{0x11300, 0x11303},
+{0x11305, 0x1130c},
+{0x1130f, 0x11310},
+{0x11313, 0x11328},
+{0x1132a, 0x11330},
+{0x11332, 0x11333},
+{0x11335, 0x11339},
+{0x1133b, 0x11344},
+{0x11347, 0x11348},
+{0x1134b, 0x1134d},
+{0x11350, 0x11350},
+{0x11357, 0x11357},
+{0x1135d, 0x11363},
+{0x11366, 0x1136c},
+{0x11370, 0x11374},
+{0x11400, 0x1145b},
+{0x1145d, 0x11461},
+{0x11480, 0x114c7},
+{0x114d0, 0x114d9},
+{0x11580, 0x115b5},
+{0x115b8, 0x115dd},
+{0x11600, 0x11644},
+{0x11650, 0x11659},
+{0x11660, 0x1166c},
+{0x11680, 0x116b8},
+{0x116c0, 0x116c9},
+{0x11700, 0x1171a},
+{0x1171d, 0x1172b},
+{0x11730, 0x1173f},
+{0x11800, 0x1183b},
+{0x118a0, 0x118f2},
+{0x118ff, 0x11906},
+{0x11909, 0x11909},
+{0x1190c, 0x11913},
+{0x11915, 0x11916},
+{0x11918, 0x11935},
+{0x11937, 0x11938},
+{0x1193b, 0x11946},
+{0x11950, 0x11959},
+{0x119a0, 0x119a7},
+{0x119aa, 0x119d7},
+{0x119da, 0x119e4},
+{0x11a00, 0x11a47},
+{0x11a50, 0x11aa2},
+{0x11ac0, 0x11af8},
+{0x11c00, 0x11c08},
+{0x11c0a, 0x11c36},
+{0x11c38, 0x11c45},
+{0x11c50, 0x11c6c},
+{0x11c70, 0x11c8f},
+{0x11c92, 0x11ca7},
+{0x11ca9, 0x11cb6},
+{0x11d00, 0x11d06},
+{0x11d08, 0x11d09},
+{0x11d0b, 0x11d36},
+{0x11d3a, 0x11d3a},
+{0x11d3c, 0x11d3d},
+{0x11d3f, 0x11d47},
+{0x11d50, 0x11d59},
+{0x11d60, 0x11d65},
+{0x11d67, 0x11d68},
+{0x11d6a, 0x11d8e},
+{0x11d90, 0x11d91},
+{0x11d93, 0x11d98},
+{0x11da0, 0x11da9},
+{0x11ee0, 0x11ef8},
+{0x11fb0, 0x11fb0},
+{0x11fc0, 0x11ff1},
+{0x11fff, 0x12399},
+{0x12400, 0x1246e},
+{0x12470, 0x12474},
+{0x12480, 0x12543},
+{0x13000, 0x1342e},
+{0x13430, 0x13438},
+{0x14400, 0x14646},
+{0x16800, 0x16a38},
+{0x16a40, 0x16a5e},
+{0x16a60, 0x16a69},
+{0x16a6e, 0x16a6f},
+{0x16ad0, 0x16aed},
+{0x16af0, 0x16af5},
+{0x16b00, 0x16b45},
+{0x16b50, 0x16b59},
+{0x16b5b, 0x16b61},
+{0x16b63, 0x16b77},
+{0x16b7d, 0x16b8f},
+{0x16e40, 0x16e9a},
+{0x16f00, 0x16f4a},
+{0x16f4f, 0x16f87},
+{0x16f8f, 0x16f9f},
+{0x16fe0, 0x16fe4},
+{0x16ff0, 0x16ff1},
+{0x17000, 0x187f7},
+{0x18800, 0x18cd5},
+{0x18d00, 0x18d08},
+{0x1b000, 0x1b11e},
+{0x1b150, 0x1b152},
+{0x1b164, 0x1b167},
+{0x1b170, 0x1b2fb},
+{0x1bc00, 0x1bc6a},
+{0x1bc70, 0x1bc7c},
+{0x1bc80, 0x1bc88},
+{0x1bc90, 0x1bc99},
+{0x1bc9c, 0x1bca3},
+{0x1d000, 0x1d0f5},
+{0x1d100, 0x1d126},
+{0x1d129, 0x1d1e8},
+{0x1d200, 0x1d245},
+{0x1d2e0, 0x1d2f3},
+{0x1d300, 0x1d356},
+{0x1d360, 0x1d378},
+{0x1d400, 0x1d454},
+{0x1d456, 0x1d49c},
+{0x1d49e, 0x1d49f},
+{0x1d4a2, 0x1d4a2},
+{0x1d4a5, 0x1d4a6},
+{0x1d4a9, 0x1d4ac},
+{0x1d4ae, 0x1d4b9},
+{0x1d4bb, 0x1d4bb},
+{0x1d4bd, 0x1d4c3},
+{0x1d4c5, 0x1d505},
+{0x1d507, 0x1d50a},
+{0x1d50d, 0x1d514},
+{0x1d516, 0x1d51c},
+{0x1d51e, 0x1d539},
+{0x1d53b, 0x1d53e},
+{0x1d540, 0x1d544},
+{0x1d546, 0x1d546},
+{0x1d54a, 0x1d550},
+{0x1d552, 0x1d6a5},
+{0x1d6a8, 0x1d7cb},
+{0x1d7ce, 0x1da8b},
+{0x1da9b, 0x1da9f},
+{0x1daa1, 0x1daaf},
+{0x1e000, 0x1e006},
+{0x1e008, 0x1e018},
+{0x1e01b, 0x1e021},
+{0x1e023, 0x1e024},
+{0x1e026, 0x1e02a},
+{0x1e100, 0x1e12c},
+{0x1e130, 0x1e13d},
+{0x1e140, 0x1e149},
+{0x1e14e, 0x1e14f},
+{0x1e2c0, 0x1e2f9},
+{0x1e2ff, 0x1e2ff},
+{0x1e800, 0x1e8c4},
+{0x1e8c7, 0x1e8d6},
+{0x1e900, 0x1e94b},
+{0x1e950, 0x1e959},
+{0x1e95e, 0x1e95f},
+{0x1ec71, 0x1ecb4},
+{0x1ed01, 0x1ed3d},
+{0x1ee00, 0x1ee03},
+{0x1ee05, 0x1ee1f},
+{0x1ee21, 0x1ee22},
+{0x1ee24, 0x1ee24},
+{0x1ee27, 0x1ee27},
+{0x1ee29, 0x1ee32},
+{0x1ee34, 0x1ee37},
+{0x1ee39, 0x1ee39},
+{0x1ee3b, 0x1ee3b},
+{0x1ee42, 0x1ee42},
+{0x1ee47, 0x1ee47},
+{0x1ee49, 0x1ee49},
+{0x1ee4b, 0x1ee4b},
+{0x1ee4d, 0x1ee4f},
+{0x1ee51, 0x1ee52},
+{0x1ee54, 0x1ee54},
+{0x1ee57, 0x1ee57},
+{0x1ee59, 0x1ee59},
+{0x1ee5b, 0x1ee5b},
+{0x1ee5d, 0x1ee5d},
+{0x1ee5f, 0x1ee5f},
+{0x1ee61, 0x1ee62},
+{0x1ee64, 0x1ee64},
+{0x1ee67, 0x1ee6a},
+{0x1ee6c, 0x1ee72},
+{0x1ee74, 0x1ee77},
+{0x1ee79, 0x1ee7c},
+{0x1ee7e, 0x1ee7e},
+{0x1ee80, 0x1ee89},
+{0x1ee8b, 0x1ee9b},
+{0x1eea1, 0x1eea3},
+{0x1eea5, 0x1eea9},
+{0x1eeab, 0x1eebb},
+{0x1eef0, 0x1eef1},
+{0x1f000, 0x1f003},
+{0x1f004, 0x1f004},
+{0x1f005, 0x1f02b},
+{0x1f030, 0x1f093},
+{0x1f0a0, 0x1f0ae},
+{0x1f0b1, 0x1f0bf},
+{0x1f0c1, 0x1f0ce},
+{0x1f0cf, 0x1f0cf},
+{0x1f0d1, 0x1f0f5},
+{0x1f100, 0x1f10a},
+{0x1f10b, 0x1f10f},
+{0x1f110, 0x1f12d},
+{0x1f12e, 0x1f12f},
+{0x1f130, 0x1f169},
+{0x1f16a, 0x1f16f},
+{0x1f170, 0x1f18d},
+{0x1f18e, 0x1f18e},
+{0x1f18f, 0x1f190},
+{0x1f191, 0x1f19a},
+{0x1f19b, 0x1f1ac},
+{0x1f1ad, 0x1f1ad},
+{0x1f1e6, 0x1f1ff},
{0x1f200, 0x1f202},
-{0x1f210, 0x1f23a},
+{0x1f210, 0x1f23b},
{0x1f240, 0x1f248},
{0x1f250, 0x1f251},
+{0x1f260, 0x1f265},
+{0x1f300, 0x1f320},
+{0x1f321, 0x1f32c},
+{0x1f32d, 0x1f335},
+{0x1f336, 0x1f336},
+{0x1f337, 0x1f37c},
+{0x1f37d, 0x1f37d},
+{0x1f37e, 0x1f393},
+{0x1f394, 0x1f39f},
+{0x1f3a0, 0x1f3ca},
+{0x1f3cb, 0x1f3ce},
+{0x1f3cf, 0x1f3d3},
+{0x1f3d4, 0x1f3df},
+{0x1f3e0, 0x1f3f0},
+{0x1f3f1, 0x1f3f3},
+{0x1f3f4, 0x1f3f4},
+{0x1f3f5, 0x1f3f7},
+{0x1f3f8, 0x1f43e},
+{0x1f43f, 0x1f43f},
+{0x1f440, 0x1f440},
+{0x1f441, 0x1f441},
+{0x1f442, 0x1f4fc},
+{0x1f4fd, 0x1f4fe},
+{0x1f4ff, 0x1f53d},
+{0x1f53e, 0x1f54a},
+{0x1f54b, 0x1f54e},
+{0x1f54f, 0x1f54f},
+{0x1f550, 0x1f567},
+{0x1f568, 0x1f579},
+{0x1f57a, 0x1f57a},
+{0x1f57b, 0x1f594},
+{0x1f595, 0x1f596},
+{0x1f597, 0x1f5a3},
+{0x1f5a4, 0x1f5a4},
+{0x1f5a5, 0x1f5fa},
+{0x1f5fb, 0x1f64f},
+{0x1f650, 0x1f67f},
+{0x1f680, 0x1f6c5},
+{0x1f6c6, 0x1f6cb},
+{0x1f6cc, 0x1f6cc},
+{0x1f6cd, 0x1f6cf},
+{0x1f6d0, 0x1f6d2},
+{0x1f6d3, 0x1f6d4},
+{0x1f6d5, 0x1f6d7},
+{0x1f6e0, 0x1f6ea},
+{0x1f6eb, 0x1f6ec},
+{0x1f6f0, 0x1f6f3},
+{0x1f6f4, 0x1f6fc},
+{0x1f700, 0x1f773},
+{0x1f780, 0x1f7d8},
+{0x1f7e0, 0x1f7eb},
+{0x1f800, 0x1f80b},
+{0x1f810, 0x1f847},
+{0x1f850, 0x1f859},
+{0x1f860, 0x1f887},
+{0x1f890, 0x1f8ad},
+{0x1f8b0, 0x1f8b1},
+{0x1f900, 0x1f90b},
+{0x1f90c, 0x1f93a},
+{0x1f93b, 0x1f93b},
+{0x1f93c, 0x1f945},
+{0x1f946, 0x1f946},
+{0x1f947, 0x1f978},
+{0x1f97a, 0x1f9cb},
+{0x1f9cd, 0x1f9ff},
+{0x1fa00, 0x1fa53},
+{0x1fa60, 0x1fa6d},
+{0x1fa70, 0x1fa74},
+{0x1fa78, 0x1fa7a},
+{0x1fa80, 0x1fa86},
+{0x1fa90, 0x1faa8},
+{0x1fab0, 0x1fab6},
+{0x1fac0, 0x1fac2},
+{0x1fad0, 0x1fad6},
+{0x1fb00, 0x1fb92},
+{0x1fb94, 0x1fbca},
+{0x1fbf0, 0x1fbf9},
{0x20000, 0x2fffd},
-{0x30000, 0x3fffd}
+{0x30000, 0x3fffd},
+{0xe0001, 0xe0001},
+{0xe0020, 0xe007f},
+{0xe0100, 0xe01ef},
+{0xf0000, 0xffffd},
+{0x100000, 0x10fffd},
};
+
+static const unicode_eastasia_t unicode_eastasia_v[]={
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_Na,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_Na,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_Na,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_Na,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_Na,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_H,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_Na,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_Na,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_F,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_F,
+UNICODE_EASTASIA_H,
+UNICODE_EASTASIA_H,
+UNICODE_EASTASIA_H,
+UNICODE_EASTASIA_H,
+UNICODE_EASTASIA_H,
+UNICODE_EASTASIA_F,
+UNICODE_EASTASIA_H,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_W,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_N,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_A,
+UNICODE_EASTASIA_A,
+};
+
diff --git a/unicode/emojitab.h b/unicode/emojitab.h
new file mode 100644
index 0000000..5192849
--- /dev/null
+++ b/unicode/emojitab.h
@@ -0,0 +1,1211 @@
+static const char32_t unicode_emoji_emoji_lookup[][2]={
+ {35, 35},
+ {42, 42},
+ {48, 57},
+ {169, 169},
+ {174, 174},
+ {8252, 8252},
+ {8265, 8265},
+ {8482, 8482},
+ {8505, 8505},
+ {8596, 8601},
+ {8617, 8618},
+ {8986, 8987},
+ {9000, 9000},
+ {9167, 9167},
+ {9193, 9196},
+ {9197, 9198},
+ {9199, 9199},
+ {9200, 9200},
+ {9201, 9202},
+ {9203, 9203},
+ {9208, 9210},
+ {9410, 9410},
+ {9642, 9643},
+ {9654, 9654},
+ {9664, 9664},
+ {9723, 9726},
+ {9728, 9729},
+ {9730, 9731},
+ {9732, 9732},
+ {9742, 9742},
+ {9745, 9745},
+ {9748, 9749},
+ {9752, 9752},
+ {9757, 9757},
+ {9760, 9760},
+ {9762, 9763},
+ {9766, 9766},
+ {9770, 9770},
+ {9774, 9774},
+ {9775, 9775},
+ {9784, 9785},
+ {9786, 9786},
+ {9792, 9792},
+ {9794, 9794},
+ {9800, 9811},
+ {9823, 9823},
+ {9824, 9824},
+ {9827, 9827},
+ {9829, 9830},
+ {9832, 9832},
+ {9851, 9851},
+ {9854, 9854},
+ {9855, 9855},
+ {9874, 9874},
+ {9875, 9875},
+ {9876, 9876},
+ {9877, 9877},
+ {9878, 9879},
+ {9881, 9881},
+ {9883, 9884},
+ {9888, 9889},
+ {9895, 9895},
+ {9898, 9899},
+ {9904, 9905},
+ {9917, 9918},
+ {9924, 9925},
+ {9928, 9928},
+ {9934, 9934},
+ {9935, 9935},
+ {9937, 9937},
+ {9939, 9939},
+ {9940, 9940},
+ {9961, 9961},
+ {9962, 9962},
+ {9968, 9969},
+ {9970, 9971},
+ {9972, 9972},
+ {9973, 9973},
+ {9975, 9977},
+ {9978, 9978},
+ {9981, 9981},
+ {9986, 9986},
+ {9989, 9989},
+ {9992, 9996},
+ {9997, 9997},
+ {9999, 9999},
+ {10002, 10002},
+ {10004, 10004},
+ {10006, 10006},
+ {10013, 10013},
+ {10017, 10017},
+ {10024, 10024},
+ {10035, 10036},
+ {10052, 10052},
+ {10055, 10055},
+ {10060, 10060},
+ {10062, 10062},
+ {10067, 10069},
+ {10071, 10071},
+ {10083, 10083},
+ {10084, 10084},
+ {10133, 10135},
+ {10145, 10145},
+ {10160, 10160},
+ {10175, 10175},
+ {10548, 10549},
+ {11013, 11015},
+ {11035, 11036},
+ {11088, 11088},
+ {11093, 11093},
+ {12336, 12336},
+ {12349, 12349},
+ {12951, 12951},
+ {12953, 12953},
+ {126980, 126980},
+ {127183, 127183},
+ {127344, 127345},
+ {127358, 127359},
+ {127374, 127374},
+ {127377, 127386},
+ {127462, 127487},
+ {127489, 127490},
+ {127514, 127514},
+ {127535, 127535},
+ {127538, 127546},
+ {127568, 127569},
+ {127744, 127756},
+ {127757, 127758},
+ {127759, 127759},
+ {127760, 127760},
+ {127761, 127761},
+ {127762, 127762},
+ {127763, 127765},
+ {127766, 127768},
+ {127769, 127769},
+ {127770, 127770},
+ {127771, 127771},
+ {127772, 127772},
+ {127773, 127774},
+ {127775, 127776},
+ {127777, 127777},
+ {127780, 127788},
+ {127789, 127791},
+ {127792, 127793},
+ {127794, 127795},
+ {127796, 127797},
+ {127798, 127798},
+ {127799, 127818},
+ {127819, 127819},
+ {127820, 127823},
+ {127824, 127824},
+ {127825, 127867},
+ {127868, 127868},
+ {127869, 127869},
+ {127870, 127871},
+ {127872, 127891},
+ {127894, 127895},
+ {127897, 127899},
+ {127902, 127903},
+ {127904, 127940},
+ {127941, 127941},
+ {127942, 127942},
+ {127943, 127943},
+ {127944, 127944},
+ {127945, 127945},
+ {127946, 127946},
+ {127947, 127950},
+ {127951, 127955},
+ {127956, 127967},
+ {127968, 127971},
+ {127972, 127972},
+ {127973, 127984},
+ {127987, 127987},
+ {127988, 127988},
+ {127989, 127989},
+ {127991, 127991},
+ {127992, 128007},
+ {128008, 128008},
+ {128009, 128011},
+ {128012, 128014},
+ {128015, 128016},
+ {128017, 128018},
+ {128019, 128019},
+ {128020, 128020},
+ {128021, 128021},
+ {128022, 128022},
+ {128023, 128041},
+ {128042, 128042},
+ {128043, 128062},
+ {128063, 128063},
+ {128064, 128064},
+ {128065, 128065},
+ {128066, 128100},
+ {128101, 128101},
+ {128102, 128107},
+ {128108, 128109},
+ {128110, 128172},
+ {128173, 128173},
+ {128174, 128181},
+ {128182, 128183},
+ {128184, 128235},
+ {128236, 128237},
+ {128238, 128238},
+ {128239, 128239},
+ {128240, 128244},
+ {128245, 128245},
+ {128246, 128247},
+ {128248, 128248},
+ {128249, 128252},
+ {128253, 128253},
+ {128255, 128258},
+ {128259, 128259},
+ {128260, 128263},
+ {128264, 128264},
+ {128265, 128265},
+ {128266, 128276},
+ {128277, 128277},
+ {128278, 128299},
+ {128300, 128301},
+ {128302, 128317},
+ {128329, 128330},
+ {128331, 128334},
+ {128336, 128347},
+ {128348, 128359},
+ {128367, 128368},
+ {128371, 128377},
+ {128378, 128378},
+ {128391, 128391},
+ {128394, 128397},
+ {128400, 128400},
+ {128405, 128406},
+ {128420, 128420},
+ {128421, 128421},
+ {128424, 128424},
+ {128433, 128434},
+ {128444, 128444},
+ {128450, 128452},
+ {128465, 128467},
+ {128476, 128478},
+ {128481, 128481},
+ {128483, 128483},
+ {128488, 128488},
+ {128495, 128495},
+ {128499, 128499},
+ {128506, 128506},
+ {128507, 128511},
+ {128512, 128512},
+ {128513, 128518},
+ {128519, 128520},
+ {128521, 128525},
+ {128526, 128526},
+ {128527, 128527},
+ {128528, 128528},
+ {128529, 128529},
+ {128530, 128532},
+ {128533, 128533},
+ {128534, 128534},
+ {128535, 128535},
+ {128536, 128536},
+ {128537, 128537},
+ {128538, 128538},
+ {128539, 128539},
+ {128540, 128542},
+ {128543, 128543},
+ {128544, 128549},
+ {128550, 128551},
+ {128552, 128555},
+ {128556, 128556},
+ {128557, 128557},
+ {128558, 128559},
+ {128560, 128563},
+ {128564, 128564},
+ {128565, 128565},
+ {128566, 128566},
+ {128567, 128576},
+ {128577, 128580},
+ {128581, 128591},
+ {128640, 128640},
+ {128641, 128642},
+ {128643, 128645},
+ {128646, 128646},
+ {128647, 128647},
+ {128648, 128648},
+ {128649, 128649},
+ {128650, 128651},
+ {128652, 128652},
+ {128653, 128653},
+ {128654, 128654},
+ {128655, 128655},
+ {128656, 128656},
+ {128657, 128659},
+ {128660, 128660},
+ {128661, 128661},
+ {128662, 128662},
+ {128663, 128663},
+ {128664, 128664},
+ {128665, 128666},
+ {128667, 128673},
+ {128674, 128674},
+ {128675, 128675},
+ {128676, 128677},
+ {128678, 128678},
+ {128679, 128685},
+ {128686, 128689},
+ {128690, 128690},
+ {128691, 128693},
+ {128694, 128694},
+ {128695, 128696},
+ {128697, 128702},
+ {128703, 128703},
+ {128704, 128704},
+ {128705, 128709},
+ {128715, 128715},
+ {128716, 128716},
+ {128717, 128719},
+ {128720, 128720},
+ {128721, 128722},
+ {128725, 128725},
+ {128726, 128727},
+ {128736, 128741},
+ {128745, 128745},
+ {128747, 128748},
+ {128752, 128752},
+ {128755, 128755},
+ {128756, 128758},
+ {128759, 128760},
+ {128761, 128761},
+ {128762, 128762},
+ {128763, 128764},
+ {128992, 129003},
+ {129292, 129292},
+ {129293, 129295},
+ {129296, 129304},
+ {129305, 129310},
+ {129311, 129311},
+ {129312, 129319},
+ {129320, 129327},
+ {129328, 129328},
+ {129329, 129330},
+ {129331, 129338},
+ {129340, 129342},
+ {129343, 129343},
+ {129344, 129349},
+ {129351, 129355},
+ {129356, 129356},
+ {129357, 129359},
+ {129360, 129374},
+ {129375, 129387},
+ {129388, 129392},
+ {129393, 129393},
+ {129394, 129394},
+ {129395, 129398},
+ {129399, 129400},
+ {129402, 129402},
+ {129403, 129403},
+ {129404, 129407},
+ {129408, 129412},
+ {129413, 129425},
+ {129426, 129431},
+ {129432, 129442},
+ {129443, 129444},
+ {129445, 129450},
+ {129451, 129453},
+ {129454, 129455},
+ {129456, 129465},
+ {129466, 129471},
+ {129472, 129472},
+ {129473, 129474},
+ {129475, 129482},
+ {129483, 129483},
+ {129485, 129487},
+ {129488, 129510},
+ {129511, 129535},
+ {129648, 129651},
+ {129652, 129652},
+ {129656, 129658},
+ {129664, 129666},
+ {129667, 129670},
+ {129680, 129685},
+ {129686, 129704},
+ {129712, 129718},
+ {129728, 129730},
+ {129744, 129750},
+};
+
+static const char32_t unicode_emoji_emoji_presentation_lookup[][2]={
+ {8986, 8987},
+ {9193, 9196},
+ {9200, 9200},
+ {9203, 9203},
+ {9725, 9726},
+ {9748, 9749},
+ {9800, 9811},
+ {9855, 9855},
+ {9875, 9875},
+ {9889, 9889},
+ {9898, 9899},
+ {9917, 9918},
+ {9924, 9925},
+ {9934, 9934},
+ {9940, 9940},
+ {9962, 9962},
+ {9970, 9971},
+ {9973, 9973},
+ {9978, 9978},
+ {9981, 9981},
+ {9989, 9989},
+ {9994, 9995},
+ {10024, 10024},
+ {10060, 10060},
+ {10062, 10062},
+ {10067, 10069},
+ {10071, 10071},
+ {10133, 10135},
+ {10160, 10160},
+ {10175, 10175},
+ {11035, 11036},
+ {11088, 11088},
+ {11093, 11093},
+ {126980, 126980},
+ {127183, 127183},
+ {127374, 127374},
+ {127377, 127386},
+ {127462, 127487},
+ {127489, 127489},
+ {127514, 127514},
+ {127535, 127535},
+ {127538, 127542},
+ {127544, 127546},
+ {127568, 127569},
+ {127744, 127756},
+ {127757, 127758},
+ {127759, 127759},
+ {127760, 127760},
+ {127761, 127761},
+ {127762, 127762},
+ {127763, 127765},
+ {127766, 127768},
+ {127769, 127769},
+ {127770, 127770},
+ {127771, 127771},
+ {127772, 127772},
+ {127773, 127774},
+ {127775, 127776},
+ {127789, 127791},
+ {127792, 127793},
+ {127794, 127795},
+ {127796, 127797},
+ {127799, 127818},
+ {127819, 127819},
+ {127820, 127823},
+ {127824, 127824},
+ {127825, 127867},
+ {127868, 127868},
+ {127870, 127871},
+ {127872, 127891},
+ {127904, 127940},
+ {127941, 127941},
+ {127942, 127942},
+ {127943, 127943},
+ {127944, 127944},
+ {127945, 127945},
+ {127946, 127946},
+ {127951, 127955},
+ {127968, 127971},
+ {127972, 127972},
+ {127973, 127984},
+ {127988, 127988},
+ {127992, 128007},
+ {128008, 128008},
+ {128009, 128011},
+ {128012, 128014},
+ {128015, 128016},
+ {128017, 128018},
+ {128019, 128019},
+ {128020, 128020},
+ {128021, 128021},
+ {128022, 128022},
+ {128023, 128041},
+ {128042, 128042},
+ {128043, 128062},
+ {128064, 128064},
+ {128066, 128100},
+ {128101, 128101},
+ {128102, 128107},
+ {128108, 128109},
+ {128110, 128172},
+ {128173, 128173},
+ {128174, 128181},
+ {128182, 128183},
+ {128184, 128235},
+ {128236, 128237},
+ {128238, 128238},
+ {128239, 128239},
+ {128240, 128244},
+ {128245, 128245},
+ {128246, 128247},
+ {128248, 128248},
+ {128249, 128252},
+ {128255, 128258},
+ {128259, 128259},
+ {128260, 128263},
+ {128264, 128264},
+ {128265, 128265},
+ {128266, 128276},
+ {128277, 128277},
+ {128278, 128299},
+ {128300, 128301},
+ {128302, 128317},
+ {128331, 128334},
+ {128336, 128347},
+ {128348, 128359},
+ {128378, 128378},
+ {128405, 128406},
+ {128420, 128420},
+ {128507, 128511},
+ {128512, 128512},
+ {128513, 128518},
+ {128519, 128520},
+ {128521, 128525},
+ {128526, 128526},
+ {128527, 128527},
+ {128528, 128528},
+ {128529, 128529},
+ {128530, 128532},
+ {128533, 128533},
+ {128534, 128534},
+ {128535, 128535},
+ {128536, 128536},
+ {128537, 128537},
+ {128538, 128538},
+ {128539, 128539},
+ {128540, 128542},
+ {128543, 128543},
+ {128544, 128549},
+ {128550, 128551},
+ {128552, 128555},
+ {128556, 128556},
+ {128557, 128557},
+ {128558, 128559},
+ {128560, 128563},
+ {128564, 128564},
+ {128565, 128565},
+ {128566, 128566},
+ {128567, 128576},
+ {128577, 128580},
+ {128581, 128591},
+ {128640, 128640},
+ {128641, 128642},
+ {128643, 128645},
+ {128646, 128646},
+ {128647, 128647},
+ {128648, 128648},
+ {128649, 128649},
+ {128650, 128651},
+ {128652, 128652},
+ {128653, 128653},
+ {128654, 128654},
+ {128655, 128655},
+ {128656, 128656},
+ {128657, 128659},
+ {128660, 128660},
+ {128661, 128661},
+ {128662, 128662},
+ {128663, 128663},
+ {128664, 128664},
+ {128665, 128666},
+ {128667, 128673},
+ {128674, 128674},
+ {128675, 128675},
+ {128676, 128677},
+ {128678, 128678},
+ {128679, 128685},
+ {128686, 128689},
+ {128690, 128690},
+ {128691, 128693},
+ {128694, 128694},
+ {128695, 128696},
+ {128697, 128702},
+ {128703, 128703},
+ {128704, 128704},
+ {128705, 128709},
+ {128716, 128716},
+ {128720, 128720},
+ {128721, 128722},
+ {128725, 128725},
+ {128726, 128727},
+ {128747, 128748},
+ {128756, 128758},
+ {128759, 128760},
+ {128761, 128761},
+ {128762, 128762},
+ {128763, 128764},
+ {128992, 129003},
+ {129292, 129292},
+ {129293, 129295},
+ {129296, 129304},
+ {129305, 129310},
+ {129311, 129311},
+ {129312, 129319},
+ {129320, 129327},
+ {129328, 129328},
+ {129329, 129330},
+ {129331, 129338},
+ {129340, 129342},
+ {129343, 129343},
+ {129344, 129349},
+ {129351, 129355},
+ {129356, 129356},
+ {129357, 129359},
+ {129360, 129374},
+ {129375, 129387},
+ {129388, 129392},
+ {129393, 129393},
+ {129394, 129394},
+ {129395, 129398},
+ {129399, 129400},
+ {129402, 129402},
+ {129403, 129403},
+ {129404, 129407},
+ {129408, 129412},
+ {129413, 129425},
+ {129426, 129431},
+ {129432, 129442},
+ {129443, 129444},
+ {129445, 129450},
+ {129451, 129453},
+ {129454, 129455},
+ {129456, 129465},
+ {129466, 129471},
+ {129472, 129472},
+ {129473, 129474},
+ {129475, 129482},
+ {129483, 129483},
+ {129485, 129487},
+ {129488, 129510},
+ {129511, 129535},
+ {129648, 129651},
+ {129652, 129652},
+ {129656, 129658},
+ {129664, 129666},
+ {129667, 129670},
+ {129680, 129685},
+ {129686, 129704},
+ {129712, 129718},
+ {129728, 129730},
+ {129744, 129750},
+};
+
+static const char32_t unicode_emoji_emoji_modifier_lookup[][2]={
+ {127995, 127999},
+};
+
+static const char32_t unicode_emoji_emoji_modifier_base_lookup[][2]={
+ {9757, 9757},
+ {9977, 9977},
+ {9994, 9996},
+ {9997, 9997},
+ {127877, 127877},
+ {127938, 127940},
+ {127943, 127943},
+ {127946, 127946},
+ {127947, 127948},
+ {128066, 128067},
+ {128070, 128080},
+ {128102, 128107},
+ {128108, 128109},
+ {128110, 128120},
+ {128124, 128124},
+ {128129, 128131},
+ {128133, 128135},
+ {128143, 128143},
+ {128145, 128145},
+ {128170, 128170},
+ {128372, 128373},
+ {128378, 128378},
+ {128400, 128400},
+ {128405, 128406},
+ {128581, 128583},
+ {128587, 128591},
+ {128675, 128675},
+ {128692, 128693},
+ {128694, 128694},
+ {128704, 128704},
+ {128716, 128716},
+ {129292, 129292},
+ {129295, 129295},
+ {129304, 129304},
+ {129305, 129310},
+ {129311, 129311},
+ {129318, 129318},
+ {129328, 129328},
+ {129329, 129330},
+ {129331, 129337},
+ {129340, 129342},
+ {129399, 129399},
+ {129461, 129462},
+ {129464, 129465},
+ {129467, 129467},
+ {129485, 129487},
+ {129489, 129501},
+};
+
+static const char32_t unicode_emoji_emoji_component_lookup[][2]={
+ {35, 35},
+ {42, 42},
+ {48, 57},
+ {8205, 8205},
+ {8419, 8419},
+ {65039, 65039},
+ {127462, 127487},
+ {127995, 127999},
+ {129456, 129459},
+ {917536, 917631},
+};
+
+static const char32_t unicode_emoji_extended_pictographic_lookup[][2]={
+ {169, 169},
+ {174, 174},
+ {8252, 8252},
+ {8265, 8265},
+ {8482, 8482},
+ {8505, 8505},
+ {8596, 8601},
+ {8617, 8618},
+ {8986, 8987},
+ {9000, 9000},
+ {9096, 9096},
+ {9167, 9167},
+ {9193, 9196},
+ {9197, 9198},
+ {9199, 9199},
+ {9200, 9200},
+ {9201, 9202},
+ {9203, 9203},
+ {9208, 9210},
+ {9410, 9410},
+ {9642, 9643},
+ {9654, 9654},
+ {9664, 9664},
+ {9723, 9726},
+ {9728, 9729},
+ {9730, 9731},
+ {9732, 9732},
+ {9733, 9733},
+ {9735, 9741},
+ {9742, 9742},
+ {9743, 9744},
+ {9745, 9745},
+ {9746, 9746},
+ {9748, 9749},
+ {9750, 9751},
+ {9752, 9752},
+ {9753, 9756},
+ {9757, 9757},
+ {9758, 9759},
+ {9760, 9760},
+ {9761, 9761},
+ {9762, 9763},
+ {9764, 9765},
+ {9766, 9766},
+ {9767, 9769},
+ {9770, 9770},
+ {9771, 9773},
+ {9774, 9774},
+ {9775, 9775},
+ {9776, 9783},
+ {9784, 9785},
+ {9786, 9786},
+ {9787, 9791},
+ {9792, 9792},
+ {9793, 9793},
+ {9794, 9794},
+ {9795, 9799},
+ {9800, 9811},
+ {9812, 9822},
+ {9823, 9823},
+ {9824, 9824},
+ {9825, 9826},
+ {9827, 9827},
+ {9828, 9828},
+ {9829, 9830},
+ {9831, 9831},
+ {9832, 9832},
+ {9833, 9850},
+ {9851, 9851},
+ {9852, 9853},
+ {9854, 9854},
+ {9855, 9855},
+ {9856, 9861},
+ {9872, 9873},
+ {9874, 9874},
+ {9875, 9875},
+ {9876, 9876},
+ {9877, 9877},
+ {9878, 9879},
+ {9880, 9880},
+ {9881, 9881},
+ {9882, 9882},
+ {9883, 9884},
+ {9885, 9887},
+ {9888, 9889},
+ {9890, 9894},
+ {9895, 9895},
+ {9896, 9897},
+ {9898, 9899},
+ {9900, 9903},
+ {9904, 9905},
+ {9906, 9916},
+ {9917, 9918},
+ {9919, 9923},
+ {9924, 9925},
+ {9926, 9927},
+ {9928, 9928},
+ {9929, 9933},
+ {9934, 9934},
+ {9935, 9935},
+ {9936, 9936},
+ {9937, 9937},
+ {9938, 9938},
+ {9939, 9939},
+ {9940, 9940},
+ {9941, 9960},
+ {9961, 9961},
+ {9962, 9962},
+ {9963, 9967},
+ {9968, 9969},
+ {9970, 9971},
+ {9972, 9972},
+ {9973, 9973},
+ {9974, 9974},
+ {9975, 9977},
+ {9978, 9978},
+ {9979, 9980},
+ {9981, 9981},
+ {9982, 9985},
+ {9986, 9986},
+ {9987, 9988},
+ {9989, 9989},
+ {9992, 9996},
+ {9997, 9997},
+ {9998, 9998},
+ {9999, 9999},
+ {10000, 10001},
+ {10002, 10002},
+ {10004, 10004},
+ {10006, 10006},
+ {10013, 10013},
+ {10017, 10017},
+ {10024, 10024},
+ {10035, 10036},
+ {10052, 10052},
+ {10055, 10055},
+ {10060, 10060},
+ {10062, 10062},
+ {10067, 10069},
+ {10071, 10071},
+ {10083, 10083},
+ {10084, 10084},
+ {10085, 10087},
+ {10133, 10135},
+ {10145, 10145},
+ {10160, 10160},
+ {10175, 10175},
+ {10548, 10549},
+ {11013, 11015},
+ {11035, 11036},
+ {11088, 11088},
+ {11093, 11093},
+ {12336, 12336},
+ {12349, 12349},
+ {12951, 12951},
+ {12953, 12953},
+ {126976, 126979},
+ {126980, 126980},
+ {126981, 127182},
+ {127183, 127183},
+ {127184, 127231},
+ {127245, 127247},
+ {127279, 127279},
+ {127340, 127343},
+ {127344, 127345},
+ {127358, 127359},
+ {127374, 127374},
+ {127377, 127386},
+ {127405, 127461},
+ {127489, 127490},
+ {127491, 127503},
+ {127514, 127514},
+ {127535, 127535},
+ {127538, 127546},
+ {127548, 127551},
+ {127561, 127567},
+ {127568, 127569},
+ {127570, 127743},
+ {127744, 127756},
+ {127757, 127758},
+ {127759, 127759},
+ {127760, 127760},
+ {127761, 127761},
+ {127762, 127762},
+ {127763, 127765},
+ {127766, 127768},
+ {127769, 127769},
+ {127770, 127770},
+ {127771, 127771},
+ {127772, 127772},
+ {127773, 127774},
+ {127775, 127776},
+ {127777, 127777},
+ {127778, 127779},
+ {127780, 127788},
+ {127789, 127791},
+ {127792, 127793},
+ {127794, 127795},
+ {127796, 127797},
+ {127798, 127798},
+ {127799, 127818},
+ {127819, 127819},
+ {127820, 127823},
+ {127824, 127824},
+ {127825, 127867},
+ {127868, 127868},
+ {127869, 127869},
+ {127870, 127871},
+ {127872, 127891},
+ {127892, 127893},
+ {127894, 127895},
+ {127896, 127896},
+ {127897, 127899},
+ {127900, 127901},
+ {127902, 127903},
+ {127904, 127940},
+ {127941, 127941},
+ {127942, 127942},
+ {127943, 127943},
+ {127944, 127944},
+ {127945, 127945},
+ {127946, 127946},
+ {127947, 127950},
+ {127951, 127955},
+ {127956, 127967},
+ {127968, 127971},
+ {127972, 127972},
+ {127973, 127984},
+ {127985, 127986},
+ {127987, 127987},
+ {127988, 127988},
+ {127989, 127989},
+ {127990, 127990},
+ {127991, 127991},
+ {127992, 127994},
+ {128000, 128007},
+ {128008, 128008},
+ {128009, 128011},
+ {128012, 128014},
+ {128015, 128016},
+ {128017, 128018},
+ {128019, 128019},
+ {128020, 128020},
+ {128021, 128021},
+ {128022, 128022},
+ {128023, 128041},
+ {128042, 128042},
+ {128043, 128062},
+ {128063, 128063},
+ {128064, 128064},
+ {128065, 128065},
+ {128066, 128100},
+ {128101, 128101},
+ {128102, 128107},
+ {128108, 128109},
+ {128110, 128172},
+ {128173, 128173},
+ {128174, 128181},
+ {128182, 128183},
+ {128184, 128235},
+ {128236, 128237},
+ {128238, 128238},
+ {128239, 128239},
+ {128240, 128244},
+ {128245, 128245},
+ {128246, 128247},
+ {128248, 128248},
+ {128249, 128252},
+ {128253, 128253},
+ {128254, 128254},
+ {128255, 128258},
+ {128259, 128259},
+ {128260, 128263},
+ {128264, 128264},
+ {128265, 128265},
+ {128266, 128276},
+ {128277, 128277},
+ {128278, 128299},
+ {128300, 128301},
+ {128302, 128317},
+ {128326, 128328},
+ {128329, 128330},
+ {128331, 128334},
+ {128335, 128335},
+ {128336, 128347},
+ {128348, 128359},
+ {128360, 128366},
+ {128367, 128368},
+ {128369, 128370},
+ {128371, 128377},
+ {128378, 128378},
+ {128379, 128390},
+ {128391, 128391},
+ {128392, 128393},
+ {128394, 128397},
+ {128398, 128399},
+ {128400, 128400},
+ {128401, 128404},
+ {128405, 128406},
+ {128407, 128419},
+ {128420, 128420},
+ {128421, 128421},
+ {128422, 128423},
+ {128424, 128424},
+ {128425, 128432},
+ {128433, 128434},
+ {128435, 128443},
+ {128444, 128444},
+ {128445, 128449},
+ {128450, 128452},
+ {128453, 128464},
+ {128465, 128467},
+ {128468, 128475},
+ {128476, 128478},
+ {128479, 128480},
+ {128481, 128481},
+ {128482, 128482},
+ {128483, 128483},
+ {128484, 128487},
+ {128488, 128488},
+ {128489, 128494},
+ {128495, 128495},
+ {128496, 128498},
+ {128499, 128499},
+ {128500, 128505},
+ {128506, 128506},
+ {128507, 128511},
+ {128512, 128512},
+ {128513, 128518},
+ {128519, 128520},
+ {128521, 128525},
+ {128526, 128526},
+ {128527, 128527},
+ {128528, 128528},
+ {128529, 128529},
+ {128530, 128532},
+ {128533, 128533},
+ {128534, 128534},
+ {128535, 128535},
+ {128536, 128536},
+ {128537, 128537},
+ {128538, 128538},
+ {128539, 128539},
+ {128540, 128542},
+ {128543, 128543},
+ {128544, 128549},
+ {128550, 128551},
+ {128552, 128555},
+ {128556, 128556},
+ {128557, 128557},
+ {128558, 128559},
+ {128560, 128563},
+ {128564, 128564},
+ {128565, 128565},
+ {128566, 128566},
+ {128567, 128576},
+ {128577, 128580},
+ {128581, 128591},
+ {128640, 128640},
+ {128641, 128642},
+ {128643, 128645},
+ {128646, 128646},
+ {128647, 128647},
+ {128648, 128648},
+ {128649, 128649},
+ {128650, 128651},
+ {128652, 128652},
+ {128653, 128653},
+ {128654, 128654},
+ {128655, 128655},
+ {128656, 128656},
+ {128657, 128659},
+ {128660, 128660},
+ {128661, 128661},
+ {128662, 128662},
+ {128663, 128663},
+ {128664, 128664},
+ {128665, 128666},
+ {128667, 128673},
+ {128674, 128674},
+ {128675, 128675},
+ {128676, 128677},
+ {128678, 128678},
+ {128679, 128685},
+ {128686, 128689},
+ {128690, 128690},
+ {128691, 128693},
+ {128694, 128694},
+ {128695, 128696},
+ {128697, 128702},
+ {128703, 128703},
+ {128704, 128704},
+ {128705, 128709},
+ {128710, 128714},
+ {128715, 128715},
+ {128716, 128716},
+ {128717, 128719},
+ {128720, 128720},
+ {128721, 128722},
+ {128723, 128724},
+ {128725, 128725},
+ {128726, 128727},
+ {128728, 128735},
+ {128736, 128741},
+ {128742, 128744},
+ {128745, 128745},
+ {128746, 128746},
+ {128747, 128748},
+ {128749, 128751},
+ {128752, 128752},
+ {128753, 128754},
+ {128755, 128755},
+ {128756, 128758},
+ {128759, 128760},
+ {128761, 128761},
+ {128762, 128762},
+ {128763, 128764},
+ {128765, 128767},
+ {128884, 128895},
+ {128981, 128991},
+ {128992, 129003},
+ {129004, 129023},
+ {129036, 129039},
+ {129096, 129103},
+ {129114, 129119},
+ {129160, 129167},
+ {129198, 129279},
+ {129292, 129292},
+ {129293, 129295},
+ {129296, 129304},
+ {129305, 129310},
+ {129311, 129311},
+ {129312, 129319},
+ {129320, 129327},
+ {129328, 129328},
+ {129329, 129330},
+ {129331, 129338},
+ {129340, 129342},
+ {129343, 129343},
+ {129344, 129349},
+ {129351, 129355},
+ {129356, 129356},
+ {129357, 129359},
+ {129360, 129374},
+ {129375, 129387},
+ {129388, 129392},
+ {129393, 129393},
+ {129394, 129394},
+ {129395, 129398},
+ {129399, 129400},
+ {129401, 129401},
+ {129402, 129402},
+ {129403, 129403},
+ {129404, 129407},
+ {129408, 129412},
+ {129413, 129425},
+ {129426, 129431},
+ {129432, 129442},
+ {129443, 129444},
+ {129445, 129450},
+ {129451, 129453},
+ {129454, 129455},
+ {129456, 129465},
+ {129466, 129471},
+ {129472, 129472},
+ {129473, 129474},
+ {129475, 129482},
+ {129483, 129483},
+ {129484, 129484},
+ {129485, 129487},
+ {129488, 129510},
+ {129511, 129535},
+ {129536, 129647},
+ {129648, 129651},
+ {129652, 129652},
+ {129653, 129655},
+ {129656, 129658},
+ {129659, 129663},
+ {129664, 129666},
+ {129667, 129670},
+ {129671, 129679},
+ {129680, 129685},
+ {129686, 129704},
+ {129705, 129711},
+ {129712, 129718},
+ {129719, 129727},
+ {129728, 129730},
+ {129731, 129743},
+ {129744, 129750},
+ {129751, 129791},
+ {130048, 131069},
+};
+
diff --git a/unicode/graphemebreaktab.h b/unicode/graphemebreaktab.h
index bba8667..09e63c3 100644
--- a/unicode/graphemebreaktab.h
+++ b/unicode/graphemebreaktab.h
@@ -28,11 +28,14 @@ static const uint8_t unicode_rangetab[][2]={
{0x0730 & 0xFF, 0x074a & 0xFF},
{0x07a6 & 0xFF, 0x07b0 & 0xFF},
{0x07eb & 0xFF, 0x07f3 & 0xFF},
+ {0x07fd & 0xFF, 0x07fd & 0xFF},
{0x0816 & 0xFF, 0x0819 & 0xFF},
{0x081b & 0xFF, 0x0823 & 0xFF},
{0x0825 & 0xFF, 0x0827 & 0xFF},
{0x0829 & 0xFF, 0x082d & 0xFF},
{0x0859 & 0xFF, 0x085b & 0xFF},
+ {0x08d3 & 0xFF, 0x08e1 & 0xFF},
+ {0x08e2 & 0xFF, 0x08e2 & 0xFF},
{0x08e3 & 0xFF, 0x08ff & 0xFF},
{0x0900 & 0xFF, 0x0902 & 0xFF},
{0x0903 & 0xFF, 0x0903 & 0xFF},
@@ -57,6 +60,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x09cd & 0xFF, 0x09cd & 0xFF},
{0x09d7 & 0xFF, 0x09d7 & 0xFF},
{0x09e2 & 0xFF, 0x09e3 & 0xFF},
+ {0x09fe & 0xFF, 0x09fe & 0xFF},
{0x0a01 & 0xFF, 0x0a02 & 0xFF},
{0x0a03 & 0xFF, 0x0a03 & 0xFF},
{0x0a3c & 0xFF, 0x0a3c & 0xFF},
@@ -77,6 +81,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0acb & 0xFF, 0x0acc & 0xFF},
{0x0acd & 0xFF, 0x0acd & 0xFF},
{0x0ae2 & 0xFF, 0x0ae3 & 0xFF},
+ {0x0afa & 0xFF, 0x0aff & 0xFF},
{0x0b01 & 0xFF, 0x0b01 & 0xFF},
{0x0b02 & 0xFF, 0x0b03 & 0xFF},
{0x0b3c & 0xFF, 0x0b3c & 0xFF},
@@ -86,7 +91,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0b47 & 0xFF, 0x0b48 & 0xFF},
{0x0b4b & 0xFF, 0x0b4c & 0xFF},
{0x0b4d & 0xFF, 0x0b4d & 0xFF},
- {0x0b56 & 0xFF, 0x0b57 & 0xFF},
+ {0x0b55 & 0xFF, 0x0b57 & 0xFF},
{0x0b62 & 0xFF, 0x0b63 & 0xFF},
{0x0b82 & 0xFF, 0x0b82 & 0xFF},
{0x0bbe & 0xFF, 0x0bbe & 0xFF},
@@ -99,6 +104,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0bd7 & 0xFF, 0x0bd7 & 0xFF},
{0x0c00 & 0xFF, 0x0c00 & 0xFF},
{0x0c01 & 0xFF, 0x0c03 & 0xFF},
+ {0x0c04 & 0xFF, 0x0c04 & 0xFF},
{0x0c3e & 0xFF, 0x0c40 & 0xFF},
{0x0c41 & 0xFF, 0x0c44 & 0xFF},
{0x0c46 & 0xFF, 0x0c48 & 0xFF},
@@ -119,16 +125,19 @@ static const uint8_t unicode_rangetab[][2]={
{0x0ccc & 0xFF, 0x0ccd & 0xFF},
{0x0cd5 & 0xFF, 0x0cd6 & 0xFF},
{0x0ce2 & 0xFF, 0x0ce3 & 0xFF},
- {0x0d01 & 0xFF, 0x0d01 & 0xFF},
+ {0x0d00 & 0xFF, 0x0d01 & 0xFF},
{0x0d02 & 0xFF, 0x0d03 & 0xFF},
+ {0x0d3b & 0xFF, 0x0d3c & 0xFF},
{0x0d3e & 0xFF, 0x0d3e & 0xFF},
{0x0d3f & 0xFF, 0x0d40 & 0xFF},
{0x0d41 & 0xFF, 0x0d44 & 0xFF},
{0x0d46 & 0xFF, 0x0d48 & 0xFF},
{0x0d4a & 0xFF, 0x0d4c & 0xFF},
{0x0d4d & 0xFF, 0x0d4d & 0xFF},
+ {0x0d4e & 0xFF, 0x0d4e & 0xFF},
{0x0d57 & 0xFF, 0x0d57 & 0xFF},
{0x0d62 & 0xFF, 0x0d63 & 0xFF},
+ {0x0d81 & 0xFF, 0x0d81 & 0xFF},
{0x0d82 & 0xFF, 0x0d83 & 0xFF},
{0x0dca & 0xFF, 0x0dca & 0xFF},
{0x0dcf & 0xFF, 0x0dcf & 0xFF},
@@ -144,8 +153,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0e47 & 0xFF, 0x0e4e & 0xFF},
{0x0eb1 & 0xFF, 0x0eb1 & 0xFF},
{0x0eb3 & 0xFF, 0x0eb3 & 0xFF},
- {0x0eb4 & 0xFF, 0x0eb9 & 0xFF},
- {0x0ebb & 0xFF, 0x0ebc & 0xFF},
+ {0x0eb4 & 0xFF, 0x0ebc & 0xFF},
{0x0ec8 & 0xFF, 0x0ecd & 0xFF},
{0x0f18 & 0xFF, 0x0f19 & 0xFF},
{0x0f35 & 0xFF, 0x0f35 & 0xFF},
@@ -192,6 +200,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x17dd & 0xFF, 0x17dd & 0xFF},
{0x180b & 0xFF, 0x180d & 0xFF},
{0x180e & 0xFF, 0x180e & 0xFF},
+ {0x1885 & 0xFF, 0x1886 & 0xFF},
{0x18a9 & 0xFF, 0x18a9 & 0xFF},
{0x1920 & 0xFF, 0x1922 & 0xFF},
{0x1923 & 0xFF, 0x1926 & 0xFF},
@@ -214,12 +223,10 @@ static const uint8_t unicode_rangetab[][2]={
{0x1a6d & 0xFF, 0x1a72 & 0xFF},
{0x1a73 & 0xFF, 0x1a7c & 0xFF},
{0x1a7f & 0xFF, 0x1a7f & 0xFF},
- {0x1ab0 & 0xFF, 0x1abe & 0xFF},
+ {0x1ab0 & 0xFF, 0x1ac0 & 0xFF},
{0x1b00 & 0xFF, 0x1b03 & 0xFF},
{0x1b04 & 0xFF, 0x1b04 & 0xFF},
- {0x1b34 & 0xFF, 0x1b34 & 0xFF},
- {0x1b35 & 0xFF, 0x1b35 & 0xFF},
- {0x1b36 & 0xFF, 0x1b3a & 0xFF},
+ {0x1b34 & 0xFF, 0x1b3a & 0xFF},
{0x1b3b & 0xFF, 0x1b3b & 0xFF},
{0x1b3c & 0xFF, 0x1b3c & 0xFF},
{0x1b3d & 0xFF, 0x1b41 & 0xFF},
@@ -251,13 +258,14 @@ static const uint8_t unicode_rangetab[][2]={
{0x1ce1 & 0xFF, 0x1ce1 & 0xFF},
{0x1ce2 & 0xFF, 0x1ce8 & 0xFF},
{0x1ced & 0xFF, 0x1ced & 0xFF},
- {0x1cf2 & 0xFF, 0x1cf3 & 0xFF},
{0x1cf4 & 0xFF, 0x1cf4 & 0xFF},
+ {0x1cf7 & 0xFF, 0x1cf7 & 0xFF},
{0x1cf8 & 0xFF, 0x1cf9 & 0xFF},
- {0x1dc0 & 0xFF, 0x1df5 & 0xFF},
- {0x1dfc & 0xFF, 0x1dff & 0xFF},
+ {0x1dc0 & 0xFF, 0x1df9 & 0xFF},
+ {0x1dfb & 0xFF, 0x1dff & 0xFF},
{0x200b & 0xFF, 0x200b & 0xFF},
- {0x200c & 0xFF, 0x200d & 0xFF},
+ {0x200c & 0xFF, 0x200c & 0xFF},
+ {0x200d & 0xFF, 0x200d & 0xFF},
{0x200e & 0xFF, 0x200f & 0xFF},
{0x2028 & 0xFF, 0x202e & 0xFF},
{0x2060 & 0xFF, 0x206f & 0xFF},
@@ -277,10 +285,12 @@ static const uint8_t unicode_rangetab[][2]={
{0xa823 & 0xFF, 0xa824 & 0xFF},
{0xa825 & 0xFF, 0xa826 & 0xFF},
{0xa827 & 0xFF, 0xa827 & 0xFF},
+ {0xa82c & 0xFF, 0xa82c & 0xFF},
{0xa880 & 0xFF, 0xa881 & 0xFF},
{0xa8b4 & 0xFF, 0xa8c3 & 0xFF},
- {0xa8c4 & 0xFF, 0xa8c4 & 0xFF},
+ {0xa8c4 & 0xFF, 0xa8c5 & 0xFF},
{0xa8e0 & 0xFF, 0xa8f1 & 0xFF},
+ {0xa8ff & 0xFF, 0xa8ff & 0xFF},
{0xa926 & 0xFF, 0xa92d & 0xFF},
{0xa947 & 0xFF, 0xa951 & 0xFF},
{0xa952 & 0xFF, 0xa953 & 0xFF},
@@ -291,8 +301,8 @@ static const uint8_t unicode_rangetab[][2]={
{0xa9b4 & 0xFF, 0xa9b5 & 0xFF},
{0xa9b6 & 0xFF, 0xa9b9 & 0xFF},
{0xa9ba & 0xFF, 0xa9bb & 0xFF},
- {0xa9bc & 0xFF, 0xa9bc & 0xFF},
- {0xa9bd & 0xFF, 0xa9c0 & 0xFF},
+ {0xa9bc & 0xFF, 0xa9bd & 0xFF},
+ {0xa9be & 0xFF, 0xa9c0 & 0xFF},
{0xa9e5 & 0xFF, 0xa9e5 & 0xFF},
{0xaa29 & 0xFF, 0xaa2e & 0xFF},
{0xaa2f & 0xFF, 0xaa30 & 0xFF},
@@ -1157,14 +1167,6 @@ static const uint8_t unicode_rangetab[][2]={
{0xd789 & 0xFF, 0xd7a3 & 0xFF},
{0xd7b0 & 0xFF, 0xd7c6 & 0xFF},
{0xd7cb & 0xFF, 0xd7fb & 0xFF},
- {0xd800 & 0xFF, 0xd8ff & 0xFF},
- {0xd900 & 0xFF, 0xd9ff & 0xFF},
- {0xda00 & 0xFF, 0xdaff & 0xFF},
- {0xdb00 & 0xFF, 0xdbff & 0xFF},
- {0xdc00 & 0xFF, 0xdcff & 0xFF},
- {0xdd00 & 0xFF, 0xddff & 0xFF},
- {0xde00 & 0xFF, 0xdeff & 0xFF},
- {0xdf00 & 0xFF, 0xdfff & 0xFF},
{0xfb1e & 0xFF, 0xfb1e & 0xFF},
{0xfe00 & 0xFF, 0xfe0f & 0xFF},
{0xfe20 & 0xFF, 0xfe2f & 0xFF},
@@ -1180,6 +1182,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x10a38 & 0xFF, 0x10a3a & 0xFF},
{0x10a3f & 0xFF, 0x10a3f & 0xFF},
{0x10ae5 & 0xFF, 0x10ae6 & 0xFF},
+ {0x10d24 & 0xFF, 0x10d27 & 0xFF},
+ {0x10eab & 0xFF, 0x10eac & 0xFF},
+ {0x10f46 & 0xFF, 0x10f50 & 0xFF},
{0x11000 & 0xFF, 0x11000 & 0xFF},
{0x11001 & 0xFF, 0x11001 & 0xFF},
{0x11002 & 0xFF, 0x11002 & 0xFF},
@@ -1191,29 +1196,35 @@ static const uint8_t unicode_rangetab[][2]={
{0x110b7 & 0xFF, 0x110b8 & 0xFF},
{0x110b9 & 0xFF, 0x110ba & 0xFF},
{0x110bd & 0xFF, 0x110bd & 0xFF},
+ {0x110cd & 0xFF, 0x110cd & 0xFF},
{0x11100 & 0xFF, 0x11102 & 0xFF},
{0x11127 & 0xFF, 0x1112b & 0xFF},
{0x1112c & 0xFF, 0x1112c & 0xFF},
{0x1112d & 0xFF, 0x11134 & 0xFF},
+ {0x11145 & 0xFF, 0x11146 & 0xFF},
{0x11173 & 0xFF, 0x11173 & 0xFF},
{0x11180 & 0xFF, 0x11181 & 0xFF},
{0x11182 & 0xFF, 0x11182 & 0xFF},
{0x111b3 & 0xFF, 0x111b5 & 0xFF},
{0x111b6 & 0xFF, 0x111be & 0xFF},
{0x111bf & 0xFF, 0x111c0 & 0xFF},
- {0x111ca & 0xFF, 0x111cc & 0xFF},
+ {0x111c2 & 0xFF, 0x111c3 & 0xFF},
+ {0x111c9 & 0xFF, 0x111cc & 0xFF},
+ {0x111ce & 0xFF, 0x111ce & 0xFF},
+ {0x111cf & 0xFF, 0x111cf & 0xFF},
{0x1122c & 0xFF, 0x1122e & 0xFF},
{0x1122f & 0xFF, 0x11231 & 0xFF},
{0x11232 & 0xFF, 0x11233 & 0xFF},
{0x11234 & 0xFF, 0x11234 & 0xFF},
{0x11235 & 0xFF, 0x11235 & 0xFF},
{0x11236 & 0xFF, 0x11237 & 0xFF},
+ {0x1123e & 0xFF, 0x1123e & 0xFF},
{0x112df & 0xFF, 0x112df & 0xFF},
{0x112e0 & 0xFF, 0x112e2 & 0xFF},
{0x112e3 & 0xFF, 0x112ea & 0xFF},
{0x11300 & 0xFF, 0x11301 & 0xFF},
{0x11302 & 0xFF, 0x11303 & 0xFF},
- {0x1133c & 0xFF, 0x1133c & 0xFF},
+ {0x1133b & 0xFF, 0x1133c & 0xFF},
{0x1133e & 0xFF, 0x1133e & 0xFF},
{0x1133f & 0xFF, 0x1133f & 0xFF},
{0x11340 & 0xFF, 0x11340 & 0xFF},
@@ -1224,6 +1235,13 @@ static const uint8_t unicode_rangetab[][2]={
{0x11362 & 0xFF, 0x11363 & 0xFF},
{0x11366 & 0xFF, 0x1136c & 0xFF},
{0x11370 & 0xFF, 0x11374 & 0xFF},
+ {0x11435 & 0xFF, 0x11437 & 0xFF},
+ {0x11438 & 0xFF, 0x1143f & 0xFF},
+ {0x11440 & 0xFF, 0x11441 & 0xFF},
+ {0x11442 & 0xFF, 0x11444 & 0xFF},
+ {0x11445 & 0xFF, 0x11445 & 0xFF},
+ {0x11446 & 0xFF, 0x11446 & 0xFF},
+ {0x1145e & 0xFF, 0x1145e & 0xFF},
{0x114b0 & 0xFF, 0x114b0 & 0xFF},
{0x114b1 & 0xFF, 0x114b2 & 0xFF},
{0x114b3 & 0xFF, 0x114b8 & 0xFF},
@@ -1261,10 +1279,74 @@ static const uint8_t unicode_rangetab[][2]={
{0x11722 & 0xFF, 0x11725 & 0xFF},
{0x11726 & 0xFF, 0x11726 & 0xFF},
{0x11727 & 0xFF, 0x1172b & 0xFF},
+ {0x1182c & 0xFF, 0x1182e & 0xFF},
+ {0x1182f & 0xFF, 0x11837 & 0xFF},
+ {0x11838 & 0xFF, 0x11838 & 0xFF},
+ {0x11839 & 0xFF, 0x1183a & 0xFF},
+ {0x11930 & 0xFF, 0x11930 & 0xFF},
+ {0x11931 & 0xFF, 0x11935 & 0xFF},
+ {0x11937 & 0xFF, 0x11938 & 0xFF},
+ {0x1193b & 0xFF, 0x1193c & 0xFF},
+ {0x1193d & 0xFF, 0x1193d & 0xFF},
+ {0x1193e & 0xFF, 0x1193e & 0xFF},
+ {0x1193f & 0xFF, 0x1193f & 0xFF},
+ {0x11940 & 0xFF, 0x11940 & 0xFF},
+ {0x11941 & 0xFF, 0x11941 & 0xFF},
+ {0x11942 & 0xFF, 0x11942 & 0xFF},
+ {0x11943 & 0xFF, 0x11943 & 0xFF},
+ {0x119d1 & 0xFF, 0x119d3 & 0xFF},
+ {0x119d4 & 0xFF, 0x119d7 & 0xFF},
+ {0x119da & 0xFF, 0x119db & 0xFF},
+ {0x119dc & 0xFF, 0x119df & 0xFF},
+ {0x119e0 & 0xFF, 0x119e0 & 0xFF},
+ {0x119e4 & 0xFF, 0x119e4 & 0xFF},
+ {0x11a01 & 0xFF, 0x11a0a & 0xFF},
+ {0x11a33 & 0xFF, 0x11a38 & 0xFF},
+ {0x11a39 & 0xFF, 0x11a39 & 0xFF},
+ {0x11a3a & 0xFF, 0x11a3a & 0xFF},
+ {0x11a3b & 0xFF, 0x11a3e & 0xFF},
+ {0x11a47 & 0xFF, 0x11a47 & 0xFF},
+ {0x11a51 & 0xFF, 0x11a56 & 0xFF},
+ {0x11a57 & 0xFF, 0x11a58 & 0xFF},
+ {0x11a59 & 0xFF, 0x11a5b & 0xFF},
+ {0x11a84 & 0xFF, 0x11a89 & 0xFF},
+ {0x11a8a & 0xFF, 0x11a96 & 0xFF},
+ {0x11a97 & 0xFF, 0x11a97 & 0xFF},
+ {0x11a98 & 0xFF, 0x11a99 & 0xFF},
+ {0x11c2f & 0xFF, 0x11c2f & 0xFF},
+ {0x11c30 & 0xFF, 0x11c36 & 0xFF},
+ {0x11c38 & 0xFF, 0x11c3d & 0xFF},
+ {0x11c3e & 0xFF, 0x11c3e & 0xFF},
+ {0x11c3f & 0xFF, 0x11c3f & 0xFF},
+ {0x11c92 & 0xFF, 0x11ca7 & 0xFF},
+ {0x11ca9 & 0xFF, 0x11ca9 & 0xFF},
+ {0x11caa & 0xFF, 0x11cb0 & 0xFF},
+ {0x11cb1 & 0xFF, 0x11cb1 & 0xFF},
+ {0x11cb2 & 0xFF, 0x11cb3 & 0xFF},
+ {0x11cb4 & 0xFF, 0x11cb4 & 0xFF},
+ {0x11cb5 & 0xFF, 0x11cb6 & 0xFF},
+ {0x11d31 & 0xFF, 0x11d36 & 0xFF},
+ {0x11d3a & 0xFF, 0x11d3a & 0xFF},
+ {0x11d3c & 0xFF, 0x11d3d & 0xFF},
+ {0x11d3f & 0xFF, 0x11d45 & 0xFF},
+ {0x11d46 & 0xFF, 0x11d46 & 0xFF},
+ {0x11d47 & 0xFF, 0x11d47 & 0xFF},
+ {0x11d8a & 0xFF, 0x11d8e & 0xFF},
+ {0x11d90 & 0xFF, 0x11d91 & 0xFF},
+ {0x11d93 & 0xFF, 0x11d94 & 0xFF},
+ {0x11d95 & 0xFF, 0x11d95 & 0xFF},
+ {0x11d96 & 0xFF, 0x11d96 & 0xFF},
+ {0x11d97 & 0xFF, 0x11d97 & 0xFF},
+ {0x11ef3 & 0xFF, 0x11ef4 & 0xFF},
+ {0x11ef5 & 0xFF, 0x11ef6 & 0xFF},
+ {0x13430 & 0xFF, 0x13438 & 0xFF},
{0x16af0 & 0xFF, 0x16af4 & 0xFF},
{0x16b30 & 0xFF, 0x16b36 & 0xFF},
- {0x16f51 & 0xFF, 0x16f7e & 0xFF},
+ {0x16f4f & 0xFF, 0x16f4f & 0xFF},
+ {0x16f51 & 0xFF, 0x16f87 & 0xFF},
{0x16f8f & 0xFF, 0x16f92 & 0xFF},
+ {0x16fe4 & 0xFF, 0x16fe4 & 0xFF},
+ {0x16ff0 & 0xFF, 0x16ff1 & 0xFF},
{0x1bc9d & 0xFF, 0x1bc9e & 0xFF},
{0x1bca0 & 0xFF, 0x1bca3 & 0xFF},
{0x1d165 & 0xFF, 0x1d165 & 0xFF},
@@ -1283,9 +1365,20 @@ static const uint8_t unicode_rangetab[][2]={
{0x1da84 & 0xFF, 0x1da84 & 0xFF},
{0x1da9b & 0xFF, 0x1da9f & 0xFF},
{0x1daa1 & 0xFF, 0x1daaf & 0xFF},
+ {0x1e000 & 0xFF, 0x1e006 & 0xFF},
+ {0x1e008 & 0xFF, 0x1e018 & 0xFF},
+ {0x1e01b & 0xFF, 0x1e021 & 0xFF},
+ {0x1e023 & 0xFF, 0x1e024 & 0xFF},
+ {0x1e026 & 0xFF, 0x1e02a & 0xFF},
+ {0x1e130 & 0xFF, 0x1e136 & 0xFF},
+ {0x1e2ec & 0xFF, 0x1e2ef & 0xFF},
{0x1e8d0 & 0xFF, 0x1e8d6 & 0xFF},
+ {0x1e944 & 0xFF, 0x1e94a & 0xFF},
{0x1f1e6 & 0xFF, 0x1f1ff & 0xFF},
- {0xe0000 & 0xFF, 0xe00ff & 0xFF},
+ {0x1f3fb & 0xFF, 0x1f3ff & 0xFF},
+ {0xe0000 & 0xFF, 0xe001f & 0xFF},
+ {0xe0020 & 0xFF, 0xe007f & 0xFF},
+ {0xe0080 & 0xFF, 0xe00ff & 0xFF},
{0xe0100 & 0xFF, 0xe01ef & 0xFF},
{0xe01f0 & 0xFF, 0xe01ff & 0xFF},
{0xe0200 & 0xFF, 0xe02ff & 0xFF},
@@ -1318,17 +1411,18 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
- UNICODE_GRAPHEMEBREAK_Control,
+ UNICODE_GRAPHEMEBREAK_Prepend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Control,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
- UNICODE_GRAPHEMEBREAK_Control,
+ UNICODE_GRAPHEMEBREAK_Prepend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
- UNICODE_GRAPHEMEBREAK_Control,
+ UNICODE_GRAPHEMEBREAK_Prepend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -1339,6 +1433,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Prepend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -1363,6 +1459,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
@@ -1383,6 +1480,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -1405,6 +1503,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -1427,11 +1526,14 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Prepend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
@@ -1455,7 +1557,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
- UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
@@ -1499,6 +1600,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Control,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
@@ -1529,8 +1631,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
- UNICODE_GRAPHEMEBREAK_SpacingMark,
- UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_SpacingMark,
@@ -1556,13 +1656,14 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
- UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Control,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_ZWJ,
UNICODE_GRAPHEMEBREAK_Control,
UNICODE_GRAPHEMEBREAK_Control,
UNICODE_GRAPHEMEBREAK_Control,
@@ -1582,12 +1683,14 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_L,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -2462,14 +2565,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_LVT,
UNICODE_GRAPHEMEBREAK_V,
UNICODE_GRAPHEMEBREAK_T,
- UNICODE_GRAPHEMEBREAK_Control,
- UNICODE_GRAPHEMEBREAK_Control,
- UNICODE_GRAPHEMEBREAK_Control,
- UNICODE_GRAPHEMEBREAK_Control,
- UNICODE_GRAPHEMEBREAK_Control,
- UNICODE_GRAPHEMEBREAK_Control,
- UNICODE_GRAPHEMEBREAK_Control,
- UNICODE_GRAPHEMEBREAK_Control,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -2485,6 +2580,9 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
@@ -2495,17 +2593,20 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
- UNICODE_GRAPHEMEBREAK_Control,
+ UNICODE_GRAPHEMEBREAK_Prepend,
+ UNICODE_GRAPHEMEBREAK_Prepend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Prepend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -2513,6 +2614,9 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -2529,6 +2633,13 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -2566,19 +2677,91 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Prepend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Prepend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Prepend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Prepend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Prepend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Control,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_SpacingMark,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Control,
UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_SpacingMark,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Control,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
@@ -2590,6 +2773,9 @@ static const uint8_t unicode_classtab[]={
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Regional_Indicator,
+ UNICODE_GRAPHEMEBREAK_Extend,
+ UNICODE_GRAPHEMEBREAK_Control,
+ UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Control,
UNICODE_GRAPHEMEBREAK_Extend,
UNICODE_GRAPHEMEBREAK_Control,
@@ -2617,3597 +2803,3597 @@ static const size_t unicode_indextab[]={
9,
14,
24,
- 29,
- 35,
- 58,
- 78,
- 98,
- 120,
- 139,
+ 30,
+ 38,
+ 62,
+ 83,
+ 103,
+ 126,
148,
- 160,
- 175,
- 178,
- 178,
- 179,
- 179,
- 179,
- 179,
- 191,
- 194,
- 202,
- 216,
- 243,
- 255,
- 257,
- 257,
- 257,
- 263,
- 263,
- 263,
- 263,
- 263,
- 263,
- 263,
- 263,
- 263,
- 263,
- 263,
- 263,
+ 156,
+ 168,
+ 183,
+ 186,
+ 186,
+ 187,
+ 187,
+ 187,
+ 187,
+ 199,
+ 203,
+ 211,
+ 225,
+ 250,
+ 262,
264,
- 266,
- 266,
- 266,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 268,
- 272,
+ 264,
+ 264,
+ 271,
+ 271,
+ 271,
+ 271,
+ 271,
+ 271,
+ 271,
+ 271,
+ 271,
+ 271,
+ 271,
+ 271,
272,
- 282,
- 295,
- 314,
- 321,
- 341,
- 360,
- 379,
- 398,
- 417,
- 436,
- 455,
- 475,
- 494,
- 513,
- 532,
- 551,
- 570,
- 589,
- 609,
- 628,
- 647,
- 666,
- 685,
- 704,
- 723,
- 743,
- 762,
- 781,
- 800,
- 819,
- 838,
- 857,
- 877,
- 896,
- 915,
- 934,
- 953,
- 972,
- 991,
- 1011,
- 1030,
- 1049,
- 1068,
- 1087,
- 1106,
- 1125,
- 1145,
- 1158,
- 1159,
- 1160,
- 1161,
- 1162,
- 1163,
- 1164,
- 1165,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1166,
- 1167,
- 1167,
- 1167,
- 1170,
- 1172,
+ 274,
+ 274,
+ 274,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 276,
+ 280,
+ 280,
+ 292,
+ 305,
+ 324,
+ 331,
+ 351,
+ 370,
+ 389,
+ 408,
+ 427,
+ 446,
+ 465,
+ 485,
+ 504,
+ 523,
+ 542,
+ 561,
+ 580,
+ 599,
+ 619,
+ 638,
+ 657,
+ 676,
+ 695,
+ 714,
+ 733,
+ 753,
+ 772,
+ 791,
+ 810,
+ 829,
+ 848,
+ 867,
+ 887,
+ 906,
+ 925,
+ 944,
+ 963,
+ 982,
+ 1001,
+ 1021,
+ 1040,
+ 1059,
+ 1078,
+ 1097,
+ 1116,
+ 1135,
+ 1155,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1168,
+ 1169,
+ 1169,
+ 1169,
1172,
- 1173,
+ 1174,
1174,
1175,
- 1175,
- 1175,
- 1175,
- 1175,
- 1175,
- 1175,
- 1181,
- 1181,
- 1181,
- 1181,
- 1181,
- 1181,
- 1192,
- 1203,
- 1212,
- 1225,
+ 1176,
+ 1177,
+ 1177,
+ 1177,
+ 1177,
+ 1177,
+ 1177,
+ 1177,
+ 1183,
+ 1183,
+ 1183,
+ 1184,
+ 1185,
+ 1186,
+ 1198,
+ 1213,
+ 1223,
1236,
- 1244,
- 1257,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
+ 1254,
1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1262,
- 1263,
- 1264,
- 1264,
- 1264,
- 1264,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1266,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1268,
- 1277,
- 1278,
- 1278,
- 1278,
- 1278,
- 1278,
- 1278,
- 1278,
- 1278,
- 1284,
- 1284,
- 1284,
- 1284,
- 1284,
- 1284,
- 1284,
- 1284,
- 1284,
- 1284,
- 1284,
- 1284,
- 1284,
+ 1275,
+ 1280,
1284,
- 1285,
- 1285,
- 1285,
- 1285,
- 1285,
- 1285,
- 1285,
- 1285,
- 1285,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1286,
- 1287,
- 1289,
- 1290,
- 1291,
- 1292,
- 1293,
- 1294,
- 1295,
- 1296,
- 1297,
- 1298,
- 1299,
- 1300,
1301,
- 1302,
- 1303};
+ 1314,
+ 1314,
+ 1326,
+ 1338,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1340,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1341,
+ 1342,
+ 1343,
+ 1343,
+ 1343,
+ 1343,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1348,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1350,
+ 1359,
+ 1360,
+ 1360,
+ 1360,
+ 1360,
+ 1360,
+ 1360,
+ 1360,
+ 1360,
+ 1366,
+ 1366,
+ 1366,
+ 1366,
+ 1366,
+ 1366,
+ 1371,
+ 1372,
+ 1373,
+ 1373,
+ 1373,
+ 1373,
+ 1373,
+ 1373,
+ 1374,
+ 1375,
+ 1375,
+ 1375,
+ 1375,
+ 1375,
+ 1375,
+ 1375,
+ 1375,
+ 1376,
+ 1376,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1377,
+ 1380,
+ 1382,
+ 1383,
+ 1384,
+ 1385,
+ 1386,
+ 1387,
+ 1388,
+ 1389,
+ 1390,
+ 1391,
+ 1392,
+ 1393,
+ 1394,
+ 1395,
+ 1396};
diff --git a/unicode/graphemetest.c b/unicode/graphemetest.c
index 00d65f2..fbad13d 100644
--- a/unicode/graphemetest.c
+++ b/unicode/graphemetest.c
@@ -16,9 +16,17 @@ int main(int argc, char **argv)
{
if (argc >= 3)
{
- printf("%d\n",
- unicode_grapheme_break(strtol(argv[1], NULL, 0),
- strtol(argv[2], NULL, 0)));
+ unicode_grapheme_break_info_t t=unicode_grapheme_break_init();
+ int n=0;
+ int i;
+ for (i=1; i<argc; ++i)
+ {
+ n=unicode_grapheme_break_next(t,
+ strtol(argv[i], NULL, 0));
+ }
+ unicode_grapheme_break_deinit(t);
+
+ printf("%d\n", n);
}
return (0);
}
diff --git a/unicode/linebreaktab.h b/unicode/linebreaktab.h
index 06f3976..db2bdd3 100644
--- a/unicode/linebreaktab.h
+++ b/unicode/linebreaktab.h
@@ -81,8 +81,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x048a & 0xFF, 0x04ff & 0xFF},
{0x0500 & 0xFF, 0x052f & 0xFF},
{0x0531 & 0xFF, 0x0556 & 0xFF},
- {0x0559 & 0xFF, 0x055f & 0xFF},
- {0x0561 & 0xFF, 0x0587 & 0xFF},
+ {0x0559 & 0xFF, 0x0588 & 0xFF},
{0x0589 & 0xFF, 0x0589 & 0xFF},
{0x058a & 0xFF, 0x058a & 0xFF},
{0x058d & 0xFF, 0x058e & 0xFF},
@@ -97,7 +96,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x05c6 & 0xFF, 0x05c6 & 0xFF},
{0x05c7 & 0xFF, 0x05c7 & 0xFF},
{0x05d0 & 0xFF, 0x05ea & 0xFF},
- {0x05f0 & 0xFF, 0x05f2 & 0xFF},
+ {0x05ef & 0xFF, 0x05f2 & 0xFF},
{0x05f3 & 0xFF, 0x05f4 & 0xFF},
{0x0600 & 0xFF, 0x0608 & 0xFF},
{0x0609 & 0xFF, 0x060b & 0xFF},
@@ -142,6 +141,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x07f8 & 0xFF, 0x07f8 & 0xFF},
{0x07f9 & 0xFF, 0x07f9 & 0xFF},
{0x07fa & 0xFF, 0x07fa & 0xFF},
+ {0x07fd & 0xFF, 0x07fd & 0xFF},
+ {0x07fe & 0xFF, 0x07ff & 0xFF},
{0x0800 & 0xFF, 0x0815 & 0xFF},
{0x0816 & 0xFF, 0x0819 & 0xFF},
{0x081a & 0xFF, 0x081a & 0xFF},
@@ -154,7 +155,11 @@ static const uint8_t unicode_rangetab[][2]={
{0x0840 & 0xFF, 0x0858 & 0xFF},
{0x0859 & 0xFF, 0x085b & 0xFF},
{0x085e & 0xFF, 0x085e & 0xFF},
+ {0x0860 & 0xFF, 0x086a & 0xFF},
{0x08a0 & 0xFF, 0x08b4 & 0xFF},
+ {0x08b6 & 0xFF, 0x08c7 & 0xFF},
+ {0x08d3 & 0xFF, 0x08e1 & 0xFF},
+ {0x08e2 & 0xFF, 0x08e2 & 0xFF},
{0x08e3 & 0xFF, 0x08ff & 0xFF},
{0x0900 & 0xFF, 0x0903 & 0xFF},
{0x0904 & 0xFF, 0x0939 & 0xFF},
@@ -192,6 +197,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x09f9 & 0xFF, 0x09f9 & 0xFF},
{0x09fa & 0xFF, 0x09fa & 0xFF},
{0x09fb & 0xFF, 0x09fb & 0xFF},
+ {0x09fc & 0xFF, 0x09fd & 0xFF},
+ {0x09fe & 0xFF, 0x09fe & 0xFF},
{0x0a01 & 0xFF, 0x0a03 & 0xFF},
{0x0a05 & 0xFF, 0x0a0a & 0xFF},
{0x0a0f & 0xFF, 0x0a10 & 0xFF},
@@ -211,6 +218,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0a70 & 0xFF, 0x0a71 & 0xFF},
{0x0a72 & 0xFF, 0x0a74 & 0xFF},
{0x0a75 & 0xFF, 0x0a75 & 0xFF},
+ {0x0a76 & 0xFF, 0x0a76 & 0xFF},
{0x0a81 & 0xFF, 0x0a83 & 0xFF},
{0x0a85 & 0xFF, 0x0a8d & 0xFF},
{0x0a8f & 0xFF, 0x0a91 & 0xFF},
@@ -230,6 +238,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0af0 & 0xFF, 0x0af0 & 0xFF},
{0x0af1 & 0xFF, 0x0af1 & 0xFF},
{0x0af9 & 0xFF, 0x0af9 & 0xFF},
+ {0x0afa & 0xFF, 0x0aff & 0xFF},
{0x0b01 & 0xFF, 0x0b03 & 0xFF},
{0x0b05 & 0xFF, 0x0b0c & 0xFF},
{0x0b0f & 0xFF, 0x0b10 & 0xFF},
@@ -242,7 +251,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0b3e & 0xFF, 0x0b44 & 0xFF},
{0x0b47 & 0xFF, 0x0b48 & 0xFF},
{0x0b4b & 0xFF, 0x0b4d & 0xFF},
- {0x0b56 & 0xFF, 0x0b57 & 0xFF},
+ {0x0b55 & 0xFF, 0x0b57 & 0xFF},
{0x0b5c & 0xFF, 0x0b5d & 0xFF},
{0x0b5f & 0xFF, 0x0b61 & 0xFF},
{0x0b62 & 0xFF, 0x0b63 & 0xFF},
@@ -268,7 +277,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0bf0 & 0xFF, 0x0bf8 & 0xFF},
{0x0bf9 & 0xFF, 0x0bf9 & 0xFF},
{0x0bfa & 0xFF, 0x0bfa & 0xFF},
- {0x0c00 & 0xFF, 0x0c03 & 0xFF},
+ {0x0c00 & 0xFF, 0x0c04 & 0xFF},
{0x0c05 & 0xFF, 0x0c0c & 0xFF},
{0x0c0e & 0xFF, 0x0c10 & 0xFF},
{0x0c12 & 0xFF, 0x0c28 & 0xFF},
@@ -282,8 +291,10 @@ static const uint8_t unicode_rangetab[][2]={
{0x0c60 & 0xFF, 0x0c61 & 0xFF},
{0x0c62 & 0xFF, 0x0c63 & 0xFF},
{0x0c66 & 0xFF, 0x0c6f & 0xFF},
- {0x0c78 & 0xFF, 0x0c7f & 0xFF},
+ {0x0c77 & 0xFF, 0x0c77 & 0xFF},
+ {0x0c78 & 0xFF, 0x0c80 & 0xFF},
{0x0c81 & 0xFF, 0x0c83 & 0xFF},
+ {0x0c84 & 0xFF, 0x0c84 & 0xFF},
{0x0c85 & 0xFF, 0x0c8c & 0xFF},
{0x0c8e & 0xFF, 0x0c90 & 0xFF},
{0x0c92 & 0xFF, 0x0ca8 & 0xFF},
@@ -300,23 +311,25 @@ static const uint8_t unicode_rangetab[][2]={
{0x0ce2 & 0xFF, 0x0ce3 & 0xFF},
{0x0ce6 & 0xFF, 0x0cef & 0xFF},
{0x0cf1 & 0xFF, 0x0cf2 & 0xFF},
- {0x0d01 & 0xFF, 0x0d03 & 0xFF},
- {0x0d05 & 0xFF, 0x0d0c & 0xFF},
+ {0x0d00 & 0xFF, 0x0d03 & 0xFF},
+ {0x0d04 & 0xFF, 0x0d0c & 0xFF},
{0x0d0e & 0xFF, 0x0d10 & 0xFF},
{0x0d12 & 0xFF, 0x0d3a & 0xFF},
+ {0x0d3b & 0xFF, 0x0d3c & 0xFF},
{0x0d3d & 0xFF, 0x0d3d & 0xFF},
{0x0d3e & 0xFF, 0x0d44 & 0xFF},
{0x0d46 & 0xFF, 0x0d48 & 0xFF},
{0x0d4a & 0xFF, 0x0d4d & 0xFF},
- {0x0d4e & 0xFF, 0x0d4e & 0xFF},
+ {0x0d4e & 0xFF, 0x0d4f & 0xFF},
+ {0x0d54 & 0xFF, 0x0d56 & 0xFF},
{0x0d57 & 0xFF, 0x0d57 & 0xFF},
- {0x0d5f & 0xFF, 0x0d61 & 0xFF},
+ {0x0d58 & 0xFF, 0x0d61 & 0xFF},
{0x0d62 & 0xFF, 0x0d63 & 0xFF},
{0x0d66 & 0xFF, 0x0d6f & 0xFF},
- {0x0d70 & 0xFF, 0x0d75 & 0xFF},
+ {0x0d70 & 0xFF, 0x0d78 & 0xFF},
{0x0d79 & 0xFF, 0x0d79 & 0xFF},
{0x0d7a & 0xFF, 0x0d7f & 0xFF},
- {0x0d82 & 0xFF, 0x0d83 & 0xFF},
+ {0x0d81 & 0xFF, 0x0d83 & 0xFF},
{0x0d85 & 0xFF, 0x0d96 & 0xFF},
{0x0d9a & 0xFF, 0x0db1 & 0xFF},
{0x0db3 & 0xFF, 0x0dbb & 0xFF},
@@ -341,20 +354,13 @@ static const uint8_t unicode_rangetab[][2]={
{0x0e5a & 0xFF, 0x0e5b & 0xFF},
{0x0e81 & 0xFF, 0x0e82 & 0xFF},
{0x0e84 & 0xFF, 0x0e84 & 0xFF},
- {0x0e87 & 0xFF, 0x0e88 & 0xFF},
- {0x0e8a & 0xFF, 0x0e8a & 0xFF},
- {0x0e8d & 0xFF, 0x0e8d & 0xFF},
- {0x0e94 & 0xFF, 0x0e97 & 0xFF},
- {0x0e99 & 0xFF, 0x0e9f & 0xFF},
- {0x0ea1 & 0xFF, 0x0ea3 & 0xFF},
+ {0x0e86 & 0xFF, 0x0e8a & 0xFF},
+ {0x0e8c & 0xFF, 0x0ea3 & 0xFF},
{0x0ea5 & 0xFF, 0x0ea5 & 0xFF},
- {0x0ea7 & 0xFF, 0x0ea7 & 0xFF},
- {0x0eaa & 0xFF, 0x0eab & 0xFF},
- {0x0ead & 0xFF, 0x0eb0 & 0xFF},
+ {0x0ea7 & 0xFF, 0x0eb0 & 0xFF},
{0x0eb1 & 0xFF, 0x0eb1 & 0xFF},
{0x0eb2 & 0xFF, 0x0eb3 & 0xFF},
- {0x0eb4 & 0xFF, 0x0eb9 & 0xFF},
- {0x0ebb & 0xFF, 0x0ebc & 0xFF},
+ {0x0eb4 & 0xFF, 0x0ebc & 0xFF},
{0x0ebd & 0xFF, 0x0ebd & 0xFF},
{0x0ec0 & 0xFF, 0x0ec4 & 0xFF},
{0x0ec6 & 0xFF, 0x0ec6 & 0xFF},
@@ -506,8 +512,10 @@ static const uint8_t unicode_rangetab[][2]={
{0x180b & 0xFF, 0x180d & 0xFF},
{0x180e & 0xFF, 0x180e & 0xFF},
{0x1810 & 0xFF, 0x1819 & 0xFF},
- {0x1820 & 0xFF, 0x1877 & 0xFF},
- {0x1880 & 0xFF, 0x18a8 & 0xFF},
+ {0x1820 & 0xFF, 0x1878 & 0xFF},
+ {0x1880 & 0xFF, 0x1884 & 0xFF},
+ {0x1885 & 0xFF, 0x1886 & 0xFF},
+ {0x1887 & 0xFF, 0x18a8 & 0xFF},
{0x18a9 & 0xFF, 0x18a9 & 0xFF},
{0x18aa & 0xFF, 0x18aa & 0xFF},
{0x18b0 & 0xFF, 0x18f5 & 0xFF},
@@ -533,7 +541,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x1a80 & 0xFF, 0x1a89 & 0xFF},
{0x1a90 & 0xFF, 0x1a99 & 0xFF},
{0x1aa0 & 0xFF, 0x1aad & 0xFF},
- {0x1ab0 & 0xFF, 0x1abe & 0xFF},
+ {0x1ab0 & 0xFF, 0x1ac0 & 0xFF},
{0x1b00 & 0xFF, 0x1b04 & 0xFF},
{0x1b05 & 0xFF, 0x1b33 & 0xFF},
{0x1b34 & 0xFF, 0x1b44 & 0xFF},
@@ -561,19 +569,22 @@ static const uint8_t unicode_rangetab[][2]={
{0x1c50 & 0xFF, 0x1c59 & 0xFF},
{0x1c5a & 0xFF, 0x1c7d & 0xFF},
{0x1c7e & 0xFF, 0x1c7f & 0xFF},
- {0x1cc0 & 0xFF, 0x1cc7 & 0xFF},
+ {0x1c80 & 0xFF, 0x1c88 & 0xFF},
+ {0x1c90 & 0xFF, 0x1cba & 0xFF},
+ {0x1cbd & 0xFF, 0x1cc7 & 0xFF},
{0x1cd0 & 0xFF, 0x1cd2 & 0xFF},
{0x1cd3 & 0xFF, 0x1cd3 & 0xFF},
{0x1cd4 & 0xFF, 0x1ce8 & 0xFF},
{0x1ce9 & 0xFF, 0x1cec & 0xFF},
{0x1ced & 0xFF, 0x1ced & 0xFF},
- {0x1cee & 0xFF, 0x1cf1 & 0xFF},
- {0x1cf2 & 0xFF, 0x1cf4 & 0xFF},
+ {0x1cee & 0xFF, 0x1cf3 & 0xFF},
+ {0x1cf4 & 0xFF, 0x1cf4 & 0xFF},
{0x1cf5 & 0xFF, 0x1cf6 & 0xFF},
- {0x1cf8 & 0xFF, 0x1cf9 & 0xFF},
+ {0x1cf7 & 0xFF, 0x1cf9 & 0xFF},
+ {0x1cfa & 0xFF, 0x1cfa & 0xFF},
{0x1d00 & 0xFF, 0x1dbf & 0xFF},
- {0x1dc0 & 0xFF, 0x1df5 & 0xFF},
- {0x1dfc & 0xFF, 0x1dff & 0xFF},
+ {0x1dc0 & 0xFF, 0x1df9 & 0xFF},
+ {0x1dfb & 0xFF, 0x1dff & 0xFF},
{0x1e00 & 0xFF, 0x1eff & 0xFF},
{0x1f00 & 0xFF, 0x1f15 & 0xFF},
{0x1f18 & 0xFF, 0x1f1d & 0xFF},
@@ -597,7 +608,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x2007 & 0xFF, 0x2007 & 0xFF},
{0x2008 & 0xFF, 0x200a & 0xFF},
{0x200b & 0xFF, 0x200b & 0xFF},
- {0x200c & 0xFF, 0x200f & 0xFF},
+ {0x200c & 0xFF, 0x200c & 0xFF},
+ {0x200d & 0xFF, 0x200d & 0xFF},
+ {0x200e & 0xFF, 0x200f & 0xFF},
{0x2010 & 0xFF, 0x2010 & 0xFF},
{0x2011 & 0xFF, 0x2011 & 0xFF},
{0x2012 & 0xFF, 0x2013 & 0xFF},
@@ -676,7 +689,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x232a & 0xFF, 0x232a & 0xFF},
{0x232b & 0xFF, 0x23ef & 0xFF},
{0x23f0 & 0xFF, 0x23f3 & 0xFF},
- {0x23f4 & 0xFF, 0x23fa & 0xFF},
+ {0x23f4 & 0xFF, 0x23ff & 0xFF},
{0x2400 & 0xFF, 0x2426 & 0xFF},
{0x2440 & 0xFF, 0x244a & 0xFF},
{0x2460 & 0xFF, 0x24ff & 0xFF},
@@ -687,7 +700,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x2616 & 0xFF, 0x2617 & 0xFF},
{0x2618 & 0xFF, 0x2618 & 0xFF},
{0x2619 & 0xFF, 0x2619 & 0xFF},
- {0x261a & 0xFF, 0x261f & 0xFF},
+ {0x261a & 0xFF, 0x261c & 0xFF},
+ {0x261d & 0xFF, 0x261d & 0xFF},
+ {0x261e & 0xFF, 0x261f & 0xFF},
{0x2620 & 0xFF, 0x2638 & 0xFF},
{0x2639 & 0xFF, 0x263b & 0xFF},
{0x263c & 0xFF, 0x2667 & 0xFF},
@@ -713,17 +728,21 @@ static const uint8_t unicode_rangetab[][2]={
{0x26eb & 0xFF, 0x26f0 & 0xFF},
{0x26f1 & 0xFF, 0x26f5 & 0xFF},
{0x26f6 & 0xFF, 0x26f6 & 0xFF},
- {0x26f7 & 0xFF, 0x26fa & 0xFF},
+ {0x26f7 & 0xFF, 0x26f8 & 0xFF},
+ {0x26f9 & 0xFF, 0x26f9 & 0xFF},
+ {0x26fa & 0xFF, 0x26fa & 0xFF},
{0x26fb & 0xFF, 0x26fc & 0xFF},
{0x26fd & 0xFF, 0x26ff & 0xFF},
{0x2700 & 0xFF, 0x2704 & 0xFF},
{0x2705 & 0xFF, 0x2707 & 0xFF},
- {0x2708 & 0xFF, 0x270d & 0xFF},
+ {0x2708 & 0xFF, 0x2709 & 0xFF},
+ {0x270a & 0xFF, 0x270d & 0xFF},
{0x270e & 0xFF, 0x275a & 0xFF},
{0x275b & 0xFF, 0x2760 & 0xFF},
{0x2761 & 0xFF, 0x2761 & 0xFF},
{0x2762 & 0xFF, 0x2763 & 0xFF},
- {0x2764 & 0xFF, 0x2767 & 0xFF},
+ {0x2764 & 0xFF, 0x2764 & 0xFF},
+ {0x2765 & 0xFF, 0x2767 & 0xFF},
{0x2768 & 0xFF, 0x2768 & 0xFF},
{0x2769 & 0xFF, 0x2769 & 0xFF},
{0x276a & 0xFF, 0x276a & 0xFF},
@@ -789,10 +808,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x2a00 & 0xFF, 0x2aff & 0xFF},
{0x2b00 & 0xFF, 0x2b73 & 0xFF},
{0x2b76 & 0xFF, 0x2b95 & 0xFF},
- {0x2b98 & 0xFF, 0x2bb9 & 0xFF},
- {0x2bbd & 0xFF, 0x2bc8 & 0xFF},
- {0x2bca & 0xFF, 0x2bd1 & 0xFF},
- {0x2bec & 0xFF, 0x2bef & 0xFF},
+ {0x2b97 & 0xFF, 0x2bff & 0xFF},
{0x2c00 & 0xFF, 0x2c2e & 0xFF},
{0x2c30 & 0xFF, 0x2c5e & 0xFF},
{0x2c60 & 0xFF, 0x2cee & 0xFF},
@@ -850,6 +866,12 @@ static const uint8_t unicode_rangetab[][2]={
{0x2e3f & 0xFF, 0x2e3f & 0xFF},
{0x2e40 & 0xFF, 0x2e41 & 0xFF},
{0x2e42 & 0xFF, 0x2e42 & 0xFF},
+ {0x2e43 & 0xFF, 0x2e4a & 0xFF},
+ {0x2e4b & 0xFF, 0x2e4b & 0xFF},
+ {0x2e4c & 0xFF, 0x2e4c & 0xFF},
+ {0x2e4d & 0xFF, 0x2e4d & 0xFF},
+ {0x2e4e & 0xFF, 0x2e4f & 0xFF},
+ {0x2e50 & 0xFF, 0x2e52 & 0xFF},
{0x2e80 & 0xFF, 0x2e99 & 0xFF},
{0x2e9b & 0xFF, 0x2ef3 & 0xFF},
{0x2f00 & 0xFF, 0x2fd5 & 0xFF},
@@ -936,15 +958,14 @@ static const uint8_t unicode_rangetab[][2]={
{0x30f7 & 0xFF, 0x30fa & 0xFF},
{0x30fb & 0xFF, 0x30fe & 0xFF},
{0x30ff & 0xFF, 0x30ff & 0xFF},
- {0x3105 & 0xFF, 0x312d & 0xFF},
+ {0x3105 & 0xFF, 0x312f & 0xFF},
{0x3131 & 0xFF, 0x318e & 0xFF},
- {0x3190 & 0xFF, 0x31ba & 0xFF},
- {0x31c0 & 0xFF, 0x31e3 & 0xFF},
+ {0x3190 & 0xFF, 0x31e3 & 0xFF},
{0x31f0 & 0xFF, 0x31ff & 0xFF},
{0x3200 & 0xFF, 0x321e & 0xFF},
{0x3220 & 0xFF, 0x3247 & 0xFF},
{0x3248 & 0xFF, 0x324f & 0xFF},
- {0x3250 & 0xFF, 0x32fe & 0xFF},
+ {0x3250 & 0xFF, 0x32ff & 0xFF},
{0x3300 & 0xFF, 0x33ff & 0xFF},
{0x3400 & 0xFF, 0x34ff & 0xFF},
{0x3500 & 0xFF, 0x35ff & 0xFF},
@@ -1083,9 +1104,9 @@ static const uint8_t unicode_rangetab[][2]={
{0xa6f0 & 0xFF, 0xa6f1 & 0xFF},
{0xa6f2 & 0xFF, 0xa6f2 & 0xFF},
{0xa6f3 & 0xFF, 0xa6f7 & 0xFF},
- {0xa700 & 0xFF, 0xa7ad & 0xFF},
- {0xa7b0 & 0xFF, 0xa7b7 & 0xFF},
- {0xa7f7 & 0xFF, 0xa7ff & 0xFF},
+ {0xa700 & 0xFF, 0xa7bf & 0xFF},
+ {0xa7c2 & 0xFF, 0xa7ca & 0xFF},
+ {0xa7f5 & 0xFF, 0xa7ff & 0xFF},
{0xa800 & 0xFF, 0xa801 & 0xFF},
{0xa802 & 0xFF, 0xa802 & 0xFF},
{0xa803 & 0xFF, 0xa805 & 0xFF},
@@ -1095,6 +1116,7 @@ static const uint8_t unicode_rangetab[][2]={
{0xa80c & 0xFF, 0xa822 & 0xFF},
{0xa823 & 0xFF, 0xa827 & 0xFF},
{0xa828 & 0xFF, 0xa82b & 0xFF},
+ {0xa82c & 0xFF, 0xa82c & 0xFF},
{0xa830 & 0xFF, 0xa837 & 0xFF},
{0xa838 & 0xFF, 0xa838 & 0xFF},
{0xa839 & 0xFF, 0xa839 & 0xFF},
@@ -1103,13 +1125,14 @@ static const uint8_t unicode_rangetab[][2]={
{0xa876 & 0xFF, 0xa877 & 0xFF},
{0xa880 & 0xFF, 0xa881 & 0xFF},
{0xa882 & 0xFF, 0xa8b3 & 0xFF},
- {0xa8b4 & 0xFF, 0xa8c4 & 0xFF},
+ {0xa8b4 & 0xFF, 0xa8c5 & 0xFF},
{0xa8ce & 0xFF, 0xa8cf & 0xFF},
{0xa8d0 & 0xFF, 0xa8d9 & 0xFF},
{0xa8e0 & 0xFF, 0xa8f1 & 0xFF},
{0xa8f2 & 0xFF, 0xa8fb & 0xFF},
{0xa8fc & 0xFF, 0xa8fc & 0xFF},
- {0xa8fd & 0xFF, 0xa8fd & 0xFF},
+ {0xa8fd & 0xFF, 0xa8fe & 0xFF},
+ {0xa8ff & 0xFF, 0xa8ff & 0xFF},
{0xa900 & 0xFF, 0xa909 & 0xFF},
{0xa90a & 0xFF, 0xa925 & 0xFF},
{0xa926 & 0xFF, 0xa92d & 0xFF},
@@ -1163,7 +1186,7 @@ static const uint8_t unicode_rangetab[][2]={
{0xab11 & 0xFF, 0xab16 & 0xFF},
{0xab20 & 0xFF, 0xab26 & 0xFF},
{0xab28 & 0xFF, 0xab2e & 0xFF},
- {0xab30 & 0xFF, 0xab65 & 0xFF},
+ {0xab30 & 0xFF, 0xab6b & 0xFF},
{0xab70 & 0xFF, 0xabe2 & 0xFF},
{0xabe3 & 0xFF, 0xabea & 0xFF},
{0xabeb & 0xFF, 0xabeb & 0xFF},
@@ -2144,8 +2167,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x10080 & 0xFF, 0x100fa & 0xFF},
{0x10100 & 0xFF, 0x10102 & 0xFF},
{0x10107 & 0xFF, 0x10133 & 0xFF},
- {0x10137 & 0xFF, 0x1018c & 0xFF},
- {0x10190 & 0xFF, 0x1019b & 0xFF},
+ {0x10137 & 0xFF, 0x1018e & 0xFF},
+ {0x10190 & 0xFF, 0x1019c & 0xFF},
{0x101a0 & 0xFF, 0x101a0 & 0xFF},
{0x101d0 & 0xFF, 0x101fc & 0xFF},
{0x101fd & 0xFF, 0x101fd & 0xFF},
@@ -2154,7 +2177,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x102e0 & 0xFF, 0x102e0 & 0xFF},
{0x102e1 & 0xFF, 0x102fb & 0xFF},
{0x10300 & 0xFF, 0x10323 & 0xFF},
- {0x10330 & 0xFF, 0x1034a & 0xFF},
+ {0x1032d & 0xFF, 0x1034a & 0xFF},
{0x10350 & 0xFF, 0x10375 & 0xFF},
{0x10376 & 0xFF, 0x1037a & 0xFF},
{0x10380 & 0xFF, 0x1039d & 0xFF},
@@ -2165,6 +2188,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x103d1 & 0xFF, 0x103d5 & 0xFF},
{0x10400 & 0xFF, 0x1049d & 0xFF},
{0x104a0 & 0xFF, 0x104a9 & 0xFF},
+ {0x104b0 & 0xFF, 0x104d3 & 0xFF},
+ {0x104d8 & 0xFF, 0x104fb & 0xFF},
{0x10500 & 0xFF, 0x10527 & 0xFF},
{0x10530 & 0xFF, 0x10563 & 0xFF},
{0x1056f & 0xFF, 0x1056f & 0xFF},
@@ -2197,10 +2222,10 @@ static const uint8_t unicode_rangetab[][2]={
{0x10a0c & 0xFF, 0x10a0f & 0xFF},
{0x10a10 & 0xFF, 0x10a13 & 0xFF},
{0x10a15 & 0xFF, 0x10a17 & 0xFF},
- {0x10a19 & 0xFF, 0x10a33 & 0xFF},
+ {0x10a19 & 0xFF, 0x10a35 & 0xFF},
{0x10a38 & 0xFF, 0x10a3a & 0xFF},
{0x10a3f & 0xFF, 0x10a3f & 0xFF},
- {0x10a40 & 0xFF, 0x10a47 & 0xFF},
+ {0x10a40 & 0xFF, 0x10a48 & 0xFF},
{0x10a50 & 0xFF, 0x10a57 & 0xFF},
{0x10a58 & 0xFF, 0x10a58 & 0xFF},
{0x10a60 & 0xFF, 0x10a9f & 0xFF},
@@ -2220,7 +2245,20 @@ static const uint8_t unicode_rangetab[][2]={
{0x10c80 & 0xFF, 0x10cb2 & 0xFF},
{0x10cc0 & 0xFF, 0x10cf2 & 0xFF},
{0x10cfa & 0xFF, 0x10cff & 0xFF},
+ {0x10d00 & 0xFF, 0x10d23 & 0xFF},
+ {0x10d24 & 0xFF, 0x10d27 & 0xFF},
+ {0x10d30 & 0xFF, 0x10d39 & 0xFF},
{0x10e60 & 0xFF, 0x10e7e & 0xFF},
+ {0x10e80 & 0xFF, 0x10ea9 & 0xFF},
+ {0x10eab & 0xFF, 0x10eac & 0xFF},
+ {0x10ead & 0xFF, 0x10ead & 0xFF},
+ {0x10eb0 & 0xFF, 0x10eb1 & 0xFF},
+ {0x10f00 & 0xFF, 0x10f27 & 0xFF},
+ {0x10f30 & 0xFF, 0x10f45 & 0xFF},
+ {0x10f46 & 0xFF, 0x10f50 & 0xFF},
+ {0x10f51 & 0xFF, 0x10f59 & 0xFF},
+ {0x10fb0 & 0xFF, 0x10fcb & 0xFF},
+ {0x10fe0 & 0xFF, 0x10ff6 & 0xFF},
{0x11000 & 0xFF, 0x11002 & 0xFF},
{0x11003 & 0xFF, 0x11037 & 0xFF},
{0x11038 & 0xFF, 0x11046 & 0xFF},
@@ -2233,6 +2271,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x110b0 & 0xFF, 0x110ba & 0xFF},
{0x110bb & 0xFF, 0x110bd & 0xFF},
{0x110be & 0xFF, 0x110c1 & 0xFF},
+ {0x110cd & 0xFF, 0x110cd & 0xFF},
{0x110d0 & 0xFF, 0x110e8 & 0xFF},
{0x110f0 & 0xFF, 0x110f9 & 0xFF},
{0x11100 & 0xFF, 0x11102 & 0xFF},
@@ -2240,6 +2279,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x11127 & 0xFF, 0x11134 & 0xFF},
{0x11136 & 0xFF, 0x1113f & 0xFF},
{0x11140 & 0xFF, 0x11143 & 0xFF},
+ {0x11144 & 0xFF, 0x11144 & 0xFF},
+ {0x11145 & 0xFF, 0x11146 & 0xFF},
+ {0x11147 & 0xFF, 0x11147 & 0xFF},
{0x11150 & 0xFF, 0x11172 & 0xFF},
{0x11173 & 0xFF, 0x11173 & 0xFF},
{0x11174 & 0xFF, 0x11174 & 0xFF},
@@ -2252,9 +2294,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x111c5 & 0xFF, 0x111c6 & 0xFF},
{0x111c7 & 0xFF, 0x111c7 & 0xFF},
{0x111c8 & 0xFF, 0x111c8 & 0xFF},
- {0x111c9 & 0xFF, 0x111c9 & 0xFF},
- {0x111ca & 0xFF, 0x111cc & 0xFF},
+ {0x111c9 & 0xFF, 0x111cc & 0xFF},
{0x111cd & 0xFF, 0x111cd & 0xFF},
+ {0x111ce & 0xFF, 0x111cf & 0xFF},
{0x111d0 & 0xFF, 0x111d9 & 0xFF},
{0x111da & 0xFF, 0x111da & 0xFF},
{0x111db & 0xFF, 0x111db & 0xFF},
@@ -2268,6 +2310,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x1123a & 0xFF, 0x1123a & 0xFF},
{0x1123b & 0xFF, 0x1123c & 0xFF},
{0x1123d & 0xFF, 0x1123d & 0xFF},
+ {0x1123e & 0xFF, 0x1123e & 0xFF},
{0x11280 & 0xFF, 0x11286 & 0xFF},
{0x11288 & 0xFF, 0x11288 & 0xFF},
{0x1128a & 0xFF, 0x1128d & 0xFF},
@@ -2284,7 +2327,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x1132a & 0xFF, 0x11330 & 0xFF},
{0x11332 & 0xFF, 0x11333 & 0xFF},
{0x11335 & 0xFF, 0x11339 & 0xFF},
- {0x1133c & 0xFF, 0x1133c & 0xFF},
+ {0x1133b & 0xFF, 0x1133c & 0xFF},
{0x1133d & 0xFF, 0x1133d & 0xFF},
{0x1133e & 0xFF, 0x11344 & 0xFF},
{0x11347 & 0xFF, 0x11348 & 0xFF},
@@ -2295,6 +2338,16 @@ static const uint8_t unicode_rangetab[][2]={
{0x11362 & 0xFF, 0x11363 & 0xFF},
{0x11366 & 0xFF, 0x1136c & 0xFF},
{0x11370 & 0xFF, 0x11374 & 0xFF},
+ {0x11400 & 0xFF, 0x11434 & 0xFF},
+ {0x11435 & 0xFF, 0x11446 & 0xFF},
+ {0x11447 & 0xFF, 0x1144a & 0xFF},
+ {0x1144b & 0xFF, 0x1144e & 0xFF},
+ {0x1144f & 0xFF, 0x1144f & 0xFF},
+ {0x11450 & 0xFF, 0x11459 & 0xFF},
+ {0x1145a & 0xFF, 0x1145b & 0xFF},
+ {0x1145d & 0xFF, 0x1145d & 0xFF},
+ {0x1145e & 0xFF, 0x1145e & 0xFF},
+ {0x1145f & 0xFF, 0x11461 & 0xFF},
{0x11480 & 0xFF, 0x114af & 0xFF},
{0x114b0 & 0xFF, 0x114c3 & 0xFF},
{0x114c4 & 0xFF, 0x114c7 & 0xFF},
@@ -2314,20 +2367,106 @@ static const uint8_t unicode_rangetab[][2]={
{0x11641 & 0xFF, 0x11642 & 0xFF},
{0x11643 & 0xFF, 0x11644 & 0xFF},
{0x11650 & 0xFF, 0x11659 & 0xFF},
+ {0x11660 & 0xFF, 0x1166c & 0xFF},
{0x11680 & 0xFF, 0x116aa & 0xFF},
{0x116ab & 0xFF, 0x116b7 & 0xFF},
+ {0x116b8 & 0xFF, 0x116b8 & 0xFF},
{0x116c0 & 0xFF, 0x116c9 & 0xFF},
- {0x11700 & 0xFF, 0x11719 & 0xFF},
+ {0x11700 & 0xFF, 0x1171a & 0xFF},
{0x1171d & 0xFF, 0x1172b & 0xFF},
{0x11730 & 0xFF, 0x11739 & 0xFF},
{0x1173a & 0xFF, 0x1173b & 0xFF},
{0x1173c & 0xFF, 0x1173e & 0xFF},
{0x1173f & 0xFF, 0x1173f & 0xFF},
+ {0x11800 & 0xFF, 0x1182b & 0xFF},
+ {0x1182c & 0xFF, 0x1183a & 0xFF},
+ {0x1183b & 0xFF, 0x1183b & 0xFF},
{0x118a0 & 0xFF, 0x118df & 0xFF},
{0x118e0 & 0xFF, 0x118e9 & 0xFF},
{0x118ea & 0xFF, 0x118f2 & 0xFF},
{0x118ff & 0xFF, 0x118ff & 0xFF},
+ {0x11900 & 0xFF, 0x11906 & 0xFF},
+ {0x11909 & 0xFF, 0x11909 & 0xFF},
+ {0x1190c & 0xFF, 0x11913 & 0xFF},
+ {0x11915 & 0xFF, 0x11916 & 0xFF},
+ {0x11918 & 0xFF, 0x1192f & 0xFF},
+ {0x11930 & 0xFF, 0x11935 & 0xFF},
+ {0x11937 & 0xFF, 0x11938 & 0xFF},
+ {0x1193b & 0xFF, 0x1193e & 0xFF},
+ {0x1193f & 0xFF, 0x1193f & 0xFF},
+ {0x11940 & 0xFF, 0x11940 & 0xFF},
+ {0x11941 & 0xFF, 0x11941 & 0xFF},
+ {0x11942 & 0xFF, 0x11943 & 0xFF},
+ {0x11944 & 0xFF, 0x11946 & 0xFF},
+ {0x11950 & 0xFF, 0x11959 & 0xFF},
+ {0x119a0 & 0xFF, 0x119a7 & 0xFF},
+ {0x119aa & 0xFF, 0x119d0 & 0xFF},
+ {0x119d1 & 0xFF, 0x119d7 & 0xFF},
+ {0x119da & 0xFF, 0x119e0 & 0xFF},
+ {0x119e1 & 0xFF, 0x119e1 & 0xFF},
+ {0x119e2 & 0xFF, 0x119e2 & 0xFF},
+ {0x119e3 & 0xFF, 0x119e3 & 0xFF},
+ {0x119e4 & 0xFF, 0x119e4 & 0xFF},
+ {0x11a00 & 0xFF, 0x11a00 & 0xFF},
+ {0x11a01 & 0xFF, 0x11a0a & 0xFF},
+ {0x11a0b & 0xFF, 0x11a32 & 0xFF},
+ {0x11a33 & 0xFF, 0x11a39 & 0xFF},
+ {0x11a3a & 0xFF, 0x11a3a & 0xFF},
+ {0x11a3b & 0xFF, 0x11a3e & 0xFF},
+ {0x11a3f & 0xFF, 0x11a3f & 0xFF},
+ {0x11a40 & 0xFF, 0x11a40 & 0xFF},
+ {0x11a41 & 0xFF, 0x11a44 & 0xFF},
+ {0x11a45 & 0xFF, 0x11a45 & 0xFF},
+ {0x11a46 & 0xFF, 0x11a46 & 0xFF},
+ {0x11a47 & 0xFF, 0x11a47 & 0xFF},
+ {0x11a50 & 0xFF, 0x11a50 & 0xFF},
+ {0x11a51 & 0xFF, 0x11a5b & 0xFF},
+ {0x11a5c & 0xFF, 0x11a89 & 0xFF},
+ {0x11a8a & 0xFF, 0x11a99 & 0xFF},
+ {0x11a9a & 0xFF, 0x11a9c & 0xFF},
+ {0x11a9d & 0xFF, 0x11a9d & 0xFF},
+ {0x11a9e & 0xFF, 0x11aa0 & 0xFF},
+ {0x11aa1 & 0xFF, 0x11aa2 & 0xFF},
{0x11ac0 & 0xFF, 0x11af8 & 0xFF},
+ {0x11c00 & 0xFF, 0x11c08 & 0xFF},
+ {0x11c0a & 0xFF, 0x11c2e & 0xFF},
+ {0x11c2f & 0xFF, 0x11c36 & 0xFF},
+ {0x11c38 & 0xFF, 0x11c3f & 0xFF},
+ {0x11c40 & 0xFF, 0x11c40 & 0xFF},
+ {0x11c41 & 0xFF, 0x11c45 & 0xFF},
+ {0x11c50 & 0xFF, 0x11c59 & 0xFF},
+ {0x11c5a & 0xFF, 0x11c6c & 0xFF},
+ {0x11c70 & 0xFF, 0x11c70 & 0xFF},
+ {0x11c71 & 0xFF, 0x11c71 & 0xFF},
+ {0x11c72 & 0xFF, 0x11c8f & 0xFF},
+ {0x11c92 & 0xFF, 0x11ca7 & 0xFF},
+ {0x11ca9 & 0xFF, 0x11cb6 & 0xFF},
+ {0x11d00 & 0xFF, 0x11d06 & 0xFF},
+ {0x11d08 & 0xFF, 0x11d09 & 0xFF},
+ {0x11d0b & 0xFF, 0x11d30 & 0xFF},
+ {0x11d31 & 0xFF, 0x11d36 & 0xFF},
+ {0x11d3a & 0xFF, 0x11d3a & 0xFF},
+ {0x11d3c & 0xFF, 0x11d3d & 0xFF},
+ {0x11d3f & 0xFF, 0x11d45 & 0xFF},
+ {0x11d46 & 0xFF, 0x11d46 & 0xFF},
+ {0x11d47 & 0xFF, 0x11d47 & 0xFF},
+ {0x11d50 & 0xFF, 0x11d59 & 0xFF},
+ {0x11d60 & 0xFF, 0x11d65 & 0xFF},
+ {0x11d67 & 0xFF, 0x11d68 & 0xFF},
+ {0x11d6a & 0xFF, 0x11d89 & 0xFF},
+ {0x11d8a & 0xFF, 0x11d8e & 0xFF},
+ {0x11d90 & 0xFF, 0x11d91 & 0xFF},
+ {0x11d93 & 0xFF, 0x11d97 & 0xFF},
+ {0x11d98 & 0xFF, 0x11d98 & 0xFF},
+ {0x11da0 & 0xFF, 0x11da9 & 0xFF},
+ {0x11ee0 & 0xFF, 0x11ef2 & 0xFF},
+ {0x11ef3 & 0xFF, 0x11ef6 & 0xFF},
+ {0x11ef7 & 0xFF, 0x11ef8 & 0xFF},
+ {0x11fb0 & 0xFF, 0x11fb0 & 0xFF},
+ {0x11fc0 & 0xFF, 0x11fdc & 0xFF},
+ {0x11fdd & 0xFF, 0x11fe0 & 0xFF},
+ {0x11fe1 & 0xFF, 0x11ff1 & 0xFF},
+ {0x11fff & 0xFF, 0x11fff & 0xFF},
{0x12000 & 0xFF, 0x120ff & 0xFF},
{0x12100 & 0xFF, 0x121ff & 0xFF},
{0x12200 & 0xFF, 0x122ff & 0xFF},
@@ -2354,6 +2493,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x1337a & 0xFF, 0x1337b & 0xFF},
{0x1337c & 0xFF, 0x133ff & 0xFF},
{0x13400 & 0xFF, 0x1342e & 0xFF},
+ {0x13430 & 0xFF, 0x13436 & 0xFF},
+ {0x13437 & 0xFF, 0x13437 & 0xFF},
+ {0x13438 & 0xFF, 0x13438 & 0xFF},
{0x14400 & 0xFF, 0x144ff & 0xFF},
{0x14500 & 0xFF, 0x145cd & 0xFF},
{0x145ce & 0xFF, 0x145ce & 0xFF},
@@ -2379,12 +2521,54 @@ static const uint8_t unicode_rangetab[][2]={
{0x16b5b & 0xFF, 0x16b61 & 0xFF},
{0x16b63 & 0xFF, 0x16b77 & 0xFF},
{0x16b7d & 0xFF, 0x16b8f & 0xFF},
- {0x16f00 & 0xFF, 0x16f44 & 0xFF},
+ {0x16e40 & 0xFF, 0x16e96 & 0xFF},
+ {0x16e97 & 0xFF, 0x16e98 & 0xFF},
+ {0x16e99 & 0xFF, 0x16e9a & 0xFF},
+ {0x16f00 & 0xFF, 0x16f4a & 0xFF},
+ {0x16f4f & 0xFF, 0x16f4f & 0xFF},
{0x16f50 & 0xFF, 0x16f50 & 0xFF},
- {0x16f51 & 0xFF, 0x16f7e & 0xFF},
+ {0x16f51 & 0xFF, 0x16f87 & 0xFF},
{0x16f8f & 0xFF, 0x16f92 & 0xFF},
{0x16f93 & 0xFF, 0x16f9f & 0xFF},
- {0x1b000 & 0xFF, 0x1b001 & 0xFF},
+ {0x16fe0 & 0xFF, 0x16fe3 & 0xFF},
+ {0x16fe4 & 0xFF, 0x16fe4 & 0xFF},
+ {0x16ff0 & 0xFF, 0x16ff1 & 0xFF},
+ {0x17000 & 0xFF, 0x170ff & 0xFF},
+ {0x17100 & 0xFF, 0x171ff & 0xFF},
+ {0x17200 & 0xFF, 0x172ff & 0xFF},
+ {0x17300 & 0xFF, 0x173ff & 0xFF},
+ {0x17400 & 0xFF, 0x174ff & 0xFF},
+ {0x17500 & 0xFF, 0x175ff & 0xFF},
+ {0x17600 & 0xFF, 0x176ff & 0xFF},
+ {0x17700 & 0xFF, 0x177ff & 0xFF},
+ {0x17800 & 0xFF, 0x178ff & 0xFF},
+ {0x17900 & 0xFF, 0x179ff & 0xFF},
+ {0x17a00 & 0xFF, 0x17aff & 0xFF},
+ {0x17b00 & 0xFF, 0x17bff & 0xFF},
+ {0x17c00 & 0xFF, 0x17cff & 0xFF},
+ {0x17d00 & 0xFF, 0x17dff & 0xFF},
+ {0x17e00 & 0xFF, 0x17eff & 0xFF},
+ {0x17f00 & 0xFF, 0x17fff & 0xFF},
+ {0x18000 & 0xFF, 0x180ff & 0xFF},
+ {0x18100 & 0xFF, 0x181ff & 0xFF},
+ {0x18200 & 0xFF, 0x182ff & 0xFF},
+ {0x18300 & 0xFF, 0x183ff & 0xFF},
+ {0x18400 & 0xFF, 0x184ff & 0xFF},
+ {0x18500 & 0xFF, 0x185ff & 0xFF},
+ {0x18600 & 0xFF, 0x186ff & 0xFF},
+ {0x18700 & 0xFF, 0x187f7 & 0xFF},
+ {0x18800 & 0xFF, 0x188ff & 0xFF},
+ {0x18900 & 0xFF, 0x189ff & 0xFF},
+ {0x18a00 & 0xFF, 0x18aff & 0xFF},
+ {0x18b00 & 0xFF, 0x18bff & 0xFF},
+ {0x18c00 & 0xFF, 0x18cd5 & 0xFF},
+ {0x18d00 & 0xFF, 0x18d08 & 0xFF},
+ {0x1b000 & 0xFF, 0x1b0ff & 0xFF},
+ {0x1b100 & 0xFF, 0x1b11e & 0xFF},
+ {0x1b150 & 0xFF, 0x1b152 & 0xFF},
+ {0x1b164 & 0xFF, 0x1b167 & 0xFF},
+ {0x1b170 & 0xFF, 0x1b1ff & 0xFF},
+ {0x1b200 & 0xFF, 0x1b2fb & 0xFF},
{0x1bc00 & 0xFF, 0x1bc6a & 0xFF},
{0x1bc70 & 0xFF, 0x1bc7c & 0xFF},
{0x1bc80 & 0xFF, 0x1bc88 & 0xFF},
@@ -2407,8 +2591,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x1d200 & 0xFF, 0x1d241 & 0xFF},
{0x1d242 & 0xFF, 0x1d244 & 0xFF},
{0x1d245 & 0xFF, 0x1d245 & 0xFF},
+ {0x1d2e0 & 0xFF, 0x1d2f3 & 0xFF},
{0x1d300 & 0xFF, 0x1d356 & 0xFF},
- {0x1d360 & 0xFF, 0x1d371 & 0xFF},
+ {0x1d360 & 0xFF, 0x1d378 & 0xFF},
{0x1d400 & 0xFF, 0x1d454 & 0xFF},
{0x1d456 & 0xFF, 0x1d49c & 0xFF},
{0x1d49e & 0xFF, 0x1d49f & 0xFF},
@@ -2447,9 +2632,34 @@ static const uint8_t unicode_rangetab[][2]={
{0x1da8b & 0xFF, 0x1da8b & 0xFF},
{0x1da9b & 0xFF, 0x1da9f & 0xFF},
{0x1daa1 & 0xFF, 0x1daaf & 0xFF},
+ {0x1e000 & 0xFF, 0x1e006 & 0xFF},
+ {0x1e008 & 0xFF, 0x1e018 & 0xFF},
+ {0x1e01b & 0xFF, 0x1e021 & 0xFF},
+ {0x1e023 & 0xFF, 0x1e024 & 0xFF},
+ {0x1e026 & 0xFF, 0x1e02a & 0xFF},
+ {0x1e100 & 0xFF, 0x1e12c & 0xFF},
+ {0x1e130 & 0xFF, 0x1e136 & 0xFF},
+ {0x1e137 & 0xFF, 0x1e13d & 0xFF},
+ {0x1e140 & 0xFF, 0x1e149 & 0xFF},
+ {0x1e14e & 0xFF, 0x1e14f & 0xFF},
+ {0x1e2c0 & 0xFF, 0x1e2eb & 0xFF},
+ {0x1e2ec & 0xFF, 0x1e2ef & 0xFF},
+ {0x1e2f0 & 0xFF, 0x1e2f9 & 0xFF},
+ {0x1e2ff & 0xFF, 0x1e2ff & 0xFF},
{0x1e800 & 0xFF, 0x1e8c4 & 0xFF},
{0x1e8c7 & 0xFF, 0x1e8cf & 0xFF},
{0x1e8d0 & 0xFF, 0x1e8d6 & 0xFF},
+ {0x1e900 & 0xFF, 0x1e943 & 0xFF},
+ {0x1e944 & 0xFF, 0x1e94a & 0xFF},
+ {0x1e94b & 0xFF, 0x1e94b & 0xFF},
+ {0x1e950 & 0xFF, 0x1e959 & 0xFF},
+ {0x1e95e & 0xFF, 0x1e95f & 0xFF},
+ {0x1ec71 & 0xFF, 0x1ecab & 0xFF},
+ {0x1ecac & 0xFF, 0x1ecac & 0xFF},
+ {0x1ecad & 0xFF, 0x1ecaf & 0xFF},
+ {0x1ecb0 & 0xFF, 0x1ecb0 & 0xFF},
+ {0x1ecb1 & 0xFF, 0x1ecb4 & 0xFF},
+ {0x1ed01 & 0xFF, 0x1ed3d & 0xFF},
{0x1ee00 & 0xFF, 0x1ee03 & 0xFF},
{0x1ee05 & 0xFF, 0x1ee1f & 0xFF},
{0x1ee21 & 0xFF, 0x1ee22 & 0xFF},
@@ -2484,36 +2694,56 @@ static const uint8_t unicode_rangetab[][2]={
{0x1eea5 & 0xFF, 0x1eea9 & 0xFF},
{0x1eeab & 0xFF, 0x1eebb & 0xFF},
{0x1eef0 & 0xFF, 0x1eef1 & 0xFF},
- {0x1f000 & 0xFF, 0x1f02b & 0xFF},
- {0x1f030 & 0xFF, 0x1f093 & 0xFF},
- {0x1f0a0 & 0xFF, 0x1f0ae & 0xFF},
- {0x1f0b1 & 0xFF, 0x1f0bf & 0xFF},
- {0x1f0c1 & 0xFF, 0x1f0cf & 0xFF},
- {0x1f0d1 & 0xFF, 0x1f0f5 & 0xFF},
+ {0x1f000 & 0xFF, 0x1f0ff & 0xFF},
{0x1f100 & 0xFF, 0x1f10c & 0xFF},
- {0x1f110 & 0xFF, 0x1f12e & 0xFF},
- {0x1f130 & 0xFF, 0x1f16b & 0xFF},
- {0x1f170 & 0xFF, 0x1f19a & 0xFF},
+ {0x1f10d & 0xFF, 0x1f10f & 0xFF},
+ {0x1f110 & 0xFF, 0x1f16c & 0xFF},
+ {0x1f16d & 0xFF, 0x1f16f & 0xFF},
+ {0x1f170 & 0xFF, 0x1f1ac & 0xFF},
+ {0x1f1ad & 0xFF, 0x1f1e5 & 0xFF},
{0x1f1e6 & 0xFF, 0x1f1ff & 0xFF},
- {0x1f200 & 0xFF, 0x1f202 & 0xFF},
- {0x1f210 & 0xFF, 0x1f23a & 0xFF},
- {0x1f240 & 0xFF, 0x1f248 & 0xFF},
- {0x1f250 & 0xFF, 0x1f251 & 0xFF},
- {0x1f300 & 0xFF, 0x1f39b & 0xFF},
+ {0x1f200 & 0xFF, 0x1f2ff & 0xFF},
+ {0x1f300 & 0xFF, 0x1f384 & 0xFF},
+ {0x1f385 & 0xFF, 0x1f385 & 0xFF},
+ {0x1f386 & 0xFF, 0x1f39b & 0xFF},
{0x1f39c & 0xFF, 0x1f39d & 0xFF},
{0x1f39e & 0xFF, 0x1f3b4 & 0xFF},
{0x1f3b5 & 0xFF, 0x1f3b6 & 0xFF},
{0x1f3b7 & 0xFF, 0x1f3bb & 0xFF},
{0x1f3bc & 0xFF, 0x1f3bc & 0xFF},
- {0x1f3bd & 0xFF, 0x1f3fa & 0xFF},
+ {0x1f3bd & 0xFF, 0x1f3c1 & 0xFF},
+ {0x1f3c2 & 0xFF, 0x1f3c4 & 0xFF},
+ {0x1f3c5 & 0xFF, 0x1f3c6 & 0xFF},
+ {0x1f3c7 & 0xFF, 0x1f3c7 & 0xFF},
+ {0x1f3c8 & 0xFF, 0x1f3c9 & 0xFF},
+ {0x1f3ca & 0xFF, 0x1f3cc & 0xFF},
+ {0x1f3cd & 0xFF, 0x1f3fa & 0xFF},
{0x1f3fb & 0xFF, 0x1f3ff & 0xFF},
- {0x1f400 & 0xFF, 0x1f49f & 0xFF},
+ {0x1f400 & 0xFF, 0x1f441 & 0xFF},
+ {0x1f442 & 0xFF, 0x1f443 & 0xFF},
+ {0x1f444 & 0xFF, 0x1f445 & 0xFF},
+ {0x1f446 & 0xFF, 0x1f450 & 0xFF},
+ {0x1f451 & 0xFF, 0x1f465 & 0xFF},
+ {0x1f466 & 0xFF, 0x1f478 & 0xFF},
+ {0x1f479 & 0xFF, 0x1f47b & 0xFF},
+ {0x1f47c & 0xFF, 0x1f47c & 0xFF},
+ {0x1f47d & 0xFF, 0x1f480 & 0xFF},
+ {0x1f481 & 0xFF, 0x1f483 & 0xFF},
+ {0x1f484 & 0xFF, 0x1f484 & 0xFF},
+ {0x1f485 & 0xFF, 0x1f487 & 0xFF},
+ {0x1f488 & 0xFF, 0x1f48e & 0xFF},
+ {0x1f48f & 0xFF, 0x1f48f & 0xFF},
+ {0x1f490 & 0xFF, 0x1f490 & 0xFF},
+ {0x1f491 & 0xFF, 0x1f491 & 0xFF},
+ {0x1f492 & 0xFF, 0x1f49f & 0xFF},
{0x1f4a0 & 0xFF, 0x1f4a0 & 0xFF},
{0x1f4a1 & 0xFF, 0x1f4a1 & 0xFF},
{0x1f4a2 & 0xFF, 0x1f4a2 & 0xFF},
{0x1f4a3 & 0xFF, 0x1f4a3 & 0xFF},
{0x1f4a4 & 0xFF, 0x1f4a4 & 0xFF},
- {0x1f4a5 & 0xFF, 0x1f4ae & 0xFF},
+ {0x1f4a5 & 0xFF, 0x1f4a9 & 0xFF},
+ {0x1f4aa & 0xFF, 0x1f4aa & 0xFF},
+ {0x1f4ab & 0xFF, 0x1f4ae & 0xFF},
{0x1f4af & 0xFF, 0x1f4af & 0xFF},
{0x1f4b0 & 0xFF, 0x1f4b0 & 0xFF},
{0x1f4b1 & 0xFF, 0x1f4b2 & 0xFF},
@@ -2523,31 +2753,84 @@ static const uint8_t unicode_rangetab[][2]={
{0x1f517 & 0xFF, 0x1f524 & 0xFF},
{0x1f525 & 0xFF, 0x1f531 & 0xFF},
{0x1f532 & 0xFF, 0x1f549 & 0xFF},
- {0x1f54a & 0xFF, 0x1f579 & 0xFF},
- {0x1f57b & 0xFF, 0x1f5a3 & 0xFF},
- {0x1f5a5 & 0xFF, 0x1f5d3 & 0xFF},
+ {0x1f54a & 0xFF, 0x1f573 & 0xFF},
+ {0x1f574 & 0xFF, 0x1f575 & 0xFF},
+ {0x1f576 & 0xFF, 0x1f579 & 0xFF},
+ {0x1f57a & 0xFF, 0x1f57a & 0xFF},
+ {0x1f57b & 0xFF, 0x1f58f & 0xFF},
+ {0x1f590 & 0xFF, 0x1f590 & 0xFF},
+ {0x1f591 & 0xFF, 0x1f594 & 0xFF},
+ {0x1f595 & 0xFF, 0x1f596 & 0xFF},
+ {0x1f597 & 0xFF, 0x1f5d3 & 0xFF},
{0x1f5d4 & 0xFF, 0x1f5db & 0xFF},
{0x1f5dc & 0xFF, 0x1f5f3 & 0xFF},
{0x1f5f4 & 0xFF, 0x1f5f9 & 0xFF},
{0x1f5fa & 0xFF, 0x1f5ff & 0xFF},
- {0x1f600 & 0xFF, 0x1f64f & 0xFF},
+ {0x1f600 & 0xFF, 0x1f644 & 0xFF},
+ {0x1f645 & 0xFF, 0x1f647 & 0xFF},
+ {0x1f648 & 0xFF, 0x1f64a & 0xFF},
+ {0x1f64b & 0xFF, 0x1f64f & 0xFF},
{0x1f650 & 0xFF, 0x1f675 & 0xFF},
{0x1f676 & 0xFF, 0x1f678 & 0xFF},
{0x1f679 & 0xFF, 0x1f67b & 0xFF},
{0x1f67c & 0xFF, 0x1f67f & 0xFF},
- {0x1f680 & 0xFF, 0x1f6d0 & 0xFF},
- {0x1f6e0 & 0xFF, 0x1f6ec & 0xFF},
- {0x1f6f0 & 0xFF, 0x1f6f3 & 0xFF},
+ {0x1f680 & 0xFF, 0x1f6a2 & 0xFF},
+ {0x1f6a3 & 0xFF, 0x1f6a3 & 0xFF},
+ {0x1f6a4 & 0xFF, 0x1f6b3 & 0xFF},
+ {0x1f6b4 & 0xFF, 0x1f6b6 & 0xFF},
+ {0x1f6b7 & 0xFF, 0x1f6bf & 0xFF},
+ {0x1f6c0 & 0xFF, 0x1f6c0 & 0xFF},
+ {0x1f6c1 & 0xFF, 0x1f6cb & 0xFF},
+ {0x1f6cc & 0xFF, 0x1f6cc & 0xFF},
+ {0x1f6cd & 0xFF, 0x1f6ff & 0xFF},
{0x1f700 & 0xFF, 0x1f773 & 0xFF},
+ {0x1f774 & 0xFF, 0x1f77f & 0xFF},
{0x1f780 & 0xFF, 0x1f7d4 & 0xFF},
+ {0x1f7d5 & 0xFF, 0x1f7ff & 0xFF},
{0x1f800 & 0xFF, 0x1f80b & 0xFF},
+ {0x1f80c & 0xFF, 0x1f80f & 0xFF},
{0x1f810 & 0xFF, 0x1f847 & 0xFF},
+ {0x1f848 & 0xFF, 0x1f84f & 0xFF},
{0x1f850 & 0xFF, 0x1f859 & 0xFF},
+ {0x1f85a & 0xFF, 0x1f85f & 0xFF},
{0x1f860 & 0xFF, 0x1f887 & 0xFF},
+ {0x1f888 & 0xFF, 0x1f88f & 0xFF},
{0x1f890 & 0xFF, 0x1f8ad & 0xFF},
- {0x1f910 & 0xFF, 0x1f918 & 0xFF},
- {0x1f980 & 0xFF, 0x1f984 & 0xFF},
- {0x1f9c0 & 0xFF, 0x1f9c0 & 0xFF},
+ {0x1f8ae & 0xFF, 0x1f8ff & 0xFF},
+ {0x1f900 & 0xFF, 0x1f90b & 0xFF},
+ {0x1f90c & 0xFF, 0x1f90c & 0xFF},
+ {0x1f90d & 0xFF, 0x1f90e & 0xFF},
+ {0x1f90f & 0xFF, 0x1f90f & 0xFF},
+ {0x1f910 & 0xFF, 0x1f917 & 0xFF},
+ {0x1f918 & 0xFF, 0x1f91f & 0xFF},
+ {0x1f920 & 0xFF, 0x1f925 & 0xFF},
+ {0x1f926 & 0xFF, 0x1f926 & 0xFF},
+ {0x1f927 & 0xFF, 0x1f92f & 0xFF},
+ {0x1f930 & 0xFF, 0x1f939 & 0xFF},
+ {0x1f93a & 0xFF, 0x1f93b & 0xFF},
+ {0x1f93c & 0xFF, 0x1f93e & 0xFF},
+ {0x1f93f & 0xFF, 0x1f976 & 0xFF},
+ {0x1f977 & 0xFF, 0x1f977 & 0xFF},
+ {0x1f978 & 0xFF, 0x1f9b4 & 0xFF},
+ {0x1f9b5 & 0xFF, 0x1f9b6 & 0xFF},
+ {0x1f9b7 & 0xFF, 0x1f9b7 & 0xFF},
+ {0x1f9b8 & 0xFF, 0x1f9b9 & 0xFF},
+ {0x1f9ba & 0xFF, 0x1f9ba & 0xFF},
+ {0x1f9bb & 0xFF, 0x1f9bb & 0xFF},
+ {0x1f9bc & 0xFF, 0x1f9cc & 0xFF},
+ {0x1f9cd & 0xFF, 0x1f9cf & 0xFF},
+ {0x1f9d0 & 0xFF, 0x1f9d0 & 0xFF},
+ {0x1f9d1 & 0xFF, 0x1f9dd & 0xFF},
+ {0x1f9de & 0xFF, 0x1f9ff & 0xFF},
+ {0x1fa00 & 0xFF, 0x1fa53 & 0xFF},
+ {0x1fa54 & 0xFF, 0x1faff & 0xFF},
+ {0x1fb00 & 0xFF, 0x1fb92 & 0xFF},
+ {0x1fb94 & 0xFF, 0x1fbca & 0xFF},
+ {0x1fbf0 & 0xFF, 0x1fbf9 & 0xFF},
+ {0x1fc00 & 0xFF, 0x1fcff & 0xFF},
+ {0x1fd00 & 0xFF, 0x1fdff & 0xFF},
+ {0x1fe00 & 0xFF, 0x1feff & 0xFF},
+ {0x1ff00 & 0xFF, 0x1fffd & 0xFF},
{0x20000 & 0xFF, 0x200ff & 0xFF},
{0x20100 & 0xFF, 0x201ff & 0xFF},
{0x20200 & 0xFF, 0x202ff & 0xFF},
@@ -3148,7 +3431,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
- UNICODE_LB_AL,
UNICODE_LB_IS,
UNICODE_LB_BA,
UNICODE_LB_AL,
@@ -3208,6 +3490,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_IS,
UNICODE_LB_EX,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_PR,
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
@@ -3221,6 +3505,10 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_CM,
UNICODE_LB_AL,
@@ -3258,6 +3546,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_PO,
UNICODE_LB_AL,
UNICODE_LB_PR,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -3277,6 +3567,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_CM,
+ UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -3297,6 +3588,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_PR,
UNICODE_LB_AL,
UNICODE_LB_CM,
+ UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -3348,8 +3640,10 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_NU,
+ UNICODE_LB_BB,
UNICODE_LB_AL,
UNICODE_LB_CM,
+ UNICODE_LB_BB,
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -3370,11 +3664,13 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_CM,
UNICODE_LB_CM,
UNICODE_LB_AL,
+ UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_CM,
@@ -3411,16 +3707,9 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_CM,
- UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -3576,6 +3865,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_CM,
@@ -3628,6 +3919,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_BA,
UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_CM,
@@ -3638,6 +3931,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
+ UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_CM,
UNICODE_LB_AL,
@@ -3664,6 +3958,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_BA,
UNICODE_LB_ZW,
UNICODE_LB_CM,
+ UNICODE_LB_ZWJ,
+ UNICODE_LB_CM,
UNICODE_LB_BA,
UNICODE_LB_GL,
UNICODE_LB_BA,
@@ -3754,6 +4050,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
UNICODE_LB_AL,
@@ -3780,15 +4078,19 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
UNICODE_LB_AL,
UNICODE_LB_QU,
UNICODE_LB_AL,
UNICODE_LB_EX,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_OP,
UNICODE_LB_CL,
@@ -3859,9 +4161,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_EX,
@@ -3916,6 +4215,12 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_BA,
UNICODE_LB_OP,
+ UNICODE_LB_BA,
+ UNICODE_LB_AL,
+ UNICODE_LB_BA,
+ UNICODE_LB_AL,
+ UNICODE_LB_BA,
+ UNICODE_LB_AL,
UNICODE_LB_ID,
UNICODE_LB_ID,
UNICODE_LB_ID,
@@ -4005,7 +4310,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_ID,
UNICODE_LB_ID,
UNICODE_LB_ID,
- UNICODE_LB_ID,
UNICODE_LB_NS,
UNICODE_LB_ID,
UNICODE_LB_ID,
@@ -4161,6 +4465,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_PO,
UNICODE_LB_AL,
@@ -4176,6 +4481,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_BB,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_NU,
UNICODE_LB_AL,
UNICODE_LB_CM,
@@ -5184,15 +5490,15 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_OP,
UNICODE_LB_CL,
UNICODE_LB_NS,
- UNICODE_LB_AL,
+ UNICODE_LB_ID,
UNICODE_LB_NS,
- UNICODE_LB_AL,
+ UNICODE_LB_ID,
UNICODE_LB_NS,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_AL,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
UNICODE_LB_PO,
UNICODE_LB_PR,
UNICODE_LB_ID,
@@ -5244,6 +5550,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
UNICODE_LB_BA,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -5288,6 +5596,19 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_CM,
+ UNICODE_LB_NU,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_BA,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_BA,
@@ -5300,6 +5621,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_BA,
UNICODE_LB_AL,
+ UNICODE_LB_AL,
UNICODE_LB_NU,
UNICODE_LB_CM,
UNICODE_LB_AL,
@@ -5309,6 +5631,9 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
UNICODE_LB_BB,
UNICODE_LB_AL,
UNICODE_LB_CM,
@@ -5318,9 +5643,9 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_BA,
UNICODE_LB_AL,
UNICODE_LB_BA,
- UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_NU,
UNICODE_LB_AL,
UNICODE_LB_BB,
@@ -5334,6 +5659,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_BA,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -5364,6 +5690,16 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
+ UNICODE_LB_BA,
+ UNICODE_LB_AL,
+ UNICODE_LB_NU,
+ UNICODE_LB_BA,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
UNICODE_LB_NU,
UNICODE_LB_AL,
UNICODE_LB_CM,
@@ -5380,8 +5716,10 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_BA,
UNICODE_LB_AL,
UNICODE_LB_NU,
+ UNICODE_LB_BB,
UNICODE_LB_AL,
UNICODE_LB_CM,
+ UNICODE_LB_AL,
UNICODE_LB_NU,
UNICODE_LB_AL,
UNICODE_LB_CM,
@@ -5390,10 +5728,94 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_BA,
UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_NU,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_BA,
+ UNICODE_LB_NU,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_BB,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_BB,
+ UNICODE_LB_AL,
+ UNICODE_LB_BA,
+ UNICODE_LB_BB,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_BA,
+ UNICODE_LB_AL,
+ UNICODE_LB_BB,
+ UNICODE_LB_BA,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_BA,
+ UNICODE_LB_NU,
+ UNICODE_LB_AL,
+ UNICODE_LB_BB,
+ UNICODE_LB_EX,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_NU,
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_NU,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_PO,
+ UNICODE_LB_AL,
+ UNICODE_LB_BA,
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -5420,6 +5842,9 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_CL,
UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_GL,
+ UNICODE_LB_OP,
+ UNICODE_LB_CL,
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_OP,
@@ -5446,10 +5871,52 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_BA,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_CM,
UNICODE_LB_AL,
+ UNICODE_LB_NS,
+ UNICODE_LB_GL,
+ UNICODE_LB_CM,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_ID,
+ UNICODE_LB_NS,
+ UNICODE_LB_NS,
+ UNICODE_LB_ID,
UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -5498,6 +5965,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_AL,
UNICODE_LB_NU,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -5513,10 +5981,35 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_AL,
+ UNICODE_LB_NU,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_CM,
+ UNICODE_LB_NU,
+ UNICODE_LB_PR,
+ UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_CM,
UNICODE_LB_AL,
UNICODE_LB_CM,
UNICODE_LB_AL,
+ UNICODE_LB_NU,
+ UNICODE_LB_OP,
+ UNICODE_LB_AL,
+ UNICODE_LB_PO,
+ UNICODE_LB_AL,
+ UNICODE_LB_PO,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
+ UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_AL,
@@ -5551,28 +6044,46 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_AL,
UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_RI,
UNICODE_LB_ID,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
- UNICODE_LB_AL,
- UNICODE_LB_RI,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
UNICODE_LB_ID,
+ UNICODE_LB_EM,
UNICODE_LB_ID,
- UNICODE_LB_AL,
+ UNICODE_LB_EB,
UNICODE_LB_ID,
- UNICODE_LB_AL,
+ UNICODE_LB_EB,
UNICODE_LB_ID,
- UNICODE_LB_AL,
+ UNICODE_LB_EB,
UNICODE_LB_ID,
- UNICODE_LB_AL,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
@@ -5580,6 +6091,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
UNICODE_LB_AL,
@@ -5590,27 +6103,80 @@ static const uint8_t unicode_classtab[]={
UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_ID,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
UNICODE_LB_AL,
UNICODE_LB_QU,
UNICODE_LB_NS,
UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_AL,
UNICODE_LB_ID,
+ UNICODE_LB_AL,
+ UNICODE_LB_ID,
+ UNICODE_LB_AL,
+ UNICODE_LB_ID,
+ UNICODE_LB_AL,
UNICODE_LB_ID,
UNICODE_LB_AL,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
+ UNICODE_LB_EB,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
+ UNICODE_LB_ID,
UNICODE_LB_AL,
UNICODE_LB_AL,
+ UNICODE_LB_NU,
+ UNICODE_LB_ID,
UNICODE_LB_ID,
UNICODE_LB_ID,
UNICODE_LB_ID,
@@ -6137,78 +6703,58 @@ static const size_t unicode_indextab[]={
64,
77,
80,
- 100,
- 128,
- 143,
- 157,
- 193,
- 231,
- 269,
- 301,
- 330,
- 362,
- 410,
- 435,
- 438,
- 452,
- 462,
- 464,
- 465,
- 473,
- 497,
- 512,
- 525,
- 535,
- 554,
- 572,
- 575,
- 576,
- 594,
- 652,
- 660,
+ 99,
+ 127,
+ 144,
+ 162,
+ 200,
+ 240,
+ 278,
+ 312,
+ 343,
+ 368,
+ 416,
+ 441,
+ 444,
+ 458,
+ 468,
+ 470,
+ 471,
+ 479,
+ 503,
+ 520,
+ 533,
+ 543,
+ 562,
+ 583,
+ 586,
+ 587,
+ 605,
665,
+ 673,
678,
- 681,
- 682,
- 717,
- 754,
- 755,
- 787,
- 788,
- 794,
- 804,
- 821,
- 853,
- 855,
- 937,
- 942,
- 946,
- 947,
- 948,
- 949,
- 950,
- 951,
- 952,
- 953,
- 954,
- 955,
- 956,
- 957,
- 958,
+ 691,
+ 694,
+ 695,
+ 734,
+ 773,
+ 774,
+ 806,
+ 807,
+ 810,
+ 820,
+ 837,
+ 875,
+ 877,
959,
- 960,
- 961,
- 962,
963,
- 964,
- 965,
- 966,
967,
968,
969,
970,
971,
972,
+ 973,
974,
975,
976,
@@ -6229,7 +6775,6 @@ static const size_t unicode_indextab[]={
991,
992,
993,
- 994,
995,
996,
997,
@@ -6292,357 +6837,249 @@ static const size_t unicode_indextab[]={
1054,
1055,
1056,
+ 1057,
+ 1058,
1059,
1060,
1061,
1062,
+ 1063,
+ 1064,
+ 1065,
1066,
1067,
- 1084,
+ 1068,
+ 1069,
+ 1070,
+ 1071,
+ 1072,
+ 1073,
+ 1074,
+ 1075,
+ 1076,
+ 1077,
+ 1080,
+ 1081,
+ 1082,
+ 1083,
1087,
- 1111,
- 1132,
- 1159,
- 1170,
- 1190,
- 1209,
- 1228,
- 1247,
- 1266,
- 1285,
- 1304,
- 1324,
- 1343,
- 1362,
- 1381,
- 1400,
- 1419,
- 1438,
- 1458,
- 1477,
- 1496,
- 1515,
- 1534,
- 1553,
- 1572,
- 1592,
- 1611,
- 1630,
- 1649,
- 1668,
- 1687,
- 1706,
- 1726,
- 1745,
- 1764,
- 1783,
- 1802,
- 1821,
- 1840,
- 1860,
- 1879,
- 1898,
- 1917,
- 1936,
- 1955,
- 1974,
- 1994,
- 2007,
- 2008,
- 2009,
- 2010,
- 2011,
- 2012,
- 2013,
- 2014,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2015,
- 2016,
+ 1088,
+ 1105,
+ 1108,
+ 1134,
+ 1155,
+ 1182,
+ 1193,
+ 1213,
+ 1232,
+ 1251,
+ 1270,
+ 1289,
+ 1308,
+ 1327,
+ 1347,
+ 1366,
+ 1385,
+ 1404,
+ 1423,
+ 1442,
+ 1461,
+ 1481,
+ 1500,
+ 1519,
+ 1538,
+ 1557,
+ 1576,
+ 1595,
+ 1615,
+ 1634,
+ 1653,
+ 1672,
+ 1691,
+ 1710,
+ 1729,
+ 1749,
+ 1768,
+ 1787,
+ 1806,
+ 1825,
+ 1844,
+ 1863,
+ 1883,
+ 1902,
+ 1921,
+ 1940,
+ 1959,
+ 1978,
+ 1997,
2017,
+ 2030,
2031,
2032,
+ 2033,
+ 2034,
+ 2035,
+ 2036,
+ 2037,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2038,
+ 2039,
2040,
- 2090,
- 2136,
- 2143,
- 2150,
- 2154,
- 2164,
+ 2054,
+ 2055,
+ 2063,
+ 2113,
+ 2159,
2166,
- 2169,
- 2170,
2173,
- 2185,
- 2192,
+ 2177,
+ 2187,
+ 2191,
+ 2194,
+ 2195,
+ 2198,
2210,
2217,
- 2221,
- 2221,
- 2222,
- 2222,
- 2236,
- 2262,
- 2278,
- 2296,
- 2300,
- 2310,
- 2318,
- 2324,
- 2328,
- 2328,
- 2329,
- 2329,
- 2329,
- 2329,
- 2329,
- 2329,
- 2330,
- 2331,
- 2332,
- 2333,
- 2336,
- 2337,
- 2337,
- 2337,
- 2337,
- 2337,
- 2337,
- 2337,
- 2337,
- 2337,
- 2337,
- 2337,
- 2338,
+ 2235,
+ 2242,
+ 2246,
+ 2249,
+ 2254,
+ 2260,
+ 2275,
+ 2304,
+ 2321,
2339,
- 2350,
- 2354,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2355,
- 2356,
- 2360,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2361,
- 2362,
+ 2353,
2363,
- 2370,
- 2380,
- 2380,
- 2380,
- 2380,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2385,
- 2386,
- 2386,
- 2386,
- 2386,
- 2386,
+ 2373,
+ 2379,
2386,
- 2386,
- 2386,
- 2386,
- 2386,
- 2386,
- 2386,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2394,
- 2395,
- 2405,
2408,
- 2410,
- 2420,
- 2430,
- 2432,
- 2434,
- 2435,
- 2436,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2448,
- 2451,
- 2451,
- 2451,
- 2451,
- 2451,
- 2451,
- 2485,
- 2485,
- 2491,
- 2496,
- 2500,
- 2508,
- 2519,
- 2531,
+ 2429,
+ 2429,
+ 2442,
+ 2460,
+ 2463,
+ 2468,
+ 2469,
+ 2470,
+ 2471,
+ 2472,
+ 2475,
+ 2476,
+ 2476,
+ 2476,
+ 2476,
+ 2476,
+ 2476,
+ 2476,
+ 2476,
+ 2476,
+ 2476,
+ 2476,
+ 2477,
+ 2478,
+ 2489,
+ 2493,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2497,
+ 2498,
+ 2502,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2503,
+ 2504,
+ 2505,
+ 2512,
+ 2522,
+ 2522,
+ 2522,
+ 2525,
+ 2534,
+ 2535,
+ 2536,
+ 2537,
+ 2538,
2539,
+ 2540,
2541,
+ 2542,
+ 2543,
+ 2544,
+ 2545,
2546,
- 2549,
- 2549,
- 2549,
- 2549,
- 2549,
- 2549,
+ 2547,
+ 2548,
2549,
2550,
2551,
@@ -6659,269 +7096,115 @@ static const size_t unicode_indextab[]={
2562,
2563,
2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
+ 2564,
2565,
- 2566,
- 2567,
- 2568,
2569,
2570,
- 2571,
- 2572,
- 2573,
- 2574,
- 2575,
- 2576,
- 2577,
+ 2570,
+ 2570,
+ 2570,
+ 2570,
+ 2570,
+ 2570,
+ 2570,
+ 2570,
+ 2570,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
+ 2578,
2578,
2579,
- 2580,
- 2581,
- 2582,
- 2583,
- 2584,
- 2585,
- 2586,
- 2587,
- 2588,
2589,
- 2590,
- 2591,
- 2592,
2593,
- 2594,
2595,
- 2596,
- 2597,
- 2598,
- 2599,
- 2600,
- 2601,
- 2602,
- 2603,
- 2604,
2605,
- 2606,
- 2607,
- 2608,
- 2609,
- 2610,
- 2611,
- 2612,
- 2613,
- 2614,
2615,
- 2616,
2617,
- 2618,
2619,
2620,
2621,
- 2622,
- 2623,
- 2624,
- 2625,
- 2626,
- 2627,
- 2628,
- 2629,
- 2630,
- 2631,
- 2632,
2633,
- 2634,
- 2635,
- 2636,
- 2637,
+ 2633,
+ 2633,
+ 2633,
+ 2633,
+ 2633,
2638,
- 2639,
- 2640,
- 2641,
- 2642,
2643,
- 2644,
- 2645,
- 2646,
2647,
- 2648,
- 2649,
+ 2647,
+ 2647,
+ 2647,
+ 2647,
+ 2647,
2650,
- 2651,
- 2652,
- 2653,
- 2654,
2655,
- 2656,
- 2657,
- 2658,
- 2659,
+ 2655,
+ 2655,
2660,
2661,
- 2662,
- 2663,
- 2664,
- 2665,
- 2666,
- 2667,
- 2668,
- 2669,
- 2670,
- 2671,
- 2672,
- 2673,
- 2674,
- 2675,
- 2676,
- 2677,
- 2678,
- 2679,
- 2680,
- 2681,
- 2682,
- 2683,
- 2684,
- 2685,
- 2686,
- 2687,
- 2688,
- 2689,
- 2690,
- 2691,
- 2692,
- 2693,
- 2694,
+ 2695,
2695,
2696,
- 2697,
- 2698,
- 2699,
- 2700,
- 2701,
- 2702,
2703,
2704,
- 2705,
- 2706,
- 2707,
- 2708,
- 2709,
- 2710,
- 2711,
- 2712,
- 2713,
- 2714,
- 2715,
- 2716,
- 2717,
- 2718,
- 2719,
2720,
- 2721,
- 2722,
- 2723,
- 2724,
- 2725,
- 2726,
- 2727,
- 2728,
- 2729,
- 2730,
- 2731,
- 2732,
- 2733,
- 2734,
- 2735,
- 2736,
- 2737,
- 2738,
- 2739,
- 2740,
- 2741,
- 2742,
- 2743,
- 2744,
- 2745,
- 2746,
- 2747,
- 2748,
2749,
- 2750,
- 2751,
- 2752,
- 2753,
- 2754,
- 2755,
- 2756,
- 2757,
- 2758,
- 2759,
- 2760,
- 2761,
- 2762,
- 2763,
- 2764,
- 2765,
- 2766,
2767,
- 2768,
- 2769,
- 2770,
- 2771,
- 2772,
- 2773,
- 2774,
- 2775,
- 2776,
- 2777,
- 2778,
- 2779,
- 2780,
- 2781,
- 2782,
- 2783,
2784,
- 2785,
- 2786,
- 2787,
2788,
- 2789,
- 2790,
- 2791,
- 2792,
- 2793,
- 2794,
- 2795,
- 2796,
- 2797,
2798,
- 2799,
- 2800,
- 2801,
- 2802,
- 2803,
- 2804,
- 2805,
- 2806,
- 2807,
- 2808,
- 2809,
- 2810,
- 2811,
- 2812,
- 2813,
- 2814,
- 2815,
- 2816,
- 2817,
- 2818,
- 2819,
- 2820,
- 2821,
- 2822,
2823,
- 2824,
2825,
- 2826,
- 2827,
2828,
2829,
2830,
@@ -7156,2566 +7439,2849 @@ static const size_t unicode_indextab[]={
3059,
3060,
3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
- 3061,
+ 3062,
3063,
- 3064};
+ 3064,
+ 3065,
+ 3066,
+ 3067,
+ 3068,
+ 3069,
+ 3070,
+ 3071,
+ 3072,
+ 3073,
+ 3074,
+ 3075,
+ 3076,
+ 3077,
+ 3078,
+ 3079,
+ 3080,
+ 3081,
+ 3082,
+ 3083,
+ 3084,
+ 3085,
+ 3086,
+ 3087,
+ 3088,
+ 3089,
+ 3090,
+ 3091,
+ 3092,
+ 3093,
+ 3094,
+ 3095,
+ 3096,
+ 3097,
+ 3098,
+ 3099,
+ 3100,
+ 3101,
+ 3102,
+ 3103,
+ 3104,
+ 3105,
+ 3106,
+ 3107,
+ 3108,
+ 3109,
+ 3110,
+ 3111,
+ 3112,
+ 3113,
+ 3114,
+ 3115,
+ 3116,
+ 3117,
+ 3118,
+ 3119,
+ 3120,
+ 3121,
+ 3122,
+ 3123,
+ 3124,
+ 3125,
+ 3126,
+ 3127,
+ 3128,
+ 3129,
+ 3130,
+ 3131,
+ 3132,
+ 3133,
+ 3134,
+ 3135,
+ 3136,
+ 3137,
+ 3138,
+ 3139,
+ 3140,
+ 3141,
+ 3142,
+ 3143,
+ 3144,
+ 3145,
+ 3146,
+ 3147,
+ 3148,
+ 3149,
+ 3150,
+ 3151,
+ 3152,
+ 3153,
+ 3154,
+ 3155,
+ 3156,
+ 3157,
+ 3158,
+ 3159,
+ 3160,
+ 3161,
+ 3162,
+ 3163,
+ 3164,
+ 3165,
+ 3166,
+ 3167,
+ 3168,
+ 3169,
+ 3170,
+ 3171,
+ 3172,
+ 3173,
+ 3174,
+ 3175,
+ 3176,
+ 3177,
+ 3178,
+ 3179,
+ 3180,
+ 3181,
+ 3182,
+ 3183,
+ 3184,
+ 3185,
+ 3186,
+ 3187,
+ 3188,
+ 3189,
+ 3190,
+ 3191,
+ 3192,
+ 3193,
+ 3194,
+ 3195,
+ 3196,
+ 3197,
+ 3198,
+ 3199,
+ 3200,
+ 3201,
+ 3202,
+ 3203,
+ 3204,
+ 3205,
+ 3206,
+ 3207,
+ 3208,
+ 3209,
+ 3210,
+ 3211,
+ 3212,
+ 3213,
+ 3214,
+ 3215,
+ 3216,
+ 3217,
+ 3218,
+ 3219,
+ 3220,
+ 3221,
+ 3222,
+ 3223,
+ 3224,
+ 3225,
+ 3226,
+ 3227,
+ 3228,
+ 3229,
+ 3230,
+ 3231,
+ 3232,
+ 3233,
+ 3234,
+ 3235,
+ 3236,
+ 3237,
+ 3238,
+ 3239,
+ 3240,
+ 3241,
+ 3242,
+ 3243,
+ 3244,
+ 3245,
+ 3246,
+ 3247,
+ 3248,
+ 3249,
+ 3250,
+ 3251,
+ 3252,
+ 3253,
+ 3254,
+ 3255,
+ 3256,
+ 3257,
+ 3258,
+ 3259,
+ 3260,
+ 3261,
+ 3262,
+ 3263,
+ 3264,
+ 3265,
+ 3266,
+ 3267,
+ 3268,
+ 3269,
+ 3270,
+ 3271,
+ 3272,
+ 3273,
+ 3274,
+ 3275,
+ 3276,
+ 3277,
+ 3278,
+ 3279,
+ 3280,
+ 3281,
+ 3282,
+ 3283,
+ 3284,
+ 3285,
+ 3286,
+ 3287,
+ 3288,
+ 3289,
+ 3290,
+ 3291,
+ 3292,
+ 3293,
+ 3294,
+ 3295,
+ 3296,
+ 3297,
+ 3298,
+ 3299,
+ 3300,
+ 3301,
+ 3302,
+ 3303,
+ 3304,
+ 3305,
+ 3306,
+ 3307,
+ 3308,
+ 3309,
+ 3310,
+ 3311,
+ 3312,
+ 3313,
+ 3314,
+ 3315,
+ 3316,
+ 3317,
+ 3318,
+ 3319,
+ 3320,
+ 3321,
+ 3322,
+ 3323,
+ 3324,
+ 3325,
+ 3326,
+ 3327,
+ 3328,
+ 3329,
+ 3330,
+ 3331,
+ 3332,
+ 3333,
+ 3334,
+ 3335,
+ 3336,
+ 3337,
+ 3338,
+ 3339,
+ 3340,
+ 3341,
+ 3342,
+ 3343,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3344,
+ 3346,
+ 3347};
diff --git a/unicode/linebreaktab_internal.h b/unicode/linebreaktab_internal.h
index 56beed0..17b77f1 100644
--- a/unicode/linebreaktab_internal.h
+++ b/unicode/linebreaktab_internal.h
@@ -45,6 +45,9 @@
#define UNICODE_LB_JT 0x48
#define UNICODE_LB_RI 0x49
#define UNICODE_LB_SA 0x4A
+#define UNICODE_LB_EB 0x4B
+#define UNICODE_LB_EM 0x4C
+#define UNICODE_LB_ZWJ 0x4D
extern int unicode_lb_lookup(char32_t ch);
diff --git a/unicode/linebreaktest.C b/unicode/linebreaktest.C
index effd7f4..84ff83d 100644
--- a/unicode/linebreaktest.C
+++ b/unicode/linebreaktest.C
@@ -127,6 +127,7 @@ static void testsuite()
std::cerr << "Regression, line " << linenum
<< ": " << buf << std::endl;
flag=1;
+ exit(1);
}
}
diff --git a/unicode/mkeastasianwidth.pl b/unicode/mkeastasianwidth.pl
index d34f064..862fa7a 100644
--- a/unicode/mkeastasianwidth.pl
+++ b/unicode/mkeastasianwidth.pl
@@ -3,50 +3,78 @@
# USAGE: perl mkeastasianwidth.pl > charwidth.c
use IO::File;
+use strict;
+use warnings;
-my $fh=new IO::File "<EastAsianWidth.txt";
+foreach my $pass (
-my $pb=-1;
-my $pe=-1;
+ {
+ header => "char32_t unicode_eastasia_tab[][2]",
+ emit => sub {
+ my ($pb, $pe, $pv) = @_;
-print "static const char32_t unicode_wcwidth_tab[][2]={\n";
+ printf ("{0x%04x, 0x%04x},\n", $pb, $pe);
+ },
+ },
+ {
+ header => "unicode_eastasia_t unicode_eastasia_v[]",
+ emit => sub {
+ my ($pb, $pe, $pv) = @_;
-sub full($$) {
- my $b=hex(shift);
- my $e=hex(shift);
+ printf ("UNICODE_EASTASIA_%s,\n", $pv);
+ },
+ })
+{
+ my $emit = $pass->{emit};
- if ($b == $pe+1)
- {
- $pe=$e;
- return;
- }
- printf ("{0x%04x, 0x%04x},\n", $pb, $pe) unless $pb < 0;
+ my $fh=new IO::File "<EastAsianWidth.txt";
- $pb=$b;
- $pe=$e;
-}
+ my $pb=-1;
+ my $pe=-1;
+ my $pv="";
+ print "static const " . $pass->{header} . "={\n";
-while (defined($_=<$fh>))
-{
- chomp;
- s/#.*//;
+ my $full = sub {
+ my $b=hex(shift);
+ my $e=hex(shift);
+ my $v=shift;
- my @w=split(/;/);
+ if ($b == $pe+1 && $v eq $pv)
+ {
+ $pe=$e;
+ return;
+ }
- grep {s/^\s*//; s/\s*$//; } @w;
+ $emit->($pb, $pe, $pv) unless $pb < 0;
- next unless $w[1] eq "F" || $w[1] eq "W";
+ $pb=$b;
+ $pe=$e;
+ $pv=$v;
+ };
- if ($w[0] =~ /(.*)\.\.(.*)/)
- {
- full($1, $2);
- }
- else
+
+ while (defined($_=<$fh>))
{
- full($w[0], $w[0]);
+ chomp;
+ s/#.*//;
+
+ my @w=split(/;/);
+
+ next unless @w;
+ grep {s/^\s*//; s/\s*$//; } @w;
+
+ if ($w[0] =~ /(.*)\.\.(.*)/)
+ {
+ $full->($1, $2, $w[1]);
+ }
+ else
+ {
+ $full->($w[0], $w[0], $w[1]);
+ }
}
-}
-printf ("{0x%04x, 0x%04x}\n};\n", $pb, $pe);
+ $emit->($pb, $pe, $pv);
+ print "};\n\n";
+}
diff --git a/unicode/mkemojidata.pl b/unicode/mkemojidata.pl
new file mode 100644
index 0000000..45296c8
--- /dev/null
+++ b/unicode/mkemojidata.pl
@@ -0,0 +1,51 @@
+#! /usr/bin/perl
+#
+# Compile emoji-data.txt into C array declarations.
+#
+# The arrays' structure is [firstchar, lastchar], listing the emojis with the
+# given property.
+
+use strict;
+use warnings;
+
+open(F, "<emoji-data.txt") || die;
+
+my $curclass;
+my $lastl;
+
+while (defined($_=<F>))
+{
+ chomp;
+
+ next unless /^([0-9A-F]+)(\.\.([0-9A-F]+))?\s*\;\s*([^\s#]+)\s*/;
+
+ my $f=$1;
+ my $l=$3;
+ my $t=$4;
+
+ $l=$f unless $l;
+
+ eval "\$f=0x$f";
+ eval "\$l=0x$l";
+
+ if ((! defined $curclass) || $t ne $curclass)
+ {
+ if (defined $curclass)
+ {
+ print "};\n\n";
+ }
+
+ $curclass = $t;
+
+ print "static const char32_t unicode_emoji_" . lc($curclass)
+ . "_lookup[][2]={\n";
+ }
+ else
+ {
+ die "Not sorted\n" unless $l > $lastl;
+ }
+ print "\t{$f, $l},\n";
+
+ $lastl=$l;
+}
+print "};\n\n";
diff --git a/unicode/mklinebreak.pl b/unicode/mklinebreak.pl
index 4268cae..fb8b216 100644
--- a/unicode/mklinebreak.pl
+++ b/unicode/mklinebreak.pl
@@ -47,7 +47,7 @@ while (defined($_=<F>))
{
chomp;
- next unless /^([0-9A-F]+)(\.\.([0-9A-F]+))?\;([^\s][^\s])\s*/;
+ next unless /^([0-9A-F]+)(\.\.([0-9A-F]+))?\;([^\s]+)\s*/;
my $f=$1;
my $l=$3;
diff --git a/unicode/scriptstab.h b/unicode/scriptstab.h
index a285087..74137ff 100644
--- a/unicode/scriptstab.h
+++ b/unicode/scriptstab.h
@@ -42,20 +42,18 @@ static const uint8_t unicode_rangetab[][2]={
{0x0487 & 0xFF, 0x04ff & 0xFF},
{0x0500 & 0xFF, 0x052f & 0xFF},
{0x0531 & 0xFF, 0x0556 & 0xFF},
- {0x0559 & 0xFF, 0x055f & 0xFF},
- {0x0561 & 0xFF, 0x0587 & 0xFF},
- {0x0589 & 0xFF, 0x0589 & 0xFF},
- {0x058a & 0xFF, 0x058a & 0xFF},
+ {0x0559 & 0xFF, 0x058a & 0xFF},
{0x058d & 0xFF, 0x058f & 0xFF},
{0x0591 & 0xFF, 0x05c7 & 0xFF},
{0x05d0 & 0xFF, 0x05ea & 0xFF},
- {0x05f0 & 0xFF, 0x05f4 & 0xFF},
+ {0x05ef & 0xFF, 0x05f4 & 0xFF},
{0x0600 & 0xFF, 0x0604 & 0xFF},
{0x0605 & 0xFF, 0x0605 & 0xFF},
{0x0606 & 0xFF, 0x060b & 0xFF},
{0x060c & 0xFF, 0x060c & 0xFF},
{0x060d & 0xFF, 0x061a & 0xFF},
- {0x061b & 0xFF, 0x061c & 0xFF},
+ {0x061b & 0xFF, 0x061b & 0xFF},
+ {0x061c & 0xFF, 0x061c & 0xFF},
{0x061e & 0xFF, 0x061e & 0xFF},
{0x061f & 0xFF, 0x061f & 0xFF},
{0x0620 & 0xFF, 0x063f & 0xFF},
@@ -73,15 +71,20 @@ static const uint8_t unicode_rangetab[][2]={
{0x0750 & 0xFF, 0x077f & 0xFF},
{0x0780 & 0xFF, 0x07b1 & 0xFF},
{0x07c0 & 0xFF, 0x07fa & 0xFF},
+ {0x07fd & 0xFF, 0x07ff & 0xFF},
{0x0800 & 0xFF, 0x082d & 0xFF},
{0x0830 & 0xFF, 0x083e & 0xFF},
{0x0840 & 0xFF, 0x085b & 0xFF},
{0x085e & 0xFF, 0x085e & 0xFF},
+ {0x0860 & 0xFF, 0x086a & 0xFF},
{0x08a0 & 0xFF, 0x08b4 & 0xFF},
+ {0x08b6 & 0xFF, 0x08c7 & 0xFF},
+ {0x08d3 & 0xFF, 0x08e1 & 0xFF},
+ {0x08e2 & 0xFF, 0x08e2 & 0xFF},
{0x08e3 & 0xFF, 0x08ff & 0xFF},
{0x0900 & 0xFF, 0x0950 & 0xFF},
- {0x0951 & 0xFF, 0x0952 & 0xFF},
- {0x0953 & 0xFF, 0x0963 & 0xFF},
+ {0x0951 & 0xFF, 0x0954 & 0xFF},
+ {0x0955 & 0xFF, 0x0963 & 0xFF},
{0x0964 & 0xFF, 0x0965 & 0xFF},
{0x0966 & 0xFF, 0x097f & 0xFF},
{0x0980 & 0xFF, 0x0983 & 0xFF},
@@ -97,7 +100,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x09d7 & 0xFF, 0x09d7 & 0xFF},
{0x09dc & 0xFF, 0x09dd & 0xFF},
{0x09df & 0xFF, 0x09e3 & 0xFF},
- {0x09e6 & 0xFF, 0x09fb & 0xFF},
+ {0x09e6 & 0xFF, 0x09fe & 0xFF},
{0x0a01 & 0xFF, 0x0a03 & 0xFF},
{0x0a05 & 0xFF, 0x0a0a & 0xFF},
{0x0a0f & 0xFF, 0x0a10 & 0xFF},
@@ -113,7 +116,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0a51 & 0xFF, 0x0a51 & 0xFF},
{0x0a59 & 0xFF, 0x0a5c & 0xFF},
{0x0a5e & 0xFF, 0x0a5e & 0xFF},
- {0x0a66 & 0xFF, 0x0a75 & 0xFF},
+ {0x0a66 & 0xFF, 0x0a76 & 0xFF},
{0x0a81 & 0xFF, 0x0a83 & 0xFF},
{0x0a85 & 0xFF, 0x0a8d & 0xFF},
{0x0a8f & 0xFF, 0x0a91 & 0xFF},
@@ -127,7 +130,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0ad0 & 0xFF, 0x0ad0 & 0xFF},
{0x0ae0 & 0xFF, 0x0ae3 & 0xFF},
{0x0ae6 & 0xFF, 0x0af1 & 0xFF},
- {0x0af9 & 0xFF, 0x0af9 & 0xFF},
+ {0x0af9 & 0xFF, 0x0aff & 0xFF},
{0x0b01 & 0xFF, 0x0b03 & 0xFF},
{0x0b05 & 0xFF, 0x0b0c & 0xFF},
{0x0b0f & 0xFF, 0x0b10 & 0xFF},
@@ -138,7 +141,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0b3c & 0xFF, 0x0b44 & 0xFF},
{0x0b47 & 0xFF, 0x0b48 & 0xFF},
{0x0b4b & 0xFF, 0x0b4d & 0xFF},
- {0x0b56 & 0xFF, 0x0b57 & 0xFF},
+ {0x0b55 & 0xFF, 0x0b57 & 0xFF},
{0x0b5c & 0xFF, 0x0b5d & 0xFF},
{0x0b5f & 0xFF, 0x0b63 & 0xFF},
{0x0b66 & 0xFF, 0x0b77 & 0xFF},
@@ -158,8 +161,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0bd0 & 0xFF, 0x0bd0 & 0xFF},
{0x0bd7 & 0xFF, 0x0bd7 & 0xFF},
{0x0be6 & 0xFF, 0x0bfa & 0xFF},
- {0x0c00 & 0xFF, 0x0c03 & 0xFF},
- {0x0c05 & 0xFF, 0x0c0c & 0xFF},
+ {0x0c00 & 0xFF, 0x0c0c & 0xFF},
{0x0c0e & 0xFF, 0x0c10 & 0xFF},
{0x0c12 & 0xFF, 0x0c28 & 0xFF},
{0x0c2a & 0xFF, 0x0c39 & 0xFF},
@@ -170,9 +172,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x0c58 & 0xFF, 0x0c5a & 0xFF},
{0x0c60 & 0xFF, 0x0c63 & 0xFF},
{0x0c66 & 0xFF, 0x0c6f & 0xFF},
- {0x0c78 & 0xFF, 0x0c7f & 0xFF},
- {0x0c81 & 0xFF, 0x0c83 & 0xFF},
- {0x0c85 & 0xFF, 0x0c8c & 0xFF},
+ {0x0c77 & 0xFF, 0x0c7f & 0xFF},
+ {0x0c80 & 0xFF, 0x0c8c & 0xFF},
{0x0c8e & 0xFF, 0x0c90 & 0xFF},
{0x0c92 & 0xFF, 0x0ca8 & 0xFF},
{0x0caa & 0xFF, 0x0cb3 & 0xFF},
@@ -185,18 +186,14 @@ static const uint8_t unicode_rangetab[][2]={
{0x0ce0 & 0xFF, 0x0ce3 & 0xFF},
{0x0ce6 & 0xFF, 0x0cef & 0xFF},
{0x0cf1 & 0xFF, 0x0cf2 & 0xFF},
- {0x0d01 & 0xFF, 0x0d03 & 0xFF},
- {0x0d05 & 0xFF, 0x0d0c & 0xFF},
+ {0x0d00 & 0xFF, 0x0d0c & 0xFF},
{0x0d0e & 0xFF, 0x0d10 & 0xFF},
- {0x0d12 & 0xFF, 0x0d3a & 0xFF},
- {0x0d3d & 0xFF, 0x0d44 & 0xFF},
+ {0x0d12 & 0xFF, 0x0d44 & 0xFF},
{0x0d46 & 0xFF, 0x0d48 & 0xFF},
- {0x0d4a & 0xFF, 0x0d4e & 0xFF},
- {0x0d57 & 0xFF, 0x0d57 & 0xFF},
- {0x0d5f & 0xFF, 0x0d63 & 0xFF},
- {0x0d66 & 0xFF, 0x0d75 & 0xFF},
- {0x0d79 & 0xFF, 0x0d7f & 0xFF},
- {0x0d82 & 0xFF, 0x0d83 & 0xFF},
+ {0x0d4a & 0xFF, 0x0d4f & 0xFF},
+ {0x0d54 & 0xFF, 0x0d63 & 0xFF},
+ {0x0d66 & 0xFF, 0x0d7f & 0xFF},
+ {0x0d81 & 0xFF, 0x0d83 & 0xFF},
{0x0d85 & 0xFF, 0x0d96 & 0xFF},
{0x0d9a & 0xFF, 0x0db1 & 0xFF},
{0x0db3 & 0xFF, 0x0dbb & 0xFF},
@@ -213,17 +210,10 @@ static const uint8_t unicode_rangetab[][2]={
{0x0e40 & 0xFF, 0x0e5b & 0xFF},
{0x0e81 & 0xFF, 0x0e82 & 0xFF},
{0x0e84 & 0xFF, 0x0e84 & 0xFF},
- {0x0e87 & 0xFF, 0x0e88 & 0xFF},
- {0x0e8a & 0xFF, 0x0e8a & 0xFF},
- {0x0e8d & 0xFF, 0x0e8d & 0xFF},
- {0x0e94 & 0xFF, 0x0e97 & 0xFF},
- {0x0e99 & 0xFF, 0x0e9f & 0xFF},
- {0x0ea1 & 0xFF, 0x0ea3 & 0xFF},
+ {0x0e86 & 0xFF, 0x0e8a & 0xFF},
+ {0x0e8c & 0xFF, 0x0ea3 & 0xFF},
{0x0ea5 & 0xFF, 0x0ea5 & 0xFF},
- {0x0ea7 & 0xFF, 0x0ea7 & 0xFF},
- {0x0eaa & 0xFF, 0x0eab & 0xFF},
- {0x0ead & 0xFF, 0x0eb9 & 0xFF},
- {0x0ebb & 0xFF, 0x0ebd & 0xFF},
+ {0x0ea7 & 0xFF, 0x0ebd & 0xFF},
{0x0ec0 & 0xFF, 0x0ec4 & 0xFF},
{0x0ec6 & 0xFF, 0x0ec6 & 0xFF},
{0x0ec8 & 0xFF, 0x0ecd & 0xFF},
@@ -290,7 +280,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x1805 & 0xFF, 0x1805 & 0xFF},
{0x1806 & 0xFF, 0x180e & 0xFF},
{0x1810 & 0xFF, 0x1819 & 0xFF},
- {0x1820 & 0xFF, 0x1877 & 0xFF},
+ {0x1820 & 0xFF, 0x1878 & 0xFF},
{0x1880 & 0xFF, 0x18aa & 0xFF},
{0x18b0 & 0xFF, 0x18f5 & 0xFF},
{0x1900 & 0xFF, 0x191e & 0xFF},
@@ -312,7 +302,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x1a7f & 0xFF, 0x1a89 & 0xFF},
{0x1a90 & 0xFF, 0x1a99 & 0xFF},
{0x1aa0 & 0xFF, 0x1aad & 0xFF},
- {0x1ab0 & 0xFF, 0x1abe & 0xFF},
+ {0x1ab0 & 0xFF, 0x1ac0 & 0xFF},
{0x1b00 & 0xFF, 0x1b4b & 0xFF},
{0x1b50 & 0xFF, 0x1b7c & 0xFF},
{0x1b80 & 0xFF, 0x1bbf & 0xFF},
@@ -322,6 +312,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x1c3b & 0xFF, 0x1c49 & 0xFF},
{0x1c4d & 0xFF, 0x1c4f & 0xFF},
{0x1c50 & 0xFF, 0x1c7f & 0xFF},
+ {0x1c80 & 0xFF, 0x1c88 & 0xFF},
+ {0x1c90 & 0xFF, 0x1cba & 0xFF},
+ {0x1cbd & 0xFF, 0x1cbf & 0xFF},
{0x1cc0 & 0xFF, 0x1cc7 & 0xFF},
{0x1cd0 & 0xFF, 0x1cd2 & 0xFF},
{0x1cd3 & 0xFF, 0x1cd3 & 0xFF},
@@ -332,8 +325,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x1ced & 0xFF, 0x1ced & 0xFF},
{0x1cee & 0xFF, 0x1cf3 & 0xFF},
{0x1cf4 & 0xFF, 0x1cf4 & 0xFF},
- {0x1cf5 & 0xFF, 0x1cf6 & 0xFF},
+ {0x1cf5 & 0xFF, 0x1cf7 & 0xFF},
{0x1cf8 & 0xFF, 0x1cf9 & 0xFF},
+ {0x1cfa & 0xFF, 0x1cfa & 0xFF},
{0x1d00 & 0xFF, 0x1d25 & 0xFF},
{0x1d26 & 0xFF, 0x1d2a & 0xFF},
{0x1d2b & 0xFF, 0x1d2b & 0xFF},
@@ -345,8 +339,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x1d78 & 0xFF, 0x1d78 & 0xFF},
{0x1d79 & 0xFF, 0x1dbe & 0xFF},
{0x1dbf & 0xFF, 0x1dbf & 0xFF},
- {0x1dc0 & 0xFF, 0x1df5 & 0xFF},
- {0x1dfc & 0xFF, 0x1dff & 0xFF},
+ {0x1dc0 & 0xFF, 0x1df9 & 0xFF},
+ {0x1dfb & 0xFF, 0x1dff & 0xFF},
{0x1e00 & 0xFF, 0x1eff & 0xFF},
{0x1f00 & 0xFF, 0x1f15 & 0xFF},
{0x1f18 & 0xFF, 0x1f1d & 0xFF},
@@ -373,7 +367,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x207f & 0xFF, 0x207f & 0xFF},
{0x2080 & 0xFF, 0x208e & 0xFF},
{0x2090 & 0xFF, 0x209c & 0xFF},
- {0x20a0 & 0xFF, 0x20be & 0xFF},
+ {0x20a0 & 0xFF, 0x20bf & 0xFF},
{0x20d0 & 0xFF, 0x20f0 & 0xFF},
{0x2100 & 0xFF, 0x2125 & 0xFF},
{0x2126 & 0xFF, 0x2126 & 0xFF},
@@ -388,7 +382,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x2189 & 0xFF, 0x218b & 0xFF},
{0x2190 & 0xFF, 0x21ff & 0xFF},
{0x2200 & 0xFF, 0x22ff & 0xFF},
- {0x2300 & 0xFF, 0x23fa & 0xFF},
+ {0x2300 & 0xFF, 0x23ff & 0xFF},
{0x2400 & 0xFF, 0x2426 & 0xFF},
{0x2440 & 0xFF, 0x244a & 0xFF},
{0x2460 & 0xFF, 0x24ff & 0xFF},
@@ -400,10 +394,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x2a00 & 0xFF, 0x2aff & 0xFF},
{0x2b00 & 0xFF, 0x2b73 & 0xFF},
{0x2b76 & 0xFF, 0x2b95 & 0xFF},
- {0x2b98 & 0xFF, 0x2bb9 & 0xFF},
- {0x2bbd & 0xFF, 0x2bc8 & 0xFF},
- {0x2bca & 0xFF, 0x2bd1 & 0xFF},
- {0x2bec & 0xFF, 0x2bef & 0xFF},
+ {0x2b97 & 0xFF, 0x2bff & 0xFF},
{0x2c00 & 0xFF, 0x2c2e & 0xFF},
{0x2c30 & 0xFF, 0x2c5e & 0xFF},
{0x2c60 & 0xFF, 0x2c7f & 0xFF},
@@ -425,7 +416,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x2dd0 & 0xFF, 0x2dd6 & 0xFF},
{0x2dd8 & 0xFF, 0x2dde & 0xFF},
{0x2de0 & 0xFF, 0x2dff & 0xFF},
- {0x2e00 & 0xFF, 0x2e42 & 0xFF},
+ {0x2e00 & 0xFF, 0x2e52 & 0xFF},
{0x2e80 & 0xFF, 0x2e99 & 0xFF},
{0x2e9b & 0xFF, 0x2ef3 & 0xFF},
{0x2f00 & 0xFF, 0x2fd5 & 0xFF},
@@ -449,10 +440,10 @@ static const uint8_t unicode_rangetab[][2]={
{0x30a1 & 0xFF, 0x30fa & 0xFF},
{0x30fb & 0xFF, 0x30fc & 0xFF},
{0x30fd & 0xFF, 0x30ff & 0xFF},
- {0x3105 & 0xFF, 0x312d & 0xFF},
+ {0x3105 & 0xFF, 0x312f & 0xFF},
{0x3131 & 0xFF, 0x318e & 0xFF},
{0x3190 & 0xFF, 0x319f & 0xFF},
- {0x31a0 & 0xFF, 0x31ba & 0xFF},
+ {0x31a0 & 0xFF, 0x31bf & 0xFF},
{0x31c0 & 0xFF, 0x31e3 & 0xFF},
{0x31f0 & 0xFF, 0x31ff & 0xFF},
{0x3200 & 0xFF, 0x321e & 0xFF},
@@ -460,6 +451,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x3260 & 0xFF, 0x327e & 0xFF},
{0x327f & 0xFF, 0x32cf & 0xFF},
{0x32d0 & 0xFF, 0x32fe & 0xFF},
+ {0x32ff & 0xFF, 0x32ff & 0xFF},
{0x3300 & 0xFF, 0x3357 & 0xFF},
{0x3358 & 0xFF, 0x33ff & 0xFF},
{0x3400 & 0xFF, 0x34ff & 0xFF},
@@ -487,7 +479,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x4a00 & 0xFF, 0x4aff & 0xFF},
{0x4b00 & 0xFF, 0x4bff & 0xFF},
{0x4c00 & 0xFF, 0x4cff & 0xFF},
- {0x4d00 & 0xFF, 0x4db5 & 0xFF},
+ {0x4d00 & 0xFF, 0x4dbf & 0xFF},
{0x4dc0 & 0xFF, 0x4dff & 0xFF},
{0x4e00 & 0xFF, 0x4eff & 0xFF},
{0x4f00 & 0xFF, 0x4fff & 0xFF},
@@ -570,7 +562,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x9c00 & 0xFF, 0x9cff & 0xFF},
{0x9d00 & 0xFF, 0x9dff & 0xFF},
{0x9e00 & 0xFF, 0x9eff & 0xFF},
- {0x9f00 & 0xFF, 0x9fd5 & 0xFF},
+ {0x9f00 & 0xFF, 0x9ffc & 0xFF},
{0xa000 & 0xFF, 0xa0ff & 0xFF},
{0xa100 & 0xFF, 0xa1ff & 0xFF},
{0xa200 & 0xFF, 0xa2ff & 0xFF},
@@ -585,15 +577,15 @@ static const uint8_t unicode_rangetab[][2]={
{0xa700 & 0xFF, 0xa721 & 0xFF},
{0xa722 & 0xFF, 0xa787 & 0xFF},
{0xa788 & 0xFF, 0xa78a & 0xFF},
- {0xa78b & 0xFF, 0xa7ad & 0xFF},
- {0xa7b0 & 0xFF, 0xa7b7 & 0xFF},
- {0xa7f7 & 0xFF, 0xa7ff & 0xFF},
- {0xa800 & 0xFF, 0xa82b & 0xFF},
+ {0xa78b & 0xFF, 0xa7bf & 0xFF},
+ {0xa7c2 & 0xFF, 0xa7ca & 0xFF},
+ {0xa7f5 & 0xFF, 0xa7ff & 0xFF},
+ {0xa800 & 0xFF, 0xa82c & 0xFF},
{0xa830 & 0xFF, 0xa839 & 0xFF},
{0xa840 & 0xFF, 0xa877 & 0xFF},
- {0xa880 & 0xFF, 0xa8c4 & 0xFF},
+ {0xa880 & 0xFF, 0xa8c5 & 0xFF},
{0xa8ce & 0xFF, 0xa8d9 & 0xFF},
- {0xa8e0 & 0xFF, 0xa8fd & 0xFF},
+ {0xa8e0 & 0xFF, 0xa8ff & 0xFF},
{0xa900 & 0xFF, 0xa92d & 0xFF},
{0xa92e & 0xFF, 0xa92e & 0xFF},
{0xa92f & 0xFF, 0xa92f & 0xFF},
@@ -622,6 +614,8 @@ static const uint8_t unicode_rangetab[][2]={
{0xab5b & 0xFF, 0xab5b & 0xFF},
{0xab5c & 0xFF, 0xab64 & 0xFF},
{0xab65 & 0xFF, 0xab65 & 0xFF},
+ {0xab66 & 0xFF, 0xab69 & 0xFF},
+ {0xab6a & 0xFF, 0xab6b & 0xFF},
{0xab70 & 0xFF, 0xabbf & 0xFF},
{0xabc0 & 0xFF, 0xabed & 0xFF},
{0xabf0 & 0xFF, 0xabf9 & 0xFF},
@@ -727,8 +721,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x10100 & 0xFF, 0x10102 & 0xFF},
{0x10107 & 0xFF, 0x10133 & 0xFF},
{0x10137 & 0xFF, 0x1013f & 0xFF},
- {0x10140 & 0xFF, 0x1018c & 0xFF},
- {0x10190 & 0xFF, 0x1019b & 0xFF},
+ {0x10140 & 0xFF, 0x1018e & 0xFF},
+ {0x10190 & 0xFF, 0x1019c & 0xFF},
{0x101a0 & 0xFF, 0x101a0 & 0xFF},
{0x101d0 & 0xFF, 0x101fc & 0xFF},
{0x101fd & 0xFF, 0x101fd & 0xFF},
@@ -737,6 +731,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x102e0 & 0xFF, 0x102e0 & 0xFF},
{0x102e1 & 0xFF, 0x102fb & 0xFF},
{0x10300 & 0xFF, 0x10323 & 0xFF},
+ {0x1032d & 0xFF, 0x1032f & 0xFF},
{0x10330 & 0xFF, 0x1034a & 0xFF},
{0x10350 & 0xFF, 0x1037a & 0xFF},
{0x10380 & 0xFF, 0x1039d & 0xFF},
@@ -747,6 +742,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x10450 & 0xFF, 0x1047f & 0xFF},
{0x10480 & 0xFF, 0x1049d & 0xFF},
{0x104a0 & 0xFF, 0x104a9 & 0xFF},
+ {0x104b0 & 0xFF, 0x104d3 & 0xFF},
+ {0x104d8 & 0xFF, 0x104fb & 0xFF},
{0x10500 & 0xFF, 0x10527 & 0xFF},
{0x10530 & 0xFF, 0x10563 & 0xFF},
{0x1056f & 0xFF, 0x1056f & 0xFF},
@@ -780,9 +777,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x10a05 & 0xFF, 0x10a06 & 0xFF},
{0x10a0c & 0xFF, 0x10a13 & 0xFF},
{0x10a15 & 0xFF, 0x10a17 & 0xFF},
- {0x10a19 & 0xFF, 0x10a33 & 0xFF},
+ {0x10a19 & 0xFF, 0x10a35 & 0xFF},
{0x10a38 & 0xFF, 0x10a3a & 0xFF},
- {0x10a3f & 0xFF, 0x10a47 & 0xFF},
+ {0x10a3f & 0xFF, 0x10a48 & 0xFF},
{0x10a50 & 0xFF, 0x10a58 & 0xFF},
{0x10a60 & 0xFF, 0x10a7f & 0xFF},
{0x10a80 & 0xFF, 0x10a9f & 0xFF},
@@ -801,21 +798,30 @@ static const uint8_t unicode_rangetab[][2]={
{0x10c80 & 0xFF, 0x10cb2 & 0xFF},
{0x10cc0 & 0xFF, 0x10cf2 & 0xFF},
{0x10cfa & 0xFF, 0x10cff & 0xFF},
+ {0x10d00 & 0xFF, 0x10d27 & 0xFF},
+ {0x10d30 & 0xFF, 0x10d39 & 0xFF},
{0x10e60 & 0xFF, 0x10e7e & 0xFF},
+ {0x10e80 & 0xFF, 0x10ea9 & 0xFF},
+ {0x10eab & 0xFF, 0x10ead & 0xFF},
+ {0x10eb0 & 0xFF, 0x10eb1 & 0xFF},
+ {0x10f00 & 0xFF, 0x10f27 & 0xFF},
+ {0x10f30 & 0xFF, 0x10f59 & 0xFF},
+ {0x10fb0 & 0xFF, 0x10fcb & 0xFF},
+ {0x10fe0 & 0xFF, 0x10ff6 & 0xFF},
{0x11000 & 0xFF, 0x1104d & 0xFF},
{0x11052 & 0xFF, 0x1106f & 0xFF},
{0x1107f & 0xFF, 0x1107f & 0xFF},
{0x11080 & 0xFF, 0x110c1 & 0xFF},
+ {0x110cd & 0xFF, 0x110cd & 0xFF},
{0x110d0 & 0xFF, 0x110e8 & 0xFF},
{0x110f0 & 0xFF, 0x110f9 & 0xFF},
{0x11100 & 0xFF, 0x11134 & 0xFF},
- {0x11136 & 0xFF, 0x11143 & 0xFF},
+ {0x11136 & 0xFF, 0x11147 & 0xFF},
{0x11150 & 0xFF, 0x11176 & 0xFF},
- {0x11180 & 0xFF, 0x111cd & 0xFF},
- {0x111d0 & 0xFF, 0x111df & 0xFF},
+ {0x11180 & 0xFF, 0x111df & 0xFF},
{0x111e1 & 0xFF, 0x111f4 & 0xFF},
{0x11200 & 0xFF, 0x11211 & 0xFF},
- {0x11213 & 0xFF, 0x1123d & 0xFF},
+ {0x11213 & 0xFF, 0x1123e & 0xFF},
{0x11280 & 0xFF, 0x11286 & 0xFF},
{0x11288 & 0xFF, 0x11288 & 0xFF},
{0x1128a & 0xFF, 0x1128d & 0xFF},
@@ -830,6 +836,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x1132a & 0xFF, 0x11330 & 0xFF},
{0x11332 & 0xFF, 0x11333 & 0xFF},
{0x11335 & 0xFF, 0x11339 & 0xFF},
+ {0x1133b & 0xFF, 0x1133b & 0xFF},
{0x1133c & 0xFF, 0x11344 & 0xFF},
{0x11347 & 0xFF, 0x11348 & 0xFF},
{0x1134b & 0xFF, 0x1134d & 0xFF},
@@ -838,20 +845,61 @@ static const uint8_t unicode_rangetab[][2]={
{0x1135d & 0xFF, 0x11363 & 0xFF},
{0x11366 & 0xFF, 0x1136c & 0xFF},
{0x11370 & 0xFF, 0x11374 & 0xFF},
+ {0x11400 & 0xFF, 0x1145b & 0xFF},
+ {0x1145d & 0xFF, 0x11461 & 0xFF},
{0x11480 & 0xFF, 0x114c7 & 0xFF},
{0x114d0 & 0xFF, 0x114d9 & 0xFF},
{0x11580 & 0xFF, 0x115b5 & 0xFF},
{0x115b8 & 0xFF, 0x115dd & 0xFF},
{0x11600 & 0xFF, 0x11644 & 0xFF},
{0x11650 & 0xFF, 0x11659 & 0xFF},
- {0x11680 & 0xFF, 0x116b7 & 0xFF},
+ {0x11660 & 0xFF, 0x1166c & 0xFF},
+ {0x11680 & 0xFF, 0x116b8 & 0xFF},
{0x116c0 & 0xFF, 0x116c9 & 0xFF},
- {0x11700 & 0xFF, 0x11719 & 0xFF},
+ {0x11700 & 0xFF, 0x1171a & 0xFF},
{0x1171d & 0xFF, 0x1172b & 0xFF},
{0x11730 & 0xFF, 0x1173f & 0xFF},
+ {0x11800 & 0xFF, 0x1183b & 0xFF},
{0x118a0 & 0xFF, 0x118f2 & 0xFF},
{0x118ff & 0xFF, 0x118ff & 0xFF},
+ {0x11900 & 0xFF, 0x11906 & 0xFF},
+ {0x11909 & 0xFF, 0x11909 & 0xFF},
+ {0x1190c & 0xFF, 0x11913 & 0xFF},
+ {0x11915 & 0xFF, 0x11916 & 0xFF},
+ {0x11918 & 0xFF, 0x11935 & 0xFF},
+ {0x11937 & 0xFF, 0x11938 & 0xFF},
+ {0x1193b & 0xFF, 0x11946 & 0xFF},
+ {0x11950 & 0xFF, 0x11959 & 0xFF},
+ {0x119a0 & 0xFF, 0x119a7 & 0xFF},
+ {0x119aa & 0xFF, 0x119d7 & 0xFF},
+ {0x119da & 0xFF, 0x119e4 & 0xFF},
+ {0x11a00 & 0xFF, 0x11a47 & 0xFF},
+ {0x11a50 & 0xFF, 0x11aa2 & 0xFF},
{0x11ac0 & 0xFF, 0x11af8 & 0xFF},
+ {0x11c00 & 0xFF, 0x11c08 & 0xFF},
+ {0x11c0a & 0xFF, 0x11c36 & 0xFF},
+ {0x11c38 & 0xFF, 0x11c45 & 0xFF},
+ {0x11c50 & 0xFF, 0x11c6c & 0xFF},
+ {0x11c70 & 0xFF, 0x11c8f & 0xFF},
+ {0x11c92 & 0xFF, 0x11ca7 & 0xFF},
+ {0x11ca9 & 0xFF, 0x11cb6 & 0xFF},
+ {0x11d00 & 0xFF, 0x11d06 & 0xFF},
+ {0x11d08 & 0xFF, 0x11d09 & 0xFF},
+ {0x11d0b & 0xFF, 0x11d36 & 0xFF},
+ {0x11d3a & 0xFF, 0x11d3a & 0xFF},
+ {0x11d3c & 0xFF, 0x11d3d & 0xFF},
+ {0x11d3f & 0xFF, 0x11d47 & 0xFF},
+ {0x11d50 & 0xFF, 0x11d59 & 0xFF},
+ {0x11d60 & 0xFF, 0x11d65 & 0xFF},
+ {0x11d67 & 0xFF, 0x11d68 & 0xFF},
+ {0x11d6a & 0xFF, 0x11d8e & 0xFF},
+ {0x11d90 & 0xFF, 0x11d91 & 0xFF},
+ {0x11d93 & 0xFF, 0x11d98 & 0xFF},
+ {0x11da0 & 0xFF, 0x11da9 & 0xFF},
+ {0x11ee0 & 0xFF, 0x11ef8 & 0xFF},
+ {0x11fb0 & 0xFF, 0x11fb0 & 0xFF},
+ {0x11fc0 & 0xFF, 0x11ff1 & 0xFF},
+ {0x11fff & 0xFF, 0x11fff & 0xFF},
{0x12000 & 0xFF, 0x120ff & 0xFF},
{0x12100 & 0xFF, 0x121ff & 0xFF},
{0x12200 & 0xFF, 0x122ff & 0xFF},
@@ -865,6 +913,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x13200 & 0xFF, 0x132ff & 0xFF},
{0x13300 & 0xFF, 0x133ff & 0xFF},
{0x13400 & 0xFF, 0x1342e & 0xFF},
+ {0x13430 & 0xFF, 0x13438 & 0xFF},
{0x14400 & 0xFF, 0x144ff & 0xFF},
{0x14500 & 0xFF, 0x145ff & 0xFF},
{0x14600 & 0xFF, 0x14646 & 0xFF},
@@ -881,11 +930,52 @@ static const uint8_t unicode_rangetab[][2]={
{0x16b5b & 0xFF, 0x16b61 & 0xFF},
{0x16b63 & 0xFF, 0x16b77 & 0xFF},
{0x16b7d & 0xFF, 0x16b8f & 0xFF},
- {0x16f00 & 0xFF, 0x16f44 & 0xFF},
- {0x16f50 & 0xFF, 0x16f7e & 0xFF},
+ {0x16e40 & 0xFF, 0x16e9a & 0xFF},
+ {0x16f00 & 0xFF, 0x16f4a & 0xFF},
+ {0x16f4f & 0xFF, 0x16f87 & 0xFF},
{0x16f8f & 0xFF, 0x16f9f & 0xFF},
+ {0x16fe0 & 0xFF, 0x16fe0 & 0xFF},
+ {0x16fe1 & 0xFF, 0x16fe1 & 0xFF},
+ {0x16fe2 & 0xFF, 0x16fe3 & 0xFF},
+ {0x16fe4 & 0xFF, 0x16fe4 & 0xFF},
+ {0x16ff0 & 0xFF, 0x16ff1 & 0xFF},
+ {0x17000 & 0xFF, 0x170ff & 0xFF},
+ {0x17100 & 0xFF, 0x171ff & 0xFF},
+ {0x17200 & 0xFF, 0x172ff & 0xFF},
+ {0x17300 & 0xFF, 0x173ff & 0xFF},
+ {0x17400 & 0xFF, 0x174ff & 0xFF},
+ {0x17500 & 0xFF, 0x175ff & 0xFF},
+ {0x17600 & 0xFF, 0x176ff & 0xFF},
+ {0x17700 & 0xFF, 0x177ff & 0xFF},
+ {0x17800 & 0xFF, 0x178ff & 0xFF},
+ {0x17900 & 0xFF, 0x179ff & 0xFF},
+ {0x17a00 & 0xFF, 0x17aff & 0xFF},
+ {0x17b00 & 0xFF, 0x17bff & 0xFF},
+ {0x17c00 & 0xFF, 0x17cff & 0xFF},
+ {0x17d00 & 0xFF, 0x17dff & 0xFF},
+ {0x17e00 & 0xFF, 0x17eff & 0xFF},
+ {0x17f00 & 0xFF, 0x17fff & 0xFF},
+ {0x18000 & 0xFF, 0x180ff & 0xFF},
+ {0x18100 & 0xFF, 0x181ff & 0xFF},
+ {0x18200 & 0xFF, 0x182ff & 0xFF},
+ {0x18300 & 0xFF, 0x183ff & 0xFF},
+ {0x18400 & 0xFF, 0x184ff & 0xFF},
+ {0x18500 & 0xFF, 0x185ff & 0xFF},
+ {0x18600 & 0xFF, 0x186ff & 0xFF},
+ {0x18700 & 0xFF, 0x187f7 & 0xFF},
+ {0x18800 & 0xFF, 0x188ff & 0xFF},
+ {0x18900 & 0xFF, 0x189ff & 0xFF},
+ {0x18a00 & 0xFF, 0x18aff & 0xFF},
+ {0x18b00 & 0xFF, 0x18bff & 0xFF},
+ {0x18c00 & 0xFF, 0x18cd5 & 0xFF},
+ {0x18d00 & 0xFF, 0x18d08 & 0xFF},
{0x1b000 & 0xFF, 0x1b000 & 0xFF},
- {0x1b001 & 0xFF, 0x1b001 & 0xFF},
+ {0x1b001 & 0xFF, 0x1b0ff & 0xFF},
+ {0x1b100 & 0xFF, 0x1b11e & 0xFF},
+ {0x1b150 & 0xFF, 0x1b152 & 0xFF},
+ {0x1b164 & 0xFF, 0x1b167 & 0xFF},
+ {0x1b170 & 0xFF, 0x1b1ff & 0xFF},
+ {0x1b200 & 0xFF, 0x1b2fb & 0xFF},
{0x1bc00 & 0xFF, 0x1bc6a & 0xFF},
{0x1bc70 & 0xFF, 0x1bc7c & 0xFF},
{0x1bc80 & 0xFF, 0x1bc88 & 0xFF},
@@ -904,8 +994,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x1d1aa & 0xFF, 0x1d1ad & 0xFF},
{0x1d1ae & 0xFF, 0x1d1e8 & 0xFF},
{0x1d200 & 0xFF, 0x1d245 & 0xFF},
+ {0x1d2e0 & 0xFF, 0x1d2f3 & 0xFF},
{0x1d300 & 0xFF, 0x1d356 & 0xFF},
- {0x1d360 & 0xFF, 0x1d371 & 0xFF},
+ {0x1d360 & 0xFF, 0x1d378 & 0xFF},
{0x1d400 & 0xFF, 0x1d454 & 0xFF},
{0x1d456 & 0xFF, 0x1d49c & 0xFF},
{0x1d49e & 0xFF, 0x1d49f & 0xFF},
@@ -935,8 +1026,24 @@ static const uint8_t unicode_rangetab[][2]={
{0x1da00 & 0xFF, 0x1da8b & 0xFF},
{0x1da9b & 0xFF, 0x1da9f & 0xFF},
{0x1daa1 & 0xFF, 0x1daaf & 0xFF},
+ {0x1e000 & 0xFF, 0x1e006 & 0xFF},
+ {0x1e008 & 0xFF, 0x1e018 & 0xFF},
+ {0x1e01b & 0xFF, 0x1e021 & 0xFF},
+ {0x1e023 & 0xFF, 0x1e024 & 0xFF},
+ {0x1e026 & 0xFF, 0x1e02a & 0xFF},
+ {0x1e100 & 0xFF, 0x1e12c & 0xFF},
+ {0x1e130 & 0xFF, 0x1e13d & 0xFF},
+ {0x1e140 & 0xFF, 0x1e149 & 0xFF},
+ {0x1e14e & 0xFF, 0x1e14f & 0xFF},
+ {0x1e2c0 & 0xFF, 0x1e2f9 & 0xFF},
+ {0x1e2ff & 0xFF, 0x1e2ff & 0xFF},
{0x1e800 & 0xFF, 0x1e8c4 & 0xFF},
{0x1e8c7 & 0xFF, 0x1e8d6 & 0xFF},
+ {0x1e900 & 0xFF, 0x1e94b & 0xFF},
+ {0x1e950 & 0xFF, 0x1e959 & 0xFF},
+ {0x1e95e & 0xFF, 0x1e95f & 0xFF},
+ {0x1ec71 & 0xFF, 0x1ecb4 & 0xFF},
+ {0x1ed01 & 0xFF, 0x1ed3d & 0xFF},
{0x1ee00 & 0xFF, 0x1ee03 & 0xFF},
{0x1ee05 & 0xFF, 0x1ee1f & 0xFF},
{0x1ee21 & 0xFF, 0x1ee22 & 0xFF},
@@ -977,34 +1084,44 @@ static const uint8_t unicode_rangetab[][2]={
{0x1f0b1 & 0xFF, 0x1f0bf & 0xFF},
{0x1f0c1 & 0xFF, 0x1f0cf & 0xFF},
{0x1f0d1 & 0xFF, 0x1f0f5 & 0xFF},
- {0x1f100 & 0xFF, 0x1f10c & 0xFF},
- {0x1f110 & 0xFF, 0x1f12e & 0xFF},
- {0x1f130 & 0xFF, 0x1f16b & 0xFF},
- {0x1f170 & 0xFF, 0x1f19a & 0xFF},
+ {0x1f100 & 0xFF, 0x1f1ad & 0xFF},
{0x1f1e6 & 0xFF, 0x1f1ff & 0xFF},
{0x1f200 & 0xFF, 0x1f200 & 0xFF},
{0x1f201 & 0xFF, 0x1f202 & 0xFF},
- {0x1f210 & 0xFF, 0x1f23a & 0xFF},
+ {0x1f210 & 0xFF, 0x1f23b & 0xFF},
{0x1f240 & 0xFF, 0x1f248 & 0xFF},
{0x1f250 & 0xFF, 0x1f251 & 0xFF},
+ {0x1f260 & 0xFF, 0x1f265 & 0xFF},
{0x1f300 & 0xFF, 0x1f3ff & 0xFF},
{0x1f400 & 0xFF, 0x1f4ff & 0xFF},
- {0x1f500 & 0xFF, 0x1f579 & 0xFF},
- {0x1f57b & 0xFF, 0x1f5a3 & 0xFF},
- {0x1f5a5 & 0xFF, 0x1f5ff & 0xFF},
- {0x1f600 & 0xFF, 0x1f6d0 & 0xFF},
+ {0x1f500 & 0xFF, 0x1f5ff & 0xFF},
+ {0x1f600 & 0xFF, 0x1f6d7 & 0xFF},
{0x1f6e0 & 0xFF, 0x1f6ec & 0xFF},
- {0x1f6f0 & 0xFF, 0x1f6f3 & 0xFF},
+ {0x1f6f0 & 0xFF, 0x1f6fc & 0xFF},
{0x1f700 & 0xFF, 0x1f773 & 0xFF},
- {0x1f780 & 0xFF, 0x1f7d4 & 0xFF},
+ {0x1f780 & 0xFF, 0x1f7d8 & 0xFF},
+ {0x1f7e0 & 0xFF, 0x1f7eb & 0xFF},
{0x1f800 & 0xFF, 0x1f80b & 0xFF},
{0x1f810 & 0xFF, 0x1f847 & 0xFF},
{0x1f850 & 0xFF, 0x1f859 & 0xFF},
{0x1f860 & 0xFF, 0x1f887 & 0xFF},
{0x1f890 & 0xFF, 0x1f8ad & 0xFF},
- {0x1f910 & 0xFF, 0x1f918 & 0xFF},
- {0x1f980 & 0xFF, 0x1f984 & 0xFF},
- {0x1f9c0 & 0xFF, 0x1f9c0 & 0xFF},
+ {0x1f8b0 & 0xFF, 0x1f8b1 & 0xFF},
+ {0x1f900 & 0xFF, 0x1f978 & 0xFF},
+ {0x1f97a & 0xFF, 0x1f9cb & 0xFF},
+ {0x1f9cd & 0xFF, 0x1f9ff & 0xFF},
+ {0x1fa00 & 0xFF, 0x1fa53 & 0xFF},
+ {0x1fa60 & 0xFF, 0x1fa6d & 0xFF},
+ {0x1fa70 & 0xFF, 0x1fa74 & 0xFF},
+ {0x1fa78 & 0xFF, 0x1fa7a & 0xFF},
+ {0x1fa80 & 0xFF, 0x1fa86 & 0xFF},
+ {0x1fa90 & 0xFF, 0x1faa8 & 0xFF},
+ {0x1fab0 & 0xFF, 0x1fab6 & 0xFF},
+ {0x1fac0 & 0xFF, 0x1fac2 & 0xFF},
+ {0x1fad0 & 0xFF, 0x1fad6 & 0xFF},
+ {0x1fb00 & 0xFF, 0x1fb92 & 0xFF},
+ {0x1fb94 & 0xFF, 0x1fbca & 0xFF},
+ {0x1fbf0 & 0xFF, 0x1fbf9 & 0xFF},
{0x20000 & 0xFF, 0x200ff & 0xFF},
{0x20100 & 0xFF, 0x201ff & 0xFF},
{0x20200 & 0xFF, 0x202ff & 0xFF},
@@ -1171,7 +1288,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x2a300 & 0xFF, 0x2a3ff & 0xFF},
{0x2a400 & 0xFF, 0x2a4ff & 0xFF},
{0x2a500 & 0xFF, 0x2a5ff & 0xFF},
- {0x2a600 & 0xFF, 0x2a6d6 & 0xFF},
+ {0x2a600 & 0xFF, 0x2a6dd & 0xFF},
{0x2a700 & 0xFF, 0x2a7ff & 0xFF},
{0x2a800 & 0xFF, 0x2a8ff & 0xFF},
{0x2a900 & 0xFF, 0x2a9ff & 0xFF},
@@ -1214,9 +1331,59 @@ static const uint8_t unicode_rangetab[][2]={
{0x2cc00 & 0xFF, 0x2ccff & 0xFF},
{0x2cd00 & 0xFF, 0x2cdff & 0xFF},
{0x2ce00 & 0xFF, 0x2cea1 & 0xFF},
+ {0x2ceb0 & 0xFF, 0x2ceff & 0xFF},
+ {0x2cf00 & 0xFF, 0x2cfff & 0xFF},
+ {0x2d000 & 0xFF, 0x2d0ff & 0xFF},
+ {0x2d100 & 0xFF, 0x2d1ff & 0xFF},
+ {0x2d200 & 0xFF, 0x2d2ff & 0xFF},
+ {0x2d300 & 0xFF, 0x2d3ff & 0xFF},
+ {0x2d400 & 0xFF, 0x2d4ff & 0xFF},
+ {0x2d500 & 0xFF, 0x2d5ff & 0xFF},
+ {0x2d600 & 0xFF, 0x2d6ff & 0xFF},
+ {0x2d700 & 0xFF, 0x2d7ff & 0xFF},
+ {0x2d800 & 0xFF, 0x2d8ff & 0xFF},
+ {0x2d900 & 0xFF, 0x2d9ff & 0xFF},
+ {0x2da00 & 0xFF, 0x2daff & 0xFF},
+ {0x2db00 & 0xFF, 0x2dbff & 0xFF},
+ {0x2dc00 & 0xFF, 0x2dcff & 0xFF},
+ {0x2dd00 & 0xFF, 0x2ddff & 0xFF},
+ {0x2de00 & 0xFF, 0x2deff & 0xFF},
+ {0x2df00 & 0xFF, 0x2dfff & 0xFF},
+ {0x2e000 & 0xFF, 0x2e0ff & 0xFF},
+ {0x2e100 & 0xFF, 0x2e1ff & 0xFF},
+ {0x2e200 & 0xFF, 0x2e2ff & 0xFF},
+ {0x2e300 & 0xFF, 0x2e3ff & 0xFF},
+ {0x2e400 & 0xFF, 0x2e4ff & 0xFF},
+ {0x2e500 & 0xFF, 0x2e5ff & 0xFF},
+ {0x2e600 & 0xFF, 0x2e6ff & 0xFF},
+ {0x2e700 & 0xFF, 0x2e7ff & 0xFF},
+ {0x2e800 & 0xFF, 0x2e8ff & 0xFF},
+ {0x2e900 & 0xFF, 0x2e9ff & 0xFF},
+ {0x2ea00 & 0xFF, 0x2eaff & 0xFF},
+ {0x2eb00 & 0xFF, 0x2ebe0 & 0xFF},
{0x2f800 & 0xFF, 0x2f8ff & 0xFF},
{0x2f900 & 0xFF, 0x2f9ff & 0xFF},
{0x2fa00 & 0xFF, 0x2fa1d & 0xFF},
+ {0x30000 & 0xFF, 0x300ff & 0xFF},
+ {0x30100 & 0xFF, 0x301ff & 0xFF},
+ {0x30200 & 0xFF, 0x302ff & 0xFF},
+ {0x30300 & 0xFF, 0x303ff & 0xFF},
+ {0x30400 & 0xFF, 0x304ff & 0xFF},
+ {0x30500 & 0xFF, 0x305ff & 0xFF},
+ {0x30600 & 0xFF, 0x306ff & 0xFF},
+ {0x30700 & 0xFF, 0x307ff & 0xFF},
+ {0x30800 & 0xFF, 0x308ff & 0xFF},
+ {0x30900 & 0xFF, 0x309ff & 0xFF},
+ {0x30a00 & 0xFF, 0x30aff & 0xFF},
+ {0x30b00 & 0xFF, 0x30bff & 0xFF},
+ {0x30c00 & 0xFF, 0x30cff & 0xFF},
+ {0x30d00 & 0xFF, 0x30dff & 0xFF},
+ {0x30e00 & 0xFF, 0x30eff & 0xFF},
+ {0x30f00 & 0xFF, 0x30fff & 0xFF},
+ {0x31000 & 0xFF, 0x310ff & 0xFF},
+ {0x31100 & 0xFF, 0x311ff & 0xFF},
+ {0x31200 & 0xFF, 0x312ff & 0xFF},
+ {0x31300 & 0xFF, 0x3134a & 0xFF},
{0xe0001 & 0xFF, 0xe0001 & 0xFF},
{0xe0020 & 0xFF, 0xe007f & 0xFF},
{0xe0100 & 0xFF, 0xe01ef & 0xFF}};
@@ -1267,9 +1434,6 @@ static const uint8_t unicode_classtab[]={
unicode_script_armenian,
unicode_script_armenian,
unicode_script_armenian,
- unicode_script_common,
- unicode_script_armenian,
- unicode_script_armenian,
unicode_script_hebrew,
unicode_script_hebrew,
unicode_script_hebrew,
@@ -1280,6 +1444,7 @@ static const uint8_t unicode_classtab[]={
unicode_script_arabic,
unicode_script_common,
unicode_script_arabic,
+ unicode_script_arabic,
unicode_script_common,
unicode_script_arabic,
unicode_script_common,
@@ -1296,12 +1461,17 @@ static const uint8_t unicode_classtab[]={
unicode_script_arabic,
unicode_script_thaana,
unicode_script_nko,
+ unicode_script_nko,
unicode_script_samaritan,
unicode_script_samaritan,
unicode_script_mandaic,
unicode_script_mandaic,
+ unicode_script_syriac,
unicode_script_arabic,
unicode_script_arabic,
+ unicode_script_arabic,
+ unicode_script_common,
+ unicode_script_arabic,
unicode_script_devanagari,
unicode_script_inherited,
unicode_script_devanagari,
@@ -1393,8 +1563,6 @@ static const uint8_t unicode_classtab[]={
unicode_script_telugu,
unicode_script_telugu,
unicode_script_telugu,
- unicode_script_telugu,
- unicode_script_kannada,
unicode_script_kannada,
unicode_script_kannada,
unicode_script_kannada,
@@ -1415,10 +1583,6 @@ static const uint8_t unicode_classtab[]={
unicode_script_malayalam,
unicode_script_malayalam,
unicode_script_malayalam,
- unicode_script_malayalam,
- unicode_script_malayalam,
- unicode_script_malayalam,
- unicode_script_malayalam,
unicode_script_sinhala,
unicode_script_sinhala,
unicode_script_sinhala,
@@ -1445,13 +1609,6 @@ static const uint8_t unicode_classtab[]={
unicode_script_lao,
unicode_script_lao,
unicode_script_lao,
- unicode_script_lao,
- unicode_script_lao,
- unicode_script_lao,
- unicode_script_lao,
- unicode_script_lao,
- unicode_script_lao,
- unicode_script_lao,
unicode_script_tibetan,
unicode_script_tibetan,
unicode_script_tibetan,
@@ -1545,6 +1702,9 @@ static const uint8_t unicode_classtab[]={
unicode_script_lepcha,
unicode_script_lepcha,
unicode_script_ol_chiki,
+ unicode_script_cyrillic,
+ unicode_script_georgian,
+ unicode_script_georgian,
unicode_script_sundanese,
unicode_script_inherited,
unicode_script_common,
@@ -1557,6 +1717,7 @@ static const uint8_t unicode_classtab[]={
unicode_script_inherited,
unicode_script_common,
unicode_script_inherited,
+ unicode_script_common,
unicode_script_latin,
unicode_script_greek,
unicode_script_cyrillic,
@@ -1624,9 +1785,6 @@ static const uint8_t unicode_classtab[]={
unicode_script_common,
unicode_script_common,
unicode_script_common,
- unicode_script_common,
- unicode_script_common,
- unicode_script_common,
unicode_script_glagolitic,
unicode_script_glagolitic,
unicode_script_latin,
@@ -1683,6 +1841,7 @@ static const uint8_t unicode_classtab[]={
unicode_script_hangul,
unicode_script_common,
unicode_script_katakana,
+ unicode_script_common,
unicode_script_katakana,
unicode_script_common,
unicode_script_han,
@@ -1845,6 +2004,8 @@ static const uint8_t unicode_classtab[]={
unicode_script_common,
unicode_script_latin,
unicode_script_greek,
+ unicode_script_latin,
+ unicode_script_common,
unicode_script_cherokee,
unicode_script_meetei_mayek,
unicode_script_meetei_mayek,
@@ -1960,6 +2121,7 @@ static const uint8_t unicode_classtab[]={
unicode_script_inherited,
unicode_script_common,
unicode_script_old_italic,
+ unicode_script_old_italic,
unicode_script_gothic,
unicode_script_old_permic,
unicode_script_ugaritic,
@@ -1970,6 +2132,8 @@ static const uint8_t unicode_classtab[]={
unicode_script_shavian,
unicode_script_osmanya,
unicode_script_osmanya,
+ unicode_script_osage,
+ unicode_script_osage,
unicode_script_elbasan,
unicode_script_caucasian_albanian,
unicode_script_caucasian_albanian,
@@ -2024,18 +2188,27 @@ static const uint8_t unicode_classtab[]={
unicode_script_old_hungarian,
unicode_script_old_hungarian,
unicode_script_old_hungarian,
+ unicode_script_hanifi_rohingya,
+ unicode_script_hanifi_rohingya,
unicode_script_arabic,
+ unicode_script_yezidi,
+ unicode_script_yezidi,
+ unicode_script_yezidi,
+ unicode_script_old_sogdian,
+ unicode_script_sogdian,
+ unicode_script_chorasmian,
+ unicode_script_elymaic,
unicode_script_brahmi,
unicode_script_brahmi,
unicode_script_brahmi,
unicode_script_kaithi,
+ unicode_script_kaithi,
unicode_script_sora_sompeng,
unicode_script_sora_sompeng,
unicode_script_chakma,
unicode_script_chakma,
unicode_script_mahajani,
unicode_script_sharada,
- unicode_script_sharada,
unicode_script_sinhala,
unicode_script_khojki,
unicode_script_khojki,
@@ -2053,6 +2226,7 @@ static const uint8_t unicode_classtab[]={
unicode_script_grantha,
unicode_script_grantha,
unicode_script_grantha,
+ unicode_script_inherited,
unicode_script_grantha,
unicode_script_grantha,
unicode_script_grantha,
@@ -2061,20 +2235,61 @@ static const uint8_t unicode_classtab[]={
unicode_script_grantha,
unicode_script_grantha,
unicode_script_grantha,
+ unicode_script_newa,
+ unicode_script_newa,
unicode_script_tirhuta,
unicode_script_tirhuta,
unicode_script_siddham,
unicode_script_siddham,
unicode_script_modi,
unicode_script_modi,
+ unicode_script_mongolian,
unicode_script_takri,
unicode_script_takri,
unicode_script_ahom,
unicode_script_ahom,
unicode_script_ahom,
+ unicode_script_dogra,
unicode_script_warang_citi,
unicode_script_warang_citi,
+ unicode_script_dives_akuru,
+ unicode_script_dives_akuru,
+ unicode_script_dives_akuru,
+ unicode_script_dives_akuru,
+ unicode_script_dives_akuru,
+ unicode_script_dives_akuru,
+ unicode_script_dives_akuru,
+ unicode_script_dives_akuru,
+ unicode_script_nandinagari,
+ unicode_script_nandinagari,
+ unicode_script_nandinagari,
+ unicode_script_zanabazar_square,
+ unicode_script_soyombo,
unicode_script_pau_cin_hau,
+ unicode_script_bhaiksuki,
+ unicode_script_bhaiksuki,
+ unicode_script_bhaiksuki,
+ unicode_script_bhaiksuki,
+ unicode_script_marchen,
+ unicode_script_marchen,
+ unicode_script_marchen,
+ unicode_script_masaram_gondi,
+ unicode_script_masaram_gondi,
+ unicode_script_masaram_gondi,
+ unicode_script_masaram_gondi,
+ unicode_script_masaram_gondi,
+ unicode_script_masaram_gondi,
+ unicode_script_masaram_gondi,
+ unicode_script_gunjala_gondi,
+ unicode_script_gunjala_gondi,
+ unicode_script_gunjala_gondi,
+ unicode_script_gunjala_gondi,
+ unicode_script_gunjala_gondi,
+ unicode_script_gunjala_gondi,
+ unicode_script_makasar,
+ unicode_script_lisu,
+ unicode_script_tamil,
+ unicode_script_tamil,
unicode_script_cuneiform,
unicode_script_cuneiform,
unicode_script_cuneiform,
@@ -2088,6 +2303,7 @@ static const uint8_t unicode_classtab[]={
unicode_script_egyptian_hieroglyphs,
unicode_script_egyptian_hieroglyphs,
unicode_script_egyptian_hieroglyphs,
+ unicode_script_egyptian_hieroglyphs,
unicode_script_anatolian_hieroglyphs,
unicode_script_anatolian_hieroglyphs,
unicode_script_anatolian_hieroglyphs,
@@ -2104,11 +2320,52 @@ static const uint8_t unicode_classtab[]={
unicode_script_pahawh_hmong,
unicode_script_pahawh_hmong,
unicode_script_pahawh_hmong,
+ unicode_script_medefaidrin,
unicode_script_miao,
unicode_script_miao,
unicode_script_miao,
+ unicode_script_tangut,
+ unicode_script_nushu,
+ unicode_script_common,
+ unicode_script_khitan_small_script,
+ unicode_script_han,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_tangut,
+ unicode_script_khitan_small_script,
+ unicode_script_khitan_small_script,
+ unicode_script_tangut,
unicode_script_katakana,
unicode_script_hiragana,
+ unicode_script_hiragana,
+ unicode_script_hiragana,
+ unicode_script_katakana,
+ unicode_script_nushu,
+ unicode_script_nushu,
unicode_script_duployan,
unicode_script_duployan,
unicode_script_duployan,
@@ -2153,13 +2410,30 @@ static const uint8_t unicode_classtab[]={
unicode_script_common,
unicode_script_common,
unicode_script_common,
+ unicode_script_common,
unicode_script_signwriting,
unicode_script_signwriting,
unicode_script_signwriting,
unicode_script_signwriting,
unicode_script_signwriting,
+ unicode_script_glagolitic,
+ unicode_script_glagolitic,
+ unicode_script_glagolitic,
+ unicode_script_glagolitic,
+ unicode_script_glagolitic,
+ unicode_script_nyiakeng_puachue_hmong,
+ unicode_script_nyiakeng_puachue_hmong,
+ unicode_script_nyiakeng_puachue_hmong,
+ unicode_script_nyiakeng_puachue_hmong,
+ unicode_script_wancho,
+ unicode_script_wancho,
unicode_script_mende_kikakui,
unicode_script_mende_kikakui,
+ unicode_script_adlam,
+ unicode_script_adlam,
+ unicode_script_adlam,
+ unicode_script_common,
+ unicode_script_common,
unicode_script_arabic,
unicode_script_arabic,
unicode_script_arabic,
@@ -2202,10 +2476,16 @@ static const uint8_t unicode_classtab[]={
unicode_script_common,
unicode_script_common,
unicode_script_common,
+ unicode_script_hiragana,
+ unicode_script_common,
+ unicode_script_common,
+ unicode_script_common,
+ unicode_script_common,
+ unicode_script_common,
+ unicode_script_common,
unicode_script_common,
unicode_script_common,
unicode_script_common,
- unicode_script_hiragana,
unicode_script_common,
unicode_script_common,
unicode_script_common,
@@ -2228,6 +2508,60 @@ static const uint8_t unicode_classtab[]={
unicode_script_common,
unicode_script_common,
unicode_script_common,
+ unicode_script_common,
+ unicode_script_common,
+ unicode_script_common,
+ unicode_script_common,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
+ unicode_script_han,
unicode_script_han,
unicode_script_han,
unicode_script_han,
@@ -2451,52 +2785,60 @@ static const size_t unicode_indextab[]={
21,
38,
41,
- 51,
- 68,
- 74,
- 80,
- 99,
- 129,
- 159,
- 186,
- 209,
- 230,
- 238,
- 245,
- 246,
- 260,
- 267,
- 268,
- 269,
- 274,
- 285,
- 294,
- 306,
- 314,
- 319,
- 335,
- 348,
- 349,
- 365,
- 376,
+ 48,
+ 66,
+ 73,
+ 83,
+ 102,
+ 132,
+ 162,
+ 187,
+ 206,
+ 220,
+ 228,
+ 235,
+ 236,
+ 250,
+ 257,
+ 258,
+ 259,
+ 264,
+ 275,
+ 284,
+ 296,
+ 304,
+ 309,
+ 329,
+ 342,
+ 343,
+ 359,
+ 370,
+ 382,
+ 383,
+ 384,
+ 387,
388,
389,
390,
+ 391,
+ 392,
393,
- 394,
- 395,
396,
- 397,
- 398,
- 399,
- 405,
- 410,
- 426,
- 429,
- 431,
- 450,
+ 401,
+ 417,
+ 420,
+ 422,
+ 441,
+ 447,
+ 453,
+ 455,
456,
+ 457,
+ 458,
+ 459,
+ 460,
461,
+ 462,
463,
464,
465,
@@ -2515,7 +2857,6 @@ static const size_t unicode_indextab[]={
478,
479,
480,
- 481,
482,
483,
484,
@@ -2523,6 +2864,7 @@ static const size_t unicode_indextab[]={
486,
487,
488,
+ 489,
490,
491,
492,
@@ -2602,21 +2944,19 @@ static const size_t unicode_indextab[]={
566,
567,
568,
- 569,
- 570,
571,
572,
- 573,
- 574,
575,
- 576,
- 579,
- 580,
- 583,
- 589,
- 595,
+ 581,
+ 587,
+ 598,
606,
- 614,
+ 620,
+ 621,
+ 622,
+ 623,
+ 624,
+ 625,
626,
627,
628,
@@ -2655,425 +2995,302 @@ static const size_t unicode_indextab[]={
661,
662,
663,
- 664,
- 665,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
666,
667,
- 668,
669,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 672,
- 673,
- 675,
+ 679,
+ 680,
685,
- 686,
- 691,
- 701,
- 718,
- 725,
- 733,
- 737,
- 744,
+ 695,
+ 712,
+ 719,
+ 727,
+ 731,
+ 739,
+ 745,
748,
- 751,
+ 749,
752,
- 755,
- 769,
- 777,
- 789,
- 798,
- 802,
- 802,
- 803,
- 803,
+ 766,
+ 774,
+ 786,
+ 795,
+ 799,
+ 801,
+ 805,
809,
- 815,
- 824,
- 839,
- 841,
- 843,
- 847,
+ 816,
+ 821,
+ 830,
+ 846,
850,
852,
- 852,
- 853,
- 853,
- 853,
- 853,
- 853,
- 853,
- 854,
- 855,
- 856,
857,
860,
- 861,
- 861,
- 861,
- 861,
- 861,
- 861,
- 861,
- 861,
- 861,
- 861,
- 861,
- 862,
863,
- 864,
- 865,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 866,
- 867,
- 868,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 869,
- 870,
- 871,
+ 874,
+ 877,
877,
- 882,
- 882,
- 882,
- 882,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 885,
- 887,
- 887,
- 887,
- 887,
- 887,
- 887,
- 887,
- 887,
- 887,
- 887,
- 887,
- 887,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 893,
- 894,
+ 884,
+ 897,
+ 898,
+ 901,
+ 902,
+ 903,
904,
905,
- 907,
+ 908,
+ 909,
+ 909,
+ 909,
+ 909,
+ 909,
+ 909,
+ 909,
+ 909,
+ 909,
+ 909,
+ 909,
+ 910,
+ 911,
+ 912,
+ 913,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 915,
+ 916,
917,
- 927,
- 929,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 918,
+ 919,
+ 920,
+ 926,
+ 931,
+ 931,
931,
932,
- 933,
- 936,
- 936,
- 936,
- 936,
- 936,
- 936,
- 936,
- 936,
- 936,
- 936,
- 936,
- 936,
- 936,
- 936,
- 938,
- 938,
- 938,
- 938,
- 938,
- 938,
- 972,
+ 940,
+ 941,
+ 942,
+ 943,
+ 944,
+ 945,
+ 946,
+ 947,
+ 948,
+ 949,
+ 950,
+ 951,
+ 952,
+ 953,
+ 954,
+ 955,
+ 956,
+ 957,
+ 958,
+ 959,
+ 960,
+ 961,
+ 962,
+ 963,
+ 964,
+ 965,
+ 966,
+ 967,
+ 968,
+ 969,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
+ 970,
972,
- 978,
+ 976,
+ 977,
+ 977,
+ 977,
+ 977,
+ 977,
+ 977,
+ 977,
+ 977,
+ 977,
+ 977,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
+ 983,
983,
- 988,
- 989,
- 990,
- 993,
+ 983,
+ 983,
+ 983,
+ 984,
+ 994,
996,
998,
- 1003,
- 1006,
- 1006,
- 1006,
- 1006,
- 1006,
- 1006,
- 1006,
- 1007,
1008,
- 1009,
- 1010,
- 1011,
- 1012,
- 1013,
- 1014,
- 1015,
- 1016,
- 1017,
1018,
- 1019,
1020,
- 1021,
1022,
1023,
1024,
- 1025,
- 1026,
1027,
- 1028,
- 1029,
- 1030,
- 1031,
+ 1027,
+ 1027,
+ 1027,
+ 1027,
+ 1027,
1032,
- 1033,
- 1034,
- 1035,
1036,
- 1037,
1038,
- 1039,
+ 1038,
+ 1038,
+ 1038,
+ 1038,
+ 1038,
1040,
- 1041,
- 1042,
+ 1043,
+ 1043,
1043,
1044,
1045,
- 1046,
- 1047,
- 1048,
- 1049,
- 1050,
- 1051,
- 1052,
- 1053,
- 1054,
- 1055,
- 1056,
- 1057,
- 1058,
- 1059,
- 1060,
- 1061,
- 1062,
- 1063,
- 1064,
- 1065,
- 1066,
- 1067,
- 1068,
- 1069,
- 1070,
- 1071,
- 1072,
- 1073,
- 1074,
- 1075,
- 1076,
- 1077,
- 1078,
1079,
- 1080,
- 1081,
- 1082,
- 1083,
- 1084,
+ 1079,
1085,
- 1086,
1087,
- 1088,
- 1089,
- 1090,
- 1091,
- 1092,
1093,
1094,
1095,
1096,
- 1097,
- 1098,
1099,
- 1100,
- 1101,
1102,
- 1103,
- 1104,
- 1105,
- 1106,
- 1107,
1108,
- 1109,
- 1110,
1111,
- 1112,
- 1113,
- 1114,
- 1115,
- 1116,
- 1117,
- 1118,
- 1119,
1120,
- 1121,
- 1122,
+ 1123,
+ 1123,
+ 1123,
+ 1123,
1123,
1124,
1125,
@@ -3141,7 +3358,9 @@ static const size_t unicode_indextab[]={
1187,
1188,
1189,
+ 1190,
1191,
+ 1192,
1193,
1194,
1195,
@@ -3165,2871 +3384,2986 @@ static const size_t unicode_indextab[]={
1213,
1214,
1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
- 1215,
1216,
1217,
1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
- 1218,
+ 1219,
1220,
- 1221};
+ 1221,
+ 1222,
+ 1223,
+ 1224,
+ 1225,
+ 1226,
+ 1227,
+ 1228,
+ 1229,
+ 1230,
+ 1231,
+ 1232,
+ 1233,
+ 1234,
+ 1235,
+ 1236,
+ 1237,
+ 1238,
+ 1239,
+ 1240,
+ 1241,
+ 1242,
+ 1243,
+ 1244,
+ 1245,
+ 1246,
+ 1247,
+ 1248,
+ 1249,
+ 1250,
+ 1251,
+ 1252,
+ 1253,
+ 1254,
+ 1255,
+ 1256,
+ 1257,
+ 1258,
+ 1259,
+ 1260,
+ 1261,
+ 1262,
+ 1263,
+ 1264,
+ 1265,
+ 1266,
+ 1267,
+ 1268,
+ 1269,
+ 1270,
+ 1271,
+ 1272,
+ 1273,
+ 1274,
+ 1275,
+ 1276,
+ 1277,
+ 1278,
+ 1279,
+ 1280,
+ 1281,
+ 1282,
+ 1283,
+ 1284,
+ 1285,
+ 1286,
+ 1287,
+ 1288,
+ 1289,
+ 1290,
+ 1291,
+ 1292,
+ 1293,
+ 1294,
+ 1295,
+ 1296,
+ 1297,
+ 1298,
+ 1299,
+ 1300,
+ 1301,
+ 1302,
+ 1303,
+ 1304,
+ 1305,
+ 1306,
+ 1308,
+ 1310,
+ 1311,
+ 1312,
+ 1313,
+ 1314,
+ 1315,
+ 1316,
+ 1317,
+ 1318,
+ 1319,
+ 1320,
+ 1321,
+ 1322,
+ 1323,
+ 1324,
+ 1325,
+ 1326,
+ 1327,
+ 1328,
+ 1329,
+ 1330,
+ 1331,
+ 1333,
+ 1334,
+ 1335,
+ 1336,
+ 1337,
+ 1338,
+ 1339,
+ 1340,
+ 1341,
+ 1342,
+ 1343,
+ 1344,
+ 1345,
+ 1346,
+ 1347,
+ 1348,
+ 1349,
+ 1350,
+ 1351,
+ 1352,
+ 1353,
+ 1354,
+ 1355,
+ 1356,
+ 1357,
+ 1358,
+ 1359,
+ 1360,
+ 1361,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1362,
+ 1363,
+ 1364,
+ 1365,
+ 1365,
+ 1365,
+ 1365,
+ 1365,
+ 1365,
+ 1366,
+ 1367,
+ 1368,
+ 1369,
+ 1370,
+ 1371,
+ 1372,
+ 1373,
+ 1374,
+ 1375,
+ 1376,
+ 1377,
+ 1378,
+ 1379,
+ 1380,
+ 1381,
+ 1382,
+ 1383,
+ 1384,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1385,
+ 1387,
+ 1388};
diff --git a/unicode/unicode_emoji.c b/unicode/unicode_emoji.c
new file mode 100644
index 0000000..9dcd2e6
--- /dev/null
+++ b/unicode/unicode_emoji.c
@@ -0,0 +1,90 @@
+/*
+** Copyright 2011 Double Precision, Inc.
+** See COPYING for distribution information.
+**
+*/
+
+#include "unicode_config.h"
+#include "courier-unicode.h"
+#include "emojitab.h"
+
+static int emoji_lookup(const char32_t (*p)[2], size_t e, char32_t c)
+{
+ size_t b=0;
+
+ while (b < e)
+ {
+ size_t n=b + (e-b)/2;
+
+ if (c >= p[n][0])
+ {
+ if (c <= p[n][1])
+ {
+ return 1;
+ }
+ b=n+1;
+ }
+ else
+ {
+ e=n;
+ }
+ }
+
+ return 0;
+}
+
+#define LOOKUP(t) emoji_lookup(t, sizeof(t)/sizeof(t[0]), c)
+
+int unicode_emoji(char32_t c)
+{
+ return LOOKUP(unicode_emoji_emoji_lookup);
+}
+
+int unicode_emoji_presentation(char32_t c)
+{
+ return LOOKUP(unicode_emoji_emoji_presentation_lookup);
+}
+
+int unicode_emoji_modifier(char32_t c)
+{
+ return LOOKUP(unicode_emoji_emoji_modifier_lookup);
+}
+
+int unicode_emoji_modifier_base(char32_t c)
+{
+ return LOOKUP(unicode_emoji_emoji_modifier_base_lookup);
+}
+
+int unicode_emoji_component(char32_t c)
+{
+ return LOOKUP(unicode_emoji_emoji_component_lookup);
+}
+
+int unicode_emoji_extended_pictographic(char32_t c)
+{
+ return LOOKUP(unicode_emoji_extended_pictographic_lookup);
+}
+
+static const struct {
+ int (*lookup_func)(char32_t);
+ unicode_emoji_t flag;
+} lookups[]={
+ { unicode_emoji, UNICODE_EMOJI},
+ { unicode_emoji_presentation, UNICODE_EMOJI_PRESENTATION},
+ { unicode_emoji_modifier, UNICODE_EMOJI_MODIFIER},
+ { unicode_emoji_modifier_base, UNICODE_EMOJI_MODIFIER_BASE},
+ { unicode_emoji_component, UNICODE_EMOJI_COMPONENT},
+ { unicode_emoji_extended_pictographic,
+ UNICODE_EMOJI_EXTENDED_PICTOGRAPHIC},
+};
+
+extern unicode_emoji_t unicode_emoji_lookup(char32_t c)
+{
+ unicode_emoji_t v=UNICODE_EMOJI_NONE;
+
+ for (size_t i=0; i<sizeof(lookups)/sizeof(lookups[0]); ++i)
+ if ( (*lookups[i].lookup_func)(c) )
+ v |= lookups[i].flag;
+
+ return v;
+}
diff --git a/unicode/unicode_graphemebreak.c b/unicode/unicode_graphemebreak.c
index 926bfb1..db6b92b 100644
--- a/unicode/unicode_graphemebreak.c
+++ b/unicode/unicode_graphemebreak.c
@@ -1,5 +1,5 @@
/*
-** Copyright 2011 Double Precision, Inc.
+** Copyright 2011-2020 Double Precision, Inc.
** See COPYING for distribution information.
**
*/
@@ -8,6 +8,7 @@
#include "courier-unicode.h"
#include <unistd.h>
#include <stdint.h>
+#include <string.h>
#include <stdlib.h>
#define UNICODE_GRAPHEMEBREAK_ANY 0x00
@@ -24,22 +25,63 @@
#define UNICODE_GRAPHEMEBREAK_LVT 0x0B
#define UNICODE_GRAPHEMEBREAK_Regional_Indicator 0x0C
+#define UNICODE_GRAPHEMEBREAK_ZWJ 0x0D
+
+#define UNICODE_GRAPHEMEBREAK_SOT 0xFF
+
#include "graphemebreaktab.h"
+struct unicode_grapheme_break_info_s {
+ uint8_t prev_class;
+ unsigned prev_count;
+};
+
+unicode_grapheme_break_info_t unicode_grapheme_break_init()
+{
+ unicode_grapheme_break_info_t t=(unicode_grapheme_break_info_t)
+ calloc(1, sizeof(struct unicode_grapheme_break_info_s));
+
+ if (!t)
+ abort();
+
+ t->prev_class=UNICODE_GRAPHEMEBREAK_SOT;
+
+ return t;
+}
+
+void unicode_grapheme_break_deinit(unicode_grapheme_break_info_t t)
+{
+ free(t);
+}
+
int unicode_grapheme_break(char32_t a, char32_t b)
{
- uint8_t ac=unicode_tab_lookup(a, unicode_indextab,
- sizeof(unicode_indextab)/sizeof(unicode_indextab[0]),
- unicode_rangetab,
- unicode_classtab,
- UNICODE_GRAPHEMEBREAK_ANY),
- bc=unicode_tab_lookup(b, unicode_indextab,
+ struct unicode_grapheme_break_info_s s;
+
+ memset((char *)&s, 0, sizeof(s));
+
+ (void)unicode_grapheme_break_next(&s, a);
+
+ return unicode_grapheme_break_next(&s, b);
+}
+
+int unicode_grapheme_break_next(unicode_grapheme_break_info_t t, char32_t b)
+{
+ uint8_t ac=t->prev_class;
+ uint8_t bc=unicode_tab_lookup(b, unicode_indextab,
sizeof(unicode_indextab)/sizeof(unicode_indextab[0]),
unicode_rangetab,
unicode_classtab,
UNICODE_GRAPHEMEBREAK_ANY);
- /* GB1 and GB2 are implied */
+ if (ac != bc)
+ t->prev_count=0;
+ ++t->prev_count;
+
+ t->prev_class=bc;
+
+ if (ac == UNICODE_GRAPHEMEBREAK_SOT)
+ return 1; /* GB1, GB2 is implied */
if (ac == UNICODE_GRAPHEMEBREAK_CR && bc == UNICODE_GRAPHEMEBREAK_LF)
return 0; /* GB3 */
@@ -83,11 +125,8 @@ int unicode_grapheme_break(char32_t a, char32_t b)
bc == UNICODE_GRAPHEMEBREAK_T)
return 0; /* GB8 */
- if (ac == UNICODE_GRAPHEMEBREAK_Regional_Indicator &&
- bc == UNICODE_GRAPHEMEBREAK_Regional_Indicator)
- return 0; /* GB8a */
-
- if (bc == UNICODE_GRAPHEMEBREAK_Extend)
+ if (bc == UNICODE_GRAPHEMEBREAK_Extend ||
+ bc == UNICODE_GRAPHEMEBREAK_ZWJ)
return 0; /* GB9 */
if (bc == UNICODE_GRAPHEMEBREAK_SpacingMark)
@@ -96,5 +135,14 @@ int unicode_grapheme_break(char32_t a, char32_t b)
if (ac == UNICODE_GRAPHEMEBREAK_Prepend)
return 0; /* GB9b */
- return 1; /* GB10 */
+ if (ac == UNICODE_GRAPHEMEBREAK_Extend ||
+ ac == UNICODE_GRAPHEMEBREAK_ZWJ)
+ return 0; /* GB11? */
+
+ if (ac == UNICODE_GRAPHEMEBREAK_Regional_Indicator &&
+ bc == UNICODE_GRAPHEMEBREAK_Regional_Indicator &&
+ (t->prev_count % 2) == 0)
+ return 0; /* GB12, GB13 */
+
+ return 1; /* GB999 */
}
diff --git a/unicode/unicode_linebreak.c b/unicode/unicode_linebreak.c
index a843c6c..9d1e73c 100644
--- a/unicode/unicode_linebreak.c
+++ b/unicode/unicode_linebreak.c
@@ -19,39 +19,55 @@
#define UNICODE_LB_SOT 0xFF
+struct state_t {
+ uint8_t lb;
+ uint8_t ew;
+};
+
+typedef struct state_t state_t;
+
struct unicode_lb_info {
int (*cb_func)(int, void *);
void *cb_arg;
int opts;
- uint8_t savedclass;
+ state_t savedclass;
size_t savedcmcnt;
- uint8_t prevclass_min1;
- uint8_t prevclass;
- uint8_t prevclass_nsp;
+ state_t prevclass_min1;
+ state_t prevclass;
+ state_t prevclass_nsp;
- int (*next_handler)(struct unicode_lb_info *, uint8_t);
+ /* Flag -- recursively invoked after discarding LB25 */
+ char nolb25;
+
+ /* Flag -- seen a pair of RIs */
+ char nolb30a;
+
+ int (*next_handler)(struct unicode_lb_info *, state_t);
int (*end_handler)(struct unicode_lb_info *);
};
/* http://www.unicode.org/reports/tr14/#Algorithm */
-static int next_def(unicode_lb_info_t, uint8_t);
+static int next_def(unicode_lb_info_t, state_t);
static int end_def(unicode_lb_info_t);
-static int next_lb25_seenophy(unicode_lb_info_t, uint8_t);
+static int next_lb25_seenophy(unicode_lb_info_t, state_t);
static int end_lb25_seenophy(unicode_lb_info_t);
-static int next_lb25_seennu(unicode_lb_info_t, uint8_t);
+static int next_lb25_seennu(unicode_lb_info_t, state_t);
-static int next_lb25_seennuclcp(unicode_lb_info_t, uint8_t);
+static int next_lb25_seennuclcp(unicode_lb_info_t, state_t);
static void unicode_lb_reset(unicode_lb_info_t i)
{
- i->prevclass_min1=i->prevclass=i->prevclass_nsp=UNICODE_LB_SOT;
+ i->prevclass.lb=UNICODE_LB_SOT;
+ i->prevclass.ew=UNICODE_EASTASIA_N;
+
+ i->prevclass_min1=i->prevclass_nsp=i->prevclass;
i->next_handler=next_def;
i->end_handler=end_def;
}
@@ -88,7 +104,16 @@ static int end_def(unicode_lb_info_t i)
/* LB3 N/A */
return 0;
}
-#define RESULT(x) (*i->cb_func)((x), i->cb_arg)
+
+/* #define DEBUG_LB */
+
+#ifdef DEBUG_LB
+#define RULE(x) ( (void)printf("%s\n", x))
+#else
+#define RULE(x) ( (void)0 )
+#endif
+
+#define RESULT(x, msg) (RULE(msg),*i->cb_func)((x), i->cb_arg)
int unicode_lb_next_cnt(unicode_lb_info_t i,
const char32_t *chars,
@@ -121,36 +146,62 @@ int unicode_lb_lookup(char32_t ch)
int unicode_lb_next(unicode_lb_info_t i,
char32_t ch)
{
- return (*i->next_handler)(i, (i->opts & UNICODE_LB_OPT_DASHWJ) &&
- (ch == 0x2012 || ch == 0x2013)
- ? UNICODE_LB_WJ:unicode_lb_lookup(ch));
+ state_t c;
+
+ c.lb=unicode_lb_lookup(ch);
+ c.ew=unicode_eastasia(ch);
+
+ if ((i->opts & UNICODE_LB_OPT_DASHWJ) &&
+ (ch == 0x2012 || ch == 0x2013))
+ {
+ c.lb=UNICODE_LB_WJ;
+ }
+
+ return (*i->next_handler)(i, c);
}
-static int next_def_nolb25(unicode_lb_info_t i,
- uint8_t uclass,
- int nolb25);
+static int next_def_common(unicode_lb_info_t i,
+ state_t uclass);
+
+/*
+** Reset state for next_def_common.
+*/
+
+static void next_def_reset_common(unicode_lb_info_t i)
+{
+ i->nolb25=0;
+ i->nolb30a=0;
+}
/*
** Default logic for next unicode char.
*/
static int next_def(unicode_lb_info_t i,
- uint8_t uclass)
+ state_t uclass)
+{
+ next_def_reset_common(i);
+ return next_def_common(i, uclass);
+}
+
+static int next_def_seen_lb30a(unicode_lb_info_t i,
+ state_t uclass)
{
- return next_def_nolb25(i, uclass, 0);
+ i->next_handler=next_def;
+ next_def_reset_common(i);
+ i->nolb30a=1;
+ return next_def_common(i, uclass);
}
-static int next_def_nolb25(unicode_lb_info_t i,
- uint8_t uclass,
- /* Flag -- recursively invoked after discarding LB25 */
- int nolb25)
+static int next_def_common(unicode_lb_info_t i,
+ state_t uclass)
{
/* Retrieve the previous unicode character's linebreak class. */
- uint8_t prevclass_min1=i->prevclass_min1;
- uint8_t prevclass=i->prevclass;
- uint8_t prevclass_nsp=i->prevclass_nsp;
+ state_t prevclass_min1=i->prevclass_min1;
+ state_t prevclass=i->prevclass;
+ state_t prevclass_nsp=i->prevclass_nsp;
#define RESTORE (i->prevclass_min1=prevclass_min1, \
i->prevclass=prevclass, \
@@ -159,212 +210,217 @@ static int next_def_nolb25(unicode_lb_info_t i,
i->prevclass_min1=i->prevclass;
i->prevclass=uclass;
- if (uclass != UNICODE_LB_SP)
+ if (uclass.lb != UNICODE_LB_SP)
i->prevclass_nsp=uclass;
- if (uclass == UNICODE_LB_NU)
+ if (uclass.lb == UNICODE_LB_NU)
i->next_handler=next_lb25_seennu; /* LB25 */
- if (prevclass == UNICODE_LB_SOT)
+ if (prevclass.lb == UNICODE_LB_SOT)
{
- if (uclass == UNICODE_LB_CM) /* LB9 */
- i->prevclass=i->prevclass_nsp=uclass=UNICODE_LB_AL;
-
- return RESULT(UNICODE_LB_NONE); /* LB2 */
+ return RESULT(UNICODE_LB_NONE, "LB2");
}
- if (prevclass == UNICODE_LB_CR && uclass == UNICODE_LB_LF)
- return RESULT(UNICODE_LB_NONE); /* LB5 */
+ if (prevclass.lb == UNICODE_LB_BK)
+ return RESULT(UNICODE_LB_MANDATORY, "LB4");
- switch (prevclass) {
- case UNICODE_LB_BK:
+ if (prevclass.lb == UNICODE_LB_CR && uclass.lb == UNICODE_LB_LF)
+ return RESULT(UNICODE_LB_NONE, "LB5");
+
+
+ switch (prevclass.lb) {
case UNICODE_LB_CR:
case UNICODE_LB_LF:
case UNICODE_LB_NL:
+ return RESULT(UNICODE_LB_MANDATORY, "LB5");
+ }
- if (uclass == UNICODE_LB_CM)
- {
- i->prevclass=i->prevclass_nsp=uclass=UNICODE_LB_AL;
- /* LB9 */
- }
- return RESULT(UNICODE_LB_MANDATORY); /* LB4, LB5 */
+ switch (uclass.lb) {
+ /* LB6: */
+ case UNICODE_LB_BK:
+ case UNICODE_LB_CR:
+ case UNICODE_LB_LF:
+ case UNICODE_LB_NL:
+ /* LB7: */
case UNICODE_LB_SP:
case UNICODE_LB_ZW:
- if (uclass == UNICODE_LB_CM)
- i->prevclass=i->prevclass_nsp=uclass=UNICODE_LB_AL;
- /* LB10 */
- break;
+
+ return RESULT(UNICODE_LB_NONE, "LB6, LB7");
default:
break;
}
- switch (uclass) {
+ if (prevclass_nsp.lb == UNICODE_LB_ZW)
+ return RESULT(UNICODE_LB_ALLOWED, "LB8");
- /* LB6: */
+
+ if (prevclass.lb == UNICODE_LB_ZWJ)
+ return RESULT(UNICODE_LB_NONE, "LB8a");
+
+ switch (prevclass.lb) {
case UNICODE_LB_BK:
case UNICODE_LB_CR:
case UNICODE_LB_LF:
case UNICODE_LB_NL:
-
- /* LB7: */
case UNICODE_LB_SP:
case UNICODE_LB_ZW:
-
- return RESULT(UNICODE_LB_NONE);
- default:
break;
- }
+ default:
- if (prevclass_nsp == UNICODE_LB_ZW)
- return RESULT(UNICODE_LB_ALLOWED); /* LB8 */
+ if (uclass.lb == UNICODE_LB_CM || uclass.lb == UNICODE_LB_ZWJ)
+ {
+ RESTORE;
+ return RESULT(UNICODE_LB_NONE, "LB9");
+ }
+ }
- if (uclass == UNICODE_LB_CM)
+ if (uclass.lb == UNICODE_LB_CM || uclass.lb == UNICODE_LB_ZWJ)
{
- RESTORE;
- return RESULT(UNICODE_LB_NONE); /* LB9 */
+ uclass.lb=UNICODE_LB_AL;
+ RULE("LB10");
+ }
+ if (prevclass.lb == UNICODE_LB_CM || prevclass.lb == UNICODE_LB_ZWJ)
+ {
+ prevclass.lb=UNICODE_LB_AL;
+ RULE("LB10");
}
- if (prevclass == UNICODE_LB_WJ || uclass == UNICODE_LB_WJ)
- return RESULT(UNICODE_LB_NONE); /* LB11 */
+ if (prevclass.lb == UNICODE_LB_WJ || uclass.lb == UNICODE_LB_WJ)
+ return RESULT(UNICODE_LB_NONE, "LB11");
- if (prevclass == UNICODE_LB_GL)
- return RESULT(UNICODE_LB_NONE); /* LB12 */
+ if (prevclass.lb == UNICODE_LB_GL)
+ return RESULT(UNICODE_LB_NONE, "LB12");
- if (uclass == UNICODE_LB_GL &&
- prevclass != UNICODE_LB_SP &&
- prevclass != UNICODE_LB_BA &&
- prevclass != UNICODE_LB_HY)
- return RESULT(UNICODE_LB_NONE); /* LB12a */
+ if (uclass.lb == UNICODE_LB_GL &&
+ prevclass.lb != UNICODE_LB_SP &&
+ prevclass.lb != UNICODE_LB_BA &&
+ prevclass.lb != UNICODE_LB_HY)
+ return RESULT(UNICODE_LB_NONE, "LB12a");
- switch (uclass) {
- case UNICODE_LB_SY:
- if (i->opts & UNICODE_LB_OPT_SYBREAK)
- {
- if (prevclass == UNICODE_LB_SP)
- return RESULT(UNICODE_LB_ALLOWED);
- }
+ if (uclass.lb == UNICODE_LB_SY &&
+ i->opts & UNICODE_LB_OPT_SYBREAK)
+ {
+ if (prevclass.lb == UNICODE_LB_SP)
+ return RESULT(UNICODE_LB_ALLOWED, "LB13 (tailored)");
+ }
- case UNICODE_LB_CL:
- case UNICODE_LB_CP:
- case UNICODE_LB_EX:
- case UNICODE_LB_IS:
- return RESULT(UNICODE_LB_NONE); /* LB13 */
- default:
- break;
+ if (prevclass.lb != UNICODE_LB_NU) {
+ switch (uclass.lb) {
+ case UNICODE_LB_CL:
+ case UNICODE_LB_CP:
+ case UNICODE_LB_IS:
+ case UNICODE_LB_SY:
+ return RESULT(UNICODE_LB_NONE, "LB13");
+ default:
+ break;
+ }
}
- if ((i->opts & UNICODE_LB_OPT_SYBREAK) && prevclass == UNICODE_LB_SY)
- switch (uclass) {
+ if (uclass.lb == UNICODE_LB_EX)
+ return RESULT(UNICODE_LB_NONE, "LB13");
+
+ if ((i->opts & UNICODE_LB_OPT_SYBREAK) && prevclass.lb == UNICODE_LB_SY)
+ switch (uclass.lb) {
case UNICODE_LB_EX:
case UNICODE_LB_AL:
case UNICODE_LB_ID:
- return RESULT(UNICODE_LB_NONE);
+ return RESULT(UNICODE_LB_NONE, "LB13");
}
- if (prevclass_nsp == UNICODE_LB_OP)
- return RESULT(UNICODE_LB_NONE); /* LB14 */
-
- if (prevclass_nsp == UNICODE_LB_QU && uclass == UNICODE_LB_OP)
- return RESULT(UNICODE_LB_NONE); /* LB15 */
+ if (prevclass_nsp.lb == UNICODE_LB_OP)
+ return RESULT(UNICODE_LB_NONE, "LB14");
- if ((prevclass_nsp == UNICODE_LB_CL || prevclass_nsp == UNICODE_LB_CP)
- && uclass == UNICODE_LB_NS)
- return RESULT(UNICODE_LB_NONE); /* LB16 */
+ if (prevclass_nsp.lb == UNICODE_LB_QU && uclass.lb == UNICODE_LB_OP)
+ return RESULT(UNICODE_LB_NONE, "LB15");
- if (prevclass_nsp == UNICODE_LB_B2 && uclass == UNICODE_LB_B2)
- return RESULT(UNICODE_LB_NONE); /* LB17 */
+ if ((prevclass_nsp.lb == UNICODE_LB_CL || prevclass_nsp.lb == UNICODE_LB_CP)
+ && uclass.lb == UNICODE_LB_NS)
+ return RESULT(UNICODE_LB_NONE, "LB16");
- if (prevclass == UNICODE_LB_SP)
- return RESULT(UNICODE_LB_ALLOWED); /* LB18 */
+ if (prevclass_nsp.lb == UNICODE_LB_B2 && uclass.lb == UNICODE_LB_B2)
+ return RESULT(UNICODE_LB_NONE, "LB17");
- if (uclass == UNICODE_LB_QU || prevclass == UNICODE_LB_QU)
- return RESULT(UNICODE_LB_NONE); /* LB19 */
+ if (prevclass.lb == UNICODE_LB_SP)
+ return RESULT(UNICODE_LB_ALLOWED, "LB18");
- if (uclass == UNICODE_LB_CB || prevclass == UNICODE_LB_CB)
- return RESULT(UNICODE_LB_ALLOWED); /* LB20 */
+ if (uclass.lb == UNICODE_LB_QU || prevclass.lb == UNICODE_LB_QU)
+ return RESULT(UNICODE_LB_NONE, "LB19");
- /* LB21: */
+ if (uclass.lb == UNICODE_LB_CB || prevclass.lb == UNICODE_LB_CB)
+ return RESULT(UNICODE_LB_ALLOWED, "LB20");
- switch (uclass) {
+ switch (uclass.lb) {
case UNICODE_LB_BA:
case UNICODE_LB_HY:
case UNICODE_LB_NS:
- return RESULT(UNICODE_LB_NONE);
+ return RESULT(UNICODE_LB_NONE, "LB21");
default:
break;
}
- if (prevclass == UNICODE_LB_BB)
- return RESULT(UNICODE_LB_NONE);
+ if (prevclass.lb == UNICODE_LB_BB)
+ return RESULT(UNICODE_LB_NONE, "LB21");
- /* LB21a: */
- if (prevclass_min1 == UNICODE_LB_HL &&
- (prevclass == UNICODE_LB_HY || prevclass == UNICODE_LB_BA))
- return RESULT(UNICODE_LB_NONE);
+ if (prevclass_min1.lb == UNICODE_LB_HL &&
+ (prevclass.lb == UNICODE_LB_HY || prevclass.lb == UNICODE_LB_BA))
+ return RESULT(UNICODE_LB_NONE, "LB21a");
- /* LB21b: */
- if (prevclass == UNICODE_LB_SY && uclass == UNICODE_LB_HL)
- return RESULT(UNICODE_LB_NONE);
+ if (prevclass.lb == UNICODE_LB_SY && uclass.lb == UNICODE_LB_HL)
+ return RESULT(UNICODE_LB_NONE, "LB21b");
- if (uclass == UNICODE_LB_IN)
- switch (prevclass) {
- case UNICODE_LB_AL:
- case UNICODE_LB_EX:
- case UNICODE_LB_HL:
- case UNICODE_LB_ID:
- case UNICODE_LB_IN:
- case UNICODE_LB_NU:
- return RESULT(UNICODE_LB_NONE); /* LB22 */
- default:
- break;
- }
+ if (uclass.lb == UNICODE_LB_IN)
+ return RESULT(UNICODE_LB_NONE, "LB22");
+
+ if (prevclass.lb == UNICODE_LB_AL && uclass.lb == UNICODE_LB_NU)
+ return RESULT(UNICODE_LB_NONE, "LB23");
+ if (prevclass.lb == UNICODE_LB_HL && uclass.lb == UNICODE_LB_NU)
+ return RESULT(UNICODE_LB_NONE, "LB23");
+
+ if (prevclass.lb == UNICODE_LB_NU && uclass.lb == UNICODE_LB_AL)
+ return RESULT(UNICODE_LB_NONE, "LB23");
+ if (prevclass.lb == UNICODE_LB_NU && uclass.lb == UNICODE_LB_HL)
+ return RESULT(UNICODE_LB_NONE, "LB23");
- if (prevclass == UNICODE_LB_ID && uclass == UNICODE_LB_PO)
- return RESULT(UNICODE_LB_NONE); /* LB23 */
- if (prevclass == UNICODE_LB_AL && uclass == UNICODE_LB_NU)
- return RESULT(UNICODE_LB_NONE); /* LB23 */
- if (prevclass == UNICODE_LB_HL && uclass == UNICODE_LB_NU)
- return RESULT(UNICODE_LB_NONE); /* LB23 */
-
- if (prevclass == UNICODE_LB_NU && uclass == UNICODE_LB_AL)
- return RESULT(UNICODE_LB_NONE); /* LB23 */
- if (prevclass == UNICODE_LB_NU && uclass == UNICODE_LB_HL)
- return RESULT(UNICODE_LB_NONE); /* LB23 */
-
-
- if (prevclass == UNICODE_LB_PR && uclass == UNICODE_LB_ID)
- return RESULT(UNICODE_LB_NONE); /* LB24 */
- if (prevclass == UNICODE_LB_PR && uclass == UNICODE_LB_AL)
- return RESULT(UNICODE_LB_NONE); /* LB24 */
- if (prevclass == UNICODE_LB_PR && uclass == UNICODE_LB_HL)
- return RESULT(UNICODE_LB_NONE); /* LB24 */
- if (prevclass == UNICODE_LB_PO && uclass == UNICODE_LB_AL)
- return RESULT(UNICODE_LB_NONE); /* LB24 */
- if (prevclass == UNICODE_LB_PO && uclass == UNICODE_LB_HL)
- return RESULT(UNICODE_LB_NONE); /* LB24 */
-
- if ((i->opts & UNICODE_LB_OPT_PRBREAK) && uclass == UNICODE_LB_PR)
- switch (prevclass) {
+ if (prevclass.lb == UNICODE_LB_PR &&
+ (uclass.lb == UNICODE_LB_ID || uclass.lb == UNICODE_LB_EB ||
+ uclass.lb == UNICODE_LB_EM))
+ return RESULT(UNICODE_LB_NONE, "LB23a");
+
+ if ((prevclass.lb == UNICODE_LB_ID || prevclass.lb == UNICODE_LB_EB ||
+ prevclass.lb == UNICODE_LB_EM) &&
+ uclass.lb == UNICODE_LB_PO)
+ return RESULT(UNICODE_LB_NONE, "LB23a");
+
+ if ((prevclass.lb == UNICODE_LB_PR || prevclass.lb == UNICODE_LB_PO) &&
+ (uclass.lb == UNICODE_LB_AL || uclass.lb == UNICODE_LB_HL))
+ return RESULT(UNICODE_LB_NONE, "LB24");
+
+ if ((prevclass.lb == UNICODE_LB_AL || prevclass.lb == UNICODE_LB_HL) &&
+ (uclass.lb == UNICODE_LB_PR || uclass.lb == UNICODE_LB_PO))
+ return RESULT(UNICODE_LB_NONE, "LB24");
+
+ if ((i->opts & UNICODE_LB_OPT_PRBREAK) && uclass.lb == UNICODE_LB_PR)
+ switch (prevclass.lb) {
case UNICODE_LB_PR:
case UNICODE_LB_AL:
case UNICODE_LB_ID:
- return RESULT(UNICODE_LB_NONE);
+ return RESULT(UNICODE_LB_NONE, "LB24 (tailored)");
}
- if (!nolb25 &&
- (prevclass == UNICODE_LB_PR || prevclass == UNICODE_LB_PO))
+ if (!i->nolb25 &&
+ (prevclass.lb == UNICODE_LB_PR || prevclass.lb == UNICODE_LB_PO))
{
- if (uclass == UNICODE_LB_NU)
- return RESULT(UNICODE_LB_NONE); /* LB25 */
+ if (uclass.lb == UNICODE_LB_NU)
+ return RESULT(UNICODE_LB_NONE, "LB25");
- if (uclass == UNICODE_LB_OP || uclass == UNICODE_LB_HY)
+ if (uclass.lb == UNICODE_LB_OP || uclass.lb == UNICODE_LB_HY)
{
RESTORE;
-
+ RULE("LB25 (start)");
i->savedclass=uclass;
i->savedcmcnt=0;
i->next_handler=next_lb25_seenophy;
@@ -373,81 +429,93 @@ static int next_def_nolb25(unicode_lb_info_t i,
}
}
- if ((prevclass == UNICODE_LB_OP || prevclass == UNICODE_LB_HY) &&
- uclass == UNICODE_LB_NU)
- return RESULT(UNICODE_LB_NONE); /* LB25 */
+ if ((prevclass.lb == UNICODE_LB_OP || prevclass.lb == UNICODE_LB_HY) &&
+ uclass.lb == UNICODE_LB_NU)
+ return RESULT(UNICODE_LB_NONE, "LB25");
/*****/
- if (prevclass == UNICODE_LB_JL)
- switch (uclass) {
+ if (prevclass.lb == UNICODE_LB_JL)
+ switch (uclass.lb) {
case UNICODE_LB_JL:
case UNICODE_LB_JV:
case UNICODE_LB_H2:
case UNICODE_LB_H3:
- return RESULT(UNICODE_LB_NONE); /* LB26 */
+ return RESULT(UNICODE_LB_NONE, "LB26");
default:
break;
}
- if ((prevclass == UNICODE_LB_JV ||
- prevclass == UNICODE_LB_H2) &&
- (uclass == UNICODE_LB_JV ||
- uclass == UNICODE_LB_JT))
- return RESULT(UNICODE_LB_NONE); /* LB26 */
+ if ((prevclass.lb == UNICODE_LB_JV ||
+ prevclass.lb == UNICODE_LB_H2) &&
+ (uclass.lb == UNICODE_LB_JV ||
+ uclass.lb == UNICODE_LB_JT))
+ return RESULT(UNICODE_LB_NONE, "LB26");
- if ((prevclass == UNICODE_LB_JT ||
- prevclass == UNICODE_LB_H3) &&
- uclass == UNICODE_LB_JT)
- return RESULT(UNICODE_LB_NONE); /* LB26 */
+ if ((prevclass.lb == UNICODE_LB_JT ||
+ prevclass.lb == UNICODE_LB_H3) &&
+ uclass.lb == UNICODE_LB_JT)
+ return RESULT(UNICODE_LB_NONE, "LB26");
- switch (prevclass) {
+ switch (prevclass.lb) {
case UNICODE_LB_JL:
case UNICODE_LB_JV:
case UNICODE_LB_JT:
case UNICODE_LB_H2:
case UNICODE_LB_H3:
- if (uclass == UNICODE_LB_IN || uclass == UNICODE_LB_PO)
- return RESULT(UNICODE_LB_NONE); /* LB27 */
+ if (uclass.lb == UNICODE_LB_IN || uclass.lb == UNICODE_LB_PO)
+ return RESULT(UNICODE_LB_NONE, "LB27");
default:
break;
}
- switch (uclass) {
+ switch (uclass.lb) {
case UNICODE_LB_JL:
case UNICODE_LB_JV:
case UNICODE_LB_JT:
case UNICODE_LB_H2:
case UNICODE_LB_H3:
- if (prevclass == UNICODE_LB_PR)
- return RESULT(UNICODE_LB_NONE); /* LB27 */
+ if (prevclass.lb == UNICODE_LB_PR)
+ return RESULT(UNICODE_LB_NONE, "LB27");
default:
break;
}
- if ((prevclass == UNICODE_LB_AL || prevclass == UNICODE_LB_HL)
- && (uclass == UNICODE_LB_AL || uclass == UNICODE_LB_HL))
- return RESULT(UNICODE_LB_NONE); /* LB28 */
-
- if (prevclass == UNICODE_LB_IS &&
- (uclass == UNICODE_LB_AL || uclass == UNICODE_LB_HL))
- return RESULT(UNICODE_LB_NONE); /* LB29 */
-
- if ((prevclass == UNICODE_LB_AL || prevclass == UNICODE_LB_HL
- || prevclass == UNICODE_LB_NU) &&
- uclass == UNICODE_LB_OP)
- return RESULT(UNICODE_LB_NONE); /* LB30 */
-
- if ((uclass == UNICODE_LB_AL || uclass == UNICODE_LB_HL
- || uclass == UNICODE_LB_NU) &&
- prevclass == UNICODE_LB_CP)
- return RESULT(UNICODE_LB_NONE); /* LB30 */
+ if ((prevclass.lb == UNICODE_LB_AL || prevclass.lb == UNICODE_LB_HL)
+ && (uclass.lb == UNICODE_LB_AL || uclass.lb == UNICODE_LB_HL))
+ return RESULT(UNICODE_LB_NONE, "LB28");
+
+ if (prevclass.lb == UNICODE_LB_IS &&
+ (uclass.lb == UNICODE_LB_AL || uclass.lb == UNICODE_LB_HL))
+ return RESULT(UNICODE_LB_NONE, "LB29");
+
+ if ((prevclass.lb == UNICODE_LB_AL || prevclass.lb == UNICODE_LB_HL
+ || prevclass.lb == UNICODE_LB_NU) &&
+ (uclass.lb == UNICODE_LB_OP && uclass.ew != UNICODE_EASTASIA_F
+ && uclass.ew != UNICODE_EASTASIA_W
+ && uclass.ew != UNICODE_EASTASIA_H))
+ return RESULT(UNICODE_LB_NONE, "LB30");
+
+ if ((uclass.lb == UNICODE_LB_AL || uclass.lb == UNICODE_LB_HL
+ || uclass.lb == UNICODE_LB_NU) &&
+ (prevclass.lb == UNICODE_LB_CP
+ && prevclass.ew != UNICODE_EASTASIA_F
+ && prevclass.ew != UNICODE_EASTASIA_W
+ && prevclass.ew != UNICODE_EASTASIA_H))
+ return RESULT(UNICODE_LB_NONE, "LB30");
+
+ if (uclass.lb == UNICODE_LB_RI && prevclass.lb == UNICODE_LB_RI &&
+ !i->nolb30a)
+ {
+ i->next_handler=next_def_seen_lb30a;
+ return RESULT(UNICODE_LB_NONE, "LB30a");
+ }
- if (uclass == UNICODE_LB_RI && prevclass == UNICODE_LB_RI)
- return RESULT(UNICODE_LB_NONE); /* LB30a */
+ if (prevclass.lb == UNICODE_LB_EB && uclass.lb == UNICODE_LB_EM)
+ return RESULT(UNICODE_LB_NONE, "LB30b");
- return RESULT(UNICODE_LB_ALLOWED); /* LB31 */
+ return RESULT(UNICODE_LB_ALLOWED, "LB31");
}
/*
@@ -459,7 +527,7 @@ static int unwind_lb25_seenophy(unicode_lb_info_t i)
{
int rc;
- /*uint8_t class=i->savedclass;*/
+ /*state_t class=i->savedclass;*/
int nolb25_flag=1;
i->next_handler=next_def;
@@ -467,7 +535,9 @@ static int unwind_lb25_seenophy(unicode_lb_info_t i)
do
{
- rc=next_def_nolb25(i, i->savedclass, nolb25_flag);
+ next_def_reset_common(i);
+ i->nolb25=nolb25_flag;
+ rc=next_def_common(i, i->savedclass);
if (rc)
return rc;
@@ -484,29 +554,29 @@ static int unwind_lb25_seenophy(unicode_lb_info_t i)
*/
static int next_lb25_seenophy(unicode_lb_info_t i,
- uint8_t uclass)
+ state_t uclass)
{
int rc;
- if (uclass == UNICODE_LB_CM)
+ if (uclass.lb == UNICODE_LB_CM)
{
++i->savedcmcnt; /* Keep track of CMs, and try again */
return 0;
}
- if (uclass != UNICODE_LB_NU)
+ if (uclass.lb != UNICODE_LB_NU)
{
rc=unwind_lb25_seenophy(i);
if (rc)
return rc;
- return next_def_nolb25(i, uclass, 0);
+ return next_def(i, uclass);
}
do
{
- rc=RESULT(UNICODE_LB_NONE); /* (OP|HY) feedback */
+ rc=RESULT(UNICODE_LB_NONE, "LB25 (OP|HY)"); /* (OP|HY) feedback */
if (rc)
return rc;
@@ -515,7 +585,7 @@ static int next_lb25_seenophy(unicode_lb_info_t i,
i->next_handler=next_lb25_seennu;
i->end_handler=end_def;
i->prevclass=i->prevclass_nsp=uclass;
- return RESULT(UNICODE_LB_NONE);
+ return RESULT(UNICODE_LB_NONE, "LB25");
}
/*
@@ -534,33 +604,33 @@ static int end_lb25_seenophy(unicode_lb_info_t i)
/*
** Seen an NU, modified LB25 regexp.
*/
-static int next_lb25_seennu(unicode_lb_info_t i, uint8_t uclass)
+static int next_lb25_seennu(unicode_lb_info_t i, state_t uclass)
{
- if (uclass == UNICODE_LB_NU || uclass == UNICODE_LB_SY ||
- uclass == UNICODE_LB_IS)
+ if (uclass.lb == UNICODE_LB_NU || uclass.lb == UNICODE_LB_SY ||
+ uclass.lb == UNICODE_LB_IS)
{
i->prevclass=i->prevclass_nsp=uclass;
- return RESULT(UNICODE_LB_NONE);
+ return RESULT(UNICODE_LB_NONE, "LB25");
}
- if (uclass == UNICODE_LB_CM)
- return RESULT(UNICODE_LB_NONE); /* LB9 */
+ if (uclass.lb == UNICODE_LB_CM || uclass.lb == UNICODE_LB_ZWJ)
+ return RESULT(UNICODE_LB_NONE, "LB9 (LB25)");
- if (uclass == UNICODE_LB_CL || uclass == UNICODE_LB_CP)
+ if (uclass.lb == UNICODE_LB_CL || uclass.lb == UNICODE_LB_CP)
{
i->prevclass=i->prevclass_nsp=uclass;
i->next_handler=next_lb25_seennuclcp;
i->end_handler=end_def;
- return RESULT(UNICODE_LB_NONE);
+ return RESULT(UNICODE_LB_NONE, "LB25");
}
i->next_handler=next_def;
i->end_handler=end_def;
- if (uclass == UNICODE_LB_PR || uclass == UNICODE_LB_PO)
+ if (uclass.lb == UNICODE_LB_PR || uclass.lb == UNICODE_LB_PO)
{
i->prevclass=i->prevclass_nsp=uclass;
- return RESULT(UNICODE_LB_NONE);
+ return RESULT(UNICODE_LB_NONE, "LB25");
}
return next_def(i, uclass); /* Not a prefix, process normally */
@@ -569,19 +639,19 @@ static int next_lb25_seennu(unicode_lb_info_t i, uint8_t uclass)
/*
** Seen CL|CP, in the modified LB25 regexp.
*/
-static int next_lb25_seennuclcp(unicode_lb_info_t i, uint8_t uclass)
+static int next_lb25_seennuclcp(unicode_lb_info_t i, state_t uclass)
{
- if (uclass == UNICODE_LB_CM)
- return RESULT(UNICODE_LB_NONE); /* LB9 */
+ if (uclass.lb == UNICODE_LB_CM || uclass.lb == UNICODE_LB_ZWJ)
+ return RESULT(UNICODE_LB_NONE, "LB9 (LB25)");
i->next_handler=next_def;
i->end_handler=end_def;
- if (uclass == UNICODE_LB_PR || uclass == UNICODE_LB_PO)
+ if (uclass.lb == UNICODE_LB_PR || uclass.lb == UNICODE_LB_PO)
{
i->prevclass=i->prevclass_nsp=uclass;
- return RESULT(UNICODE_LB_NONE);
+ return RESULT(UNICODE_LB_NONE, "LB25");
}
return next_def(i, uclass);
diff --git a/unicode/unicode_ultcasetab.c b/unicode/unicode_ultcasetab.c
index 5b8fee2..43a97df 100644
--- a/unicode/unicode_ultcasetab.c
+++ b/unicode/unicode_ultcasetab.c
@@ -7,7 +7,7 @@
#include "courier-unicode.h"
const unsigned unicode_case_hash=2048;
-/* unicode_case_maxbucket=6*/
+/* unicode_case_maxbucket=7*/
const char32_t unicode_case_tab[][4]={
{0x0041,0x0041,0x0061,0x0041},{0x0042,0x0042,0x0062,0x0042},{0x0043,0x0043,0x0063,0x0043},{0x0044,0x0044,0x0064,0x0044},
{0x0045,0x0045,0x0065,0x0045},{0x0046,0x0046,0x0066,0x0046},{0x0047,0x0047,0x0067,0x0047},{0x0048,0x0048,0x0068,0x0048},
@@ -22,437 +22,498 @@ const char32_t unicode_case_tab[][4]={
{0x006f,0x004f,0x006f,0x004f},{0x0070,0x0050,0x0070,0x0050},{0x0071,0x0051,0x0071,0x0051},{0x0072,0x0052,0x0072,0x0052},
{0x0073,0x0053,0x0073,0x0053},{0x0074,0x0054,0x0074,0x0054},{0x0075,0x0055,0x0075,0x0055},{0x0076,0x0056,0x0076,0x0056},
{0x0077,0x0057,0x0077,0x0057},{0x0078,0x0058,0x0078,0x0058},{0x0079,0x0059,0x0079,0x0059},{0x007a,0x005a,0x007a,0x005a},
-{0x10a0,0x10a0,0x2d00,0x10a0},{0x118a0,0x118a0,0x118c0,0x118a0},{0x118a1,0x118a1,0x118c1,0x118a1},{0x10a1,0x10a1,0x2d01,0x10a1},
-{0x118a2,0x118a2,0x118c2,0x118a2},{0x10a2,0x10a2,0x2d02,0x10a2},{0x118a3,0x118a3,0x118c3,0x118a3},{0x10a3,0x10a3,0x2d03,0x10a3},
-{0x118a4,0x118a4,0x118c4,0x118a4},{0x10a4,0x10a4,0x2d04,0x10a4},{0x118a5,0x118a5,0x118c5,0x118a5},{0x10a5,0x10a5,0x2d05,0x10a5},
-{0x118a6,0x118a6,0x118c6,0x118a6},{0x10a6,0x10a6,0x2d06,0x10a6},{0x118a7,0x118a7,0x118c7,0x118a7},{0x10a7,0x10a7,0x2d07,0x10a7},
-{0x10a8,0x10a8,0x2d08,0x10a8},{0x118a8,0x118a8,0x118c8,0x118a8},{0x118a9,0x118a9,0x118c9,0x118a9},{0x10a9,0x10a9,0x2d09,0x10a9},
-{0x10aa,0x10aa,0x2d0a,0x10aa},{0x118aa,0x118aa,0x118ca,0x118aa},{0x118ab,0x118ab,0x118cb,0x118ab},{0x10ab,0x10ab,0x2d0b,0x10ab},
+{0x118a0,0x118a0,0x118c0,0x118a0},{0x10a0,0x10a0,0x2d00,0x10a0},{0x10a1,0x10a1,0x2d01,0x10a1},{0x118a1,0x118a1,0x118c1,0x118a1},
+{0x10a2,0x10a2,0x2d02,0x10a2},{0x118a2,0x118a2,0x118c2,0x118a2},{0x10a3,0x10a3,0x2d03,0x10a3},{0x118a3,0x118a3,0x118c3,0x118a3},
+{0x10a4,0x10a4,0x2d04,0x10a4},{0x118a4,0x118a4,0x118c4,0x118a4},{0x10a5,0x10a5,0x2d05,0x10a5},{0x118a5,0x118a5,0x118c5,0x118a5},
+{0x10a6,0x10a6,0x2d06,0x10a6},{0x118a6,0x118a6,0x118c6,0x118a6},{0x10a7,0x10a7,0x2d07,0x10a7},{0x118a7,0x118a7,0x118c7,0x118a7},
+{0x118a8,0x118a8,0x118c8,0x118a8},{0x10a8,0x10a8,0x2d08,0x10a8},{0x118a9,0x118a9,0x118c9,0x118a9},{0x10a9,0x10a9,0x2d09,0x10a9},
+{0x118aa,0x118aa,0x118ca,0x118aa},{0x10aa,0x10aa,0x2d0a,0x10aa},{0x10ab,0x10ab,0x2d0b,0x10ab},{0x118ab,0x118ab,0x118cb,0x118ab},
{0x10ac,0x10ac,0x2d0c,0x10ac},{0x118ac,0x118ac,0x118cc,0x118ac},{0x10ad,0x10ad,0x2d0d,0x10ad},{0x118ad,0x118ad,0x118cd,0x118ad},
-{0x118ae,0x118ae,0x118ce,0x118ae},{0x10ae,0x10ae,0x2d0e,0x10ae},{0x10af,0x10af,0x2d0f,0x10af},{0x118af,0x118af,0x118cf,0x118af},
-{0x10b0,0x10b0,0x2d10,0x10b0},{0x118b0,0x118b0,0x118d0,0x118b0},{0x10b1,0x10b1,0x2d11,0x10b1},{0x118b1,0x118b1,0x118d1,0x118b1},
+{0x10ae,0x10ae,0x2d0e,0x10ae},{0x118ae,0x118ae,0x118ce,0x118ae},{0x118af,0x118af,0x118cf,0x118af},{0x10af,0x10af,0x2d0f,0x10af},
+{0x118b0,0x118b0,0x118d0,0x118b0},{0x10b0,0x10b0,0x2d10,0x10b0},{0x10b1,0x10b1,0x2d11,0x10b1},{0x118b1,0x118b1,0x118d1,0x118b1},
{0x10b2,0x10b2,0x2d12,0x10b2},{0x118b2,0x118b2,0x118d2,0x118b2},{0x10b3,0x10b3,0x2d13,0x10b3},{0x118b3,0x118b3,0x118d3,0x118b3},
{0x10b4,0x10b4,0x2d14,0x10b4},{0x118b4,0x118b4,0x118d4,0x118b4},{0x118b5,0x118b5,0x118d5,0x118b5},{0x00b5,0x039c,0x00b5,0x039c},
-{0x10b5,0x10b5,0x2d15,0x10b5},{0x10b6,0x10b6,0x2d16,0x10b6},{0x118b6,0x118b6,0x118d6,0x118b6},{0x10b7,0x10b7,0x2d17,0x10b7},
-{0x118b7,0x118b7,0x118d7,0x118b7},{0x118b8,0x118b8,0x118d8,0x118b8},{0x10b8,0x10b8,0x2d18,0x10b8},{0x118b9,0x118b9,0x118d9,0x118b9},
-{0x10b9,0x10b9,0x2d19,0x10b9},{0x118ba,0x118ba,0x118da,0x118ba},{0x10ba,0x10ba,0x2d1a,0x10ba},{0x118bb,0x118bb,0x118db,0x118bb},
-{0x10bb,0x10bb,0x2d1b,0x10bb},{0x10bc,0x10bc,0x2d1c,0x10bc},{0x118bc,0x118bc,0x118dc,0x118bc},{0x118bd,0x118bd,0x118dd,0x118bd},
-{0x10bd,0x10bd,0x2d1d,0x10bd},{0x118be,0x118be,0x118de,0x118be},{0x10be,0x10be,0x2d1e,0x10be},{0x118bf,0x118bf,0x118df,0x118bf},
-{0x10bf,0x10bf,0x2d1f,0x10bf},{0x10c0,0x10c0,0x2d20,0x10c0},{0x118c0,0x118a0,0x118c0,0x118a0},{0x00c0,0x00c0,0x00e0,0x00c0},
-{0x00c1,0x00c1,0x00e1,0x00c1},{0x10c1,0x10c1,0x2d21,0x10c1},{0x118c1,0x118a1,0x118c1,0x118a1},{0x118c2,0x118a2,0x118c2,0x118a2},
-{0x00c2,0x00c2,0x00e2,0x00c2},{0x10c2,0x10c2,0x2d22,0x10c2},{0x10c3,0x10c3,0x2d23,0x10c3},{0x118c3,0x118a3,0x118c3,0x118a3},
-{0x00c3,0x00c3,0x00e3,0x00c3},{0x10c4,0x10c4,0x2d24,0x10c4},{0x118c4,0x118a4,0x118c4,0x118a4},{0x00c4,0x00c4,0x00e4,0x00c4},
+{0x10b5,0x10b5,0x2d15,0x10b5},{0x118b6,0x118b6,0x118d6,0x118b6},{0x10b6,0x10b6,0x2d16,0x10b6},{0x118b7,0x118b7,0x118d7,0x118b7},
+{0x10b7,0x10b7,0x2d17,0x10b7},{0x10b8,0x10b8,0x2d18,0x10b8},{0x118b8,0x118b8,0x118d8,0x118b8},{0x118b9,0x118b9,0x118d9,0x118b9},
+{0x10b9,0x10b9,0x2d19,0x10b9},{0x10ba,0x10ba,0x2d1a,0x10ba},{0x118ba,0x118ba,0x118da,0x118ba},{0x10bb,0x10bb,0x2d1b,0x10bb},
+{0x118bb,0x118bb,0x118db,0x118bb},{0x118bc,0x118bc,0x118dc,0x118bc},{0x10bc,0x10bc,0x2d1c,0x10bc},{0x118bd,0x118bd,0x118dd,0x118bd},
+{0x10bd,0x10bd,0x2d1d,0x10bd},{0x118be,0x118be,0x118de,0x118be},{0x10be,0x10be,0x2d1e,0x10be},{0x10bf,0x10bf,0x2d1f,0x10bf},
+{0x118bf,0x118bf,0x118df,0x118bf},{0x10c0,0x10c0,0x2d20,0x10c0},{0x118c0,0x118a0,0x118c0,0x118a0},{0x00c0,0x00c0,0x00e0,0x00c0},
+{0x10c1,0x10c1,0x2d21,0x10c1},{0x00c1,0x00c1,0x00e1,0x00c1},{0x118c1,0x118a1,0x118c1,0x118a1},{0x118c2,0x118a2,0x118c2,0x118a2},
+{0x10c2,0x10c2,0x2d22,0x10c2},{0x00c2,0x00c2,0x00e2,0x00c2},{0x00c3,0x00c3,0x00e3,0x00c3},{0x118c3,0x118a3,0x118c3,0x118a3},
+{0x10c3,0x10c3,0x2d23,0x10c3},{0x00c4,0x00c4,0x00e4,0x00c4},{0x118c4,0x118a4,0x118c4,0x118a4},{0x10c4,0x10c4,0x2d24,0x10c4},
{0x118c5,0x118a5,0x118c5,0x118a5},{0x10c5,0x10c5,0x2d25,0x10c5},{0x00c5,0x00c5,0x00e5,0x00c5},{0x00c6,0x00c6,0x00e6,0x00c6},
{0x118c6,0x118a6,0x118c6,0x118a6},{0x10c7,0x10c7,0x2d27,0x10c7},{0x118c7,0x118a7,0x118c7,0x118a7},{0x00c7,0x00c7,0x00e7,0x00c7},
-{0x118c8,0x118a8,0x118c8,0x118a8},{0x00c8,0x00c8,0x00e8,0x00c8},{0x118c9,0x118a9,0x118c9,0x118a9},{0x00c9,0x00c9,0x00e9,0x00c9},
-{0x00ca,0x00ca,0x00ea,0x00ca},{0x118ca,0x118aa,0x118ca,0x118aa},{0x00cb,0x00cb,0x00eb,0x00cb},{0x118cb,0x118ab,0x118cb,0x118ab},
-{0x118cc,0x118ac,0x118cc,0x118ac},{0x00cc,0x00cc,0x00ec,0x00cc},{0x118cd,0x118ad,0x118cd,0x118ad},{0x10cd,0x10cd,0x2d2d,0x10cd},
-{0x00cd,0x00cd,0x00ed,0x00cd},{0x00ce,0x00ce,0x00ee,0x00ce},{0x118ce,0x118ae,0x118ce,0x118ae},{0x00cf,0x00cf,0x00ef,0x00cf},
-{0x118cf,0x118af,0x118cf,0x118af},{0x118d0,0x118b0,0x118d0,0x118b0},{0x00d0,0x00d0,0x00f0,0x00d0},{0x00d1,0x00d1,0x00f1,0x00d1},
-{0x118d1,0x118b1,0x118d1,0x118b1},{0x00d2,0x00d2,0x00f2,0x00d2},{0x118d2,0x118b2,0x118d2,0x118b2},{0x00d3,0x00d3,0x00f3,0x00d3},
-{0x118d3,0x118b3,0x118d3,0x118b3},{0x118d4,0x118b4,0x118d4,0x118b4},{0x00d4,0x00d4,0x00f4,0x00d4},{0x118d5,0x118b5,0x118d5,0x118b5},
-{0x00d5,0x00d5,0x00f5,0x00d5},{0x00d6,0x00d6,0x00f6,0x00d6},{0x118d6,0x118b6,0x118d6,0x118b6},{0x118d7,0x118b7,0x118d7,0x118b7},
-{0x00d8,0x00d8,0x00f8,0x00d8},{0x118d8,0x118b8,0x118d8,0x118b8},{0x118d9,0x118b9,0x118d9,0x118b9},{0x00d9,0x00d9,0x00f9,0x00d9},
-{0x00da,0x00da,0x00fa,0x00da},{0x118da,0x118ba,0x118da,0x118ba},{0x00db,0x00db,0x00fb,0x00db},{0x118db,0x118bb,0x118db,0x118bb},
-{0x118dc,0x118bc,0x118dc,0x118bc},{0x00dc,0x00dc,0x00fc,0x00dc},{0x118dd,0x118bd,0x118dd,0x118bd},{0x00dd,0x00dd,0x00fd,0x00dd},
-{0x00de,0x00de,0x00fe,0x00de},{0x118de,0x118be,0x118de,0x118be},{0x118df,0x118bf,0x118df,0x118bf},{0x00e0,0x00c0,0x00e0,0x00c0},
-{0x00e1,0x00c1,0x00e1,0x00c1},{0x00e2,0x00c2,0x00e2,0x00c2},{0x00e3,0x00c3,0x00e3,0x00c3},{0x00e4,0x00c4,0x00e4,0x00c4},
-{0x00e5,0x00c5,0x00e5,0x00c5},{0x00e6,0x00c6,0x00e6,0x00c6},{0x00e7,0x00c7,0x00e7,0x00c7},{0x00e8,0x00c8,0x00e8,0x00c8},
-{0x00e9,0x00c9,0x00e9,0x00c9},{0x00ea,0x00ca,0x00ea,0x00ca},{0x00eb,0x00cb,0x00eb,0x00cb},{0x00ec,0x00cc,0x00ec,0x00cc},
-{0x00ed,0x00cd,0x00ed,0x00cd},{0x00ee,0x00ce,0x00ee,0x00ce},{0x00ef,0x00cf,0x00ef,0x00cf},{0x00f0,0x00d0,0x00f0,0x00d0},
-{0x00f1,0x00d1,0x00f1,0x00d1},{0x00f2,0x00d2,0x00f2,0x00d2},{0x00f3,0x00d3,0x00f3,0x00d3},{0x00f4,0x00d4,0x00f4,0x00d4},
-{0x00f5,0x00d5,0x00f5,0x00d5},{0x00f6,0x00d6,0x00f6,0x00d6},{0x00f8,0x00d8,0x00f8,0x00d8},{0x00f9,0x00d9,0x00f9,0x00d9},
-{0x00fa,0x00da,0x00fa,0x00da},{0x00fb,0x00db,0x00fb,0x00db},{0x00fc,0x00dc,0x00fc,0x00dc},{0x00fd,0x00dd,0x00fd,0x00dd},
-{0x00fe,0x00de,0x00fe,0x00de},{0x00ff,0x0178,0x00ff,0x0178},{0x0100,0x0100,0x0101,0x0100},{0x0101,0x0100,0x0101,0x0100},
-{0x0102,0x0102,0x0103,0x0102},{0x0103,0x0102,0x0103,0x0102},{0x0104,0x0104,0x0105,0x0104},{0x0105,0x0104,0x0105,0x0104},
-{0x0106,0x0106,0x0107,0x0106},{0x0107,0x0106,0x0107,0x0106},{0x0108,0x0108,0x0109,0x0108},{0x0109,0x0108,0x0109,0x0108},
-{0x010a,0x010a,0x010b,0x010a},{0x010b,0x010a,0x010b,0x010a},{0x010c,0x010c,0x010d,0x010c},{0x010d,0x010c,0x010d,0x010c},
-{0x010e,0x010e,0x010f,0x010e},{0x010f,0x010e,0x010f,0x010e},{0x0110,0x0110,0x0111,0x0110},{0x0111,0x0110,0x0111,0x0110},
-{0x0112,0x0112,0x0113,0x0112},{0x0113,0x0112,0x0113,0x0112},{0x0114,0x0114,0x0115,0x0114},{0x0115,0x0114,0x0115,0x0114},
-{0x0116,0x0116,0x0117,0x0116},{0x0117,0x0116,0x0117,0x0116},{0x0118,0x0118,0x0119,0x0118},{0x0119,0x0118,0x0119,0x0118},
-{0x011a,0x011a,0x011b,0x011a},{0x011b,0x011a,0x011b,0x011a},{0x011c,0x011c,0x011d,0x011c},{0x011d,0x011c,0x011d,0x011c},
-{0x011e,0x011e,0x011f,0x011e},{0x011f,0x011e,0x011f,0x011e},{0x0120,0x0120,0x0121,0x0120},{0x0121,0x0120,0x0121,0x0120},
-{0x0122,0x0122,0x0123,0x0122},{0x0123,0x0122,0x0123,0x0122},{0x0124,0x0124,0x0125,0x0124},{0x0125,0x0124,0x0125,0x0124},
-{0x2126,0x2126,0x03c9,0x2126},{0x0126,0x0126,0x0127,0x0126},{0x0127,0x0126,0x0127,0x0126},{0x0128,0x0128,0x0129,0x0128},
-{0x0129,0x0128,0x0129,0x0128},{0x012a,0x012a,0x012b,0x012a},{0x212a,0x212a,0x006b,0x212a},{0x212b,0x212b,0x00e5,0x212b},
-{0x012b,0x012a,0x012b,0x012a},{0x012c,0x012c,0x012d,0x012c},{0x012d,0x012c,0x012d,0x012c},{0x012e,0x012e,0x012f,0x012e},
-{0x012f,0x012e,0x012f,0x012e},{0x0130,0x0130,0x0069,0x0130},{0x0131,0x0049,0x0131,0x0049},{0x2132,0x2132,0x214e,0x2132},
-{0x0132,0x0132,0x0133,0x0132},{0x0133,0x0132,0x0133,0x0132},{0x0134,0x0134,0x0135,0x0134},{0x0135,0x0134,0x0135,0x0134},
-{0x0136,0x0136,0x0137,0x0136},{0x0137,0x0136,0x0137,0x0136},{0x0139,0x0139,0x013a,0x0139},{0x013a,0x0139,0x013a,0x0139},
-{0x013b,0x013b,0x013c,0x013b},{0x013c,0x013b,0x013c,0x013b},{0x013d,0x013d,0x013e,0x013d},{0x013e,0x013d,0x013e,0x013d},
-{0x013f,0x013f,0x0140,0x013f},{0x0140,0x013f,0x0140,0x013f},{0x0141,0x0141,0x0142,0x0141},{0x0142,0x0141,0x0142,0x0141},
-{0x0143,0x0143,0x0144,0x0143},{0x0144,0x0143,0x0144,0x0143},{0x0145,0x0145,0x0146,0x0145},{0x0146,0x0145,0x0146,0x0145},
-{0x0147,0x0147,0x0148,0x0147},{0x0148,0x0147,0x0148,0x0147},{0x014a,0x014a,0x014b,0x014a},{0x014b,0x014a,0x014b,0x014a},
-{0x014c,0x014c,0x014d,0x014c},{0x014d,0x014c,0x014d,0x014c},{0x214e,0x2132,0x214e,0x2132},{0x014e,0x014e,0x014f,0x014e},
-{0x014f,0x014e,0x014f,0x014e},{0x0150,0x0150,0x0151,0x0150},{0x0151,0x0150,0x0151,0x0150},{0x0152,0x0152,0x0153,0x0152},
-{0x0153,0x0152,0x0153,0x0152},{0x0154,0x0154,0x0155,0x0154},{0x0155,0x0154,0x0155,0x0154},{0x0156,0x0156,0x0157,0x0156},
-{0x0157,0x0156,0x0157,0x0156},{0x0158,0x0158,0x0159,0x0158},{0x0159,0x0158,0x0159,0x0158},{0x015a,0x015a,0x015b,0x015a},
-{0x015b,0x015a,0x015b,0x015a},{0x015c,0x015c,0x015d,0x015c},{0x015d,0x015c,0x015d,0x015c},{0x015e,0x015e,0x015f,0x015e},
-{0x015f,0x015e,0x015f,0x015e},{0x2160,0x2160,0x2170,0x2160},{0x0160,0x0160,0x0161,0x0160},{0x0161,0x0160,0x0161,0x0160},
-{0x2161,0x2161,0x2171,0x2161},{0x2162,0x2162,0x2172,0x2162},{0x0162,0x0162,0x0163,0x0162},{0x0163,0x0162,0x0163,0x0162},
-{0x2163,0x2163,0x2173,0x2163},{0x2164,0x2164,0x2174,0x2164},{0x0164,0x0164,0x0165,0x0164},{0x0165,0x0164,0x0165,0x0164},
-{0x2165,0x2165,0x2175,0x2165},{0x0166,0x0166,0x0167,0x0166},{0x2166,0x2166,0x2176,0x2166},{0x2167,0x2167,0x2177,0x2167},
-{0x0167,0x0166,0x0167,0x0166},{0x0168,0x0168,0x0169,0x0168},{0x2168,0x2168,0x2178,0x2168},{0x2169,0x2169,0x2179,0x2169},
-{0x0169,0x0168,0x0169,0x0168},{0x016a,0x016a,0x016b,0x016a},{0x216a,0x216a,0x217a,0x216a},{0x016b,0x016a,0x016b,0x016a},
-{0x216b,0x216b,0x217b,0x216b},{0x016c,0x016c,0x016d,0x016c},{0x216c,0x216c,0x217c,0x216c},{0x216d,0x216d,0x217d,0x216d},
-{0x016d,0x016c,0x016d,0x016c},{0x216e,0x216e,0x217e,0x216e},{0x016e,0x016e,0x016f,0x016e},{0x016f,0x016e,0x016f,0x016e},
-{0x216f,0x216f,0x217f,0x216f},{0x0170,0x0170,0x0171,0x0170},{0x2170,0x2160,0x2170,0x2160},{0x0171,0x0170,0x0171,0x0170},
-{0x2171,0x2161,0x2171,0x2161},{0x2172,0x2162,0x2172,0x2162},{0x0172,0x0172,0x0173,0x0172},{0x0173,0x0172,0x0173,0x0172},
-{0x2173,0x2163,0x2173,0x2163},{0x0174,0x0174,0x0175,0x0174},{0x2174,0x2164,0x2174,0x2164},{0x2175,0x2165,0x2175,0x2165},
-{0x0175,0x0174,0x0175,0x0174},{0x2176,0x2166,0x2176,0x2166},{0x0176,0x0176,0x0177,0x0176},{0x2177,0x2167,0x2177,0x2167},
-{0x0177,0x0176,0x0177,0x0176},{0x2178,0x2168,0x2178,0x2168},{0x0178,0x0178,0x00ff,0x0178},{0x0179,0x0179,0x017a,0x0179},
-{0x2179,0x2169,0x2179,0x2169},{0x217a,0x216a,0x217a,0x216a},{0x017a,0x0179,0x017a,0x0179},{0x217b,0x216b,0x217b,0x216b},
-{0x017b,0x017b,0x017c,0x017b},{0x217c,0x216c,0x217c,0x216c},{0x017c,0x017b,0x017c,0x017b},{0x017d,0x017d,0x017e,0x017d},
-{0x217d,0x216d,0x217d,0x216d},{0x017e,0x017d,0x017e,0x017d},{0x217e,0x216e,0x217e,0x216e},{0x017f,0x0053,0x017f,0x0053},
-{0x217f,0x216f,0x217f,0x216f},{0x0180,0x0243,0x0180,0x0243},{0x0181,0x0181,0x0253,0x0181},{0x0182,0x0182,0x0183,0x0182},
-{0x2183,0x2183,0x2184,0x2183},{0x0183,0x0182,0x0183,0x0182},{0x2184,0x2183,0x2184,0x2183},{0x0184,0x0184,0x0185,0x0184},
-{0x0185,0x0184,0x0185,0x0184},{0x0186,0x0186,0x0254,0x0186},{0x0187,0x0187,0x0188,0x0187},{0x0188,0x0187,0x0188,0x0187},
-{0x0189,0x0189,0x0256,0x0189},{0x018a,0x018a,0x0257,0x018a},{0x018b,0x018b,0x018c,0x018b},{0x018c,0x018b,0x018c,0x018b},
-{0x018e,0x018e,0x01dd,0x018e},{0x018f,0x018f,0x0259,0x018f},{0x0190,0x0190,0x025b,0x0190},{0x0191,0x0191,0x0192,0x0191},
-{0x0192,0x0191,0x0192,0x0191},{0x0193,0x0193,0x0260,0x0193},{0x0194,0x0194,0x0263,0x0194},{0x0195,0x01f6,0x0195,0x01f6},
-{0x0196,0x0196,0x0269,0x0196},{0x0197,0x0197,0x0268,0x0197},{0x0198,0x0198,0x0199,0x0198},{0x0199,0x0198,0x0199,0x0198},
-{0x019a,0x023d,0x019a,0x023d},{0x019c,0x019c,0x026f,0x019c},{0x019d,0x019d,0x0272,0x019d},{0x019e,0x0220,0x019e,0x0220},
-{0x019f,0x019f,0x0275,0x019f},{0x01a0,0x01a0,0x01a1,0x01a0},{0x01a1,0x01a0,0x01a1,0x01a0},{0x01a2,0x01a2,0x01a3,0x01a2},
-{0x01a3,0x01a2,0x01a3,0x01a2},{0x01a4,0x01a4,0x01a5,0x01a4},{0x01a5,0x01a4,0x01a5,0x01a4},{0x01a6,0x01a6,0x0280,0x01a6},
-{0x01a7,0x01a7,0x01a8,0x01a7},{0x01a8,0x01a7,0x01a8,0x01a7},{0x01a9,0x01a9,0x0283,0x01a9},{0x01ac,0x01ac,0x01ad,0x01ac},
-{0x01ad,0x01ac,0x01ad,0x01ac},{0x01ae,0x01ae,0x0288,0x01ae},{0x01af,0x01af,0x01b0,0x01af},{0x01b0,0x01af,0x01b0,0x01af},
-{0x01b1,0x01b1,0x028a,0x01b1},{0x01b2,0x01b2,0x028b,0x01b2},{0x01b3,0x01b3,0x01b4,0x01b3},{0x01b4,0x01b3,0x01b4,0x01b3},
-{0x01b5,0x01b5,0x01b6,0x01b5},{0x01b6,0x01b5,0x01b6,0x01b5},{0x01b7,0x01b7,0x0292,0x01b7},{0x01b8,0x01b8,0x01b9,0x01b8},
-{0x01b9,0x01b8,0x01b9,0x01b8},{0x01bc,0x01bc,0x01bd,0x01bc},{0x01bd,0x01bc,0x01bd,0x01bc},{0x01bf,0x01f7,0x01bf,0x01f7},
-{0x01c4,0x01c4,0x01c6,0x01c5},{0x01c5,0x01c4,0x01c6,0x01c5},{0x01c6,0x01c4,0x01c6,0x01c5},{0x01c7,0x01c7,0x01c9,0x01c8},
-{0x01c8,0x01c7,0x01c9,0x01c8},{0x01c9,0x01c7,0x01c9,0x01c8},{0x01ca,0x01ca,0x01cc,0x01cb},{0x01cb,0x01ca,0x01cc,0x01cb},
-{0x01cc,0x01ca,0x01cc,0x01cb},{0x01cd,0x01cd,0x01ce,0x01cd},{0x01ce,0x01cd,0x01ce,0x01cd},{0x01cf,0x01cf,0x01d0,0x01cf},
-{0x01d0,0x01cf,0x01d0,0x01cf},{0x01d1,0x01d1,0x01d2,0x01d1},{0x01d2,0x01d1,0x01d2,0x01d1},{0x01d3,0x01d3,0x01d4,0x01d3},
-{0x01d4,0x01d3,0x01d4,0x01d3},{0x01d5,0x01d5,0x01d6,0x01d5},{0x01d6,0x01d5,0x01d6,0x01d5},{0x01d7,0x01d7,0x01d8,0x01d7},
-{0x01d8,0x01d7,0x01d8,0x01d7},{0x01d9,0x01d9,0x01da,0x01d9},{0x01da,0x01d9,0x01da,0x01d9},{0x01db,0x01db,0x01dc,0x01db},
-{0x01dc,0x01db,0x01dc,0x01db},{0x01dd,0x018e,0x01dd,0x018e},{0x01de,0x01de,0x01df,0x01de},{0x01df,0x01de,0x01df,0x01de},
-{0x01e0,0x01e0,0x01e1,0x01e0},{0x01e1,0x01e0,0x01e1,0x01e0},{0x01e2,0x01e2,0x01e3,0x01e2},{0x01e3,0x01e2,0x01e3,0x01e2},
-{0x01e4,0x01e4,0x01e5,0x01e4},{0x01e5,0x01e4,0x01e5,0x01e4},{0x01e6,0x01e6,0x01e7,0x01e6},{0x01e7,0x01e6,0x01e7,0x01e6},
-{0x01e8,0x01e8,0x01e9,0x01e8},{0x01e9,0x01e8,0x01e9,0x01e8},{0x01ea,0x01ea,0x01eb,0x01ea},{0x01eb,0x01ea,0x01eb,0x01ea},
-{0x01ec,0x01ec,0x01ed,0x01ec},{0x01ed,0x01ec,0x01ed,0x01ec},{0x01ee,0x01ee,0x01ef,0x01ee},{0x01ef,0x01ee,0x01ef,0x01ee},
-{0x01f1,0x01f1,0x01f3,0x01f2},{0x01f2,0x01f1,0x01f3,0x01f2},{0x01f3,0x01f1,0x01f3,0x01f2},{0x01f4,0x01f4,0x01f5,0x01f4},
-{0x01f5,0x01f4,0x01f5,0x01f4},{0x01f6,0x01f6,0x0195,0x01f6},{0x01f7,0x01f7,0x01bf,0x01f7},{0x01f8,0x01f8,0x01f9,0x01f8},
-{0x01f9,0x01f8,0x01f9,0x01f8},{0x01fa,0x01fa,0x01fb,0x01fa},{0x01fb,0x01fa,0x01fb,0x01fa},{0x01fc,0x01fc,0x01fd,0x01fc},
-{0x01fd,0x01fc,0x01fd,0x01fc},{0x01fe,0x01fe,0x01ff,0x01fe},{0x01ff,0x01fe,0x01ff,0x01fe},{0x0200,0x0200,0x0201,0x0200},
-{0x0201,0x0200,0x0201,0x0200},{0x0202,0x0202,0x0203,0x0202},{0x0203,0x0202,0x0203,0x0202},{0x0204,0x0204,0x0205,0x0204},
-{0x0205,0x0204,0x0205,0x0204},{0x0206,0x0206,0x0207,0x0206},{0x0207,0x0206,0x0207,0x0206},{0x0208,0x0208,0x0209,0x0208},
-{0x0209,0x0208,0x0209,0x0208},{0x020a,0x020a,0x020b,0x020a},{0x020b,0x020a,0x020b,0x020a},{0x020c,0x020c,0x020d,0x020c},
-{0x020d,0x020c,0x020d,0x020c},{0x020e,0x020e,0x020f,0x020e},{0x020f,0x020e,0x020f,0x020e},{0x0210,0x0210,0x0211,0x0210},
-{0x0211,0x0210,0x0211,0x0210},{0x0212,0x0212,0x0213,0x0212},{0x0213,0x0212,0x0213,0x0212},{0x0214,0x0214,0x0215,0x0214},
-{0x0215,0x0214,0x0215,0x0214},{0x0216,0x0216,0x0217,0x0216},{0x0217,0x0216,0x0217,0x0216},{0x0218,0x0218,0x0219,0x0218},
-{0x0219,0x0218,0x0219,0x0218},{0x021a,0x021a,0x021b,0x021a},{0x021b,0x021a,0x021b,0x021a},{0x021c,0x021c,0x021d,0x021c},
-{0x021d,0x021c,0x021d,0x021c},{0x021e,0x021e,0x021f,0x021e},{0x021f,0x021e,0x021f,0x021e},{0x0220,0x0220,0x019e,0x0220},
-{0x0222,0x0222,0x0223,0x0222},{0x0223,0x0222,0x0223,0x0222},{0x0224,0x0224,0x0225,0x0224},{0x0225,0x0224,0x0225,0x0224},
-{0x0226,0x0226,0x0227,0x0226},{0x0227,0x0226,0x0227,0x0226},{0x0228,0x0228,0x0229,0x0228},{0x0229,0x0228,0x0229,0x0228},
-{0x022a,0x022a,0x022b,0x022a},{0x022b,0x022a,0x022b,0x022a},{0x022c,0x022c,0x022d,0x022c},{0x022d,0x022c,0x022d,0x022c},
-{0x022e,0x022e,0x022f,0x022e},{0x022f,0x022e,0x022f,0x022e},{0x0230,0x0230,0x0231,0x0230},{0x0231,0x0230,0x0231,0x0230},
-{0x0232,0x0232,0x0233,0x0232},{0x0233,0x0232,0x0233,0x0232},{0x023a,0x023a,0x2c65,0x023a},{0x023b,0x023b,0x023c,0x023b},
-{0x023c,0x023b,0x023c,0x023b},{0x023d,0x023d,0x019a,0x023d},{0x023e,0x023e,0x2c66,0x023e},{0x023f,0x2c7e,0x023f,0x2c7e},
-{0x0240,0x2c7f,0x0240,0x2c7f},{0x0241,0x0241,0x0242,0x0241},{0x0242,0x0241,0x0242,0x0241},{0x0243,0x0243,0x0180,0x0243},
-{0x0244,0x0244,0x0289,0x0244},{0x0245,0x0245,0x028c,0x0245},{0x0246,0x0246,0x0247,0x0246},{0x0247,0x0246,0x0247,0x0246},
-{0x0248,0x0248,0x0249,0x0248},{0x0249,0x0248,0x0249,0x0248},{0x024a,0x024a,0x024b,0x024a},{0x024b,0x024a,0x024b,0x024a},
-{0x024c,0x024c,0x024d,0x024c},{0x024d,0x024c,0x024d,0x024c},{0x024e,0x024e,0x024f,0x024e},{0x024f,0x024e,0x024f,0x024e},
-{0x0250,0x2c6f,0x0250,0x2c6f},{0x0251,0x2c6d,0x0251,0x2c6d},{0x0252,0x2c70,0x0252,0x2c70},{0x0253,0x0181,0x0253,0x0181},
-{0x0254,0x0186,0x0254,0x0186},{0x0256,0x0189,0x0256,0x0189},{0x0257,0x018a,0x0257,0x018a},{0x0259,0x018f,0x0259,0x018f},
-{0x025b,0x0190,0x025b,0x0190},{0x025c,0xa7ab,0x025c,0xa7ab},{0x0260,0x0193,0x0260,0x0193},{0x0261,0xa7ac,0x0261,0xa7ac},
-{0x0263,0x0194,0x0263,0x0194},{0x0265,0xa78d,0x0265,0xa78d},{0x0266,0xa7aa,0x0266,0xa7aa},{0x0268,0x0197,0x0268,0x0197},
-{0x0269,0x0196,0x0269,0x0196},{0x026b,0x2c62,0x026b,0x2c62},{0x026c,0xa7ad,0x026c,0xa7ad},{0x026f,0x019c,0x026f,0x019c},
-{0x0271,0x2c6e,0x0271,0x2c6e},{0x0272,0x019d,0x0272,0x019d},{0x0275,0x019f,0x0275,0x019f},{0x027d,0x2c64,0x027d,0x2c64},
-{0x0280,0x01a6,0x0280,0x01a6},{0x0283,0x01a9,0x0283,0x01a9},{0x0287,0xa7b1,0x0287,0xa7b1},{0x0288,0x01ae,0x0288,0x01ae},
+{0x00c8,0x00c8,0x00e8,0x00c8},{0x118c8,0x118a8,0x118c8,0x118a8},{0x00c9,0x00c9,0x00e9,0x00c9},{0x118c9,0x118a9,0x118c9,0x118a9},
+{0x00ca,0x00ca,0x00ea,0x00ca},{0x118ca,0x118aa,0x118ca,0x118aa},{0x118cb,0x118ab,0x118cb,0x118ab},{0x00cb,0x00cb,0x00eb,0x00cb},
+{0x118cc,0x118ac,0x118cc,0x118ac},{0x00cc,0x00cc,0x00ec,0x00cc},{0x10cd,0x10cd,0x2d2d,0x10cd},{0x00cd,0x00cd,0x00ed,0x00cd},
+{0x118cd,0x118ad,0x118cd,0x118ad},{0x118ce,0x118ae,0x118ce,0x118ae},{0x00ce,0x00ce,0x00ee,0x00ce},{0x118cf,0x118af,0x118cf,0x118af},
+{0x00cf,0x00cf,0x00ef,0x00cf},{0x118d0,0x118b0,0x118d0,0x118b0},{0x00d0,0x00d0,0x00f0,0x00d0},{0x10d0,0x1c90,0x10d0,0x10d0},
+{0x00d1,0x00d1,0x00f1,0x00d1},{0x118d1,0x118b1,0x118d1,0x118b1},{0x10d1,0x1c91,0x10d1,0x10d1},{0x00d2,0x00d2,0x00f2,0x00d2},
+{0x10d2,0x1c92,0x10d2,0x10d2},{0x118d2,0x118b2,0x118d2,0x118b2},{0x118d3,0x118b3,0x118d3,0x118b3},{0x10d3,0x1c93,0x10d3,0x10d3},
+{0x00d3,0x00d3,0x00f3,0x00d3},{0x10d4,0x1c94,0x10d4,0x10d4},{0x118d4,0x118b4,0x118d4,0x118b4},{0x00d4,0x00d4,0x00f4,0x00d4},
+{0x00d5,0x00d5,0x00f5,0x00d5},{0x118d5,0x118b5,0x118d5,0x118b5},{0x10d5,0x1c95,0x10d5,0x10d5},{0x118d6,0x118b6,0x118d6,0x118b6},
+{0x10d6,0x1c96,0x10d6,0x10d6},{0x00d6,0x00d6,0x00f6,0x00d6},{0x10d7,0x1c97,0x10d7,0x10d7},{0x118d7,0x118b7,0x118d7,0x118b7},
+{0x00d8,0x00d8,0x00f8,0x00d8},{0x118d8,0x118b8,0x118d8,0x118b8},{0x10d8,0x1c98,0x10d8,0x10d8},{0x118d9,0x118b9,0x118d9,0x118b9},
+{0x00d9,0x00d9,0x00f9,0x00d9},{0x10d9,0x1c99,0x10d9,0x10d9},{0x10da,0x1c9a,0x10da,0x10da},{0x118da,0x118ba,0x118da,0x118ba},
+{0x00da,0x00da,0x00fa,0x00da},{0x10db,0x1c9b,0x10db,0x10db},{0x118db,0x118bb,0x118db,0x118bb},{0x00db,0x00db,0x00fb,0x00db},
+{0x10dc,0x1c9c,0x10dc,0x10dc},{0x118dc,0x118bc,0x118dc,0x118bc},{0x00dc,0x00dc,0x00fc,0x00dc},{0x118dd,0x118bd,0x118dd,0x118bd},
+{0x00dd,0x00dd,0x00fd,0x00dd},{0x10dd,0x1c9d,0x10dd,0x10dd},{0x00de,0x00de,0x00fe,0x00de},{0x10de,0x1c9e,0x10de,0x10de},
+{0x118de,0x118be,0x118de,0x118be},{0x118df,0x118bf,0x118df,0x118bf},{0x10df,0x1c9f,0x10df,0x10df},{0x10e0,0x1ca0,0x10e0,0x10e0},
+{0x00e0,0x00c0,0x00e0,0x00c0},{0x10e1,0x1ca1,0x10e1,0x10e1},{0x00e1,0x00c1,0x00e1,0x00c1},{0x10e2,0x1ca2,0x10e2,0x10e2},
+{0x00e2,0x00c2,0x00e2,0x00c2},{0x00e3,0x00c3,0x00e3,0x00c3},{0x10e3,0x1ca3,0x10e3,0x10e3},{0x10e4,0x1ca4,0x10e4,0x10e4},
+{0x00e4,0x00c4,0x00e4,0x00c4},{0x10e5,0x1ca5,0x10e5,0x10e5},{0x00e5,0x00c5,0x00e5,0x00c5},{0x10e6,0x1ca6,0x10e6,0x10e6},
+{0x00e6,0x00c6,0x00e6,0x00c6},{0x00e7,0x00c7,0x00e7,0x00c7},{0x10e7,0x1ca7,0x10e7,0x10e7},{0x00e8,0x00c8,0x00e8,0x00c8},
+{0x10e8,0x1ca8,0x10e8,0x10e8},{0x00e9,0x00c9,0x00e9,0x00c9},{0x10e9,0x1ca9,0x10e9,0x10e9},{0x00ea,0x00ca,0x00ea,0x00ca},
+{0x10ea,0x1caa,0x10ea,0x10ea},{0x10eb,0x1cab,0x10eb,0x10eb},{0x00eb,0x00cb,0x00eb,0x00cb},{0x10ec,0x1cac,0x10ec,0x10ec},
+{0x00ec,0x00cc,0x00ec,0x00cc},{0x10ed,0x1cad,0x10ed,0x10ed},{0x00ed,0x00cd,0x00ed,0x00cd},{0x00ee,0x00ce,0x00ee,0x00ce},
+{0x10ee,0x1cae,0x10ee,0x10ee},{0x00ef,0x00cf,0x00ef,0x00cf},{0x10ef,0x1caf,0x10ef,0x10ef},{0x00f0,0x00d0,0x00f0,0x00d0},
+{0x10f0,0x1cb0,0x10f0,0x10f0},{0x10f1,0x1cb1,0x10f1,0x10f1},{0x00f1,0x00d1,0x00f1,0x00d1},{0x10f2,0x1cb2,0x10f2,0x10f2},
+{0x00f2,0x00d2,0x00f2,0x00d2},{0x10f3,0x1cb3,0x10f3,0x10f3},{0x00f3,0x00d3,0x00f3,0x00d3},{0x10f4,0x1cb4,0x10f4,0x10f4},
+{0x00f4,0x00d4,0x00f4,0x00d4},{0x00f5,0x00d5,0x00f5,0x00d5},{0x10f5,0x1cb5,0x10f5,0x10f5},{0x00f6,0x00d6,0x00f6,0x00d6},
+{0x10f6,0x1cb6,0x10f6,0x10f6},{0x10f7,0x1cb7,0x10f7,0x10f7},{0x10f8,0x1cb8,0x10f8,0x10f8},{0x00f8,0x00d8,0x00f8,0x00d8},
+{0x10f9,0x1cb9,0x10f9,0x10f9},{0x00f9,0x00d9,0x00f9,0x00d9},{0x00fa,0x00da,0x00fa,0x00da},{0x10fa,0x1cba,0x10fa,0x10fa},
+{0x00fb,0x00db,0x00fb,0x00db},{0x00fc,0x00dc,0x00fc,0x00dc},{0x00fd,0x00dd,0x00fd,0x00dd},{0x10fd,0x1cbd,0x10fd,0x10fd},
+{0x00fe,0x00de,0x00fe,0x00de},{0x10fe,0x1cbe,0x10fe,0x10fe},{0x10ff,0x1cbf,0x10ff,0x10ff},{0x00ff,0x0178,0x00ff,0x0178},
+{0x1e900,0x1e900,0x1e922,0x1e900},{0x0100,0x0100,0x0101,0x0100},{0x1e901,0x1e901,0x1e923,0x1e901},{0x0101,0x0100,0x0101,0x0100},
+{0x0102,0x0102,0x0103,0x0102},{0x1e902,0x1e902,0x1e924,0x1e902},{0x0103,0x0102,0x0103,0x0102},{0x1e903,0x1e903,0x1e925,0x1e903},
+{0x1e904,0x1e904,0x1e926,0x1e904},{0x0104,0x0104,0x0105,0x0104},{0x1e905,0x1e905,0x1e927,0x1e905},{0x0105,0x0104,0x0105,0x0104},
+{0x1e906,0x1e906,0x1e928,0x1e906},{0x0106,0x0106,0x0107,0x0106},{0x0107,0x0106,0x0107,0x0106},{0x1e907,0x1e907,0x1e929,0x1e907},
+{0x1e908,0x1e908,0x1e92a,0x1e908},{0x0108,0x0108,0x0109,0x0108},{0x0109,0x0108,0x0109,0x0108},{0x1e909,0x1e909,0x1e92b,0x1e909},
+{0x1e90a,0x1e90a,0x1e92c,0x1e90a},{0x010a,0x010a,0x010b,0x010a},{0x1e90b,0x1e90b,0x1e92d,0x1e90b},{0x010b,0x010a,0x010b,0x010a},
+{0x010c,0x010c,0x010d,0x010c},{0x1e90c,0x1e90c,0x1e92e,0x1e90c},{0x1e90d,0x1e90d,0x1e92f,0x1e90d},{0x010d,0x010c,0x010d,0x010c},
+{0x1e90e,0x1e90e,0x1e930,0x1e90e},{0x010e,0x010e,0x010f,0x010e},{0x010f,0x010e,0x010f,0x010e},{0x1e90f,0x1e90f,0x1e931,0x1e90f},
+{0x0110,0x0110,0x0111,0x0110},{0x1e910,0x1e910,0x1e932,0x1e910},{0x0111,0x0110,0x0111,0x0110},{0x1e911,0x1e911,0x1e933,0x1e911},
+{0x0112,0x0112,0x0113,0x0112},{0x1e912,0x1e912,0x1e934,0x1e912},{0x1e913,0x1e913,0x1e935,0x1e913},{0x0113,0x0112,0x0113,0x0112},
+{0x1e914,0x1e914,0x1e936,0x1e914},{0x0114,0x0114,0x0115,0x0114},{0x0115,0x0114,0x0115,0x0114},{0x1e915,0x1e915,0x1e937,0x1e915},
+{0x1e916,0x1e916,0x1e938,0x1e916},{0x0116,0x0116,0x0117,0x0116},{0x1e917,0x1e917,0x1e939,0x1e917},{0x0117,0x0116,0x0117,0x0116},
+{0x1e918,0x1e918,0x1e93a,0x1e918},{0x0118,0x0118,0x0119,0x0118},{0x0119,0x0118,0x0119,0x0118},{0x1e919,0x1e919,0x1e93b,0x1e919},
+{0x1e91a,0x1e91a,0x1e93c,0x1e91a},{0x011a,0x011a,0x011b,0x011a},{0x1e91b,0x1e91b,0x1e93d,0x1e91b},{0x011b,0x011a,0x011b,0x011a},
+{0x1e91c,0x1e91c,0x1e93e,0x1e91c},{0x011c,0x011c,0x011d,0x011c},{0x011d,0x011c,0x011d,0x011c},{0x1e91d,0x1e91d,0x1e93f,0x1e91d},
+{0x1e91e,0x1e91e,0x1e940,0x1e91e},{0x011e,0x011e,0x011f,0x011e},{0x011f,0x011e,0x011f,0x011e},{0x1e91f,0x1e91f,0x1e941,0x1e91f},
+{0x1e920,0x1e920,0x1e942,0x1e920},{0x0120,0x0120,0x0121,0x0120},{0x0121,0x0120,0x0121,0x0120},{0x1e921,0x1e921,0x1e943,0x1e921},
+{0x1e922,0x1e900,0x1e922,0x1e900},{0x0122,0x0122,0x0123,0x0122},{0x1e923,0x1e901,0x1e923,0x1e901},{0x0123,0x0122,0x0123,0x0122},
+{0x0124,0x0124,0x0125,0x0124},{0x1e924,0x1e902,0x1e924,0x1e902},{0x0125,0x0124,0x0125,0x0124},{0x1e925,0x1e903,0x1e925,0x1e903},
+{0x0126,0x0126,0x0127,0x0126},{0x2126,0x2126,0x03c9,0x2126},{0x1e926,0x1e904,0x1e926,0x1e904},{0x1e927,0x1e905,0x1e927,0x1e905},
+{0x0127,0x0126,0x0127,0x0126},{0x0128,0x0128,0x0129,0x0128},{0x1e928,0x1e906,0x1e928,0x1e906},{0x0129,0x0128,0x0129,0x0128},
+{0x1e929,0x1e907,0x1e929,0x1e907},{0x212a,0x212a,0x006b,0x212a},{0x1e92a,0x1e908,0x1e92a,0x1e908},{0x012a,0x012a,0x012b,0x012a},
+{0x1e92b,0x1e909,0x1e92b,0x1e909},{0x012b,0x012a,0x012b,0x012a},{0x212b,0x212b,0x00e5,0x212b},{0x012c,0x012c,0x012d,0x012c},
+{0x1e92c,0x1e90a,0x1e92c,0x1e90a},{0x1e92d,0x1e90b,0x1e92d,0x1e90b},{0x012d,0x012c,0x012d,0x012c},{0x1e92e,0x1e90c,0x1e92e,0x1e90c},
+{0x012e,0x012e,0x012f,0x012e},{0x1e92f,0x1e90d,0x1e92f,0x1e90d},{0x012f,0x012e,0x012f,0x012e},{0x1e930,0x1e90e,0x1e930,0x1e90e},
+{0x0130,0x0130,0x0069,0x0130},{0x0131,0x0049,0x0131,0x0049},{0x1e931,0x1e90f,0x1e931,0x1e90f},{0x1e932,0x1e910,0x1e932,0x1e910},
+{0x0132,0x0132,0x0133,0x0132},{0x2132,0x2132,0x214e,0x2132},{0x1e933,0x1e911,0x1e933,0x1e911},{0x0133,0x0132,0x0133,0x0132},
+{0x0134,0x0134,0x0135,0x0134},{0x1e934,0x1e912,0x1e934,0x1e912},{0x1e935,0x1e913,0x1e935,0x1e913},{0x0135,0x0134,0x0135,0x0134},
+{0x1e936,0x1e914,0x1e936,0x1e914},{0x0136,0x0136,0x0137,0x0136},{0x1e937,0x1e915,0x1e937,0x1e915},{0x0137,0x0136,0x0137,0x0136},
+{0x1e938,0x1e916,0x1e938,0x1e916},{0x1e939,0x1e917,0x1e939,0x1e917},{0x0139,0x0139,0x013a,0x0139},{0x1e93a,0x1e918,0x1e93a,0x1e918},
+{0x013a,0x0139,0x013a,0x0139},{0x1e93b,0x1e919,0x1e93b,0x1e919},{0x013b,0x013b,0x013c,0x013b},{0x1e93c,0x1e91a,0x1e93c,0x1e91a},
+{0x013c,0x013b,0x013c,0x013b},{0x013d,0x013d,0x013e,0x013d},{0x1e93d,0x1e91b,0x1e93d,0x1e91b},{0x1e93e,0x1e91c,0x1e93e,0x1e91c},
+{0x013e,0x013d,0x013e,0x013d},{0x013f,0x013f,0x0140,0x013f},{0x1e93f,0x1e91d,0x1e93f,0x1e91d},{0x1e940,0x1e91e,0x1e940,0x1e91e},
+{0x0140,0x013f,0x0140,0x013f},{0x1e941,0x1e91f,0x1e941,0x1e91f},{0x0141,0x0141,0x0142,0x0141},{0x1e942,0x1e920,0x1e942,0x1e920},
+{0x0142,0x0141,0x0142,0x0141},{0x0143,0x0143,0x0144,0x0143},{0x1e943,0x1e921,0x1e943,0x1e921},{0x0144,0x0143,0x0144,0x0143},
+{0x0145,0x0145,0x0146,0x0145},{0x0146,0x0145,0x0146,0x0145},{0x0147,0x0147,0x0148,0x0147},{0x0148,0x0147,0x0148,0x0147},
+{0x014a,0x014a,0x014b,0x014a},{0x014b,0x014a,0x014b,0x014a},{0x014c,0x014c,0x014d,0x014c},{0x014d,0x014c,0x014d,0x014c},
+{0x214e,0x2132,0x214e,0x2132},{0x014e,0x014e,0x014f,0x014e},{0x014f,0x014e,0x014f,0x014e},{0x0150,0x0150,0x0151,0x0150},
+{0x0151,0x0150,0x0151,0x0150},{0x0152,0x0152,0x0153,0x0152},{0x0153,0x0152,0x0153,0x0152},{0x0154,0x0154,0x0155,0x0154},
+{0x0155,0x0154,0x0155,0x0154},{0x0156,0x0156,0x0157,0x0156},{0x0157,0x0156,0x0157,0x0156},{0x0158,0x0158,0x0159,0x0158},
+{0x0159,0x0158,0x0159,0x0158},{0x015a,0x015a,0x015b,0x015a},{0x015b,0x015a,0x015b,0x015a},{0x015c,0x015c,0x015d,0x015c},
+{0x015d,0x015c,0x015d,0x015c},{0x015e,0x015e,0x015f,0x015e},{0x015f,0x015e,0x015f,0x015e},{0x0160,0x0160,0x0161,0x0160},
+{0x2160,0x2160,0x2170,0x2160},{0x2161,0x2161,0x2171,0x2161},{0x0161,0x0160,0x0161,0x0160},{0x0162,0x0162,0x0163,0x0162},
+{0x2162,0x2162,0x2172,0x2162},{0x2163,0x2163,0x2173,0x2163},{0x0163,0x0162,0x0163,0x0162},{0x2164,0x2164,0x2174,0x2164},
+{0x0164,0x0164,0x0165,0x0164},{0x0165,0x0164,0x0165,0x0164},{0x2165,0x2165,0x2175,0x2165},{0x0166,0x0166,0x0167,0x0166},
+{0x2166,0x2166,0x2176,0x2166},{0x0167,0x0166,0x0167,0x0166},{0x2167,0x2167,0x2177,0x2167},{0x2168,0x2168,0x2178,0x2168},
+{0x0168,0x0168,0x0169,0x0168},{0x2169,0x2169,0x2179,0x2169},{0x0169,0x0168,0x0169,0x0168},{0x016a,0x016a,0x016b,0x016a},
+{0x216a,0x216a,0x217a,0x216a},{0x016b,0x016a,0x016b,0x016a},{0x216b,0x216b,0x217b,0x216b},{0x016c,0x016c,0x016d,0x016c},
+{0x216c,0x216c,0x217c,0x216c},{0x216d,0x216d,0x217d,0x216d},{0x016d,0x016c,0x016d,0x016c},{0x216e,0x216e,0x217e,0x216e},
+{0x016e,0x016e,0x016f,0x016e},{0x016f,0x016e,0x016f,0x016e},{0x216f,0x216f,0x217f,0x216f},{0x2170,0x2160,0x2170,0x2160},
+{0x0170,0x0170,0x0171,0x0170},{0x2171,0x2161,0x2171,0x2161},{0x0171,0x0170,0x0171,0x0170},{0x2172,0x2162,0x2172,0x2162},
+{0x0172,0x0172,0x0173,0x0172},{0x2173,0x2163,0x2173,0x2163},{0x0173,0x0172,0x0173,0x0172},{0x2174,0x2164,0x2174,0x2164},
+{0x0174,0x0174,0x0175,0x0174},{0x0175,0x0174,0x0175,0x0174},{0x2175,0x2165,0x2175,0x2165},{0x2176,0x2166,0x2176,0x2166},
+{0x0176,0x0176,0x0177,0x0176},{0x0177,0x0176,0x0177,0x0176},{0x2177,0x2167,0x2177,0x2167},{0x0178,0x0178,0x00ff,0x0178},
+{0x2178,0x2168,0x2178,0x2168},{0x2179,0x2169,0x2179,0x2169},{0x0179,0x0179,0x017a,0x0179},{0x217a,0x216a,0x217a,0x216a},
+{0x017a,0x0179,0x017a,0x0179},{0x217b,0x216b,0x217b,0x216b},{0x017b,0x017b,0x017c,0x017b},{0x017c,0x017b,0x017c,0x017b},
+{0x217c,0x216c,0x217c,0x216c},{0x017d,0x017d,0x017e,0x017d},{0x217d,0x216d,0x217d,0x216d},{0x217e,0x216e,0x217e,0x216e},
+{0x017e,0x017d,0x017e,0x017d},{0x217f,0x216f,0x217f,0x216f},{0x017f,0x0053,0x017f,0x0053},{0x0180,0x0243,0x0180,0x0243},
+{0x0181,0x0181,0x0253,0x0181},{0x0182,0x0182,0x0183,0x0182},{0x0183,0x0182,0x0183,0x0182},{0x2183,0x2183,0x2184,0x2183},
+{0x0184,0x0184,0x0185,0x0184},{0x2184,0x2183,0x2184,0x2183},{0x0185,0x0184,0x0185,0x0184},{0x0186,0x0186,0x0254,0x0186},
+{0x0187,0x0187,0x0188,0x0187},{0x0188,0x0187,0x0188,0x0187},{0x0189,0x0189,0x0256,0x0189},{0x018a,0x018a,0x0257,0x018a},
+{0x018b,0x018b,0x018c,0x018b},{0x018c,0x018b,0x018c,0x018b},{0x018e,0x018e,0x01dd,0x018e},{0x018f,0x018f,0x0259,0x018f},
+{0x0190,0x0190,0x025b,0x0190},{0x0191,0x0191,0x0192,0x0191},{0x0192,0x0191,0x0192,0x0191},{0x0193,0x0193,0x0260,0x0193},
+{0x0194,0x0194,0x0263,0x0194},{0x0195,0x01f6,0x0195,0x01f6},{0x0196,0x0196,0x0269,0x0196},{0x0197,0x0197,0x0268,0x0197},
+{0x0198,0x0198,0x0199,0x0198},{0x0199,0x0198,0x0199,0x0198},{0x019a,0x023d,0x019a,0x023d},{0x019c,0x019c,0x026f,0x019c},
+{0x019d,0x019d,0x0272,0x019d},{0x019e,0x0220,0x019e,0x0220},{0x019f,0x019f,0x0275,0x019f},{0x01a0,0x01a0,0x01a1,0x01a0},
+{0x01a1,0x01a0,0x01a1,0x01a0},{0x01a2,0x01a2,0x01a3,0x01a2},{0x01a3,0x01a2,0x01a3,0x01a2},{0x01a4,0x01a4,0x01a5,0x01a4},
+{0x01a5,0x01a4,0x01a5,0x01a4},{0x01a6,0x01a6,0x0280,0x01a6},{0x01a7,0x01a7,0x01a8,0x01a7},{0x01a8,0x01a7,0x01a8,0x01a7},
+{0x01a9,0x01a9,0x0283,0x01a9},{0x01ac,0x01ac,0x01ad,0x01ac},{0x01ad,0x01ac,0x01ad,0x01ac},{0x01ae,0x01ae,0x0288,0x01ae},
+{0x01af,0x01af,0x01b0,0x01af},{0x01b0,0x01af,0x01b0,0x01af},{0x01b1,0x01b1,0x028a,0x01b1},{0x01b2,0x01b2,0x028b,0x01b2},
+{0x01b3,0x01b3,0x01b4,0x01b3},{0x01b4,0x01b3,0x01b4,0x01b3},{0x01b5,0x01b5,0x01b6,0x01b5},{0x01b6,0x01b5,0x01b6,0x01b5},
+{0x01b7,0x01b7,0x0292,0x01b7},{0x01b8,0x01b8,0x01b9,0x01b8},{0x01b9,0x01b8,0x01b9,0x01b8},{0x01bc,0x01bc,0x01bd,0x01bc},
+{0x01bd,0x01bc,0x01bd,0x01bc},{0x01bf,0x01f7,0x01bf,0x01f7},{0x01c4,0x01c4,0x01c6,0x01c5},{0x01c5,0x01c4,0x01c6,0x01c5},
+{0x01c6,0x01c4,0x01c6,0x01c5},{0x01c7,0x01c7,0x01c9,0x01c8},{0x01c8,0x01c7,0x01c9,0x01c8},{0x01c9,0x01c7,0x01c9,0x01c8},
+{0x01ca,0x01ca,0x01cc,0x01cb},{0x01cb,0x01ca,0x01cc,0x01cb},{0x01cc,0x01ca,0x01cc,0x01cb},{0x01cd,0x01cd,0x01ce,0x01cd},
+{0x01ce,0x01cd,0x01ce,0x01cd},{0x01cf,0x01cf,0x01d0,0x01cf},{0x01d0,0x01cf,0x01d0,0x01cf},{0x01d1,0x01d1,0x01d2,0x01d1},
+{0x01d2,0x01d1,0x01d2,0x01d1},{0x01d3,0x01d3,0x01d4,0x01d3},{0x01d4,0x01d3,0x01d4,0x01d3},{0x01d5,0x01d5,0x01d6,0x01d5},
+{0x01d6,0x01d5,0x01d6,0x01d5},{0x01d7,0x01d7,0x01d8,0x01d7},{0x01d8,0x01d7,0x01d8,0x01d7},{0x01d9,0x01d9,0x01da,0x01d9},
+{0x01da,0x01d9,0x01da,0x01d9},{0x01db,0x01db,0x01dc,0x01db},{0x01dc,0x01db,0x01dc,0x01db},{0x01dd,0x018e,0x01dd,0x018e},
+{0x01de,0x01de,0x01df,0x01de},{0x01df,0x01de,0x01df,0x01de},{0x01e0,0x01e0,0x01e1,0x01e0},{0x01e1,0x01e0,0x01e1,0x01e0},
+{0x01e2,0x01e2,0x01e3,0x01e2},{0x01e3,0x01e2,0x01e3,0x01e2},{0x01e4,0x01e4,0x01e5,0x01e4},{0x01e5,0x01e4,0x01e5,0x01e4},
+{0x01e6,0x01e6,0x01e7,0x01e6},{0x01e7,0x01e6,0x01e7,0x01e6},{0x01e8,0x01e8,0x01e9,0x01e8},{0x01e9,0x01e8,0x01e9,0x01e8},
+{0x01ea,0x01ea,0x01eb,0x01ea},{0x01eb,0x01ea,0x01eb,0x01ea},{0x01ec,0x01ec,0x01ed,0x01ec},{0x01ed,0x01ec,0x01ed,0x01ec},
+{0x01ee,0x01ee,0x01ef,0x01ee},{0x01ef,0x01ee,0x01ef,0x01ee},{0x01f1,0x01f1,0x01f3,0x01f2},{0x01f2,0x01f1,0x01f3,0x01f2},
+{0x01f3,0x01f1,0x01f3,0x01f2},{0x01f4,0x01f4,0x01f5,0x01f4},{0x01f5,0x01f4,0x01f5,0x01f4},{0x01f6,0x01f6,0x0195,0x01f6},
+{0x01f7,0x01f7,0x01bf,0x01f7},{0x01f8,0x01f8,0x01f9,0x01f8},{0x01f9,0x01f8,0x01f9,0x01f8},{0x01fa,0x01fa,0x01fb,0x01fa},
+{0x01fb,0x01fa,0x01fb,0x01fa},{0x01fc,0x01fc,0x01fd,0x01fc},{0x01fd,0x01fc,0x01fd,0x01fc},{0x01fe,0x01fe,0x01ff,0x01fe},
+{0x01ff,0x01fe,0x01ff,0x01fe},{0x0200,0x0200,0x0201,0x0200},{0x0201,0x0200,0x0201,0x0200},{0x0202,0x0202,0x0203,0x0202},
+{0x0203,0x0202,0x0203,0x0202},{0x0204,0x0204,0x0205,0x0204},{0x0205,0x0204,0x0205,0x0204},{0x0206,0x0206,0x0207,0x0206},
+{0x0207,0x0206,0x0207,0x0206},{0x0208,0x0208,0x0209,0x0208},{0x0209,0x0208,0x0209,0x0208},{0x020a,0x020a,0x020b,0x020a},
+{0x020b,0x020a,0x020b,0x020a},{0x020c,0x020c,0x020d,0x020c},{0x020d,0x020c,0x020d,0x020c},{0x020e,0x020e,0x020f,0x020e},
+{0x020f,0x020e,0x020f,0x020e},{0x0210,0x0210,0x0211,0x0210},{0x0211,0x0210,0x0211,0x0210},{0x0212,0x0212,0x0213,0x0212},
+{0x0213,0x0212,0x0213,0x0212},{0x0214,0x0214,0x0215,0x0214},{0x0215,0x0214,0x0215,0x0214},{0x0216,0x0216,0x0217,0x0216},
+{0x0217,0x0216,0x0217,0x0216},{0x0218,0x0218,0x0219,0x0218},{0x0219,0x0218,0x0219,0x0218},{0x021a,0x021a,0x021b,0x021a},
+{0x021b,0x021a,0x021b,0x021a},{0x021c,0x021c,0x021d,0x021c},{0x021d,0x021c,0x021d,0x021c},{0x021e,0x021e,0x021f,0x021e},
+{0x021f,0x021e,0x021f,0x021e},{0x0220,0x0220,0x019e,0x0220},{0x0222,0x0222,0x0223,0x0222},{0x0223,0x0222,0x0223,0x0222},
+{0x0224,0x0224,0x0225,0x0224},{0x0225,0x0224,0x0225,0x0224},{0x0226,0x0226,0x0227,0x0226},{0x0227,0x0226,0x0227,0x0226},
+{0x0228,0x0228,0x0229,0x0228},{0x0229,0x0228,0x0229,0x0228},{0x022a,0x022a,0x022b,0x022a},{0x022b,0x022a,0x022b,0x022a},
+{0x022c,0x022c,0x022d,0x022c},{0x022d,0x022c,0x022d,0x022c},{0x022e,0x022e,0x022f,0x022e},{0x022f,0x022e,0x022f,0x022e},
+{0x0230,0x0230,0x0231,0x0230},{0x0231,0x0230,0x0231,0x0230},{0x0232,0x0232,0x0233,0x0232},{0x0233,0x0232,0x0233,0x0232},
+{0x023a,0x023a,0x2c65,0x023a},{0x023b,0x023b,0x023c,0x023b},{0x023c,0x023b,0x023c,0x023b},{0x023d,0x023d,0x019a,0x023d},
+{0x023e,0x023e,0x2c66,0x023e},{0x023f,0x2c7e,0x023f,0x2c7e},{0x0240,0x2c7f,0x0240,0x2c7f},{0x0241,0x0241,0x0242,0x0241},
+{0x0242,0x0241,0x0242,0x0241},{0x0243,0x0243,0x0180,0x0243},{0x0244,0x0244,0x0289,0x0244},{0x0245,0x0245,0x028c,0x0245},
+{0x0246,0x0246,0x0247,0x0246},{0x0247,0x0246,0x0247,0x0246},{0x0248,0x0248,0x0249,0x0248},{0x0249,0x0248,0x0249,0x0248},
+{0x024a,0x024a,0x024b,0x024a},{0x024b,0x024a,0x024b,0x024a},{0x024c,0x024c,0x024d,0x024c},{0x024d,0x024c,0x024d,0x024c},
+{0x024e,0x024e,0x024f,0x024e},{0x024f,0x024e,0x024f,0x024e},{0x0250,0x2c6f,0x0250,0x2c6f},{0x0251,0x2c6d,0x0251,0x2c6d},
+{0x0252,0x2c70,0x0252,0x2c70},{0x0253,0x0181,0x0253,0x0181},{0x0254,0x0186,0x0254,0x0186},{0x0256,0x0189,0x0256,0x0189},
+{0x0257,0x018a,0x0257,0x018a},{0x0259,0x018f,0x0259,0x018f},{0x025b,0x0190,0x025b,0x0190},{0x025c,0xa7ab,0x025c,0xa7ab},
+{0x0260,0x0193,0x0260,0x0193},{0x0261,0xa7ac,0x0261,0xa7ac},{0x0263,0x0194,0x0263,0x0194},{0x0265,0xa78d,0x0265,0xa78d},
+{0x0266,0xa7aa,0x0266,0xa7aa},{0x0268,0x0197,0x0268,0x0197},{0x0269,0x0196,0x0269,0x0196},{0x026a,0xa7ae,0x026a,0xa7ae},
+{0x026b,0x2c62,0x026b,0x2c62},{0x026c,0xa7ad,0x026c,0xa7ad},{0x026f,0x019c,0x026f,0x019c},{0x0271,0x2c6e,0x0271,0x2c6e},
+{0x0272,0x019d,0x0272,0x019d},{0x0275,0x019f,0x0275,0x019f},{0x027d,0x2c64,0x027d,0x2c64},{0x0280,0x01a6,0x0280,0x01a6},
+{0x0282,0xa7c5,0x0282,0xa7c5},{0x0283,0x01a9,0x0283,0x01a9},{0x0287,0xa7b1,0x0287,0xa7b1},{0x0288,0x01ae,0x0288,0x01ae},
{0x0289,0x0244,0x0289,0x0244},{0x028a,0x01b1,0x028a,0x01b1},{0x028b,0x01b2,0x028b,0x01b2},{0x028c,0x0245,0x028c,0x0245},
{0x0292,0x01b7,0x0292,0x01b7},{0x029d,0xa7b2,0x029d,0xa7b2},{0x029e,0xa7b0,0x029e,0xa7b0},{0x0345,0x0399,0x0345,0x0399},
-{0xab53,0xa7b3,0xab53,0xa7b3},{0x0370,0x0370,0x0371,0x0370},{0xab70,0x13a0,0xab70,0x13a0},{0x0371,0x0370,0x0371,0x0370},
-{0xab71,0x13a1,0xab71,0x13a1},{0xab72,0x13a2,0xab72,0x13a2},{0x0372,0x0372,0x0373,0x0372},{0xab73,0x13a3,0xab73,0x13a3},
+{0xab53,0xa7b3,0xab53,0xa7b3},{0xab70,0x13a0,0xab70,0x13a0},{0x0370,0x0370,0x0371,0x0370},{0xab71,0x13a1,0xab71,0x13a1},
+{0x0371,0x0370,0x0371,0x0370},{0x0372,0x0372,0x0373,0x0372},{0xab72,0x13a2,0xab72,0x13a2},{0xab73,0x13a3,0xab73,0x13a3},
{0x0373,0x0372,0x0373,0x0372},{0xab74,0x13a4,0xab74,0x13a4},{0xab75,0x13a5,0xab75,0x13a5},{0xab76,0x13a6,0xab76,0x13a6},
{0x0376,0x0376,0x0377,0x0376},{0x0377,0x0376,0x0377,0x0376},{0xab77,0x13a7,0xab77,0x13a7},{0xab78,0x13a8,0xab78,0x13a8},
{0xab79,0x13a9,0xab79,0x13a9},{0xab7a,0x13aa,0xab7a,0x13aa},{0xab7b,0x13ab,0xab7b,0x13ab},{0x037b,0x03fd,0x037b,0x03fd},
-{0xab7c,0x13ac,0xab7c,0x13ac},{0x037c,0x03fe,0x037c,0x03fe},{0x037d,0x03ff,0x037d,0x03ff},{0xab7d,0x13ad,0xab7d,0x13ad},
-{0xab7e,0x13ae,0xab7e,0x13ae},{0x037f,0x037f,0x03f3,0x037f},{0xab7f,0x13af,0xab7f,0x13af},{0xab80,0x13b0,0xab80,0x13b0},
+{0x037c,0x03fe,0x037c,0x03fe},{0xab7c,0x13ac,0xab7c,0x13ac},{0xab7d,0x13ad,0xab7d,0x13ad},{0x037d,0x03ff,0x037d,0x03ff},
+{0xab7e,0x13ae,0xab7e,0x13ae},{0xab7f,0x13af,0xab7f,0x13af},{0x037f,0x037f,0x03f3,0x037f},{0xab80,0x13b0,0xab80,0x13b0},
{0xab81,0x13b1,0xab81,0x13b1},{0xab82,0x13b2,0xab82,0x13b2},{0xab83,0x13b3,0xab83,0x13b3},{0xab84,0x13b4,0xab84,0x13b4},
-{0xab85,0x13b5,0xab85,0x13b5},{0x0386,0x0386,0x03ac,0x0386},{0xab86,0x13b6,0xab86,0x13b6},{0xab87,0x13b7,0xab87,0x13b7},
+{0xab85,0x13b5,0xab85,0x13b5},{0xab86,0x13b6,0xab86,0x13b6},{0x0386,0x0386,0x03ac,0x0386},{0xab87,0x13b7,0xab87,0x13b7},
{0xab88,0x13b8,0xab88,0x13b8},{0x0388,0x0388,0x03ad,0x0388},{0x0389,0x0389,0x03ae,0x0389},{0xab89,0x13b9,0xab89,0x13b9},
{0x038a,0x038a,0x03af,0x038a},{0xab8a,0x13ba,0xab8a,0x13ba},{0xab8b,0x13bb,0xab8b,0x13bb},{0x038c,0x038c,0x03cc,0x038c},
{0xab8c,0x13bc,0xab8c,0x13bc},{0xab8d,0x13bd,0xab8d,0x13bd},{0x038e,0x038e,0x03cd,0x038e},{0xab8e,0x13be,0xab8e,0x13be},
-{0xab8f,0x13bf,0xab8f,0x13bf},{0x038f,0x038f,0x03ce,0x038f},{0xab90,0x13c0,0xab90,0x13c0},{0x0391,0x0391,0x03b1,0x0391},
-{0xab91,0x13c1,0xab91,0x13c1},{0x0392,0x0392,0x03b2,0x0392},{0xab92,0x13c2,0xab92,0x13c2},{0xab93,0x13c3,0xab93,0x13c3},
-{0x0393,0x0393,0x03b3,0x0393},{0xab94,0x13c4,0xab94,0x13c4},{0x0394,0x0394,0x03b4,0x0394},{0x0395,0x0395,0x03b5,0x0395},
-{0xab95,0x13c5,0xab95,0x13c5},{0x0396,0x0396,0x03b6,0x0396},{0xab96,0x13c6,0xab96,0x13c6},{0x0397,0x0397,0x03b7,0x0397},
-{0xab97,0x13c7,0xab97,0x13c7},{0xab98,0x13c8,0xab98,0x13c8},{0x0398,0x0398,0x03b8,0x0398},{0xab99,0x13c9,0xab99,0x13c9},
-{0x0399,0x0399,0x03b9,0x0399},{0x039a,0x039a,0x03ba,0x039a},{0xab9a,0x13ca,0xab9a,0x13ca},{0x039b,0x039b,0x03bb,0x039b},
-{0xab9b,0x13cb,0xab9b,0x13cb},{0xab9c,0x13cc,0xab9c,0x13cc},{0x039c,0x039c,0x03bc,0x039c},{0xab9d,0x13cd,0xab9d,0x13cd},
-{0x039d,0x039d,0x03bd,0x039d},{0xab9e,0x13ce,0xab9e,0x13ce},{0x039e,0x039e,0x03be,0x039e},{0x039f,0x039f,0x03bf,0x039f},
-{0xab9f,0x13cf,0xab9f,0x13cf},{0x13a0,0x13a0,0xab70,0x13a0},{0x03a0,0x03a0,0x03c0,0x03a0},{0xaba0,0x13d0,0xaba0,0x13d0},
-{0x03a1,0x03a1,0x03c1,0x03a1},{0x13a1,0x13a1,0xab71,0x13a1},{0xaba1,0x13d1,0xaba1,0x13d1},{0x13a2,0x13a2,0xab72,0x13a2},
-{0xaba2,0x13d2,0xaba2,0x13d2},{0x03a3,0x03a3,0x03c3,0x03a3},{0x13a3,0x13a3,0xab73,0x13a3},{0xaba3,0x13d3,0xaba3,0x13d3},
-{0x03a4,0x03a4,0x03c4,0x03a4},{0x13a4,0x13a4,0xab74,0x13a4},{0xaba4,0x13d4,0xaba4,0x13d4},{0xaba5,0x13d5,0xaba5,0x13d5},
-{0x13a5,0x13a5,0xab75,0x13a5},{0x03a5,0x03a5,0x03c5,0x03a5},{0xaba6,0x13d6,0xaba6,0x13d6},{0x13a6,0x13a6,0xab76,0x13a6},
+{0x038f,0x038f,0x03ce,0x038f},{0xab8f,0x13bf,0xab8f,0x13bf},{0xab90,0x13c0,0xab90,0x13c0},{0x0391,0x0391,0x03b1,0x0391},
+{0xab91,0x13c1,0xab91,0x13c1},{0x0392,0x0392,0x03b2,0x0392},{0xab92,0x13c2,0xab92,0x13c2},{0x0393,0x0393,0x03b3,0x0393},
+{0xab93,0x13c3,0xab93,0x13c3},{0xab94,0x13c4,0xab94,0x13c4},{0x0394,0x0394,0x03b4,0x0394},{0xab95,0x13c5,0xab95,0x13c5},
+{0x0395,0x0395,0x03b5,0x0395},{0x0396,0x0396,0x03b6,0x0396},{0xab96,0x13c6,0xab96,0x13c6},{0x0397,0x0397,0x03b7,0x0397},
+{0xab97,0x13c7,0xab97,0x13c7},{0x0398,0x0398,0x03b8,0x0398},{0xab98,0x13c8,0xab98,0x13c8},{0x0399,0x0399,0x03b9,0x0399},
+{0xab99,0x13c9,0xab99,0x13c9},{0xab9a,0x13ca,0xab9a,0x13ca},{0x039a,0x039a,0x03ba,0x039a},{0x039b,0x039b,0x03bb,0x039b},
+{0xab9b,0x13cb,0xab9b,0x13cb},{0xab9c,0x13cc,0xab9c,0x13cc},{0x039c,0x039c,0x03bc,0x039c},{0x039d,0x039d,0x03bd,0x039d},
+{0xab9d,0x13cd,0xab9d,0x13cd},{0x039e,0x039e,0x03be,0x039e},{0xab9e,0x13ce,0xab9e,0x13ce},{0xab9f,0x13cf,0xab9f,0x13cf},
+{0x039f,0x039f,0x03bf,0x039f},{0x03a0,0x03a0,0x03c0,0x03a0},{0x13a0,0x13a0,0xab70,0x13a0},{0xaba0,0x13d0,0xaba0,0x13d0},
+{0x13a1,0x13a1,0xab71,0x13a1},{0x03a1,0x03a1,0x03c1,0x03a1},{0xaba1,0x13d1,0xaba1,0x13d1},{0x13a2,0x13a2,0xab72,0x13a2},
+{0xaba2,0x13d2,0xaba2,0x13d2},{0x13a3,0x13a3,0xab73,0x13a3},{0xaba3,0x13d3,0xaba3,0x13d3},{0x03a3,0x03a3,0x03c3,0x03a3},
+{0x13a4,0x13a4,0xab74,0x13a4},{0x03a4,0x03a4,0x03c4,0x03a4},{0xaba4,0x13d4,0xaba4,0x13d4},{0x03a5,0x03a5,0x03c5,0x03a5},
+{0xaba5,0x13d5,0xaba5,0x13d5},{0x13a5,0x13a5,0xab75,0x13a5},{0x13a6,0x13a6,0xab76,0x13a6},{0xaba6,0x13d6,0xaba6,0x13d6},
{0x03a6,0x03a6,0x03c6,0x03a6},{0x13a7,0x13a7,0xab77,0x13a7},{0xaba7,0x13d7,0xaba7,0x13d7},{0x03a7,0x03a7,0x03c7,0x03a7},
-{0xaba8,0x13d8,0xaba8,0x13d8},{0x13a8,0x13a8,0xab78,0x13a8},{0x03a8,0x03a8,0x03c8,0x03a8},{0xaba9,0x13d9,0xaba9,0x13d9},
-{0x03a9,0x03a9,0x03c9,0x03a9},{0x13a9,0x13a9,0xab79,0x13a9},{0x13aa,0x13aa,0xab7a,0x13aa},{0xabaa,0x13da,0xabaa,0x13da},
-{0x03aa,0x03aa,0x03ca,0x03aa},{0x13ab,0x13ab,0xab7b,0x13ab},{0xabab,0x13db,0xabab,0x13db},{0x03ab,0x03ab,0x03cb,0x03ab},
-{0xabac,0x13dc,0xabac,0x13dc},{0x13ac,0x13ac,0xab7c,0x13ac},{0x03ac,0x0386,0x03ac,0x0386},{0x03ad,0x0388,0x03ad,0x0388},
-{0x13ad,0x13ad,0xab7d,0x13ad},{0xabad,0x13dd,0xabad,0x13dd},{0xabae,0x13de,0xabae,0x13de},{0x03ae,0x0389,0x03ae,0x0389},
-{0x13ae,0x13ae,0xab7e,0x13ae},{0x13af,0x13af,0xab7f,0x13af},{0xabaf,0x13df,0xabaf,0x13df},{0x03af,0x038a,0x03af,0x038a},
-{0x13b0,0x13b0,0xab80,0x13b0},{0xabb0,0x13e0,0xabb0,0x13e0},{0x13b1,0x13b1,0xab81,0x13b1},{0x03b1,0x0391,0x03b1,0x0391},
-{0xabb1,0x13e1,0xabb1,0x13e1},{0x13b2,0x13b2,0xab82,0x13b2},{0xabb2,0x13e2,0xabb2,0x13e2},{0x03b2,0x0392,0x03b2,0x0392},
+{0x13a8,0x13a8,0xab78,0x13a8},{0x03a8,0x03a8,0x03c8,0x03a8},{0xaba8,0x13d8,0xaba8,0x13d8},{0x13a9,0x13a9,0xab79,0x13a9},
+{0xaba9,0x13d9,0xaba9,0x13d9},{0x03a9,0x03a9,0x03c9,0x03a9},{0x03aa,0x03aa,0x03ca,0x03aa},{0xabaa,0x13da,0xabaa,0x13da},
+{0x13aa,0x13aa,0xab7a,0x13aa},{0xabab,0x13db,0xabab,0x13db},{0x13ab,0x13ab,0xab7b,0x13ab},{0x03ab,0x03ab,0x03cb,0x03ab},
+{0xabac,0x13dc,0xabac,0x13dc},{0x03ac,0x0386,0x03ac,0x0386},{0x13ac,0x13ac,0xab7c,0x13ac},{0x03ad,0x0388,0x03ad,0x0388},
+{0x13ad,0x13ad,0xab7d,0x13ad},{0xabad,0x13dd,0xabad,0x13dd},{0x03ae,0x0389,0x03ae,0x0389},{0x13ae,0x13ae,0xab7e,0x13ae},
+{0xabae,0x13de,0xabae,0x13de},{0x13af,0x13af,0xab7f,0x13af},{0xabaf,0x13df,0xabaf,0x13df},{0x03af,0x038a,0x03af,0x038a},
+{0x13b0,0x13b0,0xab80,0x13b0},{0xabb0,0x13e0,0xabb0,0x13e0},{0xabb1,0x13e1,0xabb1,0x13e1},{0x03b1,0x0391,0x03b1,0x0391},
+{0x13b1,0x13b1,0xab81,0x13b1},{0xabb2,0x13e2,0xabb2,0x13e2},{0x13b2,0x13b2,0xab82,0x13b2},{0x03b2,0x0392,0x03b2,0x0392},
{0x03b3,0x0393,0x03b3,0x0393},{0xabb3,0x13e3,0xabb3,0x13e3},{0x13b3,0x13b3,0xab83,0x13b3},{0x13b4,0x13b4,0xab84,0x13b4},
-{0xabb4,0x13e4,0xabb4,0x13e4},{0x03b4,0x0394,0x03b4,0x0394},{0x13b5,0x13b5,0xab85,0x13b5},{0x03b5,0x0395,0x03b5,0x0395},
-{0xabb5,0x13e5,0xabb5,0x13e5},{0x13b6,0x13b6,0xab86,0x13b6},{0xabb6,0x13e6,0xabb6,0x13e6},{0x03b6,0x0396,0x03b6,0x0396},
+{0xabb4,0x13e4,0xabb4,0x13e4},{0x03b4,0x0394,0x03b4,0x0394},{0x03b5,0x0395,0x03b5,0x0395},{0xabb5,0x13e5,0xabb5,0x13e5},
+{0x13b5,0x13b5,0xab85,0x13b5},{0x13b6,0x13b6,0xab86,0x13b6},{0xabb6,0x13e6,0xabb6,0x13e6},{0x03b6,0x0396,0x03b6,0x0396},
{0x03b7,0x0397,0x03b7,0x0397},{0xabb7,0x13e7,0xabb7,0x13e7},{0x13b7,0x13b7,0xab87,0x13b7},{0x03b8,0x0398,0x03b8,0x0398},
-{0x13b8,0x13b8,0xab88,0x13b8},{0xabb8,0x13e8,0xabb8,0x13e8},{0xabb9,0x13e9,0xabb9,0x13e9},{0x13b9,0x13b9,0xab89,0x13b9},
-{0x03b9,0x0399,0x03b9,0x0399},{0x03ba,0x039a,0x03ba,0x039a},{0x13ba,0x13ba,0xab8a,0x13ba},{0xabba,0x13ea,0xabba,0x13ea},
-{0xabbb,0x13eb,0xabbb,0x13eb},{0x03bb,0x039b,0x03bb,0x039b},{0x13bb,0x13bb,0xab8b,0x13bb},{0xabbc,0x13ec,0xabbc,0x13ec},
+{0x13b8,0x13b8,0xab88,0x13b8},{0xabb8,0x13e8,0xabb8,0x13e8},{0xabb9,0x13e9,0xabb9,0x13e9},{0x03b9,0x0399,0x03b9,0x0399},
+{0x13b9,0x13b9,0xab89,0x13b9},{0x03ba,0x039a,0x03ba,0x039a},{0xabba,0x13ea,0xabba,0x13ea},{0x13ba,0x13ba,0xab8a,0x13ba},
+{0xabbb,0x13eb,0xabbb,0x13eb},{0x13bb,0x13bb,0xab8b,0x13bb},{0x03bb,0x039b,0x03bb,0x039b},{0xabbc,0x13ec,0xabbc,0x13ec},
{0x13bc,0x13bc,0xab8c,0x13bc},{0x03bc,0x039c,0x03bc,0x039c},{0x03bd,0x039d,0x03bd,0x039d},{0x13bd,0x13bd,0xab8d,0x13bd},
-{0xabbd,0x13ed,0xabbd,0x13ed},{0x03be,0x039e,0x03be,0x039e},{0x13be,0x13be,0xab8e,0x13be},{0xabbe,0x13ee,0xabbe,0x13ee},
-{0x13bf,0x13bf,0xab8f,0x13bf},{0x03bf,0x039f,0x03bf,0x039f},{0xabbf,0x13ef,0xabbf,0x13ef},{0x13c0,0x13c0,0xab90,0x13c0},
-{0x03c0,0x03a0,0x03c0,0x03a0},{0x13c1,0x13c1,0xab91,0x13c1},{0x03c1,0x03a1,0x03c1,0x03a1},{0x13c2,0x13c2,0xab92,0x13c2},
-{0x03c2,0x03a3,0x03c2,0x03a3},{0x13c3,0x13c3,0xab93,0x13c3},{0x03c3,0x03a3,0x03c3,0x03a3},{0x03c4,0x03a4,0x03c4,0x03a4},
-{0x13c4,0x13c4,0xab94,0x13c4},{0x13c5,0x13c5,0xab95,0x13c5},{0x03c5,0x03a5,0x03c5,0x03a5},{0x03c6,0x03a6,0x03c6,0x03a6},
-{0x13c6,0x13c6,0xab96,0x13c6},{0x03c7,0x03a7,0x03c7,0x03a7},{0x13c7,0x13c7,0xab97,0x13c7},{0x13c8,0x13c8,0xab98,0x13c8},
-{0x03c8,0x03a8,0x03c8,0x03a8},{0x03c9,0x03a9,0x03c9,0x03a9},{0x13c9,0x13c9,0xab99,0x13c9},{0x13ca,0x13ca,0xab9a,0x13ca},
-{0x03ca,0x03aa,0x03ca,0x03aa},{0x13cb,0x13cb,0xab9b,0x13cb},{0x03cb,0x03ab,0x03cb,0x03ab},{0x13cc,0x13cc,0xab9c,0x13cc},
-{0x03cc,0x038c,0x03cc,0x038c},{0x13cd,0x13cd,0xab9d,0x13cd},{0x03cd,0x038e,0x03cd,0x038e},{0x03ce,0x038f,0x03ce,0x038f},
-{0x13ce,0x13ce,0xab9e,0x13ce},{0x03cf,0x03cf,0x03d7,0x03cf},{0x13cf,0x13cf,0xab9f,0x13cf},{0x03d0,0x0392,0x03d0,0x0392},
+{0xabbd,0x13ed,0xabbd,0x13ed},{0xabbe,0x13ee,0xabbe,0x13ee},{0x13be,0x13be,0xab8e,0x13be},{0x03be,0x039e,0x03be,0x039e},
+{0xabbf,0x13ef,0xabbf,0x13ef},{0x03bf,0x039f,0x03bf,0x039f},{0x13bf,0x13bf,0xab8f,0x13bf},{0x03c0,0x03a0,0x03c0,0x03a0},
+{0x13c0,0x13c0,0xab90,0x13c0},{0x13c1,0x13c1,0xab91,0x13c1},{0x03c1,0x03a1,0x03c1,0x03a1},{0x03c2,0x03a3,0x03c2,0x03a3},
+{0x13c2,0x13c2,0xab92,0x13c2},{0x13c3,0x13c3,0xab93,0x13c3},{0x03c3,0x03a3,0x03c3,0x03a3},{0x03c4,0x03a4,0x03c4,0x03a4},
+{0x13c4,0x13c4,0xab94,0x13c4},{0x13c5,0x13c5,0xab95,0x13c5},{0x03c5,0x03a5,0x03c5,0x03a5},{0x13c6,0x13c6,0xab96,0x13c6},
+{0x03c6,0x03a6,0x03c6,0x03a6},{0x03c7,0x03a7,0x03c7,0x03a7},{0x13c7,0x13c7,0xab97,0x13c7},{0x03c8,0x03a8,0x03c8,0x03a8},
+{0x13c8,0x13c8,0xab98,0x13c8},{0x03c9,0x03a9,0x03c9,0x03a9},{0x13c9,0x13c9,0xab99,0x13c9},{0x03ca,0x03aa,0x03ca,0x03aa},
+{0x13ca,0x13ca,0xab9a,0x13ca},{0x13cb,0x13cb,0xab9b,0x13cb},{0x03cb,0x03ab,0x03cb,0x03ab},{0x13cc,0x13cc,0xab9c,0x13cc},
+{0x03cc,0x038c,0x03cc,0x038c},{0x13cd,0x13cd,0xab9d,0x13cd},{0x03cd,0x038e,0x03cd,0x038e},{0x13ce,0x13ce,0xab9e,0x13ce},
+{0x03ce,0x038f,0x03ce,0x038f},{0x03cf,0x03cf,0x03d7,0x03cf},{0x13cf,0x13cf,0xab9f,0x13cf},{0x03d0,0x0392,0x03d0,0x0392},
{0x13d0,0x13d0,0xaba0,0x13d0},{0x13d1,0x13d1,0xaba1,0x13d1},{0x03d1,0x0398,0x03d1,0x0398},{0x13d2,0x13d2,0xaba2,0x13d2},
{0x13d3,0x13d3,0xaba3,0x13d3},{0x13d4,0x13d4,0xaba4,0x13d4},{0x03d5,0x03a6,0x03d5,0x03a6},{0x13d5,0x13d5,0xaba5,0x13d5},
-{0x03d6,0x03a0,0x03d6,0x03a0},{0x13d6,0x13d6,0xaba6,0x13d6},{0x13d7,0x13d7,0xaba7,0x13d7},{0x03d7,0x03cf,0x03d7,0x03cf},
-{0x03d8,0x03d8,0x03d9,0x03d8},{0x13d8,0x13d8,0xaba8,0x13d8},{0x13d9,0x13d9,0xaba9,0x13d9},{0x03d9,0x03d8,0x03d9,0x03d8},
+{0x03d6,0x03a0,0x03d6,0x03a0},{0x13d6,0x13d6,0xaba6,0x13d6},{0x03d7,0x03cf,0x03d7,0x03cf},{0x13d7,0x13d7,0xaba7,0x13d7},
+{0x03d8,0x03d8,0x03d9,0x03d8},{0x13d8,0x13d8,0xaba8,0x13d8},{0x03d9,0x03d8,0x03d9,0x03d8},{0x13d9,0x13d9,0xaba9,0x13d9},
{0x03da,0x03da,0x03db,0x03da},{0x13da,0x13da,0xabaa,0x13da},{0x13db,0x13db,0xabab,0x13db},{0x03db,0x03da,0x03db,0x03da},
-{0x13dc,0x13dc,0xabac,0x13dc},{0x03dc,0x03dc,0x03dd,0x03dc},{0x03dd,0x03dc,0x03dd,0x03dc},{0x13dd,0x13dd,0xabad,0x13dd},
-{0x13de,0x13de,0xabae,0x13de},{0x03de,0x03de,0x03df,0x03de},{0x03df,0x03de,0x03df,0x03de},{0x13df,0x13df,0xabaf,0x13df},
-{0x03e0,0x03e0,0x03e1,0x03e0},{0x13e0,0x13e0,0xabb0,0x13e0},{0x03e1,0x03e0,0x03e1,0x03e0},{0x13e1,0x13e1,0xabb1,0x13e1},
-{0x03e2,0x03e2,0x03e3,0x03e2},{0x13e2,0x13e2,0xabb2,0x13e2},{0x03e3,0x03e2,0x03e3,0x03e2},{0x13e3,0x13e3,0xabb3,0x13e3},
-{0x13e4,0x13e4,0xabb4,0x13e4},{0x03e4,0x03e4,0x03e5,0x03e4},{0x13e5,0x13e5,0xabb5,0x13e5},{0x03e5,0x03e4,0x03e5,0x03e4},
-{0x13e6,0x13e6,0xabb6,0x13e6},{0x03e6,0x03e6,0x03e7,0x03e6},{0x13e7,0x13e7,0xabb7,0x13e7},{0x03e7,0x03e6,0x03e7,0x03e6},
-{0x03e8,0x03e8,0x03e9,0x03e8},{0x13e8,0x13e8,0xabb8,0x13e8},{0x03e9,0x03e8,0x03e9,0x03e8},{0x13e9,0x13e9,0xabb9,0x13e9},
-{0x03ea,0x03ea,0x03eb,0x03ea},{0x13ea,0x13ea,0xabba,0x13ea},{0x13eb,0x13eb,0xabbb,0x13eb},{0x03eb,0x03ea,0x03eb,0x03ea},
-{0x03ec,0x03ec,0x03ed,0x03ec},{0x13ec,0x13ec,0xabbc,0x13ec},{0x13ed,0x13ed,0xabbd,0x13ed},{0x03ed,0x03ec,0x03ed,0x03ec},
-{0x13ee,0x13ee,0xabbe,0x13ee},{0x03ee,0x03ee,0x03ef,0x03ee},{0x13ef,0x13ef,0xabbf,0x13ef},{0x03ef,0x03ee,0x03ef,0x03ee},
-{0x13f0,0x13f0,0x13f8,0x13f0},{0x03f0,0x039a,0x03f0,0x039a},{0x13f1,0x13f1,0x13f9,0x13f1},{0x03f1,0x03a1,0x03f1,0x03a1},
-{0x03f2,0x03f9,0x03f2,0x03f9},{0x13f2,0x13f2,0x13fa,0x13f2},{0x13f3,0x13f3,0x13fb,0x13f3},{0x03f3,0x037f,0x03f3,0x037f},
+{0x03dc,0x03dc,0x03dd,0x03dc},{0x13dc,0x13dc,0xabac,0x13dc},{0x03dd,0x03dc,0x03dd,0x03dc},{0x13dd,0x13dd,0xabad,0x13dd},
+{0x03de,0x03de,0x03df,0x03de},{0x13de,0x13de,0xabae,0x13de},{0x13df,0x13df,0xabaf,0x13df},{0x03df,0x03de,0x03df,0x03de},
+{0x13e0,0x13e0,0xabb0,0x13e0},{0x03e0,0x03e0,0x03e1,0x03e0},{0x13e1,0x13e1,0xabb1,0x13e1},{0x03e1,0x03e0,0x03e1,0x03e0},
+{0x13e2,0x13e2,0xabb2,0x13e2},{0x03e2,0x03e2,0x03e3,0x03e2},{0x03e3,0x03e2,0x03e3,0x03e2},{0x13e3,0x13e3,0xabb3,0x13e3},
+{0x03e4,0x03e4,0x03e5,0x03e4},{0x13e4,0x13e4,0xabb4,0x13e4},{0x13e5,0x13e5,0xabb5,0x13e5},{0x03e5,0x03e4,0x03e5,0x03e4},
+{0x03e6,0x03e6,0x03e7,0x03e6},{0x13e6,0x13e6,0xabb6,0x13e6},{0x13e7,0x13e7,0xabb7,0x13e7},{0x03e7,0x03e6,0x03e7,0x03e6},
+{0x13e8,0x13e8,0xabb8,0x13e8},{0x03e8,0x03e8,0x03e9,0x03e8},{0x03e9,0x03e8,0x03e9,0x03e8},{0x13e9,0x13e9,0xabb9,0x13e9},
+{0x03ea,0x03ea,0x03eb,0x03ea},{0x13ea,0x13ea,0xabba,0x13ea},{0x03eb,0x03ea,0x03eb,0x03ea},{0x13eb,0x13eb,0xabbb,0x13eb},
+{0x13ec,0x13ec,0xabbc,0x13ec},{0x03ec,0x03ec,0x03ed,0x03ec},{0x13ed,0x13ed,0xabbd,0x13ed},{0x03ed,0x03ec,0x03ed,0x03ec},
+{0x13ee,0x13ee,0xabbe,0x13ee},{0x03ee,0x03ee,0x03ef,0x03ee},{0x03ef,0x03ee,0x03ef,0x03ee},{0x13ef,0x13ef,0xabbf,0x13ef},
+{0x13f0,0x13f0,0x13f8,0x13f0},{0x03f0,0x039a,0x03f0,0x039a},{0x03f1,0x03a1,0x03f1,0x03a1},{0x13f1,0x13f1,0x13f9,0x13f1},
+{0x13f2,0x13f2,0x13fa,0x13f2},{0x03f2,0x03f9,0x03f2,0x03f9},{0x03f3,0x037f,0x03f3,0x037f},{0x13f3,0x13f3,0x13fb,0x13f3},
{0x03f4,0x03f4,0x03b8,0x03f4},{0x13f4,0x13f4,0x13fc,0x13f4},{0x03f5,0x0395,0x03f5,0x0395},{0x13f5,0x13f5,0x13fd,0x13f5},
-{0x03f7,0x03f7,0x03f8,0x03f7},{0x03f8,0x03f7,0x03f8,0x03f7},{0x13f8,0x13f0,0x13f8,0x13f0},{0x03f9,0x03f9,0x03f2,0x03f9},
-{0x13f9,0x13f1,0x13f9,0x13f1},{0x13fa,0x13f2,0x13fa,0x13f2},{0x03fa,0x03fa,0x03fb,0x03fa},{0x13fb,0x13f3,0x13fb,0x13f3},
-{0x03fb,0x03fa,0x03fb,0x03fa},{0x13fc,0x13f4,0x13fc,0x13f4},{0x03fd,0x03fd,0x037b,0x03fd},{0x13fd,0x13f5,0x13fd,0x13f5},
+{0x03f7,0x03f7,0x03f8,0x03f7},{0x13f8,0x13f0,0x13f8,0x13f0},{0x03f8,0x03f7,0x03f8,0x03f7},{0x13f9,0x13f1,0x13f9,0x13f1},
+{0x03f9,0x03f9,0x03f2,0x03f9},{0x13fa,0x13f2,0x13fa,0x13f2},{0x03fa,0x03fa,0x03fb,0x03fa},{0x03fb,0x03fa,0x03fb,0x03fa},
+{0x13fb,0x13f3,0x13fb,0x13f3},{0x13fc,0x13f4,0x13fc,0x13f4},{0x13fd,0x13f5,0x13fd,0x13f5},{0x03fd,0x03fd,0x037b,0x03fd},
{0x03fe,0x03fe,0x037c,0x03fe},{0x03ff,0x03ff,0x037d,0x03ff},{0x0400,0x0400,0x0450,0x0400},{0x2c00,0x2c00,0x2c30,0x2c00},
-{0x10400,0x10400,0x10428,0x10400},{0x0401,0x0401,0x0451,0x0401},{0x10401,0x10401,0x10429,0x10401},{0x2c01,0x2c01,0x2c31,0x2c01},
+{0x10400,0x10400,0x10428,0x10400},{0x2c01,0x2c01,0x2c31,0x2c01},{0x0401,0x0401,0x0451,0x0401},{0x10401,0x10401,0x10429,0x10401},
{0x0402,0x0402,0x0452,0x0402},{0x10402,0x10402,0x1042a,0x10402},{0x2c02,0x2c02,0x2c32,0x2c02},{0x10403,0x10403,0x1042b,0x10403},
-{0x0403,0x0403,0x0453,0x0403},{0x2c03,0x2c03,0x2c33,0x2c03},{0x0404,0x0404,0x0454,0x0404},{0x2c04,0x2c04,0x2c34,0x2c04},
-{0x10404,0x10404,0x1042c,0x10404},{0x0405,0x0405,0x0455,0x0405},{0x10405,0x10405,0x1042d,0x10405},{0x2c05,0x2c05,0x2c35,0x2c05},
-{0x10406,0x10406,0x1042e,0x10406},{0x0406,0x0406,0x0456,0x0406},{0x2c06,0x2c06,0x2c36,0x2c06},{0x0407,0x0407,0x0457,0x0407},
-{0x2c07,0x2c07,0x2c37,0x2c07},{0x10407,0x10407,0x1042f,0x10407},{0x0408,0x0408,0x0458,0x0408},{0x2c08,0x2c08,0x2c38,0x2c08},
-{0x10408,0x10408,0x10430,0x10408},{0x2c09,0x2c09,0x2c39,0x2c09},{0x0409,0x0409,0x0459,0x0409},{0x10409,0x10409,0x10431,0x10409},
-{0x1040a,0x1040a,0x10432,0x1040a},{0x040a,0x040a,0x045a,0x040a},{0x2c0a,0x2c0a,0x2c3a,0x2c0a},{0x1040b,0x1040b,0x10433,0x1040b},
-{0x040b,0x040b,0x045b,0x040b},{0x2c0b,0x2c0b,0x2c3b,0x2c0b},{0x040c,0x040c,0x045c,0x040c},{0x2c0c,0x2c0c,0x2c3c,0x2c0c},
-{0x1040c,0x1040c,0x10434,0x1040c},{0x040d,0x040d,0x045d,0x040d},{0x1040d,0x1040d,0x10435,0x1040d},{0x2c0d,0x2c0d,0x2c3d,0x2c0d},
-{0x040e,0x040e,0x045e,0x040e},{0x2c0e,0x2c0e,0x2c3e,0x2c0e},{0x1040e,0x1040e,0x10436,0x1040e},{0x2c0f,0x2c0f,0x2c3f,0x2c0f},
-{0x1040f,0x1040f,0x10437,0x1040f},{0x040f,0x040f,0x045f,0x040f},{0x2c10,0x2c10,0x2c40,0x2c10},{0x0410,0x0410,0x0430,0x0410},
-{0x10410,0x10410,0x10438,0x10410},{0x2c11,0x2c11,0x2c41,0x2c11},{0x10411,0x10411,0x10439,0x10411},{0x0411,0x0411,0x0431,0x0411},
-{0x2c12,0x2c12,0x2c42,0x2c12},{0x10412,0x10412,0x1043a,0x10412},{0x0412,0x0412,0x0432,0x0412},{0x10413,0x10413,0x1043b,0x10413},
-{0x2c13,0x2c13,0x2c43,0x2c13},{0x0413,0x0413,0x0433,0x0413},{0x10414,0x10414,0x1043c,0x10414},{0x2c14,0x2c14,0x2c44,0x2c14},
-{0x0414,0x0414,0x0434,0x0414},{0x0415,0x0415,0x0435,0x0415},{0x2c15,0x2c15,0x2c45,0x2c15},{0x10415,0x10415,0x1043d,0x10415},
-{0x10416,0x10416,0x1043e,0x10416},{0x2c16,0x2c16,0x2c46,0x2c16},{0x0416,0x0416,0x0436,0x0416},{0x2c17,0x2c17,0x2c47,0x2c17},
-{0x10417,0x10417,0x1043f,0x10417},{0x0417,0x0417,0x0437,0x0417},{0x10418,0x10418,0x10440,0x10418},{0x0418,0x0418,0x0438,0x0418},
-{0x2c18,0x2c18,0x2c48,0x2c18},{0x2c19,0x2c19,0x2c49,0x2c19},{0x10419,0x10419,0x10441,0x10419},{0x0419,0x0419,0x0439,0x0419},
-{0x041a,0x041a,0x043a,0x041a},{0x2c1a,0x2c1a,0x2c4a,0x2c1a},{0x1041a,0x1041a,0x10442,0x1041a},{0x1041b,0x1041b,0x10443,0x1041b},
-{0x2c1b,0x2c1b,0x2c4b,0x2c1b},{0x041b,0x041b,0x043b,0x041b},{0x041c,0x041c,0x043c,0x041c},{0x2c1c,0x2c1c,0x2c4c,0x2c1c},
-{0x1041c,0x1041c,0x10444,0x1041c},{0x041d,0x041d,0x043d,0x041d},{0x1041d,0x1041d,0x10445,0x1041d},{0x2c1d,0x2c1d,0x2c4d,0x2c1d},
-{0x041e,0x041e,0x043e,0x041e},{0x1041e,0x1041e,0x10446,0x1041e},{0x2c1e,0x2c1e,0x2c4e,0x2c1e},{0x2c1f,0x2c1f,0x2c4f,0x2c1f},
-{0x1041f,0x1041f,0x10447,0x1041f},{0x041f,0x041f,0x043f,0x041f},{0x0420,0x0420,0x0440,0x0420},{0x10420,0x10420,0x10448,0x10420},
-{0x2c20,0x2c20,0x2c50,0x2c20},{0x10421,0x10421,0x10449,0x10421},{0x0421,0x0421,0x0441,0x0421},{0x2c21,0x2c21,0x2c51,0x2c21},
-{0x0422,0x0422,0x0442,0x0422},{0x2c22,0x2c22,0x2c52,0x2c22},{0x10422,0x10422,0x1044a,0x10422},{0x10423,0x10423,0x1044b,0x10423},
-{0x2c23,0x2c23,0x2c53,0x2c23},{0x0423,0x0423,0x0443,0x0423},{0x2c24,0x2c24,0x2c54,0x2c24},{0x0424,0x0424,0x0444,0x0424},
-{0x10424,0x10424,0x1044c,0x10424},{0x10425,0x10425,0x1044d,0x10425},{0x2c25,0x2c25,0x2c55,0x2c25},{0x0425,0x0425,0x0445,0x0425},
-{0x10426,0x10426,0x1044e,0x10426},{0x0426,0x0426,0x0446,0x0426},{0x2c26,0x2c26,0x2c56,0x2c26},{0x0427,0x0427,0x0447,0x0427},
-{0x10427,0x10427,0x1044f,0x10427},{0x2c27,0x2c27,0x2c57,0x2c27},{0x2c28,0x2c28,0x2c58,0x2c28},{0x0428,0x0428,0x0448,0x0428},
-{0x10428,0x10400,0x10428,0x10400},{0x0429,0x0429,0x0449,0x0429},{0x2c29,0x2c29,0x2c59,0x2c29},{0x10429,0x10401,0x10429,0x10401},
-{0x042a,0x042a,0x044a,0x042a},{0x1042a,0x10402,0x1042a,0x10402},{0x2c2a,0x2c2a,0x2c5a,0x2c2a},{0x1042b,0x10403,0x1042b,0x10403},
-{0x042b,0x042b,0x044b,0x042b},{0x2c2b,0x2c2b,0x2c5b,0x2c2b},{0x042c,0x042c,0x044c,0x042c},{0x1042c,0x10404,0x1042c,0x10404},
-{0x2c2c,0x2c2c,0x2c5c,0x2c2c},{0x042d,0x042d,0x044d,0x042d},{0x2c2d,0x2c2d,0x2c5d,0x2c2d},{0x1042d,0x10405,0x1042d,0x10405},
-{0x042e,0x042e,0x044e,0x042e},{0x1042e,0x10406,0x1042e,0x10406},{0x2c2e,0x2c2e,0x2c5e,0x2c2e},{0x1042f,0x10407,0x1042f,0x10407},
-{0x042f,0x042f,0x044f,0x042f},{0x2c30,0x2c00,0x2c30,0x2c00},{0x10430,0x10408,0x10430,0x10408},{0x0430,0x0410,0x0430,0x0410},
+{0x0403,0x0403,0x0453,0x0403},{0x2c03,0x2c03,0x2c33,0x2c03},{0x10404,0x10404,0x1042c,0x10404},{0x0404,0x0404,0x0454,0x0404},
+{0x2c04,0x2c04,0x2c34,0x2c04},{0x10405,0x10405,0x1042d,0x10405},{0x0405,0x0405,0x0455,0x0405},{0x2c05,0x2c05,0x2c35,0x2c05},
+{0x10406,0x10406,0x1042e,0x10406},{0x2c06,0x2c06,0x2c36,0x2c06},{0x0406,0x0406,0x0456,0x0406},{0x0407,0x0407,0x0457,0x0407},
+{0x2c07,0x2c07,0x2c37,0x2c07},{0x10407,0x10407,0x1042f,0x10407},{0x0408,0x0408,0x0458,0x0408},{0x10408,0x10408,0x10430,0x10408},
+{0x2c08,0x2c08,0x2c38,0x2c08},{0x2c09,0x2c09,0x2c39,0x2c09},{0x0409,0x0409,0x0459,0x0409},{0x10409,0x10409,0x10431,0x10409},
+{0x1040a,0x1040a,0x10432,0x1040a},{0x2c0a,0x2c0a,0x2c3a,0x2c0a},{0x040a,0x040a,0x045a,0x040a},{0x1040b,0x1040b,0x10433,0x1040b},
+{0x040b,0x040b,0x045b,0x040b},{0x2c0b,0x2c0b,0x2c3b,0x2c0b},{0x2c0c,0x2c0c,0x2c3c,0x2c0c},{0x1040c,0x1040c,0x10434,0x1040c},
+{0x040c,0x040c,0x045c,0x040c},{0x2c0d,0x2c0d,0x2c3d,0x2c0d},{0x040d,0x040d,0x045d,0x040d},{0x1040d,0x1040d,0x10435,0x1040d},
+{0x2c0e,0x2c0e,0x2c3e,0x2c0e},{0x040e,0x040e,0x045e,0x040e},{0x1040e,0x1040e,0x10436,0x1040e},{0x2c0f,0x2c0f,0x2c3f,0x2c0f},
+{0x040f,0x040f,0x045f,0x040f},{0x1040f,0x1040f,0x10437,0x1040f},{0x0410,0x0410,0x0430,0x0410},{0x10410,0x10410,0x10438,0x10410},
+{0x2c10,0x2c10,0x2c40,0x2c10},{0x2c11,0x2c11,0x2c41,0x2c11},{0x10411,0x10411,0x10439,0x10411},{0x0411,0x0411,0x0431,0x0411},
+{0x10412,0x10412,0x1043a,0x10412},{0x2c12,0x2c12,0x2c42,0x2c12},{0x0412,0x0412,0x0432,0x0412},{0x2c13,0x2c13,0x2c43,0x2c13},
+{0x0413,0x0413,0x0433,0x0413},{0x10413,0x10413,0x1043b,0x10413},{0x10414,0x10414,0x1043c,0x10414},{0x0414,0x0414,0x0434,0x0414},
+{0x2c14,0x2c14,0x2c44,0x2c14},{0x0415,0x0415,0x0435,0x0415},{0x10415,0x10415,0x1043d,0x10415},{0x2c15,0x2c15,0x2c45,0x2c15},
+{0x2c16,0x2c16,0x2c46,0x2c16},{0x10416,0x10416,0x1043e,0x10416},{0x0416,0x0416,0x0436,0x0416},{0x2c17,0x2c17,0x2c47,0x2c17},
+{0x10417,0x10417,0x1043f,0x10417},{0x0417,0x0417,0x0437,0x0417},{0x2c18,0x2c18,0x2c48,0x2c18},{0x0418,0x0418,0x0438,0x0418},
+{0x10418,0x10418,0x10440,0x10418},{0x2c19,0x2c19,0x2c49,0x2c19},{0x10419,0x10419,0x10441,0x10419},{0x0419,0x0419,0x0439,0x0419},
+{0x2c1a,0x2c1a,0x2c4a,0x2c1a},{0x1041a,0x1041a,0x10442,0x1041a},{0x041a,0x041a,0x043a,0x041a},{0x2c1b,0x2c1b,0x2c4b,0x2c1b},
+{0x041b,0x041b,0x043b,0x041b},{0x1041b,0x1041b,0x10443,0x1041b},{0x041c,0x041c,0x043c,0x041c},{0x1041c,0x1041c,0x10444,0x1041c},
+{0x2c1c,0x2c1c,0x2c4c,0x2c1c},{0x041d,0x041d,0x043d,0x041d},{0x2c1d,0x2c1d,0x2c4d,0x2c1d},{0x1041d,0x1041d,0x10445,0x1041d},
+{0x1041e,0x1041e,0x10446,0x1041e},{0x2c1e,0x2c1e,0x2c4e,0x2c1e},{0x041e,0x041e,0x043e,0x041e},{0x1041f,0x1041f,0x10447,0x1041f},
+{0x041f,0x041f,0x043f,0x041f},{0x2c1f,0x2c1f,0x2c4f,0x2c1f},{0x2c20,0x2c20,0x2c50,0x2c20},{0x10420,0x10420,0x10448,0x10420},
+{0x0420,0x0420,0x0440,0x0420},{0x0421,0x0421,0x0441,0x0421},{0x2c21,0x2c21,0x2c51,0x2c21},{0x10421,0x10421,0x10449,0x10421},
+{0x2c22,0x2c22,0x2c52,0x2c22},{0x0422,0x0422,0x0442,0x0422},{0x10422,0x10422,0x1044a,0x10422},{0x0423,0x0423,0x0443,0x0423},
+{0x2c23,0x2c23,0x2c53,0x2c23},{0x10423,0x10423,0x1044b,0x10423},{0x0424,0x0424,0x0444,0x0424},{0x2c24,0x2c24,0x2c54,0x2c24},
+{0x10424,0x10424,0x1044c,0x10424},{0x0425,0x0425,0x0445,0x0425},{0x2c25,0x2c25,0x2c55,0x2c25},{0x10425,0x10425,0x1044d,0x10425},
+{0x0426,0x0426,0x0446,0x0426},{0x10426,0x10426,0x1044e,0x10426},{0x2c26,0x2c26,0x2c56,0x2c26},{0x2c27,0x2c27,0x2c57,0x2c27},
+{0x0427,0x0427,0x0447,0x0427},{0x10427,0x10427,0x1044f,0x10427},{0x2c28,0x2c28,0x2c58,0x2c28},{0x10428,0x10400,0x10428,0x10400},
+{0x0428,0x0428,0x0448,0x0428},{0x10429,0x10401,0x10429,0x10401},{0x0429,0x0429,0x0449,0x0429},{0x2c29,0x2c29,0x2c59,0x2c29},
+{0x2c2a,0x2c2a,0x2c5a,0x2c2a},{0x042a,0x042a,0x044a,0x042a},{0x1042a,0x10402,0x1042a,0x10402},{0x1042b,0x10403,0x1042b,0x10403},
+{0x042b,0x042b,0x044b,0x042b},{0x2c2b,0x2c2b,0x2c5b,0x2c2b},{0x2c2c,0x2c2c,0x2c5c,0x2c2c},{0x1042c,0x10404,0x1042c,0x10404},
+{0x042c,0x042c,0x044c,0x042c},{0x2c2d,0x2c2d,0x2c5d,0x2c2d},{0x042d,0x042d,0x044d,0x042d},{0x1042d,0x10405,0x1042d,0x10405},
+{0x2c2e,0x2c2e,0x2c5e,0x2c2e},{0x042e,0x042e,0x044e,0x042e},{0x1042e,0x10406,0x1042e,0x10406},{0x1042f,0x10407,0x1042f,0x10407},
+{0x042f,0x042f,0x044f,0x042f},{0x10430,0x10408,0x10430,0x10408},{0x2c30,0x2c00,0x2c30,0x2c00},{0x0430,0x0410,0x0430,0x0410},
{0x10431,0x10409,0x10431,0x10409},{0x2c31,0x2c01,0x2c31,0x2c01},{0x0431,0x0411,0x0431,0x0411},{0x0432,0x0412,0x0432,0x0412},
-{0x10432,0x1040a,0x10432,0x1040a},{0x2c32,0x2c02,0x2c32,0x2c02},{0x0433,0x0413,0x0433,0x0413},{0x10433,0x1040b,0x10433,0x1040b},
-{0x2c33,0x2c03,0x2c33,0x2c03},{0x10434,0x1040c,0x10434,0x1040c},{0x0434,0x0414,0x0434,0x0414},{0x2c34,0x2c04,0x2c34,0x2c04},
+{0x10432,0x1040a,0x10432,0x1040a},{0x2c32,0x2c02,0x2c32,0x2c02},{0x0433,0x0413,0x0433,0x0413},{0x2c33,0x2c03,0x2c33,0x2c03},
+{0x10433,0x1040b,0x10433,0x1040b},{0x0434,0x0414,0x0434,0x0414},{0x10434,0x1040c,0x10434,0x1040c},{0x2c34,0x2c04,0x2c34,0x2c04},
{0x10435,0x1040d,0x10435,0x1040d},{0x2c35,0x2c05,0x2c35,0x2c05},{0x0435,0x0415,0x0435,0x0415},{0x2c36,0x2c06,0x2c36,0x2c06},
-{0x0436,0x0416,0x0436,0x0416},{0x10436,0x1040e,0x10436,0x1040e},{0x2c37,0x2c07,0x2c37,0x2c07},{0x10437,0x1040f,0x10437,0x1040f},
+{0x10436,0x1040e,0x10436,0x1040e},{0x0436,0x0416,0x0436,0x0416},{0x10437,0x1040f,0x10437,0x1040f},{0x2c37,0x2c07,0x2c37,0x2c07},
{0x0437,0x0417,0x0437,0x0417},{0x2c38,0x2c08,0x2c38,0x2c08},{0x10438,0x10410,0x10438,0x10410},{0x0438,0x0418,0x0438,0x0418},
-{0x2c39,0x2c09,0x2c39,0x2c09},{0x0439,0x0419,0x0439,0x0419},{0x10439,0x10411,0x10439,0x10411},{0x1043a,0x10412,0x1043a,0x10412},
-{0x2c3a,0x2c0a,0x2c3a,0x2c0a},{0x043a,0x041a,0x043a,0x041a},{0x2c3b,0x2c0b,0x2c3b,0x2c0b},{0x1043b,0x10413,0x1043b,0x10413},
-{0x043b,0x041b,0x043b,0x041b},{0x043c,0x041c,0x043c,0x041c},{0x2c3c,0x2c0c,0x2c3c,0x2c0c},{0x1043c,0x10414,0x1043c,0x10414},
-{0x043d,0x041d,0x043d,0x041d},{0x2c3d,0x2c0d,0x2c3d,0x2c0d},{0x1043d,0x10415,0x1043d,0x10415},{0x043e,0x041e,0x043e,0x041e},
-{0x2c3e,0x2c0e,0x2c3e,0x2c0e},{0x1043e,0x10416,0x1043e,0x10416},{0x2c3f,0x2c0f,0x2c3f,0x2c0f},{0x043f,0x041f,0x043f,0x041f},
-{0x1043f,0x10417,0x1043f,0x10417},{0x10440,0x10418,0x10440,0x10418},{0x0440,0x0420,0x0440,0x0420},{0x2c40,0x2c10,0x2c40,0x2c10},
-{0x10441,0x10419,0x10441,0x10419},{0x2c41,0x2c11,0x2c41,0x2c11},{0x0441,0x0421,0x0441,0x0421},{0x2c42,0x2c12,0x2c42,0x2c12},
-{0x10442,0x1041a,0x10442,0x1041a},{0x0442,0x0422,0x0442,0x0422},{0x0443,0x0423,0x0443,0x0423},{0x2c43,0x2c13,0x2c43,0x2c13},
-{0x10443,0x1041b,0x10443,0x1041b},{0x0444,0x0424,0x0444,0x0424},{0x2c44,0x2c14,0x2c44,0x2c14},{0x10444,0x1041c,0x10444,0x1041c},
-{0x2c45,0x2c15,0x2c45,0x2c15},{0x10445,0x1041d,0x10445,0x1041d},{0x0445,0x0425,0x0445,0x0425},{0x10446,0x1041e,0x10446,0x1041e},
-{0x0446,0x0426,0x0446,0x0426},{0x2c46,0x2c16,0x2c46,0x2c16},{0x2c47,0x2c17,0x2c47,0x2c17},{0x10447,0x1041f,0x10447,0x1041f},
-{0x0447,0x0427,0x0447,0x0427},{0x0448,0x0428,0x0448,0x0428},{0x2c48,0x2c18,0x2c48,0x2c18},{0x10448,0x10420,0x10448,0x10420},
-{0x2c49,0x2c19,0x2c49,0x2c19},{0x0449,0x0429,0x0449,0x0429},{0x10449,0x10421,0x10449,0x10421},{0x2c4a,0x2c1a,0x2c4a,0x2c1a},
-{0x044a,0x042a,0x044a,0x042a},{0x1044a,0x10422,0x1044a,0x10422},{0x1044b,0x10423,0x1044b,0x10423},{0x044b,0x042b,0x044b,0x042b},
-{0x2c4b,0x2c1b,0x2c4b,0x2c1b},{0x1044c,0x10424,0x1044c,0x10424},{0x044c,0x042c,0x044c,0x042c},{0x2c4c,0x2c1c,0x2c4c,0x2c1c},
-{0x2c4d,0x2c1d,0x2c4d,0x2c1d},{0x1044d,0x10425,0x1044d,0x10425},{0x044d,0x042d,0x044d,0x042d},{0x2c4e,0x2c1e,0x2c4e,0x2c1e},
-{0x044e,0x042e,0x044e,0x042e},{0x1044e,0x10426,0x1044e,0x10426},{0x1044f,0x10427,0x1044f,0x10427},{0x044f,0x042f,0x044f,0x042f},
-{0x2c4f,0x2c1f,0x2c4f,0x2c1f},{0x0450,0x0400,0x0450,0x0400},{0x2c50,0x2c20,0x2c50,0x2c20},{0x2c51,0x2c21,0x2c51,0x2c21},
-{0x0451,0x0401,0x0451,0x0401},{0x0452,0x0402,0x0452,0x0402},{0x2c52,0x2c22,0x2c52,0x2c22},{0x2c53,0x2c23,0x2c53,0x2c23},
-{0x0453,0x0403,0x0453,0x0403},{0x2c54,0x2c24,0x2c54,0x2c24},{0x0454,0x0404,0x0454,0x0404},{0x0455,0x0405,0x0455,0x0405},
-{0x2c55,0x2c25,0x2c55,0x2c25},{0x0456,0x0406,0x0456,0x0406},{0x2c56,0x2c26,0x2c56,0x2c26},{0x0457,0x0407,0x0457,0x0407},
-{0x2c57,0x2c27,0x2c57,0x2c27},{0x2c58,0x2c28,0x2c58,0x2c28},{0x0458,0x0408,0x0458,0x0408},{0x0459,0x0409,0x0459,0x0409},
-{0x2c59,0x2c29,0x2c59,0x2c29},{0x2c5a,0x2c2a,0x2c5a,0x2c2a},{0x045a,0x040a,0x045a,0x040a},{0x045b,0x040b,0x045b,0x040b},
-{0x2c5b,0x2c2b,0x2c5b,0x2c2b},{0x2c5c,0x2c2c,0x2c5c,0x2c2c},{0x045c,0x040c,0x045c,0x040c},{0x2c5d,0x2c2d,0x2c5d,0x2c2d},
-{0x045d,0x040d,0x045d,0x040d},{0x045e,0x040e,0x045e,0x040e},{0x2c5e,0x2c2e,0x2c5e,0x2c2e},{0x045f,0x040f,0x045f,0x040f},
-{0x2c60,0x2c60,0x2c61,0x2c60},{0x0460,0x0460,0x0461,0x0460},{0x2c61,0x2c60,0x2c61,0x2c60},{0x0461,0x0460,0x0461,0x0460},
-{0x2c62,0x2c62,0x026b,0x2c62},{0x0462,0x0462,0x0463,0x0462},{0x0463,0x0462,0x0463,0x0462},{0x2c63,0x2c63,0x1d7d,0x2c63},
+{0x0439,0x0419,0x0439,0x0419},{0x2c39,0x2c09,0x2c39,0x2c09},{0x10439,0x10411,0x10439,0x10411},{0x043a,0x041a,0x043a,0x041a},
+{0x2c3a,0x2c0a,0x2c3a,0x2c0a},{0x1043a,0x10412,0x1043a,0x10412},{0x043b,0x041b,0x043b,0x041b},{0x1043b,0x10413,0x1043b,0x10413},
+{0x2c3b,0x2c0b,0x2c3b,0x2c0b},{0x1043c,0x10414,0x1043c,0x10414},{0x2c3c,0x2c0c,0x2c3c,0x2c0c},{0x043c,0x041c,0x043c,0x041c},
+{0x2c3d,0x2c0d,0x2c3d,0x2c0d},{0x1043d,0x10415,0x1043d,0x10415},{0x043d,0x041d,0x043d,0x041d},{0x1043e,0x10416,0x1043e,0x10416},
+{0x2c3e,0x2c0e,0x2c3e,0x2c0e},{0x043e,0x041e,0x043e,0x041e},{0x043f,0x041f,0x043f,0x041f},{0x1043f,0x10417,0x1043f,0x10417},
+{0x2c3f,0x2c0f,0x2c3f,0x2c0f},{0x0440,0x0420,0x0440,0x0420},{0x2c40,0x2c10,0x2c40,0x2c10},{0x10440,0x10418,0x10440,0x10418},
+{0x0441,0x0421,0x0441,0x0421},{0x10441,0x10419,0x10441,0x10419},{0x2c41,0x2c11,0x2c41,0x2c11},{0x0442,0x0422,0x0442,0x0422},
+{0x2c42,0x2c12,0x2c42,0x2c12},{0x10442,0x1041a,0x10442,0x1041a},{0x0443,0x0423,0x0443,0x0423},{0x10443,0x1041b,0x10443,0x1041b},
+{0x2c43,0x2c13,0x2c43,0x2c13},{0x2c44,0x2c14,0x2c44,0x2c14},{0x10444,0x1041c,0x10444,0x1041c},{0x0444,0x0424,0x0444,0x0424},
+{0x0445,0x0425,0x0445,0x0425},{0x10445,0x1041d,0x10445,0x1041d},{0x2c45,0x2c15,0x2c45,0x2c15},{0x10446,0x1041e,0x10446,0x1041e},
+{0x0446,0x0426,0x0446,0x0426},{0x2c46,0x2c16,0x2c46,0x2c16},{0x2c47,0x2c17,0x2c47,0x2c17},{0x0447,0x0427,0x0447,0x0427},
+{0x10447,0x1041f,0x10447,0x1041f},{0x10448,0x10420,0x10448,0x10420},{0x0448,0x0428,0x0448,0x0428},{0x2c48,0x2c18,0x2c48,0x2c18},
+{0x0449,0x0429,0x0449,0x0429},{0x2c49,0x2c19,0x2c49,0x2c19},{0x10449,0x10421,0x10449,0x10421},{0x1044a,0x10422,0x1044a,0x10422},
+{0x044a,0x042a,0x044a,0x042a},{0x2c4a,0x2c1a,0x2c4a,0x2c1a},{0x1044b,0x10423,0x1044b,0x10423},{0x044b,0x042b,0x044b,0x042b},
+{0x2c4b,0x2c1b,0x2c4b,0x2c1b},{0x044c,0x042c,0x044c,0x042c},{0x2c4c,0x2c1c,0x2c4c,0x2c1c},{0x1044c,0x10424,0x1044c,0x10424},
+{0x2c4d,0x2c1d,0x2c4d,0x2c1d},{0x044d,0x042d,0x044d,0x042d},{0x1044d,0x10425,0x1044d,0x10425},{0x044e,0x042e,0x044e,0x042e},
+{0x2c4e,0x2c1e,0x2c4e,0x2c1e},{0x1044e,0x10426,0x1044e,0x10426},{0x2c4f,0x2c1f,0x2c4f,0x2c1f},{0x044f,0x042f,0x044f,0x042f},
+{0x1044f,0x10427,0x1044f,0x10427},{0x0450,0x0400,0x0450,0x0400},{0x2c50,0x2c20,0x2c50,0x2c20},{0x0451,0x0401,0x0451,0x0401},
+{0x2c51,0x2c21,0x2c51,0x2c21},{0x2c52,0x2c22,0x2c52,0x2c22},{0x0452,0x0402,0x0452,0x0402},{0x2c53,0x2c23,0x2c53,0x2c23},
+{0x0453,0x0403,0x0453,0x0403},{0x2c54,0x2c24,0x2c54,0x2c24},{0x0454,0x0404,0x0454,0x0404},{0x2c55,0x2c25,0x2c55,0x2c25},
+{0x0455,0x0405,0x0455,0x0405},{0x0456,0x0406,0x0456,0x0406},{0x2c56,0x2c26,0x2c56,0x2c26},{0x2c57,0x2c27,0x2c57,0x2c27},
+{0x0457,0x0407,0x0457,0x0407},{0x0458,0x0408,0x0458,0x0408},{0x2c58,0x2c28,0x2c58,0x2c28},{0x2c59,0x2c29,0x2c59,0x2c29},
+{0x0459,0x0409,0x0459,0x0409},{0x2c5a,0x2c2a,0x2c5a,0x2c2a},{0x045a,0x040a,0x045a,0x040a},{0x045b,0x040b,0x045b,0x040b},
+{0x2c5b,0x2c2b,0x2c5b,0x2c2b},{0x2c5c,0x2c2c,0x2c5c,0x2c2c},{0x045c,0x040c,0x045c,0x040c},{0x045d,0x040d,0x045d,0x040d},
+{0x2c5d,0x2c2d,0x2c5d,0x2c2d},{0x2c5e,0x2c2e,0x2c5e,0x2c2e},{0x045e,0x040e,0x045e,0x040e},{0x045f,0x040f,0x045f,0x040f},
+{0x0460,0x0460,0x0461,0x0460},{0x2c60,0x2c60,0x2c61,0x2c60},{0x0461,0x0460,0x0461,0x0460},{0x2c61,0x2c60,0x2c61,0x2c60},
+{0x0462,0x0462,0x0463,0x0462},{0x2c62,0x2c62,0x026b,0x2c62},{0x2c63,0x2c63,0x1d7d,0x2c63},{0x0463,0x0462,0x0463,0x0462},
{0x2c64,0x2c64,0x027d,0x2c64},{0x0464,0x0464,0x0465,0x0464},{0x0465,0x0464,0x0465,0x0464},{0x2c65,0x023a,0x2c65,0x023a},
-{0x2c66,0x023e,0x2c66,0x023e},{0x0466,0x0466,0x0467,0x0466},{0x0467,0x0466,0x0467,0x0466},{0x2c67,0x2c67,0x2c68,0x2c67},
-{0x2c68,0x2c67,0x2c68,0x2c67},{0x0468,0x0468,0x0469,0x0468},{0x0469,0x0468,0x0469,0x0468},{0x2c69,0x2c69,0x2c6a,0x2c69},
+{0x2c66,0x023e,0x2c66,0x023e},{0x0466,0x0466,0x0467,0x0466},{0x2c67,0x2c67,0x2c68,0x2c67},{0x0467,0x0466,0x0467,0x0466},
+{0x2c68,0x2c67,0x2c68,0x2c67},{0x0468,0x0468,0x0469,0x0468},{0x2c69,0x2c69,0x2c6a,0x2c69},{0x0469,0x0468,0x0469,0x0468},
{0x2c6a,0x2c69,0x2c6a,0x2c69},{0x046a,0x046a,0x046b,0x046a},{0x046b,0x046a,0x046b,0x046a},{0x2c6b,0x2c6b,0x2c6c,0x2c6b},
-{0x2c6c,0x2c6b,0x2c6c,0x2c6b},{0x046c,0x046c,0x046d,0x046c},{0x2c6d,0x2c6d,0x0251,0x2c6d},{0x046d,0x046c,0x046d,0x046c},
-{0x2c6e,0x2c6e,0x0271,0x2c6e},{0x046e,0x046e,0x046f,0x046e},{0x046f,0x046e,0x046f,0x046e},{0x2c6f,0x2c6f,0x0250,0x2c6f},
-{0x2c70,0x2c70,0x0252,0x2c70},{0x0470,0x0470,0x0471,0x0470},{0x0471,0x0470,0x0471,0x0470},{0x2c72,0x2c72,0x2c73,0x2c72},
-{0x0472,0x0472,0x0473,0x0472},{0x2c73,0x2c72,0x2c73,0x2c72},{0x0473,0x0472,0x0473,0x0472},{0x0474,0x0474,0x0475,0x0474},
-{0x2c75,0x2c75,0x2c76,0x2c75},{0x0475,0x0474,0x0475,0x0474},{0x0476,0x0476,0x0477,0x0476},{0x2c76,0x2c75,0x2c76,0x2c75},
+{0x2c6c,0x2c6b,0x2c6c,0x2c6b},{0x046c,0x046c,0x046d,0x046c},{0x046d,0x046c,0x046d,0x046c},{0x2c6d,0x2c6d,0x0251,0x2c6d},
+{0x046e,0x046e,0x046f,0x046e},{0x2c6e,0x2c6e,0x0271,0x2c6e},{0x2c6f,0x2c6f,0x0250,0x2c6f},{0x046f,0x046e,0x046f,0x046e},
+{0x0470,0x0470,0x0471,0x0470},{0x2c70,0x2c70,0x0252,0x2c70},{0x0471,0x0470,0x0471,0x0470},{0x0472,0x0472,0x0473,0x0472},
+{0x2c72,0x2c72,0x2c73,0x2c72},{0x0473,0x0472,0x0473,0x0472},{0x2c73,0x2c72,0x2c73,0x2c72},{0x0474,0x0474,0x0475,0x0474},
+{0x0475,0x0474,0x0475,0x0474},{0x2c75,0x2c75,0x2c76,0x2c75},{0x2c76,0x2c75,0x2c76,0x2c75},{0x0476,0x0476,0x0477,0x0476},
{0x0477,0x0476,0x0477,0x0476},{0x0478,0x0478,0x0479,0x0478},{0x0479,0x0478,0x0479,0x0478},{0x047a,0x047a,0x047b,0x047a},
-{0x047b,0x047a,0x047b,0x047a},{0x047c,0x047c,0x047d,0x047c},{0x047d,0x047c,0x047d,0x047c},{0x2c7e,0x2c7e,0x023f,0x2c7e},
-{0x047e,0x047e,0x047f,0x047e},{0x047f,0x047e,0x047f,0x047e},{0x2c7f,0x2c7f,0x0240,0x2c7f},{0x10c80,0x10c80,0x10cc0,0x10c80},
-{0x2c80,0x2c80,0x2c81,0x2c80},{0x0480,0x0480,0x0481,0x0480},{0x2c81,0x2c80,0x2c81,0x2c80},{0x0481,0x0480,0x0481,0x0480},
-{0x10c81,0x10c81,0x10cc1,0x10c81},{0x10c82,0x10c82,0x10cc2,0x10c82},{0x2c82,0x2c82,0x2c83,0x2c82},{0x2c83,0x2c82,0x2c83,0x2c82},
-{0x10c83,0x10c83,0x10cc3,0x10c83},{0x2c84,0x2c84,0x2c85,0x2c84},{0x10c84,0x10c84,0x10cc4,0x10c84},{0x2c85,0x2c84,0x2c85,0x2c84},
-{0x10c85,0x10c85,0x10cc5,0x10c85},{0x10c86,0x10c86,0x10cc6,0x10c86},{0x2c86,0x2c86,0x2c87,0x2c86},{0x2c87,0x2c86,0x2c87,0x2c86},
-{0x10c87,0x10c87,0x10cc7,0x10c87},{0x10c88,0x10c88,0x10cc8,0x10c88},{0x2c88,0x2c88,0x2c89,0x2c88},{0x2c89,0x2c88,0x2c89,0x2c88},
-{0x10c89,0x10c89,0x10cc9,0x10c89},{0x048a,0x048a,0x048b,0x048a},{0x2c8a,0x2c8a,0x2c8b,0x2c8a},{0x10c8a,0x10c8a,0x10cca,0x10c8a},
-{0x10c8b,0x10c8b,0x10ccb,0x10c8b},{0x048b,0x048a,0x048b,0x048a},{0x2c8b,0x2c8a,0x2c8b,0x2c8a},{0x048c,0x048c,0x048d,0x048c},
-{0x2c8c,0x2c8c,0x2c8d,0x2c8c},{0x10c8c,0x10c8c,0x10ccc,0x10c8c},{0x2c8d,0x2c8c,0x2c8d,0x2c8c},{0x10c8d,0x10c8d,0x10ccd,0x10c8d},
-{0x048d,0x048c,0x048d,0x048c},{0x048e,0x048e,0x048f,0x048e},{0x2c8e,0x2c8e,0x2c8f,0x2c8e},{0x10c8e,0x10c8e,0x10cce,0x10c8e},
-{0x2c8f,0x2c8e,0x2c8f,0x2c8e},{0x10c8f,0x10c8f,0x10ccf,0x10c8f},{0x048f,0x048e,0x048f,0x048e},{0x10c90,0x10c90,0x10cd0,0x10c90},
-{0x0490,0x0490,0x0491,0x0490},{0x2c90,0x2c90,0x2c91,0x2c90},{0x0491,0x0490,0x0491,0x0490},{0x2c91,0x2c90,0x2c91,0x2c90},
-{0x10c91,0x10c91,0x10cd1,0x10c91},{0x0492,0x0492,0x0493,0x0492},{0x2c92,0x2c92,0x2c93,0x2c92},{0x10c92,0x10c92,0x10cd2,0x10c92},
-{0x10c93,0x10c93,0x10cd3,0x10c93},{0x2c93,0x2c92,0x2c93,0x2c92},{0x0493,0x0492,0x0493,0x0492},{0x10c94,0x10c94,0x10cd4,0x10c94},
-{0x2c94,0x2c94,0x2c95,0x2c94},{0x0494,0x0494,0x0495,0x0494},{0x0495,0x0494,0x0495,0x0494},{0x2c95,0x2c94,0x2c95,0x2c94},
-{0x10c95,0x10c95,0x10cd5,0x10c95},{0x0496,0x0496,0x0497,0x0496},{0x10c96,0x10c96,0x10cd6,0x10c96},{0x2c96,0x2c96,0x2c97,0x2c96},
-{0x0497,0x0496,0x0497,0x0496},{0x2c97,0x2c96,0x2c97,0x2c96},{0x10c97,0x10c97,0x10cd7,0x10c97},{0x0498,0x0498,0x0499,0x0498},
-{0x10c98,0x10c98,0x10cd8,0x10c98},{0x2c98,0x2c98,0x2c99,0x2c98},{0x2c99,0x2c98,0x2c99,0x2c98},{0x10c99,0x10c99,0x10cd9,0x10c99},
-{0x0499,0x0498,0x0499,0x0498},{0x049a,0x049a,0x049b,0x049a},{0x2c9a,0x2c9a,0x2c9b,0x2c9a},{0x10c9a,0x10c9a,0x10cda,0x10c9a},
-{0x10c9b,0x10c9b,0x10cdb,0x10c9b},{0x049b,0x049a,0x049b,0x049a},{0x2c9b,0x2c9a,0x2c9b,0x2c9a},{0x049c,0x049c,0x049d,0x049c},
-{0x10c9c,0x10c9c,0x10cdc,0x10c9c},{0x2c9c,0x2c9c,0x2c9d,0x2c9c},{0x2c9d,0x2c9c,0x2c9d,0x2c9c},{0x049d,0x049c,0x049d,0x049c},
-{0x10c9d,0x10c9d,0x10cdd,0x10c9d},{0x049e,0x049e,0x049f,0x049e},{0x2c9e,0x2c9e,0x2c9f,0x2c9e},{0x10c9e,0x10c9e,0x10cde,0x10c9e},
-{0x049f,0x049e,0x049f,0x049e},{0x2c9f,0x2c9e,0x2c9f,0x2c9e},{0x10c9f,0x10c9f,0x10cdf,0x10c9f},{0x04a0,0x04a0,0x04a1,0x04a0},
-{0x10ca0,0x10ca0,0x10ce0,0x10ca0},{0x2ca0,0x2ca0,0x2ca1,0x2ca0},{0x2ca1,0x2ca0,0x2ca1,0x2ca0},{0x10ca1,0x10ca1,0x10ce1,0x10ca1},
-{0x04a1,0x04a0,0x04a1,0x04a0},{0x2ca2,0x2ca2,0x2ca3,0x2ca2},{0x10ca2,0x10ca2,0x10ce2,0x10ca2},{0x04a2,0x04a2,0x04a3,0x04a2},
-{0x04a3,0x04a2,0x04a3,0x04a2},{0x10ca3,0x10ca3,0x10ce3,0x10ca3},{0x2ca3,0x2ca2,0x2ca3,0x2ca2},{0x10ca4,0x10ca4,0x10ce4,0x10ca4},
-{0x04a4,0x04a4,0x04a5,0x04a4},{0x2ca4,0x2ca4,0x2ca5,0x2ca4},{0x10ca5,0x10ca5,0x10ce5,0x10ca5},{0x2ca5,0x2ca4,0x2ca5,0x2ca4},
-{0x04a5,0x04a4,0x04a5,0x04a4},{0x10ca6,0x10ca6,0x10ce6,0x10ca6},{0x2ca6,0x2ca6,0x2ca7,0x2ca6},{0x04a6,0x04a6,0x04a7,0x04a6},
-{0x10ca7,0x10ca7,0x10ce7,0x10ca7},{0x2ca7,0x2ca6,0x2ca7,0x2ca6},{0x04a7,0x04a6,0x04a7,0x04a6},{0x04a8,0x04a8,0x04a9,0x04a8},
-{0x2ca8,0x2ca8,0x2ca9,0x2ca8},{0x10ca8,0x10ca8,0x10ce8,0x10ca8},{0x04a9,0x04a8,0x04a9,0x04a8},{0x10ca9,0x10ca9,0x10ce9,0x10ca9},
-{0x2ca9,0x2ca8,0x2ca9,0x2ca8},{0x2caa,0x2caa,0x2cab,0x2caa},{0x10caa,0x10caa,0x10cea,0x10caa},{0x04aa,0x04aa,0x04ab,0x04aa},
-{0x04ab,0x04aa,0x04ab,0x04aa},{0x2cab,0x2caa,0x2cab,0x2caa},{0x10cab,0x10cab,0x10ceb,0x10cab},{0x10cac,0x10cac,0x10cec,0x10cac},
-{0x04ac,0x04ac,0x04ad,0x04ac},{0x2cac,0x2cac,0x2cad,0x2cac},{0x04ad,0x04ac,0x04ad,0x04ac},{0x2cad,0x2cac,0x2cad,0x2cac},
-{0x10cad,0x10cad,0x10ced,0x10cad},{0x2cae,0x2cae,0x2caf,0x2cae},{0x10cae,0x10cae,0x10cee,0x10cae},{0x04ae,0x04ae,0x04af,0x04ae},
-{0x04af,0x04ae,0x04af,0x04ae},{0x2caf,0x2cae,0x2caf,0x2cae},{0x10caf,0x10caf,0x10cef,0x10caf},{0x2cb0,0x2cb0,0x2cb1,0x2cb0},
-{0x04b0,0x04b0,0x04b1,0x04b0},{0x10cb0,0x10cb0,0x10cf0,0x10cb0},{0x04b1,0x04b0,0x04b1,0x04b0},{0x2cb1,0x2cb0,0x2cb1,0x2cb0},
-{0x10cb1,0x10cb1,0x10cf1,0x10cb1},{0x2cb2,0x2cb2,0x2cb3,0x2cb2},{0x10cb2,0x10cb2,0x10cf2,0x10cb2},{0x04b2,0x04b2,0x04b3,0x04b2},
-{0x04b3,0x04b2,0x04b3,0x04b2},{0x2cb3,0x2cb2,0x2cb3,0x2cb2},{0x04b4,0x04b4,0x04b5,0x04b4},{0x2cb4,0x2cb4,0x2cb5,0x2cb4},
-{0x2cb5,0x2cb4,0x2cb5,0x2cb4},{0x04b5,0x04b4,0x04b5,0x04b4},{0x04b6,0x04b6,0x04b7,0x04b6},{0x2cb6,0x2cb6,0x2cb7,0x2cb6},
-{0x24b6,0x24b6,0x24d0,0x24b6},{0x04b7,0x04b6,0x04b7,0x04b6},{0x2cb7,0x2cb6,0x2cb7,0x2cb6},{0x24b7,0x24b7,0x24d1,0x24b7},
-{0x04b8,0x04b8,0x04b9,0x04b8},{0x2cb8,0x2cb8,0x2cb9,0x2cb8},{0x24b8,0x24b8,0x24d2,0x24b8},{0x24b9,0x24b9,0x24d3,0x24b9},
-{0x04b9,0x04b8,0x04b9,0x04b8},{0x2cb9,0x2cb8,0x2cb9,0x2cb8},{0x04ba,0x04ba,0x04bb,0x04ba},{0x24ba,0x24ba,0x24d4,0x24ba},
-{0x2cba,0x2cba,0x2cbb,0x2cba},{0x24bb,0x24bb,0x24d5,0x24bb},{0x2cbb,0x2cba,0x2cbb,0x2cba},{0x04bb,0x04ba,0x04bb,0x04ba},
-{0x04bc,0x04bc,0x04bd,0x04bc},{0x2cbc,0x2cbc,0x2cbd,0x2cbc},{0x24bc,0x24bc,0x24d6,0x24bc},{0x04bd,0x04bc,0x04bd,0x04bc},
-{0x24bd,0x24bd,0x24d7,0x24bd},{0x2cbd,0x2cbc,0x2cbd,0x2cbc},{0x2cbe,0x2cbe,0x2cbf,0x2cbe},{0x04be,0x04be,0x04bf,0x04be},
-{0x24be,0x24be,0x24d8,0x24be},{0x2cbf,0x2cbe,0x2cbf,0x2cbe},{0x04bf,0x04be,0x04bf,0x04be},{0x24bf,0x24bf,0x24d9,0x24bf},
-{0x10cc0,0x10c80,0x10cc0,0x10c80},{0x2cc0,0x2cc0,0x2cc1,0x2cc0},{0x24c0,0x24c0,0x24da,0x24c0},{0x04c0,0x04c0,0x04cf,0x04c0},
-{0x10cc1,0x10c81,0x10cc1,0x10c81},{0x04c1,0x04c1,0x04c2,0x04c1},{0x24c1,0x24c1,0x24db,0x24c1},{0x2cc1,0x2cc0,0x2cc1,0x2cc0},
-{0x2cc2,0x2cc2,0x2cc3,0x2cc2},{0x10cc2,0x10c82,0x10cc2,0x10c82},{0x24c2,0x24c2,0x24dc,0x24c2},{0x04c2,0x04c1,0x04c2,0x04c1},
-{0x24c3,0x24c3,0x24dd,0x24c3},{0x2cc3,0x2cc2,0x2cc3,0x2cc2},{0x04c3,0x04c3,0x04c4,0x04c3},{0x10cc3,0x10c83,0x10cc3,0x10c83},
-{0x2cc4,0x2cc4,0x2cc5,0x2cc4},{0x04c4,0x04c3,0x04c4,0x04c3},{0x24c4,0x24c4,0x24de,0x24c4},{0x10cc4,0x10c84,0x10cc4,0x10c84},
-{0x04c5,0x04c5,0x04c6,0x04c5},{0x10cc5,0x10c85,0x10cc5,0x10c85},{0x24c5,0x24c5,0x24df,0x24c5},{0x2cc5,0x2cc4,0x2cc5,0x2cc4},
-{0x24c6,0x24c6,0x24e0,0x24c6},{0x2cc6,0x2cc6,0x2cc7,0x2cc6},{0x04c6,0x04c5,0x04c6,0x04c5},{0x10cc6,0x10c86,0x10cc6,0x10c86},
-{0x04c7,0x04c7,0x04c8,0x04c7},{0x24c7,0x24c7,0x24e1,0x24c7},{0x10cc7,0x10c87,0x10cc7,0x10c87},{0x2cc7,0x2cc6,0x2cc7,0x2cc6},
-{0x24c8,0x24c8,0x24e2,0x24c8},{0x04c8,0x04c7,0x04c8,0x04c7},{0x2cc8,0x2cc8,0x2cc9,0x2cc8},{0x10cc8,0x10c88,0x10cc8,0x10c88},
-{0x04c9,0x04c9,0x04ca,0x04c9},{0x2cc9,0x2cc8,0x2cc9,0x2cc8},{0x24c9,0x24c9,0x24e3,0x24c9},{0x10cc9,0x10c89,0x10cc9,0x10c89},
-{0x04ca,0x04c9,0x04ca,0x04c9},{0x10cca,0x10c8a,0x10cca,0x10c8a},{0x2cca,0x2cca,0x2ccb,0x2cca},{0x24ca,0x24ca,0x24e4,0x24ca},
-{0x10ccb,0x10c8b,0x10ccb,0x10c8b},{0x24cb,0x24cb,0x24e5,0x24cb},{0x2ccb,0x2cca,0x2ccb,0x2cca},{0x04cb,0x04cb,0x04cc,0x04cb},
-{0x10ccc,0x10c8c,0x10ccc,0x10c8c},{0x2ccc,0x2ccc,0x2ccd,0x2ccc},{0x04cc,0x04cb,0x04cc,0x04cb},{0x24cc,0x24cc,0x24e6,0x24cc},
-{0x24cd,0x24cd,0x24e7,0x24cd},{0x2ccd,0x2ccc,0x2ccd,0x2ccc},{0x04cd,0x04cd,0x04ce,0x04cd},{0x10ccd,0x10c8d,0x10ccd,0x10c8d},
-{0x24ce,0x24ce,0x24e8,0x24ce},{0x10cce,0x10c8e,0x10cce,0x10c8e},{0x2cce,0x2cce,0x2ccf,0x2cce},{0x04ce,0x04cd,0x04ce,0x04cd},
-{0x04cf,0x04c0,0x04cf,0x04c0},{0x2ccf,0x2cce,0x2ccf,0x2cce},{0x10ccf,0x10c8f,0x10ccf,0x10c8f},{0x24cf,0x24cf,0x24e9,0x24cf},
-{0x2cd0,0x2cd0,0x2cd1,0x2cd0},{0x10cd0,0x10c90,0x10cd0,0x10c90},{0x24d0,0x24b6,0x24d0,0x24b6},{0x04d0,0x04d0,0x04d1,0x04d0},
-{0x24d1,0x24b7,0x24d1,0x24b7},{0x2cd1,0x2cd0,0x2cd1,0x2cd0},{0x10cd1,0x10c91,0x10cd1,0x10c91},{0x04d1,0x04d0,0x04d1,0x04d0},
-{0x2cd2,0x2cd2,0x2cd3,0x2cd2},{0x04d2,0x04d2,0x04d3,0x04d2},{0x10cd2,0x10c92,0x10cd2,0x10c92},{0x24d2,0x24b8,0x24d2,0x24b8},
-{0x10cd3,0x10c93,0x10cd3,0x10c93},{0x04d3,0x04d2,0x04d3,0x04d2},{0x2cd3,0x2cd2,0x2cd3,0x2cd2},{0x24d3,0x24b9,0x24d3,0x24b9},
-{0x24d4,0x24ba,0x24d4,0x24ba},{0x04d4,0x04d4,0x04d5,0x04d4},{0x2cd4,0x2cd4,0x2cd5,0x2cd4},{0x10cd4,0x10c94,0x10cd4,0x10c94},
-{0x24d5,0x24bb,0x24d5,0x24bb},{0x2cd5,0x2cd4,0x2cd5,0x2cd4},{0x04d5,0x04d4,0x04d5,0x04d4},{0x10cd5,0x10c95,0x10cd5,0x10c95},
-{0x10cd6,0x10c96,0x10cd6,0x10c96},{0x04d6,0x04d6,0x04d7,0x04d6},{0x24d6,0x24bc,0x24d6,0x24bc},{0x2cd6,0x2cd6,0x2cd7,0x2cd6},
-{0x2cd7,0x2cd6,0x2cd7,0x2cd6},{0x10cd7,0x10c97,0x10cd7,0x10c97},{0x24d7,0x24bd,0x24d7,0x24bd},{0x04d7,0x04d6,0x04d7,0x04d6},
-{0x10cd8,0x10c98,0x10cd8,0x10c98},{0x24d8,0x24be,0x24d8,0x24be},{0x2cd8,0x2cd8,0x2cd9,0x2cd8},{0x04d8,0x04d8,0x04d9,0x04d8},
-{0x10cd9,0x10c99,0x10cd9,0x10c99},{0x04d9,0x04d8,0x04d9,0x04d8},{0x2cd9,0x2cd8,0x2cd9,0x2cd8},{0x24d9,0x24bf,0x24d9,0x24bf},
-{0x04da,0x04da,0x04db,0x04da},{0x10cda,0x10c9a,0x10cda,0x10c9a},{0x24da,0x24c0,0x24da,0x24c0},{0x2cda,0x2cda,0x2cdb,0x2cda},
-{0x04db,0x04da,0x04db,0x04da},{0x2cdb,0x2cda,0x2cdb,0x2cda},{0x10cdb,0x10c9b,0x10cdb,0x10c9b},{0x24db,0x24c1,0x24db,0x24c1},
-{0x2cdc,0x2cdc,0x2cdd,0x2cdc},{0x10cdc,0x10c9c,0x10cdc,0x10c9c},{0x24dc,0x24c2,0x24dc,0x24c2},{0x04dc,0x04dc,0x04dd,0x04dc},
-{0x10cdd,0x10c9d,0x10cdd,0x10c9d},{0x04dd,0x04dc,0x04dd,0x04dc},{0x24dd,0x24c3,0x24dd,0x24c3},{0x2cdd,0x2cdc,0x2cdd,0x2cdc},
-{0x04de,0x04de,0x04df,0x04de},{0x24de,0x24c4,0x24de,0x24c4},{0x2cde,0x2cde,0x2cdf,0x2cde},{0x10cde,0x10c9e,0x10cde,0x10c9e},
-{0x04df,0x04de,0x04df,0x04de},{0x2cdf,0x2cde,0x2cdf,0x2cde},{0x10cdf,0x10c9f,0x10cdf,0x10c9f},{0x24df,0x24c5,0x24df,0x24c5},
-{0x2ce0,0x2ce0,0x2ce1,0x2ce0},{0x24e0,0x24c6,0x24e0,0x24c6},{0x10ce0,0x10ca0,0x10ce0,0x10ca0},{0x04e0,0x04e0,0x04e1,0x04e0},
-{0x04e1,0x04e0,0x04e1,0x04e0},{0x24e1,0x24c7,0x24e1,0x24c7},{0x10ce1,0x10ca1,0x10ce1,0x10ca1},{0x2ce1,0x2ce0,0x2ce1,0x2ce0},
-{0x24e2,0x24c8,0x24e2,0x24c8},{0x2ce2,0x2ce2,0x2ce3,0x2ce2},{0x04e2,0x04e2,0x04e3,0x04e2},{0x10ce2,0x10ca2,0x10ce2,0x10ca2},
-{0x04e3,0x04e2,0x04e3,0x04e2},{0x10ce3,0x10ca3,0x10ce3,0x10ca3},{0x24e3,0x24c9,0x24e3,0x24c9},{0x2ce3,0x2ce2,0x2ce3,0x2ce2},
-{0x24e4,0x24ca,0x24e4,0x24ca},{0x04e4,0x04e4,0x04e5,0x04e4},{0x10ce4,0x10ca4,0x10ce4,0x10ca4},{0x24e5,0x24cb,0x24e5,0x24cb},
-{0x10ce5,0x10ca5,0x10ce5,0x10ca5},{0x04e5,0x04e4,0x04e5,0x04e4},{0x24e6,0x24cc,0x24e6,0x24cc},{0x04e6,0x04e6,0x04e7,0x04e6},
-{0x10ce6,0x10ca6,0x10ce6,0x10ca6},{0x04e7,0x04e6,0x04e7,0x04e6},{0x10ce7,0x10ca7,0x10ce7,0x10ca7},{0x24e7,0x24cd,0x24e7,0x24cd},
-{0x10ce8,0x10ca8,0x10ce8,0x10ca8},{0x24e8,0x24ce,0x24e8,0x24ce},{0x04e8,0x04e8,0x04e9,0x04e8},{0x04e9,0x04e8,0x04e9,0x04e8},
-{0x10ce9,0x10ca9,0x10ce9,0x10ca9},{0x24e9,0x24cf,0x24e9,0x24cf},{0x04ea,0x04ea,0x04eb,0x04ea},{0x10cea,0x10caa,0x10cea,0x10caa},
-{0x04eb,0x04ea,0x04eb,0x04ea},{0x2ceb,0x2ceb,0x2cec,0x2ceb},{0x10ceb,0x10cab,0x10ceb,0x10cab},{0x04ec,0x04ec,0x04ed,0x04ec},
-{0x2cec,0x2ceb,0x2cec,0x2ceb},{0x10cec,0x10cac,0x10cec,0x10cac},{0x04ed,0x04ec,0x04ed,0x04ec},{0x2ced,0x2ced,0x2cee,0x2ced},
-{0x10ced,0x10cad,0x10ced,0x10cad},{0x2cee,0x2ced,0x2cee,0x2ced},{0x04ee,0x04ee,0x04ef,0x04ee},{0x10cee,0x10cae,0x10cee,0x10cae},
-{0x04ef,0x04ee,0x04ef,0x04ee},{0x10cef,0x10caf,0x10cef,0x10caf},{0x04f0,0x04f0,0x04f1,0x04f0},{0x10cf0,0x10cb0,0x10cf0,0x10cb0},
-{0x04f1,0x04f0,0x04f1,0x04f0},{0x10cf1,0x10cb1,0x10cf1,0x10cb1},{0x04f2,0x04f2,0x04f3,0x04f2},{0x10cf2,0x10cb2,0x10cf2,0x10cb2},
-{0x2cf2,0x2cf2,0x2cf3,0x2cf2},{0x04f3,0x04f2,0x04f3,0x04f2},{0x2cf3,0x2cf2,0x2cf3,0x2cf2},{0x04f4,0x04f4,0x04f5,0x04f4},
-{0x04f5,0x04f4,0x04f5,0x04f4},{0x04f6,0x04f6,0x04f7,0x04f6},{0x04f7,0x04f6,0x04f7,0x04f6},{0x04f8,0x04f8,0x04f9,0x04f8},
-{0x04f9,0x04f8,0x04f9,0x04f8},{0x04fa,0x04fa,0x04fb,0x04fa},{0x04fb,0x04fa,0x04fb,0x04fa},{0x04fc,0x04fc,0x04fd,0x04fc},
-{0x04fd,0x04fc,0x04fd,0x04fc},{0x04fe,0x04fe,0x04ff,0x04fe},{0x04ff,0x04fe,0x04ff,0x04fe},{0x0500,0x0500,0x0501,0x0500},
-{0x2d00,0x10a0,0x2d00,0x10a0},{0x2d01,0x10a1,0x2d01,0x10a1},{0x0501,0x0500,0x0501,0x0500},{0x2d02,0x10a2,0x2d02,0x10a2},
-{0x0502,0x0502,0x0503,0x0502},{0x2d03,0x10a3,0x2d03,0x10a3},{0x0503,0x0502,0x0503,0x0502},{0x2d04,0x10a4,0x2d04,0x10a4},
-{0x0504,0x0504,0x0505,0x0504},{0x0505,0x0504,0x0505,0x0504},{0x2d05,0x10a5,0x2d05,0x10a5},{0x2d06,0x10a6,0x2d06,0x10a6},
-{0x0506,0x0506,0x0507,0x0506},{0x0507,0x0506,0x0507,0x0506},{0x2d07,0x10a7,0x2d07,0x10a7},{0x0508,0x0508,0x0509,0x0508},
-{0x2d08,0x10a8,0x2d08,0x10a8},{0x2d09,0x10a9,0x2d09,0x10a9},{0x0509,0x0508,0x0509,0x0508},{0x2d0a,0x10aa,0x2d0a,0x10aa},
-{0x050a,0x050a,0x050b,0x050a},{0x050b,0x050a,0x050b,0x050a},{0x2d0b,0x10ab,0x2d0b,0x10ab},{0x2d0c,0x10ac,0x2d0c,0x10ac},
-{0x050c,0x050c,0x050d,0x050c},{0x050d,0x050c,0x050d,0x050c},{0x2d0d,0x10ad,0x2d0d,0x10ad},{0x050e,0x050e,0x050f,0x050e},
-{0x2d0e,0x10ae,0x2d0e,0x10ae},{0x050f,0x050e,0x050f,0x050e},{0x2d0f,0x10af,0x2d0f,0x10af},{0x0510,0x0510,0x0511,0x0510},
-{0x2d10,0x10b0,0x2d10,0x10b0},{0x2d11,0x10b1,0x2d11,0x10b1},{0x0511,0x0510,0x0511,0x0510},{0x0512,0x0512,0x0513,0x0512},
-{0x2d12,0x10b2,0x2d12,0x10b2},{0x0513,0x0512,0x0513,0x0512},{0x2d13,0x10b3,0x2d13,0x10b3},{0x2d14,0x10b4,0x2d14,0x10b4},
-{0x0514,0x0514,0x0515,0x0514},{0x2d15,0x10b5,0x2d15,0x10b5},{0x0515,0x0514,0x0515,0x0514},{0x0516,0x0516,0x0517,0x0516},
-{0x2d16,0x10b6,0x2d16,0x10b6},{0x0517,0x0516,0x0517,0x0516},{0x2d17,0x10b7,0x2d17,0x10b7},{0x2d18,0x10b8,0x2d18,0x10b8},
-{0x0518,0x0518,0x0519,0x0518},{0x0519,0x0518,0x0519,0x0518},{0x2d19,0x10b9,0x2d19,0x10b9},{0x051a,0x051a,0x051b,0x051a},
-{0x2d1a,0x10ba,0x2d1a,0x10ba},{0x051b,0x051a,0x051b,0x051a},{0x2d1b,0x10bb,0x2d1b,0x10bb},{0x2d1c,0x10bc,0x2d1c,0x10bc},
-{0x051c,0x051c,0x051d,0x051c},{0x051d,0x051c,0x051d,0x051c},{0x2d1d,0x10bd,0x2d1d,0x10bd},{0x2d1e,0x10be,0x2d1e,0x10be},
-{0x051e,0x051e,0x051f,0x051e},{0x051f,0x051e,0x051f,0x051e},{0x2d1f,0x10bf,0x2d1f,0x10bf},{0x0520,0x0520,0x0521,0x0520},
-{0x2d20,0x10c0,0x2d20,0x10c0},{0x0521,0x0520,0x0521,0x0520},{0x2d21,0x10c1,0x2d21,0x10c1},{0x0522,0x0522,0x0523,0x0522},
-{0x2d22,0x10c2,0x2d22,0x10c2},{0x0523,0x0522,0x0523,0x0522},{0x2d23,0x10c3,0x2d23,0x10c3},{0x0524,0x0524,0x0525,0x0524},
-{0x2d24,0x10c4,0x2d24,0x10c4},{0x2d25,0x10c5,0x2d25,0x10c5},{0x0525,0x0524,0x0525,0x0524},{0x0526,0x0526,0x0527,0x0526},
-{0x2d27,0x10c7,0x2d27,0x10c7},{0x0527,0x0526,0x0527,0x0526},{0x0528,0x0528,0x0529,0x0528},{0x0529,0x0528,0x0529,0x0528},
-{0x052a,0x052a,0x052b,0x052a},{0x052b,0x052a,0x052b,0x052a},{0x052c,0x052c,0x052d,0x052c},{0x052d,0x052c,0x052d,0x052c},
-{0x2d2d,0x10cd,0x2d2d,0x10cd},{0x052e,0x052e,0x052f,0x052e},{0x052f,0x052e,0x052f,0x052e},{0x0531,0x0531,0x0561,0x0531},
-{0x0532,0x0532,0x0562,0x0532},{0x0533,0x0533,0x0563,0x0533},{0x0534,0x0534,0x0564,0x0534},{0x0535,0x0535,0x0565,0x0535},
-{0x0536,0x0536,0x0566,0x0536},{0x0537,0x0537,0x0567,0x0537},{0x0538,0x0538,0x0568,0x0538},{0x0539,0x0539,0x0569,0x0539},
-{0x053a,0x053a,0x056a,0x053a},{0x053b,0x053b,0x056b,0x053b},{0x053c,0x053c,0x056c,0x053c},{0x053d,0x053d,0x056d,0x053d},
-{0x053e,0x053e,0x056e,0x053e},{0x053f,0x053f,0x056f,0x053f},{0x0540,0x0540,0x0570,0x0540},{0x0541,0x0541,0x0571,0x0541},
-{0x0542,0x0542,0x0572,0x0542},{0x0543,0x0543,0x0573,0x0543},{0x0544,0x0544,0x0574,0x0544},{0x0545,0x0545,0x0575,0x0545},
-{0x0546,0x0546,0x0576,0x0546},{0x0547,0x0547,0x0577,0x0547},{0x0548,0x0548,0x0578,0x0548},{0x0549,0x0549,0x0579,0x0549},
-{0x054a,0x054a,0x057a,0x054a},{0x054b,0x054b,0x057b,0x054b},{0x054c,0x054c,0x057c,0x054c},{0x054d,0x054d,0x057d,0x054d},
-{0x054e,0x054e,0x057e,0x054e},{0x054f,0x054f,0x057f,0x054f},{0x0550,0x0550,0x0580,0x0550},{0x0551,0x0551,0x0581,0x0551},
-{0x0552,0x0552,0x0582,0x0552},{0x0553,0x0553,0x0583,0x0553},{0x0554,0x0554,0x0584,0x0554},{0x0555,0x0555,0x0585,0x0555},
-{0x0556,0x0556,0x0586,0x0556},{0x0561,0x0531,0x0561,0x0531},{0x0562,0x0532,0x0562,0x0532},{0x0563,0x0533,0x0563,0x0533},
-{0x0564,0x0534,0x0564,0x0534},{0x0565,0x0535,0x0565,0x0535},{0x0566,0x0536,0x0566,0x0536},{0x0567,0x0537,0x0567,0x0537},
-{0x0568,0x0538,0x0568,0x0538},{0x0569,0x0539,0x0569,0x0539},{0x056a,0x053a,0x056a,0x053a},{0x056b,0x053b,0x056b,0x053b},
-{0x056c,0x053c,0x056c,0x053c},{0x056d,0x053d,0x056d,0x053d},{0x056e,0x053e,0x056e,0x053e},{0x056f,0x053f,0x056f,0x053f},
-{0x0570,0x0540,0x0570,0x0540},{0x0571,0x0541,0x0571,0x0541},{0x0572,0x0542,0x0572,0x0542},{0x0573,0x0543,0x0573,0x0543},
-{0x0574,0x0544,0x0574,0x0544},{0x0575,0x0545,0x0575,0x0545},{0x0576,0x0546,0x0576,0x0546},{0x0577,0x0547,0x0577,0x0547},
-{0x0578,0x0548,0x0578,0x0548},{0x0579,0x0549,0x0579,0x0549},{0x1d79,0xa77d,0x1d79,0xa77d},{0x057a,0x054a,0x057a,0x054a},
-{0x057b,0x054b,0x057b,0x054b},{0x057c,0x054c,0x057c,0x054c},{0x057d,0x054d,0x057d,0x054d},{0x1d7d,0x2c63,0x1d7d,0x2c63},
-{0x057e,0x054e,0x057e,0x054e},{0x057f,0x054f,0x057f,0x054f},{0x0580,0x0550,0x0580,0x0550},{0x0581,0x0551,0x0581,0x0551},
-{0x0582,0x0552,0x0582,0x0552},{0x0583,0x0553,0x0583,0x0553},{0x0584,0x0554,0x0584,0x0554},{0x0585,0x0555,0x0585,0x0555},
-{0x0586,0x0556,0x0586,0x0556},{0x1e00,0x1e00,0x1e01,0x1e00},{0x1e01,0x1e00,0x1e01,0x1e00},{0x1e02,0x1e02,0x1e03,0x1e02},
+{0x047b,0x047a,0x047b,0x047a},{0x047c,0x047c,0x047d,0x047c},{0x047d,0x047c,0x047d,0x047c},{0x047e,0x047e,0x047f,0x047e},
+{0x2c7e,0x2c7e,0x023f,0x2c7e},{0x047f,0x047e,0x047f,0x047e},{0x2c7f,0x2c7f,0x0240,0x2c7f},{0x2c80,0x2c80,0x2c81,0x2c80},
+{0x0480,0x0480,0x0481,0x0480},{0x10c80,0x10c80,0x10cc0,0x10c80},{0x1c80,0x0412,0x1c80,0x0412},{0x1c81,0x0414,0x1c81,0x0414},
+{0x10c81,0x10c81,0x10cc1,0x10c81},{0x0481,0x0480,0x0481,0x0480},{0x2c81,0x2c80,0x2c81,0x2c80},{0x1c82,0x041e,0x1c82,0x041e},
+{0x2c82,0x2c82,0x2c83,0x2c82},{0x10c82,0x10c82,0x10cc2,0x10c82},{0x2c83,0x2c82,0x2c83,0x2c82},{0x1c83,0x0421,0x1c83,0x0421},
+{0x10c83,0x10c83,0x10cc3,0x10c83},{0x1c84,0x0422,0x1c84,0x0422},{0x10c84,0x10c84,0x10cc4,0x10c84},{0x2c84,0x2c84,0x2c85,0x2c84},
+{0x10c85,0x10c85,0x10cc5,0x10c85},{0x1c85,0x0422,0x1c85,0x0422},{0x2c85,0x2c84,0x2c85,0x2c84},{0x1c86,0x042a,0x1c86,0x042a},
+{0x2c86,0x2c86,0x2c87,0x2c86},{0x10c86,0x10c86,0x10cc6,0x10c86},{0x10c87,0x10c87,0x10cc7,0x10c87},{0x2c87,0x2c86,0x2c87,0x2c86},
+{0x1c87,0x0462,0x1c87,0x0462},{0x1c88,0xa64a,0x1c88,0xa64a},{0x10c88,0x10c88,0x10cc8,0x10c88},{0x2c88,0x2c88,0x2c89,0x2c88},
+{0x2c89,0x2c88,0x2c89,0x2c88},{0x10c89,0x10c89,0x10cc9,0x10c89},{0x2c8a,0x2c8a,0x2c8b,0x2c8a},{0x10c8a,0x10c8a,0x10cca,0x10c8a},
+{0x048a,0x048a,0x048b,0x048a},{0x10c8b,0x10c8b,0x10ccb,0x10c8b},{0x048b,0x048a,0x048b,0x048a},{0x2c8b,0x2c8a,0x2c8b,0x2c8a},
+{0x10c8c,0x10c8c,0x10ccc,0x10c8c},{0x048c,0x048c,0x048d,0x048c},{0x2c8c,0x2c8c,0x2c8d,0x2c8c},{0x2c8d,0x2c8c,0x2c8d,0x2c8c},
+{0x10c8d,0x10c8d,0x10ccd,0x10c8d},{0x048d,0x048c,0x048d,0x048c},{0x048e,0x048e,0x048f,0x048e},{0x10c8e,0x10c8e,0x10cce,0x10c8e},
+{0x2c8e,0x2c8e,0x2c8f,0x2c8e},{0x10c8f,0x10c8f,0x10ccf,0x10c8f},{0x2c8f,0x2c8e,0x2c8f,0x2c8e},{0x048f,0x048e,0x048f,0x048e},
+{0x1c90,0x1c90,0x10d0,0x1c90},{0x0490,0x0490,0x0491,0x0490},{0x10c90,0x10c90,0x10cd0,0x10c90},{0x2c90,0x2c90,0x2c91,0x2c90},
+{0x10c91,0x10c91,0x10cd1,0x10c91},{0x1c91,0x1c91,0x10d1,0x1c91},{0x0491,0x0490,0x0491,0x0490},{0x2c91,0x2c90,0x2c91,0x2c90},
+{0x10c92,0x10c92,0x10cd2,0x10c92},{0x1c92,0x1c92,0x10d2,0x1c92},{0x0492,0x0492,0x0493,0x0492},{0x2c92,0x2c92,0x2c93,0x2c92},
+{0x0493,0x0492,0x0493,0x0492},{0x2c93,0x2c92,0x2c93,0x2c92},{0x1c93,0x1c93,0x10d3,0x1c93},{0x10c93,0x10c93,0x10cd3,0x10c93},
+{0x10c94,0x10c94,0x10cd4,0x10c94},{0x0494,0x0494,0x0495,0x0494},{0x1c94,0x1c94,0x10d4,0x1c94},{0x2c94,0x2c94,0x2c95,0x2c94},
+{0x0495,0x0494,0x0495,0x0494},{0x10c95,0x10c95,0x10cd5,0x10c95},{0x1c95,0x1c95,0x10d5,0x1c95},{0x2c95,0x2c94,0x2c95,0x2c94},
+{0x10c96,0x10c96,0x10cd6,0x10c96},{0x2c96,0x2c96,0x2c97,0x2c96},{0x1c96,0x1c96,0x10d6,0x1c96},{0x0496,0x0496,0x0497,0x0496},
+{0x10c97,0x10c97,0x10cd7,0x10c97},{0x1c97,0x1c97,0x10d7,0x1c97},{0x2c97,0x2c96,0x2c97,0x2c96},{0x0497,0x0496,0x0497,0x0496},
+{0x2c98,0x2c98,0x2c99,0x2c98},{0x10c98,0x10c98,0x10cd8,0x10c98},{0x1c98,0x1c98,0x10d8,0x1c98},{0x0498,0x0498,0x0499,0x0498},
+{0x0499,0x0498,0x0499,0x0498},{0x1c99,0x1c99,0x10d9,0x1c99},{0x2c99,0x2c98,0x2c99,0x2c98},{0x10c99,0x10c99,0x10cd9,0x10c99},
+{0x1c9a,0x1c9a,0x10da,0x1c9a},{0x049a,0x049a,0x049b,0x049a},{0x2c9a,0x2c9a,0x2c9b,0x2c9a},{0x10c9a,0x10c9a,0x10cda,0x10c9a},
+{0x10c9b,0x10c9b,0x10cdb,0x10c9b},{0x049b,0x049a,0x049b,0x049a},{0x1c9b,0x1c9b,0x10db,0x1c9b},{0x2c9b,0x2c9a,0x2c9b,0x2c9a},
+{0x049c,0x049c,0x049d,0x049c},{0x10c9c,0x10c9c,0x10cdc,0x10c9c},{0x1c9c,0x1c9c,0x10dc,0x1c9c},{0x2c9c,0x2c9c,0x2c9d,0x2c9c},
+{0x2c9d,0x2c9c,0x2c9d,0x2c9c},{0x049d,0x049c,0x049d,0x049c},{0x1c9d,0x1c9d,0x10dd,0x1c9d},{0x10c9d,0x10c9d,0x10cdd,0x10c9d},
+{0x10c9e,0x10c9e,0x10cde,0x10c9e},{0x2c9e,0x2c9e,0x2c9f,0x2c9e},{0x049e,0x049e,0x049f,0x049e},{0x1c9e,0x1c9e,0x10de,0x1c9e},
+{0x2c9f,0x2c9e,0x2c9f,0x2c9e},{0x1c9f,0x1c9f,0x10df,0x1c9f},{0x10c9f,0x10c9f,0x10cdf,0x10c9f},{0x049f,0x049e,0x049f,0x049e},
+{0x04a0,0x04a0,0x04a1,0x04a0},{0x2ca0,0x2ca0,0x2ca1,0x2ca0},{0x10ca0,0x10ca0,0x10ce0,0x10ca0},{0x1ca0,0x1ca0,0x10e0,0x1ca0},
+{0x10ca1,0x10ca1,0x10ce1,0x10ca1},{0x04a1,0x04a0,0x04a1,0x04a0},{0x1ca1,0x1ca1,0x10e1,0x1ca1},{0x2ca1,0x2ca0,0x2ca1,0x2ca0},
+{0x04a2,0x04a2,0x04a3,0x04a2},{0x2ca2,0x2ca2,0x2ca3,0x2ca2},{0x10ca2,0x10ca2,0x10ce2,0x10ca2},{0x1ca2,0x1ca2,0x10e2,0x1ca2},
+{0x2ca3,0x2ca2,0x2ca3,0x2ca2},{0x1ca3,0x1ca3,0x10e3,0x1ca3},{0x10ca3,0x10ca3,0x10ce3,0x10ca3},{0x04a3,0x04a2,0x04a3,0x04a2},
+{0x10ca4,0x10ca4,0x10ce4,0x10ca4},{0x2ca4,0x2ca4,0x2ca5,0x2ca4},{0x1ca4,0x1ca4,0x10e4,0x1ca4},{0x04a4,0x04a4,0x04a5,0x04a4},
+{0x2ca5,0x2ca4,0x2ca5,0x2ca4},{0x1ca5,0x1ca5,0x10e5,0x1ca5},{0x10ca5,0x10ca5,0x10ce5,0x10ca5},{0x04a5,0x04a4,0x04a5,0x04a4},
+{0x1ca6,0x1ca6,0x10e6,0x1ca6},{0x2ca6,0x2ca6,0x2ca7,0x2ca6},{0x04a6,0x04a6,0x04a7,0x04a6},{0x10ca6,0x10ca6,0x10ce6,0x10ca6},
+{0x2ca7,0x2ca6,0x2ca7,0x2ca6},{0x10ca7,0x10ca7,0x10ce7,0x10ca7},{0x04a7,0x04a6,0x04a7,0x04a6},{0x1ca7,0x1ca7,0x10e7,0x1ca7},
+{0x04a8,0x04a8,0x04a9,0x04a8},{0x1ca8,0x1ca8,0x10e8,0x1ca8},{0x2ca8,0x2ca8,0x2ca9,0x2ca8},{0x10ca8,0x10ca8,0x10ce8,0x10ca8},
+{0x2ca9,0x2ca8,0x2ca9,0x2ca8},{0x04a9,0x04a8,0x04a9,0x04a8},{0x10ca9,0x10ca9,0x10ce9,0x10ca9},{0x1ca9,0x1ca9,0x10e9,0x1ca9},
+{0x2caa,0x2caa,0x2cab,0x2caa},{0x04aa,0x04aa,0x04ab,0x04aa},{0x1caa,0x1caa,0x10ea,0x1caa},{0x10caa,0x10caa,0x10cea,0x10caa},
+{0x1cab,0x1cab,0x10eb,0x1cab},{0x04ab,0x04aa,0x04ab,0x04aa},{0x10cab,0x10cab,0x10ceb,0x10cab},{0x2cab,0x2caa,0x2cab,0x2caa},
+{0x2cac,0x2cac,0x2cad,0x2cac},{0x10cac,0x10cac,0x10cec,0x10cac},{0x04ac,0x04ac,0x04ad,0x04ac},{0x1cac,0x1cac,0x10ec,0x1cac},
+{0x1cad,0x1cad,0x10ed,0x1cad},{0x2cad,0x2cac,0x2cad,0x2cac},{0x04ad,0x04ac,0x04ad,0x04ac},{0x10cad,0x10cad,0x10ced,0x10cad},
+{0x1cae,0x1cae,0x10ee,0x1cae},{0x2cae,0x2cae,0x2caf,0x2cae},{0x10cae,0x10cae,0x10cee,0x10cae},{0x04ae,0x04ae,0x04af,0x04ae},
+{0x2caf,0x2cae,0x2caf,0x2cae},{0x1caf,0x1caf,0x10ef,0x1caf},{0x04af,0x04ae,0x04af,0x04ae},{0x10caf,0x10caf,0x10cef,0x10caf},
+{0x104b0,0x104b0,0x104d8,0x104b0},{0x2cb0,0x2cb0,0x2cb1,0x2cb0},{0x04b0,0x04b0,0x04b1,0x04b0},{0x1cb0,0x1cb0,0x10f0,0x1cb0},
+{0x10cb0,0x10cb0,0x10cf0,0x10cb0},{0x10cb1,0x10cb1,0x10cf1,0x10cb1},{0x104b1,0x104b1,0x104d9,0x104b1},{0x04b1,0x04b0,0x04b1,0x04b0},
+{0x1cb1,0x1cb1,0x10f1,0x1cb1},{0x2cb1,0x2cb0,0x2cb1,0x2cb0},{0x04b2,0x04b2,0x04b3,0x04b2},{0x2cb2,0x2cb2,0x2cb3,0x2cb2},
+{0x104b2,0x104b2,0x104da,0x104b2},{0x1cb2,0x1cb2,0x10f2,0x1cb2},{0x10cb2,0x10cb2,0x10cf2,0x10cb2},{0x04b3,0x04b2,0x04b3,0x04b2},
+{0x1cb3,0x1cb3,0x10f3,0x1cb3},{0x104b3,0x104b3,0x104db,0x104b3},{0x2cb3,0x2cb2,0x2cb3,0x2cb2},{0x104b4,0x104b4,0x104dc,0x104b4},
+{0x1cb4,0x1cb4,0x10f4,0x1cb4},{0x2cb4,0x2cb4,0x2cb5,0x2cb4},{0x04b4,0x04b4,0x04b5,0x04b4},{0x2cb5,0x2cb4,0x2cb5,0x2cb4},
+{0x1cb5,0x1cb5,0x10f5,0x1cb5},{0x04b5,0x04b4,0x04b5,0x04b4},{0x104b5,0x104b5,0x104dd,0x104b5},{0x1cb6,0x1cb6,0x10f6,0x1cb6},
+{0x104b6,0x104b6,0x104de,0x104b6},{0x04b6,0x04b6,0x04b7,0x04b6},{0x24b6,0x24b6,0x24d0,0x24b6},{0x2cb6,0x2cb6,0x2cb7,0x2cb6},
+{0x04b7,0x04b6,0x04b7,0x04b6},{0x1cb7,0x1cb7,0x10f7,0x1cb7},{0x2cb7,0x2cb6,0x2cb7,0x2cb6},{0x104b7,0x104b7,0x104df,0x104b7},
+{0x24b7,0x24b7,0x24d1,0x24b7},{0x24b8,0x24b8,0x24d2,0x24b8},{0x04b8,0x04b8,0x04b9,0x04b8},{0x1cb8,0x1cb8,0x10f8,0x1cb8},
+{0x104b8,0x104b8,0x104e0,0x104b8},{0x2cb8,0x2cb8,0x2cb9,0x2cb8},{0x104b9,0x104b9,0x104e1,0x104b9},{0x04b9,0x04b8,0x04b9,0x04b8},
+{0x1cb9,0x1cb9,0x10f9,0x1cb9},{0x2cb9,0x2cb8,0x2cb9,0x2cb8},{0x24b9,0x24b9,0x24d3,0x24b9},{0x1cba,0x1cba,0x10fa,0x1cba},
+{0x04ba,0x04ba,0x04bb,0x04ba},{0x2cba,0x2cba,0x2cbb,0x2cba},{0x104ba,0x104ba,0x104e2,0x104ba},{0x24ba,0x24ba,0x24d4,0x24ba},
+{0x24bb,0x24bb,0x24d5,0x24bb},{0x04bb,0x04ba,0x04bb,0x04ba},{0x2cbb,0x2cba,0x2cbb,0x2cba},{0x104bb,0x104bb,0x104e3,0x104bb},
+{0x2cbc,0x2cbc,0x2cbd,0x2cbc},{0x24bc,0x24bc,0x24d6,0x24bc},{0x04bc,0x04bc,0x04bd,0x04bc},{0x104bc,0x104bc,0x104e4,0x104bc},
+{0x24bd,0x24bd,0x24d7,0x24bd},{0x104bd,0x104bd,0x104e5,0x104bd},{0x2cbd,0x2cbc,0x2cbd,0x2cbc},{0x04bd,0x04bc,0x04bd,0x04bc},
+{0x1cbd,0x1cbd,0x10fd,0x1cbd},{0x04be,0x04be,0x04bf,0x04be},{0x104be,0x104be,0x104e6,0x104be},{0x24be,0x24be,0x24d8,0x24be},
+{0x2cbe,0x2cbe,0x2cbf,0x2cbe},{0x1cbe,0x1cbe,0x10fe,0x1cbe},{0x04bf,0x04be,0x04bf,0x04be},{0x2cbf,0x2cbe,0x2cbf,0x2cbe},
+{0x24bf,0x24bf,0x24d9,0x24bf},{0x104bf,0x104bf,0x104e7,0x104bf},{0x1cbf,0x1cbf,0x10ff,0x1cbf},{0x04c0,0x04c0,0x04cf,0x04c0},
+{0x10cc0,0x10c80,0x10cc0,0x10c80},{0x104c0,0x104c0,0x104e8,0x104c0},{0x24c0,0x24c0,0x24da,0x24c0},{0x2cc0,0x2cc0,0x2cc1,0x2cc0},
+{0x104c1,0x104c1,0x104e9,0x104c1},{0x2cc1,0x2cc0,0x2cc1,0x2cc0},{0x24c1,0x24c1,0x24db,0x24c1},{0x04c1,0x04c1,0x04c2,0x04c1},
+{0x10cc1,0x10c81,0x10cc1,0x10c81},{0x10cc2,0x10c82,0x10cc2,0x10c82},{0x2cc2,0x2cc2,0x2cc3,0x2cc2},{0x24c2,0x24c2,0x24dc,0x24c2},
+{0x04c2,0x04c1,0x04c2,0x04c1},{0x104c2,0x104c2,0x104ea,0x104c2},{0x104c3,0x104c3,0x104eb,0x104c3},{0x24c3,0x24c3,0x24dd,0x24c3},
+{0x2cc3,0x2cc2,0x2cc3,0x2cc2},{0x10cc3,0x10c83,0x10cc3,0x10c83},{0x04c3,0x04c3,0x04c4,0x04c3},{0x04c4,0x04c3,0x04c4,0x04c3},
+{0x24c4,0x24c4,0x24de,0x24c4},{0x2cc4,0x2cc4,0x2cc5,0x2cc4},{0x10cc4,0x10c84,0x10cc4,0x10c84},{0x104c4,0x104c4,0x104ec,0x104c4},
+{0x24c5,0x24c5,0x24df,0x24c5},{0x10cc5,0x10c85,0x10cc5,0x10c85},{0x04c5,0x04c5,0x04c6,0x04c5},{0x104c5,0x104c5,0x104ed,0x104c5},
+{0x2cc5,0x2cc4,0x2cc5,0x2cc4},{0x2cc6,0x2cc6,0x2cc7,0x2cc6},{0x104c6,0x104c6,0x104ee,0x104c6},{0x04c6,0x04c5,0x04c6,0x04c5},
+{0x24c6,0x24c6,0x24e0,0x24c6},{0x10cc6,0x10c86,0x10cc6,0x10c86},{0x104c7,0x104c7,0x104ef,0x104c7},{0x10cc7,0x10c87,0x10cc7,0x10c87},
+{0x24c7,0x24c7,0x24e1,0x24c7},{0x2cc7,0x2cc6,0x2cc7,0x2cc6},{0x04c7,0x04c7,0x04c8,0x04c7},{0x04c8,0x04c7,0x04c8,0x04c7},
+{0x104c8,0x104c8,0x104f0,0x104c8},{0x2cc8,0x2cc8,0x2cc9,0x2cc8},{0x10cc8,0x10c88,0x10cc8,0x10c88},{0x24c8,0x24c8,0x24e2,0x24c8},
+{0x24c9,0x24c9,0x24e3,0x24c9},{0x04c9,0x04c9,0x04ca,0x04c9},{0x2cc9,0x2cc8,0x2cc9,0x2cc8},{0x104c9,0x104c9,0x104f1,0x104c9},
+{0x10cc9,0x10c89,0x10cc9,0x10c89},{0x24ca,0x24ca,0x24e4,0x24ca},{0x04ca,0x04c9,0x04ca,0x04c9},{0x104ca,0x104ca,0x104f2,0x104ca},
+{0x10cca,0x10c8a,0x10cca,0x10c8a},{0x2cca,0x2cca,0x2ccb,0x2cca},{0x24cb,0x24cb,0x24e5,0x24cb},{0x10ccb,0x10c8b,0x10ccb,0x10c8b},
+{0x2ccb,0x2cca,0x2ccb,0x2cca},{0x104cb,0x104cb,0x104f3,0x104cb},{0x04cb,0x04cb,0x04cc,0x04cb},{0x10ccc,0x10c8c,0x10ccc,0x10c8c},
+{0x104cc,0x104cc,0x104f4,0x104cc},{0x2ccc,0x2ccc,0x2ccd,0x2ccc},{0x04cc,0x04cb,0x04cc,0x04cb},{0x24cc,0x24cc,0x24e6,0x24cc},
+{0x24cd,0x24cd,0x24e7,0x24cd},{0x10ccd,0x10c8d,0x10ccd,0x10c8d},{0x104cd,0x104cd,0x104f5,0x104cd},{0x04cd,0x04cd,0x04ce,0x04cd},
+{0x2ccd,0x2ccc,0x2ccd,0x2ccc},{0x10cce,0x10c8e,0x10cce,0x10c8e},{0x24ce,0x24ce,0x24e8,0x24ce},{0x2cce,0x2cce,0x2ccf,0x2cce},
+{0x104ce,0x104ce,0x104f6,0x104ce},{0x04ce,0x04cd,0x04ce,0x04cd},{0x2ccf,0x2cce,0x2ccf,0x2cce},{0x24cf,0x24cf,0x24e9,0x24cf},
+{0x04cf,0x04c0,0x04cf,0x04c0},{0x10ccf,0x10c8f,0x10ccf,0x10c8f},{0x104cf,0x104cf,0x104f7,0x104cf},{0x10cd0,0x10c90,0x10cd0,0x10c90},
+{0x04d0,0x04d0,0x04d1,0x04d0},{0x104d0,0x104d0,0x104f8,0x104d0},{0x2cd0,0x2cd0,0x2cd1,0x2cd0},{0x24d0,0x24b6,0x24d0,0x24b6},
+{0x2cd1,0x2cd0,0x2cd1,0x2cd0},{0x10cd1,0x10c91,0x10cd1,0x10c91},{0x04d1,0x04d0,0x04d1,0x04d0},{0x104d1,0x104d1,0x104f9,0x104d1},
+{0x24d1,0x24b7,0x24d1,0x24b7},{0x10cd2,0x10c92,0x10cd2,0x10c92},{0x2cd2,0x2cd2,0x2cd3,0x2cd2},{0x24d2,0x24b8,0x24d2,0x24b8},
+{0x04d2,0x04d2,0x04d3,0x04d2},{0x104d2,0x104d2,0x104fa,0x104d2},{0x24d3,0x24b9,0x24d3,0x24b9},{0x104d3,0x104d3,0x104fb,0x104d3},
+{0x10cd3,0x10c93,0x10cd3,0x10c93},{0x04d3,0x04d2,0x04d3,0x04d2},{0x2cd3,0x2cd2,0x2cd3,0x2cd2},{0x2cd4,0x2cd4,0x2cd5,0x2cd4},
+{0x24d4,0x24ba,0x24d4,0x24ba},{0x10cd4,0x10c94,0x10cd4,0x10c94},{0x04d4,0x04d4,0x04d5,0x04d4},{0x24d5,0x24bb,0x24d5,0x24bb},
+{0x04d5,0x04d4,0x04d5,0x04d4},{0x2cd5,0x2cd4,0x2cd5,0x2cd4},{0x10cd5,0x10c95,0x10cd5,0x10c95},{0x2cd6,0x2cd6,0x2cd7,0x2cd6},
+{0x04d6,0x04d6,0x04d7,0x04d6},{0x24d6,0x24bc,0x24d6,0x24bc},{0x10cd6,0x10c96,0x10cd6,0x10c96},{0x2cd7,0x2cd6,0x2cd7,0x2cd6},
+{0x04d7,0x04d6,0x04d7,0x04d6},{0x10cd7,0x10c97,0x10cd7,0x10c97},{0x24d7,0x24bd,0x24d7,0x24bd},{0x10cd8,0x10c98,0x10cd8,0x10c98},
+{0x04d8,0x04d8,0x04d9,0x04d8},{0x104d8,0x104b0,0x104d8,0x104b0},{0x24d8,0x24be,0x24d8,0x24be},{0x2cd8,0x2cd8,0x2cd9,0x2cd8},
+{0x104d9,0x104b1,0x104d9,0x104b1},{0x2cd9,0x2cd8,0x2cd9,0x2cd8},{0x04d9,0x04d8,0x04d9,0x04d8},{0x10cd9,0x10c99,0x10cd9,0x10c99},
+{0x24d9,0x24bf,0x24d9,0x24bf},{0x24da,0x24c0,0x24da,0x24c0},{0x104da,0x104b2,0x104da,0x104b2},{0x10cda,0x10c9a,0x10cda,0x10c9a},
+{0x04da,0x04da,0x04db,0x04da},{0x2cda,0x2cda,0x2cdb,0x2cda},{0x24db,0x24c1,0x24db,0x24c1},{0x2cdb,0x2cda,0x2cdb,0x2cda},
+{0x10cdb,0x10c9b,0x10cdb,0x10c9b},{0x104db,0x104b3,0x104db,0x104b3},{0x04db,0x04da,0x04db,0x04da},{0x04dc,0x04dc,0x04dd,0x04dc},
+{0x24dc,0x24c2,0x24dc,0x24c2},{0x10cdc,0x10c9c,0x10cdc,0x10c9c},{0x2cdc,0x2cdc,0x2cdd,0x2cdc},{0x104dc,0x104b4,0x104dc,0x104b4},
+{0x04dd,0x04dc,0x04dd,0x04dc},{0x104dd,0x104b5,0x104dd,0x104b5},{0x10cdd,0x10c9d,0x10cdd,0x10c9d},{0x2cdd,0x2cdc,0x2cdd,0x2cdc},
+{0x24dd,0x24c3,0x24dd,0x24c3},{0x2cde,0x2cde,0x2cdf,0x2cde},{0x04de,0x04de,0x04df,0x04de},{0x104de,0x104b6,0x104de,0x104b6},
+{0x10cde,0x10c9e,0x10cde,0x10c9e},{0x24de,0x24c4,0x24de,0x24c4},{0x10cdf,0x10c9f,0x10cdf,0x10c9f},{0x2cdf,0x2cde,0x2cdf,0x2cde},
+{0x104df,0x104b7,0x104df,0x104b7},{0x04df,0x04de,0x04df,0x04de},{0x24df,0x24c5,0x24df,0x24c5},{0x2ce0,0x2ce0,0x2ce1,0x2ce0},
+{0x104e0,0x104b8,0x104e0,0x104b8},{0x24e0,0x24c6,0x24e0,0x24c6},{0x10ce0,0x10ca0,0x10ce0,0x10ca0},{0x04e0,0x04e0,0x04e1,0x04e0},
+{0x2ce1,0x2ce0,0x2ce1,0x2ce0},{0x10ce1,0x10ca1,0x10ce1,0x10ca1},{0x24e1,0x24c7,0x24e1,0x24c7},{0x104e1,0x104b9,0x104e1,0x104b9},
+{0x04e1,0x04e0,0x04e1,0x04e0},{0x10ce2,0x10ca2,0x10ce2,0x10ca2},{0x104e2,0x104ba,0x104e2,0x104ba},{0x24e2,0x24c8,0x24e2,0x24c8},
+{0x04e2,0x04e2,0x04e3,0x04e2},{0x2ce2,0x2ce2,0x2ce3,0x2ce2},{0x104e3,0x104bb,0x104e3,0x104bb},{0x24e3,0x24c9,0x24e3,0x24c9},
+{0x2ce3,0x2ce2,0x2ce3,0x2ce2},{0x04e3,0x04e2,0x04e3,0x04e2},{0x10ce3,0x10ca3,0x10ce3,0x10ca3},{0x04e4,0x04e4,0x04e5,0x04e4},
+{0x10ce4,0x10ca4,0x10ce4,0x10ca4},{0x104e4,0x104bc,0x104e4,0x104bc},{0x24e4,0x24ca,0x24e4,0x24ca},{0x104e5,0x104bd,0x104e5,0x104bd},
+{0x04e5,0x04e4,0x04e5,0x04e4},{0x10ce5,0x10ca5,0x10ce5,0x10ca5},{0x24e5,0x24cb,0x24e5,0x24cb},{0x10ce6,0x10ca6,0x10ce6,0x10ca6},
+{0x04e6,0x04e6,0x04e7,0x04e6},{0x104e6,0x104be,0x104e6,0x104be},{0x24e6,0x24cc,0x24e6,0x24cc},{0x24e7,0x24cd,0x24e7,0x24cd},
+{0x10ce7,0x10ca7,0x10ce7,0x10ca7},{0x104e7,0x104bf,0x104e7,0x104bf},{0x04e7,0x04e6,0x04e7,0x04e6},{0x24e8,0x24ce,0x24e8,0x24ce},
+{0x10ce8,0x10ca8,0x10ce8,0x10ca8},{0x104e8,0x104c0,0x104e8,0x104c0},{0x04e8,0x04e8,0x04e9,0x04e8},{0x24e9,0x24cf,0x24e9,0x24cf},
+{0x04e9,0x04e8,0x04e9,0x04e8},{0x104e9,0x104c1,0x104e9,0x104c1},{0x10ce9,0x10ca9,0x10ce9,0x10ca9},{0x10cea,0x10caa,0x10cea,0x10caa},
+{0x104ea,0x104c2,0x104ea,0x104c2},{0x04ea,0x04ea,0x04eb,0x04ea},{0x2ceb,0x2ceb,0x2cec,0x2ceb},{0x04eb,0x04ea,0x04eb,0x04ea},
+{0x104eb,0x104c3,0x104eb,0x104c3},{0x10ceb,0x10cab,0x10ceb,0x10cab},{0x104ec,0x104c4,0x104ec,0x104c4},{0x10cec,0x10cac,0x10cec,0x10cac},
+{0x2cec,0x2ceb,0x2cec,0x2ceb},{0x04ec,0x04ec,0x04ed,0x04ec},{0x10ced,0x10cad,0x10ced,0x10cad},{0x104ed,0x104c5,0x104ed,0x104c5},
+{0x04ed,0x04ec,0x04ed,0x04ec},{0x2ced,0x2ced,0x2cee,0x2ced},{0x104ee,0x104c6,0x104ee,0x104c6},{0x04ee,0x04ee,0x04ef,0x04ee},
+{0x2cee,0x2ced,0x2cee,0x2ced},{0x10cee,0x10cae,0x10cee,0x10cae},{0x04ef,0x04ee,0x04ef,0x04ee},{0x104ef,0x104c7,0x104ef,0x104c7},
+{0x10cef,0x10caf,0x10cef,0x10caf},{0x10cf0,0x10cb0,0x10cf0,0x10cb0},{0x04f0,0x04f0,0x04f1,0x04f0},{0x104f0,0x104c8,0x104f0,0x104c8},
+{0x104f1,0x104c9,0x104f1,0x104c9},{0x10cf1,0x10cb1,0x10cf1,0x10cb1},{0x04f1,0x04f0,0x04f1,0x04f0},{0x10cf2,0x10cb2,0x10cf2,0x10cb2},
+{0x2cf2,0x2cf2,0x2cf3,0x2cf2},{0x104f2,0x104ca,0x104f2,0x104ca},{0x04f2,0x04f2,0x04f3,0x04f2},{0x2cf3,0x2cf2,0x2cf3,0x2cf2},
+{0x04f3,0x04f2,0x04f3,0x04f2},{0x104f3,0x104cb,0x104f3,0x104cb},{0x104f4,0x104cc,0x104f4,0x104cc},{0x04f4,0x04f4,0x04f5,0x04f4},
+{0x04f5,0x04f4,0x04f5,0x04f4},{0x104f5,0x104cd,0x104f5,0x104cd},{0x04f6,0x04f6,0x04f7,0x04f6},{0x104f6,0x104ce,0x104f6,0x104ce},
+{0x104f7,0x104cf,0x104f7,0x104cf},{0x04f7,0x04f6,0x04f7,0x04f6},{0x104f8,0x104d0,0x104f8,0x104d0},{0x04f8,0x04f8,0x04f9,0x04f8},
+{0x104f9,0x104d1,0x104f9,0x104d1},{0x04f9,0x04f8,0x04f9,0x04f8},{0x104fa,0x104d2,0x104fa,0x104d2},{0x04fa,0x04fa,0x04fb,0x04fa},
+{0x04fb,0x04fa,0x04fb,0x04fa},{0x104fb,0x104d3,0x104fb,0x104d3},{0x04fc,0x04fc,0x04fd,0x04fc},{0x04fd,0x04fc,0x04fd,0x04fc},
+{0x04fe,0x04fe,0x04ff,0x04fe},{0x04ff,0x04fe,0x04ff,0x04fe},{0x2d00,0x10a0,0x2d00,0x10a0},{0x0500,0x0500,0x0501,0x0500},
+{0x0501,0x0500,0x0501,0x0500},{0x2d01,0x10a1,0x2d01,0x10a1},{0x0502,0x0502,0x0503,0x0502},{0x2d02,0x10a2,0x2d02,0x10a2},
+{0x0503,0x0502,0x0503,0x0502},{0x2d03,0x10a3,0x2d03,0x10a3},{0x2d04,0x10a4,0x2d04,0x10a4},{0x0504,0x0504,0x0505,0x0504},
+{0x2d05,0x10a5,0x2d05,0x10a5},{0x0505,0x0504,0x0505,0x0504},{0x0506,0x0506,0x0507,0x0506},{0x2d06,0x10a6,0x2d06,0x10a6},
+{0x0507,0x0506,0x0507,0x0506},{0x2d07,0x10a7,0x2d07,0x10a7},{0x0508,0x0508,0x0509,0x0508},{0x2d08,0x10a8,0x2d08,0x10a8},
+{0x0509,0x0508,0x0509,0x0508},{0x2d09,0x10a9,0x2d09,0x10a9},{0x2d0a,0x10aa,0x2d0a,0x10aa},{0x050a,0x050a,0x050b,0x050a},
+{0x050b,0x050a,0x050b,0x050a},{0x2d0b,0x10ab,0x2d0b,0x10ab},{0x2d0c,0x10ac,0x2d0c,0x10ac},{0x050c,0x050c,0x050d,0x050c},
+{0x2d0d,0x10ad,0x2d0d,0x10ad},{0x050d,0x050c,0x050d,0x050c},{0x050e,0x050e,0x050f,0x050e},{0x2d0e,0x10ae,0x2d0e,0x10ae},
+{0x050f,0x050e,0x050f,0x050e},{0x2d0f,0x10af,0x2d0f,0x10af},{0x0510,0x0510,0x0511,0x0510},{0x2d10,0x10b0,0x2d10,0x10b0},
+{0x0511,0x0510,0x0511,0x0510},{0x2d11,0x10b1,0x2d11,0x10b1},{0x2d12,0x10b2,0x2d12,0x10b2},{0x0512,0x0512,0x0513,0x0512},
+{0x2d13,0x10b3,0x2d13,0x10b3},{0x0513,0x0512,0x0513,0x0512},{0x0514,0x0514,0x0515,0x0514},{0x2d14,0x10b4,0x2d14,0x10b4},
+{0x2d15,0x10b5,0x2d15,0x10b5},{0x0515,0x0514,0x0515,0x0514},{0x0516,0x0516,0x0517,0x0516},{0x2d16,0x10b6,0x2d16,0x10b6},
+{0x0517,0x0516,0x0517,0x0516},{0x2d17,0x10b7,0x2d17,0x10b7},{0x2d18,0x10b8,0x2d18,0x10b8},{0x0518,0x0518,0x0519,0x0518},
+{0x2d19,0x10b9,0x2d19,0x10b9},{0x0519,0x0518,0x0519,0x0518},{0x2d1a,0x10ba,0x2d1a,0x10ba},{0x051a,0x051a,0x051b,0x051a},
+{0x2d1b,0x10bb,0x2d1b,0x10bb},{0x051b,0x051a,0x051b,0x051a},{0x051c,0x051c,0x051d,0x051c},{0x2d1c,0x10bc,0x2d1c,0x10bc},
+{0x051d,0x051c,0x051d,0x051c},{0x2d1d,0x10bd,0x2d1d,0x10bd},{0x051e,0x051e,0x051f,0x051e},{0x2d1e,0x10be,0x2d1e,0x10be},
+{0x2d1f,0x10bf,0x2d1f,0x10bf},{0x051f,0x051e,0x051f,0x051e},{0x2d20,0x10c0,0x2d20,0x10c0},{0x0520,0x0520,0x0521,0x0520},
+{0x2d21,0x10c1,0x2d21,0x10c1},{0x0521,0x0520,0x0521,0x0520},{0x2d22,0x10c2,0x2d22,0x10c2},{0x0522,0x0522,0x0523,0x0522},
+{0x0523,0x0522,0x0523,0x0522},{0x2d23,0x10c3,0x2d23,0x10c3},{0x0524,0x0524,0x0525,0x0524},{0x2d24,0x10c4,0x2d24,0x10c4},
+{0x2d25,0x10c5,0x2d25,0x10c5},{0x0525,0x0524,0x0525,0x0524},{0x0526,0x0526,0x0527,0x0526},{0x2d27,0x10c7,0x2d27,0x10c7},
+{0x0527,0x0526,0x0527,0x0526},{0x0528,0x0528,0x0529,0x0528},{0x0529,0x0528,0x0529,0x0528},{0x052a,0x052a,0x052b,0x052a},
+{0x052b,0x052a,0x052b,0x052a},{0x052c,0x052c,0x052d,0x052c},{0x052d,0x052c,0x052d,0x052c},{0x2d2d,0x10cd,0x2d2d,0x10cd},
+{0x052e,0x052e,0x052f,0x052e},{0x052f,0x052e,0x052f,0x052e},{0x0531,0x0531,0x0561,0x0531},{0x0532,0x0532,0x0562,0x0532},
+{0x0533,0x0533,0x0563,0x0533},{0x0534,0x0534,0x0564,0x0534},{0x0535,0x0535,0x0565,0x0535},{0x0536,0x0536,0x0566,0x0536},
+{0x0537,0x0537,0x0567,0x0537},{0x0538,0x0538,0x0568,0x0538},{0x0539,0x0539,0x0569,0x0539},{0x053a,0x053a,0x056a,0x053a},
+{0x053b,0x053b,0x056b,0x053b},{0x053c,0x053c,0x056c,0x053c},{0x053d,0x053d,0x056d,0x053d},{0x053e,0x053e,0x056e,0x053e},
+{0x053f,0x053f,0x056f,0x053f},{0x0540,0x0540,0x0570,0x0540},{0x0541,0x0541,0x0571,0x0541},{0x0542,0x0542,0x0572,0x0542},
+{0x0543,0x0543,0x0573,0x0543},{0x0544,0x0544,0x0574,0x0544},{0x0545,0x0545,0x0575,0x0545},{0x0546,0x0546,0x0576,0x0546},
+{0x0547,0x0547,0x0577,0x0547},{0x0548,0x0548,0x0578,0x0548},{0x0549,0x0549,0x0579,0x0549},{0x054a,0x054a,0x057a,0x054a},
+{0x054b,0x054b,0x057b,0x054b},{0x054c,0x054c,0x057c,0x054c},{0x054d,0x054d,0x057d,0x054d},{0x054e,0x054e,0x057e,0x054e},
+{0x054f,0x054f,0x057f,0x054f},{0x0550,0x0550,0x0580,0x0550},{0x0551,0x0551,0x0581,0x0551},{0x0552,0x0552,0x0582,0x0552},
+{0x0553,0x0553,0x0583,0x0553},{0x0554,0x0554,0x0584,0x0554},{0x0555,0x0555,0x0585,0x0555},{0x0556,0x0556,0x0586,0x0556},
+{0x0561,0x0531,0x0561,0x0531},{0x0562,0x0532,0x0562,0x0532},{0x0563,0x0533,0x0563,0x0533},{0x0564,0x0534,0x0564,0x0534},
+{0x0565,0x0535,0x0565,0x0535},{0x0566,0x0536,0x0566,0x0536},{0x0567,0x0537,0x0567,0x0537},{0x0568,0x0538,0x0568,0x0538},
+{0x0569,0x0539,0x0569,0x0539},{0x056a,0x053a,0x056a,0x053a},{0x056b,0x053b,0x056b,0x053b},{0x056c,0x053c,0x056c,0x053c},
+{0x056d,0x053d,0x056d,0x053d},{0x056e,0x053e,0x056e,0x053e},{0x056f,0x053f,0x056f,0x053f},{0x0570,0x0540,0x0570,0x0540},
+{0x0571,0x0541,0x0571,0x0541},{0x0572,0x0542,0x0572,0x0542},{0x0573,0x0543,0x0573,0x0543},{0x0574,0x0544,0x0574,0x0544},
+{0x0575,0x0545,0x0575,0x0545},{0x0576,0x0546,0x0576,0x0546},{0x0577,0x0547,0x0577,0x0547},{0x0578,0x0548,0x0578,0x0548},
+{0x1d79,0xa77d,0x1d79,0xa77d},{0x0579,0x0549,0x0579,0x0549},{0x057a,0x054a,0x057a,0x054a},{0x057b,0x054b,0x057b,0x054b},
+{0x057c,0x054c,0x057c,0x054c},{0x057d,0x054d,0x057d,0x054d},{0x1d7d,0x2c63,0x1d7d,0x2c63},{0x057e,0x054e,0x057e,0x054e},
+{0x057f,0x054f,0x057f,0x054f},{0x0580,0x0550,0x0580,0x0550},{0x0581,0x0551,0x0581,0x0551},{0x0582,0x0552,0x0582,0x0552},
+{0x0583,0x0553,0x0583,0x0553},{0x0584,0x0554,0x0584,0x0554},{0x0585,0x0555,0x0585,0x0555},{0x0586,0x0556,0x0586,0x0556},
+{0x1d8e,0xa7c6,0x1d8e,0xa7c6},{0x1e00,0x1e00,0x1e01,0x1e00},{0x1e01,0x1e00,0x1e01,0x1e00},{0x1e02,0x1e02,0x1e03,0x1e02},
{0x1e03,0x1e02,0x1e03,0x1e02},{0x1e04,0x1e04,0x1e05,0x1e04},{0x1e05,0x1e04,0x1e05,0x1e04},{0x1e06,0x1e06,0x1e07,0x1e06},
{0x1e07,0x1e06,0x1e07,0x1e06},{0x1e08,0x1e08,0x1e09,0x1e08},{0x1e09,0x1e08,0x1e09,0x1e08},{0x1e0a,0x1e0a,0x1e0b,0x1e0a},
{0x1e0b,0x1e0a,0x1e0b,0x1e0a},{0x1e0c,0x1e0c,0x1e0d,0x1e0c},{0x1e0d,0x1e0c,0x1e0d,0x1e0c},{0x1e0e,0x1e0e,0x1e0f,0x1e0e},
@@ -468,45 +529,61 @@ const char32_t unicode_case_tab[][4]={
{0x1e33,0x1e32,0x1e33,0x1e32},{0x1e34,0x1e34,0x1e35,0x1e34},{0x1e35,0x1e34,0x1e35,0x1e34},{0x1e36,0x1e36,0x1e37,0x1e36},
{0x1e37,0x1e36,0x1e37,0x1e36},{0x1e38,0x1e38,0x1e39,0x1e38},{0x1e39,0x1e38,0x1e39,0x1e38},{0x1e3a,0x1e3a,0x1e3b,0x1e3a},
{0x1e3b,0x1e3a,0x1e3b,0x1e3a},{0x1e3c,0x1e3c,0x1e3d,0x1e3c},{0x1e3d,0x1e3c,0x1e3d,0x1e3c},{0x1e3e,0x1e3e,0x1e3f,0x1e3e},
-{0x1e3f,0x1e3e,0x1e3f,0x1e3e},{0xa640,0xa640,0xa641,0xa640},{0x1e40,0x1e40,0x1e41,0x1e40},{0x1e41,0x1e40,0x1e41,0x1e40},
-{0xa641,0xa640,0xa641,0xa640},{0xa642,0xa642,0xa643,0xa642},{0x1e42,0x1e42,0x1e43,0x1e42},{0xa643,0xa642,0xa643,0xa642},
-{0x1e43,0x1e42,0x1e43,0x1e42},{0x1e44,0x1e44,0x1e45,0x1e44},{0xa644,0xa644,0xa645,0xa644},{0xa645,0xa644,0xa645,0xa644},
-{0x1e45,0x1e44,0x1e45,0x1e44},{0x1e46,0x1e46,0x1e47,0x1e46},{0xa646,0xa646,0xa647,0xa646},{0xa647,0xa646,0xa647,0xa646},
-{0x1e47,0x1e46,0x1e47,0x1e46},{0x1e48,0x1e48,0x1e49,0x1e48},{0xa648,0xa648,0xa649,0xa648},{0x1e49,0x1e48,0x1e49,0x1e48},
-{0xa649,0xa648,0xa649,0xa648},{0xa64a,0xa64a,0xa64b,0xa64a},{0x1e4a,0x1e4a,0x1e4b,0x1e4a},{0xa64b,0xa64a,0xa64b,0xa64a},
-{0x1e4b,0x1e4a,0x1e4b,0x1e4a},{0xa64c,0xa64c,0xa64d,0xa64c},{0x1e4c,0x1e4c,0x1e4d,0x1e4c},{0x1e4d,0x1e4c,0x1e4d,0x1e4c},
-{0xa64d,0xa64c,0xa64d,0xa64c},{0x1e4e,0x1e4e,0x1e4f,0x1e4e},{0xa64e,0xa64e,0xa64f,0xa64e},{0x1e4f,0x1e4e,0x1e4f,0x1e4e},
-{0xa64f,0xa64e,0xa64f,0xa64e},{0xa650,0xa650,0xa651,0xa650},{0x1e50,0x1e50,0x1e51,0x1e50},{0xa651,0xa650,0xa651,0xa650},
-{0x1e51,0x1e50,0x1e51,0x1e50},{0x1e52,0x1e52,0x1e53,0x1e52},{0xa652,0xa652,0xa653,0xa652},{0x1e53,0x1e52,0x1e53,0x1e52},
-{0xa653,0xa652,0xa653,0xa652},{0x1e54,0x1e54,0x1e55,0x1e54},{0xa654,0xa654,0xa655,0xa654},{0x1e55,0x1e54,0x1e55,0x1e54},
-{0xa655,0xa654,0xa655,0xa654},{0x1e56,0x1e56,0x1e57,0x1e56},{0xa656,0xa656,0xa657,0xa656},{0xa657,0xa656,0xa657,0xa656},
-{0x1e57,0x1e56,0x1e57,0x1e56},{0x1e58,0x1e58,0x1e59,0x1e58},{0xa658,0xa658,0xa659,0xa658},{0xa659,0xa658,0xa659,0xa658},
-{0x1e59,0x1e58,0x1e59,0x1e58},{0xa65a,0xa65a,0xa65b,0xa65a},{0x1e5a,0x1e5a,0x1e5b,0x1e5a},{0x1e5b,0x1e5a,0x1e5b,0x1e5a},
-{0xa65b,0xa65a,0xa65b,0xa65a},{0x1e5c,0x1e5c,0x1e5d,0x1e5c},{0xa65c,0xa65c,0xa65d,0xa65c},{0xa65d,0xa65c,0xa65d,0xa65c},
-{0x1e5d,0x1e5c,0x1e5d,0x1e5c},{0x1e5e,0x1e5e,0x1e5f,0x1e5e},{0xa65e,0xa65e,0xa65f,0xa65e},{0x1e5f,0x1e5e,0x1e5f,0x1e5e},
-{0xa65f,0xa65e,0xa65f,0xa65e},{0xa660,0xa660,0xa661,0xa660},{0x1e60,0x1e60,0x1e61,0x1e60},{0x1e61,0x1e60,0x1e61,0x1e60},
-{0xa661,0xa660,0xa661,0xa660},{0x1e62,0x1e62,0x1e63,0x1e62},{0xa662,0xa662,0xa663,0xa662},{0xa663,0xa662,0xa663,0xa662},
-{0x1e63,0x1e62,0x1e63,0x1e62},{0xa664,0xa664,0xa665,0xa664},{0x1e64,0x1e64,0x1e65,0x1e64},{0xa665,0xa664,0xa665,0xa664},
-{0x1e65,0x1e64,0x1e65,0x1e64},{0x1e66,0x1e66,0x1e67,0x1e66},{0xa666,0xa666,0xa667,0xa666},{0xa667,0xa666,0xa667,0xa666},
-{0x1e67,0x1e66,0x1e67,0x1e66},{0x1e68,0x1e68,0x1e69,0x1e68},{0xa668,0xa668,0xa669,0xa668},{0x1e69,0x1e68,0x1e69,0x1e68},
-{0xa669,0xa668,0xa669,0xa668},{0x1e6a,0x1e6a,0x1e6b,0x1e6a},{0xa66a,0xa66a,0xa66b,0xa66a},{0xa66b,0xa66a,0xa66b,0xa66a},
-{0x1e6b,0x1e6a,0x1e6b,0x1e6a},{0xa66c,0xa66c,0xa66d,0xa66c},{0x1e6c,0x1e6c,0x1e6d,0x1e6c},{0x1e6d,0x1e6c,0x1e6d,0x1e6c},
-{0xa66d,0xa66c,0xa66d,0xa66c},{0x1e6e,0x1e6e,0x1e6f,0x1e6e},{0x1e6f,0x1e6e,0x1e6f,0x1e6e},{0x1e70,0x1e70,0x1e71,0x1e70},
-{0x1e71,0x1e70,0x1e71,0x1e70},{0x1e72,0x1e72,0x1e73,0x1e72},{0x1e73,0x1e72,0x1e73,0x1e72},{0x1e74,0x1e74,0x1e75,0x1e74},
-{0x1e75,0x1e74,0x1e75,0x1e74},{0x1e76,0x1e76,0x1e77,0x1e76},{0x1e77,0x1e76,0x1e77,0x1e76},{0x1e78,0x1e78,0x1e79,0x1e78},
-{0x1e79,0x1e78,0x1e79,0x1e78},{0x1e7a,0x1e7a,0x1e7b,0x1e7a},{0x1e7b,0x1e7a,0x1e7b,0x1e7a},{0x1e7c,0x1e7c,0x1e7d,0x1e7c},
-{0x1e7d,0x1e7c,0x1e7d,0x1e7c},{0x1e7e,0x1e7e,0x1e7f,0x1e7e},{0x1e7f,0x1e7e,0x1e7f,0x1e7e},{0xa680,0xa680,0xa681,0xa680},
-{0x1e80,0x1e80,0x1e81,0x1e80},{0xa681,0xa680,0xa681,0xa680},{0x1e81,0x1e80,0x1e81,0x1e80},{0xa682,0xa682,0xa683,0xa682},
-{0x1e82,0x1e82,0x1e83,0x1e82},{0xa683,0xa682,0xa683,0xa682},{0x1e83,0x1e82,0x1e83,0x1e82},{0xa684,0xa684,0xa685,0xa684},
-{0x1e84,0x1e84,0x1e85,0x1e84},{0x1e85,0x1e84,0x1e85,0x1e84},{0xa685,0xa684,0xa685,0xa684},{0x1e86,0x1e86,0x1e87,0x1e86},
-{0xa686,0xa686,0xa687,0xa686},{0xa687,0xa686,0xa687,0xa686},{0x1e87,0x1e86,0x1e87,0x1e86},{0xa688,0xa688,0xa689,0xa688},
-{0x1e88,0x1e88,0x1e89,0x1e88},{0x1e89,0x1e88,0x1e89,0x1e88},{0xa689,0xa688,0xa689,0xa688},{0x1e8a,0x1e8a,0x1e8b,0x1e8a},
-{0xa68a,0xa68a,0xa68b,0xa68a},{0xa68b,0xa68a,0xa68b,0xa68a},{0x1e8b,0x1e8a,0x1e8b,0x1e8a},{0x1e8c,0x1e8c,0x1e8d,0x1e8c},
-{0xa68c,0xa68c,0xa68d,0xa68c},{0x1e8d,0x1e8c,0x1e8d,0x1e8c},{0xa68d,0xa68c,0xa68d,0xa68c},{0xa68e,0xa68e,0xa68f,0xa68e},
+{0x1e3f,0x1e3e,0x1e3f,0x1e3e},{0xa640,0xa640,0xa641,0xa640},{0x16e40,0x16e40,0x16e60,0x16e40},{0x1e40,0x1e40,0x1e41,0x1e40},
+{0x16e41,0x16e41,0x16e61,0x16e41},{0xa641,0xa640,0xa641,0xa640},{0x1e41,0x1e40,0x1e41,0x1e40},{0xa642,0xa642,0xa643,0xa642},
+{0x1e42,0x1e42,0x1e43,0x1e42},{0x16e42,0x16e42,0x16e62,0x16e42},{0x1e43,0x1e42,0x1e43,0x1e42},{0x16e43,0x16e43,0x16e63,0x16e43},
+{0xa643,0xa642,0xa643,0xa642},{0x1e44,0x1e44,0x1e45,0x1e44},{0x16e44,0x16e44,0x16e64,0x16e44},{0xa644,0xa644,0xa645,0xa644},
+{0x1e45,0x1e44,0x1e45,0x1e44},{0xa645,0xa644,0xa645,0xa644},{0x16e45,0x16e45,0x16e65,0x16e45},{0x16e46,0x16e46,0x16e66,0x16e46},
+{0x1e46,0x1e46,0x1e47,0x1e46},{0xa646,0xa646,0xa647,0xa646},{0x16e47,0x16e47,0x16e67,0x16e47},{0x1e47,0x1e46,0x1e47,0x1e46},
+{0xa647,0xa646,0xa647,0xa646},{0x16e48,0x16e48,0x16e68,0x16e48},{0xa648,0xa648,0xa649,0xa648},{0x1e48,0x1e48,0x1e49,0x1e48},
+{0x16e49,0x16e49,0x16e69,0x16e49},{0xa649,0xa648,0xa649,0xa648},{0x1e49,0x1e48,0x1e49,0x1e48},{0x1e4a,0x1e4a,0x1e4b,0x1e4a},
+{0x16e4a,0x16e4a,0x16e6a,0x16e4a},{0xa64a,0xa64a,0xa64b,0xa64a},{0xa64b,0xa64a,0xa64b,0xa64a},{0x1e4b,0x1e4a,0x1e4b,0x1e4a},
+{0x16e4b,0x16e4b,0x16e6b,0x16e4b},{0x16e4c,0x16e4c,0x16e6c,0x16e4c},{0x1e4c,0x1e4c,0x1e4d,0x1e4c},{0xa64c,0xa64c,0xa64d,0xa64c},
+{0xa64d,0xa64c,0xa64d,0xa64c},{0x1e4d,0x1e4c,0x1e4d,0x1e4c},{0x16e4d,0x16e4d,0x16e6d,0x16e4d},{0xa64e,0xa64e,0xa64f,0xa64e},
+{0x16e4e,0x16e4e,0x16e6e,0x16e4e},{0x1e4e,0x1e4e,0x1e4f,0x1e4e},{0x16e4f,0x16e4f,0x16e6f,0x16e4f},{0xa64f,0xa64e,0xa64f,0xa64e},
+{0x1e4f,0x1e4e,0x1e4f,0x1e4e},{0x1e50,0x1e50,0x1e51,0x1e50},{0xa650,0xa650,0xa651,0xa650},{0x16e50,0x16e50,0x16e70,0x16e50},
+{0xa651,0xa650,0xa651,0xa650},{0x16e51,0x16e51,0x16e71,0x16e51},{0x1e51,0x1e50,0x1e51,0x1e50},{0xa652,0xa652,0xa653,0xa652},
+{0x1e52,0x1e52,0x1e53,0x1e52},{0x16e52,0x16e52,0x16e72,0x16e52},{0xa653,0xa652,0xa653,0xa652},{0x16e53,0x16e53,0x16e73,0x16e53},
+{0x1e53,0x1e52,0x1e53,0x1e52},{0x1e54,0x1e54,0x1e55,0x1e54},{0x16e54,0x16e54,0x16e74,0x16e54},{0xa654,0xa654,0xa655,0xa654},
+{0x1e55,0x1e54,0x1e55,0x1e54},{0xa655,0xa654,0xa655,0xa654},{0x16e55,0x16e55,0x16e75,0x16e55},{0x16e56,0x16e56,0x16e76,0x16e56},
+{0x1e56,0x1e56,0x1e57,0x1e56},{0xa656,0xa656,0xa657,0xa656},{0xa657,0xa656,0xa657,0xa656},{0x16e57,0x16e57,0x16e77,0x16e57},
+{0x1e57,0x1e56,0x1e57,0x1e56},{0xa658,0xa658,0xa659,0xa658},{0x16e58,0x16e58,0x16e78,0x16e58},{0x1e58,0x1e58,0x1e59,0x1e58},
+{0x16e59,0x16e59,0x16e79,0x16e59},{0xa659,0xa658,0xa659,0xa658},{0x1e59,0x1e58,0x1e59,0x1e58},{0xa65a,0xa65a,0xa65b,0xa65a},
+{0x1e5a,0x1e5a,0x1e5b,0x1e5a},{0x16e5a,0x16e5a,0x16e7a,0x16e5a},{0xa65b,0xa65a,0xa65b,0xa65a},{0x1e5b,0x1e5a,0x1e5b,0x1e5a},
+{0x16e5b,0x16e5b,0x16e7b,0x16e5b},{0x1e5c,0x1e5c,0x1e5d,0x1e5c},{0xa65c,0xa65c,0xa65d,0xa65c},{0x16e5c,0x16e5c,0x16e7c,0x16e5c},
+{0xa65d,0xa65c,0xa65d,0xa65c},{0x1e5d,0x1e5c,0x1e5d,0x1e5c},{0x16e5d,0x16e5d,0x16e7d,0x16e5d},{0x16e5e,0x16e5e,0x16e7e,0x16e5e},
+{0x1e5e,0x1e5e,0x1e5f,0x1e5e},{0xa65e,0xa65e,0xa65f,0xa65e},{0xa65f,0xa65e,0xa65f,0xa65e},{0x1e5f,0x1e5e,0x1e5f,0x1e5e},
+{0x16e5f,0x16e5f,0x16e7f,0x16e5f},{0x16e60,0x16e40,0x16e60,0x16e40},{0x1e60,0x1e60,0x1e61,0x1e60},{0xa660,0xa660,0xa661,0xa660},
+{0x1e61,0x1e60,0x1e61,0x1e60},{0xa661,0xa660,0xa661,0xa660},{0x16e61,0x16e41,0x16e61,0x16e41},{0xa662,0xa662,0xa663,0xa662},
+{0x1e62,0x1e62,0x1e63,0x1e62},{0x16e62,0x16e42,0x16e62,0x16e42},{0x16e63,0x16e43,0x16e63,0x16e43},{0x1e63,0x1e62,0x1e63,0x1e62},
+{0xa663,0xa662,0xa663,0xa662},{0x1e64,0x1e64,0x1e65,0x1e64},{0xa664,0xa664,0xa665,0xa664},{0x16e64,0x16e44,0x16e64,0x16e44},
+{0xa665,0xa664,0xa665,0xa664},{0x16e65,0x16e45,0x16e65,0x16e45},{0x1e65,0x1e64,0x1e65,0x1e64},{0xa666,0xa666,0xa667,0xa666},
+{0x1e66,0x1e66,0x1e67,0x1e66},{0x16e66,0x16e46,0x16e66,0x16e46},{0xa667,0xa666,0xa667,0xa666},{0x1e67,0x1e66,0x1e67,0x1e66},
+{0x16e67,0x16e47,0x16e67,0x16e47},{0x16e68,0x16e48,0x16e68,0x16e48},{0xa668,0xa668,0xa669,0xa668},{0x1e68,0x1e68,0x1e69,0x1e68},
+{0x1e69,0x1e68,0x1e69,0x1e68},{0x16e69,0x16e49,0x16e69,0x16e49},{0xa669,0xa668,0xa669,0xa668},{0x16e6a,0x16e4a,0x16e6a,0x16e4a},
+{0xa66a,0xa66a,0xa66b,0xa66a},{0x1e6a,0x1e6a,0x1e6b,0x1e6a},{0x1e6b,0x1e6a,0x1e6b,0x1e6a},{0x16e6b,0x16e4b,0x16e6b,0x16e4b},
+{0xa66b,0xa66a,0xa66b,0xa66a},{0x16e6c,0x16e4c,0x16e6c,0x16e4c},{0x1e6c,0x1e6c,0x1e6d,0x1e6c},{0xa66c,0xa66c,0xa66d,0xa66c},
+{0xa66d,0xa66c,0xa66d,0xa66c},{0x16e6d,0x16e4d,0x16e6d,0x16e4d},{0x1e6d,0x1e6c,0x1e6d,0x1e6c},{0x1e6e,0x1e6e,0x1e6f,0x1e6e},
+{0x16e6e,0x16e4e,0x16e6e,0x16e4e},{0x1e6f,0x1e6e,0x1e6f,0x1e6e},{0x16e6f,0x16e4f,0x16e6f,0x16e4f},{0x1e70,0x1e70,0x1e71,0x1e70},
+{0x16e70,0x16e50,0x16e70,0x16e50},{0x1e71,0x1e70,0x1e71,0x1e70},{0x16e71,0x16e51,0x16e71,0x16e51},{0x1e72,0x1e72,0x1e73,0x1e72},
+{0x16e72,0x16e52,0x16e72,0x16e52},{0x16e73,0x16e53,0x16e73,0x16e53},{0x1e73,0x1e72,0x1e73,0x1e72},{0x16e74,0x16e54,0x16e74,0x16e54},
+{0x1e74,0x1e74,0x1e75,0x1e74},{0x1e75,0x1e74,0x1e75,0x1e74},{0x16e75,0x16e55,0x16e75,0x16e55},{0x1e76,0x1e76,0x1e77,0x1e76},
+{0x16e76,0x16e56,0x16e76,0x16e56},{0x1e77,0x1e76,0x1e77,0x1e76},{0x16e77,0x16e57,0x16e77,0x16e57},{0x16e78,0x16e58,0x16e78,0x16e58},
+{0x1e78,0x1e78,0x1e79,0x1e78},{0x16e79,0x16e59,0x16e79,0x16e59},{0x1e79,0x1e78,0x1e79,0x1e78},{0x16e7a,0x16e5a,0x16e7a,0x16e5a},
+{0x1e7a,0x1e7a,0x1e7b,0x1e7a},{0x16e7b,0x16e5b,0x16e7b,0x16e5b},{0x1e7b,0x1e7a,0x1e7b,0x1e7a},{0x1e7c,0x1e7c,0x1e7d,0x1e7c},
+{0x16e7c,0x16e5c,0x16e7c,0x16e5c},{0x1e7d,0x1e7c,0x1e7d,0x1e7c},{0x16e7d,0x16e5d,0x16e7d,0x16e5d},{0x1e7e,0x1e7e,0x1e7f,0x1e7e},
+{0x16e7e,0x16e5e,0x16e7e,0x16e5e},{0x16e7f,0x16e5f,0x16e7f,0x16e5f},{0x1e7f,0x1e7e,0x1e7f,0x1e7e},{0xa680,0xa680,0xa681,0xa680},
+{0x1e80,0x1e80,0x1e81,0x1e80},{0x1e81,0x1e80,0x1e81,0x1e80},{0xa681,0xa680,0xa681,0xa680},{0xa682,0xa682,0xa683,0xa682},
+{0x1e82,0x1e82,0x1e83,0x1e82},{0xa683,0xa682,0xa683,0xa682},{0x1e83,0x1e82,0x1e83,0x1e82},{0x1e84,0x1e84,0x1e85,0x1e84},
+{0xa684,0xa684,0xa685,0xa684},{0x1e85,0x1e84,0x1e85,0x1e84},{0xa685,0xa684,0xa685,0xa684},{0xa686,0xa686,0xa687,0xa686},
+{0x1e86,0x1e86,0x1e87,0x1e86},{0xa687,0xa686,0xa687,0xa686},{0x1e87,0x1e86,0x1e87,0x1e86},{0x1e88,0x1e88,0x1e89,0x1e88},
+{0xa688,0xa688,0xa689,0xa688},{0x1e89,0x1e88,0x1e89,0x1e88},{0xa689,0xa688,0xa689,0xa688},{0x1e8a,0x1e8a,0x1e8b,0x1e8a},
+{0xa68a,0xa68a,0xa68b,0xa68a},{0x1e8b,0x1e8a,0x1e8b,0x1e8a},{0xa68b,0xa68a,0xa68b,0xa68a},{0xa68c,0xa68c,0xa68d,0xa68c},
+{0x1e8c,0x1e8c,0x1e8d,0x1e8c},{0x1e8d,0x1e8c,0x1e8d,0x1e8c},{0xa68d,0xa68c,0xa68d,0xa68c},{0xa68e,0xa68e,0xa68f,0xa68e},
{0x1e8e,0x1e8e,0x1e8f,0x1e8e},{0x1e8f,0x1e8e,0x1e8f,0x1e8e},{0xa68f,0xa68e,0xa68f,0xa68e},{0xa690,0xa690,0xa691,0xa690},
-{0x1e90,0x1e90,0x1e91,0x1e90},{0xa691,0xa690,0xa691,0xa690},{0x1e91,0x1e90,0x1e91,0x1e90},{0x1e92,0x1e92,0x1e93,0x1e92},
-{0xa692,0xa692,0xa693,0xa692},{0xa693,0xa692,0xa693,0xa692},{0x1e93,0x1e92,0x1e93,0x1e92},{0xa694,0xa694,0xa695,0xa694},
-{0x1e94,0x1e94,0x1e95,0x1e94},{0x1e95,0x1e94,0x1e95,0x1e94},{0xa695,0xa694,0xa695,0xa694},{0xa696,0xa696,0xa697,0xa696},
+{0x1e90,0x1e90,0x1e91,0x1e90},{0xa691,0xa690,0xa691,0xa690},{0x1e91,0x1e90,0x1e91,0x1e90},{0xa692,0xa692,0xa693,0xa692},
+{0x1e92,0x1e92,0x1e93,0x1e92},{0x1e93,0x1e92,0x1e93,0x1e92},{0xa693,0xa692,0xa693,0xa692},{0x1e94,0x1e94,0x1e95,0x1e94},
+{0xa694,0xa694,0xa695,0xa694},{0xa695,0xa694,0xa695,0xa694},{0x1e95,0x1e94,0x1e95,0x1e94},{0xa696,0xa696,0xa697,0xa696},
{0xa697,0xa696,0xa697,0xa696},{0xa698,0xa698,0xa699,0xa698},{0xa699,0xa698,0xa699,0xa698},{0xa69a,0xa69a,0xa69b,0xa69a},
{0x1e9b,0x1e60,0x1e9b,0x1e60},{0xa69b,0xa69a,0xa69b,0xa69a},{0x1e9e,0x1e9e,0x00df,0x1e9e},{0x1ea0,0x1ea0,0x1ea1,0x1ea0},
{0x1ea1,0x1ea0,0x1ea1,0x1ea0},{0x1ea2,0x1ea2,0x1ea3,0x1ea2},{0x1ea3,0x1ea2,0x1ea3,0x1ea2},{0x1ea4,0x1ea4,0x1ea5,0x1ea4},
@@ -540,93 +617,98 @@ const char32_t unicode_case_tab[][4]={
{0x1f11,0x1f19,0x1f11,0x1f19},{0x1f12,0x1f1a,0x1f12,0x1f1a},{0x1f13,0x1f1b,0x1f13,0x1f1b},{0x1f14,0x1f1c,0x1f14,0x1f1c},
{0x1f15,0x1f1d,0x1f15,0x1f1d},{0x1f18,0x1f18,0x1f10,0x1f18},{0x1f19,0x1f19,0x1f11,0x1f19},{0x1f1a,0x1f1a,0x1f12,0x1f1a},
{0x1f1b,0x1f1b,0x1f13,0x1f1b},{0x1f1c,0x1f1c,0x1f14,0x1f1c},{0x1f1d,0x1f1d,0x1f15,0x1f1d},{0x1f20,0x1f28,0x1f20,0x1f28},
-{0x1f21,0x1f29,0x1f21,0x1f29},{0xff21,0xff21,0xff41,0xff21},{0xff22,0xff22,0xff42,0xff22},{0xa722,0xa722,0xa723,0xa722},
-{0x1f22,0x1f2a,0x1f22,0x1f2a},{0x1f23,0x1f2b,0x1f23,0x1f2b},{0xa723,0xa722,0xa723,0xa722},{0xff23,0xff23,0xff43,0xff23},
-{0xa724,0xa724,0xa725,0xa724},{0xff24,0xff24,0xff44,0xff24},{0x1f24,0x1f2c,0x1f24,0x1f2c},{0xff25,0xff25,0xff45,0xff25},
-{0x1f25,0x1f2d,0x1f25,0x1f2d},{0xa725,0xa724,0xa725,0xa724},{0x1f26,0x1f2e,0x1f26,0x1f2e},{0xa726,0xa726,0xa727,0xa726},
-{0xff26,0xff26,0xff46,0xff26},{0xff27,0xff27,0xff47,0xff27},{0x1f27,0x1f2f,0x1f27,0x1f2f},{0xa727,0xa726,0xa727,0xa726},
+{0xff21,0xff21,0xff41,0xff21},{0x1f21,0x1f29,0x1f21,0x1f29},{0xa722,0xa722,0xa723,0xa722},{0x1f22,0x1f2a,0x1f22,0x1f2a},
+{0xff22,0xff22,0xff42,0xff22},{0xff23,0xff23,0xff43,0xff23},{0x1f23,0x1f2b,0x1f23,0x1f2b},{0xa723,0xa722,0xa723,0xa722},
+{0x1f24,0x1f2c,0x1f24,0x1f2c},{0xa724,0xa724,0xa725,0xa724},{0xff24,0xff24,0xff44,0xff24},{0x1f25,0x1f2d,0x1f25,0x1f2d},
+{0xa725,0xa724,0xa725,0xa724},{0xff25,0xff25,0xff45,0xff25},{0xa726,0xa726,0xa727,0xa726},{0x1f26,0x1f2e,0x1f26,0x1f2e},
+{0xff26,0xff26,0xff46,0xff26},{0x1f27,0x1f2f,0x1f27,0x1f2f},{0xa727,0xa726,0xa727,0xa726},{0xff27,0xff27,0xff47,0xff27},
{0xff28,0xff28,0xff48,0xff28},{0xa728,0xa728,0xa729,0xa728},{0x1f28,0x1f28,0x1f20,0x1f28},{0x1f29,0x1f29,0x1f21,0x1f29},
-{0xa729,0xa728,0xa729,0xa728},{0xff29,0xff29,0xff49,0xff29},{0x1f2a,0x1f2a,0x1f22,0x1f2a},{0xff2a,0xff2a,0xff4a,0xff2a},
-{0xa72a,0xa72a,0xa72b,0xa72a},{0xa72b,0xa72a,0xa72b,0xa72a},{0x1f2b,0x1f2b,0x1f23,0x1f2b},{0xff2b,0xff2b,0xff4b,0xff2b},
-{0xff2c,0xff2c,0xff4c,0xff2c},{0x1f2c,0x1f2c,0x1f24,0x1f2c},{0xa72c,0xa72c,0xa72d,0xa72c},{0xff2d,0xff2d,0xff4d,0xff2d},
-{0x1f2d,0x1f2d,0x1f25,0x1f2d},{0xa72d,0xa72c,0xa72d,0xa72c},{0xff2e,0xff2e,0xff4e,0xff2e},{0xa72e,0xa72e,0xa72f,0xa72e},
-{0x1f2e,0x1f2e,0x1f26,0x1f2e},{0xff2f,0xff2f,0xff4f,0xff2f},{0xa72f,0xa72e,0xa72f,0xa72e},{0x1f2f,0x1f2f,0x1f27,0x1f2f},
+{0xa729,0xa728,0xa729,0xa728},{0xff29,0xff29,0xff49,0xff29},{0xff2a,0xff2a,0xff4a,0xff2a},{0x1f2a,0x1f2a,0x1f22,0x1f2a},
+{0xa72a,0xa72a,0xa72b,0xa72a},{0x1f2b,0x1f2b,0x1f23,0x1f2b},{0xa72b,0xa72a,0xa72b,0xa72a},{0xff2b,0xff2b,0xff4b,0xff2b},
+{0x1f2c,0x1f2c,0x1f24,0x1f2c},{0xff2c,0xff2c,0xff4c,0xff2c},{0xa72c,0xa72c,0xa72d,0xa72c},{0xff2d,0xff2d,0xff4d,0xff2d},
+{0x1f2d,0x1f2d,0x1f25,0x1f2d},{0xa72d,0xa72c,0xa72d,0xa72c},{0xa72e,0xa72e,0xa72f,0xa72e},{0xff2e,0xff2e,0xff4e,0xff2e},
+{0x1f2e,0x1f2e,0x1f26,0x1f2e},{0xff2f,0xff2f,0xff4f,0xff2f},{0x1f2f,0x1f2f,0x1f27,0x1f2f},{0xa72f,0xa72e,0xa72f,0xa72e},
{0x1f30,0x1f38,0x1f30,0x1f38},{0xff30,0xff30,0xff50,0xff30},{0x1f31,0x1f39,0x1f31,0x1f39},{0xff31,0xff31,0xff51,0xff31},
-{0xff32,0xff32,0xff52,0xff32},{0xa732,0xa732,0xa733,0xa732},{0x1f32,0x1f3a,0x1f32,0x1f3a},{0xff33,0xff33,0xff53,0xff33},
-{0xa733,0xa732,0xa733,0xa732},{0x1f33,0x1f3b,0x1f33,0x1f3b},{0x1f34,0x1f3c,0x1f34,0x1f3c},{0xa734,0xa734,0xa735,0xa734},
-{0xff34,0xff34,0xff54,0xff34},{0xff35,0xff35,0xff55,0xff35},{0x1f35,0x1f3d,0x1f35,0x1f3d},{0xa735,0xa734,0xa735,0xa734},
-{0xa736,0xa736,0xa737,0xa736},{0x1f36,0x1f3e,0x1f36,0x1f3e},{0xff36,0xff36,0xff56,0xff36},{0xa737,0xa736,0xa737,0xa736},
-{0xff37,0xff37,0xff57,0xff37},{0x1f37,0x1f3f,0x1f37,0x1f3f},{0xa738,0xa738,0xa739,0xa738},{0x1f38,0x1f38,0x1f30,0x1f38},
-{0xff38,0xff38,0xff58,0xff38},{0xff39,0xff39,0xff59,0xff39},{0xa739,0xa738,0xa739,0xa738},{0x1f39,0x1f39,0x1f31,0x1f39},
-{0x1f3a,0x1f3a,0x1f32,0x1f3a},{0xff3a,0xff3a,0xff5a,0xff3a},{0xa73a,0xa73a,0xa73b,0xa73a},{0x1f3b,0x1f3b,0x1f33,0x1f3b},
-{0xa73b,0xa73a,0xa73b,0xa73a},{0x1f3c,0x1f3c,0x1f34,0x1f3c},{0xa73c,0xa73c,0xa73d,0xa73c},{0xa73d,0xa73c,0xa73d,0xa73c},
-{0x1f3d,0x1f3d,0x1f35,0x1f3d},{0x1f3e,0x1f3e,0x1f36,0x1f3e},{0xa73e,0xa73e,0xa73f,0xa73e},{0xa73f,0xa73e,0xa73f,0xa73e},
-{0x1f3f,0x1f3f,0x1f37,0x1f3f},{0xa740,0xa740,0xa741,0xa740},{0x1f40,0x1f48,0x1f40,0x1f48},{0xa741,0xa740,0xa741,0xa740},
-{0xff41,0xff21,0xff41,0xff21},{0x1f41,0x1f49,0x1f41,0x1f49},{0x1f42,0x1f4a,0x1f42,0x1f4a},{0xff42,0xff22,0xff42,0xff22},
-{0xa742,0xa742,0xa743,0xa742},{0xff43,0xff23,0xff43,0xff23},{0x1f43,0x1f4b,0x1f43,0x1f4b},{0xa743,0xa742,0xa743,0xa742},
-{0xff44,0xff24,0xff44,0xff24},{0x1f44,0x1f4c,0x1f44,0x1f4c},{0xa744,0xa744,0xa745,0xa744},{0xff45,0xff25,0xff45,0xff25},
-{0xa745,0xa744,0xa745,0xa744},{0x1f45,0x1f4d,0x1f45,0x1f4d},{0xff46,0xff26,0xff46,0xff26},{0xa746,0xa746,0xa747,0xa746},
-{0xa747,0xa746,0xa747,0xa746},{0xff47,0xff27,0xff47,0xff27},{0x1f48,0x1f48,0x1f40,0x1f48},{0xff48,0xff28,0xff48,0xff28},
-{0xa748,0xa748,0xa749,0xa748},{0xff49,0xff29,0xff49,0xff29},{0xa749,0xa748,0xa749,0xa748},{0x1f49,0x1f49,0x1f41,0x1f49},
-{0xff4a,0xff2a,0xff4a,0xff2a},{0x1f4a,0x1f4a,0x1f42,0x1f4a},{0xa74a,0xa74a,0xa74b,0xa74a},{0xa74b,0xa74a,0xa74b,0xa74a},
-{0x1f4b,0x1f4b,0x1f43,0x1f4b},{0xff4b,0xff2b,0xff4b,0xff2b},{0x1f4c,0x1f4c,0x1f44,0x1f4c},{0xff4c,0xff2c,0xff4c,0xff2c},
-{0xa74c,0xa74c,0xa74d,0xa74c},{0xff4d,0xff2d,0xff4d,0xff2d},{0x1f4d,0x1f4d,0x1f45,0x1f4d},{0xa74d,0xa74c,0xa74d,0xa74c},
-{0xff4e,0xff2e,0xff4e,0xff2e},{0xa74e,0xa74e,0xa74f,0xa74e},{0xff4f,0xff2f,0xff4f,0xff2f},{0xa74f,0xa74e,0xa74f,0xa74e},
-{0xa750,0xa750,0xa751,0xa750},{0xff50,0xff30,0xff50,0xff30},{0xff51,0xff31,0xff51,0xff31},{0xa751,0xa750,0xa751,0xa750},
-{0x1f51,0x1f59,0x1f51,0x1f59},{0xa752,0xa752,0xa753,0xa752},{0xff52,0xff32,0xff52,0xff32},{0x1f53,0x1f5b,0x1f53,0x1f5b},
+{0xff32,0xff32,0xff52,0xff32},{0x1f32,0x1f3a,0x1f32,0x1f3a},{0xa732,0xa732,0xa733,0xa732},{0xa733,0xa732,0xa733,0xa732},
+{0x1f33,0x1f3b,0x1f33,0x1f3b},{0xff33,0xff33,0xff53,0xff33},{0xff34,0xff34,0xff54,0xff34},{0x1f34,0x1f3c,0x1f34,0x1f3c},
+{0xa734,0xa734,0xa735,0xa734},{0xa735,0xa734,0xa735,0xa734},{0x1f35,0x1f3d,0x1f35,0x1f3d},{0xff35,0xff35,0xff55,0xff35},
+{0xa736,0xa736,0xa737,0xa736},{0xff36,0xff36,0xff56,0xff36},{0x1f36,0x1f3e,0x1f36,0x1f3e},{0x1f37,0x1f3f,0x1f37,0x1f3f},
+{0xff37,0xff37,0xff57,0xff37},{0xa737,0xa736,0xa737,0xa736},{0x1f38,0x1f38,0x1f30,0x1f38},{0xff38,0xff38,0xff58,0xff38},
+{0xa738,0xa738,0xa739,0xa738},{0x1f39,0x1f39,0x1f31,0x1f39},{0xa739,0xa738,0xa739,0xa738},{0xff39,0xff39,0xff59,0xff39},
+{0xa73a,0xa73a,0xa73b,0xa73a},{0xff3a,0xff3a,0xff5a,0xff3a},{0x1f3a,0x1f3a,0x1f32,0x1f3a},{0xa73b,0xa73a,0xa73b,0xa73a},
+{0x1f3b,0x1f3b,0x1f33,0x1f3b},{0x1f3c,0x1f3c,0x1f34,0x1f3c},{0xa73c,0xa73c,0xa73d,0xa73c},{0xa73d,0xa73c,0xa73d,0xa73c},
+{0x1f3d,0x1f3d,0x1f35,0x1f3d},{0x1f3e,0x1f3e,0x1f36,0x1f3e},{0xa73e,0xa73e,0xa73f,0xa73e},{0x1f3f,0x1f3f,0x1f37,0x1f3f},
+{0xa73f,0xa73e,0xa73f,0xa73e},{0xa740,0xa740,0xa741,0xa740},{0x1f40,0x1f48,0x1f40,0x1f48},{0xa741,0xa740,0xa741,0xa740},
+{0xff41,0xff21,0xff41,0xff21},{0x1f41,0x1f49,0x1f41,0x1f49},{0xa742,0xa742,0xa743,0xa742},{0xff42,0xff22,0xff42,0xff22},
+{0x1f42,0x1f4a,0x1f42,0x1f4a},{0xff43,0xff23,0xff43,0xff23},{0xa743,0xa742,0xa743,0xa742},{0x1f43,0x1f4b,0x1f43,0x1f4b},
+{0xff44,0xff24,0xff44,0xff24},{0x1f44,0x1f4c,0x1f44,0x1f4c},{0xa744,0xa744,0xa745,0xa744},{0xa745,0xa744,0xa745,0xa744},
+{0xff45,0xff25,0xff45,0xff25},{0x1f45,0x1f4d,0x1f45,0x1f4d},{0xff46,0xff26,0xff46,0xff26},{0xa746,0xa746,0xa747,0xa746},
+{0xa747,0xa746,0xa747,0xa746},{0xff47,0xff27,0xff47,0xff27},{0xa748,0xa748,0xa749,0xa748},{0x1f48,0x1f48,0x1f40,0x1f48},
+{0xff48,0xff28,0xff48,0xff28},{0xff49,0xff29,0xff49,0xff29},{0x1f49,0x1f49,0x1f41,0x1f49},{0xa749,0xa748,0xa749,0xa748},
+{0xff4a,0xff2a,0xff4a,0xff2a},{0xa74a,0xa74a,0xa74b,0xa74a},{0x1f4a,0x1f4a,0x1f42,0x1f4a},{0x1f4b,0x1f4b,0x1f43,0x1f4b},
+{0xa74b,0xa74a,0xa74b,0xa74a},{0xff4b,0xff2b,0xff4b,0xff2b},{0xa74c,0xa74c,0xa74d,0xa74c},{0x1f4c,0x1f4c,0x1f44,0x1f4c},
+{0xff4c,0xff2c,0xff4c,0xff2c},{0x1f4d,0x1f4d,0x1f45,0x1f4d},{0xff4d,0xff2d,0xff4d,0xff2d},{0xa74d,0xa74c,0xa74d,0xa74c},
+{0xff4e,0xff2e,0xff4e,0xff2e},{0xa74e,0xa74e,0xa74f,0xa74e},{0xa74f,0xa74e,0xa74f,0xa74e},{0xff4f,0xff2f,0xff4f,0xff2f},
+{0xa750,0xa750,0xa751,0xa750},{0xff50,0xff30,0xff50,0xff30},{0x1f51,0x1f59,0x1f51,0x1f59},{0xff51,0xff31,0xff51,0xff31},
+{0xa751,0xa750,0xa751,0xa750},{0xa752,0xa752,0xa753,0xa752},{0xff52,0xff32,0xff52,0xff32},{0x1f53,0x1f5b,0x1f53,0x1f5b},
{0xff53,0xff33,0xff53,0xff33},{0xa753,0xa752,0xa753,0xa752},{0xff54,0xff34,0xff54,0xff34},{0xa754,0xa754,0xa755,0xa754},
-{0xff55,0xff35,0xff55,0xff35},{0x1f55,0x1f5d,0x1f55,0x1f5d},{0xa755,0xa754,0xa755,0xa754},{0xff56,0xff36,0xff56,0xff36},
-{0xa756,0xa756,0xa757,0xa756},{0x1f57,0x1f5f,0x1f57,0x1f5f},{0xff57,0xff37,0xff57,0xff37},{0xa757,0xa756,0xa757,0xa756},
+{0xa755,0xa754,0xa755,0xa754},{0x1f55,0x1f5d,0x1f55,0x1f5d},{0xff55,0xff35,0xff55,0xff35},{0xff56,0xff36,0xff56,0xff36},
+{0xa756,0xa756,0xa757,0xa756},{0xff57,0xff37,0xff57,0xff37},{0x1f57,0x1f5f,0x1f57,0x1f5f},{0xa757,0xa756,0xa757,0xa756},
{0xa758,0xa758,0xa759,0xa758},{0xff58,0xff38,0xff58,0xff38},{0xff59,0xff39,0xff59,0xff39},{0xa759,0xa758,0xa759,0xa758},
{0x1f59,0x1f59,0x1f51,0x1f59},{0xff5a,0xff3a,0xff5a,0xff3a},{0xa75a,0xa75a,0xa75b,0xa75a},{0x1f5b,0x1f5b,0x1f53,0x1f5b},
-{0xa75b,0xa75a,0xa75b,0xa75a},{0xa75c,0xa75c,0xa75d,0xa75c},{0xa75d,0xa75c,0xa75d,0xa75c},{0x1f5d,0x1f5d,0x1f55,0x1f5d},
-{0xa75e,0xa75e,0xa75f,0xa75e},{0xa75f,0xa75e,0xa75f,0xa75e},{0x1f5f,0x1f5f,0x1f57,0x1f5f},{0x1f60,0x1f68,0x1f60,0x1f68},
-{0xa760,0xa760,0xa761,0xa760},{0x1f61,0x1f69,0x1f61,0x1f69},{0xa761,0xa760,0xa761,0xa760},{0xa762,0xa762,0xa763,0xa762},
-{0x1f62,0x1f6a,0x1f62,0x1f6a},{0x1f63,0x1f6b,0x1f63,0x1f6b},{0xa763,0xa762,0xa763,0xa762},{0xa764,0xa764,0xa765,0xa764},
-{0x1f64,0x1f6c,0x1f64,0x1f6c},{0x1f65,0x1f6d,0x1f65,0x1f6d},{0xa765,0xa764,0xa765,0xa764},{0xa766,0xa766,0xa767,0xa766},
-{0x1f66,0x1f6e,0x1f66,0x1f6e},{0x1f67,0x1f6f,0x1f67,0x1f6f},{0xa767,0xa766,0xa767,0xa766},{0x1f68,0x1f68,0x1f60,0x1f68},
-{0xa768,0xa768,0xa769,0xa768},{0xa769,0xa768,0xa769,0xa768},{0x1f69,0x1f69,0x1f61,0x1f69},{0xa76a,0xa76a,0xa76b,0xa76a},
-{0x1f6a,0x1f6a,0x1f62,0x1f6a},{0x1f6b,0x1f6b,0x1f63,0x1f6b},{0xa76b,0xa76a,0xa76b,0xa76a},{0x1f6c,0x1f6c,0x1f64,0x1f6c},
-{0xa76c,0xa76c,0xa76d,0xa76c},{0xa76d,0xa76c,0xa76d,0xa76c},{0x1f6d,0x1f6d,0x1f65,0x1f6d},{0xa76e,0xa76e,0xa76f,0xa76e},
+{0xa75b,0xa75a,0xa75b,0xa75a},{0xa75c,0xa75c,0xa75d,0xa75c},{0x1f5d,0x1f5d,0x1f55,0x1f5d},{0xa75d,0xa75c,0xa75d,0xa75c},
+{0xa75e,0xa75e,0xa75f,0xa75e},{0x1f5f,0x1f5f,0x1f57,0x1f5f},{0xa75f,0xa75e,0xa75f,0xa75e},{0x1f60,0x1f68,0x1f60,0x1f68},
+{0xa760,0xa760,0xa761,0xa760},{0xa761,0xa760,0xa761,0xa760},{0x1f61,0x1f69,0x1f61,0x1f69},{0xa762,0xa762,0xa763,0xa762},
+{0x1f62,0x1f6a,0x1f62,0x1f6a},{0x1f63,0x1f6b,0x1f63,0x1f6b},{0xa763,0xa762,0xa763,0xa762},{0x1f64,0x1f6c,0x1f64,0x1f6c},
+{0xa764,0xa764,0xa765,0xa764},{0xa765,0xa764,0xa765,0xa764},{0x1f65,0x1f6d,0x1f65,0x1f6d},{0xa766,0xa766,0xa767,0xa766},
+{0x1f66,0x1f6e,0x1f66,0x1f6e},{0xa767,0xa766,0xa767,0xa766},{0x1f67,0x1f6f,0x1f67,0x1f6f},{0xa768,0xa768,0xa769,0xa768},
+{0x1f68,0x1f68,0x1f60,0x1f68},{0x1f69,0x1f69,0x1f61,0x1f69},{0xa769,0xa768,0xa769,0xa768},{0x1f6a,0x1f6a,0x1f62,0x1f6a},
+{0xa76a,0xa76a,0xa76b,0xa76a},{0x1f6b,0x1f6b,0x1f63,0x1f6b},{0xa76b,0xa76a,0xa76b,0xa76a},{0xa76c,0xa76c,0xa76d,0xa76c},
+{0x1f6c,0x1f6c,0x1f64,0x1f6c},{0xa76d,0xa76c,0xa76d,0xa76c},{0x1f6d,0x1f6d,0x1f65,0x1f6d},{0xa76e,0xa76e,0xa76f,0xa76e},
{0x1f6e,0x1f6e,0x1f66,0x1f6e},{0x1f6f,0x1f6f,0x1f67,0x1f6f},{0xa76f,0xa76e,0xa76f,0xa76e},{0x1f70,0x1fba,0x1f70,0x1fba},
{0x1f71,0x1fbb,0x1f71,0x1fbb},{0x1f72,0x1fc8,0x1f72,0x1fc8},{0x1f73,0x1fc9,0x1f73,0x1fc9},{0x1f74,0x1fca,0x1f74,0x1fca},
{0x1f75,0x1fcb,0x1f75,0x1fcb},{0x1f76,0x1fda,0x1f76,0x1fda},{0x1f77,0x1fdb,0x1f77,0x1fdb},{0x1f78,0x1ff8,0x1f78,0x1ff8},
-{0xa779,0xa779,0xa77a,0xa779},{0x1f79,0x1ff9,0x1f79,0x1ff9},{0x1f7a,0x1fea,0x1f7a,0x1fea},{0xa77a,0xa779,0xa77a,0xa779},
-{0xa77b,0xa77b,0xa77c,0xa77b},{0x1f7b,0x1feb,0x1f7b,0x1feb},{0xa77c,0xa77b,0xa77c,0xa77b},{0x1f7c,0x1ffa,0x1f7c,0x1ffa},
-{0x1f7d,0x1ffb,0x1f7d,0x1ffb},{0xa77d,0xa77d,0x1d79,0xa77d},{0xa77e,0xa77e,0xa77f,0xa77e},{0xa77f,0xa77e,0xa77f,0xa77e},
-{0xa780,0xa780,0xa781,0xa780},{0x1f80,0x1f88,0x1f80,0x1f88},{0xa781,0xa780,0xa781,0xa780},{0x1f81,0x1f89,0x1f81,0x1f89},
-{0x1f82,0x1f8a,0x1f82,0x1f8a},{0xa782,0xa782,0xa783,0xa782},{0x1f83,0x1f8b,0x1f83,0x1f8b},{0xa783,0xa782,0xa783,0xa782},
+{0xa779,0xa779,0xa77a,0xa779},{0x1f79,0x1ff9,0x1f79,0x1ff9},{0xa77a,0xa779,0xa77a,0xa779},{0x1f7a,0x1fea,0x1f7a,0x1fea},
+{0x1f7b,0x1feb,0x1f7b,0x1feb},{0xa77b,0xa77b,0xa77c,0xa77b},{0x1f7c,0x1ffa,0x1f7c,0x1ffa},{0xa77c,0xa77b,0xa77c,0xa77b},
+{0xa77d,0xa77d,0x1d79,0xa77d},{0x1f7d,0x1ffb,0x1f7d,0x1ffb},{0xa77e,0xa77e,0xa77f,0xa77e},{0xa77f,0xa77e,0xa77f,0xa77e},
+{0x1f80,0x1f88,0x1f80,0x1f88},{0xa780,0xa780,0xa781,0xa780},{0x1f81,0x1f89,0x1f81,0x1f89},{0xa781,0xa780,0xa781,0xa780},
+{0x1f82,0x1f8a,0x1f82,0x1f8a},{0xa782,0xa782,0xa783,0xa782},{0xa783,0xa782,0xa783,0xa782},{0x1f83,0x1f8b,0x1f83,0x1f8b},
{0xa784,0xa784,0xa785,0xa784},{0x1f84,0x1f8c,0x1f84,0x1f8c},{0xa785,0xa784,0xa785,0xa784},{0x1f85,0x1f8d,0x1f85,0x1f8d},
-{0x1f86,0x1f8e,0x1f86,0x1f8e},{0xa786,0xa786,0xa787,0xa786},{0x1f87,0x1f8f,0x1f87,0x1f8f},{0xa787,0xa786,0xa787,0xa786},
-{0x1f88,0x1f88,0x1f80,0x1f88},{0x1f89,0x1f89,0x1f81,0x1f89},{0x1f8a,0x1f8a,0x1f82,0x1f8a},{0x1f8b,0x1f8b,0x1f83,0x1f8b},
-{0xa78b,0xa78b,0xa78c,0xa78b},{0x1f8c,0x1f8c,0x1f84,0x1f8c},{0xa78c,0xa78b,0xa78c,0xa78b},{0xa78d,0xa78d,0x0265,0xa78d},
-{0x1f8d,0x1f8d,0x1f85,0x1f8d},{0x1f8e,0x1f8e,0x1f86,0x1f8e},{0x1f8f,0x1f8f,0x1f87,0x1f8f},{0x1f90,0x1f98,0x1f90,0x1f98},
-{0xa790,0xa790,0xa791,0xa790},{0x1f91,0x1f99,0x1f91,0x1f99},{0xa791,0xa790,0xa791,0xa790},{0x1f92,0x1f9a,0x1f92,0x1f9a},
-{0xa792,0xa792,0xa793,0xa792},{0xa793,0xa792,0xa793,0xa792},{0x1f93,0x1f9b,0x1f93,0x1f9b},{0x1f94,0x1f9c,0x1f94,0x1f9c},
-{0x1f95,0x1f9d,0x1f95,0x1f9d},{0x1f96,0x1f9e,0x1f96,0x1f9e},{0xa796,0xa796,0xa797,0xa796},{0x1f97,0x1f9f,0x1f97,0x1f9f},
-{0xa797,0xa796,0xa797,0xa796},{0x1f98,0x1f98,0x1f90,0x1f98},{0xa798,0xa798,0xa799,0xa798},{0xa799,0xa798,0xa799,0xa798},
-{0x1f99,0x1f99,0x1f91,0x1f99},{0xa79a,0xa79a,0xa79b,0xa79a},{0x1f9a,0x1f9a,0x1f92,0x1f9a},{0x1f9b,0x1f9b,0x1f93,0x1f9b},
-{0xa79b,0xa79a,0xa79b,0xa79a},{0x1f9c,0x1f9c,0x1f94,0x1f9c},{0xa79c,0xa79c,0xa79d,0xa79c},{0xa79d,0xa79c,0xa79d,0xa79c},
-{0x1f9d,0x1f9d,0x1f95,0x1f9d},{0xa79e,0xa79e,0xa79f,0xa79e},{0x1f9e,0x1f9e,0x1f96,0x1f9e},{0xa79f,0xa79e,0xa79f,0xa79e},
-{0x1f9f,0x1f9f,0x1f97,0x1f9f},{0x1fa0,0x1fa8,0x1fa0,0x1fa8},{0xa7a0,0xa7a0,0xa7a1,0xa7a0},{0xa7a1,0xa7a0,0xa7a1,0xa7a0},
-{0x1fa1,0x1fa9,0x1fa1,0x1fa9},{0x1fa2,0x1faa,0x1fa2,0x1faa},{0xa7a2,0xa7a2,0xa7a3,0xa7a2},{0x1fa3,0x1fab,0x1fa3,0x1fab},
-{0xa7a3,0xa7a2,0xa7a3,0xa7a2},{0x1fa4,0x1fac,0x1fa4,0x1fac},{0xa7a4,0xa7a4,0xa7a5,0xa7a4},{0x1fa5,0x1fad,0x1fa5,0x1fad},
-{0xa7a5,0xa7a4,0xa7a5,0xa7a4},{0xa7a6,0xa7a6,0xa7a7,0xa7a6},{0x1fa6,0x1fae,0x1fa6,0x1fae},{0xa7a7,0xa7a6,0xa7a7,0xa7a6},
-{0x1fa7,0x1faf,0x1fa7,0x1faf},{0x1fa8,0x1fa8,0x1fa0,0x1fa8},{0xa7a8,0xa7a8,0xa7a9,0xa7a8},{0x1fa9,0x1fa9,0x1fa1,0x1fa9},
-{0xa7a9,0xa7a8,0xa7a9,0xa7a8},{0x1faa,0x1faa,0x1fa2,0x1faa},{0xa7aa,0xa7aa,0x0266,0xa7aa},{0xa7ab,0xa7ab,0x025c,0xa7ab},
-{0x1fab,0x1fab,0x1fa3,0x1fab},{0xa7ac,0xa7ac,0x0261,0xa7ac},{0x1fac,0x1fac,0x1fa4,0x1fac},{0x1fad,0x1fad,0x1fa5,0x1fad},
-{0xa7ad,0xa7ad,0x026c,0xa7ad},{0x1fae,0x1fae,0x1fa6,0x1fae},{0x1faf,0x1faf,0x1fa7,0x1faf},{0xa7b0,0xa7b0,0x029e,0xa7b0},
-{0x1fb0,0x1fb8,0x1fb0,0x1fb8},{0x1fb1,0x1fb9,0x1fb1,0x1fb9},{0xa7b1,0xa7b1,0x0287,0xa7b1},{0xa7b2,0xa7b2,0x029d,0xa7b2},
-{0x1fb3,0x1fbc,0x1fb3,0x1fbc},{0xa7b3,0xa7b3,0xab53,0xa7b3},{0xa7b4,0xa7b4,0xa7b5,0xa7b4},{0xa7b5,0xa7b4,0xa7b5,0xa7b4},
-{0xa7b6,0xa7b6,0xa7b7,0xa7b6},{0xa7b7,0xa7b6,0xa7b7,0xa7b6},{0x1fb8,0x1fb8,0x1fb0,0x1fb8},{0x1fb9,0x1fb9,0x1fb1,0x1fb9},
-{0x1fba,0x1fba,0x1f70,0x1fba},{0x1fbb,0x1fbb,0x1f71,0x1fbb},{0x1fbc,0x1fbc,0x1fb3,0x1fbc},{0x1fbe,0x0399,0x1fbe,0x0399},
-{0x1fc3,0x1fcc,0x1fc3,0x1fcc},{0x1fc8,0x1fc8,0x1f72,0x1fc8},{0x1fc9,0x1fc9,0x1f73,0x1fc9},{0x1fca,0x1fca,0x1f74,0x1fca},
-{0x1fcb,0x1fcb,0x1f75,0x1fcb},{0x1fcc,0x1fcc,0x1fc3,0x1fcc},{0x1fd0,0x1fd8,0x1fd0,0x1fd8},{0x1fd1,0x1fd9,0x1fd1,0x1fd9},
-{0x1fd8,0x1fd8,0x1fd0,0x1fd8},{0x1fd9,0x1fd9,0x1fd1,0x1fd9},{0x1fda,0x1fda,0x1f76,0x1fda},{0x1fdb,0x1fdb,0x1f77,0x1fdb},
-{0x1fe0,0x1fe8,0x1fe0,0x1fe8},{0x1fe1,0x1fe9,0x1fe1,0x1fe9},{0x1fe5,0x1fec,0x1fe5,0x1fec},{0x1fe8,0x1fe8,0x1fe0,0x1fe8},
-{0x1fe9,0x1fe9,0x1fe1,0x1fe9},{0x1fea,0x1fea,0x1f7a,0x1fea},{0x1feb,0x1feb,0x1f7b,0x1feb},{0x1fec,0x1fec,0x1fe5,0x1fec},
-{0x1ff3,0x1ffc,0x1ff3,0x1ffc},{0x1ff8,0x1ff8,0x1f78,0x1ff8},{0x1ff9,0x1ff9,0x1f79,0x1ff9},{0x1ffa,0x1ffa,0x1f7c,0x1ffa},
-{0x1ffb,0x1ffb,0x1f7d,0x1ffb},{0x1ffc,0x1ffc,0x1ff3,0x1ffc},{0,0,0,0}};
+{0xa786,0xa786,0xa787,0xa786},{0x1f86,0x1f8e,0x1f86,0x1f8e},{0xa787,0xa786,0xa787,0xa786},{0x1f87,0x1f8f,0x1f87,0x1f8f},
+{0x1f88,0x1f88,0x1f80,0x1f88},{0x1f89,0x1f89,0x1f81,0x1f89},{0x1f8a,0x1f8a,0x1f82,0x1f8a},{0xa78b,0xa78b,0xa78c,0xa78b},
+{0x1f8b,0x1f8b,0x1f83,0x1f8b},{0xa78c,0xa78b,0xa78c,0xa78b},{0x1f8c,0x1f8c,0x1f84,0x1f8c},{0x1f8d,0x1f8d,0x1f85,0x1f8d},
+{0xa78d,0xa78d,0x0265,0xa78d},{0x1f8e,0x1f8e,0x1f86,0x1f8e},{0x1f8f,0x1f8f,0x1f87,0x1f8f},{0xa790,0xa790,0xa791,0xa790},
+{0x1f90,0x1f98,0x1f90,0x1f98},{0xa791,0xa790,0xa791,0xa790},{0x1f91,0x1f99,0x1f91,0x1f99},{0xa792,0xa792,0xa793,0xa792},
+{0x1f92,0x1f9a,0x1f92,0x1f9a},{0xa793,0xa792,0xa793,0xa792},{0x1f93,0x1f9b,0x1f93,0x1f9b},{0x1f94,0x1f9c,0x1f94,0x1f9c},
+{0xa794,0xa7c4,0xa794,0xa7c4},{0x1f95,0x1f9d,0x1f95,0x1f9d},{0x1f96,0x1f9e,0x1f96,0x1f9e},{0xa796,0xa796,0xa797,0xa796},
+{0xa797,0xa796,0xa797,0xa796},{0x1f97,0x1f9f,0x1f97,0x1f9f},{0xa798,0xa798,0xa799,0xa798},{0x1f98,0x1f98,0x1f90,0x1f98},
+{0x1f99,0x1f99,0x1f91,0x1f99},{0xa799,0xa798,0xa799,0xa798},{0xa79a,0xa79a,0xa79b,0xa79a},{0x1f9a,0x1f9a,0x1f92,0x1f9a},
+{0x1f9b,0x1f9b,0x1f93,0x1f9b},{0xa79b,0xa79a,0xa79b,0xa79a},{0xa79c,0xa79c,0xa79d,0xa79c},{0x1f9c,0x1f9c,0x1f94,0x1f9c},
+{0xa79d,0xa79c,0xa79d,0xa79c},{0x1f9d,0x1f9d,0x1f95,0x1f9d},{0xa79e,0xa79e,0xa79f,0xa79e},{0x1f9e,0x1f9e,0x1f96,0x1f9e},
+{0xa79f,0xa79e,0xa79f,0xa79e},{0x1f9f,0x1f9f,0x1f97,0x1f9f},{0xa7a0,0xa7a0,0xa7a1,0xa7a0},{0x1fa0,0x1fa8,0x1fa0,0x1fa8},
+{0x1fa1,0x1fa9,0x1fa1,0x1fa9},{0xa7a1,0xa7a0,0xa7a1,0xa7a0},{0x1fa2,0x1faa,0x1fa2,0x1faa},{0xa7a2,0xa7a2,0xa7a3,0xa7a2},
+{0x1fa3,0x1fab,0x1fa3,0x1fab},{0xa7a3,0xa7a2,0xa7a3,0xa7a2},{0xa7a4,0xa7a4,0xa7a5,0xa7a4},{0x1fa4,0x1fac,0x1fa4,0x1fac},
+{0x1fa5,0x1fad,0x1fa5,0x1fad},{0xa7a5,0xa7a4,0xa7a5,0xa7a4},{0x1fa6,0x1fae,0x1fa6,0x1fae},{0xa7a6,0xa7a6,0xa7a7,0xa7a6},
+{0x1fa7,0x1faf,0x1fa7,0x1faf},{0xa7a7,0xa7a6,0xa7a7,0xa7a6},{0xa7a8,0xa7a8,0xa7a9,0xa7a8},{0x1fa8,0x1fa8,0x1fa0,0x1fa8},
+{0xa7a9,0xa7a8,0xa7a9,0xa7a8},{0x1fa9,0x1fa9,0x1fa1,0x1fa9},{0xa7aa,0xa7aa,0x0266,0xa7aa},{0x1faa,0x1faa,0x1fa2,0x1faa},
+{0x1fab,0x1fab,0x1fa3,0x1fab},{0xa7ab,0xa7ab,0x025c,0xa7ab},{0x1fac,0x1fac,0x1fa4,0x1fac},{0xa7ac,0xa7ac,0x0261,0xa7ac},
+{0x1fad,0x1fad,0x1fa5,0x1fad},{0xa7ad,0xa7ad,0x026c,0xa7ad},{0x1fae,0x1fae,0x1fa6,0x1fae},{0xa7ae,0xa7ae,0x026a,0xa7ae},
+{0x1faf,0x1faf,0x1fa7,0x1faf},{0xa7b0,0xa7b0,0x029e,0xa7b0},{0x1fb0,0x1fb8,0x1fb0,0x1fb8},{0xa7b1,0xa7b1,0x0287,0xa7b1},
+{0x1fb1,0x1fb9,0x1fb1,0x1fb9},{0xa7b2,0xa7b2,0x029d,0xa7b2},{0x1fb3,0x1fbc,0x1fb3,0x1fbc},{0xa7b3,0xa7b3,0xab53,0xa7b3},
+{0xa7b4,0xa7b4,0xa7b5,0xa7b4},{0xa7b5,0xa7b4,0xa7b5,0xa7b4},{0xa7b6,0xa7b6,0xa7b7,0xa7b6},{0xa7b7,0xa7b6,0xa7b7,0xa7b6},
+{0x1fb8,0x1fb8,0x1fb0,0x1fb8},{0xa7b8,0xa7b8,0xa7b9,0xa7b8},{0x1fb9,0x1fb9,0x1fb1,0x1fb9},{0xa7b9,0xa7b8,0xa7b9,0xa7b8},
+{0x1fba,0x1fba,0x1f70,0x1fba},{0xa7ba,0xa7ba,0xa7bb,0xa7ba},{0x1fbb,0x1fbb,0x1f71,0x1fbb},{0xa7bb,0xa7ba,0xa7bb,0xa7ba},
+{0x1fbc,0x1fbc,0x1fb3,0x1fbc},{0xa7bc,0xa7bc,0xa7bd,0xa7bc},{0xa7bd,0xa7bc,0xa7bd,0xa7bc},{0x1fbe,0x0399,0x1fbe,0x0399},
+{0xa7be,0xa7be,0xa7bf,0xa7be},{0xa7bf,0xa7be,0xa7bf,0xa7be},{0xa7c2,0xa7c2,0xa7c3,0xa7c2},{0x1fc3,0x1fcc,0x1fc3,0x1fcc},
+{0xa7c3,0xa7c2,0xa7c3,0xa7c2},{0xa7c4,0xa7c4,0xa794,0xa7c4},{0xa7c5,0xa7c5,0x0282,0xa7c5},{0xa7c6,0xa7c6,0x1d8e,0xa7c6},
+{0xa7c7,0xa7c7,0xa7c8,0xa7c7},{0x1fc8,0x1fc8,0x1f72,0x1fc8},{0xa7c8,0xa7c7,0xa7c8,0xa7c7},{0x1fc9,0x1fc9,0x1f73,0x1fc9},
+{0xa7c9,0xa7c9,0xa7ca,0xa7c9},{0x1fca,0x1fca,0x1f74,0x1fca},{0xa7ca,0xa7c9,0xa7ca,0xa7c9},{0x1fcb,0x1fcb,0x1f75,0x1fcb},
+{0x1fcc,0x1fcc,0x1fc3,0x1fcc},{0x1fd0,0x1fd8,0x1fd0,0x1fd8},{0x1fd1,0x1fd9,0x1fd1,0x1fd9},{0x1fd8,0x1fd8,0x1fd0,0x1fd8},
+{0x1fd9,0x1fd9,0x1fd1,0x1fd9},{0x1fda,0x1fda,0x1f76,0x1fda},{0x1fdb,0x1fdb,0x1f77,0x1fdb},{0x1fe0,0x1fe8,0x1fe0,0x1fe8},
+{0x1fe1,0x1fe9,0x1fe1,0x1fe9},{0x1fe5,0x1fec,0x1fe5,0x1fec},{0x1fe8,0x1fe8,0x1fe0,0x1fe8},{0x1fe9,0x1fe9,0x1fe1,0x1fe9},
+{0x1fea,0x1fea,0x1f7a,0x1fea},{0x1feb,0x1feb,0x1f7b,0x1feb},{0x1fec,0x1fec,0x1fe5,0x1fec},{0x1ff3,0x1ffc,0x1ff3,0x1ffc},
+{0xa7f5,0xa7f5,0xa7f6,0xa7f5},{0xa7f6,0xa7f5,0xa7f6,0xa7f5},{0x1ff8,0x1ff8,0x1f78,0x1ff8},{0x1ff9,0x1ff9,0x1f79,0x1ff9},
+{0x1ffa,0x1ffa,0x1f7c,0x1ffa},{0x1ffb,0x1ffb,0x1f7d,0x1ffb},{0x1ffc,0x1ffc,0x1ff3,0x1ffc},{0,0,0,0}};
const unsigned unicode_case_offset[2048]={
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -642,119 +724,119 @@ const unsigned unicode_case_offset[2048]={
52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82,
84, 86, 88, 90, 92, 94, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115,
117, 120, 123, 126, 129, 132, 135, 137, 140, 142, 144, 146, 148, 150, 153, 155,
- 157, 159, 161, 163, 165, 167, 169, 171, 172, 174, 176, 178, 180, 182, 184, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
- 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
- 250, 251, 252, 253, 254, 255, 256, 258, 259, 260, 261, 263, 265, 266, 267, 268,
- 269, 270, 271, 273, 274, 275, 276, 277, 278, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 294, 295, 296, 297, 298, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 319, 321, 323, 325, 327, 329, 331, 333, 335, 337, 339, 341, 343, 345, 347,
- 349, 351, 353, 355, 357, 359, 361, 363, 365, 367, 369, 371, 373, 375, 377, 379,
- 381, 382, 383, 384, 386, 388, 389, 390, 391, 392, 393, 394, 395, 396, 396, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 423, 423, 424, 425, 426,
- 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 437, 437, 438, 439, 439,
- 440, 440, 440, 440, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
- 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
- 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
- 484, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
- 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
- 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
- 531, 532, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
- 546, 547, 548, 549, 550, 550, 550, 550, 550, 550, 550, 551, 552, 553, 554, 555,
- 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571,
- 572, 573, 574, 575, 576, 577, 577, 578, 579, 579, 580, 580, 581, 582, 582, 582,
- 582, 583, 584, 584, 585, 585, 586, 587, 587, 588, 589, 589, 590, 591, 591, 591,
- 592, 592, 593, 594, 594, 594, 595, 595, 595, 595, 595, 595, 595, 595, 596, 596,
- 596, 597, 597, 597, 598, 598, 598, 598, 599, 600, 601, 602, 603, 604, 604, 604,
- 604, 604, 604, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 606, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
- 607, 607, 607, 607, 607, 607, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608,
- 608, 608, 608, 608, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
- 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
- 609, 611, 613, 615, 617, 618, 619, 621, 623, 624, 625, 626, 628, 630, 632, 633,
- 635, 636, 637, 638, 639, 640, 641, 643, 644, 646, 648, 650, 651, 653, 654, 656,
- 658, 659, 661, 663, 665, 667, 669, 671, 673, 675, 677, 679, 681, 683, 685, 687,
- 689, 692, 695, 697, 700, 703, 706, 709, 712, 715, 718, 721, 724, 727, 730, 733,
- 736, 738, 741, 744, 747, 750, 753, 756, 759, 762, 765, 768, 771, 774, 777, 780,
- 783, 785, 787, 789, 791, 793, 795, 797, 799, 801, 803, 805, 807, 809, 811, 813,
- 815, 817, 819, 820, 821, 822, 824, 826, 828, 830, 832, 834, 836, 838, 840, 842,
- 844, 846, 848, 850, 852, 854, 856, 858, 860, 862, 864, 866, 868, 870, 872, 874,
- 876, 878, 880, 882, 884, 886, 888, 888, 889, 891, 893, 895, 897, 898, 900, 901,
- 902, 905, 908, 911, 914, 917, 920, 923, 926, 929, 932, 935, 938, 941, 944, 947,
- 950, 953, 956, 959, 962, 965, 968, 971, 974, 977, 980, 983, 986, 989, 992, 995,
- 998,1001,1004,1007,1010,1013,1016,1019,1022,1025,1028,1031,1034,1037,1040,1043,
-1045,1048,1051,1054,1057,1060,1063,1066,1069,1072,1075,1078,1081,1084,1087,1090,
-1093,1096,1099,1102,1105,1108,1111,1114,1117,1120,1123,1126,1129,1132,1135,1138,
-1141,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,
-1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,
-1204,1206,1207,1209,1211,1212,1214,1216,1217,1218,1219,1220,1221,1222,1223,1225,
-1227,1230,1233,1235,1237,1239,1241,1243,1245,1247,1249,1252,1255,1258,1261,1264,
-1267,1270,1273,1276,1279,1282,1285,1288,1291,1294,1297,1300,1303,1306,1309,1312,
-1315,1318,1321,1324,1327,1330,1333,1336,1339,1342,1345,1348,1351,1354,1357,1360,
-1363,1366,1369,1372,1374,1376,1378,1381,1384,1387,1390,1393,1396,1399,1402,1405,
-1408,1412,1416,1420,1424,1428,1432,1436,1440,1444,1448,1452,1456,1460,1464,1468,
-1472,1476,1480,1484,1488,1492,1496,1500,1504,1508,1512,1516,1520,1524,1528,1532,
-1536,1540,1544,1548,1552,1555,1558,1561,1564,1567,1570,1572,1575,1578,1581,1584,
-1586,1588,1590,1593,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,
-1607,1609,1611,1613,1615,1617,1619,1621,1623,1625,1627,1629,1631,1633,1635,1637,
-1639,1641,1643,1645,1647,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,
-1671,1673,1675,1677,1679,1681,1683,1684,1686,1687,1688,1689,1690,1691,1693,1694,
-1695,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,
-1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,
-1726,1727,1728,1729,1730,1731,1732,1733,1733,1733,1733,1733,1733,1733,1733,1733,
-1733,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,
-1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1759,1760,1761,1762,1764,1765,
-1766,1767,1768,1769,1770,1771,1772,1773,1773,1773,1773,1773,1773,1773,1773,1773,
-1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,
-1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,
-1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,
-1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,
-1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,
-1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,
-1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,1773,
-1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,
-1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,
-1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,
-1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,
-1837,1839,1841,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,
-1869,1871,1873,1875,1877,1879,1881,1883,1885,1887,1889,1891,1893,1895,1897,1899,
-1901,1903,1905,1907,1909,1911,1913,1915,1917,1919,1921,1923,1925,1927,1929,1930,
-1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,
-1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975,1977,
-1979,1981,1983,1985,1987,1989,1991,1992,1993,1994,1995,1996,1998,1998,1998,1999,
-1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,
-2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,
-2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,
-2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,
-2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,
-2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,
-2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,
-2111,2112,2113,2114,2115,2116,2117,2117,2117,2118,2119,2120,2121,2122,2123,2123,
-2123,2124,2126,2129,2132,2135,2138,2141,2144,2147,2150,2153,2156,2159,2162,2165,
-2168,2170,2172,2175,2178,2181,2184,2187,2190,2193,2196,2199,2201,2203,2205,2207,
-2209,2211,2214,2217,2220,2223,2226,2228,2230,2233,2236,2239,2242,2245,2248,2250,
-2252,2254,2257,2259,2262,2264,2267,2269,2272,2274,2277,2279,2281,2282,2284,2285,
-2287,2289,2291,2293,2295,2297,2299,2301,2303,2305,2307,2309,2311,2313,2315,2317,
-2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2330,2332,2334,2336,2338,2339,
-2340,2342,2344,2346,2348,2350,2352,2354,2356,2357,2358,2359,2361,2363,2365,2366,
-2367,2369,2371,2373,2375,2376,2377,2379,2381,2383,2385,2387,2389,2391,2393,2395,
-2397,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2426,
-2427,2429,2431,2432,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2443,2444,
-2444,2444,2444,2444,2445,2445,2445,2445,2445,2446,2447,2448,2449,2450,2450,2450,
-2450,2451,2452,2452,2452,2452,2452,2452,2452,2453,2454,2455,2456,2456,2456,2456,
-2456,2457,2458,2458,2458,2458,2459,2459,2459,2460,2461,2462,2463,2464,2464,2464,
-2464,2464,2464,2464,2465,2465,2465,2465,2465,2466,2467,2468,2469,2470,2470,2470
+ 157, 160, 163, 166, 169, 172, 175, 178, 180, 183, 186, 189, 192, 195, 198, 201,
+ 203, 205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, 231, 233,
+ 235, 237, 239, 241, 243, 245, 247, 249, 250, 252, 254, 256, 257, 258, 260, 262,
+ 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294,
+ 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326,
+ 328, 330, 332, 334, 336, 338, 340, 343, 345, 347, 349, 352, 355, 357, 359, 361,
+ 363, 365, 367, 370, 372, 374, 376, 378, 380, 381, 383, 385, 387, 389, 391, 393,
+ 395, 397, 399, 401, 403, 404, 405, 406, 407, 408, 408, 409, 410, 411, 412, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
+ 431, 433, 435, 437, 439, 441, 443, 445, 447, 449, 451, 453, 455, 457, 459, 461,
+ 463, 465, 467, 469, 471, 473, 475, 477, 479, 481, 483, 485, 487, 489, 491, 493,
+ 495, 496, 497, 498, 500, 502, 503, 504, 505, 506, 507, 508, 509, 510, 510, 511,
+ 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 537, 537, 538, 539, 540,
+ 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 551, 551, 552, 553, 553,
+ 554, 554, 554, 554, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
+ 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
+ 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
+ 598, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
+ 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628,
+ 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
+ 645, 646, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 664, 664, 664, 664, 664, 664, 665, 666, 667, 668, 669,
+ 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685,
+ 686, 687, 688, 689, 690, 691, 691, 692, 693, 693, 694, 694, 695, 696, 696, 696,
+ 696, 697, 698, 698, 699, 699, 700, 701, 701, 702, 703, 704, 705, 706, 706, 706,
+ 707, 707, 708, 709, 709, 709, 710, 710, 710, 710, 710, 710, 710, 710, 711, 711,
+ 711, 712, 712, 713, 714, 714, 714, 714, 715, 716, 717, 718, 719, 720, 720, 720,
+ 720, 720, 720, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 721, 722, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
+ 723, 723, 723, 723, 723, 723, 724, 724, 724, 724, 724, 724, 724, 724, 724, 724,
+ 724, 724, 724, 724, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725,
+ 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, 725,
+ 725, 727, 729, 731, 733, 734, 735, 737, 739, 740, 741, 742, 744, 746, 748, 749,
+ 751, 752, 753, 754, 755, 756, 757, 759, 760, 762, 764, 766, 767, 769, 770, 772,
+ 774, 775, 777, 779, 781, 783, 785, 787, 789, 791, 793, 795, 797, 799, 801, 803,
+ 805, 808, 811, 813, 816, 819, 822, 825, 828, 831, 834, 837, 840, 843, 846, 849,
+ 852, 854, 857, 860, 863, 866, 869, 872, 875, 878, 881, 884, 887, 890, 893, 896,
+ 899, 901, 903, 905, 907, 909, 911, 913, 915, 917, 919, 921, 923, 925, 927, 929,
+ 931, 933, 935, 936, 937, 938, 940, 942, 944, 946, 948, 950, 952, 954, 956, 958,
+ 960, 962, 964, 966, 968, 970, 972, 974, 976, 978, 980, 982, 984, 986, 988, 990,
+ 992, 994, 996, 998,1000,1002,1004,1004,1005,1007,1009,1011,1013,1014,1016,1017,
+1018,1021,1024,1027,1030,1033,1036,1039,1042,1045,1048,1051,1054,1057,1060,1063,
+1066,1069,1072,1075,1078,1081,1084,1087,1090,1093,1096,1099,1102,1105,1108,1111,
+1114,1117,1120,1123,1126,1129,1132,1135,1138,1141,1144,1147,1150,1153,1156,1159,
+1161,1164,1167,1170,1173,1176,1179,1182,1185,1188,1191,1194,1197,1200,1203,1206,
+1209,1212,1215,1218,1221,1224,1227,1230,1233,1236,1239,1242,1245,1248,1251,1254,
+1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,
+1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,
+1320,1322,1323,1325,1327,1328,1330,1332,1333,1334,1335,1336,1337,1338,1339,1341,
+1343,1347,1351,1354,1357,1360,1363,1366,1369,1372,1374,1377,1380,1383,1386,1389,
+1392,1396,1400,1404,1408,1412,1416,1420,1424,1428,1432,1436,1440,1444,1448,1452,
+1456,1460,1464,1468,1472,1476,1480,1484,1488,1492,1496,1500,1504,1508,1512,1516,
+1520,1525,1530,1535,1539,1543,1547,1552,1557,1562,1567,1572,1576,1580,1585,1590,
+1595,1600,1605,1610,1615,1620,1625,1630,1635,1640,1645,1650,1655,1660,1665,1670,
+1675,1680,1685,1690,1695,1699,1703,1707,1711,1716,1721,1726,1731,1736,1741,1746,
+1751,1756,1761,1766,1771,1775,1779,1783,1787,1791,1795,1798,1802,1806,1810,1814,
+1817,1820,1823,1827,1830,1832,1834,1836,1838,1840,1842,1844,1846,1847,1848,1849,
+1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,
+1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,
+1914,1916,1918,1920,1922,1924,1926,1927,1929,1930,1931,1932,1933,1934,1936,1937,
+1938,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,
+1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,
+1969,1970,1971,1972,1973,1974,1975,1976,1976,1976,1976,1976,1976,1976,1976,1976,
+1976,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,
+1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2002,2003,2004,2005,2007,2008,
+2009,2010,2011,2012,2013,2014,2015,2016,2016,2016,2016,2016,2016,2016,2016,2017,
+2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,
+2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,
+2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,
+2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,
+2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,
+2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,
+2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,
+2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,
+2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,
+2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,
+2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,
+2081,2084,2087,2090,2093,2096,2099,2102,2105,2108,2111,2114,2117,2120,2123,2126,
+2129,2132,2135,2138,2141,2144,2147,2150,2153,2156,2159,2162,2165,2168,2171,2174,
+2177,2180,2183,2186,2189,2192,2195,2198,2201,2204,2207,2210,2213,2216,2219,2221,
+2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251,2253,
+2255,2257,2259,2261,2263,2265,2267,2269,2271,2273,2275,2277,2279,2281,2283,2285,
+2287,2289,2291,2293,2295,2297,2299,2300,2301,2302,2303,2304,2306,2306,2306,2307,
+2307,2308,2309,2310,2311,2312,2313,2314,2315,2316,2317,2318,2319,2320,2321,2322,
+2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,
+2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,
+2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,
+2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,
+2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,
+2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,
+2419,2420,2421,2422,2423,2424,2425,2425,2425,2426,2427,2428,2429,2430,2431,2431,
+2431,2432,2434,2437,2440,2443,2446,2449,2452,2455,2458,2461,2464,2467,2470,2473,
+2476,2478,2480,2483,2486,2489,2492,2495,2498,2501,2504,2507,2509,2511,2513,2515,
+2517,2519,2522,2525,2528,2531,2534,2536,2538,2541,2544,2547,2550,2553,2556,2558,
+2560,2562,2565,2567,2570,2572,2575,2577,2580,2582,2585,2587,2589,2590,2592,2593,
+2595,2597,2599,2601,2603,2605,2607,2609,2611,2613,2615,2617,2619,2621,2623,2625,
+2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2638,2640,2642,2644,2646,2647,
+2648,2650,2652,2654,2656,2658,2660,2662,2664,2665,2666,2667,2669,2671,2673,2674,
+2675,2677,2679,2681,2683,2685,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,
+2706,2708,2710,2712,2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734,2736,
+2737,2739,2741,2742,2744,2745,2746,2747,2748,2750,2752,2754,2756,2758,2759,2761,
+2762,2762,2762,2763,2765,2766,2767,2768,2769,2771,2773,2775,2776,2777,2777,2777,
+2777,2778,2779,2779,2779,2779,2779,2779,2779,2780,2781,2782,2783,2783,2783,2783,
+2783,2784,2785,2785,2785,2785,2786,2786,2786,2787,2788,2789,2790,2791,2791,2791,
+2791,2791,2791,2791,2792,2792,2793,2794,2794,2795,2796,2797,2798,2799,2799,2799
};
diff --git a/unicode/unicode_wcwidth.c b/unicode/unicode_wcwidth.c
index 5266552..cda95f0 100644
--- a/unicode/unicode_wcwidth.c
+++ b/unicode/unicode_wcwidth.c
@@ -6,19 +6,19 @@
#include <stdlib.h>
-int unicode_wcwidth(char32_t c)
+unicode_eastasia_t unicode_eastasia(char32_t c)
{
size_t b=0;
- size_t e=sizeof(unicode_wcwidth_tab)/sizeof(unicode_wcwidth_tab[0]);
+ size_t e=sizeof(unicode_eastasia_tab)/sizeof(unicode_eastasia_tab[0]);
while (b < e)
{
size_t n=b + (e-b)/2;
- if (c >= unicode_wcwidth_tab[n][0])
+ if (c >= unicode_eastasia_tab[n][0])
{
- if (c <= unicode_wcwidth_tab[n][1])
- return 2;
+ if (c <= unicode_eastasia_tab[n][1])
+ return unicode_eastasia_v[n];
b=n+1;
}
else
@@ -27,6 +27,11 @@ int unicode_wcwidth(char32_t c)
}
}
+ return UNICODE_EASTASIA_N;
+}
+
+int unicode_wcwidth(char32_t c)
+{
switch (unicode_lb_lookup(c)) {
case UNICODE_LB_BK:
case UNICODE_LB_CR:
@@ -39,6 +44,13 @@ int unicode_wcwidth(char32_t c)
default:
break;
}
+
+ switch (unicode_eastasia(c)) {
+ case UNICODE_EASTASIA_F:
+ case UNICODE_EASTASIA_W:
+ return 2;
+ }
+
return 1;
}
diff --git a/unicode/unicode_wordbreak.c b/unicode/unicode_wordbreak.c
index 991f0ba..669a382 100644
--- a/unicode/unicode_wordbreak.c
+++ b/unicode/unicode_wordbreak.c
@@ -16,35 +16,76 @@
#include "wordbreaktab_internal.h"
#include "wordbreaktab.h"
+/*
+** We need to keep track of the original character, in addition
+** to the wordbreaking class, to check WB3.
+*/
+
+typedef struct {
+ uint8_t cl;
+ char32_t ch;
+} wb_info_t;
+
+/*
+** Internal object.
+*/
struct unicode_wb_info {
int (*cb_func)(int, void *);
void *cb_arg;
- uint8_t prevclass;
- uint8_t wb7_first_char;
+ /* Previous character seen. */
+ wb_info_t prevclass;
+
+ /*
+ ** For some rules we peek an extra character, and so need to
+ ** stash away the 2nd previous character seen, when we're looking at
+ ** it.
+ */
+ wb_info_t prev2class;
+
+ /*
+ ** How many (Extend | Format | ZWJ) were processed, so far,
+ ** for WB4's sake.
+ */
size_t wb4_cnt;
- size_t wb4_extra_cnt;
+ /*
+ ** Most recently processed WB4 character.
+ */
+ wb_info_t wb4_last;
+
+ /*
+ ** Each character received by unicode_wb_next is forwarded to
+ ** this handler.
+ */
+ int (*next_handler)(unicode_wb_info_t, wb_info_t);
- int (*next_handler)(unicode_wb_info_t, uint8_t);
+ /*
+ ** unicode_wb_end() calls this. If we were in a middle of a
+ ** multi-char rule, this wraps things up.
+ */
int (*end_handler)(unicode_wb_info_t);
};
-static int sot(unicode_wb_info_t i, uint8_t cl);
-static int wb4(unicode_wb_info_t i);
-static int wb1and2_done(unicode_wb_info_t i, uint8_t cl);
+/* Forward declarations */
+
+static int sot(unicode_wb_info_t i, wb_info_t cl);
+static int wb1and2_done(unicode_wb_info_t i, wb_info_t cl);
-static int seen_wb67_handler(unicode_wb_info_t i, uint8_t cl);
+static int seen_wb67_handler(unicode_wb_info_t i, wb_info_t cl);
static int seen_wb67_end_handler(unicode_wb_info_t i);
-static int wb67_done(unicode_wb_info_t i, uint8_t prevclass, uint8_t cl);
+static int wb67_done(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl);
-static int seen_wb7bc_handler(unicode_wb_info_t i, uint8_t cl);
+static int seen_wb7bc_handler(unicode_wb_info_t i, wb_info_t cl);
static int seen_wb7bc_end_handler(unicode_wb_info_t i);
-static int wb7bc_done(unicode_wb_info_t i, uint8_t prevclass, uint8_t cl);
+static int wb7bc_done(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl);
-static int seen_wb1112_handler(unicode_wb_info_t i, uint8_t cl);
+static int seen_wb1112_handler(unicode_wb_info_t i, wb_info_t cl);
static int seen_wb1112_end_handler(unicode_wb_info_t i);
-static int wb1112_done(unicode_wb_info_t i, uint8_t prevclass, uint8_t cl);
+static int wb1112_done(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl);
+
+static int seen_wb1516_handler(unicode_wb_info_t i, wb_info_t cl);
+static int wb1516_done(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl);
unicode_wb_info_t unicode_wb_init(int (*cb_func)(int, void *),
void *cb_arg)
@@ -57,17 +98,16 @@ unicode_wb_info_t unicode_wb_init(int (*cb_func)(int, void *),
i->next_handler=sot;
i->cb_func=cb_func;
i->cb_arg=cb_arg;
+ i->wb4_cnt=0;
return i;
}
int unicode_wb_end(unicode_wb_info_t i)
{
- int rc;
+ int rc=0;
if (i->end_handler)
rc=(*i->end_handler)(i);
- else
- rc=wb4(i);
free(i);
return rc;
@@ -91,16 +131,42 @@ int unicode_wb_next_cnt(unicode_wb_info_t i,
int unicode_wb_next(unicode_wb_info_t i, char32_t ch)
{
- return (*i->next_handler)
- (i, unicode_tab_lookup(ch,
- unicode_indextab,
- sizeof(unicode_indextab)
- / sizeof(unicode_indextab[0]),
- unicode_rangetab,
- unicode_classtab,
- UNICODE_WB_OTHER));
+ wb_info_t info;
+
+ info.ch=ch;
+ info.cl=unicode_tab_lookup(ch,
+ unicode_indextab,
+ sizeof(unicode_indextab)
+ / sizeof(unicode_indextab[0]),
+ unicode_rangetab,
+ unicode_classtab,
+ UNICODE_WB_OTHER);
+
+ return (*i->next_handler)(i, info);
}
+#if 0
+
+static int result(unicode_wb_info_t i, int flag)
+{
+ return (*i->cb_func)(flag, i->cb_arg);
+}
+#else
+#define result(i,flag) ( (*(i)->cb_func)( (flag), (i)->cb_arg))
+#endif
+
+/*
+** Check for WB3C
+*/
+
+#define WB3C_APPLIES(prevclass,uclass) \
+ ((prevclass).cl == UNICODE_WB_ZWJ && \
+ unicode_emoji_extended_pictographic((uclass).ch))
+
+/*
+** Finished WB4 processing. Emit the equivalent number of non-break
+** indications.
+*/
static int wb4(unicode_wb_info_t i)
{
int rc=0;
@@ -110,24 +176,14 @@ static int wb4(unicode_wb_info_t i)
--i->wb4_cnt;
if (rc == 0)
- rc=(*i->cb_func)(0, i->cb_arg);
+ rc=result(i, 0);
}
return rc;
}
-static int result(unicode_wb_info_t i, int flag)
-{
- int rc=wb4(i);
-
- if (rc == 0)
- rc=(*i->cb_func)(flag, i->cb_arg);
-
- return rc;
-}
-
#define SET_HANDLER(next,end) (i->next_handler=next, i->end_handler=end)
-static int sot(unicode_wb_info_t i, uint8_t cl)
+static int sot(unicode_wb_info_t i, wb_info_t cl)
{
i->prevclass=cl;
SET_HANDLER(wb1and2_done, NULL);
@@ -135,51 +191,147 @@ static int sot(unicode_wb_info_t i, uint8_t cl)
return result(i, 1); /* WB1 */
}
-static int wb1and2_done(unicode_wb_info_t i, uint8_t cl)
+static int wb4_handled(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl);
+
+static int wb1and2_done(unicode_wb_info_t i, wb_info_t cl)
{
- uint8_t prevclass=i->prevclass;
+ wb_info_t prevclass=i->prevclass;
i->prevclass=cl;
- if (prevclass == UNICODE_WB_CR && cl == UNICODE_WB_LF)
+ if (prevclass.cl == UNICODE_WB_CR && cl.cl == UNICODE_WB_LF)
return result(i, 0); /* WB3 */
- switch (prevclass) {
+ switch (prevclass.cl) {
case UNICODE_WB_CR:
case UNICODE_WB_LF:
case UNICODE_WB_Newline:
return result(i, 1); /* WB3a */
}
- switch (cl) {
+ switch (cl.cl) {
case UNICODE_WB_CR:
case UNICODE_WB_LF:
case UNICODE_WB_Newline:
return result(i, 1); /* WB3b */
}
- if (cl == UNICODE_WB_Extend || cl == UNICODE_WB_Format)
+ if (WB3C_APPLIES(prevclass, cl))
+ return result(i, 0); /* WB3c */
+
+ if (prevclass.cl == UNICODE_WB_WSegSpace &&
+ cl.cl == UNICODE_WB_WSegSpace)
+ return result(i, 0); /* WB3d */
+
+ return wb4_handled(i, prevclass, cl);
+}
+
+/*
+** Macros, as defined in the TR
+*/
+#define AHLetter(c) (c.cl == UNICODE_WB_ALetter || \
+ c.cl == UNICODE_WB_Hebrew_Letter)
+#define MidNumLetQ(c) (c.cl == UNICODE_WB_MidNumLet || \
+ c.cl == UNICODE_WB_Single_Quote)
+
+/*
+** Whether the character is applicable to the WB4 rule.
+*/
+
+#define WB4(C) ((C).cl == UNICODE_WB_Extend || (C).cl == UNICODE_WB_Format ||\
+ (C).cl == UNICODE_WB_ZWJ)
+
+/*
+** Check if the current character invokes the WB4 rule, if so return s0,
+** doing nothing, here, after performing some record keeping.
+*/
+
+#define WB4_APPLY(i,cl) \
+ do { \
+ if (WB4(cl)) \
+ { \
+ ++(i)->wb4_cnt; \
+ (i)->wb4_last=(cl); \
+ return 0; \
+ } \
+ } while (0)
+
+/*
+** After processing WB4, check if the last WB4-processed character
+** will invoke WB3C for the next character.
+**
+** This is invoked after WB4_APPLY. The return value must be stored in an
+** int.
+**
+** This must be followed by WB4_END. Then, after WB4_END, if this returned
+** non 0, WB3C applies, returning a non-break indication.
+*/
+
+#define WB3C_APPLIES_AFTER_WB4(i,cl) \
+ ( (i)->wb4_cnt > 0 && \
+ WB3C_APPLIES( (i)->wb4_last, (cl)))
+
+/*
+** Wrapper for invoking wb4() after detecting that it no longer applies. This
+** gets invoked:
+**
+** - After WB4_APPLY
+**
+** - After WB3C_APPLIES_AFTER_WB4
+*/
+
+#define WB4_END(i) \
+ do { \
+ \
+ int rc=wb4(i); \
+ \
+ if (rc) \
+ return rc; \
+ } while (0)
+
+
+static int resume_wb4(unicode_wb_info_t i, wb_info_t cl)
+{
+ if (!WB4(cl))
+ {
+ SET_HANDLER(wb1and2_done, NULL);
+
+ if (WB3C_APPLIES(i->wb4_last, cl))
+ {
+ i->prevclass=cl;
+ return result(i, 0);
+ }
+
+ wb_info_t prevclass=i->prevclass;
+
+ i->prevclass=cl;
+
+ return wb4_handled(i, prevclass, cl);
+ }
+ i->wb4_last=cl;
+ return result(i, 0);
+}
+
+
+static int wb4_handled(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl)
+{
+ if (WB4(cl))
{
i->prevclass=prevclass;
- ++i->wb4_cnt;
- return 0; /* WB4 */
+ i->wb4_last=cl;
+ SET_HANDLER(resume_wb4, 0);
+ return result(i, 0); /* WB4 */
}
- if ((prevclass == UNICODE_WB_ALetter ||
- prevclass == UNICODE_WB_Hebrew_Letter) &&
- (cl == UNICODE_WB_ALetter || cl == UNICODE_WB_Hebrew_Letter))
+ if (AHLetter(prevclass) && AHLetter(cl))
{
return result(i, 0); /* WB5 */
}
- if ((prevclass == UNICODE_WB_ALetter ||
- prevclass == UNICODE_WB_Hebrew_Letter)
- &&
- (cl == UNICODE_WB_MidLetter || cl == UNICODE_WB_MidNumLet ||
- cl == UNICODE_WB_Single_Quote))
+ if (AHLetter(prevclass) &&
+ (MidNumLetQ(cl) || cl.cl == UNICODE_WB_MidLetter))
{
- i->wb4_extra_cnt=0;
- i->wb7_first_char=prevclass;
+ i->prev2class=prevclass;
SET_HANDLER(seen_wb67_handler, seen_wb67_end_handler);
return 0;
}
@@ -188,94 +340,69 @@ static int wb1and2_done(unicode_wb_info_t i, uint8_t cl)
}
/*
-** (ALetter | Hebrew_Letter) (MidLetter | MidNumLet | Single_quote) ?
-**
-** prevclass cl
-**
-** Seen (ALetter | Hebrew_Letter)(MidLetter | MidNumLet), with the second
-** character's status not returned yet.
+** AHLetter (MidLetter | MidNumLetQ) seen, is this followed by AHLetter?
*/
-static int seen_wb67_handler(unicode_wb_info_t i, uint8_t cl)
+static int seen_wb67_handler(unicode_wb_info_t i, wb_info_t cl)
{
int rc;
- uint8_t prevclass;
- size_t extra_cnt;
-
- if (cl == UNICODE_WB_Extend || cl == UNICODE_WB_Format)
- {
- ++i->wb4_extra_cnt;
- return 0;
- }
- extra_cnt=i->wb4_extra_cnt;
-
- /*
- ** Reset the handler to the default, then check WB6
- */
+ WB4_APPLY(i, cl);
SET_HANDLER(wb1and2_done, NULL);
- if (cl == UNICODE_WB_ALetter || cl == UNICODE_WB_Hebrew_Letter)
+ if (AHLetter(cl))
{
- rc=result(i, 0); /* WB6 */
- i->wb4_cnt=extra_cnt;
+ i->prevclass=cl;
+
+ rc=result(i, 0); /* WB6 */
+ WB4_END(i);
if (rc == 0)
rc=result(i, 0); /* WB7 */
- i->prevclass=cl;
-
return rc;
}
- prevclass=i->prevclass; /* This was the second character */
+ int wb3c_applies=WB3C_APPLIES_AFTER_WB4(i, cl);
- /*
- ** Process the second character, starting with WB7
- */
-
- rc=wb67_done(i, i->wb7_first_char, prevclass);
+ rc=seen_wb67_end_handler(i);
- i->prevclass=prevclass;
- i->wb4_cnt=extra_cnt;
+ if (wb3c_applies)
+ return result(i, 0);
if (rc == 0)
rc=(*i->next_handler)(i, cl);
- /* Process the current char now */
return rc;
}
/*
-** Seen (ALetter | Hebrew_Letter)(MidLetter | MidNumLet), with the second
-** character's status not returned yet, and now sot.
+** AHLetter (MidLetter | MidNumLetQ) seen, with the second
+** character's status not returned yet, and now either sot, or something
+** else.
*/
static int seen_wb67_end_handler(unicode_wb_info_t i)
{
- int rc;
- size_t extra_cnt=i->wb4_extra_cnt;
+ int rc=wb67_done(i, i->prev2class, i->prevclass);
- /*
- ** Process the second character, starting with WB7.
- */
-
- rc=wb67_done(i, i->wb7_first_char, i->prevclass);
- i->wb4_cnt=extra_cnt;
- if (rc == 0)
- rc=wb4(i);
- return rc;
+ if (rc)
+ return rc;
+ WB4_END(i);
+ return 0;
}
-static int wb67_done(unicode_wb_info_t i, uint8_t prevclass, uint8_t cl)
+static int wb67_done(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl)
{
- if (prevclass == UNICODE_WB_Hebrew_Letter && cl == UNICODE_WB_Single_Quote)
+ if (prevclass.cl == UNICODE_WB_Hebrew_Letter &&
+ cl.cl == UNICODE_WB_Single_Quote)
return result(i, 0); /* WB7a */
- if (prevclass == UNICODE_WB_Hebrew_Letter && cl == UNICODE_WB_Double_Quote)
+ if (prevclass.cl == UNICODE_WB_Hebrew_Letter &&
+ cl.cl == UNICODE_WB_Double_Quote)
{
- i->wb4_extra_cnt=0;
+ i->prev2class=prevclass;
SET_HANDLER(seen_wb7bc_handler, seen_wb7bc_end_handler);
return 0;
}
@@ -292,97 +419,72 @@ static int wb67_done(unicode_wb_info_t i, uint8_t prevclass, uint8_t cl)
** not returned yet.
*/
-static int seen_wb7bc_handler(unicode_wb_info_t i, uint8_t cl)
+static int seen_wb7bc_handler(unicode_wb_info_t i, wb_info_t cl)
{
int rc;
- uint8_t prevclass;
- size_t extra_cnt;
- if (cl == UNICODE_WB_Extend || cl == UNICODE_WB_Format)
- {
- ++i->wb4_extra_cnt;
- return 0;
- }
-
- extra_cnt=i->wb4_extra_cnt;
-
- /*
- ** Reset the handler to the default, then check WB7a and WB7b
- */
+ WB4_APPLY(i, cl);
SET_HANDLER(wb1and2_done, NULL);
- if (cl == UNICODE_WB_Hebrew_Letter)
+ if (cl.cl == UNICODE_WB_Hebrew_Letter)
{
- rc=result(i, 0); /* WB7b */
- i->wb4_cnt=extra_cnt;
+ i->prevclass=cl;
+
+ rc=result(i, 0); /* WB7b */
+
+ WB4_END(i);
if (rc == 0)
- rc=result(i, 0); /* WB7bc */
+ rc=result(i, 0); /* WB7c */
- i->prevclass=cl;
-
return rc;
}
- prevclass=i->prevclass; /* This was the second character */
+ int wb3c_applies=WB3C_APPLIES_AFTER_WB4(i, cl);
- /*
- ** Process the second character, starting with WB8
- */
-
- rc=wb7bc_done(i, UNICODE_WB_Hebrew_Letter, prevclass);
-
- i->prevclass=prevclass;
- i->wb4_cnt=extra_cnt;
+ rc=seen_wb7bc_end_handler(i);
+ if (wb3c_applies)
+ return result(i, 0);
if (rc == 0)
rc=(*i->next_handler)(i, cl);
- /* Process the current char now */
return rc;
}
/*
** Seen Hebrew_Letter Double_Quote, with the second
-** character's status not returned yet, and now sot.
+** character's status not returned yet, and now sot or something else.
*/
static int seen_wb7bc_end_handler(unicode_wb_info_t i)
{
- int rc;
- size_t extra_cnt=i->wb4_extra_cnt;
+ int rc=wb7bc_done(i, i->prev2class, i->prevclass);
- /*
- ** Process the second character, starting with WB8.
- */
+ if (rc)
+ return rc;
- rc=wb7bc_done(i, UNICODE_WB_Hebrew_Letter, i->prevclass);
- i->wb4_cnt=extra_cnt;
- if (rc == 0)
- rc=wb4(i);
- return rc;
+ WB4_END(i);
+
+ return 0;
}
-static int wb7bc_done(unicode_wb_info_t i, uint8_t prevclass, uint8_t cl)
+static int wb7bc_done(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl)
{
- if (prevclass == UNICODE_WB_Numeric && cl == UNICODE_WB_Numeric)
+ if (prevclass.cl == UNICODE_WB_Numeric && cl.cl == UNICODE_WB_Numeric)
return result(i, 0); /* WB8 */
- if ((prevclass == UNICODE_WB_ALetter ||
- prevclass == UNICODE_WB_Hebrew_Letter) && cl == UNICODE_WB_Numeric)
+ if (AHLetter(prevclass) && cl.cl == UNICODE_WB_Numeric)
return result(i, 0); /* WB9 */
- if (prevclass == UNICODE_WB_Numeric &&
- (cl == UNICODE_WB_ALetter || cl == UNICODE_WB_Hebrew_Letter))
+ if (prevclass.cl == UNICODE_WB_Numeric && AHLetter(cl))
return result(i, 0); /* WB10 */
-
- if (prevclass == UNICODE_WB_Numeric &&
- (cl == UNICODE_WB_MidNum || cl == UNICODE_WB_MidNumLet ||
- cl == UNICODE_WB_Single_Quote))
+ if (prevclass.cl == UNICODE_WB_Numeric &&
+ (cl.cl == UNICODE_WB_MidNum || MidNumLetQ(cl)))
{
- i->wb4_extra_cnt=0;
+ i->prev2class=prevclass;
SET_HANDLER(seen_wb1112_handler, seen_wb1112_end_handler);
return 0;
}
@@ -399,53 +501,37 @@ static int wb7bc_done(unicode_wb_info_t i, uint8_t prevclass, uint8_t cl)
** not returned yet.
*/
-static int seen_wb1112_handler(unicode_wb_info_t i, uint8_t cl)
+static int seen_wb1112_handler(unicode_wb_info_t i, wb_info_t cl)
{
int rc;
- uint8_t prevclass;
- size_t extra_cnt;
- if (cl == UNICODE_WB_Extend || cl == UNICODE_WB_Format)
- {
- ++i->wb4_extra_cnt;
- return 0;
- }
-
- extra_cnt=i->wb4_extra_cnt;
-
- /*
- ** Reset the handler to the default, then check WB6
- */
+ WB4_APPLY(i, cl);
SET_HANDLER(wb1and2_done, NULL);
- if (cl == UNICODE_WB_Numeric)
+ if (cl.cl == UNICODE_WB_Numeric)
{
- rc=result(i, 0); /* WB11 */
- i->wb4_cnt=extra_cnt;
+ i->prevclass=cl;
+
+ rc=result(i, 0); /* WB12 */
+
+ WB4_END(i);
if (rc == 0)
- rc=result(i, 0); /* WB12 */
+ rc=result(i, 0); /* WB11 */
- i->prevclass=cl;
-
return rc;
}
- prevclass=i->prevclass; /* This was the second character */
-
- /*
- ** Process the second character, starting with WB7
- */
+ int wb3c_applies=WB3C_APPLIES_AFTER_WB4(i, cl);
- rc=wb1112_done(i, UNICODE_WB_Numeric, prevclass);
+ rc=seen_wb1112_end_handler(i);
- i->prevclass=prevclass;
- i->wb4_cnt=extra_cnt;
+ if (wb3c_applies)
+ return result(i, 0);
if (rc == 0)
rc=(*i->next_handler)(i, cl);
- /* Process the current char now */
return rc;
}
@@ -457,38 +543,34 @@ static int seen_wb1112_handler(unicode_wb_info_t i, uint8_t cl)
static int seen_wb1112_end_handler(unicode_wb_info_t i)
{
- int rc;
- size_t extra_cnt=i->wb4_extra_cnt;
+ int rc=wb1112_done(i, i->prev2class, i->prevclass);
- /*
- ** Process the second character, starting with WB11.
- */
+ if (rc)
+ return rc;
- rc=wb1112_done(i, UNICODE_WB_Numeric, i->prevclass);
- i->wb4_cnt=extra_cnt;
- if (rc == 0)
- rc=wb4(i);
- return rc;
+ WB4_END(i);
+
+ return 0;
}
-static int wb1112_done(unicode_wb_info_t i, uint8_t prevclass, uint8_t cl)
+static int wb1112_done(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl)
{
- if (prevclass == UNICODE_WB_Katakana &&
- cl == UNICODE_WB_Katakana)
+ if (prevclass.cl == UNICODE_WB_Katakana &&
+ cl.cl == UNICODE_WB_Katakana)
return result(i, 0); /* WB13 */
- switch (prevclass) {
+ switch (prevclass.cl) {
case UNICODE_WB_ALetter:
case UNICODE_WB_Hebrew_Letter:
case UNICODE_WB_Numeric:
case UNICODE_WB_Katakana:
case UNICODE_WB_ExtendNumLet:
- if (cl == UNICODE_WB_ExtendNumLet)
+ if (cl.cl == UNICODE_WB_ExtendNumLet)
return result(i, 0); /* WB13a */
}
- if (prevclass == UNICODE_WB_ExtendNumLet)
- switch (cl) {
+ if (prevclass.cl == UNICODE_WB_ExtendNumLet)
+ switch (cl.cl) {
case UNICODE_WB_ALetter:
case UNICODE_WB_Hebrew_Letter:
case UNICODE_WB_Numeric:
@@ -496,10 +578,44 @@ static int wb1112_done(unicode_wb_info_t i, uint8_t prevclass, uint8_t cl)
return result(i, 0); /* WB13b */
}
- if (prevclass == UNICODE_WB_Regional_Indicator &&
- cl == UNICODE_WB_Regional_Indicator)
+ if (prevclass.cl == UNICODE_WB_Regional_Indicator &&
+ cl.cl == UNICODE_WB_Regional_Indicator)
+ {
+ SET_HANDLER(seen_wb1516_handler, 0);
+ return result(i, 0);
+ }
+
+ return wb1516_done(i, prevclass, cl);
+}
+
+static int seen_wb1516_handler(unicode_wb_info_t i, wb_info_t cl)
+{
+ WB4_APPLY(i, cl);
+
+ SET_HANDLER(wb1and2_done, NULL);
+
+ int wb3c_applies=WB3C_APPLIES_AFTER_WB4(i, cl);
+
+ WB4_END(i);
+
+ if (wb3c_applies)
return result(i, 0);
- return result(i, 1); /* WB14 */
+
+ if (cl.cl == UNICODE_WB_Regional_Indicator)
+ {
+ wb_info_t prevclass=i->prevclass;
+
+ i->prevclass=cl;
+
+ return wb1516_done(i, prevclass, cl);
+ }
+
+ return (*i->next_handler)(i, cl);
+}
+
+static int wb1516_done(unicode_wb_info_t i, wb_info_t prevclass, wb_info_t cl)
+{
+ return result(i, 1); /* WB999 */
}
/* --------------------------------------------------------------------- */
@@ -559,4 +675,3 @@ static int unicode_wbscan_callback(int flag, void *arg)
++i->cnt;
return 0;
}
-
diff --git a/unicode/wordbreaktab.h b/unicode/wordbreaktab.h
index 20b535a..edb4fe0 100644
--- a/unicode/wordbreaktab.h
+++ b/unicode/wordbreaktab.h
@@ -2,6 +2,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x000a & 0xFF, 0x000a & 0xFF},
{0x000b & 0xFF, 0x000c & 0xFF},
{0x000d & 0xFF, 0x000d & 0xFF},
+ {0x0020 & 0xFF, 0x0020 & 0xFF},
{0x0022 & 0xFF, 0x0022 & 0xFF},
{0x0027 & 0xFF, 0x0027 & 0xFF},
{0x002c & 0xFF, 0x002c & 0xFF},
@@ -22,12 +23,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x00d8 & 0xFF, 0x00f6 & 0xFF},
{0x00f8 & 0xFF, 0x00ff & 0xFF},
{0x0100 & 0xFF, 0x01ff & 0xFF},
- {0x0200 & 0xFF, 0x02c1 & 0xFF},
- {0x02c6 & 0xFF, 0x02d1 & 0xFF},
- {0x02d7 & 0xFF, 0x02d7 & 0xFF},
- {0x02e0 & 0xFF, 0x02e4 & 0xFF},
- {0x02ec & 0xFF, 0x02ec & 0xFF},
- {0x02ee & 0xFF, 0x02ee & 0xFF},
+ {0x0200 & 0xFF, 0x02d7 & 0xFF},
+ {0x02de & 0xFF, 0x02ff & 0xFF},
{0x0300 & 0xFF, 0x036f & 0xFF},
{0x0370 & 0xFF, 0x0374 & 0xFF},
{0x0376 & 0xFF, 0x0377 & 0xFF},
@@ -46,16 +43,19 @@ static const uint8_t unicode_rangetab[][2]={
{0x048a & 0xFF, 0x04ff & 0xFF},
{0x0500 & 0xFF, 0x052f & 0xFF},
{0x0531 & 0xFF, 0x0556 & 0xFF},
- {0x0559 & 0xFF, 0x0559 & 0xFF},
- {0x0561 & 0xFF, 0x0587 & 0xFF},
+ {0x0559 & 0xFF, 0x055c & 0xFF},
+ {0x055e & 0xFF, 0x055e & 0xFF},
+ {0x055f & 0xFF, 0x055f & 0xFF},
+ {0x0560 & 0xFF, 0x0588 & 0xFF},
{0x0589 & 0xFF, 0x0589 & 0xFF},
+ {0x058a & 0xFF, 0x058a & 0xFF},
{0x0591 & 0xFF, 0x05bd & 0xFF},
{0x05bf & 0xFF, 0x05bf & 0xFF},
{0x05c1 & 0xFF, 0x05c2 & 0xFF},
{0x05c4 & 0xFF, 0x05c5 & 0xFF},
{0x05c7 & 0xFF, 0x05c7 & 0xFF},
{0x05d0 & 0xFF, 0x05ea & 0xFF},
- {0x05f0 & 0xFF, 0x05f2 & 0xFF},
+ {0x05ef & 0xFF, 0x05f2 & 0xFF},
{0x05f3 & 0xFF, 0x05f3 & 0xFF},
{0x05f4 & 0xFF, 0x05f4 & 0xFF},
{0x0600 & 0xFF, 0x0605 & 0xFF},
@@ -95,6 +95,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x07f4 & 0xFF, 0x07f5 & 0xFF},
{0x07f8 & 0xFF, 0x07f8 & 0xFF},
{0x07fa & 0xFF, 0x07fa & 0xFF},
+ {0x07fd & 0xFF, 0x07fd & 0xFF},
{0x0800 & 0xFF, 0x0815 & 0xFF},
{0x0816 & 0xFF, 0x0819 & 0xFF},
{0x081a & 0xFF, 0x081a & 0xFF},
@@ -105,7 +106,11 @@ static const uint8_t unicode_rangetab[][2]={
{0x0829 & 0xFF, 0x082d & 0xFF},
{0x0840 & 0xFF, 0x0858 & 0xFF},
{0x0859 & 0xFF, 0x085b & 0xFF},
+ {0x0860 & 0xFF, 0x086a & 0xFF},
{0x08a0 & 0xFF, 0x08b4 & 0xFF},
+ {0x08b6 & 0xFF, 0x08c7 & 0xFF},
+ {0x08d3 & 0xFF, 0x08e1 & 0xFF},
+ {0x08e2 & 0xFF, 0x08e2 & 0xFF},
{0x08e3 & 0xFF, 0x08ff & 0xFF},
{0x0900 & 0xFF, 0x0903 & 0xFF},
{0x0904 & 0xFF, 0x0939 & 0xFF},
@@ -137,6 +142,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x09e2 & 0xFF, 0x09e3 & 0xFF},
{0x09e6 & 0xFF, 0x09ef & 0xFF},
{0x09f0 & 0xFF, 0x09f1 & 0xFF},
+ {0x09fc & 0xFF, 0x09fc & 0xFF},
+ {0x09fe & 0xFF, 0x09fe & 0xFF},
{0x0a01 & 0xFF, 0x0a03 & 0xFF},
{0x0a05 & 0xFF, 0x0a0a & 0xFF},
{0x0a0f & 0xFF, 0x0a10 & 0xFF},
@@ -173,6 +180,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0ae2 & 0xFF, 0x0ae3 & 0xFF},
{0x0ae6 & 0xFF, 0x0aef & 0xFF},
{0x0af9 & 0xFF, 0x0af9 & 0xFF},
+ {0x0afa & 0xFF, 0x0aff & 0xFF},
{0x0b01 & 0xFF, 0x0b03 & 0xFF},
{0x0b05 & 0xFF, 0x0b0c & 0xFF},
{0x0b0f & 0xFF, 0x0b10 & 0xFF},
@@ -185,7 +193,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0b3e & 0xFF, 0x0b44 & 0xFF},
{0x0b47 & 0xFF, 0x0b48 & 0xFF},
{0x0b4b & 0xFF, 0x0b4d & 0xFF},
- {0x0b56 & 0xFF, 0x0b57 & 0xFF},
+ {0x0b55 & 0xFF, 0x0b57 & 0xFF},
{0x0b5c & 0xFF, 0x0b5d & 0xFF},
{0x0b5f & 0xFF, 0x0b61 & 0xFF},
{0x0b62 & 0xFF, 0x0b63 & 0xFF},
@@ -208,7 +216,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0bd0 & 0xFF, 0x0bd0 & 0xFF},
{0x0bd7 & 0xFF, 0x0bd7 & 0xFF},
{0x0be6 & 0xFF, 0x0bef & 0xFF},
- {0x0c00 & 0xFF, 0x0c03 & 0xFF},
+ {0x0c00 & 0xFF, 0x0c04 & 0xFF},
{0x0c05 & 0xFF, 0x0c0c & 0xFF},
{0x0c0e & 0xFF, 0x0c10 & 0xFF},
{0x0c12 & 0xFF, 0x0c28 & 0xFF},
@@ -222,6 +230,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0c60 & 0xFF, 0x0c61 & 0xFF},
{0x0c62 & 0xFF, 0x0c63 & 0xFF},
{0x0c66 & 0xFF, 0x0c6f & 0xFF},
+ {0x0c80 & 0xFF, 0x0c80 & 0xFF},
{0x0c81 & 0xFF, 0x0c83 & 0xFF},
{0x0c85 & 0xFF, 0x0c8c & 0xFF},
{0x0c8e & 0xFF, 0x0c90 & 0xFF},
@@ -239,21 +248,23 @@ static const uint8_t unicode_rangetab[][2]={
{0x0ce2 & 0xFF, 0x0ce3 & 0xFF},
{0x0ce6 & 0xFF, 0x0cef & 0xFF},
{0x0cf1 & 0xFF, 0x0cf2 & 0xFF},
- {0x0d01 & 0xFF, 0x0d03 & 0xFF},
- {0x0d05 & 0xFF, 0x0d0c & 0xFF},
+ {0x0d00 & 0xFF, 0x0d03 & 0xFF},
+ {0x0d04 & 0xFF, 0x0d0c & 0xFF},
{0x0d0e & 0xFF, 0x0d10 & 0xFF},
{0x0d12 & 0xFF, 0x0d3a & 0xFF},
+ {0x0d3b & 0xFF, 0x0d3c & 0xFF},
{0x0d3d & 0xFF, 0x0d3d & 0xFF},
{0x0d3e & 0xFF, 0x0d44 & 0xFF},
{0x0d46 & 0xFF, 0x0d48 & 0xFF},
{0x0d4a & 0xFF, 0x0d4d & 0xFF},
{0x0d4e & 0xFF, 0x0d4e & 0xFF},
+ {0x0d54 & 0xFF, 0x0d56 & 0xFF},
{0x0d57 & 0xFF, 0x0d57 & 0xFF},
{0x0d5f & 0xFF, 0x0d61 & 0xFF},
{0x0d62 & 0xFF, 0x0d63 & 0xFF},
{0x0d66 & 0xFF, 0x0d6f & 0xFF},
{0x0d7a & 0xFF, 0x0d7f & 0xFF},
- {0x0d82 & 0xFF, 0x0d83 & 0xFF},
+ {0x0d81 & 0xFF, 0x0d83 & 0xFF},
{0x0d85 & 0xFF, 0x0d96 & 0xFF},
{0x0d9a & 0xFF, 0x0db1 & 0xFF},
{0x0db3 & 0xFF, 0x0dbb & 0xFF},
@@ -270,8 +281,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x0e47 & 0xFF, 0x0e4e & 0xFF},
{0x0e50 & 0xFF, 0x0e59 & 0xFF},
{0x0eb1 & 0xFF, 0x0eb1 & 0xFF},
- {0x0eb4 & 0xFF, 0x0eb9 & 0xFF},
- {0x0ebb & 0xFF, 0x0ebc & 0xFF},
+ {0x0eb4 & 0xFF, 0x0ebc & 0xFF},
{0x0ec8 & 0xFF, 0x0ecd & 0xFF},
{0x0ed0 & 0xFF, 0x0ed9 & 0xFF},
{0x0f00 & 0xFF, 0x0f00 & 0xFF},
@@ -331,6 +341,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x1500 & 0xFF, 0x15ff & 0xFF},
{0x1600 & 0xFF, 0x166c & 0xFF},
{0x166f & 0xFF, 0x167f & 0xFF},
+ {0x1680 & 0xFF, 0x1680 & 0xFF},
{0x1681 & 0xFF, 0x169a & 0xFF},
{0x16a0 & 0xFF, 0x16ea & 0xFF},
{0x16ee & 0xFF, 0x16f8 & 0xFF},
@@ -350,8 +361,10 @@ static const uint8_t unicode_rangetab[][2]={
{0x180b & 0xFF, 0x180d & 0xFF},
{0x180e & 0xFF, 0x180e & 0xFF},
{0x1810 & 0xFF, 0x1819 & 0xFF},
- {0x1820 & 0xFF, 0x1877 & 0xFF},
- {0x1880 & 0xFF, 0x18a8 & 0xFF},
+ {0x1820 & 0xFF, 0x1878 & 0xFF},
+ {0x1880 & 0xFF, 0x1884 & 0xFF},
+ {0x1885 & 0xFF, 0x1886 & 0xFF},
+ {0x1887 & 0xFF, 0x18a8 & 0xFF},
{0x18a9 & 0xFF, 0x18a9 & 0xFF},
{0x18aa & 0xFF, 0x18aa & 0xFF},
{0x18b0 & 0xFF, 0x18f5 & 0xFF},
@@ -367,7 +380,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x1a7f & 0xFF, 0x1a7f & 0xFF},
{0x1a80 & 0xFF, 0x1a89 & 0xFF},
{0x1a90 & 0xFF, 0x1a99 & 0xFF},
- {0x1ab0 & 0xFF, 0x1abe & 0xFF},
+ {0x1ab0 & 0xFF, 0x1ac0 & 0xFF},
{0x1b00 & 0xFF, 0x1b04 & 0xFF},
{0x1b05 & 0xFF, 0x1b33 & 0xFF},
{0x1b34 & 0xFF, 0x1b44 & 0xFF},
@@ -387,17 +400,21 @@ static const uint8_t unicode_rangetab[][2]={
{0x1c4d & 0xFF, 0x1c4f & 0xFF},
{0x1c50 & 0xFF, 0x1c59 & 0xFF},
{0x1c5a & 0xFF, 0x1c7d & 0xFF},
+ {0x1c80 & 0xFF, 0x1c88 & 0xFF},
+ {0x1c90 & 0xFF, 0x1cba & 0xFF},
+ {0x1cbd & 0xFF, 0x1cbf & 0xFF},
{0x1cd0 & 0xFF, 0x1cd2 & 0xFF},
{0x1cd4 & 0xFF, 0x1ce8 & 0xFF},
{0x1ce9 & 0xFF, 0x1cec & 0xFF},
{0x1ced & 0xFF, 0x1ced & 0xFF},
- {0x1cee & 0xFF, 0x1cf1 & 0xFF},
- {0x1cf2 & 0xFF, 0x1cf4 & 0xFF},
+ {0x1cee & 0xFF, 0x1cf3 & 0xFF},
+ {0x1cf4 & 0xFF, 0x1cf4 & 0xFF},
{0x1cf5 & 0xFF, 0x1cf6 & 0xFF},
- {0x1cf8 & 0xFF, 0x1cf9 & 0xFF},
+ {0x1cf7 & 0xFF, 0x1cf9 & 0xFF},
+ {0x1cfa & 0xFF, 0x1cfa & 0xFF},
{0x1d00 & 0xFF, 0x1dbf & 0xFF},
- {0x1dc0 & 0xFF, 0x1df5 & 0xFF},
- {0x1dfc & 0xFF, 0x1dff & 0xFF},
+ {0x1dc0 & 0xFF, 0x1df9 & 0xFF},
+ {0x1dfb & 0xFF, 0x1dff & 0xFF},
{0x1e00 & 0xFF, 0x1eff & 0xFF},
{0x1f00 & 0xFF, 0x1f15 & 0xFF},
{0x1f18 & 0xFF, 0x1f1d & 0xFF},
@@ -418,16 +435,21 @@ static const uint8_t unicode_rangetab[][2]={
{0x1fe0 & 0xFF, 0x1fec & 0xFF},
{0x1ff2 & 0xFF, 0x1ff4 & 0xFF},
{0x1ff6 & 0xFF, 0x1ffc & 0xFF},
- {0x200c & 0xFF, 0x200d & 0xFF},
+ {0x2000 & 0xFF, 0x2006 & 0xFF},
+ {0x2008 & 0xFF, 0x200a & 0xFF},
+ {0x200c & 0xFF, 0x200c & 0xFF},
+ {0x200d & 0xFF, 0x200d & 0xFF},
{0x200e & 0xFF, 0x200f & 0xFF},
{0x2018 & 0xFF, 0x2019 & 0xFF},
{0x2024 & 0xFF, 0x2024 & 0xFF},
{0x2027 & 0xFF, 0x2027 & 0xFF},
{0x2028 & 0xFF, 0x2029 & 0xFF},
{0x202a & 0xFF, 0x202e & 0xFF},
+ {0x202f & 0xFF, 0x202f & 0xFF},
{0x203f & 0xFF, 0x2040 & 0xFF},
{0x2044 & 0xFF, 0x2044 & 0xFF},
{0x2054 & 0xFF, 0x2054 & 0xFF},
+ {0x205f & 0xFF, 0x205f & 0xFF},
{0x2060 & 0xFF, 0x2064 & 0xFF},
{0x2066 & 0xFF, 0x206f & 0xFF},
{0x2071 & 0xFF, 0x2071 & 0xFF},
@@ -472,6 +494,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x2dd8 & 0xFF, 0x2dde & 0xFF},
{0x2de0 & 0xFF, 0x2dff & 0xFF},
{0x2e2f & 0xFF, 0x2e2f & 0xFF},
+ {0x3000 & 0xFF, 0x3000 & 0xFF},
{0x3005 & 0xFF, 0x3005 & 0xFF},
{0x302a & 0xFF, 0x302f & 0xFF},
{0x3031 & 0xFF, 0x3035 & 0xFF},
@@ -480,9 +503,9 @@ static const uint8_t unicode_rangetab[][2]={
{0x309b & 0xFF, 0x309c & 0xFF},
{0x30a0 & 0xFF, 0x30fa & 0xFF},
{0x30fc & 0xFF, 0x30ff & 0xFF},
- {0x3105 & 0xFF, 0x312d & 0xFF},
+ {0x3105 & 0xFF, 0x312f & 0xFF},
{0x3131 & 0xFF, 0x318e & 0xFF},
- {0x31a0 & 0xFF, 0x31ba & 0xFF},
+ {0x31a0 & 0xFF, 0x31bf & 0xFF},
{0x31f0 & 0xFF, 0x31ff & 0xFF},
{0x32d0 & 0xFF, 0x32fe & 0xFF},
{0x3300 & 0xFF, 0x3357 & 0xFF},
@@ -504,11 +527,9 @@ static const uint8_t unicode_rangetab[][2]={
{0xa69e & 0xFF, 0xa69f & 0xFF},
{0xa6a0 & 0xFF, 0xa6ef & 0xFF},
{0xa6f0 & 0xFF, 0xa6f1 & 0xFF},
- {0xa717 & 0xFF, 0xa71f & 0xFF},
- {0xa722 & 0xFF, 0xa788 & 0xFF},
- {0xa78b & 0xFF, 0xa7ad & 0xFF},
- {0xa7b0 & 0xFF, 0xa7b7 & 0xFF},
- {0xa7f7 & 0xFF, 0xa7ff & 0xFF},
+ {0xa708 & 0xFF, 0xa7bf & 0xFF},
+ {0xa7c2 & 0xFF, 0xa7ca & 0xFF},
+ {0xa7f5 & 0xFF, 0xa7ff & 0xFF},
{0xa800 & 0xFF, 0xa801 & 0xFF},
{0xa802 & 0xFF, 0xa802 & 0xFF},
{0xa803 & 0xFF, 0xa805 & 0xFF},
@@ -517,15 +538,17 @@ static const uint8_t unicode_rangetab[][2]={
{0xa80b & 0xFF, 0xa80b & 0xFF},
{0xa80c & 0xFF, 0xa822 & 0xFF},
{0xa823 & 0xFF, 0xa827 & 0xFF},
+ {0xa82c & 0xFF, 0xa82c & 0xFF},
{0xa840 & 0xFF, 0xa873 & 0xFF},
{0xa880 & 0xFF, 0xa881 & 0xFF},
{0xa882 & 0xFF, 0xa8b3 & 0xFF},
- {0xa8b4 & 0xFF, 0xa8c4 & 0xFF},
+ {0xa8b4 & 0xFF, 0xa8c5 & 0xFF},
{0xa8d0 & 0xFF, 0xa8d9 & 0xFF},
{0xa8e0 & 0xFF, 0xa8f1 & 0xFF},
{0xa8f2 & 0xFF, 0xa8f7 & 0xFF},
{0xa8fb & 0xFF, 0xa8fb & 0xFF},
- {0xa8fd & 0xFF, 0xa8fd & 0xFF},
+ {0xa8fd & 0xFF, 0xa8fe & 0xFF},
+ {0xa8ff & 0xFF, 0xa8ff & 0xFF},
{0xa900 & 0xFF, 0xa909 & 0xFF},
{0xa90a & 0xFF, 0xa925 & 0xFF},
{0xa926 & 0xFF, 0xa92d & 0xFF},
@@ -561,8 +584,7 @@ static const uint8_t unicode_rangetab[][2]={
{0xab11 & 0xFF, 0xab16 & 0xFF},
{0xab20 & 0xFF, 0xab26 & 0xFF},
{0xab28 & 0xFF, 0xab2e & 0xFF},
- {0xab30 & 0xFF, 0xab5a & 0xFF},
- {0xab5c & 0xFF, 0xab65 & 0xFF},
+ {0xab30 & 0xFF, 0xab69 & 0xFF},
{0xab70 & 0xFF, 0xabe2 & 0xFF},
{0xabe3 & 0xFF, 0xabea & 0xFF},
{0xabec & 0xFF, 0xabed & 0xFF},
@@ -648,6 +670,7 @@ static const uint8_t unicode_rangetab[][2]={
{0xff07 & 0xFF, 0xff07 & 0xFF},
{0xff0c & 0xFF, 0xff0c & 0xFF},
{0xff0e & 0xFF, 0xff0e & 0xFF},
+ {0xff10 & 0xFF, 0xff19 & 0xFF},
{0xff1a & 0xFF, 0xff1a & 0xFF},
{0xff1b & 0xFF, 0xff1b & 0xFF},
{0xff21 & 0xFF, 0xff3a & 0xFF},
@@ -674,7 +697,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x102a0 & 0xFF, 0x102d0 & 0xFF},
{0x102e0 & 0xFF, 0x102e0 & 0xFF},
{0x10300 & 0xFF, 0x1031f & 0xFF},
- {0x10330 & 0xFF, 0x1034a & 0xFF},
+ {0x1032d & 0xFF, 0x1034a & 0xFF},
{0x10350 & 0xFF, 0x10375 & 0xFF},
{0x10376 & 0xFF, 0x1037a & 0xFF},
{0x10380 & 0xFF, 0x1039d & 0xFF},
@@ -683,6 +706,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x103d1 & 0xFF, 0x103d5 & 0xFF},
{0x10400 & 0xFF, 0x1049d & 0xFF},
{0x104a0 & 0xFF, 0x104a9 & 0xFF},
+ {0x104b0 & 0xFF, 0x104d3 & 0xFF},
+ {0x104d8 & 0xFF, 0x104fb & 0xFF},
{0x10500 & 0xFF, 0x10527 & 0xFF},
{0x10530 & 0xFF, 0x10563 & 0xFF},
{0x10600 & 0xFF, 0x106ff & 0xFF},
@@ -709,7 +734,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x10a0c & 0xFF, 0x10a0f & 0xFF},
{0x10a10 & 0xFF, 0x10a13 & 0xFF},
{0x10a15 & 0xFF, 0x10a17 & 0xFF},
- {0x10a19 & 0xFF, 0x10a33 & 0xFF},
+ {0x10a19 & 0xFF, 0x10a35 & 0xFF},
{0x10a38 & 0xFF, 0x10a3a & 0xFF},
{0x10a3f & 0xFF, 0x10a3f & 0xFF},
{0x10a60 & 0xFF, 0x10a7c & 0xFF},
@@ -724,6 +749,18 @@ static const uint8_t unicode_rangetab[][2]={
{0x10c00 & 0xFF, 0x10c48 & 0xFF},
{0x10c80 & 0xFF, 0x10cb2 & 0xFF},
{0x10cc0 & 0xFF, 0x10cf2 & 0xFF},
+ {0x10d00 & 0xFF, 0x10d23 & 0xFF},
+ {0x10d24 & 0xFF, 0x10d27 & 0xFF},
+ {0x10d30 & 0xFF, 0x10d39 & 0xFF},
+ {0x10e80 & 0xFF, 0x10ea9 & 0xFF},
+ {0x10eab & 0xFF, 0x10eac & 0xFF},
+ {0x10eb0 & 0xFF, 0x10eb1 & 0xFF},
+ {0x10f00 & 0xFF, 0x10f1c & 0xFF},
+ {0x10f27 & 0xFF, 0x10f27 & 0xFF},
+ {0x10f30 & 0xFF, 0x10f45 & 0xFF},
+ {0x10f46 & 0xFF, 0x10f50 & 0xFF},
+ {0x10fb0 & 0xFF, 0x10fc4 & 0xFF},
+ {0x10fe0 & 0xFF, 0x10ff6 & 0xFF},
{0x11000 & 0xFF, 0x11002 & 0xFF},
{0x11003 & 0xFF, 0x11037 & 0xFF},
{0x11038 & 0xFF, 0x11046 & 0xFF},
@@ -732,12 +769,16 @@ static const uint8_t unicode_rangetab[][2]={
{0x11083 & 0xFF, 0x110af & 0xFF},
{0x110b0 & 0xFF, 0x110ba & 0xFF},
{0x110bd & 0xFF, 0x110bd & 0xFF},
+ {0x110cd & 0xFF, 0x110cd & 0xFF},
{0x110d0 & 0xFF, 0x110e8 & 0xFF},
{0x110f0 & 0xFF, 0x110f9 & 0xFF},
{0x11100 & 0xFF, 0x11102 & 0xFF},
{0x11103 & 0xFF, 0x11126 & 0xFF},
{0x11127 & 0xFF, 0x11134 & 0xFF},
{0x11136 & 0xFF, 0x1113f & 0xFF},
+ {0x11144 & 0xFF, 0x11144 & 0xFF},
+ {0x11145 & 0xFF, 0x11146 & 0xFF},
+ {0x11147 & 0xFF, 0x11147 & 0xFF},
{0x11150 & 0xFF, 0x11172 & 0xFF},
{0x11173 & 0xFF, 0x11173 & 0xFF},
{0x11176 & 0xFF, 0x11176 & 0xFF},
@@ -745,13 +786,15 @@ static const uint8_t unicode_rangetab[][2]={
{0x11183 & 0xFF, 0x111b2 & 0xFF},
{0x111b3 & 0xFF, 0x111c0 & 0xFF},
{0x111c1 & 0xFF, 0x111c4 & 0xFF},
- {0x111ca & 0xFF, 0x111cc & 0xFF},
+ {0x111c9 & 0xFF, 0x111cc & 0xFF},
+ {0x111ce & 0xFF, 0x111cf & 0xFF},
{0x111d0 & 0xFF, 0x111d9 & 0xFF},
{0x111da & 0xFF, 0x111da & 0xFF},
{0x111dc & 0xFF, 0x111dc & 0xFF},
{0x11200 & 0xFF, 0x11211 & 0xFF},
{0x11213 & 0xFF, 0x1122b & 0xFF},
{0x1122c & 0xFF, 0x11237 & 0xFF},
+ {0x1123e & 0xFF, 0x1123e & 0xFF},
{0x11280 & 0xFF, 0x11286 & 0xFF},
{0x11288 & 0xFF, 0x11288 & 0xFF},
{0x1128a & 0xFF, 0x1128d & 0xFF},
@@ -767,7 +810,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x1132a & 0xFF, 0x11330 & 0xFF},
{0x11332 & 0xFF, 0x11333 & 0xFF},
{0x11335 & 0xFF, 0x11339 & 0xFF},
- {0x1133c & 0xFF, 0x1133c & 0xFF},
+ {0x1133b & 0xFF, 0x1133c & 0xFF},
{0x1133d & 0xFF, 0x1133d & 0xFF},
{0x1133e & 0xFF, 0x11344 & 0xFF},
{0x11347 & 0xFF, 0x11348 & 0xFF},
@@ -778,6 +821,12 @@ static const uint8_t unicode_rangetab[][2]={
{0x11362 & 0xFF, 0x11363 & 0xFF},
{0x11366 & 0xFF, 0x1136c & 0xFF},
{0x11370 & 0xFF, 0x11374 & 0xFF},
+ {0x11400 & 0xFF, 0x11434 & 0xFF},
+ {0x11435 & 0xFF, 0x11446 & 0xFF},
+ {0x11447 & 0xFF, 0x1144a & 0xFF},
+ {0x11450 & 0xFF, 0x11459 & 0xFF},
+ {0x1145e & 0xFF, 0x1145e & 0xFF},
+ {0x1145f & 0xFF, 0x11461 & 0xFF},
{0x11480 & 0xFF, 0x114af & 0xFF},
{0x114b0 & 0xFF, 0x114c3 & 0xFF},
{0x114c4 & 0xFF, 0x114c5 & 0xFF},
@@ -794,13 +843,78 @@ static const uint8_t unicode_rangetab[][2]={
{0x11650 & 0xFF, 0x11659 & 0xFF},
{0x11680 & 0xFF, 0x116aa & 0xFF},
{0x116ab & 0xFF, 0x116b7 & 0xFF},
+ {0x116b8 & 0xFF, 0x116b8 & 0xFF},
{0x116c0 & 0xFF, 0x116c9 & 0xFF},
{0x1171d & 0xFF, 0x1172b & 0xFF},
{0x11730 & 0xFF, 0x11739 & 0xFF},
+ {0x11800 & 0xFF, 0x1182b & 0xFF},
+ {0x1182c & 0xFF, 0x1183a & 0xFF},
{0x118a0 & 0xFF, 0x118df & 0xFF},
{0x118e0 & 0xFF, 0x118e9 & 0xFF},
{0x118ff & 0xFF, 0x118ff & 0xFF},
+ {0x11900 & 0xFF, 0x11906 & 0xFF},
+ {0x11909 & 0xFF, 0x11909 & 0xFF},
+ {0x1190c & 0xFF, 0x11913 & 0xFF},
+ {0x11915 & 0xFF, 0x11916 & 0xFF},
+ {0x11918 & 0xFF, 0x1192f & 0xFF},
+ {0x11930 & 0xFF, 0x11935 & 0xFF},
+ {0x11937 & 0xFF, 0x11938 & 0xFF},
+ {0x1193b & 0xFF, 0x1193e & 0xFF},
+ {0x1193f & 0xFF, 0x1193f & 0xFF},
+ {0x11940 & 0xFF, 0x11940 & 0xFF},
+ {0x11941 & 0xFF, 0x11941 & 0xFF},
+ {0x11942 & 0xFF, 0x11943 & 0xFF},
+ {0x11950 & 0xFF, 0x11959 & 0xFF},
+ {0x119a0 & 0xFF, 0x119a7 & 0xFF},
+ {0x119aa & 0xFF, 0x119d0 & 0xFF},
+ {0x119d1 & 0xFF, 0x119d7 & 0xFF},
+ {0x119da & 0xFF, 0x119e0 & 0xFF},
+ {0x119e1 & 0xFF, 0x119e1 & 0xFF},
+ {0x119e3 & 0xFF, 0x119e3 & 0xFF},
+ {0x119e4 & 0xFF, 0x119e4 & 0xFF},
+ {0x11a00 & 0xFF, 0x11a00 & 0xFF},
+ {0x11a01 & 0xFF, 0x11a0a & 0xFF},
+ {0x11a0b & 0xFF, 0x11a32 & 0xFF},
+ {0x11a33 & 0xFF, 0x11a39 & 0xFF},
+ {0x11a3a & 0xFF, 0x11a3a & 0xFF},
+ {0x11a3b & 0xFF, 0x11a3e & 0xFF},
+ {0x11a47 & 0xFF, 0x11a47 & 0xFF},
+ {0x11a50 & 0xFF, 0x11a50 & 0xFF},
+ {0x11a51 & 0xFF, 0x11a5b & 0xFF},
+ {0x11a5c & 0xFF, 0x11a89 & 0xFF},
+ {0x11a8a & 0xFF, 0x11a99 & 0xFF},
+ {0x11a9d & 0xFF, 0x11a9d & 0xFF},
{0x11ac0 & 0xFF, 0x11af8 & 0xFF},
+ {0x11c00 & 0xFF, 0x11c08 & 0xFF},
+ {0x11c0a & 0xFF, 0x11c2e & 0xFF},
+ {0x11c2f & 0xFF, 0x11c36 & 0xFF},
+ {0x11c38 & 0xFF, 0x11c3f & 0xFF},
+ {0x11c40 & 0xFF, 0x11c40 & 0xFF},
+ {0x11c50 & 0xFF, 0x11c59 & 0xFF},
+ {0x11c72 & 0xFF, 0x11c8f & 0xFF},
+ {0x11c92 & 0xFF, 0x11ca7 & 0xFF},
+ {0x11ca9 & 0xFF, 0x11cb6 & 0xFF},
+ {0x11d00 & 0xFF, 0x11d06 & 0xFF},
+ {0x11d08 & 0xFF, 0x11d09 & 0xFF},
+ {0x11d0b & 0xFF, 0x11d30 & 0xFF},
+ {0x11d31 & 0xFF, 0x11d36 & 0xFF},
+ {0x11d3a & 0xFF, 0x11d3a & 0xFF},
+ {0x11d3c & 0xFF, 0x11d3d & 0xFF},
+ {0x11d3f & 0xFF, 0x11d45 & 0xFF},
+ {0x11d46 & 0xFF, 0x11d46 & 0xFF},
+ {0x11d47 & 0xFF, 0x11d47 & 0xFF},
+ {0x11d50 & 0xFF, 0x11d59 & 0xFF},
+ {0x11d60 & 0xFF, 0x11d65 & 0xFF},
+ {0x11d67 & 0xFF, 0x11d68 & 0xFF},
+ {0x11d6a & 0xFF, 0x11d89 & 0xFF},
+ {0x11d8a & 0xFF, 0x11d8e & 0xFF},
+ {0x11d90 & 0xFF, 0x11d91 & 0xFF},
+ {0x11d93 & 0xFF, 0x11d97 & 0xFF},
+ {0x11d98 & 0xFF, 0x11d98 & 0xFF},
+ {0x11da0 & 0xFF, 0x11da9 & 0xFF},
+ {0x11ee0 & 0xFF, 0x11ef2 & 0xFF},
+ {0x11ef3 & 0xFF, 0x11ef6 & 0xFF},
+ {0x11fb0 & 0xFF, 0x11fb0 & 0xFF},
{0x12000 & 0xFF, 0x120ff & 0xFF},
{0x12100 & 0xFF, 0x121ff & 0xFF},
{0x12200 & 0xFF, 0x122ff & 0xFF},
@@ -813,6 +927,7 @@ static const uint8_t unicode_rangetab[][2]={
{0x13200 & 0xFF, 0x132ff & 0xFF},
{0x13300 & 0xFF, 0x133ff & 0xFF},
{0x13400 & 0xFF, 0x1342e & 0xFF},
+ {0x13430 & 0xFF, 0x13438 & 0xFF},
{0x14400 & 0xFF, 0x144ff & 0xFF},
{0x14500 & 0xFF, 0x145ff & 0xFF},
{0x14600 & 0xFF, 0x14646 & 0xFF},
@@ -829,12 +944,19 @@ static const uint8_t unicode_rangetab[][2]={
{0x16b50 & 0xFF, 0x16b59 & 0xFF},
{0x16b63 & 0xFF, 0x16b77 & 0xFF},
{0x16b7d & 0xFF, 0x16b8f & 0xFF},
- {0x16f00 & 0xFF, 0x16f44 & 0xFF},
+ {0x16e40 & 0xFF, 0x16e7f & 0xFF},
+ {0x16f00 & 0xFF, 0x16f4a & 0xFF},
+ {0x16f4f & 0xFF, 0x16f4f & 0xFF},
{0x16f50 & 0xFF, 0x16f50 & 0xFF},
- {0x16f51 & 0xFF, 0x16f7e & 0xFF},
+ {0x16f51 & 0xFF, 0x16f87 & 0xFF},
{0x16f8f & 0xFF, 0x16f92 & 0xFF},
{0x16f93 & 0xFF, 0x16f9f & 0xFF},
+ {0x16fe0 & 0xFF, 0x16fe1 & 0xFF},
+ {0x16fe3 & 0xFF, 0x16fe3 & 0xFF},
+ {0x16fe4 & 0xFF, 0x16fe4 & 0xFF},
+ {0x16ff0 & 0xFF, 0x16ff1 & 0xFF},
{0x1b000 & 0xFF, 0x1b000 & 0xFF},
+ {0x1b164 & 0xFF, 0x1b167 & 0xFF},
{0x1bc00 & 0xFF, 0x1bc6a & 0xFF},
{0x1bc70 & 0xFF, 0x1bc7c & 0xFF},
{0x1bc80 & 0xFF, 0x1bc88 & 0xFF},
@@ -888,8 +1010,25 @@ static const uint8_t unicode_rangetab[][2]={
{0x1da84 & 0xFF, 0x1da84 & 0xFF},
{0x1da9b & 0xFF, 0x1da9f & 0xFF},
{0x1daa1 & 0xFF, 0x1daaf & 0xFF},
+ {0x1e000 & 0xFF, 0x1e006 & 0xFF},
+ {0x1e008 & 0xFF, 0x1e018 & 0xFF},
+ {0x1e01b & 0xFF, 0x1e021 & 0xFF},
+ {0x1e023 & 0xFF, 0x1e024 & 0xFF},
+ {0x1e026 & 0xFF, 0x1e02a & 0xFF},
+ {0x1e100 & 0xFF, 0x1e12c & 0xFF},
+ {0x1e130 & 0xFF, 0x1e136 & 0xFF},
+ {0x1e137 & 0xFF, 0x1e13d & 0xFF},
+ {0x1e140 & 0xFF, 0x1e149 & 0xFF},
+ {0x1e14e & 0xFF, 0x1e14e & 0xFF},
+ {0x1e2c0 & 0xFF, 0x1e2eb & 0xFF},
+ {0x1e2ec & 0xFF, 0x1e2ef & 0xFF},
+ {0x1e2f0 & 0xFF, 0x1e2f9 & 0xFF},
{0x1e800 & 0xFF, 0x1e8c4 & 0xFF},
{0x1e8d0 & 0xFF, 0x1e8d6 & 0xFF},
+ {0x1e900 & 0xFF, 0x1e943 & 0xFF},
+ {0x1e944 & 0xFF, 0x1e94a & 0xFF},
+ {0x1e94b & 0xFF, 0x1e94b & 0xFF},
+ {0x1e950 & 0xFF, 0x1e959 & 0xFF},
{0x1ee00 & 0xFF, 0x1ee03 & 0xFF},
{0x1ee05 & 0xFF, 0x1ee1f & 0xFF},
{0x1ee21 & 0xFF, 0x1ee22 & 0xFF},
@@ -927,6 +1066,8 @@ static const uint8_t unicode_rangetab[][2]={
{0x1f150 & 0xFF, 0x1f169 & 0xFF},
{0x1f170 & 0xFF, 0x1f189 & 0xFF},
{0x1f1e6 & 0xFF, 0x1f1ff & 0xFF},
+ {0x1f3fb & 0xFF, 0x1f3ff & 0xFF},
+ {0x1fbf0 & 0xFF, 0x1fbf9 & 0xFF},
{0xe0001 & 0xFF, 0xe0001 & 0xFF},
{0xe0020 & 0xFF, 0xe007f & 0xFF},
{0xe0100 & 0xFF, 0xe01ef & 0xFF}};
@@ -935,6 +1076,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_LF,
UNICODE_WB_Newline,
UNICODE_WB_CR,
+ UNICODE_WB_WSegSpace,
UNICODE_WB_Double_Quote,
UNICODE_WB_Single_Quote,
UNICODE_WB_MidNum,
@@ -957,10 +1099,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
- UNICODE_WB_MidLetter,
- UNICODE_WB_ALetter,
- UNICODE_WB_ALetter,
- UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -981,7 +1119,10 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
+ UNICODE_WB_MidLetter,
+ UNICODE_WB_ALetter,
UNICODE_WB_MidNum,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
@@ -1028,6 +1169,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_MidNum,
UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
@@ -1039,6 +1181,10 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Format,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
@@ -1070,6 +1216,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_Extend,
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -1107,6 +1255,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -1155,6 +1304,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Numeric,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -1176,11 +1326,13 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
@@ -1205,7 +1357,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
- UNICODE_WB_Extend,
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
@@ -1264,6 +1415,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
+ UNICODE_WB_WSegSpace,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -1287,6 +1439,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
@@ -1320,6 +1474,9 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
@@ -1329,6 +1486,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
@@ -1351,7 +1509,10 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
+ UNICODE_WB_WSegSpace,
+ UNICODE_WB_WSegSpace,
UNICODE_WB_Extend,
+ UNICODE_WB_ZWJ,
UNICODE_WB_Format,
UNICODE_WB_MidNumLet,
UNICODE_WB_MidNumLet,
@@ -1359,8 +1520,10 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_Newline,
UNICODE_WB_Format,
UNICODE_WB_ExtendNumLet,
+ UNICODE_WB_ExtendNumLet,
UNICODE_WB_MidNum,
UNICODE_WB_ExtendNumLet,
+ UNICODE_WB_WSegSpace,
UNICODE_WB_Format,
UNICODE_WB_Format,
UNICODE_WB_ALetter,
@@ -1405,6 +1568,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
+ UNICODE_WB_WSegSpace,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Katakana,
@@ -1441,8 +1605,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
- UNICODE_WB_ALetter,
- UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
@@ -1450,6 +1612,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
@@ -1459,6 +1622,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
@@ -1496,7 +1660,6 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
- UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_Numeric,
@@ -1581,6 +1744,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_MidNumLet,
UNICODE_WB_MidNum,
UNICODE_WB_MidNumLet,
+ UNICODE_WB_Numeric,
UNICODE_WB_MidLetter,
UNICODE_WB_MidNum,
UNICODE_WB_ALetter,
@@ -1637,6 +1801,8 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
@@ -1657,6 +1823,18 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Numeric,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
@@ -1665,6 +1843,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Format,
+ UNICODE_WB_Format,
UNICODE_WB_ALetter,
UNICODE_WB_Numeric,
UNICODE_WB_Extend,
@@ -1674,17 +1853,22 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -1714,25 +1898,96 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
+ UNICODE_WB_Numeric,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Numeric,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Numeric,
UNICODE_WB_Extend,
+ UNICODE_WB_Numeric,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Numeric,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
UNICODE_WB_Numeric,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
UNICODE_WB_Extend,
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -1746,6 +2001,7 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
+ UNICODE_WB_Format,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -1765,8 +2021,15 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Katakana,
UNICODE_WB_Katakana,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -1821,8 +2084,25 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_Extend,
UNICODE_WB_Extend,
UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Numeric,
+ UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_Extend,
+ UNICODE_WB_Numeric,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Extend,
+ UNICODE_WB_ALetter,
+ UNICODE_WB_Numeric,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
@@ -1860,205 +2140,185 @@ static const uint8_t unicode_classtab[]={
UNICODE_WB_ALetter,
UNICODE_WB_ALetter,
UNICODE_WB_Regional_Indicator,
+ UNICODE_WB_Extend,
+ UNICODE_WB_Numeric,
UNICODE_WB_Format,
- UNICODE_WB_Format,
+ UNICODE_WB_Extend,
UNICODE_WB_Extend};
static const size_t unicode_indextab[]={
0,
- 22,
23,
- 29,
+ 24,
+ 26,
+ 39,
42,
- 45,
59,
82,
- 96,
- 108,
- 138,
- 174,
- 209,
- 240,
- 266,
- 275,
- 290,
- 306,
- 307,
- 321,
- 328,
- 329,
- 330,
- 335,
- 348,
- 356,
- 361,
+ 97,
+ 113,
+ 145,
+ 182,
+ 217,
+ 249,
+ 277,
+ 285,
+ 300,
+ 316,
+ 317,
+ 331,
+ 338,
+ 339,
+ 340,
+ 346,
+ 359,
369,
+ 374,
382,
- 396,
- 399,
- 400,
- 419,
- 435,
- 449,
- 449,
- 449,
- 450,
- 450,
- 450,
- 450,
- 450,
- 450,
- 450,
- 450,
- 456,
+ 395,
+ 413,
+ 416,
+ 417,
+ 436,
+ 457,
+ 471,
+ 471,
+ 471,
+ 472,
+ 472,
472,
- 473,
- 473,
- 481,
- 485,
- 486,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 487,
- 488,
- 489,
- 490,
- 491,
- 493,
+ 472,
+ 472,
+ 472,
+ 472,
+ 472,
+ 478,
494,
- 505,
+ 495,
+ 495,
+ 504,
+ 508,
+ 509,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
510,
- 527,
- 540,
- 557,
- 568,
- 569,
- 570,
- 571,
- 572,
- 573,
- 574,
- 575,
- 576,
- 577,
- 578,
- 579,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 516,
+ 517,
+ 528,
+ 531,
+ 550,
+ 563,
580,
- 581,
- 582,
- 583,
- 584,
- 585,
- 586,
- 587,
- 588,
- 589,
590,
591,
592,
@@ -2081,3375 +2341,3397 @@ static const size_t unicode_indextab[]={
609,
610,
611,
+ 612,
+ 613,
614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
- 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619,
+ 620,
+ 621,
+ 622,
+ 623,
+ 624,
+ 625,
+ 626,
627,
628,
+ 629,
+ 630,
+ 631,
632,
- 646,
- 662,
- 669,
- 671,
- 674,
- 682,
- 684,
- 686,
- 687,
- 690,
- 700,
- 704,
- 718,
- 722,
- 725,
+ 633,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 649,
+ 650,
+ 654,
+ 668,
+ 685,
+ 692,
+ 694,
+ 697,
+ 705,
+ 709,
+ 711,
+ 712,
+ 715,
725,
- 725,
- 725,
- 735,
+ 729,
+ 743,
+ 747,
750,
- 761,
- 779,
- 784,
- 789,
- 796,
- 798,
- 801,
- 801,
- 802,
- 802,
- 802,
- 802,
- 802,
- 802,
- 803,
+ 753,
+ 756,
+ 762,
+ 773,
+ 792,
804,
- 805,
- 806,
- 808,
- 809,
- 809,
- 809,
- 809,
- 809,
- 809,
- 809,
- 809,
- 809,
- 809,
- 809,
- 810,
- 811,
- 812,
- 813,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 814,
- 815,
- 816,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 817,
- 818,
- 819,
- 824,
- 830,
- 830,
- 830,
- 830,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 835,
- 836,
- 836,
- 836,
- 836,
- 836,
- 836,
- 836,
- 836,
- 836,
- 836,
- 836,
- 836,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
- 842,
+ 822,
+ 833,
+ 838,
+ 846,
848,
- 849,
- 849,
- 859,
- 869,
- 874,
- 883,
- 883,
- 883,
- 889,
- 889,
- 889,
- 889,
- 889,
- 889,
- 889,
- 889,
- 889,
- 889,
- 889,
- 889,
- 889,
- 889,
- 891,
- 891,
- 891,
- 891,
- 891,
- 891,
- 924,
- 924,
+ 853,
+ 873,
+ 886,
+ 886,
+ 895,
+ 913,
+ 915,
+ 916,
+ 917,
+ 918,
+ 919,
+ 920,
+ 922,
+ 923,
+ 923,
+ 923,
+ 923,
+ 923,
+ 923,
+ 923,
+ 923,
+ 923,
+ 923,
+ 923,
924,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
- 928,
+ 925,
+ 926,
+ 927,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
+ 929,
930,
- 931};
+ 931,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 932,
+ 933,
+ 934,
+ 939,
+ 945,
+ 945,
+ 945,
+ 946,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 956,
+ 957,
+ 958,
+ 958,
+ 958,
+ 958,
+ 958,
+ 958,
+ 958,
+ 958,
+ 958,
+ 958,
+ 958,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 964,
+ 970,
+ 971,
+ 971,
+ 981,
+ 991,
+ 996,
+ 1005,
+ 1005,
+ 1005,
+ 1011,
+ 1011,
+ 1011,
+ 1011,
+ 1011,
+ 1011,
+ 1016,
+ 1021,
+ 1024,
+ 1024,
+ 1024,
+ 1024,
+ 1024,
+ 1024,
+ 1026,
+ 1030,
+ 1030,
+ 1030,
+ 1030,
+ 1030,
+ 1063,
+ 1063,
+ 1063,
+ 1067,
+ 1067,
+ 1068,
+ 1068,
+ 1068,
+ 1068,
+ 1068,
+ 1068,
+ 1068,
+ 1068,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1069,
+ 1071,
+ 1072};
diff --git a/unicode/wordbreaktab_internal.h b/unicode/wordbreaktab_internal.h
index 9ecdbbf..077a8db 100644
--- a/unicode/wordbreaktab_internal.h
+++ b/unicode/wordbreaktab_internal.h
@@ -25,5 +25,9 @@
#define UNICODE_WB_Double_Quote 0x0D
#define UNICODE_WB_Hebrew_Letter 0x0E
#define UNICODE_WB_Regional_Indicator 0x0F
+
+#define UNICODE_WB_ZWJ 0x10
+#define UNICODE_WB_WSegSpace 0x11
+
#define UNICODE_WB_OTHER 0xFF
#endif
diff --git a/unicode/wordbreaktest.C b/unicode/wordbreaktest.C
index 91e3c31..5df1e23 100644
--- a/unicode/wordbreaktest.C
+++ b/unicode/wordbreaktest.C
@@ -120,10 +120,9 @@ static void testsuite()
exit(1);
}
- if (linenum == 24)
- {
- linenum=24;
- }
+ //if (linenum != 986)
+ // continue;
+
collect_wordbreakflags flags;
flags(ubuf.begin(), ubuf.end());
@@ -133,6 +132,15 @@ static void testsuite()
{
std::cerr << "Regression, line " << linenum
<< ": " << buf << std::endl;
+ std::cerr << "Calculated:";
+
+ for (auto f:flags.flags)
+ {
+ std::cerr << " "
+ << (f ? "÷":"×");
+ }
+ std::cerr << " ÷ " << std::endl;
+ std::cerr << std::endl;
exit(1);
}
}